IP Library Granted Patent US 12,499,008
Granted Patent B2
US 12,499,008 · App. 18/423,756 · Granted Dec 16, 2025

Control register related computing system and method

Inventors: Yasir Mahmood Qureshi (Dublin, IE); Eoin O'Brien (Bray, IE)
Assignee: Cypress Semiconductor Corporation
G06F11/085
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,499,008
App. No.
18/423,756
Granted
Dec 16, 2025
Kind
B2
Abstract

One or more computing devices, systems, and/or methods are provided. In an example, a computing system includes a first processing complex including a first status register unit, a second processing complex including a second status register unit, a lockstep unit configured to verify redundancy in the first status register unit and the second status register unit, a control register unit connected to the lockstep unit and including control registers, each configured to store control register data and an error correction code (ECC) associated with the control register data, a scrubber configured to read the control registers at a predetermined frequency, and an ECC unit configured to, responsive to a read of a selected control register of the control registers by the scrubber, validate the control register data associated with the selected control register based on the ECC associated with the control register data.

Claims (75)

1 . A computing system, comprising:

a first processing complex including a first status register unit;

a second processing complex including a second status register unit;

a lockstep unit configured to check redundancy in the first status register unit and the second status register unit;

a control register unit connected to the lockstep unit and comprising control registers, each configured to store control register data and an error correction code (ECC) associated with the control register data;

an ECC unit configured to, responsive to a read of a selected control register of the control registers, validate the control register data associated with the selected control register based on the ECC associated with the control register data; and

a scrubber configured to read the control registers at a predetermined frequency to trigger the ECC unit to validate the control registers.

2 . The computing system of claim 1 , wherein the control register data and the ECC associated with the control register data are stored in the selected control register.

3 . The computing system of claim 1 , wherein:

the control registers are configured to store a hardware writable flag; and

the control register unit is configured to output the control register data and the ECC associated with the control register data responsive to the hardware writable flag having a value indicating a software writable register.

4 . The computing system of claim 1 , wherein:

the first status register unit comprises status registers configured to store status register data;

the scrubber is configured to read a selected status register of the status registers at the predetermined frequency; and

responsive to the read of the selected status register, the first status register unit is configured to mask the status register data by outputting masked data and an ECC associated with the masked data.

5 . The computing system of claim 4 , wherein:

each status register of the status registers comprises a hardware writable flag; and

the first status register unit is configured to output the masked data and the ECC associated with the masked data responsive to the hardware writable flag having a value indicating a hardware writable register.

6 . The computing system of claim 4 , wherein:

the scrubber comprises a register map comprising addresses for the control registers and addresses for the status registers; and

the scrubber is configured to read the control registers and the status registers at the predetermined frequency based on the register map.

7 . The computing system of claim 1 , wherein:

the first status register unit comprises first status registers;

the computing system comprises:

a bus connected to the lockstep unit;

a peripheral device connected to the bus and comprising:

second control registers, each configured to store second control register data and a second ECC associated with the second control register data; and

second status registers;

the scrubber is configured to read the second control registers, the first status registers, and the second status registers at the predetermined frequency; and

the ECC unit is configured to, responsive to a read of a second selected control register of the second control registers by the scrubber, validate the second control register data associated with the second selected control register based on the second ECC associated with the second control register data.

8 . The computing system of claim 7 , wherein:

each second status register of the second status registers is configured to store second status register data; and

responsive to a read of a selected second status register of the second status registers, the second status register unit is configured to mask the second status register data by outputting masked data and an ECC associated with the masked data.

9 . A method comprising:

checking redundancy in a first status register unit of a first processing complex and a second status register unit of a second processing complex;

storing control register data and an error correction code (ECC) associated with the control register data in control registers of a control register unit;

responsive to a read of a selected control register of the control registers, validating the control register data associated with the selected control register based on the ECC associated with the control register data; and

reading the control registers at a predetermined frequency to trigger the validating of the control register data.

10 . The method of claim 9 , comprising:

storing the control register data and the ECC associated with the control register data in the selected control register.

11 . The method of claim 9 , comprising:

storing a hardware writable flag in each of the control registers; and

outputting the control register data and the ECC associated with the control register data responsive to the hardware writable flag having a value indicating a software writable register.

12 . The method of claim 9 , comprising:

storing status register data in a selected status register of the first status register unit;

reading the selected status register at the predetermined frequency; and

responsive to reading the selected status register, masking the status register data by outputting masked data and an ECC associated with the masked data.

13 . The method of claim 12 , wherein:

masking the status register data comprises outputting the masked data and the ECC associated with the masked data responsive to a hardware writable flag having a value indicating a hardware writable register.

14 . The method of claim 12 , wherein:

reading the control registers at the predetermined frequency comprises reading the control registers based on a register map comprising addresses for the control registers.

15 . The method of claim 9 , comprising:

reading first status registers in the first status register unit, second status registers of a peripheral device, and second control registers of the peripheral device at the predetermined frequency; and

responsive to a read of a second selected control register of the second control registers of the peripheral device, validating second control register data associated with the second selected control register based on a second ECC associated with the second control register data.

16 . The method of claim 15 , comprising:

responsive to a read of a selected second status register of the peripheral device, masking second status register data in the selected second status register by outputting masked data and an ECC associated with the masked data.

17 . A computing system, comprising:

a first processing complex including a first status register unit comprising first status registers;

a second processing complex including a second status register unit comprising second status registers;

a lockstep unit configured to check redundancy in the first status registers and the second status registers;

a control register unit connected to the lockstep unit and comprising control registers; and

a scrubber configured to read the first status registers, the second status registers, and the control registers at a predetermined frequency, wherein:

the control registers are provided with end-to-end error correction code (ECC) protection triggered by the scrubber to validate control register data associated with one or more of the control registers at the predetermined frequency.

18 . The computing system of claim 17 , comprising:

an ECC unit configured to, responsive to a read of a selected control register of the control registers by the scrubber, validate control register data stored in the selected control register based on an ECC associated with the control register data.

19 . The computing system of claim 17 , wherein:

responsive to a read of a selected status register of the first status register unit, the first status register unit is configured to mask status register data stored in the selected status register by outputting masked data and an ECC associated with the masked data.

20 . The computing system of claim 17 , comprising:

a bus connected to the lockstep unit; and

a peripheral device connected to the bus and comprising:

second control registers; and

third status registers, wherein:

the second control registers are provided with end-to-end error correction code protection;

the third status registers are provided with redundancy protection; and

the scrubber is configured to read the second control registers and the third status registers at the predetermined frequency.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Oct 21, 2025
From: CYPRESS SEMICONDUCTOR CORPORATION; INFINEON TECHNOLOGIES AMERICAS CORP.
To: INFINEON TECHNOLOGIES AMERICAS CORP.
Reel/Frame 073140/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2025
From: QURESHI, YASIR MAHMOOD; O'BRIEN, EOIN
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 070685/0005 →
Continuity (1)
Related Publication 20250245097A1 · Jul 31, 2025
References Cited (10)
US 6976204B1 · Chambers · 2005 [cited by examiner]
US 11392385B2 · Selwan · 2022 [cited by examiner]
US 11861181B1 · Moser · 2024 [cited by examiner]
US 20080148121A1 · Yu · 2008 [cited by examiner]
US 20100306626A1 · Keays · 2010 [cited by examiner]
US 20100325396A1 · Yoshida · 2010 [cited by examiner]
US 20100332940A1 · Moyer · 2010 [cited by examiner]
US 20120254698A1 · Ozer · 2012 [cited by examiner]
US 20230085149A1 · Bhardwaj · 2023 [cited by examiner]
US 20250004892A1 · Gordon · 2025 [cited by examiner]