IP Library › Granted Patent US 12,265,510
Granted Patent B1
US 12,265,510 · App. 18/478,895 · Granted Apr 1, 2025

Systems and methods for ensuring processing unit hardware state integrity in live migration

Inventors: Yinan Jiang (Markham, CA); Dmytro Chenchykov (Markham, CA); Shaoyun Liu (Markham, CA); Vignesh Chander (Markham, CA)
Assignee: ATI Technologies ULC
G06F16/214G06F21/64
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 12,265,510
App. No.
18/478,895
Granted
Apr 1, 2025
Kind
B1
Abstract

A computer-implemented method for ensuring processing unit hardware state integrity in live migration can include participating as a source, by a processing unit, in a live migration procedure by injecting, into a live migration data package containing a state of the processing unit, a signature verifying the state. The method can additionally include participating as a target, by the processing unit, in an additional live migration procedure migrating an additional live migration data package containing an additional state of an additional processing unit by performing an integrity check based on an additional signature, in the additional live migration data package, verifying the additional state. Various other methods, systems, and computer-readable media are also disclosed.

Claims (43)

1. A computing device, comprising:

source mode live migration circuitry configured to participate in a live migration procedure by injecting, into a live migration data package containing a state of a processing unit implementing the source mode live migration circuitry, a signature verifying the state; and

target mode live migration circuitry configured to participate in an additional live migration procedure migrating an additional live migration data package containing an additional state of an additional processing unit by performing an integrity check based on an additional signature, in the additional live migration data package, verifying the additional state.

2. The computing device of claim 1 , wherein the source mode live migration circuitry is configured to:

receive a request, from a host driver, to create the live migration data package;

collect, in response to the request, one or more data blobs that include the state of the processing unit;

generate integrity signatures including an integrity signature for each of the one or more data blobs; and

inject the integrity signatures into the live migration data package.

3. The computing device of claim 1 , wherein the target mode live migration circuitry is configured to participate in the additional live migration procedure by:

receiving, from a host driver, the additional live migration data package; and

respond to receipt of the additional live migration data package by performing the integrity check of the additional state of the additional processing unit based on the additional signature injected, by the additional processing unit, into the additional live migration data package.

4. The computing device of claim 3 , wherein the target mode live migration circuitry is configured to participate in the additional live migration procedure by restoring, based on the integrity check, the additional state of the additional processing unit on the processing unit.

5. The computing device of claim 1 , wherein the target mode live migration circuitry is configured to restore the state of the additional processing unit on the processing unit in response to the integrity check proving successful.

6. The computing device of claim 1 , wherein the target mode live migration circuitry is configured to drop a data blob of the additional live migration data package that fails the integrity check, thereby causing restoration of the state of the additional processing unit on the processing unit to fail.

7. The computing device of claim 1 , wherein the computing device corresponds to at least one of:

the processing unit; or

one or more micro-processors configured for implementation in the processing unit.

8. A server system, comprising:

a co-processing unit configured to participate as a source in a live migration procedure by injecting a signature, into a live migration data package containing a state of the co-processing unit, verifying the state and participate as a target in an additional live migration procedure by performing an integrity check based on an additional signature, verifying an additional state of an additional co-processing unit, in an additional live migration data package; and

a host driver configured to trigger the co-processing unit to participate as the source by transmitting a request to create the live migration data package and trigger the co-processing unit to participate as the target by transmitting the additional live migration data package.

9. The server system of claim 8 , wherein the co-processing unit is configured to participate as the source by:

collecting, in response to the request, one or more data blobs that include the state of the co-processing unit;

generating integrity signatures including an integrity signature for each of the one or more data blobs; and

injecting the integrity signatures into the live migration data package.

10. The server system of claim 8 , wherein the co-processing unit is configured to participate as the target by performing the integrity check, in response to receipt of the additional live migration data package, of the additional state of the additional co-processing unit based on the additional signature injected, by the additional co-processing unit, into the additional live migration data package.

11. The server system of claim 10 , wherein the co-processing unit is configured to participate as the target by restoring, based on the integrity check, the additional state of the additional co-processing unit on the co-processing unit.

12. The server system of claim 8 , wherein the co-processing unit is configured to participate as the target by restoring the state of the additional co-processing unit on the co-processing unit in response to the integrity check proving successful.

13. The server system of claim 8 , wherein the co-processing unit is configured to participate as the target by dropping a data blob of the additional live migration data package that fails the integrity check, thereby causing restoration of the state of the additional co-processing unit on the co-processing unit to fail.

14. A computer-implemented method comprising:

participating as a source, by a processing unit, in a live migration procedure by injecting, into a live migration data package containing a state of the processing unit, a signature verifying the state; and

participating as a target, by the processing unit, in an additional live migration procedure migrating an additional live migration data package containing an additional state of an additional processing unit by performing an integrity check based on an additional signature, in the additional live migration data package, verifying the additional state.

15. The computer-implemented method of claim 14 , wherein participating as the source includes:

receiving a request, from a host driver, to create the live migration data package;

collecting, in response to the request, one or more data blobs that include the state of the processing unit;

generating integrity signatures including an integrity signature for each of the one or more data blobs; and

injecting the integrity signatures into the live migration data package.

16. The computer-implemented method of claim 14 , wherein participating as the target includes:

receiving, from a host driver, the additional live migration data package; and

performing the integrity check, in response to receipt of the additional live migration data package, of the additional state based on the additional signature injected, by the additional processing unit, into the additional live migration data package.

17. The computer-implemented method of claim 16 , wherein participating as the target includes restoring, based on the integrity check, the additional state of the additional processing unit on the processing unit.

18. The computer-implemented method of claim 14 , wherein participating as the target includes restoring the state of the additional processing unit on the processing unit in response to the integrity check proving successful.

19. The computer-implemented method of claim 14 , wherein participating as the target includes dropping a data blob of the additional live migration data package that fails the integrity check, thereby causing restoration of the state of the additional processing unit on the processing unit to fail.

20. The computer-implemented method of claim 14 , wherein the processing unit corresponds to a co-processing unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2024
From: JIANG, YINAN; CHENCHYKOV, DMYTRO; LIU, SHAOYUN; CHANDER, VIGNESH
To: ATI TECHNOLOGIES ULC
Reel/Frame 069401/0740 →
References Cited (7)
US 11169835B1 · Duong et al. · 2021 [cited by applicant]
US 20060126468A1 · McGovern · 2006 [cited by examiner]
US 20090204718A1 · Lawton · 2009 [cited by examiner]
US 20130097296A1 · Gehrmann · 2013 [cited by examiner]
US 20190266148A1 · Dhuse · 2019 [cited by examiner]
US 20230246818A1 · Peddada · 2023 [cited by examiner]
International Search Report and Written Opinion in PCT Application No. PCT/IB2024/055914 mailed Sep. 17, 2024, By: Authorized Officer: Kathryn Marcynuk. [cited by applicant]