Method and System for Using Processor Enclaves and Cache Partitioning to Assist a Software Cryptoprocessor
US-2018217941-A1 · Aug 2, 2018 · US
US10678690B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10678690-B2 |
| Application number | US-201715689543-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2017 |
| Priority date | Aug 29, 2017 |
| Publication date | Jun 9, 2020 |
| Grant date | Jun 9, 2020 |
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.