NVM Express, NVMe, or Non-Volatile Memory Host Controller Interface Specification (NVMHCI), is a logical device interface specification for accessing non-volatile storage media attached via PCI Express (PCIe) bus. "NVM" stands as an initialism for "non-volatile memory", which is commonly flash memory that comes in form of solid-state drives (SSDs). As a logical device interface, NVM Express has been designed from the ground up, capitalizing on the low latency and internal parallelism of flash-based storage devices, and mirroring the parallelism of contemporary CPUs, platforms and applications.
By its design, NVM Express allows levels of parallelism found in modern SSDs to be fully utilized by the host hardware and software. As a result, NVM Express reduces I/O overhead and brings various performance improvements in comparison to previous logical device interfaces, including multiple, long command queues, and reduced latency.
Historically, most SSDs used buses such as SATA, SAS or Fibre Channel for interfacing with the rest of a computer system. Since SSDs became available in mass markets, SATA has become the most typical way for connecting SSDs in personal computers; however, SATA was designed primarily for interfacing with mechanical hard disk drives (HDDs), and it became increasingly inadequate for SSDs that improved in speed over time.[6] For example, unlike hard disk drives, some SSDs are limited by the maximum throughput of SATA.
High-end SSDs had 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. It also means that each SSD manufacturer does not have to use additional resources to design specific interface drivers. This is similar to how USB mass storage devices are built to follow the USB mass-storage device class specification and work with all computers, with no per-device drivers needed.[7]
As of September 2014, a new standard for using NVMe over Fibre Channel (FC) is also in development.[8]
No comments:
Post a Comment