DRAM的一些知识点,先记录下来再进行整理

1.何为Memory rank?

memory rank is a set of DRAM chips connected to the same chip select, which are therefore accessed simultaneously. In practice they also share all of the other command and control signals, and only the data pins for each DRAM are separate (but the data pins are shared across ranks).

The term “rank” was created and defined by JEDEC, the memory industry standards group. On a DDRDDR2, or DDR3 memory module, each rank has a 64 bit wide data bus (72 bit wide on DIMMs that support ECC). The number of physical DRAMs depends on their individual widths. For example, a rank of x8 (8 bit wide) DRAMs would consist of eight physical chips (nine if ECC is supported), but a rank of x4 (4 bit wide) DRAMs would consist of 16 physical chips (18 if ECC is supported). Multiple ranks can coexist on a single DIMM, and modern DIMMs can consist of one rank (single rank), two ranks (dual rank), four ranks (quad rank), or eight ranks (octal rank).

There is little difference between a dual rank UDIMM and two single rank UDIMMs in the same memory channel, other than that the DRAMs reside on different PCBs. The electrical connections between the memory controller and the DRAMs are almost identical (with the possible exception of which chip selects go to which ranks). Increasing the number of ranks per DIMM is mainly intended to increase the memory density per channel. Too many ranks in the channel can cause excessive loading and decrease the speed of the channel. DRAM load on the CA (Command/Address) bus can be reduced by using registered memory.【1】

2.如何识别SODIMM的Memory Rank数?

“模组型号”(红圈内)中的“R”是“RANK”的意思,也即是这个模组中只有一个RANK。“×8”是颗粒的位宽(bit width)。

下图为该内存对应框图,可以看出所有的cs片选信号均是连接在一起的。

内存框图【2】

3.关于Rank的一些讨论(引自【3】):

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

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

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

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

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

3.内存标签上的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颗。

参考文献:

【1】https://en.wikipedia.org/wiki/Memory_rank

【2】computing_ds_4Gb_DDR3L(B-ver)based_SODIMMs(Rev.1.0).pdf 源自“https://www.skhynix.com/products.view.do?vseq=963&cseq=75”

【3】http://blog.csdn.net/force_eagle/article/details/7961317

DRAM Memory Rank知识的更多相关文章

  1. Method for training dynamic random access memory (DRAM) controller timing delays

    Timing delays in a double data rate (DDR) dynamic random access memory (DRAM) controller (114, 116) ...

  2. Fast exit from dram self-refresh

    Embodiments of the invention describe a dynamic random access memory (DRAM) device that may abort a ...

  3. Static Random-Access Memory Dynamic Random-Access Memory

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION RAM technology is div ...

  4. ROM, RAM, Flash Memory

    ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devic ...

  5. docker cgroup 技术之memory(首篇)

    测试环境centos7 ,内核版本4.20 内核使用cgroup对进程进行分组,并限制进程资源和对进程进行跟踪.内核通过名为cgroupfs类型的虚拟文件系统来提供cgroup功能接口.cgroup有 ...

  6. Memory Networks01 记忆网络经典论文

    目录 1.Memory Networks 框架 流程 损失函数 QA 问题 一些扩展 小结 2.End-To-End Memory Networks Single Layer 输入模块 算法流程 Mu ...

  7. 801硬件检测工具DragonHD的使用

    801硬件检测工具DragonHD的使用 2018/11/28 13:39 版本:V1.0 开发板:SC3817R 1.客户要认证器件,使用了全志官方的工具:DragonHD.exe 打开之后可以见用 ...

  8. 【读书笔记】《Computer Organization and Design: The Hardware/Software Interface》(1)

    笔记前言: <Computer Organization and Design: The Hardware/Software Interface>,中文译名,<计算机组成与设计:硬件 ...

  9. DDR相关的低功耗技术之PASR、TCSR、DPD

    随着智能机的发展,DDR内存容量越来越大,bank数量越来越多,功耗也越来越大.在不需要的时候关闭部分bank,或者降低自刷新频率,或者进入深度低功耗模式.有三种DDR技术用来降低功耗: PASR(P ...

随机推荐

  1. 萝卜德森的sublime笔记中文翻译版

    我已经使用subliem编辑器版本2接近2个月了,并且我在其中找到了一堆有用的技巧.我发觉应该写下这些技巧,为那些对此感兴趣的人们.我会尽力的详细描述,那些看起来像魔法一样的东西,因为很多非常“酷”的 ...

  2. Ckeditor配置

    配置参考文档,主要将ckeditor中的(adapters.images.lang.plugins.skins.themes.ckeditor.js.config.js.contents.css)解压 ...

  3. 好题 线段树对数据的保存+离线的逆向插入 POJ 2887

    题目大意:给一个字符串,有插入和询问操作,每次往一个位置插入一个字符或者询问第p个位置的字符是什么. 思路:我们离线询问,逆向把所有的字符都插入给线段树,然后再查询就好了,每次都要记得插入线段树的最后 ...

  4. QML之使用Loader加载QML组件

    呵呵,今晚是边看<裸婚时代>边敲代码,那电影看得...!钱真他妈不是个东西. 盼望Meego火起来. QML的Loader元素经常备用来动态加载QML组件.可以使用source属性或者so ...

  5. 关于安卓HTTP请求用HttpUrlConnection还是HttpClient好

    安卓和JAVA应用开发少不了要提交HTTP请求,而基本上目前有两个实现方式:HttpUrlConnection(即URL.openConnection)和HttpClient. 网上不少人都认为Htt ...

  6. fp oo

    http://blog.enfranchisedmind.com/2009/05/scala-not-functional/

  7. C#窗口实现最小化到系统托盘

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. UML类图图示样例

    下图来自<大话设计模式>一书:

  9. c++中string的用法

    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至 ...

  10. 用PHP实现验证码功能

    目前,不少网站为了防止用户利用机器人自动注册.登录.灌水,都采用了 验证码技术.所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验 ...