IP Library › Granted Patent US 12,385,975
Granted Patent B1
US 12,385,975 · App. 18/440,701 · Granted Aug 12, 2025

Integrated circuits including error protection of fields in transferred information and field-based error signals and related methods

Inventors: Farzane Zokaee (Portland, OR); Richard James Shannon (Portland, OR); Jared Eric Bendt (Hillsboro, OR); Sebastien Hily (Portland, OR)
Assignee: Ampere Computing LLC
G01R31/3187G06F11/0745G06F11/0769
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,385,975
App. No.
18/440,701
Granted
Aug 12, 2025
Kind
B1
Abstract

An integrated circuit (IC) employs error codes based on fields of data for protecting data transferred from a first circuit to a second circuit on the IC. Each bit of a generated error code is based on one or more fields of the data rather than on consecutive signal bits of a bus. Upon receiving the data in a second circuit, the error code is employed to determine whether the data has been transferred without an error. In case of an error, a response circuit generates an error signal having an error type corresponding to the data fields in which errors are detected. In some examples, the transferred data comprises a transaction request and the error signal indicates whether the transaction request has failed, the transaction request may be retried, or the transaction request may be completed despite the error.

Claims (89)

1. An integrated circuit (IC) die comprising:

a first circuit configured to:

transfer first data to a second circuit, the first data comprising a plurality of fields; and

generate a first error code comprising first error code bits; and

the second circuit configured to:

receive the first data and the first error code;

detect a first error in a first one or more fields of the plurality of fields based on the first data and the first error code bits; and

generate an error response indicating a first response level corresponding to the first data in the first one or more fields, wherein the first response level comprises one of a plurality of response levels corresponding to the first data in the plurality of fields.

2. The IC die of claim 1 , further comprising a bus, wherein the first circuit is configured to:

transfer the first data to the second circuit on the bus; and

generate at least one of the first error code bits based on two non-consecutive fields of the plurality of fields of the first data transferred on the bus.

3. The IC die of claim 1 , further comprising a bus comprising signal bits, wherein the first circuit is configured to:

transfer a first field of the plurality of fields on at least one first signal bit of the bus;

transfer a second field of the plurality of fields on at least one second signal bit of the bus;

transfer a third field of the plurality of fields on at least one third signal bit of the bus, the at least one third signal bit disposed between the at least one first signal bit and the at least one second signal bit; and

generate at least one of the first error code bits based on the first field and the second field.

4. The IC die of claim 1 , wherein:

the first one or more fields comprises a first number of bits;

the first circuit is further configured to generate:

a second one of the first error code bits based on a second one or more fields of the plurality of fields comprising a second number of bits; and

the first number of bits is different from the second number of bits.

5. The IC die of claim 1 , wherein:

the first data comprises a transaction request; and

the first response level indicates an uncorrectable system error.

6. The IC die of claim 1 , wherein:

the first data comprises a transaction request; and

the first response level indicates to the first circuit that the transaction request comprises the first error.

7. The IC die of claim 6 , wherein the first circuit is further configured to retry the transaction request based on the first response level.

8. The IC die of claim 6 , wherein the first circuit is further configured to cancel the transaction request based on the first response level.

9. The IC die of claim 6 , wherein the first response level indicates to the first circuit to retry the transaction request.

10. The IC die of claim 6 , wherein the first response level indicates completion of the transaction request with reduced performance.

11. The IC die of claim 6 , wherein the first response level indicates normal completion of the transaction request.

12. The IC die of claim 1 , wherein the first circuit is further configured to:

receive the first data and a second error code from a memory controller;

receive a poison bit indicating whether the memory controller detected a memory error in the first data;

generate an interconnect error bit based on the second error code and the first data; and

provide the first data, the poison bit, and the interconnect error bit to the second circuit.

13. The IC die of claim 12 , wherein in response to the interconnect error bit indicating the memory error in the first data, the second circuit is further configured to:

generate the error response indicating a system error in response to the poison bit indicating the memory controller detected the memory error in the first data.

14. The IC die of claim 13 , wherein the second circuit is further configured to generate the error response indicating to the first circuit to retry the transaction request in response to the poison bit indicating no memory error was detected in the first data in the memory controller.

15. The IC die of claim 1 , wherein:

the first data in each field of the plurality of fields comprises a data type different from the first data in every other field of the plurality of fields; and

the first response level is based on the data type of the first data in the first one or more fields in which the first error is detected.

16. The IC die of claim 15 , wherein the second circuit is further configured to:

detect a second error in a second one or more fields of the first data based on the first error code and the first data; and

generate a second error response indicating a second response level of the plurality of response levels based on a second data type of the first data in the second one or more fields;

wherein the second response level indicates a more critical error than the first response level.

17. A method of a data transfer in an integrated circuit (IC) die, the method comprising:

transferring first data from a first circuit to a second circuit, the first data comprising a plurality of fields;

generating, by the first circuit, a first error code comprising first error code bits;

receiving, in the second circuit, the first data and the first error code;

detecting, by the second circuit, a first error in a first one or more fields of the plurality of fields based on of the first data and the first error code; and

generating, by the second circuit, an error response indicating a first response level corresponding to the first data in the first one or more fields, wherein the first response level comprises one of a plurality of response levels corresponding to the first data in the plurality of fields.

18. The method of claim 17 , further comprising:

transferring the first data to the second circuit on a bus; and

generating at least one of the first error code bits based on at least two non-consecutive fields of the plurality of fields transferred on the bus.

19. The method of claim 17 , further comprising:

transferring the first data to the second circuit on signal bits of a bus, comprising:

transferring a first field of the plurality of fields on at least one first signal bit of the bus;

transferring a second field of the plurality of fields on at least one second signal bit of the bus; and

transferring a third field of the plurality of fields on at least one third signal bit of the bus, the at least one third signal bit disposed between the at least one first signal bit and the at least one second signal bit; and

generating at least one of the first error code bits based on the first field and the second field.

20. The method of claim 17 , further comprising:

generating a second one of the first error code bits based on a second one or more fields of the plurality of fields comprising a second number of bits;

wherein:

the first one or more fields comprises a first number of bits different from the second number of bits.

21. The method of claim 17 , wherein:

the first data comprises a transaction request; and

the first response level indicates an uncorrectable system error.

22. The method of claim 17 , wherein the first data comprises a transaction request and the method further comprises generating, by the second circuit, the first response level indicating to the first circuit that the transaction request comprises the first error.

23. The method of claim 22 , further comprising the first circuit retrying the transaction request based on the first response level.

24. The method of claim 23 , further comprising cancelling, by first circuit, the transaction request based on the first response level.

25. The method of claim 21 , wherein the first response level indicates completion of the transaction request with reduced performance.

26. The method of claim 17 , wherein the first response level indicates normal completion of the transaction request.

27. The method of claim 17 , further comprising, in the first circuit:

receiving the first data and a second error code from a memory controller;

receiving a poison bit indicating whether the memory controller detected a memory error in the first data;

generating an interconnect error bit based on the second error code and the first data; and

providing the first data, the poison bit, and the interconnect error bit to the second circuit.

28. The method of claim 27 , further comprising, in response to the interconnect error bit:

generating the error response indicating a system error in response to the poison bit, indicating the memory controller detected the memory error in the first data.

29. The method of claim 28 , further comprising generating the error response indicating to the first circuit to retry the transaction request in response to the poison bit indicating no memory error was detected in the first data in the memory controller.

30. The method of claim 17 , wherein:

the first data in each field of the plurality of fields comprises a data type different from the first data in every other field of the plurality of fields; and

the first response level is based on the data type of the first data in the first one or more fields in which the first error is detected.

31. The method of claim 30 , further comprising:

detecting a second error in a second one or more fields of the first data based on the first error code; and

generating a second error response indicating a second response level of the plurality of response levels based on the data type of the first data in the second one or more fields;

wherein the second response level indicates a more critical error than the first response level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2024
From: ZOKAEE, FARZANE; SHANNON, RICHARD JAMES; BENDT, JARED ERIC; HILY, SEBASTIEN
To: AMPERE COMPUTING LLC
Reel/Frame 066454/0754 →
References Cited (15)
US 5953351A · Hicks · 1999 [cited by examiner]
US 6647516B1 · Rust · 2003 [cited by examiner]
US 6725331B1 · Kedem · 2004 [cited by examiner]
US 7444551B1 · Johnson · 2008 [cited by examiner]
US 9632869B1 · Lu · 2017 [cited by examiner]
US 11327836B1 · Wu · 2022 [cited by examiner]
US 20070271495A1 · Shaeffer · 2007 [cited by examiner]
US 20150280748A1 · Gendler · 2015 [cited by examiner]
US 20180196710A1 · Lyer · 2018 [cited by examiner]
US 20190272211A1 · Colombo · 2019 [cited by examiner]
US 20210375383A1 · Fuoco · 2021 [cited by examiner]
US 20220415426A1 · Sforzin · 2022 [cited by examiner]
US 20230325274A1 · Nemati · 2023 [cited by examiner]
M. Zhu, L. Xiao, S. Li and Y. Zhang, “Efficient Two-Dimensional Error Codes for Multiple Bit Upsets Mitigation in Memory,” 2010 IEEE 25th International Symposium on Defect and Fault Tolerance in VLSI Systems, Kyoto, Jap… [cited by examiner]
M. M. R. Khan and M. S. Sadi, “An efficient error correction coding approach to tolerate soft error,” 2012 15th International Conference on Computer and Information Technology (ICCIT), Chittagong, Bangladesh, 2012, pp. … [cited by examiner]