Methods and systems for memory bandwidth control

US2023195365A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023195365-A1
Application numberUS-202318166574-A
CountryUS
Kind codeA1
Filing dateFeb 9, 2023
Priority dateSep 1, 2021
Publication dateJun 22, 2023
Grant date

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.

Resources of an electronic device are partitioned into a plurality of resource portions to be utilized by a plurality of clients. Each resource portion is assigned to a respective client, has a respective partition identifier (ID), and corresponds to a plurality of memory bandwidth usage states tracked for a plurality of memory blocks. For each resource portion, each of the memory bandwidth usage states is associated with a respective memory block and indicates at least how much of a memory access bandwidth assigned to the respective partition ID to access the respective memory block is used. A usage level is determined for each resource partition based on the memory bandwidth usage states, and applied to adjust a credit count. When the credit count is adjusted beyond a request issue threshold, a next data access request is issued from a memory access request queue for the respective partition ID.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for tracking memory usage at a memory system coupled to one or more processing clusters via a first memory in an electronic device, the memory system including a memory block, comprising: receiving a set of data access requests associated with a plurality of clients to the memory block, wherein resources are partitioned to a plurality of resource portions to be utilized by the plurality of clients, each resource portion being assigned to a respective client and having a respective partition identifier (ID); and for each resource portion having the respective partition ID: identifying a subset of data access requests associated with the respective partition ID for accessing the memory block; tracking a memory bandwidth usage state associated with the respective partition ID, wherein the memory bandwidth usage state indicates at least how much of a memory access bandwidth assigned to the respective partition ID to access the memory block is used; and in response to each data access request of the set of data access requests, reporting the memory bandwidth usage state to the one or more processing clusters. 2 . The method of claim 1 , wherein reporting the memory bandwidth usage state to the one or more processing clusters further comprises: in response to receiving a read request, reporting the memory bandwidth usage state to the one or more processing clusters directly with a data item requested by the read request or indirectly via the first memory; and in response to receiving a write request, reporting the memory bandwidth usage state to the one or more processing clusters indirectly via the first memory. 3 . The method of claim 1 , wherein the memory bandwidth usage state associated with the respective partition ID is also tracked based on an alternative current congestion level of the memory block and/or whether a predefined memory access bandwidth is enforced. 4 . The method of claim 1 , wherein tracking the memory bandwidth usage state associated with the respective partition ID further comprises, for the respective partition ID: determining whether an average data access level to the memory block has exceeded a predefined threshold portion of a predefined memory access bandwidth assigned to the respective partition ID to access the memory block. 5 . The method of claim 4 , wherein tracking the memory bandwidth usage state associated with the respective partition ID further comprises: monitoring a second total number of data access requests that are waiting in a second request queue of the memory system; and determining an alternative current congestion level indicating whether the second total number of data access requests exceeds an alternative predefined portion of an external memory capacity. 6 . The method of claim 5 , further comprising: determining a second current congestion level indicating whether the second total number of data access requests exceeds a second predefined portion of the external memory capacity, wherein the second current congestion level is used to control throttling or qualities of prefetch requests of the one or more processing clusters. 7 . The method of claim 5 , wherein the memory bandwidth usage state includes a flag configured to indicate a heavy memory bandwidth usage state, further comprising: enabling the flag in accordance with (a) a determination that the average data access level to the memory block has exceeded the predefined threshold portion of the predefined memory access bandwidth and (b) a determination that the predefined memory access bandwidth is enforced or that the alternative current congestion level of the memory block is high. 8 . The method of claim 1 , wherein for each partition ID, the memory bandwidth usage state associated with the respective partition ID includes a multibit state number, and further comprising: increasing a magnitude of the multibit state number with how much of the memory access bandwidth assigned to the respective partition ID to access the memory block is used. 9 . A memory system for tracking memory usage coupled to one or more processing clusters via a first memory in an electronic device, the memory system comprising: a memory block, the memory system configured to: receive a set of data access requests associated with a plurality of clients to the memory block, wherein resources are partitioned to a plurality of resource portions to be utilized by the plurality of clients, each resource portion being assigned to a respective client and having a respective partition identifier (ID); and for each resource portion having the respective partition ID, the memory system further configured to: identify a subset of data access requests associated with the respective partition ID for accessing the memory block; track a memory bandwidth usage state associated with the respective partition ID, wherein the memory bandwidth usage state indicates at least how much of a memory access bandwidth assigned to the respective partition ID to access the memory block is used; and in response to each data access request of the set of data access requests, report the memory bandwidth usage state to the one or more processing clusters. 10 . The memory system of claim 9 , wherein the memory system is further configured to: in response to receiving a read request, report the memory bandwidth usage state to the one or more processing clusters directly with a data item requested by the read request or indirectly via the first memory; and in response to receiving a write request, report the memory bandwidth usage state to the one or more processing clusters indirectly via the first memory. 11 . The memory system of claim 9 , wherein the memory system is further configured to: track the memory bandwidth usage state associated with the respective partition ID based on an alternative current congestion level of the memory block and/or whether a predefined memory access bandwidth is enforced. 12 . The memory system of claim 9 , wherein the memory system is further configured, for the respective partition ID, to: determine whether an average data access level to the memory block has exceeded a predefined threshold portion of a predefined memory access bandwidth assigned to the respective partition ID to access the memory block. 13 . The memory system of claim 12 , wherein the memory system is further configured to: monitor a second total number of data access requests that are waiting in a second request queue of the memory system; and determine an alternative current congestion level indicating whether the second total number of data access requests exceeds an alternative predefined portion of an external memory capacity. 14 . The memory system of claim 13 , further configured to: determine a second current congestion level indicating whether the second total number of data access requests exceeds a second predefined portion of the external memory capacity, wherein the second current congestion level is used to control throttling or qualities of prefetch requests of the one or more processing clusters. 15 . The memory system of claim 13 , wherein the memory bandwidth usage state includes a flag configured to indicate a heavy memory bandwidth usage state, the memory system is further configured to: enable the flag in accordance with (a) a determination that the average data access level to the memory block has exceeded the predefined threshold portion of the predefined memory access bandwidth and (b) a determination that the predefined memory access bandwidth i

Assignees

Inventors

Classifications

  • G06F3/0655Primary

    Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • Controller construction arrangements · 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 US2023195365A1 cover?
Resources of an electronic device are partitioned into a plurality of resource portions to be utilized by a plurality of clients. Each resource portion is assigned to a respective client, has a respective partition identifier (ID), and corresponds to a plurality of memory bandwidth usage states tracked for a plurality of memory blocks. For each resource portion, each of the memory bandwidth usa…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0655. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 22 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).