IP Library Granted Patent US 9,361,172
Granted Patent B2
US 9,361,172 · App. 14/322,161 · Granted Jun 7, 2016

Systems and methods for synchronizing microprocessors while ensuring cross-processor state and data integrity

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,361,172
App. No.
14/322,161
Granted
Jun 7, 2016
Kind
B2
Abstract

Systems ( 100 ) and methods ( 300 ) for synchronizing operations of processors ( 102, 104 ). The methods involve: receiving by an electronic circuit ( 106 ) a first request ( 250 ) from a first processor for writing first data ( 262 ) to or reading first data from a first address ( 260 ) in a first data store ( 122 ), and subsequently a second request ( 252 ) from a second processor for writing second data ( 266 ) to or reading second data from a second address ( 264 ) in a second data store ( 124 ); comparing values of the first and second addresses to each other and values of the first and second data to each other; and concurrently communicating an asynchronous ready signal ( 254 ) from the electronic circuit to the processors when the values of the addresses and data respectively match each other. The asynchronous ready signal causes operations of the processors to be synchronized in time with each other.

Claims (41)

1. A method for synchronizing operations of a plurality of processors, comprising:

receiving by an electronic circuit a first request from a first processor for writing first data to or reading first data from a first address in a first data store;

subsequently receiving by the electronic circuit a second request from a second processor for writing second data to or reading second data from a second address in a second data store;

comparing, by the electronic circuit, values of the first and second addresses to each other and values of the first and second data to each other; and

concurrently communicating an asynchronous ready signal from the electronic circuit to the first and second processors when the values of the first and second addresses match each other and the values of the first and second data match each other, where the asynchronous ready signal causes operations of the first and second processors to be synchronized in time with each other.

2. The method according to claim 1 , wherein the following operation is simultaneously performed with the concurrently communicating step by the electronic circuit: asserting at least one granted write request or read request made by at least one of the first processor and the second processor.

3. The method according to claim 1 , further comprising performing the following operations by the electronic circuit when the values of the first and second addresses do not match each other or the values of the first and second data do not match each other:

communicating a waypoint violation signal to the first and second processors; and

asserting the asynchronous ready signal so that the first and second processors can fully perform requisite security measures.

4. The method according to claim 1 , further comprising determining by the electronic circuit whether at least one of the first address and the second address is contained in a pre-defined list or policy.

5. The method according to claim 4 , further comprising performing the following operations by the electronic circuit if it is determined that at least one of the first address and the second address is contained in the pre-defined list or policy:

asserting at least one granted write request or read request made by at least one of the first processor and the second processor; and

communicating an asynchronous ready signal to the first and second processors.

6. The method according to claim 1 , further comprising performing operations by the electronic circuit to determine if the first and second processors are both performing write operations or read operations at the same time or within a pre-specified time window.

7. The method according to claim 6 , further comprising performing the following operations by the electronic circuit if it is determined that the first and second processors are not both performing write operations or read operations at the same time or within a pre-specified time window:

communicating a waypoint violation signal to the first and second processors; and

asserting an asynchronous ready signal so that the first and second processors can fully perform requisite security measures.

8. The method according to claim 7 , wherein the asynchronous ready signal is continuously or periodically asserted.

9. The method according to claim 1 , further comprising performing operations by the first processor such that a first task is scheduled each time a write to the first data store is to be performed during a first interrupt service routine.

10. The method according to claim 9 , further comprising performing operations by the electronic circuit to cause the first processor to make identical dispatch decisions for the first tasks scheduled during the first interrupt service routine as those of the second processor for second tasks scheduled during a second interrupt service routine.

11. A system, comprising:

at least one electronic circuit configured to;

receive a first request from a first processor for writing first data to or reading first data from a first address in a first data store;

subsequently receive a second request from a second processor for writing second data to or reading second data from a second address in a second data store;

compare values of the first and second addresses to each other and values of the first and second data to each other; and

concurrently communicate an asynchronous ready signal to the first and second processors when the values of the first and second addresses match each other and the values of the first and second data match each other, where the asynchronous ready signal causes operations of the first and second processors to be synchronized in time with each other.

12. The system according to claim 10 , wherein the electronic circuit is further configured to assert at least one granted write request or read request made by at least one of the first processor and the second processor, when the values of the first and second addresses match each other and the values of the first and second data match each other.

13. The system according to claim 10 , wherein the electronic circuit is further configured to perform the following operations when the values of the first and second addresses do not match each other or the values of the first and second data do not match each other:

communicate a waypoint violation signal to the first and second processors; and

assert the asynchronous ready signal so that the first and second processors can fully perform requisite security measures.

14. The system according to claim 10 , wherein the electronic circuit is further configured to determine whether at least one of the first address and the second address is contained in a pre-defined list or policy.

15. The system according to claim 14 , wherein the electronic circuit is further configured to perform the following operations if it is determined that at least one of the first address and the second address is contained in the pre-defined list or policy:

assert at least one granted write request or read request made by at least one of the first processor and the second processor; and

communicate an asynchronous ready signal to the first and second processors.

16. The system according to claim 1 , wherein the electronic circuit is further configured to determine if the first and second processors are both performing write operations or read operations at the same time or within a pre-specified time window.

17. The system according to claim 16 , wherein the electronic circuit is further configured to perform the following operations if it is determined that the first and second processors are not both performing write operations or read operations at the same time or within a pre-specified time window:

communicate a waypoint violation signal to the first and second processors; and

assert an asynchronous ready signal so that the first and second processors can fully perform requisite security measures.

18. The system according to claim 17 , wherein the asynchronous ready signal is continuously or periodically asserted.

19. The system according to claim 10 , wherein the first processor schedules a first task each time a write to the first data store is to be performed during a first interrupt service routine.

20. The system according to claim 19 , wherein the electronic circuit is further configured to cause the first processor to make identical dispatch decisions for the first tasks scheduled during the first interrupt service routine as those of the second processor for second tasks scheduled during a second interrupt service routine.

Assignments (3)
CHANGE OF NAME Recorded Nov 19, 2018
From: HARRIS SOLUTIONS NY, INC.
To: HARRIS GLOBAL COMMUNICATIONS, INC.
Reel/Frame 047598/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2018
From: HARRIS CORPORATION
To: HARRIS SOLUTIONS NY, INC.
Reel/Frame 047600/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2014
From: LINN, CHARLES A.; BEANE, JEFFREY R.; PASKALAKIS, GEORGE P.; SCHMALBACH, RICHARD G.; TILLEY, CHRISTOPHER J.
To: HARRIS CORPORATION
Reel/Frame 033231/0392 →