1、INTERNATIONAL STANDARD ISO/IEC 93162 Firstedition 200006 Informationtechnology Smallcomputersysteminterface2(SCSI2) Part2: CommonAccessMethod(CAM) TransportandSCSIinterfacemodule Referencenumber ISO/IEC93162:2000(E)INTERNATIONAL STANDARD ISO/IEC 93162 Firstedition 200006 Informationtechnology Smallc
2、omputersysteminterface2(SCSI2) Part2: CommonAccessMethod(CAM) TransportandSCSIinterfacemodule PRICECODE ISO/IEC2000 Allrightsreserved.Unlessotherwisespecified,nopartofthispublicationmaybereproducedorutilizedinanyformorbyan y means,electronicormechanical,includingphotocopyingandmicrofilm,withoutpermi
3、ssioninwritingfromthepublisher. ISO/IECCopyrightOffice Casepostale56 CH1211Genve20 Switzerland XA Forprice,seecurrentcatalogue 2 9316-2 ISO/IEC:2000(E) CONTENTS Page FOREWORD 6 INTRODUCTION 7 Clause 1 Scope.9 2 Conformance9 3 Normative references .10 4 Definitions 10 5 Conventions .11 6 General desc
4、ription 12 6.1 General .12 6.2 Environment12 6.3 Peripheral driver functions.13 6.4 XPT functions14 6.5 SIM functions 14 7 Background 14 7.1 General .14 7.2 Software14 7.3 CAM (Common Access Method) 14 7.4 OSD (Operating System Dependencies)15 7.5 Architectural considerations 15 8 Principles of oper
5、ation16 8.1 Accessing the XPT 16 8.2 Initialization.17 8.3 CCB completion 17 8.3.1 Completion of immediate CCB.17 8.3.2 Completion of queued CCB .17 8.4 SCSI request queues 18 8.4.1 The logical unit and the peripheral driver.18 8.4.2 SIM queuing 18 8.5 SIM handling of SCSI resets20 8.6 Asynchronous
6、event callback 21 8.7 Autosense .23 8.8 Loadable modules .24 9 OSD (operating system dependent) operation 25 9.1 UNIVOS operating system.25 9.1.1 Initialization.25 9.1.2 Accessing the XPT 26 9.1.3 Callback on completion26 9.1.4 Pointer definition in the UNIVOS environment26 9.1.5 Request mapping inf
7、ormation 27 9.1.6 XPT interface 27 9.1.7 SIM interface.28 9.2 LANOS28 9.2.1 Initialization.28 9.2.2 SIM and peripheral driver unloading29 9.2.3 Accessing the XPT 30 9.2.4 Hardware registration30 9.2.5 Miscellaneous .309316-2 ISO/IEC:2000(E) 3 Clause Page 9.3 DOS (disk operating system).31 9.3.1 Init
8、ialization.31 9.3.2 Accessing the XPT 32 9.3.3 Callback on completion .33 9.3.4 Asynchronous event callbacks.33 9.3.5 Pointer definition .34 10 CAM control blocks.34 10.1 CCB header fields .36 10.1.1 Address of this CCB36 10.1.2 CAM control block length.36 10.1.3 XPT function code.36 10.1.4 CAM stat
9、us .36 10.1.5 Connect ID39 10.1.6 CAM flags .39 10.2 Function codes39 10.2.1 NOP39 10.2.2 Get device type .40 10.2.3 Path inquiry.41 10.2.4 Release SIM queue.43 10.2.5 Scan SCSI bus44 10.2.6 Scan logical unit45 10.2.7 Set asynchronous callback45 10.2.8 Set device type .46 10.3 SCSI control functions
10、.47 10.3.1 Abort SCSI command47 10.3.2 Reset SCSI bus.48 10.3.3 Reset SCSI device 49 10.3.4 Terminate I/O process.49 11 CAM control block to request I/O 51 11.1 Field descriptions for CAM control blocks to request I/O51 11.1.1 Autosense Residual Length.51 11.1.2 Callback on completion .51 11.1.3 CAM
11、 flags .51 11.1.4 CDB 55 11.1.5 CDB length55 11.1.6 Data transfer length.55 11.1.7 Function code .55 11.1.8 Initiator ID .55 11.1.9 Message buffer length (target-only).55 11.1.10 Message buffer pointer (target-only)55 11.1.11 Next CCB pointer 56 11.1.12 Number of scatter/gather entries .56 11.1.13 P
12、eripheral driver pointer56 11.1.14 Private data.56 11.1.15 Request mapping information56 11.1.16 Residual length .56 11.1.17 SCSI status.56 11.1.18 Sense info buffer length 56 4 9316-2 ISO/IEC:2000(E) Clause Page 11.1.19 Sense info buffer pointer .56 11.1.20 SG list/data buffer pointer .56 11.1.21 T
13、ag ID.56 11.1.22 Tagged queue action.57 11.1.23 Timeout value .57 11.1.24 VU field .57 11.2 Execute SCSI I/O 57 11.3 Command linking (optional).59 11.4 Target mode overview .61 11.5 Phase-Cognizant Mode .62 11.5.1 Enable LUN for phase cognizant mode62 11.5.2 I/O process creation for phase cognizant
14、mode .65 11.5.3 Continuation and completion of an I/O process for phase cognizant mode .66 11.5.4 Non-transparent event handling for phase cognizant mode67 11.5.5 EXECUTE TARGET I/O CCB.69 11.6 Host Target Mode71 11.6.1 Host Target Mode functionality not specified .71 11.6.2 Host Target Mode message
15、s.71 11.6.3 Use of the IMMEDIATE NOTIFY CCB72 11.6.4 IMMEDIATE NOTIFY CCB.79 11.6.5 NOTIFY ACKNOWLEDGE CCB.81 11.6.6 Enable target mode LUN for Host Target Mode .81 11.6.7 ENABLE LUN CCB for Host Target Mode84 11.6.8 ACCEPT TARGET I/O and CONTINUE TARGET I/O CCB operation .85 11.6.9 ACCEPT TARGET I/
16、O CCB.91 11.6.10 CONTINUE TARGET I/O CCB.92 11.6.11 Disable of a Host Target Mode LUN 94 11.6.12 Exception conditions .94 11.6.13 CDB reception on a non enabled LUN .96 11.6.14 Retrieving unused ACCEPT TARGET I/O CCBs from the SIM .96 12 HBA engines 96 13 Engine inquiry 97 13.1 Execute engine (optio
17、nal)98 Annex A (informative) Physical/logical translation in 80x86 environment100 Annex B (informative) Target peripheral driver example.105 Annex C (informative) UNIVOS OSD data structures107 Figure 1 CAM environment model 13 Figure 2 CAM layers 299316-2 ISO/IEC:2000(E) 5 Page Table 1 Asynchronous
18、event callback opcode data requirements.23 Table 2 CAM control block header .34 Table 3 Support of SCSI messages35 Table 4 XPT function codes .36 Table 5 CAM status .37 Table 6 NOP CCB40 Table 7 Get device type CCB.40 Table 8 PATH INQUIRY CCB Part 1 of 2.41 Table 9 Release SIM queue.44 Table 10 SCAN
19、 SCSI BUS CCB.44 Table 11 SCAN LOGICAL UNIT CCB.45 Table 12 SET ASYNCHRONOUS CALLBACK CCB46 Table 13 SET DEVICE TYPE CCB.46 Table 14 ABORT SCSI COMMAND CCB48 Table 15 RESET SCSI BUS CCB.48 Table 16 RESET SCSI DEVICE CCB .49 Table 17 TERMINATE I/O PROCESS CCB 50 Table 18 CAM flags Part 1 of 2 .52 Tab
20、le 19 Scatter Gather List 53 Table 20 EXECUTE SCSI I/O REQUEST CCB .58 Table 21 ENABLE LUN CCB for phase cognizant mode.63 Table 22 CCB List63 Table 23 EXECUTE TARGET I/O CCB.70 Table 24 IMMEDIATE NOTIFY CCB.80 Table 25 NOTIFY ACKNOWLEDGE CCB.81 Table 26 ENABLE LUN CCB for Host Target Mode 84 Table
21、27 ACCEPT TARGET I/O CCB.91 Table 28 CONTINUE TARGET I/O CCB.93 Table 29 ENGINE INQUIRY CCB.97 Table 30 EXECUTE ENGINE REQUEST CCB98 6 9316-2 ISO/IEC:2000(E) INFORMATION TECHNOLOGY SMALL COMPUTER SYSTEM INTERFACE2 (SCSI-2) Part 2: Common Access Method (CAM) Transport and SCSI interface module FOREWO
22、RD ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical co
23、mmittees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in th
24、e work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by
25、at least 75 % of the national bodies casting a vote. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3. International Standard ISO/IEC 9316-2 was prepared by subcommittee 25: Interconnection of information technology equipment, of ISO/IEC joint
26、technical committee 1: Information technology. Annexes A, B and C are for information only.9316-2 ISO/IEC:2000(E) 7 INTRODUCTION SCSI provides a diverse range of peripherals for attachment to a wide range of computing equipment. Some system manufacturers have developed approaches for SCSI attachment
27、 which are widely followed, increasing the applications available for the attachment of SCSI peripherals. In markets where no standard method of attachment exists, however, variations between third party sellers have made it nearly impossible for end users to attach more than one SCSI peripheral to
28、one host bus adapter. In an effort to broaden the application base for SCSI peripherals, an ad hoc industry group of companies representing system integrators, controllers, peripherals, and semiconductors decided to address the issues involved. That effort has evolved into this International Standar
29、d. 8 9316-2 ISO/IEC:2000(E) Blank page 9316-2 ISO/IEC:2000(E) 9 INFORMATION TECHNOLOGY SMALL COMPUTER SYSTEM INTERFACE-2 (SCSI-2) Part 2: Common Access Method (CAM) Transport and SCSI interface module 1 Scope This International Standard defines the Common Access Method (CAM) for the Small Computer S
30、ystems Interface (SCSI). The purpose of this International Standard is to define a method whereby multiple environments may adopt a common procedure for the support of SCSI devices. The CAM provides a structured method for supporting peripherals with the software (e.g. device driver) and hardware (e
31、.g., host bus adapter) associated with any computer. 2 Conformance An implementation claiming conformance to the transport layer (XPT) for a specified operating system and language environment shall: provide all the mandatory XPT functions and services specified in this International Standard; corre
32、ctly interoperate with any conforming SCSI Interface Module (SIM) for the specified environment; provide the necessary interface specifications that a conforming SIM requires to interface with the XPT. An implementation claiming conformance to the SIM for a specified operating system and language en
33、vironment shall: provide all the mandatory SIM functions and services specified in this International Standard; correctly interoperate with any conforming XPT for the specified environment; provide the necessary interface specifications that a conforming XPT requires to interface with SIMs. A confor
34、ming implementation shall execute all function codes as required by this International Standard, and in response to these codes shall only return specified status, and return codes. A conforming implementation may provide additional capabilities via Vendor Unique function codes. If an operating syst
35、em is not specified in this International Standard, then that operating system shall conform to 9.1 in this International Standard. (See also annex C.) Claims of conformance to this International Standard shall state: whether conformance is claimed with the XPT or the SIM or both; which operating sy
36、stems and environments are supported; whether the optional capabilities of target mode or Host Bus Adaptor (HBA) engines are supported. 10 9316-2 ISO/IEC:2000(E) 3 Normative references The following normative documents contain provisions which, through reference in this text, constitute provisions o
37、f this part of ISO/IEC 9316. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. However, parties to agreements based on this part of ISO/IEC 9316 are encouraged to investigate the possibility of applying the most recent editions of the normative
38、documents indicated below. For undated references, the latest edition of the normative document referred to applies. Members of IEC and ISO maintain registers of currently valid International Standards. ISO/IEC 9316:1995, Information Technology Small Computer Interface-2 4 Definitions For the purpos
39、es of this International Standard, the following definitions apply: 4.1 block defines an action to prevent access, (e.g., to obstruct the action of or the continuation of a process thread) 4.2 (CAM control block) CCB data structure provided by peripheral drivers to the XPT to control execution of a
40、function by the SIM 4.3 immediate CCB provides valid completion status when the call to xpt_action () returns (e.g., path inquiry) 4.4 queued CCB provides valid completion status when the completion callback routine is called, or the CAM Status field in the CCB changes from Request In Progress to an
41、other valid CAM Status 4.5 CDB (command descriptor block) data structure containing the SCSI opcode, parameters, and control bits for that operation 4.6 DMA (direct memory access) means of data transfer between peripheral and host memory without processor intervention 4.7 freeze defines a software a
42、ction to quiesce activity (e.g., freeze the queue) 4.8 HBA (host bus adapter) hardware and microcode which provides the interface between system memory and any number of SCSI buses 4.9 null value which indicates that the contents of a field have no meaning. This value is typically, though not necess
43、arily, zero9316-2 ISO/IEC:2000(E) 11 4.10 optional this term describes features which are not required by this International Standard. However, if any feature defined by this International Standard is implemented, it shall be done in the same way as defined by the International Standard. Describing
44、a feature as optional in the text is done to assist the reader. If there is a conflict between text and tables on a feature described as optional, the table shall be accepted as being correct 4.11 OSD (Operating System Dependent) this term describes a capability, method of operation, or feature that
45、 depends on the specific operating system on which CAM is implemented 4.12 path this term describes the address of the XPT or a SIM/HBA SCSI bus combination 4.13 reserved where this term is used for bits, bytes, fields, and code values; the bits, bytes, fields, and code values are set aside for futu
46、re standardization. The default value shall be zero. The originator is required to define a reserved field or bit as zero, but the receiver should not check reserved fields or bits for zero 4.14 SIM (SCSI interface module) module designed to accept the CAM control blocks routed through the XPT in or
47、der to execute SCSI commands and perform other functions 4.15 VU (vendor unique) this term is used to describe bits, bytes, fields, code values, and features which are not described in this International Standard, and may be used in a way that varies among vendors 4.16 XPT (transport) a layer of sof
48、tware which peripheral drivers use to originate the execution of CAM functions 5 Conventions Within the tables, there is a direction bit which indicates in or out. The direction is from the view point of the peripheral driver (i.e., information is out to the SIM from the peripheral driver and in to
49、the peripheral driver from the SIM). Certain terms used herein are the proper names of signals, commands and messages. These are printed in uppercase to avoid possible confusion with other uses of the same words (e.g., ATTENTION. Any lower-case uses of these words have the normal English meaning). There are places in this Internat