Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache

US11068405B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11068405-B2
Application numberUS-201815957065-A
CountryUS
Kind codeB2
Filing dateApr 19, 2018
Priority dateApr 19, 2018
Publication dateJul 20, 2021
Grant dateJul 20, 2021

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 storage processor in a data storage system includes a compression selection component that selects a data compression component to be used to compress host I/O data that is flushed from a persistent cache of the storage processor based on a current fullness level of the persistent cache. The compression selection component selects compression components implementing compression algorithms having relatively lower compression ratios for relatively higher current fullness levels of the persistent cache, and selects compression components implementing compression algorithms having relatively higher compression ratios for relatively lower current fullness levels of the persistent cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of providing data compression in a storage processor of a data storage system, comprising the steps of: in response to detecting a cache flush event by detecting that a predetermined time period has expired since host I/O data was previously stored into a persistent cache located in the storage processor, i) forming an aggregation set of blocks of host I/O data within host I/O data accumulated in the persistent cache, wherein the aggregation set is a set of oldest blocks of host I/O data that are stored in the persistent cache, and ii) determining a current fullness level of the persistent cache, wherein the current fullness of the persistent cache comprises a current percentage of a total size of the persistent cache that is currently used to store host I/O data; selecting, by a compression selection component in the storage processor in response to the current fullness level of the persistent cache, from a set of available compression components contained in the storage processor, a compression component for compressing the aggregation set, wherein the compression selection component selects compression components implementing compression algorithms having relatively lower compression ratios in response to relatively higher current fullness levels of the persistent cache, and wherein the compression selection component selects compression components implementing compression algorithms having relatively higher compression ratios in response to relatively lower current fullness levels of the persistent cache; and compressing the aggregation set using the selected compression component to obtain a compressed version of the aggregation set. 2. The method of claim 1 , further comprising: accumulating host I/O data that is indicated by host I/O write requests that are received by the storage processor from at least one host computer into the persistent cache that is located in the storage processor; and wherein the cache flush event indicates that a plurality of blocks of host I/O data accumulated in the persistent cache are to be flushed from the persistent cache to at least one lower deck file system that is internal to the data storage system. 3. The method of claim 2 , wherein selecting the compression component comprises selecting one of the compression components in the set of available compression components having the highest associated persistent cache fullness threshold that is less than or equal to the current fullness level of the persistent cache. 4. The method of claim 3 , wherein determining the current fullness level of the persistent cache comprises determining a current percentage of the total size of the persistent cache that is currently used to store host I/O data; and wherein selecting the compression component comprises selecting one of the compression components in the set of available compression components in the set of available compression components having the highest associated persistent cache fullness threshold that is less than or equal to the current percentage of the total size of the persistent cache that is currently used to store host I/O data. 5. The method of claim 4 , wherein each one of the compression components in the set of available compression components is associated with a different persistent cache fullness threshold. 6. The method of claim 5 , further comprising: determining whether the blocks of host I/O data in the aggregation set contain host I/O data that is an overwrite of host I/O data previously flushed from the persistent cache to at least one lower deck file system that is internal to the data storage system; in response to determining that the blocks of host I/O data in the aggregation set contain host I/O data that is not an overwrite of host I/O data previously flushed from the persistent cache to at least one lower deck file system that is internal to the data storage system, allocating an extent of blocks in an address space of a lower deck file system within a compressed region of the address space of the lower deck file system; and storing the compressed version of the aggregation set to non-volatile storage corresponding to the extent of blocks in the address space of the lower deck file system. 7. The method of claim 6 , further comprising: determining a length of the compressed version of the aggregation set; and wherein allocating the extent of blocks in the address space of the lower deck file system within the compressed region of the address space of the lower deck file system comprises allocating an extent of blocks in the address space of the lower deck file system having length that is greater than the length of the compressed version of the aggregation set. 8. The method of claim 5 , further comprising: determining whether the blocks of host I/O data in the aggregation set contain host I/O data that is an overwrite of host I/O data previously flushed from the persistent cache to at least one lower deck file system that is internal to the data storage system; in response to determining that the blocks of host I/O data in the aggregation set contain host I/O data that is an overwrite of host I/O data previously flushed from the persistent cache to at least one lower deck file system that is internal to the data storage system, comparing a length the compressed version of the aggregation set to a length of an extent of blocks in an address space of a lower deck file system within a compressed region of the address space of the lower deck file system that was used to store a previous compressed version of the blocks of host I/O data in the aggregation set; and in response to determining that the length the compressed version of the aggregation set is greater than the length of an extent of blocks in an address space of the lower deck file system within the compressed region of the address space of the lower deck file system that was used to store the previous compressed version of the blocks of host I/O data in the aggregation set, selecting a second compression component for compressing the aggregation set, wherein the second selected compression component has a higher compression ratio than the initially selected compression component; and recompressing the aggregation set using the second selected compression component to obtain a second compressed version of the aggregation set. 9. The method of claim 5 , wherein the lower deck file system maps files to blocks in an address space of the lower deck file system, wherein each file implements a corresponding data object that is accessible to the at least one host computer, and wherein blocks in the address space of the lower deck file system also correspond to non-volatile storage provisioned from a set of storage devices in the data storage system that provide storage for the lower deck file system. 10. A storage processor in a data storage system, the storage processor including a set of processing units and memory, coupled to the set of processing units, the memory storing instructions for providing data compression in the storage processor, wherein the instructions, when executed by the set of processing units, cause the set of processing units to: in response to detection of a cache flush event by detecting that a predetermined time period has expired since host I/O data was previously stored into a persistent cache located in the storage processor, i) form an aggregation set of blocks of host I/O data within host I/O data accumulated in the persistent cache, wherein the aggregation set is a set of oldest blocks of host I/O data that are stored in the persistent cache, and ii) determine a current fullness level of the persistent cache, wherein the current ful

Assignees

Inventors

Classifications

  • using clearing, invalidating or resetting means · CPC title

  • using adaptive policy · CPC title

  • Single storage device · CPC title

  • by using cryptography (for digital transmission H04L9/00) · CPC title

  • Non-volatile memory · 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 US11068405B2 cover?
A storage processor in a data storage system includes a compression selection component that selects a data compression component to be used to compress host I/O data that is flushed from a persistent cache of the storage processor based on a current fullness level of the persistent cache. The compression selection component selects compression components implementing compression algorithms hav…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0891. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 20 2021 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).