[Gllug] Determine usage/lifespan of disks

Christian Smith csmith at thewrongchristian.org.uk
Wed Feb 16 12:37:51 UTC 2011


On Thu, Jan 13, 2011 at 08:18:01AM +0000, jayeola at gmail.com wrote:
> I remember reading somewhere that the lifetime of a typical usb key/disk is 2x10^6 writes. 
> 
> Are there any tools out for me to see how many writes there have been to a disk? Would be nice to be able to see this for myself. 
> 

Most USB keys are very simple, not implementing such features as SMART that
would make such information available.

It's erase cycles that kills FLASH, and MLC flash averaging less than 10000
erase cycles per block before the block goes bad. Unfortunately, the simple
controllers on the typical USB key burn through those erase cycles rather
more quickly than is optimal. The typical usage is for large, sequential
writes (large files like office documents and photos) rather than small
temporary files typical of general desktop use. For a block size of
512K (erase is done in units of blocks), a 16GB device would have 32768
blocks. Given an average erase count of 1000 (reasonable for a modern
3-bit MLC flash device) that results in a maximum around 32x10^6 erases
before blocks start going bad. The simple controllers on USB keys
often result in an erase for each random write once the device is full
(all blocks written), which kills performance and shortens the life of
the device.

You can make the most of a USB device by writing exlusively sequentially
using a log structured file system, such as NILFS2. Obviously not much
use for transferring data between Linux and Windows (or anything else
for that matter) but it does make cheap USB keys usable as a system
disk. Not only does it increase performance, it will also increase the
lifespan as not as many erase cycles are required. My home server runs
quite happily with a NILFS root filesystem on a 16GB USB key,
no performance problems.

Cheers,
Christian
--
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list