Background maintenance task regulation and scheduling
US-2025060991-A1 · Feb 20, 2025 · US
US12596492B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12596492-B2 |
| Application number | US-202418794063-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 5, 2024 |
| Priority date | Aug 5, 2024 |
| Publication date | Apr 7, 2026 |
| Grant date | Apr 7, 2026 |
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 technique for performing data-storage background activities includes maintaining a plurality of queues of background activities for respective types of background activities. The queues have a specified order based on a set of relationships between the types of background activities. The technique further includes allocating respective numbers of resource units to respective queues of the plurality of queues. The technique still further includes executing batches of background activities from the respective queues in the specified order for the respective numbers of resource units.
Opening claim text (preview).
What is claimed is: 1 . A method of performing data-storage background activities, comprising: maintaining a plurality of queues of background activities for respective types of background activities, the queues having a specified order based on a set of relationships between the types of background activities; allocating respective numbers of resource units to respective queues of the plurality of queues; and executing batches of background activities from the respective queues in the specified order for the respective numbers of resource units. 2 . The method of claim 1 , wherein executing the batches of background activities includes: executing a first batch of background activities from a first queue of the plurality of queues prior to executing a second batch of background activities from a second queue of the plurality of queues, wherein executing the first batch of background activities affects background activities of the second batch of background activities. 3 . The method of claim 2 , wherein executing the first batch of background activities increases a number of background activities from the second queue that are completed in the respective number of resource units allocated to the second queue compared to an order in which the second queue precedes the first queue. 4 . The method of claim 2 , wherein the second queue is provided for garbage collection activities; and wherein executing the first batch of background activities increases a number of free storage blocks that are available for the garbage collection activities compared to an order in which the second queue precedes the first queue. 5 . The method of claim 2 , wherein a third queue of the plurality of queues is arranged to have certain activities therein executed in parallel with the first queue and before the second queue in the specified order; and wherein executing the batches of background activities further includes executing a third batch of background activities from the third queue simultaneously with executing the first batch of background activities from the first queue and before executing the second batch of background activities from the second queue, wherein executing the third batch of background activities affects the background activities of the second batch of background activities. 6 . The method of claim 1 , wherein the resource units are periods of time, CPU cycles, or background jobs, wherein the background jobs aggregate background activities. 7 . The method of claim 1 , further comprising: monitoring performance of background processing based on one or more performance metrics of the plurality of queues; after executing the batches of background activities, reallocating the respective numbers of resource units based on the monitored performance and executing additional batches of background activities from the respective queues in the specified order using the reallocated numbers of resource units. 8 . The method of claim 7 , wherein monitoring the performance of background processing includes: obtaining (i) a first performance metric from executing a first batch of background activities of a first type and (ii) a second performance metric from executing a second batch of background activities of a second type, the first performance metric and the second performance metric reflecting characteristics specific to the first type and the second type, respectively; and generating a global performance value based on at least the first performance metric and the second performance metric. 9 . The method of claim 7 , wherein reallocating the respective numbers of resource units includes adjusting a number of resource units allocated to a particular queue of the plurality of queues based on a performance metric of another queue of the plurality of queues. 10 . The method of claim 7 , wherein monitoring the performance of the background processing includes obtaining a reduction in background debt that results from executing the batches of background activities, wherein reallocating the respective numbers of resource units includes adjusting one or more of the respective numbers of resource units based on the reduction in background debt. 11 . The method of claim 7 , wherein monitoring the performance includes obtaining a number of reclaimed storage blocks that results from executing the batches of background activities, wherein reallocating the respective numbers of resource units includes adjusting one or more of the respective numbers of resource units based on the number of reclaimed blocks. 12 . The method of claim 1 , wherein executing the batches of background activities includes: executing a first batch of background activities of a first type, the first batch of background activities acting upon a plurality of logical addresses identified in a first queue; and after executing the batch of background activities of the first type on the plurality of logical addresses, executing a second batch of background activities of a second type, the second batch of background activities acting upon the same plurality of logical addresses. 13 . The method of claim 1 , wherein the queues of the plurality of queues have a common priority. 14 . The method of claim 13 , further comprising: requeuing a group of background activities from one or more of the queues into a higher-priority queue having a higher priority than the common priority, background activities from the higher-priority queue executed separately from the specified order. 15 . A computerized apparatus, comprising control circuitry that includes a set of processors coupled to memory, the control circuitry constructed and arranged to perform a method of performing data-storage background activities, the method including: maintaining a plurality of queues of background activities for respective types of background activities, the queues having a specified order based on a set of relationships between the types of background activities; allocating respective numbers of resource units to respective queues of the plurality of queues; and executing batches of background activities from the respective queues in the specified order for the respective numbers of resource units. 16 . A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of performing data-storage background activities, the method including: maintaining a plurality of queues of background activities for respective types of background activities, the queues having a specified order based on a set of relationships between the types of background activities; allocating respective numbers of resource units to respective queues of the plurality of queues; and executing batches of background activities from the respective queues in the specified order for the respective numbers of resource units. 17 . The computer program product of claim 16 , wherein executing the batches of background activities includes: executing a first batch of background activities from a first queue of the plurality of queues prior to executing a second batch of background activities from a second queue of the plurality of queues, wherein executing the first batch of background activities affects background activities of the second batch of background activities. 18 . The computer program product of claim 16 , wherein the method further includes: monitoring p
Improving or facilitating administration, e.g. storage management · CPC title
Single storage device · CPC title
by allocating resources to storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.