Flash Memory Block Management for Multi-Channel Cleaning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Flash memory management systems face inefficiencies during cleaning operations, particularly when handling multiple channel configurations, as they fail to ensure optimal processing performance when idle channels are present due to the absence of valid pages in meta blocks.

Innovation Solution

A method for block management in Flash memory devices with multiple channels, where a controller selects candidate meta blocks with valid pages, accumulates valid page counts, and triggers a cleaning operation when a threshold value is reached, allowing simultaneous data movement or copying across channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a cleaning operation is performed on a meta block with idle channels (channels without valid pages), then the cleaning operation can be completed, but the processing performance deteriorates due to wasted time on idle channels

Engineering Contradiction:
Improveprocessing performanceVSAvoididle channel time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller performs preliminary actions by accumulating valid page counts for each channel before initiating the cleaning operation. It determines in advance which channels have valid pages and which are idle, and only triggers the cleaning operation when the accumulated valid page count reaches a threshold, ensuring that all channels are actively utilized during the cleaning process and avoiding wasted time on idle channels

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously monitoring and accumulating the valid page counts for each channel. Based on this feedback information, the controller dynamically decides when to trigger the cleaning operation, ensuring that the operation is initiated only when sufficient valid data exists across all channels to maximize processing efficiency and minimize idle time

Inventive Principle:
Principle #23Feedback

2Loss of time

If the controller triggers a cleaning operation immediately when a single channel has valid pages, then the cleaning operation starts quickly, but the processing performance deteriorates due to idle channels during the operation

Engineering Contradiction:
Improvecleaning operation start timeVSAvoidprocessing performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The controller accumulates valid page counts for all channels before triggering the cleaning operation. This preliminary accumulation phase ensures that when the cleaning operation is initiated, all channels have sufficient valid data to participate actively, preventing idle channels from reducing overall processing performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter for triggering the cleaning operation from immediate initiation (when a single channel has valid pages) to threshold-based initiation (when accumulated valid page counts across all channels reach a predetermined threshold). This parameter change ensures that the cleaning operation is triggered at the optimal moment to maximize processing efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8904089B2Method for performing block management/Flash memory management, and associated memory device and controller thereof
Publication Date: 2014.12.02 SILICON MOTION INC
  • US8904089B2 patent drawing
  • US8904089B2 patent drawing
  • US8904089B2 patent drawing

AI summary

A method for performing block management is provided. The method is applied to a controller of a Flash memory having multiple channels. The Flash memory includes a plurality of blocks respectively corresponding to the channels. The method includes: selecting at least one meta block having at least one valid page as at least one candidate meta block for being cleaned, and accumulating respective valid page counts of blocks respectively corresponding to the channels within the at least one candidate meta block, in order to generate a plurality of accumulated values respectively corresponding to the channels; and when it is detected that all of the accumulated values reach a threshold value, triggering a cleaning operation with regard to all candidate meta blocks, in order to simultaneously move/copy valid data respectively corresponding to the channels during the cleaning operation. An associated memory device and a controller thereof are also provided.