Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus expansion or extension
Reexamination Certificate
2000-08-09
2004-03-16
Auve, Glenn A. (Department: 2189)
Electrical computers and digital data processing systems: input/
Intrasystem connection
Bus expansion or extension
C710S119000, C710S009000
Reexamination Certificate
active
06708242
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computer systems having a peripheral bus, and more particularly to methods for extending the number of devices that can be connected to a computer system via a peripheral bus.
2. Description of the Related Art
Modern computer systems often utilize one or more buses to connect to peripheral devices to enhance its resources. For example, the resources of a computer system may be substantially increased by connecting the computer system to one or more peripheral devices such as disk drives, tape drives, printers, scanners, optical drives, and the like. These peripheral devices are attached to the computer system by means of a peripheral bus (e.g., cable).
One of the most widely used peripheral buses is the well known small computer systems interface (SCSI) bus, which is defined in conformity with well known SCSI protocols (e.g., SCSI-1, SCSI-2, SCSI-3, etc.), which are incorporated herein by reference. The SCSI protocols are designed to provide an efficient peer-to-peer I/O interface between a host computer and its peripheral devices in a computer system.
FIG. 1
illustrates a block diagram of an exemplary computer system
100
having a host computer
102
, an SCSI host adapter
104
, a plurality of SCSI devices
106
, and an SCSI bus
108
. The SCSI host adapter
104
is coupled between the host computer
102
and the SCSI devices
106
. Specifically, the host computer
102
is coupled to the SCSI host adapter
104
by means of a host bus
110
such as a PCI bus or the like. On the other hand, the SCSI devices
106
are coupled to the host adapter
104
by means of the SCSI bus
108
. Under the conventional SCSI specifications, the SCSI bus
108
may connect up to 15 SCSI devices
106
to the host adapter
104
depending on the type of SCSI bus implemented. Since the SCSI host adapter
104
is, in reality, an SCSI device, up to 16 SCSI devices may be connected to the host computer
102
. The SCSI devices
106
may be devices such as disk drives, tape drives, printers, scanners, optical drives, or any other devices that meet the SCSI specification.
The host adapter
104
in the computer system
100
controls communication between the host computer
102
and the SCSI devices
106
and includes a host interface
112
and SCSI adapter circuitry
114
. The host interface
112
is configured to provide a physical connection between the host bus
110
and the SCSI adapter circuitry
114
. The SCSI host adapter circuitry
114
, on the other hand, is configured to receive data, address, and control signals from the host computer
102
via the host bus
110
and convert the signals into corresponding SCSI compatible data, address, and control signals. Conversely, the SCSI host adapter circuitry
114
is also configured to receive SCSI compatible data, address, and control signals from the SCSI devices
106
through the SCSI bus
108
and convert them into corresponding host-bus compatible data, addressing, and control signals. The SCSI host adapter chip
104
is well known in the art and may be implemented, for example, by using AIC-7890A™ packaged semiconductor device, which is available from Adaptec Inc., of Milpitas, Calif.
Currently, the SCSI bus
108
is generally implemented as a cable having a set of parallel wires. For example, the SCSI-1 cable has 50 wires. Of these 50 wires, eight wires are for data, one wire is for parity, nine wires are for control, 25 wires are for ground, and the remaining wires are for power or are reserved for future use. The eight data wires are used to carry eight bits of data in parallel. In general, conventional SCSI bus cables include either eight or 16 data wires for carrying eight or 16 bits, respectively, of data in parallel. The data wires in the bus thus define a datapath for communicating bits equal to the number of data wires in the bus.
A traditional SCSI bus may accommodate a plurality of SCSI devices up to a maximum number equal to the number of data bits in the SCSI bus. In practice, the width of the SCSI datapath is typically 8 or 16 bits corresponding to the number of data wires in the SCSI bus. This means the maximum number of SCSI devices, including a host adapter, that can be attached to a host computer is 8 or 16.
In recent years, however, the SCSI bus technology has evolved to a point where it is now capable of handling more data throughput than the connected SCSI devices, even at the maximum number of devices allowed for the bus, can generally utilize. For example, a recent SCSI standard commonly known as “SCSI Parallel Interface-3” (SPI-3), which is incorporated herein by reference, allows data transfer of 80 Megabytes per second (MB/sec) or 160 MB/sec on a wide bus.
Unfortunately, using such a high bandwidth bus for only the prescribed maximum number of peripheral devices results in under-utilization of the valuable bus resources. This is because the newer SCSI buses typically have sufficient bandwidth to accommodate more than the maximum prescribed number of devices, which is currently 16. At such high data transfer rates, the SCSI bus may not be utilized to its full capacity due to the limitation in the maximum number of devices that can be attached to the bus.
In view of the foregoing, what is needed is a method for extending the number of devices that can be connected to an SCSI bus and addressed efficiently so as to more fully utilize the increased data throughput capacity of the SCSI bus.
SUMMARY OF THE INVENTION
The present invention fills these needs by providing methods for addressing an extended number of peripheral devices over a peripheral bus. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, the present invention provides a method for addressing an extended number of peripheral devices over a bus. In this method, a bus having an N-bit datapath is provided in a computer system. An extended address space is defined for a set of extended peripheral devices by assigning a bus ID to each extended peripheral device. Each bus ID includes a group ID and a group member ID. Each group ID and group member ID also indicates a priority of the associated device. One or more peripheral devices arbitrate for the bus. In this process, a peripheral device having the highest priority group ID and the highest priority group member ID among the arbitrating devices wins the arbitration. After arbitration, the winning device selects, for transferring data, a device by placing on the bus the bus IDs of the selecting and selected devices. Preferably, the bus is an SCSI bus and the devices are SCSI devices. In another embodiment, the arbitration process is implemented in accordance with quick arbitration as defined by SPI-3.
In another embodiment, the present invention provides a method for addressing more than N peripheral devices that are coupled to a host computer system via a bus. The bus includes an N-bit datapath. The method includes: (a) defining an extended address space for (N/2)-by-(N/2) peripheral devices by assigning a bus ID to each peripheral device with each bus ID being associated with a first ID and a second ID, wherein each of the first and second IDs indicate a priority of the associated device; (b) arbitrating, by one or more peripheral devices, for the bus wherein a peripheral device having a highest priority first ID and a highest priority second ID wins the arbitration; (c) selecting, by the winning device, a target device by placing on the bus the bus IDs including the first IDs and the second IDs of the winning and target devices, the winning device selecting the target device for transferring data; and (d) when the data transfer has not been completed, repeating operations (b) to (c), wherein the target device arbitrates for the bus and reselects the winning device for completing the data transfer.
Hashemi Ebrahim
Lamers Lawrence J.
Monia Charles A.
Roy Andrew J.
Adaptec, Inc.
Auve Glenn A.
Lee Christopher E.
Martine & Penilla LLP
LandOfFree
Methods for addressing extended number of peripheral devices... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Methods for addressing extended number of peripheral devices..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods for addressing extended number of peripheral devices... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3206088