如今已經(jīng)是9102年了,裝機、升級電腦首選SSD硬盤的理念早就深入人心了,再加上這一年多來NAND閃存價格不斷下滑,SSD硬盤價格應(yīng)聲回落,1TB容量的SSD硬盤千元內(nèi)售價已經(jīng)是主流,而且還可以買到更高性能的M.2硬盤而非SATA硬盤,不怕死的話還可以考慮一些將近5毛/GB的雜牌SSD硬盤,買來當倉庫盤還是可以的?;仡^看看多年不降價的HDD硬盤,機械硬盤市場日薄西山不是沒道理的。 但是HDD硬盤逐漸遠離桌面、筆記本電腦市場,這就能代表SSD硬盤各種完美了嗎?還真不是,如今在大降價的環(huán)境下SSD硬盤各種“真香”,但它還是有一個讓人糟心的問題——掉速。對于SSD硬盤掉速,長期使用過SSD硬盤的玩家應(yīng)該有體會(也有人其實沒意識到這個問題),今天的超能課堂我們就來談?wù)凷SD硬盤的掉速問題。 對于SSD硬盤掉速,目前并沒有準確的定義,這里我們就按照字面意義上的掉速將其理解為“性能下降”,分析目前可能導致SSD掉速的種種原因及解決方案。如果想更好地理解SSD硬盤掉速問題,建議閱讀一下我們之前做過的兩篇橫評: 花開正當時,十四款120/128GB SSD橫評(7年前我們的評測就開花了) 再度重拳出擊,十六款240/256GB固態(tài)硬盤2014年度橫評 超能課堂(152):QLC閃存靠譜嗎?它可否堪用? ·SSD掉速之SLC、MLC、TLC到QLC變遷 閃存類型的升級也是SSD硬盤掉速的原因嗎?仔細想想的話還真沒錯,實際上我們可以說正是閃存類型不斷變化才導致了SSD硬盤掉速問題越來越嚴重,如果我們還在使用SLC閃存,那掉速問題早就不是事了,只不過SLC閃存硬盤這事別想了,最好的閃存意味著最貴的成本,即便廠商現(xiàn)在還敢把SLC閃存當主力,普通消費者也用不起。 從SLC、MLC到TLC再到QLC,由于cell單元可以保存的電荷位越來越多,容量在不斷增加,相應(yīng)地成本在下降,但是NAND閃存先天的特性就注定了電位越多,控制就越復雜,寫入數(shù)據(jù)的時間就越長,導致性能大幅下滑(主要是寫入性能,讀取性能還好)。 我們現(xiàn)在看到的TLC、QLC閃存的硬盤性能指標還不錯,SATA接口的也能達到500MB/s寫入速度,M.2接口的視PCIe 3.0通道數(shù)不同,寫入性能可達1GB/s、2GB/s甚至更高,但是這樣的性能是施了魔法之后的,是理想情況下的性能。 上圖就是英特爾QLC閃存的660P硬盤的實際表現(xiàn),隨著寫入數(shù)據(jù)量的增加,緩存空間用完之后QLC原始性能就暴露無遺了,寫入速度就降至100MB/s,這性能沒比HDD硬盤快多少了。 ·SSD掉速之垃圾回收GC、TRIM 提到SSD硬盤掉速問題,老玩家可能還會想起來早些年浦科特 在自家M系列高性能SSD硬盤中宣傳的不掉速功能,這個賣點當時是吸引了不少SSD用戶的,考慮到那時候MLC閃存還是市場主力,SSD硬盤掉速主要是因為當時的主控管理機制問題所致。 具體來說就是SSD的GC垃圾回收以及TRIM指令問題,如果大家看過我們之前的科普文章,就知道NAND閃存特殊之處就在在于寫入文件的方式,需要一塊一塊的刪除,由于各種寫入、刪除操作會在SSD留下雜亂的數(shù)據(jù),其中有些是還有用的,有些就是無效的,GC功能啟動之后就把有用的數(shù)據(jù)拷貝到另外的區(qū)塊,原來存儲數(shù)據(jù)的區(qū)域就會被清楚,恢復空盤水平以準備寫入新的數(shù)據(jù),SSD硬盤的性能也就恢復了。 除了GC垃圾回收機制,微軟在Windows 7及之后的系統(tǒng)還引入了TRIM指令,這是基于SATA控制器的一個指令,一旦有文件刪除或者分區(qū)格式化,操作系統(tǒng)就會發(fā)TRIM指令給SSD主控告訴它某處的數(shù)據(jù)已經(jīng)刪除了,SSD因而知道那些數(shù)據(jù)是能動那些不能動的,之后就可以進行清空操作以恢復性能了。 GC及TRIM也能影響SSD硬盤的掉速,不過現(xiàn)在來說這些功能已經(jīng)變成了SSD的基本功能,操作系統(tǒng)上的支持也不是問題了,因為這兩個問題導致SSD掉速的現(xiàn)象少多了。 ·SSD掉速之840 EVO掉速門 從SLC到MLC再到TLC、QLC,不僅閃存的性能在逐漸下降,其實可靠性也是在降低的,反映到物理層就是由于TLC、QLC閃存存儲的電荷位更多,控制也更復雜,而隨著時間的流逝,電子的活性也會損失的,在TLC閃存剛問世的時候,三星840 Evo就出現(xiàn)過長期不用導致性能下降的問題。 840 EVO掉速門事件就是說它在讀取存儲超過數(shù)周或者數(shù)月的舊文件時,速度嚴重不如預期,官方指標中840 Evo讀取速度超過450MB/s,但讀取舊文件時速度就低至60MB/s,速度明顯下降。 對于這個問題,三星之后也做了調(diào)查,表示“借助閃存管理軟件算法,SSD通常會隨時間校正Cell單元的狀態(tài),840 Evo的讀取-重試(read-retry)操作太過激進,導致了整體讀取性能的下降。這種情況只會發(fā)生在其內(nèi)部Cell單元無數(shù)據(jù)變化的情況下,如果這個單元的數(shù)據(jù)隨后遷移了或者被覆寫了,這就不會有性能下降的問題 ?!?/p> 最后三星發(fā)布了新固件,解決了840 Evo掉速的問題。在這個問題上,三星沒有承認這是TLC閃存的問題,但在發(fā)展初期,TLC閃存從閃存到主控管理都是有些問題的,出現(xiàn)這個問題并不意外。 ·SSD掉速之主控過熱保護 上面提到的SSD掉速都是圍繞閃存而言的,但SSD主控其實也會影響SSD掉速問題,這主要是由于SSD硬盤的過熱保護問題引起的,SATA硬盤上基本上沒這么問題,主要是在高性能M.2硬盤大量上市之后才比較集中的。 SSD主控本質(zhì)上也是基于ARM或者自研架構(gòu)的CPU,為了提高性能,SSD主控往往也是多核心架構(gòu)了,三核甚至四核主控不少見,高負載下發(fā)熱也是個問題。對于高性能PCIe、M2接口的SSD硬盤來說,由于空間狹小,發(fā)熱集中,主控區(qū)域的溫度超過90°C甚至上百度都很正常,為了避免高溫損壞,SSD硬盤會有溫控機制,檢測到溫度過高就會降頻,進而減少發(fā)熱。 不過降低主控頻率,實際上也會降低SSD性能。要想解決因為發(fā)熱掉速的問題,最常用的手段就是提高散熱效果,比如三星在970 Pro硬盤的主控設(shè)計就使用了更好的封裝,整個主控使用了金屬外殼封裝,提高了導熱性能。 當然,更直接的手段還是加裝散熱片,所以大家可以看到各種M.2硬盤都開始流行散熱馬甲了,影馳之前還推出了鐵甲戰(zhàn)將M.2硬盤,使用了厚度驚人的散熱片,雖然樣子難看了點,但是效果杠杠滴。 除了上面介紹的這些掉速原因,其實還有一些別的因素會影響SSD性能正常發(fā)揮,比如4K沒對齊、同步/異步閃存、AHCI/IDE模式等等,不過這些操作現(xiàn)在來說并不是主要問題了,以前是問題主要還是SSD不普及,很多人不懂設(shè)置,而現(xiàn)在Windows系統(tǒng)自己就加入了很多SSD優(yōu)化設(shè)置,第三方工具對SSD的支持也到位了。 SSD硬盤的緩存結(jié)構(gòu):從DRAM Cache到SLC Cache 以上有關(guān)SSD掉速的內(nèi)容涉及到方方面面,不過對單個SSD硬盤來說,SSD掉速問題沒那么復雜,下面我們要進入正題了,先來看看現(xiàn)代SSD硬盤的基本結(jié)構(gòu): 不論SATA還是M.2硬盤,它們的PCB布局都差不多,上面的M.2硬盤從左到右分別是DRAM緩存、主控及NAND閃存,其中主控及NAND閃存是必不可少的,DRAM緩存可以有也可以沒有,沒有的主要是低端SSD硬盤,減少DRAM緩存可以降低成本,特別是過去兩年中DRAM內(nèi)存因為大漲價,低端SSD更加流行無DRAM緩存的方案,它們會用過HMB主機內(nèi)存緩存來彌補導致的性能損失。 對于高性能的SSD硬盤,DRAM緩存不可少,因為就算是DDR3緩存,其帶寬也能達到數(shù)GB/s甚至十幾GB/s,遠高于SSD閃存的性能,對提升性能還是很有幫助的,現(xiàn)在三星等公司在高端SSD上已經(jīng)開始使用DDR4-2133做緩存了。 至于DRAM緩存容量,容量少的有128MB,256MB、512MB比較常見,隨著SSD硬盤越來越大,1GB緩存的也不少見了,一般來說是1TB閃存配1GB DRAM緩存,越高越好。 DRAM緩存是現(xiàn)代SSD硬盤的第一道緩存結(jié)構(gòu),從硬盤上讀取數(shù)據(jù)首先就是看DRAM緩存中有沒有需要的數(shù)據(jù),如果有,那就先用這里的,所以速度會很快,如果緩存中沒有再去NAND閃存中尋找,速度就是NAND閃存的了,相對來說慢很多。 總的來說,DRAM緩存對SSD硬盤來說是錦上添花的,從DRAM緩存到NAND閃存也是存在掉速的,不過通常這種調(diào)速大家是感受不出來的,畢竟緩存容量還是太小了,很容易就超出。 SSD硬盤大部分情況下還是要依賴NAND閃存自身性能的,但我們都知道從SLC到MLC再到TLC及現(xiàn)在剛剛興起的QLC閃存,寫入性能是不斷下降的,原始的TLC、QLC閃存性能非常難看,不加修飾的話QLC閃存寫入性能可能都沒有100MB/s,HDD硬盤都比它快不是吹的。 但實際發(fā)售的TLC及QLC閃存硬盤中,不論SATA還是M.2接口的,性能都很強大,三星970 Evo這樣的產(chǎn)品中250GB版標稱寫入性能可達1500MB/s,但它就是使用了寫入加速(Write Acceleration)技術(shù)之后的性能,實際性能大約是300MB/s,中間差了四倍性能。 SSD寫入加速技術(shù)是個通用稱呼,常見的方案是SLC Cache(SLC緩存),它的意義就是字面意思——用SLC當緩存提速,因為SLC閃存是性能最好的。 在MLC閃存時代,SLC緩存技術(shù)還不是必要的,三星970 Pro都沒有使用這樣的技術(shù),而970 EVO就有,但SLC緩存也不是沒有代價的,因為SLC只能存儲1位數(shù)據(jù),TLC是3位數(shù)據(jù),QLC是4位數(shù)據(jù),在TLC/QLC閃存上使用SLC緩存意味著是犧牲容量換取性能,這是一個魔鬼交換,說的難聽點就是你選擇X味的巧克力還是巧克力味的X一樣,都不是最好的選擇,但不得不選。 用SLC緩存可以提升SSD的寫入速度,讓它看起來很NB,但是這意味著要損失一部分空間,具體多大要看廠商選擇的方案,如果全盤方案的話就意味著只有1/3甚至1/4的容量可用。 用SLC緩存就好比過山車 更關(guān)鍵的是,即便用了SLC緩存,一旦寫入數(shù)據(jù)超過了緩存容量,SSD性能還得現(xiàn)原形,這個時候就是SSD硬盤掉速了,因為超過緩存加速空間之后就不得不使用原始TLC/QLC性能,這個時候會很難看,寫入速度100MB/s左右很正常。 當然,SLC緩存帶來的額外好處也不是沒有,那就是意外斷電時損失更小,畢竟SLC是存儲1位數(shù)據(jù)的。 具體的每家SSD廠商中,SLC Cache技術(shù)有不同的叫法,三星叫做TurboWrite,SanDisk叫做nCache,美光有Dynamic Write Acceleration動態(tài)緩存加速技術(shù)。這些技術(shù)實際上也是分為不同類型的,有全盤SLC Cahce的,也有部分空間做緩存的,其中全盤模擬效果最好,但對空間浪費是最大的,所以現(xiàn)在SLC Cache技術(shù)普遍是劃出部分空間,具體選擇多少空間是廠商綜合考慮的,10%以下可以,20%也可以。 另外,不論全盤還是部分空間模擬,實際上還有動態(tài)及靜態(tài)SLC Cache之分,這兩種技術(shù)其實也是各有優(yōu)劣,美光的DWA就是動態(tài)寫入緩存加速技術(shù),它的好處就是在用戶用了不同容量之后都可以保持較好的加速性能。 總之,在SLC緩存上各大廠商有自己的選擇,緩存空間、緩存分配、加速策略都有可能是不一樣的,技術(shù)路線沒有高下之分,但不論哪種,SLC緩存空間用盡之后,SSD的性能都會暴露出應(yīng)有的水平,那就是TLC/QLC原始性能。 就是這一點,SSD硬盤如果使用的空間越多,那么剩余空白容量就越少,這對緩存加速越不利,所以性能就越低,這也是很多人使用SSD硬盤感覺越用越慢的根源,常說的掉速就是這么來的。 對于SSD掉速問題,除了特定問題導致的之外,如果是因為緩存用盡而掉速,那還真沒什么好辦法,除非不怕倒騰數(shù)據(jù)的麻煩,經(jīng)常把SSD硬盤安全擦除一下。 如果對掉速問題很介意,現(xiàn)在的選擇只有購買MLC硬盤或者購買大容量SSD,容量不低于1TB,越大越好。 |
|