SSD Controller HMB Loss Recovery via FTL Table Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices, such as solid state drives (SSDs), face challenges in recovering from host memory buffer (HMB) loss, where the connection to the host memory buffer is disrupted, leading to potential data loss and system timeouts.

Innovation Solution

A data storage device with a controller configured to determine HMB loss, load a flash translation layer (FTL) table from a memory device, generate updates, and re-enable command fetching, while marking commands with error conditions and copying FTL tables between the memory device and HMB upon connection restoration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data storage devices use host memory buffer (HMB) to store control data, then device cost decreases and access speed improves, but reliability deteriorates due to connection issues and host device taking back HMB allocation

Engineering Contradiction:
Improvedevice costVSAvoidconnection stability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The controller proactively detects HMB connection loss before it causes data corruption, loads backup FTL tables from the memory device, and prepares recovery actions in advance. This preliminary detection and preparation prevents the reliability issue from manifesting as actual data loss or host timeout

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains backup copies of FTL tables in the memory device and implements error marking mechanisms beforehand. When HMB connection is lost, these pre-prepared backups and error markers provide a cushion that allows recovery without compromising data integrity or causing host timeout

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

2Speed

If controller continuously monitors HMB connection status, then recovery speed improves, but device complexity increases

Engineering Contradiction:
Improverecovery speedVSAvoidcontroller complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The controller implements a feedback mechanism that monitors HMB connection status and automatically triggers recovery actions when connection loss is detected. This feedback loop enables fast recovery by immediately responding to connection changes without requiring complex manual intervention or continuous active monitoring

Inventive Principle:
Principle #23Feedback

3Reliability

If controller loads FTL tables from memory device upon HMB loss, then data integrity is maintained, but access time increases

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

Solution Approach 1:

The controller loads backup FTL tables from the memory device proactively when HMB connection is lost, before any data access operations are needed. This preliminary loading ensures that when recovery is needed, the FTL tables are already available, minimizing the actual access time loss

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11809742B2Recovery from HMB loss
Publication Date: 2023.11.07 SANDISK TECHNOLOGIES LLC
  • US11809742B2 patent drawing
  • US11809742B2 patent drawing
  • US11809742B2 patent drawing

AI summary

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to determine that a connection to a host memory buffer (HMB) of a host device is lost, load a most recent copy of a flash translation layer (FTL) table from the memory device, generate one or more updates to the most recent copy of the FTL table, and re-enable command fetching. The controller is further configured to mark one or more commands in a command database with an error condition upon the determining. After a boot of the connection, the controller is further configured to copy the FTL tables from the memory device to the HMB, work on commands, save FTL table differences between the HMB and the memory device, and update the FTL tables in the memory device.