in the flash disk to accommodate the
fact that flash memory cannot simply
be rewritten. The specific algorithms
are beyond the scope of this paper,
but the idea is to efficiently write
throughout the flash before rewriting
the same location.
The
wear-leveling
scheme
implemented by an effective flash
manager consists of tracking the
number of erases incurred on each
flash erase block. In other words,
both high and low use sectors are
monitored. This is often referred to
as dynamic wear-leveling. As erases
accumulate,
the difference between the highest
and lowest counts is audited. If a
specific set of constraints are met,
a wear-leveling operation - which
swaps the least erased block with the
most recently used erase block - is
completed.
Two parameters control wear-leveling
erases; the first is a maximum
difference allowed before wear-
leveling erases are incurred, and the
second limits the frequency of wear-
system code, will never reach the
flash memory’s maximum endurance.
Without wear-leveling, these low-use
sectors are essentially wasted flash
lifetime. Meanwhile, the disk use in
Figure 2 is spread evenly throughout
the disk sectors, allowing the flash
disk to be reliable for its maximum
lifetime.
Professional Wear-
leveling Implementation
A properly-executed wear-leveling
implementation moves data around
These red sectors above the
dashed line have exceeded the
maximum endurance cycles.
They are now BAD sectors and
can no longer be written to or
read from.
Advanced
wear
leveling
schemes (like Datalight FlashFX
family) keep endurance cycle
differences in this example
between 700 and 1400, at a
maximum.
48 l New-Tech Magazine Europe