Connect Your Core To The CXL World
NVMe-over-CXL
CXL Solutions
NVMe-over-CXL
As data-driven applications become more prevalent, the demand for solutions that can keep pace with lightning-fast data processing grows. Wolley NVMe-over-CXL, a breakthrough architecture, aims at redefining the memory computing paradigm over storage.
But why should an NVMe SSD embrace a CXL interface in replace of the conventional PCIe interface? Let us explore the key factors that make things clear.
In traditional computing schemes, data retrieval from storage involves a series of steps, including traversing the NVMe protocol, relying on the NVMe driver, and applying software cache techniques like page caching. However, when the block data (typically 4KB in size) reaches the host, only a small fraction of it is actually required for computation. This mismatch between the amount of data retrieval and the data needed for computation can lead to serious inefficiencies.
There are some solutions or architectures trying to overcome this problem. One example is computational storage. The core idea is to convey computing instructions directly from the host to the storage device via NVMe. As the computations are performed on the device itself, only the resulting data, which is often smaller than the original block data, is returned to the host through the NVMe interface again.
In our proposal of NVMe-over-CXL, the SSD functions still work as a typical NVMe SSD and can still access block data via NVMe commands. One key invention is the integration of a DRAM on the device side. The purpose is to make the device DRAM a staging area of data. One major operation is to make the destination of the block data falling on the device DRAM. As a matter of that, the most crucial step is that the host, utilizing CXL.mem, can then selectively retrieve the necessary bytes from the block data, thus avoiding the transfer of huge block data between the host and the device. This efficient architecture significantly reduces latency and complexity.
CXL opens up new possibilities, especially for storage. In traditional NVMe setups, all block data is moved to the host memory, leading to bottlenecks due to the complexity of NVMe protocols and the burden of heavy block-based storage software management. By having a staging memory on the device side, NVMe over CXL allows the host to access data in a memory mode, streamlining data transfers and boosting overall efficiency.
One significant advantage of CXL Persistent Memory lies in its reduced dependence on large-capacity DRAM and removes the need for large supercaps, which have been a key requirement in NVMDIMM-N memory. Instead, it strikes an ideal balance, offering performance comparable to the concept of storage-class-memory which bridges the gap between DRAM and traditional storage.
In the non-persistent mode, our core offers flexibility by allowing the use of a larger DRAM. Utilizing a spacious DRAM cache combined with NAND flash memory, our technology can create a DRAM-like addressing space for the host to access with direct memory protocols. The management strategy for both DRAM and NAND will efficiently identify hot data to reside in DRAM while cold data is placed back into NAND, which optimizes system responsiveness and resource allocation.