SAS Expander NZO Data Sequencing and Protocol Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

SAS expanders with speed matching buffering features face challenges in ensuring proper sequencing of data returned from SATA end devices using Non-Zero Offset values in DMA Setup Frame Information Structures, which can lead to improper transmission of protocol frames.

Innovation Solution

The enhanced SAS expander manages Non-Zero Offset field values by determining if the SATA end device supports them, selectively enabling or disabling their use, and using a control circuit to store and forward data in the correct sequence, ensuring that all data is received and forwarded before forwarding completion status frames.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Non-Zero Offset values are used in DMA Setup Frame Information Structures by SATA end devices, then data transfer flexibility and performance are improved, but proper sequencing of protocol frames becomes difficult to maintain

Engineering Contradiction:
Improvedata transfer performanceVSAvoidprotocol frame sequencing
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The SAS expander acts as an intermediary device between the SATA end device and the STP initiator device. It receives DMA Setup FIS with Non-Zero Offset values from the SATA end device, processes and resequences the data frames in the correct order, and then forwards them to the STP initiator device. This mediation resolves the sequencing problem while preserving the performance benefits of Non-Zero Offset usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The SAS expander performs preliminary processing of incoming data frames from the SATA end device before forwarding them to the STP initiator device. It pre-sequences the frames according to the correct protocol order, ensuring that when frames are transmitted to the initiator, they are already in the proper sequence, thus preventing sequencing errors.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If speed matching buffering is implemented in SAS expanders, then data transfer between different speeds is enabled, but managing Non-Zero Offset data sequencing becomes complex

Engineering Contradiction:
Improvespeed matching capabilityVSAvoidbuffer management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The buffering function is segmented into distinct components: a speed matching buffer for temporary data storage, and a control circuit for managing the sequencing logic. This segmentation allows the buffer to handle speed variations while the control circuit independently manages the complex sequencing of Non-Zero Offset data frames, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control circuit serves as an intermediary between the speed matching buffer and the protocol framing process. It monitors data frames exiting the buffer, identifies Non-Zero Offset patterns, and resequences frames as needed before forwarding to the STP initiator, thereby simplifying the buffer management task.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If SATA end devices use Non-Zero Offset values to return data in non-sequential order, then data retrieval efficiency is improved, but completion status forwarding timing becomes critical

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidcompletion status forwarding delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The SAS expander performs preliminary sequencing of all data frames before forwarding the completion status. It prepares the complete sequence of framed data in advance, ensuring that when the completion status is forwarded to the STP initiator device, all corresponding data frames have already been transmitted in the correct order, eliminating timing issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control circuit implements feedback monitoring to track which data frames have been forwarded to the STP initiator device. It uses this feedback information to determine the appropriate timing for forwarding the completion status, ensuring that status is only forwarded after all necessary data frames have been successfully transmitted.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8868806B2Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA Non-Zero Offsets in a serial attached SCSI (SAS) expander
Publication Date: 2014.10.21 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8868806B2 patent drawing
  • US8868806B2 patent drawing
  • US8868806B2 patent drawing

AI summary

Methods and structure for enhanced SAS expander functionality to store and forward buffered information transmitted from a SATA end device to an STP initiator device while managing use of Non-Zero Offset (“NZO”) field values in DMA Setup FISs transmitted by the SATA end device. The enhanced expander establishes a connection between an STP initiator and a SATA end device. The expander forwards a read command from the initiator to the end device. If NZO use is supported and enabled in the end device, the end device may return read data in any order by use of the NZO field values in multiple DMA Setup FISs. The expander is further adapted to store received data and the associated multiple DMA Setup FISs from the end device in its buffer and forwards the stored data to the initiator device. In another embodiment, use of NZO in the end device is disabled.