存储相关知识SRAM、DDR4、Quad SPI、Flash、eMMC闪存的介绍与区别

 标准SPI、DUAL SPI、Quad SPI;NorFlash、NandFlash、eMMC闪存的比较与区别

  1. 标准SPI

标准SPI通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:clk , cs, mosi, miso

  1. Dual SPI

它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),mosi变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输

  1. Qual SPI

与Dual SPI类似,也是针对SPI Flash,Qual SPI Flash增加了两根I/O线(SIO2,SIO3),目的是一个时钟内传输4个bit

所以对于SPI Flash,有标准spi flash,dual spi , qual spi 三种类型,分别对应3-wire, 4-wire, 6-wire,在相同clock下,线数越多,传输速率越高。

btw:spi flash一般为NOR Flash

快闪存储器(英语:Flash Memory),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在电脑与其他数字产品间交换传输数据,如储存卡与U盘。闪存是非易失性的存储器,所以单就保存数据而言, 它是不需要消耗电力的。

与硬盘相比,闪存也有更佳的动态抗震性。这些特性正是闪存被移动设备广泛采用的原因。闪存还有一项特性:当它被制成储存卡时非常可靠,即使浸在水中也足以抵抗高压与极端的温度。闪存的写入速度往往明显慢于读取速度。

NorFlash

NOR Flash需要很长的时间进行抹写,但是它提供完整的寻址与数据总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的ROM芯片。当时ROM芯片主要用来存储几乎不需更新的代码,例如电脑的BIOS或机上盒(Set-top Box)的固件。NOR Flash可以忍受一万到一百万次抹写循环,它同时也是早期的可移除式快闪存储媒体的基础。CompactFlash本来便是以NOR Flash为基础的,虽然它之后跳槽到成本较低的 NAND Flash。

NandFlash

NAND Flash式东芝在1989年的国际固态电路研讨会(ISSCC)上发表的, 要在NandFlash上面读写数据,要外部加主控和电路设计。。NAND Flash具有较快的抹写时间, 而且每个存储单元的面积也较小,这让NAND Flash相较于NOR Flash具有较高的存储密度与较低的每比特成本。同时它的可抹除次数也高出NOR Flash十倍。然而NAND Flash 的I/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取,NAND Flash典型的区块大小是数百至数千比特。

因为多数微处理器与微控制器要求字节等级的随机存取,所以NAND Flash不适合取代那些用以装载程序的ROM。从这样的角度看来,NAND Flash比较像光盘、硬盘这类的次级存储设备。NAND Flash非常适合用于储存卡之类的大量存储设备。第一款创建在NAND Flash基础上的可移除式存储媒体是SmartMedia,此后许多存储媒体也跟着采用NAND Flash,包括MultiMediaCard、Secure Digital、Memory Stick与xD卡。

EMMC

emmc存储器eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD、TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要。

eMMC由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备(Nand Flash)及主控制器,所有都在一个小型的BGA 封装。接口速度高达每秒52MBytes,eMMC具有快速、可升级的性能。同时其接口电压可以是 1.8v 或者是 3.3v。

现在很多智能电视已经逐步抛弃Nor或Nand,使用更为先进的eMMC芯片,然而普通编程器无法读写eMMC芯片,新开发的可支持eMMC芯片烧写的编程器性价比高,还能支持Nor、Nand芯片,支持全面、功能强大

SRAM、DRAM、SDRAM、DDR3、DDR4、Flash、eMMC介绍及区别

ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。bai其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据
  SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积

DRAM(Dynamic Random Access Memory),即动态随机存取存储器最为常见的系统内存。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以 必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 (关机就会丢失数据)
在这里插入图片描述

SRAM、DRAM、SDRAM、DDR3、DDR4介绍及区别
2017-02-07 13:58来源:中国存储网
导读:SRAM、DRAM、SDRAM、DDR3、DDR4介绍及区别,SDRAM:同步动态随机访问存储器,SRAM:静态随机访问存储器,与DDR3相比,DDR4提供更高的时钟频率和传输速率
SRAM、DRAM、SDRAM、DDR3、DDR4介绍及区别

SRAM:静态随机访问存储器

一个SRAM存储单元由4个晶体管和2个电阻器组成,利用晶体管的状态切换来存储数据,而不是电容器,因此读数据时不存在漏电问题,不需要刷新操作。但是由于SRAM需要的晶体管数多,因此成本高。

DRAM:动态随机访问存储器

一个DRAM存储单元由1个晶体管和1个电容器组成,利用电容量存储电量的多少来存储数据,由于电容器存在漏电问题,因此需要定期刷新。读数据时,电容量的电量会消失,因此每次访问之后,也需要刷新,以防止数据丢失。

SDRAM:同步动态随机访问存储器

同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准。传统的DRAM在两个读周期之间需要等待一段时间,用于充电操作。而SDRAM一个模组有两个bank,在对一个bank充电时,可以操作另一个bank,实现流水线。

SDRAM的发展已经经历了五代:分别是SDR SDRAM、 DDR SDRAM、 DDR2 SDRAM、 DDR3 SDRAM、 DDR4 SDRAM。

DDR3:

2005年制造出DDR3的原型产品。2007年,市场开始使用DDR3内存芯片。

与DDR2相比,DDR3采用8bit预取,因此提供更高的传输速率(2133MT/s);更低的工作电压(1.5V,DDR2工作电压为1.8V),另外采用了不同的封装工艺,因此能耗更低。

延迟周期同样比DDR2增长,引脚数增加。

DDR4:

2011年,samsung宣布生产出第一个DDR4内存模块。2012年,samsung、Micron等开始量产DDR4 SDRAM芯片。

与DDR3相比,DDR4提供更高的时钟频率和传输速率(4166MT/s);更低的工作电压(1.05~1.2V),因此能耗更低。

转自中国存储网,原文链接:http://www.chinastor.com/baike/storage/020I62322017.html

Sram的好处是接口简单,速度快容易操作,用资源也比较少;sdram的最大好处是容量大,当然速度也比较快,但是接口复杂些,也耗逻辑资源多些;flash是非易失性存储器,速度慢。

目前,相同容量的SRAM价格是SDRAM的8倍左右,面积则将近大4倍,所以SRAM常用于快速存储的较低容量的RAM需求,比如Cache(缓存),比如CPU内部的L1 Cache和主板上的L2 Cache,一般只有几百K。
Flash存储器是一种可在系统进行电擦写,掉电后信息不丢失的存储器,在嵌入式系统中广泛应用。它在系统中通常用于存放程序代码、常量表、以及一些在系统掉电后需要保存的用户数据等。

与Flash存储器相比,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,因此,它在系统中主要用作程序的运行空间、数据及堆栈区。

上面就是内存,接下来跟大家讲闪存,闪存的概念和硬盘差不多,就是存储数据,并且机子掉电之后存储的东西不会丢失,那ROM、FLASH和EMMC就是这种东西。

ROM:ROM又可以分为PROM(可编程ROM)、EPROM(可编程可擦除ROM)、EEPROM(电可编程可擦除ROM),感兴趣的童鞋可以自己去问度娘这些都有什么区别,其实也不用问度娘,直接从名字上就知道区别了。因为ROM整体写入时间较长,写入慢,集成度又不高,于是后面就被FLASH给替代掉了。

所以FLASH是结合了ROM和RAM的有点,不仅具备EEPROM的性能,不会丢失数据,并且可以较快速的读取数据。

这里FLASH又可以分为NOR FLASH和NAND FLASH,由于篇幅的原因,我将会在后面的博客中跟大家分享,哈哈哈哈~~~~~

EMMC:其实EMMC的出现是为了减少研发成本,加快机子上市时间而出现的。为什么?学过半导体的人都知道摩尔定律吧,现在IC发展这么快,那NAND FLASH更新换代也不用讲了,所以对于手机、机顶盒灯产品来说,对于每一次产品的研发,都要重新选型NAND FLASH,并且为了适应发展的潮流,每次选的NAND FLASH较之前版本肯定是变了不止一点,所以又要考虑各种兼容性和管理等问题,这样会大大加大研发的工作量和时间,最要命的是推迟产品的上市时间,一下可以少卖几个亿,想想真是亏大了。所以就出现了EMMC这种类似于闪存的东西,EMMC是将所有的存储器和管理NAND FLASH的控制芯片都放在一颗MCP上,而EMMC具有更快速、可升级的优点,手机、机顶盒灯厂商可以直接买来一颗EMMC放在自己的产品上使用就OK了,也没有那些繁琐的兼容性等问题,研发大佬们用起来感觉很不错!

 EMMC和Nand的区别

1.背景

今天偶然在一个群里看到有人聊EMMC和Nand,相信很多嵌入式er都用过或者至少听说过这2种板载存储芯片,但是很多人不清楚这2种的差异,也不明白什么时候应该用EMMC什么时候用Nand,如何选择?今天我们就来聊聊这个问题。

2.Nand是这样的

Nand是一种flash,所以又叫NandFlash。大家知道Flash叫闪存(flash这个英语单词就有闪烁的意思),闪存这种存储设备是用电信号来做擦除和读写的。也就是说你可以把Flash看成是一个二进制数据仓库,你可以用电信号擦除它(清除掉仓库里的存货),也可以用电信号读取它(将仓库内存储的物品取出),也可以用电信号写入它(将物品放入仓库储存)。

好,问题来了,怎么去擦除、读写呢?这东西又听不懂人话,所以必须按照它的时序规则用电平信号和他交互。

上图中左侧是一个NandFlash实物图,大家可以看到有很多引脚。右侧是NandFlash和STM32单片机的连接接线图。

这些芯片上的引脚就是Nand和外界进行数据交流的通道。其中IO0-IO15是数据通道,通信时的地址和数据就是从这些引脚传输的。而CLE、ALE等剩余引脚就是时序控制线,用来做通信控制和同步。当然Nand工作时还需要供电的,图中并没有画出电源引脚但是实际是有的。

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

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

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

3.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最大的问题,其实就是不够好用。那怎么办呢?进化。

4.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好像手动挡汽车。(我发现我好喜欢用自动挡和手动挡的对比·····)

5.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,因此可以做到容量很大、使用简单,还便宜。

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

6.如何选择用哪个

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

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

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

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

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

7.最后

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

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

技术其实一直都在创新。

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机中的Flash和SRAM是两种不同的存储器类型,它们在功能、特性和用途上有所区别。 1. 功能和用途: - Flash存储器:Flash是一种非易失性存储器,用于存储程序代码和只读数据。在单片机中,Flash存储器通常用于存储程序的指令、常量数据、配置信息等。它是单片机的主要存储器,用于存储永久性的数据和程序代码。 - SRAM存储器:SRAM是一种易失性存储器,用于存储临时数据和变量。在单片机中,SRAM存储器通常用于存储程序运行时所需的数据、堆栈和变量。它提供了快速的读写速度,适用于频繁读写和修改的数据。 2. 特性和工作原理: - Flash存储器:Flash存储器具有较大的存储容量,但较慢的编程和擦除速度。它通常被划分为多个扇区,可以按扇区进行编程和擦除操作。编程操作会将数据写入Flash存储器中,而擦除操作会将整个扇区的数据擦除为逻辑1状态。Flash存储器在单片机上电时会被加载到SRAM中执行。 - SRAM存储器:SRAM存储器具有较小的存储容量,但具有快速的读写速度。它通常被划分为多个地址单元,可以直接通过地址访问和修改其中的数据。SRAM存储器在单片机上电时会被初始化为默认值,可以在程序运行过程中动态地读写和修改其中的数据。 3. 关系和互补性: - Flash和SRAM在单片机中互为补充,共同构成了单片机的存储体系。Flash存储器用于存储程序代码和只读数据,而SRAM存储器用于存储临时数据和变量。程序代码通常需要从Flash加载到SRAM中执行,而SRAM中的数据可以被程序读取、修改和写入到Flash中进行保存。 总的来说,Flash和SRAM在单片机中分别担任不同的角色。Flash存储器用于存储程序代码和只读数据,而SRAM存储器用于存储临时数据和变量。它们在功能、特性和用途上有所区别,但也存在一定的互补性,共同构成了单片机的存储体系。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值