Bypass Buffer Handling for Worn-Out Memory Codewords

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error correction codes (ECCs) in memory devices like MRAM and PCM are ineffective in managing stuck-at-failures, leading to reduced capability to correct other errors as these failures increase, and there is a need to identify and bypass codewords with high stuck-at-failure bits.

Innovation Solution

A bypass buffer is introduced to store codewords with a high number of stuck-at-failure bits, allowing commands to be executed on the bypass buffer when the associated memory address is identified, thus preserving ECC capabilities for soft errors and extending the lifetime of the data storage device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC is used to correct stuck-at-failure bits, then bit error correction is achieved, but the capability to correct other types of errors is dramatically reduced

Engineering Contradiction:
Improveerror correction capabilityVSAvoidECC correction versatility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments error handling into two separate paths: (1) ECC correction for soft errors and limited hard errors, and (2) bypass buffer storage for codewords with excessive stuck-at-failure bits. This segmentation allows ECC resources to be preserved for errors they can effectively correct, while worn-out codewords are handled separately through the bypass buffer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and isolates codewords with high numbers of stuck-at-failure bits into a bypass buffer, removing them from the main ECC correction pathway. This extraction prevents these problematic codewords from consuming ECC correction capabilities, thereby preserving ECC versatility for other error types.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If strong ECC is used to correct stuck-at-failure bits, then more bits can be corrected, but the device lifetime is reduced due to increased ECC complexity and overhead

Engineering Contradiction:
Improvestuck-at-failure correctionVSAvoiddevice lifetime
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent implements preliminary monitoring of stuck-at-failure bits in codewords and proactively transfers worn-out codewords to the bypass buffer before they completely fail. This preliminary action prevents the need for increasingly complex ECC as failures accumulate, thereby extending device lifetime by maintaining manageable ECC requirements throughout the device's operational life.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If ECC capability is increased to handle more failures, then more errors can be corrected, but the device complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidECC system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The bypass buffer serves as an intermediary structure between the main memory array and the ECC system. It captures and holds codewords with excessive stuck-at-failure bits, preventing them from entering the ECC correction pathway. This intermediary mechanism maintains simple ECC requirements while preserving high reliability for the overall system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12475964B2Bypass buffer for worn out codewords
Publication Date: 2025.11.18 SANDISK TECHNOLOGIES LLC
  • US12475964B2 patent drawing
  • US12475964B2 patent drawing
  • US12475964B2 patent drawing

AI summary

A bypass buffer stores codewords that have been identified as worn out codewords due to stuck-at-failure bit errors and/or other endurance failures. A controller of a data storage device monitors the number of worn out bits of a codeword stored by a memory device of the data storage device. If the number of worn out bits of the codeword exceeds a threshold number of worn out bits, data associated with the codeword is corrected and stored in the bypass buffer. The memory address associated with the codeword is also stored in the bypass buffer and associated with the corrected codeword.