F2FS是針對NAND快閃記憶體的文件系統,對小文件讀寫速度的提升幫助很大。既然現在手機上都是NAND快閃記憶體,為什麼其他手機廠商不跟進這一技術,難道是華為申請了專利?


首先,網上明確說了f2fs是三星develop的,華為應該只是代碼貢獻。這也是為啥現在華為自己做了erofs,自己用的原因,畢竟f2fs還不全是自己的。

因為之前只瞭解ssd,大體上ssd分成兩層,一層是上層系統的ntfs或者ext4,一層是ftl。現在的手機用的快閃記憶體和ssd原理相同,但是ftl沒有ssd那麼強大,應該是ufs或者emmc控制器帶的。

ext4格式是08年的東西,本質上和ntfs一樣。由於pc的ssd有強大的主控,甚至是arm核心的主控,所以ext4或者ntfs在電腦上帶來的問題比在手機上推斷要少一些。

由於手機沒有那麼強的主控,所以ftl是emmc控制器或者ufs控制器實現的。例如pc上ssd,1tb甚至可以配1gb ram來做cache和儲存ftl,但128g的手機恐怕emmc控制器無法集成128mb ram,所以可以推測用的是塊級別映射的類似bast或者fast演算法的ftl設計。

現在f2fs大概是考慮到這方面的問題,所以可以帶來提升。詳細的內容暫時我不深入了,但是指控f2fs降低壽命恐怕站不住腳——寫入速度越慢證明內部操作越多,越快一般意味著內部操作更少。

至於詳細機制,我有空深入研究一下寫一下。

至於為什麼別的廠商不用,對於沒有研發能力的廠商來說純屬正常,但是為何三星沒有用,還需要看,畢竟眾所周知三星自己做flash,也自己做ssd主控,應該不缺乏技術。我個人推測是兼容性問題——三星可能直接在ufs層面做匹配ext4的優化,那麼沒有必要使用f2fs。

至於小米這種公司,自己沒用f2fs時科普缺點,用了之後科普性能。我個人根據自己的知識推斷說f2fs影響壽命應該是為了黑而黑,這種聯合上層os的fs和下層ftl的優化商業級產品很常見,很多年前的fusion io就直接做了包含ftl的fs來直接操作nand裸片,用於作為硬碟和內存的中間層級,京東是他們的客戶。

fs帶來的兼容性問題,大家在fat32到ntfs是應該遇到過,我的黑蘋果臺式機用hfsplus經常掛分區,後來升級apfs就沒這個問題。

傳統fs一般是針對機械硬碟設計的,估計除了apfs可能考慮ssd更多以外,ntfs和ext系統在其發布之時,ssd恐怕還是用的ram加電池的昂貴做法。其最初的架構設計完全不可能預測到ssd和nand的讀寫特點。

未來展望一下的話,英特爾的3d xpoint就不需要ftl,實現了按bit讀寫。倘若這種nand技術得到廣泛應用,未來的手機也不需要f2fs。

至於為什麼有研發能力的廠子例如三星不用,估計可能是考慮到兼容性問題,畢竟不同fs就連文件名長度和文件最大路徑長度都不一致(例如部分hfs的文件夾複製到ntfs後會有路徑過場無法刪除的問題),三星又不怕別人卡ufs,所以不需要。華為是有自己的存儲業務的,並且業內也算有名。至於沒有研發能力的廠商,就只能跟進友商鋪開之後,確定友商用了沒問題,纔敢自己用。畢竟從英文全稱flash friendly file system來看,不大可能會傷壽命,應該是屬於友商章口就來。


中興已經跟進了,看來中興要放大招了!!!

最新天機AXON 10Pro(雙曲屏)

漂亮的外觀

高端的定位

3000左右實惠的價格

號稱20個月不卡

F2FS文件系統

大禹編譯器

大家是不是有種很熟悉的感覺(就缺一個晶元了)


其他的不清楚,目前的發展不清楚。僅憑個人經歷說明。

我只知道在兩年前F2FS的可靠性還是不怎麼樣的。當時用的一加一,沒事就刷機玩。經常逛XDA論壇所以知道F2FS只需要內核支持就行了,想用就去刷支持的內核。我也確實刷過。只給data分區用F2FS沒出過什麼問題,但是一旦system分區也用F2FS就會出現無故死機然後強制關機後系統無法啟動的問題。當時就猜測F2FS格式有BUG啥的。網上的各種文章和各個手機廠商的實踐也證明瞭這一點。我敢肯定HW不是第一個用F2FS的廠商。在HW之前就有很多廠商在data分區採用F2FS格式了。但是在system分區用F2FS格式HW可能是第一個(或許第二,還有個星星星)。個人猜測可能是HW根據F2FS的特點修改了系統或者內核,以更好的支援F2FS,或者HW純粹就是大膽?


因為其他公司沒有文件系統的專家

這不是說F2FS很複雜,或是一定要專家才能轉用文件系統,問題是其他廠商還是商業機構,大部分還是等於PC組裝廠的級數。要他們在實際產品上用一樣還未確保沒問題,還可能要自己去開發的東西?產品經理放過你,老闆也不會

實際例子:F2FS以前的垃圾回收令一加3T變慢,結果5T用回ext4。以前的F2FS也不支援援硬體加密,也沒有fsck 這些都要工程師處理,也會做成產品可能延遲發售

華為會用,因為聘了開發這東西的人;Google會用,因為那個人到Google工作了;其他廠商不會用,因為不用這東西去弄最簡可行產品

要他們用一個他們不熟悉的東西,只有三個可能:

  1. 有人背書,比如Google,或是微軟
  2. 沒有其他選擇
  3. 出事的問題不大

F2FS正好三項都不符合(AOSP在Android 9纔在定義裏提到F2FS,EXT4從2008已經廣泛被用,文件系統出廣泛問題也不用再賣手機了)


Pixel3跟進了,後續安卓機應該都會跟上。

剛看到新聞,特意上來打華黑的臉。


推薦閱讀:
相關文章