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, GD5F2GQ4xxYIG and GD5F2GQ5UExxG 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 are supported through our generic SPI driver, see below. For additional information see also 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.|
|Spansion S34MLxxG1 for |
AM335x with Hamming ECC
|Spansion® S34MLxxG1 flash for AM335x with Hamming ECC.|
|Samsung K9F1G08 with ECC||Samsung K9F1G08 flash devices that use internal 8 bit ECC.|
|SPI||Macronix MX35LF2GE4AB, Micron MT29FxG01Axxxx, 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.