NSLU2-Linux
view · edit · print · history

Info.FlashDriveLifespanSurvey History

Hide minor edits - Show changes to markup

February 06, 2009, at 09:49 PM by dbh -- added request for unix command details, added my data line
Added lines 36-37:

((Request: I could not get dd to work despite changing the output file and many attempts [always "No Help available"]. Read several man pages and examples, looks like conv=fsync should be conv=sync. Anyone who can elucidate, please do so.))

Added line 85:
dbhSandiskCruzer Mini2GB5.76 MB/s 2009-02-02root/swap 24x7 2009-02-06  
September 12, 2008, at 02:57 PM by Rigas --
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24  2008-09 Input/Output Errors
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24  2008-09Input/Output Errors
September 12, 2008, at 02:55 PM by Rigas --
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24   2008-09 Input/Output Errors
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24  2008-09 Input/Output Errors
September 12, 2008, at 02:54 PM by Rigas --
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24  |a| |b|
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24   2008-09 Input/Output Errors
September 12, 2008, at 02:51 PM by Rigas --
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging |2008-09| |Input-/Output Errors| 
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24  |a| |b|
September 12, 2008, at 02:49 PM by Rigas --
September 12, 2008, at 02:46 PM by Rigas -- Updated Table
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging |2008-09| |Input/Output Errors|
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging |2008-09| |Input-/Output Errors| 
September 12, 2008, at 02:45 PM by Riga -- Updated Table
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging   
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging |2008-09| |Input/Output Errors|
April 10, 2008, at 06:17 AM by Rigas --
Changed line 82 from:
RigasKINGSTONData traveller 2.02GBuknown7.52 MB/sec2008-April-09root FS - H24not logging   
to:
RigasKINGSTONData traveller 2.02GBuknownunknown2008-April-09root FS - H24not logging   
April 10, 2008, at 06:17 AM by Rigas -- added my card
Added line 82:
RigasKINGSTONData traveller 2.02GBuknown7.52 MB/sec2008-April-09root FS - H24not logging   
March 08, 2008, at 06:41 PM by Massimiliano Fantuzzi -- adjusted values for my usbkeys ! LOL
Changed line 81 from:
fantuz`noname 2GBuknown7.52 MB/sec2007-Dec-25root FS - H24not logging2008-01  
to:
fantuzKINGSTONData traveller 2.02GBuknown7.52 MB/sec2007-Dec-25root FS - H24not logging2008-01  
February 08, 2008, at 01:18 AM by fantuznet --
Changed lines 78-80 from:
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging2008-01  
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging2008-01  
fantuzDiCOM 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01  
to:
fantuzPNY 2GBuknown3.04 MB/sec2007-Mar-15root FS - H24not logging2008-01  
fantuzPNY 4GBuknown2.50 MB/sec2007-Set-01root FS+swap - H24not logging2008-01  
fantuzDiCOM 1GBuknown1.82 MB/sec2007-Aug-15root FS+swap - H24not logging2008-01  
fantuz`noname 2GBuknown7.52 MB/sec2007-Dec-25root FS - H24not logging2008-01  
February 04, 2008, at 08:29 PM by fcarolo -- removed false wikilink
Changed line 80 from:
fantuzDiCOM? 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01  
to:
fantuzDiCOM 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01  
January 26, 2008, at 11:31 AM by socors -- update total writes
Changed line 76 from:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS    
to:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS /home0,62008-01  
January 07, 2008, at 12:13 AM by fantuznet --
Changed lines 77-80 from:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging2008-01
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging2008-01
fantuzDiCOM? 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01
to:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging   
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging2008-01  
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging2008-01  
fantuzDiCOM? 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01  
January 07, 2008, at 12:12 AM by fantuznet --
Changed lines 78-79 from:
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging 
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging 
to:
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging2008-01
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging2008-01
fantuzDiCOM? 2GBuknownuknown2007-Aug-15root FS+swap - H24not logging2008-01
January 07, 2008, at 12:10 AM by fantuznet --
Added line 79:
fantuzPNY 4GBuknownuknown2007-Set-01root FS+swap - H24not logging 
January 06, 2008, at 09:12 PM by fantuznet --
Changed lines 76-77 from:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS     
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging \\fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging 
to:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS    
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging
fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging 
January 06, 2008, at 09:12 PM by fantuznet --
Changed line 77 from:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging  fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap\\H24not logging  
to:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging \\fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap - H24not logging 
January 06, 2008, at 09:11 PM by fantuznet -- added user fantuz
Changed line 77 from:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging   
to:
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging  fantuzPNY 2GBuknownuknown2007-Mar-15root FS+swap\\H24not logging  
December 01, 2007, at 06:37 PM by fareale -- added my usb flash drive
Changed lines 76-77 from:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS     
to:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS     
farealePNY 1 GBunknownunknown2007-Oct-08Root filesystem, swap - medium usenot logging   
October 20, 2007, at 10:01 PM by mhornsby -- add vm.swappiness to syscntl.conf
Added lines 59-61:

To make it permanent add the following line to /etc/sysctl.conf vm.swappiness=0

August 13, 2007, at 09:25 PM by socors --
Changed line 73 from:
socorsKingstonData Traveller1 GB25.10 MByte?/s4.5 MByte?/s2007-08-13Root FS     
to:
socorsKingstonData Traveller1 GB25.10 MByte/s4.5 MByte/s2007-08-13Root FS     
August 13, 2007, at 09:24 PM by socors -- new stick added
Changed lines 72-73 from:
johlinSanDiskCruzer Micro1 GB9.83 MByte/s3.7 MByte/s2007-08-12Root filesystem, swap 24/7added later   
to:
johlinSanDiskCruzer Micro1 GB9.83 MByte/s3.7 MByte/s2007-08-12Root filesystem, swap 24/7added later   
socorsKingstonData Traveller1 GB25.10 MByte?/s4.5 MByte?/s2007-08-13Root FS     
August 13, 2007, at 02:25 AM by fcarolo -- fixed false wikilinks
Changed lines 10-11 from:

All modern flash drives should include wear levelling, so you shouldn't need to worry about some parts of the drive wearing out before others. If a flash device supports, say, 10000 write/erase cycles, then a 1 GByte? flash drive should be able to do 10000 x 1 GByte? = 10 TBytes? of writes before failing. 10000 write cycles is at the bottom end of the expected range. At a write rate of 1 MByte?/second it would take 10 million seconds to write 10 TBytes?; that's about 100 days. So even if your NSLU2 is spending 10% of its time writing at that speed, you should still expect to get at least a few years life from your drive before any sectors fail. The iostat program can give you an idea of the write rate on your system.

to:

All modern flash drives should include wear levelling, so you shouldn't need to worry about some parts of the drive wearing out before others. If a flash device supports, say, 10000 write/erase cycles, then a 1 GByte flash drive should be able to do 10000 x 1 GByte = 10 TBytes of writes before failing. 10000 write cycles is at the bottom end of the expected range. At a write rate of 1 MByte/second it would take 10 million seconds to write 10 TBytes; that's about 100 days. So even if your NSLU2 is spending 10% of its time writing at that speed, you should still expect to get at least a few years life from your drive before any sectors fail. The iostat program can give you an idea of the write rate on your system.

Changed lines 65-72 from:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationTotal writes (GBytes?)Still workingFailedFailure mode
endecotpKingstonDataTravelerII?512 MBunknownunknown2005-09Root fileystem 24/7  2006-10Entirely unresponsive
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/71802007-05  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home5002007-05  
endecotpniKKin 1 GB11 MByte?/s5 MByte?/s2006-12Root fileystem light use 2006-12  
Steve GKingstonDataTravelerII?1 GB8.3 MByte?/s2.0 MByte?/s2006-10Root fileystem 24/7 2006-12  
cyrxiSanDisk?cruzer mini256 MBunknownunknown2007-05-04root fs 24/7not logging   
johlinSanDisk?Cruzer Micro1 GB9.83 MByte?/s3.7 MByte?/s2007-08-12Root filesystem, swap 24/7added later   
to:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationTotal writes (GBytes)Still workingFailedFailure mode
endecotpKingstonDataTravelerII512 MBunknownunknown2005-09Root fileystem 24/7  2006-10Entirely unresponsive
endecotpTranscendJetFlash V301 GB9 MByte/s1.4 MByte/s2006-11Root fileystem 24/71802007-05  
endecotpMy Flash 4 GB10.6 MByte/s3.9 MByte/s2006-04NFS exported /home5002007-05  
endecotpniKKin 1 GB11 MByte/s5 MByte/s2006-12Root fileystem light use 2006-12  
Steve GKingstonDataTravelerII1 GB8.3 MByte/s2.0 MByte/s2006-10Root fileystem 24/7 2006-12  
cyrxiSanDiskcruzer mini256 MBunknownunknown2007-05-04root fs 24/7not logging   
johlinSanDiskCruzer Micro1 GB9.83 MByte/s3.7 MByte/s2007-08-12Root filesystem, swap 24/7added later   
August 12, 2007, at 03:13 PM by Steffen Kremsler -- formating fix
Changed line 52 from:
to:

[@

Changed lines 57-58 from:
to:

@]

August 12, 2007, at 03:11 PM by Steffen Kremsler -- New tip to minimize writes.
Changed lines 51-58 from:
to:
  1. If you have a swap partition on flash, it might be a good idea to change the kernel's swapping behaviour to minimize swapping.

$ cat /proc/sys/vm/swappiness 60

$ echo "0" > /proc/sys/vm/swappiness

August 12, 2007, at 09:22 AM by johlin -- Minor fix in my row
Changed line 65 from:
johlinSanDisk?Cruzer Micro1 GB9.83 MByte?/sec3.7 MByte?/s2007-08-12Root filesystem, swap 24/7added later   
to:
johlinSanDisk?Cruzer Micro1 GB9.83 MByte?/s3.7 MByte?/s2007-08-12Root filesystem, swap 24/7added later   
August 12, 2007, at 09:21 AM by johlin -- Added my flash drive-stats
Added line 65:
johlinSanDisk?Cruzer Micro1 GB9.83 MByte?/sec3.7 MByte?/s2007-08-12Root filesystem, swap 24/7added later   
May 09, 2007, at 10:39 PM by Phil Endecott -- Link to article about flash disk write endurance
Changed lines 14-15 from:
to:

An interesting article on this subject can be found at http://www.storagesearch.com/ssdmyths-endurance.html.

May 09, 2007, at 10:35 PM by Phil Endecott -- Update disk write stats
Changed lines 59-60 from:
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/7 2006-12  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home 2006-12  
to:
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/71802007-05  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home5002007-05  
May 04, 2007, at 11:34 PM by cyrxi --
Changed line 63 from:
cyrxiSanDisk?cruzer mini256 MBunknownunknown2007-05-04root fs 24/7   
to:
cyrxiSanDisk?cruzer mini256 MBunknownunknown2007-05-04root fs 24/7not logging   
May 04, 2007, at 11:33 PM by cyrxi --
Changed line 63 from:
to:
cyrxiSanDisk?cruzer mini256 MBunknownunknown2007-05-04root fs 24/7   
March 04, 2007, at 07:12 PM by iwo -- make link work
Changed lines 46-47 from:
  1. Make sure that your drive is mounted with the noatime option. If you don't use noatime, every file read will also perform a write to update the access time information. See Unslung/Ext3flash for up to date information on achieving this.
to:
  1. Make sure that your drive is mounted with the noatime option. If you don't use noatime, every file read will also perform a write to update the access time information. See Ext3flash for up to date information on achieving this.
March 04, 2007, at 07:11 PM by iwo -- add link to up-to-date flash mounting procedure
Changed lines 46-47 from:
  1. Make sure that your drive is mounted with the noatime option. If you don't use noatime, every file read will also perform a write to update the access time information.
to:
  1. Make sure that your drive is mounted with the noatime option. If you don't use noatime, every file read will also perform a write to update the access time information. See Unslung/Ext3flash for up to date information on achieving this.
March 04, 2007, at 05:58 PM by joshin -- typo corrections
Changed lines 5-7 from:

In order to guage the actual lifespan that NSLU2 users get from their flash drives, please take part in this survey. Please add details of all your flash drives: it's important that we have details of working drives, not just failed ones.

to:

In order to gauge the actual lifespan that NSLU2 users get from their flash drives, please take part in this survey. Please add details of all your flash drives: it's important that we have details of working drives, not just failed ones.

Changed lines 44-45 from:

Tips for minimising writes

to:

Tips for minimizing writes

December 15, 2006, at 08:38 PM by Steve G -- Add my flash drive
Changed lines 62-63 from:
to:
Steve GKingstonDataTravelerII?1 GB8.3 MByte?/s2.0 MByte?/s2006-10Root fileystem 24/7 2006-12  
December 13, 2006, at 08:48 PM by Phil Endecott -- tweak
Changed lines 17-19 from:

To accumulate the total writes over the life of the disk you need to log periodic measurements. Scripts to do this are described on LogDiskWriteStats?.

to:

To accumulate the total writes over the life of the disk you need to log periodic measurements. Scripts to do this are described on LogFlashDiskWriteStats.

December 13, 2006, at 08:47 PM by Phil Endecott -- tweak
Changed lines 17-19 from:

To accumulate the total writes over the life of the disk you need to log periodic measurements. Scripts to do this are described on Howto/LogDiskWriteStats?.

to:

To accumulate the total writes over the life of the disk you need to log periodic measurements. Scripts to do this are described on LogDiskWriteStats?.

Changed line 57 from:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationTotal writes (GBytes?)Still workingFailedFailure mode
to:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationTotal writes (GBytes?)Still workingFailedFailure mode
December 13, 2006, at 08:46 PM by Phil Endecott -- Link to Howto/LogDiskWriteStats
Changed lines 17-19 from:

/proc/diskstats reports the total number of blocks written to each device since the last boot. With suitable cron scripts this data could be accummulated over long periods, and we could accurately record the amount of data written to each flash device. Any volunteers to write the necessary scripts?

to:

To accumulate the total writes over the life of the disk you need to log periodic measurements. Scripts to do this are described on Howto/LogDiskWriteStats?.

Changed lines 57-63 from:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationStill workingFailedFailure mode
endecotpKingstonDataTravelerII?512 MBunknownunknown2005-09Root fileystem 24/7 2006-10Entirely unresponsive
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/72006-12  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home2006-12  
endecotpniKKin 1 GB11 MByte?/s5 MByte?/s2006-12Root fileystem light use2006-12  
to:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationTotal writes (GBytes?)Still workingFailedFailure mode
endecotpKingstonDataTravelerII?512 MBunknownunknown2005-09Root fileystem 24/7  2006-10Entirely unresponsive
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/7 2006-12  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home 2006-12  
endecotpniKKin 1 GB11 MByte?/s5 MByte?/s2006-12Root fileystem light use 2006-12  
December 10, 2006, at 02:21 PM by Phil Endecott -- Learn how to do WiKi tables (PREVIEW STILL BROKEN)
Deleted line 57:
Deleted line 58:
Deleted line 59:
Deleted line 60:
December 10, 2006, at 02:20 PM by Phil Endecott -- Learn how to do WiKi tables (PREVIEW STILL BROKEN)
Changed lines 56-57 from:
!User!Manufacturer!Model!Size!Read speed!Write speed!Entered service!Application!Still working!Failed!Failure mode
to:
UserManufacturerModelSizeRead speedWrite speedEntered serviceApplicationStill workingFailedFailure mode
December 10, 2006, at 02:18 PM by Phil Endecott -- Create this page
Added lines 1-66:

Flash Drive Lifespan Survey

Flash memory is known to support a finite number of write/erase cycles. This limited lifespan may make it less suitable than a hard disk for some storage applications.

In order to guage the actual lifespan that NSLU2 users get from their flash drives, please take part in this survey. Please add details of all your flash drives: it's important that we have details of working drives, not just failed ones.

Expected Lifespan

All modern flash drives should include wear levelling, so you shouldn't need to worry about some parts of the drive wearing out before others. If a flash device supports, say, 10000 write/erase cycles, then a 1 GByte? flash drive should be able to do 10000 x 1 GByte? = 10 TBytes? of writes before failing. 10000 write cycles is at the bottom end of the expected range. At a write rate of 1 MByte?/second it would take 10 million seconds to write 10 TBytes?; that's about 100 days. So even if your NSLU2 is spending 10% of its time writing at that speed, you should still expect to get at least a few years life from your drive before any sectors fail. The iostat program can give you an idea of the write rate on your system.

(One factor that this doesn't allow for is short writes; a whole sector will be erased if you write just a few bytes.)

Measuring Total Writes

/proc/diskstats reports the total number of blocks written to each device since the last boot. With suitable cron scripts this data could be accummulated over long periods, and we could accurately record the amount of data written to each flash device. Any volunteers to write the necessary scripts?

Failure Modes

One would expect that a flash drive with bad sectors would fail gracefully, i.e. writes might become impossible but the drive would still be readable. Catastrophic failure, i.e. none of the disk can be read, have been known to occur. It is likely that this is the result of an effect other than the lifespan of the flash, and could be related to the quality of the manufacturing process.

Read and write speeds

Some flash drives are faster than others. Please also measure the speed of your drive as follows:

$ dd if=/dev/zero of=/file/on/drive bs=8192 count=1024 conv=fsync
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 6.66182 seconds, 1.3 MB/s

$ hdparm -t /dev/drivedevicenode
 Timing buffered disk reads:   28 MB in  3.03 seconds =   9.23 MB/sec

I am not convinced that conv=fsync really ensures that the data is flushed to the drive - any suggestions?

These numbers are only a guide. I suggest running these commands at least 3 times and reporting the median value. They may be affected by other activity on your system.

Tips for minimising writes

  1. Make sure that your drive is mounted with the noatime option. If you don't use noatime, every file read will also perform a write to update the access time information.
  2. Look at your log files, and see if you are recording more than you need. You can also instruct syslog to buffer its output, avoiding writes after every line, by putting a - before the filename in syslog.conf.

The Survey

Please add your details below.

!User!Manufacturer!Model!Size!Read speed!Write speed!Entered service!Application!Still working!Failed!Failure mode
endecotpKingstonDataTravelerII?512 MBunknownunknown2005-09Root fileystem 24/7 2006-10Entirely unresponsive
endecotpTranscendJetFlash? V301 GB9 MByte?/s1.4 MByte?/s2006-11Root fileystem 24/72006-12  
endecotpMy Flash 4 GB10.6 MByte?/s3.9 MByte?/s2006-04NFS exported /home2006-12  
endecotpniKKin 1 GB11 MByte?/s5 MByte?/s2006-12Root fileystem light use2006-12  
Page last modified on February 06, 2009, at 09:49 PM