Memory Sub-System CRC Generation for Data Modification Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems cannot effectively detect errors introduced during data modification processes like encryption, compression, or metadata appending, as they lack the necessary error-checking data to validate the integrity of modified data.

Innovation Solution

The memory sub-system generates error-checking data at each modification step (e.g., encryption, compression, decryption) and uses incremental error-checking data to ensure data integrity by comparing original and modified CRC codes, allowing for error detection and corrective actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the memory sub-system stores only the original CRC code received from the host, then the host can validate retrieved data, but the memory sub-system cannot detect errors introduced during data modification processes

Engineering Contradiction:
Improvedata integrity validation capabilityVSAvoiderror detection capability
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent segments the CRC validation process into two distinct parts: (1) storing the original CRC code received from the host for host-side validation of retrieved data, and (2) generating a new CRC code from the modified data for memory sub-system error detection. This segmentation allows both validation purposes to be fulfilled simultaneously without conflict.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter being validated by generating a new CRC code from the modified data rather than using the original CRC code. This parameter change enables the memory sub-system to detect errors in the modified data while the host retains the original CRC code for its validation purposes.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If the memory sub-system generates a new CRC code from modified data, then error detection during modification is enabled, but the host cannot validate whether the retrieved data matches the original data

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddata validation capability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent segments the CRC codes into two distinct functions: the original CRC code is preserved for host-side data validation, while a new CRC code is generated for memory sub-system error detection during modification. This segmentation resolves the conflict between these two opposing needs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new CRC code as an intermediary element that enables error detection during modification without interfering with the host's ability to use the original CRC code for validation. The new CRC code acts as a mediator that provides error detection capability while preserving the original validation mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the memory sub-system stores both original and new CRC codes, then both error detection and data validation are enabled, but storage space and processing complexity increase

Engineering Contradiction:
Improvecomprehensive error detection and validationVSAvoidCRC management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the error detection function from the original CRC code by generating a separate new CRC code. This extraction allows the original CRC code to remain unchanged for validation purposes while the new CRC code handles error detection, simplifying the overall management compared to trying to make the original CRC code serve dual purposes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the CRC validation mechanism by generating a new CRC code from the modified data. This copy enables error detection during modification while the original CRC code continues to serve validation purposes, avoiding the need to modify the original validation process.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11068336B2Generating error checking data for error detection during modification of data in a memory sub-system
Publication Date: 2021.07.20 MICRON TECHNOLOGY INC
  • US11068336B2 patent drawing
  • US11068336B2 patent drawing
  • US11068336B2 patent drawing

AI summary

A request to store a first data is received. The first data and a first error-checking data are received. The first error-checking data can be based on a cyclic redundancy check (CRC) operation of the first data. A second data is generated by modifying the first data. A second error-checking data of the second data is generated by using the first error-checking data and a difference between the first data and the second data.