Memory Block Allocation by Health Metric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nonvolatile memory systems face challenges in efficiently allocating blocks for data storage due to varying block health metrics, which can lead to premature failure and data loss, as existing methods rely on single factors like Program Erase Count (PEC) or Bit Error Rate (BER) without considering the comprehensive health of blocks.

Innovation Solution

A method is introduced to calculate a multi-factor Block Health Metric (BHM) using a combination of PEC, BER, and Block Operating Parameters (BOP), which is used to order and allocate blocks based on their relative health, ensuring that blocks with better health are reserved for high-priority data and those with lower health are used for lower-priority data, thereby extending the lifespan of the memory system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If single-factor allocation methods (PEC or BER) are used, then allocation simplicity is maintained, but block health assessment accuracy deteriorates leading to premature failure

Engineering Contradiction:
Improveallocation method complexityVSAvoidblock health assessment accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent combines multiple block health factors (PEC, BER, BOP) into a unified multi-factor BHM metric. The controller integrates these separate factors using weighted sums or product formulas to create a comprehensive health assessment, resolving the contradiction by merging multiple simple measurements into one reliable indicator without requiring complex individual factor analysis.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The block health metric functions as a composite indicator, combining multiple health factors (program-erase cycle count, bit error rate, block operating parameters) into a single BHM value. This composite approach provides more accurate and reliable block health assessment than any single factor alone, while maintaining computational efficiency through standardized combination formulas.

Inventive Principle:
Principle #40Composite materials

2Productivity

If blocks are allocated without comprehensive health assessment, then allocation speed is maintained, but data retention and system longevity deteriorate

Engineering Contradiction:
Improveallocation speedVSAvoidmemory system longevity
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The controller performs preliminary block health assessment by calculating BHM values for all blocks before allocation occurs. This pre-evaluation creates an ordered list of blocks ranked by health status, enabling rapid selection of appropriate blocks during allocation without performing complex real-time analysis, thus maintaining allocation speed while ensuring long-term reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors block health factors (PEC, BER, BOP) and updates BHM values dynamically. This feedback mechanism allows the controller to adapt block allocations based on changing block conditions, extending memory system longevity by proactively managing block wear and preventing premature failures while maintaining efficient allocation operations.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If multi-factor BHM calculation is implemented, then block health assessment accuracy is improved, but computational complexity increases

Engineering Contradiction:
Improveblock health metric accuracyVSAvoidmetric calculation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms multiple health parameters (PEC, BER, BOP) into a single BHM parameter through standardized mathematical relationships. By defining specific calculation formulas (weighted sums or product formulas with configurable weights), the system achieves precise block health measurement while controlling computational complexity through consistent parameter transformation methods.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies different weighting factors to different health factors based on their relative importance for specific applications. This local optimization allows the BHM calculation to be tailored to specific memory characteristics and usage patterns, improving assessment accuracy for particular scenarios while keeping the overall calculation framework simple and configurable.

Inventive Principle:
Principle #3Local quality

4Reliability

If blocks with better health are reserved for high-priority data, then data retention is improved, but allocation flexibility decreases

Engineering Contradiction:
Improvedata retentionVSAvoidallocation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the block pool into different categories based on BHM thresholds and data priority levels. High-BHM blocks are allocated to high-priority data requiring superior retention, while lower-BHM blocks serve lower-priority applications. This segmentation enables differentiated quality service while maintaining overall system flexibility through configurable threshold levels and priority classifications.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9959067B2Memory block allocation by block health
Publication Date: 2018.05.01 SANDISK TECHNOLOGIES LLC
  • US9959067B2 patent drawing
  • US9959067B2 patent drawing
  • US9959067B2 patent drawing

AI summary

An individual block health metric value calculated for each of a plurality of blocks from a combination of factors including at least program-erase cycle count and error rate is used to order the plurality of blocks in order of block health metric values in an ordered list. Subsequently, a block may be selected for use according to a position of the block in the ordered list.