Host Bus Adapter Tag Allocation for Queued Commands

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple devices connected to a shared interface, such as SATA, the identification and tracking of queued commands become challenging due to overlapping tag values, leading to difficulties in managing command execution and status tracking across devices.

Innovation Solution

A system that includes a host bus adapter managing the allocation of tags to devices based on their activity levels, ensuring accurate identification and tracking of queued commands by reserving a subset of tags for each device and reallocating them as necessary based on changing activity levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple devices are connected to the same interface with shared tag values, then the interface can support more devices, but accurate identification and tracking of queued commands becomes difficult

Engineering Contradiction:
Improvenumber of devices connectedVSAvoidcommand identification accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent divides the shared tag space into device-specific tag subsets. Each device is assigned a unique range of tag values (e.g., Device 1 gets tags 0-15, Device 2 gets tags 16-31), eliminating tag value conflicts. This segmentation allows multiple devices to share the interface while maintaining unique command identification for each device.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If a fixed number of tags is allocated to each device, then command tracking is simplified, but the system cannot adapt to changing device activity levels

Engineering Contradiction:
Improvecommand tracking simplicityVSAvoidactivity level adaptation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic tag allocation where the host bus adapter monitors device activity levels and reallocates tag subsets accordingly. When a device's activity increases, it receives additional tags; when activity decreases, tags are reallocated to other devices. This dynamic adjustment maintains simple tracking within each device's allocated range while adapting to changing workload demands.

Inventive Principle:
Principle #15Dynamics

3Productivity

If tags are dynamically reallocated based on activity levels, then resource utilization is optimized, but the complexity of tag management increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidtag management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The host bus adapter autonomously monitors device activity levels and performs tag reallocation without requiring external intervention or complex coordination protocols. The system self-adjusts by detecting when devices need more or fewer tags and reallocating accordingly, optimizing resource utilization while keeping the management mechanism relatively simple and centralized.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8966130B2Tag allocation for queued commands across multiple devices
Publication Date: 2015.02.24 APPLE INC
  • US8966130B2 patent drawing
  • US8966130B2 patent drawing
  • US8966130B2 patent drawing

AI summary

The disclosed embodiments provide a system that facilitates the processing of commands in a set of devices. The system includes a host bus adapter that provides an interface for connecting the set of devices to the host and manages the allocation of a set of tags to one or more of the devices. For each device connected to the host, the system also includes a queue-management apparatus that sends a tag request for the device to the host bus adapter. The queue-management apparatus then receives a subset of the tags for the device from the host bus adapter and uses the set of tags to queue commands from the host to the device and track the status of the queued commands.