快讯
HOME
快讯
正文内容
nand mtd 坏块管理 单片机上搭配的SPI NOR FLASH容量告急!扩容新选择
发布时间 : 2025-01-19
作者 : 小编
访问数量 : 23
扫码分享至微信

单片机上搭配的SPI NOR FLASH容量告急!扩容新选择

  *为便于理解并省去容量单位转换的麻烦,以下容量单位均使用Byte单位(128Mbit=16MByte)

  前言:

  NOR FLASH 是市场上两种主要的非易失闪存技术之一。Intel于1988年首先开发出NOR Flash 技术(实际上是东芝的富士雄率先开发出来的),彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多,在设计中应该考虑这些情况。

  正文:

  随着物联网的兴起,MCU的应用也越来越广泛了,以前基本上用内置的EEPROM或者外置小容量NOR Flash就可以满足大部分需求,随着技术发展和应用要求的提高,逐渐的MCU需要实现的功能也越来越多,实现更多功能的同时需要存储的数据量也在增大,比如系统增大、存储音频、图片(GUI)、视频缓存、协议栈等等…

  一般情况下NOR FLASH的用户在容量不够用时直接升级为更高一级容量的NOR FLASH 就可以了,不过也有二般情况,由于NOR的单元结构相对较大的原因,当容量达到一定程度时性价比会异常的低,结合生产工艺和目前的市场情况来看,16MB是一个分水岭,比16MB NOR Flash大一级的32MB NOR Flash 的价格相对于16MB NOR Flash 高出一大截,甚至比128MB的NAND Flash还要贵,雪上加霜的是这货供应状况还不佳,即使能接受32MB NOR Flash的价格并且把方案也开发好了,前期调试和试产都通过了,等到正式量产的时候买不到货… 就可能会错过整机产品销售的最佳时机。

  这个时候有人会说:这些我都知道啊!我也想用NAND Flash啊!不过我的MCU不!支!持!NAND Flash啊!难不成我还要换平台从头再开发?

  非也,今时不同往日,有个叫SD NAND 的东东可供选择,NAND 架构、SD协议,只要是支持SD2.0 协议的MCU均可以使用。正常情况下使用SPI 模式,如果需要更快的速度并且IO口够用时可以使用SD模式。内置ECC、坏块管理、均衡擦写等等功能,这意味着用户不需要额外写驱动来管理NAND ,当然性能弱的MCU也做不到^^

  SD NAND的更多信息可以参考下列文章

  传送门: 技术问答-什么是SD NAND? (longsto.com)

  由于SD NAND 存储单元使用的是NAND 架构,所以NAND 持有的基础特性也继承了下来,SD NAND在这个基础上进一步做了优化,使得易用性和应用兼容性上大大提升。

  我们先看一看NOR 与 NAND的区别都有哪些。

  1.NOR Flash支持随机访问,所以支持XIP(execute In Place),NAND Flash需要按块进行读取,所以不支持XIP 。

  2.NAND FLASH理论读取速度与NOR Flash相近,实际情况会根据接口不同有些差异。

  3.NOR 与 NAND 写入前都需要先擦除,NOR在擦除时以64~128KB的块进行,执行一个写入/擦除操作的时间约5s,NAND在擦除时以8~32KB的块进行,执行一个写入/擦除操作的时间约4ms。

  4.NAND 理论最大擦除次数比NOR多

  5.NOR 驱动比NAND简单,NAND FLASH需要通过专门的NFI(NAND FLASH Interface)与Host端进行通信,驱动相对复杂。

  6.所有Flash 都会有位反转的问题,NAND 位反转概率要比NOR高,NAND Flash 必须要使用ECC。

  7.NAND的单元尺寸几乎是NOR器件的一半,所以NAND成本更低。

  总结: NOR 与 NAND 各有特点,应用场景与应用难度也不同,SD NAND 在保留了NAND架构优质特性的同时改进了不足之处,内置的控制器能自行管理NAND Flash,用户无需在外部处理ECC和进行坏块管理,免去了MTD层,用户不需要写繁琐的驱动代码。这些特性也使得NOR用户升级NAND 成为可能。 

  插播广告^^:CS创世现提供128MB,512MB,4GB 等容量,同时提供商业级和工业级可选项,用户根据自身需求选择即可。

  128MB 详情页:128MB SD NAND

  PS. 除了SD NAND 之外还有一种次选升级方案,那就是使用TF卡,不过这种解决方案需要看具体应用环境。SD NAND 与TF卡对比资料可以参考下列文章,希望大家能找到适合自己的产品。 

  传送门:SD NAND与TF卡的区别-技术问答 (longsto.com)  

退路. 如果因为某些原因暂时无法升级SD NAND 时,也可以考虑下列高性价比 NOR FLASH,目前有8MB(64Mbit)16MB(128Mbit) 容量可供选择,有兴趣的朋友可以跳转到产品详情页查看。

传送门: 8MB/64Mbit SPI NOR

16MB/128Mbit SPI NOR

亲爱的卡友们,欢迎光临雷龙官网,如果看完文章之后还是有疑惑或不懂的地方,请联系我们,自己去理解或猜答案是件很累的事,请把最麻烦的事情交给我们来处理,术业有专攻,闻道有先后,深圳市雷龙发展专注存储行业13年,专业提供小容量存储解决方案。

NOR Flash 和 NAND Flash 的区别

参考于《ARM嵌入式系统开发典型模块》一书,仅用于笔记学习,如果侵删

Flash Memory是一种非易失性的存储器。

Flash 按照结构可以分为 nor flash 和 nand flash两大类,两者的读取速率差不多。

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

鉴于NOR Flash擦写速度慢,成本高等特性,NOR Flash主要应用于小容量、内容更新少的场景,例如PC主板BIOS、路由器系统存储等。

NAND FLASH写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的eMMC内部的Flash Memory都属于NAND FLASH。PC中的固态硬盘中也是使用NAND FLASH。

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

总结nor flash 和 nand flash的差别在以下的几个方面

1、容量和成本

nor flash 的容量大小为1MB~32MB ,而nand flash 的为16MB~512MB。nand flash 的单元尺寸几乎是nor flash 的一半,由于生产的过程更为简单,因此价格也是相对低。

2、性能差别

(1)nor flash 的读速度比 nand flash稍快一些

(2)nor flash 的写入速度比 nand flash 慢了很多

(3)nand flash 的4ms擦除速度远比nor flash 的5s 快

(4)nand flash 的擦除单元更小,相应的擦除电路也久更小

3、接口差别

nor flash 的接口和RAM一样,而 nand flash 是使用I/O口来串行地存取数据。

3.1 NOR Flash根据与CPU端接口的不同,可以分为Parallel NOR Flash和SPI NOR FLASH两类。

NAND FLASH 需要通过专门的NFI(NAND FLASH Interface)与Host端进行通信,如下图所示:

4、易用性

使用nor flash 的相对简单,可以非常直接地使用基于 nor flash 地内存,可以像其他存储器那样连接,还可以直接在上面运行代码

而使用 nand flash 的话就复杂了,需要I/O接口,必须先写入驱动程序,才可以继续执行其他的操作。

5、耐用性

在nand flash内存中的每个块的最大擦除写次数是100万次,而nor flash 的擦写次数是10万次。

NAND FLASH根据每个存储单元内存储比特个数的不同,可以分为SLC(Single-LevelCell)、MLC(MulTI-LevelCell)和TLC(Triple-LevelCell)三类。其中,在一个存储单元中,SLC可以存储1个比特,MLC可以存储2个比特,TLC则可以存储3个比特。每一个存储单元内部通过不同的电压等级来表示其所存储的信息。在SLC中,存储单元的电压被分为两个等级,分别表示0和1两个状态,即1个比特;在MLC中,存储单元的电压则被分为4个等级,分别表示00011011四个状态,即2个比特位;同理,在TLC中,存储单元的电压被分为8个等级,存储3个比特信息。

NAND FLASH的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。

6、坏块处理

nand flash 器件中的坏处是随机分布的

nand flash 器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

7、位交换

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

一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。

这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。

8、主要用途

nor flash常用于保存代码和关键数据。nand flash 用于保存数据。

9、软件支持

当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。

在NOR器件上运行代码不需要任何的软件支持,

在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),

NAND和NOR器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。

驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

相关问答

littlefs有 坏块管理 吗?

是的,littlefs有坏块管理。它通过记录每个块的使用次数和更新时间来跟踪坏块,并且还使用摩尔投票算法来检测坏块。如果一个块被检测到为坏块,littlefs会将它...

emmc与 nand flash哪个好?

1、NANDFlash是一种存储介质,要在上面读写数据,外部要加主控和电路设计。2、eMMC是NANDflash+主控IC,对外的接口协议与SD、TF卡类似;对厂家而言简化了电...

金士顿 SSD 性能越来越差 有什么方法吗?-ZOL问答

SSD中的主要部件flash随着读写次数的不断增加,坏块不断产生,可用的区块越来越少,在数据存储上将越来越慢,如果SSD有坏块自动管理系统,那可能此现象稍微好些,但是...

关于存储器中内存的问题?

内存是指内部存储,通常和外部存储对应,外部存储指硬盘、U盘、磁带机等可以拆卸的设备。内存通常是计算机主板或主处理器的一部分,不能拆除。只读存储器英文的...

FPS低和什么有关 - nnTp1umuNsr 的回答 - 懂得

和分辨率和显卡处理能力有关系。在显示“分辨率”不变的情况下,FPS越高,则对显卡的处理能力要求越高。电脑中所显示的画面,都是由显卡来进行输出的,...

128G固态硬盘为何只有119G-ZOL问答

generalniao硬盘生产厂家对于硬盘容量的计算:1000byte=1kb、1000kb=1mb、1000mb=1gb,128G=128*1000*1000*1000=128000000000b...

固态硬盘性能好坏看什么参数?

固态硬盘(SSD)的性能主要由以下参数决定:1.读写速度:SSD的读写速度决定了其数据传输的效率。常用的读取速度参数是连续读速度和随机读速度;常用的写入速度...

为什么u盘实际内存小?

商标称的1GB实际上是1024MB,而不是1000MB。这就导致了厂商标称的容量与实际容量存在差异。U盘的制造过程中需要使用一部分存储空间作为控制器芯片、固...这...

金胜维的固态硬盘怎么样?

好到那里去?真心不...你说能好到那里去?真心不建议买金胜维的。谁买谁知道。我的已经做了三次保了,做一次最少半个月,长的时候一个多月,谁用谁2,B。一般...

windows无法完成格式化是什么意思 - kyndqz0palf 的回答 - 懂得

windows无法完成格式化原因:主要有中毒(包括中毒后的乱搞)、U盘读写时插拔(特别是写数据的时候)、正常格式化U盘后出现“可用空间和未用空间都是0...

 游离二氧化硅  兵人模型 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部