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