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