最近,由于某些手機混用eMMC和UFS閃存,因此關于手機閃存的話題,關注度一下子飆高。和UFS閃存相比,eMMC的性能更弱,同一型號的手機混用這兩種規格的閃存,讓一些消費者感到了不滿。對此,廠商稱通過優化eMMC的產品也可以獲得優秀的體驗。這個優化到底是怎么回事?根據以往的一些宣傳,可以推斷出是由于手機閃存使用了更先進的文件系統——F2FS。
手機的閃存越來越引人關注
對于手機閃存的文件系統很多朋友或許并不太關注,但在使用上不可避免地會感受到不同文件系統之間的區別。最直觀的莫過于兼容問題,例如NTFS文件系統的硬盤插到Mac電腦中無法寫入,WinXP無法辨別exFAT文件系統等等。為什么手機閃存會選擇不同的文件系統?一個優秀的手機閃存文件系統真的能把eMMC優化成UFS嗎?今天就一起來談談這問題吧!
文件系統有啥用?
我們知道,在使用硬盤、U盤等儲存器之前需要進行格式化,而格式化的時候會看到有很多文件系統可以選擇。例如,在Win系統下可以把格式化為NTFS、FAT32等等;在Linux下可以格式化為Ext3、Ext4等等;在macOS中可以格式化為HFS+、APFS等等。這些不同的文件系統都有著一個共同的作用,那就是組織起儲存器上的數據讓操作系統和用戶更容易辨認和操作。

格式化的時候,就可以看到不同的文件系統
例如,在HDD硬盤上數據是由扇區來儲存的。什么是扇區?HDD的盤片是一個同心圓,把圓分成一個個小小的扇形,數據在這些扇形中儲存,這些扇形就被稱之為扇區。扇區儲存著數據,但是操作系統并不會直接讓用戶訪問一個個扇區,辨認不同的扇區靠的是物理地址,作為一個用戶,面對著“01DE”“02FD”這樣的物理地址,壓根就無從下手。
硬盤盤片上的扇區
要把扇區組織起來變成用戶易于理解的各種文件、文件夾,就得文件系統來發揮作用了。不同的操作系統組織數據的方式各不相同,于是就誕生了各種各樣的文件系統。
這些不同的文件系統,特性也不盡相同,而且還有這優劣之分。例如大家非常熟悉的FAT32和NTFS,NTFS就明顯要比FAT32更加先進FAT32無法建立起2T以上的分區、儲存4G以上的文件,而NTFS則可以輕松做到;在安全方面,NTFS支持文件加密、權限控制等特性,還支持日志,而FAT32則都不支持。另外,在性能方面,NTFS對FAT32也是有著明顯優勢。因此,如果文件系統更先進,的確可以把手機閃存“優化”得更上一個檔次。
專為閃存而生的文件系統F2FS
文件系統的選擇是有講究的。例如在大容量硬盤流行、注重安全性的今天,在Win系統中使用的硬盤基本都會格式化成NTFS;而為了壽命和兼容性的考慮(NTFS的日志會請求更多讀寫,對閃存壽命不利),U盤、存儲卡又往往格式化成為FAT32。安卓手機閃存又普遍使用什么文件系統呢?我們知道安卓基于Linux,因此也繼承了Linux的很多特性,大多數安卓手機閃存都跟隨了Linux的主流文件系統,格式化成為了Ext4。
安卓一般使用的是Ext4文件系統
Ext4是一種很優秀的文件系統,它支持無限子目錄、多塊分配、日志記錄等先進特性。不過,它是否適合手機?還真不一定。Ext4在2006年首次出現,當時的儲存介質普遍還是HDD。而現在安卓機使用的都是手機閃存,Ext4并沒有針對手機閃存作太多的優化。
HDD和手機閃存的結構天差地別,數據的組織也并不一樣。在物理結構上,手機閃存并不存在扇區,因此需要經由FTL層來模擬HDD的扇區以實現對文件系統的兼容。加上文件系統沒有對手機閃存作什么優化,所以效率會受到影響。那么有沒有為手機閃存作優化的文件系統?F2FS便是了。
閃存結構和HDD不同,需要FTL層和文件系統對話
F2FS文件系統的全稱是“Flash Friendly File System”,看名字就知道,這是專門為手機閃存而生的文件系統。這個文件系統來自三星,在2012年底被Linux內核所支持,自然也能夠用于安卓機上。F2FS的確做了很多針對手機閃存的優化,最重要的就是基于手機閃存的塊來進行讀寫,小文件的隨機讀寫性能大大提高。
一些產品已經使用了專為閃存而生的F2FS文件系統
由于F2FS對手機閃存有優化,而安卓機又使用閃存作為存儲介質,所以得到了一些手機廠商和玩家的青睞。目前已經有一些ROM支持/使用了F2FS,例如刷機玩家很熟悉的CM/LinegeOS,華為部分機型的EMUI,以及魅族部分機型的Flyme等等。某些廠商沒有使用UFS手機閃存而是使用了eMMC,但同時使用了F2FS,通過文件系統來提升讀寫性能,這或許就是“eMMC優化成UFS”這觀點的由來。
eMMC真能優化成UFS?
那么eMMC使用F2FS,到底能不能獲得和UFS同等的性能?這里為大家提供一些測試數據,分別是eMMC 5.1、UFS 2.1兩種手機閃存,Ext4、F2FS兩種文件系統不同的組合。注意,除了手機閃存類型和文件系統,測試數據還會受到手機閃存顆粒優劣、加密算法是否開啟、測試時閃存是否覆蓋寫入等因素的影響,數據僅供參考。
可以看到,F2FS的確比Ext4性能更高,甚至能讓eMMC 5.1在隨機寫入性能超過UFS 2.1。不過,在持續讀寫速度方面,UFS 2.1仍要遙遙領先。而USF 2.1配合F2FS,取得了非常理想的測試成績,在隨機寫入方面甚至能十倍于采用Ext 4的UFS 2.1。無論是eMMC還是UFS,換用后F2FS,都有明顯提升,而UFS換用F2FS的提升幅度更大,性能表現更加完美。
那能不能說F2FS能讓eMMC優化成UFS?這要分開不同方面看。在隨機讀寫性能方面,使用F2FS的eMMC的確可以媲美Ext4的UFS。這個性能對App的開啟速度很重要,某些使用F2FS的eMMC安卓機在App開啟速度方面,就因此不輸使用UFS的競品機型。但是,eMMC的物理瓶頸,是無法依靠F2FS來補全的——eMMC持續讀寫速度慢,而且是半雙工,每通道同一時間只能讀數據或者寫數據,不能同時讀寫。在復雜的應用環境下,eMMC依然會是瓶頸。因此,UFS搭配F2FS,才是最完美的性能方案。
UFS支持全雙工,硬件規格更高
盡管F2FS性能很高,但目前使用F2FS的設備不多,甚至連三星自己也沒在安卓機中使用。這是因為F2FS還存在一些爭議,有觀點認為它會縮短閃存的壽命,摩托羅拉某些機型使用過F2FS,一段時間后性能大幅下滑。或許某些廠商找到了比較好的解決方案,才毅然使用F2FS吧!
盡管性能更高,但大部分廠商尚未推行F2FS,刷機玩家可以在TWRP Recovery中手動轉換
總結
無論如何UFS從硬件規格上明顯優于eMMC,eMMC使用F2FS后或許能在某些方面勝過使用Ext4的UFS,但仍不能掩蓋硬件規格更低的事實。UFS可以換用F2FS,eMMC卻是變不了UFS的。目前同時使用UFS和F2FS的設備不多,如果很看重手機閃存性能,那還是UFS更值得選購,無論用的是Ext4還是F2FS文件系統。
|