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:
Driver | MCUs |
---|---|
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. |
Features
- 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.
Architecture
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.