134: The Clunky NVMe Interface 0 ▲ Michael W Lucas 57 minutes ago · Tech · hide · 0 comments One PHP Apocalypse later, here’s OpenZFS Mastery on NVMe. The slowest, most complicated, and most error-prone part of an SSD is the Flash Translation Layer. Pretending to be as stupid as a 1980s spinning disk is hard labor. Non-Volatile Memory Express (NVMe) uses very similar hardware but drops this clumsy pretense, instead offering an interface designed for fast flash memory. NVMe itself is a physical interface specification like SATA or SCSI/SAS, but designed for extremely fast access. Where spindles and SSDs have one queue per disk, NVMe allows 65,536 queues per device, of 65,536 commands each. Most NVMe drives use one read and one write queue per CPU. By spreading the load across CPUs, NVMe queues can be kept relatively shallow, allowing high-priority tasks fast responses and boosting general performance. The NVMe interface requires less locking while providing far greater parallelism and performance. Still grinding to get a first draft done before my shoulder surgery next month.… No comments yet. Log in to reply on the Fediverse. Comments will appear here.