Systems and methods for allocating data compression activities in a storage system

US10503443B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10503443-B2
Application numberUS-201715497816-A
CountryUS
Kind codeB2
Filing dateApr 26, 2017
Priority dateSep 13, 2016
Publication dateDec 10, 2019
Grant dateDec 10, 2019

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 method, a computing device, and a non-transitory machine-readable medium for allocating data compression activities in a storage system are provided. A method includes tracking, by a storage controller, computing resources corresponding to a storage server. The storage controller processes one or more host read requests to access data requested by one or more hosts, the processing of the one or more host read requests including decompressing the data requested by the one or more hosts from the storage server and providing the decompressed data to the one or more hosts. The storage controller determines an amount of available computing resources after processing the one or more host read requests. Based on the amount of available computing resources, the storage controller performs inline compression of a first portion of host write requests and background compression of a second portion of the host write requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: determining, by a storage controller, an amount of available computing resources of the storage controller while decompressing data for a host read request and providing the decompressed data to a requesting host; performing, by the storage controller based on the amount of available computing resources exceeding a threshold, inline compression of a first portion of host write requests, wherein an amount of the host write requests included in the first portion is increased while the amount of available computer resources exceeds the threshold; performing, by the storage controller based on the amount of available computing resources being below the threshold, background compression of a second portion of the host write requests, wherein an amount of the host write requests included in the second portion is increased while the amount of available computer resources is below the threshold; and prioritizing, by the storage controller, compression of stored data corresponding to the background compression according to a priority ordering that takes into account an age of the stored data. 2. The method of claim 1 , wherein the performing inline compression further comprises: compressing, by the storage controller, data corresponding to the first portion of host write requests as the data is received. 3. The method of claim 1 , wherein the performing background compression further comprises: storing, by the storage controller, data corresponding to the second portion of the host write requests in a non-compressed format for compression at a later time. 4. The method of claim 1 , wherein the performing background compression further comprises: storing data corresponding to the second portion of the host write requests in a first compressed format for compression to a second compressed format at a later time, wherein the second compressed format corresponds to a higher compression overhead than the first compressed format. 5. The method of claim 1 , wherein the prioritizing compression further comprises: prioritizing the stored data based on a last modification time of the stored data, in an order from oldest to youngest. 6. The method of claim 1 , wherein the prioritizing compression further comprises: prioritizing the stored data based on an expected frequency of modification of the stored data, in an order from least frequently modified to most frequently modified. 7. The method of claim 1 , wherein determining an amount of available computing resources comprises determining processor usage, memory bandwidth, drive utilization, and I/O latency. 8. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the at least one machine to: determine an amount of available computing resources of the machine while decompressing data for a host read request and provide the decompressed data to a requesting host; perform, based on the amount of available computing resources being above a threshold, inline compression of a first portion of host write requests, wherein an amount of the host write requests included in the first portion is increased while the amount of available computer resources exceeds the threshold; perform, based on the amount of available computing resources being below the threshold, background compression of a second portion of the host write requests, wherein an amount of the host write requests included in the second portion is increased while the amount of available computer resources is below the threshold; and prioritize compression of stored data corresponding to the background compression according to a priority ordering that takes into account an age of the stored data. 9. The non-transitory machine readable medium of claim 8 , wherein performing the inline compression further comprises instructions which, when executed by the at least one machine, causes the machine to: compress data corresponding to the first portion of host write requests as the data is received. 10. The non-transitory machine readable medium of claim 8 , wherein performing the background compression further comprises instructions which, when executed by the at least one machine, causes the machine to: store data corresponding to the second portion of the host write requests in a non-compressed format for compression at a later time. 11. The non-transitory machine readable medium of claim 8 , wherein performing the background compression further comprises instructions which, when executed by the at least one machine, causes the machine to: store data corresponding to the second portion of the host write requests in a first compressed format for compression to a second compressed format at a later time, wherein the second compressed format corresponds to a higher compression overhead than the first compressed format. 12. The non-transitory machine readable medium of claim 8 , wherein prioritizing the compression further comprises instructions which, when executed by the at least one machine, causes the machine to: prioritize the stored data based on a last modification time of the stored data, in an order from oldest to youngest. 13. The non-transitory machine readable medium of claim 8 , wherein prioritizing the compression further comprises instructions which, when executed by the at least one machine, causes the machine to: prioritize the stored data based on an expected frequency, in an order from least frequently modified to most frequently modified. 14. The non-transitory machine readable medium of claim 8 , wherein determining the amount of available computing resources further comprises instructions which, when executed by the at least one machine, causes the machine to: determine processor usage, memory bandwidth, drive utilization, and I/O latency. 15. A computing device comprising: at least one memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of dynamically adjusting compression rates during input/output (I/O) operation; and at least one processor coupled to the at least one memory, the at least one processor configured to execute the machine executable code to cause the at least one processor to: determine an amount of available computing resources of the computing device while decompressing data for a host read request and provide the decompressed data to a requesting host; perform, based on the amount of available computing resources being above a threshold, inline compression of a first portion of host write requests, wherein an amount of the host write requests included in the first portion is increased while the amount of available computer resources exceeds the threshold; perform, based on the amount of available computing resources being below the threshold, background compression of a second portion of the host write requests, wherein an amount of the host write requests included in the second portion is increased based while the amount of available computer resources is below the threshold; and prioritize compression of stored data corresponding to the background compression according to a priority ordering that takes into account an age of the stored data. 16. The computing device of claim 15 , wherein the processor, in performing the inline compression, is further configured to execute the machine executable code to cause the at least one processor to: compress data corresponding to the first portion of hos

Assignees

Inventors

Classifications

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Improving I/O performance · CPC title

  • Saving storage space on storage systems · CPC title

  • G06F3/067Primary

    Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · 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 US10503443B2 cover?
A method, a computing device, and a non-transitory machine-readable medium for allocating data compression activities in a storage system are provided. A method includes tracking, by a storage controller, computing resources corresponding to a storage server. The storage controller processes one or more host read requests to access data requested by one or more hosts, the processing of the one …
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/067. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 10 2019 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).