Host Controller Cache for SATA Command Header Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SATA systems lack hardware support for simultaneous switching across all devices, leading to inefficiencies and increased latency due to the need for frequent memory fetches.

Innovation Solution

Implementing a cache memory within the chipset to enable efficient switching of commands across multiple SATA devices, reducing die size and latency by storing command information and using intelligent caching policies to manage cache entries effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a cache memory is implemented in the host controller, then switching efficiency and performance are improved, but device complexity and die size increase

Engineering Contradiction:
Improveswitching efficiencyVSAvoidhost controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache memory is segmented into multiple entries, each capable of storing command header information for different devices. This segmentation allows the host controller to manage multiple devices efficiently by dividing the cache into manageable units, improving switching efficiency without requiring a monolithic complex structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache memory stores command header information in advance before commands are actually executed. This preliminary storage of command headers allows the host controller to quickly retrieve necessary information when switching between devices, improving performance by eliminating the need for frequent memory fetches during the switching process.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If command header information is stored in cache memory, then data transfer latency is reduced, but manufacturing cost and die area increase

Engineering Contradiction:
Improvedata transfer latencyVSAvoidmanufacturing cost
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

Only the essential command header information is extracted and stored in the cache memory, rather than storing complete command data. This selective extraction reduces the amount of data that needs to be cached, thereby reducing die area and manufacturing cost while still achieving the latency reduction benefit for critical command header operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache memory is implemented with specific storage characteristics tailored to the command header information - using appropriate data types, storage formats, and access patterns optimized for command header operations. This localized optimization ensures that the cache provides maximum benefit for command header storage while minimizing the overall resource consumption and manufacturing complexity.

Inventive Principle:
Principle #3Local quality

3Productivity

If hardware support for simultaneous switching is provided for all devices, then FBS performance is improved, but device complexity and hardware resources increase

Engineering Contradiction:
ImproveFBS performanceVSAvoidhardware support complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache memory acts as an intermediary between the host controller and the devices. By storing command header information in the cache, the host controller can efficiently manage simultaneous switching to multiple devices without requiring complex hardware support for all devices at once. The cache mediates the switching process, allowing FBS performance improvement with reduced hardware complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7844777B2Cache for a host controller to store command header information
Publication Date: 2010.11.30 INTEL CORP
  • US7844777B2 patent drawing
  • US7844777B2 patent drawing
  • US7844777B2 patent drawing

AI summary

In one embodiment, the present invention includes a host controller having a cache memory to store entries each including, at least, a command header (CH) portion having data associated with a command from the host controller to one of multiple devices coupled to a port multiplier, and a physical region descriptor (PRD) portion to store address information associated with a next address for data transfer with regard to the command. Other embodiments are described and claimed.