System and method for ECMP load sharing

Information

  • Patent Grant
  • 7903654
  • Patent Number
    7,903,654
  • Date Filed
    Friday, December 22, 2006
    17 years ago
  • Date Issued
    Tuesday, March 8, 2011
    13 years ago
Abstract
A packet classifier and a method for routing a data packet are provided. The packet classifier includes a content addressable memory, a translation table and a parameter memory. The method includes looking up a content addressable memory for a base address into a parameter memory using a header of the data packet. The base address is related to the routes under ECMP for forwarding the data packet. From among these addresses, using multiple headers of the data packet, an adjustment to the base address is computed. The adjustment specifies an actual address to the parameter memory corresponding to a selected route for forwarding the data packet. The parameter memory is then accessed using the actual address to obtain parameter values relevant to the selected route. The data packet is then forwarded according to the parameter values thus obtained.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to routing data packets in a computer network. In particular, the present invention relates to routing data packets in a computer network in which equal cost multi-path (ECMP) load sharing is available.


2. Discussion of the Related Art


In a router, a data packet is directed from an input port to an output port based on the data specified in the header of the data packet. Typically, a content addressable memory (CAM) quickly maps the IP header information or layer 3 header of the data packet to a memory location of a parameter random access memory (PRAM) which stores information that indicates the route over which the data packet should be forwarded, and the parameter values relevant to the route. In one prior art router, the data stored in the PRAM includes a forwarding identifier (FID), types of service (TOS), priority, number of copies (e.g., a multicast address) and other information. The circuit including the CAM and the PRAM is sometimes referred to as a “packet classifier.” The packet classifier encodes the FID and other data into an internal header for the data packet which is used by the router to direct the data packet at line speed to an output port, where the data packet is forwarded to the next switch on a path to its destination.


In that prior art router, the CAM entries are mapped one-to-one to the PRAM entries. That is, only one FID can result from the CAM look-up based on the header of the data packet. In an Internet Protocol (IP) network, a data packet may be routed through any of a number of paths through multiple switches to its destination. ECMP load sharing is one method known to those skilled in the art by which multiple-path routing of IP data traffic can be accomplished. One method to support ECMP is to resolve the level 3 (IP layer) and level 4 (“transport control protocol” or TCP layer) headers of a data packet into any one of a number of FIDs, where each FID represents a different output port of the router that is connected to a switch on a different one of the possible paths for the data packet. However, because the CAM entries are mapped one-to-one with the PRAM entries, the prior art router does not provide efficient hardware support for ECMP load sharing.


“JetCore™ Based Chassis System: An Architecture Brief on NetIron, BigIron and FastIron Systems” and “Next Generation Terabit System Architecture: The High Performance Revolution for 10 Gigabit Networks” are white papers available from Foundry Networks, Inc. that disclose designs for high performance routers in the prior art. These white papers are hereby incorporated by reference in their entireties to provide background information.


SUMMARY OF THE INVENTION

According to one embodiment of the present invention, a packet classifier and a method for routing a data packet are provided. The packet classifier includes a content addressable memory, a translation table and a parameter memory. The method includes looking up a content addressable memory for a base address into a parameter memory using a first portion of the data packet. The base address is related to the various routes for forwarding the data packet. From among these addresses, using a second portion of the data packet, an adjustment to the base address is computed, the adjustment specifying an actual address to the parameter memory corresponding to a selected route for forwarding the data packet. The parameter memory is then accessed using the actual address to obtain parameter values relevant to the selected route. The data packet is then forwarded according to the parameter values thus obtained.


The present invention is better understood upon consideration of the detailed description below, in conjunction with the accompany drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows packet classifier 100 that provides translation table 102 between CAM 101 and PRAM 103, according to one embodiment of the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention provides hardware support for ECMP by an indirect coupling between the CAM and the PRAM. (While the detailed description herein uses a CAM in one example to illustrate one way to implement a parameter look-up or search function in a packet classifier, other implementations are possible. Other memory elements, such as dynamic random access memories (DRAM) or static random access memories (SRAM) may also be used). According to one embodiment of the present invention, FIG. 1 shows a packet classifier 100 that provides translation table 102 between CAM 101 and PRAM 103. In the embodiment of FIG. 1, the header of a data packet is used to perform a route look-up in CAM 101 to obtain an index (“route lookup result”) into translation table (or “re-mapping RAM”) 102, which provides a base address to PRAM 103. This base address is then modified to obtain the address of one of a number of entries in PRAM 103. Each of these entries contains a different FID pointing to a different output port representing the next hop in a different ECMP route.


According to the embodiment of the present invention shown in FIG. 1, CAM 101 is logically organized as a 256k×72×3-bit memory, which provides a 21-bit index (TCAM_INDEX) into translation table 102. Translation table 102 is logically organized into 2M×32-bit memory. The 32-bit output datum read from translation table 102 includes a base index to PRAM 103. In one embodiment, the 31-bit output datum includes a 19-bit base index (“PRAM_INDEX_BASE”), a 4-bit field “ECMP_MASK” and management information (e.g., an aging bit). The ECMP_MASK field may encode the number of ECMP paths available for that data packet. The 19-bit base index is combined with a hash function of the IP and TCP headers of the data packet to obtain an actual 19-bit index into PRAM 103. Each entry of PRAM 103 contains an FID and other information relevant to the routing of the data packet. Mathematically, the 32-bit output datum CAM2PRAM_DATA is given by

CAM2PRAM_DATA[31:0]=READ(TCAM_INDEX[20:0])


where the function READ( ) represents the data read from translation table 102 using the 21-bit TCAM_INDEX as address into translation table 102.


According to one embodiment of the present invention, an 8-bit ECMP index is obtained by a hash function using the MAC, IP and TCP headers of the data packet, and a random number. The portions of the MAC, IP and TCP headers that are used may be, for example, the source and destination MAC addresses, the IP source and destination addresses and the TCP source and destination port number. The random number is a number generated at the initialization process of the router. The random number provides a personalization for the router (i.e., from the same data packet, a different router would map to a different address in the PRAM). One advantage of using the Random_Number is a more distributed load balance in situations where multiple routers are connected in a hierarchical fashion. Mathematically, the 8-bit ECMP index is given by:

ECMP_INDEX[7:0]=hash(L2,L3,L4,Random_Number)


where hash is a hash function with low collision probability, L2, L3 and L4 represent selected fields in the MAC, IP and TCP headers of the data packet, and Random_Number is the personality random number of the router.


In one embodiment, the ECMP_INDEX is mapped into one of possible the routes (up to a maximum of 16, i.e., a 5-bit number). As mentioned above, the number of possible routes is encoded in the ECMP_MASK field. The number of possible routes (“ECMP_BASE”) is given by adding one to the 4-bit ECMP_MASK field:

ECMP_BASE[4:0]=ECMP_MASK[3:0]+4′h1;


Using the ECMP_INDEX and the ECMP_BASE, a 4-bit offset to the 19-bit base index to PRAM 103 (“ECMPADJUST) is obtained using the modulo function (i.e., taking the remainder from an integer divide of ECMP_INDEX by ECMP_BASE):

ECMP_ADJUST[3:0]=(ECMP_INDEX[7:0]%ECMP_BASE[4:0]);


The modulo operation provides close to perfect load balancing across equal cost paths. The 4-bit offset ECMP_ADJUST is logically OR'd with the 19-bit base index PRAM_INDEX_BASE to obtain the actual index into PRAM 103:

PRAM_INDEX_TO_USE=PRAM_INDEX_BASE|ECMP_ADJUST[3:0]


Using this actual index, the parameter values and the FID are obtained from PRAM 103 to perform forwarding of the data packet.


In this manner, hardware support for load balanced ECMP computations is provided without requiring a line card or central processing unit management intervention. ECMP traffic can therefore be processed at line rate. Further, increasing the number of routes handled by the CAM for ECMP can be achieved without a corresponding increase in PRAM size, as the PRAM entries can be shared for the same next hop, thereby providing significant cost savings. Because software controls the many-to-one or one-to many mappings between route lookups of CAM 101 and the associated pram entries in PRAM 103, the present invention allows certain statistics to be collected (e.g., for route groups).


The detailed description above is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the following claims.

Claims
  • 1. A method comprising: retrieving, by a network device from a first memory, an index for a second memory, the retrieving from the first memory using information from a first portion of a data packet;retrieving, by the network device from the second memory, a base index for a third memory and a value encoding a number of equal cost paths available for forwarding the data packet, the retrieving from the second memory using the index for the second memory; anddetermining, by the network device, an adjusted index for the third memory based on the base index, the value encoding the number of equal cost paths, and a second portion of the data packet.
  • 2. The method of claim 1 wherein the first memory comprises a content addressable memory (CAM) and wherein the third memory comprises a parameter random access memory (PRAM).
  • 3. The method of claim 1 wherein determining the adjusted index for the third memory comprises applying a hash function on selected fields of the second portion of the data packet.
  • 4. The method of claim 3 wherein the hash function also takes as input a random number.
  • 5. The method of claim 1 wherein the second portion of the data packet includes a MAC header, an IP header, or a TCP header.
  • 6. A network device comprising: at least one port capable of receiving data packets; anda first memory, a second memory, and a third memory,wherein the network device is configured to: retrieve from the first memory an index for the second memory, the retrieving from the first memory using information from a first portion of a data packet;retrieve from the second memory a base index for the third memory and a value encoding a number of equal cost paths available for forwarding the data packet, the retrieving from the second memory using the index for the second memory; anddetermine an adjusted index for the third memory based on the base index, the value encoding the number of equal cost paths, and a second portion of the data packet.
  • 7. The network device of claim 6 wherein the first memory comprises a content addressable memory (CAM) and wherein the third memory comprises a parameter random access memory (PRAM).
  • 8. The network device of claim 6 wherein determining the adjusted index for the third memory comprises applying a hash function on selected fields of the second portion of the data packet.
  • 9. The network device of claim 8 wherein the hash function also takes as input a random number.
  • 10. The network device of claim 6 wherein the second portion of the data packet includes a MAC header, an IP header, or a TCP header.
  • 11. The method of claim 1 further comprising retrieving, by the network device from the third memory, one or more parameters values associated with an equal cost path.
  • 12. The method of claim 11 further comprising forwarding, by the network device, the data packet based on the one or more parameter values.
  • 13. The network device of claim 6 wherein the network device is further configured to retrieve from the third memory one or more parameters values associated with an equal cost path.
  • 14. The network device of claim 13 where the network device is further configured to forward the data packet based on the one or more parameter values.
  • 15. The method of claim 3 wherein determining the adjusted index for the third memory further comprises applying a modulo function on a result of the hash function using the value encoding the number of equal cost paths as a divisor.
  • 16. The network device of claim 8 wherein determining the adjusted index for the third memory further comprises applying a modulo function on a result of the hash function using the value encoding the number of equal cost paths as a divisor.
CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims priority of U.S. provisional patent application No. 60/823,178, filed Aug. 22, 2006, incorporated herein by reference.

US Referenced Citations (348)
Number Name Date Kind
3866175 Seifert, Jr. et al. Feb 1975 A
4628480 Floyd Dec 1986 A
4667323 Engdahl et al. May 1987 A
4683564 Young et al. Jul 1987 A
4698748 Juzswik et al. Oct 1987 A
4723243 Joshi et al. Feb 1988 A
4754482 Weiss Jun 1988 A
4791629 Burns et al. Dec 1988 A
4794629 Pastyr et al. Dec 1988 A
4807280 Posner et al. Feb 1989 A
4876681 Hagiwara et al. Oct 1989 A
4896277 Vercellotti et al. Jan 1990 A
4985889 Frankish et al. Jan 1991 A
5101404 Kunimoto et al. Mar 1992 A
5136584 Hedlund Aug 1992 A
5195181 Bryant et al. Mar 1993 A
5208856 Leduc et al. May 1993 A
5224108 McDysan et al. Jun 1993 A
5280582 Yang et al. Jan 1994 A
5282196 Clebowicz Jan 1994 A
5287477 Johnson et al. Feb 1994 A
5301192 Henrion Apr 1994 A
5307345 Lozowick et al. Apr 1994 A
5323386 Wiher et al. Jun 1994 A
5365512 Combs et al. Nov 1994 A
5377189 Clark Dec 1994 A
5390173 Spinney et al. Feb 1995 A
5392279 Taniguchi Feb 1995 A
5406643 Burke et al. Apr 1995 A
5408469 Opher et al. Apr 1995 A
5430442 Kaiser et al. Jul 1995 A
5436893 Barnett Jul 1995 A
5461615 Henrion Oct 1995 A
5490258 Fenner Feb 1996 A
5506840 Pauwels et al. Apr 1996 A
5521923 Willmann et al. May 1996 A
5546385 Caspi et al. Aug 1996 A
5550816 Hardwick et al. Aug 1996 A
5563948 Diehl et al. Oct 1996 A
5566170 Bakke et al. Oct 1996 A
5598410 Stone Jan 1997 A
5600795 Du Feb 1997 A
5619497 Gallagher et al. Apr 1997 A
5640504 Johnson, Jr. Jun 1997 A
5663952 Gentry, Jr. Sep 1997 A
5663959 Nakagawa Sep 1997 A
5666353 Klausmeier et al. Sep 1997 A
5721819 Galles et al. Feb 1998 A
5732080 Ferguson et al. Mar 1998 A
5740176 Gupta et al. Apr 1998 A
5745708 Weppler et al. Apr 1998 A
5751710 Crowther et al. May 1998 A
5802287 Rostoker et al. Sep 1998 A
5815146 Youden et al. Sep 1998 A
5818816 Chikazawa et al. Oct 1998 A
5835496 Yeung et al. Nov 1998 A
5838684 Wicki et al. Nov 1998 A
5862350 Coulson Jan 1999 A
5867675 Lomelino et al. Feb 1999 A
5870538 Manning et al. Feb 1999 A
5872769 Caldara et al. Feb 1999 A
5872783 Chin Feb 1999 A
5875200 Glover et al. Feb 1999 A
5907566 Benson et al. May 1999 A
5907660 Inoue et al. May 1999 A
5909686 Muller et al. Jun 1999 A
5915094 Kouloheris et al. Jun 1999 A
5920566 Hendel et al. Jul 1999 A
5920886 Feldmeier Jul 1999 A
5936939 Des Jardins et al. Aug 1999 A
5936966 Ogawa et al. Aug 1999 A
5956347 Slater Sep 1999 A
5999528 Chow et al. Dec 1999 A
6000016 Curtis et al. Dec 1999 A
6016310 Muller et al. Jan 2000 A
6023471 Haddock et al. Feb 2000 A
6035414 Okazawa et al. Mar 2000 A
6038288 Thomas et al. Mar 2000 A
6067298 Shinohara May 2000 A
6067606 Holscher et al. May 2000 A
6076115 Sambamurthy et al. Jun 2000 A
6081522 Hendel et al. Jun 2000 A
6088356 Hendel et al. Jul 2000 A
6094434 Kotzur et al. Jul 2000 A
6104696 Kadambi et al. Aug 2000 A
6104700 Haddock et al. Aug 2000 A
6108306 Kalkunte et al. Aug 2000 A
6118787 Kalkunte et al. Sep 2000 A
6125417 Bailis et al. Sep 2000 A
6128666 Muller et al. Oct 2000 A
6144668 Bass et al. Nov 2000 A
6147996 Laor et al. Nov 2000 A
6151301 Holden Nov 2000 A
6151497 Yee et al. Nov 2000 A
6154446 Kadambi et al. Nov 2000 A
6157643 Ma Dec 2000 A
6160809 Adiletta et al. Dec 2000 A
6172990 Deb et al. Jan 2001 B1
6178520 DeKoning et al. Jan 2001 B1
6181699 Crinion et al. Jan 2001 B1
6222845 Shue et al. Apr 2001 B1
6243667 Kerr et al. Jun 2001 B1
6263374 Olnowich et al. Jul 2001 B1
6272144 Berenbaum et al. Aug 2001 B1
6304903 Ward Oct 2001 B1
6320859 Momirov Nov 2001 B1
6333929 Drottar et al. Dec 2001 B1
6335932 Kadambi et al. Jan 2002 B2
6335935 Kadambi et al. Jan 2002 B2
6343072 Bechtolsheim et al. Jan 2002 B1
6351143 Guccione et al. Feb 2002 B1
6356550 Williams Mar 2002 B1
6356942 Bengtsson et al. Mar 2002 B1
6363077 Wong et al. Mar 2002 B1
6366557 Hunter Apr 2002 B1
6369855 Chauvel et al. Apr 2002 B1
6421352 Manaka et al. Jul 2002 B1
6424658 Mathur Jul 2002 B1
6424659 Viswanadham et al. Jul 2002 B2
6427185 Ryals et al. Jul 2002 B1
6430190 Essbaum et al. Aug 2002 B1
6460088 Merchant Oct 2002 B1
6463063 Bianchini, Jr. et al. Oct 2002 B1
6466608 Hong et al. Oct 2002 B1
6470436 Croft et al. Oct 2002 B1
6473433 Bianchini, Jr. et al. Oct 2002 B1
6477174 Dooley et al. Nov 2002 B1
6480477 Treadaway et al. Nov 2002 B1
6490280 Leung Dec 2002 B1
6493347 Sindhu et al. Dec 2002 B2
6496502 Fite et al. Dec 2002 B1
6505281 Sherry Jan 2003 B1
6522656 Gridley Feb 2003 B1
6532229 Johnson et al. Mar 2003 B1
6532234 Yoshikawa et al. Mar 2003 B1
6535504 Johnson et al. Mar 2003 B1
6549519 Michels et al. Apr 2003 B1
6553370 Andreev et al. Apr 2003 B1
6556208 Congdon et al. Apr 2003 B1
6567404 Wilford May 2003 B1
6587432 Putzolu et al. Jul 2003 B1
6591302 Boucher et al. Jul 2003 B2
6606300 Blanc et al. Aug 2003 B1
6643269 Fan et al. Nov 2003 B1
6654342 Dittia et al. Nov 2003 B1
6654346 Mahalingaiah et al. Nov 2003 B1
6654370 Quirke et al. Nov 2003 B1
6654373 Maher, III et al. Nov 2003 B1
6658002 Ross et al. Dec 2003 B1
6661791 Brown Dec 2003 B1
6671275 Wong et al. Dec 2003 B1
6678248 Haddock et al. Jan 2004 B1
6681332 Byrne et al. Jan 2004 B1
6687217 Chow et al. Feb 2004 B1
6687247 Wilford et al. Feb 2004 B1
6691202 Vasquez et al. Feb 2004 B2
6696917 Heitner et al. Feb 2004 B1
6697359 George Feb 2004 B1
6697368 Chang et al. Feb 2004 B2
6700894 Shung Mar 2004 B1
6708000 Nishi et al. Mar 2004 B1
6721229 Cole Apr 2004 B1
6721268 Ohira et al. Apr 2004 B1
6721313 Van Duyne Apr 2004 B1
6735218 Chang et al. May 2004 B2
6745277 Lee et al. Jun 2004 B1
6751224 Parruck et al. Jun 2004 B1
6754881 Kuhlmann et al. Jun 2004 B2
6765866 Wyatt Jul 2004 B1
6775706 Fukumoto et al. Aug 2004 B1
6778546 Epps et al. Aug 2004 B1
6781990 Puri et al. Aug 2004 B1
6792484 Hook Sep 2004 B1
6792502 Pandya et al. Sep 2004 B1
6798740 Senevirathne et al. Sep 2004 B1
6804220 Odenwalder et al. Oct 2004 B2
6804731 Chang et al. Oct 2004 B1
6807179 Kanuri et al. Oct 2004 B1
6807363 Abiko et al. Oct 2004 B1
6810046 Abbas et al. Oct 2004 B2
6813243 Epps et al. Nov 2004 B1
6813266 Chiang et al. Nov 2004 B1
6816467 Muller et al. Nov 2004 B1
6831923 Laor et al. Dec 2004 B1
6831932 Boyle et al. Dec 2004 B1
6836808 Bunce et al. Dec 2004 B2
6839346 Kametani Jan 2005 B1
6842422 Bianchini Jan 2005 B1
6854117 Roberts Feb 2005 B1
6859438 Haddock et al. Feb 2005 B2
6865153 Hill et al. Mar 2005 B1
6901072 Wong May 2005 B1
6912637 Herbst Jun 2005 B1
6920154 Achler Jul 2005 B1
6925516 Struhsaker et al. Aug 2005 B2
6934305 Duschatko et al. Aug 2005 B1
6937606 Basso et al. Aug 2005 B2
6946948 McCormack et al. Sep 2005 B2
6957258 Maher, III et al. Oct 2005 B2
6959007 Vogel et al. Oct 2005 B1
6973092 Zhou et al. Dec 2005 B1
6978309 Dorbolo Dec 2005 B1
6980552 Belz et al. Dec 2005 B1
6982974 Saleh et al. Jan 2006 B1
6990102 Kaniz et al. Jan 2006 B1
7005812 Mitchell Feb 2006 B2
7009968 Ambe et al. Mar 2006 B2
7012919 So et al. Mar 2006 B1
7050430 Kalkunte et al. May 2006 B2
7080238 Van Hoof et al. Jul 2006 B2
7082133 Lor et al. Jul 2006 B1
7103041 Speiser et al. Sep 2006 B1
7120744 Klein Oct 2006 B2
7126956 Scholten Oct 2006 B2
7151797 Limberg Dec 2006 B2
7167471 Calvignac et al. Jan 2007 B2
7176911 Kidono et al. Feb 2007 B1
7185141 James et al. Feb 2007 B1
7185266 Blightman et al. Feb 2007 B2
7187687 Davis et al. Mar 2007 B1
7190696 Manur et al. Mar 2007 B1
7191277 Broyles Mar 2007 B2
7191468 Hanner Mar 2007 B2
7203194 Chang et al. Apr 2007 B2
7206283 Chang et al. Apr 2007 B2
7212536 Mackiewich et al. May 2007 B2
7218637 Best et al. May 2007 B1
7219293 Tsai et al. May 2007 B2
7228509 Dada et al. Jun 2007 B1
7237058 Srinivasan Jun 2007 B2
7249306 Chen Jul 2007 B2
7266117 Davis Sep 2007 B1
7277425 Sikdar Oct 2007 B1
7283547 Hook et al. Oct 2007 B1
7286534 Kloth Oct 2007 B2
7324509 Ni Jan 2008 B2
7355970 Lor Apr 2008 B2
7356030 Chang et al. Apr 2008 B2
7366100 Anderson et al. Apr 2008 B2
7391769 Rajkumar et al. Jun 2008 B2
7428693 Obuchi et al. Sep 2008 B2
7468975 Davis Dec 2008 B1
7512127 Chang et al. Mar 2009 B2
7561590 Walsh Jul 2009 B1
7613991 Bain Nov 2009 B1
20010001879 Kubik et al. May 2001 A1
20010007560 Masuda et al. Jul 2001 A1
20010026551 Horlin Oct 2001 A1
20010048785 Steinberg Dec 2001 A1
20010053150 Clear et al. Dec 2001 A1
20020001307 Nguyen et al. Jan 2002 A1
20020012585 Kalkunte et al. Jan 2002 A1
20020054594 Hoof et al. May 2002 A1
20020054595 Ambe et al. May 2002 A1
20020069294 Herkersdorf et al. Jun 2002 A1
20020073073 Cheng Jun 2002 A1
20020085499 Toyoyama et al. Jul 2002 A1
20020087788 Morris Jul 2002 A1
20020089937 Venkatachary et al. Jul 2002 A1
20020089977 Chang et al. Jul 2002 A1
20020091844 Craft et al. Jul 2002 A1
20020091884 Chang et al. Jul 2002 A1
20020097713 Chang et al. Jul 2002 A1
20020105966 Patel et al. Aug 2002 A1
20020126672 Chow et al. Sep 2002 A1
20020131437 Tagore-Brage Sep 2002 A1
20020141403 Akahane et al. Oct 2002 A1
20020146013 Karlsson et al. Oct 2002 A1
20020161967 Kirihata et al. Oct 2002 A1
20020191605 Van Lunteren et al. Dec 2002 A1
20030009466 Ta et al. Jan 2003 A1
20030033435 Hanner Feb 2003 A1
20030043800 Sonksen et al. Mar 2003 A1
20030043848 Sonksen Mar 2003 A1
20030048785 Calvignac et al. Mar 2003 A1
20030061459 Aboulenein et al. Mar 2003 A1
20030074657 Bramley, Jr. Apr 2003 A1
20030095548 Yamano May 2003 A1
20030103499 Davis et al. Jun 2003 A1
20030110180 Calvignac et al. Jun 2003 A1
20030115403 Bouchard et al. Jun 2003 A1
20030120861 Calle et al. Jun 2003 A1
20030128668 Yavatkar et al. Jul 2003 A1
20030137978 Kanetake Jul 2003 A1
20030152084 Lee et al. Aug 2003 A1
20030152096 Chapman Aug 2003 A1
20030156586 Lee et al. Aug 2003 A1
20030159086 Arndt Aug 2003 A1
20030165160 Minami et al. Sep 2003 A1
20030169470 Alagar et al. Sep 2003 A1
20030174719 Sampath et al. Sep 2003 A1
20030177221 Ould-Brahim et al. Sep 2003 A1
20030214956 Navada et al. Nov 2003 A1
20030215029 Limberg Nov 2003 A1
20030227943 Hallman et al. Dec 2003 A1
20040022263 Zhao et al. Feb 2004 A1
20040028060 Kang Feb 2004 A1
20040054867 Stravers et al. Mar 2004 A1
20040062246 Boucher et al. Apr 2004 A1
20040088469 Levy May 2004 A1
20040128434 Khanna et al. Jul 2004 A1
20040141504 Blanc Jul 2004 A1
20040190547 Gordy et al. Sep 2004 A1
20040208177 Ogawa Oct 2004 A1
20040223502 Wybenga et al. Nov 2004 A1
20040264380 Kalkunte et al. Dec 2004 A1
20050010630 Doering et al. Jan 2005 A1
20050010849 Ryle et al. Jan 2005 A1
20050041684 Reynolds et al. Feb 2005 A1
20050097432 Obuchi et al. May 2005 A1
20050132132 Rosenbluth et al. Jun 2005 A1
20050138276 Navada et al. Jun 2005 A1
20050144369 Jaspers Jun 2005 A1
20050152324 Benveniste Jul 2005 A1
20050152335 Lodha et al. Jul 2005 A1
20050175018 Wong Aug 2005 A1
20050185577 Sakamoto et al. Aug 2005 A1
20050185652 Iwamoto Aug 2005 A1
20050193316 Chen Sep 2005 A1
20050226236 Klink Oct 2005 A1
20050246508 Shaw Nov 2005 A1
20050249124 Elie-Dit-Cosaque et al. Nov 2005 A1
20060031610 Liav et al. Feb 2006 A1
20060034452 Tonomura Feb 2006 A1
20060077891 Smith et al. Apr 2006 A1
20060114876 Kalkunte Jun 2006 A1
20060146374 Ng et al. Jul 2006 A1
20060165089 Klink Jul 2006 A1
20060209685 Rahman et al. Sep 2006 A1
20060221841 Lee et al. Oct 2006 A1
20060268680 Roberts et al. Nov 2006 A1
20070038798 Bouchard et al. Feb 2007 A1
20070088974 Chandwani et al. Apr 2007 A1
20070179909 Channasagara Aug 2007 A1
20070208876 Davis Sep 2007 A1
20070253420 Chang et al. Nov 2007 A1
20070258475 Chinn et al. Nov 2007 A1
20070288690 Wang et al. Dec 2007 A1
20080002707 Davis Jan 2008 A1
20080031263 Ervin et al. Feb 2008 A1
20080049742 Bansal et al. Feb 2008 A1
20080069125 Reed et al. Mar 2008 A1
20080092020 Hasenplaugh et al. Apr 2008 A1
20080095169 Chandra et al. Apr 2008 A1
20080181103 Davies Jul 2008 A1
20080205407 Chang et al. Aug 2008 A1
20080307288 Ziesler et al. Dec 2008 A1
20090175178 Yoon et al. Jul 2009 A1
Foreign Referenced Citations (5)
Number Date Country
1380127 Jan 2004 EP
2003289359 Oct 2003 JP
2004-537871 Dec 2004 JP
WO 0184728 Nov 2001 WO
WO 0241544 May 2002 WO
Related Publications (1)
Number Date Country
20080049742 A1 Feb 2008 US
Provisional Applications (1)
Number Date Country
60823178 Aug 2006 US