Serial Buffer To Support Rapid I/O Logic Layer Out Of order Response With Data Retransmission
First Claim
1. A serial buffer comprising:
- a buffer memory having a plurality of memory blocks, each configured to temporarily store a request packet;
a free buffer pointer list configured to identify each memory block in the memory buffer that is available to store a new request packet;
a used buffer pointer list configured to identify each memory block in the memory buffer that stores a request packet to be transferred out of the serial buffer; and
a request buffer pointer list configured to identify each memory block in the memory buffer that stores a request packet that has been transferred out of the serial buffer, but has not yet received an expected corresponding response.
3 Assignments
0 Petitions
Accused Products
Abstract
Within a serial buffer, request packets are written to available memory blocks of a memory buffer, which are identified by a free buffer pointer list. When a request packet is written to a memory block, the memory block is removed from the free buffer pointer list, and added to a used buffer pointer list. Memory blocks in the used buffer pointer list are read, thereby transmitting the associated request packets from the serial buffer. When a request packet is read from a memory block, the memory block is removed from the used buffer pointer list and added to a request buffer pointer list. If a corresponding response packet is received within a timeout period, the memory block is transferred from the request buffer pointer list to the free buffer pointer list. Otherwise, the memory block is transferred from the request buffer pointer list to the used buffer pointer list.
-
Citations
20 Claims
-
1. A serial buffer comprising:
-
a buffer memory having a plurality of memory blocks, each configured to temporarily store a request packet; a free buffer pointer list configured to identify each memory block in the memory buffer that is available to store a new request packet; a used buffer pointer list configured to identify each memory block in the memory buffer that stores a request packet to be transferred out of the serial buffer; and a request buffer pointer list configured to identify each memory block in the memory buffer that stores a request packet that has been transferred out of the serial buffer, but has not yet received an expected corresponding response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of operating a serial buffer comprising:
-
defining a plurality of memory blocks in a buffer memory, wherein each of the memory blocks has the capacity to store a request packet; maintaining a first list of each of the memory blocks available to store a new request packet; maintaining a second list of each of the memory blocks that stores a request packet to be transferred out of the serial buffer; and maintaining a third list of each of the memory blocks that stores a request packet that has been transferred out of the serial buffer, but has not yet received an expected corresponding response. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification