Systems and methods for preserving the order of data
First Claim
1. A method comprising:
- receiving, by a device, first data;
assigning, by the device and to the first data, a first address corresponding to a location in a memory,the memory being an output memory;
transferring, by the device, the first data and the first address to a processor of a plurality of processors of the device;
processing, by the processor of the device, the first data to form processed first data;
storing, by the processor of the device, the processed first data in the memory at the location corresponding to the first address;
receiving, by the device, second data;
assigning, by the device and to the second data, the first address when the first data and the second data are fragments of a same packet; and
assigning, by the device and to the second data, a second address, corresponding to a different location in the memory than the location, when the first data and the second data are not fragments of the same packet.
1 Assignment
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
20 Claims
-
1. A method comprising:
-
receiving, by a device, first data; assigning, by the device and to the first data, a first address corresponding to a location in a memory, the memory being an output memory; transferring, by the device, the first data and the first address to a processor of a plurality of processors of the device; processing, by the processor of the device, the first data to form processed first data; storing, by the processor of the device, the processed first data in the memory at the location corresponding to the first address; receiving, by the device, second data; assigning, by the device and to the second data, the first address when the first data and the second data are fragments of a same packet; and assigning, by the device and to the second data, a second address, corresponding to a different location in the memory than the location, when the first data and the second data are not fragments of the same packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a memory; and a plurality of processors, a processor of the plurality of processors to; receive first data and an address assigned to the first data, the address being associated with the processor, and the address corresponding to a location in the memory; process the first data to form first processed data; output the first processed data to the location in the memory corresponding to the address; receive second data; process the second data to generate second processed data; and selectively output the second processed data to the location in the memory or a different location in the memory based on whether the first data and the second data are fragments of a same packet. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium including instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to; receive first data; assign, to the first data, an address corresponding to a location in a memory, the memory being an output memory; transfer the first data and the address to a processor of a plurality of processors; cause the first data to be processed by the processor to form processed first data; store the processed first data in the memory at the location corresponding to the address; receive second data; selectively assign, to the second data, a same address as the address based on the first data and the second data being fragments of a same packet; and selectively assign, to the second data, a different address than the address based on the first data and the second data not being fragments of the same packet, the different address corresponding to a different location in the memory. - View Dependent Claims (17, 18, 19, 20)
Specification