IP Library Granted Patent US 7,707,347
Granted Patent B2
US 7,707,347 · App. 12/353,299 · Granted Apr 27, 2010

Data path master/slave data processing device apparatus

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 7,707,347
App. No.
12/353,299
Granted
Apr 27, 2010
Kind
B2
Abstract

An apparatus is described for data processing in a computer system. The apparatus comprises a data processing device having a data processing master, a functionally coupled data processor core, and a functionally coupled data processor slave. Both the data processing master and the data processing slave are coupled to a common bus or common crossbar switch. The data processing device processes the data associated with transfers to or from the data processor slave. System masters will direct transactions that require data processing to the data processing slave, which will indirectly interact with the target memory slave. System masters will direct transactions that do not require data processing, directly to the target memory slave.

Claims (58)

1. A data path system, comprising:

a first bus;

an arbiter coupled to the first bus;

a second bus coupled to the arbiter;

wherein the arbiter is configured to transfer data between the first bus and the second bus;

a system master coupled to the first bus;

a memory slave coupled to the second bus; and

a data processor configured to process only data transfers that require data processing, the data processor comprising:

a data processing slave coupled to the second bus;

a data processing master coupled to the first bus and configured to transfer processed data to the memory slave and capture data to be processed from the memory slave, wherein the data to be processed and the processed data are passed through the arbiter;

a data processing core configured to:

receive data from the data processing master and the data processing slave;

process the received data; and

transfer the processed data to the data processing master and the data processing slave; and

the data processing slave configured to capture data to be processed from the system master and transfer processed data to the system master, wherein the data to be processed and the processed data are passed through the arbiter.

2. The data path system of claim 1 , wherein the data processing slave is further employable to transmit captured data to the processing core.

3. The data path system of claim 1 , wherein the data processing core is further employable to process captured data.

4. The data path system of claim 1 , wherein the data processing core is further employable to transmit processed data to the data processing master.

5. The data path system of claim 1 , wherein the data processing master is further employable to write processed data to a memory slave.

6. A data path system, comprising:

a first bus;

an arbiter coupled to the first bus;

a second bus coupled to the arbiter;

wherein the arbiter is configured to transfer data between the first bus and the second bus;

a system master coupled to the first bus;

a memory slave coupled to the second bus; and

a data processor device configured to process only data transfers that require data processing, the data processor device comprising:

a data processing slave coupled to the second bus;

a data processing master coupled to the first bus and configured to capture data to be processed from the memory slave and transfer processed data to the memory slave, wherein the data to be processed and the processed data are passed through the arbiter;

a data processing core configured to:

receive data from the data processing master and the data processing slave;

process the received data; and

transfer the processed data to the data processing master and the data processing slave;

the data processing slave configured to transfer processed data to the system master and capture data to be processed from the system master, wherein the data to be processed and the processed data are passed through the arbiter;

wherein the data processing slave is employable to receive a read request from the system master, whereupon the data processing slave rejects the read request; and

wherein the data processing slave is further employable to notify the data processing master to read the requested data from the memory slave.

7. The data path system of claim 6 , wherein the data processing master is further employable to read data from the memory slave.

8. The data path system of claim 6 , wherein the data processing master is further employable to transmit the data to the data processing core.

9. The data path system of claim 6 , wherein the data processing core is employable to process the data.

10. The data path system of claim 6 , wherein the data processing core is employable to perform data encryption.

11. The data path system of claim 6 , wherein the data processing core is employable to perform data compression.

12. The data path system of claim 6 , wherein the data processing slave is further employable to receive processed data from the data processing core.

13. The data path system of claim 6 , wherein the data processing slave is further employable to monitor for the system master to repeat a read request.

14. The data path system of claim 6 , wherein the data processing slave returns data, which has been processed in the data processing core, to the system master.

15. A computer program product for writing to a memory slave on a target bus, the computer program product having a medium with a computer program embodied thereon, the computer program comprising:

computer code for initiating a write, the write requiring data processing, by a system master coupled to a first bus, the first bus coupled to an arbiter;

computer code for receiving data from the system master by a data processing slave coupled to a second bus, the second bus coupled to the arbiter, wherein the data processing slave receives only data to be processed from the system master and transmits processed data to the system master, wherein the data to be processed and the processed data are passed through the arbiter;

computer code for transmitting by the data processing slave data to a data processing core;

computer code for processing by the data processing core of the data;

computer code for transmitting by the data processing core processed data to a data processing master coupled to the first bus; and

computer code for transmitting by the data processing master processed data to the memory slave, wherein the data processing master receives only data to be processed from the memory slave and transmits processed data to the memory slave, wherein the data to be processed and the processed data are passed through the arbiter.

16. A computing device employable for writing to a memory slave device on a target bus, the computing device including a computer program comprising:

computer code for initiating a write, the write requiring data processing, by a system master device coupled to a first bus, the first bus coupled to an arbiter;

computer code for receiving data from the system master device by a data processing slave device coupled to a second bus, the second bus coupled to the arbiter, wherein the data processing slave device receives only data to be processed from the system master device and transmits processed data to the system master device, wherein the data to be processed and the processed data are passed through the arbiter;

computer code for transmitting by the data processing slave device data to a data processing core device;

computer code for processing by the data processing core device of the data;

computer code for transmitting by the data processing core device processed data to a data processing master device coupled to the first bus; and

computer code for transmitting by the data processing master device processed data to the memory slave device, wherein the data processing master device receives only data to be processed from the memory slave device and transmits processed data to the memory slave device, wherein the data to be processed and the processed data are passed through the arbiter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: INTEL CORPORATION
Reel/Frame 030228/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2009
From: DRERUP, BERNARD CHARLES; SIEGMUND, RICHARD, JR.; WOLFORD, BARRY JOE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022103/0774 →