Memory ECC Parity Encoding for Free-Page Data Distinction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In semiconductor memory devices, existing Error Correction Code (ECC) blocks fail to distinguish between user data and free page data when they have the same bit configuration, leading to incorrect error detection and correction, as all data being written or read appear as free page data, resulting in no error correction operation being performed.

Innovation Solution

The semiconductor memory device employs an ECC block that generates parity data with at least 2t bits, including an indicator different from the free page data bit, to differentiate user data from free page data during writing and reading, ensuring accurate error correction by adding this indicator to padding data when user data matches free page data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the ECC block uses standard parity data generation without indicators, then the device complexity is low and operation is simple, but the ECC block cannot distinguish user data from free page data when they have the same bit configuration, resulting in failed error correction

Engineering Contradiction:
Improveerror correction capabilityVSAvoidparity data structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An indicator is introduced as an intermediary element within the parity data structure. This indicator serves as a mediator that enables the ECC block to distinguish between user data and free page data without changing the fundamental data storage structure. The indicator is embedded in the parity data and provides the necessary information for correct data identification and error correction operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The parity data structure is modified by changing its parameters - specifically, adding an indicator field that alters the composition of the parity data. This parameter change enables the system to encode additional information (data type identification) within the existing parity data framework, allowing differentiation between user data and free page data while maintaining backward compatibility with the error correction mechanism.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the ECC block processes all data as user data, then error correction is always attempted, but this results in incorrect operation when free page data is misidentified as user data, wasting processing resources

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The indicator is added to the parity data in advance during the data writing process. This preliminary action ensures that when data is later read and processed by the ECC block, the data type identification information is already available, allowing the block to immediately determine whether error correction processing is necessary without attempting incorrect operations on free page data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The indicator in the parity data provides feedback information to the ECC block about the nature of the data being processed. This feedback mechanism enables the ECC block to make informed decisions about whether to perform error correction operations, thereby avoiding unnecessary processing of free page data and improving overall processing efficiency while maintaining data integrity for actual user data.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8381085B2Semiconductor memory device and data processing method thereof
Publication Date: 2013.02.19 SAMSUNG ELECTRONICS CO LTD
  • US8381085B2 patent drawing
  • US8381085B2 patent drawing
  • US8381085B2 patent drawing

AI summary

A semiconductor memory device is provided. The semiconductor memory device includes an error correction code block and a memory. The error correction code block performs error correction encoding for user data to generate parity data. The memory stores the user data and the parity data. The error correction code block generates parity data, including a number of bits equal to at least 2t, wherein t is a natural number, and the bits of the parity data distinguish free page data from user data that is equal to the free page data.