Operating a NAND Flash Device Through an FPGA
As product capabilities continue to expand, so does the demand for high-density static memory storage. NAND Flash is being used for media storage in a large number of systems, including digital cameras, USB stick drives, and portable music players. NAND Flash memory is prominently positioned to address these and other device needs and is evolving rapidly to meet the ever-growing demand.
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.