Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus expansion or extension
Reexamination Certificate
2002-02-05
2004-10-12
Ray, Gopal C. (Department: 2111)
Electrical computers and digital data processing systems: input/
Intrasystem connection
Bus expansion or extension
C710S031000, C370S230000, C709S224000
Reexamination Certificate
active
06804739
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to message transfers over a SCSI bus between a SCSI target and a SCSI initiator, and more particularly to message transfers over a SCSI bus between a SCSI target and a SCSI initiator that pass through a SCSI expander.
2. Description of Related Art
As the performance of computer systems and computer networks has improved, the performance demands on buses in these systems and networks has steadily increased. In SCSI systems, as the SCSI data rates increased, the SCSI bus cabling became a significant source of signal distortion. With the higher SCSI data rates, attenuation of high frequency components of SCSI data signals, signal reflections along an individual line of a SCSI cable, skew of signal timings across multiple cable lines, and cross-talk of signals across multiple cable lines have constrained SCSI cable lengths. All of these effects distort SCSI signals making reliable detection of the SCSI signals increasingly more difficult.
A device, call a SCSI expander, was created to restore signal quality along a SCSI bus. Actually, the use of expander in the name of the device was a misnomer. Calling the device a SCSI repeater or a SCSI extender would have been more descriptive of the functionality of the device. A SCSI expander, as used herein, is a device that does not increase the total number of target SCSI devices on the SCSI bus, but does restore signal quality along the SCSI bus.
SCSI expanders were inserted at points along a SCSI bus between SCSI initiators and SCSI target devices to clean up signals on the SCSI bus. A SCSI expander received SCSI signals from a first expander port, and retransmitted the SCSI signals out a second expander port. The retransmitted SCSI signals had less distortion than the received SCSI signals thereby enabling longer total SCSI bus lengths.
The introduction of SCSI expanders permitted changes in the SCSI bus topology. A SCSI bus without SCSI expanders had a one-dimensional topology. However, as illustrated in
FIG. 1
, a SCSI bus
100
with SCSI expanders
110
_
1
to
110
_
3
has a two-dimensional topology.
A first dimension
150
of the two-dimensional topology was defined by SCSI expanders
110
_
1
to
110
_
3
that were connected in series. A first expander
110
_
1
had a first port connected to initiator
120
and a second port connected to a first port of expander
110
_
2
. A second port of expander
110
_
2
was connected to a first port of expander
110
_
3
.
A second dimension
160
of the two-dimensional topology was defined by multiple daisy chains of SCSI target devices. Specifically, SCSI target devices
111
and
112
were connected to the second port of expander
110
_
1
. SCSI target devices
113
and
114
were connected to the second port of expander
110
_
2
and SCSI target devices
115
and
116
were connected to the second port of expander
110
_
3
. While the total number of SCSI target devices that could be connected to initiator
120
was not increased by the use of SCSI expanders, other more complex two-dimensional topologies of initiators, SCSI target devices, expanders and SCSI bus segments could be constructed.
Since SCSI expanders
110
_
1
to
110
_
3
only restored signal quality along SCSI bus
100
, the presence of expanders
110
_
1
to
110
_
3
on SCSI bus
100
was not known either to initiator
120
, or to SCSI target devices
111
to
116
. Initiator
120
and SCSI target devices
111
to
116
conducted transactions over SCSI bus
100
using the same protocol as when expanders were not present. SCSI expanders
110
_
1
to
110
_
3
simply transferred communications from one port to another, and did not directly communicate with either initiators or SCSI target devices.
SUMMARY OF THE INVENTION
According to one embodiment of the present invention, a SCSI expander includes a capability for selectively delaying, saving, and modifying messages transferred between a SCSI initiator, sometimes called an initiator, and a SCSI target device, sometimes called a target. This novel message snooping capability has several advantages. It allows the SCSI expander to accurately follow the many different message sequences that can occur in SCSI data transfer options negotiations. It allows the SCSI expander to save information with respect to the data transfer options context for each SCSI initiator and SCSI target device pair on the SCSI bus. Finally, it allows the SCSI expander to be used in heterogeneous SCSI systems, i.e., in SCSI systems where a SCSI initiator, a SCSI target, and the SCSI expander may support different SCSI characteristics, such as data transfer rates, or perhaps signal conditioning requirements.
In one embodiment, traffic on a SCSI bus that is passed between a first port and a second port of the SCSI expander is monitored for a pre-selected message, or any message in a set of pre-selected messages. The pre-selected messages include messages used to negotiate SCSI data transfer options between an initiator and a target.
When the SCSI expander detects one of the pre-selected messages, transfer of the message between the first and second ports is delayed. The pre-selected message is loaded into a buffer and when a predefined number of units of the pre-selected message, e.g., the complete pre-selected message, is in the buffer, a processor processes the message.
The processing can include simply saving for future use information in the delayed pre-selected message that characterizes the data transfer options. In one embodiment, the processing by the processor modifies the data transfer options so that the data transfer options negotiated between the SCSI initiator and the SCSI target are supported by the SCSI expander. After the processor completes processing the delayed pre-selected message, the pre-selected message is passed out of the expander.
In one embodiment, the pre-selected message is delayed by delaying transfer of only a last unit of the pre-selected message between the first and second ports. Herein, a message includes at least one unit, e.g., a byte, or a word, and may include a plurality of units.
In another embodiment, the complete message is delayed. In general, a portion of the message from a pre-selected unit of the message thru the last unit of the message is delayed. In the first mentioned embodiment, the pre-selected unit is the last unit and in the second mentioned embodiment, the pre-selected unit is the first unit. In yet another embodiment, the pre-selected unit is a unit between the first unit and the last unit of the pre-selected message. After processing, the portion of the pre-selected message that has not been transferred between the first and second ports is released.
Hence, a SCSI expander, in one embodiment of the present invention, includes a first port, a second port, and a message delay buffer coupled to the first port and to the second port. The SCSI expander also includes a message snooping status comprising a plurality of message status flags and a message-snooping logic circuit coupled to the message delay buffer and to the message snooping status. Upon detection of a pre-selected message being transferred between the first and second ports, the message-snooping logic circuit (i) asserts one of the plurality of message status flags, (ii) enables the message delay buffer to receive the selected message, and (iii) delays transfer of the pre-selected message between the first and second ports.
In one embodiment, one of the plurality of message status flags includes a message-delay status flag. The plurality of message status flags also includes a message-direction flag having a first state and a second state where the particular state of the message-direction flag indicates a direction of transfer of the message between the first and second ports. The plurality of message status flags further includes a message-received status flag having first and second states where the second state of the message-received status flag indicates the message delay buffer contains
Goh Wei Chuan
Packer John S.
Young B. Arlen
Adaptec, Inc.
Gunnison Forrest
Gunnison McKay & Hodgson, L.L.P.
Ray Gopal C.
LandOfFree
Structure and method for message snooping in SCSI bus expanders does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Structure and method for message snooping in SCSI bus expanders, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Structure and method for message snooping in SCSI bus expanders will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3279803