Scsi:: Internet Small Computer System Interface, An Internet Protocol (IP) - Based
Scsi:: Internet Small Computer System Interface, An Internet Protocol (IP) - Based
Functionality
iSCSI uses TCP/IP (typically TCP ports 860 and 3260). In essence, iSCSI simply
allows two hosts to negotiate and then exchange SCSI commands using IP
networks. By doing this iSCSI takes a popular high-performance local storage bus
and emulates it over wide-area networks, creating a storage area network (SAN).
Unlike some SAN protocols, iSCSI requires no dedicated cabling; it can be run over
existing switching and IP infrastructure. However, the performance of an iSCSI
SAN deployment can be severely degraded if not operated on a dedicated
network or subnet (LAN or VLAN). As a result, iSCSI is often seen as a low-cost
alternative to Fibre Channel, which requires dedicated infrastructure except in its
FCoE (Fibre Channel over Ethernet) form.
Although iSCSI can communicate with arbitrary types of SCSI devices, system
administrators almost always use it to allow server computers (such as database
servers) to access disk volumes on storage arrays. iSCSI SANs often have one of
two objectives:
Storage consolidation
Disaster recovery
Organizations mirror storage resources from one data center to a remote data
center, which can serve as a hot standby in the event of a prolonged outage. In
particular, iSCSI SANs allow entire disk arrays to be migrated across a WAN with
minimal configuration changes, in effect making storage "routable" in the same
manner as network traffic.
Contents
[show]
[edit] Examples
To provide a practical example, a typical disk array has multiple physical SCSI
ports, each with one SCSI target address assigned. Then the disk array is
formatted as a RAID and then this RAID is partitioned into several separated
storage volumes. To represent each volume, a SCSI target is configured to provide
a logical unit. Each SCSI target may provide multiple logical units and thus
represent multiple volumes, but this does not mean that those volumes are
concatenated. The computer that accesses a volume on the disk array identifies
which volume to read or write with the LUN of the associated logical unit.
Another example is a single disk drive with one physical SCSI port. It usually
provides just a single target, which in turn usually provides just a single logical
unit whose LUN is zero. This logical unit represents the entire storage of the disk
drive.
[edit] Form
In current SCSI, a LUN is a 64-bit identifier. (The name Logical Unit Number is
historical; it is not a number). It is divided into four 16-bit pieces that reflect a
multilevel addressing scheme, and it is unusual to see any but the first of these
used.
In earlier versions of SCSI, and with some transport protocols, LUNs can be 16 or 6
bits.
[edit] Use
LUN vs. SCSI Device ID: The LUN is not the only way to identify a logical unit. There
is also the SCSI Device ID, which identifies a logical unit uniquely in the world.
Labels or serial numbers stored in a logical unit's storage volume often serve to
identify the logical unit. However, the LUN is the only way for an initiator to
address a command to a particular logical unit, so initiators often create, via a
discovery process, a mapping table of LUN to other identifiers.
Context sensitive: The LUN identifies a logical unit only within the context of a
particular initiator. So two computers that access the same disk volume may
know it by different LUNs.
LUN 0: There is one LUN which is required to exist in every target: zero. The
logical unit with LUN zero is special in that it must implement a few specific
commands, most notably Report LUNs, which is how an initiator can find out all
the other LUNs in the target. But LUN zero need not provide any other services,
such as a storage volume.
Many SCSI targets contain only one logical unit (so its LUN is necessarily zero).
Others have a small number of logical units that correspond to separate physical
devices and have fixed LUNs. A large storage system may have up to thousands of
logical units, defined logically, by administrative command, and the administrator
may choose the LUN or the system may choose it.
Contents
[show]
[edit] Introduction
A typical Serial Attached SCSI system consists of the following basic components:
A SAS Domain, an I/O system, consists of a set of SAS devices that communicate
with one another by means of a service delivery subsystem. Each SAS device in a
SAS domain has a globally unique identifier (assigned by the device manufacturer
and similar to an Ethernet device's MAC address) called a World Wide Name
(WWN or SAS address). The WWN uniquely identifies the device in the SAS
domain just as a SCSI ID identifies a device in a parallel SCSI bus. A SAS domain
may contain up to a total of 65,535 devices.
The SAS bus operates point-to-point while the SCSI bus is multidrop. Each
SAS device is connected by a dedicated link to the initiator, unless an
expander is used. If one initiator is connected to one target, there is no
opportunity for contention; with parallel SCSI, even this situation could
cause contention.
SAS has no termination issues and does not require terminator packs like
parallel SCSI.
SAS supports a higher transfer speed (3 or 6 Gbit/s) than most parallel SCSI
standards. SAS achieves these speeds on each initiator-target connection,
hence getting higher throughput, whereas parallel SCSI shares the speed
across the entire multidrop bus.
Systems identify SATA devices by their port number connected to the host
bus adapter, while SAS devices are uniquely identified by their World Wide
Name (WWN).
SAS protocol supports multiple initiators in a SAS domain, while SATA has
no analogous provision.
Most SAS drives provide tagged command queuing, while most newer SATA
drives provide native command queuing, each of which has its pros and
cons.
SATA uses the ATA command set; SAS uses the SCSI command set. ATA
directly supports only direct-access storage. However SCSI commands may
be tunneled through ATA for devices such as CD/DVD drives.
SAS hardware allows multipath I/O to devices while SATA (prior to SATA
3Gb/s) does not. Per specification, SATA 3Gb/s makes use of port
multipliers to achieve port expansion. Some port multiplier manufacturers
have implemented multipath I/O using port multiplier hardware.
Because of its higher signaling voltages, SAS can use cables up to 10 m
(33 ft) long, SATA has a cable-length limit of 1 m (3 ft) or 2 m (6.6 ft) for
eSATA.
[edit] Characteristics
The Serial Attached SCSI standard defines several layers (in order from highest to
lowest):
Application
Transport
Port
Link
PHY
Physical
For the Link and PHY layers, SAS defines its own unique protocol.
At the physical layer, the SAS standard defines connectors and voltage levels. The
physical characteristics of the SAS wiring and signaling are compatible with and
have loosely tracked that of SATA up to the present 6 Gbit/s rate, although SAS
defines more rigorous physical signaling specifications as well as a wider allowable
differential voltage swing intended to support longer cabling. While SAS-1.0/SAS-
1.1 adopted the physical signaling characteristics of SATA at the 1.5 Gbit/s and
3 Gbit/s rates, SAS-2.0 development of a 6 Gbit/s physical rate led the
development of an equivalent SATA speed. According to the SCSI Trade
Association, 12 Gbit/s is slated to follow 6 Gbit/s in a future SAS-3.0 specification.
[edit] Architecture
PHY Layer:
Link layer:
o Primitive encoding
o Establish and tear down native connections between SAS targets and
initiators
Port layer:
o Combining multiple PHYs with the same addresses into wide ports
Transport layer:
Application layer