RAM、DRAM、SD卡
catalogue
1. ROM、RAM、DRAM、SRAM和FLASH的区别 2. 内存工作原理 3. DRAM基本结构与原理 4. SD卡基本结构与原理
1. ROM、RAM、DRAM、SRAM和FLASH的区别
0x1: ROM
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,ROM也有很多种
1. PROM是可编程的ROM: PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了 2. EPROM(可擦除可编程ROM): EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子檫除,价格很高,写入时间很长,写入较慢
0x2: RAM
RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类
1. 一种称为静态RAM(Static RAM/SRAM): SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲 2. 另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的
0x3: DRAM
DRAM分为很多种,常见的主要有
1. FPRAM/FastPage 2. EDORAM 3. SDRAM 4. DDR RAM: DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力 5. RDRAM 6. SGRAM 7. WRAM等
0x4: SRAM
常用于CPU 1、2级缓存
0x5: FLASH
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统(例如单片机存储bootloader程序代码)一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码、或者直接当硬盘使用(U盘)
目前Flash主要有两种
1. NOR Flash: NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本 2. NADN Flash: NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba
Relevant Link:
http://www.21ic.com/jichuzhishi/mcu/memory/2014-04-23/322864.html
2. 内存工作原理
内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作,具体的工作过程是这样的
1. 一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0 2. 但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因 3. 刷新操作定期对电容进行检查 1) 若电量大于满电量的1/2,则认为其代表1,并把电容充满电 2) 若电量小于1/2,则认为其代表0,并把电容放电 4. 藉此来保持数据的连续性
0x1: 内存寻址
首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为"寻址"),它先定出横坐标(也就是"内存条列地址"),再定出纵坐标(也就是"内存条行地址"),这就好像在地图上画个十字标记一样,非常准确地定出这个地方
对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe),纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作
0x2: 内存传输
为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(十字寻址方式),之后,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用
0x3: 存取时间
存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程
因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1 / 6ns = 166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)
Relevant Link:
http://wenku.baidu.com/link?url=zemB5_DVmXNKc-pmWe6hqftseYng09vnxiZfIz-Q7PRS4updYhZdajB5zHdjj_44YRNxlNVs2p2JyCPnt4zFapVA1bx0dgIPxnGMeeBICFW
3. DRAM基本结构与原理
DRAM(Dynamic Random Access Memory),即动态随机存储器,也就是我们常说的计算机内存,在现代计算机系统和SOC系统中有很重要的作用
0x1: 组成部件
1. PCB板 内存条的PCB板多数都是绿色的。如今的电路板设计都很精密,所以都采用了多层设计,例如4层或6层等,所以PCB板实际上是分层的,其内部也有金属的布线。理论上6层PCB板比4层PCB板的电气性能要好,性能也较稳定,所以名牌内存多采用6层PCB板制造。因为PCB板制造严密,所以从肉眼上较难分辩PCB板是4层或6层,只能借助一些印在PCB板上的符号或标识来断定 2. 金手指 黄色的接触点是内存与主板内存槽接触的部分,数据就是靠它们来传输的,通常称为金手指。金手指是铜质导线,使用时间长就可能有氧化的现象,会影响内存的正常工作,易发生无法开机的故障,所以可以隔一年左右时间用橡皮擦清理一下金手指上的氧化物 3. 内存芯片 内存的芯片就是内存的灵魂所在,内存的性能、速度、容量都是由内存芯片组成的 4. 内存颗粒空位 5. 电容 PCB板上必不可少的电子元件就是电容和电阻了,这是为了提高电气性能的需要。电容采用贴片式电容,因为内存条的体积较小,不可能使用直立式电容,但这种贴片式电容性能一点不差,它为提高内存条的稳定性起了很大作用 6. 电阻 电阻也是采用贴片式设计,一般好的内存条电阻的分布规划也很整齐合理 7. 内存固定卡缺口 内存插到主板上后,主板上的内存插槽会有两个夹子牢固的扣住内存,这个缺口便是用于固定内存用的 8. 内存脚缺口 内存的脚上的缺口一是用来防止内存插反的(只有一侧有),二是用来区分不同的内存,以前的SDRAM内存条是有两个缺口的,而DDR则只有一个缺口,不能混插 9. SPD SPD是一个八脚的小芯片,它实际上是一个EEPROM可擦写存贮器,他的容量有256字节,可以写入一点信息,这信息中就可以包括内存的标准工作状态、速度、响应时间等,以协调计算机系统更好的工作。从PC100时代开始,PC100规准中就规定符合PC100标准的内存条必须安装SPD,而且主板也可以从SPD中读取到内存的信息,并按SPD的规定来使内存获得最佳的工作环境
0x2: 基本电路结构
图中的基本结构单元是1T1C(1 Transistor - 1 Capacitor)。其工作的大致原理是: 当Word Line选通时,晶体管导通,从而可以从Bit Line上读取存储在电容器上的位信息
此外由DRAM基本电路结构图,我们可以知道DRAM的信息是存储在在电容当中,而电容中的电荷会因为漏电流存在原因而逐渐漏掉,因此需要不断refresh(刷新),这也是DRAM称为动态的原因。例如,90nm工艺下,DRAM的cell单元的电容量是30pf,它的漏电流是1fA,漏光的时间是随着温度的变化而变化的。现在的DRAM的刷新时间一般是32ms或者64ms
0x2: 堆电容(Stacked Capacitor)与沟电容(Trench Capacitor)
我们从更底层来了解DRAM存储电容,关于存储电容在现代业界也没有统一,仍然存在两大阵营,分别是堆电容(Stacked Capacitor)与沟电容(Trench Capacitor),像三星这样的大公司使用是前者。因为这两种电容在任何DRAM中都是存在的而且是需要考虑到的
沟电容(Trench Capacitor)
堆电容(Stacked Capacitor)
trench电容是存在于深入到硅下面的,而stacked电容是存在于不同的多晶硅层中间。这两种电容分别有自己的优缺点
1. trench电容是深入到硅下面的,相当于从二维到三维的拓展,可以保证在相同的电荷容量下,面积小,成本低,由于其表面平坦更易制造,使它更易集成到逻辑优化工艺技术里。由于深入到硅下面的,在上层的逻辑电路结构形成之前就存在,与上层电路无关,有利于电路优化 2. stacked电容,由于是存在不同的多晶硅层之间的,因此bitline与多晶硅之间也会存在电容,且这种电容属于stacked 电容
0x3: 感应放大器
stacked 电容,如下图所示
由于每个Bitline上连着很多并联的Bitline Capacitor,因此存储电容大小远比Bitline 电容小,大约只有1/10。所以当transistor选同时,存储在存储电容上的电荷传输到Bitline时,Bitline上的电压变化很小,需要使用"差分比较放大器"
1. Open Bitline与Folded Bitline
差分比较放大器需要使用一对Bitline来感知DRAM中的信息,而且要保证用来做对比的两个Bitline在电压与电容值上是相互匹配的,所以他们的走线长度与连接的cell数(也就是并联的Bitline 电容数)必须非常接近。有两种常用的选择方法
1. Open bitlines: 差分比较器的两个输入是来自两个不同的array 2. Folded bitlines: 差分比较器的两个输入是来自两个相同的array
Open Bitlines结构占用的面积比Folded Bitlines结构小,因为一个array只需要输出一个bitline,而后者需要输出两个bitline到比较器。但是Open Bitlines结构存在缺点
1. 需要在DRAM的边界上使用假(dummy)array,为了满足bitlines pairs在长度和电容上都是匹配的要求 2. 因为bitlines是来自不同的array,所以其受到噪声影响更大。在现代 DRAM中Open Bitlines结构几乎不用了 //但随着工艺的发展,理论上Open Bitlines的优点更大
2. 差分感应放大器
1. 将bitline上的微小电压变化放大,并转化成数字信号 2. 将被读的bit位所在的那一行基本单元cell的值重新存入cell(刷新),因为在transistor打开时,存储在存储电容中的电荷将于bitline共享了(内存cell行bit信息读取的物理本质是并联分流),存储在存储电容中的电荷变少了,因此需要将值再次存入cell(无论该bit是否被读,只要是同一行的都需要进行该步操作) 3. 临时存储器的作用,临时存储bitline上的值
Relevant Link:
http://blog.sina.com.cn/s/blog_70aaaf790101pakp.html http://www.360doc.com/content/14/0902/09/19184777_406435453.shtml
4. SD卡基本结构与原理
SD存储卡(Secure Digital Memory Card)是特别为符合新出现的音频和视频消费电子设备的安全性、容量、性能和环境等要求而设计的一种存储卡。SD存储卡包含符合SDMI标准安全性的版权保护机制,速度更快而且存储容量更大。SD存储卡的安全系统使用双方认证和"新的密码算法"技术,防止卡的内容被非法使用。它还提供了一种无安全性的访问方法访问用户自己的内容。SD存储卡的物理外形、引脚分配和数据传输协议都向前兼容多媒体卡(MultiMediaCard),但也增加了一些内容
SD存储卡的通信基于一个高级的9引脚接口(时钟、命令、4条数据线和3条电源线),可以在最高25MHz频率和低电压范围内工作。通信协议也是本规范的一部分。SD存储卡的主机接口也支持常规的多媒体卡操作。也就是说向前兼容多媒体卡。实际上,SD存储卡和多媒体卡的主要区别在初始化过程
SD存储卡规范共有几个文档,其文档结构图如图所示
1. SD存储卡音频规范: 这个规范以及其他规范介绍了某些应用(这里是音频应用)的规范以及实现要求 2. SD存储卡文件系统规范: 介绍了保存在SD存储卡中的数据的文件格式结构规范(包括有保护和无保护方面) 3. SD存储卡安全规范: 介绍了版权保护机制以及支持的应用专用命令 4. SD存储卡物理层规范(本规范): 介绍了SD存储卡使用的物理接口和命令协议。目的是定义SD存储卡的环境和操作
Relevant Link:
http://wenku.baidu.com/link?url=9QfC8rkx9m5lgU-cQderHO-4Z8wYCjHMmXVFgdMcLo9epG9cDS67RREoNmLlH6f3GpkODdP2GT6PoaJ98zOMZ5upF8jl-IKDMo3CFhV6Fwu
Copyright (c) 2016 LittleHann All rights reserved