Parity Buffer Reuse for Volatile Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing semiconductor memory systems face challenges in efficiently using volatile memory for parity data, leading to limited capacity and increased costs due to the need for efficient error correction and data recovery, especially in systems prone to errors where ECC codeword decoding may fail.

Innovation Solution

Implementing a smart re-use of a parity buffer in volatile memory, where primary and secondary parity data are accumulated and reused, allowing for efficient use of volatile memory by replacing primary parity with recovery data and computing secondary parity from existing buffer contents, enabling parallel programming of parity data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If volatile memory is used to store parity data for error correction, then error correction capability is improved, but memory cost and complexity increase due to limited volatile memory capacity

Engineering Contradiction:
Improveerror correction capabilityVSAvoidvolatile memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The parity buffer is divided into multiple segments or portions, allowing different types of parity data (primary parity, secondary parity, recovery data) to be stored in different segments. This segmentation enables efficient utilization of limited volatile memory capacity while maintaining comprehensive error correction capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically replaces parity data in the buffer based on operational needs. Primary parity data is replaced with secondary parity or recovery data when the buffer is full, and previously replaced parity data can be recovered from non-volatile memory when needed. This discarding and recovering approach allows the system to maintain error correction capability with limited volatile memory.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If more volatile memory is allocated for parity data storage, then data recovery capability is improved, but system cost increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The parity buffer in volatile memory is designed to serve multiple functions: storing primary parity data, storing secondary parity data, and storing recovery data. This multi-functionality allows the system to achieve comprehensive data recovery capability without proportionally increasing volatile memory capacity, thereby reducing system cost.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system pre-computes and stores multiple types of parity data (primary and secondary) in the buffer before actual data recovery is needed. This preliminary action ensures that when errors occur, the system can immediately use the pre-computed parity data for recovery without requiring additional computation time or memory resources.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If primary parity is replaced with recovery data in the buffer, then memory utilization is improved, but error correction complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoiderror correction complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The error correction system is designed to automatically determine which type of parity data is needed and retrieve it from the appropriate location. The controller autonomously manages the replacement of primary parity with recovery data in the buffer and handles the complexity of coordinating between volatile and non-volatile memory without requiring external intervention, thereby maintaining productivity while managing complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11698750B2Smart re-use of parity buffer
Publication Date: 2023.07.11 SANDISK TECHNOLOGIES LLC
  • US11698750B2 patent drawing
  • US11698750B2 patent drawing
  • US11698750B2 patent drawing

AI summary

Technology is disclosed herein for efficient use of volatile memory that is used for accumulating parity data of user data being written to non-volatile memory cells. A memory controller may replace primary parity in a first portion of a parity buffer with data other than primary parity while a second portion of the buffer is still being used to store the primary parity. Therefore, the memory controller smartly re-uses the parity buffer, which makes efficient use of the volatile memory. In one aspect, a memory controller accumulates secondary parity for the user data in a first portion of the parity buffer while a second portion of the parity buffer is still being used to store the primary parity. The memory controller may compute the secondary parity from present content of the first portion of the parity buffer and primary parity presently stored in the second portion of the buffer.