Q: 為啥Agrade睿達(dá)工業(yè)級(jí)固態(tài)硬盤(pán)需要Trim?
A:
我們都知道,當(dāng)一個(gè)文件被刪除后,操作系統(tǒng)其實(shí)并沒(méi)有刪除數(shù)據(jù) - “事實(shí)上,它只是在硬盤(pán)前的索引區(qū)里標(biāo)記這塊文件占用的區(qū)域?yàn)榭筛采w的,所以下次數(shù)據(jù)將要再次寫(xiě)入的時(shí)候,可以覆蓋寫(xiě)入這塊被標(biāo)記的區(qū)域。這也就是為啥那 些所謂的文件恢復(fù)軟件能恢復(fù)的道理。(數(shù)據(jù)依然存在)。”
要注意一點(diǎn):硬盤(pán)本身是不知道當(dāng)前數(shù)據(jù)的狀態(tài)的,他只是被控制著做這做那。上面這一套在普通的機(jī)械硬盤(pán)上工作起來(lái)非常完美,因?yàn)樗麄兛梢灾苯痈矊?xiě)舊的區(qū)域,但是當(dāng)用到NAND閃存上就行不通了,當(dāng)全部閃存被寫(xiě)滿一遍后,沒(méi)有空余 (從未寫(xiě)過(guò))的塊可以被使用的情況下,速度就下來(lái)了。
在固態(tài)硬盤(pán)閃存內(nèi),數(shù)據(jù)存儲(chǔ)一般是以page(頁(yè))為最小單位存儲(chǔ)的(典型的為4KB),而128個(gè)page組成了一個(gè)block(塊),數(shù)據(jù)可以以 4KB大小的頁(yè)來(lái)讀取和寫(xiě)入,但卻只能以512KB(128 page)的塊大小來(lái)刪除。當(dāng)讀取數(shù)據(jù)或者寫(xiě)入到一個(gè)沒(méi)有被使用過(guò)的page上時(shí),固態(tài)硬盤(pán)的速度是很快的,但是覆寫(xiě)數(shù)據(jù)的話,就比較復(fù)雜了,需要許多步 驟來(lái)完成。
Q:有很多人說(shuō),Trim是為測(cè)試而生的? A:
01 Trim不能提速,只是保證速度盡可能不下降。
實(shí)際是SSD上沒(méi)被使用的容量那里的速度不下降。Trim提前把那里的塊清空了。下次直接可以寫(xiě)當(dāng)然 快了。
02 Trim沒(méi)改變?cè)疽龅氖拢皇翘崆白龅袅耍瑴y(cè)試軟件測(cè)試時(shí)候就不需要做了,從而“顯得”速度上去了。
Q: Trim命令到底做了什么? A:
簡(jiǎn)而言之,這個(gè)問(wèn)題是因?yàn)椴僮飨到y(tǒng)和文件系統(tǒng)不能和SSD的主控進(jìn)行刪除文件的交流造成的,如果有之前沒(méi)清除干凈的數(shù)據(jù),所有寫(xiě)入的頁(yè)的操作都要先清除塊再改寫(xiě),將嚴(yán)重影響寫(xiě)入速度。有2種途徑來(lái)修復(fù)這個(gè)問(wèn)題:
01 定期運(yùn)行垃圾回收程序(GC)
這個(gè)操作有點(diǎn)像整理,在SSD空閑時(shí),全盤(pán)掃描有效的頁(yè)并合并整理起來(lái)變?yōu)橐粋€(gè)包含全部有效頁(yè)的塊,而那些無(wú)效的頁(yè)和塊都將被完全的清除
02 當(dāng)數(shù)據(jù)刪除時(shí)候讓系統(tǒng)告訴SSD數(shù)據(jù)沒(méi)了,讓SSD立即擦掉那些數(shù)據(jù)占用的塊,這就是Trim命令做的事。