3.1. SCSI Addressing
Linux has a four level hierarchical addressing scheme for SCSI devices:
"Lun" is the common SCSI abbreviation of Logical Unit Number. The terms
in brackets are the name conventions used by device pseudo file system
(devfs). "Bus" is used in preference to "channel" in the description below.
The SCSI adapter number is typically an arbitrary numbering of the adapter
cards on the internal IO buses (e.g. PCI, PCMCIA, ISA etc) of the computer.
Such adapters are sometimes termed as HBAs (host bus adapters).
SCSI adapter numbers are issued by the kernel in ascending order starting
with 0.
Each HBA may control one or more SCSI buses. The various types of SCSI
buses are listed in Appendix A.
Each SCSI bus can have multiple SCSI devices connected to it. In SCSI
parlance the HBA is called the "initiator" and takes up one SCSI id
number (typically 7). The initiator
talks to targets which are commonly
known as SCSI devices (e.g. disks). On SCSI parallel buses the number
of ids is related to the width. 8 bit buses (sometimes called "narrow")
can have 8 SCSI ids of which 1 is taken by the HBA leaving 7 for SCSI
devices. Wide SCSI buses are 16 bits wide and can have a maximum of 15
SCSI devices (targets) attached. The SCSI 3 draft standard allows a
large number of ids to be present on a SCSI bus.
Each SCSI device can contain multiple Logical Unit Numbers (LUNs). These
are typically used by sophisticated tape and cdrom units that support
multiple media.
So Linux's flavour of SCSI addressing is a four level hierarchy:
<scsi(_adapter_number), channel, id, lun>
|
Using the naming conventions of devfs this becomes: