若是您正在使用或者準備購買固態硬盤(SSD),確定會其已經有了必定的瞭解。因爲固態硬盤的結構和機械硬盤有本質的不一樣,固態硬盤要實現真正的性能發揮須要TRIM指令等一些特殊的手段。不過大多數人並不知道,或者並無注意的是,除了某些較新的固態硬盤之外,分區以及格式化對於固態硬盤也有着極其重要的影響。若是您只是簡單地用XP或者其餘一些較老的工具對固態硬盤進行分區和格式化的話,獲得的性能可能會只有幾分之一! 注:Intel的固態硬盤在控制器層面上對這個問題進行了自動補償,所以若是您使用的是Intel的固態硬盤的話,能夠跳過本文了。工具
##一. 問題的根源性能
問題的根源要從固態硬盤的組成部分,閃存提及。目前的絕大多數閃存的組織結構是劃分紅不少個512KB的塊(Block),而每一個塊又由不少以4KB爲單位的頁(Page)組成。這就好像我國的行政組織是劃分紅衆多個省,每一個省又劃分紅不少個市同樣。閃存的工做原理決定了它的擦除操做是以塊(Block)爲單位,而寫入操做則是以頁(Page)爲最小單位。本站的固態硬盤技術專題可讓您更多地瞭解固態硬盤以及閃存。 另外一方面,咱們的操做系統在管理硬盤時也有一個最小分配單元。NTFS的默認的最小分配單元的大小剛好也是4KB,這很不錯。不過問題在於,在進行分區時一般並非從頭開始的,而是有一個偏移值。好比使用Windows XP的分區工具的話,這個偏移值會讓分區從一頁的中部開始。也就是說,操做系統的最小分配單元和固態硬盤的頁之間錯位了。這樣致使的結果就是,操做系統每次寫一個4KB的數據,在實際運行時都有會兩次寫操做。理想的狀況應該是,操做系統的每一個最小分配單元都剛好和閃存的一個頁對應起來,這樣操做系統每次寫一個4KB的數據,只須要實際的一次寫操做就能夠完成。二者之間的性能差距最多可能能夠達到兩倍! 若是分區時沒有對齊,並且格式化時又沒有使用4KB做爲最小分配單元的話,性能損失可能更大。在國外著名網站Anandtech的測試中,對某頂級固態硬盤使用FAT進行格式話,並且分區時也沒有對齊,結果4KB文件的寫入性能極其糟糕。換成對齊分區以及4KB的最小分配單元之後,4KB文件的寫入性能幾乎達到了以前的10倍!測試
##二. 如何正確地分區和格式化優化
這個問題的解決方法其實簡單得很,那就是使用Windows7的分區工具來對您的固態硬盤進行分區,而後在格式化時使用4KB(4096B)做爲分配單位大小便可。微軟早已認識到固態硬盤須要操做系統的良好支持,因此在Windows7中加入了TRIM指令和分區對齊等針對固態硬盤的優化。使用固態硬盤的話,Windows7是目前最佳的操做系統選擇。 可是若是沒有Windows7怎麼辦呢?在XP和Vista下面,固然仍是有辦法的,並且並不算複雜。固然,這涉及到從新分區,因此若是您的固態硬盤裏面已經有數據的話,會所有丟失,因此須要作好備份。另外,您還須要準備好一個裝好系統的電腦。固然,這很簡單,先把系統裝在另外一個硬盤便可,大多數使用固態硬盤的朋友應該都有不僅一個硬盤吧? 這個操做能夠經過一個免費的工具軟件Diskpar.exe來完成,您能夠經過微軟的官方網站下載到這個軟件 把固態硬盤鏈接到這個PC上,而後進入控制面板,在管理工具->計算機管理->磁盤管理中,找到您的固態硬盤當前是幾號盤。好比當前您的電腦中有兩塊硬盤的話,固態硬盤多是1號盤。記下這個號碼。另外,把全部分區都刪除,進行以前請備份好數據。 在開始->運行中,鍵入CMD。在跳出來的命令行窗口中,來到您放置diskpar.exe的文件夾。首先您能夠經過diskpar來再次判斷一下這個號碼是否是正確的。鍵入diskpar -i 1。(注:這裏面的1應根據您在前面看到的數值來輸入。),回車後diskpar會輸出相似下面的信息: ---- Drive 1 Geometry Infomation ---- Cylinders = 4139 TracksPerCylinder = 240 SectorsPerTrack = 63 BytesPerSector = 512 DiskSize = 32041820160 (Bytes) = 30557 (MB) 最後一行顯示的是硬盤的大小,好比例子中的30557(MB)是個30G的硬盤。若是您的結果算出來和您的硬盤大小不一樣,請再次到控制面板中確認硬盤號。若是沒法確認硬盤號的話,最好就此打住,否則您可能會擦除掉電腦中其餘硬盤的數據。 鍵入diskpar -s 1,這時會有以下顯示: Set partition can only be done on a raw drive. You can use Disk Manager to delete all existing partitions Are you sure drive 1 is a raw device without any partition? (Y/N) 請確認您以前已經刪除這個固態硬盤上的全部分區,按下Y。 ---- Drive 1 Geometry Infomation ---- Cylinders = 4139 TracksPerCylinder = 240 SectorsPerTrack = 63 BytesPerSector = 512 DiskSize = 32041820160 (Bytes) = 30557 (MB) We are going to set the new disk partition. All data on this drive will be lost. continue (Y/N)? Diskpar會顯示出硬盤信息之後,警告說硬盤上全部數據將會丟失,再次按下Y。 Please specify starting offset (in sectors): 這裏讓您能夠設置前面提到的偏移值,請輸入128,而後回車。 Please specify partition length (in MB) (Max = 30557): 這裏讓您指定分區大小,假如您就分一個區的話,就直接輸入硬盤的容量。 Done setting partition. ---- New Partition information ---- StatringOffset = 65536 PartitionLength = 32041304064 HiddenSectors = 128 PartitionNumber = 1 PartitionType = 7 You now should use Disk Manager to format this partition 到這裏,分區就完成了!您只須要到前面提到的控制面板中的磁盤管理中對分區進行格式化就能夠了。記得分配單位大小選擇4096!網站
##三. 驗證this
若是您手裏的固態硬盤已經使用了一段時間,只是想知道是否是對齊了,或者您按照上述方法進行了操做,可是對操做過程不夠放心,怕出什麼錯,有一個簡便的方法讓您驗證您的固態硬盤的分區是否是對齊了。 在開始->運行中,鍵入msinfo32。回車後跳出一個系統信息的窗口,選擇組件->存儲->磁盤,這裏會列出您的電腦中的全部硬盤的信息。找到固態硬盤,而後看它的分區起始偏移的值是否是4096的整數倍。若是不是的話,您的固態硬盤的性能還有很大的提高餘地哦!操作系統