究竟什么是文件系統?

我們很高興你問了這個問題。文件系統為在給定物理設備(例如硬盤驅動器、閃存陣列或者光盤)上的數據進行存儲、檢索和修改提供方法,即在磁盤上組織文件的方法。文件系統很像是操作系統的記賬人,它可能會與其他協議(例如NFS或者SMB)交互或者成為這些協議的一部分以支持對安裝的文件系統的網絡訪問。它還負責管理存儲容量、數據布局、目錄和文件名、元數據、數據完整性和訪問權限等。文件系統的特性和功能應該與其正在使用的設備以及應用程序目標相符合。,

有很多不同的文件系統,但是只有少數與使用基于閃存的存儲設備的Windows用戶相關的文件系統。FAT32和NTFS可能是Windows世界最流行的文件系統,但事實上還存在很多其他文件系統。Mac用戶很熟悉的HFS+,Ext3和ext4主宰者Linux世界,SCO則有HTFS,UFS 被用于Solaris和BSD,惠普UX運行VxFS等。

文件系統領域最新加入者就是exFAT。最初由微軟設計作為閃存設備的FAT32的擴展文件(它代表擴展文件分配表,Extended File Allocation Table),它也受到Mac操作系統(Snow Leopard 10.6.5以上版本)的支持。雖然微軟對exFAT擁有專利權,從長遠來看在其他系統部署exFAT可能會存在問題,但我們決定對比NTFS、 exFAT和較老的FAT32(因為其跨系統兼容性仍然很流行)。

文件系統:FAT32、NTFS、exFAT和HFS+

FAT32

FAT32最早出現在1997年的Windows 95B中,幾乎所有主流操作系統都可以創建、讀取和寫入FAT32分區,對于低容量外部存儲(例如USB閃存驅動器)FAT32仍然是一個不錯的選擇?,F代操作系統在默認情況下選擇NTFS,Mac操作系統運行HFS+。

作為一個32位文件系統,FAT32被限制為最大分區大小32TB,8KB簇,雖然這種格式的原來格式限制被限制為最大分區2TB,而當前 Windows操作系統讓其難以使FAT32分區大于32GB。簇大小直接取決于分區大小,簇的范圍從512字節到8KB之間。由于文件大小被存儲在4字節字段中,最大文件大小限制為4GB。這對于視頻文件或者驅動器鏡像而言,將是一個問題。文件名是靈活地,允許最多255字符。FAT32并不支持日志 (journaling),這意味著用戶數據或元數據的完整性問題可能導致信息丟失。FAT32不支持權限管理。

Windows XP提供安裝到FAT32分區的選項,而Windows Vista和7并不提供,因為它們依賴于NTFS。

NTFS

新技術文件系統與Windows NT一起推出,與IBM的HPFS很類似。文件大小可以高達16TB(理論上是16EB),而分區目前最大可達256TB。其文件大小限制與FAT32的 4GB相比更具現實意義。文件名最多可長達255字符。NTFS支持LZ77壓縮、文件級加密(通常是AES)和訪問控制,通過ACL管理。 4KB(FAT32為32KB)簇大小確保寫入驅動器的小文件不會浪費太多容量。這也是為什么4KB簇大小對SSD性能的重要性,你會發現,NTFS比其他文件系統更具優勢。

主文件表(Master File Table,以下簡稱MFT)存儲文件的屬性、位置和訪問信息。最小的文件直接被保存在MFT中。與文件分配表不同,MFT在格式化過程中并不會被完全寫入,會隨著時間的推移而增長。正因為如此,它是唯一可以經受碎片的。它還能夠日志記錄元數據,這意味著寫入操作先被記錄,寫入程序再執行,日志中會記錄成功完成的結果。寫入過程會因為電源故障而失敗嗎?例如,系統恢復之前寫入的日志和恢復到穩定的文件系統狀態。

exFAT

exFAT是微軟專門設計來處理閃存的,高容量SDXC卡都采用了exFAT,雖然并沒有嚴格要求使用。所有現有Windows版本(從Vista SP1或XP SP2起)都支持exFAT,高達64ZB,文件高達16EB。與FAT32不同,其簇可以增加到32MB,訪問控制通過ACL管理。自由空間位圖負責容量分配,提高刪除性能。這能夠最大程度的提高寫入性能,尤其是與NTFS相比,NTFS要求被刪除的數據被覆蓋。

然而,因為微軟的exFAT授權機制,該文件系統并沒有像FAT32和NTFS一樣受到廣泛支持。因此,exFAT還沒有廣泛應用于消費類電子產品,盡管它就是為此目的而設計(即使XP SP2和Mac OS X 10.6.5都支持exFAT)。Windows Vista和7在很大程度上依賴于NTFS提供的文件權限和其他功能。

HFS+

HFS+也被稱為Mac OS Extended, 它能夠在所有類型的存儲設備上運作,包括光盤。HFS+支持日志,且分袂通??梢园惭b在Unix和Linux系統中。即使給定內核不支持HFS+,通??梢哉业娇蛇x軟件包,然而,有時候這些只支持讀取HFS+格式化的分區。另外還有第三方工具提供Windows對HFS+的支持,例如Paragon Software的HFS for Windows或者Mediafour的MacDrive。

HFS+具有512字節扇區(被分組成分配塊),最多支持255個字符的文件名,最大文件大小為8EB。HFS+通過不斷嘗試尋找足夠容納一個被寫入文件的自由空間來管理文件碎片。文件大小的增加可能會導致文件需要完全被重寫。最后,自10.3版本的Mac OS X開始支持動態碎片整理,當文件被分為8個以上部分且其他活動/訪問先決條件不適用時就會采取行動,HFS+支持訪問控制、壓縮和加密。

測試SSD: Samsung 830和Zalman F1 Series

Samsung 830 Series (256 GB)

三星的830系列SSD目前是我們的最愛之一,雖然它相當昂貴。

該產品分為64GB、128GB、256GB和512GB四種容量類型。256GB和512GB比低容量版本更快。三星目前架構的主要優點在于其基于ARM的三核A9控制器,無需任何硬件壓縮,并且提供非常一致的性能。雖然這個產品在我們的測試結果表中并沒有總是名列榜首,但各方面的測試結果都還不錯。

Zalman F1 (SandForce SF-2281, 240 GB)

測試: 三星830和Zalman F1系列

我們決定測試基于SandForce的SSD是因為該公司的技術依賴于壓縮來最大限度地提高性能。它可能或者可能不會返回你期望的結果,這取決于驅動器處理的信息。當在Windows中運行時,你不會感覺到什么差異,然而,涉及不可壓縮數據的更極端的工作負載絕對會讓SandForce的技術特質更加突出。

我們選擇了Zalman的F1系列,利用現有的SandForce SF-2281控制器。Zalman提供60GB、120GB和240GB容量的產品。

Zalman在其產品網站上提供的圖表清楚地表示寫入不可壓縮數據可能會比可壓縮數據更慢。

測試: 三星830和Zalman F1系列

測試配置和基準測試項目

測試配置和基準測試項目

為了讓SSD符合測試條件,我們進行了兩小時的燒機,其中包括I/O密集型和流密集型工作負載的腳本運行。這樣,我們可以確保所有結果都能夠反映真正的性能,而不只是峰值性能數字,這些峰值性能數據在日常生活中不太具有相關性,并且會隨著時間的推移而下降。

SSD隨機和順序讀寫性能測試

不飽和隊列(隊列深度1)的隨機4KB讀取和寫入操作代表了相當典型的負載情況。

寫入更快,因為驅動器可以迅速地找到一個自由扇區來寫入,而讀取操作是針對給定扇區的。使用FAT32時,寫入到三星830非常慢,而Zalman F1驅動器的測試結果表明這似乎并不是文件系統本身的固有問題。

SSD隨機和順序讀寫性能測試

隊列深度64等候命令允許驅動器優化讀取操作,從而大大改善了吞吐量。

對于exFAT和NTFS,這有一個非常積極的影響,而使用FAT32的驅動器遭受巨大的性能打擊。然而,隊列64只是理論上的,因為桌面系統幾乎從未遇到過超過隊列深度4的情況。

SSD隨機和順序讀寫性能測試

順序吞吐量幫助展示了FAT32在更現實的情況下的性能落后,并且其吞吐量嚴重受限,特別是在Zalman固態硬盤上。由于存儲驅動器往往用于承載較大文件(例如視頻文件),這個指標與我們的測試最為相關。

SSD隨機和順序讀寫性能測試

SSD:訪問時間、復制測試和整體分數

FAT32在訪問時間方面落后于其他文件系統,而exFAT和NTFS非常接近

SSD:訪問時間、復制測試和整體分數

這些測試基準代表了現實生活中的復制/粘貼工作負載,這些測試結果證實NTFS似乎是最佳隨著,其次是exFAT,FAT32在這里體現出了其的陳舊,非常不適合SSD。

SSD:訪問時間、復制測試和整體分數
SSD:訪問時間、復制測試和整體分數

CrystalDiskMark:隨機和順序吞吐量

CrystalDiskMark隨機4 KB結果證實了我們在AS SSD看到的結果

CrystalDiskMark:隨機和順序性能測試
CrystalDiskMark:隨機和順序性能測試

使用512KB的吞吐量與我們預期的結果一樣,exFAT和NTFS優于FAT32,FAT32再一次落后了。

CrystalDiskMark:隨機和順序性能測試

對于三個文件系統,順序傳輸性能非常具有可比性

CrystalDiskMark:隨機和順序性能測試

測試結果:Iometer 4KB隨機和流讀寫

4 KB隨機寫入測試真正提醒了我們FAT32的“年齡”。從AS SSD和CrystalDiskMark的結果來看,這里的結果并沒有令我們感到驚訝。很明顯,在較大驅動器上,FAT32的靈活的簇大小成為寫入操作的問題。4KB塊需要被容納到32KB簇中,在這方面,exFAT比FAT32表現得更好,盡管FAT32有更大的簇大小。因為其自由空間進行了索引,找出自由空間是很簡單的事情。

測試結果:Iometer 4KB隨機和流讀寫
測試結果:Iometer 4KB隨機和流讀寫

再次,持續吞吐量的測試結果與我們前面的測試結果相類似,并沒有看到任何驚喜。

測試結果:Iometer 4KB隨機和流讀寫
測試結果:Iometer 4KB隨機和流讀寫

測試結果:Iometer工作負載測試

數據庫測試是一些完全隨機的操作,其中67%是讀取。該測試是8KB塊大小,在其上面NTFS可以利用非壓縮三星架構,而基于SandForce的驅動器在NTFS和exFAT上運行的結果類似,FAT32在這里根本不值得一提。

測試結果:Iometer工作負載測試

Web服務器工作負載不執行寫入,所以所有文件系統的性能都差不多。

測試結果:Iometer工作負載測試

工作站工作量模式按照80%和20%分隔了讀取和寫入操作,隨機和順序操作也分為80%和20%。這涉及64KB、128KB和256KB的塊大小,這也是為什么FAT32再次暴露其性能限制的原因,因為它不支持這么大的塊。

測試結果:Iometer工作負載測試

測試結果:PCMark 7

為了反映更真實的情況,我們轉向了PCMark 7,雖然PCMark并不完全是真實世界情況,但它基本能夠反映每條操作的典型性能。

測試結果:PCMark 7
測試結果:PCMark 7
測試結果:PCMark 7
測試結果:PCMark 7
測試結果:PCMark 7
測試結果:PCMark 7

向Windows照片庫導入圖片意味著需要寫入相當多的數據,很顯然,FAT32并不是這種工作量的最佳選擇。

測試結果:PCMark 7
測試結果:PCMark 7

從整體的測試結果來看,真實世界的差異要比更綜合的實驗室結果的差異更小,這意味著,無論你是對比文件系統還是SSD架構,FAT32在Samsung 830都是一個糟糕的選擇。

Windows系統應堅持使用NTFS

很難找出適用于所有平臺(Windows、Mac、Linux等)的測試基準,在這一塊,我們選擇了針對Windows平臺,并選擇對比 FAT32、NTFS和exFAT,以代表絕大多數臺式機用戶。此外,因為exFAT包含在SDXC卡和即將發布的數字設備中,exFAT有望成為受各種操作系統支持的少數文件系統之一。

如果使用的是基于windows的系統,可以堅持使用NTFS。這個默認windows文件系統在我們這次測試中使用的兩個SSD架構上都提供了最佳性能。NTFS而且還能夠在很多非windows操作系統上進行讀取,使其具有跨操作系統兼容性。

雖然FAT32具有更廣泛的平臺兼容性的優勢,除了USB閃存驅動器或者使用WindowsXP SP2之前版本的操作系統環境外,我們并不推薦使用FAT32.它缺乏文件訪問權限、自由空間位圖、文件日志和基本性能,讓其在與比較現代的文件系統(例如NTFS和exFAT)相比時,有點相形見拙。

在exFAT和NTFS之間,幾乎是一個平局。NTFS的強大的文件權限控制讓其成為內部存儲設備更好的選擇,而exFAT對熱插拔的容忍使其成為 USB連接的存儲更好的選擇。正如我們前面提到的,FAT32和exFAT格式化的驅動器不能夠用于現代操作系統磁盤。但是對于想要快速訪問數據的用戶,或者希望在不同磁盤驅動器而不是操作系統上安裝程序的人而言,這些測試結果更具意義。如果用于內部存儲,請堅持使用NTFS,使用exFAT僅用于外部存儲。

未經允許不得轉載:存儲在線-存儲專業媒體 » 文件系統數否影響SSD性能探秘
分享到

wangzhen

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走