Storage Device Self-Recovery Engine for Hung State Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices often enter a 'hung' state due to errors, leading to host system crashes, requiring users to power cycle to recover, which is inconvenient and can result in data loss.

Innovation Solution

A self-recovery mechanism within the data storage device that detects hung states, determines the execution status of associated commands, and performs dynamic self-recovery operations, including firmware resets, to clear the hung state and re-initiate commands while preserving data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hung state detection and self-recovery mechanism is implemented, then device reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedevice reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage device implements self-service by automatically detecting hung states and executing self-recovery operations without external intervention. The controller monitors command execution status, identifies hung states, and dynamically performs appropriate recovery actions (timeout extension, command re-initiation, or firmware reset), enabling the device to restore itself and prevent host system crashes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback by continuously monitoring the execution status of commands from the host. The controller receives feedback about command completion status and uses this information to detect hung states. Based on this feedback loop, the controller dynamically adjusts recovery actions, extending timeouts or initiating firmware resets only when necessary, thereby improving reliability while managing complexity through intelligent decision-making.

Inventive Principle:
Principle #23Feedback

2Reliability

If dynamic self-recovery operations are performed, then data integrity is improved, but loss of time occurs due to recovery procedures

Engineering Contradiction:
Improvedata integrityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies dynamics by implementing dynamic timeout extension based on command execution status. Rather than using fixed timeout values, the controller dynamically adjusts timeout periods for specific commands (particularly write commands) based on whether they are still executing when a hung state is detected. This dynamic approach allows the system to preserve data integrity by waiting for critical commands to complete while minimizing recovery time for non-critical operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary action by proactively detecting hung states before they cause host system crashes. The controller continuously monitors command execution and identifies hung conditions early, allowing it to initiate recovery operations (timeout extension, command re-initiation, or firmware reset) before data loss or system failure occurs. This preliminary detection and action minimize the overall recovery time and preserve data integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10725851B2Storage device self-recovery exception engine
Publication Date: 2020.07.28 SEAGATE TECH LLC
  • US10725851B2 patent drawing
  • US10725851B2 patent drawing
  • US10725851B2 patent drawing

AI summary

A data storage device that includes a data storage medium and a controller communicatively coupled to the data storage medium. The controller is configured to receive commands from a host and to detect a hung state in the data storage device. The controller is also configured to determine an execution status of a command, of the commands from the host, associated with the hung state. The controller is further configured to dynamically carry out a self-recovery operation in the data storage device to clear the hung state. The self-recovery operation includes steps that depend upon the execution status of the command associated with the hung state.