Zend certified PHP/Magento developer

What is a NVMe controller?

This question may sound trivial but it isn’t.
Take a look at this image.
You can see Windows device manager listing NVMe controllers. I expected it to list NVMe disks but not controllers.

It does not make sense to me because NVMe is a software protocol only. NVMe disks use PCIe. AFAIK they are connected to PCIe directly. There is no storage controller in between.

For example when using SATA there is a SATA AHCI controller on the mainboard connected to PCIe which converts PCIe to physical SATA. There can be multiple disks connected to this controller.

But as already said NVMe is different to SATA as it is only a software protocol. There is no physical NVMe.

So it must be the NVMe controller is virtual and located on the disk.

But why is there a controller at all if it is on the disk and always can only have one disk connected to it? Why does the device manager show two devices while it is logical and physical one?

Can someone please explain what exactly an NVMe controller is and what it does?