DRAM的架構歷史和未來_風聞
半导体行业观察-半导体行业观察官方账号-专注观察全球半导体最新资讯、技术前沿、发展趋势。2020-03-23 08:30
來源:內容由半導體行業觀察(icbank)編譯自「semiconductor-digest」,作者:PETE SINGER,謝謝。
內存是計算機系統設計中的重要主題。在IMEC,我們為獨立以及嵌入式應用程序開發了多種新興的內存技術。包括用於高速緩存級應用的MRAM技術,改進DRAM設備的新方法,填補了DRAM和NAND技術之間空白的新興存儲器,用於改進3D-NAND存儲設備的解決方案以及用於歸檔類型應用的革命性解決方案,以滿足未來Zettabyte時代的內存需求。
在本文中,我將只使用基於動態隨機存取存儲器(DRAM)的存儲器,該存儲器通常用作計算機系統中的主內存。對於這種類型的內存,我想從架構的角度出發,以便更全面地認識它們。在提供了一些背景信息之後,我將研究不同的內存標準及其年代,以確定一些常見的趨勢和瓶頸。
在探究不同的DRAM之前,讓我們基於O. Mutlu教授的演講,從基礎知識開始入手。
背景
**存儲單元:**任何存儲器都是使用存儲單元建立的,這是一種半導體結構,僅存儲1位,因此得名。對於DRAM存儲器,存儲單元由一個電容器和一個晶體管組成。電容器用於存儲電荷,晶體管用於訪問電容器,可以讀取存儲了多少電荷,也可以存儲新的電荷。字線(wordline)始終連接到晶體管柵極,控制對電容器的訪問。位線(bitline)連接到晶體管的源極,可讀取存儲在電池中的電荷,或在向電池寫入新值時提供電壓。這種基本結構非常簡單且體積小,因此製造商可以在模具上加工大量此類材料。一個缺點是單個晶體管不能很好地將電荷保持在小電容器中。它將使電流從電容器泄漏或流向電容器,從而隨着時間的流逝而失去其明確定義的充電狀態。通過定期刷新DRAM存儲器可以避免此問題,這意味着讀取存儲器的內容並將其重新寫回。細心的讀者可能還注意到,當從電容器讀取電荷時,電荷消失了。從DRAM單元讀取值後,應再次寫入該值。這就是將DRAM命名為“動態”的原因。
存儲單元可組合成大型的矩陣狀結構。長字線和位線彼此交叉,並且在每個交點處處理一個存儲單元。在字線上施加電壓會選擇所有對應的單元,這會將它們的電荷置於各自的位線上。該電荷將非常輕微地改變每個位線的電壓。使用感測放大器可檢測到這種輕微變化,該結構將電壓的小正變化放大到高電壓(代表邏輯1),並將電壓的小負變化放大到零電壓(代表邏輯0)。讀出放大器將邏輯值存儲到稱為行緩衝的存儲器結構中。行緩衝的作用就像是一個高速緩存,其中保存的值只能是從單個字線上的存儲單元中讀取的值,這個值在被讀取後會在該存儲單元中消失。傳感過程本質上是一個緩慢的過程,電容器越小且位線越長,該過程花費的時間就越長。該傳感時間決定了DRAM訪問時間,在過去的幾十年中,它一直保持着相同的值。每一代DRAM的可用帶寬不斷增加,是通過增加DRAM芯片中的並行性實現的,而不是通過減少單元訪問時間來實現的。但是,在深入探討這個問題之前,讓我們看一下如何使用大量這些存儲單元來構建內存系統。我在這裏描述的體系結構是針對使用內存模塊的典型桌面系統的。但對於其他DRAM類型,或不使用模塊的大多數架構,也可以用相同的術語來描述。
被用於處理器上的DRAM中有一部分邏輯專用於存儲控制器。這個邏輯負責處理從CPU到主存的所有訪問。處理器可以具有多個內存控制器。內存控制器具有1個或多個內存通道。每個存儲通道均由命令/地址總線和數據總線(默認情況下為64位寬)組成。我們可以在該通道上連接1個或多個內存模塊。每個內存模塊由1或2個 rank組成。rank包含許多DRAM芯片,這些芯片組合在一起可以在每個週期內提供足夠的bit以填充數據總線。在正常情況下,數據總線為64 bits,每個芯片提供8bits(所謂的x8芯片),一個rank將包含8個芯片。如果超過一個rank,則rank在同一總線上是多路複用的,因此它們不能同時將數據放入總線。每個rank芯片都是同步運行的,這意味着它們始終執行的是完全相同的命令,因此無法單獨尋址。這對於以下內容很重要:每個芯片由幾個存儲體(memory bank)組成,如前文所述,這些存儲體是由具有字線、位線、讀出放大器和行緩衝區的大矩陣位單元組成的。由於每個芯片都是由排列整齊的芯片組成,因此“存儲體”一詞也可以指同一rank的8個芯片上的8個bank。在第一種情況下,我們可能會使用“physical bank”這個術語,而在後一種情況下,我們更傾向於使用“ logical bank ”這個術語,但這個術語在文獻中的定義不是很明確。
雖然內存庫中還存在着更小的結構,但在本文中我不討論它們。藉助所有先前的術語,我們現在可以討論不同的DRAM類型和世代,以及它們如何相互改進。再次,讓我們首先從用於PC的常規DRAM模塊開始。
DRAM標準
常規DDR DRAM內存已經存在很長時間了,但是我不會為您提供完整的歷史。我將很快回顧單數據速率(SDR)存儲器,然後再介紹雙倍數據速率(DDR)。關於SDR,我們需要了解的是接口和數據總線的時鐘(IO時鐘)與內部存儲器的頻率(內部時鐘)相同。這種存儲器會受導其內部存儲器訪問速度的限制。
第一代DDR旨在在每個IO時鐘週期內傳輸兩個數據字,第一個字在時鐘的上升沿,另一個在時鐘的下降沿。設計師通過引入預取的概念來做到這一點。在DRAM bank和輸出電路之間插入了一個預取緩衝器。它是一個小型緩衝器,可以存儲原始SDR設計中每個週期要放在總線上的位數的2倍。如果是x8芯片,則預取緩衝區的大小為16位。我們稱其為2n 預取緩衝區。在完整的DRAM row(例如2k column)的單個內部讀取週期中,有足夠多的數據來填充此預取緩衝區。在該預取緩衝區中,有足夠的數據在時鐘的兩個邊沿上用一個字填充總線。
DDR2採用了相同的預取思想,現在預取緩衝區為4n。與內部時鐘相比,這使設計人員可以將IO時鐘加倍,並且仍然在每個週期將數據填充到數據總線中。DDR3進一步推動了同樣的想法,再次將預取(8n)和IO時鐘加倍,現在是內部存儲器時鐘的4倍。
圖2. DDR中的預取
但是,我們繼續按照這種方法進行推進,存在着一定的侷限性。將預取緩衝區再加倍至16n,則意味着對於每個讀取命令,將有16倍64 bit向處理器傳輸。這是高速緩存線路(用於處理器緩存的基本數據單元)的兩倍大小。如果只有一條高速緩存線路包含有用的數據,那麼傳輸第二條高速緩存線路將會浪費大量的時間和精力。因此,DDR4沒有將預取加倍,而是應用了另一種技術:存儲體分組。該技術引入了多組bank,每組都有自己的8n預取緩衝器,通過一個多路複用器從正確的組中選擇輸出。如果來自控制器的內存請求被交錯,以便它們在連續的請求中訪問不同的組,則IO速度可以再次加倍,現在是內部時鐘速度的8倍。
圖3:bank group
那麼,DDR5的下一步是什麼呢?DDR5還旨在使IO速度提高一倍?嗯,DDR5的目的是借用LPDDR4中已經實現的一種技術,我們稱之為通道拆分。64位總線分為2個獨立的32位通道。由於每個通道現在僅提供32 bit,因此我們可以將預取增加到16n,這將使得訪問粒度達到64字節,正好等於高速緩存線的大小。預取的增加再次允許更高的IO時鐘速度。
但提高IO時鐘速度並不容易。與高頻信號有關的多個挑戰已顯現出來,例如信號完整性,噪聲和功耗。這些可以通過幾種技術來解決,例如片上終止、差分時鐘以及與處理器進行更緊密的內存集成(表1)。這些技術主要源自其他DRAM類型,即LPDDR和GDDR,但我將更加關注於集成。
表格1
LPDDR LPDDR代表低功耗雙倍數據速率。顧名思義,該標準的主要思想是降低內存的功耗。這可以通過多種方式完成。
常規內存的第一個區別是內存與處理器的連接方式。LPDDR存儲器與處理器緊密集成在一起,或者焊接在主板上,靠近CPU,或者它直接在處理器(在這種情況下,通常是SoC)的頂部以 package-on-package封裝的形式實現,這種形式越來越常見。緊密的集成可減少將內存連接到處理器的長導線中的電阻,從而降低功耗。
第二個區別是通道寬度。LPDDR存儲器沒有固定的總線寬度,儘管最常見的是32位總線。與常規存儲器相比,這是一條較小的總線,可節省功耗。同樣,在存儲器中使用較低的電壓,這也對功耗產生很大的影響。最終,通過各種方式優化刷新操作,例如温控調整的刷新,部分陣列自刷新,深度掉電狀態等等,大大降低了LPDDR存儲器的存儲器待機功耗。我現在不會更深入地研究這些技術,但是通常它們會在一些響應時間和較低的待機功耗之間進行權衡,使其從更省電的狀態中“醒來”。
表2顯示了LPDDR存儲器的世代變化,實現了與上一節中討論的相同的技術來提高性能。但是,LPDDR4是引入16n預取和通道分割的第一個標準,而LPDDR5有望成為引入bank分組的第一個LPDDR標準。
表格2
GDDR GDDR代表圖形兩倍數據速率,這意味着該標準適用於圖形卡中使用的內存。如今,它們對於任何具有高帶寬需求的應用都很有興趣,因為這是他們關注的重點。通過焊接在PCB上,GDDR內存也與處理器(在本例中為圖形處理器)達成了緊密集成。這些不是在GPU之上實現的,因為在這種情況下將很難達到所需的容量,此外,在這種情況下也很難進行散熱。與典型的DDR芯片(例如32位)相比,每個GDDR芯片具有更大的寬度,並且每個芯片直接連接到GPU,而無需在固定的64位大小的總線上進行多路複用。這意味着在圖形卡上具有更多的GDDR芯片,也意味着具有更大的總線。消除連接的多路複用還可以提高這些連接的頻率,從而在GDDR存儲器中實現更高的IO時鐘頻率。通過使用較小的存儲器陣列和較大的外圍設備,可以通過提高內部讀取速度來實現更高的IO時鐘速度,從而降低GDDR芯片的存儲密度。緊密的集成意味着圖形卡的最終容量將受到更大的限制,因為只有12個GDDR芯片可以緊密地安裝在大型GPU周圍。
在整個GDDR代(表3)中,使用與DDR中相同的技術來提高內存帶寬。第一個GDDR標準是基於DDR的GDDR2。GDDR3基於DDR2。GDDR4幾乎不存在,可以跳過此處。GDDR5基於DDR3,並且在過去一段時間中非常流行。它實現了差分時鐘,可以一次打開兩個內存頁面。GDDR5X是GDDR5的中代性能增強,它引入了具有16n預取的四倍數據速率(QDR)模式,但代價是訪問粒度更大,這對於GPU來説不成問題。然後,GDDR6與LPDDR4一樣使用了拆分通道。這在同一總線上提供了兩個獨立的較小通道,從而實現了較小的訪問粒度,從而成為16n預取QDR模式的標準。這意味着GDDR6可能更恰當地命名為GQDR6。
表格3
3D革命
先前討論的所有事情都發生了,而目前沒有發生任何3D革命。3D在半導體術語中可能有很多含義,但目前它主要是指使用硅通孔(TSV),它們是管芯中的垂直互連,可以使用管芯之間的微凸點進行連接。現在,兩個彼此疊置的管芯可以與許多非常小的垂直互連進行通信。這是全新的設計和體系結構。與前面討論的DRAM類型相結合。最著名的是高帶寬內存(HBM),它是GDDR的3D對應物。混合存儲立方體(HMC)是一種被提議的3D模型,按照計劃,它可用於與通用DDR類似的應用,由美光公司開發,但在2018年被取消。寬I / O是三星推動的JEDEC標準,是用於SoC中LPDDR存儲器的3D對應物,但我還沒有聽説過真正實現的消息。
HBM
HBM與GDDR有很多共同點。內存芯片也與GPU緊密集成。它們也沒有放在GPU之上,因為我們仍然需要大量的容量,並且需要散熱芯片。
那有什麼不同呢?首先,不是將內存芯片放置在靠近GPU的PCB上,而是把它們放在將芯片與GPU連接的插入器上(圖5)。如今,通常使用無源硅中介層,它是一個大型硅芯片,但沒有任何有源組件:它僅具有互連。這種插入器的優點是我們可以在其上面進行更多的並行互連,而這些互連不需要消耗大量的功耗。因此,可以創建非常寬的總線,這在PCB上是不可能的。這種插入器雖然很容易創建,但仍然是一塊很大的硅片,因此成本更高。
其次,可以堆疊存儲芯片,從而在水平面上的小區域實現高容量(圖6)。這些芯片具有大量的TSV,將堆棧中的芯片彼此連接,邏輯芯片位於底部。然後,該邏輯管芯再次與中介層上的寬總線連接,從而實現了存儲芯片和GPU之間的高帶寬。實際上,總線足夠寬,可以將存儲芯片的IO時鐘放寬到較低的頻率。這樣,再加上與GPU的非常短的互連,可以在使用HBM時,將每bit的功耗降至更低(約3倍)。
表4列出了HBM一代的一些關鍵規格。當前,HBM2存儲器可用。有趣的是,三星最近發佈了HBM2e內存,該芯片的芯片規格更高,每個管芯的容量更大(16Gb),數據傳輸速率更高(每個堆棧410 GB / s)。
HMC
儘管美光公司取消了在HMC標準上的推動,但我還是要説幾句話。HMC是常規DDR存儲器的3D對應物,在未來的服務器中可能會備受歡迎。這種看法在行業中並不是很明確。HBM實際上專注於帶寬,它需要緊密集成,權衡容量和可擴展性。這稱為近存儲器。HMC專注於容量,可以輕鬆地將更多內存堆棧插入服務器,就像將更多DDR內存輕鬆插入具有空閒插槽的主板一樣。它提供了高系統總存儲容量所需的鬆散集成。有時稱為遠存儲器。
除了這種相似性之外,HMC是與DDR差別最大的標準,比本文中提到的任何其他標準都要大。它使用的不是DDR信號,而是使用內存包來進行處理器和內存塊之間的高速串行鏈路發送。通過這種方式,可以在有限的互連條件下實現更高的容量。而且,內存控制器可以完全集成在每個立方體的基礎芯片中,而不是像DDR一樣位於CPU芯片上,或者像HBM一樣分佈在GPU和內存堆棧上(圖8)。
寬I/O
寬I / O是LPDDR存儲器的3D對應物,它選擇了集成以達到可能的最低功耗。預計這些存儲器將使用TSV直接連接到CPU芯片,直接集成在SoC之上。同樣,根據TSV技術的密度和大小,實現很寬的總線也是可能的。但是,這種集成也將需要SoC中的TSV,這會消耗大量寶貴的邏輯區域,因此非常昂貴。這可能是為什麼我尚未看到使用此技術的任何商業產品的重要原因。有趣的是,第一個Wide I / O標準實現了SDR接口,但是第二代標準則又轉向了DDR接口。
結論
希望您已經瞭解了更多不同的DRAM。最後,每個標準都實施了相同的思想以提高每一代的帶寬,包括諸如更大的預取緩衝區,存儲體分組,通道劃分,差分時鐘,命令總線優化和刷新優化之類的技術。每個標準都有自己的重點——第一類是關注容量和靈活集成(DDR和HMC),第二類是着重於最低功耗(LPDDR和Wide I / O),第三類的重點則在於最高帶寬(GDDR和HBM)。
有趣的是,對於每個目標市場,3D技術為該錶帶來了什麼。3D集成允許寬總線和低電阻,低噪聲的互連。儘管技術和收益是革命性的,但在大多數情況下,架構原理和權衡實際上並沒有太大不同。