CN103425725A - 散列冲突降低系统 - Google Patents
散列冲突降低系统 Download PDFInfo
- Publication number
- CN103425725A CN103425725A CN2013101681015A CN201310168101A CN103425725A CN 103425725 A CN103425725 A CN 103425725A CN 2013101681015 A CN2013101681015 A CN 2013101681015A CN 201310168101 A CN201310168101 A CN 201310168101A CN 103425725 A CN103425725 A CN 103425725A
- Authority
- CN
- China
- Prior art keywords
- hash
- tables
- logic
- controller
- avalanche effect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000694 effects Effects 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 77
- 238000013507 mapping Methods 0.000 claims description 9
- 206010023204 Joint dislocation Diseases 0.000 claims description 7
- 241000544061 Cuculus canorus Species 0.000 claims description 4
- 238000003780 insertion Methods 0.000 abstract description 6
- 230000037431 insertion Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004380 ashing Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种改进的计算机系统,其可以包括具有计算机处理器的控制器,在与引入到控制器的新组件相接口时,该控制器降低插入次数和/或冲突。该系统还可以包括冲突避免装置,其通过使用多个表以及每个桶多个键来降低散列冲突。该系统还可以包括与控制器通信的散列装置,以将所述多个键映射到所述多个表,其中,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致多个表中的将近一半位改变。
Description
技术领域
本发明涉及计算机系统领域,且更具体地,涉及用于非常大的表和非常高吞吐量的计算机实现的包查找机制。
背景技术
以太网端口可提供计算机和计算机网络间的连接。对于100Gbps以太网端口,最小的64字节的包持续时间是6.7纳秒,其在500Mhz仅给出3个时钟周期以用于执行查找的逻辑。
发明内容
根据本发明的一个实施例,一种改进的计算机系统可以包括具有计算机处理器的控制器,在与引入到控制器的新组件对接时,该控制器降低插入次数和/或冲突。该系统还可以包括冲突避免装置,其通过使用多个表以及每个桶多个键来降低散列冲突。该系统还可以包括与控制器通信的散列装置,以将所述多个键映射到所述多个表,其中,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应(avalanche effect),所述一个键改变导致多个表中的将近一半位改变。
所述单个散列逻辑可以基于Cuckoo算法。所述单个散列逻辑可以包括可配置的循环冗余检查多项式。所述散列装置可以基于雪崩效应来提供所述多个表的并行表查找。
雪崩效应可以基于用于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑实现每个正交散列函数。所述单个散列逻辑的每位输出可以包括键位的汇集(funneled)结果。
所述汇集结果可以由异或函数产生。所述多个表可以是可配置的。通过控制单个散列逻辑输出的位数,所述多个表的全局负载可以是可配置的。
本方面的另一方面是一种用于改进计算机系统的方法。该方法可以包括,当新组件被引入到包含计算机处理器的控制器时,降低插入次数和/或散列冲突。该方法还可以包括由冲突避免装置通过使用多个表和每个桶多个键来降低散列冲突。该方法还可以包括使用与控制器通信的散列装置将所述多个键映射到多个表,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致多个表中的将近一半位改变。
该方法还可以包括基于雪崩效应通过散列装置来提供所述多个表的并行表查找。该方法还可以包括使雪崩效应基于用于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑实现每个正交散列函数。
该方法还可以包括汇集所述单个散列逻辑的每位输出的键位的结果。该方法还可以包括使得所述多个表可配置。该方法还可以包括控制单个散列逻辑输出的位数,从而所述多个表的全局负载是可配置的。
本方面的另一方面是计算机可读程序代码,其耦合到有形介质以改进计算机系统。所述计算机可读程序代码可被配置为使得程序在新组件被引入到包含计算机处理器的控制器时降低插入次数和/或散列冲突。所述计算机可读程序代码还可以由冲突避免装置通过使用多个表和每个桶多个键来降低散列冲突。计算机可读程序代码还可以使用与控制器通信的散列装置将所述多个键映射到所述多个表,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致多个表中的将近一半位改变。
所述计算机可读程序代码还可以基于雪崩效应通过散列装置来提供所述多个表的并行表查找。所述计算机可读程序代码还可以使雪崩效应基于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑实现每个正交散列函数。
所述计算机可读程序代码还可以汇集所述单个散列逻辑的每位输出的键位的结果。所述计算机可读程序代码还可以使得所述多个表可配置。所述计算机可读程序代码还可以控制单个散列逻辑输出的位数,从而所述多个表的全局负载是可配置的。
附图说明
图1是示出根据本发明的数据库改进系统的框图。
图2是示出根据本发明的方法方面的流程图。
图3是示出根据图2的方法的方法方面的流程图。
图4是示出根据图2的方法的方法方面的流程图。
图5是示出根据图4的方法的方法方面的流程图。
图6是示出根据图2的方法的方法方面的流程图。
图7是示出根据图6的方法的方法方面的流程图。
图8示出了根据本发明的CCB表查询引擎的高级结构。
图9示出了根据本发明的5模式可编程散列逻辑的高级结构。
图10示出了根据本发明的4到2例子。
图11示出了根据本发明的异或矩阵的例子。
图12示出了根据本发明的远程查找请求时序。
图13示出了根据本发明的“即时”(on the fly)比较引擎。
具体实施方式
下面将参考附图来更完整地描述本发明,附图中示出了本发明的优选实施例。在全文中相同的标号表示相同的元件。
现在参考图1,开始描述了一种改进的计算机系统10。在实施例中,系统10包括具有计算机处理器14的控制器12。在与引入到控制器的新组件16相接口时,控制器12降低插入次数和/或冲突。系统10还包括冲突避免装置18,其通过使用多个表以及每个桶多个键来降低散列冲突。系统10还包括与控制器通信的散列装置20,以将多个键映射到多个表,其中,散列装置使用单个散列逻辑22在一个键改变时提供雪崩效应,所述一个键改变导致多个表中将近一半的位改变。如本领域技术人员所理解,系统10的组件是通过通信网络21来连接的。
在一个实施例中,单个散列逻辑22基于Cuckoo算法。在另一实施例中,单个散列逻辑22包括可配置的循环冗余检查(CRC)多项式。在另一实施例中,散列装置20基于雪崩效应来提供多个表的并行表查找。
在一个实施例中,雪崩效应基于用于多个表中的每个的正交散列函数,并且单个散列逻辑22实现每个正交散列函数。在另一实施例中,单个散列逻辑22的每位输出包括键位的汇集结果。
在一个实施例中,汇集结果由异或函数产生。在另一实施例中,多个表是可配置的。在另一实施例中,通过控制用于单个散列逻辑22输出的位数,多个表的全局负载是可配置的。
本发明的另一方面是一种用于改进计算机系统的方法,该方法现在参考图2的流程24来描述。该方法开始于框26,并可以在框28包括在新组件被引入到包含计算机处理器的控制器时降低插入次数和/或散列冲突。该方法在框30还可以包括由冲突避免装置通过使用多个表和每个桶多个键来降低散列冲突。该方法在框32还可以包括使用与控制器通信的散列装置将多个键映射到多个表,其中,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致多个表中将近一半的位改变。该方法在框34结束。
在现在参考图3的流程图36来描述的另一方法实施例中,该方法开始于框38。该方法可以包括框28、30和32处的图2的步骤。该方法在框40还可以包括基于雪崩效应通过散列装置来提供多个表的并行表查找。该方法在框42结束。
在现在参考图4的流程图44来描述的另一方法实施例中,该方法开始于框46。该方法可以包括框28、30和32处的图2的步骤。该方法在框48还可以包括使雪崩效应基于用于多个表中的每个的正交散列函数,并且单个散列逻辑实现每个正交散列函数。该方法在框50结束。
在现在参考图5的流程图52来描述的另一方法实施例中,该方法开始于框54。该方法可以包括框28、30、32和48处的图4的步骤。该方法在框56还可以包括汇集用于单个散列逻辑的每位输出的键位的结果。该方法在框58结束。
在现在参考图6的流程图60来描述的另一方法实施例中,该方法开始于框62。该方法可以包括框28、30和32处的图2的步骤。该方法在框64还可以包括使得多个表可配置。该方法在框66结束。
在现在参考图7的流程图68来描述的另一方法实施例中,该方法开始于框70。该方法可以包括框28、30、32和64处的图6的步骤。该方法在框72还可以包括控制用于单个散列逻辑输出的位数,从而多个表的全局负载是可配置的。该方法在框74结束。
本方面的另一方面是计算机可读程序代码,其耦合到有形介质以改进计算机系统。所述计算机可读程序代码可被配置为使得程序在新组件被引入到包含计算机处理器14的控制器12时降低插入次数和/或散列冲突。所述计算机可读程序代码还可以由冲突避免装置18通过使用多个表和每个桶多个键来降低散列冲突。所述计算机可读程序代码还可以使用与控制器12通信的散列装置20将多个键映射到多个表,其中,该散列装置使用单个散列逻辑22在一个键改变时提供雪崩效应,所述一个键改变导致多个表中的将近一半位改变。
所述计算机可读程序代码还可以基于雪崩效应通过散列装置22来提供多个表的并行表查找。所述计算机可读程序代码还可以使雪崩效应基于用于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑22实现每个正交散列函数。
所述计算机可读程序代码还可以汇集用于单个散列逻辑22的每位输出的键位的结果。所述计算机可读程序代码还可以使得所述多个表可配置。所述计算机可读程序代码还可以控制单个散列逻辑22输出的位数,从而所述多个表的全局负载是可配置的。
鉴于上述,系统10提供了改进的计算机系统。例如,使用例如“Cuckoo算法”的具有链的传统散列,在100Gbps以太网应用中使用时,可以用几个有限数量的表查找来进行搜索,但其缺陷是当在非常大的表中存在很多散列冲突时具有很长的插入时间。相反,系统10使得插入与搜索是在相同的时间范围内,当在即插即用网络中通过包学习来即时进行新表插入时,这一点很重要。
系统10使用高效的散列和/或算法选择,以用于冲突避免和减少的插入时间。系统10提供了用于非常大的表和高吞吐量的包查找。
在一个实施例中,系统10提供了单散列方法的硬件实现,该单散列方法能够对于任意数量的逻辑表使用任意类型的CRC多项式除法,由此降低高速缓存冲突。包查找函数的系统10硬件实现支持非常大量的大键(数亿)和非常高的吞吐量(100Gbps以太网)。在另一实施例中,系统10基于单个逻辑22,其中,系统10可以配置任意类型的CRC多项式。在另一实施例中,系统10使用用于多个散列器的正交性和高雪崩效应来降低冲突,由此实现若干个表的并行查找。
在一个实施例中,高效的正交散列器被用于每个不同的表。在另一实施例中,为了高效,散列函数应提供高雪崩效应,例如,当键仅有一位改变时,散列结果的接近一半位被改变。
这可以通过键的除法或乘法来实现,但使用用于100Gbps总体吞吐量的非常有限的时钟周期,乘法的这种硬件实现很困难。异或折叠(XORfolding)可在硬件中实现,但它们不会提高良好的雪崩结果。CRC可行,因为它提供了良好的雪崩效应,并可以以异或汇集(XOR funneling)在硬件中实现,但它需要大量的逻辑异或电路,这导致了用于不同表的大型逻辑电路。
为了降低冲突,在一个实施例中,图10使用4个不同的表和每个桶8个键。在另一实施例中,使用单个可编程散列器22,其中,散列器结果的每个位是键的所有位的汇集结果,这允许实现任意类型的CRC多项式。这需要大量的异或电路,但4个不同表共享单个逻辑22使其可以承受。
在一个实施例中,优化具有查找表的解决方案的灵活硬件实现包括使得散列表的数量从2到5可配置(基本配置可以是4个活动的+1个备用的)。在另一实施例中,5个散列函数是异或矩阵完全可配置的。即使矩阵允许不同类型的散列配置,CRC散列函数是优选的选择。
在一个实施例中,通过为散列结果提供位数的配置,全局表负载将是可配置的(硬件可支持每个表多达19b散列值4M个条目)。在另一实施例中,“即时”键比较帮助优化背靠背(back to back)DMA请求和响应。
另外参考图8,示出了CCB表查找引擎的高级结构。在一个实施例中,查找过程包括:查找请求被接收;经过散列函数来计算存储器地址;DMA读请求;DMA读响应;读取的数据与原始键进行比较;以及查找响应被发送到请求器。
另外参考图9-10,在图9中示出了5模式可编程散列逻辑的高级结构。图10公开了本发明的4到2示例性实施例。
在可能是系统10的最灵活的实现的一个实施例中,所有键位可以参与任意散列位。由于在散列逻辑22中存在“智能”,该实现使得硬件几乎独立于对算法的细化和表的最大数量。
在一个实施例中,64b键、19b散列以及5个散列函数的大小提供:
64*19*5=6080个配置锁存器。
(64*19)个5到1多路复用器来选择配置
(64*19)个2到1与门
19*(32+16+8+4+2+1)=1197个2到1异或门
对于45nm实现的大致面积估计包括:
锁存器:6080*10μm2=60800μm2
异或2:1197*4μm2=4788μm2
与2:64*19*3μm2=3648μm2
AO22:3*64*19*4μm2=14592μm2
总计=(60800+4788+3648+14592)*1.4(假设60%的可布线性(wireability))=117359μm2 大约0.12mm2
图11示出了根据本发明的异或矩阵示例。在该例子中,64b键被散列为16b散列值。
图12示出了远程查找请求时序。在该例子中,示出了4散列表情况。图13示出了“即时”比较引擎。
在一个实施例中,系统10提供了用于表查找的方法。该方法可以包括用于执行单个散列函数的硬件机制,以用于将数亿个键中的一个映射到表中的槽(例如桶),由此在键只有一位被改变时该散列函数产生了高雪崩效应。该方法还可以包括通过实现四个不同的表和每个桶八个键来最小化散列冲突的机制。
在一个实施例中,系统10提供了包查找功能的硬件实现,其基于单个逻辑22支持非常大量的大键(例如数亿)以及非常高的吞吐量(例如100Gbps以太网),该单个逻辑22可被配置为任意类型的CRC多项式,而使用用于多个散列器的正交性和高雪崩效应来降低冲突,以实现若干个表并行查找。
在一个实施例中,系统10提供了用于执行单个散列逻辑22来以高雪崩效应将非常大的键集合映射到槽(例如桶)的方法和系统。在另一实施例中,系统10通过针对四个表和每个槽八个键共享单个散列逻辑22来降低散列冲突。
应注意,在一些替换实施例中,方框中提到的功能可不按图中提到的顺序发生。例如,两个连续示出的方框实际上可以基本上以先后顺序执行,或者方框有时候可以相反的顺序被执行,这视涉及的功能而定,因为在此示出的流程图紧紧是例子。可对在此描述的这些图或步骤(或操作)进行各种修改,而不脱离本发明的精神。例如,步骤可被同时执行和/或以不同的顺序执行,或可添加、删除和/或修改步骤。所有这些变化都被认为是所要求保护的本发明的一部分。
此处使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的,单数形式“一”、“一个”和“该”也旨在包括多数形式,除非上下文另有清楚的规定。还将理解,当在本说明中使用时,术语“包括”和/或“包含”明确说明存在所陈述的特点、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他的特点、整体、步骤、操作、元件、组件和/或其组。
以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、操作和等价物旨在包括用于结合在权利要求中特意阐明的元件而执行该功能任何结构、材料或操作。本发明的说明已出于解释和描述的目的被展示,但不旨在是穷尽性的或将本发明限制在公开的形式。许多修改和变化对于本领域普通技术人员来说是明显的,且不脱离本发明的精神和范围。选择并描述实施例是为了最好地解释本发明的原理和实际应用,且使得本领域普通技术人员能针对具有适用于所打算的特定用途的各种修改的各种实施例来理解本发明。
尽管已描述了本发明的优选实施例,应当理解本领域技术人员现在和将来都可以做出各种改善和改进,其都落在所附权利要求的范围内。这些权利要求应被解释为维持用于前面描述的本发明的适当保护。
Claims (15)
1.一种系统,包括
包含计算机处理器的控制器,在与引入到控制器的新组件相接口时,该控制器降低插入次数和散列冲突中的至少一个;
冲突避免装置,其通过使用多个表以及每个桶多个键来降低散列冲突;
与控制器通信的散列装置,以将所述多个键映射到所述多个表,其中,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致所述多个表中的将近一半位改变。
2.如权利要求1所述的系统,其中,所述单个散列逻辑基于Cuckoo算法。
3.如权利要求1所述的系统,其中,所述单个散列逻辑包括可配置的循环冗余检查多项式。
4.如权利要求1所述的系统,其中,所述散列装置基于雪崩效应提供所述多个表的并行表查找。
5.如权利要求1所述的系统,其中,所述雪崩效应基于用于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑实现每个正交散列函数。
6.如权利要求5所述的系统,其中,所述单个散列逻辑的每位输出包括键位的汇集结果。
7.如权利要求6所述的系统,其中,所述汇集结果是由异或函数产生的。
8.如权利要求1所述的系统,其中,所述多个表是可配置的。
9.如权利要求8所述的系统,其中,通过控制单个散列逻辑输出的位数,所述多个表的全局负载是可配置的。
10.一种方法,包括:
当新组件被引入到包含计算机处理器的控制器时,降低插入次数和散列冲突中的至少一个;
由冲突避免装置通过使用多个表和每个桶多个键来降低散列冲突;以及
使用与控制器通信的散列装置将所述多个键映射到所述多个表,该散列装置使用单个散列逻辑在一个键改变时提供雪崩效应,所述一个键改变导致多个表中的将近一半位改变。
11.如权利要求10所述的方法,还包括基于雪崩效应通过散列装置来提供所述多个表的并行表查找。
12.如权利要求10所述的方法,还包括使雪崩效应基于用于所述多个表中的每个的正交散列函数,并且所述单个散列逻辑实现每个正交散列函数。
13.如权利要求12所述的方法,还包括汇集所述单个散列逻辑的每位输出的键位的结果。
14.如权利要求10所述的方法,还包括使得所述多个表可配置。
15.如权利要求14所述的方法,还包括控制单个散列逻辑输出的位数,从而所述多个表的全局负载是可配置的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/475,990 | 2012-05-20 | ||
US13/475,990 US8762399B2 (en) | 2012-05-20 | 2012-05-20 | Hash collision reduction system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425725A true CN103425725A (zh) | 2013-12-04 |
CN103425725B CN103425725B (zh) | 2017-04-12 |
Family
ID=49511114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310168101.5A Expired - Fee Related CN103425725B (zh) | 2012-05-20 | 2013-05-06 | 散列冲突降低系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8762399B2 (zh) |
JP (1) | JP6234048B2 (zh) |
CN (1) | CN103425725B (zh) |
DE (1) | DE102013208213B4 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111421A (zh) * | 2017-11-28 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种基于多重哈希的报文分流方法及装置 |
CN112988763A (zh) * | 2021-05-14 | 2021-06-18 | 北京顺实科技有限公司 | 一种以部分散列Key为索引的Kv数据库存储与查询方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117502B2 (en) * | 2013-02-06 | 2015-08-25 | Fixnetix Ltd. | System and method for memory management of unique alpha-numeric order identifiers subjected to hashing and truncation for mapping to limited memory space |
WO2016093809A1 (en) * | 2014-12-09 | 2016-06-16 | Hewlett Packard Enterprise Development Lp | Storage media sections with alternative cells |
US9984144B2 (en) | 2015-08-17 | 2018-05-29 | Mellanox Technologies Tlv Ltd. | Efficient lookup of TCAM-like rules in RAM |
US10496680B2 (en) | 2015-08-17 | 2019-12-03 | Mellanox Technologies Tlv Ltd. | High-performance bloom filter array |
US10049126B2 (en) * | 2015-09-06 | 2018-08-14 | Mellanox Technologies Tlv Ltd. | Cuckoo hashing with selectable hash |
US11194778B2 (en) * | 2015-12-18 | 2021-12-07 | International Business Machines Corporation | Method and system for hybrid sort and hash-based query execution |
US9892057B2 (en) | 2016-03-31 | 2018-02-13 | Mellanox Technologies Tlv Ltd. | Single double cuckoo hash |
US10068034B2 (en) | 2016-09-07 | 2018-09-04 | Mellanox Technologies Tlv Ltd. | Efficient matching of TCAM rules using hash tables in RAM |
US10491521B2 (en) | 2017-03-26 | 2019-11-26 | Mellanox Technologies Tlv Ltd. | Field checking based caching of ACL lookups to ease ACL lookup search |
US10476794B2 (en) | 2017-07-30 | 2019-11-12 | Mellanox Technologies Tlv Ltd. | Efficient caching of TCAM rules in RAM |
US11327974B2 (en) | 2018-08-02 | 2022-05-10 | Mellanox Technologies, Ltd. | Field variability based TCAM splitting |
US11003715B2 (en) | 2018-09-17 | 2021-05-11 | Mellanox Technologies, Ltd. | Equipment and method for hash table resizing |
US10944675B1 (en) | 2019-09-04 | 2021-03-09 | Mellanox Technologies Tlv Ltd. | TCAM with multi region lookups and a single logical lookup |
CN113518033B (zh) * | 2020-04-09 | 2023-01-03 | 阿里巴巴集团控股有限公司 | 路由方法、路由器和设备 |
US11539622B2 (en) | 2020-05-04 | 2022-12-27 | Mellanox Technologies, Ltd. | Dynamically-optimized hash-based packet classifier |
US11782895B2 (en) | 2020-09-07 | 2023-10-10 | Mellanox Technologies, Ltd. | Cuckoo hashing including accessing hash tables using affinity table |
US11917042B2 (en) | 2021-08-15 | 2024-02-27 | Mellanox Technologies, Ltd. | Optimizing header-based action selection |
US11929837B2 (en) | 2022-02-23 | 2024-03-12 | Mellanox Technologies, Ltd. | Rule compilation schemes for fast packet classification |
US11968285B2 (en) | 2022-02-24 | 2024-04-23 | Mellanox Technologies, Ltd. | Efficient memory utilization for cartesian products of rules |
CN114666011B (zh) * | 2022-03-23 | 2024-04-16 | 锐捷网络股份有限公司 | 一种数据处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050111446A1 (en) * | 2003-11-25 | 2005-05-26 | Greaves Carlos A. | Network message filtering using hashing and pattern matching |
CN101267381A (zh) * | 2007-03-13 | 2008-09-17 | 大唐移动通信设备有限公司 | 哈希表操作方法及装置 |
US20080235488A1 (en) * | 2006-06-19 | 2008-09-25 | International Business Machines Corporation | Splash Tables: An Efficient Hash Scheme for Processors |
CN102170696A (zh) * | 2010-03-17 | 2011-08-31 | 微软公司 | 用于存储信标基准数据的cuckoo散列 |
US20110276781A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Fast and Low-RAM-Footprint Indexing for Data Deduplication |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334114A (ja) * | 2001-05-10 | 2002-11-22 | Allied Tereshisu Kk | テーブル管理方法及び装置 |
US7069268B1 (en) * | 2003-01-13 | 2006-06-27 | Cisco Technology, Inc. | System and method for identifying data using parallel hashing |
US8266116B2 (en) | 2007-03-12 | 2012-09-11 | Broadcom Corporation | Method and apparatus for dual-hashing tables |
US8275125B2 (en) | 2008-04-21 | 2012-09-25 | Tata Consultancy Services Ltd | Method for designing a secure hash function and a system thereof |
US8290934B2 (en) | 2008-08-06 | 2012-10-16 | Fujitsu Limited | Method and system for processing access control lists using a hashing scheme |
US8745013B2 (en) * | 2012-05-19 | 2014-06-03 | International Business Machines Corporation | Computer interface system |
-
2012
- 2012-05-20 US US13/475,990 patent/US8762399B2/en not_active Expired - Fee Related
-
2013
- 2013-04-09 JP JP2013081290A patent/JP6234048B2/ja active Active
- 2013-05-06 DE DE102013208213.4A patent/DE102013208213B4/de active Active
- 2013-05-06 CN CN201310168101.5A patent/CN103425725B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050111446A1 (en) * | 2003-11-25 | 2005-05-26 | Greaves Carlos A. | Network message filtering using hashing and pattern matching |
US20080235488A1 (en) * | 2006-06-19 | 2008-09-25 | International Business Machines Corporation | Splash Tables: An Efficient Hash Scheme for Processors |
CN101267381A (zh) * | 2007-03-13 | 2008-09-17 | 大唐移动通信设备有限公司 | 哈希表操作方法及装置 |
CN102170696A (zh) * | 2010-03-17 | 2011-08-31 | 微软公司 | 用于存储信标基准数据的cuckoo散列 |
US20110276781A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Fast and Low-RAM-Footprint Indexing for Data Deduplication |
Non-Patent Citations (1)
Title |
---|
SOCRATES DEMETRIADES, MICHEL HANNA, SANGYEUN CHO, RAMI MELHEM: "An Efficient Hardware-based Multi-hash Scheme for High Speed IP Lookup", 《IEEE SYMPOSIUM ON HIGH PERFORMANCE INTERCONNECTS, 2008》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111421A (zh) * | 2017-11-28 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种基于多重哈希的报文分流方法及装置 |
CN108111421B (zh) * | 2017-11-28 | 2021-02-09 | 苏州浪潮智能科技有限公司 | 一种基于多重哈希的报文分流方法及装置 |
CN112988763A (zh) * | 2021-05-14 | 2021-06-18 | 北京顺实科技有限公司 | 一种以部分散列Key为索引的Kv数据库存储与查询方法 |
CN112988763B (zh) * | 2021-05-14 | 2021-07-27 | 北京顺实科技有限公司 | 一种以部分散列Key为索引的Kv数据库存储与查询方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102013208213B4 (de) | 2016-07-21 |
DE102013208213A1 (de) | 2013-11-21 |
CN103425725B (zh) | 2017-04-12 |
JP2013242539A (ja) | 2013-12-05 |
US8762399B2 (en) | 2014-06-24 |
US20130311492A1 (en) | 2013-11-21 |
JP6234048B2 (ja) | 2017-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425725A (zh) | 散列冲突降低系统 | |
US10713558B2 (en) | Neural network with reconfigurable sparse connectivity and online learning | |
CN107004013B (zh) | 用于使用基于硬件的处理来提供分布式树遍历的系统和方法 | |
CN103117931B (zh) | 基于哈希表和tcam表的mac地址硬件学习方法及系统 | |
US8908564B2 (en) | Method for Media Access Control address learning and learning rate suppression | |
US11463381B2 (en) | Network forwarding element with key-value processing in the data plane | |
CN104104604A (zh) | 网络交换机设备中的准确匹配哈希查找数据库 | |
US10038571B2 (en) | Method for reading and writing forwarding information base, and network processor | |
CN104268159B (zh) | 一种基于动态镜像的实时数据仓库数据预存取方法 | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN106294205A (zh) | 缓存数据处理方法及装置 | |
CN104102586A (zh) | 一种地址映射处理的方法、装置 | |
CN105264525A (zh) | 内部搜索引擎架构 | |
JP2007522571A (ja) | 任意のアルゴリズムを並列計算するための再構成可能なスイッチング装置 | |
US20110255544A1 (en) | System and method for an exact match search using pointer based pipelined multibit trie traversal technique | |
US10601711B1 (en) | Lens table | |
EP2382635B1 (en) | Content assembly memory and method | |
US11140078B1 (en) | Multi-stage prefix matching enhancements | |
Nawa et al. | Energy-efficient high-speed search engine using a multi-dimensional TCAM architecture with parallel pipelined subdivided structure | |
CN105553646B (zh) | 面向分组密码算法并行计算的可重构s盒电路结构 | |
CN104702508A (zh) | 表项动态更新方法及系统 | |
CN109918074B (zh) | 编译链接优化方法 | |
US20170220659A1 (en) | System and method of key range deletions | |
CN104572432B (zh) | 一种无锁链表管理装置 | |
WO2024016863A1 (zh) | 规则查找方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 |