2 ms·
> Modifying a traditional filesystem like ext4 to run on flash would effectively be a complete rewrite. I mean that’s patently incorrect though… All modern PCs
by vlovich123 3y ago
> Modifying a traditional filesystem like ext4 to run on flash would effectively be a complete rewrite.
I mean that’s patently incorrect though… All modern PCs are running on raw NAND with a flash controller mediating things to present as a legacy block device and ext/xfs/nags etc runs just fine this way. Heck, even Apple OSes, which actually afaik do have their own in-house flash controller, had HFS running on top of the translation layer rather than baking those requirements into the FS (I think this is also true for APFS but not 100% certain).
So while everything you wrote about the complexities of raw NAND are true, it doesn’t follow that the filesystem MUST handle all that complexity itself. Something designed to take full advantage might perform better, but that’s always true and seeing cheaper storage solutions with reliable fsync might be a worthwhile trade off (+ you can always run a filesystem that’s better designed to accommodate the underlying HW details)
- IAmLiterallyAB 3y agoThis is true, Linux developers could write their own fully featured FTL. However, it's difficult. To quote the MTD docs "Unfortunately it is a rather difficult task to create a good FTL layer and nobody still managed to implement one for Linux."