Incremental CRC Generation for Memory Sub-System Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems cannot effectively detect errors introduced during data modification operations such as 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 stage, using both the original and modified data to create incremental error-checking codes, allowing for error detection and corrective actions during data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the memory sub-system performs data modification operations (encryption, compression, metadata appending), then data security and efficiency are improved, but error detection capability deteriorates due to lack of error-checking data

Engineering Contradiction:
Improvedata integrityVSAvoiderror-checking mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating error-checking data (CRC codes) at each modification stage before the final data is stored. The system calculates incremental CRC values during encryption, compression, and metadata appending operations, so that error-checking data is already prepared and available when needed for validation, eliminating the need for complex post-modification error detection mechanisms

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the error-checking process into multiple incremental stages corresponding to each data modification operation. Instead of performing a single comprehensive error check after all modifications, the system divides error-checking into separate incremental CRC calculations for each modification step (encryption, compression, metadata appending), making the error-detection mechanism more manageable and integrated with the modification process

Inventive Principle:
Principle #1Segmentation

2Reliability

If error-checking data is generated at each modification stage, then error detection capability is improved, but computational overhead increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements continuity of useful action by performing error-checking calculations continuously during data modification operations rather than as separate batch processes. The incremental CRC generation occurs in parallel with or during the modification operations themselves, ensuring that error-checking is an ongoing integrated process that leverages the computational work already being performed on the data

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent changes the parameter of error-checking from a final comprehensive check to incremental checks with changing parameters at each modification stage. The CRC calculation parameters are updated incrementally to match the state of data at each modification point, allowing error-checking to adapt to the evolving data state without requiring full recalculation, thus reducing computational overhead

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11567825B2Generating error checking data for error detection during modification of data in a memory sub-system
Publication Date: 2023.01.31 MICRON TECHNOLOGY INC
  • US11567825B2 patent drawing
  • US11567825B2 patent drawing
  • US11567825B2 patent drawing

AI summary

First and second data are identified, such that the second data is based on a modification operation performed on the first data. First error-checking data comprising a Cyclic Redundancy Check (CRC) value of the first data is identified. Incremental error-checking data is generated based on a difference between the first data and the second data. Updated first error-checking data is generated based on a combination of the first error-checking data and the incremental error-checking data. The updated first error-checking data is compared to second error-checking data generated from a CRC value of the second data to determine whether the second data contains an error.