Providing fine-grained quality of service (QoS) control using interpolation for partitioned resources in processor-based systems

US10678690B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10678690-B2
Application numberUS-201715689543-A
CountryUS
Kind codeB2
Filing dateAug 29, 2017
Priority dateAug 29, 2017
Publication dateJun 9, 2020
Grant dateJun 9, 2020

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.

Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators. Because each allocation indicator may be different for each combination of resource client and partition, interpolation of the allocation indicators provides a higher-resolution aggregate resource allocation for each resource client.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor-based system for providing fine-grained Quality of Service (QoS) control of partitioned resources, comprising: a partitioned resource subdivided into a plurality of partitions and configured to service a plurality of resource clients; a plurality of allocation indicators, each corresponding to a partition of the plurality of partitions and a resource client of a plurality of resource clients, wherein each allocation indicator of the plurality of allocation indicators corresponds to a unique combination of a resource client and a partition; and a resource allocation agent configured to allocate the partitioned resource among the plurality of resource clients based on an interpolation of the plurality of allocation indicators for each resource client of the plurality of resource clients, such that each resource client is allocated a percentage of the partitioned resource equal to an average of allocations of the plurality of partitions indicated by the plurality of allocation indicators for the resource client. 2. The processor-based system of claim 1 , configured to allocate the partitioned resource among the plurality of resource clients based on the interpolation of the plurality of allocation indicators for each resource client of the plurality of resource clients by being configured to: receive an access request for the partitioned resource from a resource client of the plurality of resource clients; assign the access request to a partition of the partitioned resource; and allocate a portion of the partition of the partitioned resource to the resource client based on an allocation indicator of the plurality of allocation indicators corresponding to the partition and the resource client. 3. The processor-based system of claim 2 , wherein: the partitioned resource comprises a system cache; the resource allocation agent comprises a cache controller; the plurality of partitions comprises a plurality of cache partitions of the system cache; and the plurality of allocation indicators comprises a plurality of way masks each indicating one or more cache ways of a corresponding cache partition of the plurality of cache partitions that are allocated to a corresponding resource client of the plurality of resource clients. 4. The processor-based system of claim 3 , wherein the resource allocation agent is configured to: receive the access request for the partitioned resource from the resource client of the plurality of resource clients by being configured to receive a cache access request comprising a memory address; and assign the access request to the partition of the partitioned resource by being configured to select a cache partition of the plurality of cache partitions of the system cache, based on a hash of the memory address. 5. The processor-based system of claim 2 , wherein: the partitioned resource comprises a plurality of memory access bandwidth providers to a shared system memory; the resource allocation agent comprises a memory management unit (MMU); the plurality of partitions comprises a plurality of memory controllers configured to access the shared system memory; and the plurality of allocation indicators comprises a plurality of memory stride values each indicating a relative weight to be applied by a corresponding memory controller of the plurality of memory controllers for each memory access operation for a corresponding resource client of the plurality of resource clients. 6. The processor-based system of claim 5 , wherein the resource allocation agent is configured to: receive the access request for the partitioned resource from the resource client of the plurality of resource clients by being configured to receive a memory access request comprising a memory address; and assign the access request to the partition of the partitioned resource by being configured to select a memory controller of the plurality of memory controllers to access the shared system memory, based on a hash of the memory address. 7. The processor-based system of claim 1 integrated into an integrated circuit (IC). 8. The processor-based system of claim 1 integrated into a device selected from the group consisting of: a set top box; an entertainment unit; a navigation device; a communications device; a fixed location data unit; a mobile location data unit; a global positioning system (GPS) device; a mobile phone; a cellular phone; a smart phone; a session initiation protocol (SIP) phone; a tablet; a phablet; a server; a computer; a portable computer; a mobile computing device; a wearable computing device; a desktop computer; a personal digital assistant (PDA); a monitor; a computer monitor; a television; a tuner; a radio; a satellite radio; a music player; a digital music player; a portable music player; a digital video player; a video player; a digital video disc (DVD) player; a portable digital video player; an automobile; a vehicle component; avionics systems; a drone; and a multicopter. 9. A processor-based system for providing fine-grained Quality of Service (QoS) control of partitioned resources, comprising a means for allocating a partitioned resource, subdivided into a plurality of partitions, among a plurality of resource clients based on an interpolation of a plurality of allocation indicators, each corresponding to a partition of the plurality of partitions and a resource client of the plurality of resource clients, wherein each allocation indicator of the plurality of allocation indicators corresponds to a unique combination of a resource client and a partition, such that each resource client is allocated a percentage of the partitioned resource equal to an average of allocations of the plurality of partitions indicated by the plurality of allocation indicators for the resource client. 10. A method for providing fine-grained Quality of Service (QoS) control of partitioned resources, comprising allocating, by a resource allocation agent of a processor-based system, a partitioned resource, subdivided into a plurality of partitions, among a plurality of resource clients based on an interpolation of a plurality of allocation indicators, each corresponding to a partition of the plurality of partitions and a resource client of the plurality of resource clients, wherein each allocation indicator of the plurality of allocation indicators corresponds to a unique combination of a resource client and a partition, such that each resource client is allocated a percentage of the partitioned resource equal to an average of allocations of the plurality of partitions indicated by the plurality of allocation indicators for the resource client. 11. The method of claim 10 , wherein allocating the partitioned resource among the plurality of resource clients based on the interpolation of the plurality of allocation indicators comprises: receiving an access request for the partitioned resource from a resource client of the plurality of resource clients; assigning the access request to a partition of the partitioned resource; and allocating a portion of the partition of the partitioned resource to the resource client based on an allocation indicator of the plurality of allocation indicators corresponding to the partition and the resource client. 12. The method of claim 11 , wherein: the partitioned resource comprises a system cache; the resource allocation agent comprises a cache controller; the plurality of partitions comprises a plurality of cache partitions of the system cache; and the plurality of allocation indicators comprises a plurality of way masks each indicating one or more cache ways of a corresponding cache partition of the plurality o

Assignees

Inventors

Classifications

  • Partitioned cache, e.g. separate instruction and operand caches · CPC title

  • for multiprocessing or multitasking · CPC title

  • Space efficiency improvement · CPC title

  • Partitioning or combining of resources · CPC title

  • Access to shared memory · 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 US10678690B2 cover?
Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a p…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0848. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 09 2020 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).