Tagged Transfer Command for Non-Contiguous Address Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face inefficiencies in handling large numbers of storage-device transfer requests due to limitations in command queuing capabilities, particularly in supporting multiple non-contiguous address ranges within a single command.

Innovation Solution

Implementing a system that collects multiple non-contiguous address ranges and records them in a tagged command list, which is stored in a command table with a tagged-transfer opcode, allowing for a single command to be sent to the storage device, utilizing a host controller interface to manage the transfer process efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional host controller interfaces (AHCI) are used to manage storage device transfers, then the system can support basic command queuing, but the interface is limited to only 32 in-flight commands and generates a system interrupt for every completed request, reducing productivity

Engineering Contradiction:
Improvenumber of transfer requests servicedVSAvoidcommand queuing capability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple individual transfer requests into a single tagged transfer command that can specify multiple non-contiguous address ranges. This merging approach allows the storage device to service multiple requests in one operation, reducing the total number of commands that need to be queued and processed, thereby improving productivity without requiring a more complex host controller interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the command structure by introducing a tagged transfer command format that includes a tag field and multiple address range specifications. This segmentation allows the single command to carry information about multiple distinct address ranges, enabling the storage device to efficiently process multiple transfer requests that would traditionally require separate commands and interrupts.

Inventive Principle:
Principle #1Segmentation

2Productivity

If SCSI protocols are used to permit up to 2^64 commands to be queued, then the productivity increases, but the implementation cost increases and protocol overhead becomes significantly greater

Engineering Contradiction:
Improvecommand queue depthVSAvoidimplementation cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent implements a partial solution that provides enhanced command queuing capability without fully adopting the SCSI protocol. By using tagged transfer commands with multiple address ranges, the system achieves improved productivity similar to SCSI but with reduced implementation complexity and cost, avoiding the full overhead of SCSI protocol compliance.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If multiple individual commands are sent for each transfer request, then each request can be processed, but the system generates frequent interrupts and increases protocol overhead, reducing productivity

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidinterrupt processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple individual transfer requests into a single tagged transfer command that specifies multiple non-contiguous address ranges. This consolidation reduces the number of interrupts generated, as the storage device can complete multiple transfers in one operation and notify the host once, thereby reducing interrupt processing time and improving overall data transfer efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9128699B2Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
Publication Date: 2015.09.08 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US9128699B2 patent drawing
  • US9128699B2 patent drawing
  • US9128699B2 patent drawing

AI summary

Methods and systems for queuing transfers of multiple non-contiguous address ranges within a single command are disclosed. Embodiments of systems include system processors, memory to store data and executable software, and storage devices to receive transfer commands stored in system memory. A host controller interface driver is executed by one or more system processors and collects multiple non-continuous address ranges from storage-device transfer requests and records starting addresses and quantities of data to transfer for each non-continuous range in a tagged command list. It records the number of address ranges in the tagged command list, and a tagged-transfer opcode in a command, and stores the command and the tagged command list in a command table for the storage device. It records a base address for the command table in memory and an offset for the tagged command list into a command header, which is stored in a command queue.