DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
TOC PREV NEXT INDEX

SCSI Driver Introduction

1

1.1 Introduction

A UDI SCSI Driver is a conformant UDI driver which uses the SCSI Metalanguage, either in the SCSI Peripheral Driver (PD) role or the SCSI HBA Driver (HD) role. This document, the UDI SCSI Driver Specification, defines interfaces for communicating between SCSI PDs and HDs.

1.2 Scope

The UDI SCSI Driver Specification defines the complete set of interfaces available for communication between SCSI Peripheral Drivers (PDs) and SCSI HBA Drivers (HDs). These interfaces cover drivers which control SCSI-1, SCSI-2, and SCSI-3 compliant devices, and can be used in any configuration where the SCSI protocol is used or desired - including encapsulated SCSI across serial links such as Fibre Channel.

The UDI SCSI Driver Specification also defines the responsibilities and requirements on PDs and HDs, and specifies SCSI-specific bindings to the UDI Core Specification.

1.3 Normative References

The UDI SCSI Driver Specification references the following non-UDI standards, listed below. These standards contain provisions that, through reference in this document, constitute provisions of the UDI SCSI Driver Specification.

  1. ANSI X3.131-1986 (SCSI-1).
  2. ANSI X3.131-1994 (SCSI-2).
  3. ANSI X3.270-1996 (SCSI-3 Architectural Model).
  4. SCSI-3 Architectural Model - 2 (SAM-2), Revision 11, 16 July 1999

The UDI SCSI Driver Specification also references and depends upon the UDI Core Specification.

1.4 Conformance

A conforming UDI SCSI PD implementation attaches to the child end of a SCSI metalanguage channel, and uses only the interfaces specified in this document for communication across that channel to its parent HD. Similarly, a SCSI HD attaches to the parent end of a SCSI Metalanguage channel, and uses only the interfaces specified in this document for communication across that channel to its child PD. Furthermore, conforming SCSI PDs and HDs follow all of the rules and requirements specified in this document, as well as any other relevant UDI specifications, including the use of header files and versioning, and the responsibilities shared or owned by the PD versus the HD.

1.5 Terminology

This section defines common terminology and acronyms with specific usage or meaning in the UDI SCSI Driver Specification.

adapter See definition in the "Terminology" chapter of the UDI Core Specification.

Bus Number A value that uniquely identifies a SCSI bus/link interface on an HBA with respect to the set of bus/links controlled by a given instance of the HBA Driver (HD). This value is zero for single-port SCSI HBAs (i.e., SCSI HBAs with a single SCSI bus attachment) and is also zero for multi-port HBAs whose buses are independently controlled (i.e., HBAs in which each attached bus is controlled by a separate instance of the HD). Otherwise, where a single HD instance controls N SCSI buses, the HD will export bus number values in the range 0..N-1. This is the first level of SCSI I/O addressing for the SCSI Metalanguage. Refer to Section 2.3, "SCSI I/O Addressing" for further details.

HBA Host Bus Adapter. Refers to the hardware or software entity that the HBA Driver (see HD) controls. For parallel SCSI HDs this typically refers to the hardware adapter between the host and the parallel SCSI bus. When the adjective single-port or multi-port preceeds it, this term typically refers to the physical card. Otherwise, and more commonly in UDI, this term refers to the specific hardware or software function(s) that are controlled by a single instance of the HD.

HD SCSI HBA Driver. UDI driver that receives and processes SCSI Metalangauge requests from a SCSI Peripheral Driver; i.e., the driver which provides the parent role on the SCSI Metalanguage channel.

LUN Logical Unit Number. An externally addressable entity within a target (see target) that implements the functions of a device module (e.g., part of a node on a SCSI bus). The LUN is the third level of SCSI I/O addressing for the SCSI Metalanguage. The LUN addresses one of many peripheral devices (like a SCSI disk) on the target interface which connects to the SCSI interconnect. Refer to Section 2.3, "SCSI I/O Addressing" for further details.

PD SCSI Peripheral Driver. UDI driver that controls a specific type of peripheral device or class of devices attached to a SCSI interconnect; i.e., the driver which provides the child role on a SCSI Metalanguage channel.

SAM SCSI-3 Architectural Model.

SCSI Small Computer System Interface. SCSI refers to the ANSI standards SCSI-1 (X3.131-1986), SCSI-2 (X3.131-1994), and the set of working drafts which comprise the in-progress SCSI-3 standard. SCSI defines a protocol for interconnecting computers and peripheral devices. A primary objective of SCSI has been to provide host computers with device independence within a set of defined device models. Thus, SCSI defines a set of device models for various classes of devices, each with their own device model specific command set.

SCSI Interconnect A SCSI interconnect is either the SCSI parallel bus defined in SCSI-1 or SCSI-2, or one of the supported I/O interconnects defined for SCSI-3 (parallel bus, Fibre Channel, SSA, 1394, etc.).

tag The fourth level of SCSI I/O addressing for the SCSI Metalanguage, The "tag" designates a specific I/O request. The use of tags is typical in "tagged command queueing" on SCSI-2 and "tagged tasks" on SCSI-3. Refer to Section 2.3, "SCSI I/O Addressing" for further details.

Target ID (Target) The second level of SCSI I/O addressing for the SCSI Metalanguage. The Target ID corresponds to the hardware entity ("target") that directly connects to the SCSI interconnect. The target typically is an access interface behind which multiple SCSI devices are presented via the third level of addressing - the LUN. Although traditionally set to the physical address of the target on the SCSI interconnect, in UDI the Target ID value is a logical handle exported by the HD (when it enumerates its devices) and is potentially different from the value used by other HDs on the same interconnect. Refer to Section 2.3, "SCSI I/O Addressing" for further details.


TOC PREV NEXT INDEX