Claims
- 1. A computer system, comprising:a bus; a host memory controller coupled to the bus; a host memory coupled to the host memory controller for storing command prioritization code; a bus master coupled to the bus; a resource coupled to the bus master; and a host processor coupled to the bus for executing the command prioritization code to perform the steps of: detecting a priority command indicating a priority level of a background command for the resource by the bus master; converting the priority level into a pause duration indicative of a time to delay a foreground command for the resource by the host processor and a pause interval indicating a number of foreground commands out of a predetermined number of foreground commands to process before delay of the foreground command; determining if the foreground command is to be delayed based on the pause interval; and delaying the foreground command for the pause duration if the foreground command is to be delayed.
- 2. The computer system of claim 1, wherein the bus master comprises a drive array controller and the resource comprises a drive array.
- 3. The computer system of claim 2, wherein the background command is a rebuild command.
- 4. The computer system of claim 1, the host processor further executing the command prioritization code to perform the step of:executing the background command during the step of delaying the foreground command.
- 5. For use with a computer system having a resource shared by a host processor and a bus master, a method of selecting priority between a foreground command by a host processor and a background command by a bus master, comprising the steps of:detecting a priority command indicating a priority level of a background command for the resource by the bus master; converting the priority level into a pause duration indicative of a time to delay a foreground command for the resource by the host processor and a pause interval indicating a number of foreground commands out of a predetermined number of foreground commands to process before delay of the foreground command; determining if the foreground command is to be delayed based on the pause interval; and delaying the foreground command for the pause duration if the foreground command is to be delayed.
- 6. The method of claim 5, wherein the bus master comprises a drive array controller and the resource comprises a drive array.
- 7. The method of claim 5, wherein the background command is a rebuild command.
- 8. The method of claim 5, further comprising the step of:executing the background command during the step of delaying the foreground command.
- 9. A computer system, comprising:a bus; a host processor coupled to the bus; a bus master coupled to the bus; a resource coupled to the bus master; and the bus master executing command prioritization code to perform the steps of: detecting a priority command indicating a priority level of a background command for the resource by the bus master; converting the priority level into a pause duration indicative of a time to delay a foreground command for the resource by the host processor and a pause interval indicating a number of foreground commands out of a predetermined number of foreground commands to process before delay of the foreground command; determining if the foreground command is to be delayed based on the pause interval; and delaying the foreground command for the pause duration if the foreground command is to be delayed.
- 10. The computer system of claim 9, wherein the bus master comprises a drive array controller and the resource comprises a drive array.
- 11. The computer system of claim 9, wherein the background command is a rebuild command.
- 12. The computer system of claim 9, the bus master further executing the command prioritization code to perform the step of:executing the background command during the step of delaying the foreground command.
Parent Case Info
This is a continuation of application Ser. No. 08/542,800 filed Oct. 13, 1995, now U.S. Pat. No. 5,822,584.
US Referenced Citations (11)
Number |
Name |
Date |
Kind |
5101492 |
Schultz et al. |
Mar 1992 |
A |
5193189 |
Flood et al. |
Mar 1993 |
A |
5249279 |
Schmenk et al. |
Sep 1993 |
A |
5313585 |
Jeffries et al. |
May 1994 |
A |
5473761 |
Parks et al. |
Dec 1995 |
A |
5517632 |
Matsumoto et al. |
May 1996 |
A |
5537566 |
Konno et al. |
Jul 1996 |
A |
5742825 |
Mathur et al. |
Apr 1998 |
A |
5974503 |
Venkatesh et al. |
Oct 1999 |
A |
6076157 |
Borkenhagen et al. |
Jun 2000 |
A |
6279108 |
Squires et al. |
Aug 2001 |
B1 |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08/542800 |
Oct 1995 |
US |
Child |
09/158651 |
|
US |