IP Library › Granted Patent US 10,938,559
Granted Patent B2
US 10,938,559 · App. 15/838,826 · Granted Mar 2, 2021

Security key identifier remapping

Inventor: Douglas Benson Hunt (Fort Collins, CO)
Assignee: ADVANCED MICRO DEVICES, INC.
H04L9/0894G06F9/45558G06F12/0802G06F21/602G06F21/6227G06F21/78H04L9/0897G06F2009/45583G06F2009/45587H04L63/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,938,559
App. No.
15/838,826
Granted
Mar 2, 2021
Kind
B2
Abstract

Security key identifier remapping includes associating a system-level security key identifier to a local-level identifier requiring fewer bits of storage space. The remapped security key identifiers are used to receive, at a first compute complex of a processing system, a memory access request including a memory address value and a system-level security key identifier. The compute complex responds to the memory access request based on a determination of whether a security key identifier map of the first compute complex includes a mapping of the system-level security key identifier to a local-level security key identifier. In response to determining that the security key identifier map of the first compute complex does not include a mapping of the system-level security key identifier to the local-level security key identifier, a cache miss message may be returned without probing caches of the first compute complex.

Claims (45)

1. A method, comprising:

receiving, at a first compute complex of a processing system, a memory access request including a memory address value and a system-level security key identifier corresponding to an encryption key to encrypt and decrypt data associated with the memory access request; and

responding, based on a determination of whether a security key identifier map of the first compute complex includes a mapping of the system-level security key identifier to a local-level security key identifier, to the memory access request.

2. The method of claim 1 , wherein responding to the memory access request comprises:

returning, in response to determining that the security key identifier map of the first compute complex does not include a mapping of the system-level security key identifier to the local-level security key identifier, a cache miss message without probing caches of the first compute complex.

3. The method of claim 2 , further comprising:

transmitting, in response to the cache miss message, the memory access request to a memory of the processing system; and

accessing data at the memory address value of the memory using a security key corresponding to the system-level security key identifier.

4. The method of claim 1 , further comprising:

generating, at a second security key identifier map of a second compute complex, an initial memory access request including the memory address value and a local-level security key identifier; and

generating the memory access request at the second compute complex based on the second security key identifier map and the initial memory access request; and

transmitting the memory access request to a memory controller of the processing system.

5. The method of claim 4 , wherein generating the memory access request comprises:

translating, based on a mapping within the second security key identifier map, the local-level security key identifier of the initial memory access request to the system-level security key identifier, wherein the system-level security key identifier includes more bits than the local-level security key identifier.

6. A processor, comprising:

a memory controller; and

a first compute complex to:

receive a memory access request including a memory address value and a system-level security key identifier corresponding to an encryption key to encrypt and decrypt data associated with the memory access request; and

respond, based on a determination of whether a security key identifier map of the first compute complex includes a mapping of the system-level security key identifier to a local-level security key identifier, to the memory access request.

7. The processor of claim 6 , wherein the first compute complex is further to:

return, in response to determining that the security key identifier map of the first compute complex does not include a mapping of the system-level security key identifier to the local-level security key identifier, a cache miss message without probing caches of the first compute complex.

8. The processor of claim 7 , wherein the memory controller is further to:

transmit the memory access request to a memory system; and

access data at the memory address value of the memory using a security key corresponding to the system-level security key identifier.

9. The processor of claim 8 , wherein the memory controller is further to:

decrypt data read from the memory address value of the memory using the security key corresponding to the system-level security key identifier.

10. The processor of claim 8 , wherein the memory controller is further to:

encrypt data using the security key corresponding to the system-level security key identifier for writing to the memory address value of the memory.

11. The processor of claim 6 , wherein the processor comprises:

a second compute complex including a second security key identifier map and a plurality of compute cores, wherein the second security key identifier map includes a mapping of the system-level security key identifier to a local-level security key identifier having fewer bits than the system-level security key identifier.

12. The processor of claim 11 , wherein the local-level security key identifier is assigned to one of the plurality of compute cores authorized to access data in a memory associated with the system-level security key identifier.

13. The processor of claim 12 , wherein the second compute complex is further to:

receive, at the second security key identifier map, an untranslated memory access request including a memory address value and the local-level security key identifier; and

generate, based on the second security key identifier map, the memory access request; and

transmit the memory access request to the memory controller.

14. The processor of claim 13 , wherein the second compute complex is further to:

translate, based on a mapping within the second security key identifier map, the local-level security key identifier of the untranslated memory access request to the system-level security key identifier, wherein the system-level security key identifier includes more bits than the local-level security key identifier.

15. A processing system, comprising:

a first compute complex including a plurality of compute cores and a first security key identifier map; and

a security module configured to assign a system-level security key identifier to one of the plurality of compute cores in the first compute complex, wherein the first security key identifier map is configured to map the system-level security key identifier to a local-level security key identifier having fewer bits than the system-level security key identifier, and wherein the local-level security key identifier is assigned to a virtual machine executing at least one of plurality of processor cores.

16. The processing system of claim 15 , wherein the system-level security key identifier authorizes the one of the plurality of compute cores to access data in a memory of the processing system associated with the system-level security key identifier.

17. The processing system of claim 15 , wherein the first security key identifier map is configured to receive a memory access request including a memory address value and the local-level security key identifier, and wherein the first security key identifier map is further configured to translate the local-level security key identifier to the system-level security key identifier.

18. The processing system of claim 17 , wherein the processing system is configured to transmit the memory access request from a memory controller to a memory of the processing system, and wherein the processing system is further configured to access data at the memory address value of the memory using a security key corresponding to the system-level security key identifier.

19. The processing system of claim 18 , wherein the processing system is configured to decrypt data read from the memory address value of the memory using the security key corresponding to the system-level security key identifier.

20. The processing system of claim 18 , wherein the memory controller is configured to transmit the memory access request to a second compute complex to request data associated with the memory address value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2017
From: HUNT, DOUGLAS BENSON
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 044421/0632 →
Continuity (1)
Related Publication 20190182040A1 · Jun 13, 2019
Cited By (1)
US 12,461,663