EP0803821A2

DMA channel assignment in a data packet transfer device

Abstract

In a PCI-interface device (20), assigning highest DMA channel (74) priority based on the DMA channel number associated with the data transfer currently active on the physical media interface. The present invention supplies this priority information relating to the currently active data packet being transferred to the DMA arbitration logic (348) and continues to service the current DMA channel until a predetermined boundary condition exists. The method and system (300) shift DMA channel execution to this highest priority DMA channel upon determining the occurrence of the boundary condition.

EP0803821A2, drawing sheet 1
Sheet 1 of 28

Term

Term ended

Projected expiry passed 24 April 2017, 9.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 9 independent, 11 dependent

  1. 1
    A method for assigning priority to one of a plurality of direct memory access channels in a data packet device, which method comprising;determining the direct memory access channel associated with a selected data packet on a physical media interface;supplying information relating to the direct memory access channel associated with a currently active data transfer on the physical media interface to arbitration logic, said direct memory access channel associated with the selected data being assigned highest priority;executing data packets from the currently active direct memory access channel until a predetermined boundary condition occurs;and executing data packets from the direct memory access channel having the highest assigned priority upon determining the occurrence of a boundary condition.
  2. 6
    The method as claimed in any preceding claim further comprising;executing data packets from a direct memory access channel according to a subset of available pending channels.
  3. 7
    The method as claimed in any preceding claim further comprising;executing data packets from a direct memory access channel having the highest assianed priority upon said boundary condition comprising a direct memory access channel waiting to receive data.
  4. 8
    The method as claimed in any preceding claim further comprising;generating a current direct memory access channel signal for designating the currently active direct memory access channel.
  5. 9
    A circuit for assigning priority to one of a plurality of direct memory access channels in a data packet transfer device, which circuit comprising;means for determining the DMA channel associated with a selected data packet on a physical media interface;means for supplying information relating to the DMA channel associated with a currently active data transfer on the physical media interface to arbitration logic, said DMA channel associated with the selected data being assigned highest priority;a microprocessor for executing data packets from the currently active DMA channel until a predetermined boundary condition occurs;and means for shifting execution of data packets from the DMA channel having the highest assigned priority upon determining the occurrence of the boundary condition.
  6. 14
    The circuit as claimed in any of Claims 9 to 13, further comprising circuitry for generating a current DMA channel signal for designating the currently active DMA channel.
  7. 15
    The circuit as claimed in any of Claims 9 to 14, further comprising circuitry for shifting DMA channel execution according to a subset of available pending channels.
  8. 16
    The circuit as claimed in any of Claims 9 to 15, further comprising circuitry for shifting DMA channel execution according to a programmably selectable subset of DMA channels.
  9. 17
    A personal computer system, comprising:at least one peripheral employing a data packet transfer bus;a computer, said computer comprising: a host CPU comprising a PCI bus;and a PCI-interface device for providing an interface between said PCI bus and said peripheral, said PCI-interface device comprising a direct memory access (DMA) circuit for assigning priority to one of a plurality of direct memory access channels in a data packet transfer device, said DMA channel circuit comprising: circuitry for determining the DMA channel associated with a selected data packet on a physical media interface;means for supplying information relating to the DMA channel associated with a currently active data transfer on the physical media interface to arbitration logic, said DMA channel associated with the selected data packet being assigned highest priority;means for executing data packets from the currently active DMA channel until a predetermined boundary condition occurs;and means for shifting execution of data packets from the DMA channel having the highest assigned priority upon determining the occurrence of the boundary condition.