存储芯片 emmc、Nand flash、Nor flash之间有什么区别
随着存储领域的发展,有很多不同的存储介质,今天ICMAX就带大家来分一分emmc、Nand flash、Nor flash之间的区别。
一、定义及区别
emmc:全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由Nand flash和Nand flash控制器组成,以BGA方式封装在一款chip上。
Nand flash:一种存储数据介质;若要读取其中的数据,需要外接的主控电路。
Nor flash:也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般在其存储一些初始化内存的固件代码。
这里主要重点讲的是emmc 和Nand flash 之间的区别,主要区别如下:
(1) 在组成结构上:emmc存储芯片简化了存储器的设计,将NAND Flash芯片和控制芯片以MCP技术封装在一起,省去零组件耗用电路板的面积,同时也让手机厂商或是计算机厂商在设计新产品时的便利性大大提高。而NAND Flash仅仅只是一块存储设备,若要进行数据传输的话,只能通过主机端的控制器来进行操作,两者的结构图如下:
(2) 在功能上:eMMC则在其内部集成了 Flash Controller,包括了协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能。相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 NAND Flash 进行特殊的处理。同时,eMMC通过使用Cache、Memory Array 等技术,在读写性能上也比 NAND Flash要好很多。而NAND Flash 是直接接入 Host 端的,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者 NAND Flash 文件系统来做坏块管理、ECC等的功能。另一方面,emmc的读写速度也比NAND Flash的读写速度快,emmc的读写可高达每秒50MB到100MB以上;
二、emmc的初始化和数据通信
emmc与主机之间通信的结构图:
其中包括Card Interface(CMD,DATA,CLK)、Memory core interface、总线接口控制(Card Interface Controller)、电源控制、寄存器组。
图中寄存器组的功能见下表:
CID: 卡身份识别寄存器 128bit,只读, 厂家号,产品号,串号,生产日期。
RCA: 卡地址寄存器,可写的16bit寄存器,存有Device identification模式由host分配的通信地址,host会在代码里面记录这个地址,MMC则存入RCA寄存器,默认值为0x0001。保留0x0000以用来将all device设置为等待CMD7命令状态。
CSD: 卡专有数据寄存器部分可读写128bit,卡容量,最大传输速率,读写操作的最大电流、电压,读写擦出块的最大长度等。
SCR: 卡配置寄存器, 可写的 64bit 是否用Security特性(LINUX不支持),以及数据位宽(1bit或4bit)。
OCR: 卡操作电压寄存器 32位, 只读,每隔0.1V占1位, 第31位卡上电过程是否完成。
(5)Device Identification Mode和初始化
MMC通过发CMD的方式来实现卡的初始化和数据通信
Device Identification Mode包括3个阶段Idle State、Ready State、Identification State。
Idle State下,eMMC Device会进行内部初始化,Host需要持续发送CMD1命令,查询eMMC Device是否已经完成初始化,同时进行工作电压和寻址模式协商:eMMC Device 在接收到这些信息后,会将OCR的内容(MMC出厂就烧录在里面的卡的操作电压值)通过 Response 返回给 Host,其中包含了 eMMC Device 是否完成初始化的标志位、设备工作电压范围 Voltage Range 和存储访问模式 Memory Access Mode 信息。
如果 eMMC Devcie 和 Host 所支持的工作电压和寻址模式不匹配,那么 eMMC Device 会进入Inactive State。
Ready State,MMC完成初始化后,就会进入该阶段。
在该 State 下,Host 会发送 CMD2命令,获取eMMC Device 的CID。
CID,即 Device identification number,用于标识一个 eMMC Device。它包含了 eMMC Device 的制造商、OEM、设备名称、设备序列号、生产年份等信息,每一个 eMMC Device 的 CID 都是唯一的,不会与其他的 eMMC Device 完全相同。
eMMC Device 接收到CMD2后,会将 127 Bits 的CID的内容通过 Response返回给 Host。
Identification State,发送完 CID 后,eMMC Device就会进入该阶段。
Host 会发送参数包含 16 Bits RCA 的CMD3命令,为eMMC Device 分配 RCA。设定完 RCA 后,eMMC Devcie 就完成了 Devcie Identification,进入 Data Transfer Mode。
注:emmc初始化和数据通信的过程,有点类似USB协议,USB控制器去发送请求给USB设备,以IN包和OUT包的形式去建立与USB设备之间的通信,默认状态下,USB设备也是0地址的,与控制器分配设备地址。(感兴趣的可以看一下USB2.0的协议,主要是第8和9章内容)
三、eMMC工作电压和上电过程
根据工作电压的不同,MMC卡可以分为两类:
High Voltage MultiMediaCard,工作电压为3.3V左右。
Dual Voltage MultiMediaCard,工作电压有两种,1.70V~1.95V和2.7V~3.6V,CPU可以根据需要切换
我所使用的eMMC实测工作电压VCC为2.80V~2.96V,VCCQ为1.70V~1.82V。
其中VCC为MMC Controller/Flash Controller的供电电压,VCCQ为Memory和Controller之间I/O的供电。
上电初始化阶段MMC时钟频率为400KHz,需要等电压调整到它要求的VCC时(host去获取OCR中记录的电压值,上面有说),MMC时钟才会调整到更高的正常工作频率。
「内存」UDIMM、RDIMM、SODIMM以及LRDIMM的区别
内存严格上来说应该称为内存条(Memory Module),内存条可以在普通的电脑市场或者网上平台上购买,内存条通常采用DRAM(动态随机存取存储器)作为内存颗粒,若干内存颗粒配合一块长方形的印刷电路板组成一根内存条,除了内存颗粒外,内存条上还可能有 其他芯片,例如SPD存储芯片,时钟缓存寄存器芯片(Registering Clock Driver),或数据缓存芯片(Data Buffer)等。
在整个计算器系统中,内存条无法单独工作,需要有对应的内存控制单元(Memory Controller)以及相应的内存条供电模块,最早的内存控制器在北桥芯片中(North Bridge),但随着北桥芯片逐渐退出市场,内存控制器已经移动到了处理器内部。
需要注意的是,并非所有的计算机系统都使用内存条,例如Ultrabook,内存颗粒被直接安装在主板上,这样一来,主板在设计的时候就要兼顾部分内存条本身的设计内容,同时需要提供类似的SPD芯片,或将其内容内嵌在BIOS中。某些计算机系统采用的处理器本身就内置了高速内存芯片,在内置内存容量满足需求的情况下,可以省略外部内存槽的设计。
DIMM简介
意思是内存条印刷电路板正反面均有金手指与主板上的内存条槽接触,这种结构被称为DIMM。于是内存条也有人叫DIMM条,主板上的内存槽也有人称为DIMM槽。
DIMM(Dual lnline Memory Module,双列直插内存模块)与SIMM(single in-line memory module,单边接触内存模组 )相当类似, 不同的只是DIMM的金手指两端不像SIMM那样是互通的,它们各自独立传输信号,因此可以满足更多数据信号的传送需要。同样采用DIMM,SDRAM的接口与DDR内存的接口也略有不同,SDRAM DIMM为168Pin DIMM结构,金手指每面为84Pin,金手指上有两个卡口,用来避免插入插槽时,错误将内存反向插入而导致烧毁;DDR DIMM则采用184Pin DIMM结构,金手指每面有92Pin,金手指上只有一个卡口。卡口数量的不同,是二者最为明显的区别。DDR2 DIMM为240pin DIMM结构,金手指每面有120Pin,与DDR DIMM一样金手指上也只有一个卡口,但是卡口的位置与DDR DIMM稍微有一些不同,因此DDR内存是插不进DDR2 DIMM的,同理DDR2内存也是插不进DDR DIMM的,因此在一些同时具有DDR DIMM和DDR2 DIMM的主板上,不会出现将内存插错插槽的问题。
UDIMM、RDIMM、SODIMM以及LRDIMM的区别
UDIMM,Unbuffered DIMM, 定位于 桌面市场,指地址和控制信号没有经过缓冲器,没有做任何时序调整(缓冲器延迟是有的),直接到达DIMM上的DRAM芯片。而Registered内存模组则对地址和控制信号等进行寄存,在下一个时钟到来时再触发输出。
RDIMM,Registered DIMM ,定位于工作站和服务器市场,指地址和控制信号经过寄存,时钟经过PLL锁相。相对于UDIMM,RDIMM更稳定,容量更大,但是对于单个的读写访问要滞后一个时钟周期。 Registered内存本身有两种工作模式,即 Registered模式和Buffered模式。在支持Registered工作模式的主板上工作时,Registered内存工作于 Registered模式,这时主板上的地址信号和控制信号会比数据信号先一个时钟周期到达DIMM,送入Register芯片后会在其中停留一个时钟周期,然后在下一个时钟信号的上升沿从Register输出,与此时从主板上到达DIMM的数据信号一起同时传送到SDRAM。
SODIMM,Small Outline DIMM ,定位于笔记本市场,UDIMM和RDIMM都隶属于DIMM,内存模组的长度等,包括金手指的信号分布在内都是一样的。而SODIMM可以理解为小一号的内存模组。
什么是Rank?
前面介绍过一条内存通道可以有多个DIMM,如果因为某种原因,我们最多在主板上只能允许三根DIMM存在,例如从第四根DIMM开始,我们的空间就不够了,又或者信号因为长度超长而质量下降等等。但从性能出发,我们需要六根DIMM在一条内存通道中,怎么办?这时,就可以引入Rank的概念。Rank就好像逻辑DIMM。我们可以把原本两根物理DIMM的内存颗粒全部安装在一块内存印刷电路板上,使得一根内存条具备两倍的内存容量。我们把这种逻辑DIMM称为Rank。为了支持多RANK的内存条,我们需要在物理DIMM接口上定义多个CS_N片选信号以便可以选择相应的Rank。
x8 Dual Rank RDIMM:
总结一下,一个Rank就是指一组内存颗粒的CS信号被连在一起,并由内存控制器单独的一根CS_N信号控制,共同组成位宽为64bit(不带ECC)或72bit(带ECC)的存储阵列,共同完成一条内存通道下发的指令。
内存rank是一组连接到同一个chip select的DRAM芯片,可以同时访问它们。所有 DRAM 芯片共享所有命令和控制信号,并且只有每个rank的芯片选择引脚是独立的。
chip: 就是内存条上贴的存储芯片,也叫作颗粒。根据数据位宽,可分为x4,x8和x16的。
rank: 由多个颗粒并联,位宽与通道的数据位宽一样。比如channel的数据位宽是x64,颗粒是x8的,那就需要
8个颗粒组成一个rank。一个DIMM可以多个rank。
bank: chip往下拆分就是bank。bank往下拆分就是一个个的存储单元,横向一排称之为row,纵向一列称之为column。
相关问答
电脑主机 ECC 存储空间在哪-ZOL问答说说ECC吧,ECC可以形象的说是“奇偶校验”技术的升级版,你应该知道,内存中的数据都是二进制的~就是仅有1和0,而奇偶校验是利用将一个字节(英文是Byte,很常见吧~...
Raid0、Raid0+1、Raid1、Raid5这些磁盘阵列方式它们有什么不...RAID0:N块盘组成,逻辑容量为N块盘容量之和;RAID1:两块盘组成,逻辑容量为一块盘容量;RAID3:N+1块盘组成,逻辑容量为N块盘容量之和;RAID5:N块盘组成,逻辑容量为...
电脑开机时显示英文Pri Master Hard Disk:S.M.A.R.T. Status BAD,Backup and Replace?当硬盘发现异常状态时,即会在开机时显示“S.M.A.R.TStatusBad,BackupandReplace.PressF1toResume…”按下F1可跳过此画面进入系统。但如果...
英语翻译绕口令+翻译难度高一点的_作业帮[回答]Twolittlefunnybirdssittingonthehillonenamejakeahdonenamejillflyawayjakeflyawayjillc...
固态硬盘的闪存类型:SLC MLC TLC 各指的是什么?哪种比较好? -...分别是单层存储单元(没个单元只存储1bit的数据),多层(其实也就是双层)存储单元,三层存储单元。slc存储速度最快,可擦写次数最多,成本最高,三者依次...
内存编码含义的Samsung?主要含义:第1位——芯片功能K,代表是内存芯片。第2位——芯片类型4,代表DRAM。第3位——芯片的更进一步的类型说明,S代表SDRAM、H代表DDR、G代表SGRAM、T...
用英语写一段邀请朋友一起去某地旅游的对话,不能太短_作业帮[回答]B,Hi***,that'sBspeaking.A,Heyfriend,howareyou?Areyouok?B,Quitegood.How'stheschool...
如果固态硬盘在使用过程中掉电,里面的数据怎么办? 室内设计的cpu是选amd的好还是intel的好,显卡是选A卡还是N卡呢?大概要什么配置的?绝对是非常强力的建议。综上所述,如果放到几年之前我肯定会告诉你选择Intel无疑,但是现在随着AMD的崛起,在同等价格之下我们能买到更强劲的AMDCPU,整体性能...
开机提示keyboard/interfaceerror怎么办?是电脑主板自检没找到键盘的意思。有4种可能:1.键盘与电脑的接口松动。2.键盘坏。3.主板键盘接口坏。4.还有一种可能BIOS有问题,把BIOS恢复默认设置解决...