電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 128|回復: 0
收起左側

深入理解DRAM(全文·萬字30+圖)

[復制鏈接]

317

主題

317

帖子

3149

積分

四級會員

Rank: 4

積分
3149
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-3 11:51:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
按:本文是深入理解DRAM1-4的合集,整合后略有改動,文章較長。
目錄1. DRAM現(xiàn)況與器件原理
2. DDR1-DDR5優(yōu)化策略
3. DDR5 新特性與常見模組
4. DRAM展望與CXL
[/ol]DRAM 現(xiàn)況與原理DRAM 現(xiàn)況

DDR(Double Data Rate)內(nèi)存的總帶寬計算公式可以簡化為:
總帶寬=數(shù)據(jù)傳輸速率 × 位寬總帶寬 × CPU內(nèi)存控制器通道數(shù)。
其中,“數(shù)據(jù)傳輸速率”是指每個時鐘周期內(nèi)單個引腳的數(shù)據(jù)傳輸速度,而“位寬”則代表了連接到內(nèi)存控制器的引腳數(shù)量。
在DDR內(nèi)存中,位寬通常指的是內(nèi)存模塊上可用的數(shù)據(jù)線的數(shù)量,以比特為單位。例如,常見的DDR3和DDR4內(nèi)存條的位寬有64位、128位等。
然而,隨著技術的進步,DDR內(nèi)存標準經(jīng)歷了多次迭代,從DDR到DDR2、DDR3、DDR4,再到現(xiàn)在的DDR5,數(shù)據(jù)傳輸速率有了顯著提升。
DDR5相較于前代DDR4,不僅提高了數(shù)據(jù)傳輸速率,還增加了單個內(nèi)存模塊上的通道數(shù),從而提高總帶寬。
盡管如此,引腳數(shù)量受到物理限制和成本控制的影響,并不是無限增加的。因此,提高內(nèi)存帶寬的主要途徑是提高數(shù)據(jù)傳輸速率,以及優(yōu)化內(nèi)存架構,比如DDR5引入的雙通道設計,可以在不增加引腳數(shù)量的情況下提高總帶寬。

圖中的兩個圖表分別展示了數(shù)據(jù)傳輸速率的增長和DRAM芯片容量的增長情況。
數(shù)據(jù)傳輸速率主要取決于以下幾個因素:
1. 技術進步:隨著工藝技術的改進,能夠?qū)崿F(xiàn)更快的數(shù)據(jù)傳輸速率。例如,更先進的制造工藝允許晶體管之間的距離變得更小,這有助于提高信號傳輸?shù)乃俣取?br /> 2. 內(nèi)存標準:新的內(nèi)存標準通常會帶來更高的數(shù)據(jù)傳輸速率。例如,從SDR到DDR5,每次新標準的推出都會顯著提高數(shù)據(jù)傳輸速率。
3. 設計優(yōu)化:內(nèi)存控制器和其他相關硬件的設計也會影響數(shù)據(jù)傳輸速率。例如,增加并行處理能力或者改善信號完整性都可以提高數(shù)據(jù)傳輸速率。
[/ol]DRAM芯片容量的增長主要受以下因素影響:
1. 制造工藝:隨著制造工藝的進步,能夠在相同面積的晶圓上集成更多的存儲單元,從而提高單個DRAM芯片的容量。
2. 存儲單元設計:改進存儲單元的設計也可以提高密度,例如采用更小的電容或者更高效的電路布局。
3. 多層堆疊:現(xiàn)代DRAM芯片可以通過將多個存儲層堆疊在一起來增加容量,這種方法稱為高密度堆疊技術。
[/ol]然而,正如圖像所示,雖然數(shù)據(jù)傳輸速率一直在穩(wěn)步增長,但是DRAM芯片容量的增長速度已經(jīng)放緩。這是因為隨著技術的發(fā)展,提高芯片容量變得越來越困難,尤其是在達到一定水平后,每一代產(chǎn)品的容量提升所需的時間明顯延長。
DRAM 器件原理

DRAM的基本單元由一個電容器和一個晶體管組成,用于存儲一個二進制位(0或1)。以下是DRAM單元操作的簡要說明:
1. 數(shù)據(jù)寫入:
? 當要向DRAM單元寫入數(shù)據(jù)時,首先激活(ACTIVATE)該單元,使能晶體管,允許對電容器進行充電或放電。
? 根據(jù)要寫入的數(shù)據(jù)位(0或1),電容器會被充至不同的電壓水平。如果要寫入0,則電容器保持接地;如果要寫入1,則電容器被充電至電源電壓Vcc。
2. 數(shù)據(jù)讀取:
? 要讀取DRAM單元的內(nèi)容,首先激活(ACTIVATE)該單元,然后使用感測放大器(Sense amplifier)檢測電容器的電壓狀態(tài)。
? 感測放大器是一個高度敏感的放大器,它可以從電容器中提取微弱的電壓信號,并將其轉(zhuǎn)換成邏輯0或1。
? 然而,在讀取過程中,由于漏電流等原因,電容器的電壓可能會發(fā)生輕微變化,導致其內(nèi)容被破壞。
3. 預充電(數(shù)據(jù)重寫):
? 為了避免數(shù)據(jù)丟失,讀取之后必須重新寫回(PRECHARGE)電容器的內(nèi)容。
? 在讀取操作完成后,關閉晶體管,斷開電容器與位線的連接。
? 使用預充電操作將位線電壓設置為中間值(即,介于0和Vcc之間的一個電壓),并將電容器的電壓恢復為其原始狀態(tài)。
? 如果原始數(shù)據(jù)位是0,則電容器保持接地;如果是1,則電容器被充電至Vcc。
? 最后,再次激活(ACTIVATE)單元,使能晶體管,將位線電壓重新加載到電容器中。
[/ol]這個過程確保了DRAM單元中的數(shù)據(jù)始終保持最新且可訪問。請注意,DRAM需要定期刷新,因為電容器會逐漸泄漏電荷,如果不進行刷新,數(shù)據(jù)最終會丟失。這就是為什么DRAM被稱為“動態(tài)”的原因——它需要不斷更新以保持數(shù)據(jù)的有效性。

JEDEC(Joint Electron Device Engineering Council)是一家全球性的行業(yè)組織,負責制定電子設備的標準,特別是在半導體領域。在DRAM(Dynamic Random Access Memory)領域,JEDEC扮演著至關重要的角色,因為它定義了DRAM器件的外部規(guī)范和接口標準。這些標準包括但不限于封裝尺寸、引腳分配、電氣特性、時序要求等等。具體來說,JEDEC在DRAM領域的主要作用如下:
1. 標準化: JEDEC制定了各種類型的DRAM(如SDRAM, DDR SDRAM, GDDR, LPDDR等)的技術規(guī)格,使得不同制造商生產(chǎn)的內(nèi)存產(chǎn)品具有互換性和兼容性。這意味著任何符合JEDEC標準的DRAM芯片都可以在任何支持相應標準的主板或其他設備上使用,無需擔心兼容性問題。
2. 促進創(chuàng)新: JEDEC的標準鼓勵競爭和創(chuàng)新,因為它們提供了一種公平的競爭環(huán)境,所有公司都遵循相同的規(guī)則。這促進了技術的進步,因為制造商們專注于如何在滿足標準的同時提高性能、降低功耗和降低成本。
3. 市場協(xié)調(diào): JEDEC的標準幫助協(xié)調(diào)市場需求和技術發(fā)展,確保整個行業(yè)的同步發(fā)展。當新的DRAM技術出現(xiàn)時,JEDEC會發(fā)布相應的標準,以便制造商和消費者了解新技術的特點和優(yōu)勢。
4. 質(zhì)量保證: JEDEC的標準確保了產(chǎn)品質(zhì)量的一致性,這對于終端用戶和系統(tǒng)集成商來說非常重要,因為他們知道購買的產(chǎn)品符合一定的質(zhì)量和性能標準。
[/ol]在圖片中提到,JEDEC定義了DRAM看起來是什么樣的,也就是它的外觀和接口,但沒有規(guī)定內(nèi)部的具體實現(xiàn)方式。這就給供應商留下了空間去開發(fā)自己的技術和工藝來滿足這些標準,這也是DRAM技術持續(xù)發(fā)展的驅(qū)動力之一。供應商可以根據(jù)自身的技術實力和創(chuàng)新能力,提供超越JEDEC標準的超集產(chǎn)品,以獲得競爭優(yōu)勢。

這張圖表顯示的是隨著DRAM密度增加,刷新(refresh)帶來的帶寬懲罰百分比的變化情況。從圖表中可以看出,隨著DRAM容量的增長,刷新操作對總帶寬的影響越來越大。在早期的小容量DRAM中,我們可以忽略刷新操作,因為它幾乎不會影響系統(tǒng)的整體性能。然而,隨著DRAM密度的增加,刷新已經(jīng)變成了一個嚴重的限制因素,占據(jù)了可用帶寬的相當一部分比例。
在高密度DRAM中,例如32Gb,刷新操作可能消耗高達21%的可用帶寬,這對系統(tǒng)性能產(chǎn)生了顯著的影響。此外,當溫度升高時(85-95攝氏度),為了維持穩(wěn)定性,刷新頻率必須加倍,這意味著額外的11%-21%的帶寬損失,這是一個非常大的性能下降。
圖表右側還有一條時間軸,表示隨著時間的推移,電壓也會有所下降,這可能是由于老化或者高溫導致的。在標準溫度下,電壓下降(Droop at standard temp)相對于參考電壓(Reference voltage)有一定的幅度,而在高溫環(huán)境下,電壓下降更嚴重(Droop at high temp)。
SOC上的散熱設計是個非常重要的問題。

展示了一個DRAM存儲器的基本架構,并解釋了如何通過創(chuàng)建多個bank來平衡DRAM陣列布局和性能。
每個bank都有一個行緩沖區(qū),可以作為數(shù)組的緩存。要訪問特定的記憶位置,需要指定Bank、Row和Column三個參數(shù)。同時,DRAM維護了一個片上Refresh Counter,用于自動恢復位單元電壓水平的過程。

多年來,DRAM的核心架構設計并沒有發(fā)生顯著變化,基于Core驅(qū)動器來調(diào)度(寫入、讀取、刷新)器件上上電壓位;快速迭代的是鏈接Host和DRAM器件的I/O驅(qū)動器,用時髦的術語來說,軟件定義DRAM使得傳統(tǒng)器件的訪存效率明顯改善。
在DRAM存儲器快速發(fā)展的25年里,有哪些過程優(yōu)化和改進呢?
DRAM優(yōu)化策略:DDR1-DDR4策略一:并行預取(Prefetch)

預取并行度是指一次數(shù)據(jù)傳輸過程中,內(nèi)存控制器可以處理多少組數(shù)據(jù)。這個數(shù)字越大,表示內(nèi)存系統(tǒng)可以一次性處理的數(shù)據(jù)量越多,從而提高數(shù)據(jù)吞吐量。
例如,DDR5的16n預取并行度(內(nèi)存控制器雙通道,8n/通道)意味著它可以一次處理16組數(shù)據(jù),而DDR1只能處理一組數(shù)據(jù)。這種增加預取并行度的方法使得內(nèi)存系統(tǒng)能夠在保持核心速度不變的情況下,通過ping-ponging方式提高I/O速率,從而提高整體系統(tǒng)性能。

緩存行(Cache Line)大小驅(qū)動著整個行業(yè)的發(fā)展。具體來說:
? 64字節(jié)的緩存行是標準:這是指當前計算機體系結構中的緩存行大小通常是64字節(jié)。
? 這迫使內(nèi)存I/O設計遵循規(guī)則:這些規(guī)則要求在請求時提供64字節(jié)的數(shù)據(jù)塊。
? DRAM I/O寬度為x4和x8是最常見的:這是指DRAM接口的寬度通常為4倍或8倍的數(shù)據(jù)寬度。
? 一個“rank”指的是同時被訪問的一組DRAM芯片:它們一起工作以向主機提供一個寬字。
? 這推動了預取深度背后的數(shù)學原理:預取深度是指一次從內(nèi)存中讀入多少數(shù)據(jù)到緩存中的策略。
? 設計師們平衡DRAM I/O寬度和每個DRAM的容量:以此來構建內(nèi)存模組。


不同數(shù)據(jù)寬度對應著不同Rank(即內(nèi)存條上的單個顆粒)大小,展開來看,
? 64 Byte的緩存行,對應8 bit I/O通道,需要傳輸64次(1Byte = 8 bit),常見于早期服務器內(nèi)存條(DDR1);
? 4并行的8位DRAM I/O,只需要16次傳輸(相對加速了4倍!);
? 同樣的道理,8并行的4位DRAM I/O,也需要16次傳輸;
? DDR5服務器模塊有兩個40位子通道(明顯提升。總子通道都能在16次傳輸內(nèi)提供一個緩存線,其中包含32位數(shù)據(jù)和8位ECC(錯誤校驗碼,提高Cache命中率)
Prefetch 可以升級到x16或者更高,來優(yōu)化傳輸帶寬嗎?
內(nèi)存設計確實可以通過提高預。╬refetch)并行度來優(yōu)化傳輸效率,但這并非沒有限制。在考慮是否可以設計出更高并行度如x16的設備時,我們需要考慮幾個關鍵因素:
1. 信號完整性:隨著數(shù)據(jù)線數(shù)量的增加,信號完整性和電氣特性變得更加復雜,這可能導致信號反射、串擾和時序問題,進而影響數(shù)據(jù)的可靠性和速度。
2. 功耗:更多的數(shù)據(jù)線意味著更高的功耗,這對于便攜式設備和服務器的熱管理是不利的。
3. 成本和封裝尺寸:更多的數(shù)據(jù)線意味著更大的封裝尺寸,這不僅增加了成本,也可能限制了在有限空間內(nèi)的使用。
4. 芯片設計復雜性:更高的并行度要求更復雜的芯片設計,包括更多的I/O控制器和更復雜的內(nèi)存控制器,這會增加設計難度和成本。
5. 效率和帶寬:雖然理論上x16設備可能提供更高的帶寬,但實際上,由于信號質(zhì)量和功耗的限制,實際的帶寬增益可能不如預期顯著。例如,兩個x8設備可能比一個x16設備在實際應用中更加高效。
6. 標準化和兼容性:內(nèi)存標準如DDR是由JEDEC這樣的組織制定的,它們平衡了上述所有因素來確定最佳的并行度。偏離這些標準可能會導致兼容性問題。
[/ol]因此,盡管理論上可以設計x16設備,但在實踐中,考慮到上述限制,業(yè)界通常會選擇更優(yōu)化的方案,如增加通道數(shù)(比如DDR5中的兩個獨立的40位子通道),使用更先進的工藝節(jié)點來降低功耗和提高速度,或是采用其他類型的內(nèi)存技術(如HBM,高帶寬內(nèi)存)來達到更高的帶寬和效率,而不只是單純增加單個設備的數(shù)據(jù)線數(shù)量。
策略二:通信系統(tǒng)優(yōu)化(DDR1--DDR4)

相對于并行預取策略的高效,如何優(yōu)化DRAM io 和系統(tǒng) io 間的模型信號的相干性,是更底層的優(yōu)化策略。
圖中顯示了信號反射對可靠數(shù)據(jù)傳輸?shù)奶魬?zhàn),特別是在系統(tǒng)輸入輸出(I/O)方面。
圖中左側是一個模擬電路圖,顯示了信號反射的情況,右側則是實際測量得到的眼圖。眼圖是一種用來評估數(shù)字通信系統(tǒng)中信號質(zhì)量的方法,它可以幫助我們理解信號在經(jīng)過長距離傳輸后受到噪聲干擾的程度。圖中可以看到,由于反射導致的符號間干擾(Inter-symbol interference, ISI)顯著影響了可用的數(shù)據(jù)窗口(data eyes),這會降低系統(tǒng)的傳輸速率和可靠性。因此,解決這種問題成為了設計高速通信系統(tǒng)的一個重要技巧。
SDRAM--DDR1

SDRAM到DDR1的過渡過程,Transmeta Crusoe處理器作為第一個支持這兩種類型的CPU。
SDRAM(Synchronous Dynamic Random Access Memory)是一種同步動態(tài)隨機存取存儲器,它是DRAM(Dynamic Random Access Memory)的一種類型,但與傳統(tǒng)的異步DRAM相比,它能夠與系統(tǒng)時鐘同步運行,從而提供更高的數(shù)據(jù)傳輸率和更佳的性能。SDRAM的設計目的是為了適應計算機系統(tǒng)中日益增長的性能需求,尤其是在處理器速度快速提升的背景下,傳統(tǒng)的異步DRAM無法提供足夠的帶寬和響應速度。
圖中左邊是PC-133 SDRAM的架構,右邊是DDR1-400的架構。中間有一個小插圖展示了一個Transmeta Crusoe CPU。在SDRAM中,數(shù)據(jù)、地址和時鐘信號都是分開的,而在DDR1中,數(shù)據(jù)和數(shù)據(jù) strobe是結合在一起的,而且還有終結電壓(Termination Voltage)和寄生電容(CaC)。此外,DDR1還采用了線路末端終止(Line-end termination)技術來減少反射問題。
通過 數(shù)據(jù) strobe、終結電壓(Termination Voltage)、寄生電容(CaC)和線路末端終止(Line-end termination)技術 來優(yōu)化SDRAM的信號質(zhì)量。
DDR1--DDR2

Strobe Pair 是 DDR2 中的一種設計特性,用于減少不對稱性錯誤。它由兩個互補的信號 DQS 和 DQS# 組成,它們是差分信號,可以提高信號質(zhì)量和穩(wěn)定性。這個設計有助于改善數(shù)據(jù)傳輸?shù)臏蚀_性和效率,并且在數(shù)據(jù)和脈沖線上使用了片上終接(On-die termination) 來減少傳輸線的反射。此外,DDR2也繼續(xù)使用了T分支路由來進行寄生電容補償(CaC)。
圖中還包含了一個詳細的內(nèi)部緩沖器示意圖,說明了如何通過開關(sw1、sw2、sw3)來控制終端電阻(Rival1、Rival2、Rival3),從而實現(xiàn)片上終接。
DDR2--DDR3

DDR3引入了命令敏感的ODT(Command-sensitive ODT),提高了信號質(zhì)量,并且為數(shù)據(jù)和地址使用了不同的電壓參考(Separate voltage references for data versus addresses)。
圖中還包括一個內(nèi)部電路圖,顯示了VREF_DQ和VREF_CA是如何連接到數(shù)據(jù)和地址/命令線上的。
DDR3--DDR4

DDR4引入了更精細的參考電壓調(diào)整(Shmooing the reference voltage allows tighter calibration),并且圖中包括了一個內(nèi)部電路圖,顯示了VREF是如何連接到數(shù)據(jù)線上的。
DDR5DDR5 是當前DRAM行業(yè)成熟工藝制程的最新產(chǎn)品,與DDR4 相比:

DDR5引入了DIMM上的電壓調(diào)節(jié)(Back side: on-DIMM voltage regulation),以減少電源軌上的噪聲(Noise reduction improves data integrity),從而提高輸入靈敏度(Noise on the voltage rails results in reduction of input sensitivity)。圖中還包含了一個內(nèi)部電路圖,顯示了PMIC如何連接到電壓軌上。

圖示DDR5命令真值表(Command Truth Table),它詳細說明了不同命令(Activate, Write, Read, Precharge)對應的引腳狀態(tài)(CS_n, CA pins等)。
表格分為四部分,“RAS”、“CAS”、“CAS”和“CAS”,分別對應ACTIVATE、READ、WRITE和PRECHARGE四個動作及其所需的信號組合。例如,激活(ACTIVATE)需要Chip ID、Bank Group、Bank Address和Row信息;讀。≧EAD)需要Chip ID、Bank Group、Bank Address和Column信息;寫入(WRITE)也需要同樣的信息;最后,預充電(PRECHARGE)只需要Chip ID、Bank Group和Bank Address信息。
表格對于理解DDR5內(nèi)存的工作原理非常有幫助,因為它描述了控制器如何通過特定的引腳狀態(tài)向內(nèi)存模塊發(fā)送各種命令。
內(nèi)存控制器(Memory Controller)和命令真值表有什么關系呢?
內(nèi)存控制器(Memory Controller)是負責管理與內(nèi)存交互的硬件組件,它位于CPU或北橋芯片中,在現(xiàn)代系統(tǒng)中通常集成在CPU內(nèi)部。內(nèi)存控制器的任務包括但不限于接收來自CPU的數(shù)據(jù)讀寫請求,將這些請求轉(zhuǎn)換為適合內(nèi)存模塊的操作命令,管理內(nèi)存尋址,控制內(nèi)存的刷新周期,以及處理數(shù)據(jù)的傳輸。
內(nèi)存控制器與命令真值表之間的關系體現(xiàn)在以下幾個方面:
1. 命令生成:當CPU發(fā)出讀寫請求時,內(nèi)存控制器根據(jù)請求的類型生成相應的內(nèi)存命令。這些命令需要按照命令真值表的規(guī)定,設置正確的控制引腳狀態(tài),以確保正確的命令被發(fā)送到內(nèi)存模塊。
2. 時序控制:內(nèi)存控制器還必須遵守命令真值表中規(guī)定的時序要求,例如,在發(fā)送讀或?qū)懨钪,可能需要先發(fā)送激活(Activate)命令打開正確的行,然后在適當?shù)臅r間間隔后發(fā)送讀或?qū)懨睢?nèi)存控制器需要確保這些命令按正確的順序和時間間隔發(fā)送。
3. 錯誤檢測與糾正:內(nèi)存控制器還可能包含錯誤檢測和糾正機制,這在一定程度上依賴于命令真值表來確定哪些命令序列是合法的,哪些可能是錯誤的。
4. 刷新管理:命令真值表也會列出刷新(Refresh)命令的觸發(fā)條件,內(nèi)存控制器需要定期執(zhí)行刷新操作,以維持動態(tài)RAM中的數(shù)據(jù)不丟失。
[/ol]簡而言之,內(nèi)存控制器基于命令真值表來正確地生成和發(fā)送內(nèi)存命令,以保證內(nèi)存的正常讀寫操作和其他功能的正確執(zhí)行,可以把真值表理解成計算體系的指令集,而MC則是負責翻譯和執(zhí)行指令集的計算單元。
DDR5 新特性伴隨系統(tǒng)通信信號的底層優(yōu)化,最新一代DDR5在功能上通過軟硬結合定義出多種新特性,以下逐一介紹。
Error Check Scrub (ECS)

Error Check Scrub (ECS),允許測試和清理Bank組中DRAM內(nèi)容。通過列讀修改寫操作檢測和糾正內(nèi)容,并自動遞增列地址,然后行地址,再然后Bank地址。此外,它還會維護每行的錯誤計數(shù)和錯誤最多的行的地址,以便主機系統(tǒng)可以決定何時替換行為異常的DRAM行。
Error Check Scrub (ECS)主要用于以下場景:
1. 故障排除和診斷:當系統(tǒng)遇到內(nèi)存相關的問題時,ECS可以幫助定位問題的具體位置,比如哪一行DRAM出現(xiàn)了過多的錯誤。這對于故障排除和診斷非常重要,因為它能提供有關內(nèi)存健康狀況的詳細信息。
2. 長期穩(wěn)定性監(jiān)控:在服務器和數(shù)據(jù)中心環(huán)境中,ECS可用于監(jiān)控內(nèi)存的長期穩(wěn)定性。如果某一行DRAM頻繁出錯,那么系統(tǒng)可以根據(jù)ECS提供的信息決定是否需要更換該行,以避免潛在的數(shù)據(jù)損壞或系統(tǒng)崩潰。
3. 內(nèi)存校驗:在某些安全關鍵的應用程序中,ECS可以作為額外的安全層,確保內(nèi)存內(nèi)容的準確性。例如,在金融交易或醫(yī)療設備中,任何內(nèi)存錯誤都可能導致嚴重后果,因此這種自我檢查和修復功能至關重要。
4. 實驗研究:研究人員可能會使用ECS來分析內(nèi)存錯誤模式,了解其原因,或者評估不同內(nèi)存配置下的錯誤率。
5. 內(nèi)存測試:在生產(chǎn)過程中,制造商可以使用ECS來測試新生產(chǎn)的內(nèi)存模塊的質(zhì)量,確保其符合規(guī)格。
6. 老化管理:隨著內(nèi)存使用時間的增長,一些位可能會逐漸變得不穩(wěn)定。ECS有助于發(fā)現(xiàn)這些問題并在它們導致嚴重問題之前采取措施。
7. 故障預防:在高可用性系統(tǒng)中,ECS可以幫助預防因內(nèi)存錯誤而導致的服務中斷,通過提前識別和替換有問題的內(nèi)存行。
[/ol]
Memory Built In Self Test (MBIST)

Memory Built-In Self Test (MBIST) 是一種內(nèi)置自測技術,它允許DDR5設備在接收到主機指令時進行內(nèi)部自檢。以下是MBIST的工作原理和實際應用場景:
工作原理:
1. 啟動測試:當主機命令DDR5設備運行MBIST時,設備開始執(zhí)行一系列預先編程的測試。
2. 測試過程:MBIST會生成并注入特定的測試模式到內(nèi)存陣列,然后讀回結果并與預期的結果進行比較。如果有任何差異,則表示可能存在錯誤。
3. 報告結果:完成測試后,設備將結果存儲在一個稱為模式寄存器(Mode Register,MR)的位置,通常是MR22。主機可以通過查詢這個寄存器來獲取測試結果。
4. 決策制定:如果測試結果顯示存在未修復的錯誤,主機可以決定是否需要進一步的修復步驟,如Post Package Repair (PPR)。
[/ol]Internal Thermal Sensor

DDR5內(nèi)存模塊具有一個內(nèi)置的熱傳感器,該傳感器能夠感知溫度并將其反饋給主控。
當溫度超過一定閾值時,如溫度在85℃以下,保持單次刷新頻率,超過則2倍刷新頻率(Wide Range 功能支持更細粒度的溫度控制),內(nèi)存模塊會向主控提示需要增加刷新速率以保持數(shù)據(jù)的穩(wěn)定性。雖然服務器內(nèi)存模塊通常已經(jīng)包含了兩個精度為0.5度的熱傳感器,但多一層保障總是好的。
DDR5 模組

DDR5內(nèi)存模塊的不同類型對應不同市場,包括:
? SODIMM:Small Outline Dual In-Line Memory Module,用于筆記本電腦和電信領域;
? UDIMM:Unbuffered DIMM,用于臺式機;
? RDIMM:Registered DIMM,用于服務器和工作站。
DDR5內(nèi)存模塊的共同特征,包括:
? SidebandBus系統(tǒng)管理接口;
? Serial Presence Detect (SPD) with SidebandBus Hub;
? Programmable Power Management IC (PMIC) for on-module voltage regulation。
這些特性使得DDR5內(nèi)存模塊更加高效、可管理并且具備更好的電源管理能力。
SODIMM-小型雙列直插內(nèi)存模塊

SODIMM的一般特性:
? JESD309通用規(guī)范
? 5V PMIC供電電壓
? 兩個32或36位子通道
? x8或x16 SDRAMs(ECC x8被忽略)
? 單一的數(shù)據(jù)/命令總線速度
? 支持一或兩行(使用DDP)
UDIMM

與SODIMM基本保持一致。
RDIMM-雙列直插內(nèi)存模塊

應用于工作站和服務器的DIMM外觀與應用于臺式機的UDIMM 大致相同,主要差異點在:
1. 工作電壓從5V升級到12V;
2. 基于ECC機制,位寬較前兩者要高一點;
3. 接口寬度較SODIMM 和 UDIMM 的寬度下降,保留 x4 和 x8(為什么會下降?大概率還是服務器場景的功耗考慮)
4. 支持雙路尋址
[/ol]DRAM的未來與CXLDRAM 容量焦慮與現(xiàn)實

1. 長期關注于提高DIMM 帶寬,使得對DIMM物理結構上的優(yōu)化停滯不前,而應用場景(如AI、自動駕駛)對DRAM的容量需求一直在上漲;
2. 業(yè)界提出3DS的制造工藝,通過不斷堆疊DRAM層數(shù)來實現(xiàn)容量的線性增加;
3. 隨著DRAM 層數(shù)的增加,又將出現(xiàn)新問題:
? 堆疊器件的中間位置將成為高溫災區(qū),因溫度造成的頻繁刷新,將嚴重影響DRAM的可用帶寬(每次刷新消耗近21%的理論帶寬);
? 器件的量產(chǎn)率不可控,當前單層良產(chǎn)率能達到97%,看似不錯,可一旦按16層堆疊,僅有61%的良產(chǎn)率;
? 3DS的工藝和產(chǎn)能尚不成熟,無法滿足產(chǎn)業(yè)需求。
[/ol]考慮到以上因素,目前3DS的生產(chǎn)工藝,停留在2層堆疊,即DDP(Dual Die Package ),先進廠商提出4D-NAND概念[1]。
坐以待斃是下策

內(nèi)存池化早在 ARM 多核領域就有過考慮,最早是科學計算場景需求,現(xiàn)在是AI/ML領域,從大科學儀器下沉到企業(yè)。
非一致性內(nèi)存訪問(NUMA)一直是池化內(nèi)存資源的常用方法,
HyperTransport和Quick Path互連等總線已經(jīng)存在了幾十年,
NUMA架構創(chuàng)建了一個資源層次結構 :
? 離CPU最近的內(nèi)存訪問速度最快 ;
? 稍遠距離的內(nèi)存,訪問速率下降;
? 訪問距離最遠的內(nèi)存,速度相應最慢。
業(yè)界已經(jīng)出現(xiàn)根據(jù)訪問延遲調(diào)整數(shù)據(jù)位置的智能軟件。
現(xiàn)實中NUMA似乎是多核場景(ARM)策略,在Intel主導的服務器市場,并沒有多少實際投入和實踐。

DRAM的”困境“
? 每個通道只能安裝一個DIMM(Dual In-line Memory Module,內(nèi)存條)。限制內(nèi)存擴展的能力,因為在多通道系統(tǒng)中,如果每個通道只能安裝一個DIMM,那么內(nèi)存總量的增長就會受限。
? DRAM(動態(tài)隨機存取存儲器)在達到32Gb(十進制的32吉比特,相當于4GB)時會遇到瓶頸(此處應該是指單個顆粒的容量)。這可能意味著當前的技術限制使得內(nèi)存容量難以進一步擴大。
? 人工智能(AI)的發(fā)展需要更大的內(nèi)存容量。由于AI算法和模型的復雜性,它們往往需要大量的內(nèi)存來運行,所以內(nèi)存容量的限制可能會阻礙AI的應用發(fā)展。
CXL
? CXL允許幾乎無限的內(nèi)存擴展。通過CXL連接的內(nèi)存可以突破傳統(tǒng)內(nèi)存插槽限制,實現(xiàn)更大規(guī)模內(nèi)存擴展。
? 內(nèi)存池化功能允許未使用的內(nèi)存被重新分配。通過CXL連接的內(nèi)存可以組成一個共享的內(nèi)存池,讓系統(tǒng)能夠靈活地管理內(nèi)存資源,將未充分利用的內(nèi)存重新分配給需要更多內(nèi)存的任務,提高資源利用率。
明日之星:CXL ?

左圖是對CXL技術實現(xiàn)的完整架構,核心是基于CXL協(xié)議的DRAM控制器(CXL Controller),通過CXL 交換機連接到Host 節(jié)點從而實現(xiàn)內(nèi)存池化后的資源共享,DTL核心組件及工作原理,另文詳解。
值得關注的是,Bill 并未一股腦肯定CXL未來統(tǒng)治地位,而是追憶起傲騰往事,并直接表露DAX(Direct Access)是否因為Optane技術的消亡而停滯不前。
或許市場就是如此殘酷,Intel這次押寶CXL在邏輯芯片市場再創(chuàng)輝煌了。

隨著CXL作為擴展PCIe的統(tǒng)一接口,加入數(shù)據(jù)存儲大家庭,熱數(shù)據(jù)場景除了直接訪問(DAS)的DRAM和”不怎么爭氣“的NUMA[2] ,基于CXL擴展的DRAM內(nèi)存池將作為最大活躍數(shù)據(jù)緩存池,從而為企業(yè)市場的AI/ML及自動駕駛的IT可行性奠定基礎。
圖中說明了三種CXL訪存方式:
1. CXL Memory 直接通過PCIe口連接到母版,此法效率一等,稱之為 DRAM CXL direct;
2. CXL Memory 通過一層 CXL交換機連接到PCIe 口,此法效率二等,稱之為 DRAM CXL 1 hop;
3. 諸如此類,經(jīng)過2次CXL交換機連接的,效率三等,DRAM CXL 2 hops,但容量卻可以做到最大。
[/ol]

來暢想下CXL 實現(xiàn)后的內(nèi)存訪問方式,CXL內(nèi)存模塊可以有三種分配方式:
? 可以專屬于一個處理器;
? 可以分塊給不同的處理器使用;
? 指定Moudle可被多個處理器同時共享(有點VMware中VMFS的感覺)。
存在的問題是:當同一內(nèi)存區(qū)域被多個處理器共享寫入時,緩存一致性的反向失效是如何工作的?
總結

? DRAM的設計源自于1990年代SDRAM技術
? DRAM的發(fā)展正在逐漸放緩
? UDDR5具有高度可配置性——擁有數(shù)百個模式寄存器
? DDR5提高了關于錯誤和修復的透明度
? DRAM和內(nèi)存模塊協(xié)同設計
? DDR5模塊集成了側帶總線(SidebandBus)和電源管理集成電路(PMICs)
? DDR1至DDR5的大多數(shù)變化集中在提高信號完整性
? 刷新操作帶來嚴重的性能損失,而安全要求進一步加劇了這一問題
? CXL技術允許進行內(nèi)存擴展
? CXL技術為高效能、低功耗內(nèi)存打開了大門
引用鏈接[1] 4D-NAND概念: https://www.dramx.com/News/Memory/20240808-36833.html
[2] ”不怎么爭氣“的NUMA: https://frankdenneman.nl/2022/09/21/sub-numa-clustering/




---【本文完】---
PPT取自 Wolley 首席系統(tǒng)架構師 Bill Gervasi,在FMS-2023閃存峰會上的匯報材料。
歡迎關注我的公眾號“王知魚”,回復240815獲取文中匯報材料。
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表