When you use your PC, you probably don't think about the file system that keeps your files organized and accessible in the background. However, the file system actually matters, and is a big component of the performance of the device that you're using. File systems organize data into structures, like blocks, inodes, or extent trees, which directly affect how quickly the system can locate and retrieve files. Different file systems are also built for different kinds of storage, an example being F2FS which is built for NAND flash storage and is quite commonly used in smartphones.
On top of that, more modern file systems make use of features like checksumming, which automatically detect and repair data corruption. They can even offer snapshot capabilities, which allows you to capture the state of your data at a given time. While this can slightly affect write performance, you can recover data in a previous state. Then there are other features too like native compression, advanced caching mechanisms, concurrent I/O request efficiency, better locking strategies, and more. In contrast, older file systems like NTFS (first released in 1993), won't have all or even many of the new features in modern file systems.
As a result, these are four file systems that you can consider using today, and why they're worth trying.
4 ZFS
Used a lot in NAS devices
If you're building a NAS that will house critical long-term data, the choice of file system is just as important as the hardware itself. For users who care about protecting their data and its integrity, ZFS is one of the best file systems to use. It has a range of advanced features you won’t find in other file system options that you may have heard of, or at least not in the one place. It was originally developed by Sun Microsystems and is now actively maintained as OpenZFS, and ZFS is more than just a file system. ZFS is also a volume manager, which means that it can organize and manage disks as storage pools.
One of the best advantages of ZFS is its focus on data integrity. ZFS employs a copy-on-write mechanism, meaning every change to data is written to a new location before any pointers are updated. This prevents data corruption from power losses or crashes, and ZFS also performs end-to-end checksumming, automatically identifying and repairing data inconsistencies. If it detects a mismatch, it can pull from redundant copies to self-heal, minimizing the risk of data loss. In addition, features like native compression, deduplication, and encryption allow you to save on storage space and improve performance further.
ZFS also builds on top of RAID with "RAID-Z." It has similar redundancy benefits to traditional RAID but with additional error-checking and repair capabilities. Past RAID-Z, ZFS supports multiple RAID configurations, so you can configure your storage for performance, redundancy, or both. While ZFS may have slightly more overhead compared to a pure performance-driven system like XFS, the trade-off is worth it for the exceptional data protection, reliability, and flexibility ZFS brings to a NAS.
3 Btrfs
For Linux, primarily
Not everyone wants to stick with the tried-and-true default Ext4 file system in Linux, especially as storage needs and performance expectations grow. For users looking to go beyond what Ext4 can provide, Btrfs (B-tree file system) is a compelling choice. Btrfs brings modern, server-grade features to Linux that emphasize data integrity, flexible storage management, and simplified administration, making it ideal for anyone with a serious focus on data reliability. Originally developed by Oracle, it’s now actively maintained by the community, with support in many popular Linux distributions like Fedora and openSUSE.
Btrfs is a copy-on-write (CoW) file system, meaning it writes data changes to a new location on the disk before updating pointers. This approach protects against data corruption during unexpected events, like a system crash or power loss, helping ensure your files are intact and accessible even after a failure. Btrfs also checksums both data and metadata, detecting and correcting errors in real-time, so you know your data is more secure than with traditional file systems.
One of Btrfs’s most important features is its flexibility with storage configurations. It supports a variety of RAID levels, allowing users to combine disks for either performance or redundancy, all without the need for an external RAID controller. Additionally, Btrfs offers snapshotting and subvolume capabilities, letting users take point-in-time snapshots of their file system. These snapshots are efficient and consume minimal space, making it easy to roll back changes or recover files. Whether you’re on a desktop, a server, or a NAS device, Btrfs delivers advanced capabilities that provide stability, data integrity, and flexibility that goes beyond Ext4’s limitations, making it a great choice for Linux users.
If you want to use Btrfs on Windows, there's a community-made Btrfs driver called WinBtrfs, but users have reported multiple problems with it over time. While it has definitely improved over the last few years, you're better off simply sticking to the Linux implementation. It's also available in React OS.
2 Bcachefs
A new kid on the block
Bcachefs is a next-generation file system worth considering for your NAS or computer, thanks to the features it combines with performance. Initially developed by Kent Overstreet as an extension of the bcache caching layer, Bcachefs has evolved into a fully-fledged file system that aims to bring the best features of traditional file systems, like XFS, together with the advanced capabilities of ZFS and Btrfs. Overstreet once famously said that "btrfs has too many design mistakes baked into the on disk format," though Linus Torvalds, the lead developer of the Linux Kernel, said that "nobody sane uses bcachefs and expects it to be stable".
However, Bcachefs is designed with performance as a priority, combining high throughput and low latency with data consistency and resilience. Its caching architecture can speed up read and write operations by combining fast storage (like SSDs) with larger, slower disks (like HDDs), creating a hybrid storage solution. A recommended configuration for Bcachefs is to use an SSD group for the foreground and promote, and an HDD group for the background (a writeback cache). Bcachefs has three storage targets: background, foreground, and promote. Writes to the filesystem prioritize the foreground drives, which are then moved to the background over time. Reads are cached on the promote drives.
It's not just about performance though, either, as Bcachefs includes robust data integrity features, such as checksumming, to detect and repair data corruption, along with support for snapshots, compression, and encryption. Unlike many file systems, Bcachefs allows for “always-on” compression and supports multiple redundancy and RAID configurations. It might not be quite ready to be your daily driver just yet, but some people have been using it just fine.
3 reasons HDDs are still worth it in 2024
HDDs might be on their way out, but they're still better than SSDs in some areas
1 EROFS
Developed by Huawei
When it comes to read-only file systems optimized for speed and efficiency, especially for use cases like embedded systems and Android, Enhanced Read-Only File System (EROFS) is a pretty big deal. It was originally developed by Huawei, and was made to address performance limitations often found in traditional read-only file systems. Unlike general-purpose file systems, EROFS is tailored to provide rapid access to compressed, read-only data, making it ideal for systems where storage space and read speeds are prioritized over write capabilities. It's integrated in the Linux kernel, and used in Oppo and Xiaomi smartphones, along with the Samsung Galaxy S23 series.
By using an on-demand decompression mechanism, EROFS allows data to be stored in a compressed format on disk and then quickly decompressed as needed. It only saves space but also speeds up read operations, as the compressed data takes up less bandwidth and requires fewer I/O operations. Even better is that it requires fewer CPU cycles for decompression. It has checksumming support too, and keeps data in a stable, unmodifiable state. It's not great for write-heavy environments, but it's great for filling a niche when you need a read-only partition.
