Flash Block Sub-Management for Erase Cycle Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory technologies face limited endurance due to the degradation of data storage reliability as the number of program and erase cycles exceeds safe limits, necessitating improved block erase management to enhance block utilization and reduce block-erase counts.

Innovation Solution

A method for managing block erase operations by maintaining status data for sub-blocks within erasable blocks, updating status based on other sub-blocks' status, and issuing erase commands only when all sub-blocks are invalid, thereby optimizing block utilization and reducing unnecessary erase operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If block erase operations are performed frequently to maintain data storage reliability, then data storage reliability is improved, but the lifespan of flash memory devices deteriorates due to limited endurance

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidlifespan of flash memory devices
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent divides an erasable block into multiple sub-blocks and maintains individual status data for each sub-block. This segmentation allows the system to track and manage the validity state of each sub-block independently, enabling selective erase operations only when necessary for each sub-block, thereby reducing the total number of block-erase cycles while maintaining data reliability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If block utilization is increased to improve storage efficiency, then storage efficiency is improved, but the number of block-erase cycles increases which deteriorates device lifespan

Engineering Contradiction:
Improveblock utilizationVSAvoiddevice lifespan
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent implements a feedback mechanism by maintaining status data that tracks the validity state of each sub-block. This status information feeds back into the erase operation decision-making process, allowing the system to determine whether a block erase is truly necessary based on the actual state of sub-blocks, thereby optimizing block utilization while minimizing unnecessary erase cycles.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If erase operations are performed on blocks with partially valid sub-blocks to simplify management, then management simplicity is improved, but block utilization deteriorates due to unnecessary erase operations

Engineering Contradiction:
Improvemanagement simplicityVSAvoidblock utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

By segmenting the block into sub-blocks with individual status tracking, the patent enables more granular and precise management of erase operations. Rather than treating entire blocks as atomic units, the system can make informed decisions about specific sub-blocks, improving block utilization by avoiding unnecessary erases while maintaining manageable complexity through systematic status tracking.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9558108B2Half block management for flash storage devices
Publication Date: 2017.01.31 MACRONIX INTERNATIONAL CO LTD
  • US9558108B2 patent drawing
  • US9558108B2 patent drawing
  • US9558108B2 patent drawing

AI summary

A method for managing block erase operations is provided for an array of memory cells including erasable blocks of memory cells in the array. The method comprises maintaining status data for a plurality of sub-blocks of the erasable blocks of the array. The status data indicate whether the sub-blocks are currently accessible and whether the sub-blocks are invalid. The method comprises, in response to a request to erase a selected sub-block of a particular erasable block, issuing an erase command to erase the particular block if the other sub-blocks of the particular erasable block are invalid, else updating the status data to indicate that the selected sub-block is invalid.