IP Library Granted Patent US 8,078,948
Granted Patent B2
US 8,078,948 · App. 11/576,345 · Granted Dec 13, 2011

Two-phase data-transfer protocol

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,078,948
App. No.
11/576,345
Granted
Dec 13, 2011
Kind
B2
Abstract

A data communication arrangement permits efficient data transfer between a controller module and multiple target modules using a two-phase protocol. The controller module and the target modules can each reside in separate clock domains. Consistent with one example embodiment, a data communication arrangement includes a plurality of target modules, and a first XOR tree arranged to provide a first data integrity-indicating signal and to respond to a respective second data integrity-indicating signal from each of the target modules. A second XOR tree is arranged to provide a first data bus and to respond to a respective second data bus from each of the target modules. Also, a controller module is used to determine availability of data on the first data bus in response to the first data integrity-indicating signal.

Claims (89)

1. A data communication arrangement, comprising:

a plurality of target modules;

a first XOR tree arranged to provide a first data integrity-indicating signal, and respond to a respective second data integrity-indicating signal from each of the target modules;

a second XOR tree arranged to provide a first data bus, and respond to a respective second data bus from each of the target modules; and

a controller module adapted to determine availability of data on the first data bus in response to the first data integrity-indicating signal.

2. The data communication arrangement according to claim 1 , wherein

the first data bus includes at least one signal, and

each second data bus includes a corresponding at least one signal.

3. The data communication arrangement of claim 1 , wherein the controller module and the plurality of target modules communicate in a fully asynchronous mode.

4. The data communication arrangement according to claim 1 , wherein

the first data bus includes at least one signal,

each second data bus includes a corresponding at least one signal,

the first XOR tree is arranged to provide the first data integrity signal by an exclusive-or function of each second data integrity-indication signal, and

the second XOR tree is arranged to provide, in parallel, each of the at least one signal of the first data bus by an exclusive-or function of a corresponding signal from each second data bus.

5. The data communication arrangement according to claim 1 , wherein

each of the target modules is adapted to indicate the availability of the data on the respective second data bus by a modification of a value of the respective second data integrity-indicating signal, and

the controller module is further adapted to determine the availability of the data from a modification of a value of the first data integrity-indicating signal.

6. The data communication arrangement according to claim 5 , wherein each of the target modules is further adapted to provide the data as encoded data on the respective second data bus by a parallel exclusive-or between the data and encoded data previously provided on the respective second data bus.

7. The data communication arrangement according to claim 6 , wherein the controller module is further adapted to decode the data by a parallel exclusive-or between data from the first data bus and previous data from the first data bus.

8. The data communication arrangement according to claim 7 , wherein each of the target modules is further adapted to indicate the availability of the data in response to a read access from the controller module.

9. The data communication arrangement according to claim 7 , wherein

the controller module is further arranged to provide a respective acknowledgment integrity-indicating signal to each of the target modules, and

the controller module is further adapted to indicate acceptance of the data by a modification of a value of the respective acknowledgment integrity-indicating signal.

10. The data communication arrangement according to claim 9 , wherein

the controller module is further arranged to provide an access bus to each of the target modules, and

the controller module is further adapted to provide a subsequent access on the access bus together with indicating the acceptance of the data.

11. The data communication arrangement according to claim 9 , wherein

the controller module is further arranged to include a synchronizer for the first data integrity-indicating signal, and

each of the target modules is further arranged to include a synchronizer for the respective acknowledgment integrity-indicating signal.

12. A system for transferring data, comprising:

a subsystem for producing a read operation identifying one of a plurality of target modules;

a subsystem for producing a first data value associated with the read operation by the one of the plurality of target modules;

a subsystem for generating a respective second data value by each of the target modules, wherein

the second data value is modified for the one of the plurality of target modules by an exclusive-or operation between the first data value and a previous second data value, and

the second data value is unmodified for the target modules besides the one of the plurality of target modules;

a subsystem for generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

a subsystem for generating a second validation value from the first validation values using an exclusive-or operation;

a subsystem for determining availability of the first data value from a modification of the second validation value;

a subsystem for generating a third data value from the second data values using an exclusive-or operation; and

a subsystem determining the first data value by an exclusive-or operation between the third data value and a previous third data value.

13. A system for transferring data, comprising:

means for producing a read operation identifying one of a plurality of target modules;

means for producing a first data value associated with the read operation by the one of the plurality of target modules;

means for generating a respective second data value by each of the target modules, wherein

the second data value is modified for the one of the plurality of target modules by an exclusive-or operation between the first data value and a previous second data value, and

the second data value is unmodified for the target modules besides the one of the plurality of target modules;

means for generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

means for generating a second validation value from the first validation values using an exclusive-or operation;

means for determining availability of the first data value from a modification of the second validation value;

means for generating a third data value from the second data values using an exclusive-or operation; and

means for determining the first data value by an exclusive-or operation between the third data value and a previous third data value.

14. A method for transferring data, comprising:

producing a read operation identifying one of a plurality of target modules;

producing a first data value associated with the read operation by the one of the plurality of target modules;

generating a respective second data value by each of the target modules, wherein

the second data value is modified for the one of the plurality of target modules by an exclusive-or operation between the first data value and a previous second data value, and

the second data value is unmodified for the target modules besides the one of the plurality of target modules;

generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

generating a second validation value from the first validation values using an exclusive-or operation;

determining availability of the first data value from a modification of the second validation value;

generating a third data value from the second data values using an exclusive-or operation; and

determining the first data value by an exclusive-or operation between the third data value and a previous third data value.

15. A system for transferring data, comprising:

a subsystem for producing a write operation identifying one of a plurality of target modules;

a subsystem for generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

a subsystem for generating a second validation value from the first validation values using an exclusive-or operation; and

a subsystem for determining completion of the write operation from a modification of the second validation value.

16. A system for transferring data, comprising:

means for producing a write operation identifying one of a plurality of target modules;

means for generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

means for generating a second validation value from the first validation values using an exclusive-or operation; and

means for determining completion of the write operation from a modification of the second validation value.

17. A method for transferring data, comprising:

producing a write operation identifying one of a plurality of target modules;

generating a respective first validation value by each of the target modules, wherein

the first validation value is modified for the one of the plurality of target modules, and

the first validation value is unmodified for the target modules besides the one of the plurality of target modules;

generating a second validation value from the first validation values using an exclusive-or operation; and

determining completion of the write operation from a modification of the second validation value.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
To: FUTURE LINK SYSTEMS
Reel/Frame 032399/0965 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2013
From: NXP B. V.
To: PARTNERS FOR CORPORATE RESEARCH INTERNATIONAL
Reel/Frame 031334/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2008
From: PONTIUS, TIMOTHY A.; ROEVER, JENS
To: NXP B.V.
Reel/Frame 021042/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2007
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 019719/0843 →