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