A device and method to enable a plug and play operating system to load the appropriate device for either a scsi i/O device or a raid adapter and direct interrupts from storage devices to the appropriate device driver. This device and method has a scsi i/O device connected to several storage devices. The scsi device can generate several interrupt signals and an identification selection signal. Further, this device and method has a pci slot, to accept a raid adapter, connected to the scsi i/O device. The pci slot can receive and generate several interrupt signals, as well as an interrupt disable signal, and an identification disable signal. Several tristate units are connected to the interrupt signals from the scsi i/O device, the identification selection, the interrupt disable signal, and the identification disable signal. When a raid adapter is plugged into the pci slot, the tristate units route the interrupt signals from the scsi i/O device to the pci slot and disable the identification selection signal so that the plug and play operating system does not recognize the scsi i/O device and does not load a device driver for it.
|
1. A device to direct interrupts from a plurality of storage devices and install an appropriate device driver by a plug and play operating system to field the interrupts and control the plurality of disk drives, comprising:
a scsi i/O device connected to the plurality of storage devices having a plurality of interrupt signals and an identification selection signal; a pci slot, to accept a raid adapter, connected to the scsi i/O device having a plurality of interrupt signals, an interrupt disable signal, and an identification disable signal; and a plurality of tristate units connected the plurality of interrupts from the scsi i/O device, the identification selection, the interrupt disable signal, and the identification disable signal, wherein when the raid adapter is plugged into the pci slot the plurality of tristate units route the plurality of interrupts from the scsi i/O device to the pci slot and disable the identification selection signal so that the plug and play operating system does not recognize the scsi i/O device.
15. A device to direct interrupts from a plurality of storage devices and install an appropriate device driver by a plug and play operating system to field the interrupts and control the plurality of disk drives, comprising:
a scsi enable module to route a plurality of interrupt signals from a scsi i/O device on a computer base board to a system interrupt controller and to set a pci address bit for the scsi i/O device that identifies the presence of the scsi i/O device to the plug and play operating system when a raid adapter is not plugged into a pci slot on the computer base board, wherein the plug and play operating system loads a device driver for the scsi i/O device; and a scsi disable module to route a plurality of interrupt signals from the scsi i/O device on the computer base board to a pci slot and to not set a pci address bit for the scsi i/O device so that the plug and play operating system does not recognize the presence of the scsi i/O device when the raid adapter is plugged into the pci slot on the computer base board, wherein the plug and play operating system does not load a device driver for the scsi i/O device.
9. A method of directing interrupts from a plurality of storage devices and installing an appropriate device driver by a plug and play operating system to field the interrupts and control the plurality of disk drives, comprising:
setting an interrupt disable signal when a raid adapter is plugged in a pci slot on a computer base board; setting an identification disable signal when a raid adapter is plugged in a pci slot on a computer base board; disabling a plurality of tristate units connected to a plurality of interrupt signals and a identification selection signal for a scsi i/O device when the interrupt disable signal is set and the identification disable signal is set; routing the plurality of interrupts from the scsi i/O device to the pci slot when the interrupt disable signal is set and at least one of the plurality of tristate units is disabled; and disabling the identification selection signal from the scsi i/O device when the identification disable signal is set and at least one of the plurality of tristate units is disabled, wherein the plug and play operating system will not load a device driver for the scsi i/O device when the identification selection signal is disabled.
2. The device as recited in
a system interrupt controller to receive the plurality of interrupt signals from the scsi i/O device and the pci slot.
3. The device as recited in
4. The device as recited in
5. The device as recited in
6. The device as recited in
a pci address bit to identify the presence of the scsi i/O device by the plug and play operating system connected to the scsi i/O device, at least one of the tristate units, and the identification disable signal.
7. The device as recited in
8. The device as recited in
10. A method recited in
11. The method as recited in
12. The method as recited in
13. The method as recited in
identifying the presence of the scsi i/O device by the plug and play operating system connected to the scsi i/O device based on a pci address bit to at least one of the tristate units, and the identification disable signal.
14. The method as recited in
16. The method as recited in
17. The device recited in
an identification selection signal connected to the scsi i/O device; a plurality of interrupt signals, an interrupt disable signal, and an identification disable signal connected to the pci slot; a plurality of tristate units connected the plurality of interrupts from the scsi i/O device, the identification selection, the interrupt disable signal, and the identification disable signal, wherein when the raid adapter is not plugged into the pci slot, the plurality of tristate units route the plurality of interrupts to the system interrupt controller and enable the identification selection signal so that the plug and play operating system recognizes the scsi i/O device.
18. The device recited in
an identification selection signal connected to the scsi i/O device; a plurality of interrupt signals, an interrupt disable signal, and an identification disable signal connected to the pci slot; a plurality of tristate units connected the plurality of interrupts from the scsi i/O device, the identification selection, the interrupt disable signal, and the identification disable signal, wherein when the raid adapter is plugged into the pci slot the plurality of tristate units route the plurality of interrupts from the scsi i/O device to the pci slot and disable the identification selection signal so that the plug and play operating system does not recognize the scsi i/O device.
|
The invention relates to a device and method to enable interrupt handling for mass storage devices interfacing to different controllers and the loading of the proper device driver for the controller used.
Microprocessor-based systems have for some time been using small computer system interface (SCSI) to connect and control peripheral devices such as disk drives used for mass storage of data. This SCSI form of interface for disk drives has become so popular that the manufacturers of computer base boards (also known as mother boards) have incorporated the SCSI disk controller directly into the computer base boards. With the SCSI disk controller implemented directly on the computer base board a separate SCSI disk controller that would plug into the computer base board is not required and the user of such a computer base board would not require the purchasing of such a separate SCSI disk controller.
More recently peripheral component interconnect (PCI) redundant array of independent disks (RAID) controllers have also become popular due to the large number disk drives, volume of data per drive, relatively low cost of the drives, and their ability to control both RAID drives and SCSI disk drives. Therefore, the manufacturers of computer base boards have provided PCI slots on the computer base boards for RAID disk controllers in addition to the SCSI disk controller which is incorporated in the computer base board itself. By having both a RAID disk controller and a SCSI disk controller in a single system, a large number of both types of disk drives can be supported. However, the integrators or original equipment manufacturers (OEMs) of personal computers have not seen a large demand for both types of disk drives on a single system. Further, these OEMs have objected to the presence of ports for both SCSI disk drives and RAID disk drives since they take up space in the cabinet and add cost to the computer system in a very competitive market. Therefore, since a RAID disk controller could control SCSI disk drives and the interface for SCSI drives already exists on the computer base board, a zero-channel RAID (ZCR) disk controller was developed. This ZCR may optionally not interface to RAID disk drives but would interface to SCSI disk drives through the computer base board.
As would be appreciated by one of ordinary skill in the art, the presence of a SCSI disk controller built into a computer base board and a ZCR disk controller, that actually is used control the SCSI disk drives, could create a problem if on starting up the computer system the operating system loaded both a SCSI device driver and a RAID device driver. If both types of device drivers were loaded and attempted to access the SCSI disk drives, this would in most cases cause a complete system failure. However, this has not been a significant issue when using the older operating systems such as DOS, Windows 3.1™, Windows NT™, and Windows 95™, since it is possible to specify either which device drivers may be loaded on system start up or which device drivers would not be loaded. This is not the case with the newer plug and play operating systems such as Windows 2000™.
In the newer plug and play operating systems, each time the computer system is started, the operating system will check for all devices and controllers on the system. The operating system will then load a device driver for devices and controllers discovered on the system. These device drivers both control and field interrupts from the controllers and devices. Therefore, installing new devices under plug and play operating systems, such as Windows 2000™, is a simple matter of plugging them in and turning on the computer system. However, when Windows 2000™ discovers the presence of a SCSI disk controller on the computer base board and a ZCR disk controller, Windows 2000™ will load a device driver for both. Further, the option of loading only designated device drivers or not loading designated device drivers is unavailable under Windows 2000™. With both device drivers trying to field interrupts and communicating to the same disk drives at the same time the computer system will experience a total failure.
Therefore, what is needed is a device and method in which only the ZCR is discovered by the plug and play operating system while the SCSI disk controller on the computer base board is masked or hidden from discovery by the plug and play operating system. Thus, upon system start up only a device driver for the ZCR is loaded by the plug and play operating system and not one for the SCSI disk controller. Further, as interrupts are generated by the SCSI disk drives, these interrupts should be passed through the ZCR rather than the SCSI disk controller so that they may be handled by the ZCR device driver.
The present invention is directed to a device to route interrupts from several storage devices and install an appropriate device driver by a plug and play operating system to field the interrupts and control the disk drives. This device has a SCSI I/O device connected to several storage devices having a several interrupt signals and an identification selection signal. Further, this device has a PCI slot, to accept a RAID adapter, connected to the SCSI I/O device having several interrupt signals, an interrupt disable signal, and an identification disable signal. Still further, this device has several tristate units connected the interrupt signals from the SCSI I/O device, the identification selection, the interrupt disable signal, and the identification disable signal. When the RAID adapter is plugged into the PCI slot, the tristate units route the interrupt signals from the SCSI I/O device to the PCI slot and disable the identification selection signal so that the plug and play operating system does not recognize the SCSI I/O device.
The foregoing and a better understanding of the present invention will become apparent from the following detailed description of exemplary embodiments and the claims when read in connection with the accompanying drawings, all forming a part of the disclosure of this invention. While the foregoing and following written and illustrated disclosure focuses on disclosing example embodiments of the invention, it should be clearly understood that the same is by way of illustration and example only and the invention is not limited thereto. The spirit and scope of the present invention are limited only by the terms of the appended claims.
The following represents brief descriptions of the drawings, wherein:
Before beginning a detailed description of the subject invention, mention of the following is in order. When appropriate, like reference numerals and characters may be used to designate identical, corresponding or similar components in differing figure drawings. Further, in the detailed description to follow, exemplary sizes/models/values/ranges may be given, although the present invention is not limited to the same. As a final note, well-known power connections to integrated circuits and other components may not be shown within the FIGS. for simplicity of illustration and discussion, and so as not to obscure the invention.
The RAID adapter 10 plugs into a peripheral component interconnect (PCI) slot 50 located on computer base board 5. As would be appreciated by one of ordinary skill in the art, only a small portion of the computer base board 5 is shown which is directly relevant to the present invention. On the base board 5 is also located a system interrupt controller 60 which handles all interrupts generated in this example embodiment and in turn generates interrupts to the processor (not shown). At least four lines feed into the system interrupt controller 60. At least two of these lines come from the PCI slot 50 connected to the RAID adapter 10 and are labeled RAID interrupt A (INTA#) 100 and RAID Interrupt B (INTB#) 110. Each of the lines, RAID interrupt A 100 and RAID Interrupt B 110, may be associated with at least a single RAID disk drive 40 and, as will be discussed in detail ahead, SCSI storage device 80. Again, at least two of the above mentioned at least four lines come from the SCSI I/O device 70 and are labeled SCSI interrupt A (INTA#) 250 and SCSI interrupt B (INTB#) 240. As will be discussed in detail ahead, when the RAID adapter 10 is not present on the system, SCSI interrupt A 250 and SCSI interrupt B 240 would be used to generate interrupts on behalf of the SCSI storage devices 80 directly into the system interrupt controller 60. Further, SCSI interrupt A 250 may be connected to RAID interrupt C (INTC#) 120 which may be connected to PCI slot 50 to generate an interrupt to RAID adapter 10 when it is present. Also, SCSI interrupt B (INTB#) 240 may be connected to RAID interrupt D (INTD#) 130 which in turn may be connected to PCI slot 50 to generate an interrupt to RAID adapter 10 when it is present.
In addition to the lines mentioned above, the PCI slot 50 has two additional lines referred to as interrupt disable (ITD#) 140 and identification disable (IDD#) 150. Interrupt disable 140 may be connected to first tristate unit 160 and second tristate unit 170 and when the RAID adapter is not plugged into the PCI slot 50, interrupt disable 140 may be set to one (high) and when the RAID adapter 10 is plugged into the PCI slot 50, interrupt disable 140 may be set to zero (low). As will be discussed in further detail ahead under interrupt steering, when interrupt disable 140 is zero (low) this may disable the first tristate unit 160 and second tristate unit 170 preventing interrupts from propagating down SCSI interrupt A 250 and SCSI interrupt B 240 to system interrupt controller 60.
As mentioned above, identification disable 150 is also a line that exits the PCI slot 50 and may be connected to inverter 180 and then third tristate unit 190 which in turn may be connected to ground 260. Further, identification disable 150 may be also directly connected to fourth tristate unit 200 which in turn may be connected to the third tristate unit 190 and identification selection (IDSEL) 230. Still further, the fourth tristate unit 200 may be connected to PCI address bit 210 which in turn may be connected to PCI address bus 220. As will be discussed in detail ahead under identification selection routing, when the RAID adapter 10 is not plugged into the PCI slot 50, identification disable 150 may be set to one (high) and when the RAID adapter is plugged into the PCI slot 50, identification disable 150 may be set to zero (low). As will be discussed in further detail ahead under identification selection routing, when identification disable 150 is zero (low) this may enable the third tristate unit 190 and may disable the fourth tristate unit 200 preventing the setting of PCI address bit 210 which prevents a plug and play operating system such as, but not limited to, Windows 2000™ from determining that the SCSI I/O device 70 is present and therefore not loading a device driver for it.
Interrupt Steering
In the discussion of the device and method used by example embodiments of the present invention to steer interrupts generated by the SCSI storage devices 80 to the RAID adapter 10, reference will be made simultaneously to
As previously discussed in reference to
Referring to
However, if interrupt disable 140 is set to zero (low), caused by the presence of the RAID adapter 10 as determined by operation 430, then processing proceeds to execute a SCSI disable module 450, shown in
Referring to
Therefore, using the interrupt steering device and method described above, the interrupts from the SCSI storage devices 80 may be directed (steered) to the system interrupt controller 60 when the RAID adapter 10 is not present using the SCSI enable module 440 shown in FIG. 3 and described in operations 310 and 320 shown in FIG. 2. However, when the RAID adapter 10 is plugged into the computer base board 5 via PCI slot 50, then using SCSI disable module 450 shown in
Identification Selection Routing
So far in the discussion of the example embodiments of the present invention only the routing or steering of interrupts from SCSI storage devices 80 to the RAID adapter 10, when present, or directly to the system interrupt controller 60 when the RAID adapter is absent, has been discussed in detail. However, the routing or steering of interrupts to the RAID adapter will not solve the problem of loading both a SCSI disk device drive and RAID device driver when a plug and play operating system such as Windows 2000™, is used and a RAID adapter 10 is plugged into the computer base board 5. In the discussion of these example embodiments of the present invention this problem is resolved. As with the discussion of interrupt steering, the case where no RAID adapter 10 is present will be discussed first and then the discussion of the example embodiment where the RAID adapter 10 is present will be provided. In the discussion of this example embodiment of the present invention reference will be made to
Referring to
Still referring to
The benefits resulting from the present invention are that the newer plug and play operating systems will load the proper device driver and receive the proper interrupts regardless of whether only a SCSI I/O device 70 is present on the computer base board 5 or a RAID adapter 10 is also plugged into the computer base board 5. Further, the example embodiments to route interrupts and mask the presence of a SCSI I/O device, when a RAID adapter is present, are simple to implement and therefore of low cost.
While we have shown and described only a few examples herein, it is understood that numerous changes and modifications as known to those skilled in the art could be made. For example, the logic employed in the example embodiments discussed maybe implemented in software, firmware or hardware without affecting the operation or functionality of the present invention. Therefore, we do not wish to be limited to the details shown and described herein, but intend to cover all such changes and modifications as are encompassed by the scope of the appended claims.
Kennedy, Barry, Tangvald, Matthew B., McCalla, Kristine
Patent | Priority | Assignee | Title |
6738851, | May 23 2001 | HighPoint Technologies, Inc. | Hot swap safeguard circuit of ultra DMA hard disk |
7543287, | Jun 30 2005 | Intel Corporation | Using a block device interface to invoke device controller functionality |
7640369, | Aug 24 2005 | Brother Kogyo Kabushiki Kaisha | Peripheral device capable of blocking and unblocking connection detection |
7730250, | Dec 27 2006 | Seiko Epson Corporation | Interrupt control circuit, circuit board, electro-optic device, and electronic apparatus |
Patent | Priority | Assignee | Title |
5790895, | Oct 18 1996 | Hewlett Packard Enterprise Development LP | Modem sharing |
5948076, | Dec 31 1997 | QUARTERHILL INC ; WI-LAN INC | Method and system for changing peripheral component interconnect configuration registers |
6061746, | Apr 30 1998 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Device bay system without 1394 PHY/Link interface to device bay controller having a software intercepting a GUID query and returning a stored unique identifier |
6098119, | Jan 21 1998 | International Business Machines Corporation | Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level |
6295565, | Nov 24 1997 | ELITE GAMING TECH LLC | RAID controller card coupled via first and second edge connectors to the system bus and on-board SCSI controller respectfully |
6425079, | Mar 31 1999 | PMC-SIERRA, INC | Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith |
6446139, | Jun 28 1999 | PMC-SIERRA, INC | Multiple chip single image BIOS |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 29 1999 | Intel Corporation | (assignment on the face of the patent) | / | |||
Feb 18 2000 | TANGVALD, MATTHEW B | Intel Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010638 | /0525 | |
Feb 24 2000 | KENNEDY, BARRY | Intel Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010638 | /0525 | |
Mar 17 2000 | MCCALLA, KRISTINE | Intel Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010638 | /0525 |
Date | Maintenance Fee Events |
Sep 14 2005 | ASPN: Payor Number Assigned. |
Dec 01 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 10 2011 | REM: Maintenance Fee Reminder Mailed. |
Apr 14 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 14 2011 | M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity. |
Nov 19 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 03 2006 | 4 years fee payment window open |
Dec 03 2006 | 6 months grace period start (w surcharge) |
Jun 03 2007 | patent expiry (for year 4) |
Jun 03 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 03 2010 | 8 years fee payment window open |
Dec 03 2010 | 6 months grace period start (w surcharge) |
Jun 03 2011 | patent expiry (for year 8) |
Jun 03 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 03 2014 | 12 years fee payment window open |
Dec 03 2014 | 6 months grace period start (w surcharge) |
Jun 03 2015 | patent expiry (for year 12) |
Jun 03 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |