Week 4 Posting - BSIT200 - NVMe (More Information)

This technology came up in the book and I had seen it before when doing readings online, but the book didn't do much in the way of explaining a lot about it. So, I decided I would research it and write a little about it to help myself and anyone reading understand it a little better.

The background behind non-volatile memory express (NVMe) is that serial ATA (SATA) is the most typical way to connect a solid state drive (SSD) to a personal computer, but SATA was designed primarily for interfacing with mechanical hard disk drives (HDD). It hasn't been able to keep
up with the improvements to SSDs and the SSDs were limited by the maximum throughput of SATA. So a new technology was needed to help deliver higher throughput and faster response times with the SSDs. That's where NVMe comes in, it is a logical-device interface and driver that is designed to utilize the low latency and internal parallelism of SSDs. It is used via a PCI Express bus (PCIe) and supports many parallel command queues which makes it much faster than hard disk drives which are limited to a single command queue. 

Other benefits of NVMe include its compatibility with multicore CPUs, it begins sending commands twice as fast as AHCI drivers, it communicates directly with the CPU instead of with a controller first, it works with all major OSes, and according to one website, its Input/Output Operations per second exceeds 1 million making it 900% faster than AHCI.

https://www.kingston.com/en/community/articledetail/articleid/48543
https://www.netapp.com/data-storage/nvme/what-is-nvme/
https://en.wikipedia.org/wiki/NVM_Express

Comments