SAS Expander Cache Tracking for Reliable Host Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SAS protocols, determining whether data in a host controller's cache has been flushed to storage is challenging, especially during host failures, which complicates failover operations and data consistency when zoning storage from a failed host to a replacement host.

Innovation Solution

A SAS expander tracks cache state information to determine if data has been flushed to storage, using a cache state table to manage communications and storage assignments, allowing for safe failover operations by identifying whether data is consistent before transferring control to a replacement host.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the SAS expander implements cache tracking to ensure data consistency during failover, then data reliability is improved, but device complexity increases due to the need for cache state tables and tracking mechanisms

Engineering Contradiction:
Improvedata consistencyVSAvoidexpander complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a cache state table as an intermediary data structure that mediates between the host controller cache and the storage system. This table tracks the state of cached data (clean, dirty, or unknown) and enables the SAS expander to make informed decisions about failover operations without directly managing the complex cache memory, thus improving reliability while containing complexity growth.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the SAS expander receives cache state information from the host controller and uses this feedback to determine appropriate failover actions. The expander queries the cache state table and adjusts its behavior based on the returned state information, enabling reliable failover decisions without requiring the expander to directly manage cache complexity.

Inventive Principle:
Principle #23Feedback

2Reliability

If the SAS expander implements comprehensive cache state tracking, then failover safety is improved, but the difficulty of detecting and measuring cache state increases

Engineering Contradiction:
Improvefailover safetyVSAvoidcache state detection
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary action by having the host controller proactively report cache state information to the SAS expander before failover events occur. The cache state table is pre-populated with state information (clean, dirty, unknown) that allows the expander to immediately determine failover safety without needing to detect or analyze cache contents at the moment of failure, thus improving failover safety while reducing detection difficulty.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system implements automatic failover based on cache state tracking, then productivity is improved through faster failover, but device complexity increases due to automated decision-making mechanisms

Engineering Contradiction:
Improvefailover speedVSAvoidautomation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the SAS expander to automatically determine failover readiness by querying the cache state table and making decisions based on the returned information. The system does not require external intervention or complex coordination protocols - the expander independently assesses cache state and executes failover decisions, improving productivity through automation while containing complexity through the use of simple state-based decision logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8689044B2SAS host controller cache tracking
Publication Date: 2014.04.01 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8689044B2 patent drawing
  • US8689044B2 patent drawing
  • US8689044B2 patent drawing

AI summary

A technique to track a host controller cache that includes receiving from a host controller a command indicating whether a cache of the host controller has data which is to be stored to a storage system. In the event that the host controller fails, perform an operation to transfer control from the host controller to another host controller based on whether the command indicates that the data of the cache was stored to the storage system.