Storage Controller Command Queue Rescheduling for Mobile Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage devices face challenges in effectively processing commands from hosts in mobile devices, particularly in managing command queues and prioritizing urgent commands to prevent Head-of-Line (HOL) blocking and ensure high-speed operation.

Innovation Solution

A storage device with a storage controller processor that schedules and reschedules commands based on their urgency and the operations performed on multiple memory dies, using a Round-Robin manner to ensure equitable access and prioritize urgent commands, thereby preventing HOL blocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If commands are processed in the order they are received (FIFO), then the command queue is simple to manage, but urgent commands may be delayed by non-urgent commands (Head-of-Line blocking)

Engineering Contradiction:
Improvecommand processing reliabilityVSAvoidcommand processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic command scheduling by classifying commands into urgent and non-urgent categories and applying different processing priorities. The storage controller dynamically adjusts the processing order based on command urgency levels, allowing urgent commands to bypass non-urgent commands in the queue. This dynamic approach resolves the contradiction by maintaining simple queue management while preventing HOL blocking through priority-based scheduling.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If multiple memory dies are used to increase storage capacity, then the storage device can handle more commands, but command scheduling complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoidcommand scheduling complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the command queue into separate queues for each memory die, with each queue independently managing urgent and non-urgent commands. This segmentation allows the storage controller to schedule commands across multiple memory dies without creating a single complex scheduling problem. Each memory die's queue can be managed independently using the same urgency-based priority mechanism, reducing overall scheduling complexity while supporting increased storage capacity.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If Round-Robin scheduling is used to ensure equitable access between tenants, then tenant fairness is improved, but urgent commands from any tenant may be delayed

Engineering Contradiction:
Improvetenant access fairnessVSAvoidurgent command processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating command handling based on urgency within each tenant's queue. While Round-Robin scheduling ensures equitable access distribution across tenants, the urgent/non-urgent classification system applies local priority rules within each tenant's command queue. This allows the system to maintain tenant fairness at the macro level while providing urgent command prioritization at the micro level, resolving the contradiction between fairness and urgency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11829641B2Storage device and operating method for managing a command queue
Publication Date: 2023.11.28 SAMSUNG ELECTRONICS CO LTD
  • US11829641B2 patent drawing
  • US11829641B2 patent drawing
  • US11829641B2 patent drawing

AI summary

A storage device includes a memory die; a storage controller processor configured to control an operation performed in the memory die by scheduling a plurality of commands provided to the memory die; and memory storing a command queue corresponding to the memory die, wherein the storage controller processor is configured to, receive the plurality of commands respectively from a first tenant and a second tenant; schedule the plurality of commands in the command queue, according to the first and second tenants providing the plurality of commands; and reschedule the plurality of commands according to the operation performed in the memory die and urgency of the plurality of commands, and control the memory die to process the plurality of commands in an order different from an order in which the plurality of commands were received by the storage controller processor.