闪存芯片NOR Flash、NAND Flash傻傻分不清楚 ICMAX帮你搞定
通过前天的文章介绍,我们知道eMMC 是 Flash Memory 的一类,eMMC的内部组成是NAND flash+主控IC,那什么是Flash Memory、NOR Flash、NAND Flash,宏旺半导体就和大家好好捋一捋它们几者之间的关系。
Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。
1. Flash Memory 的主要特性
与传统的硬盘存储器相比,Flash Memory 具有质量轻、能耗低、体积小、抗震能力强等的优点,但也有不少局限性,主要如下:
需要先擦除再写入Flash Memory 写入数据时有一定的限制,它只能将当前为 1 的比特改写为 0,而无法将已经为 0 的比特改写为 1,只有在擦除的操作中,才能把整块的比特改写为 1。
块擦除次数有限Flash Memory 的每个数据块都有擦除次数的限制(十万到百万次不等),擦写超过一定次数后,该数据块将无法可靠存储数据,成为坏块。
为了最大化的延长 Flash Memory 的寿命,在软件上需要做擦写均衡(Wear Leveling),通过分散写入、动态映射等手段均衡使用各个数据块。同时,软件还需要进行坏块管理(Bad Block Management,BBM),标识坏块,不让坏块参与数据存储。(注:除了擦写导致的坏块外,Flash Memory 在生产过程也会产生坏块,即固有坏块。)
读写干扰
由于硬件实现上的物理特性,Flash Memory 在进行读写操作时,有可能会导致邻近的其他比特发生位翻转,导致数据异常,这种异常可以通过重新擦除来恢复,Flash Memory 应用中通常会使用 ECC 等算法进行错误检测和数据修正。
电荷泄漏
存储在 Flash Memory 存储单元的电荷,如果长期没有使用,会发生电荷泄漏,导致数据错误,不过这个时间比较长,一般十年左右,此种异常是非永久性的,重新擦除可以恢复。
2. NOR Flash 和 NAND Flash
根据硬件上存储原理的不同,Flash Memory 主要可以分为 NOR Flash 和 NAND Flash 两类。 主要的差异如下所示:
· NAND Flash 读取速度与 NOR Flash 相近,根据接口的不同有所差异;
· NAND Flash 的写入速度比 NOR Flash 快很多;
· NAND Flash 的擦除速度比 NOR Flash 快很多;
· NAND Flash 最大擦次数比 NOR Flash 多;
· NOR Flash 支持片上执行,可以在上面直接运行代码;
· NOR Flash 软件驱动比 NAND Flash 简单;
· NOR Flash 可以随机按字节读取数据,NAND Flash 需要按块进行读取。
· 大容量下 NAND Flash 比 NOR Flash 成本要低很多,体积也更小;
(注:NOR Flash 和 NAND Flash 的擦除都是按块块进行的,执行一个擦除或者写入操作时,NOR Flash 大约需要 5s,而 NAND Flash 通常不超过 4ms。)
2.1 NOR Flash
NOR Flash 根据与 CPU 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。
Parallel NOR Flash 可以接入到 Host 的 SRAM/DRAM Controller 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问,因而支持片上执行。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 连接。
图片: Parallel NOR Flash 与 Serial NOR Flash
鉴于 NOR Flash 擦写速度慢,成本高等特性,NOR Flash 主要应用于小容量、内容更新少的场景,例如 PC 主板 BIOS、路由器系统存储等。
2.2 NAND Flash
NAND Flash 需要通过专门的 NFI(NAND Flash Interface)与 Host 端进行通信,如下图所示:
图片:NAND Flash Interface
NAND Flash 根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。
NAND Flash 的一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。在 SLC 中,存储单元的电压被分为两个等级,分别表示 0 和 1 两个状态,即 1 个比特。在 MLC 中,存储单元的电压则被分为 4 个等级,分别表示 00 01 10 11 四个状态,即 2 个比特位。同理,在 TLC 中,存储单元的电压被分为 8 个等级,存储 3 个比特信息。
图片: SLC、MLC 与 TLC
NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。下图 中,给出了特定工艺和技术水平下的成本和寿命数据。
相比于 NOR Flash,NAND Flash 写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部的 Flash Memory 都属于 NAND Flash,PC 中的固态硬盘中也是使用 NAND Flash。
3. Raw Flash 和 Managed Flash
由于 Flash Memory 存在按块擦写、擦写次数的限制、读写干扰、电荷泄露等的局限,为了最大程度的发挥 Flash Memory 的价值,通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。
在具体实现中,根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类。
图片: Raw Flash 和 Managed Flash
Raw Flash
在此类应用中,在 Host 端通常有专门的 FTL 或者 Flash 文件系统来实现坏块管理、擦写均衡等的功能。Host 端的软件复杂度较高,但是整体方案的成本较低,常用于价格敏感的嵌入式产品中。通常我们所说的 NOR Flash 和 NAND Flash 都属于这类型。
Managed Flash
Managed Flash 在其内部集成了 Flash Controller,用于完成擦写均衡、坏块管理、ECC校验等功能。相比于直接将 Flash 接入到 Host 端,Managed Flash 屏蔽了 Flash 的物理特性,对 Host 提供标准化的接口,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 Flash 进行特殊的处理。eMMC、SD Card、UFS、U 盘等产品是属于 Managed Flash 这一类。
看完这篇文章,相信对Flash memory都会有一个全面的了解,无论是其原理,还是NOR Flash 和 NAND Flash、Raw Flash 和 Managed Flash 之间的异同,欢迎关注宏旺半导体,会持续带来存储领域更专业的文章。
【MCU】SD NAND芯片之国产新选择
文章目录
前言
传统SD卡和可贴片SD卡
传统SD卡
可贴片SD卡
实际使用
总结
前言
随着目前时代的快速发展,即使是使用MCU的项目上也经常有大数据存储的需求。可以看到经常有小伙伴这样提问:
大家好,请问有没有SD卡芯片,可以直接焊接到PCB板上的。
项目需要保存900M以上字节,nand flash 比较贵。或者有什么便宜的存储芯片提供。谢谢!
传统做法无非如下几种:
用eMMC芯片,和SD接口基本兼容,细节有区别。一般的操作系统能支持。东芝还是谁有焊接的嵌入式SD模块,贵。做TF卡的封装,直接上锡人工焊死。其实还有一种选择就是可贴片SD卡。
传统SD卡和可贴片SD卡
传统SD卡
相对于可贴片SD卡,传统SD卡存在一些劣势,包括:
尺寸和体积:传统SD卡相对较大,尺寸较大,占据更多的空间。这在某些紧凑型设备或嵌入式系统中可能会造成问题,因为可贴片SD卡的尺寸更小,更适合于空间受限的应用。插拔耐久性:传统SD卡需要频繁插拔使用,这可能会导致卡槽和插口的磨损和腐蚀。长期使用后,可能会出现接触不良、断开连接或读写错误的问题。而可贴片SD卡由于直接焊接在PCB上,没有插拔操作,因此在插拔耐久性方面更有优势。抗震抗振性能:传统SD卡的连接方式是通过卡槽和插口实现的,这种连接方式对于抗震抗振能力较差。在某些震动频繁的应用场景下,传统SD卡可能会出现连接不稳定或数据丢失的问题。而可贴片SD卡由于直接焊接在PCB上,具有更好的抗震抗振性能。物理保护:传统SD卡的外部没有额外的保护措施,如防水、防尘等功能。在某些恶劣环境中使用时,传统SD卡可能会受到外界因素的影响,导致数据损坏或设备故障。而一些可贴片SD卡提供了防水、防尘和抗静电等功能,以增加物理保护。传统SD卡和可贴片SD卡在功能和性能上并没有本质的区别,只是封装形式不同。选择哪种类型的SD卡取决于具体的应用需求和设备限制。对于空间受限、插拔频繁或对抗震抗振性能要求较高的场景,可贴片SD卡可能更适合。而对于一般应用,传统SD卡仍然是一种可靠的存储介质。
可贴片SD卡
可贴片SD卡是一种集成电路封装形式的SD(Secure Digital)存储卡。与传统的SD卡相比,可贴片SD卡采用了更为紧凑的封装形式,使其更适合于嵌入式系统和紧凑型设备的应用。
以下是可贴片SD卡的特点和优势:
封装形式:可贴片SD卡采用了表面贴装技术(Surface Mount Technology,SMT)封装,将SD卡的芯片和连接器集成在一个紧凑的封装中,没有外部插口。这种封装形式使得可贴片SD卡可以直接焊接在PCB(Printed Circuit Board)上,节省空间并提高可靠性。尺寸小巧:可贴片SD卡的尺寸通常比传统的SD卡更小,因此适用于那些对空间要求严格的设备,如嵌入式系统、便携式设备和小型电子产品等。抗震抗振动:由于可贴片SD卡直接焊接在PCB上,没有外部插口,因此具有更好的抗震抗振动性能。这使得它更适合于应对恶劣环境和振动频繁的应用场景。可靠性:可贴片SD卡的焊接连接更牢固,减少了插拔引起的接触不良和断开的风险,提高了存储数据的可靠性和稳定性。实际使用
前主流的存储芯片大致可以分为NOR Flash和NAND Flash。NOR Flash容量比较小,所以一般项目对于容量有一定要求的话(512M起步),就会用采用NAND Flash。
一般从成本考虑,多会使用裸的NAND FLASH进行贴片。随着也会带来几个问题:
第一,笔者在项目中经常遇到NAND Flash的坏块问题,即使让厂商增加了出厂检测,仍会有较高的不良率,所以必须要进行坏块管理。第二,不同品牌之间的NAND Flash,由于Page,Block大小不同,时序不同等。都需要嵌入式工程师重新调试驱动,经常遇到替换供应商后重新添加、修改驱动的问题,费时费力。笔者所在项目需要再NAND FLASH中存储图片 语音数据,经常因为坏块问题需要去工厂解决问题,编写坏块管理,甚至手动编写平均读写算法……非常的麻烦。之前没有了解到国产有非常优秀的贴片式SD卡产品——雷龙。
自带SD转接测试板,方便在demo阶段直接使用SD卡接口测试。
兼容无压力,在电脑上也可以免驱直接读写,非常方便。
SD NAND就是这样一款产品。简单来说它的架构如下图。内部使用寿命最长、性能最稳定的SLC NAND Flash晶圆,擦写次数可以达到10万次。另外,内置了特定的Flash控制器和Firmware,硬件对外采用最为通用的SD接口。
完美兼容了基本所有的项目,尺寸小巧,对于开发板甚至核心板这种对于尺寸要求很高的PCB都可以降低成本!
SD NAND内置坏块管理,平均读写,动态和静态的EDC/ECC算法等等,除了让产品的质量更稳定,更好的延长寿命,更能减少CPU的负荷。让后续针对NAND Flash的操作,都可以交给SD NAND,CPU可以不用再管了。领导再也不用担心我的NAND Flash驱动了。
总结
实际使用下来感觉非常好,推荐大家在项目初期就考虑使用雷龙的NAND FLASH,可以节约大量硬件成本和人工成本。有兴趣的伙伴,可以随时联系雷龙官方客服。
相关问答
nandflashnorflashmcpflash的区别?norflash的存储区是连续的支持连续烧录,nand不支持连续烧录,其存储区不是连续的。nor出厂可以保证是好的,不存在坏块;nand可能存在坏块。其他的区别网上可查...
tcl电视数字板的常见故障该怎么维修?_住范儿家装官网据我所知,TCL此种电视。。里面的数码板经常发生虚焊的故障。。如果你有动手能力,拆开焊接一边即可。。如果不行别逞强如果开机有声音就是没有...
金士顿kc3000跟sn770哪个好?我认为KC3000比较好。它采用群联的第四代ECC纠错,以实现高耐用性。这不仅有助于持续的写入性能,而且还有助于坏块管理和其他后台NAND管理例程。3DMark...
U盘的构造及上面有什么零件?SLC:高速芯片里面只有一个数据通道。类似于物理里面的串连。MLC:低速芯片,里面有2个以上数据通道,类似并联。MLC芯片节省了成本,空间,但...为了焊接...
oracle数据库打不开遇到ora-00600[4193]错误要怎么处理呢?-Z...ORA-600[4193]的成因与ORA-600[4194]类似,是ORACLE发现redo重做记录与rollback/undo回滚/撤销数据不匹配。当进程在校验undoblock中的undo...
XP系统用SSD会坏硬盘吗?下面几位不仅没答到点上,还答错了。WinXP系统太古老,不支持Trim指令,闪存无法实现均衡磨损,固态硬盘4K对齐失去意义。如果SSD写入数据量很大,经过一段时间...▲...
固态硬盘该如何挑选?除此之外,东芝Q200240GB硬盘还支持SLCCache模式,在剩余容量较多的时候可以性能更强的SLC模式运行,所以它的读取速度达到了550MB/s,写入速度也有510MB/s,...浦...
固态硬盘SSD真的安全吗?当一块SSD坏掉了,需要扔掉的时候,你是否想过,SSD里面是否已经真的删除干净,是否还有你私密的数据呢?特别是对银行业或者军工的SSD,里面包含了很多机密的数...执...
如何格式化磁盘? - 一只搬运? 的回答 - 懂得入dos,然后输入formatc:/q,这样可以快速格式化C盘,然后就可以在干净的c盘里安装系统,同理,如果你要格式化d盘,只要把上面的命令中的c改为d...安装...
如何格式化磁盘? - 潘圆员- 的回答 - 懂得入dos,然后输入formatc:/q,这样可以快速格式化C盘,然后就可以在干净的c盘里安装系统,同理,如果你要格式化d盘,只要把上面的命令中的c改为d...安装...