Temporary Parity Buffering for Zoned Memory Parity Groups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

Allocating a temporary parity buffer for zones in a parity group, which is updated as data is written, maintaining parity data for both written and unwritten portions of memory blocks, and efficiently managing memory allocation by replacing fully programmed blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional memory systems generate parity data for memory blocks with different fill frequencies, then data protection is provided, but system efficiency deteriorates and data loss occurs during programming failures

Engineering Contradiction:
Improvedata protectionVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory system into multiple zones within a parity group, where each zone can be independently managed. This allows zones with different fill frequencies to be handled separately, improving efficiency while maintaining data protection. The temporary parity buffer is also segmented to track parity data for each zone individually.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by allocating a temporary parity buffer before zones are fully programmed. This buffer pre-allocates space for parity data generation, allowing the system to efficiently update parity information as data is written without waiting for complete zone programming, thus improving system efficiency while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If temporary parity buffer is allocated for zones in a parity group with different fill frequencies, then parity data management efficiency is improved, but memory resource consumption increases

Engineering Contradiction:
Improveparity data management efficiencyVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The temporary parity buffer is implemented as a dynamic structure that adapts to the fill frequencies of different zones. The buffer allocates space dynamically based on the actual writing patterns of zones, allowing efficient parity management while optimizing memory resource usage. The buffer size and structure can be adjusted as zones are programmed at different rates.

Inventive Principle:
Principle #15Dynamics

3Reliability

If parity data is maintained for both written and unwritten portions of memory blocks, then data loss during programming failures is reduced, but device complexity increases

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

Solution Approach 1:

The temporary parity buffer acts as an intermediary structure that simplifies the management of parity data for both written and unwritten portions. Instead of complex tracking mechanisms, the buffer provides a straightforward intermediate storage location for parity information, reducing device complexity while maintaining comprehensive data protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260037378A1Temporary parity buffer allocation for zones in a parity group
Publication Date: 2026.02.05 MICRON TECHNOLOGY INC
  • US20260037378A1 patent drawing
  • US20260037378A1 patent drawing
  • US20260037378A1 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.