Storage Control Unit Task Sorting for Execution Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage devices cannot determine the optimal execution order for ready-for-execution tasks, leading to inefficient resource allocation and system performance issues due to suboptimal communication between hosts and data storage devices.

Innovation Solution

A data storage device with a control unit that receives queue commands from a host, determines ready-for-execution tasks, sorts them based on task serial numbers, and provides queue status information to the host, including task quantity and serial numbers, allowing for sequential execution of tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the data storage device replies the host with a plurality of ready-for-execution tasks, then the host cannot determine a better executing order of these tasks, but the data storage device must reallocate system resources to complete the tasks

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The control unit pre-sorts ready-for-execution tasks by priority before presenting them to the host, so the host receives tasks already arranged in an optimal execution order. This preliminary sorting action eliminates the need for the host to perform complex sorting operations and reduces resource reallocation requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control unit acts as an intermediary between the task queue and the host, filtering and sorting tasks before transmission. This intermediary function resolves the contradiction by handling the sorting complexity within the data storage device while presenting a simplified, pre-sorted task list to the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the host issues commands to the data storage device without knowing the optimal task execution order, then communication efficiency is reduced, but the data storage device cannot determine the better executing order

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidtask ordering capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The data storage device performs self-service by automatically sorting its own ready-for-execution tasks based on priority before presenting them to the host. This self-sorting capability enables the device to communicate task execution orders independently, improving communication efficiency without requiring the host to have task ordering capabilities.

Inventive Principle:
Principle #25Self-service

3Productivity

If the data storage device executes tasks without proper sorting, then system resource reallocation is required, but implementing sorting increases device complexity

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsorting mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The control unit changes the parameter of task presentation by sorting tasks according to priority before transmission to the host. This parameter change (from unsorted to sorted task presentation) improves resource allocation efficiency while the sorting mechanism remains integrated within the existing control unit architecture, minimizing additional complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10761880B2Data storage device, control unit thereof, and task sorting method for data storage device
Publication Date: 2020.09.01 SILICON MOTION INC
  • US10761880B2 patent drawing
  • US10761880B2 patent drawing
  • US10761880B2 patent drawing

AI summary

A data storage device includes a data storage medium and a control unit. The control unit is electrically connected to the data storage medium. When switched to a command queue mode, the control unit is configured to receive a queue command comprising at least one task from a host, determine whether the at least one task is a ready-for-execution task, sort at least one ready-for-execution task and selectively reply the host with first queue status information. The first queue status information contains a task quantity corresponding to the at least one ready-for-execution task and at least one task serial number corresponding to the at least one sorted ready-for-execution task.