Flash Memory Data Access Using Inversion Circuits
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Measurement precision
If complicated circuits are incorporated to perform further determinations for identifying unwritten block, then measurement precision is improved, but device complexity increases
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.
3Reliability
If error checking and correcting circuit is used to determine whether block is bad block, then reliability is improved, but device complexity increases
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.
Data Source
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.


