FTL (Flash Translation Layer)
Flash’s Limitation
- No overwrite without Erase
- Big erase block : ex. 2MB
- Factory Bad Block and Run time Bad Block
- Run time bit error
- Limited Lifetime : ex) Erase 5K for an Erase Block
FTL’s Roles
- Flash Translation Layer : mapping virtual sector to physical block
- Garbage Collection
- Power Loss Recovery
- Error Correction
- Bad Block Management
- Wear leveling
Address Remapping
- Address mapping table
- Trying to update data of (Sector #3045) stored NAND(Block #125, Page #29)
Sector Mapping
LSN: Logical Sector Number PSN : Physical Sector Number
Block Mapping
LBN: Logical Block Number PBN : Physical Block Number
Hybrid Mapping
Merge
Garbage Collection
Spare Space method
- Mitsubishi
- Data space : in-place
- Spare space : out-of-place
Mirror Block method
- M-Systems (FMAX)
Log Block method
- SNU
- write (5,1) (5,1) (5,2) (5,4) (5,4) (5,1)
- write (6,3) (8,0) (8,1) (8,2) (8,3) (8,4) (8,5)
Full Associative Sector Translation : FAST
- write (5,1) (5, 1) (6. 2) (6, 4) (8, 4) (5, 1), (8, 3)