Half-Duplex SATA Link Idle Gap Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The SATA protocol's half-duplex link prioritization can lead to host starvation and increased overall latency due to the storage device's sequential response transmission, preventing the host from sending subsequent commands until the response sequence is complete.

Innovation Solution

Inserting idle gaps between responses in the storage device's transmission allows the host to send subsequent commands during these gaps, ensuring simultaneous execution of commands and reducing processing latency by giving the host priority on the half-duplex link.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the storage device transmits responses sequentially over a half-duplex link, then the storage device maintains control priority, but the host becomes starved and cannot send subsequent commands until the response sequence is complete

Engineering Contradiction:
Improvestorage device control priorityVSAvoidhost command transmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the response transmission process by inserting idle gaps between sequential responses. This segmentation allows the host to transmit commands during these gaps, preventing host starvation while maintaining the storage device's control priority during response transmission. The half-duplex link is divided into discrete transmission intervals rather than continuous blocking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The storage device performs preliminary action by inserting idle gaps before the host would otherwise be completely blocked. By proactively creating these time intervals, the system ensures the host can transmit subsequent commands without waiting for the entire response sequence to complete, thus preventing starvation before it occurs.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the storage device sends responses continuously without idle gaps, then transmission efficiency is maximized, but processing latency re-incurs for subsequent commands

Engineering Contradiction:
Improveresponse transmission efficiencyVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements periodic action by inserting idle gaps at regular intervals between response transmissions. This periodic interruption allows the host to transmit commands during these gaps, preventing processing latency from re-incurring while maintaining overall transmission efficiency. The system alternates between response transmission and host transmission opportunities.

Inventive Principle:
Principle #19Periodic action

3Reliability

If the half-duplex link prioritizes storage device transmission, then data integrity is maintained, but the host experiences increased latency in sending commands

Engineering Contradiction:
Improvedata integrityVSAvoidhost command transmission speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the transmission timeline by inserting idle gaps between storage device responses. This segmentation allows the host to transmit commands during these gaps, maintaining data integrity through controlled storage device priority while improving host command transmission speed by preventing complete blocking during response sequences.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8972614B2Half-duplex SATA link with controlled idle gap insertion
Publication Date: 2015.03.03 APPLE INC
  • US8972614B2 patent drawing
  • US8972614B2 patent drawing
  • US8972614B2 patent drawing

AI summary

A method includes receiving in a storage device multiple commands from a host, and sending responses to the commands from the storage device to the host, over a half-duplex link that does not enable simultaneous transmission by the host and by the storage device. An idle gap is inserted between two of the responses, during which the host has priority to send one or more subsequent commands on the half-duplex link.