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

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

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

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

[復(fù)制鏈接]

317

主題

317

帖子

3149

積分

四級(jí)會(huì)員

Rank: 4

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

DDR(Double Data Rate)內(nèi)存的總帶寬計(jì)算公式可以簡(jiǎn)化為:
總帶寬=數(shù)據(jù)傳輸速率 × 位寬總帶寬 × CPU內(nèi)存控制器通道數(shù)。
其中,“數(shù)據(jù)傳輸速率”是指每個(gè)時(shí)鐘周期內(nèi)單個(gè)引腳的數(shù)據(jù)傳輸速度,而“位寬”則代表了連接到內(nèi)存控制器的引腳數(shù)量。
在DDR內(nèi)存中,位寬通常指的是內(nèi)存模塊上可用的數(shù)據(jù)線(xiàn)的數(shù)量,以比特為單位。例如,常見(jiàn)的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ù)傳輸速率,還增加了單個(gè)內(nèi)存模塊上的通道數(shù),從而提高總帶寬。
盡管如此,引腳數(shù)量受到物理限制和成本控制的影響,并不是無(wú)限增加的。因此,提高內(nèi)存帶寬的主要途徑是提高數(shù)據(jù)傳輸速率,以及優(yōu)化內(nèi)存架構(gòu),比如DDR5引入的雙通道設(shè)計(jì),可以在不增加引腳數(shù)量的情況下提高總帶寬。

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

DRAM的基本單元由一個(gè)電容器和一個(gè)晶體管組成,用于存儲(chǔ)一個(gè)二進(jìn)制位(0或1)。以下是DRAM單元操作的簡(jiǎn)要說(shuō)明:
1. 數(shù)據(jù)寫(xiě)入:
? 當(dāng)要向DRAM單元寫(xiě)入數(shù)據(jù)時(shí),首先激活(ACTIVATE)該單元,使能晶體管,允許對(duì)電容器進(jìn)行充電或放電。
? 根據(jù)要寫(xiě)入的數(shù)據(jù)位(0或1),電容器會(huì)被充至不同的電壓水平。如果要寫(xiě)入0,則電容器保持接地;如果要寫(xiě)入1,則電容器被充電至電源電壓Vcc。
2. 數(shù)據(jù)讀取:
? 要讀取DRAM單元的內(nèi)容,首先激活(ACTIVATE)該單元,然后使用感測(cè)放大器(Sense amplifier)檢測(cè)電容器的電壓狀態(tài)。
? 感測(cè)放大器是一個(gè)高度敏感的放大器,它可以從電容器中提取微弱的電壓信號(hào),并將其轉(zhuǎn)換成邏輯0或1。
? 然而,在讀取過(guò)程中,由于漏電流等原因,電容器的電壓可能會(huì)發(fā)生輕微變化,導(dǎo)致其內(nèi)容被破壞。
3. 預(yù)充電(數(shù)據(jù)重寫(xiě)):
? 為了避免數(shù)據(jù)丟失,讀取之后必須重新寫(xiě)回(PRECHARGE)電容器的內(nèi)容。
? 在讀取操作完成后,關(guān)閉晶體管,斷開(kāi)電容器與位線(xiàn)的連接。
? 使用預(yù)充電操作將位線(xiàn)電壓設(shè)置為中間值(即,介于0和Vcc之間的一個(gè)電壓),并將電容器的電壓恢復(fù)為其原始狀態(tài)。
? 如果原始數(shù)據(jù)位是0,則電容器保持接地;如果是1,則電容器被充電至Vcc。
? 最后,再次激活(ACTIVATE)單元,使能晶體管,將位線(xiàn)電壓重新加載到電容器中。
[/ol]這個(gè)過(guò)程確保了DRAM單元中的數(shù)據(jù)始終保持最新且可訪(fǎng)問(wèn)。請(qǐng)注意,DRAM需要定期刷新,因?yàn)殡娙萜鲿?huì)逐漸泄漏電荷,如果不進(jìn)行刷新,數(shù)據(jù)最終會(huì)丟失。這就是為什么DRAM被稱(chēng)為“動(dòng)態(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)包括但不限于封裝尺寸、引腳分配、電氣特性、時(shí)序要求等等。具體來(lái)說(shuō),JEDEC在DRAM領(lǐng)域的主要作用如下:
1. 標(biāo)準(zhǔn)化: JEDEC制定了各種類(lèi)型的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è)備上使用,無(wú)需擔(dān)心兼容性問(wèn)題。
2. 促進(jìn)創(chuàng)新: JEDEC的標(biāo)準(zhǔn)鼓勵(lì)競(jìng)爭(zhēng)和創(chuàng)新,因?yàn)樗鼈兲峁┝艘环N公平的競(jìng)爭(zhēng)環(huán)境,所有公司都遵循相同的規(guī)則。這促進(jìn)了技術(shù)的進(jìn)步,因?yàn)橹圃焐虃儗?zhuān)注于如何在滿(mǎn)足標(biāo)準(zhǔn)的同時(shí)提高性能、降低功耗和降低成本。
3. 市場(chǎng)協(xié)調(diào): JEDEC的標(biāo)準(zhǔn)幫助協(xié)調(diào)市場(chǎng)需求和技術(shù)發(fā)展,確保整個(gè)行業(yè)的同步發(fā)展。當(dāng)新的DRAM技術(shù)出現(xiàn)時(shí),JEDEC會(huì)發(fā)布相應(yīng)的標(biāo)準(zhǔn),以便制造商和消費(fèi)者了解新技術(shù)的特點(diǎn)和優(yōu)勢(shì)。
4. 質(zhì)量保證: JEDEC的標(biāo)準(zhǔn)確保了產(chǎn)品質(zhì)量的一致性,這對(duì)于終端用戶(hù)和系統(tǒng)集成商來(lái)說(shuō)非常重要,因?yàn)樗麄冎蕾?gòu)買(mǎi)的產(chǎn)品符合一定的質(zhì)量和性能標(biāo)準(zhǔn)。
[/ol]在圖片中提到,JEDEC定義了DRAM看起來(lái)是什么樣的,也就是它的外觀(guān)和接口,但沒(méi)有規(guī)定內(nèi)部的具體實(shí)現(xiàn)方式。這就給供應(yīng)商留下了空間去開(kāi)發(fā)自己的技術(shù)和工藝來(lái)滿(mǎn)足這些標(biāo)準(zhǔn),這也是DRAM技術(shù)持續(xù)發(fā)展的驅(qū)動(dòng)力之一。供應(yīng)商可以根據(jù)自身的技術(shù)實(shí)力和創(chuàng)新能力,提供超越JEDEC標(biāo)準(zhǔn)的超集產(chǎn)品,以獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。

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

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

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

預(yù)取并行度是指一次數(shù)據(jù)傳輸過(guò)程中,內(nèi)存控制器可以處理多少組數(shù)據(jù)。這個(gè)數(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)能夠在保持核心速度不變的情況下,通過(guò)ping-ponging方式提高I/O速率,從而提高整體系統(tǒng)性能。

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


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

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

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

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

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

DDR4引入了更精細(xì)的參考電壓調(diào)整(Shmooing the reference voltage allows tighter calibration),并且圖中包括了一個(gè)內(nèi)部電路圖,顯示了VREF是如何連接到數(shù)據(jù)線(xiàn)上的。
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)。圖中還包含了一個(gè)內(nèi)部電路圖,顯示了PMIC如何連接到電壓軌上。

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

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

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

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

DDR5內(nèi)存模塊的不同類(lèi)型對(duì)應(yīng)不同市場(chǎng),包括:
? SODIMM:Small Outline Dual In-Line Memory Module,用于筆記本電腦和電信領(lǐng)域;
? UDIMM:Unbuffered DIMM,用于臺(tái)式機(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供電電壓
? 兩個(gè)32或36位子通道
? x8或x16 SDRAMs(ECC x8被忽略)
? 單一的數(shù)據(jù)/命令總線(xiàn)速度
? 支持一或兩行(使用DDP)
UDIMM

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

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

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

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

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

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

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

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

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




---【本文完】---
PPT取自 Wolley 首席系統(tǒng)架構(gòu)師 Bill Gervasi,在FMS-2023閃存峰會(huì)上的匯報(bào)材料。
歡迎關(guān)注我的公眾號(hào)“王知魚(yú)”,回復(fù)240815獲取文中匯報(bào)材料。

0

主題

5

帖子

17

積分

一級(jí)會(huì)員

Rank: 1

積分
17
沙發(fā)
發(fā)表于 2024-9-5 12:16:10 | 只看該作者
很好,很有用

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

本版積分規(guī)則


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