Flash Memory Controller Multi-Channel Cache Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FLASH memory control methods are inefficient in managing large storage capacities, particularly in separating and writing data across multiple channels, leading to suboptimal operation efficiency.

Innovation Solution

A data storage device with a FLASH memory and a controller that allocates multiple sets of cache spaces for temporary write data storage, separating write data across channels and writing data in 'super pages' to improve efficiency by allowing simultaneous multiple access operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is written sequentially through a single channel to FLASH memory, then the control logic is simple, but the operation efficiency is low

Engineering Contradiction:
Improveoperation efficiencyVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the FLASH memory into multiple blocks that can be accessed via multiple channels simultaneously. The controller separates write data into different channels and uses multiple sets of cache spaces (first set and second set) to organize data for concurrent writing operations, thereby improving productivity while managing complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a multi-channel dimension to the data writing process, allowing parallel access paths to FLASH memory. By allocating cache spaces across multiple channels and enabling simultaneous write operations through different channels, the system transitions from sequential single-channel processing to parallel multi-channel processing, significantly enhancing operation efficiency.

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

2Productivity

If multiple channels are used for parallel data writing, then operation efficiency improves, but the cache memory requirement increases

Engineering Contradiction:
Improvewrite speedVSAvoidcache memory size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent allocates cache spaces in advance (first set and second set) and pre-organizes data into these cache spaces before writing to FLASH memory. This preliminary organization allows the controller to efficiently manage data across multiple channels without requiring excessive cache memory, as data is prepared for parallel writing before the actual write operation begins.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs multiple sets of cache spaces that can be alternately used and reused. After one set of cache spaces is filled and used for writing, the controller can switch to another set, allowing the first set to be cleared and reused for subsequent data. This recycling of cache resources reduces the total cache memory requirement while maintaining high write speeds through parallel channel operations.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9436599B2Flash storage device and method including separating write data to correspond to plural channels and arranging the data in a set of cache spaces
Publication Date: 2016.09.06 SILICON MOTION INC
  • US9436599B2 patent drawing
  • US9436599B2 patent drawing
  • US9436599B2 patent drawing

AI summary

A data storage device with a FLASH memory accessed via multiple channels and a FLASH memory control method are disclosed. The control method includes dividing a plurality of blocks of a FLASH memory into groups to be accessed by a plurality of channels separately, each block comprising a plurality of pages; allocating a random access memory to provide a first set of cache spaces for the different ones of the plurality of channels; separating write data issued from a host to correspond to the plurality of channels; and after data arrangement in the first set of cache spaces for every channel is completed, writing data arranged in the first set of cache spaces for every channel to the FLASH memory via the plurality of channels. The control method further includes allocating the random access memory to provide a second set of cache spaces; and using the second set of cache spaces to perform data arrangement for the write data issued from the host when writing the data arranged in the first set of cache spaces for every channel to the FLASH memory.