System and method for preserving order of data processed by processing engines
First Claim
1. A system for preserving an order of data, the system comprising:
- a processor, comprising;
an arbiter to;
detect a dispatch of packet fields of a packet, the packet fields being dispatched to a processing engine, andstore an identifier of the processing engine in a first-in-first-out (FIFO) buffer within the arbiter; and
a reorder buffer to;
receive, from the processing engine, control information including information based on the packet fields,receive a request, from the processing engine, to assign a reorder buffer location within the reorder buffer,grant the request when the reorder buffer location is available,send a memory pointer to the processing engine based on granting the request, the memory pointer corresponding to a FIFO buffer location of the identifier of the processing engine in the FIFO buffer within the arbiter,store the control information at the reorder buffer location, andtransmit the control information out of the reorder buffer in a same order in which the packet fields were dispatched.
2 Assignments
0 Petitions
Accused Products
Abstract
A device includes an input processing unit and an output processing unit. The input processing unit dispatches first data to one of a group of processing engines, records an identity of the one processing engine in a location in a first memory, reserves one or more corresponding locations in a second memory, causes the first data to be processed by the one processing engine, and stores the processed first data in one of the locations in the second memory. The output processing unit receives second data, assigns an entry address corresponding to a location in an output memory to the second data, transfers the second data and the entry address to one of a group of second processing engines, causes the second data to be processed by the second processing engine, and stores the processed second data to the location in the output memory.
-
Citations
18 Claims
-
1. A system for preserving an order of data, the system comprising:
a processor, comprising; an arbiter to; detect a dispatch of packet fields of a packet, the packet fields being dispatched to a processing engine, and store an identifier of the processing engine in a first-in-first-out (FIFO) buffer within the arbiter; and a reorder buffer to; receive, from the processing engine, control information including information based on the packet fields, receive a request, from the processing engine, to assign a reorder buffer location within the reorder buffer, grant the request when the reorder buffer location is available, send a memory pointer to the processing engine based on granting the request, the memory pointer corresponding to a FIFO buffer location of the identifier of the processing engine in the FIFO buffer within the arbiter, store the control information at the reorder buffer location, and transmit the control information out of the reorder buffer in a same order in which the packet fields were dispatched. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method for preserving an order of data, comprising:
-
detecting, by a processor, a dispatch of packet fields of a packet, the packet fields being dispatched to a processing engine; storing, by the processor, an identifier of the processing engine in a first-in-first-out (FIFO) buffer within an arbiter; receiving, by the processor and from the processing engine, control information including information based on the packet fields; receiving, by the processor and from the processing engine, a request to assign a reorder buffer location within a reorder buffer; granting, by the processor, the request when the reorder buffer location is available; sending, by the processor, a memory pointer to the processing engine based on granting the request, the memory pointer corresponding to a FIFO buffer location of the identifier in the FIFO buffer within the arbiter; storing, by the processor, the control information at the reorder buffer location; and transmitting, by the processor, the control information out of the reorder buffer in a same order in which the packet fields were dispatched. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium storing instructions for preserving an order of data, the instructions comprising:
-
one or more instructions that, when executed by one or more processors, cause the one or more processors to; detect a dispatch of first packet fields of a packet, the first packet fields being dispatched to a first processing engine; store a first identifier in a first-in-first-out (FIFO) buffer within an arbiter, the first identifier identifying the first processing engine; receive, from the first processing engine, first control information including information based on the first packet fields; receive, from the first processing engine, a first request to assign a reorder buffer location within a reorder buffer; grant the first request when the reorder buffer location is available; send a memory pointer to the first processing engine based on granting the first request, the memory pointer corresponding to a FIFO buffer location of the first identifier in the FIFO buffer within the arbiter; store the first control information at the reorder buffer location; and transmit the first control information out of the reorder buffer in a same order in which the first packet fields were dispatched. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification