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

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

搜索
查看: 48|回復(fù): 0
收起左側(cè)

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

[復(fù)制鏈接]

258

主題

258

帖子

1754

積分

三級會員

Rank: 3Rank: 3

積分
1754
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-3 11:51:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
按:本文是深入理解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位等。
然而,隨著技術(shù)的進(jìn)步,DDR內(nèi)存標(biāo)準(zhǔn)經(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)存架構(gòu),比如DDR5引入的雙通道設(shè)計,可以在不增加引腳數(shù)量的情況下提高總帶寬。

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

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

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

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

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

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

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

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


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

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

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

Strobe Pair 是 DDR2 中的一種設(shè)計特性,用于減少不對稱性錯誤。它由兩個互補(bǔ)的信號 DQS 和 DQS# 組成,它們是差分信號,可以提高信號質(zhì)量和穩(wěn)定性。這個設(shè)計有助于改善數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和效率,并且在數(shù)據(jù)和脈沖線上使用了片上終接(On-die termination) 來減少傳輸線的反射。此外,DDR2也繼續(xù)使用了T分支路由來進(jìn)行寄生電容補(bǔ)償(CaC)。
圖中還包含了一個詳細(xì)的內(nèi)部緩沖器示意圖,說明了如何通過開關(guān)(sw1、sw2、sw3)來控制終端電阻(Rival1、Rival2、Rival3),從而實(shí)現(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引入了更精細(xì)的參考電壓調(diào)整(Shmooing the reference voltage allows tighter calibration),并且圖中包括了一個內(nèi)部電路圖,顯示了VREF是如何連接到數(shù)據(jù)線上的。
DDR5DDR5 是當(dāng)前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),它詳細(xì)說明了不同命令(Activate, Write, Read, Precharge)對應(yīng)的引腳狀態(tài)(CS_n, CA pins等)。
表格分為四部分,“RAS”、“CAS”、“CAS”和“CAS”,分別對應(yīng)ACTIVATE、READ、WRITE和PRECHARGE四個動作及其所需的信號組合。例如,激活(ACTIVATE)需要Chip ID、Bank Group、Bank Address和Row信息;讀。≧EAD)需要Chip ID、Bank Group、Bank Address和Column信息;寫入(WRITE)也需要同樣的信息;最后,預(yù)充電(PRECHARGE)只需要Chip ID、Bank Group和Bank Address信息。
表格對于理解DDR5內(nèi)存的工作原理非常有幫助,因?yàn)樗枋隽丝刂破魅绾瓮ㄟ^特定的引腳狀態(tài)向內(nèi)存模塊發(fā)送各種命令。
內(nèi)存控制器(Memory Controller)和命令真值表有什么關(guān)系呢?
內(nèi)存控制器(Memory Controller)是負(fù)責(zé)管理與內(nèi)存交互的硬件組件,它位于CPU或北橋芯片中,在現(xiàn)代系統(tǒng)中通常集成在CPU內(nèi)部。內(nèi)存控制器的任務(wù)包括但不限于接收來自CPU的數(shù)據(jù)讀寫請求,將這些請求轉(zhuǎn)換為適合內(nèi)存模塊的操作命令,管理內(nèi)存尋址,控制內(nèi)存的刷新周期,以及處理數(shù)據(jù)的傳輸。
內(nèi)存控制器與命令真值表之間的關(guān)系體現(xiàn)在以下幾個方面:
1. 命令生成:當(dāng)CPU發(fā)出讀寫請求時,內(nèi)存控制器根據(jù)請求的類型生成相應(yīng)的內(nèi)存命令。這些命令需要按照命令真值表的規(guī)定,設(shè)置正確的控制引腳狀態(tài),以確保正確的命令被發(fā)送到內(nèi)存模塊。
2. 時序控制:內(nèi)存控制器還必須遵守命令真值表中規(guī)定的時序要求,例如,在發(fā)送讀或?qū)懨钪埃赡苄枰劝l(fā)送激活(Activate)命令打開正確的行,然后在適當(dāng)?shù)臅r間間隔后發(fā)送讀或?qū)懨睢?nèi)存控制器需要確保這些命令按正確的順序和時間間隔發(fā)送。
3. 錯誤檢測與糾正:內(nèi)存控制器還可能包含錯誤檢測和糾正機(jī)制,這在一定程度上依賴于命令真值表來確定哪些命令序列是合法的,哪些可能是錯誤的。
4. 刷新管理:命令真值表也會列出刷新(Refresh)命令的觸發(fā)條件,內(nèi)存控制器需要定期執(zhí)行刷新操作,以維持動態(tài)RAM中的數(shù)據(jù)不丟失。
[/ol]簡而言之,內(nèi)存控制器基于命令真值表來正確地生成和發(fā)送內(nèi)存命令,以保證內(nèi)存的正常讀寫操作和其他功能的正確執(zhí)行,可以把真值表理解成計算體系的指令集,而MC則是負(fù)責(zé)翻譯和執(zhí)行指令集的計算單元。
DDR5 新特性伴隨系統(tǒng)通信信號的底層優(yōu)化,最新一代DDR5在功能上通過軟硬結(jié)合定義出多種新特性,以下逐一介紹。
Error Check Scrub (ECS)

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

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

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

DDR5內(nèi)存模塊的不同類型對應(yīng)不同市場,包括:
? SODIMM:Small Outline Dual In-Line Memory Module,用于筆記本電腦和電信領(lǐng)域;
? UDIMM:Unbuffered DIMM,用于臺式機(jī);
? RDIMM:Registered DIMM,用于服務(wù)器和工作站。
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)存模塊

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

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

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

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

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

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

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

? DRAM的設(shè)計源自于1990年代SDRAM技術(shù)
? DRAM的發(fā)展正在逐漸放緩
? UDDR5具有高度可配置性——擁有數(shù)百個模式寄存器
? DDR5提高了關(guān)于錯誤和修復(fù)的透明度
? DRAM和內(nèi)存模塊協(xié)同設(shè)計
? DDR5模塊集成了側(cè)帶總線(SidebandBus)和電源管理集成電路(PMICs)
? DDR1至DDR5的大多數(shù)變化集中在提高信號完整性
? 刷新操作帶來嚴(yán)重的性能損失,而安全要求進(jìn)一步加劇了這一問題
? CXL技術(shù)允許進(jìn)行內(nèi)存擴(kuò)展
? CXL技術(shù)為高效能、低功耗內(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)架構(gòu)師 Bill Gervasi,在FMS-2023閃存峰會上的匯報材料。
歡迎關(guān)注我的公眾號“王知魚”,回復(fù)240815獲取文中匯報材料。
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

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

本版積分規(guī)則

關(guān)閉

站長推薦上一條 /1 下一條


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