Flash Memory Command Scheduling for Data Transfer Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices, particularly NAND flash devices, face inefficiencies in data read and write operations due to their serial access nature, where commands must be executed in sequences of pages or blocks rather than individual bytes or words, leading to suboptimal data transfer and potential errors like 'dirty reads'.

Innovation Solution

A method and apparatus for scheduling read and write commands using a processing unit that prioritizes executing multiple commands from queues until specific conditions are met, such as tolerable waiting times and avoiding 'dirty reads', by configuring timers and managing queues to optimize continuous data operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If commands are executed sequentially in traditional flash memory, then data transfer completeness is maintained, but data transfer efficiency deteriorates due to serial access constraints

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcommand execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments command execution into distinct read command phases and write command phases, executing multiple commands of the same type consecutively before switching types. This segmentation allows the controller to optimize each phase independently, improving overall data transfer efficiency while managing the serial access constraints of flash memory through structured command organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by checking whether a read command or write command can be executed before actually executing it. The controller determines the executable command type in advance and prepares the appropriate command structure, allowing for more efficient command scheduling and reducing unnecessary delays in the command execution process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If read commands are executed without considering write operations, then read speed is maintained, but data correctness deteriorates due to dirty reads

Engineering Contradiction:
Improvedata correctnessVSAvoidread operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements feedback mechanisms where the controller continuously monitors the command queue to determine whether read or write commands can be executed. This feedback loop ensures that read commands are only executed when data is actually available, preventing dirty reads while maintaining optimal read speeds by avoiding unnecessary waits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent makes the command execution dynamic by adjusting the execution strategy based on real-time conditions in the command queue. The controller dynamically determines whether to execute read or write commands first, and how many commands to execute before switching, optimizing both data correctness and speed based on the current operational state.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple commands are executed continuously, then data transfer efficiency is improved, but command queue management complexity increases

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments command management into separate read command queues and write command queues, allowing independent management of each type of command. This segmentation simplifies queue management complexity by treating read and write operations separately, while still enabling continuous execution of multiple commands within each queue to maintain high productivity.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If serial access protocol is used, then flash memory compatibility is maintained, but data transfer speed deteriorates compared to random access

Engineering Contradiction:
Improveflash memory compatibilityVSAvoiddata transfer speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent implements continuous execution of multiple read or write commands within each phase, maximizing the useful action during serial access operations. By continuously executing commands of the same type without unnecessary interruptions, the system maintains flash memory compatibility while improving data transfer speed through efficient use of the serial access protocol.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9971546B2Methods for scheduling read and write commands and apparatuses using the same
Publication Date: 2018.05.15 SILICON MOTION INC
  • US9971546B2 patent drawing
  • US9971546B2 patent drawing
  • US9971546B2 patent drawing

AI summary

A method for scheduling read and write commands, performed by a processing unit, including at least the following steps: the processing unit obtains more than one read commands from a read queue successively and executes the obtained read commands until a first condition is met. After the first condition is met, the processing unit obtains more than one write commands from a write queue successively and executes the obtained write commands until a second condition is met.