Dual-Interface Persistent Storage Cache Segmentation for NVMe and CXL

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Persistent storage devices face challenges in efficiently managing different data interfaces with varying data payload sizes and granularities, leading to suboptimal performance and latency issues.

Innovation Solution

A persistent storage device with a dual interface that employs a cache partitioned into regions for different data types, using single-level and triple-level cell storage media, and adjusts cache allocation based on cache hints and data payload sizes to optimize caching and storage strategies for Nonvolatile Memory Express (NVMe) and Compute Express Link (CXL) protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single cache is used for both NVMe and CXL protocols, then the device structure is simpler, but performance is suboptimal due to different data payload sizes and granularities

Engineering Contradiction:
Improvestorage performanceVSAvoidcache structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is divided into two separate portions: a first portion for NVMe protocol data and a second portion for CXL protocol data. This segmentation allows each protocol to have dedicated cache space optimized for its specific data payload size and granularity requirements, improving overall storage performance without requiring a completely complex multi-cache architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each cache portion is tailored to the specific requirements of its associated protocol. The NVMe portion handles larger data payloads while the CXL portion handles smaller, finer-grained data units. This local optimization ensures that each protocol receives cache treatment suited to its characteristics, enhancing productivity while maintaining manageable device complexity.

Inventive Principle:
Principle #3Local quality

2Loss of time

If caching is applied to all data payloads, then cache utilization increases, but latency increases for small I/O requests due to cache management overhead

Engineering Contradiction:
ImprovelatencyVSAvoidcache utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system dynamically adjusts caching behavior based on the protocol type and data payload characteristics. For CXL's smaller data units, the system can selectively apply caching only when beneficial, avoiding the latency overhead of cache management for operations where it wouldn't help. For NVMe's larger payloads, caching is more consistently applied. This dynamic approach reduces latency for small I/O while maintaining good cache utilization overall.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the cache is allocated equally for both protocols, then allocation is simpler, but performance is suboptimal when one protocol has intensive small I/O requests

Engineering Contradiction:
Improvesmall I/O performanceVSAvoidcache allocation management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache is segmented into protocol-specific portions rather than using equal allocation. This allows the CXL portion to be sized appropriately for intensive small I/O requests, while the NVMe portion is sized for its larger payload operations. The segmentation provides clear allocation management that is simpler than dynamic sharing while still optimizing for each protocol's performance needs.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12380030B2Persistent storage with dual interface
Publication Date: 2025.08.05 SAMSUNG ELECTRONICS CO LTD
  • US12380030B2 patent drawing
  • US12380030B2 patent drawing
  • US12380030B2 patent drawing

AI summary

Systems and methods for persistent storage with a dual interface. In some embodiments, a persistent storage device includes: a processing circuit; a cache; and persistent storage. The processing circuit may be configured to perform a method, the method including: receiving a first write request according to a first protocol; saving a data payload of the first write request in a first portion of the cache; receiving a second write request according to a second protocol; and saving a data payload of the second write request in a second portion of the cache.