寫在前面
這篇內容, 提到不少格式化的動作 ! 有必要提醒一下, 磁碟或隨身碟格式化後, 資料就不見了(或者說是很難救回來), 所以操作前務必小心, 資料一定要先備份, 也別手滑了搞錯磁碟機 !因為之前的那場惡夢, 所以買了Sandisk SDCZ80 64G隨身碟, 拆封後做了一些傳輸實驗, 速度還不錯, 讀取有到130MB/s 以上, 寫入也有 90MB/s !
但想說網路上說3C的商品瑕疵不少, 我的手氣也挺不好的, 還是 Format一下吧 , 做個驗證. 但就因此又出狀況了! 手氣背呀 !
FAT32有單檔4G的問題, 所以NTFS是比較直覺的選擇,
NTFS格式化後, 寫入速度竟然掉到40MB/s 以下 ! 不會吧, 這是USB 3.0的隨身碟耶 ! 剛到手的速度很好呀, 怎麼格式化後, 速度全沒了, 反而變慢很多!!
仔細參考網路上的說明, 招式不少, 但看來怪怪的, 效果不一... 還是自己實驗比較準..
測速系統平台
Linux ( Ubuntu 12.04, Kernel 3.8.2-030802 )
配備 USB 3.0介面卡
隨身碟
Sandisk SDCZ80 64G
測試檔案
ubuntu-9.10-dvd-amd64.iso 檔案大小 3.89GB ( 4174614528Bytes )
格式化用系統平台
Windows XP
實驗開始
當該隨身碟格式化為NTFS (配置單位大小為預設值 4K)
$ cat ubuntu-9.10-dvd-amd64.iso | pv -abt -B 0 > /media/2CBA24E6BA24ADF0/test1.data
寫入 3.89GB [32.3MB/s]
$ cat /media/2CBA24E6BA24ADF0/test1.data | pv -abt > ./testa.data
讀取 3.89GB [ 132MB/s]
當該隨身碟格式化為FAT32 (配置單位大小為預設值, 16K ?)
$ cat ubuntu-9.10-dvd-amd64.iso | pv -ab -B 0 > /media/26BB-E26D/test3.data
寫入 3.89GB [ 101MB/s]
$ cat /media/26BB-E26D/test2.data | pv -abt > ./testa.data
讀取 3.89GB [ 123MB/s]
當該隨身碟格式化為exFAT (配置單位大小為預設值, 128K? exFAT聽說是64GB Flash出廠的預設格式, Sandisk官網說的)
$ cat ubuntu-9.10-dvd-amd64.iso | pv -abt -B 0 > /media/2AC7-BD36/testa.data
寫入 3.89GB 0:00:39 [ 101MB/s]
$ cat /media/2AC7-BD36/testa.data | pv -abt > ./testa.data
讀取 3.89GB 0:00:31 [ 128MB/s]
嘿嘿, 看來找到玄機了 ! 相同環境下, 不同的磁碟格式, 效能差異很大 !!
不過這其中看到幾個變數調整點
- 格式化的工具
- 當在檔案總管時中,針對磁碟機按右鍵選擇格式化,
- 這邊執行格式化程式, 選項很少, 尤其是要調整配置單位大小, 通常不能調
- 安裝完exFAT程式後, 格式化64GB隨身碟時, 格式將被鎖住, 只能選exFAT, 要選用其他格式, 需用其他方式.
- 電腦管理中的磁碟管理, 這是另一個格式化程式的執行點, 要調整配置單位大小, 可從這邊進行
- 另一個比較完整的掌控方法就是使用Dos Command
- 下面指令假設 隨身碟的磁碟代號為 R ( 千萬別照抄 !!! )
- Format R: /FS:FAT32 /A:8192 ( 將 R: 格式化為 FAT32, 配置單位大小為8K )
- Format R: /FS:NTFS /A:64K ( 將 R: 格式化為 NTFS, 配置單位大小為64K )
- Format R: /FS:exFAT /A:64K ( 將 R: 格式化為 exFAT, 配置單位大小為64K )
- 格式化中的選項"配置單位大小"
當NTFS格式下, 不同的配置單位大小, 對效能是否有差異 ( 量測使用的Linux指令同上, 就不再贅述 )
當該隨身碟格式化為 NTFS 配置單位大小為64K
寫入 15.2MB/s (不是一個慘字能形容)
讀取 124MB/s
當該隨身碟格式化為 NTFS 配置單位大小為8K
寫入 30.8MB/s
讀取 124MB/s
當該隨身碟格式化為 NTFS 配置單位大小為2K
寫入 31.6MB/s
讀取 126MB/s
當該隨身碟格式化為 NTFS 配置單位大小為512
寫入 31MB/s
讀取 123MB/s
看來沒有提升, 影響性不大 ....
換個格式FAT32, 試試不同的配置單位大小, 對效能是否有差異
當該隨身碟格式化為 FAT32 配置單位大小為64K
寫入 229MB/s
讀取 120MB/s
當該隨身碟格式化為 FAT32 配置單位大小為8K
寫入 235MB/s
讀取 124MB/s
當該隨身碟格式化為 FAT32 配置單位大小為2K
寫入 228MB/s
讀取 116MB/s
當該隨身碟格式化為 FAT32 配置單位大小為512
寫入 166MB/s
讀取 121MB/s
換個格式exFAT, 試試不同的配置單位大小, 對效能是否有差異
當該隨身碟格式化為 exFAT 配置單位大小為128K
寫入 124MB/s
讀取 118MB/s
當該隨身碟格式化為 exFAT 配置單位大小為64K
寫入 137MB/s
讀取 128MB/s
當該隨身碟格式化為 exFAT 配置單位大小為32K
寫入 91MB/s
讀取 121MB/s
實驗結束
終於可以不用再Format那個可憐的隨身碟 !!
後續測試
CrystalDiskMark 3.0.2
測試條件
Test : 1000 MB [G: 0.0% (0.0/59.6 GB)] (x1)
當該隨身碟格式化為 FAT32 配置單位大小為64K
Sequential Read : 142.897 MB/s
Sequential Write : 125.653 MB/s
Random Read 512KB : 117.681 MB/s
Random Write 512KB : 20.001 MB/s
當該隨身碟格式化為 FAT32 配置單位大小為32K
Sequential Read : 142.586 MB/s
Sequential Write : 115.089 MB/s
Random Read 512KB : 117.410 MB/s
Random Write 512KB : 20.011 MB/s
當該隨身碟格式化為 FAT32 配置單位大小為16K
Sequential Read : 142.838 MB/s
Sequential Write : 124.905 MB/s
Random Read 512KB : 117.410 MB/s
Random Write 512KB : 20.930 MB/s
當該隨身碟格式化為 FAT32 配置單位大小為8K
Sequential Read : 139.587 MB/s
Sequential Write : 116.690 MB/s
Random Read 512KB : 115.401 MB/s
Random Write 512KB : 21.173 MB/s
當該隨身碟格式化為 FAT32 配置單位大小為4K
Sequential Read : 140.390 MB/s
Sequential Write : 125.233 MB/s
Random Read 512KB : 115.989 MB/s
Random Write 512KB : 20.146 MB/s
綜合結論
綜合以上數據, 與我個人使用的需求, 我會選擇 FAT32, 16K !
( VM檔案大, 重點在追求速度! 空間浪費問題是比較其次的, 放超過4G的檔案機率不大...)
後記
exFAT是比較新的檔案格式, Windows 7版本以上才有預設支援, 其他系統得升級後才能支援, 會對可攜性造成一定的影響, 請多留意 ! 若使用的是XP系統須安裝 KB955704 的升級軟體, 才能支援 !
各格式的預設單位大小Microsoft有個參考表