Memory Sub-System Sub-Block Allocation via Address Shifting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory devices face reliability issues due to varying read window budgets across wordlines, leading to bit errors and increased latency, particularly when scaling in the x-y direction, which affects system performance and quality of service.

Innovation Solution

A memory sub-system controller allocates sub-blocks by shifting physical addresses using predefined values to avoid high bit error rate clusters across dies, ensuring different wordlines are used for programming operations, thereby minimizing the use of sub-blocks with high read window budget degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory devices scale in the x-y direction to increase capacity, then storage density is improved, but read window budget degradation increases leading to higher bit error rates

Engineering Contradiction:
Improvestorage capacityVSAvoidbit error rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The memory device is divided into multiple sub-blocks within each block, allowing the system to selectively access and operate on smaller segments rather than entire blocks. This segmentation enables the controller to avoid degraded sub-blocks while maintaining access to healthy portions of the memory, thus preserving reliability while scaling capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different sub-blocks within the same block are treated with different quality characteristics based on their individual read window budget status. The system identifies and avoids sub-blocks with high degradation while continuing to use sub-blocks with acceptable characteristics, applying local quality management rather than uniform treatment across entire blocks.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If conventional block allocation methods are used, then allocation simplicity is maintained, but programming operations frequently encounter high bit error rate clusters causing host timeouts

Engineering Contradiction:
Improveallocation simplicityVSAvoidhost timeout frequency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary identification and classification of sub-blocks into different quality categories before programming operations occur. By pre-mapping sub-blocks to quality indicators and maintaining this information in metadata, the controller can quickly allocate operations to healthy sub-blocks without encountering high error rate clusters during actual programming, thus reducing host timeouts while maintaining operational simplicity.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If entire blocks are used as allocation units, then allocation overhead is reduced, but inability to avoid degraded areas increases bit error rates

Engineering Contradiction:
Improveallocation overheadVSAvoidbit error rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

Blocks are segmented into multiple sub-blocks that can be independently allocated and managed. This allows the system to work with finer-grained units than entire blocks, enabling avoidance of degraded sub-blocks while maintaining reasonable allocation overhead through efficient metadata structures that track sub-block quality status.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The allocation system adds a new dimension of granularity by introducing sub-block level management between the traditional block and page levels. This intermediate dimension allows more flexible allocation decisions that can avoid degraded areas without requiring complex block-level management, thus reducing allocation overhead while improving reliability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Productivity

If sub-blocks with high read window budget degradation are used for programming, then allocation efficiency is improved, but bit error rates increase significantly

Engineering Contradiction:
Improveallocation efficiencyVSAvoidbit error rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms that continuously monitor and update the quality status of sub-blocks based on read window budget measurements. This feedback information is stored in metadata and used by the allocation algorithm to direct programming operations to healthy sub-blocks, ensuring both high allocation efficiency and low bit error rates by making informed allocation decisions rather than random or sequential assignment.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240231641A1Managing allocation of sub-blocks in a memory sub-system
Publication Date: 2024.07.11 MICRON TECHNOLOGY INC
  • US20240231641A1 patent drawing
  • US20240231641A1 patent drawing
  • US20240231641A1 patent drawing

AI summary

A processing device, operatively coupled with a memory device, performs a first programming operation on a first set of cells associated with a first sub-block of a first die of the memory device, wherein each die of the memory device comprises a plurality of sub-blocks. The processing device identifies, based on a first predefined value, a second sub-block of a second die of the memory device on which to perform a second programming operation, wherein the first predefined value is a shift in an index value of the first sub-block of the first die of the memory device. The processing device further performs the second programming operation on a second set of cells associated with the second sub-block of the second die, wherein the second sub-block of the second die is associated with a different index value than the first sub-block of the first die.