Storage Device Stuck-Bit Masking Without Side Information

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile storage devices face inefficiencies due to stuck bits, which require additional storage space for side information and burden memory capacity, necessitating overprovisioning.

Innovation Solution

A storage device processes stuck bits using cyclic error-correcting codes, generates encoding and decoding masks, and performs computations to recover original data without storing extra bits, thereby minimizing storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extra bits are stored for side information about stuck bits, then data can be properly decoded, but memory capacity is burdened and overprovisioning is required

Engineering Contradiction:
Improvedata decoding capabilityVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the stuck bit information from the data storage area and places it in a separate metadata structure. The side information table stores only the necessary stuck bit location and value, separating the correction information from the actual data to be stored, thus avoiding the need to reserve additional storage space within the data area.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a metadata structure as an intermediary between the data storage area and the stuck bit correction mechanism. This metadata structure includes the side information table that mediates by storing stuck bit information externally, allowing the data to be stored without reserved space while still enabling proper correction of stuck bits during read operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the controller stores side information about stuck bits, then the controller can manipulate and decode data correctly, but device complexity increases

Engineering Contradiction:
Improvedata correction capabilityVSAvoidcontroller operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-identifying stuck bits during initialization or wear leveling operations and pre-storing their location and value information in the side information table. This preliminary characterization of stuck bits allows the controller to simply retrieve and apply correction information during normal read operations, reducing the complexity of real-time correction processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling the storage system to automatically detect, characterize, and correct stuck bits without requiring complex real-time analysis or manual intervention. The side information table stores pre-characterized stuck bit data, allowing the system to self-correct by simply retrieving and applying the stored correction information during read operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12362029B2Stuck bits encoding and decoding on a storage device
Publication Date: 2025.07.15 WESTERN DIGITAL TECHNOLOGIES INC
  • US12362029B2 patent drawing
  • US12362029B2 patent drawing
  • US12362029B2 patent drawing

AI summary

A storage device processes storage-free stuck bits information when writing and reading stored on the memory device. A controller encodes the data with cyclic error-correcting codes to generate a codeword and determines that a location in the memory device where codeword is be stored includes a stuck bit. Rather than storing the stuck bits information, when storing the codeword, the controller generates an encoding mask, adds the encoding mask to the codeword to generate encoded data, and stores the encoded data on the memory device. When reading the encoded data, the controller generates a list of decoding masks including the encoding mask, goes through the lists and adds a decoding mask to the encoded data. The controller decodes the encoded data with the encoding mask from the list and returns the data.