Flash Memory Virtual Block Mapping for RAM Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices face inefficiencies in operational performance and storage space management, particularly in flash memory systems where large mapping tables consume limited RAM and increase the risk of data loss due to power-offs.

Innovation Solution

Dividing flash memory blocks into virtual blocks with corresponding mapping tables to record valid pages, allowing for efficient data management and reduced storage space usage without compromising performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a large mapping table is used to manage all blocks, then data access performance is improved, but RAM consumption increases and the risk of data loss during power-off increases

Engineering Contradiction:
Improvedata access performanceVSAvoidRAM consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the flash memory into multiple blocks and further divides each block into multiple virtual blocks. Each virtual block maintains its own separate mapping table instead of using a single large mapping table for all blocks. This segmentation approach reduces the size of individual mapping tables stored in RAM, thereby reducing RAM consumption while maintaining efficient data access performance through distributed mapping management.

Inventive Principle:
Principle #1Segmentation

2Productivity

If virtual blocks are divided within each block, then storage space management efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvestorage space management efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments each flash block into multiple virtual blocks, allowing independent management of storage space within each block. This segmentation enables more flexible and efficient storage space utilization by treating each virtual block as an independent management unit with its own mapping table, improving storage space management efficiency despite the increased structural granularity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual block dimension within the existing block structure, creating a hierarchical organization (block -> virtual block -> page). This dimensional addition enables more granular control over storage space management while maintaining the physical block structure, allowing efficient space utilization without fundamentally altering the underlying flash memory architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Speed

If mapping tables are stored in RAM for fast access, then data access speed is improved, but the risk of mapping table loss during power-off increases

Engineering Contradiction:
Improvedata access speedVSAvoidmapping table data loss risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the overall mapping table into multiple smaller mapping tables, each corresponding to a specific virtual block. These smaller mapping tables can be selectively loaded into RAM based on which virtual blocks are currently active or being accessed. This segmentation reduces the amount of mapping data that needs to be retained in volatile memory, thereby reducing the risk of data loss during power-off while maintaining fast access speeds for actively used mapping information.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10929303B2Data storage device utilizing virtual blocks to improve performance and data storage method thereof
Publication Date: 2021.02.23 SILICON MOTION INC
  • US10929303B2 patent drawing
  • US10929303B2 patent drawing
  • US10929303B2 patent drawing

AI summary

The data storage method includes selecting one of a plurality of blocks in a flash memory as an active block; dividing the active block into a plurality of virtual blocks; selecting and accessing one of the virtual blocks; and maintaining a mapping table corresponding to the selected virtual block. The mapping table records mapping information between a plurality of logical addresses and a plurality of physical addresses of the selected virtual block.