Tuning A Storage System In Dependence Upon Workload Access Patterns

US2018300075A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018300075-A1
Application numberUS-201816008648-A
CountryUS
Kind codeA1
Filing dateJun 14, 2018
Priority dateOct 20, 2016
Publication dateOct 18, 2018
Grant date

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).

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; and initiating, in dependence upon the first utilization pattern and the second utilization pattern, 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. 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 IO operation is a read operation, an indication that a given IO operation is a write operation, an indication of a source entity for a given IO operation, an indication of a volume identification for a target volume of a given IO 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; and initiating, in dependence upon the first utilization pattern and the second utilization pattern, 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. 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 11 , wherein the computer program instructions, when executed by the computer processor, cause the computer processor to further carry out the steps of: 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. 17 . The apparatus of claim 16 , 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. 18 . The apparatus of claim 17 , wherein the tracing information includes one or more of: an indication that a given IO operation is a read operation, an indication th

Assignees

Inventors

Classifications

  • G06F3/0634Primary

    by changing the state or mode of one or more devices · CPC title

  • Improving I/O performance · CPC title

  • Improving or facilitating administration, e.g. storage management · 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

  • for planning or managing the needed capacity · 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 US2018300075A1 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 Thu Oct 18 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).