隨著記憶體密度上升,記憶庫(Bank)的數量也須增加,以容納更高的記憶體密度。新一代的DDR5標準將記憶庫組(Bank Group)的數量擴充一倍,並且同時維持各組的記憶庫數量不變。另外,由於能夠在任一時間點打開更多的頁面(Page),以及提升高分頁命中率(High Page-hit)的統計概率,整體的系統效率應可加強。
記憶庫組到記憶庫組的交錯時序存取(Interleaved Timing)短於特定記憶庫組內記憶庫間的存取。這些時序參數同時有「長」的時序定義(tCCD_L、tWTR_L、 tRRD_L)和「短」的時序定義(tCCD_S、tWTR_S、tRRD_S)。長的時序係指記憶庫組內記憶庫到記憶庫(Bank-to-bank)的存取,而短的時序則是指存取不同的記憶庫組(圖1)。為便於理解,在此補充說明:tCCD_L可接近tCCD_S的兩倍。增加的記憶庫組可提高短時序的使用概率,進而減輕內部時序限制。
資料突發長度增加
DDR5 SDRAM將預設的突發長度從BL8加到BL16,並提高了指令/位址和資料匯流排的效率。以同樣的讀取或寫入CA 匯流排的作業而言,資料匯流排現可提供兩倍的資料,同時還能將對IO/陣列時序限制的暴露侷限於相同的記憶庫內。透過減少存取給定資料量所需的指令數,DDR5 SDRAM還能降低讀寫作業所需功率。
此外,突發長度增加後,存取相同之64B快取行(Cache Line)資料負載所需的IO數也減少。由於預設的突發長度增加,DDR5 DIMM架構得以具備雙子通道(圖2),進而提高通道的整體並行性、靈活性和數量。針對使用128B快取行負載的系統,DDR5亦特別為×4配置的裝備提供突發長度為32位元的選項,而能進一步改善指令/位址、資料匯流排效率及總體功率表現。
刷新指令
除了適用於DDR5和早期DDR SDRAM產品的標準ALL-BANK REFRESH指令(REFab)外,DDR5還導入了SAME-BANK REFRESH(REFsb)指令。當REFsb指令發出時,它會依照記憶庫位元(Bank Bits)透過指令/位址位元所指定的目標,在所有記憶庫組中鎖定同樣的記憶庫。
SDRAM設備的REFRESH指令會要求在指令發出前,被鎖定刷新的記憶庫須處於閒置狀態(預充電,無資料活動);而且,在REFRESH指令執行期間,那些記憶庫均不能重啟後續的寫入和讀取活動(時序參數tRFC)。REFRESH指令以平均週期間隔發送(時序參數tREFI)。對於REFab指令,系統必須於發出指令前確保所有記憶庫均為閒置狀態;針對16Gb DDR5 SDRAM裝置,在「正常」刷新模式下平均每3.9μs發送一次,每次持續295ns。
REFsb指令的效能優勢在於,在指令發出前,各記憶庫組內只需有一個記憶庫保持閒置狀態。當發出REFsb指令時,其餘的12個記憶庫(圖3)不必處於閒置;而且,對於非刷新記憶庫的唯一時序限制是相同記憶庫刷新到啟動的延遲 (Same-bank-refresh-to-activate Delay)(時序參數tREFSBRD)。REFsb指令只能以倍精度刷新(FGR)模式發送,意即各記憶庫平均須每1.95μs接收一次REFRESH指令。針對16Gb DDR5 SDRAM裝置,REFsb則僅持續130ns,這也將系統存取鎖定的對象(tRFCsb)減至主動刷新的記憶庫上(圖3)。使用REFsb時還有一個限制:每個「相同記憶庫」(Same Bank)都須在第二個REFsb指令發出前收到一個REFsb指令,但REFsb指令可以任一記憶庫的順序發送。
模擬結果顯示,與REFsb相比,使用REFsb時系統效能吞吐量加大6%到9%(會因讀/寫指令比率不同而異),如圖4所示。另外,REFsb將刷新對平均閒置延遲時間的衝擊從11.2ns減為5.0ns。這些計算乃基於標準排隊理論所得,並適用於具隨機驅動資料流量的單個記憶庫。
效能改進
以上述特點模擬64B隨機存取的工作負載後發現,與DDR4雙Rank的3200MT/s模組相比,效能顯著提高(圖5)。在此模擬情境中,假設各系統有8個通道與1DPC。
透過從DDR5設備輸出資料前在READ指令期間進行校正,RAS的提升(如on-die ECC)可減輕系統錯誤校正的負擔。DDR5 SDRAM ECC採用單錯誤校正(SEC)模式,將128個資料位元與8個同位元(Parity Bit)配對形成136位元的字碼,並於WRITE指令期間存入DRAM。在隨後對該位址的READ指令時,再基於136位元算出症狀子(Syndrome),以更正可能出現的任一單位元錯誤。
DDR5在設計上運用漢明碼(Hamming Codes)達成ECC,其中的資料位元會依象限排列,以對應系統錯誤校正的範圍。由於128資料位元和8個同位元搭配後無法進行雙位元檢測,故漢明碼會幫一對象限內兩個錯誤位元的症狀子取「別名」(Alias),將其納入其他象限或「未使用」的資料位元。也就是說,象限1和/或象限2中的兩個錯誤位元將具象限3或4或未使用資料位元的別名。
同樣的,象限3和/或象限4內的兩個錯誤位元將得到象限1或2,或未使用之資料位元的別名。藉此,對系統錯誤校正而言,錯誤處仍將是雙位元錯誤。
DDR5 SDRAM ECC的另一特點是錯誤檢查和清理(ECS)功能。ECS功能可讀取內部資料並於發生錯誤時寫回更正的資料。ECS可以是由多用途指令(MPC)開啟的手動功能,或者DDR5 SDRAM也可在自動模式下執行ECS。在自動模式下,DRAM會視需求排程和執行ECS指令,以在24小時的理想建議時間內完成陣列中資料位元的完整清理(Scrub)。全陣列清理完畢後,DDR5會回報已於清理程序更正的錯誤數(若錯誤數超過最小錯誤臨界值),並同樣依最低臨界值的定義點出錯誤數最高的行。
PPR功能強化
封裝後修復(PPR)可區分為hPPR(硬)和sPPR(軟)兩種不同修復模式。更具體來說的話,hPPR與sPPR分別代表永久性修復和臨時性修復。hPPR在電源重啟時為非揮發性,sPPR則會揮發。
DDR4 SDRAM會定義出一個記憶庫有幾行(Row),此為關聯行(Associated Rows),必須在發生sPPR事件之前先行備份。DDR5對於sPPR的一大改進是減少執行sPPR修復前所需備份的行。DDR5僅需鎖定即將進行sPPR之記憶庫中的一行,而可將系統花在備份和儲存大量資訊所需的時間減至最低,一般來說,這樣的作業時間多在每行資料2μs的範圍內。
PPR的另一特點是能夠追蹤資源的可用性。每個DRAM在啟動時會確認各記憶庫內PPR資源的可用性,然後設置一組模式暫存器(MR54-57)來追蹤此資訊的動態。若使用的是多晶粒(Multi-die)3DS堆疊封裝,在此封裝內的每個晶粒則將被同樣的模式暫存器追蹤;透過PPR功能的改善,已部署系統的記憶體RAS能見度可進一步提升。
多用途指令
由於時脈頻率增加,DDR5裝置在初始化和訓練前的操作多了一些挑戰。為克服這些挑戰,業界開發出多用途指令來執行接口初始化、訓練和定期校準等功能。在早前世代的DDR SDRAM裝置中,這些功能不是單個指令,就是模式暫存器的設置。
當指令/位址匯流排包含MPC指令碼及8個操作位元(Operation Bits)時,MPC便將啟動,最多可執行256種不同功能。MPC模式的預設設置是CS_n為LOW的多個時脈週期,其中的指令/位址匯流排會在整個多重週期內維持不變。藉此,CS訓練模式便可透過MPC輸入和完成。等CS_n對上CK後,MPC可切換為單週期模式,以提高運作效率。除了執行初始化、訓練和校準之外,MPC還能用於重設DLL、在2N和1N指令時序間切換、PDA列舉(Enumerate)編程與ID選擇、設定晶片內訊號中止(On-die termination)的值,以及設置DLL和其他陣列時序等方面。
DDR5大幅提升DRAM價值
透過DDR5架構,將能繼續提升DRAM解決方案能為整體產業帶來的價值。藉由提升記憶庫組、突發長度和Same-bank刷新,DDR5的效能大幅躍進,可滿足下一代系統對於效能的嚴苛要求,並同時降低總持有成本。DDR5的On-die錯誤更正碼(ECC)與封裝後修復(PPR)功能進一步達成系統RAS改進。最後,新的多用途指令(MPC)功能亦將記憶體管理予以簡化。在DDR5為運算系統開創更多可能性、前景大好之際,記憶體業者也準備好與系統架構師合作,助其充分善用此新產品線的無窮潛力。