Flash Drive Command Buffering via Host Device Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional USB flash drives face limitations in throughput due to the bulk-only transport protocol, which allows only a single command at a time, leading to significant delays during block erase operations, and lack on-chip buffers to manage pending commands, resulting in degraded performance and increased costs for external buffering.

Innovation Solution

Implementing a system that allows multiple commands to be pending by using a host command table and device command table to manage and buffer data, enabling efficient access to flash memory by overlapping operations across different flash memory blocks and reducing the need for additional storage on the flash drive.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the bulk-only transport protocol is used to allow only a single command at a time, then the device complexity is reduced, but the productivity deteriorates due to significant delays during block erase operations

Engineering Contradiction:
Improveprotocol complexityVSAvoiddata transfer throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The host device stores command information for multiple commands in advance in a host command table before the flash drive device is ready to execute them. This allows the flash drive to process multiple commands in parallel by having them pre-stored and ready to be executed as blocks become available, eliminating the sequential single-command limitation of the bulk-only transport protocol while maintaining protocol simplicity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If on-chip buffers are added to manage pending commands and overlap operations, then the productivity improves, but the device complexity and manufacturing cost increase

Engineering Contradiction:
Improvedata transfer throughputVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the buffer functionality from the flash drive device and relocates it to the host device. The host command table, which stores command information for multiple pending commands, resides in the host's memory rather than requiring on-chip buffers in the flash drive. This eliminates the need for complex buffer management circuitry in the flash drive while still enabling parallel command processing and operation overlapping.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If external buffers are used to store data for pending commands, then the productivity improves, but the loss of substance increases due to additional storage requirements

Engineering Contradiction:
Improvecommand processing efficiencyVSAvoidadditional storage capacity
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The host device acts as an intermediary, using its existing memory resources (host command table) to store command information for multiple pending commands. This eliminates the need for additional storage capacity in the flash drive device while still enabling efficient command processing and operation overlapping. The host's memory serves as the intermediary buffer that eliminates the need for physical buffers in the flash drive.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8489803B2Efficient use of flash memory in flash drives
Publication Date: 2013.07.16 SMSC HLDG
  • US8489803B2 patent drawing
  • US8489803B2 patent drawing
  • US8489803B2 patent drawing

AI summary

A data storage device having non-volatile solid state memory permits efficient access by permitting multiple pending commands from a host device. A controller in the data storage device stores information about each command from the host device, and determines which stored command, if any, is presently able to be performed based on the portion of the non-volatile memory and the type of access of the command. The data storage device provides reduced access delays, improves read/write throughput, and avoids the cost of additional memory in the data storage device, by allowing accesses to idle portions of memory to proceed, and by signaling the host device when the data storage device is able to accept data to be written to portions of the non-volatile memory already active due to a previous command.