Flash Storage ECC Layout With Embedded LBA-Related CRC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing data storage systems in flash memories are inefficient as they occupy significant storage space due to the inclusion of non-data portions like logical block addresses, cyclic redundancy check codes, and error checking/correcting codes, which increases the overall data storage requirements.

Innovation Solution

A data storage system and method that combines a data byte with a cyclic redundancy check code to form a data sector, which is then encoded with an error checking and correcting code to generate storage data, thereby eliminating the need to store the logical block address, reducing storage space and error rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If non-data portions (LBA, CRC code, error checking and correcting code) are stored separately from data bytes in flash memory, then error checking and correcting capabilities are maintained, but storage space is significantly occupied by these overhead portions

Engineering Contradiction:
Improveerror checking and correcting capabilityVSAvoidstorage space occupation
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the LBA and CRC code into the error checking and correcting code structure. Specifically, the LBA is placed in the most significant bits of the ECC field, and the CRC code is placed in the least significant bits, allowing all three elements (data byte, LBA, CRC) to be stored together in a single 16-bit field without requiring separate storage allocations for each component.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The error checking and correcting code field is designed to serve multiple functions simultaneously: it provides error detection and correction for the data byte, stores the LBA for address identification, and includes the CRC code for data integrity verification. This multi-functional design eliminates the need for separate dedicated fields for each purpose.

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

2Ease of operation

If LBA is stored separately with each data byte in flash memory, then data addressing and retrieval are simplified, but the storage efficiency decreases due to repeated LBA overhead

Engineering Contradiction:
Improvedata addressing capabilityVSAvoidstorage space for address information
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The LBA is merged into the ECC field structure rather than being stored separately. The 8-bit LBA is placed in the most significant bits of the 16-bit ECC field, allowing address information to be carried along with the data byte without requiring additional separate address storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The LBA is pre-integrated into the storage structure at the time of data writing. By embedding the LBA within the ECC field before storage, the system eliminates the need for separate address management and retrieval operations, as the address information is already attached to the data.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If CRC code and error checking and correcting code are stored as separate portions, then data integrity verification is robust, but the overall data structure complexity and storage overhead increase

Engineering Contradiction:
Improvedata integrity verification capabilityVSAvoiddata structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The CRC code and ECC are merged into a single integrated structure where the CRC occupies the least significant bits of the ECC field. This merging maintains the distinct functional roles of CRC (integrity verification) and ECC (error correction) while presenting a unified, simplified storage format.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The CRC code is nested within the ECC field structure, with the CRC occupying the lower-order bits and the ECC occupying the higher-order bits. This nested arrangement allows both codes to coexist in a hierarchical manner, maintaining their individual verification capabilities while reducing overall structural complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10917119B2Data storage system and associated data storing method for reducing data error rate
Publication Date: 2021.02.09 SILICON MOTION INC
  • US10917119B2 patent drawing
  • US10917119B2 patent drawing
  • US10917119B2 patent drawing

AI summary

A data storage system includes a processing circuit, a calculating circuit and an encoding circuit. The processing circuit receives a data byte from a host. The calculating circuit generates a cyclic redundancy check code according to an LBA, and combines the cyclic redundancy check code and the data byte into a data sector so that the data sector includes LBA-related information. The encoding circuit encodes the data sector to generate an error checking and correcting code, and combines the data sector and the error checking and correcting code into a storage data, so that the storage data includes the LBA-related information without including the LBA. Via the data sector and the storage data, the data storage system performs cyclic redundancy checking as well as error checking and correcting without storing the LBA for reducing 1-bit errors; and the LBA-related information does not include part or all of the LBA.