The ONFI NFC Driver is a low-level driver developed for Arasan’s ONFI Nand Flash Controller IP that is used to communicate with the Nand Flash Device. The driver can also be used for validating a Nand flash device during its development and integration life cycles thereby helping designers reduce the time to market for their products. It provides a set of generic APIs to identify, read, program, and erase the flash device.
The Driver consists of two layers –, Hardware layer, and OS Abstraction Layer.
Diagram

Features
- Compliant with ONFI 3.2 and backward compatible to ONFI 3.0, 2.3 and 1.0
 - Supports SDR, NV-DDR and NV-DDR2, Toggle DDR/DDR2 modes
 - Easy-to-use interface for applications
 - Support up to NAND with 16K page size
 - Fully documented generic device operation APIv
 - Supports Read, Program and Erase Operations
 - Supports Cache Program, Cache Sequential and Random Read Operations
 - Supports LUN Resets, Multi LUN/DIE Operations
 - Supports On Die Termination
 - Supports Interleaving Operations
 - Easily portable to any OS, processors or hardware
 
Deliverables
- Source code in c language and binaries for ONFI NAND Controller driver.
 - User Manual
 
Benefits
- System manufacturers can port the ONFI NAND Controller Driver to respective system hardware and operating systems
 - Silicon developers can use the driver and board environment to test the device silicon during development
 - Silicon vendors can use the driver to create a reference system design for their customers
 
