IP Library › Granted Patent US 12,353,272
Granted Patent B2
US 12,353,272 · App. 18/072,243 · Granted Jul 8, 2025

Error logger circuit

Inventors: Soeren Sonntag (Haar, DE); Vanja Rados (San Rafael, CA); Constantin Daniel Ciortescu (Taufkirchen, DE); Mirko Sauermann (Neubiberg, DE); Matthias Heink (Munich, DE)
Assignee: Apple Inc.
G06F11/0772G06F11/076G06F11/0778
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,353,272
App. No.
18/072,243
Granted
Jul 8, 2025
Kind
B2
Abstract

The present disclosure describes a device including an initiator, a target, a communication bus coupling the initiator to the target over a channel, a functional circuit, and an error logger circuit. The functional circuit is coupled to the channel and can perform a function associated with a transaction request from the initiator to the target. The functional circuit can include an error detection circuit to detect an error associated with the function performed by the functional circuit and to generate an error indicator signal to indicate that the error has been detected. The error logger circuit can be coupled to the functional circuit, in which the error logger circuit is configured to receive the error indicator signal from the error detection circuit and store information about the error.

Claims (47)

1. A device, comprising:

an initiator;

a target;

a communication bus configured to couple the initiator to the target over a channel;

a functional circuit coupled to the channel and configured to perform a function associated with a transaction request from the initiator to the target, wherein the functional circuit comprises an error detection circuit configured to detect an error associated with the function performed by the functional circuit and to generate an error indicator signal to indicate that the error has been detected, wherein the error indicator signal is generated in a same clock cycle as the transaction request is sent to a component in a downstream direction to the target over the channel; and

an error logger circuit coupled to the functional circuit, wherein the error logger circuit comprises a storage and an interruption circuit, the error logger circuit configured to receive the transaction request and further receive the error indicator signal from the error detection circuit and store information about the transaction request and information about the error received with the transaction request and the error indicator signal, wherein the interruption circuit is configured to assert an interrupt signal to be sent to the initiator at the same clock cycle as the transaction request is sent to the component in the downstream direction over the channel and at a same clock cycle as the error indicator signal is generated by the error detection circuit.

2. The device of claim 1 , wherein the error logger circuit is configured to be in one of a state indicating no error is logged, a state indicating the error is logged, or a state indicating the error and other errors are logged.

3. The device of claim 1 , wherein the information about the error comprises one or more of an error type, transaction details of the transaction request, a destination address of the transaction request, a communication bus state, and an identification of the functional circuit.

4. The device of claim 1 , wherein the error logger circuit comprising the interruption circuit is enabled by the error indicator signal.

5. The device of claim 4 , wherein the error logger circuit is configured to store the information about the error, and wherein a counter is configured to count a number of other errors associated with the function and detected by the error detection circuit.

6. The device of claim 1 , wherein the interruption circuit is configured to assert the interrupt signal at the same clock cycle as the transaction request is sent to the component in the downstream direction over the channel without terminating the transaction request first.

7. The device of claim 1 , wherein the error logger circuit is coupled to another channel of the communication bus and configured to receive another error indicator signal from an other error detection circuit and store information about another error detected by the other error detection circuit.

8. The device of claim 1 , wherein the functional circuit is one of a plurality of functional circuits coupled to the channel, and wherein the error logger circuit is configured to receive error indicator signals from the plurality of functional circuits.

9. The device of claim 1 , wherein the functional circuit further comprises an error shim circuit configured to terminate the transaction request and generate a transaction response in response to the error being detected by the error detection circuit.

10. The device of claim 1 , wherein the error logger circuit is further configured to receive a configuration signal to enable reading the information about the error or to clear the information about the error.

11. The device of claim 1 , wherein:

the functional circuit further comprises a demultiplexer, a security circuit, a multiplexer, or a power circuit;

the initiator comprises a processor, a memory access circuit, a hardware accelerator, or a network circuit;

the transaction request comprises a read request, a coherency request, or a write request;

the target comprises a memory device, a register file, a hardware queue storage device; and

the error can have an error type selected from a decode error, a security error, a power disconnect error, and a slave error.

12. An error logger circuit, comprising:

an error indicator receiving port configured to receive an error indicator signal from an error detection circuit coupled to a channel of a data communication bus coupling an initiator and a target, wherein the error detection circuit is configured to detect an error associated with a function performed by a functional circuit for a transaction request from the initiator to the target and to generate the error indicator signal to indicate that the error has been detected, wherein the error indicator signal is generated in a same clock cycle as the transaction request is sent to a component in a downstream direction to the target over the channel;

a transaction request receiving port configured to receive the transaction request;

an input port configured to receive information about the error associated with the function for the transaction request;

a storage circuit;

a controller coupled to the error indicator receiving port, the input port, and the storage circuit, wherein the controller is configured to:

enable the error logger circuit in response to the error indicator signal being received at the error indicator receiving port; and

store, in the storage circuit, the information about the error received at the input port and information about the transaction request received at the transaction request receiving port; and

an interruption circuit configured to assert an interrupt signal to be sent to the initiator at the same clock cycle as the transaction request is sent to the component in the downstream direction to the target over the channel.

13. The error logger circuit of claim 12 , wherein the controller is in one of a state indicating no error is logged, a state indicating one error is logged, or a state indicating multiple errors are logged.

14. The error logger circuit of claim 12 , wherein the information about the error comprises an error type, a destination address of the transaction request, a communication bus state, or an identification of the functional circuit.

15. The error logger circuit of claim 12 , further comprising:

a counter configured to count a number of errors associated with the function.

16. A method, comprising:

receiving an error indicator signal from an error detection circuit coupled to a channel of a communication bus coupling an initiator and a target, wherein the error detection circuit is configured to detect an error associated with a transaction request between the initiator and target and to generate the error indicator signal to indicate that the error has been detected, wherein the error indicator signal is generated in a same clock cycle as the transaction request is sent to a component in a downstream direction to the target over the channel;

enabling an error logger circuit coupled to the channel;

receiving an error message including information about the error associated with the transaction request;

receiving the transaction request;

storing the received information about the error and information about the transaction request; and

transmitting an interrupt signal generated by an interruption circuit of the error logger circuit to the initiator at the same clock cycle as the transaction request is sent to the component over the channel.

17. The method of claim 16 , wherein the information about the error comprises an error type, a destination address of the transaction request, a communication bus state, or an identification of a functional circuit.

18. The method of claim 16 , wherein the error is a first error, and the method further comprises:

counting a number of errors associated with the transaction request, wherein information about a first error associated with the transaction request is stored.

19. The method of claim 16 , further comprising:

receiving a configuration signal to enable reading the information about the error or to clear the information about the error.

20. The error logger circuit of claim 12 , wherein the functional circuit is one of a plurality of functional circuits coupled to the channel, and wherein the error logger circuit is configured to receive error indicator signals from the plurality of functional circuits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2022
From: SONNTAG, SOEREN; RADOS, VANJA; CIORTESCU, CONSTANTIN DANIEL; SAUERMANN, MIRKO; HEINK, MATTHIAS
To: APPLE INC.
Reel/Frame 061951/0219 →
Continuity (2)
Provisional Application 63409569 · Sep 23, 2022
Related Publication 20240103952A1 · Mar 28, 2024
References Cited (29)
US 6446224B1 · Chang et al. · 2002 [cited by applicant]
US 7243264B2 · Weber · 2007 [cited by examiner]
US 7280620B2 · Kajita · 2007 [cited by examiner]
US 7890682B2 · Kamimura · 2011 [cited by examiner]
US 8327187B1 · Metcalf · 2012 [cited by examiner]
US 9317636B1 · Petras · 2016 [cited by examiner]
US 9749448B2 · Guddeti · 2017 [cited by examiner]
US 9880896B2 · Coteus et al. · 2018 [cited by applicant]
US 10482943B2 · Chun et al. · 2019 [cited by applicant]
US 10754760B1 · Levy et al. · 2020 [cited by applicant]
US 10819680B1 · Santan · 2020 [cited by examiner]
US 11314609B2 · Rafey · 2022 [cited by applicant]
US 20050144532A1 · Dombrowa · 2005 [cited by examiner]
US 20060104209A1 · De Araujo · 2006 [cited by examiner]
US 20060248411A1 · Kirscht · 2006 [cited by examiner]
US 20120036341A1 · Morfey · 2012 [cited by examiner]
US 20160162376A1 · Errickson · 2016 [cited by examiner]
US 20160299808A1 · Yoshida · 2016 [cited by examiner]
US 20170132083A1 · Aslot · 2017 [cited by examiner]
US 20180307430A1 · Iturbe · 2018 [cited by examiner]
US 20190073257A1 · Dasgupta · 2019 [cited by examiner]
US 20190317910A1 · Ching · 2019 [cited by examiner]
US 20200177554A1 · Moore · 2020 [cited by applicant]
US 20210271537A1 · Gong et al. · 2021 [cited by applicant]
US 20220027520A1 · Li · 2022 [cited by examiner]
US 20230051943A1 · Oster · 2023 [cited by examiner]
US 20230195551A1 · Krishnamurthy · 2023 [cited by examiner]
US 20230315572A1 · Sheffield · 2023 [cited by examiner]
US 20230386598A1 · Yoo · 2023 [cited by examiner]