Class 3 Error Detection and Recovery for Sequential Access Devices Preliminary ANSI T10 Working Document R22

Similar documents
To: T10 Membership T10/97-184R4 Subject: Use of Class 2 for Fibre Channel Tapes From: Date: 23-Oct-1997

22 March r1 FCP-4 QUERY TASK task management function

FC-FS clauses. 2 B r3, /04/00 3 All r3, 4.18 All 05/10/00 4 All r3, 4.36, 4.96, 4.78,

FC-FS clauses. 2 B r3, /04/00

FCP-2 Issues To Resolve (T10/02-267r0) Dave Peterson, Cisco Systems, Inc.

I would like to report the following issues with

03-186r3r3 SAS-1.1 Transport layer retries 25 October 2003

03-186r5 SAS-1.1 Transport layer retries 13 January 2004

John Lohmeyer, chairperson, T10 From: Bob Snively Date: February 2, 2000 Subject:Comments on the FCP-2 letter ballot of revision 04

Ladder Diagrams for Error Recovery For FCP -2 Rev 04 Out-Of-Order Delivery- Annex D

1.0 Editorial Changes

T10/03-186r2 SAS-1.1 Transport layer retries

ADT Frame Format Notes (Paul Suhler) ADI ADT Frame Format Proposal (Rod Wideman)

6 June r0 SAM-4 SCSI Initiator Port and Target Port capabilities attributes

17 March r1 SAM-4 SAS-2 QUERY UNIT ATTENTION task management function

Item 2) In clause PL_OC2:Overall_Control state frame transmission cancellations: change the text to be as follows:

MBA3073FD, MBA3147FD, MBA3300FD SERIES DISK DRIVES FIBRE CHANNEL INTERFACE SPECIFICATIONS

Revision 6: Red text Incorporate comments from January 5, 2004 conference call. Minor wording changes.

T10/01-134r Page 1 of 13

OpenLCB Technical Note. Datagram Transport. 1 Introduction. 2 Annotations to the Standard. 2.1 Introduction. 2.2 Intended Use

T10/03-229r0 SAS-1.1 Transport layer retries ladder diagrams

12 January r1 SAS2: ST_TTS retransmitted DATA frames

T10/03-229r1 SAS-1.1 Transport layer retries ladder diagrams

Revisions. General. T10 Membership FROM: Paul A. Suhler, Quantum Corporation DATE: 29 May 2008 SUBJECT: T10/07-469r4, ADT-2: Internet ADT (iadt)

A Specification for a Tape Drive Automation Controller Interface

Problem 7. Problem 8. Problem 9

The next page shows the questions asked in revision 0 of this proposal and the answers supplied by the May SCSI Working Group meeting.

Revisions. General. T10 Membership FROM: Paul A. Suhler, Quantum Corporation DATE: 13 June 2008 SUBJECT: T10/07-469r5, ADT-2: Internet ADT (iadt)

HITACHI 3.5 INCH MAGNETIC DISK DRIVE

INTERNATIONAL TELECOMMUNICATION UNION. SERIES Q: DIGITAL SUBSCRIBER SIGNALLING SYSTEM No. 1 (DSS 1), DATA LINK LAYER

iscsi Consortium Error Recovery Test Suite For iscsi Targets

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Request for Comments: 938 February 1985

Note that this section of the Standard is informative, not normative. Note that this section of the Standard is informative, not normative.

Data Link Control Protocols

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

Network Working Group

6 Remote memory access protocol (normative)

Flow control: Ensuring the source sending frames does not overflow the receiver

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Keywords: ASM, Fiber channel, Testing, Avionics.

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

Reliable Transport I: Concepts and TCP Protocol

FUJITSU PCI Fibre Channel Update2. Update Information. for Solaris (TM) Operating Environment -

The Tape Library Experts TM RLS. SCSI Interface Reference Rev. B

UNH IOL iscsi CONSORTIUM

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

iscsi Consortium Full Feature Phase Test Suite For iscsi Initiators

UNH IOL iscsi CONSORTIUM

TLS-5000 TLS-6000 TLS-8000 SCSI-2 Interface Manual

[MS-RDPEMC]: Remote Desktop Protocol: Multiparty Virtual Channel Extension

NWEN 243. Networked Applications. Layer 4 TCP and UDP

Network Working Group. Category: Informational DayDreamer August 1996

Sequence Number. Acknowledgment Number. Data

User Datagram Protocol

Introduction to Networks and the Internet

The flow of data must not be allowed to overwhelm the receiver

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

IBM System Storage TS3100 Tape Library and TS3200 Tape Library. Reference. Machine Type 3573 GA

Congestion Avoidance. Finding Feature Information

MAA3182SC, MAB3091SC INTELLIGENT DISK DRIVES OEM MANUAL

Data Link Control Protocols

Category: Standards Track Motorola, Inc. M. Tuexen Univ. of Applied Sciences Muenster S. Maruyama M. Kozuka Kyoto University September 2007

Universal Powerline Bus. The UPB System Description

FIBRE CHANNEL PHYSICAL AND SIGNALING INTERFACE (FC-PH) REV 4.3. working draft proposed American National Standard for Information Systems

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

An RDMA Protocol Specification (Version 1.0)

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Lecture 3: The Transport Layer: UDP and TCP

Network Working Group Request for Comments: 2059 Category: Informational January 1997

SCSI routing table (90) and a SCSI to Fibre Channel routing table (92). The system receives a cross bus transfer of data

Serial Attached SCSI Comparison to Fibre Channel with FCP

10 May r1 SAM-4 TASK ABORTED status clarifications

iscsi Error Recovery Mallikarjun Chadalapaka Randy Haagens Julian Satran London, 6-7 Aug 2001

Outline. CS5984 Mobile Computing

Nokia Fax:

RapidIO TM Interconnect Specification Part 7: System and Device Inter-operability Specification

SERIAL ATTACHED SCSI (SAS) CONSORTIUM

Introduction to Protocols

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

Configuring IP Services

1999, Scott F. Midkiff

TCP: Flow and Error Control

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

C141-C014-01EN MBA3073, MBA3147, MBA3300 NP/NC SERIES DISK DRIVES SCSI LOGICAL INTERFACE SPECIFICATIONS

9 January r0 SAS-2 SPC-4 Enabling and disabling Transport Layer Retries

[MC-DPL4R]: DirectPlay 4 Protocol: Reliable

Session Capabilities in OBEX

R. Nixon Emulex January Transmission of IPv6, IPv4, and Address Resolution Protocol (ARP) Packets over Fibre Channel

Transport Protocols & TCP TCP

SAN Audit Report For ABC Company

The GBN sender must respond to three types of events:

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Chapter 24. Transport-Layer Protocols

Ethereal Exercise 2 (Part A): Link Control Protocol

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

HP LTO Ultrium Tape Drives Technical Reference Manual Volume 3: Host Interface Guide

Appendix A Pseudocode of the wlan_mac Process Model in OPNET

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Link Layer. Fundamentals of Communication Networks

Transcription:

Class 3 Error Detection and Recovery for Sequential Access Devices Preliminary ANSI T10 Working Document 97-189R22 Scope Problems exist in PLDA in detecting and correcting error conditions on sequential access devices (tapes). in PLDA. The basic causes of these problems are due to the lack of a guaranteed delivery protocol and the implicit state information intrinsic to sequential access devices. More specifically, lost frames in FCP can result in FC information units being lost. ULP recovery is not sufficient for a variety of reasons, including an inability to detect such errors, the effort required to implement recovery mechanisms, and the extended time required to detect and recover from error conditions. Requirements An ideal solution will incorporate the following characteristics: Provide the ability to recover from lost frames in FCP for sequential access devices Interoperability with block and sequential access devices No or minimal changes to FC-PH and PLDA No additional protocol overhead for normal operation Can be implemented with existing silicon Don t turn fiber transport errors into tape drive recovery Optimize for single sequence errors Don t add inefficiencies for multiple-sequence errors Problem Analysis On stream and media changer devices there are two classes of commands for which it is critical to know whether the command was accepted by the target, and then whether successful completion of the command occurred. The first class, unique to these devices, are those that alter the media state or content in a way that simply re-executing the command will not recover the error. These include read/write/position/write filemarks (the tape is repositioned past the referenced block(s) or files only if the operation started; how far the operation continued is critical to proper recovery) and move medium/load/unload medium (which may have actually changed the medium in the target). Unfortunately, these comprise most of the commands issued during normal operation of the subsystem. The second class, which is not unique to these devices, are those in which information is lost if it is presumed sent by the target, but not received by the initiator. These commands include request sense and read/reset log. Loss of sense data also may affect error recovery from failed commands of the aforementioned media move/change class, but it may also affect proper error recovery for cached/raid disk controllers as well. On a parallel SCSI bus, the host adapter has positive confirmation that the target accepted the command by the fact that the target requested all bytes of the CDB and continued to the next phase without a Restore Pointers message. Such confirmation is only implicit in a serial protocol by receipt of a response message, such as Transfer_Ready or Response. In cases of some commands, this implicit confirmation may require a lengthy period of time, during which mechanical movement requiring several multiples of E_D_TOV occurs (in FLA environments, R_A_TOV may be the appropriate value). Similarly, the target has positive confirmation that the host has accepted sense or log data immediately upon completion of the data and status phases; this data may now be reset. In a serial environment, this is only implicit by receipt of the next Crossroads Systems Inc. 1 Brian R. Smith

command. Note that a change to the target to only clear sense/log data on receipt of a command other than request sense or read/reset log would eliminate this problem. In summary, the errors that are of concern are where FCP information units are lost in transit between an FCP initiator and target. The cause for such loss is not specific, but is assumed to be cases where a link level connection is maintained between the target and initiator, and some number of FCP IU s are dropped. Other cases are either handled by PLDA through existing methods, or may be generally classified as unrecoverable and treated in a fashion similar to a SCSI bus reset. In order to meet the defined requirements, any proposed solution must enable the initiator to make the following determinations: An error condition occurred (an FCP IU is expected and not received, or not responded to) If FCP_CMND, was it received by the target If, was it received or sent by target If FCP XFER_RDY or, was it sent by target Note that the solution must work in a Class 3 environment, preferably with no change to existing hardware. Tools For Solution The tools prescribed in FC-PH for FC-2 recovery are the Read Exchange Status (RES), and Read Sequence Status (RSS) Extended Link Services, and the Abort Sequence (ABTS) Basic Link Service. We have identified several functions providing some of the needed functionality, these are listed below, along with some deficiencies we have identified in each of the existing mechanisms. We are proposing additional ELS functions to provide the required functionality. RES is an appropriate tool for the host adapter to use; its function is to inquire of the status of an operation during and for some period of time after its life. Unfortunately, in several of the cases of interest, the RX_ID is unknown to the exchange initiator. In these cases, the initiator must use an RX_ID of 0xFFFF, which, combined with the FC_PH wording that "...the Responder destination N_PORT would use RX_ID and ignore the OX_ID", means that if the Responder had not received the command frame, the RES would be rejected, and if the Responder had received the command and sent an response frame, the RES would be rejected, in both cases with the same reason code; only in the case where the command was in process but no response frame had been sent by the Responder would a useful response be sent. Real implementations appear to search for the S_ID - OX_ID pair when the RX_ID is set to 0xFFFF in the RES request, and this behavior needs to become required. Further, even if this change is implemented, in the case of a non-transfer command, it is impossible to detect the difference between a command that was never received and a command whose response was lost unless the target retains ESB information for a period of RA_TOV after the exchange is closed. Further clarification of the text in the standard (FC-PH) is required, and requirements specified in profile documents. In view of these difficulties, we are proposing the addition of the Read Exchange Concise (), a new ELS which returns all o f the required information, without including superfluous information at a frame level. In light of this, our proposed solution assumes that the becomes part of the standard. Similar arguments apply to the use of the RSS, though the wording of the applicable section uses the word "may" rather than "would". ABTS, while recommended in FC-PH for use in polling for sequence delivery, is always interpreted as an abort of the exchange in FC-PLDA, and is therefore not useful for this purpose. Additionally, there needs to be a mechanism for requesting retransmission of sequences that were not received at the destination. We are proposing the addition of the Sequence Retransmission Request (SRR), Crossroads Systems Inc. 2 Brian R. Smith

a new ELS which provides information to the sequence initiator about which sequences were not received by the sequence recipient. Proposed Solution A method is proposed where the initiator determines the state of an exchange and initiates appropriate sequence level recovery. A timer is used in conjunction with internal driver state information to determine if a target response is overdue, indicating that packet information ma ay have been lost. The initiator will then request exchange and sequence state information from the target, from which it can be determined if corrective action is necessary. The initiator can then resend sequence information, request that the target resend sequence information, or provide early indication to the ULP that an error has occurred. The timer is based on the maximum frame propagation delivery time through the fabric. This is significantly less than typical ULP time out values, providing the capability to detect and correct errors before ULP actions take effect. The suggested time out for FLA environments is twice R_A_TOV (, which is currently 2 seconds). The suggested method of determining target sequence state is by using the extended link service. The target device must maintain transmitted sequence status information as well as received sequence information. The ELS command is described later in this document. Details of the recovery mechanism are as follows: After (2 x R_A_TOV) with no reply sequence received to the FCP_CMND_IU: Issue S for the exchange containing the FCP_CMND. The is issued in a new exchange. If there is no or LS_RJT response to the within 2*R_A_TOV, send ABTS to abort the exchange containing the. The shall (optionally?) be retried at a rate not to exceed once per 2*R_A_TOV for at least 3 times. If none of the s receives a response, the initiator shall report an error condition to the ULP. If the response is an LS_RJT, with a reason code indicating that the function is not supported, as is required in PLDA for block devices, treat the target as a disk or other device not supporting this proposal and allow normal ULP recovery to occur. If the FCP_CMND was not received by the target (i.e., the initiator receives an LS_RJT for the, with a reason code indicating that the OX_ID is unknown), send ABTS to abort the original sequence/exchange. Resend the command (using a new OX_ID). The target shall retain ESB information for 32*R_A_TOV after the response has been sent. In this way, the initiator may determine the difference between a command that was never received and one whose reply sequence(s) were lost. If the for an indicates that the FCP_CMND was received by the target, and that no reply sequence has been sent, the command is in process and no recovery is needed at this time. At intervals of 2*R_A_TOV the shall be retransmitted. This is to ensure that no reply sequences have been lost. If at any time, there is no reply to the, an ABTS is sent for the, and it is retried as specified above. If the for an indicates that an FCP_XFER_RDY was sent by the target, but not received by the initiator, issue an SRR Extended Link Service (see below for details) frame to request sequence retransmission. The target retransmits the FCP_XFER_RDY, with F_CTL bit 9 set, indicating that this is a retransmitted frame. When the FCP_XFER_RDY is successfully received, the data is sent, and the Crossroads Systems Inc. 3 Brian R. Smith

operation continues normally. No error is reported to the ULP, though the error counters in the LESB should be updated. If the SRR receives a LS_RJT, perform sequence error recovery as documented in PLDA section 9.1, 9.3. The target shall return information about the status of sequences sent, as well as the status of sequences received. This is optional behavior in FC-PH for the RES Link Service,, and would needs to be made mandatory in FC-PLDA if RES were used instead of. Additionally, sequence-id usage in Class 3 must be specified in such a way that the target does not reuse sequence-ids within an exchange. If an for and indicates that an sequence was sent by the target, but not successfully received by the initiator, issue an SRR Extended Link Service frame to request retransmission of the sequence that was not successfully received. The target retransmits the sequence, with F_CTL bit 9 set in each data frame, indicating that this is a retransmitted frame. The received data is delivered to the ULP, and no error is reported. Note that the sequence that was received in error is not delivered to the ULP. If the target responds to the SRR with an LS_RJT and a reason code indicating that the function could not be performed, the target shall present an IU with an appropriate error status (e.g., Ssense key 4, ASC/ASQ of 48/00 (initiator detected error)). If an for an indicates that an sequence was sent by the target, but not received by the initiator, issue an SRR Extended Link Service frame to request retransmission of the sequence. The target retransmits the sequence, with F_CTL bit 9 set, indicating that this is a retransmitted frame. The response is delivered to the ULP, and no error is reported. If the SRR receives a LS_RJT, perform sequence error recovery as documented in PLDA section 9.1, 9.3. Note that detecting a lost sequence is unambiguous, as a lost sequence followed by a successfully received sequence would not have a continuously incrementing sequence count, as required for streamed sequences (i.e., in the case of an following the last sequence, or in the case of multiple sequences). Thus the SEQ_ID could not have been reused. If the for an indicates that an sequence was sent by the initiator, but not successfully received by the target, the initiator sends an RSI Extended Link Service to request sequence initiative. As documented in PLDA Sec. 9.2, the target discards the sequence in error, but does not initiate any recovery action. When the is received for the RSI, the data sequence is retransmitted with F_CTL bit 9 set in each frame, indicating that this is a retransmitted frame. None of the sequence that was not completely received is delivered to the ULP. The operation should complete with no error indication to the ULP. It is the responsibility of the initiator to determine the appropriate action (retry, allow ULP time out, or return status to ULP) required based on the information determined by and other internal state. As described in PLDA, the target does not initiate recovery action. Note that link recovery should be treated as the equivalent of a bus reset. All open exchanges will be terminated and a unit attention condition shall be generated. Crossroads Systems Inc. 4 Brian R. Smith

SRR Basic Link Service The SRR (Sequence Resend Request) Extended link service frame follows the rules for extended link services as defined in FC-PH Rev 4.3, Section 23.1. A new Link Service command code in R_CTL needs to be added to FC_PH. The next available value is 0001 0011b. In the event that the target cannot accept this request, the target shall present a check condition as if it had not responded to an Detected Error with a Restore Pointers message (i.e., Sense Key = 4, ASC/ASQ = 48/00). The target shall not reject requests for retransmission of FCP_XFER_RDY or frames unless the SRR is not supported. The SRR payload and reject codes are defined below. The Accept does not require a payload. The direction flag indicates to the target that the initiator is requesting sequence data transfer to (0) or from (1) the target. All other fields are as defined in FC-PH. Item Size Bytes SEQ_ID 1 Direction 1 OX_ID 2 RX_ID 2 Low SEQ_CNT 2 High SEQ_CNT 2 SRR Payload Encoded Value 0x00052A00 LS_RJT Reason code explanation Can t resend last sequence Reserved SRR LS_RJT Reason Codes Read Exchange Concise () The Links Service request Sequence requests an N_Port to return information on completed sequences for the RX_ID or OX_ID originated by the S_ID specified in the Payload of the request Sequence. TThe specification of OX_ID and RX_ID may be useful or required information for the destination N_Port to locate the status information requested. A Responder destination N_Port would use the RX_ID and ignore the OX_ID, unless the RX_ID was undetermined (i.e., RX_ID = 0xffff). An Originator N_Port would use the OX_ID and ignore the RX_ID. This function provides the N_Port transmitting the request with information regarding the current status of the Exchange specified. Crossroads Systems Inc. 5 Brian R. Smith

If the destination N_Port of the RES request determines that the SEQ_ID, Originator S_ID, OX_ID, or RX_ID are inconsistent, then it shall reply with an LS_RJT Sequence with a reason code that it is unable to perform the command request. Protocol: Read Exchange Concise request Sequence Accept () reply Sequence Format: FFT_1 Addressingg: The S_ID field designates the source N_Port requesting the Exchange information. The D_ID field designates the destination N_Port to which the request is being made. Payloadd: The formmat of the Payload is shown in the following table.table XX. The Payload shall include an Association Header for the Exchangee if the destination N_Port requires X_ID reassignment. Table xex Payload Item Size -Bytes Hex 13000000 4 Reserveed 1 Originatoor S_ID 3 OX_IDD 2 RX_IDD 2 Associaation Header 32 (optionallly required) Reply Link Service Sequence Serrvice Reject (LS_RJT) cceptt Signifies rejection of the command. Siignifies that the N_Port has transmitted the requested data. - Acceptt payload: - Thee format of the Accept Payload is shown in the table belowtable 78. The format of the Concise Exchhange Status is specified in below.xx.xx.xx Crossroads Systems Inc. 6 Brian R. Smith

Noote that for a sequence to be reported as received, the entire sequence must have been succcessfully received. For a sequence to be reported as transmitted, the entire sequence must have been successfully transmitted. Table yy Accept Payload Itemm Size Hex 02000000 4 -Bytes Concise Exchange Status (see 24.8.xx) Association Header N 32 (optionally required) Table zz Concise Exchange Status Itemm OX_IID 2 RX_IID 2 Originator Address Identifier (High order byte 4 reserved) Responder Address Identifier (High order byte 4 reserved) E_STATT 4 Number of sequences received (m) 4 Number of sequences transmitted (n) 4 R_SEQ_ID 0 1 : : R_SEQ_ID m-1 1 X_SEQ_ID 0 1 : : X_SEQ_ID n-1 1 Size -Bytes Crossroads Systems Inc. 7 Brian R. Smith

Example Data Flow Diagrams Class 3 Operation for Tape Devices on FC-AL using FCP Operational Case Lengthy Command Case FCP_XFER_RDY Status of the Command at the is understood LS_RJT Codes for RES command: 0x00051700 - Invalid Exchange 0x00052A00 - Can't provide Sequence Information 0x000B0000 - Don't Support Command understands that received Command (RES could be used in place of ) LS_RJT Codes for SRR command: 0x00052A00 - Can't resend last Sequence Crossroads Systems Inc. 8 Brian R. Smith

Example Data Flow Diagrams Continued Lost Lost LS_RJT (reason code = 0x00051700) ABTS_LS for ABTS-LS () BA_RJT BA_RJT (new X_ID) Both & Understand CMD NOT Received Command Resent and Processed Normally Both & Understand CMD Received Command Processed Normally Crossroads Systems Inc. 9 Brian R. Smith

Example Data Flow Diagrams Continued CMD & Lost Lost Reply Sequence X_ID = 0 FCP_XFER_RDY X_ID = 1 (for X_ID = 0) ABTS-LS (for X_ID = 1) SRR BA_ X_ID = 2 (for X_ID = 0) FCP_XFER_RDY LS_RJT (reason code = 0x00051700) Report normal completion to ULP ABTS-LS X_ID=0 BA_RJT (X_ID = 3) Report Normal Completion to ULP Crossroads Systems Inc. 10 Brian R. Smith

Example Data Flow Diagrams Continued Lost Write Data Lost RSP FCP_XFER_RDY _0 _1 _2 SRR _0 _1 _2 Report Normal Completion to ULP Requires Persistence of Exchange Data DATA_2 Transfers Initiative Crossroads Systems Inc. 11 Brian R. Smith

Example Data Flow Diagrams Continued Lost SRR No data FCP_XFER_RDY SRR SRR LS_RJT reason code = 0x00052A00 ABTS-LS (FCP_CMND) ABTS-LS (SRR) BA_RJT SRR cannot resend the last sequence. The initiator is free to abort the command and notify the host with status information. NOTE: if an was dropped then an BA_RJT will be returned from the ABTS-LS. SRR is lost. Retry SRR one more time and if still unsuccessful, then abort command and notify ULP. Crossroads Systems Inc. 12 Brian R. Smith

Example Data Flow Diagrams Continued Error Recovery Disk Device Lost Command Lost Reply FCP_XFER_RDY LS_RJT reason code = 0x000B0000 ABTS-LS (cmd) LS_RJT reason code = 0x000B0000 BA_RJT Device is not a Tape class device. Let ULP handle error recovery. ABTS-LS (cmd) BA_ Device is not a Tape class device. Let ULP handle error recovery. Crossroads Systems Inc. 13 Brian R. Smith

Example Data Flow Diagrams Continued Tape Device Lacking Functionality Lost Command Lost Reply FCP_XFER_RDY LS_RJT (reason code = 0x0x00051700) LS_RJT (reason code = 0x00052A00 ULP Timeout Device does not support this error recovery. Let ULP handle error recovery. ABTS-LS (cmd) BA_ The does not have enough sequence information to respond to the RES. At this point the may not be able to determine the state of the command and should fall back on using the ULP timeout for error recovery. If the can verify that the command is broken then it can abort the command and notify the ULP before the ULP timeout occurs. Crossroads Systems Inc. 14 Brian R. Smith

Example Data Flow Diagrams Continued Example Data Flow Diagrams Continued One Lost Data Sequence Of Multiple Data Sequences SEQ_ID 1 SEQ_ID 2 SEQ_ID 31 SRR SEQ_ID 2 Report Normal Completion To ULP Crossroads Systems Inc. 15 Brian R. Smith

Class 2 Error Detection of E_D_TOV E_D_TOV ACK ABTS ABTS BA_RJT LS = 1 BA_ LS = 1 At this point, the knows that the command was NOT received by the because the BA_RJT indicates that this FX_ID is unknown. At this point, the knows that the command was received by the because the BA_ indicates that this FX_ID was known. Crossroads Systems Inc. 16 Brian R. Smith