Multi-Plane Memory Parity Allocation for Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory systems face inefficiencies in data management due to the high likelihood of single-plane failures in multi-plane non-volatile memory devices, leading to reduced storage capacity for non-parity information and increased costs, as all storage resources are typically allocated to parity data.

Innovation Solution

Implementing a data management logic that allocates a single plane of a multi-plane non-volatile memory device to store parity information, allowing the remaining planes to store non-parity data, thereby increasing storage efficiency and resource utilization by up to 75%.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all storage resources are allocated to parity data to ensure data recovery, then data reliability is improved, but storage capacity for non-parity information deteriorates

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidstorage capacity for non-parity information
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The invention segments the storage system into multiple independent planes within non-volatile memory devices. By organizing data across multiple planes and allocating only one plane per device for parity storage, the system achieves data recovery capability while preserving storage capacity. This segmentation allows the system to recover from single-plane failures without requiring all storage resources to be dedicated to parity data.

Inventive Principle:
Principle #1Segmentation

2Reliability

If extensive parity storage is implemented to recover from plane failures, then data integrity is improved, but storage efficiency deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention applies partial redundancy by implementing parity storage in only one plane per memory device rather than distributing parity across all planes. This partial action approach provides sufficient data integrity for single-plane failure recovery while avoiding the excessive parity storage that would reduce storage efficiency. The system achieves the minimum necessary redundancy without over-provisioning.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If all memory planes are used for non-parity data to maximize storage capacity, then storage efficiency is improved, but reliability against plane failures deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidfailure recovery capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The invention applies local quality by designating one specific plane per memory device for parity storage while using all other planes for non-parity data. This creates a localized functional differentiation where each plane has a specific role, ensuring both storage capacity and failure recovery capability. The local quality approach allows the system to maintain high storage efficiency while providing targeted protection against plane failures.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9354973B2Data integrity management in memory systems
Publication Date: 2016.05.31 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US9354973B2 patent drawing
  • US9354973B2 patent drawing
  • US9354973B2 patent drawing

AI summary

Data management logic allocates a portion such as a single plane of a respective multi-plane non-volatile memory device to store parity information for corresponding data striped across multiple planes of multiple non-volatile memory devices. According to one configuration, the data management logic as discussed herein generates parity data based on (a data stripe of) non-parity data stored in multiple planes of multiple different memory devices. The data management logic stores the parity data in the storage plane allocated to store the parity information. Additional configurations include: reserving a parity block amongst multiple non-parity data blocks to store parity data and reserving a parity page amongst multiple non-parity data pages to store parity data.