Two-Layered IPC Scheduler for SSD I/O Determinism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) face unpredictable and varying latencies due to shared access to NAND flash memory devices among multiple applications, leading to inefficient resource distribution and increased I/O latencies, which is detrimental for time-sensitive applications.

Innovation Solution

A two-layered or two-phase deterministic inter-process communication (IPC) scheduler is implemented, comprising an input-output deterministic (IOD) set scheduler and a fair share scheduler, which prioritizes and manages IPC messages across NVM sets to form an IPC pipeline, ensuring fair resource allocation and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple applications share access to NAND flash memory devices, then resource utilization is improved, but I/O latency becomes unpredictable and varies

Engineering Contradiction:
Improveresource utilizationVSAvoidI/O latency predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the storage system into multiple NVM sets (non-volatile memory sets), where each NVM set can be independently accessed by different applications. This segmentation isolates I/O operations into separate queues, preventing one application from interfering with another's latency, thus maintaining predictable I/O performance while allowing multiple applications to share the overall storage resources.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a single memory bus transfers data for only one memory device at a time, then data transfer integrity is maintained, but I/O throughput is limited

Engineering Contradiction:
Improvedata transfer integrityVSAvoidI/O throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a temporal dimension to data transfer by implementing a scheduling system that alternates between different NVM sets in time slices. While the memory bus handles one device at a time, the scheduler rapidly switches between multiple NVM sets, effectively parallelizing the throughput across applications without compromising the integrity of individual transfers.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If host applications are not synchronized, then application independence is maintained, but I/O latencies become unpredictable

Engineering Contradiction:
Improveapplication independenceVSAvoidI/O latency consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary scheduling layer between the host applications and the NAND flash memory devices. This scheduler receives I/O requests from multiple unsynchronized applications, orders them according to a deterministic scheduling algorithm (such as round-robin or priority-based scheduling), and ensures that each application receives predictable I/O latency regardless of when it submits requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If NVM sets are divided into separately addressable regions, then exclusive access for different applications is enabled, but controller complexity increases

Engineering Contradiction:
Improveexclusive access guaranteeVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the address space into multiple NVM sets, each independently addressable by different applications. The controller implements corresponding segmented queues and scheduling logic, where each NVM set has its own I/O queue. This segmentation approach manages complexity by organizing the controller around clear, modular boundaries rather than requiring complex arbitration for shared resources.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11016829B2Two-layered deterministic interprocess communication scheduler for input output determinism in solid state drives
Publication Date: 2021.05.25 KIOXIA CORP
  • US11016829B2 patent drawing
  • US11016829B2 patent drawing
  • US11016829B2 patent drawing

AI summary

Systems and methods for two-layered or a two-phase deterministic inter-process communication (IPC) scheduling for input output deterministic (IOD) sets also referred to as non-volatile memory (NVM) sets in a solid state drive (SSD) system are provided. In various embodiments, an SSD controller includes an IPC scheduler comprising a first layer NVM set scheduler and a second layer fair share scheduler, configured to receive information messages for NVM sets, operable to prioritize the information messages in IPC queues, and generate an IPC pipeline to be processed for I/O operations.