Tools to measure flash drive life remaining?

B

Burma

I've read lots of times that USB flash drives have a limit of like 10000
write/erase cycles.

Is the limit just an approximation and sectors simply fail when they
fail and there is no way to tell when that will occur exactly?

Or is there something stored internally by the manufacturer that says
"this sector has been written to x number of times so it won't be used
again"?

Are there any tools that will help determine the health of a flash drive
and the remaining number of write/erase cycles? Thanks
 
J

Joel

Burma said:
I've read lots of times that USB flash drives have a limit of like 10000
write/erase cycles.

Thanks for passing the information, I now learn a new thing.
 
V

VanguardLH

Burma said:
I've read lots of times that USB flash drives have a limit of like 10000
write/erase cycles.

Is the limit just an approximation and sectors simply fail when they
fail and there is no way to tell when that will occur exactly?

Or is there something stored internally by the manufacturer that says
"this sector has been written to x number of times so it won't be used
again"?

Are there any tools that will help determine the health of a flash drive
and the remaining number of write/erase cycles? Thanks

There is no limit. A junction may fail after 100 write/erase cycles.
It may not fail until after at trillion cycles. The 1,000,000 (not 10K)
cycle count is an *average* for MTBF (mean-time between failures) spec.
There is no way to know the junction will fail until it does. The maker
includes additional memory to use to remap (or mask) the failures. If
there are enough failures, this additional memory gets used up until
there is no recovery for future failures. The junctions die due to
oxide stress. As there are more failures, there are more redirects to
mask the failures, and this redirection makes the device slower.
Eventually it catastrophically fails and you have to replace the entire
device. 1,000,000 MTBF sounds high but not if, say, you use the flash
module for pagefile space that gets written thousands of times an hour
during use of the OS and apps. Below is what I wrote before when
someone was thinking of using Flash memory as a high-speed cache for the
pagefile (instead of the hard drive) or to use Flash memory with the new
Vista ReadyBoost feature to add it to the system memory (although Flash
memory is far slower). That it works doesn't mean it is a good choice.

----------
Don't be misled that electronics are infallible. Just because a USB
thumb drive uses flash memory doesn't mean it won't wear out. They can
only endure a maximum number of writes or erases. Flash memory can only
be flashed so many times. Although electronic, they wear out. How often
have you written files (or deleted them or done anything to update the
flash drive)? If you are using a program that updates its files on the
flash drive, remember that all those updates count against the endurance
of the device. Some apps could produce several thousand updates per
minute and do so as long as the app is running. Using Flash memory for
Vista's ReadyBoost as a disk buffer means generating write cycles at a
far greater rate and number than by a user that saves, edits, or deletes
music or data files. In Windows versions without ReadyBoost, some users
will use Flash memory for pagefile space but the number of writes to the
pagefile are very high and will accelerate when the Flash memory fails.
Write/erase endurance specs are usually hard to find and rarely divulged
by the device makers (so you have to read articles by the flash memory
manufacturers but that will tell you the endurance of the chip, not what
masking algorithm is employed by the flash drive manufacturer that used
that flash chip). Typical MTBF for Flash memory is one million cycles.
Sounds high when YOU are the one creating, editing, or deleting files
but that is a small change volume for disk buffer or pagefile usage.

"Like all flash memory devices, flash drives can sustain only a limited
number of write/erase cycles before failure. In normal use, mid-range
flash drives currently on the market will support several million
cycles, although write operations will gradually slow as the device
ages" (http://en.wikipedia.org/wiki/Keydrive). "Flash memory has a
finite number of erase-write cycles (most commercially available flash
products are guaranteed to withstand 1 million programming cycles) so
that care has to be taken when moving hard-drive based applications"
(http://en.wikipedia.org/wiki/Flash_memory). Flash drives should NOT be
used for permanent storage and any files placed on them should be
non-critical files (i.e., you can afford to lose them the same day you
put them onto the flash drive). Just like with a hard drive, anything
you put onto a flash drive - if important to you - should be backed up
to provide a second copy. Flash drives are less prone to physical abuse
than hard drives, but then your hard drive, after installed, receives
little physical abuse whereas you are subjecting the flash drive to
static, dirt, wear from insertion/extraction, physical shock, and other
environmental factors.

Unlike your system or video RAM, flash memory does wear out as it
suffers from electric field stress (thin oxide stress). Over time,
oxide stress from repeated program and erase operations may degrade the
gate oxide layer to cause the transistor to malfunction. This
contributes to faulty operation of the flash memory device.
Accordingly, there is a need for a method of detecting a transistor
error caused by the degradation of the gate oxide layer. That is why
these devices will incorporate fault-tolerant schemes to mask the
failures. More masking (or remapping) as more errors occur results in
more redirects that slow performance, and there is usually a maximum
(spare space used for the masking) after which the device
catastrophically fails. Performance with Flash memory is unbalanced in
that reading from the device is faster than writing to it.

ReadyBoost or putting the pagefile on Flash memory doesn't speed up
Vista by much and often slows it down. It only helps if the sectors for
the data are scattered to different cylinders on the hard disk for a
speed boost of around 4 to 6%. If the disk has been defragmented or the
data is otherwise serially retrieved from the hard disk, Flash drives
actually slow performance. Flash drives have much slower throughput
than hard drives. Flash memory has a bandwidth of around 3.5MB/s
(28Mb/s) for 4KB transfers and around 2.5MB/s (20Mb/s) for 512KB
transfers. An ATA-100 IDE hard drive can sustain much higher average
transfer rates without even considering its burst mode. Only if the
hard disk's heads have to do a lot of bouncing between cylinders might
Flash memory then outperform a hard disk. What most users report as the
noticed speedup by using Flash memory for the pagefile is a slightly
shorter time to load applications, but a faster spinning hard disk or
one that uses perpendicular recording to pack the bits closer together
to effect a higher transfer rate do that, too. You gain little overall
speedup by using Flash for pagefile space but incur a greater liability
to system stability with a device that will slowdown over continued high
usage due to masking and will eventually catastrophically fail.

ReadyBoost is a problem waiting to happen, and when it happens (not if
it happens) becomes shorter and shorter. The fuse will burn out. Using
Flash memory as pagefile space means eventually you get a hung or
crashed OS or memory corruption errors which means losing data (or worse
in saving the corrupted data). Flash memory is significantly slower
than physical system RAM and can only provide a tiny speedup for highly
fragmented files on the hard disk. Rather than waste money on a Flash
thumb drive for ReadyBoost or for pagefile space, spend it on more
system RAM or get a faster hard disk. You should not incorporate an
obviously weak component (e.g., Flash) within your mass storage
subsystem.

Just because Flash memory drives are newer doesn't mean they are ideal
choices to supplant older technology. There are good uses for Flash
memory, as in USB thumb drives or use in digital cameras, but don't use
it to supplant real system memory or the highly stressed pagefile on the
hard drive.
----------
 
B

Burma

OK, thanks for that info. Any way to tell how many failures or bad sectors
or whatever are on a flash drive?

VanguardLH wrote, On 4/30/2009 4:01 PM:
 
C

CBFalconer

Burma said:
OK, thanks for that info. Any way to tell how many failures or
bad sectors or whatever are on a flash drive?

Please do not top-post. Your answer belongs after (or intermixed
with) the quoted material to which you reply, after snipping all
irrelevant material. See the following links:

<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/> (taming google)
<http://members.fortunecity.com/nnqweb/> (newusers)
 
V

VanguardLH

Burma said:
OK, thanks for that info. Any way to tell how many failures or bad sectors
or whatever are on a flash drive?

I haven't heard of a tool. The software-based memory testers that I've
seen are simply for measuring the usability of the device and possibly
its performance. They measure what is measurable from the external
interface to the device and not even to the components used to build it.
The remapping or wear-levelling logic is built into hardware so it may
not be visible using the normal external interface or even through
firmware. It was designed to be invisible. That I haven't heard of
such a utility (because I haven't bothered to look for one) doesn't mean
one doesn't exist. However, many low-level hardware testers require
test points on the PCB, chip, or die. That is, what you can generate
for test patterns or code execution at die level may not be available at
chip level, and chip level tests may not be possible at card level
tests, and card level tests may not be possible using the instruction
interface to the device. I'm sure Googling would find *what* you want
but not at a *price* that you would be willing to pay or could ever
manage to pay.

Since there's nothing I can do about a Flash memory device other than to
wait until it catastrophically fails, there doesn't seem to be much
point in obtaining some guess as to when it might fail. When kaput, buy
another one. Knowing how many failures there have been won't let you
know just when the device as a whole will catastrophically fail. I
might start wondering about the survivability of the device if I notice
a significant performance loss (due to all the remapping) but then I
don't use Flash memory devices as system memory or as a mass storage
subsystem but merely as temporary storage.

You might find something by searching on articles about failure
prediction, like:

http://www.google.com/search?hl=en&q=+"flash+memory"++failure++predicting
http://www.google.com/search?hl=en&q=+"predictive+failure+analysis"++flash
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top