SlideShare a Scribd company logo
Flash 101
roman tarnavski - @romant
• iPods
• Laptops
• Cameras
• Enterprise Arrays
• Embedded Devices
why?

• computer buses and networks are faster
• electromechanical disk drives are slower

• colder to run
• faster to execute
• slower to die*
What’s inside?
Flash 101
• NAND Memory
• Controller
• Interface
NAND Memory
NAND Memory
NAND Memory
  Plane         Plane




          Die
Plane         Plane




        Die
Flash 101
Flash 101
Flash 101
Plane
Block
Plane
   Block




      ...
   Block




Page Register

Cache Register
Plane
         Block
Page     Page    Page   Page




                ...
Page     Page    Page   Page




                ...
         Block
Page     Page    Page   Page




                ...
Page     Page    Page   Page




       Page Register

   Cache Register
whoa ?!
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
hold on to your helmets!
Tunnel Oxide
Floating Gate

                               Fresh Cell
          N-       N+
Programmed


                                               Tunnel Oxide
Floating Gate
                                                                  Programming puts
                                                              electrons on Floating Gate
          N-                                      N+


                     Floating Gate can
                Permanently Store the Charge
Erase


                        Tunnel Oxide
Floating Gate
                                       Erase takes electrons off
                                          the Floating Gate
          N-               N+
Terminology Update
Terminology Update


• Cell = basic memory unit
• Level = logical method to define the value of a bit
Flash 101
cell threshold
cell threshold
cell threshold
SLC
SLC                      MLC

      Equivalent Scale
more == better ?
Endurance




   Performance *




   FTL Capability


72nm       50nm     34nm   25nm   Xnm
Flash Translation Layer - FTL

• The secret sauce - i.e:

 • RAID / RAISE (Redundant Array of
   Independent Silicon Elements)

 • GC algorithms
controller
controller
controller
Flash Translation Layer
controller
Flash Translation Layer



            Block Manager
controller
Flash Translation Layer



            Block Manager    Garbage Collector
controller
Flash Translation Layer



            Block Manager    Garbage Collector   Wear Leveler
controller
Flash Translation Layer



            Block Manager          Garbage Collector               Wear Leveler




                            ECC                        Buffer / Cache
controller
Flash Translation Layer



            Block Manager          Garbage Collector               Wear Leveler




                            ECC                        Buffer / Cache
controller
Flash Translation Layer



                                 Garbage Collector               Wear Leveler




                          ECC                        Buffer / Cache
controller
Flash Translation Layer



                                 Garbage Collector               Wear Leveler




                          ECC                        Buffer / Cache
Flash 101
Erased   Valid   Invalid
write *




Erased             Valid   Invalid
write *




Erased             Valid   Invalid
write *




Erased             Valid   Invalid
write *




Erased             Valid   Invalid
write *
                           (re) - Read




Erased             Valid                 Invalid
write / erase / TRIM
         write *
                           (re) - Read




Erased             Valid                        Invalid
write / erase / TRIM
         write *
                           (re) - Read




Erased             Valid                        Invalid
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
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
Erased   New   Used
Erased   New   Used




                            Invalid
                      Written-to / Erased
New Data


• Whole blocks must be erased &
    written

•   Writes Speed is affected
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
Endurance

• User Created
• Internal Activity

 • GC, Wear Leveling, Page Remapping
• Overprovisioning
• Write Amplification
ssd latency over time




                 • source : tintri
interface


• Yesterday : SATA / SAS

• Today : PCIe
• Tomorrow : SCSI Express
thank you
now ask me something … please

More Related Content

Flash 101

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n