Flash Memory Page Update via FAT Block Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memories cannot directly update specific pages within a block as they require erasing all pages of a block for updating, necessitating a novel method for handling data updates.

Innovation Solution

A method involving a spare block acting as a file allocation table (FAT) block, where new data is written to replacing pages and mapping relationships are recorded, allowing for efficient updating and integration of data across blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is written to a specific page of a block, then data can be written to a specific page, but all pages of the block must be erased together which prevents updating only specific pages

Engineering Contradiction:
ImproveSelective page update capabilityVSAvoidData updating process complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent divides the flash memory into multiple blocks, with each block containing multiple pages. It introduces a File Allocation Table (FAT) block that segments the tracking of data pages, allowing the system to manage and update specific pages within blocks without erasing entire blocks. The FAT block contains page mapping tables that track which pages have been updated, enabling selective page updates while maintaining the block erasure constraint.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a File Allocation Table (FAT) block as an intermediary structure between the host system and the actual data blocks. The FAT block contains page mapping tables that map logical page addresses to physical block locations and track update status. This intermediary layer abstracts the complexity of block erasure requirements from the data update operation, allowing selective page updates through the mapping mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a spare block is used as FAT block, then storage capacity is optimized, but the FAT block must be erased along with the mother block requiring data reconstruction

Engineering Contradiction:
ImproveStorage capacity utilizationVSAvoidData reconstruction time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements a preliminary action mechanism where the system continuously maintains and updates the page mapping table in the FAT block alongside data updates. Before a block erasure is required, the mapping information is already prepared and stored in the FAT block. This preliminary maintenance of mapping data enables rapid data reconstruction when blocks are erased, reducing the time penalty associated with frequent erasures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the state parameter of the FAT block from a permanent storage structure to a temporary/reusable structure that can be erased and reconstructed. By designing the FAT block to be erasable along with data blocks and then reconstructed using the page mapping information, the system optimizes storage utilization while managing the time cost through efficient reconstruction algorithms that leverage the maintained mapping tables.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8195870B2Memory card and method for handling data updating of a flash memory
Publication Date: 2012.06.05 SILICON MOTION INC
  • US8195870B2 patent drawing
  • US8195870B2 patent drawing
  • US8195870B2 patent drawing

AI summary

The invention provides a method for handling data updating of a flash memory. In one embodiment, the flash memory comprises a mother block comprising a plurality of updated pages to be updated. First, a spare block, recording no data, is popped as a file allocation table (FAT) block corresponding to the mother block. Data for updating the updated pages of the mother block is then written to a plurality of replacing pages of the FAT block. Finally, a plurality of mapping relationships between the replacing pages and the updated pages are recorded in a page mapping table stored in the FAT block.