NVMe Primer

What is NVMe?

NVMe (Non-Volatile Memory Express) is an Industry standard for non-volatile memory based enterprise level storage solution. NVMe is designed to remove the bottleneck that have been experienced by legacy hard drive infrastructure.

NVMe is an interface which is designed to have faster data transfer between enterprise level systems and solid-state drives (SSDs). NVMe defines the standardize register set, command set for better performance. Simple command set takes around 13 commands to get NVMe device up and running in comparison to SCSI or ACI  which takes around 400 commands.

How NVMe works

NVMe works based on a paired submission and completion queue mechanism. Host software places commands into the submission queue. The NVMe controller places command completions into an associated completion queue. Multiple submission queues may report completions on a single completion queue, provided the controller supports arbitration with different priorities. Message-Signaled Interrupts Extended (MSI-X) and interrupt steering is supported as well.

High-end SSDs have been made using the PCI Express bus before NVMe, but using non-standard specification interfaces. By standardizing the interface of SSDs, operating systems only need one driver to work with all SSDs adhering to the specification.

Intel SSD 750 series, an SSD that uses NVM Express

NVMe advantages

  1. NVMe supports deep queue depth of 64k commands per queue and upto 64k IO queue.
  2. NVMe provided low latency, low CPU utilization and high performance.
  3. NVMe requires less than half the number of CPU instructions than the SCSI command set.
  4. Support for enterprise capabilities like end-to-end data protection, enhanced error reporting, and virtualization

OS support

  • Linux:  RHEL 6.5, 6.6, 6.7, 7.0, 7.1 SUSE 11 SP3, 12, Ubuntu 13, 14
  • Windows: Windows 7, 8, 8.1, 10 Windows Server 2008 R2, 2012, 2012 R2
  • UNIX: FreeBSD, Solaris 11.2 and higher
  • VMware: ESXi 5.5, 6.0

NVMe Use cases

  1. Simultaneous read and write performances
  2. Performance measurement with database applications workload
  3. System level validation of NVMe Controller
  4. Testing for NVMe over Fabrics, including RDMA and Fiber Channel solutions
  5. WHQL testing for NVMe driver

[Tweet “NVMe Primer ~ via @CalsoftInc”]

 
Share:

Related Posts

Understanding Types and Trends of Data Storage Technologies

Explore the forms of data storage, latest data storage technologies and trends crucial for optimizing data management.

Share:
How to Perform Hardware and Firmware Testing of Storage Box

How to Perform Hardware and Firmware Testing of Storage Box

In this blog will discuss about how to do the Hardware and firmware testing, techniques used, then the scope of testing for both. To speed up your testing you can use tools mentioned end of this blog, all those tools are available on internet. Knowing about the Hardware/Firmware and how to test all these will help you for upgrade testing of a product which involve firmware

Share:

Importance of High Availability Feature in Storage

Discover the importance of High Availability (HA) in storage solutions. Learn how HA ensures data access, scalability, and operational efficiency in the IT industry.

Share:
Storage Solutions Redefined SSD and Cloud Storage

Storage Solutions Redefined: SSD and Cloud Storage

Solid State Drives (SSDs) and Cloud Storage are innovative storage solutions, that transform data management. Explore this blog for insights on selecting appropriate enterprise storage solutions.

Share:

Role of Cyber Security in Business Continuity

Cyber security plays a critical role in business continuity by mitigating risks, cyber-attacks, and by maintaining trust with customers and partners. Explore the crucial role of cybersecurity in ensuring business continuity!

Share:
Navigating Big Data Storage Challenges

Storage Considerations for Big Data Storage

The last decade or so has seen a big leap in technological advancements. One of the technologies to come up at this time and see a rapid…

Share: