IP Library › Granted Patent US 12,301,456
Granted Patent B2
US 12,301,456 · App. 18/378,463 · Granted May 13, 2025

Protocol independent programmable switch (PIPS) for software defined data center networks

Inventors: Guy Townsend Hutchison (San Jose, CA); Sachin Ramesh Gandhi (San Jose, CA); Tsahi Daniel (Palo Alto, CA); Gerald Schmidt (San Jose, CA); Albert Fishman (Sunnyvale, CA); Martin Leslie White (Sunnyvale, CA); Zubin Shah (Santa Clara, CA)
Assignee: Marvell Asia PTE, LTD
H04L45/64G06F3/0604G06F3/064G06F3/0656G06F3/0673G06F16/00G06F40/205H04L45/74H04L45/745H04L45/7452H04L49/109H04L49/1546H04L49/3018H04L67/63H04L69/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,301,456
App. No.
18/378,463
Granted
May 13, 2025
Kind
B2
Abstract

A software-defined network (SDN) system, device and method comprise one or more input ports, a programmable parser, a plurality of programmable lookup and decision engines (LDEs), programmable lookup memories, programmable counters, a programmable rewrite block and one or more output ports. The programmability of the parser, LDEs, lookup memories, counters and rewrite block enable a user to customize each microchip within the system to particular packet environments, data analysis needs, packet processing functions, and other functions as desired. Further, the same microchip is able to be reprogrammed for other purposes and/or optimizations dynamically.

Claims (42)

1. A switch microchip for a software-defined network, the microchip comprising:

a programmable parser that parses packet context data from headers of a plurality of incoming packets based on a software-defined parse graph of the parser including a plurality of paths; and

one or more dynamically configurable lookup memories having a plurality of tables, wherein the lookup memories are configured as a logical overlay such that the scaling and width of a portion of the lookup memories allocated to each of the paths is software-defined by a user.

2. The microchip of claim 1 , wherein starting from the same initial node of the parse graph, each path through the parse graph represents a combination of layer types of one of the headers that is able to be recognized by the parser.

3. The microchip of claim 2 , wherein portions of the paths overlap.

4. The microchip of claim 1 , further comprising a rewrite block that expands each layer of each of the headers parsed by the parser to form a expanded layer type of a generic size based on a protocol associated with the layer.

5. The microchip of claim 4 , wherein the rewrite block generates a bit vector that indicates which portions of the expanded layer type contain valid data and which portions of the expanded layer type contain data added during the expanding by the rewrite block.

6. The microchip of claim 1 , wherein the tables of the lookup memories are each able to be independently set in hash, direct access or longest prefix match operational modes.

7. The microchip of claim 6 , wherein the tables of the lookup memories are able to be dynamically reformatted and reconfigured by the user such that a number of tiles of the lookup memories partitioned and allocated for lookup paths coupled to the lookup memories is based on memory capacity needed by each of the lookup paths.

8. The microchip of claim 1 , further comprising at least one lookup and decision engine including:

a Key Generator configured to generate a set of lookup keys for each input token; and

an Output Generator configured to generate an output token by modifying the input token based on content of lookup results associated with the set of lookup keys.

9. The microchip of claim 8 , wherein each of the lookup and decision engines comprise:

an Input Buffer for temporarily storing input tokens before input tokens are processed by the lookup and decision engine;

a Profile Table for identifying positions of fields in each of the input tokens;

a Lookup Result Merger for joining the input token with the lookup result and for sending the joined input token with the lookup result to the Output Generator;

a Loopback Checker for determining whether the output token should be sent back to the current lookup and decision engine or to another lookup and decision engine; and

a Loopback Buffer for storing loopback tokens.

10. The microchip of claim 9 , wherein Control Paths of both the Key Generator and the Output Generator are programmable such that users are able to configure the lookup and decision engine to support different network features and protocols.

11. The microchip of claim 1 , further comprising a counter block including:

N wrap-around counters, wherein each of the N wrap-around counters is associated with a counter identification; and

an overflow FIFO used and shared by the N wrap-around counters, wherein the overflow FIFO stores the associated counter identifications of all counters that are overflowing.

12. A non-transitory computer-readable medium comprising one or more dynamically configurable lookup memories and storing a programmable parser that parses packet context data from headers of a plurality of incoming packets based on a software-defined parse graph of the parser including a plurality of paths, wherein the one or more dynamically configurable lookup memories have a plurality of tables and are configured as a logical overlay such that the scaling and width of a portion of the lookup memories allocated to each of the paths is software-defined by a user.

13. The non-transitory computer-readable medium of claim 12 , wherein starting from the same initial node of the parse graph, each path through the parse graph represents a combination of layer types of one of the headers that is able to be recognized by the parser.

14. The non-transitory computer-readable medium of claim 13 , wherein portions of the paths overlap.

15. The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium further stores a rewrite block that expands each layer of each of the headers parsed by the parser to form an expanded layer type of a generic size based on a protocol associated with the layer.

16. The non-transitory computer-readable medium of claim 15 , wherein the rewrite block generates a bit vector that indicates which portions of the expanded layer type contain valid data and which portions of the expanded layer type contain data added during the expanding by the rewrite block.

17. The non-transitory computer-readable medium of claim 12 , wherein the tables of the lookup memories are each able to be independently set in hash, direct access or longest prefix match operational modes.

18. The non-transitory computer-readable medium of claim 17 , wherein the tables of the lookup memories are able to be dynamically reformatted and reconfigured by the user such that a number of tiles of the lookup memories partitioned and allocated for lookup paths coupled to the lookup memories is based on memory capacity needed by each of the lookup paths.

19. The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium further stores at least one lookup and decision engine including:

a Key Generator configured to generate a set of lookup keys for each input token; and

an Output Generator configured to generate an output token by modifying the input token based on content of lookup results associated with the set of lookup keys.

20. The non-transitory computer-readable medium of claim 19 , wherein each of the at least one lookup and decision engines comprise:

an Input Buffer for temporarily storing input tokens before input tokens are processed by the lookup and decision engine;

a Profile Table for identifying positions of fields in each of the input tokens;

a Lookup Result Merger for joining the input token with the lookup result and for sending the joined input token with the lookup result to the Output Generator;

a Loopback Checker for determining whether the output token should be sent back to the current lookup and decision engine or to another lookup and decision engine; and

a Loopback Buffer for storing loopback tokens.

21. The non-transitory computer-readable medium of claim 20 , wherein Control Paths of both the Key Generator and the Output Generator are programmable such that users are able to configure the lookup and decision engine to support different network features and protocols.

22. The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium further stores a counter block including:

N wrap-around counters, wherein each of the N wrap-around counters is associated with a counter identification; and

an overflow FIFO used and shared by the N wrap-around counters, wherein the overflow FIFO stores the associated counter identifications of all counters that are overflowing.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2023
From: HUTCHISON, GUY TOWNSEND; GANDHI, SACHIN RAMESH; DANIEL, TSAHI; SCHMIDT, GERALD; FISHMAN, ALBERT; WHITE, MARTIN LESLIE; SHAH, ZUBIN
To: CAVIUM, INC.
Reel/Frame 065173/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2023
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 065198/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2023
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 065198/0159 →
CHANGE OF NAME Recorded Oct 10, 2023
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 065198/0826 →
Continuity (6)
Continuation 16992978 · Aug 13, 2020
Continuation 15786900 · Oct 18, 2017
Continuation 15067139 · Mar 10, 2016
Continuation In Part 14144270 · Dec 30, 2013
Provisional Application 62133166 · Mar 13, 2015
Related Publication 20240039867A1 · Feb 1, 2024
References Cited (393)
US 4459658A · Gabbe et al. · 1984 [cited by applicant]
US 4617648A · Kuboki · 1986 [cited by applicant]
US 4929939A · Varma · 1990 [cited by applicant]
US 5319347A · McClure · 1994 [cited by applicant]
US 5325276A · Sullivam · 1994 [cited by applicant]
US 5613071A · Rankin · 1997 [cited by applicant]
US 5625276A · Scott · 1997 [cited by applicant]
US 5640509A · Balmer · 1997 [cited by applicant]
US 5667984A · Parekh et al. · 1997 [cited by applicant]
US 5721858A · White et al. · 1998 [cited by applicant]
US 5729712A · Whittaker · 1998 [cited by applicant]
US 5781729A · Baker et al. · 1998 [cited by applicant]
US 5805808A · Hasani et al. · 1998 [cited by applicant]
US 5959914A · Gates · 1999 [cited by applicant]
US 6076146A · Tran · 2000 [cited by applicant]
US 6088356A · Hendel et al. · 2000 [cited by applicant]
US 6327271B1 · Gotesman et al. · 2001 [cited by applicant]
US 6330251B1 · O'Loughlin et al. · 2001 [cited by applicant]
US 6330688B1 · Brown · 2001 [cited by applicant]
US 6341129B1 · Schroeder et al. · 2002 [cited by applicant]
US 6356951B1 · Gentry · 2002 [cited by applicant]
US 6606301B1 · Muller et al. · 2003 [cited by applicant]
US 6636879B1 · Doucette et al. · 2003 [cited by applicant]
US 6678837B1 · Quach · 2004 [cited by applicant]
US 6782462B2 · Marion et al. · 2004 [cited by applicant]
US 6789116B1 · Sarkissian et al. · 2004 [cited by applicant]
US 6831917B1 · Cheriton · 2004 [cited by applicant]
US 6952425B1 · Nelson · 2005 [cited by applicant]
US 7017162B2 · Smith · 2006 [cited by applicant]
US 7085229B1 · Potter, Jr. · 2006 [cited by applicant]
US 7187694B1 · Liao · 2007 [cited by applicant]
US 7263099B1 · Woo et al. · 2007 [cited by applicant]
US 7277957B2 · Rowley et al. · 2007 [cited by applicant]
US 7292573B2 · La Vigne · 2007 [cited by applicant]
US 7293113B1 · Krishna · 2007 [cited by applicant]
US 7359403B1 · Rinne · 2008 [cited by applicant]
US 7367052B1 · Desanti · 2008 [cited by applicant]
US 7391735B2 · Johnson · 2008 [cited by applicant]
US 7440573B2 · Lor et al. · 2008 [cited by applicant]
US 7461167B1 · Park · 2008 [cited by applicant]
US 7502374B1 · Parker et al. · 2009 [cited by applicant]
US 7546234B1 · Deb · 2009 [cited by applicant]
US 7568047B1 · Aysan et al. · 2009 [cited by applicant]
US 7596744B1 · Kow · 2009 [cited by applicant]
US 7606263B1 · Parker · 2009 [cited by applicant]
US 7710959B2 · Ramasamy et al. · 2010 [cited by applicant]
US 7715611B2 · Eaton et al. · 2010 [cited by applicant]
US 7724760B2 · Balkrishnan et al. · 2010 [cited by applicant]
US 7779071B2 · Lor et al. · 2010 [cited by applicant]
US 7796627B2 · Hurley et al. · 2010 [cited by applicant]
US 7797489B1 · Jiang et al. · 2010 [cited by applicant]
US 7802009B2 · Cui et al. · 2010 [cited by applicant]
US 7822032B1 · Parker et al. · 2010 [cited by applicant]
US 7903689B2 · Miinomi et al. · 2011 [cited by applicant]
US 8031640B2 · Mitsumori · 2011 [cited by applicant]
US 8054744B1 · Bishara et al. · 2011 [cited by applicant]
US 8112800B1 · Yang et al. · 2012 [cited by applicant]
US 8144706B1 · Daniel et al. · 2012 [cited by applicant]
US 8345816B1 · Adiga et al. · 2013 [cited by applicant]
US 8432908B2 · Li · 2013 [cited by applicant]
US 8437200B1 · Tan · 2013 [cited by applicant]
US 8489820B1 · Ellard · 2013 [cited by applicant]
US 8570713B2 · Kumfer · 2013 [cited by applicant]
US 8576173B2 · Verhaegh · 2013 [cited by applicant]
US 8599850B2 · Jha · 2013 [cited by applicant]
US 8705533B1 · Venkatraman · 2014 [cited by applicant]
US 8804733B1 · Safrai · 2014 [cited by applicant]
US 8964742B1 · Mizrahi et al. · 2015 [cited by applicant]
US 9064058B2 · Daniel · 2015 [cited by applicant]
US 9159420B1 · Wohlgemuth · 2015 [cited by applicant]
US 9226308B2 · Ketchum et al. · 2015 [cited by applicant]
US 9241304B2 · Dawson et al. · 2016 [cited by applicant]
US 9253043B2 · Adophson · 2016 [cited by applicant]
US 9258277B1 · Zhuang · 2016 [cited by applicant]
US 9313115B2 · Kamerkar et al. · 2016 [cited by applicant]
US 9331929B1 · Thomas et al. · 2016 [cited by applicant]
US 9379963B2 · Tran · 2016 [cited by applicant]
US 9525647B2 · Kopenen · 2016 [cited by applicant]
US 9582440B2 · Gabbay et al. · 2017 [cited by applicant]
US 9590820B1 · Shukla · 2017 [cited by applicant]
US 9590914B2 · Alizadeh Attar et al. · 2017 [cited by applicant]
US 9620213B2 · Tran et al. · 2017 [cited by applicant]
US 9654409B2 · Yadav et al. · 2017 [cited by applicant]
US 9729338B2 · Schmidt · 2017 [cited by applicant]
US 9742694B2 · Anand · 2017 [cited by applicant]
US 10205649B2 · Schmidt · 2019 [cited by applicant]
US 11526290B2 · Koufaty · 2022 [cited by applicant]
US 20010039550A1 · Putzolu · 2001 [cited by applicant]
US 20010050914A1 · Akahane et al. · 2001 [cited by applicant]
US 20020007277A1 · Besana et al. · 2002 [cited by applicant]
US 20020009076A1 · Engbersen · 2002 [cited by applicant]
US 20020016852A1 · Nishihara · 2002 [cited by applicant]
US 20020062394A1 · Bunn et al. · 2002 [cited by applicant]
US 20020076142A1 · Song · 2002 [cited by applicant]
US 20020083210A1 · Harrison et al. · 2002 [cited by applicant]
US 20020099900A1 · Kawarai et al. · 2002 [cited by applicant]
US 20020101867A1 · O'Callaghan et al. · 2002 [cited by applicant]
US 20020163935A1 · Paatela et al. · 2002 [cited by applicant]
US 20020191521A1 · Miniamino · 2002 [cited by applicant]
US 20020199062A1 · Bormann · 2002 [cited by applicant]
US 20030037154A1 · Poggio et al. · 2003 [cited by applicant]
US 20030093613A1 · Sherman · 2003 [cited by applicant]
US 20030120806A1 · Clune et al. · 2003 [cited by applicant]
US 20030144993A1 · Kishigami · 2003 [cited by applicant]
US 20030152078A1 · Henderson et al. · 2003 [cited by applicant]
US 20030190078A1 · Govindaswamy · 2003 [cited by applicant]
US 20030193949A1 · Kojima et al. · 2003 [cited by applicant]
US 20030198216A1 · Lewis · 2003 [cited by applicant]
US 20030231634A1 · Savarda · 2003 [cited by applicant]
US 20030210702A1 · Kendall · 2003 [cited by applicant]
US 20030218978A1 · Brown · 2003 [cited by applicant]
US 20030231625A1 · Calvignac et al. · 2003 [cited by applicant]
US 20040019733A1 · Garinger · 2004 [cited by applicant]
US 20040064589A1 · Boucher et al. · 2004 [cited by applicant]
US 20040107295A1 · Herkersdorf et al. · 2004 [cited by applicant]
US 20040148425A1 · Haumont · 2004 [cited by applicant]
US 20040213370A1 · Smallwood et al. · 2004 [cited by applicant]
US 20040236897A1 · Cheng · 2004 [cited by applicant]
US 20050076228A1 · Davis · 2005 [cited by applicant]
US 20050138478A1 · Safford · 2005 [cited by applicant]
US 20050160151A1 · Rawson, III · 2005 [cited by applicant]
US 20050193240A1 · Ash · 2005 [cited by applicant]
US 20050213570A1 · Stacy et al. · 2005 [cited by applicant]
US 20050220107A1 · Regno · 2005 [cited by applicant]
US 20050232303A1 · Deforche et al. · 2005 [cited by applicant]
US 20050246716A1 · Smith · 2005 [cited by applicant]
US 20050256821A1 · Mishra · 2005 [cited by applicant]
US 20050276230A1 · Akahane et al. · 2005 [cited by applicant]
US 20050281281A1 · Nair et al. · 2005 [cited by applicant]
US 20060039372A1 · Sarkinen et al. · 2006 [cited by applicant]
US 20060045074A1 · Lee · 2006 [cited by applicant]
US 20060059269A1 · Chen et al. · 2006 [cited by applicant]
US 20060168309A1 · Sidkar et al. · 2006 [cited by applicant]
US 20060215653A1 · LaVigne · 2006 [cited by applicant]
US 20060215695A1 · Olderdissen · 2006 [cited by applicant]
US 20060259620A1 · Tamai · 2006 [cited by applicant]
US 20060280178A1 · Miller et al. · 2006 [cited by applicant]
US 20070011537A1 · Kiryu · 2007 [cited by applicant]
US 20070022479A1 · Sikdar · 2007 [cited by examiner]
US 20070078997A1 · Stern · 2007 [cited by applicant]
US 20070101043A1 · Herman · 2007 [cited by applicant]
US 20070160052A1 · Okada · 2007 [cited by applicant]
US 20070168814A1 · Leininger · 2007 [cited by applicant]
US 20070180006A1 · Gyoten · 2007 [cited by applicant]
US 20070186085A1 · Yim · 2007 [cited by applicant]
US 20070195778A1 · Tatar · 2007 [cited by applicant]
US 20070263660A1 · Mitsumori · 2007 [cited by applicant]
US 20070268931A1 · Shaikli · 2007 [cited by applicant]
US 20080008159A1 · Bourlas et al. · 2008 [cited by applicant]
US 20080141023A1 · Qi · 2008 [cited by applicant]
US 20080222380A1 · Sze et al. · 2008 [cited by applicant]
US 20080279205A1 · Sgo · 2008 [cited by applicant]
US 20080304498A1 · Jorgensen · 2008 [cited by applicant]
US 20090028045A1 · Stellenberg et al. · 2009 [cited by applicant]
US 20090067325A1 · Baratakke et al. · 2009 [cited by applicant]
US 20090067446A1 · Lee · 2009 [cited by applicant]
US 20090234818A1 · Lobo et al. · 2009 [cited by applicant]
US 20090238190A1 · Cadigan, Jr. et al. · 2009 [cited by applicant]
US 20090307660A1 · Srinivasan · 2009 [cited by applicant]
US 20090328211A1 · Abraham · 2009 [cited by applicant]
US 20100107249A1 · Krig · 2010 [cited by applicant]
US 20100161787A1 · Jones · 2010 [cited by applicant]
US 20100259536A1 · Toksvig et al. · 2010 [cited by applicant]
US 20100272125A1 · Frank et al. · 2010 [cited by applicant]
US 20100318538A1 · Wyman et al. · 2010 [cited by applicant]
US 20100329255A1 · Singhal · 2010 [cited by applicant]
US 20110022732A1 · Hutchison et al. · 2011 [cited by applicant]
US 20110026405A1 · Takagi et al. · 2011 [cited by applicant]
US 20110040923A1 · Ren · 2011 [cited by applicant]
US 20110058514A1 · Lee et al. · 2011 [cited by applicant]
US 20110103540A1 · Wassermann · 2011 [cited by applicant]
US 20110134920A1 · Dyke · 2011 [cited by applicant]
US 20110142070A1 · Lim et al. · 2011 [cited by applicant]
US 20110231593A1 · Yasufuku et al. · 2011 [cited by applicant]
US 20110258040A1 · Gnanasambandam · 2011 [cited by applicant]
US 20110261698A1 · Kamerkar et al. · 2011 [cited by applicant]
US 20110261812A1 · Kini et al. · 2011 [cited by applicant]
US 20110268123A1 · Kopelman et al. · 2011 [cited by applicant]
US 20110295815A1 · Madagere · 2011 [cited by applicant]
US 20110307656A1 · Hamdi et al. · 2011 [cited by applicant]
US 20110310892A1 · DiMambro · 2011 [cited by applicant]
US 20120016845A1 · Bates · 2012 [cited by applicant]
US 20120134356A1 · Groarke et al. · 2012 [cited by applicant]
US 20120159132A1 · Abel · 2012 [cited by applicant]
US 20120192035A1 · Nakanishi · 2012 [cited by applicant]
US 20120254579A1 · Schroeder et al. · 2012 [cited by applicant]
US 20120257627A1 · Nguymetal · 2012 [cited by applicant]
US 20120260038A1 · Imazaki · 2012 [cited by applicant]
US 20120281714A1 · Chang et al. · 2012 [cited by applicant]
US 20120311197A1 · Larson et al. · 2012 [cited by applicant]
US 20130034100A1 · Goyal et al. · 2013 [cited by applicant]
US 20130039278A1 · Bouazizi · 2013 [cited by applicant]
US 20130054897A1 · Flemming et al. · 2013 [cited by applicant]
US 20130055033A1 · Frazier · 2013 [cited by applicant]
US 20130111308A1 · Sauber · 2013 [cited by applicant]
US 20130163427A1 · Beliveau et al. · 2013 [cited by applicant]
US 20130163475A1 · Beliveau · 2013 [cited by applicant]
US 20130191701A1 · Mueller · 2013 [cited by applicant]
US 20130195457A1 · Levy et al. · 2013 [cited by applicant]
US 20130215906A1 · Hidai · 2013 [cited by applicant]
US 20130238792A1 · Kind et al. · 2013 [cited by applicant]
US 20130290752A1 · Jones et al. · 2013 [cited by applicant]
US 20130294458A1 · Yamaguchi et al. · 2013 [cited by applicant]
US 20130326083A1 · Boucher et al. · 2013 [cited by applicant]
US 20140056141A1 · Breternitz, Jr. · 2014 [cited by applicant]
US 20140078902A1 · Edsall et al. · 2014 [cited by applicant]
US 20140086378A1 · Felten et al. · 2014 [cited by applicant]
US 20140108759A1 · Iwamitsu · 2014 [cited by applicant]
US 20140119231A1 · Chan et al. · 2014 [cited by applicant]
US 20140153443A1 · Carter · 2014 [cited by applicant]
US 20140181374A1 · Ellard · 2014 [cited by applicant]
US 20140181473A1 · Dice · 2014 [cited by applicant]
US 20140181827A1 · Dice · 2014 [cited by applicant]
US 20140241353A1 · Zhang · 2014 [cited by applicant]
US 20140269307A1 · Banjeree et al. · 2014 [cited by applicant]
US 20140307579A1 · Calo et al. · 2014 [cited by applicant]
US 20140328354A1 · Michael · 2014 [cited by applicant]
US 20140369363A1 · Hutchison · 2014 [cited by applicant]
US 20140369365A1 · Denio et al. · 2014 [cited by applicant]
US 20150081726A1 · Izenberg · 2015 [cited by applicant]
US 20150124614A1 · Alizadeh Attar et al. · 2015 [cited by applicant]
US 20150156288A1 · Lu · 2015 [cited by applicant]
US 20150172189A1 · Pitchai · 2015 [cited by applicant]
US 20150187419A1 · Tran · 2015 [cited by applicant]
US 20150189047A1 · Naaman et al. · 2015 [cited by applicant]
US 20150222533A1 · Birritella et al. · 2015 [cited by applicant]
US 20150277911A1 · Khartikov et al. · 2015 [cited by applicant]
US 20160028623A1 · Kamath · 2016 [cited by applicant]
US 20160077904A1 · Wendel · 2016 [cited by applicant]
US 20160117148A1 · Jeon et al. · 2016 [cited by applicant]
US 20160197852A1 · Hutchison et al. · 2016 [cited by applicant]
US 20160274994A1 · Winkel · 2016 [cited by applicant]
US 20160292079A1 · Musoll · 2016 [cited by applicant]
US 20170048144A1 · Liu · 2017 [cited by applicant]
US 20200204504A1 · Musoll · 2020 [cited by applicant]
US 20210395155A1 · Kramer · 2021 [cited by applicant]
CN 1675635A · 2005 [cited by applicant]
CN 1795437A · 2006 [cited by applicant]
CN 1798102A · 2006 [cited by applicant]
CN 101026586A · 2007 [cited by applicant]
CN 101095310A · 2007 [cited by applicant]
CN 101112056A · 2008 [cited by applicant]
CN 101237419A · 2008 [cited by applicant]
CN 101286215A · 2008 [cited by applicant]
CN 101517534A · 2009 [cited by applicant]
CN 101543018A · 2009 [cited by applicant]
CN 101546293A · 2009 [cited by applicant]
CN 101563908A · 2009 [cited by applicant]
CN 101686102A · 2010 [cited by applicant]
CN 101694627A · 2010 [cited by applicant]
CN 101751246A · 2010 [cited by applicant]
CN 101777791A · 2010 [cited by applicant]
CN 101854361A · 2010 [cited by applicant]
CN 101859257A · 2010 [cited by applicant]
CN 101958902A · 2011 [cited by applicant]
CN 102104541A · 2011 [cited by applicant]
CN 102204180A · 2011 [cited by applicant]
CN 102273149A · 2011 [cited by applicant]
CN 102353894A · 2012 [cited by applicant]
CN 102377803A · 2012 [cited by applicant]
CN 102523285A · 2012 [cited by applicant]
CN 102656850A · 2012 [cited by applicant]
CN 102708067A · 2012 [cited by applicant]
CN 10286961A · 2013 [cited by applicant]
CN 103444138A · 2013 [cited by applicant]
CN 103064796A · 2013 [cited by applicant]
CN 103177772A · 2013 [cited by applicant]
CN 103268267A · 2013 [cited by applicant]
CN 103347013A · 2013 [cited by applicant]
CN 103384224A1 · 2013 [cited by applicant]
CN 103389882A · 2013 [cited by applicant]
CN 103460751A · 2013 [cited by applicant]
CN 103597794A · 2014 [cited by applicant]
CN 103856405A · 2014 [cited by applicant]
CN 103959302A · 2014 [cited by applicant]
CN 104010049A · 2014 [cited by applicant]
CN 104012063A · 2014 [cited by applicant]
EP 1553738A1 · 2005 [cited by applicant]
EP 1735957A2 · 2006 [cited by applicant]
EP 2529528A1 · 2012 [cited by applicant]
FI 0804845 · 1996 [cited by applicant]
JP 2000196672A · 2000 [cited by applicant]
JP 2000253061A · 2000 [cited by applicant]
JP 2001024641A · 2001 [cited by applicant]
JP 2002077269A · 2002 [cited by applicant]
JP 2002198430A · 2002 [cited by applicant]
JP 2002208938A · 2002 [cited by applicant]
JP 2003308206A · 2003 [cited by applicant]
JP 2005522948A · 2005 [cited by applicant]
JP 2007503770A · 2007 [cited by applicant]
JP 2007166514A · 2007 [cited by applicant]
JP 2007208963A · 2007 [cited by applicant]
JP 2009260880A · 2009 [cited by applicant]
JP 2009272912A · 2009 [cited by applicant]
JP 2010233018A · 2010 [cited by applicant]
JP 2013055642A · 2013 [cited by applicant]
JP 2014510504A · 2014 [cited by applicant]
KR 100441317 · 2013 [cited by applicant]
TW 200832408A · 2008 [cited by applicant]
TW 201134252A · 2011 [cited by applicant]
WO 2005036834A1 · 2005 [cited by applicant]
WO 2009133918A1 · 2009 [cited by applicant]
WO 20100144704A1 · 2010 [cited by applicant]
WO 2011078108A1 · 2011 [cited by applicant]
WO 2011093835A1 · 2011 [cited by applicant]
WO 2012138370A1 · 2012 [cited by applicant]
WO 2013093857A1 · 2013 [cited by applicant]
WO 2013119421A1 · 2013 [cited by applicant]
The Chinese Office Action dated Nov. 21, 2018 for the Chinese Application No. 2014108380634. [cited by applicant]
The Chinese Office Action dated Jul. 17, 2019 for the Chinese Patent Application No. 201510276426.4. [cited by applicant]
The Chinese Office Action dated Jul. 17, 2019 for the Chinese Patent Application No. 201510276588.8. [cited by applicant]
The Chinese Office Action dated Jul. 29, 2019 for the Chinese Patent Application No. 2015102724093. [cited by applicant]
The Chinese Office Action dated Aug. 22, 2019 for the Chinese Patent Application No. 2015102369392. [cited by applicant]
The Chinese Office Action dated Aug. 5, 2019 for the Chinese Patent Application No. 201510272163X. [cited by applicant]
The Chinese Office Action dated Aug. 5, 2019 for the Chinese Patent Application No. 201510229770.8. [cited by applicant]
The Chinese Office Action dated May 6, 2020 for the Chinese Patent Application No. 201510272409.3. [cited by applicant]
The Chinese Office Action dated May 8, 2020 for the Chinese Patent Application No. 201510229779.9. [cited by applicant]
The Chinese Office Action dated May 18, 2020 for the Chinese Patent Application No. 201510229610.3. [cited by applicant]
The Chinese Office Action dated May 18, 2020 for the Chinese Patent Application No. 201510272436.0. [cited by applicant]
The Chinese Notice of Allowance dated Jun. 15, 2020 for the Chinese Patent Application No. 201510236939.2. [cited by applicant]
The Chinese Office Action dated Mar. 18, 2020 for the Chinese Patent Application No. 201680015083.9. [cited by applicant]
The Chinese Office Action dated Aug. 19, 2019 for the Chinese Patent Application No. 20150229799. [cited by applicant]
The Japanese Office Action dated Aug. 26, 2019 for the Japanese Patent Application No. 2015122562. [cited by applicant]
The Chinese Office Action dated Aug. 27, 2019 for the Chinese Patent Application No. 201502724360. [cited by applicant]
The Chinese Office Action dated Aug. 27, 2019 for the Chinese Patent Application No. 20150229610.3. [cited by applicant]
The Chinese Office Action dated Sep. 3, 2019 for the Chinese Patent Application No. 2015102726703. [cited by applicant]
The Chinese Office Action dated Dec. 12, 2018 for the Chinese Patent Application No. 201410838433.4. [cited by applicant]
Altera, “White Paper”, July , pp. 1-9. [cited by applicant]
Bosshart, Pat, “Forwarding Metamophis: Fast Programmable Match-Action Processing in Hardware for SDN”, Aug. 12, 2013, ACM, pp. 99-109. [cited by applicant]
Price, Charles, “MIPS IV Instruction Set”, Sep. 1995, MIPS, pp. A-28-A-29 & A-105-A-106. [cited by applicant]
The Japanese Office Action dated Mar. 18, 2019 for the Japanese Patent Application No. 2015122559. [cited by applicant]
The Japanese Office Action dated Mar. 18, 2019 for the Japanese Patent Application No. 2015122561. [cited by applicant]
The Japanese Office Action dated Mar. 18, 2019 for the Japanese Patent Application No. 2015-122562. [cited by applicant]
The Taiwanese Office Action dated Sep. 17, 2018 for the Taiwanese Patent Application No. 103145450. [cited by applicant]
The Japanese Office Action dated Mar. 25, 2019 for the Japanese Patent Application No. 2015122564. [cited by applicant]
The Japanese Office Action dated Mar. 18, 2019 for the Japanese Patent Application No. 2015-122560. [cited by applicant]
The Chinese Office Action dated Dec. 24, 2018 for the Chinese Patent Application No. 2014108439341. [cited by applicant]
The Taiwanese Office Action dated Nov. 19, 2018 for the Taiwanese Patent Application No. 103145445. [cited by applicant]
The Taiwanese Office Action dated Nov. 16, 2018 for the Taiwanese Patent Application No. 103145662. [cited by applicant]
The Japanese Office Action dated Nov. 19, 2018 for the Japanese Patent Application No. 2014-267001. [cited by applicant]
The Japanese Office Action dated Nov. 12, 2018 for the Japanese Patent Application No. 2014-267001. [cited by applicant]
The Japanese Office Action dated Nov. 19, 2018 for the Japanese Patent Application No. 2014-267000. [cited by applicant]
The Japanese Office Action dated Dec. 3, 2018 for the Japanese Patent Application No. 2014-263372. [cited by applicant]
The Chinese Office Action dated Mar. 12, 2020 for the Chinese Patent Application No. 201510229770.8. [cited by applicant]
The Chinese Office Action dated Mar. 2, 2020 for the Chinese Patent Application No. 201510272163.X. [cited by applicant]
The Chinese Office Action dated Mar. 2, 2020 for the Chinese Patent Application No. 201510236939.2. [cited by applicant]
The Chinese Notice of Allowance dated Sep. 30, 2019 for the Chinese Patent Application No. 201510320187.8. [cited by applicant]
The Chinese Office Action dated May 21, 2019 for the Chinese Application No. 201410843934.1. [cited by applicant]
The Taiwanese Office Action and Translation dated Sep. 11, 2018 for the Taiwanese Application No. 104112176. [cited by applicant]
The Taiwanese Office Action and Translation dated Oct. 4, 2018 for the Taiwanese Application No. 104111755. [cited by applicant]
The Taiwanese Office Action and Translation dated Sep. 20, 2018 for the Taiwanese Application No. 104110829. [cited by applicant]
The Chinese Office Action and Search Report dated Aug. 20, 2018 for the Chinese Patent Application No. 201510320187.8. [cited by applicant]
Musin et al., Multiple Errors Detection Technique for Ram, IEE, Conference Paper, Pertinent pp. 1-4 (Year 2007). [cited by applicant]
The Chinese Notice of Allowance dated Jul. 24, 2020 for the Chinese Patent Application No. 201510229770.8. [cited by applicant]
The Office Action dated Jul. 31, 2020 from Chinese Patent Application No. 201610188963.8. [cited by applicant]
The Notice of Allowance dated Aug. 27, 2020 for the Chinese Patent Application No. 201510229610.3. [cited by applicant]
The Notice of Allowance dated Aug. 28, 2020 for the Chinese Patent Application No. 20168001150839. [cited by applicant]
The Chinese Office Action dated Aug. 5, 2020 from Chinese Patent Application No. 201510253417.3. [cited by applicant]
The Korean Allowance of Patent dated Nov. 8, 2023 for Korean Patent Application No. 10-2022-0137402. [cited by applicant]
The Second Official Action dated Dec. 6, 2023 from the Indian Patent Application No. 834/DEL/2015. [cited by applicant]
Adamchik, Binary Trees, published Sep. 9, 2013 according to WayBack Machine, 8pages. [cited by applicant]
Parlante, Linked List Basics, http://cslibrary.standford.edu/103/LinkedListBasics.pdf, 26 pages, 2001. [cited by applicant]
Glen Gibb, “Reconfigurable Hardware for software-defined network”, Nov. 2013, Standford University. [cited by applicant]
The Indian Office Action dated Sep. 24, 2020 for the Indian Patent Application No. 847/DEL/2015. [cited by applicant]
The Indian Office Action dated Sep. 25, 2020 for the Indian Patent Application No. 836/DEL/2015. [cited by applicant]
The Office Action dated Aug. 19, 2021 for the Korean Patent Application No. 10-2014-0191978. [cited by applicant]
The Notice of Allowance dated Jul. 24, 2020 for the Chinese Patent Application No. 201510272409.3. [cited by applicant]
The Decision to Grant dated Jul. 14, 2021, for the Korean Patent Application No. 10-2014-0194209. [cited by applicant]
Kozanitis et al. Leaping Multiple Headers in a Single Bound: Wire-Speed Parsing Using the Kangaroo System. [cited by applicant]
The Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0086078. [cited by applicant]
The Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0087785. [cited by applicant]
The Korean Office Action dated May 27, 2021 for Korean Patent Application No. 10-2015-0087800. [cited by applicant]
The Office Action dated Apr. 29, 2021 for Korean Application No. 10-2015-0083631. [cited by applicant]
The Office Action dated Jan. 4, 2022 for the Korean Patent Application No. 10-2021-0135712. [cited by applicant]
The Office Action dated Jan. 27, 2022 for the Korean Patent Application No. 10-2021-0142837. [cited by applicant]
The Korean Office Action dated Dec. 4, 2020 for the Korean Patent Application No. 10-2014-0194209. [cited by applicant]
The Official Action dated Nov. 18, 2021, from the Korean Patent Application: 10-2015-0086042. [cited by applicant]
The Second Official Action dated Jan. 19, 2023 from the Indian Patent Application No. 841/DEL/2015. [cited by applicant]
The Chinese Office Action dated Nov. 3, 2020 for the Chinese Patent Application No. 201510272436.0. [cited by applicant]
The Chinese Office Action dated Nov. 3, 2020 for the Chinese Patent Application No. 201510272409.0. [cited by applicant]
The Chinese Office Action dated Nov. 5, 2020 for the Chinese Patent Application No. 201510229779.9. [cited by applicant]
The Indian Office Action for the Application No. 834/DEL/2015 dated Jul. 27, 2020. [cited by applicant]
The Korean Office Action dated Oct. 16, 2020 for the Korean Patent Application No. 10-2014-0192064. [cited by applicant]
The Office Action dated Apr. 30, 2021 for Korean Application No. 10-2015-0084526. [cited by applicant]
The Office Action dated Apr. 30, 2021 for Korean Application No. 10-2015-0086042. [cited by applicant]
The Korean Office Action dated May 1, 2023 for Korean Patent Application No. 10-2022-0137402. [cited by applicant]
The Korean Office Action dated May 19, 2023 for Korean Patent Application No. 10-2022-01519367. [cited by applicant]
The Office Action dated Jun. 9, 2021 for Chinese Application No. 201610176470.2. [cited by applicant]
The Office Action dated Dec. 31, 2021 for Chinese Application No. 201610176470.2. [cited by applicant]
The Second Official Action dated Nov. 28, 2022, from the Indian Patent Application No. 836/DEL/2015. [cited by applicant]
A Low-Power Packet Memory Architecture With a Latency-Aware Packet Mapping Method, Hyuk-Jun Lee et al., IEICE Trans. Inf. & Syst., vol. E96-D, No. 4, Apr. 2013. [cited by applicant]
Big Data Storage Management Based On New Storage, Jin Peiquan, Big Data Research, j.issn. 2096-0271.2017053, Oct. 31, 2013. [cited by applicant]
The Notice to Grant issued Sep. 30, 2024 in Chinese Patent Application No. 202111260567.9. [cited by applicant]