SSD Controller Pre-Suspend Adjacent Data Read

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solid-state drives (SSDs) face performance degradation due to command collisions, where multiple commands compete for shared resources, leading to pending states until all resources are available, often requiring a sequential pipeline approach.

Innovation Solution

Implementing a pre-suspend processing method where the controller directs the SSD to read adjacent data to a target location and store it in a read cache, delaying the write command to utilize resources already allocated for the write operation, thereby reducing collisions by dedicating resources for the write command before execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a sequential pipeline approach is used to handle multiple commands, then resource conflicts are avoided, but command processing speed and productivity deteriorate

Engineering Contradiction:
Improveresource conflict avoidanceVSAvoidcommand processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing read operations before write operations when resources are pre-allocated. The controller identifies pending read commands and executes them prior to executing write commands, utilizing the pre-allocated resources efficiently. This resolves the contradiction by maintaining resource conflict avoidance while improving command processing throughput through better resource utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by dynamically adjusting command execution order based on resource allocation status. The controller monitors resource availability and dynamically schedules read and write commands to maximize throughput without causing conflicts. This dynamic scheduling approach allows the system to adapt to varying workloads and resource states, improving productivity while maintaining reliability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple commands compete for shared resources simultaneously, then command processing parallelism is improved, but command collisions and pending states increase

Engineering Contradiction:
Improvecommand processing parallelismVSAvoidcommand collision waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating resources for write commands before they are executed. The controller identifies upcoming write commands and reserves necessary resources in advance, then uses these pre-allocated resources to execute associated read commands without causing collisions. This eliminates waiting time while maintaining parallelism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a resource allocation manager that mediates between read and write commands. This intermediary pre-allocates resources and coordinates command execution to prevent collisions, allowing multiple commands to proceed in parallel without conflicting for shared resources, thus reducing pending states and waiting time.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If resources are allocated dynamically during command execution, then resource utilization flexibility is improved, but command execution time and loss of time increase

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidcommand execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating resources for write commands before execution. The controller identifies pending write commands and reserves necessary resources in advance, eliminating the need for dynamic allocation during execution. This reduces command execution time while maintaining the flexibility to handle varying workload patterns through intelligent pre-allocation strategies.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12086462B2Pre-suspend before program in a non-volatile memory (NVM)
Publication Date: 2024.09.10 SEAGATE TECH LLC
  • US12086462B2 patent drawing
  • US12086462B2 patent drawing
  • US12086462B2 patent drawing

AI summary

Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). An apparatus includes a main non-volatile memory (NVM) such as a NAND flash memory. A host command queue lists pending data transfer commands to transfer data between the NVM and a host. For each write command received by the NVM to store write data to an associated target location, a controller examines the host command queue. Based on this review, the controller may direct the NVM to read data adjacent the associated target location to which data are to be written by the write command and to transfer the read data to a read cache. The read data may use some or all of the same resources used to store the write data to the NVM. The read data may be subsequently transferred from the read cache to the host.