Operating a NAND Flash Device Through an FPGA
The most direct approach for a host or system to use a NAND device is by using a NAND controller. The NAND controller can be internal; built into the application processor or host; or incorporated in designs as an external, standalone NAND controller chip.
An alternative method involves utilizing FPGA resources that already exist in many systems. With FPGA resources, you can create a state machine to act as a NAND controller.
To demonstrate this principle, Micron Technology has developed a NAND controller using a Xilinx® Spartan™-3 FPGA. In this article, I'll focus on the high-level principles of how NAND Flash devices operate.