US 7,545,808 B2
Memory organization in a switching device
Pradeep S. Sindhu, Mountain View, Calif. (US); Dennis C. Ferguson, Mountain View, Calif. (US); Bjorn O. Liencres, Palo Alto, Calif. (US); Nalini Agarwal, Sunnyvale, Calif. (US); Hann-Hwan Ju, San Jose, Calif. (US); Raymond Marcelino Manese Lim, Mountain View, Calif. (US); Rasoul Mirzazadeh Oskouy, Fremont, Calif. (US); and Sreeram Veeragandham, Sunnyvale, Calif. (US)
Assigned to Juniper Networks, Inc., Sunnyvale, Calif. (US)
Filed on Sep. 15, 2005, as Appl. No. 11/226,335.
Application 11/226335 is a continuation of application No. 10/310462, filed on Dec. 04, 2002, granted, now 7,116,660.
Application 10/310462 is a continuation of application No. 08/901061, filed on Jul. 24, 1997, granted, now 6,493,347.
Application 08/901061 is a continuation in part of application No. 08/844171, filed on Apr. 18, 1997, granted, now 5,905,725.
Application 08/844171 is a continuation in part of application No. 08/767576, filed on Dec. 16, 1996, granted, now 5,909,440.
Prior Publication US 2006/0023719 A1, Feb. 02, 2006
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 12/28 (2006.01)
U.S. Cl. 370—389  [370/351; 370/352; 370/353; 370/354; 370/395.1; 370/395.6; 370/395.7; 370/395.31; 370/395.53; 370/395.61; 370/396; 370/397; 370/401; 370/412; 370/413; 370/414; 370/415; 370/416; 370/418; 370/428; 370/429; 370/442] 19 Claims
OG exemplary drawing
 
1. A network device for switching a variable length data unit from a source to a destination in a network, the network device comprising:
an input port to receive the variable length data unit;
a divider to divide the variable length data unit into uniform length data units that are temporarily stored in the network device;
a distributed memory comprising a plurality of physically separated memory banks addressable using a single virtual address space;
an input switch to stream the uniform length data units across the memory banks based on the virtual address space;
an output switch to extract the uniform length data units from the distributed memory by using addresses of the uniform length data units within the virtual address space, the output switch reassembling the uniform length data units to reconstruct the variable length data unit; and
an output port to receive the variable length data unit and transferring the variable length data unit to the destination.