1. 程式人生 > 其它 >轉載-記憶體spd規範_關於記憶體,看這一篇就夠了!

轉載-記憶體spd規範_關於記憶體,看這一篇就夠了!

記憶體spd規範_關於記憶體,看這一篇就夠了!

於 2020-11-21 16:01:50 釋出977 收藏 10 文章標籤: 記憶體spd規範   點選藍字關注我們

通常大家提起的記憶體嚴格上來說應該稱為記憶體條(Memory Module)。記憶體條可以在普通的電腦市場或者網上平臺上購買到。記憶體條通常採用DRAM(動態隨機存取儲存器)作為記憶體顆粒,若干記憶體顆粒配合一塊長方形的印刷電路板組成一根記憶體條。除了記憶體顆粒外,記憶體條上還可能有其它晶片,例如SPD儲存晶片,時鐘快取暫存器晶片(Registering Clock Driver),或資料快取晶片(Data Buffer)等。

記憶體條正面(RDIMM):

記憶體條背面 

圖中黑色長方形是晶片的外部封裝,裡面封裝了一片或者若干片晶片(通常是一片晶片)。

在整個計算機系統中,記憶體條無法單獨工作,需要有對應的記憶體控制單元(Memory Controller)以及相應的記憶體條供電模組。最早的記憶體控制器在北橋晶片中(North Bridge),但隨著北橋晶片逐漸退出市場,記憶體控制器已經移到了處理器內部。

需要注意的是,並非所有的計算機系統都使用記憶體條,例如Ultrabook,記憶體顆粒被直接安裝在主機板上,這樣一來,主機板在設計的時候就要兼顧部分記憶體條本身的設計內容,同時需要提供類似的SPD晶片,或將其內容內嵌在BIOS中。某些計算機系統採用的處理器本身就內建了高速記憶體晶片,在內建記憶體容量滿足需求的情況下,可以省略外部記憶體槽的設計。

接下來的內容可能比較基礎,如果已經很熟悉的讀者不妨幫忙找找是否有錯誤的地方,並歡迎以各種形式反饋給我們。

什麼是RAM

什麼是SRAM

什麼是DRAM

這三個問題請參考[DDR]SRAMDRAM

糾結是否skip?可以嘗試以下問題:

兩根單Rank的記憶體是否和一根雙Rank的記憶體一樣?

採用x16記憶體顆粒的記憶體條是否有ECC功能?

RDIMM的RCD奇偶校驗主要包含哪些種類的訊號?

什麼是SDRAM

SDRAMSynchronous Dynamic Random Access Memory的縮寫。

Synchronous(同步):是指記憶體顆粒的讀寫訪問是基於某個同步時鐘。

Dynamic(動態):動態的含義是指兩點,一是儲存單元儲存內容需要定期重新整理(refresh),二是儲存單元的內容在掉電和不重新整理的狀態下會丟失。

Random Access(隨機存取):讀寫操作延遲不隨訪問儲存介質的物理位置的不同而不同。

需要注意的是通常人們喜歡使用DRAM代替SDRAM。原因是目前很少有Asynchronous DRAM

什麼是DDR

DDRDouble Data Rate的縮寫,全稱應該是DDR SDRAMDDR記憶體是SDRAM的一種,在DDR出現之前,我們還有Single Data RateSDRAMDouble Data Rate的含義是,在時鐘訊號的上下邊沿均可以傳輸資料。Single Data Rate的含義是,只能在時鐘訊號的上升沿傳輸資料。

什麼是DIMM

DIMMDual In-Line Memory Module的縮寫。意思是記憶體條印刷電路板正反面均有金手指與主機板上的記憶體條槽接觸,這種結構被稱為DIMM。於是記憶體條也有人叫DIMM條,主機板上的記憶體槽也有人稱為DIMM槽。

既然有DIMM,那估計有SIMM(Single In-Line Memory Module),有興趣的讀者可以到網上搜索一下。

什麼是SODIMM?

在筆記本中使用普通記憶體條會使得筆記本尺寸過大,而直接使用記憶體顆粒則不便於擴充套件與維修,兩者之間的空隙被SODIMM填補,SODIMMSmall Outline DIMM的縮寫,意思是小尺寸的DIMM,一般用在筆記本或一體機中,如下圖所示:

什麼是DDRDDR2DDR3DDR4

DDR實際上是第一代的DDR,也可以稱為DDR1

DDR2DDR3DDR4則指DDR的第二三四代。它們在電壓,速率,時鐘拓撲結構,控制線和地址線拓撲結構,以及支援的命令上均有差異,這裡將不會展開來說明,除非讀者有需求。也可以參考JEDEC歷代官方規範。

什麼是Memory Channel

若干個DIMM可以連線到一組總線上,這組匯流排被稱為記憶體通道(Memory Channel)。如圖所示:

資料和校驗ECC是雙向訊號,並且連線記憶體通道內所有的DIMMs。例如,資料訊號DQ0,將連線DIMM0DQ0DIMM1DQ0...

時鐘,控制訊號和地址訊號是單方向的,由記憶體控制器發出,記憶體顆粒接收。其中地址訊號將連線所有的DIMMs

時鐘和控制訊號將不會連線所有的DIMMs,可能只連線某根DIMM或某幾根DIMMs。例如時鐘訊號,CKE訊號,ODT訊號,CS_N片選訊號等。具體的連線方式請查閱系統設計的參考線路。

什麼是記憶體顆粒?

記憶體顆粒(DRAM Device)常與記憶體混淆,而記憶體經常與記憶體條混淆。嚴格意義上來說,記憶體顆粒是指DRAM DeviceDRAM Chips,是指符合JEDEC標準的一種晶片。廣義上,被封裝好了的記憶體晶片也可以稱為記憶體顆粒。由於3DS的出現,一個封裝體內可能含有多個DRAM晶片(Die)。不過通常情況下,一個封裝體內只有一個Die

需要特別注意的是,JEDEC DDR4的主規範針對的是DRAM Device,而不是記憶體條。其中介紹的訊號時序圖也不是指記憶體槽上的時序,而是記憶體晶片的輸入輸出口時序。

什麼是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)的儲存陣列,共同完成一條記憶體通道下發的指令。

什麼是記憶體條的資料位寬?

x86架構中記憶體條的資料位寬是64bit,也就是說一個時鐘週期,如果只考慮上升沿傳輸資料的話,一個時鐘週期可以傳送64bit的資料。如果Double Data Rate,一個時鐘週期可以傳送兩筆64bit的資料。

如果記憶體條支援ECC校驗功能,則需要額外8bit的寬度。所以,支援ECC功能的記憶體條除了64bit的資料外,還有8bit的校驗資料。

目前主流的記憶體顆粒(DRAM Devices)的資料位寬有4bit8bit16bit,分別對應x4x8x16型別記憶體顆粒。如果我們採用x4的記憶體顆粒構造帶ECC功能的記憶體條,則我們需要(64+8)/4 = 18x4記憶體顆粒。而如果我們採用x8的記憶體顆粒,則只需要9顆。

這樣的設計只是單Rank的設計,如果是多Rank的設計,則需要更多的記憶體顆粒。例如,2 Rank的帶ECC的記憶體條,如果採用x4的記憶體顆粒,那麼總共需要36x4DRAM Devices

需要注意的是如果採用x16的記憶體顆粒,則無法實現ECC功能,因為4x16的記憶體顆粒正好組成一個Rank並且不帶ECC功能,而多增加一顆,則會多出8bit的位寬無法匹配。因此,大部分的x16的記憶體被用在了SODIMM中,配與筆記本使用。當然,如果一定要增加ECC功能,可以考慮增加一顆x8晶片。

什麼是RDIMM

RDIMM的第一個字母R實際就是前面提到過的一顆額外的晶片,稱為時鐘快取暫存器晶片(Registering Clock Driver)。沒有該晶片的記憶體條一般被稱為UDIMM(Unbuffered-DIMM)。這顆暫存器晶片主要用來快取(buffer)時鐘/控制/命令/地址等訊號。快取的主要目的是解決訊號質量以及負載過重的問題。

RCD(時鐘快取暫存器晶片):

除此之外,通常的RDIMM會支援ECC功能和命令/地址奇偶校驗功能(CA Parity)。

什麼是LRDIMM

為了是一根物理DIMM支援更多的Rank,我們將資料訊號也通過資料快取(Data Buffer)晶片,而不直接連線DRAM Devices,從而改善資料訊號的質量。如圖所示:

參考資料

DDR4 記憶體顆粒主規範:JESD79-4 DDR4 SDRAM Specification

DDR4 RCD規範:DDR4RCD02 Specification

DDR4 DB規範:DDR4DB02 Specification

DDR4 SPD內容儲存規範:DDR4/DDR4E SPD Contents Master Specification

SPD 操作規範:EE1004 and TSE2004 Device Specification

JEDEC 網站:https://www.jedec.org/

記憶體廠商:https://www.micron.com/

高階微信群介紹

創業投資群

AI、IOT、晶片創始人、投資人、分析師、券商

快閃記憶體群

覆蓋5000多位全球華人快閃記憶體、儲存晶片精英

雲端計算群

全快閃記憶體、軟體定義儲存SDS、超融合等公有云和私有云討論

AI晶片群

討論AI晶片和GPU、FPGA、CPU異構計算

5G群

物聯網、5G晶片討論

第三代半導體群

氮化鎵、碳化矽等化合物半導體討論

儲晶片群

DRAM、NAND、3D XPoint等各類儲存介質和主控討論

汽車電子群

MCU、電源、感測器等汽車電子討論

光電器件群

光通訊、鐳射器、ToF、AR、VCSEL等光電器件討論

渠道群

儲存和晶片產品報價、行情、渠道、供應鏈