other:hardware:ssd
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
other:hardware:ssd [2020/01/25 00:19] – created rodolico | other:hardware:ssd [2020/01/25 21:06] (current) – rodolico | ||
---|---|---|---|
Line 3: | Line 3: | ||
===== Calculate Lifetime ===== | ===== Calculate Lifetime ===== | ||
- | Most vendors beyond the $10 120G specials | + | Most vendors beyond the low end consumer devices |
- | Using smartctl for various Unix systems, you can read the values of most SSD's and calculate | + | Using smartctl for various Unix systems, you can read the values of most SSD's and calculate |
<code bash> | <code bash> | ||
- | apt install smartmontools | + | apt install smartmontools |
+ | pkg install smartmontools # FreeBSD | ||
# record number of Logical Bytes that makes up a sector | # record number of Logical Bytes that makes up a sector | ||
smartctl /dev/sda -a |grep " | smartctl /dev/sda -a |grep " | ||
Line 16: | Line 17: | ||
Now, multiply the above two values (rightmost column on both). That is the number of bytes written to the SSD since it was manufactured. | Now, multiply the above two values (rightmost column on both). That is the number of bytes written to the SSD since it was manufactured. | ||
+ | |||
+ | Nothing I'm aware of has less than a 10 TBW, and most high end consumer grade SSD's are rated at many times that. For example, a Samsung 850 Pro SATA 250G SSD is rated at 70 TBW, but tests show it can get up to 150 TBW. | ||
+ | |||
+ | Note that, using the same technology, a larger capacity will have a linearly greater TBW value. The TBW value is based on between 3000 and 100,000 writes per cell depending on the technology. If you have a larger capacity drive, it has more cells, so it would have more TBW. | ||
You can find the make/model of the drive with the following two commands: | You can find the make/model of the drive with the following two commands: | ||
Line 26: | Line 31: | ||
NOTE: some vendors do not include ID 241 in their output, so all you can do is guess. One good thing to try is simply take the output of smartctl -a and pipe it to less, then read through it (not that big). | NOTE: some vendors do not include ID 241 in their output, so all you can do is guess. One good thing to try is simply take the output of smartctl -a and pipe it to less, then read through it (not that big). | ||
+ | |||
+ | ===== Script ===== | ||
+ | |||
+ | The following script is very rough, but kinda works. No parameters, but you have to comment/ | ||
+ | |||
+ | <code perl getSmart.pl> | ||
+ | #! / | ||
+ | |||
+ | use warnings; | ||
+ | use strict; | ||
+ | |||
+ | my %allDrives; | ||
+ | |||
+ | # create a hash with the keys having values ada0, da0, etc | ||
+ | # comment/ | ||
+ | |||
+ | # manually enter the drives to look at | ||
+ | # %allDrives = map { $_ => 0 } qw/ada0 da0 da1 da2 da3 da4 da5 da6 da7 da8 da9/; | ||
+ | # automagically find the drives on a BSD system | ||
+ | %allDrives = map { & | ||
+ | # automagically find the drives on a Linux system | ||
+ | #%allDrives = map { & | ||
+ | |||
+ | sub trim { | ||
+ | my $value = shift; | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | sub getTotalWrites { | ||
+ | my $drive = shift; | ||
+ | my @report = `smartctl -a / | ||
+ | | ||
+ | my @temp = grep{ /^Sector Size:/ } @report; | ||
+ | my $sectors = shift @temp; | ||
+ | # print "The Value is [$sectors]\n"; | ||
+ | if ( $sectors =~ m/^Sector Size\: | ||
+ | $sectors = $1; | ||
+ | # print " | ||
+ | @temp = grep{ /^241/ } @report; | ||
+ | my $lbas = $temp[0]; | ||
+ | if ( $lbas =~ m/ | ||
+ | $lbas = $1; | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | } else { | ||
+ | return -4; | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
+ | # output the drives and information as tab delimited, | ||
+ | foreach my $thisDrive ( sort keys %allDrives ) { | ||
+ | # | ||
+ | | ||
+ | print " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Links ===== | ||
+ | * https:// | ||
+ | |||
+ | |||
other/hardware/ssd.1579933164.txt.gz · Last modified: 2020/01/25 00:19 by rodolico