1、ANSI INCITS 337-2000 (R2005)(formerly ANSI NCITS 337-2000)for Information Technology Scheduled Transfer Protocol (ST)Stabilized as INCITS 337-2000 S2015ANSI NCITS 337-2000 American National Standard for Information Technology Scheduled Transfer Protocol (ST) Secretariat Information Technology Indust
2、ry Council (ITI) Approved August 24, 2000 American National Standards Institute, Inc. Abstract This standard specifies a connection-oriented data transfer protocol supporting flow-controlled Read and Write sequences and non-flow-controlled, persistent-memory Put, Get and FetchOp sequences. For all s
3、equences, small control messages are used to pre-allocate buffers at the data Destination before the data movement begins, thus allowing the data to be moved immediately from the physical network into the end devices memory. The control and data messages may use different physical media or may share
4、 a single physical medium. Procedures are provided for moving data over HIPPI and other media. American National Standard Published by American National Standards Institute, Inc. 11 West 42nd Street, New York, NY 10036 Copyright 2000 by Information Technology Industry Council All rights reserved. No
5、 part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without prior written permission of the publisher. Printed in the United States of America Approval of an American National Standard requires review by ANSI that the require-ments for due process
6、, consensus, and other criteria for approval have been met by the standards developer. Consensus is established when, in the judgement of the ANSI Board of Standards Re-view, substantial agreement has been reached by directly and materially affected in-terests. Substantial agreement means much more
7、than a simple majority, but not nec-essarily unanimity. Consensus requires that all views and objections be considered, and that a concerted effort be made towards their resolution. The use of American National Standards is completely voluntary; their existence does not in any respect preclude anyon
8、e, whether he has approved the standards or not, from manufacturing, marketing, purchasing, or using products, processes, or proce-dures not conforming to the standards. The American National Standards Institute does not develop standards and will in no circumstances give an interpretation of any Am
9、erican National Standard. Moreover, no person shall have the right or authority to issue an interpretation of an American Na-tional Standard in the name of the American National Standards Institute. Requests for interpretations should be addressed to the secretariat or sponsor whose name ap-pears on
10、 the title page of this standard. CAUTION NOTICE: This American National Standard may be revised or withdrawn at any time. The procedures of the American National Standards Institute require that action be taken periodically to reaffirm, revise, or withdraw this standard. Purchasers of American Nati
11、onal Standards may receive current information on all standards by call-ing or writing the American National Standards Institute. CAUTION: The developers of this standard have requested that holders of patents that may be required for the implementation of the standard disclose such patents to the p
12、ublisher. However, neither the developers nor the publisher have undertaken a patent search in order to identify which, if any, patents may apply to this standard. As of the date of publication of this standard and following calls for the identification of patents that may be required for the implem
13、entation of the standard, no such claims have been made. No further patent search is conducted by the developer or publisher in respect to any standard it processes. No representation is made or implied that li-censes are not required to avoid infringement in the use of this standard. i Contents Pag
14、e Foreword vi Introduction. x 1 Scope 1 2 Normative references . 1 3 Definitions and conventions 2 3.1 Definitions 2 3.2 Editorial conventions 4 3.2.1 Binary notation 4 3.2.2 Hexadecimal notation . 4 3.3 Acronyms and other abbreviations 4 4 System overview. 5 4.1 Control Channels, Control operations
15、, Data Channels, and Data operations . 5 4.2 Virtual Connections 6 4.3 Data hierarchy . 6 4.4 Scheduled Transfers . 6 4.5 Persistent memory region 6 4.6 Destination side data structure model . 6 4.7 Implementing subsets of ST capabilities . 8 5 Connection management . 9 5.1 Connection management seq
16、uences 9 5.1.1 Virtual Connection setup. 9 5.1.2 Virtual Connection teardown. 10 5.2 Connection management parameters . 11 5.2.1 Ports . 11 5.2.2 Keys 11 5.2.3 ST Buffer Size and Bufsize. 12 5.2.4 Max_STU size 12 5.2.5 Slots 12 5.2.6 EtherType . 13 6 Data movement 13 6.1 Data movement sequences. 13
17、6.1.1 Common sequences. 13 6.1.1.1 Nop 14 6.1.1.2 Request Slot state . 14 6.1.1.3 Request Transfer state 14 6.1.1.4 Request Block state. 15 6.1.1.5 End sequence 16 6.1.2 Write sequence. 16 6.1.3 Read sequence. 19 6.1.4 Persistent memory sequences . 21 6.1.4.1 Allocate a persistent memory region . 22
18、 6.1.4.2 Put sequences. 23 6.1.4.3 Get sequences 24 6.1.4.4 FetchOp sequences 25 6.2 Data movement parameters 26 6.2.1 Sequence identifiers (I-id, R-id) 26 iiPage 6.2.2 Blocks .27 6.2.3 Block numbers (B_num, F_num, G_num)27 6.2.4 Block numbers in state responses (B_num, B_seq) 28 6.2.5 Maximum Block
19、 size (Max_Block)28 6.2.6 Block size28 6.2.6.1 Consistent Block sizes (2Blocksize) .29 6.2.6.2 Variable Block sizes (V-BlkSize)29 6.2.7 Blocks enabled (CTS_req) .29 6.2.8 STUs and STU_num 30 6.2.9 Bufx.30 6.2.10 Offset 30 6.2.10.1 Buffer-referenced (Offset, F-Offset) 30 6.2.10.2 Transfer-referenced
20、(V-ByteSeq) 31 6.2.11 Transfer length (T_len) .31 6.2.12 Sync31 6.2.13 Memory Index (Mx).31 6.2.14 Opaque data .32 6.2.15 Block window (B_winreq, B_win)32 6.3 Tiling examples32 7 Operations management 35 7.1 Flow control .35 7.2 Status operations.35 7.3 Rejected operations.35 7.4 Interrupts35 8 Sche
21、dule Header 35 8.1 Op codes .36 8.2 Flags 36 8.3 Checksum (optional)37 8.3.1 Checksum algorithm.37 8.3.2 Transmitting checksums.38 8.3.3 Receiving checksums.38 8.3.4 Data checksum example 38 9 Operations sequence tables.39 10 Error processing .43 10.1 Operation timeout 43 10.2 Operation pairs 43 10.
22、3 Data transmission timeouts .43 10.4 Keep-alive sequences (optional) .44 10.5 Duplicated operations 44 10.5.1 Duplicate Request_Connection 45 10.5.2 Duplicate Connection_Answer45 10.5.3 Duplicate Request_Disconnect.45 10.5.4 Duplicate Disconnect_Answer45 10.5.5 Duplicate End .46 10.5.6 Duplicate Re
23、quest_State 46 10.5.7 Duplicate Request_To_Send46 10.5.8 Duplicate Request_To_Receive .46 10.5.9 Duplicate Clear_To_Send.46 10.5.10 Duplicate Request_Memory_Region 46 iii Page 10.5.11 Duplicate Get47 10.5.12 Duplicate FetchOp47 10.5.13 Duplicate Data for a FetchOp .47 10.5.14 Other duplicate operati
24、ons48 10.6 Checksum errors .48 10.7 LLP error48 10.8 Syntax errors .48 10.8.1 Undefined Opcode48 10.8.2 Unexpected Opcode.48 10.9 Virtual Connection errors.48 10.9.1 Invalid Key or Port.48 10.9.2 Slots exceeded .48 10.9.3 Unknown EtherType .48 10.9.4 Illegal Bufsize49 10.9.5 Illegal STU size.49 10.1
25、0 Scheduled Transfer errors.49 10.10.1 Invalid sequence identifier 49 10.10.2 Invalid Memory Index (Mx) .49 10.10.3 Bad Data Channel specification49 10.10.4 Out of Range B_num, Bufx, Offset, or STU_num 49 10.10.5 Block out of order error.49 10.10.6 Missing or flawed Block recovery .49 10.10.7 Illega
26、l Blocksize 50 10.10.8 Undefined Flag .50 10.10.9 Unsupported sequence error50 Tables 1 Response to a rejected operation 35 2 Op codes and operations. 36 3 Connection management sequences 40 4 Common control sequences 40 5 Write sequences 41 6 Read sequences 41 7 Put, Get, and FetchOp sequences 42 8
27、 Operation pairs guarded by Op_timeout with retry 43 9 Summary of logged errors . 50 B.1 Defined option-codes. 58 D.1 Transfer example operations. 69 D.2 Anti-aliasing tools summary. 76 E.1 State table syntax 77 E.2 Connection setup example 80 E.3 Connection teardown example 80 E.4 Write sequence ex
28、ample. 83 E.5 Persistent memory region setup example . 86 E.6 Persistent memory region teardown example . 86 E.7 Put sequence example 88 E.8 Get sequence example 88 E.9 FetchOp sequence example 89 E.10 Connection management FSM 90 E.11 Write sequence (Initiator side) FSM 91 E.12 Write sequence (Resp
29、onder side) FSM 92 E.13 Persistent memory region (Initiator side) FSM 93 ivPage E.14 Persistent memory region (Responder side) FSM.94 E.15 Acknowledged Put sequence (Initiator side) FSM .95 E.16 Get sequence (Initiator side) FSM .95 E.17 FetchOp sequence (Initiator side) FSM .96 E.18 FetchOp sequenc
30、e (Responder side) FSM .96 Figures 1 System overview5 2 Transmission units.5 3 User data hierarchy6 4 A Destination side data structure model 7 5 Connection management example9 6 Common sequence examples .13 7 Write example17 8 Read example19 9 Put, Get, and FetchOp examples 22 10 Consistent Block s
31、ize data tiling example34 11 Schedule Header contents.35 12 Flags summary 36 13 Data checksum example .39 A.1 An ST operation carried in a HIPPI-6400-PH Message.52 A.2 An ST operation carried in a HIPPI-FP packet 53 A.3 An ST operation carried in an IEEE 802.3 Ethernet packet.55 A.4 An ST operation
32、carried in a DIX Ethernet packet.56 B.1 Option formats .58 C.1 ST striping configurations 61 D.1 Maximum STU size determination.63 D.2 Maximum Block size determination and pacing Clear_To_Send operations 65 D.3 Example of a data Destinations Validation Table lookup67 D.4 Ks buffer layout .68 Annexes
33、 A Using lower layer protocols .51 A.1 HIPPI-6400-PH as the LLP .51 A.2 HIPPI-FP as the LLP .52 A.3 Ethernet as the LLP.54 A.4 ATM LAN Emulation as the LLP57 B Option payload format58 B.1 Option formats.58 B.2 Option-codes .58 B.2.1 End of list58 B.2.2 No_operation58 B.2.3 Linear address base.58 B.2
34、.4 ULP parameter.59 B.2.5 ASCII error string59 B.2.6 Two-byte error code .59 B.2.7 V-BlkSize and V-ByteSeq.59 B.2.8 Experimental 59 C ST striping60 v Page C.1 Striping principles 60 C.2 Many-to-one striping . 60 C.3 One-to-many striping. 60 C.4 Many-to-many striping. 61 D Implementation comments. 62
35、 D.1 Parameters expressed as 2n. 62 D.2 Using Max_STU and Bufsize to determine the maximum STU size. 62 D.3 Using Max_Block, Blocksize, and pacing Clear_To_Send operations . 64 D.4 Implementing Bufx lookups. 66 D.5 Transfer example 68 D.5.1 End device assumptions 68 D.5.2 Interconnection assumptions
36、 . 68 D.5.3 Notes for table D.1 . 70 D.5.4 Parameter notes 70 D.6 FetchOp buffer management 72 D.7 V-BlkSize and V-ByteSeq comments 73 D.8 Put Block window comments 74 D.9 Aliased operations. 75 E State tables 77 E.1 Introduction 77 E.1.1 Table syntax . 77 E.1.2 Conventions in FSMs . 78 E.2 General
37、implementation issues. 78 E.3 Connection management FSM . 79 E.3.1 FSM interface to ULP assumptions 79 E.3.2 Implementation Issues . 79 E.3.3 Connection management examples 80 E.3.4 Connection management error examples 81 E.4 Write sequence FSMs. 82 E.4.1 Assumptions. 82 E.4.2 Implementation issues
38、. 82 E.4.3 FSM interface to ULP assumptions 82 E.4.4 Write sequence example . 83 E.4.5 Write sequence error examples. 84 E.5 Read sequence FSMs. 84 E.6 Persistent memory region FSMs. 85 E.6.1 Assumptions. 85 E.6.2 Implementation issues . 85 E.6.3 FSM interface to ULP assumptions 85 E.6.4 Persistent
39、memory region examples 85 E.6.5 Persistent memory region error examples . 87 E.7 Put, Get, and FetchOp examples 87 E.7.1 Put example . 87 E.7.2 Get example. 88 E.7.3 FetchOp example. 89 viForeword (This foreword is not part of American National Standard ANSI NCITS 337-2000.) This American National S
40、tandard specifies a connection-oriented data transfer pro-tocol supporting flow-controlled Read and Write sequences and non-flow-controlled, persistent-memory Put, Get and FetchOp sequences. For all sequences, small con-trol messages are used to pre-allocate buffers at the data Destination before th
41、e data movement begins, thus allowing the data to be moved immediately from the physical network into the end devices memory. The control and data messages may use different physical media or may share a single physical medium. Proce-dures are provided for moving data over HIPPI and other media. Thi
42、s document includes annexes which are informative and are not considered part of the standard. Requests for interpretation, suggestions for improvement or addenda, or defect re-ports are welcome. They should be sent to the National Committee for Information Technology Standards, 1250 Eye Street, NW,
43、 Suite 200, Washington, DC 20005. This standard was processed and approved for submittal to ANSI by NCITS. Committee approval of the standard does not necessarily imply that all committee members voted for approval. At the time it approved this standard, NCITS had the following members: Karen Higgin
44、bottom, Chair David Michael, Vice-Chair Monica Vago, Secretary Organization Represented Name of Representative Apple Computer, Inc.David Michael Wanda Cox (Alt.) Bull HN Information Systems, Inc.Randall Kilmartin Compaq Computer Corporation .Scott Jameson Stephen Heil (Alt.) Hewlett-Packard Company.
45、Karen Higginbottom Wendy Fong (Alt.) Hitachi John Neumann IBM Corporation .Ronald F. Silletti Chuck Adams (Alt.) Institute for Certification of Computer Professionals.Kenneth M. Zemrowski Thomas Kurihara (Alt.) Lucent Technologies, IncHerbert Bertine Tom Rutt (Alt.) Microsoft Corporation .Mike Deese
46、 George Willingmyre (Alt.) National Institute of Standards support for flow-controlled Block Read and Write sequences; support for single Block Get and Put sequences; support for Fetch and modify sequences; parameters exchanged between end devices for upper-layer protocol (ULP) Port and ST-Port sele
47、ction, sequence identification, and operation validation; features supporting efficient mapping between the issuers and receivers natu-ral buffer sizes; features supporting Block striping; an optional checksum covering commands and data; provisions for resending partial Transfers for error recovery;
48、 mappings onto HIPPI-6400-PH, HIPPI-FP (for HIPPI-800 traffic), Ethernet, and Asynchronous Transfer Mode (ATM) lower-layer protocols. AMERICAN NATIONAL STANDARD ANSI NCITS 337-20001 Scheduled Transfer Protocol (ST) 1 Scope This American National Standard specifies a con-nection-oriented data transfe
49、r protocol supporting flow-controlled Read and Write sequences and non-flow-controlled, persistent-memory Put, Get and FetchOp sequences. For all sequences, small control messages are used to pre-allocate buffers at the data Destination before the data movement begins, thus allowing the data to be moved immediately from the physical network into the end devices memory. The control and data messages may use different physical media or may share a single physical medium. Procedures are provided for moving data over HIPPI, Ethernet, and other media. Specification
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1