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.


  • 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.

HCC NAND flash driver architecture

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.
Integration into your application

Interested in designing-in this software/component into an application? Use our Project Builder to describe your project in an easy way and get an idea whether this software fits your project.