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