Cache index mapping
First Claim
1. A computer-implemented method comprising:
- under the control of one or more computer systems;
receiving a packet, the packet associated with a packet type and an attribute;
parsing the packet to determine the packet type and the attribute;
based on the packet type and the attribute,determining a cache function for accessing a cache, wherein the cache function is an ambiguous function associated with the packet type, anddetermining packet processing data associated with the packet type;
requesting, from the cache and using the cache function, a data context associated with the packet type;
determining that a cache miss has occurred in response to the request;
requesting the data context from a main memory;
storing the data context from the main memory in the cache using the cache function; and
processing the packet using the data context and the packet processing data, the cache processing packets of different packet types.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods in accordance with various embodiments of the present disclosure provide approaches for mapping entries to a cache using a function, such as cyclic redundancy check (CRC). The function can calculate a colored cache index based on a main memory address. The function may cause consecutive address cache indexes to be spread throughout the cache according to the indexes calculated by the function. In some embodiments, each data context may be associated with a different function, enabling different types of packets to be processed while sharing the same cache, reducing evictions of other data contexts and improving performance. Various embodiments can identify a type of packet as the packet is received, and lookup a mapping function based on the type of packet. The function can then be used to lookup the corresponding data context for the packet from the cache, for processing the packet.
6 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
under the control of one or more computer systems; receiving a packet, the packet associated with a packet type and an attribute; parsing the packet to determine the packet type and the attribute; based on the packet type and the attribute, determining a cache function for accessing a cache, wherein the cache function is an ambiguous function associated with the packet type, and determining packet processing data associated with the packet type; requesting, from the cache and using the cache function, a data context associated with the packet type; determining that a cache miss has occurred in response to the request; requesting the data context from a main memory; storing the data context from the main memory in the cache using the cache function; and processing the packet using the data context and the packet processing data, the cache processing packets of different packet types. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method comprising:
-
under the control of one or more computer systems; determining a packet type for a packet, the packet type represented by a packet attribute value; determining a cache access function using the attribute value, the cache access function mapping a main memory address to a cache index; requesting data context information from a cache using the cache access function, the cache storing a plurality of data contexts, each data context associated with a different cache access function; and processing the packet using the data context, the cache processing packets of different packet types. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computing device, comprising:
electronic circuitry, wherein the electronic circuitry is configured to; determine a packet type for a packet; determine a cache access function using the packet type, the cache access function mapping a main memory address to a cache index; request data context information from a cache using the cache access function, the cache storing a plurality of data contexts, each data context associated with a different cache access function; and process the packet using the data context, the cache processing packets of different packet types. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
Specification