Method and system for processing DMA requests
First Claim
1. A method for processing direct memory access (DMA) requests in a peripheral device, comprising:
- generating a DMA request to transfer information to or from a host system via a buffer having a plurality of buffer slots, wherein a DMA module of the peripheral device generates the DMA request specifying a size of data transfer that is based on a minimum data transfer size;
submitting the DMA request to an arbitration module to gain access to a bus for transferring the information;
monitoring a status of the plurality of buffer slots;
wherein while the arbitration module arbitrates between pending DMA requests the DMA module monitors the status of the buffer slots and receives an indicator from one or more of the buffer slots as each buffer slot becomes available for receiving information; and
aggregating the status information regarding the buffer slots;
wherein the DMA module aggregates status information from the buffer slots, and before the DMA request is granted by the arbitration module the DMA module increases the size of data transfer for the pending DMA request beyond the minimum data transfer size based on the indicators received by the DMA module; and
wherein, because the DMA module aggregates status information from a plurality of buffer slots, multiple data frames may be transferred under the DMA request.
7 Assignments
0 Petitions
Accused Products
Abstract
Method and system for processing direct memory access (DMA) requests in a peripheral device is provided. The method includes generating a DMA request to transfer information to/from a host system, wherein a size of data transfer is specified in the DMA request and is based on a minimum data transfer size; and submitting the DMA request to an arbitration module to gain access to a bus for transferring the information and while the arbitration module arbitrates between pending DMA requests, the DMA module monitors status from plural buffer slots and before the DMA request is granted, the DMA module modifies the size of data transfer based on available buffer slots.
-
Citations
18 Claims
-
1. A method for processing direct memory access (DMA) requests in a peripheral device, comprising:
-
generating a DMA request to transfer information to or from a host system via a buffer having a plurality of buffer slots, wherein a DMA module of the peripheral device generates the DMA request specifying a size of data transfer that is based on a minimum data transfer size; submitting the DMA request to an arbitration module to gain access to a bus for transferring the information; monitoring a status of the plurality of buffer slots;
wherein while the arbitration module arbitrates between pending DMA requests the DMA module monitors the status of the buffer slots and receives an indicator from one or more of the buffer slots as each buffer slot becomes available for receiving information; andaggregating the status information regarding the buffer slots; wherein the DMA module aggregates status information from the buffer slots, and before the DMA request is granted by the arbitration module the DMA module increases the size of data transfer for the pending DMA request beyond the minimum data transfer size based on the indicators received by the DMA module; and wherein, because the DMA module aggregates status information from a plurality of buffer slots, multiple data frames may be transferred under the DMA request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for processing direct memory access (DMA) requests, comprising:
-
a host system; and a peripheral device operationally interfacing with the host system, the peripheral device including a DMA module for generating a DMA request to transfer information to or from the host system via a buffer having a plurality of slots, and the DMA module specifies a size of data transfer in the DMA request based on a minimum data transfer size; wherein an arbitration module receives the DMA request from the DMA module to gain access to a bus for transferring the information, and while the arbitration module arbitrates between pending DMA requests, the DMA module monitors status of the buffer slots, the DMA module receives an indicator from one or more of the buffer slots as each buffer slot becomes available, the DMA module aggregates status information from the buffer slots, and before the DMA request is granted by the arbitration module the DMA module increases the size of data transfer for the pending DMA request beyond the minimum data transfer size based on the indicators received by the DMA module; and wherein because the DMA module aggregates status information from a plurality of buffer slots, multiple data frames may be transferred under the DMA request. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An input/output peripheral device, comprising:
-
a DMA module for generating a direct memory access (“
DMA”
) request to transfer information to or from a host system via a buffer having a plurality of slots, the DMA module specifying a size of data transfer in the DMA request based on a minimum data transfer size; andan arbitration module configured to receive the DMA request from the DMA module to gain access to a bus for transferring the information, and while the arbitration module arbitrates between pending DMA requests the DMA module monitors status of the buffer slots, the DMA module receives an indicator from one or more of the buffer slots as each buffer slot becomes available, the DMA module aggregates status information from the buffer slots, and before the DMA request is granted by the arbitration module the DMA module increases the size of data transfer for the pending DMA request beyond the minimum data transfer size based on the indicators received by the DMA module; wherein because the DMA module aggregates status information from a plurality of buffer slots, multiple data frames may be transferred under the DMA request. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification