| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 嵌入式开发之Nand-Flash和Nor-Flash的区别 -> 正文阅读 |
|
[嵌入式]嵌入式开发之Nand-Flash和Nor-Flash的区别 |
一、引言在嵌入式开发中,想来每一个嵌入式开发工程师不可避免地都会听到或者接触到Flash这个东西。 但是对于一部分人来说,他们并不清楚Flash还有Nand和Nor之分,因此就更不清楚这两者的区别了。 今天偶然想起这个问题,于是查询资料,写下这篇博客,做个简单的笔记。 二、Flash介绍FLASH是一种存储芯片,全名叫Flash Eeprom?Memory,通过程序可以修改数据,即平时所说的“闪存”。Flash又分为Nand-Flash和Nor-Flash二种。U盘和MP3里用的就是这种存储器。 2.1、Nand-FlashNand-Flash内存是Flash内存的一种,1989年,东芝公司发表了Nand-Flash结构。其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。 NAND-Flash 没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取 512 个字节,采用这种技术的Flash比较廉价。因此,Nand-flash存储器容量较大、改写速度快等优点,使其成大量数据存储市场的宠儿。 2.2、Nor-FlashNor-Flash是Intel公司1988年开发出了Nor-Flash技术。Nor-Flash的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统Ram中。 Nor-Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能,因此Nor-Flash只能用于特定的场合,比如作为Arm板启动代码的载体。 三、Nand-Flash和Nor-Flash的区别3.1、性能比较Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。 任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。 Nand-Flash器件执行擦除操作是十分简单的,而Nor-Flash则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除Nor-Flash器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除Nand-Flash器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。 执行擦除时,块尺寸的不同进一步拉大了Nor-Flash和Nand-Flash之间的性能差距。统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于Nor-Flash的单元中进行。这样,当选择存储解决方案时,设计师就必须权衡以下的各项因素: 1、Nor-Flash的读速度比Nand-Flash稍快一些; 3.2、接口差别Nor-Flash带有Sram接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。 Nand-Flash器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。 Nand-Flash读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于Nand-Flash的存储器就可以取代硬盘或其他块设备。 3.3、容量和成本Nand-Flash的单元尺寸几乎是Nor-Flash器件的一半,由于生产过程更为简单,Nand-Flash结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。 Nor-Flash占据了容量为1~16MB闪存市场的大部分,而Nand-Flash只是用在8~128MB的产品当中,这也说明Nor-Flash主要应用在代码存储介质中,Nand-Flash适合于数据存储,Nand-Flash在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。 3.4、可靠性和耐用性采用Flash介质时一个需要重点考虑的问题是可靠性。 对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较Nor-Flash和Nand-Flash的可靠性。 在Nand-Flash闪存中每个块的最大擦写次数是一百万次,而Nor-Flash的擦写次数是十万次。Nand-Flash存储器除了具有10比1的块擦除周期优势,典型的Nand-Flash块尺寸要比Nor-Flash器件小8倍,每个Nand-Flash存储器块在给定的时间内的删除次数要少一些。 四、补充4.1、位交换所有Flash器件都受位交换现象的困扰。在某些情况下(很少见,Nand-Flash发生的次数要比Nor-Flash多),一个比特位会发生反转。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。 如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。 4.2、坏块处理Nand-Flash器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。 Nand-Flash器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果不能通过可靠的方法进行这项处理,将导致高故障率。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:20:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |