這里我們先簡單回顧一下之前多次提到的閃存芯片類型,也就是SLC、MLC、TLC、QLC等等。它們能存儲不同容量的數(shù)據(jù),其實就是對電荷容量的區(qū)分方式不同,要想存儲更多數(shù)據(jù),就得更細致地區(qū)分存儲電荷的量(圖1),呈現(xiàn)出更多的“電平”狀態(tài),在存入電荷時的控制肯定更復雜,使得存儲速度更慢。
但是,在主流閃存芯片從SLC發(fā)展到TLC的同時,SSD的速度卻是越來越快的,這又是為什么呢?除了技術進步提升了閃存芯片的運行速度、主控芯片的處理速度外,最重要的一點就是使用高速緩存。在向在SSD運行,特別是寫入文件的時候,我們常常會發(fā)現(xiàn)它的速度有點奇怪,有可能突然從高速下降至較低的速度,也就是所謂的SSD“掉速”問題。其原因主要是SSD的高速緩存容量用完,因而“暴露”了閃存芯片的實際寫入速度,一般被稱為“緩存外速度”。這本來是比較正常的情況,但常常因為廠商的刻意淡化甚至隱瞞,乃至偷偷更換配置而帶來的變化,成為購買和使用中的“大坑”。SSD里拷貝數(shù)據(jù)時,大量數(shù)據(jù)實際上是先存儲在緩存里,再逐步轉移到閃存芯片里。但當緩存裝滿了之后,數(shù)據(jù)存儲的效率下降,甚至有可能是直接向相對低速的閃存芯片中寫入,存儲速度會有所下降(圖2),就是前面提到的閃存芯片實際存儲速度“暴露”的時候了。
所謂的緩存,在很多高端SSD中是大容量DDR緩存芯片,其實就是內(nèi)存芯片(圖3),其大小一般是SSD總容量的1/1000,比如500GB SSD配512MB緩存、1TBSSD配1GB緩存。它們的讀寫速度都遠高于閃存芯片,而且因為是獨立芯片,所以設計合理的話可以一邊緩沖新數(shù)據(jù),一邊把老數(shù)據(jù)平穩(wěn)地送進閃存芯片,進而提供遠超自身容量的高速、平穩(wěn)寫入數(shù)據(jù)量,有些甚至可以做到SSD全容量寫入基本不掉速(圖4)。
目前的入門和主流SSD常常采用另一種“同片”緩存,即在閃存芯片(目前一般為TLC或QLC閃存)中劃出一部分只記錄高低兩種電荷狀態(tài),其實就是當作SLC使用(見圖1)。這樣犧牲了一些數(shù)據(jù)容量,但可以換取更快的寫入速度,這部分就作為整個SSD的寫入緩存使用。和獨立的高速緩存芯片不同,這些位于同一芯片上的SLC“緩存”很難做到一邊緩沖數(shù)據(jù),一邊將其中的數(shù)據(jù)寫入“主容量”,而是用完就沒有了,一旦寫入的數(shù)據(jù)量超過緩存容量,就只能以TLC的實際速度寫入數(shù)據(jù)了,如果主容量速度太低,寫入速度會“斷崖式”下降(圖5)。
這種設計還有一個很明顯的問題,就是在SSD的容量使用較多時,會不得不壓縮SLC緩存,釋放出更多空間(圖6),此時再寫入數(shù)據(jù)就更容易出現(xiàn)緩存外速度下降的情況。
當然,從成本和大多數(shù)實際情況來看,同片緩存其實很實用,畢竟絕大部分時候我們不會連續(xù)寫入數(shù)十GB的數(shù)據(jù)。但目前有些產(chǎn)品可能會偷偷地更改閃存芯片選料(圖7),如果是同片緩存設計,那么改成了性能更差的閃存芯片后“緩存”的性能、超出緩存后的閃存自身存儲速度都會受到影響,當然對整體速度的影響就更明顯了。
由于廠商很少在更換閃存時公開說明,因此除了盡量選擇擁有獨立緩存的型號外,在選購無獨立緩存的入門、中速SSD時(主要是M.2SSD),首先一定要搜索一下是否有相關的報道,如果有,那么確認出現(xiàn)這一問題的SSD是否在產(chǎn)品編號上有變化,購買時與銷售確認編號、性能。購買到手后,則應馬上使用HDTune的“文件基準”測試,將文件長度設定到50GB以上進行寫入速度測試(圖8),如果出現(xiàn)過快的掉速,或者掉速后的速度實在太低,可以盡快申請退貨。