Management of foreground and background processes in a storage controller

US10379943B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10379943-B2
Application numberUS-201615370511-A
CountryUS
Kind codeB2
Filing dateDec 6, 2016
Priority dateDec 6, 2016
Publication dateAug 13, 2019
Grant dateAug 13, 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 background process is configured to periodically scrub a boot storage of a storage controller to ensure operational correctness of the boot storage. One or more foreground processes store a system configuration data of the storage controller in the boot storage of the storage controller. The background process and the one or more foreground processes are executed to meet predetermined performance requirements for the background process and the one or more foreground processes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: configuring a background process to periodically scrub a boot storage of a storage controller to ensure operational correctness of the boot storage; storing, via one or more foreground processes, a system configuration data of the storage controller in the boot storage of the storage controller; and executing the background process and the one or more foreground processes to meet predetermined performance requirements for the background process and the one or more foreground processes, wherein the predetermined performance requirements include executing the background process at least once in a predetermined interval of time, and completing execution of each of the one or more foreground processes within a predetermined amount of time. 2. The method of claim 1 , the method further comprising: starting execution of the background process; in response to completion of the execution of the background process, reducing a priority of the background process; and in response to determining that the execution of the background process has not completed in a predetermined amount of time, increasing the priority of the background process. 3. The method of claim 2 , wherein the background process is configurable to have at least two priorities including a low priority and a high priority, wherein the high priority is a higher priority than the low priority, the method further comprising: in response to starting a foreground process, performing: in response to determining that the background process has the low priority, suspending, aborting, or throttling the background process; and in response to determining that the background process has the high priority, suspending, aborting, or throttling the foreground process. 4. A method, comprising: configuring a background process to periodically scrub a boot storage of a storage controller to ensure operational correctness of the boot storage; storing, via one or more foreground processes, a system configuration data of the storage controller in the boot storage of the storage controller; and executing the background process and the one or more foreground processes to meet predetermined performance requirements for the background process and the one or more foreground processes, wherein in response to starting an execution of the background process if a number of executing foreground processes are greater than a predetermined threshold, then suspending some or all of the one or more foreground processes. 5. The method of claim 4 , the method further comprising: in response to starting an execution of a foreground process, performing: in response to determining that a number of executing foreground processes is less than a first predetermined threshold, throttling the background process; and in response to determining that the number of executing foreground processes is greater than a second predetermined threshold, suspending the background process, and subsequent to suspending the background process, resuming the background process after a predetermined period of time if the number of executing foreground processes fall below the first predetermined threshold and aborting the background process after the predetermined period of time if the number of executing foreground processes do not fall below the second predetermined threshold. 6. The method of claim 4 , wherein a priority of the background process is set based on how many times the background process has been aborted since a last completion of the background process. 7. A system, comprising: a memory; and a processor coupled to the memory, wherein the processor performs operations, the operations performed by the processor comprising: configuring a background process to periodically scrub a boot storage to ensure operational correctness of the boot storage; storing, via one or more foreground processes, a system configuration data in the boot storage; and executing the background process and the one or more foreground processes to meet predetermined performance requirements for the background process and the one or more foreground processes, wherein the predetermined performance requirements include executing the background process at least once in a predetermined interval of time, and completing execution of each of the one or more foreground processes within a predetermined amount of time. 8. The system of claim 7 , the operations further comprising: starting execution of the background process; in response to completion of the execution of the background process, reducing a priority of the background process; and in response to determining that the execution of the background process has not completed in a predetermined amount of time, increasing the priority of the background process. 9. The system of claim 8 , wherein the background process is configurable to have at least two priorities including a low priority and a high priority, and wherein the high priority is a higher priority than the low priority, the operations performed further comprising: in response to starting a foreground process, performing: in response to determining that the background process has the low priority, suspending, aborting, or throttling the background process; and in response to determining that the background process has the high priority, suspending, aborting, or throttling the foreground process. 10. A system, comprising: a memory; and a processor coupled to the memory, wherein the processor performs operations, the operations performed by the processor comprising: configuring a background process to periodically scrub a boot storage to ensure operational correctness of the boot storage; storing, via one or more foreground processes, a system configuration data in the boot storage; and executing the background process and the one or more foreground processes to meet predetermined performance requirements for the background process and the one or more foreground processes, wherein in response to starting an execution of the background process if a number of executing foreground processes are greater than a predetermined threshold, then suspending some or all of the one or more foreground processes. 11. The system of claim 10 , the operations further comprising: in response to starting an execution of a foreground process, performing: in response to determining that a number of executing foreground processes is less than a first predetermined threshold, throttling the background process; and in response to determining that the number of executing foreground processes is greater than a second predetermined threshold, suspending the background process, and subsequent to suspending the background process, resuming the background process after a predetermined period of time if the number of executing foreground processes fall below the first predetermined threshold and aborting the background process after the predetermined period of time if the number of executing foreground processes do not fall below the second predetermined threshold. 12. The system of claim 10 , wherein a priority of the background process is set based on how many times the background process has been aborted since a last completion of the background process. 13. A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations, the operations comprising: configuring a background process to periodically scrub a boot storage of a storage controller to ensure

Assignees

Inventors

Classifications

  • Bootstrapping (security arrangements therefor G06F21/57) · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0605Primary

    by facilitating the interaction with a user or administrator · CPC title

  • G06F11/106Primary

    Correcting systematically all correctable errors, i.e. scrubbing · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US10379943B2 cover?
A background process is configured to periodically scrub a boot storage of a storage controller to ensure operational correctness of the boot storage. One or more foreground processes store a system configuration data of the storage controller in the boot storage of the storage controller. The background process and the one or more foreground processes are executed to meet predetermined perform…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0605. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 13 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).