Retiring Weak Memory Blocks via Firmware Error Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices, such as flash drives, face issues with data retention and read disturb errors leading to high bit error rates, causing unreliable data storage and frequent data relocation, which impacts wear-leveling and performance quality.

Innovation Solution

The firmware in these devices is configured to detect and retire memory blocks with high bit error rates or abnormal activity statistics, such as frequent data relocations or reads, by tracking error bits and relocating data to new blocks and updating bookkeeping lists to prevent further usage of weak blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data relocation is performed frequently to maintain data integrity, then data reliability is improved, but wear-leveling and performance quality deteriorate

Engineering Contradiction:
Improvedata reliabilityVSAvoidwear-leveling and performance quality
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts problematic memory blocks with high bit error rates from the active memory pool and retires them to a separate reserved pool. This separation prevents continuous data relocation operations on unreliable blocks, thereby improving both data reliability (by isolating bad blocks) and performance quality (by reducing wear from frequent relocates).

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary detection of high bit error rate blocks through background scans and statistical tracking before they cause data loss. By identifying and retiring problematic blocks in advance, the system prevents the need for frequent emergency data relocations, thus improving both reliability and performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If memory blocks are monitored and retired proactively, then data loss prevention is improved, but system complexity increases

Engineering Contradiction:
Improvedata loss preventionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms through background scans that continuously monitor memory block health statistics (bit error rates, read disturb errors). This feedback loop enables proactive identification of deteriorating blocks, allowing the system to retire them before data loss occurs, thereby improving reliability while managing complexity through automated monitoring.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The memory management system performs self-diagnosis and self-correction by automatically detecting high bit error rate blocks and retiring them without external intervention. The firmware autonomously manages the retirement process, including updating bookkeeping structures and relocating data, which improves data loss prevention while containing system complexity within the memory controller.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10204693B2Retiring computer memory blocks
Publication Date: 2019.02.12 SANDISK TECHNOLOGIES LLC
  • US10204693B2 patent drawing
  • US10204693B2 patent drawing
  • US10204693B2 patent drawing

AI summary

A method, system, and apparatus are provided for retiring computer memory blocks. Two overall schemes are provided for separating poorly functioning blocks from normally functioning blocks. In a first scheme, after data relocation is finished, firmware remembers the old physical memory block. As soon as the system writes to the old physical memory block with new data, firmware issues a read again and receives back a count of error bits. If the returned error bits are still high, then the system identifies the block as being weak and retires the block. In a second scheme, firmware tracks statistics for data relocates, block reads, activity timers, among other statistics. If some blocks have abnormal activities (e.g., too many data relocates, too many reads, etc.), then the system may identify the block as being weak and may retire the physical memory block.