Storage Controller Crash Log Buffering via Watchdog Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in analyzing crashes as crash logs are stored in non-volatile memory, making it difficult to access diagnostic data without reinitializing the system, which can result in loss of state machine and register values, hindering error analysis.

Innovation Solution

A storage system with a controller that stores crash logs in a buffer and uses a watchdog module to send the logs to an external device, such as a host or another storage system, outside of the host data path, allowing for analysis without system reinitialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If crash logs are stored in non-volatile memory, then the logs can be preserved after system failure, but accessing the logs requires reinitializing the system which causes loss of state machine and register values

Engineering Contradiction:
Improvecrash log preservationVSAvoidstate machine and register values
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent divides the storage system into two separate storage paths: a non-volatile memory path for preserving crash logs after system failure, and a volatile memory path (buffer) for maintaining state machine and register values during operation. This segmentation allows the system to access crash logs without reinitialization while preserving the integrity of state information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a buffer as an intermediary component between the non-volatile memory and the host. This buffer temporarily holds crash log data and enables its transfer to the host through an alternative path that bypasses the need for system reinitialization, thus preserving state machine and register values while still allowing log access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the system is reinitialized to access crash logs, then the logs become accessible, but the state machine and register values are lost

Engineering Contradiction:
Improvecrash log accessibilityVSAvoidstate machine and register values
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent implements preliminary action by detecting system crashes and transferring crash log data to a buffer in advance, before the host needs to access the logs. This preliminary transfer ensures that when the host retrieves the logs, the state machine and register values remain intact and unchanged, as no reinitialization is required.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If crash logs are stored in volatile memory buffer, then logs can be accessed without reinitialization, but the logs may be lost if power is lost before transfer

Engineering Contradiction:
Improvecrash log accessibilityVSAvoidcrash log preservation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies beforehand cushioning by implementing a watchdog module that continuously monitors system health and detects crashes. Upon detection, the watchdog module immediately triggers the transfer of crash log data from non-volatile memory to the volatile buffer, creating a protective mechanism that ensures log preservation even in the event of sudden power loss or system failure.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11403163B2Storage system and method for crash analysis
Publication Date: 2022.08.02 WESTERN DIGITAL TECHNOLOGIES INC
  • US11403163B2 patent drawing
  • US11403163B2 patent drawing
  • US11403163B2 patent drawing

AI summary

A storage system and method for crash analysis are provided. In one embodiment, a storage system comprises a memory and a controller. The controller is configured to store a crash log in a buffer in the controller; determine whether the storage system has crashed; and in response to determining that the storage system has crashed, send the crash log from the buffer in the controller to a host in communication with the storage system. Other embodiments are provided.