Pre-fetching of data packets
First Claim
Patent Images
1. A method comprising:
- receiving a data packet, and storing the received data packet in a memory;
determining one or both of (i) a type of application with which the data packet is associated, and (ii) a priority associated with the data packet;
generating a descriptor for the data packet, the descriptor including information for fetching at least a portion of the data packet from the memory, wherein the at least a portion of the data packet to be fetched is based on the determined one or both of (i) the type of application with which the data packet is associated, and (ii) the priority associated with the data packet, and wherein the at least a portion of the data packet is less than an entirety of the data packet; and
in advance of a processing core requesting the at least a portion of the data packet to execute a processing operation on the at least a portion of the data packet, fetching the at least a portion of the data packet to a cache based at least in part on information in the descriptor.
1 Assignment
0 Petitions
Accused Products
Abstract
Some of the embodiments of the present disclosure provide a method comprising receiving a data packet, and storing the received data packet in a memory; generating a descriptor for the data packet, the descriptor including information for fetching at least a portion of the data packet from the memory; and in advance of a processing core requesting the at least a portion of the data packet to execute a processing operation on the at least a portion of the data packet, fetching the at least a portion of the data packet to a cache based at least in part on information in the descriptor. Other embodiments are also described and claimed.
60 Citations
19 Claims
-
1. A method comprising:
-
receiving a data packet, and storing the received data packet in a memory; determining one or both of (i) a type of application with which the data packet is associated, and (ii) a priority associated with the data packet; generating a descriptor for the data packet, the descriptor including information for fetching at least a portion of the data packet from the memory, wherein the at least a portion of the data packet to be fetched is based on the determined one or both of (i) the type of application with which the data packet is associated, and (ii) the priority associated with the data packet, and wherein the at least a portion of the data packet is less than an entirety of the data packet; and in advance of a processing core requesting the at least a portion of the data packet to execute a processing operation on the at least a portion of the data packet, fetching the at least a portion of the data packet to a cache based at least in part on information in the descriptor.
-
-
2. A method comprising:
-
receiving a data packet, and storing the received data packet in a memory; generating a descriptor for the data packet, the descriptor including information associated with a characteristic of the data packet; based on the information associated with the characteristic of the data packet included in the descriptor, identifying a first portion of the data packet, wherein the first portion of the data packet does not comprise an entirety of the data packet; and in advance of a processing core requesting the data packet to execute a processing operation on the data packet, fetching the first portion of the data packet to the cache. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system-on-chip (SOC) comprising:
-
a processing core; a cache; a packet processing module configured to generate a descriptor for a data packet, the descriptor including information for fetching a section of the data packet from a memory, wherein a section of the data packet to be fetched is less than an entirety of the data packet, and wherein the section of the data packet to be fetched is based on one or both of (i) a type of application with which the data packet is associated, and (ii) a priority associated with the data packet; and a packet descriptor based pre-fetch module configured to; fetch and process the descriptor of the data packet, and fetch the section of the data packet to the cache based at least in part on processing the descriptor of the data packet. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
receiving a data packet, and storing the received data packet in a memory; determining one or both of (i) a type of application with which the data packet is associated, and (ii) a priority associated with the data packet; generating a descriptor for the data packet, the descriptor including information for fetching at least a portion of the data packet from the memory, wherein the at least a portion of the data packet to be fetched is based on the determined one or both of (i) the type of application with which the data packet is associated, and (ii) the priority associated with the data packet; and in advance of a processing core requesting the at least a portion of the data packet to execute a processing operation on the at least a portion of the data packet, fetching the at least a portion of the data packet to a cache based at least in part on information in the descriptor, wherein generating the descriptor further comprises; determining that the data packet is associated with a routing application; and generating the descriptor such that the descriptor includes information for fetching a header section of the data packet, based on determining that the data packet is associated with the routing application, and wherein said fetching the at least a portion of the data packet further comprises fetching the header section of the data packet, based on the descriptor.
-
-
19. A method comprising:
-
receiving a data packet, and storing the received data packet in a memory; determining one or both of (i) a type of application with which the data packet is associated, and (ii) a priority associated with the data packet; generating a descriptor for the data packet, the descriptor including information for fetching at least a portion of the data packet from the memory, wherein the at least a portion of the data packet to be fetched is based on the determined one or both of (i) the type of application with which the data packet is associated, and (ii) the priority associated with the data packet; and in advance of a processing core requesting the at least a portion of the data packet to execute a processing operation on the at least a portion of the data packet, fetching the at least a portion of the data packet to a cache based at least in part on information in the descriptor, wherein generating the descriptor further comprises; determining that the data packet is associated with a security application; and generating the descriptor such that the descriptor includes information for fetching a header section and a payload section of the data packet, based on determining that the data packet is associated with the security application, and wherein said fetching the at least a portion of the data packet further comprises fetching the header section and the payload section of the data packet, based on the descriptor.
-
Specification