IP Library › Granted Patent US 11,573,853
Granted Patent B2
US 11,573,853 · App. 17/218,535 · Granted Feb 7, 2023

Error checking data used in offloaded operations

Inventors: Vilas Sridharan (Boxborough, MA); Sudhanva Gurumurthi (Austin, TX)
Assignee: ADVANCED MICRO DEVICES, INC.
G06F11/10G06F3/0619G06F3/0659G06F3/0673
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,573,853
App. No.
17/218,535
Granted
Feb 7, 2023
Kind
B2
Abstract

Error checking data used in offloaded operations is disclosed. A remote execution device receives a request from a host to store a data block in a memory region. The data block includes data and host-generated error checking information for the data. The remote execution device updates the data block by overwriting the host-generated error checking information with locally generated error checking information for the data. The data block is then stored in the memory region.

Claims (45)

1. A method of error checking data used in offloaded operations, the method comprising:

identifying a request issued by a host to store a data block in a memory region of a remote execution device, wherein the data block includes data and host-generated error checking information for the data generated by the host;

updating the data block by overwriting the host-generated error checking information included in the data block with locally generated error checking information for the data generated by the remote execution device; and

storing the updated data block in the memory region of the remote execution device.

2. The method of claim 1 further comprising identifying a host-provided error indicator in the data block.

3. The method of claim 1 , wherein the memory region is coupled to a processing unit configured to execute operations offloaded from the host.

4. The method of claim 3 further comprising verifying the data using the locally generated error checking information upon reading the updated data block from the memory region into the processing unit.

5. The method of claim 4 , further comprising:

generating, by the processing unit, new data;

generating error checking information for the new data; and

storing the new data in a new data block and the locally generated error checking information for the new data in a new memory block in the memory region, wherein the new data block is marked to indicate that the new data was generated from an offloaded operation.

6. The method of claim 5 further comprising verifying the new data using the locally generated error checking information for the new data prior to providing the new data to the host.

7. The method of claim 6 further comprising marking the new data with an error indicator when an unrecoverable error is detected.

8. The method of claim 3 , wherein the memory region and the processing unit are included in a processing-in-memory (PIM) device.

9. An apparatus for error checking data used in offloaded operations, the apparatus comprising:

a processing unit configured to execute operations offloaded from a host;

a memory region coupled to the processing unit; and

logic circuitry configured to:

identify a request issued by the host to store a data block in the memory region, wherein the data block includes data and host-generated error checking information for the data generated by the host;

update the data block by overwriting the host-generated error checking information included in the data block with locally generated error checking information for the data generated by an error checking module for the memory region; and

store the updated data block in the memory region.

10. The apparatus of claim 9 wherein the logic circuitry is further configured to identify a host-provided error indicator in the data block.

11. The apparatus of claim 9 wherein the logic circuitry is further configured to verify the data using the locally generated error checking information upon reading the updated data block from the memory region into the processing unit.

12. The apparatus of claim 9 wherein the logic circuitry is further configured to:

generate error checking information for new data generated by the processing unit; and

store the new data in a new data block and the locally generated error checking information for the new data in a new memory block in the memory region, wherein the new data block is marked to indicate that the new data was generated from an offloaded operation.

13. The apparatus of claim 12 wherein the logic circuitry is further configured to verify the new data using the locally generated error checking information for the new data prior to providing the new data to the host.

14. The apparatus of claim 13 wherein the logic circuitry is further configured to mark the new data with an error indicator when an unrecoverable error is detected.

15. The apparatus of claim 9 , wherein the apparatus is a processing-in-memory (PIM) device.

16. A system for error checking data used in offloaded operations, the system comprising:

a host including a processor, wherein the host is configured to:

configure a remote execution device to execute operations offloaded from the processor;

perform an error check on a data block read from host memory using host-generated error checking information stored in the data block prior to copying the data block to the remote execution device; and

send a request to store the data block in a memory region of the remote execution device; and

wherein the remote execution device is configured to:

identify the request issued by the host to store the data block in the memory region of the remote execution device, wherein the data block includes data and host-generated error checking information for the data generated by the host;

update the data block by overwriting the host-generated error checking information included in the data block with locally generated error checking information for the data generated by the remote execution device; and

store the updated data block in the memory region of the remote execution device.

17. The system of claim 16 wherein the remote execution device is further configured to:

generate new data;

generate error checking information for the new data; and

store the new data in a new data block and the locally generated error checking information for the new data in a new memory block in the memory region, wherein the new data block is marked to indicate that the new data was generated from an offloaded operation.

18. The system of claim 17 wherein the remote execution device is further configured to verify the new data using the locally generated error checking information for the new data prior to providing the new data to the host.

19. The system of claim 18 wherein the remote execution device is further configured to mark the new data with an error indicator when an unrecoverable error is detected.

20. The system of claim 16 , wherein the remote execution device is a processing-in-memory (PIM) device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: SRIDHARAN, VILAS; GURUMURTHI, SUDHANVA
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 055781/0266 →
Continuity (1)
Related Publication 20220318089A1 · Oct 6, 2022