Performing input/output operations on a set of storage devices based on scalable input/output credits

US9563511B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9563511-B1
Application numberUS-201514662385-A
CountryUS
Kind codeB1
Filing dateMar 19, 2015
Priority dateMar 19, 2015
Publication dateFeb 7, 2017
Grant dateFeb 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9563511B1 cover?
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) alloca…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1092. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).