NVMe SSD Latency Optimization via CPU Core Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor memory systems, particularly those using multiple SSDs, face challenges with non-optimized read I/O latency distributions due to suboptimal Linux kernel configurations, lack of CPU isolation, and improper CPU affinity, leading to higher average latencies and diverged latency distributions.

Innovation Solution

The proposed solution involves optimizing the Linux kernel configurations by prioritizing workload/application processes, isolating CPU cores for SSD internal tasks, and ensuring CPU affinity for NVMe SSD device drivers, which includes assigning highest priority to workload threads, executing them in isolation, and forcing IRQ handlers to run on allocated CPU cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If Linux kernel configurations are optimized with CPU isolation and affinity for NVMe SSD device drivers, then read I/O latency distribution is improved and average latency is reduced, but system complexity increases due to additional configuration parameters and CPU core reservations

Engineering Contradiction:
Improveread I/O latencyVSAvoidkernel configuration complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system segments CPU cores into reserved CPU cores and host CPU cores. Reserved CPU cores are dedicated to specific functions (timer interrupts, system tasks) while host CPU cores handle NVMe SSD workload threads and interrupt handlers. This segmentation isolates critical system functions from storage operations, preventing latency divergence and reducing average read I/O latency through dedicated execution resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning specific properties to different CPU cores: reserved CPU cores are configured with high priority for system-critical tasks, while host CPU cores are optimized for NVMe SSD operations. This localized optimization allows each CPU core to have tailored characteristics suited to its specific function, improving overall system performance without requiring complete system reconfiguration.

Inventive Principle:
Principle #3Local quality

2Reliability

If workload threads and interrupt handlers are isolated to specific host CPU cores, then latency distribution convergence is improved, but CPU utilization efficiency decreases due to dedicated core allocation

Engineering Contradiction:
Improvelatency distribution convergenceVSAvoidCPU utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments interrupt handlers into those executed on reserved CPU cores and those executed on host CPU cores. By isolating NVMe SSD-related interrupt handlers to specific host CPU cores, the system achieves latency distribution convergence while maintaining clear separation of duties. This segmentation prevents interrupt handling on general-purpose cores from interfering with time-critical storage operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-configuring CPU affinity and isolating workload threads and interrupt handlers to specific host CPU cores before operation begins. This advance configuration ensures that time-critical NVMe SSD operations always execute on dedicated cores with appropriate characteristics, guaranteeing latency convergence without requiring dynamic resource allocation during runtime.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If reserved CPU cores are allocated for system tasks and timer interrupts, then system stability is improved, but available resources for SSD operations are reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidavailable CPU resources
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The system segments CPU resources by reserving specific CPU cores for system-critical functions such as timer interrupts and system tasks, while allocating remaining cores as host CPU cores for NVMe SSD operations. This segmentation ensures that time-critical system functions have dedicated execution resources, maintaining system stability and preventing latency divergence without completely exhausting available computing resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies parameter changes by adjusting CPU affinity parameters and interrupt routing configurations to optimize the balance between reserved and host CPU cores. By carefully tuning these parameters, the system maintains sufficient reserved cores for stability while maximizing host CPU core availability for SSD operations, achieving optimal performance without resource exhaustion.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11169712B2Memory system with latency distribution optimization and an operating method thereof
Publication Date: 2021.11.09 SK HYNIX INC
  • US11169712B2 patent drawing
  • US11169712B2 patent drawing
  • US11169712B2 patent drawing

AI summary

A memory system and an operating method thereof include: at least a CPU including multiple CPU cores, wherein the multiple CPU cores include reserved CPU cores and host CPU cores; at least a PCIe link coupled with the CPU, wherein the PCIe link includes at least a PCIe switch and a plurality of memory devices; and the plurality of memory devices coupled with the host CPU cores through respective workload threads and interrupt handlers, wherein the workload threads and interrupt handlers of each of the host CPU cores are configured to be optimized, the host CPU cores are isolated for the optimized workloads threads and interrupt handlers, and the workload threads and interrupt handlers are executed at the host CPU cores coupled thereto.