Dear Paul,
Am I correct to assume that a NVMe driver is also an AHCI driver?
Thanks for all your input. To briefly summarize, the NVMe [1] and AHCI [2] interfaces are not interchangeable. NVMe has been specifically designed to target solid-state drives and make optimal use of their low latency and internal data access parallelism.
While AHCI (and its predecessors SATA and ATA/IDE) can be certainly also used to connect to solid-state drives, it is a legacy technology in that regard.
(To be honest, the confusion is understandable, because the common M.2 [3] form factor solid-state drives might actually use legacy SATA, AHCI over PCIe or NVMe over PCIe, although generally just one of the three interfaces at one time.)
Note that NVMHCI is a predecessor of the current NVMe, but as far as I can tell, the two standards are quite different. Most notably, NVMHCI lacks the most prominent feature of NVMe: independent submission and completion queues.
HelenOS currently has an ATA/IDE driver [4] (which should, by means of backward compatibility, also support SATA drives) and an AHCI driver [5]. We lack an NVMe driver.
[1] https://nvmexpress.org/developers/ [2] https://www.intel.com/content/www/us/en/io/serial-ata/ahci.html [3] https://en.wikipedia.org/wiki/M.2 [4] https://github.com/HelenOS/helenos/tree/master/uspace/drv/block/ata_bd [5] https://github.com/HelenOS/helenos/tree/master/uspace/drv/block/ahci Best regards Martin Decky _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/listinfo/helenos-devel
