NVMe is a communication protocol made for high-performance storage devices based on a peripheral component interconnect-express (PCI-E) interface. NVMe has been developed to take the place of the Serial AT Attachment (SATA) protocol, which was developed to process data on hard disk drives (HDDs) and did not perform well in solid state drives (SSDs).
Unlike HDDs that use magnetic spinning disks, SSDs use semiconductor memory, allowing the rapid reading and writing of data. SSDs also generate less heat and noise, and are much more compact and lightweight.
Since data processing in SSDs using NVMe is up to six times faster than when SATA is used, NVMe has become the standard protocol for ultra-high speed and volume data processing, and is currently used in many flash-based information storage devices.
Studies on NVMe continue at both the academic and industrial levels, however, its poor accessibility is a drawback. Major information and communications technology (ICT) companies around the world expend astronomical costs to procure intellectual property (IP) related to hardware NVMe controllers, necessary for the use of NVMe. However, such IP is not publicly disclosed, making it difficult to be used by universities and research institutes for research purposes.
Although a small number of U.S. Silicon Valley startups provide parts of their independently developed IP for research, the cost of usage is around 34.000 USD per month. The costs skyrocket even further because each copy of single-use source code purchased for IP modification costs approximately 84.000 USD.
In order to address these issues, a group of researchers led by Professor Myoungsoo Jung from the School of Electrical Engineering at KAIST developed a next generation NVMe controller technology that achieved parallel data input/output processing for SSDs in a fully hardware automated form.
The researchers presented their work at the 2020 USENIX Annual Technical Conference (USENIX ATC '20) in July, and released it as an open research framework named 'OpenExpress'.
This NVMe controller technology developed by Professor Jung's team comprises a wide range of basic hardware IP and key NVMe IP cores. To examine its actual performance, the team made an NVMe hardware controller prototype using OpenExpress, and designed all logics provided by OpenExpress to operate at high frequency.
The field-programmable gate array (FPGA) memory card prototype developed using OpenExpress demonstrated increased input/output data processing capacity per second, supporting up to 7 gigabit per second (GB/s) bandwidth. This makes it suitable for ultra-high speed and volume next generation memory device research.
In a test comparing various storage server loads on devices, the team's FPGA also showed 76% higher bandwidth and 68% lower input/output delay compared to Intel's new high performance SSD (Optane SSD), which is sufficient for many researchers studying systems employing future memory devices. Depending on user needs, silicon devices can be synthesized as well, which is expected to further enhance performance.
The NVMe controller technology of Professor Jung's team can be freely used and modified under the OpenExpress open-source end-user agreement for non-commercial use by all universities and research institutes. This makes it extremely useful for research on next-generation memory compatible NVMe controllers and software stacks.
"With the product of this study being disclosed to the world, universities and research institutes can now use controllers that used to be exclusive for only the world's biggest companies, at no cost", stated Professor Jung. He went on to stress: "This is a meaningful first step in research of information storage device systems such as high-speed and volume next generation memory."
This work was supported by a grant from MemRay, a company specializing in next generation memory development and distribution.