談到用於伺服器的 SSD,如果說資料遺失是件糟糕的事情,那也太輕描淡寫了。為了防止資料遺失,SSD 按照每日硬碟寫入次數(DPWD)進行評級,以便讓購買者瞭解每塊 SSD 能夠支援的工作負載。這種方法看似簡單,但工作負載會影響 DWPD 值,而現實世界中的工作負載非常多。
2010 年,JEDEC 發布了「固態硬碟(SSD)耐用性工作負載」(JESD219)。其目的是透過定義標準化的工作負載來解決這種不確定性,以便 SSD 製造商可以根據此工作負載宣傳他們的 DWPD。問題是否得到解決?
是,也不是。有單一的參考工作負載是件好事,因為每個 SSD 都可以此工作負載為基準。問題在於,運作環境和 SSD 在過去 15 年間不斷演變。這種演變對耐用性工作負載提出了質疑。
2010 年的企業工作負載與今天的對比
2010 年的大多數企業儲存裝置工作負載均圍繞 HDD 建構。當時,SSD 還是新生事物,作業系統和應用程式亦圍繞 HDD 存取設計。這些工作負載必須考慮大量低於 4KB 的存取、大部分的 4KB 寫入以及 64KB 的最高少量寫入。
下圖是我們對當前常見工作負載的測量結果快照。如您所見,沒有任何存取低於 4KB。大多數寫入都比較分散,具體取決於工作負載。最後,少數工作負載顯示超過 64KB 的大存取量。
檔案系統也隨著時間改變,以適應 SSD 存取。目前最常見的檔案系統預設的區塊大小為 4KB。EXT4、XFS、BTRFS 的預設值均為 4KB。在 Linux 上建立新檔案系統時,區塊大小預設為 4KB。
IU 大小和 WAF
我的同事 Luca Bert 去年寫了一篇部落格,強調了今天的問題。SSD 中的 DRAM 與 NAND 的比率正在成為限制 SSD 的因素,因此人們正在考慮為更大容量的裝置提供更高的間接單元(IU)大小。作為分析的一部分,他展示了不同 IU 大小對幾種工作負載的寫入放大係數(WAF)的影響,他還指出,JESD219 是一種異常現象,尤其是考慮到更高的 IU 大小。
SSD 和輪胎?
我和一位同事談到耐用性工作負載,他提出了一個關於輪胎的比喻,為此,我做了一些調查。在美國,輪胎公司根據交通部規定的針對參考輪胎的測試迴路對輪胎進行評級。但是,如果把這些主要用於正常駕駛的輪胎放到賽道或越野路面上,會發生什麼情況呢? 由於輪胎的評級是根據典型的駕駛條件,因此其使用壽命可能與評級不符。對於 SSD,我們應該考慮採用類似的方法,即根據更具代表性的作業條件而非過時的條件或邊緣用途定義工作負載。
何去何從
標準制定工作的難點是決定標準是應該更新、不應觸及或應該廢止。JESD219 已經過時,它對「常見工作負載」的代表性越來越弱。
但就其目標而言,JESD219 仍有價值,即提供通用工作負載,供業界用來衡量 SSD 的耐用性。從這個角度來看,最好的辦法就是改進規範。以下措施將改善此企業工作負載的標準:
- 4KB 以下的事務在整個有效載荷分佈中所佔的比例必須大大降低。
- 耐用性工作負載需要考慮 IU 大小並根據 IU 大小進行調整。
- 最大有效負載大小應超過 64KB。
實施上述三項措施並不意味著每個工作負載都能達到 100% 的準確率。但考慮到我們需要更新指標,使其更能代表當今的工作負載,這一更新必將使 SSD 消費者和生產商在未來 15 年(或更長時間)內受益。
*感謝 Sampath Ratnam 和 John Maroney 對本部落格的貢獻