當代TLC固態硬盤均應用SLC緩存(用TLC閃存模擬SLC的方式寫入)來補強寫入端的短板,3D TLC固態硬盤也不例外。筆者最近在TR200上發現了一種全新的SLC緩存策略——持久緩存,顧名思義,一部分反復讀寫的數據可以保留在SLC緩存里不被釋放和清空。
首先還要從SLC緩存的基礎說起。而根據對閃存使用方式的不同,SLC緩存大體又可分為動態和靜態兩種算法,前者通常使用全盤范圍內的一切可用空白閃存頁用于模擬SLC寫入,初期使用效果顯著:連續寫入大量數據也不會掉速,然而隨著可供SLC消耗的空白閃存頁耗盡,雞血性能將迅速轉變到萎靡不振的狀態:一邊要寫入,一邊還要還剛才打雞血時欠下的舊債,速度反而不如靜態SLC算法。
靜態SLC算法則將SLC緩存的使用限定在一個較小的范圍內,只在OP預留空間內模擬SLC閃存寫入,不去透支固態硬盤用戶區域內的可用空白閃存頁。不管什么時候靜態SLC緩存的空間都是固定的。
不管是動態還是靜態SLC算法,都只能給固態硬盤的寫入性能提供幫助,而對于讀取性能則愛莫能助,寫入SLC緩存的數據如同大水漫灌,最后都需要釋放為TLC狀態,緩存內是留不下數據的,對讀取性能也就產生不了影響。
雖說TLC閃存的主要短板在于寫入速度慢,但實際上它的讀取性能同樣要比SLC、MLC前輩要差一些。尤其是在讀取與寫入混雜進行的情況下,TLC閃存的實際性能輸出要低于AS SSD Benchmark等理論跑分所展現出的同一時間只讀取或只寫入的水平。
帶有持久緩存的增強型靜態SLC算法如同保墑效果顯著的土壤。寫入到其中的數據能夠根據熱度選擇保留一部分在緩存當中,從而加速再度讀取時的效能。而多余的部分則如普通SLC算法那樣排空到TLC狀態。下圖是筆者從東芝TR200 480G固態硬盤(固件版本SBFA13.3)當中摸索出的持久緩存與普通緩存比例。
對于電腦經常用到、反復讀寫的數據,東芝TR200的持久SLC緩存就能在加速寫入之余,發揮到加速讀取的作用。使用IOMeter工具對此進行驗證:
分別取首次寫入生成2GB測試文件時、閑置空閑60秒后、關機重新開機后、AS SSD Benchmark測速后(5GB寫入)和一次性填充超過15GB文件后的4K QD1隨機讀取速度。可見持久緩存在家用日常使用中的實用性還是很高的。
對于持久SLC緩存,筆者此前曾在國內某網站上發現極個別高端NVMe固態硬盤有類似的應用。新版東芝TR200對持久SLC緩存算法的開發,無疑是開啟了進一步提振主流SATA固態硬盤性能的一扇門。