Multi-bus structure for optimizing system performance of a serial buffer
First Claim
1. A serial buffer comprising:
- a plurality of queues;
a plurality of configuration registers;
a parser coupled to receive incoming packets;
a first processing path coupled to receive packets of a first packet type from the parser, wherein the first processing path comprises slave read circuitry for performing slave read accesses on read ports of the plurality of queues in response to packets of the first packet type; and
a second processing path coupled to receive packets of a second packet type from the parser, wherein the second processing path comprises register access circuitry for accessing the configuration registers in response to packets of the second packet type;
a memory access engine that implements bus master read accesses on the read ports of the plurality of queues in response to fullness levels of the plurality of queues; and
egress control logic that routes data read from the configuration registers in response to packets of the second packet type with a higher priority than data read from the plurality of queues by the slave read accesses and the bus master read accesses.
3 Assignments
0 Petitions
Accused Products
Abstract
A serial buffer having a parser and multiple parallel processing paths is provided. The parser receives incoming packets, determines the type of each packet, and then routes each packet to a processing path that corresponds with the determined packet type. Packet types may include blocking priority packets (which implement bus slave operations), non-blocking priority packets (which access on-chip resources of the serial buffer) and data packets (which implement bus master operations). Because the different packet types are processed on parallel processing paths, the processing of one packet type does not interfere with the processing of other packet types. As a result, blocking conditions within the serial buffer are minimized.
-
Citations
19 Claims
-
1. A serial buffer comprising:
- a plurality of queues;
a plurality of configuration registers; a parser coupled to receive incoming packets; a first processing path coupled to receive packets of a first packet type from the parser, wherein the first processing path comprises slave read circuitry for performing slave read accesses on read ports of the plurality of queues in response to packets of the first packet type; and a second processing path coupled to receive packets of a second packet type from the parser, wherein the second processing path comprises register access circuitry for accessing the configuration registers in response to packets of the second packet type; a memory access engine that implements bus master read accesses on the read ports of the plurality of queues in response to fullness levels of the plurality of queues; and egress control logic that routes data read from the configuration registers in response to packets of the second packet type with a higher priority than data read from the plurality of queues by the slave read accesses and the bus master read accesses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- a plurality of queues;
-
12. A method of operating a serial buffer comprising:
-
receiving an incoming packet stream having a plurality of different packet types; separating packets of the incoming packet stream based on the packet types; processing packets of a first packet type in a first processing path of the serial buffer by performing slave read accesses on read ports of a plurality of queues of the serial buffer; processing packets of a second packet type in a second processing path of the serial buffer by accessing configuration registers of the serial buffer; initiating bus master read accesses on the read ports of the plurality of queues in response to fullness levels of the plurality of queues; and routing data read from the configuration registers and data read from the plurality of queues to an outgoing bus, wherein the data read from the configuration registers is routed without interference from the data read from the plurality of queues. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification