System and method for ordering packet transfers in a data processor
First Claim
Patent Images
1. A method of processing a packet within a processor, the method comprising:
- creating, by a packet selector, an ordered list of packets, each packet of the ordered list of packets corresponding to a respective communication flow;
determining whether each packet of the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit;
determining whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished;
identifying start time constraints for the respective communication flow based upon the determination of whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished;
setting, by the packet selector, a selection priority for each packet of the ordered list of packets based on the start time constraints for the respective communication flow of each packet, and based on a processing status of the preceding packet in the respective communication flow; and
sending an oldest packet out of the ordered list of packets having a highest selection priority to the prefetch unit.
31 Assignments
0 Petitions
Accused Products
Abstract
A data processor includes a packet selector. The packet selector creates an ordered list of packets, each packet corresponding to a respective communication flow, determines whether each packet in the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit, and sets a selection priority for each packet based on start time constraints for the respective communication flow, and based on a processing status of a preceding packet in the communication flow.
43 Citations
17 Claims
-
1. A method of processing a packet within a processor, the method comprising:
-
creating, by a packet selector, an ordered list of packets, each packet of the ordered list of packets corresponding to a respective communication flow; determining whether each packet of the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit; determining whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished; identifying start time constraints for the respective communication flow based upon the determination of whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished; setting, by the packet selector, a selection priority for each packet of the ordered list of packets based on the start time constraints for the respective communication flow of each packet, and based on a processing status of the preceding packet in the respective communication flow; and sending an oldest packet out of the ordered list of packets having a highest selection priority to the prefetch unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data processor, the data processor comprising:
a packet selector, the packet selector creates an ordered list of packets, each packet of the ordered list of packets corresponding to a respective communication flow, determines whether each packet of the ordered list of packets is eligible for transfer to a prefetch unit based on whether a preceding packet in the same communication flow has been transferred to the prefetch unit, determines whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished, identifies start time constraints for the respective communication flow based upon the determination of whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished, sets a selection priority for each packet of the ordered list of packets based on the start time constraints for the respective communication flow of each packet, and based on a processing status of the preceding packet in the respective communication flow, and sends an oldest packet out of the ordered list of packets having a highest selection priority to the prefetch unit. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A method of processing a packet within a processor, the method comprising:
-
creating, by a packet selector, an ordered list of packets, each packet corresponding to a respective communication flow; determining whether each packet in the ordered list of packets is eligible for transfer to a prefetch unit based on whether the packet is a first in order packet, a preceding packet in the same communication flow has been transferred to the prefetch unit, processing of the preceding packet in the same communication flow has started, or the processing of the preceding packet in the same communication flow is complete; determining whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished; identifying start time constraints for the respective communication flow based upon the determination of whether each packet in the respective communication flow can be processed before processing of the preceding packet in the respective communication flow has finished; setting, by the packet selector, a selection priority for each packet of the ordered list of packets based on the start time constraints for the respective communication flow of each packet, and based on a processing status of the preceding packet in the respective communication flow; and sending an oldest packet out of the ordered list of packets having a highest selection priority to the prefetch unit. - View Dependent Claims (16, 17)
-
Specification