Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
278 words
A method for maintaining predictable performance of a disk array system during data reconstruction operations under varying disk loads, wherein the disk array system comprises a disk controller and a disk array coupled to the disk controller, wherein the disk array comprises a plurality of disk drives, wherein when a new drive is inserted in the disk array, the disk controller performs data reconstruction operations to place data on the new drive, the method comprising the steps of: receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said one or more host requests are stored on an execution queue for execution; determining a number of said host requests on said execution queue; creating one or more rebuild requests to rebuild data on the new drive; placing a number of said rebuild requests on said execution queue, wherein said number of said rebuild requests placed on said execution queue is determined in response to said step of determining said number of said host requests on said execution queue, wherein said step of placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue, and receiving a user-specified amount of disk array bandwidth to be used by the disk controller for said data reconstruction operations, wherein said step of creating said one or more rebuild requests includes creating said rebuild requests of a certain size based on said determined number of host requests on said execution queue and said user-specified amount of disk array bandwidth to be used for said reconstruction operations.
Claim 2
Independent Claim
278 words
A method for maintaining predictable performance of a disk array system during data reconstruction operations under varying disk loads, wherein the disk array system comprises a disk controller and a disk array coupled to the disk controller, wherein the disk array comprises a plurality of disk drives, wherein when a new drive is inserted in the disk array, the disk controller performs data reconstruction operations to place data on the new drive, the method comprising the steps of: receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said one or more host requests are stored on an execution queue for execution; determining a number of said host requests on said execution queue; creating one or more rebuild requests to rebuild data on the new drive; placing a number of said rebuild requests on said execution queue, wherein said number of said rebuild requests placed on said execution queue is determined in response to said step of determining said number of said host requests on said execution queue, wherein said step of placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue, and receiving a user-specified amount of disk array bandwidth to be used by the disk controller for said data reconstruction operations, wherein said step of creating said one or more rebuild requests includes creating said rebuild requests of a certain size based on said determined number of host requests on said execution queue and said user-specified amount of disk array bandwidth to be used for said reconstruction operations.
Claim 3
Dependent Claim
58 words
The method of claim 1, further comprising: repeatedly performing said steps of determining said number of host requests on said execution queue, creating one or more rebuild requests to rebuild data on the new drive, and placing said number of said rebuild requests on said execution queue until said data reconstruction operations have completed on said new drive.
Claim 4
Dependent Claim
50 words
The method of claim 1, further comprising: executing said number of said host requests and said number of said rebuild requests on said execution queue, wherein execution of said number of said rebuild requests results in a predictable level of degradation to execution of said number of said host requests.
Claim 5
Dependent Claim
93 words
The method of claim 3, further comprising: repeatedly performing said steps of determining said number of host requests on said execution queue, creating one or more rebuild requests to rebuild data on the new drive, placing said number of said rebuild requests on said execution queue, and executing said number of said host requests and said number of said rebuild requests until said data reconstruction operations have completed on said new drive; wherein said disk array system maintains a predictable level of performance of said host requests during said step of repeatedly performing.
Claim 6
Dependent Claim
67 words
The method of claim 1, wherein said step of placing comprises placing said number of said rebuild requests on said execution queue to maintain an approximately constant proportion of said number of said rebuild requests to said determined number of said host read requests on said execution queue, wherein execution of said rebuild requests results in a predictable level of degradation to execution of said host requests.
Claim 7
Dependent Claim
28 words
The method of claim 1, wherein said step of receiving said one or more host requests receives a varying load of host requests from said host over time.
Claim 8
Dependent Claim
63 words
The method of claim 1, further comprising: adjusting a Desired Rebuild Queue Depth variable in response to said step of determining said number of host requests on said execution queue; wherein said step of placing comprises: examining said Desired Rebuild Queue Depth variable; and placing a number of said rebuild requests on said execution queue based on said Desired Rebuild Queue Depth variable.
Claim 9
Dependent Claim
68 words
The method of claim 7, wherein said step of determining said number of host requests on said execution queue determines if host queue depth is increasing, wherein said step of adjusting said Desired Rebuild Queue Depth variable further comprises: increasing said Desired Rebuild Queue Depth variable if said host queue depth is increasing; and decreasing said Desired Rebuild Queue Depth variable if said host queue depth is decreasing.
Claim 10
Dependent Claim
39 words
The method of claim 1, further comprising the steps of: a disk drive failing in the disk array; and replacing said failed disk drive with the new drive prior to said step of creating said plurality of rebuild requests.
Claim 11
Dependent Claim
259 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; an execution queue for storing data requests for said disk array; and a disk controller coupled to said execution queue and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said receiving means places said one or more host requests on said execution queue for execution; means for determining a number of host requests on said execution queue; means for creating a plurality of rebuild requests to rebuild data on the new drive; means for placing a number of said rebuild requests on said execution queue, wherein said means for placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue; and means for receiving a user-specified amount of disk array bandwidth to be used by the disk controller for said data reconstruction operations, wherein said means for creating said one or more rebuild requests creates said rebuild requests of a certain size based on said determined number of host requests on said execution queue and said user-specified amount of disk array bandwidth to be used for said reconstruction operations.
Claim 12
Dependent Claim
259 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; an execution queue for storing data requests for said disk array; and a disk controller coupled to said execution queue and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said receiving means places said one or more host requests on said execution queue for execution; means for determining a number of host requests on said execution queue; means for creating a plurality of rebuild requests to rebuild data on the new drive; means for placing a number of said rebuild requests on said execution queue, wherein said means for placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue; and means for receiving a user-specified amount of disk array bandwidth to be used by the disk controller for said data reconstruction operations, wherein said means for creating said one or more rebuild requests creates said rebuild requests of a certain size based on said determined number of host requests on said execution queue and said user-specified amount of disk array bandwidth to be used for said reconstruction operations.
Claim 13
Dependent Claim
58 words
The disk array system of claim 10, wherein the disk controller further comprises: means for executing said number of said host requests and said number of said rebuild requests on said execution queue, wherein execution of said number of said rebuild requests results in a predictable level of degradation to execution of said number of said host requests.
Claim 14
Dependent Claim
62 words
The disk array system of claim 11, wherein said means for determining, said means for creating, said means for placing, and said means for executing repeatedly operate in said disk controller until said data reconstruction operations have completed on said new drive; wherein said disk array system maintains a predictable level of performance of said host requests during said data reconstruction operations.
Claim 15
Dependent Claim
68 words
The disk array system of claim 10, wherein said means for placing in said disk controller places said number of said rebuild requests on said execution queue to maintain an approximately constant proportion of said number of said rebuild requests to said determined host requests on said execution queue, wherein execution of said rebuild requests results in a predictable level of degradation to execution of said host requests.
Claim 16
Dependent Claim
272 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; an execution queue for storing data requests for said disk array; and a disk controller coupled to said execution queue and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said receiving means places said one or more host requests on said execution queue for execution; means for determining a number of host requests on said execution queue; means for creating a plurality of rebuild requests to rebuild data on the new drive; means for placing a number of said rebuild requests on said execution queue, wherein said means for placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue, and a memory including one or more bits for storing a Desired Rebuild Queue Depth variable; wherein the disk controller further comprises: means for adjusting said Desired Rebuild Queue Depth variable based on said determination of said number of host requests on said execution queue; wherein said means for placing comprises: means for examining said Desired Rebuild Queue Depth variable; and means for placing a number of said rebuild requests on said execution queue based on said Desired Rebuild Queue Depth variable.
Claim 17
Dependent Claim
272 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; an execution queue for storing data requests for said disk array; and a disk controller coupled to said execution queue and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array, wherein said receiving means places said one or more host requests on said execution queue for execution; means for determining a number of host requests on said execution queue; means for creating a plurality of rebuild requests to rebuild data on the new drive; means for placing a number of said rebuild requests on said execution queue, wherein said means for placing places said number of said rebuild requests on said execution queue to dynamically compensate for said number of host requests on said execution queue, and a memory including one or more bits for storing a Desired Rebuild Queue Depth variable; wherein the disk controller further comprises: means for adjusting said Desired Rebuild Queue Depth variable based on said determination of said number of host requests on said execution queue; wherein said means for placing comprises: means for examining said Desired Rebuild Queue Depth variable; and means for placing a number of said rebuild requests on said execution queue based on said Desired Rebuild Queue Depth variable.
Claim 18
Dependent Claim
73 words
The disk array system of claim 14, wherein said means for determining said number of host requests on said execution queue determines if host queue depth is increasing, wherein said means for adjusting said Desired Rebuild Queue Depth variable comprises: means for increasing said Desired Rebuild Queue Depth variable if said host queue depth is increasing; and means for decreasing said Desired Rebuild Queue Depth variable if said host queue depth is decreasing.
Claim 19
Independent Claim
217 words
A method for maintaining predictable performance of a disk system during data reconstruction operations under a wide variety of disk loads, wherein the disk system comprises a disk controller and a disk array coupled to the disk controller, wherein the disk controller comprises a plurality of disk drives, wherein when a new drive is inserted in the system, the disk controller performs data reconstruction operations to place data on the new drive, the method comprising the steps of: receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array; placing said one or more host requests on a first queue, wherein said first queue has a first depth; transferring said one or more host requests from said first queue to a second queue, wherein said second queue has a second depth less than said first depth creating one or more rebuild requests to rebuild data on the new drive; placing one or more of said rebuild requests directly on said second queue; and executing said one or more host requests and said one or more rebuild requests from said second queue, wherein execution of said one or more rebuild requests results in a predictable level of degradation to execution of said one or more host requests.
Claim 20
Independent Claim
217 words
A method for maintaining predictable performance of a disk system during data reconstruction operations under a wide variety of disk loads, wherein the disk system comprises a disk controller and a disk array coupled to the disk controller, wherein the disk controller comprises a plurality of disk drives, wherein when a new drive is inserted in the system, the disk controller performs data reconstruction operations to place data on the new drive, the method comprising the steps of: receiving one or more requests from a host, wherein said host requests comprise reads or writes of data on the disk array; placing said one or more host requests on a first queue, wherein said first queue has a first depth; transferring said one or more host requests from said first queue to a second queue, wherein said second queue has a second depth less than said first depth creating one or more rebuild requests to rebuild data on the new drive; placing one or more of said rebuild requests directly on said second queue; and executing said one or more host requests and said one or more rebuild requests from said second queue, wherein execution of said one or more rebuild requests results in a predictable level of degradation to execution of said one or more host requests.
Claim 21
Dependent Claim
62 words
The method of claim 16, wherein said step of placing comprises placing a number of said rebuild requests on said second queue to maintain an approximately constant proportion of said rebuild requests to said host requests on said second queue, wherein execution of said number of said rebuild requests results in a predictable level of degradation to execution of said host requests.
Claim 22
Dependent Claim
111 words
The method of claim 16, further comprising: repeatedly performing said steps of placing said one or more host requests on said first queue, transferring said one or more host requests from said first queue to said second queue, creating one or more rebuild requests to rebuild data on the new drive, placing one or more of said rebuild requests directly on said second queue, and executing said one or more host requests and said one or more rebuild requests until said data reconstruction operations have completed on said new drive; wherein said disk array system maintains a predictable level of performance of said host requests during said step of repeatedly performing.
Claim 23
Dependent Claim
63 words
The method of claim 16, further comprising: receiving a user-specified amount of disk array bandwidth to be used by the disk controller for said data reconstruction operations, wherein said step of creating said one or more rebuild requests includes creating said rebuild requests of a certain size based on said user-specified amount of disk array bandwidth to be used for said reconstruction operations.
Claim 24
Dependent Claim
20 words
The method of claim 16, wherein said step of receiving receives a varying load of host requests from said host.
Claim 25
Dependent Claim
258 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; a first queue for storing host requests for said disk array, wherein said first queue has a first size; a second queue for storing host requests and rebuild requests, wherein said second queue has a second size less than said first size, wherein host requests propagate from said first queue to said second queue prior to execution; and a disk controller coupled to said first and second queues and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from said host, wherein said host requests comprise reads or writes of data on the disk array; means for placing said one or more host requests on said first queue; means for transferring said one or more host requests from said first queue to said second queue; means for creating one or more rebuild requests to rebuild data on the new drive; means for placing one or more of said rebuild requests directly on said second queue; and means for executing said one or more host requests and said one or more rebuild requests from said second queue, wherein execution of said one or more rebuild requests results in a predictable level of degradation to execution of said one or more host requests.
Claim 26
Dependent Claim
258 words
A disk array system which maintains predictable performance during data reconstruction operations under varying disk loads, comprising: a disk array comprising a plurality of disk drives, said plurality of disk drives including a new drive; a first queue for storing host requests for said disk array, wherein said first queue has a first size; a second queue for storing host requests and rebuild requests, wherein said second queue has a second size less than said first size, wherein host requests propagate from said first queue to said second queue prior to execution; and a disk controller coupled to said first and second queues and said disk array which performs data reconstruction operations to place data on the new drive in said disk array, wherein the disk controller comprises: means for receiving one or more requests from said host, wherein said host requests comprise reads or writes of data on the disk array; means for placing said one or more host requests on said first queue; means for transferring said one or more host requests from said first queue to said second queue; means for creating one or more rebuild requests to rebuild data on the new drive; means for placing one or more of said rebuild requests directly on said second queue; and means for executing said one or more host requests and said one or more rebuild requests from said second queue, wherein execution of said one or more rebuild requests results in a predictable level of degradation to execution of said one or more host requests.
Claim 27
Dependent Claim
63 words
The disk array system of claim 21, wherein said means for placing places a number of said rebuild requests on said second queue to maintain an approximately constant proportion of said rebuild requests to said host requests on said second queue, wherein execution of said number of said rebuild requests results in a predictable level of degradation to execution of said host requests.
Claim 28
Dependent Claim
125 words
The disk array system of claim 21, further comprising: wherein said means for placing said one or more host requests on said first queue, said means for transferring said one or more host requests from said first queue to said second queue, said means for creating one or more rebuild requests to rebuild data on the new drive, said means for placing one or more of said rebuild requests directly on said second queue, and said means for executing said one or more host requests and said one or more rebuild requests repeatedly operate until said data reconstruction operations have completed on said new drive; wherein said disk array system maintains a predictable level of performance of said host requests during said data reconstruction operations.