[colug-432] question about SSD wear
Rob Funk
rfunk at funknet.net
Fri Sep 16 11:29:36 EDT 2016
Sorry, catching up on a week of email....
On Friday, September 9, 2016 8:40:31 AM EDT Johnathon Scott wrote:
> It probably doesn't matter at all in this use case but this discussion
> made me wonder whether file system choice has an effect on the life of
> SSDs.
It probably doesn't have as much of an effect as you might think, because
the wear-leveling happens in the SSD firmware. By now, SSD firmware is pretty
mature and very smart about masking the quirks of the hardware.
> So unless the disk is mounted with "noatime" option,
> each time a file object is accessed, metadata is written to the
> coresponding inode.
That's no longer true. The "relatime" option was invented to fix this
situation without losing the atime functionality. With relatime, the system
updates atime only if the old atime was older than the current mtime or
ctime. This preserves the most common uses of atime (particularly regarding
the mail spool), while drastically reducing the need to update it. And
according to the mount(8) man page, relatime has been the default since
Linux 2.6.30.
> Am I correct in my understanding that log-structured file systems like
> F2FS, LogFS, and ZFS (I might be wrong on ZFS considering ZIL/L2ARC)
> don't do this? Updates are not stored in the exact same physical
> location.
"Exact physical location" has been a fiction in disks for a long time, even
before SSDs, due to performance optimization and bad-sector handling. SSDs
just make it more important for the fiction and reality to differ. The SSD
firmware will do something like this log-structuring internally, although a
log-structured fs will probably help for small writes.
My understanding is that it's still a good idea to minimize writes and to
pay attention to the erase-block size. Support for the TRIM command helps a
lot. But for most purposes the firmware insulates you from the SSD quirks.
https://en.wikipedia.org/wiki/Solid-state_drive#Suitable_file_systems
More information about the colug-432
mailing list