IP Library › Granted Patent US 12,216,566
Granted Patent B2
US 12,216,566 · App. 17/953,130 · Granted Feb 4, 2025

Debug operations on artificial intelligence operations

Inventor: Alberto Troia (Munich, DE)
G06F11/364G06F11/0778G06F11/0787G06F13/1668G06N3/04
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,216,566
App. No.
17/953,130
Granted
Feb 4, 2025
Kind
B2
Abstract

The present disclosure includes apparatuses and methods related to performing a debug operation on an artificial intelligence operation. An example apparatus can include a number of memory arrays and a controller, wherein the controller is configured to perform an artificial intelligence (AI) operation on data stored in the number of memory arrays and perform a debug operation on the AI operation.

Claims (45)

1. An apparatus, comprising:

an artificial intelligence (AI) accelerator;

a number of memory arrays coupled to the AI accelerator;

a number of registers coupled to the AI accelerator; and

a controller coupled to the AI accelerator, wherein the controller is configured to:

perform an AI operation via the AI accelerator using at least one of: activation function data, partial results of AI operations, or bias value data;

store a location of a layer of a neural network where an error occurred during the AI operation in a first register of the number of registers in response to the error occurring;

stop the AI operation at the layer of the neural network where the error occurred in response to a particular bit of a second register of the number of registers being programmed to a particular state; and

perform a debug operation on the AI operation in response to a particular bit of a third register of the number of registers being programmed to a particular state.

2. The apparatus of claim 1 , wherein the controller is configured to perform the AI operation on data stored in the number of memory arrays.

3. The apparatus of claim 1 , wherein the controller is configured to perform the debug operation to identify errors of the AI operation.

4. The apparatus of claim 1 , wherein the controller is configured to store data in a temporary memory block of the number of memory arrays in response to a particular bit of a fourth register being programmed to a particular state.

5. The apparatus of claim 4 , wherein the data includes identified errors from the debug operation.

6. An apparatus, comprising:

an artificial intelligence (AI) accelerator;

a number of memory arrays coupled to the AI accelerator;

a number of registers coupled to the AI accelerator; and

a controller coupled to the AI accelerator, wherein the controller is configured to:

perform an AI operation via the AI accelerator using at least one of: activation function data, partial results of AI operations, or bias value data;

store a location of a layer of a neural network where an error occurred during the AI operation in a first register of the number of registers in response to the error occurring;

stop the AI operation at the layer of the neural network where the error occurred;

perform a debug operation on the AI operation to identify errors of the AI operation in response to a particular bit of a second register of the number of registers being programmed to a particular state;

store data in a temporary memory block of the number of memory arrays in response to a particular bit of a third register of the number of registers being programmed to a particular state; and

change the data stored in the temporary memory block to correct the identified errors.

7. The apparatus of claim 6 , wherein the controller is configured to stop the AI operation in response to a different bit of the second register of the number of registers being programmed to a particular state.

8. The apparatus of claim 7 , wherein the controller is configured to continue the AI operation in response to the different bit of the second register being programmed to a different state.

9. The apparatus of claim 8 , wherein the controller is configured to continue the AI operation with the changed data.

10. The apparatus of claim 6 , wherein the controller is configured to validate the temporary memory block.

11. The apparatus of claim 6 , wherein the controller is configured to send a result of the debug operation.

12. A method, comprising:

receiving a debug command from a host;

programming a particular bit of a first register of a number of registers to a particular state in response to receiving the debug command from the host;

performing an artificial intelligence (AI) operation via an AI accelerator coupled to the number of registers using at least one of: activation function data, partial results of AI operations, or bias value data;

storing a location of a layer of a neural network where an error occurred during the AI operation in a second register of the number of registers in response to the error occurring;

stopping the AI operation at the layer of the neural network where the error occurred;

performing a debug operation on the AI operation in response to the particular bit of the first register being programmed to the particular state;

programming a particular bit of a third register of the number of registers to a particular state; and

storing data in a temporary memory block in response to the particular bit of the third register being programmed to the particular state.

13. The method of claim 12 , comprising performing the AI operation on data stored in a number of memory arrays.

14. The method of claim 13 , comprising performing the AI operation using at least one of: input data or neural network data.

15. The method of claim 12 , comprising programming a different bit of the first register to a different state.

16. The method of claim 15 , comprising indicating the AI operation is to step forward to continue the AI operation in response to programming the different bit of the first register to the different state.

17. The method of claim 15 , comprising indicating the temporary block is valid in response to programming the different bit of the first register to the different state.

18. The method of claim 15 , comprising storing a result of the debug operation in response to programming the different bit of the first register to the different state.

19. The method of claim 15 , comprising sending a result of the debug operation in response to programming the different bit of the first register to the different state.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 064932/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: TROIA, ALBERTO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061581/0623 →
Continuity (2)
Continuation 16553897 · Aug 28, 2019
Related Publication 20230015438A1 · Jan 19, 2023
References Cited (38)
US 5412756A · Bauman · 1995 [cited by examiner]
US 6321329B1 · Jaggar et al. · 2001 [cited by applicant]
US 9632915B2 · Davis et al. · 2017 [cited by applicant]
US 10388393B2 · Rosti · 2019 [cited by examiner]
US 10713404B1 · Schumacher · 2020 [cited by examiner]
US 10776686B1 · Jacob · 2020 [cited by examiner]
US 11467946B1 · Jacob · 2022 [cited by examiner]
US 20120010900A1 · Kaniadakis · 2012 [cited by examiner]
US 20130346814A1 · Zadigian · 2013 [cited by examiner]
US 20170024644A1 · Van Der Made et al. · 2017 [cited by applicant]
US 20180189638A1 · Nurvitadhi et al. · 2018 [cited by applicant]
US 20190042402A1 · Chhabra et al. · 2019 [cited by applicant]
US 20190042538A1 · Koren et al. · 2019 [cited by applicant]
US 20190094946A1 · Pillilli et al. · 2019 [cited by applicant]
US 20190114531A1 · Torkamani · 2019 [cited by examiner]
US 20190205737A1 · Bleiweiss et al. · 2019 [cited by applicant]
US 20190235867A1 · Jaffari et al. · 2019 [cited by applicant]
US 20190363880A1 · Lee et al. · 2019 [cited by applicant]
US 20200026519A1 · Sultana et al. · 2020 [cited by applicant]
US 20200035076A1 · Kim et al. · 2020 [cited by applicant]
US 20200081757A1 · Ota · 2020 [cited by examiner]
US 20200133761A1 · Paruthi et al. · 2020 [cited by applicant]
US 20200327420A1 · Aralikatte et al. · 2020 [cited by applicant]
US 20200348973A1 · Kutch et al. · 2020 [cited by applicant]
US 20200356905A1 · Luk et al. · 2020 [cited by applicant]
US 20200409868A1 · Durham · 2020 [cited by applicant]
US 20200410254A1 · Pham et al. · 2020 [cited by applicant]
US 20210012185A1 · Rosemarine · 2021 [cited by applicant]
US 20210064114A1 · Troia · 2021 [cited by applicant]
US 20210064508A1 · Troia · 2021 [cited by applicant]
US 20210065754A1 · Troia · 2021 [cited by applicant]
US 20210065767A1 · Troia · 2021 [cited by applicant]
CN 105718995 · 2016 [cited by applicant]
EP 2054808 · 2016 [cited by applicant]
WO 2009001038 · 2009 [cited by applicant]
Sebastian et al., “Temporal Correlation Detection Using Computational Phase-change Memory”, Nature Communications Journal 8, Article No. 1115, Oct. 24, 2017, pp. 1-10. [cited by applicant]
Rios et al., “In-Memory Computing on a Photonic Platform”, Jan. 18, 2018, Cornell University arXiv, retrieved from https://arxiv.org/abs/1801.06228. [cited by applicant]
“A New Brain-inspired Architecture Could Improve How Computers Handle Data and Advance AI”, Oct. 3, 2018, American Institute of Physics, retrieved from https://phys.org/news/2018-10-brain-inspired-architecture-advance-a… [cited by applicant]