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