① 固態硬碟trim技術有什麼用途
而當Windows識別到SSD並確認SSD支持Trim後,在刪除數據時,會不向硬碟通知刪除指令,只使用Volume Bitmap來記住這里的數據已經刪除。Volume Bitmap只是一個磁碟快照,其建立速度比直接讀寫硬碟去標記刪除區域要快得多。這一步就已經省下一大筆時間了。然後再是寫入數據的時候,由於NAND快閃記憶體保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。
② 固態硬碟為什麼需要TRIM
在機械硬碟上寫入數據時,Windows會將先將以前的硬碟數據擦除,再將新的數據寫入。在刪除數據時,Windows只會在此處做個標記,說明這里應該是沒有東西了,等到真正要寫入數據時再來真正刪除,並且做標記這個動作會保留在磁碟緩存中,等到磁碟空閑時再執行。就像我們的機械硬碟很容易進行數據恢復一樣。
這樣磁碟需要更多的時間來執行以上操作,速度會慢下來。
而當Windows識別到SSD,並確認SSD支持Trim後,在刪除數據時,會不向硬碟通知刪除指令,只使用Volume Bitmap來記住這里的數據已經刪除。Volume Bitmap只是一個磁碟快照,其建立速度比直接讀寫硬碟去標記刪除區域要快得多。
這一步就已經省下一大筆時間了。然後再寫入數據的時候,由於NAND快閃記憶體保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。
以上就是Trim的原理以及真正作用。
③ 怎麼看固態硬碟有沒有trim
我的回答是:
一是這個trim功能是專門針對固態硬碟的特殊讀寫訪問方式設計的,固態硬碟由於是全數字模式進行讀寫操作的,讀寫操作完全不同於機械硬碟,因此針對固態硬碟的優化才開發的trim功能;
二是觀看固態硬碟背面應該貼有標簽,標簽上應該有說明的。我想大多的固態硬碟都有這個功能的,現在的固態硬碟最大的特點是讀取數據速度最快,寫入數據速度最快,比一般的機械硬碟要快,一般的硬碟讀寫數據大約為133-166MB/秒,而固態硬碟讀寫數據大約200MB以上/秒。
④ 固態硬碟trim原理是什麼
在機械硬碟上,寫入數據時,Windows會通知硬碟先將以前的擦除,再將新的數據寫入到磁碟中。
⑤ SSD的TRIM功能有什麼作用
Trim的作用
原本在機械硬碟上,寫入數據時,Windows會通知硬碟先將以前的擦除,再將新的數據寫入到磁碟中。而在刪除數據時,Windows只會在此處做個標記,說明這里應該是沒有東西了,等到真正要寫入數據時再來真正刪除,並且做標記這個動作會保留在磁碟緩存中,等到磁碟空閑時再執行。
這樣一來,磁碟需要更多的時間來執行以上操作,速度當然會慢下來。
而當Windows識別到SSD並確認SSD支持Trim後,在刪除數據時,會不向硬碟通知刪除指令,只使用Volume Bitmap來記住這里的數據已經刪除。Volume Bitmap只是一個磁碟快照,其建立速度比直接讀寫硬碟去標記刪除區域要快得多。這一步就已經省下一大筆時間了。然後再是寫入數據的時候,由於NAND快閃記憶體保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。
以上就是Trim的原理以及真正作用。
注意:如果SSD組RAID0後,將失去Trim功能
這個功能一個大的特點就是:回收閑置的SSD數據塊
Objective Analysis的SSD分析師Jim Handy這樣形容到(Objective Analysis是一家半導體市場研究公司):
TRIM指令讓操作系統可以告訴固態驅動器哪些數據塊是不會再使用的;否則SSD控制器不知道可以回收這些閑置數據塊。
Handy表示:"TRIM對SSD是個福音。"
他認為TRIM的簡約性將極大減少寫入負擔,同時允許SSD更好地在後台預刪除閑置的數據塊,以便讓這些數據塊可以更快地預備新的寫入。
SandForce首席技術官Radoslav Danilak表示,值得注意的是OS(操作系統)的角色。
Danilak表示:"SSD知道哪些過期數據可以刪除和回收,但是它不知道操作系統已經決定刪除哪些數據,直到操作系統為了新的信息而重新使用邏輯塊地址(LBA)。"
Danilak表示:"TRIM這種指令的優點便是它可以同時透過過期數據和OS刪除的數據來訪問LBA,從而推動性能的改善。TRIM唯一的缺點便是如果它在SSD固件中沒有得到很好的實施,那麼它的操作有可能會阻礙正常的驅動器操作。"
STEC負責SSD技術營銷的高級經理Scott Shadley認為,如果TRIM可以讓SSD完全忽略一個LBA范圍的數據,那麼這是一件好事,但是這種結果也有可能沒有什麼用處。
對Shadley來說,真正的問題是,如果損耗平衡技術(wear leveling )在運作,那麼LBA范圍並不一定反映SSD快閃記憶體的物理地址序列。
Shadley表示:"這意味著SSD還是要面臨如何將數據遷移到設備內部真正空餘空間的問題。"
Shadley表示:"如果那個LBA范圍反映的是整個介質上的頁面,那麼實際上就沒有空餘的塊或最小的可擦寫的單位。這會帶來更加復雜的損耗平衡過程,從而進一步加重寫入負擔。TRIM只適合於那些損耗平衡過程實際上並未有效節約或延長驅動器性能或壽命的SSD。"
開關Trim後的寫入速度對比
舉個例子,假如一個128KB大小的區塊內存放著一個128KB的文件,如果文件被刪除並執行Trim操作,固態硬碟就可以避免把這個區塊中的位元組與對此區塊的後續寫入所需的其它位元組相混合,這能大大減輕固態硬碟的「磨損」。
在Windows 7里,Trim請求不僅限於刪除操作,也於分區和卷級別命令、文件系統命令、系統還原功能完全整合。
win7下Trim啟用的驗證方法
其實Windows 7默認狀態下Trim指令是開啟的,如果想查詢目前的Trim指令狀態,我們可以在管理員許可權下,進入命令提示符界面,輸入「fsutil behavior QUERY DisableDeleteNotify」,之後會得到相關查詢狀態的反饋。在這里,提示為「DisableDeleteNotify = 0」即Trim指令已啟用;提示為「DisableDeleteNotify = 1」即為Trim指令未啟用。
並不是操作系統提供Trim指令支持,所有SSD都能享受到Trim技術所帶來的好處,這還需要固態硬碟的固件支持才能實現。一些主要的固態硬碟主控晶元廠商已經提供了支持Trim的固件(例如英特爾"X25-M G2"),不過也有廠商開發出不依賴操作系統的垃圾回收技術,通過回收不再使用的快閃記憶體區塊加入負載平衡演算法,防止固態硬碟在長期使用後速度下滑,並延長快閃記憶體使用壽命,過程完全在固態硬碟內部完成。
有關固態硬碟(SSD)還有很多其他的相關問題,畢竟目前來說固態硬碟不太容易普及應用,只能適合用來做一些高速系統啟動盤,或者專門的軟體安裝盤來達到高速的效果,應用上仍然存在很多的疑問。
⑥ 固態硬碟trim原理 固態硬碟為什麼需要TRIM
在機械硬碟上寫入數據時,
Windows會通知硬碟先將以前的擦除,
再將新的數據寫入到磁碟中。
而在刪除數據時,Windows只會在此處做個標記,
說明這里應該是沒有東西了,
等到真正要寫入數據時再來真正刪除,
並且做標記這個動作會保留在磁碟緩存中,
等到磁碟空閑時再執行。
這樣一來,磁碟需要更多的時間來執行以上操作,
速度當然會慢下來。
而當Windows識別到SSD並確認SSD支持Trim後,
在刪除數據時,會不向硬碟通知刪除指令,
只使用Volume Bitmap來記住這里的數據已經刪除。
Volume Bitmap只是一個磁碟快照,
其建立速度比直接讀寫硬碟去標記刪除區域要快得多。
這一步就已經省下一大筆時間了。
然後再是寫入數據的時候,
由於NAND快閃記憶體保存數據是純粹的數字形式,
因此可以直接根據Volume Bitmap的情況,
向快照中已刪除的區塊寫入新的數據,
而不用花時間去擦除原本的數據。
⑦ 固態硬碟trim原理
通常磁碟操作的刪除不是馬上刪除,而是標記為待刪除的無效數據。機械硬碟工作原理只有讀和寫,因為數據是可以直接在原有的磁軌上進行覆蓋,不需要經過清除這個步驟,這是機械硬碟磁軌記錄信息的特點。但是SSD不行,SSD是讀、擦、寫三個步驟,任何一個記錄模塊如果裡面有數據,必須把有數據的區域擦除清零才能寫入。
因此,對於SSD而言TRIM的最大作用是清空待刪除的無效數據,在SSD執行讀、擦、寫步驟的時候,預先把擦除的步驟先做了,這樣才能發揮出SSD的性能,通常SSD掉速很大一部分原因就是待刪除的無效數據太多,每次寫入的時候主控都要先做清空處理,所以性能受到了限制。
用個例子來說明,假設有一個100G全部存滿數據的SSD,然後刪除掉50G的數據,那麼SSD刪除數據是先標記這50G為待刪除無效數據,不再進行訪問,然而這些數據依然占據你的磁碟空間,系統則會顯示你有50G的空間,當你需要寫入新數據的時候,就會把那50G的空間執行擦除然後再執行寫入,主控同時進行擦除和寫入,如果數據量很大的話掉速就會出現。主控進行擦除也是按照性能原則來進行的,一般都是要寫入多少數據就擦除多少待刪除無效數據,這樣才能保持最大的性能。TRIM里關於清空無效數據的指令,一般來說每個主控都會有,理論上不需要你操作主控會自己判斷。但這只是理論,實際上主控沒有那麼聰明,很多時候並不會主動清理,它需要一個邏輯判斷,通常是系統空閑的時候才會操作這個步驟,可是一般人上班的時候基本上電腦都不會空閑,就容易發生工作時間8小時內SSD都不會執行清理程序,只會在空白空間不夠的時候再根據需要清理。
打個比方,家的櫃子裝東西,櫃子里放滿了東西,這個櫃子能不能再放新的物件取決於要不要丟掉櫃子里的一些東西。如果暫時沒有新物件放進去又不想現在丟掉箱子里的東西,那麼這個箱子在認知中是還可以放東西的(只是需要先丟一些東西,這就是刪掉了50G數據,這些數據還在,但是系統顯示有50G的空間,只是做了標記可以放東西不,不代表目前有空間),但放東西之前必須要先拿部分東西騰空間的流程,這個流程是現在做(TRIM開啟,及時清空無效數據),還是需要放新東西的時候再說(由主控來控制,有需要的時候再清理,例如空白空間用完了)。開啟TRIM指令的好處是,隨時清空待刪除無效數據,而不是等到要寫新數據時的才開始清空,加大主控負擔。
⑧ 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的方法
打開:命令行模式下:
若想關閉該功能,只需執行:
⑨ 為什麼固態硬碟需要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等快閃記憶體存儲設備,除了能夠有效避免寫入放大之外,快閃記憶體文件系統還有一些其他的設計,例如磨損均衡和隨機優先等,這些設計都是基於快閃記憶體所獨有的物理特性而來的,因此可謂是「量體裁衣」。盡管從目前來看,由於兼容性等一些原因,快閃記憶體文件系統還沒有得到普及,但隨著今後快閃記憶體存儲設備越來越多,用快閃記憶體文件系統來代替傳統的磁碟文件系統應該說是一個必然的趨勢。