Two-Layered IPC Scheduler for SSD I/O Determinism
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Adaptability or versatility
If host applications are not synchronized, then application independence is maintained, but I/O latencies become unpredictable
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.
4Reliability
If NVM sets are divided into separately addressable regions, then exclusive access for different applications is enabled, but controller complexity increases
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.
Data Source
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.


