和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在2006年首次出現,當時的儲存介質普遍還是HDD。而現在安卓機使用的都是閃存,Ext4並沒有針對閃存作太多的優化。
HDD和閃存的結構天差地別,數據的組織也並不一樣。在物理結構上,閃存並不存在扇區,因此需要經由FTL層來模擬HDD的扇區以實現對文件係統的兼容。加上文件係統沒有對閃存作什麼優化,所以效率會受到影響。那麼有沒有為閃存作優化的文件係統?F2FS便是了。
F2FS文件係統的全稱是"Flash Friendly File System",看名字就知道,這是專門為閃存而生的文件係統。這個文件係統來自三星,在2012年底被Linux內核所支持,自然也能夠用於安卓機上。F2FS的確做了很多針對閃存的優化,最重要的就是基於閃存的塊來進行讀寫,小文件的隨機讀寫性能大大提高。
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,才是最完美的性能方案。
不過,盡管F2FS性能很高,但目前使用F2FS的設備不多——甚至連三星自己也沒在安卓機中使用。這是因為F2FS還存在一些爭議,有觀點認為它會縮短閃存的壽命,摩托羅拉某些機型使用過F2FS,一段時間後性能大幅下滑。
無論如何,UFS從硬件規格上,明顯優於eMMC。eMMC使用F2FS後,或許能在某些方麵勝過使用Ext4的UFS,但仍不能掩蓋硬件規格更低的事實——UFS可以換用F2FS,eMMC卻是變不了UFS的。目前同時使用UFS和F2FS的設備不多,如果很看重閃存性能,那還是UFS更值得選購——無論用的是Ext4還是F2FS文件係統。
相關文章
没有评论:
发表评论