Jump to content

NVM Express

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Why2jjj (talk | contribs) at 23:51, 18 April 2012 (→‎External links: Added OpenFabric Alliance home page that hosts Windows driver work). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

NVM Express, or Non-Volatile Memory Host Controller Interface Specification (NVMHCI), is a specification for accessing solid-state disks (SSDs) on a PCI Express bus. NVM is an acronym for non-volatile memory, as used in SSDs. Version 1.0 of the specification was released on March 1, 2011.[1]

SSDs have been made using the PCI Express bus before, but using non-standard specification interfaces. By standardizing the interface of the SSDs, operating systems only need one driver to work with all SSDs adhering to the specification. It also means that each SSD manufacturer doesn't have to use resources to design specific interface drivers. This is similar to how hard disks built to follow the SATA specification work with all computers, with no per-hard disk driver needed.[2]

Historically, most SSDs have used busses such as SATA, SAS or Fibre Channel. SATA has been the most typical way to connect SSDs in the personal computer, but SATA was designed for mechanical hard disk drives, and has become increasingly inadequate as SSDs have improved. For example, unlike hard disk drives, some SSD are limited by the maximum throughput of SATA.

Operating system support

Windows

The "NVMe Windows Working Group" is an initiative from the OpenFabrics Alliance to maintain a new software stack for Windows for use with PCI Express Solid State Devices. The baseline Windows driver being contributed to the open-source initiative was developed by several of the Promoter companies in the NVM Express (NVMe) Workgroup, specifically IDT, Intel, and LSI. This work is hosted here .

Linux

Intel has published an NVM Express driver for Linux.[3] It has been merged into the Linux kernel for version 3.3[4].

See also

  • SATA Express, a specification for sending SATA commands over a PCI Express bus

References

  1. ^ "NVM Express Revision 1.0". NVMHCI Workgroup.
  2. ^ "NVM Express Explained".
  3. ^ Matthew Wilcox. "NVM Express driver".
  4. ^ "Merge git://git.infradead.org/users/willy/linux-nvme". 2012-01-18. {{cite web}}: External link in |title= (help)