第八章 NAND Flash控制器

8.1 NAND Flash 介绍和NAND Flash 控制器使用

NAND Flash 在嵌入式系统中的地位与PC上的硬盘类似,用于保存系统运行所必需的操作系统、应用程序、用户数据、运行过程中产生的各类数据。与内存掉电后数据丢失不同,NAND Flash中的数据在掉电后仍可以永久保存。

8.1.1 Flash介绍

常用的 Flash 类型有 NOR Flash 和 NAND Flash 两种。NOR Flash 由 Intel 公司在 1988 年发明,以代替当时在市场上占据主要地位的 EPROM (Electrically Programmable Read-Only-Memory,电可编程只读存储器)和 E2PROM (Electrically Erasable Programmable Read-Only-Memory,电可擦可编程只读存储器)。NAND Flash 由 Toshiba 公司在 1989 年发明。两者的主要差别如下表 8.1 所示.

表8.1 NOR/NAND Flash 的差别

-NORNAND
容量1MB~32MB16MB~512MB
XIPYesNo
擦除非常慢(5s)快(3s)
可靠性较高,位反转的比例小于 NAND Flash 的10%较低,位反转比较常见,必须有校验措施,比如TNR必须有坏块管理措施
可擦除次数10000~100000100000~1000000
生命周期低于NAND Flash 的10%是NOR Flash 的10倍以上
接口与RAM相同与I/O接口相同
访问方法随机访问顺序访问
易用性容易复杂
主要用途常用于保存代码和关键数据用于保存数据
价格

NOR Flash 支持 XIP,即代码可以直接在 NOR Flash 上执行,无需复制到内存中。 这是由于 NOR Flash 的接口与 RAM 完全相同,可以随机访问任意地址的数据。在 NOR Flash 上进行读操作的效率非常高,但擦出和写操作的效率很低;另外,NOR Flash 的容量一般比较小。NAND Flash 进行擦除和写操作的效率更高,并且容量更大。一般而言,NOR Flash 用于存储程序,NAND Flash 用于存储数据。基于 NAND Flash 的设备通常也要搭配 NOR Flash 以存储程序。

Flash 存储器件由擦出单元(也称为块)组成,当要写某个块时,需要确保这个块已经被擦除。NOR Flash 的块大小范围为 64kB ~ 128kB;NAND Flash 的块大小范围为 8kB ~ 64kB,擦/写一个 NOR Flash 块需要 4s,而擦/写一个 NAND Flash 块仅需 2ms。NOR Flash 的块太大,不仅增加了擦写时间,对于给定的写操作,NOR Flash 也需要更多的擦出操作——特别是小文件,比如一个文件只有 1kB,但是为了保存它却需要擦除大小为 64kB~128kB的 NOR Flash 块。

移动电话的功能日益丰富,其对系统中数据存储容量的需求正在快速增长。 NAND Flash具有速度快、密度大、成本低等特点,在各种数码产品中得到了广泛 应用,在各种片上系统芯片中(SOC)集成NAND Flash控制器正成为一种趋势。 本文讨论了Flash Memory的两种主流实现技术即NAND Flash和NOR Flash 的特点和区别,分析了市场上存在的NAND Flash的典型规格及其存储结构特点, 阐述了不同NAND Flash器件一些通用的存取操作方式,近一步分析了进行这些 存取操作所必须满足的时序规范,在此基础上,结合某公司手机SOC芯片的设计 需求,提出了一种基于AMBA总线的NAND Flash控制器实现方案,对该实现方 案进行了充分的验证工作。 本文所提出的控制器的实现方式,可以支持市场上存在的两种典型规格的 NAND Flash器件,可同时外接1至4个Flash芯片,通过可配置的控制方式可灵 活的对不同存取速度的器件予以支持,具备良好的可扩展性。在控制器的主控逻 辑设计中,采取了“块读’’和“块写”方式实现对大页器件的读页和写页操作, 这种方式有效减小了控制器中用做数据缓存的buffer大小,降低了芯片面积。针 对NAND Flash在使用过程中可能出现的位反转现象,在控制器的设计中加入了错 误检测和纠错功能。论文深入分析了ECC(Error Checking and Correcting)算法,讨 论了ECC算法的硬件实现和优化方法。在不影响对存储器读写效率的前提下,实 现对数据的存取进行实时的高速检错和纠错,为提高NAND Flash的可靠性提供了 硬件上的支持。 对控制器的验证采用了模拟验证和FPGA验证两种方式。在模拟验证阶段对 控制器的所有功能点进行全面验证,结果正确后,在Xilinx公司的Vertex4开发板 上对控制器进行了FPGA验证。结果表明控制器能正确控制对于NAND Flash的各 种存取操作,工作完全正常。 本文设计验证的NAND Flash控制器即将应用于某公司的SOC手机芯片,提 出的控制器实现方案对NAND Flash控制系统的设计优化具有普遍适用性,论文研 究的工程实用价值大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值