Flash Memory Controller Command Re-arranging for Parallel Data Bus Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The internal data transfer rate in flash memory systems often lags behind the external data transfer rate, limiting the overall efficiency of storage systems, as existing methods fail to effectively shorten the time required to execute multiple host read commands.

Innovation Solution

A data read method and flash memory controller that configures logical blocks mapped to physical blocks, re-arranges host read commands, and generates a command giving sequence to optimize data input/output operations across multiple data buses, allowing simultaneous reading of data from multiple flash memory modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If multiple host read commands are processed sequentially through a single data bus, then device complexity is reduced, but execution time increases and productivity decreases

Engineering Contradiction:
Improveexecution time of host read commandsVSAvoidcontroller structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The flash memory controller is divided into multiple independent data input/output buses (first data bus, second data bus, etc.), each capable of simultaneously transferring data between the controller and different flash memory modules. This segmentation allows parallel processing of multiple host read commands, reducing execution time without requiring a single complex centralized processing unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential processing architecture to a multi-dimensional parallel architecture by introducing multiple data buses operating simultaneously. Each data bus represents an additional dimension of data flow, enabling concurrent read operations across multiple flash memory modules, thereby reducing overall command execution time.

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

2Productivity

If internal data transfer rate is increased to match external data transfer rate, then productivity improves, but device complexity increases

Engineering Contradiction:
Improveinternal data transfer rateVSAvoidcontroller architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The internal data transfer system is segmented into multiple parallel data buses, each handling a portion of the total data flow. This allows the aggregate internal transfer rate to match the high external SATA interface rate without requiring each individual bus to be overly complex, as the complexity is distributed across multiple simpler parallel channels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple data buses are merged at the controller level to present a unified high-speed interface to the host system. The combined bandwidth of multiple parallel buses achieves the high internal transfer rate needed to match external SATA speeds, while each individual bus remains relatively simple in design.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data is read from multiple flash memory modules simultaneously through separate data buses, then execution time of host read commands is reduced, but device complexity increases

Engineering Contradiction:
Improvecommand execution speedVSAvoidmulti-bus controller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller architecture is segmented into multiple independent data buses, each dedicated to communicating with specific flash memory modules. This segmentation enables simultaneous read operations from multiple modules without requiring a single complex arbitration mechanism, as each bus operates semi-independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller pre-arranges the mapping between logical blocks and physical blocks across multiple flash memory modules before executing host read commands. This preliminary organization allows the controller to efficiently distribute read requests across multiple data buses without requiring complex real-time decision-making during command execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8769192B2Data read method for a plurality of host read commands, and flash memory controller and storage system using the same
Publication Date: 2014.07.01 PHISON ELECTRONICS
  • US8769192B2 patent drawing
  • US8769192B2 patent drawing
  • US8769192B2 patent drawing

AI summary

A data read method for reading data to be accessed by a host system from a plurality of flash memory modules is provided. The data read method includes receiving command queuing information related to a plurality of host read commands from the host system, each of the host read commands is corresponding to one of a plurality of data input/output buses coupled to the flash memory modules. The data read method also includes re-arranging the host read commands and generating a command giving sequence according to the data input/output buses corresponding to the host read commands. The data read method further includes sequentially receiving and processing the host read commands from the host system according to the command giving sequence and pre-reading data corresponding to a second host read command. Thereby, the time for executing the host read commands can be effectively shortened.