Controlling access in a dispersed storage network
US-9390283-B2 · Jul 12, 2016 · US
US11500592B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11500592-B2 |
| Application number | US-201916707651-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 9, 2019 |
| Priority date | Sep 13, 2016 |
| Publication date | Nov 15, 2022 |
| Grant date | Nov 15, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: decompressing, by a storage controller, data requested by a first read request from a host for the data to be returned to the host by a first amount of computing resources of the storage controller and providing the requested data to the host after decompressing; receiving, by the storage controller, a second request, the second request being a host write request comprising at least one of warm data or cold data, or a garbage collection task comprising at least one of compression of cold data, compression of warm data, or recompression of already compressed data; determining, by the storage controller in response to receiving the second request, a second amount of computing resources available for another processing task after use of the first amount of computing resources by the first read request; applying, by the storage controller, a priority ordering to a plurality of processing tasks including a task associated with the second request, wherein the priority ordering prioritizes the compression of cold data as the garbage collection task over compression of cold data from the host write request, the compression of cold data from the host write request over compression of warm data as the garbage collection task, the compression of warm data as the garbage collection task over the compression of warm data from the host write request, and the compression of warm data from the host write request over recompression of already compressed data as the garbage collection task; selecting, by the storage controller, a processing task from among the plurality of processing tasks based on the applied priority ordering for which the second amount of computing resources is sufficient; and performing the selected processing task by the storage controller. 2. The method of claim 1 , wherein selecting further comprises: prioritizing, by the storage controller, the compression of cold data as the garbage collection task before the host write request based on an expected frequency of modification of the already compressed data. 3. The method of claim 1 , wherein selecting further comprises: prioritizing, by the storage controller, the compression of cold data as the host write request before the compression of warm data as the garbage collection task, based on an expected frequency of modification of data from the host write request being less than an expected frequency of modification of the already compressed data. 4. The method of claim 1 , wherein the selecting further comprises: determining, by the storage controller, to perform inline compression of the host write request as the selected processing task in response to the second amount of computing resources being above a threshold. 5. The method of claim 1 , wherein the selecting further comprises: determining, by the storage controller, to perform background processing of the host write request as the selected processing task in response to the second amount of computing resources being below a threshold. 6. The method of claim 1 , wherein the method further comprising: selecting, by the storage controller, in response to a third amount of computing resources being available after use of the first and second amounts of computing resources, a second processing task from among the plurality of processing tasks based on the priority ordering for which the third amount of computing resources is sufficient. 7. The method of claim 1 , wherein the determining the second amount of computing resources further comprises: determining, by the storage controller, processor usage, memory bandwidth, drive utilization, and I/O latency of the storage controller. 8. 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 prioritizing compression activities 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: receive a first read request from a host; determine to decompress data in response to receiving the first read request for the data to be returned to the host; decompress the data for the first read request using a first amount of computing resources from a total amount of computing resources available to the computing device and provide the requested data to the host after the decompression; receive a second request, the second request being a write request comprising at least one of warm data or cold data, or a garbage collection task comprising at least one of compression of cold data, compression of warm data, or recompression of already compressed data; determine, in response to receiving the second request, a second amount of computing resources available for another processing task after use of the first amount of computing resources; apply, in response to receiving the second request, a priority ordering to a plurality of processing tasks including a task associated with the second request, wherein the priority ordering prioritizes the compression of cold data as the garbage collection task over compression of cold data from the write request, the compression of cold data from the write request over compression of warm data as the garbage collection task, the compression of warm data as the garbage collection task over the compression of warm data from the write request, and the compression of warm data from the write request over recompression of already compressed data as the garbage collection task; select, a processing task from among the plurality of processing tasks based on the applied priority ordering for which the second amount of computing resources is sufficient; and perform the selected processing task. 9. The computing device of claim 8 , wherein the at least one processor is further configured, as part of the selection, to execute the machine executable code to cause the at least one processor to: prioritize the compression of cold data as the garbage collection task before the write request based on an expected frequency of modification of the already compressed data. 10. The computing device of claim 8 , wherein the the at least one processor is further configured, as part of the selection, to execute the machine executable code to cause the at least one processor to: prioritize the compression of cold data as the write request before the compression of warm data as the garbage collection task, based on an expected frequency of modification of data from the write request being less than an expected frequency of modification of the already compressed data. 11. The computing device of claim 8 , wherein the at least one processor is further configured, as part of the selection, to execute the machine executable code to cause the at least one processor to: determine to perform inline compression of the write request as the selected processing task in response to the second amount of computing resources being above a threshold. 12. The computing device of claim 8 , wherein the at least one processor is further configured, as part of the selection, to execute the machine executable code to cause the at least one processor to: determine to perform background processing of the write request as the selected processing task in response to the second amount of computing resources being below a threshold. 13. The computing device of claim 8 , wherein the at least one processor is further configured to execute the machine executable code to cause the at
Saving storage space on storage systems · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Improving I/O performance · CPC title
Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.