User selectable priority for disk array background operations
First Claim
1. For use with a computer system having a mass storage drive array subsystem having a plurality of commands executing as foreground operations and a plurality of commands executing as background operations, a method for selecting priority between execution of the foreground executing commands and the background executing commands, said method comprising the steps of:
- providing a priority command indicating a priority level;
converting said priority level into a pause duration indicative of the time to pause a foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for said pause duration;
determining if the foreground command to be executed is to be paused based on said pause interval;
delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and
executing the background commands without delays.
4 Assignments
0 Petitions
Accused Products
Abstract
A new and improved apparatus and method for rebuilding a replacement disk of a fault tolerant, mass storage drive array subsystem of a computer system. The method calls for a microprocessor to check a stripe for consistency. If the stripe is inconsistent, the microprocessor rebuilds a predetermined number of stripes. If the checked stripe is consistent, then the microprocessor checks a next stripe and repeats the above-described process. Because the drive array subsystem receives both system requests and rebuild requests, the present invention allows a user to select the drive array subsystem'"'"'s priority in processing system requests versus rebuild requests, thereby allowing greater system access to the drive array subsystem during peak times of system requests.
-
Citations
26 Claims
-
1. For use with a computer system having a mass storage drive array subsystem having a plurality of commands executing as foreground operations and a plurality of commands executing as background operations, a method for selecting priority between execution of the foreground executing commands and the background executing commands, said method comprising the steps of:
-
providing a priority command indicating a priority level; converting said priority level into a pause duration indicative of the time to pause a foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for said pause duration; determining if the foreground command to be executed is to be paused based on said pause interval; delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and executing the background commands without delays. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10)
-
-
7. A disk array controller for use with a computer system having a mass storage disk drive array, the computer system providing a priority command indicating a priority level between execution of a plurality of commands executing as foreground operations and a plurality of commands executing as background operations, the disk array controller comprising:
-
means for receiving said priority command; means coupled to said means for receiving said priority command for converting said priority level into a pause duration indicative of the time to pause a foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for said pause duration; means coupled to said means for converting said priority level for determining if the foreground command to be executed is to be paused based on said pause interval; means coupled to said means for determining for delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and means for executing the background commands without delays.
-
-
11. A computer system comprising:
-
a mass storage disk drive array subsystem; means for providing a priority command indicating a priority level between a plurality of commands executing as foreground operations and a plurality of commands executing as background operations; means for receiving said priority command; means coupled to said means for receiving said priority command for converting said priority level into a pause duration indicative of the time to pause a foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for said pause duration; means coupled to said means for converting said priority level for determining if the foreground command to be executed is to be paused based on said pause interval; means coupled to said means for determining for delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and means for executing the background commands without delays. - View Dependent Claims (12, 13, 14)
-
-
15. For use with a computer system having a mass storage drive array subsystem having a plurality of commands executing as foreground operations and a plurality of commands executing as background operations, a method for selecting priority between execution of the foreground executing commands and the background executing commands by a user of the computer system, the method comprising the steps of:
-
providing a priority command from the user indicating a priority level to a mass storage drive rate subsystem; converting the priority level into a pause duration indicative of a time to pause the foreground executing command at a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for the pause duration; determining if the foreground command to be executed is to be pause based on the pause interval; delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; executing the background commands without delays. - View Dependent Claims (16, 17, 18)
-
-
19. A disk array controller for use with a computer system having a mass storage disk drive array, the computer system providing a priority command indicating a priority level to an execution of a plurality of commands executing as foreground operations and a plurality of commands executing as background operations, a disk array controller comprising:
-
a memory controller for receiving the priority commands; a local memory for storing disk array code; and a local processor for executing the disk array code stored in the local memory to perform the steps of; converting the priority level into a pause duration indicative of the time the pause the foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for the pause duration; determining if the foreground command to be executed is to be pause based on the pause interval; delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and executing the background commands without delays. - View Dependent Claims (20, 21, 22)
-
-
23. A computer system, comprising:
-
a mass storage disk drive array subsystem; a logical command list for providing a priority command indicating a priority level between a plurality of commands executing as foreground operations and a plurality of commands executing as background operations; a disk array controller, comprising; a memory controller for receiving the priority commands; a local memory for storing disk array code; and a local processor for executing the disk array code stored in the local memory to perform the steps of; converting the priority level into a pause duration indicative of the time the pause the foreground executing command and a pause interval indicating the number of foreground executing commands out of a predetermined number of foreground executing commands to pause for the pause duration; determining if the foreground command to be executed is to be pause based on the pause interval; delaying the foreground command to be executed for the pause duration if the foreground command is to be paused; and executing the background commands without delays. - View Dependent Claims (24, 25, 26)
-
Specification