flash based ssds
play

Flash-based SSDs [ Material based on slides from Tyler - PowerPoint PPT Presentation

Flash-based SSDs [ Material based on slides from Tyler Caraza-Harter ] www: https://tyler.caraza-harter.com Cost: HDD vs. SSD Source: http://www.tomshardware.com/news/ssd-hdd-solid-state-drive-hard-disk-drive-prices,14336.html Cost: HDD vs.


  1. Flash Translation Layer write 1101 logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 11 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  2. Flash Translation Layer write 1101 logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 11 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  3. Flash Translation Layer logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 11 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  4. Flash Translation Layer logical: 0 1 2 3 4 5 6 7 must eventually be garbage collected 00 00 00 00 10 11 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  5. FTL Could be implemented as device driver or in firmware (usually the latter). � Where to store mapping? SRAM. � Physical pages can be in three states: - valid, invalid, free

  6. States free valid invalid

  7. States program free valid erase invalid

  8. States program free valid relocate erase or TRIM invalid

  9. SSD Architecture SSD: looks like disk (Traditional block API) SRAM: FTL mapping tbl

  10. Problem: Big Mapping Table Assume 200GB device, 2KB pages, 4-byte entries. � SRAM needed: (200GB / 2KB) * 4 bytes = 400 MB. � Too big, SRAM is expensive!

  11. Page Translations logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  12. 2-Page Translations logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  13. Larger Mappings Advantage: larger mappings decrease table size. � Disadvantage?

  14. 2-Page Translations logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  15. 2-Page Translations write 1011 logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 11 11 physical: 01 10 11 00 01 01 11 11 block 0 block 1

  16. 2-Page Translations write 1011 logical: 0 1 2 3 4 5 6 7 copy 00 00 00 00 10 01 10 01 physical: 01 10 11 00 01 01 11 01 block 0 block 1

  17. 2-Page Translations write 1011 logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 10 01 physical: 01 10 11 00 01 01 11 01 block 0 block 1

  18. 2-Page Translations write 1011 logical: 0 1 2 3 4 5 6 7 00 00 00 00 10 01 10 01 physical: 01 10 11 00 01 01 11 01 block 0 block 1

  19. Larger Mappings Advantage: larger mappings decrease table size. � Disadvantages? - more read-modify-write updates - more garbage - less flexibility for placement

  20. Hybrid FTL Use course-grained mapping for most (e.g., 95%) of data. Map at block level. � Use fine-grained mapping for recent data. Map at page level.

  21. Log Blocks Write changed pages to designated log blocks. � After blocks become full, merge changes with old data. � Eventually garbage collect old pages.

  22. Merging Merging technique depends on I/O pattern. � Three merge types: - full merge - partial merge - switch merge

  23. Merging Merging technique depends on I/O pattern. � Three merge types: - full merge - partial merge - switch merge

  24. … logical: 0 1 2 3 11 11 11 11 11 11 11 11 A B C D physical: 11 11 11 11 11 11 11 11 block 0 block 1 (log) block 2

  25. write D2 … logical: 0 1 2 3 11 11 11 11 11 11 11 11 A B C D physical: 11 11 11 11 11 11 11 11 block 0 block 1 (log) block 2

  26. write D2 … logical: 0 1 2 3 11 11 11 11 11 11 11 A B C D D2 physical: 11 11 11 11 11 11 11 block 0 block 1 (log) block 2

  27. … logical: 0 1 2 3 11 11 11 11 11 11 11 A B C D D2 physical: 11 11 11 11 11 11 11 block 0 block 1 (log) block 2

  28. … logical: 0 1 2 3 11 11 11 11 11 11 11 A B C D D2 physical: 11 11 11 11 11 11 11 block 0 block 1 (log) block 2 eventually, we need to get rid of red arrows, as these represent expensive mappings

  29. … logical: 0 1 2 3 11 11 11 11 11 11 11 A B C D D2 physical: 11 11 11 11 11 11 11 block 0 block 1 (log) block 2

  30. … logical: 0 1 2 3 11 11 11 A B C D D2 A B C D2 physical: 11 11 11 block 0 block 1 (log) block 2

  31. … logical: 0 1 2 3 11 11 11 A B C D D2 A B C D2 physical: 11 11 11 block 0 block 1 (log) block 2

  32. … logical: 0 1 2 3 11 11 11 A B C D D2 A B C D2 physical: 11 11 11 block 0 block 1 (log) block 2

  33. … logical: 0 1 2 3 garbage 11 11 11 A B C D D2 A B C D2 physical: 11 11 11 block 0 block 1 (log) block 2

Recommend


More recommend