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