NAND Flash Drivers
HCC NAND flash drivers provide an interface for a file system to read from and write to NAND flash storage devices. A single media driver can support one or more physical media, each of these being represented as a different drive at the media driver interface. The file system handles all drives identically, regardless of their internal design features.
HCC produces NAND flash drivers for the following devices:
|GigaDevice SPI Flash||GD5F1GQ4xxYIG and GD5F2GQ4xxYIG Serial Peripheral Interface (SPI) flash from GigaDevice Semiconductor Inc.|
|Hynix HY27UF08||Hynix HY27UF08 and HY27UF16 (with minor modifications)|
|Micron MT29F2G16||Micron® MT29F2G16|
|Micron MT29FxG01 SPI||Micron® MT29F1G01, MT29F2G01, MT29F4G01 and MT29F8G01 SPI flash. See SafeFTL for Micron SPI NAND Flash.|
|Micron MT29FxG08 with ECC||Micron® MT29F1G08, MT29F2G08, and MT29F4G08 devices that use internal Error Correcting Code (ECC).|
|NAND RAM||All common NAND devices. Handles NAND devices with any page size, including 16896, 8448, 4224, 2112, and 528 bytes.|
|Spansion S34MLxxG1||Spansion® S34MLxxG1 flash|
|Samsung K9F1G08 with ECC||Samsung K9F1G08 flash devices that use internal 8 bit ECC|
|SPI||Toshiba TC58CxGx (for example, TC58CVG0S3HRAIG and TC58CVG2S0HxAIx) and Winbond W25N01GVxxIG/IT devices. Can be easily modified to support similar devices.|
|Winbond W25N01G||Winbond W25N01G flash devices|
- Conforms to the HCC Advanced Embedded Framework.
- Designed for integration with both RTOS and non-RTOS based systems.
- Conforms to the low level NAND flash interface defined by HCC’s SafeFTL.
- Supports multiple flash drives.
- SPI driver versions use HCC’s standard SPI interface so can be easily integrated with any microcontroller with SPI.
The diagram below shows a typical system architecture including a file system, media driver, and media. This example shows a driver that supports multiple flash devices.
Note the following:
- The file system can be any HCC file system that addresses logical sector arrays (including SafeFAT, FAT, and THIN).
- The Flash Translation Layer (FTL) is the SafeFTL media driver. This has its own manual.
- The NAND flash driver is written specifically for each NAND flash controller and the specific NAND flash array used.