Data management small computer system interface (SCSI) extender for extending SCSI communications between SCSI interfaces located relatively far apart
First Claim
1. A method of extending SCSI communications between at least two SCSI interfaces comprising the steps of:
- receiving SCSI signals from one of the at least two SCSI interfaces, parallel loading the SCSI signals from the one of the at least two SCSI interfaces into a parallel register, serializing the SCSI signals from the one of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the parallel register over an optical communication system, converting the transmitted serial data back to the SCSI signals from the one of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the one of the at least two SCSI interfaces into a data management and driver system;
using the data management and driver system to manage and drive the SCSI signals from the one of the at least two SCSI interfaces to another of the at least two SCSI interfaces;
receiving SCSI signals from the another of the at least two SCSI interfaces, parallel loading the SCSI signals from the another of the at least two SCSI interfaces into another parallel register, serializing the SCSI signals from the another of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the another parallel register over another optical communication system, converting the transmitted serial data back to the SCSI signals from the another of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the another of the at least two SCSI interfaces into another data management and driver system, and using the another data management and driver system to manage and drive the SCSI signals from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces;
wherein the step of shifting and receiving from the one of the at least two SCSI interfaces further comprises the steps of;
receiving the SCSI signals from the one of the at least two SCSI interfaces, arbitrating between the SCSI signals as to which of the SCSI signals are to be transmitted to the another of the at least two SCSI interfaces, selecting a set of the SCSI signals that the one of the at least two SCSI interfaces will transmit to the another of the at least two SCSI interfaces, and driving the set of the SCSI signals from the one of the at least two SCSI interfaces to the another of the at least two interfaces; and
wherein the arbitrating step further comprises the step of;
receiving a bit from twenty seven bits of the converted back SCSI signals from the one of the at least two SCSI interfaces, determining whether the bit is equal to one and a bus value of the another of the at least two SCSI interfaces equals zero, driving the bus value to equal one if the bit is equal to one and the bus value is equal to zero, determining whether the bit is equal to zero and the bus value is equal to one if the bit is not equal to one and the bus value is not equal zero, stopping drive of the bus value to allow the bus value to equal zero if the bit is equal to zero and the bus value is equal to one, moving directly to determine if all of the twenty seven bits have been processed if the bit is equal to the bus value, determining if all of the twenty seven bits have been processed, obtaining a next bit and repeating the above steps if all of the twenty seven bits have not been processed, and determining whether a select has been activated to end the arbitrating step.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved system and method for extending interface communications for a SCSI. The system and method provides SCSI extenders that are able to extend SCSI communications over relatively long distances between at least two SCSI interfaces while also being fast and efficient in operation and inexpensive in implementation. The present system and method reduces latency, buffering, error recovery code, and other such additional hardware and software. SCSI signals are received from one SCSI interface, and the SCSI signals from the one SCSI interface are parallel loaded into a parallel register. The SCSI signals from the one SCSI interface are serialized into serial data, and the serial data from the parallel register is transmitted over an optical communication system. The transmitted serial data is converted back to the SCSI signals that were originally from the one SCSI interface. The SCSI signals that were originally from the one SCSI interface are received by and shifted into a data management and driver system, and the data management and driver system is used to manage and drive the SCSI signals from the one SCSI interface to another SCSI interface. The same system and methodology is applied to extend communications in both directions between the at least two SCSI interfaces. The data management and driver system arbitrates, selects, and drives SCSI signals from one SCSI interface to another SCSI interface. The data management and driver system includes a receive serial shift register and a driver logic device.
24 Citations
13 Claims
-
1. A method of extending SCSI communications between at least two SCSI interfaces comprising the steps of:
-
receiving SCSI signals from one of the at least two SCSI interfaces, parallel loading the SCSI signals from the one of the at least two SCSI interfaces into a parallel register, serializing the SCSI signals from the one of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the parallel register over an optical communication system, converting the transmitted serial data back to the SCSI signals from the one of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the one of the at least two SCSI interfaces into a data management and driver system;
using the data management and driver system to manage and drive the SCSI signals from the one of the at least two SCSI interfaces to another of the at least two SCSI interfaces;
receiving SCSI signals from the another of the at least two SCSI interfaces, parallel loading the SCSI signals from the another of the at least two SCSI interfaces into another parallel register, serializing the SCSI signals from the another of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the another parallel register over another optical communication system, converting the transmitted serial data back to the SCSI signals from the another of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the another of the at least two SCSI interfaces into another data management and driver system, and using the another data management and driver system to manage and drive the SCSI signals from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces;
wherein the step of shifting and receiving from the one of the at least two SCSI interfaces further comprises the steps of;
receiving the SCSI signals from the one of the at least two SCSI interfaces, arbitrating between the SCSI signals as to which of the SCSI signals are to be transmitted to the another of the at least two SCSI interfaces, selecting a set of the SCSI signals that the one of the at least two SCSI interfaces will transmit to the another of the at least two SCSI interfaces, and driving the set of the SCSI signals from the one of the at least two SCSI interfaces to the another of the at least two interfaces; and
wherein the arbitrating step further comprises the step of;
receiving a bit from twenty seven bits of the converted back SCSI signals from the one of the at least two SCSI interfaces, determining whether the bit is equal to one and a bus value of the another of the at least two SCSI interfaces equals zero, driving the bus value to equal one if the bit is equal to one and the bus value is equal to zero, determining whether the bit is equal to zero and the bus value is equal to one if the bit is not equal to one and the bus value is not equal zero, stopping drive of the bus value to allow the bus value to equal zero if the bit is equal to zero and the bus value is equal to one, moving directly to determine if all of the twenty seven bits have been processed if the bit is equal to the bus value, determining if all of the twenty seven bits have been processed, obtaining a next bit and repeating the above steps if all of the twenty seven bits have not been processed, and determining whether a select has been activated to end the arbitrating step. - View Dependent Claims (2, 3, 4, 5, 6, 7)
transmitting two idles for maintaining synchronization of the serializing step, and transmitting a four word frame from the serial data.
-
-
3. The method according to claim 2, wherein the transmitting steps are continuously repeated.
-
4. The method according to claim 1 wherein the shifting and receiving steps each further comprises the steps of:
-
receiving a four word frame from the serial data, and receiving two idles for maintaining synchronization of the converting step.
-
-
5. The method according to claim 4, wherein the receiving steps are continuously repeated.
-
6. The method according to claim 1 wherein:
-
the shifting and receiving steps each further comprises the step of receiving the converted back SCSI signals in a receive serial shift register that is in communication with a driver logic device, and the using the data management and driver system steps each further comprises the step of using the driver logic device to manage and drive the SCSI signals.
-
-
7. The method according to claim 1 wherein the selecting step further comprises the step of:
selecting the SCSI signals with priority and dropping the SCSI signals without priority.
-
8. A method of extending SCSI communications between at least two SCSI interfaces comprising the steps of:
-
receiving SCSI signals from one of the at least two SCSI interfaces, parallel loading the SCSI signals from the one of the at least two SCSI interfaces into a parallel register, serializing the SCSI signals from the one of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the parallel register over an optical communication system, converting the transmitted serial data back to the SCSI signals from the one of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the one of the at least two SCSI interfaces into a data management and driver system, and using the data management and driver system to manage and drive the SCSI signals from the one of the at least two SCSI interfaces to another of the at least two SCSI interfaces;
receiving SCSI signals from the another of the at least two SCSI interfaces, parallel loading the SCSI signals from the another of the at least two SCSI interfaces into another parallel register, serializing the SCSI signals from the another of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the another parallel register over another optical communication system, converting the transmitted serial data back to the SCSI signals from the another of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the another of the at least two SCSI interfaces in to another data management and driver system, and using the another data management and driver system to manage and drive the SCSI signals from the another of the at least two SCSI interfaces to the one of the SCSI interfaces;
wherein the step of shifting and receiving from the one of the at least two SCSI interfaces receiving the SCSI signals from the one of the at least two SCSI interfaces, arbitrating between the SCSI signals as to which of the SCSI signals are to be transmitted to the another of the at least two SCSI interfaces, selecting a set of the SCSI signals that the one of the at least two SCSI interfaces will transmit to the another of the at least two SCSI interfaces, and driving the set of the SCSI signals from the one of the at least two SCSI interfaces to the another of the at least two interfaces;
wherein the step of driving the set of the SCSI signals further comprises the steps of;
determining whether an input/output control signal from the SCSI signals has an one value, driving all outbound control lines at the another of the at least two interfaces to data having new values based on the SCSI signals which are inbound from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces if the input/output control signal is equal to one, and driving all outbound control lines and data busses at the another of the at least two interfaces to data having new values based on the SCSI signals which are outbound from the one of the at least two SCSI interfaces to the another of the at least two SCSI interfaces if the input/output control signal is equal to zero. - View Dependent Claims (9)
determining whether a bus at the another of the at least two SCSI interfaces is free, repeating the steps for the driving step if the bus is not free, and repeating all of the method steps if the bus is free.
-
-
10. A method of extending SCSI communications between at least two SCSI interfaces comprising the steps of:
-
receiving SCSI signals from one of the at least two SCSI interfaces, parallel loading the SCSI signals from the one of the at least two SCSI interfaces into a parallel register, serializing the SCSI signals from the one of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the parallel register over an optical communication system, converting the transmitted serial data back to the SCSI signals from the one of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the one of the at least two SCSI interfaces into a data management and driver system, and using the data management and driver system to manage and drive the SCSI signals from the one of the at least two SCSI interfaces to another of the at least two SCSI interfaces;
receiving SCSI signals from the another of the at least two SCSI interfaces, parallel loading the SCSI signals from the another of the at least two SCSI interfaces into another parallel register, serializing the SCSI signals from the another of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the another parallel register over another optical communication system, converting the transmitted serial data back to the SCSI signals from the another of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the another of the at least two SCSI interfaces into another data management and driver system, and using the another data management and driver system to manage and drive the SCSI signals from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces;
wherein the step of shifting and receiving from the one of the at least two SCSI interfaces receiving the SCSI signals from the one of the at least two SCSI interfaces, arbitrating between the SCSI signals as to which of the SCSI signals are to be transmitted to the another of the at least two SCSI interfaces, selecting a set of the SCSI signals that the one of the at least two SCSI interfaces will transmit to the another of the at least two SCSI interfaces, and driving the set of the SCSI signals from the one of the at least two SCSI interfaces to the another of the at least two interfaces;
wherein the arbitrating step further comprises the step of;
receiving a bit from twenty seven bits of the converted back SCSI signals from the another of the at least two SCSI interfaces, determining whether the bit is equal to one and a bus value of the one of the at least two SCSI interfaces equals zero, driving the bus value to equal one if the bit is equal to one and the bus value is equal to zero, determining whether the bit is equal to zero and the bus value is equal to one if the bit is not equal to one and the bus value is not equal zero, stopping drive of the bus value to allow the bus value to equal zero if the bit is equal to zero and the bus value is equal to one, moving directly to determine if all of the twenty seven bits have been processed if the bit is equal to the bus value, determining if all of the twenty seven bits have been processed, obtaining a next bit and repeating the above steps if all of the twenty seven bits have not been processed, and determining whether a select has been activated to end the arbitrating step if all of the twenty seven bits have been processed. - View Dependent Claims (11)
selecting the SCSI signals with priority and dropping the SCSI signals without priority.
-
-
12. A method of extending SCSI communications between at least two SCSI interfaces comprising the steps of:
-
receiving SCSI signals from one of the at least two SCSI interfaces, parallel loading the SCSI signals from the one of the at least two SCSI interfaces into a parallel register, serializing the SCSI signals from the one of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the parallel register over an optical communication system, converting the transmitted serial databack to the SCSI signals from the one of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the one of the at least two SCSI interfaces into a data management and driver system, and using the data management and driver system to manage and drive the SCSI signals from the one of the at least two SCSI interfaces to another of the at least two SCSI interfaces;
wherein the shifting and receiving step from the another of the at least two SCSI interfaces receiving the SCSI signals from the another of the at least two SCSI interfaces, arbitrating between the SCSI signals as to which of the SCSI signals are to be transmitted to the one of the at least two SCSI interfaces, selecting a set of the SCSI signals that the another of the at least two SCSI interfaces will transmit to the one of the at least two SCSI interfaces, and driving the set of the SCSI signals from the another of the at least two SCSI interfaces to the one of the at least two interfaces;
receiving SCSI signals from the another of the at least two SCSI interfaces, parallel loading the SCSI signals from the another of the at least two SCSI interfaces into another parallel register, serializing the SCSI signals from the another of the at least two SCSI interfaces into serial data, transmitting the serial data derived from the another parallel register over another optical communication system, converting the transmitted serial data back to the SCSI signals from the another of the at least two SCSI interfaces, shifting and receiving the SCSI signals from the another of the at least two SCSI interfaces into another data management and driver system, and using the another data management and driver system to manage and drive the SCSI signals from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces;
wherein the step of driving the set of the SCSI signals further comprises the steps of;
determining whether an input/output control signal from the SCSI signals has an one value, driving all inbound control lines and data busses at the one of the at least two interfaces to data having new values based on the SCSI signals which are inbound from the one of the at least two SCSI interfaces to the another of the at least two SCSI interfaces if the input/output control signal is equal to one, and driving all inbound control lines at the one of the at least two interfaces to data having new values based on the SCSI signals which are outbound from the another of the at least two SCSI interfaces to the one of the at least two SCSI interfaces if the input/output control signal is equal to zero. - View Dependent Claims (13)
determining whether a bus at the one of the at least two SCSI interfaces is free, repeating the steps for the driving step if the bus is not free, and repeating all of the method steps if the bus is free.
-
Specification