Comment by stingraycharles
18 hours ago
Don’t block devices have a scheduler with a queue under the hood? Couldn’t that queue become full when writing?
(This is a genuine question)
18 hours ago
Don’t block devices have a scheduler with a queue under the hood? Couldn’t that queue become full when writing?
(This is a genuine question)
from open(2):
This is one of the things that changed when we moved from SATA to NVME. SATA has only a few "in flight" instructions and NVME does 64k.
Begs a question though: are there any NVME "spinny rust" disks?
> are there any NVME "spinny rust" disks?
My recollection is that NVMe had some features added specifically for hard drives. I don't know if anyone ever bothered making a hard drive that natively used NVMe over PCIe; the main goal was to enable NVMe over Fabrics to work with both solid state and spinning rust drives, so that it could fully replace iSCSI.
I’m pretty sure spinning HDDs can have rather complex controllers that actually try to optimize access at the block level by minimizing the amount the read head needs to travel. So yea there are some buffers in there.