Log-Structured File System
Keywords
Prerequisites
Related Papers
- Co-design of B+-Tree Index with Emerging Zone Interfaces(ACM TACO 2025)
Progress
Sign in to track your progress.
在前面的課程中,我們學過 inode 與 metadata 的 on-disk layout,也了解了 SSD 內部 garbage collection 的機制。Log-structured file system 把整個檔案系統視為一個不斷 append 的 log:所有寫入(無論是 data 還是 metadata)都以循序的方式追加到 log 的尾端,這天然地契合了 SSD 偏好 sequential write 的特性。然而,隨著舊資料被覆寫或刪除,log 中會產生空洞,我們需要透過 segment cleaning 來回收這些無效空間——這與 SSD FTL 層的 garbage collection 面臨相同的挑戰。在這堂課中,我們將探討 F2FS 如何利用 multi-head logging 將 hot data 與 cold data 分離以降低 cleaning 的成本,以及 file system 層級的 garbage collection 如何與 SSD 內部的 garbage collection 協調運作,避免 write amplification 的疊加效應。
Key Concepts
我理解 log-structured file system 的 append-only 寫入模型,如何將 random write 轉換為 sequential write 以契合 SSD 的特性
我理解 segment cleaning 的必要性與運作方式,以及它與 SSD FTL 層 garbage collection 面臨的相似挑戰
我理解 F2FS 的 multi-head logging 機制,如何透過 hot/cold data separation 來降低 segment cleaning 的成本
我理解 double GC problem:file system 層級的 garbage collection 與 FTL 層級的 garbage collection 同時運作時,可能導致 write amplification 的疊加效應