norflash存储器常见的8个特征是什么.docx
- 文档编号:1751102
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:12
- 大小:24.63KB
norflash存储器常见的8个特征是什么.docx
《norflash存储器常见的8个特征是什么.docx》由会员分享,可在线阅读,更多相关《norflash存储器常见的8个特征是什么.docx(12页珍藏版)》请在冰豆网上搜索。
norflash存储器常见的8个特征是什么
norflash存储器常见的8个特征是什么
本文主要是关于norflash的相关介绍,并着重对norflash的特征进行了详尽的阐述。
norflash存储器常见的8个特征是什么NORFlash
NORFLASH是很常见的一种存储芯片,数据掉电不会丢失.NORFLASH支持ExecuteOnChip,即程序可以直接在FLASH片内执行(这意味着存储在NORFLASH上的程序不需要复制到RAM就可以直接运行)。
这点和NANDFLASH不一样。
因此,在嵌入式系统中,NORFLASH很适合作为启动程序的存储介质.NORFLASH的读取和RAM很类似(只要能够提供数据的地址,数据总线就能够正确的给出数据),但不可以直接进行写操作。
对NORFLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。
NOR和NAND是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NORflash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NANDflash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。
但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
像“flash存储器”经常可以与相“NOR存储器”互换使用。
许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。
而NAND则是高数据存储密度的理想解决方案。
NOR的特点是芯片内执行(XIP,eXecuteInPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。
应用NAND的困难在于flash的管理需要特殊的系统接口。
接口差别
NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。
8个引脚用来传送控制、地址和数据信息。
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
容量成本
NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
NORflash占据了容量为1~16MB闪存市场的大部分,而NANDflash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、SecureDigital、PCCards和MMC(多媒体存储卡MultiMediaCard)存储卡市场上所占份额最大。
可靠耐用
采用flash介质时一个需要重点考虑的问题是可靠性。
对于需要扩展MTBF(平均故障间隔时间MeanTimeBetweenFailures)的系统来说,Flash是非常合适的存储方案。
可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。
寿命(耐用性)
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。
NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸为NOR器件的八分之一,每个NAND存储器块在给定的时间内的删除次数要少一些。
位交换
所有flash器件都受位交换现象的困扰。
在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。
一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。
如果只是报告有问题,多读几次就可能解决了。
当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。
位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
这个问题对于用NAND存储多媒体信息时倒不是致命的。
当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
坏块处理
NAND器件中的坏块是随机分布的。
以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。
NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。
在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
易于使用
可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。
由于需要I/O接口,NAND要复杂得多。
各种NAND器件的存取方法因厂家而异。
在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。
向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。
软件支持
当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD(MemoryTechnologyDevices)。
使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等厂商所采用。
驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。
NORFlash擦写及原理NORFLASH的读取和RAM很类似(只要能够提供数据的地址,数据总线就能够正确的给出数据),但不可以直接进行写操作。
对NORFLASH的写操作需要遵循特定的命令序列,最终由芯片内部的控制单元完成写操作。
从支持的最小访问单元来看,NORFLASH一般分为8位的和16位的(当然,也有很多NORFLASH芯片同时支持8位模式和是16位模式,具体的工作模式通过特定的管脚进行选择)。
对8位的NORFLASH芯片,或是工作在8-BIT模式的芯片来说,一个地址对应一个BYTE(8-BIT)的数据。
例如一块8-BIT的NORFLASH,假设容量为4个BYTE.那芯片应该有8个数据信号D7-D0和2个地址信号,A1-A0.地址0x0对应第0个BYTE,地址0x1对应于1BYTE,地址0x2对应于第2个BYTE,而地址0x3则对应于第3个BYTE.对16位的NORFLASH芯片,或是工作在16-BIT模式的芯片来说,一个地址对应于一个HALF-WORD(16-BIT)的数据。
例如,一块16-BIT的NORFLASH,假设其容量为4个BYTE.那芯片应该有16个数据信号线D15-D0和1个地址信号A0.地址0x0对应于芯片内部的第0个HALF-WORD,地址0x1对应于芯片内部的第1个HALF-WORD
FLASH一般都分为很多个SECTOR,每个SECTOR包括一定数量的存储单元。
对有些大容量的FLASH,还分为不同的BANK,每个BANK包括一定数目的SECTOR.FLASH的擦除操作一般都是以SECTOR,BANK或是整片FLASH为单位的。
在对FLASH进行写操作的时候,每个BIT可以通过编程由1变为0,但不可以有0修改为1.为了保证写操作的正确性,在执行写操作前,都要执行擦除操作。
擦除操作会把FLASH的一个SECTOR,一个BANK或是整片FLASH的值全修改为0xFF.这样,写操作就可以正确完成了。
由于NORFLASH没有本地坏区管理,所以一旦存储区块发生毁损,软件或驱动程序必须接手这个问题,否则可能会导致设备发生异常。
在解锁、抹除或写入NORFLASH区块时,特殊的指令会先写入已绘测的记忆区的第一页(Page)。
接着快闪记忆芯片会提供可用的指令清单给实体驱动程序,而这些指令是由一般性闪存接口(CommONFLASHmemoryInterface,CFI)所界定的。
与用于随机存取的ROM不同,NORFLASH也可以用在存储设备上;不过与NANDFLASH相比,NORFLASH的写入速度一般来说会慢很多。
2.NORFlash的烧写方式
以下内容,如无特别说明,处理器指的是ARM处理器,FLASH指的都是NORFLASH.另外,BYTE指的是8-BIT的数据单元,HALF-WORD代表的是16-BIT的数据单元,而WORD则代表了32-BIT的数据单元。
2.1处理器寻址
ARM可以说是目前最流行的32位嵌进式处理器。
在这里只提一下ARM处理器的寻址,为后面做个展垫。
从处理器的角度来看,系统中每个地址对应的是一个BYTE的数据单元。
这和很多别的处理器都是一样的。
2.2处理器和NORFLASH的硬件连接
从前面的先容,我们知道从处理器的角度来看,每个地址对应的是一个BYTE的数据单元。
而,NORFLASH的每个地址有可能对应的是一个BYTE的数据单元,也有可能对应的是一个HALF-WORD的数据单元。
所以在硬件设计中,连接ARM处理器和NORFLASH时,必须根据实际情况对地址信号做特别的处理。
假如ARM处理器外部扩展的是8-BIT的NORFLASH,数据线和地址线的连接应该如图1所示。
从图中我们可以看到,处理器的数据信号D0-D7和FLASH的数据信号D0-D7是逐一对应连接的,处理器的地址信号A0-An和NORFLASH的地址信号A0-An也是逐一对应连接的。
假如ARM处理器外部扩展的是16-BIT的NORFLASH,地址线必须要错位连接。
图2给了一个ARM处理器和16-BITNORFLASH的连接示意图。
如图2所示,ARM处理器的数据信号D0-D15和FLASH的数据信号D0-D15是逐一对应的。
而ARM处理器的地址信号和NORFLASH的地址信号是错位连接的,ARM的A0悬空,ARM的A1连接FLASH的A0,ARM的A2连接FLASH的A1,依次类推。
需要错位连接的原因是:
ARM处理器的每个地址对应的是一个BYTE的数据单元,而16-BIT的FLASH的每个地址对应的是一个HALF-WORD(16-BIT)的数据单元。
为了保持匹配,所以必须错位连接。
这样,从ARM处理器发送出来的地址信号的最低位A0对16-BITFLASH来说就被屏蔽掉了。
NORFlash的烧写方式-懵懂者-懵懂者的随便写
补充说明:
一般来说,ARM处理器内部要设置相应的寄存器,告诉处理器外部扩展的FLASH的位宽(8-BIT/16-BIT/32-BIT)。
这样,处理器才知道在访问的时候如何从FLASH正确的读取数据;
有些ARM处理器内部可以设置地址的错位。
对于支持软件选择地址错位的处理器,在连接16-BITFLASH的时候,硬件上可以不需要把地址线错位。
读者设计的时候,请参考MCU的数据手册,以手册为准,以免造成不必要的麻烦;
假如处理器支持内部设置地址错位,在实际访问的时候,送出的地址实际上是在MCU内部做了错位处理,其作用是等效于硬件连接上的错位的。
上面的描述可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- norflash 存储器 常见 特征 是什么