【存储器家族你我他(1)——Flash】
图片来源于网络,侵删
昨晚都在回家的路上了,突然接到老大电话。
老大:新项目为什么飞了一根线?
我:灯的控制线漏接了。
老大:(叹气)不是说一版定板吗?
我:(小声bb)我是说尽量啊。。。
算了算了,自己线没接,说什么都是错的。。。
好了,进入今天的主题,存储器,是半导体行业三大支柱之一。对于我们身边的手机、平板、PC、笔记本和可穿戴等所有电子产品来说,存储器就类似于钢铁之于现代工业,是名副其实的电子行业“原材料”。
我们做电子产品,不免要跟存储类产品打交道,也就是我们说的Memory,Memory从类别上可以分两类:RAM和ROM。
目前消费类电子中的ROM几乎都是Flash型的,主要有Nand和NOR两大类,还有极小一部分是EPROM或者EEPROM的Flash。而RAM多是SDRAM或者DDRx SDRAM型的。
实际上还有一类Memory,也是手机产品通常采用的:MCP。为什么叫MCP呢?
因为它实际上是把RAM和ROM包在一起了。而根据内部包的东西,可以分为Nand+SDRAM型、NOR+SDRAM型,eMMC+SDRAM型。这里边eMMC就是Nand型的一种,只不过它里边包了Nand、SDRAM和相应的Nand接口控制器。(看到这里,差不多也晕了吧,晕就对了~~~嘻嘻!)
小提示:想要了解ROM和RAM究竟有何区别吗?建议大家可以查阅小何以前的文章,里面写的更详细! 聊聊存储器EMMC与DDR的那些事儿~~~
Memory具体分类见下图:
Memory家族分类
我们先来说Flash。
通常,手机类嵌入式系统里的Flash相当于电脑的硬盘,用来做硬件启动、 软件数据存储和一些用户数据存储的。
NOR Flash的特点是传输效率高、容量小、贵。
NOR Flash实行的是芯片内执行,应用程序可以直接跑在NOR上面,而不用把代码取到RAM再读。由于它自身结构特点,很难把NOR Flash做大,目前能做的最大的就是128MB的,做到这么大的巨贵无比。。。一般都是4MB、8MB以下的应用场景会使用NOR Flash较多。基于它的特点,手机上已经早已看不见NOR Flash了。
NandFlash的特点是高的写入和擦除速度、容量大、便宜。
一个8MB的NOR Flash 比一个128MB的NandFlash便宜不了几毛钱,可想而知这个价格差距是有多大。但是Nand有自己的缺点:就是在使用过程中会产生坏块,并且容易产生位反转(NOR也会发生位反转,但概率不高)。这就要求Nand在使用时候CPU要有针对它相应的坏块管理和ECC校验位检测。
Nand还能往下分类,分为SLC、MLC和TLC的,它们是单层单元、多层单元和三层单元。这这里我说下大概原理。
SLC一个晶圆根据它的电压储存一个位,内容为0或1两个数字,MLC一个晶圆能存两位,内容为00、01、10、11四个,TLC就是能存三位了,表示八个数字。可以发现相同晶圆的TLC要比SLC容量多了7倍,但是,MLC是根据电压来分成八位的,存在很多不稳定因素,可靠性极差,擦写次数也很少,大概寿命500次擦写左右,因此一般来讲很少会用MLC。
相对来讲SLC的品质就很高,品质好的寿命可以达到上万次的擦写。我们通常使用的以SLC居多,MLC也有少量。现在,由于工艺的提高,要求元器件尺寸越来越小,Nand和NOR的大尺寸不能满足生产需要,于是一种SPI Nand/NOR Flash应运而生。
512K SPI FLASH
顾名思义,它的本质还是Nand/NOR,只不过接口改用了SPI接口。现在很多CPU都会兼容SPI Nand/NOR的FLASH,让选择可以更多一些。而SPI NandFlash由于做了接口处理,所以也有相应的坏块管理功能在里面,减少了CPU的内存资源。
多说一句,我们通常说的SPI Flash默认指的就是SPI NOR Flash,如果你想要Nand的话一定要特别强调说出来是SPI NandFlash。
未完待续。。。
备注:以上内容为公众号(硬件女工程师的日常)原创作品,版权归作者所有,本头条号已获作者授权发布。
欢迎关注工程师小何,如果您觉得本文有点小用,可以点击右上角“…”转发或者扩散到朋友圈~~~
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闪存的管理,包括纠错、坏块处理和损耗平衡。
相关问答
NAND Flash 和Nor Flash 到底有什么区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%...
sdnand有哪些品牌?SDNAND品牌有:芯存者,专业提供SDNANDFLASH为嵌入式系统存储保驾护航,容量规格有128MB,256MB,512MB,1GByte(8Gbit)2GByte(16Gbit)4GB...
nandflash 最快读写速度?NAND闪存的最快读写速度取决于具体的技术和规格。目前,高性能NAND闪存的读取速度可以达到几百兆字节每秒(MB/s),而写入速度通常在几十到一百多兆字节每秒之间...
Nand Flash 和Nor Flash 有什么区别?求解?1、写入/擦除操作的时间不同【nandflash】:擦除NAND器件以8~32KB的块进行,执行同一写入/擦除的操作时间为4ms【norflash】:擦除NOR器件是以64~128KB的块.....
NandFlash 和NorFlash的区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100%...
nand 和 flash 有什么区别?1.性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多...●N...
nandflash 是什么?这个应该是手机/相机/PDA上的说明。。。NandFlash是一种存储介质。相当于电脑的硬盘。是用来存储东西的。电脑上可存储的东西,在这里也都能存储。而1GGG8GG...
nandflash 和norflash的区别?在于它们的存储方式和读取方式不同。nandflash是一种串行存储器,数据是通过串行方式存储和读取的,而norflash是一种并行存储器,数据是通过并行方式存储和读取...
NANDFlash 和NorFlash到底有什么区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100...
NorFlash与 NandFlash 的区别?NorFlash和NandFlash是两种不同的闪存存储器,它们的主要区别在于其存储方式和应用场景。1.存储方式:NorFlash采用的是随机访问存储(RAM)方式,也就是说可以...