• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Can a File System Be Optimized for Flash/Memristor Storage

Status
Not open for further replies.

GWestphal

Golden Member
I was reading about NVMe and how it's optimized for solid state and got thinking about the file system, can they be better optimized for solid state? In which ways? Or does it not really make a difference?
 
As far as I am aware, most modern filesystems are already multithreaded and using better connections like SAS that allows multiple concurrent requests should be able to max out fast storage as long as they minimized the CPU time needed for things like ACL calls. I am excluding filesystem level compression and the like here since that is normally CPU bound.
 
There are a few theoretically better file system layouts that help flash along, reduce write amplification and ultimately should improve performance. The main area of potential gain is about how files are rewritten. On a HDD a file is rewritten to the same blocks, but as we know an SSD doesn't work that way, it'll write that file in empty space and then have to maintain a mapping from the old file to the new one location so that the SSDs location mismatches the operating systems.

In essence the way to potentially make a filesystem that performs better on an SSD is exploiting how they work. That is a rewritten file gets written into empty space, having the OS use the SSD more like how it itself works should help it make better choices about flash relocation and clearing if the OS is basically having to make similar decisions.

I have seen one example of something a little like this which is the Berkley object database. We also have a special filesystem on Linux as well, although its still considered unstable. The benefits on an SSD however so far but not enormous.
 
Yes. F2FS is just such a file system, and makes run of the mill USB 3.0 thumb drives sing and dance (its fsck cannot fix errors, yet, though, so I wouldn't go using it, except as a toy, for now). The main thing done is to prefer sequential writes, and not worry much about fragmentation, until it gets bad (the less time spent writing, the more time can be spent reading, or doing other tasks that are blocked by waiting for writes to finish). Log structure file systems have a lot going for them, but also plenty of gotchas. EXT4 and BTRFS also have optimizations inside for SSDs, though weren't made for them from the start, like F2FS.
 
Status
Not open for further replies.
Back
Top