終於明白!SSD越用越慢的真相找到了

每當選購電腦時,你會發現,配置存儲介紹總是不一樣,要麼純固態(SSD),要麼純機械,要麼固態+機械的組合硬盤。


兩者的主要區別在於固態是半導體存儲,機械則是電磁存儲。固態硬盤最大讀取速度在400-600MB/s,而機械硬盤的最大讀取速度不超過200MB/s。


雖然SSD的速度比機械硬盤要快上許多,但是它有一個比較嚴重的問題,那就是用久之後,會明顯感覺速度下降了。這到底是什麼原因呢?


終於明白!SSD越用越慢的真相找到了


什麼是SSD?


首先,我們要先了解SSD的基本概念。固態硬盤指的是用固態電子存儲芯片陣列而製成的硬盤。它由控制單元和存儲單元組成。


目前,市面上的固態硬盤分為兩大類,第一類是採用閃存(FLASH芯片)作為存儲介質,第二類則是採用DRAM為存儲介質。


基於閃存類的固態硬盤,也就是通常所說的SSD。這種硬盤的適用範圍非常廣泛,筆記本硬盤、U盤、存儲卡等都屬於SSD。


SSD主要由主控、閃存以及緩存構成。

其中,閃存起到了關鍵性作用,因為它是負責存儲數據的閃存顆粒,很大程度上決定了SSD的性能壽命。


終於明白!SSD越用越慢的真相找到了


閃存是指一種電子式可清除程序化只讀存儲器的形式,允許在操作中被多次擦或寫的存儲器。


目前閃存顆粒有四種類型,分別是SLC、MLC、TLC、QLC。SLC閃存的一個存儲單元只能存儲1bit數據,換句話說就是隻能存儲一個0或者一個1,一共兩種狀態。MLC閃存的一個存儲單元可以存儲2bit數據,0和1可以排列組合,擁有00、01、10、11四種狀態。以此類推,QLC是最新的閃存顆粒,它的存儲容量是SLC的8倍,0和1可以組成16種狀態。


終於明白!SSD越用越慢的真相找到了


雖然SSD的閃存容量在不斷增加,但是擦除和寫入次數卻減少了。這也就意味著,SSD的使用壽命縮短了。與QLC相比,SLC的使用壽命是它的100倍。


終於明白!SSD越用越慢的真相找到了


除閃存外,SSD的接口也分為四類,它們是SATA、mSATA、M.2和PCI-E。


SATA是一種電腦總線,分別有SATA 1.5Gbit/s、SATA 3Gbit/s和SATA 6Gbit/s三種規格,讀寫速度依次為150MB/s、300MB/s、600MB/s,適用於幾乎所有臺式機和筆記本。


mSATA是迷你版本SATA接口,擁有M50 msata和M30 msata兩種規格,讀寫速度均為520MB/s,主要適用於超極本,比如聯想的E220s、E420s、Y460等。


M.2是Intel推出的一種替代mSATA新的接口規範,它有兩種類型:Socket 2和Socket 3。Socket 2最大的讀取速度可以達到700MB/s,而Socket 3的理論帶寬可達4GB/s。Socket 2適用於部分中低端筆記本,Socket 3幾乎適用於新上市的臺式主板和中高端筆記本。


PCI—E是一種高速串行計算機總線,它有5個版本,從1.0到最新的5.0,讀寫速度分別為250MB/s、500MB/s、984.6MB/s、1969MB/s以及3938MB/s,適用於幾乎所有的臺式機。


終於明白!SSD越用越慢的真相找到了


綜合來看,SSD閃存顆粒的不同,它的讀寫速度和擦除次數也就不同,容量越大的閃存,使用壽命就越有限;SSD接口的不同,直接應影響的是讀寫速度。


寫入放大和垃圾回收


不過,以上兩種原因影響的是SSD使用前的速度,使用後速度下降的原因主要分為兩個方面:寫入放大(WA)和垃圾回收(GC)。


WA是閃存和SSD中的一種不良現象,即實際寫入的物理數據量是寫入數據量的多倍。由於FLASH芯片需要先擦除再改寫的特性,它需要將目標數據所在的文稿整個讀出來緩衝到緩存器中,然後再將你要改寫的數據覆蓋到緩存器,最後將緩存器寫入到另一個文稿中,所以,哪怕你更新一個字節,實際上寫入了4KB的數據到FLASH芯片。這也就造成了SSD寫入文件大小翻倍的現象,從而導致硬盤容量越來越小,寫入速度下降。


終於明白!SSD越用越慢的真相找到了


GC是當FLASH芯片中再也找不到可以直接寫入的空白文稿時,JVW(java虛擬機)將調用垃圾回收機制來回收內存空間。GC會在FLASH芯片中查找廢棄或刪除的文稿,然後將這個文稿擦掉,用來存放你的新數據,但由於GC與FLASH的擦寫單位不一致,寫入時是按照文稿進行的,而擦除則是按照Block文件類型,一個Block中有16個文稿,所以當GC找到一個廢棄文稿時,實際上改文稿需要先把Blovk中的其餘15個文件搬到別的地方。因此每當你更新1字節,實際在後臺有16個文稿寫入,一個文稿大小為4KB,16個文稿就是64KB,這樣SSD的容量也會成倍減少,最終導致寫入速度下降。


終於明白!SSD越用越慢的真相找到了


簡單點來說,當你的SSD存儲數據變多時,空白的文稿會隨之變少,為了騰出額外的空間,GC會尋找廢棄的文稿,隨著次數的增加,SSD的速度自然也就慢了。


另外,GC並不是需要寫入數據時才出動,即使SSD處於空閒狀態,它也會悄悄地進行操作,提前預留一些空間。


那如何避免SSD因存儲數據過多導致速度下降的問題?


廠商的做法是根據SSD等級來制定不同的解決方案,比如:入門級SSD通過縮小可用容量,預留出一部分空間,以此來防止SSD完全寫滿。最為直觀的例子就是有些電腦明明寫著512GB的存儲容量,實際能用的就只有480GB。


對於中高端的SSD,它們會額外搭載緩存降低寫入放大。像三星970 PRO NVMe M.2 1T就配備了4GB的緩存容量。


終於明白!SSD越用越慢的真相找到了


用戶可以通過4K對齊、Trim命令、磨損均衡等功能機制來降低寫入放大。


實測:SSD爆容量對速度的影響


為了進一步確認SSD容量滿後是否真的影響速度,我們進行了測試。


測試前,MacBook Air(2018款)的SSD剩餘容量為71.58GB,使用Disk Speed Test測出硬盤的寫入速度為492.1MB/s,讀取速度為1832MB/s。


終於明白!SSD越用越慢的真相找到了


接下來,我們要將電腦的可用容量變小,預留9.02GB的空間,然後再測一次SSD的速度。此時,SSD的寫入速度變成了448.2MB/s,讀取速度為1791MB/s。


與前一組數據進行對比你會發現,SSD隨著可用容量的減小,寫入速度和讀取速度都有所下降。


終於明白!SSD越用越慢的真相找到了


PC端測完之後,我們再來看下移動端。MoFirLee手上有一部容量為64GB的iPhone 11,硬盤的剩餘容量為27.2GB,使用DiskBench測得的硬盤寫入速度為201.7MB/s、142.1MB/s、135.2MB/s,平均寫入速度159.7MB/s,讀取速度為360.6MB/s、485.9MB/s、387.1MB/s,平均讀取速度411.2MB/s。


終於明白!SSD越用越慢的真相找到了


手機硬盤可用容量變為1.17GB後,寫入速度為183.7MB/s、159.6MB/s、195.5MB/s,平均寫入速度160.6MB/s,讀取速度為609.7MB/s、610.3MB/s、510.6MB/s,平均讀取速度510.7MB/s。


相比上組數據,第一次的硬盤寫入速度確實有所下降,但第二、三次的數據要比上一組快,三次的讀取速度都比上組快。出現這種情況的原因可能是主控的算法和優化,所以測得的數據有所差異。


終於明白!SSD越用越慢的真相找到了


最終的得出的結論是當SSD可用容量變小後,寫入和讀取速度都會有所下降,但實際上主控對這些可能還有其他優化或者控制措施,以及有不同的算法,導致差異。


小結


如今可以用8個字來形容SSD的處境,有一種倒退叫進步。目前市面上的SSD,製程工藝越先進,壽命反而縮短,以此換來了更快的速度。從側邊可以看出,廠商們在現有技術無法突破的情況下,選擇了犧牲一些東西。


使用前,影響SSD速度的因素有閃存顆粒、接口類型、主控的好壞以及升級固件。使用後,寫入放大、垃圾回收機制和不良的存儲習慣是影響SSD速度的主要原因。雖然好的SSD速度很快,但是使用壽命會下降,價格也會偏高。便宜的SSD速度一般,使用壽命卻很長。至於怎麼選,完全看個人需求。


為了避免SSD因可用容量不足,導致速度下降這一問題,最好將每個硬盤的資料全部備份起來,然後再做一個4K對齊。如果你是剛買的電腦,硬盤類型是固體的話,可以在使用前,將SSD進行高級格式化。這樣一來,你的SSD速度就不會那麼容易下降了。


分享到:


相關文章: