9916257

Method and Apparatus for Tlb Shoot-Down in a Heterogeneous Computing System Supporting Shared Virtual Memory

PublishedMarch 13, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus comprising: a TLB to store a plurality of virtual address translation entries; and a memory management unit, coupled with the TLB, to maintain PASID state entries corresponding to a portion of the virtual address translation entries, each of said PASID state entries including an active reference count and a lazy-invalidation field, said memory management unit to perform an atomic modification of a first PASID state entry responsive to receiving a first PASID state update request from a device of a plurality of heterogeneous devices in a multi-core system and to read the lazy-invalidation state of the first PASID state entry, the memory management unit to send a PASID state update response to the device to synchronize a device TLB entry prior to activation responsive at least in part to the lazy-invalidation state read.

2

2. The apparatus of claim 1 wherein the atomic modification of the first PASID state comprises: reading the first PASID state entry including the lazy-invalidate state; incrementing an active reference count if the first PASID state update request indicates an activation update; and clearing the lazy-invalidate state if the first PASID state update request indicates an activation update.

3

3. The apparatus of claim 1 wherein the memory management unit responsive at least in part to the lazy-invalidation state read is further to: invalidate a TLB virtual address translation entry corresponding to the first PASID state entry; and set a synchronization flag for the PASID state update response sent to the device.

4

4. The apparatus of claim 1 wherein the memory management unit is further to: process a TLB shoot-down from an operating system in the multi-core system.

5

5. The apparatus of claim 4 wherein processing a TLB shoot-down comprises: invalidating a TLB virtual address translation entry.

6

6. The apparatus of claim 4 wherein processing a TLB shoot-down comprises: causing a device TLB entry of one of the plurality of heterogeneous devices to be invalidated.

7

7. The apparatus of claim 4 wherein processing a TLB shoot-down comprises: reading a PASID state entry; and setting a lazy-invalidate field in the PASID state entry if an active reference count in the PASID state entry is zero.

8

8. The apparatus of claim 7 wherein processing a TLB shoot-down comprises: invalidating a TLB entry if the active reference count in the PASID state entry is not zero; and causing a device TLB entry of one of the plurality of heterogeneous devices to be invalidated if the active reference count in the PASID state entry is not zero.

9

9. The apparatus of claim 7 wherein setting a lazy-invalidate field in the PASID state entry is performed using a locked compare-and-exchange instruction.

10

10. A multi-core processor comprising: a first plurality of homogeneous processing cores; a heterogeneous processing device; a TLB to store a plurality of virtual address translation entries; and a memory management unit, coupled with the TLB, to maintain PASID state entries corresponding to a portion of the virtual address translation entries, each of said PASID state entries including an active reference count and a lazy-invalidation field, said memory management unit to perform an atomic modification of a first PASID state entry responsive to receiving a first PASID state update request from a device of a plurality of heterogeneous devices in the multi-core processor and to read the lazy-invalidation state of the first PASID state entry, the memory management unit to send a PASID state update response to the device to synchronize a device TLB entry prior to activation responsive at least in part to the lazy-invalidation state read.

11

11. The multi-core processor of claim 10 wherein the atomic modification of the first PASID state entry comprises: reading the first PASID state entry including the lazy-invalidate state; incrementing an active reference count if the first PASID state update request indicates an activation update; and clearing the lazy-invalidate state if the first PASID state update request indicates an activation update.

12

12. The multi-core processor of claim 10 wherein the memory management unit is further to process a TLB shoot-down from an operating system.

13

13. The multi-core processor of claim 12 wherein processing a TLB shoot-down comprises: reading a PASID state entry; and setting a lazy-invalidate field in the PASID state entry if an active reference count in the PASID state entry is zero.

14

14. The multi-core processor of claim 13 wherein processing a TLB shoot-down comprises: invalidating a TLB entry if the active reference count in the PASID state entry is not zero; and causing a device TLB entry of one of the plurality of heterogeneous devices to be invalidated if the active reference count in the PASID state entry is not zero.

15

15. The multi-core processor of claim 13 wherein setting a lazy-invalidate field in the PASID state entry is performed using a locked compare-and-exchange instruction.

16

16. A multi-core system comprising: a memory to store a plurality of page tables containing virtual address translation entries; a first plurality of homogeneous processing cores; a heterogeneous processing device; a TLB to store a plurality of the virtual address translation entries; and a memory management unit, coupled with the TLB, to maintain PASID state entries corresponding to a portion of the virtual address translation entries, each of said PASID state entries including an active reference count and a lazy-invalidation field, said memory management unit to perform an atomic modification of a first PASID state entry responsive to receiving a first PASID state update request from a device of a plurality of heterogeneous devices in the multi-core system and to read the lazy-invalidation state of the first PASID state entry, the memory management unit to send a PASID state update response to the device to synchronize a device TLB entry prior to activation responsive at least in part to the lazy-invalidation state read.

17

17. The multi-core system of claim 16 wherein the memory management unit is further to: process a TLB shoot-down from an operating system in the multi-core system.

18

18. The multi-core system of claim 17 wherein processing a TLB shoot-down comprises: causing a device TLB entry of one of the plurality of heterogeneous devices to be invalidated.

19

19. The multi-core system of claim 17 wherein processing a TLB shoot-down comprises: reading a PASID state entry; and setting a lazy-invalidate field in the PASID state entry if an active reference count in the PASID state entry is zero.

20

20. The multi-core system of claim 19 wherein processing a TLB shoot-down comprises: invalidating a TLB entry if the active reference count in the PASID state entry is not zero; and causing a device TLB entry of one of the plurality of heterogeneous devices to be invalidated if the active reference count in the PASID state entry is not zero.

Patent Metadata

Filing Date

Unknown

Publication Date

March 13, 2018

Inventors

Rajesh M. Sankaran
Altug Koker
Philip R. Lantz
Asit K. Mallick
James B. Crossland
Aditya Navale
Gilbert Neiger
Andrew V. Anderson

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND APPARATUS FOR TLB SHOOT-DOWN IN A HETEROGENEOUS COMPUTING SYSTEM SUPPORTING SHARED VIRTUAL MEMORY” (9916257). https://patentable.app/patents/9916257

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.