Storage Controller Command Timeout Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems lack effective mechanisms for setting time limits for I/O commands, leading to unorganized command execution and potential timeouts without service.

Innovation Solution

The controller employs either a static method to create dedicated submission queues or a dynamic method to provide hints during doorbell execution, allowing for improved priority management and cancellation of timed-out commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If no time limits are set for I/O commands, then the system maintains simple command execution, but commands timeout without service and performance decreases

Engineering Contradiction:
Improvecommand timing managementVSAvoidcommand execution organization
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments command execution into different priority levels by creating dedicated submission queues (SQs) for high-priority commands with timing requirements. This segmentation allows the system to organize commands by their timing needs, ensuring that time-sensitive commands are serviced appropriately while maintaining overall system manageability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the controller can adaptively manage doorbell timing resources based on command priorities. The system dynamically adjusts which commands receive timing resources and how they are serviced, allowing flexibility in handling different command types without requiring complete reorganization of the command execution framework.

Inventive Principle:
Principle #15Dynamics

2Reliability

If dedicated submission queues are created for high priority commands, then command timing management improves, but device complexity increases

Engineering Contradiction:
Improvetiming requirement fulfillmentVSAvoidsubmission queue structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates submission queues that serve multiple functions: they act as both command buffers and priority classification mechanisms. The same queue structure is used for both storing commands and indicating their priority level, eliminating the need for separate priority indicators and reducing overall system complexity despite the added queue structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the parameter of queue assignment from a single uniform queue to multiple queues with different characteristics. By varying the number of queues, their sizes, and assignment rules based on timing requirements, the system adapts the queue structure to match the actual timing needs without creating unnecessary complexity for commands that don't require special timing management.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If the controller tracks doorbell times for all commands, then timeout accuracy improves, but resource consumption increases

Engineering Contradiction:
Improvetimeout timing accuracyVSAvoiddoorbell timing resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies doorbell timing resource tracking selectively rather than uniformly to all commands. High-priority commands with strict timing requirements receive precise doorbell time tracking, while lower-priority commands use standard timeout mechanisms. This local differentiation ensures accurate timing measurement where needed while conserving controller resources for commands that don't require the same level of precision.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250077287A1Resource allocation to avoid command timeouts in a storage device
Publication Date: 2025.03.06 SANDISK TECHNOLOGIES LLC
  • US20250077287A1 patent drawing
  • US20250077287A1 patent drawing
  • US20250077287A1 patent drawing

AI summary

Instead of handling resources with one generic method, the controller can use a static method or dynamic method to handle the resources. The controller communicates to the host as to the number of resources the controller has for keeping doorbell times. The controller will also communicate with the host how those resources are used. The static method focuses on creating dedicated submission queues (SQ), while the dynamic method provides a hint during the doorbell execution. The static method further focuses on improving priority, while the dynamic method focuses on canceling commands that have timed out. The static method and the dynamic method can be combined to further support the hosts requirements.