Memory organization in a switching device
First Claim
Patent Images
1. A network device, comprising:
- a data handler to;
receive a variable length data unit,identify a key for the variable length data unit,determine a starting address in a memory, where a first portion of the variable length data unit is to be stored,store the first portion in the memory,store a second portion of the variable length data unit in the memory, a location, in the memory, of the second portion being identified by an offset;
a route lookup engine to;
perform a lookup based on the key, andidentify, based on the lookup, an output port, of the network device, for the variable length data unit; and
an indirect cell processor, where when the variable length data unit comprises more than a particular number of portions, the indirect cell processor is to identify at least one offset associated with at least one portion, of the variable length data unit, exceeding the particular number of portions.
0 Assignments
0 Petitions
Accused Products
Abstract
A router for switching data packets from a source to a destination in a network in which the router includes a distributed memory. The distributed memory includes two or more memory banks. Each memory bank is used for storing uniform portions of a data packet received from a source and linking information for each data packet to allow for the extraction of the uniform portions of a data packet from distributed locations in memory in proper order after a routing determination has been made by the router.
-
Citations
20 Claims
-
1. A network device, comprising:
-
a data handler to; receive a variable length data unit, identify a key for the variable length data unit, determine a starting address in a memory, where a first portion of the variable length data unit is to be stored, store the first portion in the memory, store a second portion of the variable length data unit in the memory, a location, in the memory, of the second portion being identified by an offset; a route lookup engine to; perform a lookup based on the key, and identify, based on the lookup, an output port, of the network device, for the variable length data unit; and an indirect cell processor, where when the variable length data unit comprises more than a particular number of portions, the indirect cell processor is to identify at least one offset associated with at least one portion, of the variable length data unit, exceeding the particular number of portions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of routing a variable length data unit through a network device located on a network, the method comprising:
-
receiving, at a data handler, a variable length data unit of a plurality of variable length data units; identifying, by the data handler, a key for the variable length data unit of the plurality of variable length data units; determining, by the data handler, a starting address in a memory, where a first portion of the variable length data unit is to be stored; storing, by the data handler, the starting address in an entry in a buffer associated with the variable length data unit; storing the first portion in the memory at the starting address; storing, by the data handler, a second portion of the variable length data unit in the memory, a location, in the memory, of the second portion being identified by an offset; performing, by a route lookup engine, a lookup based on the key; identifying, by the route lookup engine, an output port of the network device for the variable length data unit based on the lookup; and identifying, by an indirect cell processor, at least one offset associated with at least one portion, of the variable length data unit, exceeding more than a particular number of portions of the variable length data unit. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification