On Fri, Mar 27, 2009 at 3:37 AM, Edwin Lee <[email protected]> wrote:
>
> Hi Ole, Thanks for the advice!
>
>> If you had not, then I have successfully made a bad hard
>> drive start
>> one final time by putting it in the freezer overnight. It
>> might be
>> worth trying if only for the practice.
>
> This sounds interesting. i think i will try this out over the weekend, just  
> for the heck of it! Just out of curiosity, what is the reasoning behind this?

The reason why you cannot detect the drive is often that the physical
components on the drive are out of spec (e.g. a capacitor recharging
too slowly). Age, often changing surrounding temperatures, and
physical abuse can all cause this.

>> Yes. Flash drives do have limited lifespan if rewritten.
>> There are
>> filesystems that will try to increase the lifespan by
>> distributing the
>> wear (JFFS2 springs to mind).
>
> i found this document from Corsair through Wikipedia 
> (http://www.corsairmemory.com/_faq/FAQ_flash_drive_wear_leveling.pdf). It 
> talks about wear levelling, and at the last paragraph:
>
> <quote>
> Will my Corsair USB Flash drive last more than 10 years?
>
> Yes. All Corsair flash drives are built with memory components that can
> handle AT LEAST 10,000 write cycles; typically they will handle an order of
> magnitude more than this. So, this means that in order to exhaust the drive
> in ten years, one would have to write to EVERY BLOCK in the device about
> 2.7 times per day, every single day. We simply can’t conceive of such a usage
> scenario; this would mean that on a fairly typical 8 GByte drive, one would
> need to write over 21 GBytes of data to it every day for ten years! USB flash
> drives simply are not used in this way.

That is marketing bullsh*t. A more realistic scenario is: 70% of the
drive is only written to very rarely (Being operating system or data
files that stay unchanged). This leaves 30% of the drive available for
data that changes often.

This is important as the manufacturer will want you to believe that
you will be using all blocks evenly - that is not the normal case.

Let us assume you have a log file that syncs to disk for every line
written to the log. Let us assume the length of each log line is 80
chars. IIRC, NAND Flash have a block size of 4 KB, so when the log
grows line by line, you will write 4 KB even though you only appended
80 chars. This means you will be rewriting the block 50 times before
going to the next block.

With 10000 write cycles that block will go bad after 2000 rewrites of
the log assume it uses the same physical block. 2000*4 KB = 8 MB. You
will start to experience problems when the first block goes bad.

In the worst case you will be appending a single byte to the file and
syncing this. This will give 4000 rewrites of the block to write 4 KB.
With 10000 write cycles lifespan that block will go bad after 2.5
rewrites of the block. So you may think you have only written 4000
bytes 1 byte at a time 2.5 times = 10 KByte, but this will cause 10000
rewrites of that block.

So the worst case scenario is not 21 GByte/day for 10 years, but 10
KByte data one byte at a time placed really unfortunately on the
drive. This _is_ really worst case and not likely to happen in real
life. The marketing is best case and not likely to happen either.

The marketing seems to imply you will only see problems when all the
blocks die. But in reality you will start to see problems when the
first block dies.

IIRC then the wear leveling of today is actually only wear leveling
between 4 blocks, so if this specific USB flash drive uses that, then
you will extend the expected lifespan by 4.

If you choose to use USB flash then you can extend the lifetime by
using a flash specialized filesystem like JFFS2.

On a more pragmatic note: The above considerations are real and
relevant if you are creating an embedded device that is going to run
for years and years; but for your personal use do you really care if
the flash stick has bad blocks after 2 or 20 years? Would you not be
upgrading it in 2 years anyway?


/Ole

_______________________________________________
Slugnet mailing list
[email protected]
http://wiki.lugs.org.sg/LugsMailingListFaq
http://www.lugs.org.sg/mailman/listinfo/slugnet

Reply via email to