SSDFS Is The Newest Linux Filesystem & Catering To NVMe ZNS SSDs

3 years ago (phoronix.com)

Very excited to see this forerunning adopter of NVMe Zoned Namespaces (ZNS), the follow-up/merged effort to OpenChannel Flash (and also useful for Shingled Magnetic Recording (SMR))! We don't use SSDs particularly well & this could be an epic leap forward. I'm especially excited to see how cheaper DRAM-less drives do, over time, leaving much more to the OS/system. ZNS is a pretty simple idea - that it defines small-ish write-blocks called Zones that are explicitly "opened" for writing (but not rewriting) data, which then become "closed" as they fill or are done. Additionally a new Append command let's data be added sequentially, with the driver determining the final address within the zone (typically the host defines the exact location ahead of time when writing).

These capabilities are sufficient to enable a much better use of the SSD than typical access patterns, which SSDFS here is working to leverage.

It's can be hard to appreciate on the surface of it what these small capabilities lead to, but it allows for a far more flash-friendly access pattern, which SSDFS here is leveraging. Zoned Storage[1] has a fairly technical intro page, and a number of videos, which promise a lot. I'm extremely pleased with how strong a foot forward Viacheslav makes as they describe how they came at this problem from the other side, of building a FS to leverage it: I think they did a great job conveying how this capability works in practice & how much better it can be. This is such a thrilling development!

[1] https://zonedstorage.io/docs/introduction/zns

  • Viacheslav is one of those many russians who fully endorses russia's war of invasion in Ukraine while living in SFBA. I wish this fs the same fate as ReiserFS.

    • I mean its open source, why wish for a project with actual utility to die when its completely forkable? Its not like the code itself is harmful, just the author according to what you've said.

    • (tldr; war unequivocally evil; not all russians unequivocally evil; pure science itself never unequivocally evil)

      Wish harm on the person, no the tech /s

      But seriously, as much as I strongy disapprove of this whole russian invasion fiasco (and the humanitarian impact of a senseless conflict), I think that there's still merit on the technology itself. Its not like Viacheslav is bombing ukrainian civilians in order to squeeze some performance inprovements out of the storage media. For the same reason, I won't stop running nginx on my boxes.

      Many famous inventors were bastards in real life. Take for example the guy who invented the machine gun, allowing killing and maiming on a whole new level. Many Nobel Prize winners, who worked out the basis of whole new research areas were eugenics proponents. Hell, Schrödinger was probably a kid diddler; John Lennon, a wife beater; the corn flakes guy was a nut; disgusting bastards, the whole lot of them. But that's because they were people. Its not like Kevin Spacey became a bad actor once the sexual abuse allegations were made public, or Chuck Berry's music became bad when people realized he was a pervert. Likewise, all those people contributed to their fields in ways that still influence how we live today.

      And to be completely fair, ReiserFS has been deprecated not because of the infamous murder case (of which Hans should prob be finishing his sentence soon), but because many of its contributions were superceded by new tech present in modern, well-supported alternatives. Also the reliance on kernel locks. And it inspired some of these following improvements.

    • That's not at all pleasant to hear, thanks sharing. It is most likely just fancy & wouldnt have gone anywhere, but I had sort of hoped to play with this & find some way to be useful, contribute some code. Very rebuffing having that association.

Doesn't seem like this keeps checksums of it's stored data, for later double checking (aka zfs scrub).

Would have been nice. :)

Circling back on this after being the first to post this (to original link[0]).

Went looking for a NVMe ZNS SSD to get started on and there's not a single one available to buy on the net. WD has a "Contact Sales" button for the zn540[1], which was annnounced as the World's First ZNS SSD... in November 2020[2]. Nothing on ebay, no-where; does not exist for real. Samsung announced a PM1731a in June 2021[3], but it too is not available anywhere, vaporware. Buzzkill!

The only relevant ZNS product news I've found since 2020 comes in March 2022, when WD & Samsung announced they are teaming up for ZNS SSDS[4]. Hopefully they actually ship something in 2023, but I'm not holding my breath.

And these are all of course super enterprisey drives. Why not, new feature? Barely supported? Super niche. Sounds like a good way to charge more money. But this would be such a huge help. And drives have to do so much less work with ZNS! There's so much less work around rewriting sectors, less work about translating addresses that ZNS can potentially offer. It's a direct & sensible system that abstracts the hardware. SSDs shouldn't "have ZNS support," they should be ZNS only (like SMR drives have been!). And it should be available at all market levels. Someone should try actually selling these drives, & trying to get the market created. Right now this seems to make all the sense, but it's like no one wants to try to sell a much more efficient & better product.

There is a QEMU emulator. But I don't think it's much of a performance simulator, and it'd be hard to know whether you db or nas loads or what-not really were improving as you built out the tech. I wish the actual story around this tech were much better. There's a dream here of cheap DRAMless SSDs that absolutely sing at absurd iops & don't have the absurd performance wall after the first 20minutes of use (alike Optane offered, albeit with the expected 10-100x higher latency).

[0] https://www.tomshardware.com/news/samsung-and-western-digita...