可能很多人已經(jīng)遺忘了windows自帶的磁盤碎片管理程序。這個程序已經(jīng)在windows中存在了很多年,筆者剛開始接觸電腦時用的win98上就自帶這個工具。
那時玩電腦還是個很新奇的事情,總想把電腦的速度弄得快一點。于是時不時的就開下這個磁盤碎片整理程序,聽到機(jī)械硬盤一陣嘎啦嘎啦響之后,所有的雜亂的“顏色”都被排列的整整齊齊的。有點小強(qiáng)迫癥的我就覺得非常舒服。
如今隨著NAND閃存越來越便宜,
固態(tài)硬盤(
SSD)已經(jīng)成了電腦的標(biāo)配了,在工業(yè)領(lǐng)域更是有
睿達(dá)Agrade等性價比很高的品牌。而大家現(xiàn)在對
固態(tài)硬盤特性都有所了解:讀寫速度快但使用壽命相對不如機(jī)械硬盤。在機(jī)械硬盤(HDD)的領(lǐng)域,有磁盤碎片整理(Defragment)這一據(jù)說能提高硬盤性能的功能,那么我們需要給
SSD做磁盤碎片整理么?
回答這個問題,我們想要大致了解下機(jī)械硬盤和固態(tài)硬盤結(jié)構(gòu)上的區(qū)別:
機(jī)械硬盤的核心部件是由馬達(dá)、磁片、磁頭。磁片上可以以0、1的形式記錄數(shù)據(jù),硬盤運行時馬達(dá)帶動磁片以每分鐘幾千的轉(zhuǎn)數(shù)高速旋轉(zhuǎn),磁頭則在離磁片很近的位置進(jìn)行讀寫操作。
由于數(shù)據(jù)是存儲在磁片的一個個扇區(qū)中,而民用級的硬盤轉(zhuǎn)速通常只有5400轉(zhuǎn)和7200轉(zhuǎn)兩種。看似速度很快了,但實際上磁頭在磁盤上讀取數(shù)據(jù)時還是有“尋道時間”的。雖然硬盤制造商可以通過提高盤片密度、磁頭數(shù)、緩存容量等來提高尋道效率。但受到機(jī)械結(jié)構(gòu)的限制,目前最強(qiáng)的HDD連續(xù)讀取速度也沒有超過200MB/s級別,而隨機(jī)性能更是完全不能和SSD相比。
而當(dāng)一塊空的HDD(機(jī)械硬盤)開始寫入數(shù)據(jù),它們將被分散保存到整個磁盤的不同地方,而不是連續(xù)地保存在磁道中。隨著隨著硬盤日復(fù)一日地被寫入、刪除。磁盤中的空閑扇區(qū)會越來越零碎,復(fù)制進(jìn)去的數(shù)據(jù)也會被分配到不連續(xù)的扇區(qū)里。如此下去,再去讀取這些數(shù)據(jù)的時候,磁頭就需要更加頻繁的來回移動,從而降低了磁盤的訪問速度。
而所謂磁盤碎片整理,就是通過windows自帶的磁盤優(yōu)化工具或者第三方的磁盤整理程序。把這些不連續(xù)的數(shù)據(jù)和凌亂的文件重新整理,讓它們連續(xù)和有序的排列在扇區(qū)中。這樣的話理論上級可以提高磁盤的讀寫效率。
再來說說SSD的構(gòu)造:
SSD是由NAND閃存+主控+緩存+PCB+接口等組成,由于數(shù)據(jù)傳輸和讀寫都是由電子信號來完成。SSD擺脫了馬達(dá)轉(zhuǎn)速和磁頭尋道這些機(jī)械瓶頸,性能自然就上來了。如今高性能的SSD的連續(xù)讀寫速度已經(jīng)超過了2GB/s(這還是受制于PCI-E 3.0的速度限制,理論上速度還可以更快),在隨機(jī)讀寫速度上,更是把HDD遠(yuǎn)遠(yuǎn)的拋在后頭。
SSD不需要尋道時間,所以文件數(shù)據(jù)排列連續(xù)與否對讀取速度并沒有太大的提升。相反如果用機(jī)械硬盤的思路去幀率SSD內(nèi)部數(shù)據(jù)反而會影響到SSD的壽命(SSD的寫入次數(shù)是有限的),而SSD寫入數(shù)據(jù)時也不是像機(jī)械硬盤那樣可以直接覆蓋,而是需要先擦除原來的數(shù)據(jù)再把新的數(shù)據(jù)寫進(jìn)去。擦除的過程對于SSD來說耗時最久,所以針對機(jī)械硬盤優(yōu)化的磁盤碎片整理程序并不適合SSD來使用。
那么我們要怎么去優(yōu)化SSD呢?其實針對SSD的優(yōu)化,軟硬件廠商已經(jīng)統(tǒng)一給出了解決方案。那就是那就是Trim指令。當(dāng)Windows識別到SSD并確認(rèn)SSD支持Trim后,在刪除數(shù)據(jù)時,會不向硬盤發(fā)出刪除指令,而只使用Volume Bitmap來標(biāo)記這里的數(shù)據(jù)已經(jīng)刪除。
這相當(dāng)于只是把要刪除的數(shù)據(jù)標(biāo)記起來,再寫入數(shù)據(jù)的時候。系統(tǒng)會把Volume Bitmap標(biāo)記出來的區(qū)塊直接寫入新的數(shù)據(jù)。這樣就可以大大提高效率。
在windows7之前版本的windows系統(tǒng)中,系統(tǒng)是區(qū)分不出SSD 和HDD的。所以如果你還在使用XP系統(tǒng),最好不要用它的磁盤碎片整理功能來優(yōu)化SSD硬盤。而當(dāng)你在用win7時,系統(tǒng)會自動不對SSD的碎片整理功能;來到win8和win10系統(tǒng)操作系統(tǒng)在識別到SSD后,在默認(rèn)開啟磁盤碎片整理的情況下,會把它和HDD一起放入到優(yōu)化隊列中,對HDD運行碎片整理,而SSD執(zhí)行Trim優(yōu)化。
不過個人覺得,如今使用磁盤碎片整理的意義已經(jīng)不大——在以前磁盤碎片整理后可以得到一些運行速度的提升。而現(xiàn)在的系統(tǒng)通常都被裝到SSD硬盤中,碎片整理對其速度提升已沒有那么明顯。
如今的機(jī)械硬盤都是幾個T級別大小,運行磁盤整理會非常耗時。整理以后對速度的提升也十分有限。而固態(tài)硬盤的主控中就自帶了SSD的擦除管理和回收機(jī)制,在機(jī)器空閑時主控會自動運行這些程序(當(dāng)然不同品牌SSD整理機(jī)制和觸發(fā)條件不盡相同)。真的需要優(yōu)化的情況下,我還是推薦使用廠家自主開發(fā)的優(yōu)化程序。
所以除非你真的很有時間且有此習(xí)慣,否則磁盤碎片整理真的是沒啥必要了。