A. 固態硬碟trim原理
通常磁碟操作的刪除不是馬上刪除,而是標記為待刪除的無效數據。機械硬碟工作原理只有讀和寫,因為數據是可以直接在原有的磁軌上進行覆蓋,不需要經過清除這個步驟,這是機械硬碟磁軌記錄信息的特點。但是SSD不行,SSD是讀、擦、寫三個步驟,任何一個記錄模塊如果裡面有數據,必須把有數據的區域擦除清零才能寫入。
因此,對於SSD而言TRIM的最大作用是清空待刪除的無效數據,在SSD執行讀、擦、寫步驟的時候,預先把擦除的步驟先做了,這樣才能發揮出SSD的性能,通常SSD掉速很大一部分原因就是待刪除的無效數據太多,每次寫入的時候主控都要先做清空處理,所以性能受到了限制。
用個例子來說明,假設有一個100G全部存滿數據的SSD,然後刪除掉50G的數據,那麼SSD刪除數據是先標記這50G為待刪除無效數據,不再進行訪問,然而這些數據依然占據你的磁碟空間,系統則會顯示你有50G的空間,當你需要寫入新數據的時候,就會把那50G的空間執行擦除然後再執行寫入,主控同時進行擦除和寫入,如果數據量很大的話掉速就會出現。主控進行擦除也是按照性能原則來進行的,一般都是要寫入多少數據就擦除多少待刪除無效數據,這樣才能保持最大的性能。TRIM里關於清空無效數據的指令,一般來說每個主控都會有,理論上不需要你操作主控會自己判斷。但這只是理論,實際上主控沒有那麼聰明,很多時候並不會主動清理,它需要一個邏輯判斷,通常是系統空閑的時候才會操作這個步驟,可是一般人上班的時候基本上電腦都不會空閑,就容易發生工作時間8小時內SSD都不會執行清理程序,只會在空白空間不夠的時候再根據需要清理。
打個比方,家的櫃子裝東西,櫃子里放滿了東西,這個櫃子能不能再放新的物件取決於要不要丟掉櫃子里的一些東西。如果暫時沒有新物件放進去又不想現在丟掉箱子里的東西,那麼這個箱子在認知中是還可以放東西的(只是需要先丟一些東西,這就是刪掉了50G數據,這些數據還在,但是系統顯示有50G的空間,只是做了標記可以放東西不,不代表目前有空間),但放東西之前必須要先拿部分東西騰空間的流程,這個流程是現在做(TRIM開啟,及時清空無效數據),還是需要放新東西的時候再說(由主控來控制,有需要的時候再清理,例如空白空間用完了)。開啟TRIM指令的好處是,隨時清空待刪除無效數據,而不是等到要寫新數據時的才開始清空,加大主控負擔。
B. Win10系統 關於固態硬碟trim是否開啟的問題
當然是打開的,如果返回值是0,則代表TRIM處於開啟狀態;如果返回值是1,則代表TRIM處於關閉狀態。
C. 購買固態硬碟時如何知道硬碟是否支持TRIM命令
1,市面上的在售型號基本上都支持trim的,2,可以用硬碟軟體如hdtune pro,crystal disk info等查看硬碟信息,如果支持,在支持的特性里可以看到trim是勾選的。
D. 固態硬碟trim原理 固態硬碟為什麼需要TRIM
在機械硬碟上寫入數據時,
Windows會通知硬碟先將以前的擦除,
再將新的數據寫入到磁碟中。
而在刪除數據時,Windows只會在此處做個標記,
說明這里應該是沒有東西了,
等到真正要寫入數據時再來真正刪除,
並且做標記這個動作會保留在磁碟緩存中,
等到磁碟空閑時再執行。
這樣一來,磁碟需要更多的時間來執行以上操作,
速度當然會慢下來。
而當Windows識別到SSD並確認SSD支持Trim後,
在刪除數據時,會不向硬碟通知刪除指令,
只使用Volume Bitmap來記住這里的數據已經刪除。
Volume Bitmap只是一個磁碟快照,
其建立速度比直接讀寫硬碟去標記刪除區域要快得多。
這一步就已經省下一大筆時間了。
然後再是寫入數據的時候,
由於NAND快閃記憶體保存數據是純粹的數字形式,
因此可以直接根據Volume Bitmap的情況,
向快照中已刪除的區塊寫入新的數據,
而不用花時間去擦除原本的數據。
E. 固態硬碟trim原理是什麼
在機械硬碟上,寫入數據時,Windows會通知硬碟先將以前的擦除,再將新的數據寫入到磁碟中。
F. 固態硬碟開啟trim功能是什麼意思
就是打開TRIM功能的意思,固態硬碟跟機械硬碟不同,機械硬碟只有讀寫兩種工作狀態,可以直接在老數據上覆蓋,所以機械硬碟刪除文件,只是標記為無效待刪除文件,並沒有真正刪除,下次要寫入數據的時候直接在這些標記的磁軌上覆蓋。
而SSD工作原理不一樣,分為讀、擦、寫三個步驟,有數據的區域必須要先擦除清零,才能寫入新的數據。
所以,對於所有的硬碟來說,不管是機械硬碟還是固態硬碟,刪除文件的本質並不是真正意義上的刪除,而是把這些文件標記為待刪除的無效文件,等到需要再這些區域寫入新數據的時候,再執行刪除(機械覆蓋,固態擦除+寫入)。
TRIM本質上,可以讓固態硬碟清空這些待刪除的無效文件,把空間還原為真正意義上的空白空間。避免了固態硬碟的主控在空白空間不足的時候,再來擦除這些文件,那很容易導致主控同時執行擦+寫的工作,負荷過大因而掉速。而你刪除的數據越多,就有越多的待刪除無效文件產生,這些文件會一直存在,要麼等待固態的主控根據實際使用情況來執行刪除,或者你利用TRIM提前進行清理。
不管任何一款SSD,至少現在的技術還沒解決主控智能化的問題,也就意味著TRIM依舊是必須的東西,假如不開啟TRIM,除非你硬碟足夠大,有足夠的空白空間,如果你是128這種小固態的話,很快性能就會急劇下降,必須定期執行TRIM清理。
G. 固態硬碟trim技術有什麼用途
而當Windows識別到SSD並確認SSD支持Trim後,在刪除數據時,會不向硬碟通知刪除指令,只使用Volume Bitmap來記住這里的數據已經刪除。Volume Bitmap只是一個磁碟快照,其建立速度比直接讀寫硬碟去標記刪除區域要快得多。這一步就已經省下一大筆時間了。然後再是寫入數據的時候,由於NAND快閃記憶體保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。
H. SSD術語常識:什麼是TRIM指令
Trim是什麼?
為了解決硬碟降速的問題,微軟聯合各大SSD廠商開發了一個新技術Trim。Trim指令也叫disabledeletenotify(禁用刪除通知),屬於ata8-acs2規范的技術指令。使用SSD時必須確保開啟系統中Trim指令。
系統對支持Trim指令的SSD啟動Trim命令後,這時在對SSD進行數據刪除的操作,我們知道NTFS文件系統是不向SSD發送刪除指令的,SSD發出新的Trim操作指令,告訴它相關頁面可以安全擦除,得到這一指示後,就不會急於執行擦除操作,而是等到再次有寫入操作的時候再執行,因為這時相關區域已經可以重新使用了,就不用花時間去擦除原本的數據。其速度比直接讀寫硬碟去標記刪除區域要快得多,既提升了讀寫效率又大大減輕了固態硬碟的損耗。
Trim有什麼用處?
如果SSD支持Trim指令,那麼SSD就可以長期使用不掉速,否則SSD會隨著使用時間越長速度就越慢。
如何查看電腦里是否已開啟Trim?
點擊開始菜單,在附件---命令提示符上右鍵單擊,選擇以管理員許可權運行並輸入「」
如果返回值是0,則代表您的TRIM處於開啟狀態
如果返回值是1,則代表您的TRIM處於關閉狀態
打開trim和關閉trim的方法
打開:命令行模式下:
若想關閉該功能,只需執行:
I. 為什麼固態硬碟需要TRIM
硬碟是電腦上不可或缺的存儲設備,我們知道傳統的機械硬碟裡面有一組高速旋轉的碟片,由於碟片的轉速存在物理瓶頸,因此要進一步提升速度已經非常困難,而固態硬碟(Solid-State Drive; SSD)的出現則突破了傳統硬碟的瓶頸,它依靠快閃記憶體晶元來存儲數據,工作穩定、無噪音、耗電少,隨著成本的下降,大有取代傳統硬碟的勢頭,比如現在蘋果的Macbook筆記本已經全面標配SSD,微軟的Surface系列電腦也同樣標配SSD。網上有很多文章說,SSD和傳統硬碟不同,它不需要碎片整理,但是需要操作系統支持TRIM,否則用一段時間之後SSD的性能就會下降,而且還會影響壽命。那麼TRIM到底是什麼東西,為什麼SSD需要TRIM而傳統硬碟卻不需要呢?
磁碟、數據和文件系統
要回答這個問題,我們得先了解一下我們的數據是如何存儲的。我們知道,存儲設備(無論是SSD還是傳統硬碟)只負責最底層的物理存儲,並不知道所存儲的數據到底有什麼意義,反正操作系統讓我讀或寫什麼數據我照辦就可以了,就好像一個倉庫裡面有好多庫位,存儲設備只負責把東西放到指定的庫位,或者把東西從指定的庫位拿出來,至於這個東西是屬於哪張訂單的,是要發給誰的,存儲設備並不關心。但是我們在電腦上看到的可不是毫無組織的數據,而是一些有組織的結構,例如分區、目錄和文件,把數據組織起來並進行管理的工作是由操作系統負責的,而操作系統組織和管理這些數據的規范,叫做「文件系統」。文件系統就像一張倉庫的收發貨管理表,它負責管理這些庫位的邏輯意義,比如說15、28、55這三個庫位的東西是屬於同一張訂單的,訂貨人是張三,這三個庫位在物理上並不連續,但通過管理表我們就能夠把它們關聯起來。不同的操作系統所採用的文件系統有所差異,例如較古老的FAT16/32、Windows的NTFS、OS X的HFS+、Linux的ext(ext2/3/4)等等。總結一下,我們需要保存的文件首先會交給操作系統,操作系統根據文件系統所規定的格式將這些數據組織起來,然後交給存儲設備進行保存。
快閃記憶體的困擾:寫入放大
現在我們所使用的大部分文件系統,都是從磁碟存儲(軟盤、硬碟)時代就開始存在的,因此它們的設計也是以磁碟存儲的原理為基礎的,但SSD採用的是快閃記憶體,由於物理原理存在差異,因此傳統的磁碟文件系統用在快閃記憶體上,就可能會產生一些問題,其中最大的一個問題就是「寫入放大」(write amplification)。舉個例子,在大部分磁碟文件系統中,當我們需要刪除一個文件時,操作系統只要將該文件所對應的所有數據塊在文件系統中標記為「空閑」就可以了,根本不需要實際去清除數據塊中存放的數據,因為這樣做沒有意義,這也就是為什麼我們一眨眼的時間就可以刪除一個很大的文件。也就是說,盡管用戶看起來文件被刪除了,但實際上它的數據還留在存儲設備中,只不過操作系統認為這些數據已經作廢了,下次有新數據的時候直接覆蓋掉它們就好了。
現在問題來了,這樣的設計必須建立在一個前提下,即對於物理存儲設備來說,「寫入空白數據塊」和「覆蓋已有內容的數據塊」所需要的操作是完全相同的。上述前提對於磁碟來說是完全成立的,因為磁碟的工作方式跟磁帶差不多,數據的記錄是根據介質上某個記錄單元的磁化方向來完成的。也就是說,在寫入數據時,磁頭只要將指定的記錄單元(扇區)磁化為所需的狀態即可,完全不必關心這個單元原本是怎樣的狀態。然而,上述前提在SSD上卻是不能成立的。因為在SSD中,只有空數據塊才能直接執行寫入操作;而對於非空數據塊,需要先執行擦除操作之後才能進行寫入。
乍看之下,SSD和傳統硬碟的區別僅僅是多了一步擦除操作而已,但實際上並非如此,更要命的還在後頭。在SSD中,數據存儲的最小單位是頁面(page),一個頁面的大小一般是4KB,若干個頁面又被組合成塊(block),一個塊的大小一般是256KB。由於硬體方面的限制,SSD可以單獨對某個頁面進行讀/寫的操作,但擦除操作卻只能對整個塊進行,也就是說,一旦擦除就必須一次性擦除整個塊。現在問題來了,如果一個頁面裡面已經有數據了,就無法直接寫入新數據,但如果要擦除這個頁面,就得把整個塊全都擦除,那麼這個塊裡面其他頁面中的數據也跟著一起擦掉了,這可怎麼辦?
現實中,如果操作系統要讓SSD改寫某個頁面的數據,SSD需要執行這樣的操作:
1. 將要改寫的目標頁面所在的整個塊的數據讀取到緩存
2. 在緩存中修改目標頁面的數據
3. 對整個塊執行擦除操作
4. 將緩存中的數據重新寫入整個塊中
這就意味著,如果我要修改1個頁面,就必須把整個塊都折騰一遍,實際上相當於寫入了64個頁面的數據——實際搬運和寫入的數據量遠遠超過了需要寫入的數據量,這就是「寫入放大」。我們可以看出,寫入放大不僅影響了SSD的寫入性能,而且還增加了SSD中快閃記憶體晶元的「磨損」,縮短整個SSD的使用壽命。
TRIM是為了讓操作系統和SSD更好地溝通
對於寫入放大,SSD表示一個巴掌拍不響,這不都是我的問題,因為一塊數據在邏輯上有沒有被刪除只有操作系統才知道,SSD本身是不知道的——你看,很多問題其實都是因為溝通不暢而產生的。於是,一些SSD在控制晶元中提供了一個TRIM命令,操作系統在刪除文件時,順便向SSD發送TRIM命令告訴它哪些數據塊中的數據已經不再使用了,SSD在收到TRIM命令後,通常會在定期的垃圾收集操作中重新組織這些區塊,為將來寫入數據做好准備——有了TRIM,SSD就能夠更好地與操作系統相互配合了。盡管每一款SSD在硬體層面對TRIM命令的執行機制都不盡相同,但無論如何,通過TRIM能夠顯著改善SSD的性能和壽命。當然,大家可能也已經發現了,有了TRIM之後,刪除的文件數據會被SSD自動回收,這意味著以往在傳統硬碟上能夠使用的一些數據恢復(反刪除)軟體,在SSD上可能就不再管用了。
既然TRIM如此重要,那麼應該如何啟用呢?一般來說,只要你所使用的操作系統支持TRIM,就無需任何額外的操作。支持TRIM的操作系統:Windows 7及後續版本、OS X 10.6.8及後續版本、Linux內核版本2.6.33及後續版本。對於Windows XP用戶,系統不支持TRIM,可以選擇SSD廠商(如Intel)提供的軟體來實現定期的垃圾回收,模擬TRIM的效果。
治標還要治本:快閃記憶體文件系統
大家可能已經發現了,TRIM實際上只是一個「治標」的辦法,其實產生寫入放大等問題的根本原因在於現有的文件系統是磁碟存儲時代的產物,並不完全適用於快閃記憶體,因此如果要「治本」,就必須開發出適合快閃記憶體的文件系統,也就是「快閃記憶體文件系統」。快閃記憶體文件系統能夠讓操作系統更好地控制和管理SSD等快閃記憶體存儲設備,除了能夠有效避免寫入放大之外,快閃記憶體文件系統還有一些其他的設計,例如磨損均衡和隨機優先等,這些設計都是基於快閃記憶體所獨有的物理特性而來的,因此可謂是「量體裁衣」。盡管從目前來看,由於兼容性等一些原因,快閃記憶體文件系統還沒有得到普及,但隨著今後快閃記憶體存儲設備越來越多,用快閃記憶體文件系統來代替傳統的磁碟文件系統應該說是一個必然的趨勢。
J. SSD固態硬碟怎麼開啟TRIM
win7系統在硬碟工作於ahci模式時,自動開啟trim功能,硬碟工作模式設置需要在bios進行,不同品牌bios設置有所區別,以聯想ThinkPad e431為例操作步驟如下:
1、開機後按del進入bios設置,選擇advanced bios features選項,回車進入;
2、接著使用左右方向鍵將游標移至「config」菜單,再使用上下方向鍵將游標移至「serial ata(sata)」按回車鍵進入設置界面,如下圖所示:
3、進入到serial ata(sata)界面後,可以看到sata controller mode option後中括弧中為「compatibility」,按回車鍵進行硬碟模式更改,如下圖所示:
4、在彈出的窗口中,將游標移至「ahci」按回車鍵確認選擇,如下圖所示:
5、完成以上操作後,按F10鍵在彈出的確認提示窗口中按Y鍵確認保存設置,退出並重啟電腦即可。