Click on the Image to Enlarge
Click on the Image to Enlarge
Even as a mature, diverse and reliable technology—magnetic spinning disk drives (aka hard disk drives or “HDDs”) continue to grow in capacity, performance and cost benefits. Alternative storage solutions, however, continue to evolve. Hot on the HDD heels—as has been the case for more than 10 years running—are a family of solid-state equivalents.
SSDs (solid-state drives) now sit squarely alongside the other legacy nonvolatile memory solutions, and their presence is being enhanced by interface improvements known generically as non-volatile memory express or NVMe.
Storage media itself, such as Flash Memory, have seen a multitude of improvements centered on many technological advances. My previous columns have outlined those changes over the past decade. Now we see new steps to improving non-volatile memory solutions, which are in the interfaces themselves.
Of the various interface forms for HDDs, those with serial Advanced Technology Attachment (SATA) interfaces
have become the more cost-effective and most prominent of the “everyday application” disk drives. The more expensive serial-attached SCSI (SAS) drives buy the users other capabilities.
When it comes to HDD applications, SAS drives tend to be found more in enterprise computing because of their high speed and high availability, factors crucial for such activities as ATM transactions, stock exchanges and eCommerce.
Conversely, SATA drives are used primarily in desktops for consumer use and in those less demanding roles such as backups and near-line data storage.
We are omitting Fibre Channel disk drives from this conversation because they are more specialized and less cost effective, but can arguably be justified in high-performance storage applications (such as editing systems) when supported by the appropriate operating and file system technologies.
IOPS AND RELIABILITY
Keep in mind that the best measure for HDD speed is IOPS (inputs/outputs per second), specifically when the drives are in use, under stress and with real applications designed to optimize the drives’ capabilities.
To put IOPS into perspective, industry-accepted averages for 7.2K SATA drives is about 80 IOPS, with the 10K (RPM) devices offering around 120 IOPS and 15K pushing the limits of around 180 IOPS. The equations turn dramatically for solid-state storage devices (SSS), with huge IOPS improvements and no mechanical worries.
The other factor for SAS v. SATA is reliability. The industry-acknowledged MTBF (Mean Time Between Failure) for SAS HDDs is around 1.2 million hours, compared with 700,000 hours MTBF for SATA drives. This also places SAS clearly into the enterprise space.
Once you move from the HDD world to the SSD world and to other forms of non-volatile memory, the feature sets and interfaces begin to shift. Not only will speed (performance) increase, but the applications for which SSDs can be applied to help increase total system performance—not just from the storage I/O perspective.
Table 1: Some familiar, but less recognized non-volatile memory (NVM) types.
Non-volatile memory (NVM), sometimes called NVS (non-volatile storage), is a classification for a form of digital storage (memory) that retains its state without having power continually applied. Generally, this storage media is without any mechanical components, although that is not necessarily the case.
Optical storage is considered in the NVM classification, as would be any readonly storage that doesn’t require electrical stimulus to retain its state (e.g., a PROM/EPROM). See Table 1 for examples.
Initially, NVS and NVM were intended for secondary storage or for other longterm persistent storage mediums. Today, in its SSD format, it is often used for primary storage to support short-term RAM/DRAM—as in laptops, tablets or mobile devices.
Besides the physical storage media, electrical and software interfaces are needed to support the “NVM-storage” term. Common interface methodologies include Non-Volatile Memory Express (NVM Express or NVMe) and NVMe over Fabrics (NVMe-oF or NVMeOF). See Fig. 1 for an example of one method for the physical interface.
The “NVMe” term mystifies many, with some feeling these terms are becoming more hype than practicality. We hope to provide some clarification with the following.
NVMe is a host controller interface and storage protocol established to accelerate the data transfer between host/enterprise or client systems and solid-state drives over a computer’s high-speed PCIe (Peripheral Component Interconnect Express) bus. NVM Express (v1.3) is an open collection of standards and information that exposes the benefits of nonvolatile memory (NVM) in computing environments from the mobile device to the data center. The specification, and its registered and trademarked explanations, can be downloaded from the NVM Express Inc. website (www.nvmexpress.org). The term “NVMe” is a trademarked name, which encompasses a solution set designed, from the ground up, to deliver high bandwidth and low-latency storage access for NVM technologies.
The NVMe specification defines a register interface, command set and collection of features for PCIe-based SSDs. Its goals are to enable high performance and interoperability across a broad range of NVM subsystems. Note that, like most “standards,” the NVMe specification does not stipulate the ultimate usage model, i.e., how NVMe is directly associated with a specific solid-state storage, main memory, cache memory or backup memory.
NVMe is optimized for Enterprise and Client solid state drives, typically attached as a register-level interface to the PCI Express interface. The 287-page specification describes an interface that allows host software to communicate with a nonvolatile memory subsystem. During its development, the specification was referred to as “Enterprise Non-Volatile Memory Host Controller Interface Specification (NVMHCI).” The lengthy name was simplified to NVM Express prior to publication.
Fig. 1: PCIexpress interface card with NVMexpress solid-state drive unit fitted to slot on the interface card. Card uses an M-Key edge socket to attach the SSD to the PCIe form-factor adapter card.
The NVMe 1.3a spec addresses both NVMe over PCIe and NVMe over Fabrics. The later Fabrics specification defines a protocol interface and related extensions to NVMe that enable operation over other interconnects (e.g., Ethernet, InfiniBand, Fibre Channel). Support requirements for features and functionality may differ between NVMe over PCIe and NVMe over Fabrics, rendering different performance parameters based upon the interface application.
NVMe increases support for Enterprise capabilities via enhanced error reporting and virtualization. End-to-end data protection is compatible with SCSI Protection Information, known as “Data Integrity Field” (DIF). DIF (or T10 DIF) is an approach to protect data integrity in computer data storage from data corruption, originally proposed in 2003 by the T10 subcommittee of the International Committee for Information Technology Standards (INCITS). SNIA references this as “Data Integrity Extension” (DIX) in its standards.
The NVMe 1.3a spec interface has many additional key attributes, such as an efficient and streamlined command
set and support for multiple namespaces and namespace sharing. The NVMe Management Interface is the command set and architecture utilized in out-of-band management of NVM Express storage (e.g., discovering, monitoring and updating NVMe devices using a BMC). Typically, the NVM Express controller is associated
with a single PCI function.
In similar fashion to the transitions of HDD interfaces that went through ATA, IDE, SCSI and beyond, now, when you think about solid-state drive technologies, you can add the latest dimensions of the NVMe interface—one of the hotter topics in storage technologies that are growing stronger each day.
Karl Paulsen is CTO at Diversified and a SMPTE Fellow. Read more about storage topics in his book “Moving Media Storage Technologies.” He can be reached at firstname.lastname@example.org.