Distributed direct memory access for systems on chip
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-013/28
G06F-013/20
출원번호
US-0036828
(2005-01-14)
등록번호
US-7464197
(2008-12-09)
발명자
/ 주소
Ganapathy,Kumar
Kanapathippillai,Ruban
Shah,Saurin
Moussa,George
Philhower, III,Earle F.
Shah,Ruchir
출원인 / 주소
Intel Corporation
대리인 / 주소
Blakely, Sokoloff, Taylor & Zafman LLP
인용정보
피인용 횟수 :
27인용 특허 :
55
초록▼
A distributed direct memory access (DMA) method, apparatus, and system is provided within a system on chip (SOC). DMA controller units are distributed to various functional modules desiring direct memory access. The functional modules interface to a systems bus over which the direct memory access oc
A distributed direct memory access (DMA) method, apparatus, and system is provided within a system on chip (SOC). DMA controller units are distributed to various functional modules desiring direct memory access. The functional modules interface to a systems bus over which the direct memory access occurs. A global buffer memory, to which the direct memory access is desired, is coupled to the system bus. Bus arbitrators are utilized to arbitrate which functional modules have access to the system bus to perform the direct memory access. Once a functional module is selected by the bus arbitrator to have access to the system bus, it can establish a DMA routine with the global buffer memory.
대표청구항▼
What is claimed is: 1. An apparatus comprising: a system on a chip including a buffer memory; a system bus coupled to the buffer memory; a plurality of bus arbitrators coupled to the system bus; and a plurality of functional modules coupled to the plurality of bus arbitrators, each of the plurality
What is claimed is: 1. An apparatus comprising: a system on a chip including a buffer memory; a system bus coupled to the buffer memory; a plurality of bus arbitrators coupled to the system bus; and a plurality of functional modules coupled to the plurality of bus arbitrators, each of the plurality of functional modules including a direct memory access (DMA) controller to couple to a bus arbitrator of the plurality of bus arbitrators, the DMA controller to provide direct memory access to the buffer memory, and a processor coupled to the DMA controller; wherein each bus arbitrator is coupled between a direct memory access controller and the system bus to provide access to the system bus for the direct memory access controller. 2. The apparatus of claim 1, wherein the plurality of bus arbitrators negotiate access to the system bus by the plurality of functional modules. 3. The apparatus of claim 1, wherein the system on a chip further includes a microcontroller coupled to the system bus. 4. The apparatus of claim 1, wherein the buffer memory is a global memory and includes a direct memory access controller. 5. The apparatus of claim 4, wherein the system bus includes a data bus over which data can flow between the global memory and the plurality of functional modules, and DMA control lines to request direct memory access to the global memory and control the direct memory data flow with the global memory. 6. The apparatus of claim 4, wherein the direct memory access controller of the global memory includes a receive first in first out (FIFO) buffer to store receive data, a transmit first in first out (FIFO) buffer to store and transmit data, a data counter to count a number of data units that were transmitted to the memory and received from the memory by direct memory access, and control logic coupled to the receive FIFO buffer, the transmit FIFO buffer, and the data counter to control the transmission and reception of data by direct memory access. 7. The apparatus of claim 6, wherein the DMA controller in each of the plurality of functional modules includes a receive first in first out (FIFO) buffer to store receive data, a transmit first in first out (FIFO) buffer to store transmit data, a data counter to count a number of data units that were transmitted to the memory and received from the global memory by direct memory access, and control logic coupled to the receive FIFO buffer, the transmit FIFO buffer, and the data counter to control the transmission and reception of data by direct memory access. 8. The apparatus of claim 7, wherein the DMA controller in at least one of the functional modules further includes a remapper memory to remap parallel data into serial data and serial data into parallel data. 9. The apparatus of claim 1, wherein the buffer memory includes a descriptor table to control the direct memory access of information with the buffer memory, the descriptor table comprising: one or more direct memory access descriptor lists stored in the buffer memory, each of the one or more direct memory access descriptor lists including a first pointer to point to a first starting address in the buffer memory from which to directly memory access data with the buffer memory, type information regarding the type of data to be directly memory accessed with the buffer memory, a second pointer to point to a second starting address in the buffer memory from which to directly memory access prior state information with the buffer memory, a third pointer to point to a third starting address in the memory from which to directly memory access program code with the buffer memory. 10. The apparatus of claim 1, wherein each of the DMA controllers is a DMA master controller. 11. The apparatus of claim 1 wherein each functional model comprises a DMA controller coupled to the system bus via a bus arbitrator. 12. The apparatus of claim 1 wherein each functional unit comprises a core processor and the DMA controller is coupled between the core processor and the bus arbitrator; and the system bus is coupled between each bus arbitrator and the buffer memory. 13. A method of distributed direct memory access to a global buffer memory, the method comprising: providing a plurality of functional units each having a direct memory access controller and a processor coupled to the direct memory access controller; requesting access to a system bus by at least one of the plurality of functional units to directly memory access the global buffer memory; arbitrating access to the system bus by the at least one of the plurality of functional units using a plurality of bus arbitrators; gaining access to the system bus by the at least one of the plurality of functional units; establishing a direct memory access connection by the at least one of the plurality of functional units with the global buffer memory; and reading data from or writing data into memory locations in the global buffer memory by the at least one of the plurality of functional units; wherein each bus arbitrator is coupled between a direct memory access controller and the system bus to provide access to the system bus for the direct memory access controller. 14. The method of claim 13, further comprising remapping a serial data stream into a parallel data stream prior to directly memory accessing the global buffer memory by the at least one of the plurality of functional units. 15. The method of claim 13, further comprising remapping a parallel data stream into a serial data stream after directly memory accessing the global buffer memory by the at least one of the plurality of functional units. 16. The method of claim 13, wherein the steps are performed in a system on a chip. 17. The method of claim 16, wherein the system on a chip is a voice over packet system interfacing to a packet network on one end and a telephone network on an opposite end. 18. The method of claim 13, wherein each of the DMA controllers is a DMA master controller. 19. The method of claim 13 wherein requesting access comprises the functional unit requesting access through the DMA controller and to an arbitrator that provides the arbitrating. 20. The method of claim 13 further comprising providing voice over packet (VOP) on a single chip; requesting access to the system bus by at least two of the plurality of functional units to direct memory access the global buffer memory; arbitrating access to the system bus by the at least two of the plurality of functional units; gaining access to the system bus by the at least two of the plurality of functional units; establishing a direct memory access connection by the at least two of the plurality of functional units with the global buffer memory; and reading data from or writing data into memory locations in the global buffer memory by the at least two of the plurality of functional units. 21. The method of claim 20 further comprising arbitrating access to the system bus to allow two microprocessors of two functional units to use two direct memory access controllers to access the global buffer memory. 22. The method of claim 13 further comprising communicating data between the functional units and the global buffer memory using the direct memory access connection; and one of remapping serial data of the communicated data, compressing data of the communicated data on the fly, and decompressing data of the communicated data on the fly. 23. A distributed direct memory access control system comprising: an integrated circuit chip having a global memory; and a plurality of direct memory access controllers distributed in functional blocks of a system on the integrated circuit chip and coupled to the global memory through a system bus, the plurality of direct memory access controllers to control direct memory access of the functional blocks of the system on the integrated circuit chip to the global memory, wherein each of the functional blocks include a processor coupled to the direct memory access controller; a plurality of bus arbitrators, wherein each bus arbitrator is coupled between a direct memory access controller and the system bus to provide access to the system bus for the direct memory access controller. 24. The distributed direct memory access control system of claim 23, wherein the integrated circuit chip further has a system bus coupled between the global memory and the plurality of direct memory access controllers, the system bus including a data bus over which data can flow between the memory and the functional blocks of the system on the integrated circuit chip. 25. The distributed direct memory access control system of claim 24, wherein the system bus of the integrated circuit chip further includes DMA control lines to request direct memory access to the global memory and control the direct memory data flow with the global memory. 26. The distributed direct memory access control system of claim 23, wherein the global memory of the integrated circuit chip is a direct accessible memory and includes a direct memory access controller. 27. The distributed direct memory access control system of claim 26, wherein the direct memory access controller of the global memory includes a receive first in first out (FIFO) buffer to store receive data, a transmit first in first out (FIFO) buffer to store transmit data, a data counter to count a number of data units that were transmitted to the memory and received from the memory by direct memory access, and control logic coupled to the receive FIFO buffer, the transmit FIFO buffer, and the data counter to control the transmission and reception of data by direct memory access. 28. The distributed direct memory access control system of claim 23, wherein the plurality of direct memory access controllers of the integrated circuit chip include a receive first in first out (FIFO) buffer to store receive data, a transmit first in first out (FIFO) buffer to store transmit data, a data counter to count a number of data units that were transmitted to the memory and received from the global memory by direct memory access, and control logic coupled to the receive FIFO buffer, the transmit FIFO buffer, and the data counter to control the transmission and reception of data by direct memory access. 29. The distributed direct memory access control system of claim 28, wherein one of the plurality of direct memory access controllers of the integrated circuit chip further includes a remapper memory to remap parallel data into serial data and serial data into parallel data. 30. The distributed direct memory access control system of claim 23, wherein each of the plurality of direct memory access controllers is a master direct memory access controller.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (55)
Chen Wen-Tzer Thomas ; Ng Yat Hung ; Tsao Gary Yuh ; McDonald Earl James, Adaptor for receiving and processing asynchronous transfer mode cells within a computer network.
Johnson David B. (Portland OR) Ebersole Ronald J. (Beaverton OR) Huang Joel C. (Portland OR) Neugebauer Manfred (Erlangen OR DEX) Page Steven R. (Hillsboro OR) Self Keith S. (Aloha OR), Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch.
Begun Ralph M. (Boca Raton FL) Bland Patrick M. (Delray Beach FL) Dean Mark E. (Delray Beach FL), Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385.
Kristen L. Mason ; Gary R. Morrison ; Jeffrey M. Polega ; Donald L. Tietjen ; Frank C. Galloway ; Charles Edward Nuckolls ; Jennifer L. McKeown ; Robert Bradford Cohen, Direct memory access controller and method therefor.
Gafken Andrew H. ; Bennett Joseph A. ; Poisner David I., Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number.
Coke James S. ; Bhatt Ajay V. ; Graham Stan ; Lent David, Implementing scatter/gather operations in a direct memory access device on a personal computer.
Kardach James P. ; Cho Sung-Soo ; Cohen Debra T. ; Horigan John W. ; Songer Neil W., Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying con.
Wunderlich Russ, Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle.
Carmichael Richard D. ; Ward Joel M. ; Winchell Michael A., Method and apparatus for controlling I/O channels responsive to an availability of a plurality of I/O devices to transf.
Rabe Jeffrey L. ; Smyth Dave ; Lent David D. ; Sadhasivan Sathyamurthi ; Dahmani Dahmane ; Rowland Stephen T. ; Coke James S. ; Dale Mitchell W., Method and apparatus for fast DMA transfer on an industry standard architecture (ISA) bus.
Songer Neil W ; Kardach James P. ; Cho Sung-Soo ; Cheng Jim S. ; Cohen Debra T. ; Horigan John W. ; Raygani Nader ; Sotoudeh Seyed Yahay ; Poisner David I., Method and apparatus for handling bus master and direct memory access (DMA) requests at an I/O controller.
Kardach James P. (Saratoga CA) Cho Sung-Soo (Sunnyvale CA) Cheng Jim S. (Cupertino CA) Cohen Debra T. (Sunnyvale CA) Horigan John W. (Mountain View CA) Raygani Nader (San Jose CA) Sotoudeh Seyed Yaha, Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O co.
Futral William T. ; Bell D. Michael, Method and apparatus for programming a remote DMA engine residing on a first bus from a destination residing on a second bus.
Shah Nilesh V. ; Roedel Andrew E. ; Hall Cliff D., Method and apparatus for terminating direct memory access transfers from system memory to a video device.
Abramson Darren L. ; Traw C. Brendan S., Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached.
Mikal C. Hunsaker ; Darren L. Abramson, Method/apparatus for flushing DMA transmit packet in FIFO when self-ID code generated by counter after bus reset is different than FIFO message self-ID field.
Bowles James E. (Austin TX) O\Brien Robert (Austin TX), Microprocessor arranged to access a non-multiplexed interface or a multiplexed peripheral interface.
Bland Patrick M. (Delray Beach FL) Hofmann Richard G. (Lake Worth FL) Jackson Robert T. (Boynton Beach FL) Amini Nader (Boca Raton FL) Boury Bechara F. (Milpitas CA) Joshi Jayesh (Santa Clara CA), Power management of DMA slaves with DMA traps.
Goodman ; William R. ; Sample ; Stephen P. ; Goodman ; Allan L., Slave microprocessor for operation with a master microprocessor and a direct memory access controller.
Riley Dwight D. ; Elliott Robert C., System for DMA controller sharing control signals in conventional mode and having separate control signals for each num.
Sethuram Jay ; Sadger Haim ; Kahn Kevin C. ; Mighani Farhad, System for performing DMA transfer with a pipeline control switching such that the first storage area contains location.
Debs Raymond E. ; Carey John A. ; Singer Mitchell H., Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority.
Kuesel, Jamie R.; Kupferschmidt, Mark G.; Mejdrich, Eric O.; Schardt, Paul E., Branch prediction technique using instruction for resetting result table pointer.
Hoover, Russell D.; Mejdrich, Eric O.; Schardt, Paul E.; Shearer, Robert A., Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data.
Hoover, Russell D.; Kriegel, Jon K.; Mejdrich, Eric O.; Shearer, Robert A., Network on chip with a low latency, high bandwidth application messaging interconnect.
Kuesel, Jamie R.; Kupferschmidt, Mark G.; Mejdrich, Eric O.; Schardt, Paul E., Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.