看懂NAND、eMMC、DDR、LPDDR几种存储器的区别

一般的计算机包含RAM内存和ROM存储

RAM 是易失性内存,用于暂时存储正在处理的文件。 ROM 是非易失性内存,用于为电脑长久存储指令。

RAM 和 ROM 有何区别?

RAM 代表随机存取内存,ROM 代表只读内存;两者都是电脑的组件。

RAM 是易失性内存,用于暂时存储正在处理的文件。ROM 是非易失性内存,用于为电脑长久存储指令。

ROM 存储领域发展至今,已有很多不同种类的存储器产品。下面给大家介绍几款常见的存储器及其应用。

硬盘是计算机中最为重要的存储器之一,用于永久存储数据和文件。与RAM和内存相比,硬盘的容量更大,可以存储大量的数据和文件。同时,硬盘中的数据可以长久保存,即使计算机关机或出现故障,数据也不会丢失。

硬盘品类 Nand与eMMC

相信很多嵌入式er都用过或者至少听说过这2种板载存储芯片,但是很多人不清楚这2种的差异,也不明白什么时候应该用eMMC什么时候用Nand,如何选择?

1、Nand是这样的

Nand是一种flash,所以又叫NandFlash。

NAND Flash存储器是Flash存储器的一种,属于非易失性存储器,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。

NAND Flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如闪存盘、固态硬盘、eMMC、UFS等。

根据其不同的工艺技术,NAND已经从最早的SLC一路发展到如今的MLC、TLC、QLC和PLC。

目前主流的应用解决方案为TLC和QLC。SLC和MLC主要针对军工,企业级等应用,有着高速写入,低出错率,长耐久度特性。

大家知道Flash叫闪存(flash这个英语单词就有闪烁的意思),闪存这种存储设备是用电信号来做擦除和读写的。也就是说你可以把Flash看成是一个二进制数据仓库,你可以用电信号擦除它(清除掉仓库里的存货),也可以用电信号读取它(将仓库内存储的物品取出),也可以用电信号写入它(将物品放入仓库储存)。好,问题来了,怎么去擦除、读写呢?这东西又听不懂人话,所以必须按照它的时序规则用电平信号和他交互。

是NandFlash,通过很多个引脚(图中可见至少二三十个)和外界通信,很大的一个薄片状芯片。能存储数据。

常见Nand的容量一般几十Mb到几个Gb(注意存储设备的容量都是b而不是B),应该说容量不算大。

Nand内部的存储单元有两大类,MLC和SLC。具体的细节暂不去管,大家只需要知道SLC Nand容量小价格高,但是质量好不容易坏。而MLC Nand容量大价格便宜,但是质量不好容易出现坏块。其实不能说是质量好坏,而是工艺本身特性决定的,咱们反正是科普,就简单粗暴给他归个类吧。

2、Nand的优势和劣势

Nand的优势都是相对于它的前代产品来说的。在Nand之前,人类使用的大容量存储主要是磁性存储(软盘、硬盘)和光存储(DVD光盘),这些东西都不太完美。譬如光盘不能反复擦写而且读盘设备和盘片都经常坏(大家你想想家里老式光碟机是不是经常读不出盘),硬盘虽然今天也还在大量用,但是速度有极限并且体积太大,所以今天的高端笔记本电脑都不用机械硬盘改用SSD了(SSD其实也是Flash)。

我们主要讲讲Nand的劣势。

Nand的第1大劣势就是接口和时序不标准。大家可能没意识到,NandFlash其实是一个品类而不是一个固定产品,你去看全世界有多家公司都在生产Nand,但是他们的产品并不能直接通用,也就是说你不能把一款Nand直接替换另一款而不需改动软硬件。这就头痛了,麻烦的要死。

Nand的第2大劣势就是引脚太多,体积大。所以Nand芯片不能用在对体积要求很高的小型产品上,这极大限制了Nand的直接使用。

Nand的第3大劣势就是容量不能灵活控制。就算你用同一家厂商的Nand芯片,但是不同容量的芯片引脚接口和封装等也可能不同,这样你如果做产品时有不同容量版本的产品,还得分开设计,分开生产,很麻烦。

Nand的第4大劣势就是坏块的管理。存储设备其实就相当于有很多小房间的一个大仓库,而这个仓库的每个小房间都是独立的。因为技术原因有时候一些小房间就会坏掉,没法使用,那我们不可能因为一个小房间坏掉了就把整个仓库都丢掉吧?

于是乎人们就发明了坏块管理技术。也就是说我们去标记上每个房间是好的还是坏的,如果发现某个房间坏了那就标记成坏块,就不再使用这个房间了,而其他的好块还是可以继续用的。这种坏块管理技术可以很大程度延长Nand的整体寿命。

和坏块相似的还有个ECC(错误校验)问题。正常情况下Nand中每个好块中存储的数据都会一直保持正确,即使过了几年时间你去读他还是原来的数据。但是事实往往没有这么理想,有时候一些块中的某些特定位就是会在隔了一段时间去读取时发生了翻转,这里原来存进去是1结果读出来是0了。

这就难受了啊,最痛苦的是你也不知道原来存进去到底是1还是0,也不确定读出来的还是不是原来的数,所以搞得你没法相信任何一个数据,因为任何一个数据都有可能会翻转啊,那岂不是整个数据都不可信了。

解决办法就是ECC,我们写入时先用算法计算得到数据的ECC值,把ECC值和块内数据一起存入Nand中。待读出时也是把块内数据和ECC一起读出,然后再用相同的算法计算块内数据的ECC,和读出的ECC进行比较,如果相同就认为数据未发生任何反转,如果不同就认为数据已经发生变质,没法相信了。

本来有坏块标记和ECC技术,Nand已经挺好用了,也确实可以用了。但是麻烦的是Nand的ECC和坏块标记都需要主控CPU来做,Nand自己是不管的。所以使用Nand很麻烦,你得编程解决很多细节问题(时序、ECC、坏块管理)。

所以Nand最大的问题,其实就是不够好用。那怎么办呢?进化。

3、EMMC其实是从Nand进化而来

EMMC其实就是Nand包了一层后形成的。

EMMC内部真正用来存储的仓库就是Nand,而且EMMC基本都是MLC Nand,因为便宜啊。那EMMC解决了Nand的什么问题呢?

首先,EMMC是封装和引脚都是标准的。什么标准?就叫EMMC标准。所以EMMC这个词其实本来就是个接口标准名,符合EMMC接口的存储芯片就叫EMMC芯片。

这个标准体现在至少三个方面:物理封装、硬件电平和脚位、软件时序。所以所有的EMMC芯片,不管是哪家厂家的,不管是多大容量的,都可以直接替换使用。因为人家设计EMMC标准的时候就已经考虑到这种兼容和替换了(当然了,实际上EMMC也有好几种封装,但是一般硬件工程师做封装时都会考虑几种兼容的)。

所以EMMC解决了Nand的一个大问题,就是不同厂家和容量的存储芯片之间的替换问题,这个非常厉害。因为兼容可以方便备货,方便采购,方便替换,所以极大降低了产品设计和备货上的难度,极大降低了成本。

举个栗子,大家买手机都会发现现在的手机发布都有不同容量版本选择,什么256G、128G、64G版。你想想厂商和经销商要备货这么多种,多难受?但是如果用EMMC呢?所有的手机主板其实都是完全一样的,只是实际生产时贴上了不同容量的EMMC芯片而已。而且最重要的是软件上不用做任何改动,软件可以自适应不同容量的EMMC芯片。这样手机厂商就不用给不同容量的手机适配不同的操作系统镜像了啊,多省心。所以你明白为什么手机都用EMMC而不用Nand了吧

EMMC的引脚比Nand也更少,体积也更小。当然了EMMC体积小也有很重要原因是因为他采用了更先进的BGA封装方式。所以体积的优势也不算根本优势,如果Nand也用BGA封装也可以做的小,只是说Nand没这个必要性了。

最后,EMMC也解决了Nand的时序、坏块和ECC问题。本质上因为EMMC内部也是用Nand存储颗粒(而且是MLC Nand更容易坏)的所以也逃不过Nand的这些麻烦。但是EMMC芯片在内部内置了一个控制器(你可以理解为内部有个CPU且跑了一段固件代码),这个控制器解决了这几个问题,尤其是坏块管理和ECC的问题。

所以你做产品用Nand就麻烦,得自己操这些心。而你做产品用EMMC就省心了,自己不用管这些破事,EMMC全部帮你搞定了,何乐而不为呢?从这个角度讲EMMC好像自动挡汽车,而Nand好像手动挡汽车。(我发现我好喜欢用自动挡和手动挡的对比·····)

4、EMMC和Nand的性价比

有人说不对呀,看你说的EMMC明显比Nand好啊,为什么我发现EMMC好像还比Nand便宜呢?

EMMC从技术上确实比Nand好,但是也确实比Nand便宜。主要原因是成本并不只是由硬性成本决定的,还和市场、规模等因素有关。

EMMC便宜的一大原因就是因为标准化。标准就可以大规模生产,大规模流通,大规模压货,大规模使用。而用的多了产量大了,自然成本就低了。所以EMMC的大规模性就决定了他的成本很有优势。

EMMC便宜的另一大原因是内部使用MLC而不是SLC。实际上SLC的成本要远高于MLC的,但是市场上流通的Nand很多还是SLC,为什么?因为MLC“质量”太差了,太容量出现坏块和翻转等,所以广泛使用的Nand还都是SLC的。你如果直接用MLC Nand,那你的管理成本又很高,太麻烦了。而EMMC解决了这个问题,他内置的控制器很好的管理了MLC Nand,因此可以做到容量很大、使用简单,还便宜。

所以说,能干脏活就是生产力啊。

5、如何选择用哪个

实际项目中我们是用EMMC还是Nand呢?

实际上如果你的产品需要大容量(譬如超过8Gb也就是1GB或更大),那一定是EMMC更合适。性价比更高,且软件上更简单。

那什么时候用Nand呢?需要容量在几十MB(譬如64MB)到几百个MB(譬如512MB)之间的存储,且不在意体积,且对稳定性要求高的情况下,可以用SLC Nand。

那工业级和抗干扰方面呢?我并没有专业研究过,但是简单分析也知道,Nand在这方面肯定比EMMC好一些。毕竟EMMC是串行的要保证高速肯定总线速度高,而Nand是并行的总线速度肯定低。所以Nand应该要比EMMC皮实一些吧?

但是EMMC也是有工业级和消费级之分的,你做的产品真的是工业环境使用完全是可以用EMMC的,所以也不要鼓吹什么消费电子用EMMC,军工用Nand这种说法。

6、最后

实际上存储市场除了Nand和EMMC之外还有很多其他角色也都很厉害。

譬如Norflash、譬如近年来很火的spiflash(常见的是spinor,但是现在也有大容量的spinand了),譬如这两年创新设计的SDnand(相当于是贴片芯片样式的SD卡)。

技术其实一直都在创新。

内存品类 DDR与LPDDR

DDR全称Double Data Rate(双倍速率同步动态随机存储器),严格的来讲,DDR应该叫DDR SDRAM,它是一种易失性存储器。

虽然JEDEC于2018年宣布正式发布DDR5标准,但实际上最终的规范到2020年才完成,其目标是将内存带宽在DDR4基础上翻倍,速率3200MT/s起,最高可达6400MT/s,电压则从1.2V降至1.1V,功耗减少30%。

LPDDR是在DDR的基础上多了LP(Low Power)前缀,全称是Low Power Double Data Rate SDRAM,简称“低功耗内存”,是DDR的一种,以低功耗和小体积著称。

目前最新的标准LPDDR5被称为5G时代的标配,但目前市场上的主流依然是LPDDR3/4X。

DDR和LPDDR的区别?

应用领域不同。DDR因其更高的数据速率、更低的能耗和更高的密度广泛应用于平板电脑、机顶盒、汽车电子、数字电视等各种智能产品中,尤其是在疫情期间,由于在家办公、网课和娱乐的增加,平板电脑、智能盒子的需求也逐步攀升,这对DDR3、DDR4的存储性能要求更高、更稳定。

而LPDDR拥有比同代DDR内存更低的功耗和更小的体积,该类型芯片主要应用于移动式电子产品等低功耗设备上。

LPDDR和DDR之间的关系非常密切,简单来说,LPDDR就是在DDR的基础上面演化而来的,LPDDR2是在DDR2的基础上演化而来的,LPDDR3则是在DDR3的基础上面演化而来的,以此类推。

但是从第四代开始,两者之间有了差别或者说走上了不同的发展,主要因为DDR内存是通过提高核心频率从而提升性能,而LPDDR则是通过提高Prefetch预读取位数而提高使用体验。

同时在商用方面,LPDDR4首次先于DDR4登陆消费者市场。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值