On Tue, Jun 18, 2024 at 08:46:31AM +0100, John Garry wrote: > > About NVMe, the spec says that NABSN and NOIOB may not be related to one > another (command set spec 1.0d 5.8.2.1), but I am wondering if people really > build HW which would have different NABSN/NABSPF and NOIOB. I don't know. The history of NOIOB is from an nvme drive that had two back-end controllers with their own isolated storage, and then striped together on the front end for the host to see. A command crossing the stripe boundary takes a slow path to split it for each backend controller's portion and merge the results. Subsequent implementations may have different reasons for advertising this boundary, but that was the original. Anyway, there was an idea that the stripe size could be user configurable, though that never shipped as far as I know. If it had, then the optimal NOIOB could be made larger, but the atomic write size doesn't change.