Storage Module Command Splitting for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Non-Volatile Memory Express (NVMe) storage systems face challenges in optimizing resource allocation across multiple queues, leading to inefficiencies in processing high-priority commands and failing to provide guaranteed input-output operations due to equal handling of all priority queues, resulting in suboptimal performance and increased latency.

Innovation Solution

The method involves sorting commands into priority-based queues, splitting high-priority commands into smaller sub-commands to prevent starvation, and allocating more hardware resources based on the size of each sub-command, ensuring timely processing of high-priority commands while releasing resources efficiently for low-priority commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If weighted round robin arbitration is used to prioritize high-priority queues, then high-priority commands receive more processing attention, but all commands within a time slice are still handled equally regardless of individual command priority

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidcommand processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments commands into different priority levels (first priority, second priority, etc.) and creates separate command queues for each priority level. This segmentation allows the storage module to process high-priority commands separately from low-priority commands, ensuring that time-critical applications receive guaranteed service while maintaining overall system productivity through structured queue management.

Inventive Principle:
Principle #1Segmentation

2Reliability

If common hardware resources are allocated to all queues, then resource utilization is simplified, but high-priority commands cannot receive additional resources during critical operations

Engineering Contradiction:
Improvecommand processing guaranteeVSAvoidresource allocation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where the storage module can allocate additional hardware resources to high-priority queues when needed. The controller dynamically adjusts resource distribution based on command priority and system state, allowing high-priority commands to receive more processing power during critical operations while maintaining simplified resource management through automated dynamic adjustment rather than static complex allocation mechanisms.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If all commands are processed in a time-sliced operation with equal resource allocation, then implementation is simpler, but latency for high-priority commands increases

Engineering Contradiction:
Improvequeue handling mechanismVSAvoidcommand latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the command processing timeline by creating distinct priority levels and separate queues for each level. High-priority commands are placed in dedicated queues that can be processed immediately when resources are available, rather than waiting for their turn in a unified time-sliced schedule. This segmentation reduces latency for time-critical commands while maintaining relatively simple queue management through clear priority-based separation.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If multiple queues are handled equally irrespective of application needs, then resource management is easier, but time-critical application requirements are not met

Engineering Contradiction:
Improveresource managementVSAvoidapplication-specific optimization
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by treating different queues differently based on their specific requirements. Each queue is assigned a priority level that reflects the specific needs of applications using that queue. The storage module then applies different processing strategies to different queues - high-priority queues receive preferential treatment with faster processing and potential resource allocation, while lower-priority queues use standard processing. This allows the system to easily manage resources through priority assignments while simultaneously adapting to specific application needs through differentiated handling.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11579805B2Method and system for processing commands in storage devices to improve quality of service
Publication Date: 2023.02.14 SAMSUNG ELECTRONICS CO LTD
  • US11579805B2 patent drawing
  • US11579805B2 patent drawing
  • US11579805B2 patent drawing

AI summary

Operation of a non-volatile memory (NVM) storage module may comprise receiving a plurality of commands as associated with a plurality of priority-based queues from a host-memory. A received command is evaluated in accordance with a priority associated with the queue storing the command and a size of the command. The evaluated command is split into a plurality of sub-commands, each of the sub-commands having a size determined in accordance with the evaluation. A predetermined number of hardware resources are allocated for each of the evaluated command based on at least the size of each of the sub-commands to thereby enable a processing of the evaluated command based on the allocated resources. Quality of service (QoS) for the evaluated-command may thus be augmented.