Successfully reported this slideshow.

Flash 101

0

Share

1 of 62
1 of 62

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Flash 101

  1. 1. Flash 101 roman tarnavski - @romant
  2. 2. • iPods • Laptops • Cameras • Enterprise Arrays • Embedded Devices
  3. 3. why? • computer buses and networks are faster • electromechanical disk drives are slower • colder to run • faster to execute • slower to die*
  4. 4. What’s inside?
  5. 5. • NAND Memory • Controller • Interface
  6. 6. NAND Memory
  7. 7. NAND Memory
  8. 8. NAND Memory Plane Plane Die
  9. 9. Plane Plane Die
  10. 10. Plane Block
  11. 11. Plane Block ... Block Page Register Cache Register
  12. 12. Plane Block Page Page Page Page ... Page Page Page Page ... Block Page Page Page Page ... Page Page Page Page Page Register Cache Register
  13. 13. whoa ?!
  14. 14. SLC / MLC / eMLC / TLC … Features SLC MLC Bits per cell 1 2 Endurance (erase/write cycles) 100,000 10,000 Read service time (max) 25µs 50µs Write service time (typical) 200–300µs 600–900µs Block Erase (typical) 1.5 - 2 ms 2 ms
  15. 15. hold on to your helmets!
  16. 16. Tunnel Oxide Floating Gate Fresh Cell N- N+
  17. 17. Programmed Tunnel Oxide Floating Gate Programming puts electrons on Floating Gate N- N+ Floating Gate can Permanently Store the Charge
  18. 18. Erase Tunnel Oxide Floating Gate Erase takes electrons off the Floating Gate N- N+
  19. 19. Terminology Update
  20. 20. Terminology Update • Cell = basic memory unit • Level = logical method to define the value of a bit
  21. 21. cell threshold
  22. 22. cell threshold
  23. 23. cell threshold
  24. 24. SLC
  25. 25. SLC MLC Equivalent Scale
  26. 26. more == better ?
  27. 27. Endurance Performance * FTL Capability 72nm 50nm 34nm 25nm Xnm
  28. 28. Flash Translation Layer - FTL • The secret sauce - i.e: • RAID / RAISE (Redundant Array of Independent Silicon Elements) • GC algorithms
  29. 29. controller
  30. 30. controller
  31. 31. controller Flash Translation Layer
  32. 32. controller Flash Translation Layer Block Manager
  33. 33. controller Flash Translation Layer Block Manager Garbage Collector
  34. 34. controller Flash Translation Layer Block Manager Garbage Collector Wear Leveler
  35. 35. controller Flash Translation Layer Block Manager Garbage Collector Wear Leveler ECC Buffer / Cache
  36. 36. controller Flash Translation Layer Block Manager Garbage Collector Wear Leveler ECC Buffer / Cache
  37. 37. controller Flash Translation Layer Garbage Collector Wear Leveler ECC Buffer / Cache
  38. 38. controller Flash Translation Layer Garbage Collector Wear Leveler ECC Buffer / Cache
  39. 39. Erased Valid Invalid
  40. 40. write * Erased Valid Invalid
  41. 41. write * Erased Valid Invalid
  42. 42. write * Erased Valid Invalid
  43. 43. write * Erased Valid Invalid
  44. 44. write * (re) - Read Erased Valid Invalid
  45. 45. write / erase / TRIM write * (re) - Read Erased Valid Invalid
  46. 46. write / erase / TRIM write * (re) - Read Erased Valid Invalid
  47. 47. Blocks vs. Pages Block • Made up of • Basic storage unit • 32 / 64 / 128 pages • Has no standard capacity • Assembled in RAM Block and written whole • 4 / 8 / 16 KB
  48. 48. Blocks vs. Pages Block Page Page Page Page • Made up of • Basic storage unit ... • • Page Page Page Page 32 / 64 / 128 pages Has no standard capacity • Assembled in RAM Block and written whole Page Page Page Page • 4 / 8 / 16 KB Page Page ... Page Page
  49. 49. Erased New Used
  50. 50. Erased New Used Invalid Written-to / Erased
  51. 51. New Data • Whole blocks must be erased & written • Writes Speed is affected
  52. 52. By Example - Efficiency 101 • Writing 4 K will at • 25nm die, 8GB chip worst: • Page Size: 8 KB • Read ~2 MB • Block Size: 256 pages • Append 4K = 2048 KB • Write 2 MB
  53. 53. Endurance • User Created • Internal Activity • GC, Wear Leveling, Page Remapping • Overprovisioning • Write Amplification
  54. 54. ssd latency over time • source : tintri
  55. 55. interface • Yesterday : SATA / SAS • Today : PCIe • Tomorrow : SCSI Express
  56. 56. thank you now ask me something … please

Editor's Notes

  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • ×