F2FS文件系統既然被華為證實很好用,其他廠商為何不跟進?
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(雙曲屏)