IP Library Granted Patent US 11,847,501
Granted Patent B2
US 11,847,501 · App. 16/899,852 · Granted Dec 19, 2023

Method for data protection in a data processing cluster with partition

Inventors: Yueqiang Cheng (Sunnyvale, CA); Hefei Zhu (Sunnyvale, CA)
Assignees: BAIDU USA LLC; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
G06F9/5061G06F9/468G06F9/5016G06F9/5027G06F21/602
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 11,847,501
App. No.
16/899,852
Granted
Dec 19, 2023
Kind
B2
Abstract

Systems and methods are disclosed for data protection in a cluster of data processing accelerators (DPAs) using a policy that determines a static partition of resources in each DPA in the cluster communicatively coupled to a host device. Each DPA has sensitive (secure) and non-sensitive (non-secure) resources. The host device and a DPA can access all resources of the DPA. Other DPAs can only access non-sensitive resources of a DPA. The partition of resources within a DPA is static and may be implemented in hardware or firmware. Resources include memory, one or more processing modules such as key generators and cryptographic modules, caches, registers, and storage.

Claims (45)

1. A computer-implemented method, comprising:

in response to configuring a plurality of data processing accelerators (DPAs) comprising a first DPA and a second DPA communicatively coupled to each other into a cluster of DPAs, partitioning a plurality of processing resources in the first DPA into sensitive resources and non-sensitive resources;

receiving, at the first DPA, an instruction from a host device to access a resource from the plurality of processing resources in the first DPA;

determining, by the first DPA, whether the instruction is for the first DPA or the second DPA to access a sensitive resource of the sensitive resources on the first DPA; and

in response to determining that the instruction is for the first DPA to access the sensitive resource on the first DPA, processing the instruction by the first DPA and accessing the sensitive resource by the first DPA.

2. The method of claim 1 , wherein the partitioning of the plurality of processing resources of each DPA of the plurality of DPAs is a static partitioning.

3. The method of claim 2 , wherein the partitioned plurality of processing resources are implemented in hardware.

4. The method of claim 1 , wherein the plurality of processing resources comprises: memory, one or more processing modules, one or more registers, or storage.

5. The method of claim 1 , further comprising:

in response to the instruction being that the first DPA is to grant the second DPA access to the sensitive resource on the first DPA, disallowing, by the first DPA, the access by the second DPA to the sensitive resource of the first DPA.

6. The method of claim 1 , further comprising:

in response to the instruction being that the first DPA is to grant a second DPA access to a non-sensitive resource from the non-sensitive resources of the first DPA, allowing the access by the second DPA to the non-sensitive resource of the first DPA.

7. The method of claim 1 , wherein the instruction comprises one of:

instructing the first DPA to store an artificial intelligence (AI) model in memory comprised in the sensitive resources of the first DPA;

instructing the first DPA to perform an inference using an AI model stored in memory comprised in the sensitive resources of the first DPA; and

instructing the first DPA to perform a cryptographic operation using a cryptographic engine comprised in the sensitive resources of the first DPA.

8. A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processing device, cause the processing device to:

partition a plurality of processing resources in a data processing accelerator (DPA) into sensitive resources and non-sensitive resources, the DPA being a first DPA of a plurality of DPAs configured into a cluster of DPAs, wherein the plurality of DPAs comprise a second DPA;

receive, at the first DPA, an instruction from a host device to access a resource of the first DPA;

determine, by the first DPA, whether the instruction is for the first DPA or the second DPA to access a sensitive resource of the sensitive resources on the first DPA; and

in response to determining that the instruction is for the first DPA to access the sensitive resource on the first DPA, allowing the first DPA to access the sensitive resource.

9. The non-transitory computer-readable medium of claim 8 , wherein the partition of the plurality of processing resources of each DPA of the plurality of DPAs is a static partitioning.

10. The non-transitory computer-readable medium of claim 9 , wherein the partitioned plurality of processing resources are implemented in hardware.

11. The non-transitory computer-readable medium of claim 8 , wherein the plurality of processing resources comprises: one or more processing modules comprising the processing device, one or more registers, or storage.

12. The non-transitory computer-readable medium of claim 8 , wherein

in response to the instruction being that the DPA is to grant a second DPA access to the sensitive resource on the first DPA, the processing device is configured to disallow the access by the second DPA to the sensitive resource of the first DPA.

13. The non-transitory computer-readable medium of claim 8 , wherein

in response to the instruction being that the first DPA is to grant a second DPA access to a non-sensitive resource from the non-sensitive resources of the first DPA, the processing device is configured to allow the access by the second DPA to the non-sensitive resource of the first DPA.

14. The non-transitory computer-readable medium of claim 8 , wherein the instruction comprises one of:

instruct the first DPA to store an artificial intelligence (AI) model in memory comprised in the sensitive resources of the first DPA;

instruct the first DPA to perform an inference using an AI model stored in memory comprised in the sensitive resources of the first DPA; and

instruct the first DPA to perform a cryptographic operation using a cryptographic engine comprised in the sensitive resources of the first DPA.

15. A processing system having at least one hardware processor, coupled to a memory programmed with executable instructions that, when executed by the at least one hardware processor, causes the least one hardware processor to perform operations comprising:

configuring a plurality of communicatively coupled data processing accelerators (DPAs) into a cluster of DPAs, each DPA having a plurality of processing resources;

partitioning the plurality of processing resources of each DPA into sensitive resources and non-sensitive resources;

receiving, at a first DPA of the cluster, an instruction to access a resource from the plurality of processing resources comprised in the first DPA;

determining, by the first DPA, whether the instruction is for the first DPA or a second DPA of the cluster to access a sensitive resource of the sensitive resources on the first DPA; and

in response to determining that the instruction is for the first DPA is to access the sensitive resource on the first DPA, allowing the first DPA to access the sensitive resource.

16. The system of claim 15 , wherein the partitioning of the plurality of processing resources of each DPA of the plurality of DPAs is a static partitioning.

17. The system of claim 16 , wherein the partitioned plurality of processing resources are implemented in hardware.

18. The system of claim 15 , wherein the plurality of processing resources comprises: memory, one or more processing modules, one or more registers, or storage.

19. The system of claim 15 , wherein the operations further comprise:

in response to the instruction being that the first DPA is to grant a second DPA access to the sensitive resource on the first DPA, disallowing the access by the second DPA to the sensitive resource of the first DPA.

20. The system of claim 15 , wherein the operations further comprise:

in response to the instruction being that the first DPA is to grant a second DPA access to a non-sensitive resource of the first DPA, allowing the access by the second DPA to the non-sensitive resource of the first DPA.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: BAIDU USA LLC
To: BAIDU USA LLC; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
Reel/Frame 057829/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: CHENG, YUEQIANG; ZHU, HEFEI
To: BAIDU USA LLC
Reel/Frame 052923/0947 →
Continuity (1)
Related Publication 20210389992A1 · Dec 16, 2021