固態硬盤的工作原理對于普通用戶而言就是一個黑盒,雖然你能夠打開它的外殼,卻無法從外觀去深入了解它的運作原理。為什么不同型號的固態硬盤性能天差地別?為什么同一種硬件方案會有不同的使用效果?

今天筆者就從當前普及的無外置DRAM緩存固態硬盤說起,談談不同主控在的固件算法差異,以及由此產生的性能影響。下圖是東芝原廠的TR200固態硬盤拆解,它是一個典型的無外置DRAM緩存固態硬盤。

固態硬盤使用的NAND閃存本身性能出眾,無需像過去機械硬盤那樣利用緩存來提升性能,但卻需要維護一張特殊的LUT查找表來工作。傳統的固態硬盤使用DRAM緩存芯片來存儲這張LUT表,下圖紅圈內是東芝Q300固態硬盤中的DRAM緩存芯片。

無外置DRAM緩存,通常也被稱為無緩存方案,它是指通過固件適應省去了DRAM芯片的固態硬盤解決方案。無外置DRAM緩存并不意味著完全沒有緩存,實際上它同樣需要LUT表,只是表的結構不同,容量較小并且存儲于主控內集成的小容量SRAM當中。由于不需要額外的DRAM芯片,無外置DRAM緩存固態硬盤的成本更低,在處理好性能與成本關系的基礎上也能取得更好的性價比。

同一類型的硬件方案會因為具體設計的不同而產生很大差異,下面選擇某S、某M的無外置DRAM緩存主控,與東芝TR200中的TC58NC1010GSB主控進行一番性能對比。

測試工具選擇Txbench的Advanced Benchmark,通過設定不同的Measurement Size,變換測試的數據范圍。無外置DRAM緩存的固態硬盤由于主控內置SRAM容量有限,通常不能高效地隨機訪問大空間內的數據。

某M主控:主控內SRAM能夠覆蓋1GB范圍,在此范圍內的隨機尋址能夠高效進行,4K讀取38.9MB/s,超出之后跌到20MB/s左右。

某S主控的策略(SM2268XT),完全沒有優化,效率最低,全程只有20MB/s出頭的4K隨機讀取效能。

東芝TC58NC1010GSB主控的策略,從512MB區間一直到4GB區間,4K隨機讀取始終保持在40MB/s以上,展示出不俗的主控LUT表效率。

測試范圍擴展到32GB范圍后性能依舊保持良好水平:

一個沒有外置DRAM緩存的主控方案,東芝是如何做到和有DRAM緩存方案效果相媲美的?答案或許要從主控內SRAM的容量以及LUT表的結構說起。對于固態硬盤的固件算法來說,Page Mapping更細化,通常需要1GB:1MB的緩存空間,即480GB固態硬盤通常需要512MB的DRAM緩存容量。相對的,Block Mapping粒度更大,甚至只需4MB左右內存就能管理高達1TB的閃存容量。

通過固件上的優化,結合Block Mapping與Page Maaping算法,優化LUT表結構,就能提升更大范圍的隨機讀寫性能表現。盡管沒有外置DRAM緩存,TR200依然能夠提供240GB到960GB的海量存儲空間,并在足夠大的尋址范圍內保持出色的隨機讀取效能。固件算法優化和針對閃存顆粒的適配對TR200的性能表現起了重要作用,原廠固態硬盤使用自主研發主控的優勢正在于此。
行業資訊、企業動態、業界觀點、峰會活動可發送郵件至news#citmt.cn(把#換成@)。
海報生成中...