Flash Memory Write Method Using Cleansed Block Indication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face data loss due to power interruptions during write operations, as interrupted pages can result in unpredictable and unreliable data states, with existing methods being either unreliable or inefficient.

Innovation Solution

A method ensures data is written only to physical blocks that have been erased since the last power-up by using a 'cleansed' block indication and refreshing logical blocks to re-assign valid data to newly erased blocks, ensuring only cleansed blocks are used for writing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is written to pages in flash memory without verifying erase status, then write speed is improved, but data reliability deteriorates due to power interruption risks

Engineering Contradiction:
Improvewrite speedVSAvoiddata reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by tracking the erase status of physical blocks and maintaining a mapping between logical blocks and physical blocks that have been erased since last power-up. Before writing data, the system checks whether the target physical block is in a cleansed state (erased since last power-up), thereby preventing writes to potentially corrupted blocks without requiring read verification of each page.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses self-service by maintaining internal state information (cleansed block status) that automatically tracks which blocks are safe for writing. The controller monitors its own operational state and power-up events, updating the cleansed block indication accordingly, eliminating the need for external verification or complex read-check procedures before each write operation.

Inventive Principle:
Principle #25Self-service

2Reliability

If the system verifies erase status before every write operation, then data integrity is improved, but write efficiency deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidwrite efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary tracking of block erase status and maintains a cleansed block indication that is updated automatically based on power-up events and erase operations. This preliminary state maintenance allows the system to determine write safety through simple status checks rather than complex verification procedures, preserving write efficiency while ensuring data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller maintains self-service by automatically tracking which physical blocks are in a cleansed state through internal state management. The system updates the cleansed block indication based on its own operational events (power-up, erase completion), eliminating the need for time-consuming read verification of each block before writing, thus maintaining high write efficiency.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If the system uses traditional read-verify methods to detect interrupted pages, then detection accuracy is improved, but operational complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidoperational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses self-service by maintaining internal state information that automatically tracks the cleansed status of physical blocks. The controller monitors its own operational state and power-up events, updating the cleansed block indication accordingly. This approach provides accurate detection of safe write targets without requiring complex read-verify procedures or additional detection mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system extracts the essential safety information (cleansed block status) from the complex state of flash memory blocks and represents it through a simplified cleansed block indication. This extraction allows the system to determine write safety through simple status checks rather than complex verification procedures, reducing operational complexity while maintaining detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If the system always writes to freshly erased blocks, then data reliability is improved, but storage utilization deteriorates

Engineering Contradiction:
Improvedata reliabilityVSAvoidstorage utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary tracking of which physical blocks have been erased since last power-up and maintains this information in a cleansed block indication. This allows the system to identify and utilize all available cleansed blocks for writing operations, maximizing storage utilization among safe blocks without compromising data reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adapts to the changing state of flash memory blocks by continuously updating the cleansed block indication based on erase operations and power-up events. This dynamic tracking allows the system to flexibly utilize any block that becomes cleansed, optimizing storage utilization while maintaining the reliability requirement that data is only written to blocks erased since last power-up.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7814263B2Erase history-based flash writing method
Publication Date: 2010.10.12 SANDISK ISRAEL LTD
  • US7814263B2 patent drawing
  • US7814263B2 patent drawing
  • US7814263B2 patent drawing

AI summary

A method for writing into a flash memory device includes calculating a physical block for writing data thereto, checking whether the calculated physical block has been erased since a last power-up of the device and if it has been erased writing the data, or, if it has not been erased performing a refresh operation thereby obtaining a newly erased block since a last power-up that the data can be written to. The newly erased block may be the calculated block or another block of the flash memory.