Adaptive inline polling of data compression with hardware accelerator

US11824567B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11824567-B2
Application numberUS-202117184796-A
CountryUS
Kind codeB2
Filing dateFeb 25, 2021
Priority dateFeb 25, 2021
Publication dateNov 21, 2023
Grant dateNov 21, 2023

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 computer implemented method of data compression using a hardware accelerator includes submitting a request to compress or decompress a data segment using a compression or decompression thread. The method also includes compressing or decompressing the data segment using a hardware accelerator, and performing inline polling of the hardware accelerator to determine whether the hardware accelerator has completed compressing or decompressing the data segment. The inline polling and the compressing or decompressing are performed in a single thread. The method also includes submitting a wakeup command to a segment thread in response to determining that the hardware accelerator has completed compressing or decompressing the data segment.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method of data compression using a hardware accelerator, the method comprising: submitting a request to compress or decompress a data segment using a compression or decompression thread; compressing or decompressing the data segment using a hardware accelerator; performing inline polling of the hardware accelerator to determine whether the hardware accelerator has completed compressing or decompressing the data segment, the inline polling and the compressing or decompressing being performed in a single thread; and submitting a wakeup command to a segment thread in response to determining that the hardware accelerator has completed compressing or decompressing the data segment. 2. The computer implemented method as in claim 1 , wherein the inline polling of the hardware accelerator is performed at a polling interval based on a size of the data segment being compressed or decompressed. 3. The computer implemented method as in claim 2 , further comprising: calculating the polling interval based on the size of the data segment being compressed or decompressed, and a known time at which the request to compress or decompress data is submitted. 4. The computer implemented method as in claim 2 , further comprising: dynamically calculating a mean contact switch latency based on previous contact switch latencies of previous compression or decompression actions. 5. The computer implemented method as in claim 4 , further comprising: calculating a dynamic polling interval based on a difference between the polling interval calculated based on the size of the data segment and the mean contact switch latency. 6. The computer implemented method as in claim 1 , further comprising: performing prioritized inline polling of the hardware accelerator at a shortened polling interval in response to determining that the hardware accelerator has not completed compressing or decompressing the data segment. 7. The computer implemented method as in claim 6 , wherein the shortened polling interval is between about 10 and 30 microseconds. 8. A data compression system comprising: one or more processing devices; a hardware accelerator for compressing and decompressing data; and data compression logic to compress data via the one or more processing devices, the data compression logic configured to: submitting a request to compress or decompress a data segment using a compression or decompression thread; compressing or decompressing the data segment using the hardware accelerator; performing inline polling of the hardware accelerator to determine whether the hardware accelerator has completed compressing or decompressing the data segment, the inline polling and the compressing or decompressing being performed in a single thread; and submitting a wakeup command to a segment thread in response to determining that the hardware accelerator has completed compressing or decompressing the data segment. 9. The data compression system as in claim 8 , wherein the inline polling of the hardware accelerator is performed at a polling interval based on a size of the data segment being compressed or decompressed. 10. The data compression system as in claim 9 , wherein the data compression logic is further configured to: calculate the polling interval based on the size of the data segment being compressed or decompressed, and a known time at which the request to compress or decompress data is submitted. 11. The data compression system as in claim 9 , wherein the data compression logic is further configured to: dynamically calculate a mean contact switch latency based on previous contact switch latencies of previous compression or decompression actions. 12. The data compression system as in claim 11 , wherein the data compression logic is further configured to: calculate a dynamic polling interval based on a difference between the polling interval calculated based on the size of the data segment and the mean contact switch latency. 13. The data compression system as in claim 8 , wherein the data compression logic is further configured to: perform prioritized inline polling of the hardware accelerator at a shortened polling interval in response to determining that the hardware accelerator has not completed compressing or decompressing the data segment. 14. The data compression system as in claim 13 , wherein the shortened polling interval is between about 10 and 30 microseconds. 15. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform a data compression operation, the operation comprising: submitting a request to compress or decompress a data segment using a compression or decompression thread; compressing or decompressing the data segment using the hardware accelerator; performing inline polling of the hardware accelerator to determine whether the hardware accelerator has completed compressing or decompressing the data segment, the inline polling and the compressing or decompressing being performed in a single thread; and submitting a wakeup command to a segment thread in response to determining that the hardware accelerator has completed compressing or decompressing the data segment. 16. The non-transitory computer-readable medium as in claim 15 , wherein the inline polling of the hardware accelerator is performed at a polling interval based on a size of the data segment being compressed or decompressed. 17. The non-transitory computer-readable medium as in claim 16 , the operation further comprising: calculating the polling interval based on the size of the data segment being compressed or decompressed, and a known time at which the request to compress or decompress data is submitted. 18. The non-transitory computer-readable medium as in claim 16 , the operation further comprising: dynamically calculating a mean contact switch latency based on previous contact switch latencies of previous compression or decompression actions. 19. The non-transitory computer-readable medium as in claim 18 , the operation further comprising: calculating a dynamic polling interval based on a difference between the polling interval calculated based on the size of the data segment and the mean contact switch latency. 20. The non-transitory computer-readable medium as in claim 15 , the operation further comprising: performing prioritized inline polling of the hardware accelerator at a shortened polling interval in response to determining that the hardware accelerator has not completed compressing or decompressing the data segment.

Assignees

Inventors

Classifications

  • H03M7/60Primary

    General implementation details not specific to a particular type of compression · CPC title

  • Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • Offload · CPC title

  • Methods or arrangements to increase the throughput · 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 US11824567B2 cover?
A computer implemented method of data compression using a hardware accelerator includes submitting a request to compress or decompress a data segment using a compression or decompression thread. The method also includes compressing or decompressing the data segment using a hardware accelerator, and performing inline polling of the hardware accelerator to determine whether the hardware accelerat…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification H03M7/60. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 21 2023 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).