Flash Memory Read-Before-Program Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems experience increased latency and decreased performance due to variations in data transfer bandwidth during two-pass programming operations, particularly in flash memory, where errors can lead to power loss and additional programming operations, resulting in inefficiencies.

Innovation Solution

Performing a read operation prior to the two-pass programming process to identify and correct errors, allowing for data refresh and reduced programming operations, thereby optimizing bandwidth usage and minimizing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If two-pass programming operation is performed on flash memory, then data can be stored in memory cells, but latency increases and performance decreases due to bandwidth variations

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidprogramming latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs a read operation on a first portion of a memory cell before performing the two-pass programming operation. This preliminary read allows the system to identify and correct errors in advance, preventing error propagation during programming and reducing the need for re-programming operations, thereby decreasing overall programming latency while maintaining data storage reliability

Inventive Principle:
Principle #10Preliminary action

2Reliability

If read operation is performed prior to two-pass programming, then errors can be identified and corrected, but additional time is required for the read operation

Engineering Contradiction:
Improveerror correction capabilityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent leverages the read operation to convert potential harmful errors in the memory cell into beneficial information. By reading and identifying errors before programming, the system can correct these errors proactively, transforming what would be a programming failure into a successful operation, ultimately reducing total programming time despite the added read step

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Productivity

If conventional two-pass programming is used without prior read operation, then programming speed is maintained, but errors can lead to power loss and additional programming operations

Engineering Contradiction:
Improveprogramming speedVSAvoidprogramming operation reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a feedback mechanism by performing a read operation before programming. The read operation provides feedback information about the current state and errors in the memory cell, allowing the system to adjust its programming strategy accordingly. This feedback loop ensures that programming operations are performed on cells that are ready to be programmed, increasing reliability without significantly impacting overall programming speed

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11688475B2Performing read operation prior to two-pass programming of storage system
Publication Date: 2023.06.27 MICRON TECHNOLOGY INC
  • US11688475B2 patent drawing
  • US11688475B2 patent drawing
  • US11688475B2 patent drawing

AI summary

Data from a first memory cell of a plurality of memory cells is read, and it is determined whether the data stored at the first memory cell comprises an error. Upon determining that the data stored at the first memory cell comprises the error, it is determined whether an error correction operation on the data stored at the first memory cell is successful. Responsive to determining that the error correction operation on the data stored at the first memory cell is unsuccessful, a second memory cell of the plurality of memory cells is identified and a two-pass programming operation is performed on the second memory cell instead of the first memory cell.