九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SSD基礎(chǔ)之Trim命令
 

SSD基礎(chǔ)之Trim命令

2011-03-14 20:50:50|  分類: 測評探索 |  標(biāo)簽:trim  ssd  寫入  刪除  數(shù)據(jù)   |字號 訂閱

本文轉(zhuǎn)自http://bbs.pceva.com.cn/thread-2407-1-1.html

我相信聽到過買SSD要買支持Trim的玩家不在少數(shù),不過我敢肯定大多數(shù)玩家到目前為止還搞不懂Trim到底是干啥的,只是一味跟風(fēng),今天在這里我就稍微詳細(xì)的解釋下Trim這個命令。

Q: 為啥我們需要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ù)雜了,需要許多步驟來完成。步驟可見下圖:

 
當(dāng)SSD的所有空閑塊都被使用后,再有寫入操作,它只能覆寫數(shù)據(jù)到之前被操作系統(tǒng)標(biāo)記為刪除的區(qū)域。這也是速度下降的開始:

要覆寫一個4KB 頁的文件系統(tǒng),首先要把整個512KB 塊復(fù)制進緩存里。然后,在緩存里刪除這個4KB頁,替換成新的數(shù)據(jù)。接下來,清空整個閃存內(nèi)的這個512KB區(qū)域,并從緩存里把新的數(shù)據(jù)寫回去。如果你需要同時覆寫很多的塊 - ”例如是一系列小文件隨機寫入操作或者只是簡單的寫入一個大文件到SSD“。你會讓你的SSD緩存快速過載,然后你的寫入速度就會”垂直落體“。。。告訴你,你能體會到會有多慢,早期緩存少的SSD甚至?xí)舆t接近1秒(JMF602之流),為了修復(fù)這個問題,SSD廠商一個個都在新主控制器上加入了越來越大的外置緩存,這雖然一定程度上解決了隨機寫入卡的問題,但是卻不能解決SSD在覆寫時速度下降的問題。

Q: Trim命令到底做了什么?

A: 簡而言之,這個問題是因為操作系統(tǒng)和文件系統(tǒng)不能和SSD的主控進行刪除文件的交流造成的,如果有之前沒清除干凈的數(shù)據(jù),所有寫入的頁的操作都要先清除塊再改寫,將嚴(yán)重影響寫入速度。有2種途徑來修復(fù)這個問題:

第一個就是定期運行垃圾回收程序(GC)(這個操作有點像整理,在SSD空閑時,全盤掃描有效的頁并合并整理起來變?yōu)橐粋€包含全部有效頁的塊,而那些無效的頁和塊都將被完全的清除)。

第二個更好的途徑就是當(dāng)數(shù)據(jù)刪除時候讓系統(tǒng)告訴SSD數(shù)據(jù)沒了,讓SSD立即擦掉那些數(shù)據(jù)占用的塊,這就是Trim命令做的事。
當(dāng)一個文件在支持Trim的系統(tǒng)里被刪除后,操作系統(tǒng)會發(fā)個命令給SSD,讓他知道這個數(shù)據(jù)所在的這個page可以直接被寫入,等于把控制權(quán)從操作系統(tǒng)變?yōu)榱薙SD主控制器固件。SSD一樣會復(fù)制整個包含刪除數(shù)據(jù)的塊到緩存,清空塊并寫入有效數(shù)據(jù)的頁回去,區(qū)別是這樣等于把這個延遲時間從覆寫數(shù)據(jù)的那個時間提前到了刪除數(shù)據(jù)的時候(這個時候你對速度不敏感,如果你刪除了很大很大的數(shù)據(jù),可以去觀察硬盤燈在你刪除之后幾秒內(nèi)狂閃),自然就會顯得SSD的速度回來了,因為你寫入的時候有可用的空塊。barefoot主控的SSD,有個程序叫做Wiper,這個程序會掃描全盤,清除掉全盤過去被刪除的頁(和Trim的操作一樣,手動),讓SSD像新買來的一樣。事實上這個程序在清除全盤已刪除的數(shù)據(jù)之前,預(yù)先做了有效數(shù)據(jù)備份。由于程序獨特算法和主控對應(yīng),別家的主控不支持,因為不算是真正的Trim命令(不是由系統(tǒng)發(fā)出的命令),所以可以支持XP之類的老系統(tǒng)。

所以我們可以說,Trim保證速度不下跌的真正秘密是: 把將來要做的事提前做掉了。 但是這件事遲早要做,所以基本不會影響SSD原有的寫入次數(shù)(壽命)。
有很多人說,Trim是為測試而生的,這話其實沒錯,因為 1.Trim不能提速,只是保證速度盡可能不下降。(實際是SSD上沒被使用的容量那里的速度不下降。Trim提前把那里的塊清空了。下次直接可以寫當(dāng)然快了。)2.Trim沒改變原本要做的事,只是提前做掉了,測試軟件測試時候就不需要做了,從而“顯得”速度上去了。
對于GC來說,由于是移動,整理,合并了舊頁到新塊,刪除了無效的舊塊,會犧牲點寫入次數(shù)(壽命)。但是GC支持RAID,也算有利有弊吧。

Q : 支持Trim有啥要求?RAID到底支持不支持Trim?

A : 首先我也是個玩家,非業(yè)內(nèi)人士,所以下面的回答可能不正確,歡迎指出,而且這東西隨時后更新,現(xiàn)在的答案不一定用的到將來。

Trim的三要素:

               1. 系統(tǒng): Win7, 2008R2 , Linux核心2.6.28以上。
               2. 固件: SSD的廠商在固件里要放有Trim算法。
               3. 驅(qū)動: MS的驅(qū)動,Intel的AHCI驅(qū)動目前支持。 別的要看之后的更新了。
以上3點缺一不可。

RAID陣列里的盤明確不支持TRIM,不過RAID可以支持GC。詳細(xì)操作請看 手動GC


當(dāng)前固件下的SF1200和SF1500主控SSD,請使用Intel的AHCI驅(qū)動,MSAHCI不支持TRIM。這個bug是因為此主控算法極其特殊,采用改革的壓縮算法,造成刪除數(shù)據(jù)時,Trim命令發(fā)送給了錯誤的頁和塊,造成Trim無效。


附:百度文庫中關(guān)于Trim的描述http://baike.baidu.com/view/926428.htm

Trim的作用
  原本在機械硬盤上,寫入數(shù)據(jù)時,Windows會通知硬盤先將以前的擦除,再將新的數(shù)據(jù)寫入到磁盤中。而在刪除數(shù)據(jù)時,Windows只會在此處做個標(biāo)記,說明這里應(yīng)該是沒有東西了,等到真正要寫入數(shù)據(jù)時再來真正刪除,并且做標(biāo)記這個動作會保留在磁盤緩存中,等到磁盤空閑時再執(zhí)行。   這樣一來,磁盤需要更多的時間來執(zhí)行以上操作,速度當(dāng)然會慢下來。
  而當(dāng)Windows識別到SSD并確認(rèn)SSD支持Trim后,在刪除數(shù)據(jù)時,會不向硬盤通知刪除指令,只使用Volume Bitmap來記住這里的數(shù)據(jù)已經(jīng)刪除。Volume Bitmap只是一個磁盤快照,其建立速度比直接讀寫硬盤去標(biāo)記刪除區(qū)域要快得多。這一步就已經(jīng)省下一大筆時間了。然后再是寫入數(shù)據(jù)的時候,由于NAND閃存保存數(shù)據(jù)是純粹的數(shù)字形式,因此可以直接根據(jù)Volume Bitmap的情況,向快照中已刪除的區(qū)塊寫入新的數(shù)據(jù),而不用花時間去擦除原本的數(shù)據(jù)。
  以上就是Trim的原理以及真正作用。
  注意:如果SSD組RAID0后,將失去Trim功能
win7下Trim啟用的驗證方法
  其實Windows 7默認(rèn)狀態(tài)下Trim指令是開啟的,如果想查詢目前的Trim指令狀態(tài),我們可以在管理員權(quán)限下,進入命令提示符界面,輸入“fsutil behavior QUERY DisableDeleteNotify”,之后會得到相關(guān)查詢狀態(tài)的反饋。在這里,提示為“DisableDeleteNotify = 0”即Trim指令已啟用;提示為“DisableDeleteNotify = 1”即為Trim指令未啟用。   并不是操作系統(tǒng)提供Trim指令支持,所有SSD都能享受到Trim技術(shù)所帶來的好處,這還需要固態(tài)硬盤的固件支持才能實現(xiàn)。一些主要的固態(tài)硬盤主控芯片廠商已經(jīng)提供了支持Trim的固件(例如英特爾"X25-M G2"),不過也有廠商開發(fā)出不依賴操作系統(tǒng)的垃圾回收技術(shù),通過回收不再使用的閃存區(qū)塊加入負(fù)載平衡算法,防止固態(tài)硬盤在長期使用后速度下滑,并延長閃存使用壽命,過程完全在固態(tài)硬盤內(nèi)部完成。


那么Trim到底解決了什么問題?就是之前SSD刪除數(shù)據(jù)時,操作系統(tǒng)只是標(biāo)記數(shù)據(jù)被刪除,而數(shù)據(jù)實際上還保存在SSD上,當(dāng)有新的數(shù)據(jù)寫入時,SSD需要將原來在SSD上的數(shù)據(jù)搬家,而搬家過程就產(chǎn)生了無謂的寫入,而Trim實際上就是解決了這個問題,讓數(shù)據(jù)真正的被刪除,或者說不再出現(xiàn)搬家的情況!

而這個功能也并非非要win7才行,xp也一樣可以,用intel ssd toolbox就可以了,里面有內(nèi)置的優(yōu)化器,可以完成優(yōu)化功能。以下組合都可以讓Trim技術(shù)生效。
1:如果是win7,安裝微軟的native ahci,不需要安裝intel ssd toolbox
2:如果是win7,安裝Intel的Intel Matrix Storage Manager驅(qū)動,并安裝intel ssd tool box
3:如果是winxp,安裝Intel的Intel Matrix Storage Manager驅(qū)動,并安裝intel ssd tool box

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
任何品牌SSD都可以手動TRIM的威剛ToolBox 工具箱(支持XP)|SSD存儲技術(shù)
【W(wǎng)in7 如何檢查是否開啟Trim】固態(tài)硬盤問答堂
換了固態(tài)硬盤,電腦也沒快多少,這些設(shè)置你改了嗎?
Intel新驅(qū)動顯神威 談SSD組RAID 0得失
如何檢測SSD固態(tài)硬盤是否開啟Trim指令?
固態(tài)硬盤SSD知識大全 固態(tài)硬盤優(yōu)缺點及選購誤區(qū)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服