Claims Analysis
Total Claims: 47
Claim 1
Independent Claim
133 words
An apparatus for reducing shared memory contention at an interface between a peripheral device and a computer network, the interface implementing a data transfer protocol such that packet data is linearly transmitted via said interface to said shared memory, and the control mechanism for said packet resides in a predefined location in a shared memory, the apparatus comprising: a shared memory; a shared memory arbitrator; and a prefetch module located between said peripheral device and said shared memory arbitrator, said prefetch module prefetching the next requested data in a read operation on said packet data, said prefetch module further comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.
Claim 2
Independent Claim
133 words
An apparatus for reducing shared memory contention at an interface between a peripheral device and a computer network, the interface implementing a data transfer protocol such that packet data is linearly transmitted via said interface to said shared memory, and the control mechanism for said packet resides in a predefined location in a shared memory, the apparatus comprising: a shared memory; a shared memory arbitrator; and a prefetch module located between said peripheral device and said shared memory arbitrator, said prefetch module prefetching the next requested data in a read operation on said packet data, said prefetch module further comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.
Claim 3
Dependent Claim
19 words
The apparatus of claim 1, said shared memory further comprising: a page mode dynamic random access memory (DRAM) array.
Claim 4
Dependent Claim
29 words
The apparatus of claim 1, wherein said access state machine may use any of a byte write, byte read, and long word read mode to access said shared memory.
Claim 5
Dependent Claim
40 words
The apparatus of claim 1, wherein said access state machine requests a single byte write to said shared memory from shared memory arbitrator, and said access state machine asserts an acknowledge if said shared memory request is a write request.
Claim 6
Dependent Claim
42 words
The apparatus of claim 1, wherein said access state machine requests a single byte read from said shared memory arbitrator if said shared memory request is a read operation, and a requested shared memory address is below a prefetch address fence register.
Claim 7
Dependent Claim
57 words
The apparatus of claim 1, wherein said access state machine requests a single long word read from said shared memory arbitrator if the requested shared memory address is above a prefetch address fence register and said memory address, word aligned, does not match either a prefetch address register 0 (PAR0) or a prefetch address register 1 (PAR1).
Claim 8
Dependent Claim
36 words
The apparatus of claim 6, wherein each byte of data is stored in a bank 0 or bank 1 prefetch buffer as it is read from said shared memory during a single long word read request.
Claim 9
Dependent Claim
63 words
The apparatus of claim 7, wherein said access state machine requests a single long word read from said shared memory arbitrator if a peripheral device read request is read from a third byte of either bank 0 or bank 1 of said prefetch buffer, wherein said access state machine invalidates a bank of said prefetch buffers that does not contain peripheral request data.
Claim 10
Dependent Claim
39 words
The apparatus of claim 8, wherein said access state machine generates a starting address equal to a current peripheral address plus a next word aligned peripheral address for a single long word read request to said shared memory arbitrator.
Claim 11
Dependent Claim
25 words
The apparatus of claim 9, wherein said access state machine validates said prefetch buffer as each byte of data is read from said shared memory.
Claim 12
Dependent Claim
43 words
The apparatus of claim 6, wherein data is written directly to said shared memory, and a bank of said prefetch buffer is invalidated if a peripheral address, word aligned, matches either prefetch address register PAR0 or PAR1 during a peripheral device write request.
Claim 13
Dependent Claim
49 words
The apparatus of claim 6, wherein said prefetch address register consists of prefetch address registers PAR0 and PAR1; and wherein said access state machine writes to prefetch address registers PAR0 or PAR1 with the most significant bits of a single long word read request address during a prefetch operation.
Claim 14
Dependent Claim
30 words
The apparatus of claim 1, wherein said access state machine validates said prefetch buffer as each byte of data read from said shared memory is stored in said prefetch buffer.
Claim 15
Dependent Claim
24 words
The apparatus of claim 1, wherein said access state machine asserts an acknowledge when peripheral request data is available from a valid prefetch buffer.
Claim 16
Dependent Claim
26 words
The apparatus of claim 1, wherein a peripheral device is protected from reading stale data from an I/O mailbox by use of said prefetch fence register.
Claim 17
Dependent Claim
45 words
The apparatus of claim 1, wherein said access state machine invalidates both banks of said prefetch buffer when a peripheral device reads a least significant byte of a peripheral device mailbox packet pointer, wherein said peripheral device is protected from reading incorrect packet header data.
Claim 18
Dependent Claim
25 words
The apparatus of claim 16, wherein said peripheral device must read a peripheral device mailbox packet pointer to get a starting address of said packet.
Claim 19
Dependent Claim
25 words
The apparatus of claim 1, wherein said prefetch buffer consists of two banks of buffers that are designated as bank 0 and bank 1, respectively.
Claim 20
Dependent Claim
22 words
The apparatus of claim 18, wherein each byte of a buffer contains a flag that indicates if a data byte is valid.
Claim 21
Dependent Claim
73 words
The apparatus of claim 18, wherein a first byte of bank 0 contains data for a word aligned peripheral address (PAR0+0), a second byte of bank 0 contains data for the word aligned peripheral address plus one (PAR0+1), a third byte of bank 0 contains data for the word aligned peripheral address plus two (PAR0+2), and a fourth byte of bank 0 contains data for the word aligned peripheral address plus three (PAR0+3).
Claim 22
Dependent Claim
74 words
The apparatus of claim 18, wherein a first byte of bank 1 contains data for a a word aligned peripheral address (PAR1+0), a second byte of bank 1 contains data for the word aligned peripheral address plus one (PAR1+1), a third byte of bank 1 contains data for the word aligned peripheral address plus two (PAR1+2), and a fourth byte of bank 1 contains data for the word aligned peripheral address plus three (PAR1+3).
Claim 23
Dependent Claim
54 words
The apparatus of claim 1, said prefetch address fence register further comprising a programmable register that represents a shared memory address plus a predetermined number N at which a prefetch operation begins, whereby any peripheral device read request having a shared memory address greater than that of said prefetch address fence register is prefetched.
Claim 24
Dependent Claim
23 words
The apparatus of claim 1, wherein said prefetch address fence register is used by said access state machine to disable a prefetch operation.
Claim 25
Dependent Claim
14 words
The apparatus of claim 1, wherein said data transfer protocol is an MIO protocol.
Claim 26
Independent Claim
145 words
The method for reducing shared memory contention at an interface between a peripheral device and a computer network, wherein the interface implements a data transfer protocol such that packet data is linearly transmitted via said interface to said shared memory, and the control mechanism for said packet resides in a predefined location in a shared memory, comprising the steps of: storing data in a shared memory; and prefetching next requested data in said shared memory, wherein said prefetch operation reduces the possibility of shared memory contention and reduces memory access time for a peripheral device read operation on said shared memory, wherein said prefetching step is performed with a prefetch module comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.
Claim 27
Independent Claim
145 words
The method for reducing shared memory contention at an interface between a peripheral device and a computer network, wherein the interface implements a data transfer protocol such that packet data is linearly transmitted via said interface to said shared memory, and the control mechanism for said packet resides in a predefined location in a shared memory, comprising the steps of: storing data in a shared memory; and prefetching next requested data in said shared memory, wherein said prefetch operation reduces the possibility of shared memory contention and reduces memory access time for a peripheral device read operation on said shared memory, wherein said prefetching step is performed with a prefetch module comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.
Claim 28
Dependent Claim
26 words
The method of claim 25, further comprising the step of: accessing shared memory in any of a byte write, byte read, and long word read mode.
Claim 29
Dependent Claim
46 words
The method of claim 25, further comprising the steps of: requesting a single byte write to said shared memory from shared memory arbitrator with said access state machine; and asserting an acknowledge with said access state machine if said shared memory request is a write request.
Claim 30
Dependent Claim
47 words
The method of claim 25, further comprising the step of: requesting a single byte read from said shared memory arbitrator with said access state machine if said shared memory request is a read operation, and a requested shared memory address is below a prefetch address fence register.
Claim 31
Dependent Claim
62 words
The method of claim 25, further comprising the step of: requesting a single long word read from said shared memory arbitrator with said access state machine if the requested shared memory address is above a prefetch address fence register and said memory address, word aligned, does not match either a prefetch address register 0 (PAR0) or a prefetch address register 1 (PAR1).
Claim 32
Dependent Claim
39 words
The method of claim 25, further comprising the step of: storing each byte of data in a bank 0 or bank 1 prefetch buffer as it is read from said shared memory during a single long word read request.
Claim 33
Dependent Claim
35 words
The method of claim 25, further comprising the step of: validating said prefetch buffer with said access state machine as each byte of data read from said shared memory is stored in said prefetch buffer.
Claim 34
Dependent Claim
29 words
The method of claim 25, further comprising the step of: asserting an acknowledge with said access state machine when peripheral request data is available from a valid prefetch buffer.
Claim 35
Dependent Claim
68 words
The method of claim 25, further comprising the step of: requesting a single long word read from said shared memory arbitrator with said access state machine if a peripheral device read request is read from a third byte of either bank 0 or bank 1 of said prefetch buffer, wherein said access state machine invalidates a bank of said prefetch buffers that does not contain peripheral request data.
Claim 36
Dependent Claim
44 words
The method of claim 25, further comprising the step of: generating a starting address with said access state machine equal to a current peripheral address plus a next word aligned peripheral address for a single long word read request to said shared memory arbitrator.
Claim 37
Dependent Claim
25 words
The method of claim 25, further comprising the step of: validating said prefetch buffer as each byte of data is read from said shared memory.
Claim 38
Dependent Claim
29 words
The method of claim 25, further comprising the step of: protecting a peripheral device from reading stale data from an I/O mailbox by use of said prefetch fence register.
Claim 39
Dependent Claim
45 words
The method of claim 25, further comprising the steps of: writing data directly to said shared memory; and invalidating a bank of said prefetch buffer if a word aligned peripheral address matches either prefetch address register PAR0 or PAR1 during a peripheral device write request.
Claim 40
Dependent Claim
45 words
The method of claim 25, further comprising the step of: invalidating both banks of said prefetch buffer when a peripheral device reads a least significant byte of a peripheral device mailbox packet pointer, wherein said peripheral device is protected from reading incorrect packet header data.
Claim 41
Dependent Claim
25 words
The method of claim 25, further comprising the step of: reading a peripheral device mailbox packet pointer to get a starting address of said packet.
Claim 42
Dependent Claim
44 words
The method of claim 25, wherein said prefetch address register consists of prefetch address registers PAR0 and PAR1; and wherein said access state machine writes to said prefetch address registers PAR0 or PAR1 with a truncated word read request address during a prefetch operation.
Claim 43
Dependent Claim
25 words
The method of claim 25, wherein said prefetch buffer consists of two banks of buffers that are designated as bank 0 and blank 1, respectively.
Claim 44
Dependent Claim
55 words
The method of claim 25, wherein said prefetch address fence register further comprises a programmable register that represents a shared memory address plus a predetermined number N at which a prefetch operation begins, whereby any peripheral device read request having a shared memory address greater than that of said prefetch address fence register is prefetched.
Claim 45
Dependent Claim
23 words
The method of claim 25, wherein said prefetch address fence register is used by said access state machine to disable a prefetch operation.
Claim 46
Independent Claim
127 words
A method for reducing shared memory contention at an interface implementing a MIO data transfer protocol between a peripheral device and an I/O card device, comprising the steps of: storing data linearly in a shared memory; storing a shared memory address plus a predetermined number N at which a prefetch operation begins in a programmable register; and prefetching next requested data in said shared memory for any peripheral device read request having a shared memory address greater than that of said programmable register, wherein said prefetching step is performed with a prefetch module comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.
Claim 47
Independent Claim
127 words
A method for reducing shared memory contention at an interface implementing a MIO data transfer protocol between a peripheral device and an I/O card device, comprising the steps of: storing data linearly in a shared memory; storing a shared memory address plus a predetermined number N at which a prefetch operation begins in a programmable register; and prefetching next requested data in said shared memory for any peripheral device read request having a shared memory address greater than that of said programmable register, wherein said prefetching step is performed with a prefetch module comprising: an access state machine for processing peripheral device shared memory requests; at least one prefetch address register; at least one prefetch buffer with at least one valid flag; and a prefetch fence register.