Flash Memory Data Writing via Localized Invalid Page Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In flash memory systems, the inefficiency of garbage collection is exacerbated by the dispersion of invalid physical memory pages, which complicates the process and reduces storage releasing efficiency, and address alignment issues lead to suboptimal data storage and garbage collection.

Innovation Solution

The method involves strategically allocating small and not-aligned data into specific physical memory blocks, ensuring that invalid pages are generated collectively, thereby simplifying the garbage collection process by identifying blocks with the most invalid pages for efficient data release.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data is written sequentially into physical memory pages starting from the beginning of a block, then data storage is simple and straightforward, but invalid pages become dispersed across multiple blocks making garbage collection inefficient

Engineering Contradiction:
Improvedata storage simplicityVSAvoidgarbage collection efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the treatment of small data versus large data. Small data (less than a threshold size) is written into existing blocks that contain other small data, while large data is written into separate erased blocks. This creates localized clusters of invalid pages within specific blocks, making garbage collection more efficient by concentrating rather than dispersing invalid pages.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments data into two categories: small data and large data, based on a predetermined threshold. This segmentation allows different writing strategies to be applied to each category, with small data being reused in existing blocks and large data being written in fresh blocks, thereby managing invalid page distribution more effectively.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If small data is frequently updated, then data flexibility and adaptability are improved, but the number of invalid pages increases reducing storage efficiency

Engineering Contradiction:
Improvedata update flexibilityVSAvoidstorage space efficiency
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent performs preliminary action by pre-identifying blocks that contain small data before writing new small data. The control unit searches for blocks with existing small data and reuses them, thereby preventing invalid pages from being dispersed throughout the memory. This preliminary block selection ensures that updates to small data maintain locality and do not fragment invalid pages across the entire memory space.

Inventive Principle:
Principle #10Preliminary action

3Speed

If address alignment is not considered during data writing, then the writing process is simpler and faster, but storage space is wasted and garbage collection becomes more difficult

Engineering Contradiction:
Improvedata writing speedVSAvoidstorage space utilization
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The patent changes the parameter of data classification by introducing a size threshold that determines whether data is treated as small or large. This parameter change enables the system to adapt its writing behavior based on data characteristics, writing small data into existing blocks and large data into new blocks, thereby optimizing both speed and space utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8521947B2Method for writing data into flash memory
Publication Date: 2013.08.27 ADATA TECHNOLOGY CO LTD
  • US8521947B2 patent drawing
  • US8521947B2 patent drawing
  • US8521947B2 patent drawing

AI summary

Method for writing data into flash memory is disclosed. The method includes storing the frequently updated data and the not-aligned data collectively into some of the physical memory blocks of the flash memory. In other words, the method collectively writes those data into the same physical memory blocks of the flash memory as far as possible. By doing this, the invalid physical memory pages in the physical memory blocks can be generated collectively. As a result, the storage releasing efficiency of garbage collection can be greatly improved.