Zone-Specific Temporary Parity Buffers for Uneven Memory Fill Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory systems face inefficiencies in generating parity data for memory blocks with varying fill frequencies, leading to potential data loss during programming failures due to manufacturing and operational defects.

Innovation Solution

Allocate a temporary parity buffer for zones in a parity group, updating parity data as blocks are written, maintaining parity for both written and unwritten portions, and efficiently managing memory block allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If parity data is generated for memory blocks with varying fill frequencies, then data protection against programming failures is achieved, but system efficiency deteriorates due to manufacturing and operational defects causing different fill rates

Engineering Contradiction:
Improvedata protectionVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the memory system into multiple zones within a parity group, where each zone can be independently managed and tracked. This segmentation allows the system to handle zones with different fill frequencies separately, improving efficiency while maintaining data protection. The controller tracks fill status of individual zones and generates parity data only for zones that are fully filled, rather than waiting for all zones to complete.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary tracking of zone fill status using a zone fill status register and parity generation status register. Before generating parity data, the system checks whether zones are fully filled and ready for parity generation. This preliminary action prevents wasted processing on incomplete zones and enables efficient parallel processing of multiple zones at different stages of completion.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If a single parity buffer is used for all zones, then memory management is simplified, but efficiency deteriorates when zones have different fill frequencies

Engineering Contradiction:
Improvememory management complexityVSAvoidparity generation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the single parity buffer into multiple zone-specific parity buffers, with each buffer dedicated to storing parity data for a specific zone. This segmentation allows independent management of parity data for zones with different fill frequencies, enabling the controller to process and store parity data for each zone as it becomes available without waiting for other zones to complete.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic parity buffer allocation where the controller can allocate and deallocate parity buffers based on the fill status of zones. When a zone is fully filled, its corresponding parity buffer is activated for parity generation; when zones are still being filled, their buffers remain inactive or are reused. This dynamic approach optimizes resource utilization and improves overall system efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12461818B2Temporary parity buffer allocation for zones in a parity group
Publication Date: 2025.11.04 MICRON TECHNOLOGY INC
  • US12461818B2 patent drawing
  • US12461818B2 patent drawing
  • US12461818B2 patent drawing

AI summary

Methods, systems, and apparatuses include allocating a temporary parity buffer to a parity group. A write command is received that includes user data and is directed to a portion of memory included in a zone which is included in the parity group. A memory identifier is determined for the portion of memory. Parity group data is received from the temporary parity buffer using the memory identifier. Updated parity group data is determined using the parity group data and the user data. The updated parity group data is sent to the temporary parity buffer.