DRAM的一些知識點,先記錄下來再進行整理
1.何為Memory rank?
A 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 DDR, DDR2, 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