Flash Memory Controller Wear Leveling via Priority-Based Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In flash memory systems, ineffective data remaining in physical blocks reduces storage capacity and efficiency, as updating operations take longer when effective data is transferred between blocks, leading to inefficient utilization of storage space and management challenges.

Innovation Solution

A memory controller determines data transfer between physical blocks based on a priority order, transferring static data to new blocks and keeping dynamic data in original blocks, thereby optimizing wear leveling and reducing the number of program-erase cycles, which helps in maintaining even wear and extending the life of flash memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If effective data are transferred from previous physical block to new physical block, then storage capacity is improved and ineffective data are reduced, but update operation time increases

Engineering Contradiction:
Improvestorage capacityVSAvoidupdate operation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies partial action by transferring only effective data (data not replaced by latest data) from the previous physical block to the new physical block, rather than transferring all data. This selective transfer reduces the data volume moved during updates, thereby decreasing update operation time while still reducing ineffective data in the flash memory system.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If plural physical blocks correspond to the same logical block, then data storage flexibility is improved, but storage capacity decreases due to ineffective data

Engineering Contradiction:
Improvedata storage flexibilityVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies discarding and recovering by identifying and discarding ineffective data (data that are replaced by latest data) while recovering and retaining only effective data in the new physical block. This selective data handling maintains the flexibility of mapping multiple physical blocks to the same logical block while minimizing the accumulation of ineffective data that would otherwise reduce storage capacity.

Inventive Principle:
Principle #34Discarding and recovering

3Quantity of substance

If all effective data are transferred to new physical block, then ineffective data are reduced, but data transfer becomes futile when data are immediately replaced

Engineering Contradiction:
Improvestorage utilizationVSAvoiddata transfer efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies partial action by transferring only effective data (data not replaced by latest data) from the previous physical block to the new physical block, rather than transferring all data. This selective transfer reduces the data volume moved during updates, thereby decreasing update operation time while still reducing ineffective data in the flash memory system.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8176236B2Memory controller, memory system with memory controller, and method of controlling flash memory
Publication Date: 2012.05.08 TDK CORP
  • US8176236B2 patent drawing
  • US8176236B2 patent drawing
  • US8176236B2 patent drawing

AI summary

Access to flash memories is controlled so that efficiency of data writing and effective utilization of storage area go together. In the access control, priority order, for physical blocks each storing effective data, is managed so that a position of a physical block in the assignment order becomes higher according as assignment of a logical block to the physical block is performed more recently. When assigning a logical block to a free physical block, a determination is made whether a position of a previous physical block is higher than a predetermined position in the priority order. The previous physical block is a physical block, then, corresponding to the same logical block as the free physical block. When the determination is negative, effective data stored in the previous physical block is transferred to the free physical block.