×

Packet protocol and distributed burst engine

  • US 5,978,858 A
  • Filed: 09/30/1997
  • Issued: 11/02/1999
  • Est. Priority Date: 09/30/1997
  • Status: Expired due to Term
First Claim
Patent Images

1. An apparatus for communicating with a host processor and a device, the host having a memory for storing at least one pool of packets, each pool comprised of a linked list of packets, each packet having a header including a physical address field for containing a physical address of a next packet to form the linked list, the apparatus comprising:

  • a request head register operable to hold the physical address of a next packet of the linked list;

    a free queue register operable to hold the physical address of the last packet of the linked list;

    a request queue for holding packets, said request queue operable to provide a fullness indication when a packet is therein;

    a request doorbell register operable to receive an indication from the host that a next packet is available to process;

    a completion head register operable to hold the physical address of a completion list;

    a completion queue for holding packets;

    a completion doorbell register operable to receive an indication from the host that said completion queue has been serviced and that the host is ready to receive packets;

    a first front end controller coupled to the request queue and responsive to said request doorbell register, said first front end controller operable to read a packet from memory according to the physical address stored in the request head register when said request doorbell register is rung and store the packet in said request queue;

    a first back end controller coupled to the request queue and the completion queue and responsive to the request queue fullness indication, said first back end controller operable to read a packet from said request queue when said request queue is not empty and provide the packet to the device, said first back end controller further operable to provide the packet to said completion queue when the device has completed processing the packet; and

    a completion controller coupled to said completion queue and responsive to the completion doorbell register and the completion head register, said completion controller operable to complete a packet from the completion queue back to the memory.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×