XOR Parity Storage in NAND Flash Metablocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash memory devices are susceptible to failures such as program failures and silent read failures, leading to data loss and reduced reliability, with existing protection methods requiring additional storage space, thus necessitating a more efficient data protection solution.

Innovation Solution

A data storage device and method utilizing a data storage controller to generate and store XOR parities in a non-volatile memory, where the second set of XOR parities includes two or more from the first set, stored in a reserved portion of the first metablock, enabling detection and recovery of lost data without significant storage overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If XOR parities are stored in separate memory blocks to protect against NAND failures, then data reliability is improved, but storage capacity is reduced due to additional unusable memory space

Engineering Contradiction:
Improvedata reliabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage of XOR parities and host data into the same metablock structure. Specifically, first XOR parities are stored in a first metablock while second XOR parities (which are XORs of the first XOR parities) are stored in a second metablock, allowing both data and protection information to coexist within the same memory space, thereby eliminating the need for separate dedicated parity storage blocks and improving storage capacity utilization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a nested parity structure where second XOR parities are generated from the first XOR parities. The second metablock contains XOR parities that are themselves XORs of the first XOR parities stored in the first metablock. This nested arrangement allows for efficient space utilization where the same memory space serves multiple protection functions at different hierarchical levels.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If traditional XOR parity protection methods are used, then data loss from NAND failures can be detected and recovered, but additional storage space is required reducing memory capacity

Engineering Contradiction:
Improvedata protection capabilityVSAvoidmemory space
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent segments the parity protection into two distinct sets: first XOR parities stored in a first metablock and second XOR parities stored in a second metablock. This segmentation allows the system to distribute protection information across different memory blocks, enabling efficient space utilization where each metablock serves dual purposes of storing both host data and protection information, thereby reducing the total memory space required for protection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes the metablocks universal by enabling them to store multiple types of information: host data, first XOR parities, and second XOR parities. The first metablock can store host data along with first XOR parities, while the second metablock can store second XOR parities. This multi-functionality eliminates the need for dedicated separate spaces for different types of data and protection information, maximizing memory capacity utilization.

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

Data Source

PatentUS20230205627A1Data storage device and method for data protection using XOR parity
Publication Date: 2023.06.29 SANDISK TECHNOLOGIES LLC
  • US20230205627A1 patent drawing
  • US20230205627A1 patent drawing
  • US20230205627A1 patent drawing

AI summary

A data storage device includes a non-volatile memory and a data storage controller. The data storage controller is configured to generate first XOR parities based on first data of a first metablock of the non-volatile memory and store the first XOR parities in a second metablock of the non-volatile memory. The data storage controller is also configured to generate second XOR parities corresponding to second data of the second metablock. The second data includes two or more XOR parities of the first XOR parities. The data storage controller is further configured to store the second parities in a reserved portion of the first metablock.