Method and apparatus for detecting handshaking protocol...

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S750000

Reexamination Certificate

active

06389568

ABSTRACT:

FIELD OF THE INVENTION
The invention relates generally to a method and logic circuitry for detecting handshaking protocol errors that may occur during asynchronous transfer of data over a data bus. More particularly, the present invention relates to detecting handshaking protocol error conditions and communicating the error conditions to a data sender to enable a subsequent retry of the data transmission.
BACKGROUND OF THE INVENTION
As illustrated in
FIG. 1
, data is typically transmitted back and forth between a host computer system or initiator
10
and peripheral devices or targets, such as disk drives
5
, tape drives
6
, or printers
7
, over a data communication bus
15
. The data communication bus
15
couples the initiator
10
and the target devices
5
,
6
, and
7
together and enables the exchange of data between the system and the devices. One type of data communication bus is a Small Computer System Interconnect (SCSI) data bus. A SCSI data bus can be configured in different ways and has several modes of operation. One configuration and mode of operation is known as SCSI wide bus which includes a sixteen bit data bus with associated control signals such as Busy (BSY), Select (SEL), Control/Data (C/D), Input/Output (I/O), Message (MSG), Request (REQ), Acknowledge (ACK), Attention (ATN), and Reset (RST). The SCSI data bus is connected to the initiator
10
via a host adapter
12
and is connected to target devices
5
,
6
, and
7
via device controllers
8
,
9
, and
11
. Each device controller is matched to the specific type of device connected to the SCSI bus as shown in FIG.
1
. The SCSI data bus
15
may be configured to include a plurality of target devices daisy chained together, where both the initiator, and the last target device connected to the bus (furthest from the initiator) are terminated with a bus terminator
16
. The bus terminator
16
includes circuitry for regulating the maximum and the minimum voltage levels on the SCSI data bus
15
.
Referring to
FIGS. 1 and 2
, when information is transferred back and forth between the initiator
10
and any one of the plurality of target devices
5
,
6
and
7
, a handshaking protocol is used to control the transfer of data on the data bus
15
connected therebetween. When transferring data, for example, from the disk drive
5
to the host
10
, the protocol commences the data transfer process by loading a data segment
40
on the data bus
15
. The protocol then pauses for a period of time defined as the set-up time. The set up time generally provides a predetermined period of time for the data receiving entity to latch the data segment
40
previously loaded on to the data bus
15
. Next, the disk drive target
5
asserts a REQ control signal
20
at a time A over a control line of the data bus
15
. This REQ control signal
20
is received by the host initiator
10
and indicates to the initiator
10
that data (Data-
1
) is on the bus
15
and ready for transfer. The initiator
10
then latches the data and replies to the disk drive
5
with an assertion of an ACK control signal
30
at time B. This ACK control signal
30
indicates to the disk drive
5
that the initiator
10
has possession of the data segment
40
. Some time after receiving the ACK control signal
30
, e.g., at time C, the disk drive
5
deasserts the REQ control signal
20
for removing the data segment
40
from the data bus
15
. The initiator
10
senses that the REQ control signal
20
has been deasserted and responds by deasserting the ACK control signal
30
at time D. The above described handshaking protocol steps are cyclically repeated for each successive data segment (byte or word)
40
loaded on the data bus
15
by the disk drive
5
during transfer of a plurality of data segments
40
from the disk drive target
5
to the host initiator
10
.
Referring to
FIG. 3
, generally one problem can occur when either the initiator
10
detects a REQ control signal
20
that was not sent over the bus
15
by the disk drive
5
or the disk drive
5
detects an ACK control signal
30
that was not sent over the bus
15
by the host
10
. These false detections of REQ/ACK control signals,
20
and
30
respectively, occur as a result of noise pulse(s)
35
being introduced to the data bus
15
. Noise pulses
35
can be introduced to the data bus
15
, e.g. at time E, as a result of the bus
15
being exposed to EMI or RFI signals or by virtue of signal reflections occurring as a result of bus impedance mismatch or incorrect termination. Specifically, noise signals that appear on the data bus
15
can occur due to impedance mismatches between the initiator
10
and target devices
5
,
6
or
7
, or impedance mismatches between each of the plurality of target devices
5
,
6
and
7
. These noise pulses
35
are problematic to the handshaking protocol established between the initiator
10
and the target devices
5
,
6
or
7
, in that noise-pulse-induced false handshakes can cause either the initiator
10
or the target devices
5
,
6
and
7
to prematurely proceed to the next step of the handshaking data transfer protocol and thereby drop or lose a data sequence within a data block transfer.
By way of example and as illustrated in
FIG. 3
, in transferring a first data segment
40
a
from the disk drive
5
to the initiator
10
the drive
5
loads the first data segment
40
a
on to the data bus
15
, pauses for the set-up time, and then asserts a REQ control signal
20
at time A. Next, the initiator
10
asserts the ACK control signal
30
at time B indicating that the initiator
10
has latched the first data segment
40
a
. Shortly thereafter at time C the drive
5
responds by deasserting the REQ control signal
20
for removing the first data segment
40
a
from the bus
15
. However, when a noise pulse
35
or signal affects the ACK signal
30
, as illustrated in
FIG. 3
, the noise pulse
35
erroneously appears to the disk drive
5
as a deassertion of the ACK control signal
30
by the initiator
10
at time E. This noise pulse
35
occurs prior in time to a nominal deassertion of the ACK control signal
30
by the initiator
10
as at time D (See FIG.
2
).
The disk drive
5
then loads a second data segment
40
b
on the data bus
15
for subsequent transfer to the initiator
10
. Meanwhile, despite the presence of the noise pulse
35
on the ACK line, the initiator
10
still has not actually deasserted the ACK control signal
30
associated with the first data segment
40
a
being transferred and associated therewith. However, the disk drive
5
detects the noise pulse
35
as an asserted ACK control signal
30
associated with the first data segment
40
a
and erroneously associates this ACK control signal
30
as an acknowledgment by the initiator
10
that it has latched the second data segment
40
b
at time Z, FIG.
3
. Even though the initiator
10
has not latched the second data segment
40
b
, the disk drive
5
continues on with the handshaking protocol by deasserting the REQ control signal
20
associated with the second data segment
40
b
at time Y for removing the second data segment
40
b
from the bus
15
. The initiator
10
then deasserts the ACK control signal
30
at time D, which the initiator believes to be associated with the first data segment
40
a
, in anticipation of the disk drive
5
sending a second data segment
40
b
. However, in response to the noise pulse
35
on the ACK path
30
the disk drive
5
has already loaded and removed the second data segment
40
b
from the bus
15
. Therefore, the drive
5
erroneously loads a third data segment
40
c
onto the data bus
15
, pauses for the set-up time and asserts the REQ control signal
20
associated therewith at a time F. The initiator
10
then asserts ACK at a time G, and so forth.
Since the initiator
10
missed detecting the second data segment
40
b
, the initiator
10
will detect subsequent data segments transferred by the disk drive
5
with a one-data-segment
40
shift. This error condition results in the data bus

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for detecting handshaking protocol... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for detecting handshaking protocol..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for detecting handshaking protocol... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2845807

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.