Flash Translation Layer
Keywords
Prerequisites
Related Papers
Progress
Sign in to track your progress.
由於 NAND flash 的 erase-before-write 限制,SSD 不能像傳統硬碟一樣直接在原地覆寫資料,因此需要一層韌體來管理邏輯位址與實體位址之間的對應——這就是 Flash Translation Layer(FTL)。FTL 將作業系統看到的 LBA(Logical Block Address)映射到實際 NAND flash 上的 PBA(Physical Block Address),並採用 out-of-place write 策略:每次寫入都寫到新的空白 page,再更新 mapping table 讓 LBA 指向新位置。Mapping table 的設計有不同粒度的取捨——page-level mapping 提供最大彈性但需要大量 SRAM 來儲存映射表,block-level mapping 節省記憶體但會增加不必要的資料搬移。理解 FTL 的運作方式,我們才能解釋為什麼 SSD 的行為與 HDD 有本質上的不同,以及為什麼上層軟體的存取模式會對 SSD 效能產生巨大影響。
Key Concepts
我理解 FTL 如何將 LBA(Logical Block Address)映射到 PBA(Physical Block Address),以及為什麼這層轉譯是必要的
我理解 out-of-place write 策略的運作方式:每次寫入都寫到新的空白 page,再更新 mapping table
我了解 page-level mapping 與 block-level mapping 的差異,以及它們在彈性與 SRAM 記憶體開銷之間的取捨
我知道 DFTL 等混合式 mapping 方案如何在有限的 SRAM 資源下兼顧效能與記憶體使用量