原因一:● 管理機(jī)制隱藏問題
其實(shí)為了簡化控制難度,存儲的時(shí)候所有數(shù)據(jù)都不是一個(gè)蘿卜一個(gè)坑存放的,而是把存儲區(qū)域劃分成一些小塊,整塊進(jìn)行讀寫,即使有時(shí)候只有1bit數(shù)據(jù),也會優(yōu)先放到一個(gè)4kb甚至更大的存儲塊里,在SSD上情況也差不多,只是單位從磁盤的扇區(qū)變成了閃存芯片的“頁”。
當(dāng)SSD存儲數(shù)據(jù)比較少的時(shí)候,幾個(gè)bit的數(shù)據(jù)占據(jù)一個(gè)“頁”問題不大,但數(shù)據(jù)存儲較多的時(shí)候空間就不夠用了,加上還有不少刪除了數(shù)據(jù),但并沒有“抹平”狀態(tài)的數(shù)據(jù)頁,所以就要“回收”空間,重新整理,以便繼續(xù)存儲。
在一般的SSD中,經(jīng)常會出現(xiàn)我們一邊存東西,SSD一邊忙著回收空間的情況,速度自然就變慢了。隨著閃存的存儲密度越來越大,空間回收也變得越來越困難,這也是很多不成熟的QLC產(chǎn)品性能曲線下降很快的原因。
針對這樣的情況,現(xiàn)在的SSD提供了TRIM功能,可以用更高的效率進(jìn)行空間回收。一些SSD還提供了碎片后臺自動整理功能,可自動回收、合并這些零散數(shù)據(jù),據(jù)稱能達(dá)到終生不降速,當(dāng)然降速是不可避免的,實(shí)際就是降速不明顯而已。
解決方法:
要想知道SSD是否開啟了TRIM功能,可以在命令行窗口輸入“fsutil behavior QUERY DisableDeleteNotify”并回車。如果系統(tǒng)提示“DisableDeleteNotify = 0”,就說明Trim指令已啟用。
如果顯示為“DisableDeleteNotify = 1”,即Trim指令未啟用,那么在管理員模式下,輸入“fsutil behavior set disabledeletenotify 0”并回車,就可以開啟TRIM功能了。
原因二:SLC緩存管理
很多小伙伴會發(fā)現(xiàn)的SSD不再標(biāo)注自己使用了多少緩存,這很可能說明它們使用了以SLC為緩存的設(shè)計(jì)。這些SSD通常使用TLC、QLC閃存,因?yàn)榇鎯Y(jié)構(gòu)比較復(fù)雜,操作耗時(shí),所以數(shù)據(jù)的實(shí)際存入速度很慢,所以會先將數(shù)據(jù)存入延遲極小的SLC中,然后在后臺逐步存入主存儲空間。
那為啥這些SSD會選擇這種方式,而且不標(biāo)出SLC緩存的容量呢?這是因?yàn)樗鼈兪褂昧藙討B(tài)SLC容量,直接在未使用的存儲空間中劃出一部分,只存儲一位電荷,就“模擬”成了SLC緩存。
可用SLC緩存的容量和總?cè)萘俊⒋鎯Ρ壤年P(guān)系
這樣的設(shè)計(jì)讓SSD成本大幅下降,但也使其在連續(xù)存入大量數(shù)據(jù)、存儲比例較大的時(shí)候,都會出現(xiàn)耗盡SLC緩存,存儲速度“斷崖”式下跌的問題,這時(shí)候的速度甚至還不如未開啟SLC緩存。
解決方法:
很明顯,對這些產(chǎn)品來說,最簡單的優(yōu)化方式就是盡量不要一次性拷貝過多數(shù)據(jù),并且購買更大容量的型號,使用時(shí)保持一定的空閑空間。
原因三:主控過熱問題
雖然現(xiàn)在SSD閃存和主控芯片的制造工藝下,已經(jīng)很少出現(xiàn)燙手的產(chǎn)品了。不過一些高速SSD使用的主控芯片在長時(shí)間高速使用時(shí),發(fā)熱量還是比較大的。與CPU一樣,當(dāng)溫度過高的時(shí)候主控芯片也會自動降速,此時(shí)SSD的讀寫速度都會明顯下降。
對這些產(chǎn)品來說,配置散熱片是最直接有效的辦法,目前很多中高端主板已經(jīng)為M.2 SSD默認(rèn)提供散熱片,在這些主板上使用高速SSD基本不用擔(dān)心過熱降速問題。
說到這兒大家應(yīng)該會發(fā)現(xiàn),SSD降速的原因根本就是它自身讀寫方式和結(jié)構(gòu)的問題嘛。沒錯(cuò),其實(shí)目前傳統(tǒng)SSD的降速沒啥徹底的解決方法,除了使用的時(shí)候盡量節(jié)省空間,開啟自動整理之外,唯一能做的就是等待新型存儲技術(shù)的出現(xiàn)了。
總的來說如果固態(tài)硬盤降速快,大家在選購固態(tài)硬盤的時(shí)候要非常注意,不差錢的話盡量選擇高端一些的品牌型號,這樣速度方便也會更好,不容易變慢。