Managing system I/O load
US-9298493-B1 · Mar 29, 2016 · US
US9563511B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9563511-B1 |
| Application number | US-201514662385-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 19, 2015 |
| Priority date | Mar 19, 2015 |
| Publication date | Feb 7, 2017 |
| Grant date | Feb 7, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A technique configures data storage equipment to (i) allow host I/O operations to start on storage devices while a credit tally is less than a predefined credit quota and (ii) block host I/O operations from starting on the storage devices while the tally is greater than the quota. The technique further involves, while a rebuild procedure is not being performed on the storage devices, (i) allocating host I/O credits at equal weight to the tally upon starting host I/O operations and (ii) de-allocating the credits at equal weight from the tally upon completion of the operations. The technique further involves, while the rebuild procedure is being performed on the storage devices, (i) allocating host I/O credits at greater than equal weight to the tally upon starting host I/O operations and (ii) de-allocating the credits at greater than equal weight from the tally upon completion of the operations.
Opening claim text (preview).
What is claimed is: 1. In data storage equipment, a method of performing input/output (I/O) operations on a set of storage devices, the method comprising: configuring the data storage equipment to (i) allow host I/O operations to start on the set of storage devices while a credit tally for the set of storage devices is less than a predefined credit quota and (ii) block host I/O operations from starting on the set of storage devices while the credit tally for the set of storage devices is greater than the predefined credit quota; after configuring the data storage equipment and during a first operational time period in which a rebuild procedure is not being performed on the set of storage devices, (i) allocating host I/O credits at equal weight to the credit tally upon starting first host I/O operations on the set of storage devices and (ii) de-allocating the host I/O credits at equal weight from the credit tally upon completion of the first host I/O operations on the set of storage devices; and after the first operational time period and during a second operational time period in which the rebuild procedure is being performed on the set of storage devices, (i) allocating host I/O credits at greater than equal weight to the credit tally upon starting second host I/O operations on the set of storage devices and (ii) de-allocating the host I/O credits at greater than equal weight from the credit tally upon completion of the second host I/O operations on the set of storage devices. 2. A method as in claim 1 wherein allocating the host I/O credits at greater than equal weight to the credit tally upon starting the second host I/O operations on the set of storage devices includes: when starting a particular second host I/O operation on the set of storage devices, multiplying an original host I/O credit value for the particular second host I/O operation by a scaling factor to form a scaled host I/O credit value for the particular second host I/O operation, and adding the scaled host I/O credit value for the particular second host I/O operation to the credit tally. 3. A method as in claim 2 wherein de-allocating the host I/O credits at greater than equal weight from the credit tally upon completion of the second host I/O operations on the set of storage devices includes: when completing the particular second host I/O operation on the set of storage devices, subtracting the scaled host I/O credit value for the particular second host I/O operation from the credit tally. 4. A method as in claim 3 wherein allocating the host I/O credits at equal weight to the credit tally upon starting the first host I/O operations on the set of storage devices includes: when starting a particular first host I/O operation on the set of storage devices, adding an original host I/O credit value for the particular first host I/O operation to the credit tally without using the scaling factor, and wherein de-allocating the host I/O credits at equal weight from the credit tally upon completion of the first host I/O operations on the set of storage devices includes: when completing the particular first host I/O operation on the set of storage devices, subtracting the original host I/O credit value for the particular first host I/O operation from the credit tally. 5. A method as in claim 2 , further comprising: during the second operational time period and while the second host I/O operations are being performed on the set of storage devices, performing reconstruction I/O operations on the set of storage devices to reconstruct data on the set of storage devices. 6. A method as in claim 5 , further comprising: during the second operational time period and while the second host I/O operations are being performed on the set of storage devices, (i) allocating reconstruction I/O credits at equal weight to the credit tally upon starting the reconstruction I/O operations on the set of storage devices, and (ii) de-allocating the reconstruction I/O credits at equal weight from the credit tally upon completion of the reconstruction I/O operations on the set of storage devices. 7. A method as in claim 2 wherein multiplying the original host I/O credit value for the particular second host I/O operation by the scaling factor to form the scaled host I/O credit value for the particular second host I/O operation includes: multiplying the original host I/O credit value for the particular second host I/O operation by an integer N to form the scaled host I/O credit value for the particular second host I/O operation, the integer N being greater than 1, and the scaled host I/O credit value being N times greater than the original host I/O credit value. 8. A method as in claim 7 wherein the scaling factor is originally set to an integer M which is greater than 1 and which is different than the integer N; and wherein the method further comprises: during the first operational time period, receiving a scaling factor change command from a user and, in response to the scaling factor change command from the user, modifying the scaling factor from the integer M to the integer N. 9. A method as in claim 1 , further comprising: during the first operational time period, performing the first host I/O operations on the set of storage devices to enable an external host to access host information on the set of storage devices, and during the second operational time period, performing the second host I/O operations and reconstruction I/O operations on the set of storage devices to concurrently enable the external host to access the host information on the set of storage devices and reconstruct data on the set of storage devices. 10. A method as in claim 9 , further comprising: after completion of the rebuild procedure and during a third operational time period following the second operational time period, (i) allocating host I/O credits at equal weight to the credit tally upon starting third host I/O operations on the set of storage devices and (ii) de-allocating the host I/O credits at equal weight from the credit tally upon completion of the third host I/O operations on the set of storage devices. 11. Data storage equipment, comprising: an interface; memory including a set of storage devices; and processing circuitry coupled to the interface and to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the processing circuitry to: receive, through the interface, configuration to (i) allow host I/O operations to start on the set of storage devices while a credit tally for the set of storage devices is less than a predefined credit quota and (ii) block host I/O operations from starting on the set of storage devices while the credit tally for the set of storage devices is greater than the predefined credit quota, after receiving the configuration and during a first operational time period in which a rebuild procedure is not being performed on the set of storage devices, (i) allocate host I/O credits at equal weight to the credit tally upon starting first host I/O operations on the set of storage devices and (ii) de-allocate the host I/O credits at equal weight from the credit tally upon completion of the first host I/O operations on the set of storage devices, and after the first operational time period and during a second operational time period in which the rebuild procedure is being performed on the set of storage devices, (i) allocate host I/O credits at greater than equal weight to the credit tally upon starting second host I/O operations on the set of storage devices and (ii) de-allocate the host I/O credits at greater than equal weight from the credit tally upon completion of the second host I
Improving I/O performance · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Rebuilding, e.g. when physically replacing a failing disk · CPC title
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.