Optimized I/O performance regulation for non-volatile storage
AssigneeQoS Tech LLC
InventorTimothy L. Canepa
Life of this patent
Estimating the term…
Abstract
A credit regulation and monitoring module receives a command for an application that is to be executed. In response to the command, credit amount for execution of the command is calculated. Further, an outstanding credit amount is determined based on an outstanding credit table and the other commands being executed. It is determined whether the credit amount and the outstanding credit are below a threshold value. If so, the command is executed and an outstanding credit table is updated to reduce the amount of credit available according to the credit amount allocated to the command.
Claims21
A computer-implemented method, comprising:
- detecting a change to a performance of a set of solid-state drives (SSDs), wherein the change is detected based on one or more factors, and wherein the change corresponds to an application executing on a set of computing platforms associated with the set of SSDs;
- obtaining an application profile corresponding to the application, wherein the application profile details characteristics corresponding to storage performance requirements and storage usage associated with the application;
- identifying a set of placement restrictions corresponding to the application;
- querying a daemon to obtain local and remote SSD profile data matching the set of placement restrictions, wherein the local and remote SSD profile data is associated with the set of SSDs;
- interpolating a set of credit requirements associated with the application to identify one or more SSDs usable for the application, wherein the set of credit requirements are interpolated based on the application profile;
- selecting a performance profile vector (PPV) associated with an SSD from the one or more SSDs, wherein the PPV is selected based on the set of credit requirements;
- and
- allocating a portion of performance capabilities and storage of the SSD for execution of the application, wherein the portion is allocated based on the PPV and the set of credit requirements.
A system, comprising:
- one or more processors;
- and
- memory storing thereon instructions that, as a result of being executed by the one or more processors, cause the system to:
- detect a change to a performance of a set of solid-state drives (SSDs), wherein the change is detected based on one or more factors, and wherein the change corresponds to an application executing on a set of computing platforms associated with the set of SSDs;
- obtain an application profile corresponding to the application, wherein the application profile details characteristics corresponding to storage performance requirements and storage usage associated with the application;
- identify a set of placement restrictions corresponding to the application;
- query a daemon to obtain local and remote SSD profile data matching the set of placement restrictions, wherein the local and remote SSD profile data is associated with the set of SSDs;
- interpolate a set of credit requirements associated with the application to identify one or more SSDs usable for the application, wherein the set of credit requirements are interpolated based on the application profile;
- select a performance profile vector (PPV) associated with an SSD from the one or more SSDs, wherein the PPV is selected based on the set of credit requirements;
- and
- allocate a portion of performance capabilities and storage of the SSD for execution of the application, wherein the portion is allocated based on the PPV and the set of credit requirements.
A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to:
- detect a change to a performance of a set of solid-state drives (SSDs), wherein the change is detected based on one or more factors, and wherein the change corresponds to an application executing on a set of computing platforms associated with the set of SSDs;
- obtain an application profile corresponding to the application, wherein the application profile details characteristics corresponding to storage performance requirements and storage usage associated with the application;
- identify a set of placement restrictions corresponding to the application;
- query a daemon to obtain local and remote SSD profile data matching the set of placement restrictions, wherein the local and remote SSD profile data is associated with the set of SSDs;
- interpolate a set of credit requirements associated with the application to identify one or more SSDs usable for the application, wherein the set of credit requirements are interpolated based on the application profile;
- select a performance profile vector (PPV) associated with an SSD from the one or more SSDs, wherein the PPV is selected based on the set of credit requirements;
- and
- allocate a portion of performance capabilities and storage of the SSD for execution of the application, wherein the portion is allocated based on the PPV and the set of credit requirements.
Dependencies are inferred from the claim text.