DRAM 基础知识

2019-07-14 02:02发布

内存可以根据储存能力与电源的关系可以分为以下两类: 易失性存储器(Volatile memory)指的是当电源供应中断后,存储器所储存的资料便会消失的存储器。主要有以下的类型:
  • RAM(Random access memory,随机访问存储器)
    • DRAM(Dynamic random access memory,动态随机访问存储器)
    • SRAM(Static random access memory,静态随机访问存储器)
非易失性存储器(Non-volatile memory)是指即使电源供应中断,存储器所储存的资料并不会消失,重新供电后,就能够读取内存资料的存储器。主要有以下的类型:
  • ROM(Read-only memory,只读存储器)
    • PROM(Programmable read-only memory,可编程只读存储器)
    • EPROM(Erasable programmable read only memory,可擦可编程只读存储器)
    • EEPROM (Electrically erasable programmable read only memory,可电擦可编程只读存储器)
  • Flash memory(快闪存储器)
按内存条的接口形式,常见内存条有两种: 单列直插内存条(SIMM)和 双列直插内存条(DIMM) 按内存的工作方式:
  • FPA EDO DRAM-------FPM(FAST PAGE MODE)RAM
  • EDO(EXTENDED DATA OUT)RAM
  • SDRAM(同步动态RAM)-----S(SYSNECRONOUS)DRAM
  • DDR(DOUBLE DATA RAGE)RAM
内存条性能评价指标:
  • 存储容量:即一根内存条可以容纳的二进制信息量,如目前常用的168线内存条的存储容量一般多为32兆、64兆和128兆。
  • 存取速度:即两次独立的存取操作之间所需的最短时间,又称为存储周期,半导体存储器的存取周期一般为60纳秒至100纳秒。
  • 存储器的可靠性:存储器的可靠性用平均故障间隔时间来衡量,可以理解为两次故障之间的平均时间间隔。
  • 性能价格比:性能主要包括存储器容量、存储周期和可靠性三项内容,性能价格比是一个综合性指标,对于不同的存储器有不同的要求。
SDR和DDR1/2/3全系列内存对照表: single-sided和double-sided、single-rank和double-rank 如果1根ECC DIMM的9颗芯片都位于DIMM的同一面,就叫做single-sided(单面)。如果9颗芯片分布在DIMM的两面,就叫做double-sided(双面)。作为对single-sided和double-sided的补充,DIMM还被分为single-rank和double-rank(也就是我们在内存的lable上经常能看到的1R,2R)。 2R*8----R是rank,8是内存颗粒位宽;当颗粒位宽×颗粒数=64bits时,这个模组就是有一个RANK。 References http://www.360doc.com/content/11/0607/10/939554_122177662.shtml   内存频率介绍 http://wenku.baidu.com/view/5b55a47302768e9951e7385c.html single-sided/double-sided/single-rank/double-rank http://diybbs.zol.com.cn/7/315_67201.html rank数的计算 http://www.zkvod.com/Jsjc/ShowArticle.asp?ArticleID=11 内存 bank 和rank 区别 
1:什么是RANK?

答:CPU与内存之间的接口位宽是64bit,也就意味着CPU在一个时钟周期内会向内存发送或从内存读取64bit的数据。可是,单个内存颗粒的位宽仅有4bit、8bit或16bit,个别也有32bit的。因此,必须把多个颗粒并联起来,组成一个位宽为64bit的数据集合,才可以和CPU互连。生产商把64bit集合称为一个物理BANK(Physical BANK),简写为P-BANK。为了和逻辑BANK相区分,也经常把P-BANK称为RANK或Physical RANK,把L-BANK则简称为BANK。

如果每个内存颗粒的位宽是8bit,应该由8个颗粒并联起来,组成一个RANK(64bit);同理,如果颗粒的位宽是16bit,应该由4个颗粒组成一个RANK。

由此可知:Rank其实就是一组内存颗粒位宽的集合。具体说,当颗粒位宽×颗粒数=64bits时,这个模组就是有一个RANK。

为了保证和CPU的沟通,一个模组至少要有一个RANK。但是,为了保证有一定的内存容量,目前,DDR2内存,经常是采用一个模组两个RANK的架构。(过去也有用几个模组组成一个RANK的情况)。


“模组构成”中的“R”是“RANK”的意思。“2R”是说组成模组的RANK数(Number of ranks of memory installed)是2个。有“1R”和“2R”两种;

“模组构成”中的“×8”是颗粒的位宽(bit width),有×4、×8和×16三种


2.如何根据模组的编号计算模组的RANK数?

答:根据模组组成原理可以知道:如果模组的深度等于颗粒的深度,就是一个RANK;如果模组的深度等于两倍颗粒深度,就是两个RANK。例如,编号为M378B5673DZ1的三星模组的模组深度是256M。又因为这种模组采用的是K4T1G084QD颗粒。这种颗粒的密度是1024Mb;位宽是8b,因此,颗粒深度是1024Mb÷8b=128M。即模组深度是颗粒深度的两倍,因此,是两个RANK。

此外,从模组编号或颗粒编号给出的颗粒位宽和实际颗理粒数也可以计算出RANK数。例如,当颗粒位宽是8b时,模组用了8个颗粒,8×8b=64b,就是一个RANK;如果用了16颗颗粒,16×8b=128b,就是两个RANK。


3.模组的RANK数跟模组的面数有什么关系?

答:模组的面(side)数跟RANK数是两个不同的概念。而且在内存的编号中也都没有反映面数。但是,模组的面,不是一个,就是两个;而目前的RANK数也是这样。因此,用符号表示它们时,很容易混淆。但是,可以很明确地说:内存标签中的“R”是表示RANK,不是表示面数,内存“面”的英文字是Side,如果表示两个面的话面,应该是“2S”才是呀!

4.内存标签上的2R×8就表明内存是双面8个颗粒吗?

答:不是的。“R”表示RANK,这在上面已经解释过了。“×8”就是颗粒位宽是8bit的意思。因为1个RANK是64bit,两个RANK就是128bit,因此,符号“2R×8”就表示这个模组有2个RANK,颗粒的位宽是8b。因此,这个模组用的颗粒是128b÷8b/颗=16颗,而不是8颗。同理,当内存条上的标签标明是“1R×16”时,就表明这个模组是1个RANK;颗粒位宽是16bit。其颗粒数是64b÷16b/颗=4颗。绝不是16颗。
内存频乱如麻,内存频率为啥乱
  为什么我们会说频率乱如麻?主要原因是人们在交谈中常常把内存频率、颗粒频率、等效频率等胡乱用。新接触电脑的朋友们一听到这么多版本的频率,头怎会不疼呢?        首先搞清楚内存的三个频率,核心频率,工作频率,等效频率(也成接口频率),平时常说的DDR2 800中的那个800就是该内存的等效频率(接口频率),也是最有意义的频率,和内存总线的带宽直接挂钩,比如说DDR2 800的带宽算法就是800mhz*64/8,也就是6.4GB/S。而工作频率则是用等效频率除以2,这对DDR,DDR2,DDR3都适用(对SD内存无效,不过SD内存早就淘汰了,这里不作研究)且在CPU-Z中显示的内存频率也是工作频率。  先为理解打基础   1.内存频率是什么   我们平时挂在嘴边的DDR2 800、DDR2 667后面的800和667就是内存频率值。内存频率通常以MHz(兆赫兹)为单位来计量,内存频率在一定程度上决定了内存的实际性能,内存频率越高,说明该内存在正常工作下的速度越快。比如DDR2 800就表示这根内存条的频率为800MHz,在其他参数相同的情况下,它就比DDR2 667(频率为667MHz)性能要好。   小贴士:只要内存延迟数值相差很小,比如5和6,那么它们对内存的性能影响就很小。反之如果内存延迟数值相差过大,那对内存的性能影响我们就不能不考虑了。总体上来说,随着内存频率的提升,会使内存延迟数值上升。所以与DDR 400内存相比,尽管DDR2 533频率高一些,但一些DDR内存具备了较低的延时参数,所以其性能与普通的DDR2 533性能相差不大。   2.内存频率的由来   知道CPU主频是如何标上去的吗?同一批生产的CPU,在标上型号前,它们都是“一奶同母的N胞胎”,除了主频不同之外,其他参数都相同。比如当同一批次的Intel Core 2 Duo E4000系列生产好以后,厂家就会对这些产品进行测试。如果这块CPU的主频能稳定达到某个频率,而这个频率正好是目前现有甲型号CPU的水平,那么它的型号就是“甲”。如果达到另外一个频率且正好是目前乙型号CPU的水平,厂家就命名为“乙”。以此类推,这样这一批次的所有CPU都定了型号。   内存也是如此,当同一批的内存颗粒没有打上标记之前,大家都是“N胞胎”,然后像三星、现代等内存颗粒生产厂就会对内存颗粒进行测试,如果这个颗粒能稳定跑到DDR2 800的水平,那么它就会被命名为DDR2 800。DDR2 667和DDR2 533命名同样如此。   小贴士:在内存颗粒厂商测试过程中,肯定会测试到能够稳定运行在比DDR2 800更高的频率上的内存颗粒。由于它的性能好,那么内存颗粒厂商就会以高价格卖给像金士顿、宇瞻等内存模组厂商。模组厂商购买了这些颗粒之后,也会挑选一些质量好的电子元器件与之搭配,这样一根超频性能很好的内存就出现在了市场上,价格也比普通内存高很多。   超频内存套装价格不低     哪些频率常乱用   介绍了内存频率的由来,下面我们就开始学习几种内存频率的关系。目前,网上和平时常用错的内存频率有等效频率、内存工作频率、颗粒核心频率三种。 ● SDR和DDR1/2/3全系列频率对照表:【内存频率、内存工作频率与内存等效频率的关系】

  1.颗粒核心频率   从核心频率这四个字就知道了这是内存频率的基础,什么等效频率、工作频率都是在它的基础上得出来的。大家一定要记住下面这几个核心频率,DDR 266/DDR2 533/DDR3 1066核心频率为133MHz,DDR 333/DDR2 667/DDR3 1333核心频率为166MHz,DDR 400/DDR2 800/DDR3 1600核心频率为200MHz。   小贴士:非常规记忆法   目前对于DDR、DDR2、DDR3适用。三代内存只要它们后面跟的数值是成倍数关系的,那么它们的颗粒内部频率就相等,并且它们颗粒内部频率的数值等于DDR后面跟的数值的一半。比如DDR 400、DDR2 800、DDR3 1600,它们后面的数值400、800和1600就成了倍数关系,那它们颗粒内部频率的数值为DDR 400中的400的一半,即200。   2.工作频率   大家记住的核心频率,马上就会在学习内存工作频率过程中派上用场。内存工作频率是颗粒核心频率的两倍。比如DDR 400、DDR2 800、DDR3 1600的核心频率为200MHz,那么这三个内存颗粒的工作频率就是400MHz(数值正好等于DDR 400中的400)。为什么是两倍?其实它和DDR内存的数据传输原理有关。   双倍是指在一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据(通过差分时钟技术实现),在存储阵列频率不变的情况下,数据传输率达到了SDR的两倍,此时就需要I/O从存储阵列中预取2bit数据,因此I/O的工作频率是存储阵列频率的两倍。
    3.等效频率   最后我们再谈谈等效频率,其实它才是DDR2 800中800MHz的正规名称。准确点说,它和内存的预读取有关。
 
内存标贴上的频率是等效频率     理解预读取并不难,同样打个比方,看一个人跑得快或不快,要看两个方面,一个是步伐的频率,比如每秒钟跑两步;另一个是步伐的距离,比如每一步跑1米。第一个人(DDR)它每秒钟跑两步,每步是1米,所以它的速度是2米/秒;而第二个人(DDR2)它每秒钟跑两步(因为DDR2和DDR内存颗粒的工作频率一致),每步是两米,所以它的速度是4米/秒。第二个人的速度是第一个人的两倍。   内存也是如此,DDR、DDR2、DDR3内存颗粒工作频率一致,所以速度的快慢就取决于DDR的步伐(预读取),DDR的预读取为2bit,这就是数据传输的带宽(每步距离)。而DDR2的预读取是4bit(DDR3为8bit),说明DDR2的“每步距离”是DDR的两倍,所以只要内存颗粒工作频率一致,DDR2等效频率是DDR等效频率的2倍,DDR3就是DDR的4倍。   总结   讲了这么多,最后把几种内存频率的关系总结在下表中。大家可以通过表中内容得知,等效频率就是我们平时说的频率,比如DDR2 800等效频率就是800MHz;虽然DDR 266、DDR2 533、DDR3 1066等效频率不同,但由于DDR、DDR2、DDR3的预读取不同,所以DDR 266、DDR2 533、DDR3 1066的颗粒频率同为266MHz;内存颗粒核心频率为内存颗粒工作频率的一半。