Linux – the best Solid State File System (SSDFS) for Linux

filesystemslinuxssd

EXT4 is not a solid state file system. It won't take full advantage of the hardware and it will ware out the drive. So what is the best Solid State File System for Linux? I am looking forward to ButterFS (btrfs), but its not suitable for production systems. I'm also interested to know why you like a particular ssdfs.

Best Answer

First and foremost, modern SSD drives and especially the kind I'd use for 'enterprise' workloads have sufficient wear-leveling built in that even poorly behaved filesystems won't seriously degrade the lifespan of the drive itself. Even file-systems that use the same blocks over and over again for metadata operations or the journal won't do this, since the drives are smart enough to move that logical hot-block onto different physical blocks as the drive ages.

A file-system that is good for maximum SSD lifespan will be one that causes a minimum of write I/O operation overhead when writing storage blocks. Overhead generally comes from metadata and journal operations. This is not unique to SSDs though, as those kinds of write amplification features impact rotational media as well.

Where true Solid State Drive oriented file-systems, such as LogFS, come into their own is when they're managing storage that doesn't have wear leveling built in. If you're building storage based off of Compact Flash or SD cards, these filesystems will indeed perform the wear-leveling that modern Solid State Drives do internally. Embedded devices will probably use these file-systems far more often than end-users or server admins.

If you have a real SSD on your hands, it still pays dividends to ensure your legacy rotational media oriented filesystems align block boundaries on logical drive block boundaries. This prevents write amplification due to misaligned writes, which both increases performance and lifespan of the device.

Even on SSDs I still like XFS for my filesystem. But EXT4 looks promising for other workloads. I'm far more confident that fiddling XFS to do block-aligned writes will give me both lifespan and performance than I am confident that experimental file-systems like LogFS will survive the test of time.

Related Topic