| US 7,577,774 B2 | ||
| Independent source read and destination write enhanced DMA | ||
| Sanjive Agarwala, Richardson, Tex. (US); Kyle Castille, Houston, Tex. (US); Quang-Dieu An, Plano, Tex. (US); and Hung Ong, Richardson, Tex. (US) | ||
| Assigned to Texas Instruments Incorporated, Dallas, Tex. (US) | ||
| Filed on May 13, 2005, as Appl. No. 11/128,507. | ||
| Prior Publication US 2006/0256796 A1, Nov. 16, 2006 | ||
| This patent is subject to a terminal disclaimer. | ||
| Int. Cl. G06F 13/28 (2006.01); G06F 13/00 (2006.01) | ||
| U.S. Cl. 710—24 [710/21; 710/22; 711/149; 711/168] | 4 Claims |

| 1. An enhanced direct memory access unit comprising:
a plurality of ports, each port operating to perform at least one of supplying data as a source port or receiving data as
a destination port and at least one port operating to perform both supplying data as a source port and receiving data as a
destination port;
a queue manager receiving and prioritizing data transfer requests, each data transfer request specifying a source port, a
destination port and an amount of data to transfer from said source port to said destination port, said prioritizing including
for each data transfer request assigning a data source channel and separately and independently assigning a data destination
channel;
a plurality of source channel registers storing data corresponding to a plurality of data source channels;
a source pipeline supplying a read command to a source port specified in a data transfer request under control of a corresponding
one of said source channel registers;
a plurality of destination channel registers storing data corresponding to a plurality of destination channels, each of said
destination channel registers different from each of said source channel registers;
a destination pipeline supplying write command and write data to a destination port specified in a data transfer request under
control of a corresponding one of said destination channel registers; and
said queue manager initiating in response to a second data transfer request a second source read command in said same data
source channel of said first data transfer request after completion of a first source read command in response to a first
data transfer request and before completion of the corresponding destination write command in the assigned data destination
channel of said first data transfer request.
|