Host request pacing to balance resources and throughput

US11922228B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11922228-B2
Application numberUS-202117350389-A
CountryUS
Kind codeB2
Filing dateJun 17, 2021
Priority dateJun 17, 2021
Publication dateMar 5, 2024
Grant dateMar 5, 2024

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.

Methods, computer program products, and/or systems are provided that perform the following operations: determining a pacing requirement for host requests based on one or more thresholds; setting a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; and implementing a memory request flow for a host request based on the pacing requirement and the pacing delay level.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: determining a pacing requirement for host requests based on one or more thresholds; setting a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; implementing a memory request flow for a host request based on the pacing requirement and the pacing delay level; and processing the host request based on the implemented memory request flow. 2. The computer-implemented method of claim 1 , wherein setting the pacing delay level comprises setting a pace count indicative of a number of clock cycles to delay the host request, and wherein the pace count is decremented every clock cycle when the pace count is greater than zero. 3. The computer-implemented method of claim 1 , wherein the host requests include a write request and wherein the pacing requirement is determined based on available resources. 4. The computer-implemented method of claim 3 , wherein the one or more thresholds represent a level of available resources. 5. The computer-implemented method of claim 4 , wherein the pacing delay level is increased as the level of available resources decreases. 6. The computer-implemented method of claim 3 , wherein new host requests are added to a first in, first out queue in response to the pacing delay level being greater than zero. 7. The computer-implemented method of claim 3 , wherein new read requests are delayed until previously delayed write requests are processed. 8. The computer-implemented method of claim 1 , wherein the host requests include a read request and wherein the pacing requirement is based on exceeding a threshold long access time for an active read request. 9. The computer-implemented method of claim 8 , further comprising, in response to determining the active read request has exceeded the threshold long access time: sending a pending read response that has not exceeded a pacing bypass threshold to a first in, first out queue; and setting the pacing delay level to a defined number of clock cycles when the first in, first out queue includes one or more pending read responses, wherein the memory request flow for the host request includes processing an oldest read response from the first in, first out queue based on the pacing delay level. 10. A computer program product comprising a computer-readable storage medium having stored thereon: program instructions programmed to determine a pacing requirement for host requests based on one or more thresholds; program instructions programmed to set a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; program instructions programmed to implement a memory request flow for a host request based on the pacing requirement and the pacing delay level; and program instructions programmed to process the host request based on the implemented memory request flow. 11. The computer program product of claim 10 , wherein setting the pacing delay level comprises setting a pace count indicative of a number of clock cycles to delay the host request, and wherein the pace count is decremented every clock cycle when the pace count is greater than zero. 12. The computer program product of claim 10 , wherein the host requests include a write request and wherein the pacing requirement is determined based on available resources. 13. The computer program product of claim 12 , wherein the one or more thresholds represent a level of available resources and wherein the pacing delay level is increased as the level of available resources decreases. 14. The computer program product of claim 12 , wherein new host requests are added to a first in, first out queue in response to the pacing delay level being greater than zero. 15. The computer program product of claim 10 , wherein the host requests include a read request and wherein the pacing requirement is based on exceeding a threshold long access time for an active read request. 16. The computer program product of claim 15 , the computer-readable storage medium having further stored thereon: program instructions programmed to, in response to determining the active read request has exceeded the threshold long access time, send a pending read response that has not exceeded a pacing bypass threshold to a first in, first out queue; and program instructions programmed to set the pacing delay level to a defined number of clock cycles when the first in, first out queue includes one or more pending read responses; wherein the memory request flow for the host request includes processing an oldest read response from the first in, first out queue based on the pacing delay level. 17. A computer system comprising: a processor set; and a computer-readable storage medium; wherein: the processor set is structured, located, connected and programmed to run program instructions stored on the computer-readable storage medium; and the stored program instructions include: program instructions programmed to determine a pacing requirement for host requests based on one or more thresholds; program instructions programmed to set a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; program instructions programmed to implement a memory request flow for a host request based on the pacing requirement and the pacing delay level; and program instructions programmed to process the host request based on the implemented memory request flow. 18. The computer system of claim 17 , wherein the host requests include a write request and wherein the pacing requirement is determined based on available resources. 19. The computer system of claim 17 , wherein new host requests are added to a first in, first out queue in response to the pacing delay level being greater than zero. 20. The computer system of claim 17 , wherein the host requests include a read request and wherein the pacing requirement is based on exceeding a threshold long access time for an active read request.

Assignees

Inventors

Classifications

  • G06F9/52Primary

    Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • Distribution of clock signals {, e.g. skew} · CPC title

  • involving deadlines, e.g. rate based, periodic · CPC title

  • considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title

  • G06F3/061Primary

    Improving I/O performance · 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 US11922228B2 cover?
Methods, computer program products, and/or systems are provided that perform the following operations: determining a pacing requirement for host requests based on one or more thresholds; setting a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; and implementing a memory request flow for a host request based on the pacing require…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 05 2024 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).