CMB and RAID Offload Technologies Readily Available to Improve Performance, Latency, and Resilience

VMB and RAID Offload Technologies Readily

 

Introduction

Today’s compute landscape is dominated by artificial intelligence, machine learning, and high-performance computing, each demanding the absolute in performance and low latency from enterprise and data center solid state drives. KIOXIA enterprise SSDs, like CM7 Series NVMe™ SSDs, contain a feature called controller memory buffer, or CMB, that can be used by the host server as volatile memory to help reduce latency and improve overall system level performance. Furthermore, KIOXIA is developing an exciting new technology called RAID Offload which utilizes this new capability to improve RAID performance and resilience.

What is a Controller Memory Buffer?

The controller memory buffer is a portion of an SSD’s DRAM that is allocated as part of the system memory pool for certain kinds of data. Depending on the SSD, a CMB can support any or all options for write data, read data, PRP and scatter-gather lists, completion queues or submission queues. More details are described in the NVMe specification, starting with version 1.4 and onwards.

Getting the most out of available compute resources is key to any system architecture. By placing NVMe queues or data directly on SSD memory, fewer reads or writes from host memory are required as part of the overall data transfer sequence. In other schemes, a GPU, NIC, or other PCIe® device can RDMA data directly onto an SSD, bypassing host memory and resources entirely. Ultimately, this improves command transfer latency, bandwidth efficiency, and host resource utilization. 

Figure 1: Typical simplified data flow (left) vs big accelerator memory-like data flow (right). Any PCIe endpoint device could take the place of the GPU in this graphic.

KIOXIA Enterprise NVMe SSDs, like the CM7 Series, support all data elements referenced above as part of our CMB implementation, with 256 MBI of CMB on board.

KIOXIA Innovation: RAID Offload Technology

KIOXIA has taken the standard CMB feature and is enhancing it to solve one of today’s biggest problems: compute resources and bandwidth limitations in typical RAID implementations. In modern architecture, a RAID slice can be striped across hundreds of segments. Computing RAID parity in such an instance demands a lot of memory bandwidth and can end up consuming resources away from the primary application, resulting in degraded host-level performance.

Figure 2: Flow of 4KiB data in conventional RAID vs SSD RAID Offload

At the Future of Memory and Storage (FMS) 2024 conference, KIOXIA unveiled our proposal for RAID offload. Using the standard CMB that is already in KIOXIA Enterprise NVMe SSDs, we demonstrated that CMB can be used in tandem with a power-efficient parity compute engine built into our controller to calculate RAID parity on the fly fully within the SSD. Among many benefits, this results in increased DRAM bandwidth when compared with traditional software-based RAID as outlined in a KIOXIA published whitepaper here. This paper also takes a look at how RAID offload works and the huge benefits it provides.

Mahinder Saluja, KIOXIA Distinguished Engineer, gave a great presentation at the SNIA Storage Developers Conference outlining more benefits of CMB and RAID Offload, which can be watched in its entirety here. Oh and by the way, KIOXIA won the ‘Best of Show’ award in the ‘Most Innovative Technology’ category for RAID Offload at FMS 2024, which can be read about on our website. At KIOXIA, we continue to innovate and bring incredible new features to our Enterprise and Data center storage products to solve some of tomorrow’s toughest challenges. 


Definition of capacity: KIOXIA Corporation defines a megabyte (MB) as 1,000,000 bytes, a gigabyte (GB) as 1,000,000,000 bytes and a terabyte (TB) as 1,000,000,000,000 bytes. A computer operating system, however, reports storage capacity using powers of 2 for the definition of 1GB = 2^30 bytes = 1,073,741,824 bytes and 1TB = 2^40 bytes = 1,099,511,627,776 bytes and therefore shows less storage capacity. Available storage capacity (including examples of various media files) will vary based on file size, formatting, settings, software and operating system, and/or pre-installed software applications, or media content. Actual formatted capacity may vary.

KiB: A kibibyte (KiB) means 210, or 1,024 bytes, a mebibyte (MiB) means 220, or 1,048,576 bytes, and a gibibyte (GiB) means 230, or 1,073,741,824 bytes.

NVMe is a registered or unregistered trademark of NVM Express, Inc. in the United States and other countries.

PCIe is a registered trademark of PCI-SIG.

Disclaimer
The views and opinions expressed in this blog are those of the author(s) and do not necessarily reflect those of KIOXIA America, Inc.

Comments are closed