Storage Controller Autonomous Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage device operations require significant CPU involvement, leading to reduced bandwidth on the bus and CPU capacity, as data must be continuously transferred between the CPU and storage device for tasks like moving or comparing data, limiting the CPU's ability to handle other tasks.

Innovation Solution

A storage device controller processes commands independently, decoding and executing operations like search, move, and compare within the storage device without transmitting data over the bus to the CPU, allowing status information to be sent back, thereby reducing CPU involvement and data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the CPU continuously transfers data between the storage device and the CPU over the bus to perform storage operations, then the storage operations can be completed, but the bandwidth on the bus is reduced and the CPU capacity is reduced for other tasks

Engineering Contradiction:
Improvestorage operation completionVSAvoidbus bandwidth and CPU capacity
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The storage device controller is enhanced to autonomously execute storage operations without requiring continuous CPU intervention. The controller receives a command from the CPU, decodes it to identify the operation type (search, move, compare, maintenance), and then independently performs the operation on data within the storage device, only returning status information to the CPU when complete.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The storage device controller acts as an intermediary between the CPU and the storage device. It receives commands from the CPU over the bus, processes them locally by decoding and executing the appropriate operations, and communicates only status information back to the CPU, thereby reducing the burden on both the CPU and the bus while ensuring proper operation execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the CPU is heavily involved in memory operations to ensure proper execution, then the operations are completed accurately, but the CPU capacity is reduced for taking on other tasks

Engineering Contradiction:
Improveoperation execution accuracyVSAvoidCPU multitasking capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The storage device controller autonomously handles the execution of storage operations by decoding received commands and independently performing the identified operations (search, move, compare, maintenance) on the storage device, ensuring accurate execution without requiring continuous CPU supervision or intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The storage device controller implements a feedback mechanism by transmitting status information back to the CPU after completing operations or during execution. This allows the CPU to monitor operation progress and receive results without being actively involved in the execution process, maintaining reliability while freeing CPU capacity for other tasks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9454330B1Method and apparatus for operating commands on a storage device controller without direct connection when transmitting data over a bus to a processing circuitry
Publication Date: 2016.09.27 MARVELL ASIA PTE LTD
  • US9454330B1 patent drawing
  • US9454330B1 patent drawing
  • US9454330B1 patent drawing

AI summary

Systems and methods for operating on a storage device are provided. A storage device command for operating on data stored in a plurality of locations in a storage device is received, with a storage device controller from processing circuitry over a bus. The storage device command is decoded with the storage device controller to identify a plurality of storage device operations associated with the storage device command. The plurality of storage device operations are executed on the data stored in the storage device without transmitting the data over the bus to the processing circuitry.