home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
magazine
/
aum005.zip
/
FILE2.005
< prev
next >
Wrap
Text File
|
1993-07-07
|
18KB
|
307 lines
What's New in SCSI-2
Scuzzy is the pronunciation and SCSI (Small Computer System
Interface) is the acronym, for the best known and most widely used ANSI
(American National Standards Institute) interface.
Despite use of the term "Small" in its name, everyone has to agree
that Scuzzy is large - in use, in market impact, in influence, and
unfortunately, in documentation. The standards effort that began with a
20-page specification in 1980 has grown to a 600 page extravaganza of
technical information.
Even before ANSI (American National Standards Institute) published
the first run of SCSI as standards document in 1986, ASC (Accredited
Standards Committee) X3T9.2 was hard at work on SCSI-2.
No technical rationale can be offered as to why SCSI-1 ended and
SCSI-2 began, or as to why SCSI-2 ended and SCSI-3 began. The justification
is much more simple - you have to stop sometime and get a standard printed.
Popular interfaces never stop evolving, adapting, and expanding to meet
more uses than originally envisaged.
Interfaces even live far beyond their technological lifespan. SMD
(Storage Module Drive) has been called technically obsolete for 5 years
but every year there are more megabytes shipped on the SMD interface than
the year before. This will probably continue for another year or so before
the high point is reached, and it will at least a decade before SMD is
considered to be insignificant.
If SCSI enhancements are cut off at an arbitrary point, what
initiates the decision? Impatience is as good an answer as any. The
committee and the market get sick of promises that the revision process
will "end soon," and assert pressure to "do it now."
The SCSI-3 effort is actively under way right now, and the workload
of the committee seems to be no less than it was a year ago. What is
pleasant, is that the political pressures have eased.
There is a major difference between the standards for SCSI in 1986
and SCSI-2 in 1990. The stated goal of compatibility between manufacturers
had not been achieved in SCSI in 1986 due to a proliferation of undocumented
"features."
Each implementation was different enough that new software drivers
had to be written for each device. OEMs defined variations in hardware that
required custom development programs and unique microcode. Out of this
diversity arose a cry for commonality that turned into CCS (Common Command
Set), and became so popular that it took on an identity of its own.
CCS defined the data structures of Mode Select and Mode Sense
commands, defect management on the Format command and error recovery
procedures. CCS succeeded because the goals were limited, the objectives
clear and the time was right.
CCS was the beginning of SCSI-2, but it was only for disks. Tape
and optical disks suffered from diversity, and so it was that the first
working group efforts on SCSI-2 were focused on tapes and optical disks.
However, opening up a new standards effort is like lifting the lid on
Pandora's Box - its hard to stay focused on a single task. SCSI-2 went far
beyond extending and consolidating CCS for multiple device types.
SCSI-2 represents three years of creative thought by some of the
best minds in the business. Many of the new features will be useful only in
advanced systems; a few will find their way into the average user's system.
Some may never appear in any useful form and will atrophy, as did some
original SCSI features like Extended Identify.
Before beginning coverage of "what's new in SCSI-2," it might be
well to list some of the things that aren't new. The silicon chips
designed for SCSI are still usable. No new features were introduced which
obsolete chips. The cause of silicon obsolescence has been rapid market
shifts in integrating functions to provide higher performance.
Similarly, initiators which were designed properly, according to
SCSI in 1986, will successfully support SCSI-2 peripherals. However, it
should be pointed out that not all the initiators sold over the last few
years behaved according to the standard, and they can be "blown away" by
SCSI-2 targets.
The 1986 standard allows either initiators or targets to begin
negotiation for synchronous transfers, and requires that both initiators
and targets properly handle the sequence. A surprisingly large percentage
of SCSI initiators will fail if the target begins negotiation. This has not
been as much of a problem to date as it will become in the future, and you
know as well as I do, that these non-compliant initiators are going to
blame the SCSI-2 targets for being "incompatible."
Quirks in the 1986 standard, like 4 bytes being transferred on
Request Sense, even if the requested length was zero have been corrected
in SCSI-2. Initiators which relied on this quirk instead of requesting
4 bytes will get into trouble with a SCSI-2 target.
A sincere effort has been made to ensure that a 1986-compliant
initiator does not fail or have problems with a SCSI-2 target. If problems
occur, look for a non-compliant initiator before you blame the SCSI-2
standard.
After that little lecture, let us turn to the features you will
find in SCSI-2 which include:
o Wide SCSI: SCSI may now transfer data at bus widths of 16 and
32 bits. Commands, status, messages and arbitration
are still 8 bits, and the B-Cable has 68 pins for data bits. Cabling was a
confusing issue in the closing days of SCSI-2, because the first project of
SCSI-3 was the definition of a 16-bit wide P-Cable which supported 16-bit
arbitration as well as 16-bit data transfers. Although SCSI-2 does not
contain a definition of the P-Cable, it is quite possible that within the
year, the P-Cable will be most popular non-SCSI-2 feature on SCSI-2
products. The market responds to what it wants, not the the arbitrary
cutoffs of standards committees.
o Fast SCSI: A 10 MHz transfer rate for SCSI came out of a joint
effort with the IPI (Intelligent Peripheral Interface)
committee in ASC X3T9.3. Fast SCSI achieves 10 Megabytes/second on the
A-Cable and with wider data paths of 16- and 32-bits can rise to 20
Megabytes/second and even 40 Megabytes/second. However, by the time the
market starts demanding 40 Megabytes/second it is likely that the effort
to serialize the physical interface for SCSI-3 will attract high-performance
SCSI users to the Fiber Channel.
A word of caution. At this time the fast parameters cannot be met
by the Single Ended electrical class, and is only suitable for Differential.
One of the goals in SCSI-3 is to identify the improvements needed to achieve
10 MHz operation with Single Ended components.
o Termination: The Single Ended electrical class depends on very tight
termination tolerances, but the passive 132 ohm termination defined in 1986
is mismatched with the cable impedance (typically below 100 ohms). Although
not a problem at low speeds when only a few devices are connected,
reflections can cause errors when transfer rates increase and/or more
devices are added. In SCSI-2, an active terminator has been defined which
lowers termination to 110 ohms and is a major boost to system integrity.
o Bus Arbitration, Parity and the Identify Message were options of
SCSI, but are required in SCSI-2. All but the
earliest and most primitive SCSI implementations had these features anyway,
so SCSI-2 only legitimizes the de-facto market choices. The Identify message
has been enhanced to allow the target to execute processes, so that commands
can be issued to the target and not just the LUNs.
o Connectors: The tab and receptacle microconnectors chosen for
SCSI-2 are available from several sources. A smaller
connector was seen as essential for the shrinking form factor of disk
drives and other peripherals. This selection was one of the most argued
over and contentious decisions made during SCSI-2 development.
o Rotational Position Locking: A rose by any other name, this feature
defines synchronized spindles, so than
an initiator can manage disk targets which have their spindles locked in a
known relative position to each other. Synchronized disks do not all have to
be at Index, they can be set to an offset in time relative to the master
drive. By arraying banks of synchronized disks, faster transfer rates can
be achieved.
o Contingent Allegiance: This existed in SCSI-1, even though it was
not defined, and is required to prevent the
corruption of error sense data. Targets in the Contingent Allegiance state
reject all commands from other initiators until the error status is cleared
by the initiator that received the Check Condition when the error occurred.
Deferred errors were a problem in the original SCSI but were not
described. A deferred error occurs in buffered systems when the target
advises Good Status when it accepts written data into a buffer. Some time
later, if anything goes wrong when the buffer contents are being written
to the media, you have a deferred error.
o Extended Contingent Allegiance (ECA): This extends the utility of
the Contingent Allegiance
state for an indefinite period during which the initiator that received the
error can perform advanced recovery algorithms.
o Asynchronous Event Notification (AEN): This function compensates
for a deficiency in the
original SCSI which did not permit a target to advise the initiator of
asynchronous events such as a cartridge being loaded into a tape drive.
o Mandatory Messages: The list of mandated messages has grown:
+----------------------+--------------------------+-------------------+
| Both | Target | Initiator |
+----------------------+--------------------------+-------------------|
| Identify | Abort | Disconnect |
| | | |
| Message Reject | No Operation | Restore Pointer |
| | | |
| Message Parity Error | Bus Device Reset | Save Data Pointer |
| | | |
| | Initiator Detected Error | |
+----------------------+--------------------------+-------------------+
o Optional messages have been added to negotiate wide transfers and
Tags to support command queueing. A last-minute inclusion in SCSI-2 was the
ability to Terminate I/O and receive the residue information in Check
Condition status (so that only the incomplete part of the command need be
re-started by the initiator).
o Command Queueing: In SCSI-1, initiators were limited to one command
per LUN e.g. a disk drive. Now up to 256 commands
can be outstanding to one LUN. The target is allowed to re-sequence the
order of command execution to optimize seek motions. Queued commands require
Tag messages which follow the Identify.
o Disk Cacheing: Two control bits are used in the CDB (Command
Descriptor Block) to control whether the cache is
accessed on a Read or Write command, and some commands have been added to
control pre-fetching and locking of data into the cache. Users do not have
to change their software to take advantage of cacheing, however, as the Mode
Select/Mode Sense Cache page allows parameters to be set which optimize the
algorithms used in the target to maximize cache performance. Here is another
area in which improvements have already been proposed in SCSI-3, and will
turn up in SCSI-2 products shipping later this year.
o Sense Keys and Sense Codes have been formalized and extended. A
subscript byte to the Sense Code has been added to provide specifics on the
type of error being reported. Although of little value to error recovery,
the additional information about error causes is useful to the engineer who
has to analyze failures in the field, and can be used by host systems as
input to prognostic analysis to anticipate fault conditions.
o Commands: Many old commands have been reworked and several new
commands have been added.
o Pages: Some method had to be found to pass parameters between host
and target, and the technique used is known as pages. The
concept was introduced in CCS and has been expanded mightily in SCSI-2.
A number of new Common Commands have been added, and the opcode
space for 10-byte CDBs has been doubled.
o Change Definition allows a SCSI-2 initiator to instruct a SCSI-2
target to stop executing according to the 1986 standard, and provide
advanced SCSI-2 features. Most SCSI-2 targets will power on and operate
according to the 1986 standard (so that there is no risk of "disturbing"
the installed initiators, and will only begin operating in SCSI-2 mode,
offering access to the advanced SCSI-2 capabilities, after being instructed
to do so by the initiator using the Change Definition command.
o The Mode Select and Mode Sense pages which describe parameters for
operation have been greatly expanded, from practically nothing in 1986 to
hundreds of items in SCSI-2. Whenever you hear of something being described
as powerful and flexible tool, think complicated. Integrators are advised to
be judicious in their selection of the pages they decide to support.
o the Inquiry command now provides all sorts of interesting data
about the target and its LUNs. Some of this is fixed by the standard, but
the main benefit may be in the Vendor Unique data segregated into the special
designation of Vital Product Data, which can be used by integrators as a
tool to manage the system environment.
o Select Log and Sense Log have been added so that the initiator can
gather both historical (e.g. all Check Conditions) and statistical (e.g.
number of soft errors requiring ECC) data from the target.
o Diagnostic capabilities have been extended on the Read/Write Buffer
and Read/Write Long commands. The ways in which the target can manage bad
blocks in the user data space have been defined further and regulated to
reduce inconsistencies in the 1986 standard. A companion capability to Read
Defect Data permits the initiator to use a standard method to be advised of
drive defect lists.
o A new group of 12-byte command blocks has been defined for all
optical devices to support the large volume sizes and potentially large
transfer lengths. The Erase command has been added for rewritable optical
disks so that areas on the media can be pre-erased for subsequent recording.
Write Once disks need Media Scan, so that the user can find blank areas on
the media.
o New command sets have been added for Scanners, Medium Changers,
and CD ROMs.
All of this technical detail can get boring, so how about some
"goodies" in SCSI-2 which benefit the common man and help the struggling
engineer? First, and probably the best feature in SCSI-2 is that the
document has been alphabetized. No longer do you have to embark on a hunt
for the Read command because you cannot remember the opcode.
In the 1986 standard, everything was in numeric sequence, and the only
engineers who could find things easily were the microprogrammers who had
memorized all the message and opcode tables. Now, ordinary people can find
the Read command because it is in alphabetic sequence. This reorganization
may sound like a small matter but it wasn't, it required a considerable
amount of effort on the part of the SCSI-2 editors. It was well worth it.
Another boon is the introduction for each device class of models which
describe the device class characteristics. The tape model was the most
needed, because various tape devices use the same acronym but with different
meanings or different acronyms for the same meaning.
The SCSI-2 tape model defines the terms used by SCSI-2, and how they
correspond to the acronyms of the different tapes. For example, on a 9-track
reel, End of Tape is a warning, and there is sufficient media beyond the
reflective spot to record more data and a trailer. Not so on a 1/4" tape
cartridge, End of Tape means out of media and no more data can be written.
This sort of difference in terms causes nightmares for standardization
efforts.
So there it is, a summary of what is in SCSI-2. Its not scary,
although it is daunting to imagine plowing through a 600-page document.
Time for a commercial here. The "SCSI Bench Reference" available from ENDL
Publications (408-867-6642), is a compaction of the standard. It takes the
10% of SCSI-2 which is constantly referenced by any implementor, and puts it
in an easy-to-use reference format in a small handbook. The author is Jeff
Stai, one of the earliest engineers to become involved with SCSI
implementation, and a significant contributor to the development of both
the 1986 standard and SCSI-2.