Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
211 words
A method of managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, and direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said method comprising the steps of: providing a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO of said local memory packet FIFO is a receiving FIFO; performing DMA transfers of packet data from said sending FIFO to said receiving FIFO, said DMA transfers including said head pointer and said tail pointer; and determining, based on said head pointer and said tail pointer at said receiving FIFO, when to initiate and when to terminate DMA transfer of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 2
Independent Claim
211 words
A method of managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, and direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said method comprising the steps of: providing a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO of said local memory packet FIFO is a receiving FIFO; performing DMA transfers of packet data from said sending FIFO to said receiving FIFO, said DMA transfers including said head pointer and said tail pointer; and determining, based on said head pointer and said tail pointer at said receiving FIFO, when to initiate and when to terminate DMA transfer of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 3
Dependent Claim
40 words
A method according to claim 1, wherein a first FIFO in each of said sets of packet FIFOs is for outgoing packet data and a second FIFO in each of said sets of packet FIFOs is for incoming packet data.
Claim 4
Dependent Claim
38 words
A method according to claim 1, further comprising a step of updating said tail pointer by said main memory and a step of updating said head pointer by said communication coprocessor with each DMA transfer of packet data.
Claim 5
Dependent Claim
49 words
A method according to claim 1, further including a step of providing a cached copy of said head pointer, stored in said main memory, to said communication coprocessor and a step of providing a cached copy of said tail pointer, stored in said local memory, to said main memory.
Claim 6
Dependent Claim
73 words
A method according to claim 1, further comprising a step of, in sending packet data from said sending FIFO to said receiving FIFO, comparing said head pointer with said tail pointer in said sending FIFO and, when said head pointer is equal to said tail pointer, a step of polling internally in said sending FIFO without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 7
Dependent Claim
81 words
A method according to claim 1, further comprising, when the main processor is to send a packet, a step of polling by said main processor of said head pointer in said main memory and comparing said head pointer with said tail pointer stored therein, said tail pointer being a cached copy of said tail pointer stored in said local memory, wherein said step of comparing includes a step of determining an amount of space available for storage in said receiving FIFO.
Claim 8
Dependent Claim
56 words
A method according to claim 6, further comprising a step of writing, by said main processor, said packet into said receiving FIFO and writing an updated tail pointer into said local memory of said coprocessor, if a predetermined amount of space available exists for storage in said receiving FIFO, as determined by said step of determining.
Claim 9
Dependent Claim
51 words
A method according to claim 7, further comprising a step of polling, by said coprocessor, wherein, for outgoing packets, said step of polling includes a step of comparing a cached value of the head pointer, stored in said coprocessor, with a value of said tail pointer stored in said local memory.
Claim 10
Dependent Claim
34 words
A method according to claim 8, wherein, for incoming packets, said method further comprises a step of storing said tail pointer in said local memory and storing said head pointer in said local memory.
Claim 11
Dependent Claim
47 words
A method according to claim 8, wherein, when data is input to said FIFO of said set of packet FIFOs, said method further comprises a step of incrementing said tail pointer and, when data is output from said packet FIFO, a step of incrementing said head pointer.
Claim 12
Independent Claim
200 words
An apparatus for managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, said apparatus including: a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO or said local memory packet FIFO is a receiving FIFO; direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said DMA means including means for performing DMA transfers of packet data from said sending FIFO to said receiving FIFO, said DMA transfers including said head pointer and tail pointer; and means for determining when to initiate and when to terminate DMA transfer of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 13
Independent Claim
200 words
An apparatus for managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, said apparatus including: a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO or said local memory packet FIFO is a receiving FIFO; direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said DMA means including means for performing DMA transfers of packet data from said sending FIFO to said receiving FIFO, said DMA transfers including said head pointer and tail pointer; and means for determining when to initiate and when to terminate DMA transfer of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 14
Dependent Claim
85 words
An apparatus according to claim 11, wherein said tail pointer is stored in said local memory of said communication coprocessor and said head pointer is stored in said main memory, said main processor further including a cache memory and keeping a cached copy of said tail pointer in said cache memory, said main processor including means for updating said tail pointer, said communication coprocessor further including a cache memory and keeping a copy of said head pointer therein, and means for updating said head pointer.
Claim 15
Dependent Claim
49 words
An apparatus according to claim 12, further comprising means, positioned in said main processor, for polling said head pointer in said main processor, and means for comparing said head pointer with said cached value of the tail pointer to determine if there is space available in the receiving FIFO.
Claim 16
Dependent Claim
34 words
An apparatus according to claim 13, further including first means for writing said packet into the receiving FIFO and second means for writing an updated tail pointer into said local memory of said coprocessor.
Claim 17
Dependent Claim
51 words
An apparatus according to claim 14, further comprising means for polling, included in said coprocessor, wherein, for outgoing packets, said means for polling includes means for comparing the cached value of the head pointer, stored in said coprocessor, with said tail pointer value stored in said local memory of said coprocessor.
Claim 18
Dependent Claim
37 words
An apparatus according to claim 15, further comprising means for storing , said tail pointer in said local memory of said main processor and means for storing said head pointer in said local memory of said coprocessor.
Claim 19
Dependent Claim
43 words
An apparatus according to claim 16, further comprising means for incrementing said tail pointer when data is input to said receiving FIFO of said set of packet FIFOs, and means for decrementing said head pointer when data is taken from said packet FIFO.
Claim 20
Independent Claim
197 words
An apparatus for managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, and direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said apparatus comprising: a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO or said local memory packet FIFO is a receiving FIFO; means for performing DMA transfers of packet data from said sending FIFO to said receiving FIFO; and means for determining, based on said head pointer and said tail pointer, when to initiate and when to terminate said DMA transfers of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 21
Independent Claim
197 words
An apparatus for managing data of a first-in-first-out (FIFO) buffer of a main processor coupled to a distribution mechanism by an adaptor, said main processor having a first bus and a main memory coupled thereto, said adaptor including a communication coprocessor, a second bus, and a local memory coupled thereto, and direct memory access (DMA) means for performing DMA transfers between said main memory and said local memory, said apparatus comprising: a set of packet FIFOs for both said main memory and said local memory, each of said packet FIFOs having a head pointer and a tail pointer associated therewith, wherein any of said main memory packet FIFO and said local memory packet FIFO is a sending FIFO and the other of said main memory packet FIFO or said local memory packet FIFO is a receiving FIFO; means for performing DMA transfers of packet data from said sending FIFO to said receiving FIFO; and means for determining, based on said head pointer and said tail pointer, when to initiate and when to terminate said DMA transfers of packet data without polling across any of said first and second busses for said head pointer and said tail pointer.
Claim 22
Dependent Claim
40 words
An apparatus according to claim 18, further comprising means for polling said sending FIFO and for comparing said head pointer with said tail pointer to determine if there is space available in said receiving FIFO for receiving said packet data.