NVM Parity Group Assignment for Reduced Storage Footprint

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-Volatile Memory (NVM) devices face data loss due to manufacturing defects and failures, such as word-line to substrate and word-line to word-line shorts or leakage, which existing recovery schemes struggle to address effectively, especially in large block sizes where storage space for redundancy data becomes a significant issue.

Innovation Solution

A memory system and method that assigns data pages of different bit-significance values to the same parity group, calculates redundancy data using bitwise XOR operations, and stores it in dedicated memory cells, allowing for efficient data recovery with reduced storage footprint by distributing redundancy data across multiple memory cells and planes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional recovery schemes are used to protect data in NVM devices, then data reliability is improved, but storage space required for redundancy data increases significantly

Engineering Contradiction:
Improvedata protectionVSAvoidstorage footprint
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The invention divides the storage space into data pages and parity pages, further segmenting data pages into bit-significance groups (LSB, MSB, USB). This segmentation allows redundancy data to be distributed across multiple parity groups rather than requiring a single large redundancy storage area, thereby reducing the storage footprint while maintaining data protection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention merges multiple data pages with different bit-significance values (LSB, MSB, USB) into the same parity group for redundant storage. By combining these different data pages and calculating a single parity page for each group, the system reduces the total amount of redundancy data needed compared to storing separate parity data for each bit-significance group.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If redundancy data is stored for every data page, then data recovery capability is improved, but the amount of redundancy data increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidamount of redundancy data
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Each parity page serves multiple functions by protecting multiple data pages with different bit-significance values. A single parity page can be used to recover any failed data page within its parity group, making the redundancy data universal rather than dedicated to a single data page, thus reducing the total quantity of redundancy data required.

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

Solution Approach 2:

The system discards the need for separate redundancy data for each bit-significance group by recovering all necessary information from a unified parity structure. When data recovery is needed, the system retrieves data from available data pages and parity pages within the same parity group, eliminating the need to store redundant copies of each individual data page.

Inventive Principle:
Principle #34Discarding and recovering

3Measurement precision

If separate parity groups are created for different bit-significance values, then data protection precision is improved, but device complexity increases

Engineering Contradiction:
Improvedata protection precisionVSAvoidparity group management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The invention adds a logical dimension to data organization by grouping data pages from different bit-significance values (LSB, MSB, USB) into the same parity group. This dimensional reorganization allows the system to maintain precise data protection while simplifying the overall structure, as parity pages can now serve multiple bit-significance groups simultaneously rather than requiring separate parity structures for each.

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

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach enables full block data recovery in NVM with a small footprint storage area, reducing the amount of redundancy data required and balancing protection level with storage space, thereby lowering power consumption and costs while improving performance.

Implementation Method 1

The storage circuitry is configured to calculate the redundancy data by applying a bitwise XOR operation among the data pages assigned to the parity group

Methodology Applied
Scientific EffectBitwise XOR operation:

Implementation Method 2

The storage circuitry recovers the selected data page by applying a bitwise XOR operation among the other data pages of the parity group and the redundancy data

Methodology Applied
Scientific EffectBitwise XOR operation:

Data Source

PatentUS10915394B1Schemes for protecting data in NVM device using small storage footprint
Publication Date: 2021.02.09 APPLE INC
  • US10915394B1 patent drawing
  • US10915394B1 patent drawing
  • US10915394B1 patent drawing

AI summary

A memory system includes a Nonvolatile Memory (NVM) and storage circuitry. The NVM includes memory cells organized in multiple memory blocks that each includes multiple Word Lines (WLs). The storage circuitry assigns in a recovery scheme, data pages to predefined parity groups, including assigning to a parity group multiple data pages of two or more different bit-significance values in a common group of the memory cells in a WL. The storage circuitry calculates redundancy data over the data pages of a given parity group in accordance with the recovery scheme and stores the redundancy data in a dedicated group of the memory cells. The storage circuitry reads a data page belonging to the given parity group, and upon detecting a read failure, recovers the data page based on other data pages in the given parity group and on the redundancy data calculated for the given parity group.