WO2004086240A1 - Data processing system with a dma controller for storing the descriptor of the active channel - Google Patents

Data processing system with a dma controller for storing the descriptor of the active channel Download PDF

Info

Publication number
WO2004086240A1
WO2004086240A1 PCT/IB2004/050326 IB2004050326W WO2004086240A1 WO 2004086240 A1 WO2004086240 A1 WO 2004086240A1 IB 2004050326 W IB2004050326 W IB 2004050326W WO 2004086240 A1 WO2004086240 A1 WO 2004086240A1
Authority
WO
WIPO (PCT)
Prior art keywords
dma
memory
descriptor
ddp
data processing
Prior art date
Application number
PCT/IB2004/050326
Other languages
French (fr)
Inventor
Sanjeev M. Sreedharan
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2004086240A1 publication Critical patent/WO2004086240A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Definitions

  • the invention relates to a data processing system.
  • the invention further relates to a method for transmitting data.
  • USB Universal Serial Bus
  • Figure 1 schematically shows an arrangement comprising a host controller USBH, a system on chip SOC coupled via a USB cable USBC to the host device and
  • the system on chip comprises a USB device function
  • USBDC USB DC
  • memory controller MC which are mutually coupled to an internal bus, for example a AHB bus as shown.
  • Other devices may be coupled to the internal bus as well.
  • the USB device function includes a DMA controller.
  • the host establishes a transfer pipe to the endpoints.
  • the host will send data to or receive data from endpoints implemented inside the device through the USB cable USBC.
  • endpoints EP1 and EP3 will receive data from the Host. They are referred as OUT endpoint.
  • EP2 and EP4 are capable of sending the data towards the host and are referred as IN endpoints.
  • the data transfer is done in packets whose format is defined in the USB protocol.
  • endpoint will have a buffer, which is capable of holding at least one packet of data corresponding to the endpoint.
  • Each endpoint will have an assigned space in the system memory MEM, which will act as the destination or source for the data packet.
  • the logical view of the data transfer from the endpoint to the memory is shown by the dotted lines. Physical data transfer happens through the AHB bus and memory controller MC.
  • An OUT endpoint should transfer the packet data it received from the host USBH to the system memory. MEM before the next packet arrives. From there it may be transferred to another destination if desired. Similarly an IN endpoint should retrieve one packet of data from the system memory MEM before the request for the data from the host arrives.
  • Data can be transferred from the endpoint buffer to the system memory MEM through the processor of the SOC or Direct Memory Access (DMA).
  • DMA Direct Memory Access
  • the Endpoints directly transfer the data to or from the memory through the DMA Controller implemented inside the USB Device core.
  • Figure 2 illustrates a conventional implementation of a DMA Controller.
  • DMA Controller comprises a DMA control logic DMAC, and a set of registers DMAREGS comprising information used by the DMA controller.
  • the sets of registers are indicated as EP1_DMAREGS for Endpoint 1; EP2_DMAREGS for endpoint 2 and so on.
  • the following information is comprised in the registers: The start address of the DMA buffer in the system memory MEM, (EP1_B,
  • the length of the DMA Buffer in the system memory MEM Control information, such as the DMA-mode used and the maximum packet length, DMA count information (Number of bytes transferred) DMA status information
  • a DMA transfer can be characterised by a structure describing these parameters. To support continuous transfer of data on an endpoint the DMA controller should keep the above information for the current and next buffers.
  • the set of DMA registers for each endpoint will comprise:
  • DMA Start Address register current (32 bit wide)
  • DMA Start Address register next (32 bit wide)
  • DMA length Register current (16 bit wide)
  • DMA length Register next (16 bit wide)
  • a major drawback of this conventional implementation is that the number of registers required inside the DMA controller increases proportionally with the number of * endpoints. This will cause a corresponding increase in gate count (silicon area). This is schematically illustrated in Figure 3. As shown therein the gate count is about 12K for a single endpoint and increases with about 0.8K for each succeeding end-point.
  • a data processing system according to the invention is described by claim 1.
  • a method according to the invention is described by claim 2.
  • the proposed architecture uses a single physical resource to serve multiple endpoints in a time division multiplexed basis.
  • the DMA controller uses the system memoiy itself to keep the information for the DMA transfers. DMA_REGS will not be implemented inside the DMA controller.
  • the required number of gates is relatively low and independent of the allowable number of end -points.
  • it has a set of place-holder registers for keeping the status of a running DMA operation.
  • the information need to conduct a DMA transfer will be distributed inside the memory as DMA descriptors (DD).
  • DD DMA descriptors
  • Software create the DD and distribute it in the memory.
  • the place-holder registers will be filled with the contents of DD when the DMA transfer is required.
  • Figure 1 shows a conventional data processing device
  • Figure 2 shows a conventional DMA controller
  • Figure 3 shows the relation between the required number of gates and the number of end -points in the conventional DMA controller
  • Figure 4 shows a data processing device according to the invention
  • Figure 5 shows a method for transmitting data according to the invention
  • Figure 6 shows the relation between the required number of gates and the number of end -points in the DMA controller of the data processing device according to the invention.
  • FIG. 4 schematically shows a data processing system according to the invention.
  • the data processing system comprises a USB interface USBDC for communicating with a USB host device USBH.
  • the USB host is for example a PC
  • the data processing system is for example a mobile consumer product, such as a portable digital assistant PDAs, mobile phone, a digital camera, or a portable storage device.
  • the data processing system further comprises a DMA controller DMAC for enabling direct access to a memory MEM and a storage facility MEM for storing control information DD-EPO, DD-EP31 relating to the DMA transmission.
  • the control information includes at least information indicative for the location of a buffer space dma_buffer_start_addr to be used by one or more DMA transmissions.
  • the data processing system is characterized in that the control information is stored in a memory (MEM).
  • the memory further comprises reference information (DDP-EPO, ..., DDP-EP31) indicating the location of the control information.
  • the DMA controller has a single set of registers (TDREG) for storing a copy of the control information related to the active DMA stream.
  • the control information information DD-EPO, DD-EP31 is stored in a memory area called USB Device Communication Area (UDCA) of the memory MEM, in which the DMA controller and the USB controller further store the device driver software.
  • UDCA USB Device Communication Area
  • Each endpoint is assigned a reserved location in this area which holds a pointer (DDP) to the location where the data descriptor DD for that endpoint is kept.
  • DDP pointer
  • the start address of the UDCA area is defined in the location UDCA_Head defined in the DMA Controller.
  • the location for the DDP are derived from the endpoint number and the UDCA head register value. In practice the location is derived by adding the endpoint number multiplied by 4 to the UDCA head register value, when using word aligned addresses.
  • a DMA descriptor DD represents one DMA transfer unit for the endpoint.
  • the DD When the buffer indicated by the DD is full the DD will be moved to the retired status.
  • DMA descriptors for an endpoint form a linked list, i.e. one DD points to the next DD to be serviced.
  • the DMA controller is capable of fetching the next DD. Consequently the DMA transfer can go on for an indefinite period of time.
  • a DMA transfer can be characterised by a structure describing the parameters controlling the DMA . This structure is called the DMA Descriptor.
  • the DD is a structure consisting of 4 words (16 bytes). The fields are defined as below.
  • the descriptor belongs to an isochronous endpoint. max_packet_size
  • the DMA controller will stop using this descriptor when this limit is reached and will look for the next descriptor dma_buffer_start_addr
  • DD_status The address from where the data has to be picked up or to be stored. This field is updated packet- wise by DMA controller. DD retired This bit is set when the DMA controller finishes the current Descriptor. This will happen when the end of the buffer is reached or a short packet is transferred (no isochronous endpoints) or an error condition is detected. DD_status
  • the status of the DMA transfer is encoded in this field. packet valid
  • This bit indicates that the last packet transferred to the memory is received with errors or not present dma count
  • the number of bytes transferred by the DMA controller at any point of time is updated packet-wise by the DMA controller when it updates the descriptor.
  • a method for transmitting data according to the invention is illustrated with reference to Figure 5.
  • the DMA controller fetches a DMA descriptor pointer DD corresponding to an end-point in step a.
  • the DMA descriptor is fetched from the location pointed to by the
  • step c it is checked whether the DMA descriptor is in a retired state. Subsequently in step d the DMA descriptor is copied in a set of registers TDREG, provided that the DMA descriptor is not in Retired state. If DD is in a retired state DDP is updated in step e by the 'next_dd_pointer' in the currently fetched DD. Then steps b and c are repeated.
  • step f a packet transfer is executed using the data copied into the set of registers TDREG,
  • step g the copied DMA descriptor is updated to take into account the changes in the status of the transfer for the selected endpoint,
  • step h the updated DMA descriptor is written back to the memory location from where it was read.
  • the host will send the packets in a multiplexed fashion to the device.
  • the first packet may belong to endpoint EP2 the second one from endpoint EP4 etc.
  • the serviced endpoint changes from packet to packet.
  • a case may occur, where a plurality of packets originate from the same endpoint, e.g. EP2.
  • the flag is reset when the endpoint is different or DD is retired.
  • Figure 6 schematically illustrates that the data processing system and the method for transferring data according to the invention allow an arbitrary number of end points using an architecture having a relatively low number of gates, the number being independent of the number of end-points.

Abstract

A data processing system according to the invention comprises a USB device function (USBDC) for communicating with a USB Host controller (USBH), a DMA controller (DMAC) for enabling direct access to a memory (MEM), and a storage facility (MEM) for storing data and control information (DD-EPO DD-EP3 1) relating to the DMA transmission. The control information includes information indicative for the location of a buffer space (dma buffer start_addr) to be used by one or more DMA transmissions.According to the invention the control information is stored in a memory (MEM), the memory further comprising reference information (DDP-EPO,…. DDP/EPP3 1) indicating the location of the control information.

Description

DATA PROCESSING SYSTEM WITH A DMA CONTROLLER FOR STORING THE DESCRIPTOR OF THE ACTIVE CHANNEL
The invention relates to a data processing system. The invention further relates to a method for transmitting data.
In the few years since its introduction Universal Serial Bus (USB) has become 5 a de facto Industry standard for connecting peripherals to PCs and laptops for data exchange. Today an increasing number of mobile consumer products - portable digital assistants (PDAs), mobile phones, digital cameras, portable storage devices etc uses the USB interface to exchange data with the host PCs. The peripherals implement the device functionality and the PC the host functionality. Endpoints inside the device are 10 the source or recipient of data. A USB device can have a maximum of 32 physical endpoints.
Figure 1 schematically shows an arrangement comprising a host controller USBH, a system on chip SOC coupled via a USB cable USBC to the host device and
15 a system memory MEM. The system on chip comprises a USB device function
USBDC, and a memory controller MC which are mutually coupled to an internal bus, for example a AHB bus as shown. Other devices may be coupled to the internal bus as well. The USB device function includes a DMA controller.
For the data transfer the host establishes a transfer pipe to the endpoints.
20 The host will send data to or receive data from endpoints implemented inside the device through the USB cable USBC. In Figure 1 endpoints EP1 and EP3 will receive data from the Host. They are referred as OUT endpoint. EP2 and EP4 are capable of sending the data towards the host and are referred as IN endpoints. The data transfer is done in packets whose format is defined in the USB protocol. Each
25 endpoint will have a buffer, which is capable of holding at least one packet of data corresponding to the endpoint.
Each endpoint will have an assigned space in the system memory MEM, which will act as the destination or source for the data packet. The logical view of the data transfer from the endpoint to the memory is shown by the dotted lines. Physical data transfer happens through the AHB bus and memory controller MC.
An OUT endpoint should transfer the packet data it received from the host USBH to the system memory. MEM before the next packet arrives. From there it may be transferred to another destination if desired. Similarly an IN endpoint should retrieve one packet of data from the system memory MEM before the request for the data from the host arrives.
Data can be transferred from the endpoint buffer to the system memory MEM through the processor of the SOC or Direct Memory Access (DMA). DMA is preferred for the data transfer as it is faster. In DMA mode the Endpoints directly transfer the data to or from the memory through the DMA Controller implemented inside the USB Device core.
Figure 2 illustrates a conventional implementation of a DMA Controller. The
DMA Controller comprises a DMA control logic DMAC, and a set of registers DMAREGS comprising information used by the DMA controller. The sets of registers are indicated as EP1_DMAREGS for Endpoint 1; EP2_DMAREGS for endpoint 2 and so on. The following information is comprised in the registers: The start address of the DMA buffer in the system memory MEM, (EP1_B,
EP2_B etc)
The length of the DMA Buffer in the system memory MEM, Control information, such as the DMA-mode used and the maximum packet length, DMA count information (Number of bytes transferred) DMA status information
A DMA transfer can be characterised by a structure describing these parameters. To support continuous transfer of data on an endpoint the DMA controller should keep the above information for the current and next buffers. The set of DMA registers for each endpoint will comprise:
DMA Start Address register current (32 bit wide) DMA Start Address register next (32 bit wide) DMA length Register current (16 bit wide) DMA length Register next (16 bit wide)
DMA Count Register current (16 bit wide)
DMA count Register next (16 bit wide)
DMA control register (8 bit wide)
A major drawback of this conventional implementation is that the number of registers required inside the DMA controller increases proportionally with the number of * endpoints. This will cause a corresponding increase in gate count (silicon area). This is schematically illustrated in Figure 3. As shown therein the gate count is about 12K for a single endpoint and increases with about 0.8K for each succeeding end-point.
It is a purpose of the invention to provide a data processing system as well as a method which allows using a relatively low number of registers independent of the number of endpoints involved. A data processing system according to the invention is described by claim 1.
A method according to the invention is described by claim 2. The proposed architecture uses a single physical resource to serve multiple endpoints in a time division multiplexed basis. The DMA controller uses the system memoiy itself to keep the information for the DMA transfers. DMA_REGS will not be implemented inside the DMA controller.
In the architecture of the invention the required number of gates is relatively low and independent of the allowable number of end -points. In the implementation according to claim 2 it has a set of place-holder registers for keeping the status of a running DMA operation. The information need to conduct a DMA transfer will be distributed inside the memory as DMA descriptors (DD). Software create the DD and distribute it in the memory. The place-holder registers will be filled with the contents of DD when the DMA transfer is required.
These and other aspects of the invention as described with reference to the drawings. Therein
Figure 1 shows a conventional data processing device, Figure 2 shows a conventional DMA controller, Figure 3 shows the relation between the required number of gates and the number of end -points in the conventional DMA controller,
Figure 4 shows a data processing device according to the invention, Figure 5 shows a method for transmitting data according to the invention, Figure 6 shows the relation between the required number of gates and the number of end -points in the DMA controller of the data processing device according to the invention.
Figure 4 schematically shows a data processing system according to the invention. The data processing system comprises a USB interface USBDC for communicating with a USB host device USBH. The USB host is for example a PC, while the data processing system is for example a mobile consumer product, such as a portable digital assistant PDAs, mobile phone, a digital camera, or a portable storage device. The data processing system further comprises a DMA controller DMAC for enabling direct access to a memory MEM and a storage facility MEM for storing control information DD-EPO, DD-EP31 relating to the DMA transmission. The control information, which will be described in the sequel in more detail, includes at least information indicative for the location of a buffer space dma_buffer_start_addr to be used by one or more DMA transmissions. According to the invention the data processing system is characterized in that the control information is stored in a memory (MEM). The memory further comprises reference information (DDP-EPO, ..., DDP-EP31) indicating the location of the control information. The DMA controller has a single set of registers (TDREG) for storing a copy of the control information related to the active DMA stream. The control information information DD-EPO, DD-EP31 is stored in a memory area called USB Device Communication Area (UDCA) of the memory MEM, in which the DMA controller and the USB controller further store the device driver software. Each endpoint is assigned a reserved location in this area which holds a pointer (DDP) to the location where the data descriptor DD for that endpoint is kept. When a DMA transfer is requested for an endpoint the DMA controller fetches the
DDP from the corresponding location for the endpoint. The start address of the UDCA area is defined in the location UDCA_Head defined in the DMA Controller. The location for the DDP are derived from the endpoint number and the UDCA head register value. In practice the location is derived by adding the endpoint number multiplied by 4 to the UDCA head register value, when using word aligned addresses. The location of the data descriptor pointer DDP31 for the 31 * endpoint is for example calculated as addr31 = UDCAJHead + 31*4.
A DMA descriptor DD represents one DMA transfer unit for the endpoint. When the buffer indicated by the DD is full the DD will be moved to the retired status. DMA descriptors for an endpoint form a linked list, i.e. one DD points to the next DD to be serviced. Thus when the current DD is retired the DMA controller is capable of fetching the next DD. Consequently the DMA transfer can go on for an indefinite period of time.
A DMA transfer can be characterised by a structure describing the parameters controlling the DMA . This structure is called the DMA Descriptor. The DD is a structure consisting of 4 words (16 bytes). The fields are defined as below.
Figure imgf000007_0001
next_DD_pointer
Pointer to the memory location from where the next DMA descriptor has to be fetched. dma_mode
Defines which mode DMA has to operate. next_DD_valid
This bit indicates whether the software has prepared the next DMA descriptor. If it is valid the DMA controller once finished with the current descriptor will load the new descriptor. isochronous endpoint
The descriptor belongs to an isochronous endpoint. max_packet_size
This specifies the maximum packet size of the endpoint. This parameter has to be used while transferring the data for IN endpoints from the memory.
dmaj uffer length
This indicates the depth of the DMA buffer allocated for transferring the data. The DMA controller will stop using this descriptor when this limit is reached and will look for the next descriptor dma_buffer_start_addr
The address from where the data has to be picked up or to be stored. This field is updated packet- wise by DMA controller. DD retired This bit is set when the DMA controller finishes the current Descriptor. This will happen when the end of the buffer is reached or a short packet is transferred (no isochronous endpoints) or an error condition is detected. DD_status
The status of the DMA transfer is encoded in this field. packet valid
This bit indicates that the last packet transferred to the memory is received with errors or not present dma count
The number of bytes transferred by the DMA controller at any point of time. This is updated packet-wise by the DMA controller when it updates the descriptor.
A method for transmitting data according to the invention is illustrated with reference to Figure 5. According to the method shown the DMA controller fetches a DMA descriptor pointer DD corresponding to an end-point in step a. In step b the DMA descriptor is fetched from the location pointed to by the
DMA descriptor pointer DDP.
In step c it is checked whether the DMA descriptor is in a retired state. Subsequently in step d the DMA descriptor is copied in a set of registers TDREG, provided that the DMA descriptor is not in Retired state. If DD is in a retired state DDP is updated in step e by the 'next_dd_pointer' in the currently fetched DD. Then steps b and c are repeated.
In step f a packet transfer is executed using the data copied into the set of registers TDREG, In step g the copied DMA descriptor is updated to take into account the changes in the status of the transfer for the selected endpoint,
In step h the updated DMA descriptor is written back to the memory location from where it was read.
Typically the host will send the packets in a multiplexed fashion to the device. For example the first packet may belong to endpoint EP2 the second one from endpoint EP4 etc. Hence, the serviced endpoint changes from packet to packet. However, a case may occur, where a plurality of packets originate from the same endpoint, e.g. EP2. In this case it is not necessary to fetch the DMA descriptor DD again and again for the packets as its value does not change. Unncessary fetching of the DMA descriptor DD and its pointer DDP can be avoided by maintaining a flag.
When set, it will prevent a new fetch of DDP and DD. The flag is reset when the endpoint is different or DD is retired.
Figure 6 schematically illustrates that the data processing system and the method for transferring data according to the invention allow an arbitrary number of end points using an architecture having a relatively low number of gates, the number being independent of the number of end-points.

Claims

CLAIMS:
1. Data processing system comprising a USB device function (USBDC) for communicating with a USB Host controller (USBH), a DMA controller (DMAC) for enabling direct access to a memory (MEM), - a storage facility (MEM) for storing data and control information (DD-EPO,
DD-EP31) relating to the DMA transmission, including information indicative for the location of a buffer space (dma_buffer_start_addr) to be used by one or more DMA transmissions, characterized in that, the control information is stored in a memory (MEM), the memory further comprising reference information (DDP-EPO, ..., DDP-EP31) indicating the location of the control information,
2. Data processing system according to claim 1, characterized in that the DMA controller has a single set of registers (TDREG) for storing a copy of the control information related to the active DMA stream.
3. Data processing system according to claim 1 or 2, characterized in that the reference information (DDP-EPO, ..., DDP-EP31) and the driver software for the USB device function are stored in a common area (UDCA) of the memory (MEM).
4. Data processing system according to claim 3, characterized in that the start address of the common area is defined in a register (UDCA-Head) in the DMA Controller (DMAC).
5. Method for transmitting data comprising the steps of c. checking the status (c) of the DMA descriptor, cl. carrying out steps d, f, g and h if the status is not "RETIRED" c2. carrying out step e if the status is retired and continuing with step b. d. copying (d) the DMA descriptor in a set of registers, f. executing (f) a packet transfer using the copied data, g. updating (g) the copied DMA descriptor h. writing back the updated DMA descriptor to the memory location from where it was read. e. updating the DMA descriptor pointer and continuing with step b.
6. Method for transmitting data according to claim 5, further comprising the steps of i. verifying a flag indicating whether the DMA descriptor relates to a new endpoint, and if this is true performing in addition steps a and b before step c. a. fetching (a) a DMA descriptor pointer (DD) corresponding to an end-point, b. fetching (b) the DMA descriptor from the location pointed to by the DMA descriptor pointer (DDP).
PCT/IB2004/050326 2003-03-28 2004-03-24 Data processing system with a dma controller for storing the descriptor of the active channel WO2004086240A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100820.4 2003-03-28
EP03100820 2003-03-28

Publications (1)

Publication Number Publication Date
WO2004086240A1 true WO2004086240A1 (en) 2004-10-07

Family

ID=33041064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/050326 WO2004086240A1 (en) 2003-03-28 2004-03-24 Data processing system with a dma controller for storing the descriptor of the active channel

Country Status (1)

Country Link
WO (1) WO2004086240A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007003985A1 (en) * 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling multiple dma tasks
WO2007054763A1 (en) * 2005-11-09 2007-05-18 Nokia Corporation Apparatus, method and computer program product providing data serializing by direct memory access controller
US8001430B2 (en) 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
US8572296B2 (en) 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828903A (en) * 1994-09-30 1998-10-27 Intel Corporation System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
US6182165B1 (en) * 1998-06-01 2001-01-30 Advanced Micro Devices, Inc. Staggered polling of buffer descriptors in a buffer descriptor ring direct memory access system
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828903A (en) * 1994-09-30 1998-10-27 Intel Corporation System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
US6182165B1 (en) * 1998-06-01 2001-01-30 Advanced Micro Devices, Inc. Staggered polling of buffer descriptors in a buffer descriptor ring direct memory access system
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"USB UNIVERSAL SERIAL BUS SPECIFICATION VERSION 1.0", UNIVERSAL SERIAL BUS (USB), XX, XX, 15 January 1996 (1996-01-15), pages 1 - 268, XP002917782 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007003985A1 (en) * 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling multiple dma tasks
US7930444B2 (en) 2005-06-30 2011-04-19 Freescale Semiconductor, Inc. Device and method for controlling multiple DMA tasks
US8001430B2 (en) 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
US8572296B2 (en) 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
WO2007054763A1 (en) * 2005-11-09 2007-05-18 Nokia Corporation Apparatus, method and computer program product providing data serializing by direct memory access controller
JP2009515269A (en) * 2005-11-09 2009-04-09 ノキア コーポレイション Apparatus, method and computer program providing data serialization by direct memory access controller

Similar Documents

Publication Publication Date Title
EP1896965B1 (en) Dma descriptor queue read and cache write pointer arrangement
US6871237B2 (en) System for controlling data transfer protocol with a host bus interface
US20150032835A1 (en) Iwarp send with immediate data operations
US7283549B2 (en) Method for increasing the transmit and receive efficiency of an embedded ethernet controller
JP2004348246A (en) Data transfer controller, electronic equipment, and data transfer control method
US9213545B2 (en) Storing data in any of a plurality of buffers in a memory controller
EP3077914B1 (en) System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface
US9015380B2 (en) Exchanging message data in a distributed computer system
US20110238869A1 (en) Autonomous Multi-Packet Transfer for Universal Serial Bus
CN108156172A (en) A kind of method that high speed receives TCP data
CN113900974B (en) Storage device, data storage method and related equipment
US7747808B2 (en) USB host controller with memory for transfer descriptors
US20080263171A1 (en) Peripheral device that DMAS the same data to different locations in a computer
US20050091390A1 (en) Speculative method and system for rapid data communications
JP2003316732A (en) Data transfer control device, electronic equipment, and data transfer control method
US20110283068A1 (en) Memory access apparatus and method
WO2004086240A1 (en) Data processing system with a dma controller for storing the descriptor of the active channel
US20140164553A1 (en) Host ethernet adapter frame forwarding
US20050005039A1 (en) Data transfer control device, electronic instrument, and data transfer control method
US8898353B1 (en) System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface
US9244824B2 (en) Memory sub-system and computing system including the same
US20170147517A1 (en) Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method
US7284075B2 (en) Inbound packet placement in host memory
US20030041190A1 (en) System and method for efficiently performing a command swapping procedure
TWI416336B (en) Nic with sharing buffer and method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase