IP Library Granted Patent US 9,792,184
Granted Patent B2
US 9,792,184 · App. 14/997,969 · Granted Oct 17, 2017

Processing device with self-scrubbing logic

Inventor: Christopher K. Wojahn (Santa Fe, NM)
Assignee: National Technology & Engineering Solutions of Sandia, LLC
G06F11/1446G06F11/073G06F11/076G06F11/079G06F11/0727G06F11/0757G06F11/0793G06F11/106
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 9,792,184
App. No.
14/997,969
Granted
Oct 17, 2017
Kind
B2
Abstract

An apparatus includes a processing unit including a configuration memory and self-scrubber logic coupled to read the configuration memory to detect compromised data stored in the configuration memory. The apparatus also includes a watchdog unit external to the processing unit and coupled to the self-scrubber logic to detect a failure in the self-scrubber logic. The watchdog unit is coupled to the processing unit to selectively reset the processing unit in response to detecting the failure in the self-scrubber logic. The apparatus also includes an external memory external to the processing unit and coupled to send configuration data to the configuration memory in response to a data feed signal outputted by the self-scrubber logic.

Claims (26)

1. A processing device including:

self-scrubber logic coupled to send a heartbeat signal to a watchdog unit that is external to the processing device, the processing device coupled to be selectively reset by the watchdog unit that is external to the processing device; and

configuration memory coupled to be loaded with configuration data from an external memory that is external to the processing device, wherein the self-scrubber logic is coupled to read the configuration memory to detect compromised data stored in the configuration memory and correct the compromised data, and wherein the self-scrubber logic is also coupled to output a data feed signal to the external memory in response to the compromised data including a threshold level of flipped bits, the data feed signal outputted by the self-scrubber logic to facilitate loading the configuration data into the configuration memory.

2. The processing device of claim 1 , wherein, in response to detecting compromised data in the configuration memory, the self-scrubber logic is coupled to facilitate rewriting substantially all of the configuration memory with the configuration data when the compromised data includes the threshold level of flipped bits and coupled to correct a targeted portion of the configuration memory when the compromised data includes less than the threshold level of flipped bits.

3. The processing device of claim 2 , wherein the targeted portion of the configuration memory is a frame, and wherein the self-scrubber logic is coupled to correct the flipped bits based on a golden frame when the frame includes less than the threshold level of flipped bits.

4. The processing device of claim 3 , wherein the golden frame is stored in the external memory.

5. A method comprising:

detecting an inconsistency between a frame of configuration data and a golden frame, wherein a processing device includes a configuration memory including the configuration data; and

correcting the inconsistency between the frame and the golden frame based on a threshold level of flipped bits in the frame, wherein said correcting the inconsistency includes loading a bitfile from an external memory into the configuration memory when the inconsistency between the frame and the golden frame reaches the threshold level of flipped bits, and wherein said correcting the inconsistency includes correcting the frame of configuration data when the inconsistency between the frame and the golden frame is below the threshold level of flipped bits, said detecting the inconsistency and said correcting the inconsistency initiated by self-scrubber logic disposed within the processing device.

6. The method of claim 5 further comprising;

monitoring the self-scrubber logic to detect a failure in the self-scrubber logic; and

resetting the processing device in response to detecting the failure of the self-scrubber logic.

7. The method of claim 6 , wherein said monitoring the self-scrubber logic and said resetting the processing device is performed with a watchdog unit external to the processing device.

8. The method of claim 5 , wherein detecting the inconsistency includes utilizing a cyclical redundancy check (“CRC”) that checks substantially all of the configuration memory for CRC errors.

9. The method of claim 5 further comprising:

storing an address of the frame within the processing device before said correcting the inconsistency; and

storing data content of the frame within the processing device before said correcting the inconsistency.

10. The method of claim 5 , wherein said correcting the frame of the configuration data includes correcting the flipped bits based on a golden frame.

11. A non-transitory machine-accessible storage medium that provides instructions that, when executed by a processing device, will cause the processing device to perform operations comprising:

detecting an inconsistency between a frame of configuration data and a golden frame, wherein the processing device includes the configuration data; and

correcting the inconsistency between the frame and the golden frame based on a threshold level of flipped bits in the frame, wherein correcting the inconsistency includes loading a bitfile from an external memory into the configuration memory when the inconsistency between the frame and the golden frame reaches the threshold level of flipped bits, and wherein correcting the inconsistency includes correcting the frame of configuration data when the inconsistency between the frame and the golden frame is below the threshold level of flipped bits, said detecting the inconsistency and said correcting the inconsistency performed by self-scrubber logic disposed within the processing device.

12. The non-transitory machine-accessible storage medium of claim 11 , further providing instructions that, when executed by the processing device, will cause the processing device to perform further operations, comprising:

monitoring the self-scrubber logic to detect a failure in the self-scrubber logic; and

resetting the processing device in response to detecting the failure of the self-scrubber logic.

13. The non-transitory machine-accessible storage medium of claim 11 , wherein said monitoring the self-scrubber logic and said resetting the processing device is performed with a watchdog unit external to the processing device.

14. The non-transitory machine-accessible storage medium of claim 11 , wherein detecting the inconsistency includes utilizing a cyclical redundancy check (“CRC”) that checks substantially all of the configuration memory for CRC errors.

Assignments (2)
CHANGE OF NAME Recorded Aug 17, 2017
From: SANDIA CORPORATION
To: NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA, LLC
Reel/Frame 043582/0992 →
CONFIRMATORY LICENSE Recorded Feb 25, 2016
From: SANDIA CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 037915/0698 →
Continuity (2)
Division 13941190 · Jul 12, 2013
Related Publication 20160188402A1 · Jun 30, 2016