Introduction: Keeping Up
with the Data Deluge
Over the past 20 years, flash memory
hasbeenwidelyadopted inmainstream
consumer grade products with
relatively short lifetimes, sometimes
measured in months, as well as more
industrial and commercial devices
with lifetimes of years or decades.
There are many unique characteristics
of flash memory that have fueled its
growth across these different market
segments, such as its ability to retain
data when power is interrupted.
Unfortunately, flash technology has
the downside of finite lifespan and
lower endurance. Complicating the
issue is the fact that hardware and
software technologies designed
to improve flash life often take a
backseat to other seemingly more
pressing issues of system design.
This paper discusses the factors that
determine when limitations of flash
memory lifetime become significant,
and presents test data for several
common wear-leveling options in
Linux.
Flash Lifetime Metrics
Flash memory lifetimes are described
in two primary metrics which are
generally touted on the first page of
any flash manufacturers’ data sheets:
• Data retention
• Endurance cycles
Data retention is often listed at 20 years
for a given operating temperature
range. Increased temperature ranges
reduce the data retention period
which further decrease as the flash
memory is used at or near the limits of
its specified operating temperatures
range. It is important to note that
data retention is measured from the
time data is successfully programmed.
The second metric, endurance cycles,
is a measure of the number of write
and erase cycles that the flash
memory can endure before becoming
unreliable.
Flash memory is organized into a
number of erase blocks or sectors,
and each must be erased prior to
writing data. A typical erase block is
128KB in size, however depending on
the flash part, it may range from 512B
to 4,096KB or even more. A given
address within an erase block cannot
be rewritten without first erasing it.
Erase cycles are cumulative and affect
only those erase blocks being cycled.
In other words, an error in any erase
block is constrained to the data of
that block.
Erase cycles of SLC flash range
from 1,000 to 100,000. While these
ranges have an order of magnitude
difference, it is the application the
Extending Product Lifespan Using
Wear-Leveling
Datalight Staff
44 l New-Tech Magazine Europe