这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » uClinux 平台下的Flash存储技术

共1条 1/1 1 跳转至

uClinux 平台下的Flash存储技术

菜鸟
2007-03-29 18:05:37     打赏
作者:冯欣 秦娟英 来源:《单片机与嵌入式系统应用》杂志社 时间:2004年7月1日 17:56 阅读3905次

摘要:本文较为详细地介绍了嵌入式操作系统uClinux平台下的Flash的存储技术,并给出了基于三星S3C4510系统下Flash存储器的具体设计实例。

关键字: Flash存储器;uClinux;S3C4510

AbstractThis document particularly introduces how to use Flash memory on the embedded OS—uClinux. And it gives the design example of Flash memory based on the S3C4510

Key words Flash memory;uClinux ;S3C4510

Flash存储技术

在过去的二十年里,ROM和EPROM一直是嵌入式系统的存储设备的首选。但是,今天越来越多的嵌入式系统设计者采用Flash这种可读写的存储设备进行设计开发。

Flash主要分为NOR和NAND两类。NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR Flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。

NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在Flash闪存中运行,而不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。

NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。但应用NAND的困难在于Flash的管理需要特殊的系统接口。

但是历经十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。“Flash存储器”便经常与“NOR存储器”互换使用。但NAND则是高数据存储密度的理想解决方案。

下面对二者作较为详细的比较:

性能比较

Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。

由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。

● NOR的读速度比NAND稍快一些。

● NAND的写入速度比NOR快很多。

● NAND的4ms擦除速度远比NOR的5s快。

● 大多数写入操作需要先进行擦除操作。

● NAND的擦除单元更小,相应的擦除电路更少。

接口差别

NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的

每一个字节。

NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。

NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。

容量和成本

NAND Flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。

NOR Flash占据了容量为1~16MB闪存市场的大部分,而NAND Flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。

可靠性和耐用性

采用Flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。

寿命(耐用性)

在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。

位交换

所有Flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。

当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。




关键词: uClinux     台下     Flash     存储     技术     闪存    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]