Enterprises have many different options for adopting flash-based storage, but not all flash systems are created equal.
Before we look at the different options, we need to understand the basic technology of flash. Flash is a semiconductor
technology and has no moving parts. Hence, it is orders of magnitude faster than disk. A flash cell is written when
voltage is applied to a substrate and electrons are forced through a thin oxide insulation layer to a floating gate. The
insulation layer retains the electrons in the floating gate for some time. This phenomenon gives flash its nonvolatile
However, electrons are leaking all the time and every read applies a voltage, which drives out more electrons. So,
the data in the cell degrades over time and must be refreshed. A multilevel cell records 2 bits, and data is recorded
across a number of cells in a unit called a page. Before data can be recorded in a page, it must be formatted by setting
all the bits to 1. This formatting is done for a block of multiple pages. When a cell degrades, an error correction
code (ECC) is applied to the page until the number of bad cells exceeds the capability of the correction code. At this
point, the page must be rewritten. The page must be rewritten to a newly formatted page and the old page is marked
invalid. The rewriting of pages is called “write amplification.”
Eventually, the block of pages gets fragmented with more invalid pages than good pages and the block must be
reformatted. This reformatting (housekeeping or garbage collection) requires moving the good pages to another block
before the formatting is done. During this process, the writes can be blocked, and this condition is known as the
“write cliff.” Every write or format degrades the insulation layer in the cell until it can no longer retain the electrons. For
multilevel cell flash, the number of write or format cycles is about 2,000 to 3,000, which is quite low compared to the
durability of disk drive which is about 1018.
While flash has no mechanical latencies, it has many programming latencies in order to extend its durability and
maintain performance. How these latencies are solved will differentiate the value of enterprise flash storage from commodity
flash storage.

Leave a Reply