2. Flash Translation Layer (FTL)
-
map logical pages to physical blocks and pages
direct mapped - write logical 0(a),10(b),20(c) --> physical 0,10,20
FTL 0:0, 10:10, 20:20 Block 0 1 2 Page 0000000000 1111111111 2222222222 0123456789 0123456789 0123456789 State vEEEEEEEEE vEEEEEEEEE vEEEEEEEEE Data a b c Live + + +
To rewrite logical page 20: erase block 2, write page 20log-structured - write logical 0(a),10(b),20(c) --> physical 0,1,2
FTL 0:0, 10:1, 20:2 Block 0 1 2 Page 0000000000 1111111111 2222222222 0123456789 0123456789 0123456789 State vvvEEEEEEE iiiiiiiiii iiiiiiiiii Data abc Live +++
To rewrite logical page 20(d): remap to free page:FTL 0:0, 10:1, 20:3 Block 0 1 2 Page 0000000000 1111111111 2222222222 0123456789 0123456789 0123456789 State vvvvEEEEEE iiiiiiiiii iiiiiiiiii Data abcd Live ++ +