Performance tuning in a storage system that includes one or more storage devices

US10007459B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10007459-B2
Application numberUS-201715642958-A
CountryUS
Kind codeB2
Filing dateJul 6, 2017
Priority dateOct 20, 2016
Publication dateJun 26, 2018
Grant dateJun 26, 2018

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.

Performance tuning in a storage system that includes one or more storage devices, including: storing, by a primary controller of the storage system, data corresponding to one or more computer processes into one or more of the one or more storage devices, determining, by a secondary controller that is configured similarly to the primary controller, one or more utilization patterns of the data, and initiating, in dependence upon the one or more utilization patterns of the data, a modification to a manner in which the one or more computer processes access the data stored in the one or more storage devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performance tuning in a storage system that includes one or more storage devices, the method comprising: storing, by a primary controller of the storage system, first data of a first workload type and second data of a second workload type into one or more of the one or more storage devices; determining, by a secondary controller that is configured similarly to the primary controller, a first utilization pattern associated with the first workload type and a second utilization pattern associated with the second workload type, wherein at least some of the data access rights of the primary controller supersede the data access rights of the secondary controller; and initiating, in dependence upon a comparison of the first utilization pattern and the second utilization pattern to utilization patterns exhibited by known workload types, a modification to a manner in which one or more computer processes access the first data and the second data stored in the one or more storage devices, wherein the modification initiates one or more remedial measures which include initiating or terminating one or more processes, powering up or powering down at least one storage device, and moving data from one storage device to another storage device. 2. The method of claim 1 , wherein the one or more computer processes correspond to one or more software applications from one or more of: a user application layer, an operating system layer, or a data storage layer. 3. The method of claim 2 , wherein at least one of the one or more computer processes is a process at the data storage layer, and wherein initiating the modification to the manner in which the one or more computer processes access the first data and the second data comprises: modifying one or more system configuration parameters of the one or more storage devices. 4. The method of claim 2 , wherein initiating the modification to the manner in which the one or more computer processes access the first data and the second data comprises: sending, from the secondary controller to an application programming interface of the one or more software applications, the first utilization pattern and the second utilization pattern. 5. The method of claim 4 , wherein at least one of the one or more software applications is a management application for a virtual computing environment, and wherein the first utilization pattern and the second utilization pattern each correspond to one or more configurable virtual or physical resource constraints. 6. The method of claim 1 , further comprising: creating a snapshot of data stored within the one or more storage devices, wherein the snapshot includes the data corresponding to the one or more computer processes; wherein determining, by the secondary controller, the first utilization pattern and the second utilization pattern comprises analyzing the snapshot to determine one or more of: workload patterns, client access patterns, or tracing information. 7. The method of claim 1 , wherein determining, by the secondary controller, the first utilization pattern and the second utilization pattern comprises: evaluating, by the secondary controller, metadata corresponding to each input/output (I/O) operation handled by the primary controller to determine tracing information. 8. The method of claim 7 , wherein the tracing information includes one or more of: an indication that a given I/O operation is a read operation, an indication that a given I/O operation is a write operation, an indication of a source entity for a given I/O operation, an indication of a volume identification for a target volume of a given I/O operation, an indication of addressing information for a given I/O operation, or an indication of a memory size for a given I/O operation. 9. The method of claim 1 , further comprising: determining, in dependence upon one or more utilization patterns, a second storage location for one or more portions of data stored within a first storage location on the one or more storage volumes; and moving the one or more portions of the data to the second storage location, wherein the second storage location that has better performance characteristics than the first storage location on the one or more storage volumes. 10. The method of claim 1 , further comprising: for a section of data stored within the one or more storage devices, reverse mapping the section of data to a software application, wherein the data corresponding to the one or more computer processes includes the section of data; and sending, in dependence upon reverse mapping the section of data, one or more utilization patterns to the software application. 11. An apparatus that includes one or more storage devices, the apparatus including a computer processor and a computer memory, the computer memory including computer program instructions that, when executed by the computer processor, cause the computer processor to carry out the steps of: storing, by a primary controller of the storage system, first data of a first workload type and second data of a second workload type into one or more of the one or more storage devices; determining, by a secondary controller that is configured similarly to the primary controller, a first utilization pattern associated with the first workload type and a second utilization pattern associated with the second workload type, wherein at least some of the data access rights of the primary controller supersede the data access rights of the secondary controller; and initiating, in dependence upon a comparison of the first utilization pattern and the second utilization pattern to utilization patterns exhibited by known workload types, a modification to a manner in which one or more computer processes access the first data and the second data stored in the one or more storage devices, wherein the modification initiates one or more remedial measures which include initiating or terminating one or more processes, powering up or powering down at least one storage device, and moving data from one storage device to another storage device. 12. The apparatus of claim 11 , wherein the one or more computer processes correspond to one or more software applications from one or more of: a user application layer, an operating system layer, or a data storage layer. 13. The apparatus of claim 12 , wherein at least one of the one or more computer processes is a process at the data storage layer, and wherein initiating the modification to the manner in which the one or more computer processes access the first data and the second data comprises: modifying one or more system configuration parameters of the one or more storage devices. 14. The apparatus of claim 12 , wherein initiating the modification to the manner in which the one or more computer processes access the first data and the second data comprises: sending, from the secondary controller to an application programming interface of the one or more software applications, the first utilization pattern and the second utilization pattern. 15. The apparatus of claim 14 , wherein at least one of the one or more software applications is a management application for a virtual computing environment, and wherein the first utilization pattern and the second utilization pattern each correspond to one or more configurable virtual or physical resource constraints. 16. The apparatus of claim 12 , wherein the computer program instructions, when executed by the computer processor, cause the computer processor to further carry out the steps of: for a section of data stored within the o

Assignees

Inventors

Classifications

  • Improving I/O performance · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment} · CPC title

  • by assessing time · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US10007459B2 cover?
Performance tuning in a storage system that includes one or more storage devices, including: storing, by a primary controller of the storage system, data corresponding to one or more computer processes into one or more of the one or more storage devices, determining, by a secondary controller that is configured similarly to the primary controller, one or more utilization patterns of the data, a…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0634. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 26 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).