SSD Controller Collision Reduction via Just-in-Time Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solid-state drive (SSD) systems face performance degradation due to collisions among competing commands requiring shared resources, leading to sequential execution and inefficient use of resources.

Innovation Solution

Implementing a just-in-time resource allocation system with a controller that monitors collision rates and adjusts command ratios, allowing partial commands to be executed as resources become available, thereby reducing collisions and enabling parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If commands are executed sequentially to avoid collisions, then collision reduction is achieved, but productivity deteriorates due to inefficient resource utilization

Engineering Contradiction:
Improvecollision reductionVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments commands into multiple parts and divides resources into multiple channels, allowing partial commands to be executed in parallel on different channels simultaneously. This segmentation enables collision avoidance while maintaining productivity by executing independent command parts concurrently rather than sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the controller adaptively assigns resources to commands based on real-time availability and collision monitoring. The system dynamically adjusts command execution by monitoring collision rates and modifying resource distribution, allowing optimal parallel execution when resources are available and sequential execution only when necessary to avoid collisions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel channels are used to increase throughput, then productivity is improved, but device complexity increases due to resource arbitration requirements

Engineering Contradiction:
ImprovethroughputVSAvoidresource arbitration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service resource arbitration where the controller automatically monitors collision rates and adjusts resource allocation without external intervention. The system self-regulates by detecting collisions and dynamically modifying command execution strategies, reducing the need for complex external arbitration mechanisms while maintaining high throughput through parallel channels.

Inventive Principle:
Principle #25Self-service

3Reliability

If command ratios are adjusted to reduce collisions, then reliability is improved, but device complexity increases due to monitoring and adjustment mechanisms

Engineering Contradiction:
Improvecollision rateVSAvoidmonitoring mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the controller continuously monitors collision rates and uses this information to dynamically adjust command execution ratios and resource allocation. The system receives feedback from collision detection and automatically modifies its behavior to optimize the balance between parallel execution and collision avoidance, reducing the need for complex manual configuration.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11698734B2Collision reduction through just-in-time resource allocation
Publication Date: 2023.07.11 SEAGATE TECH LLC
  • US11698734B2 patent drawing
  • US11698734B2 patent drawing
  • US11698734B2 patent drawing

AI summary

Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). In some embodiments, a main memory has memory cells arranged on dies arranged as die sets accessible using parallel channels. A controller is configured to arbitrate resources required by access commands to transfer data to or from the main memory using the parallel channels, to monitor an occurrence rate of collisions between commands requiring an overlapping set of the resources, and to adjust a ratio among different types of commands executed by the controller responsive to the occurrence rate of the collisions. In further embodiments, the controller may divide a full command into multiple partial commands, each of which are executed as the associated system resources become available. In some cases, the ratio is established between read commands and write commands issued to the main memory.