Techniques for entry lookups
First Claim
Patent Images
1. A method comprising:
- storing entries in storage locations of a memory device;
determining storage locations of entries associated with a destination address; and
simultaneously retrieving entries associated with the destination address from multiple storage locations, wherein entries are derived from routing information and wherein determining the location of the entries is to comprise determining a storage location of an entry based on the following relationship;
Root+(1+a first portion of the destination address)*BlockSize+a second portion of the destination address, wherein the Root is to comprise a storage location of a first storage location of a first block, and the BlockSize is to comprise an amount of storage locations allocated to entries in a first group of the entries.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques to store entries so that minimal sequential memory accesses are used to determine all relevant entries. Entries may be grouped into blocks. The order of entries within blocks may be set in a manner so that entry locations can be determined using an input value, such as a destination address. Blocks may be ordered into levels. Blocks of each level may be stored in consecutive storage locations. Accordingly, entry locations may be determined and retrieved with minimal sequential memory accesses by storing entries in a predetermined manner.
17 Citations
48 Claims
-
1. A method comprising:
-
storing entries in storage locations of a memory device; determining storage locations of entries associated with a destination address; and simultaneously retrieving entries associated with the destination address from multiple storage locations, wherein entries are derived from routing information and wherein determining the location of the entries is to comprise determining a storage location of an entry based on the following relationship;
Root+(1+a first portion of the destination address)*BlockSize+a second portion of the destination address, wherein the Root is to comprise a storage location of a first storage location of a first block, and the BlockSize is to comprise an amount of storage locations allocated to entries in a first group of the entries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus comprising:
-
a storage device to store entries in storage locations; and an output interface provider to retrieve simultaneously multiple entries associated with a destination address and to determine an output interface port number associated with the destination address, wherein entries are derived from routing information and wherein the output interface provide is to determine location of the entries based on the following relationship;
Root+(1+a first portion of the destination address)*BlockSize+a second portion of the destination address, wherein the Root is to comprise a storage location of a first storage location of a first block, and the BlockSize is to comprise an amount of storage locations allocated to entries in a first group of the entries. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A system comprising:
-
an input interface port to receive a packet; at least one output interface port to transmit the packet; and an output interface determiner to identify an output interface port number to which to transfer the packet, the output interface determiner comprising; a storage device to store entries in storage locations, and an output interface provider to retrieve simultaneously multiple entries associated with a destination address of the packet and to determine the output interface port number associated with the destination address, wherein entries are derived from routing information and the output interface provider is to determine location of the entries based on the following relationship;
Root+(1+a first portion of the destination address)*BlockSize+a second portion of the destination address, wherein the Root is to comprise a storage location of a first storage location of a first block, and the BlockSize is to comprise an amount of storage locations allocated to entries in a first group of the entries. - View Dependent Claims (43, 44, 45, 46, 47, 48)
-
Specification