On Mon, Apr 24, 2017 at 10:43:56PM +0200, Aleksandar Kuktin wrote:
> 

(sorry, long reply with wide lines of output pasted into it)

> Years ago, there was chatter that one should refrain from building
> (compiling) on a flash memory based SSD. The theory was that, since
> flash memory is consumable and has a maximum number of writes it can
> sustain before going bad, you wouldn't want to wear it out too soon.
> 
> The theoretical assumption is still valid as it was back in the day,
> but this seems to not bother people too much. After all, if you only
> build once per year, or even less often, the SSDs will weather the
> stress.
> 

Years ago, flash memory was like the stuff in early USB sticks - ok
for occasional use, but likely to wear out.  In more recent years
there have been a lot of changes, and from time to time certain
drives and/or machine firmware (UEFI or BIOS) seem to give problems
until the kernel gets a quirk or similar to work around it.

And it is said that previous intel SSDs were set up to detect when
they exceeded the designed lifetime (amount of writes, I think), go
read-only, and then shutdown completely on the next reboot.

But in general modern SSDs seem to work reliably.  Of course I don't
have any which have been in use for a very long time, but the output
of smartctl (from smartmontools) looks ok.

First, my main development system -

Device Model:     SanDisk Ultra II 480GB

(for this, a lot of attributes are Unknown)

SMART Attributes Data Structure revision number: 4
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE     UPDATED  
WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age  Always       - 
      0
  9 Power_On_Hours          0x0032   100   100   ---    Old_age  Always       - 
      1485
 12 Power_Cycle_Count       0x0032   100   100   ---    Old_age  Always       - 
      344
165 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      10485887
166 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      1
167 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      86
168 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      5
169 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      483
170 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      0
171 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      0
172 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      0
173 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      1
174 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      17
184 End-to-End_Error        0x0032   100   100   ---    Old_age  Always       - 
      0
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age  Always       - 
      0
188 Command_Timeout         0x0032   100   100   ---    Old_age  Always       - 
      0
194 Temperature_Celsius     0x0022   075   067   ---    Old_age  Always       - 
      25 (Min/Max 17/67)
199 UDMA_CRC_Error_Count    0x0032   100   100   ---    Old_age  Always       - 
      0
230 Unknown_SSD_Attribute   0x0032   100   100   ---    Old_age  Always       - 
      154619740196
232 Available_Reservd_Space 0x0033   100   100   004    Pre-fail Always       - 
      100
233 Media_Wearout_Indicator 0x0032   100   100   ---    Old_age  Always       - 
      834
234 Unknown_Attribute       0x0032   100   100   ---    Old_age  Always       - 
      2619
241 Total_LBAs_Written      0x0030   253   253   ---    Old_age  Offline      - 
      2351
242 Total_LBAs_Read         0x0030   253   253   ---    Old_age  Offline      - 
      497
244 Unknown_Attribute       0x0032   000   100   ---    Old_age  Always       - 
      0

So, that one has only been on for 1485 hours, and with the exception
of what is a bogus maximum temperature on one occasion it looks good
at the moment.  It has only been in use since (probably) early March
last year - from time to time it gets booted and then suspended when
I'm not actively using it, at other times it is idle.  But it HAS
built LFS and parts of BLFS 12 times.  /home is shared, and I keep
my logs there, /scratch is also shared - it's where I build,
otherwise there are eight separate filesystems for building, so I
don't reuse them all that often.

My (home) server was replaced in July last year.  It is normally on
all the time, and among other things /home holds my mail (in mbox
files), /sources for my network, various documents, and a git tree
for my build scripts.  This one only has two filesystems for systems
(current and previous|next), shared /home, shared /staging, shared
/var/tmp (which gets updated at least once a week to backup /home).
It has only built 7.9 and 8.0 (7.8 was loaded from a backup to bring
it up), but I'm fairly confident that the SDD is being heavily used.

For this disk -

Model Family:     Marvell based SanDisk SSDs
Device Model:     SanDisk SDSSDHII960G

(that might be a different family of drives, smartctl on the other
one doesn't mention the Model family)

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE     UPDATED  
WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age  Always       - 
      0
  9 Power_On_Hours          0x0032   253   100   ---    Old_age  Always       - 
      7004
 12 Power_Cycle_Count       0x0032   100   100   ---    Old_age  Always       - 
      25
165 Total_Write/Erase_Count 0x0032   100   100   ---    Old_age  Always       - 
      8600289384
166 Min_W/E_Cycle           0x0032   100   100   ---    Old_age  Always       - 
      1
167 Min_Bad_Block/Die       0x0032   100   100   ---    Old_age  Always       - 
      25
168 Maximum_Erase_Cycle     0x0032   100   100   ---    Old_age  Always       - 
      6
169 Total_Bad_Block         0x0032   100   100   ---    Old_age  Always       - 
      0
171 Program_Fail_Count      0x0032   100   100   ---    Old_age  Always       - 
      0
172 Erase_Fail_Count        0x0032   100   100   ---    Old_age  Always       - 
      0
173 Avg_Write/Erase_Count   0x0032   100   100   ---    Old_age  Always       - 
      3
174 Unexpect_Power_Loss_Ct  0x0032   100   100   ---    Old_age  Always       - 
      14
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age  Always       - 
      0
194 Temperature_Celsius     0x0022   074   033   ---    Old_age  Always       - 
      26 (Min/Max 20/33)
199 SATA_CRC_Error          0x0032   100   100   ---    Old_age  Always       - 
      0
230 Perc_Write/Erase_Count  0x0032   100   100   ---    Old_age  Always       - 
      73017196586
232 Perc_Avail_Resrvd_Space 0x0033   100   100   004    Pre-fail Always       - 
      100
233 Total_NAND_Writes_GiB   0x0032   100   100   ---    Old_age  Always       - 
      3273
234 Perc_Write/Erase_Ct_BC  0x0032   100   100   ---    Old_age  Always       - 
      4413
241 Total_Writes_GiB        0x0030   253   253   ---    Old_age  Offline      - 
      4021
242 Total_Reads_GiB         0x0030   253   253   ---    Old_age  Offline      - 
      7352
244 Thermal_Throttle        0x0032   000   100   ---    Old_age  Always       - 
      0

From that slightly more voluminous, and better identified, output we
can see that this drive pas been powered on for 7004 hours,
power-cyled 25 times, has a large Write/Erase count which didn't
alter the 'Value', has apparently had 14 unexpected power losses,
has written 4TB (but only 3TB to NAND) and read 7TB.

As always, those figures should not necessarily be believed -
conventional drives sometimes fail without any SMART errors, I'm
sure SDDs can do too.  But I have reasonable confidence that current
SDDs are good enough, at least when compared to current conventional
disks (there are a few of those with a good reputation, many others
with a reputation of "most will be ok").

Summary - except where I need more than 1TB, I'm using SSDs for
future purchases.  The only downside I ever found was an old SATA1
motherboard (via chipset, I think) which couldn't talk to anything
newer and therefore failed with SSDs.  For external backups I'm
still using conventional USB drives (some of those are small and
slow, but as long as they work :)

And I have no idea whether M.2 (NVM) is worth the price premium.

ĸen
-- 
 Error: ( : 1) not enough arguments

Don't you just love Tiny scheme ?
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to