News for hackers. Stuff that matters.
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Friday January 29, 2021 @01:16PM (#25960460)
I just checked my logs, and none of Samsung's consumer NVMe drives have ever supported sector sizes other than 512B. They seem to view this feature as part of their product segmentation strategy.

Some consumer SSD vendors do enable 4kB LBA support. I've seen it supported on consumer drives from WD, SK hynix and a variety of brands using Phison or SMI SSD controllers (including Kingston, Seagate, Corsair, Sabrent). But I haven't systematically checked to see which brands consistently support it.

Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by floatboth on Saturday January 30, 2021 @05:38AM (#25967980)
At least early WD Black models don't really seem to have 4K LBA support. The format option is listed, but it refuses to actually run the command to reformat the drive to the new "sector" size.
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Saturday January 30, 2021 @09:23AM (#25969290)
Put your system to sleep and wake it back up. (I use `rtcwake -m mem -s 10`). Power-cycling the drive like this resets whatever security lock the motherboard firmware enables on the drive during the boot process, allowing the drive to accept admin commands like NVMe format and ATA secure erase that would otherwise be rejected. Works on both the WD Black SN700 and SN750 models, doesn't seem to be necessary on the very first (Marvell-based) WD Black or the latest SN850.
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by floatboth on Saturday January 30, 2021 @10:25AM (#25969792)
I'm pretty sure this is the very first one though — WDS250G2X0C, firmware 101110WD.
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Saturday January 30, 2021 @01:08PM (#25971335)
I think that's the second-gen WD Black, but the first one that had their in-house SSD controller rather than a third-party controller. The marketing and packaging didn't prominently use a more specific model number to distinguish it from the previous WD Black, but on the drive's label it does say "PC SN700". Also, the first-gen WD Black was 256GB and 512GB capacities, while the later generations are 250/500/1000/2000GB. Firmware version strings for the first-gen WD Black were stuff like "B35200WD", while the SN700/720/730/750 family have versions like "102000WD" and "111110WD". So I would definitely expect your drive to require the sleep-wake cycle before it'll let you reformat to 4k sectors.
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by jeffbee on Saturday January 30, 2021 @02:20PM (#25972050)
You seem to have a lot of info on this topic. Do you run a blog or some other way you disseminate this stuff?
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Saturday January 30, 2021 @09:13PM (#25975115)
I'm at https://www.anandtech.com/Author/182

But this thread gets into details that are more esoteric than what I cover in most reviews, which are written with a more Windows-oriented audience in mind. Since I do most of my testing on Linux and have an excess of SSDs littering my office, I'm well-equipped to participate in a thread like this.

I highly recommend reddit.com/r/NewMaxx as the clearinghouse for consumer SSD news and Q&A. I'm not aware of a similarly comprehensive forum for enterprise storage, where this thread would probably be a better fit.

Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by 1996 on Friday January 29, 2021 @04:50PM (#25963125)
Is it genuine 512?

As in, what ashift value do you use with zfs?

Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Friday January 29, 2021 @05:05PM (#25963310)
Regardless of what sector size you configure the SSD to expose, the drive's flash translation layer still manages logical to physical mappings at a 4kB granularity, the underlying media page size is usually on the order of 16kB, and the erase block size is several MB. So what ashift value you want to use depends very much on what kind of tradeoffs you're okay with in terms of different aspects of performance and write endurance/write amplification. But for most flash-based SSDs, there's no reason to set ashift to anything less than 12 (corresponding to 4kB blocks).
Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by 1996 on Saturday January 30, 2021 @11:07AM (#25970147)
> for most flash-based SSDs, there's no reason to set ashift to anything less than 12 (corresponding to 4kB blocks).

matching the page size?

> the underlying media page size is usually on the order of 16kB

I'd say that's a good reason to set ashift=14 as 2^14=16kb

Re:Achieving 11M IOPS and 66 GB/S IO on a Single ThreadRippe... by wtallis on Saturday January 30, 2021 @02:09PM (#25971949)
There are downsides to forcing the OS/FS to always use larger block sizes for IO. You might simply be moving some write amplification out of the SSD and into the filesystem, while losing some performance in the process. Which is why it really depends on your workload, and to some extent on the specific SSD in question. I'm not convinced that ashift=14 is a sensible one size fits all recommendation, even if we're talking only about recent-model consumer-grade NAND SSDs.