Flash Memory Data Access Using Inversion Circuits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face complexities in data access due to false determinations of unwritten blocks as bad blocks by error correction circuits, leading to increased circuit complexity and area, especially when counting one-bits results in incorrect identification.

Innovation Solution

Incorporating inversion circuits to convert data before error checking, allowing the error checking and correcting circuit to differentiate between unwritten and bad blocks without counting one-bits, and using a comparison circuit to simplify the determination of empty blocks, thereby reducing circuit complexity and area.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If error checking and correcting circuit counts one-bits to determine whether block is unwritten or bad, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveblock status determination accuracyVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent inverts the data stored in flash memory blocks before writing. This inversion transforms the traditional approach where unwritten blocks contain all 1s (requiring complex counting to detect) into a approach where inverted unwritten blocks contain all 0s. The ECC circuit then simply checks for all-zero patterns instead of counting 1s, dramatically simplifying the circuit while maintaining accurate block status determination.

Inventive Principle:
Principle #13The other way round (Inversion)

2Measurement precision

If complicated circuits are incorporated to perform further determinations for identifying unwritten block, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveunwritten block identification accuracyVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

By inverting the stored data, the patent transforms the identification of unwritten blocks from a complex counting operation into a simple pattern recognition operation. The ECC circuit only needs to detect whether all bits are 0 (indicating an unwritten inverted block) versus having some 1s (indicating a written or bad block), eliminating the need for complicated determination circuits.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If error checking and correcting circuit is used to determine whether block is bad block, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata accuracyVSAvoidcircuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies data inversion to work seamlessly with existing ECC circuits. The inversion is performed during data writing, and the ECC circuit operates on the inverted data without modification. This maintains reliable error detection and correction while avoiding the need to complicate the ECC circuit itself, as the simplification comes from the inverted data pattern rather than circuit redesign.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11501845B2Data access system, and method for operating a data access system
Publication Date: 2022.11.15 REALTEK SEMICON CORP
  • US11501845B2 patent drawing
  • US11501845B2 patent drawing
  • US11501845B2 patent drawing

AI summary

A data access system includes a flash memory, a first inversion circuit, a block buffer memory, an error checking and correcting circuit, a second inversion circuit, and an application circuit. The first inversion circuit inverts a plurality of pieces of data stored in a block of the flash memory to generate a plurality of pieces of inverted data. The block buffer memory stores the plurality of pieces of inverted data. When the ECC circuit determines that the plurality of pieces of inverted data are correctable, the ECC circuit corrects at least one piece of inverted data stored in the block buffer memory. The second inversion circuit inverts the plurality of pieces of inverted data stored in the block buffer memory to generate a plurality of pieces of recovered data. The application circuit receives the plurality of pieces of recovered data and performs a corresponding operation accordingly.