IP Library Granted Patent US 8,125,243
Granted Patent B1
US 8,125,243 · App. 11/904,643 · Granted Feb 28, 2012

Integrity checking of configurable data of programmable device

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 8,125,243
App. No.
11/904,643
Granted
Feb 28, 2012
Kind
B1
Abstract

Methods and a system for continuous integrity checking of configuration data of programmable device are disclosed. In one embodiment, a method includes performing a redundancy check (RC) of configuration data loaded to configuration registers to produce a master RC data. The method further includes iteratively comparing a current RC data obtained by performing the redundancy check (RC) of current configuration data of the configuration registers with the master RC data until there is a mismatch between the current RC data and the master RC data. Additionally, the method includes performing an exception event in response to the mismatch.

Claims (32)

1. A method of operating a programmable device, comprising:

(a) accessing a master summary data and loading an original configuration data to configuration registers of the programmable device;

(b) generating a current summary data by performing a summary operation of a current configuration data of the configuration registers of the programmable device;

(c) comparing the current summary data with the master summary data;

(d) performing an exception action if the current summary data does not match with the master summary data;

(e) repeating the (b), (c), and (d) continuously; and

storing at least one duplicate of the master summary data to a dedicated memory location.

2. The method of claim 1 , wherein the programmable device comprises at least one of: a programmable system on chip (PSoC); and a field programmable gate array (FPGA) with an embedded processor.

3. The method of claim 1 , wherein the accessing the master summary data comprises at least one of: reading the master summary data provided to the programmable device; and calculating the master summary data based on the original configuration data loaded into the configuration registers.

4. The method of claim 3 , wherein the master summary data is generated by performing a cyclic redundancy check (CRC) of the original configuration data.

5. The method of claim 1 , wherein the generating the current summary data is controlled by a direct memory access (DMA) controller.

6. The method of claim 1 , wherein the performing the summary operation comprises performing a cyclic redundancy check (CRC) of the current configuration data to obtain the current summary data.

7. The method of claim 1 , wherein the performing the exception action comprises communicating an interrupt signal to a processor of the programmable device.

8. The method of claim 7 , wherein the performing the exception action further comprises reloading the configuration registers with original configuration data.

9. The method of claim 1 , further comprising comparing the master summary data with the at least one duplicate of the master summary data to check an integrity of the master summary data.

10. A method of operating a programmable device, comprising:

loading an original configuration data to configuration registers of the programmable device;

performing a redundancy check (RC) of the original configuration data to produce a master RC data;

iteratively comparing a current RC data obtained by performing the redundancy check (RC) of a current configuration data of the configuration registers with the master RC data until there is a mismatch between the current RC data and the master RC data; and

storing at least one duplicated of the master RC data in a dedicated memory location.

11. The method of claim 10 , further comprising communicating an interrupt data to a processor of the programmable device when the current RC data does not match with the master RC data.

12. The method of claim 10 , further comprising reloading the configuration registers with the original configuration data when the current RC data does not match with the master RC data.

13. The method of claim 10 , wherein the redundancy check includes at least one of: a checksum; a cyclic redundancy check; a horizontal redundancy check; a vertical redundancy check; and a cryptographic message digest.

14. The method of claim 10 , wherein the redundancy check (RC) of the original configuration data or the current configuration data is performed using a direct access memory (DMA) controller.

15. A system of operating a programmable device, comprising:

a first memory to store a master summary data obtained through performing a summary operation of an original configuration data initially loaded to configuration registers of the programmable device;

a second memory to store a current summary data obtained through performing a summary operation of current configuration data of the configuration registers;

a comparator module to compare the current summary data and the master summary data and to generate an exception signal when the current summary data does not match with the master summary data; and

an auxiliary memory at least one duplicate of the master summary data at a dedicated memory location.

16. The system of claim 15 , further comprising a direct memory access (DMA) controller coupled to the first memory and the second memory to access the master summary data and the current summary data.

17. The system of claim 15 , wherein the summary operation is a cyclic redundancy check (CRC).

18. The system of claim 16 , further comprising a processor to process the exception signal.

Assignments (6)
MERGER Recorded Nov 14, 2025
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES AMERICAS CORP.
Reel/Frame 073571/0456 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 28, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 050896/0366 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2007
From: WRIGHT, DAVID G.
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 019968/0766 →