http://www.paper.edu.cn
- 1 -
NAND FLASH 控制器的 FPGA 实现
桑坚
1
,刘洪瑞
2
1
哈尔滨工业大学深圳研究生院,深圳(518000 )
2
大庆油田有限责任公司,大庆(163000)
E-mail:sangjian5266@163.com
摘 要: NAND FALSH 结构特点,提高了存储密度,降低了每比特的成本,与 NOR FLASH
相比写入速度大大提高。但是 NAND FLASH 采用复用的数据线和地址线,必须先通过寄存
器串行地进行数据的存取,加上各个产品对信号的定义不同,因此与 NOR FLASH 相比增加
了应用难度。本文设计的 NAND FLASH 控制器,可以更容易的利用 NAND FLASH。目前
该控制器已经通过功能仿真,并在 Xilinx 公司的 Sparten Ⅲ系列 FPGA 上得以验证。顺利实
现了对三星公司生产的 K9F1208U0B NAND FLASH 的扫描、擦除、读写、读 ID 等功能。
关键词:FPGA;NAND FLASH;FLASH 控制器
中图分类号:TP273.5;TN4
1. 引 言
FLASH 分为两种:NOR FLASH 与 NAND FLASH。在相同工艺和容量下,NAND FLASH
节约一半的芯片面积和生产成本,适合生产存储容量大的芯片。如果闪存只用来存储代码,
NOR FLASH 比较适合一些。而 NAND FLASH 则是高数据存储密度的理想解决方案。在性
能上,NAND 型闪存写入速度要比 NOR 型快的多,相差进千倍。NAND FLASH 的 I/O 采
用数据和地址线的复用,增加了应用难度。故而 NAND FLASH 应用的困难在于 FLASH 的
管理和需要特殊的系统接口。
本文中的 NAND FLASH 控制器使用 Verilog HDL 语言进行设计,采用自顶向下的设计
方法。顶层为总的控制模块,向下按 NAND FLASH 的读写、写、擦除等基本模块来实现。
在本设计的验证过程中,采用 Xilinx 公司(Spartern3)
[1]
系列 FPGA 和三星(Samsung)半导
体公司出品的序列号为 K9F1208U0B 的 512Mb 的 NAND FLASH。
2. NAND FLASH 的控制信号及命令集
2.1 NAND FLASH 的控制信号
设计中采用的 K9F1208U0B NAND FLASH 芯片以 TSOP1 48pin 封装形式。包括分时复
用输入输出 I/O 口、命令锁存、地址锁存、片选、读使能、写保护、设备状态、电源、接地。
详细说明
[2]
见表 2-1: