CN111291058B - 一种基于分层pc-trie结构的LPM规则存储方法 - Google Patents

一种基于分层pc-trie结构的LPM规则存储方法 Download PDF

Info

Publication number
CN111291058B
CN111291058B CN202010185738.5A CN202010185738A CN111291058B CN 111291058 B CN111291058 B CN 111291058B CN 202010185738 A CN202010185738 A CN 202010185738A CN 111291058 B CN111291058 B CN 111291058B
Authority
CN
China
Prior art keywords
trie
prefix
hash
lpm
rule
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.)
Active
Application number
CN202010185738.5A
Other languages
English (en)
Other versions
CN111291058A (zh
Inventor
王娜
卢笙
陈盈安
张鹏
沈小朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinqiyuan Nanjing Semiconductor Technology Co ltd
Original Assignee
Xinqiyuan Nanjing Semiconductor Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinqiyuan Nanjing Semiconductor Technology Co ltd filed Critical Xinqiyuan Nanjing Semiconductor Technology Co ltd
Priority to CN202010185738.5A priority Critical patent/CN111291058B/zh
Publication of CN111291058A publication Critical patent/CN111291058A/zh
Application granted granted Critical
Publication of CN111291058B publication Critical patent/CN111291058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分层pc‑trie结构的LPM规则存储方法,该方法利用TCAM解决Black Sheep Memory问题,集中所有Hash冲突的LPM规则的对应长度前缀,对前缀长度进行分类,而后根据这些前缀来存储映射的pc‑trie的地址,最后根据规则余下信息,快速搜索和插入规则到所映射的pc‑tire的同时充分利用硬件空间,并且降低TCAM存储难度,从而达到解决Hash冲突的规则存储以及时延固定的问题。

Description

一种基于分层pc-trie结构的LPM规则存储方法
技术领域
本发明属于存储技术领域,更具体地,涉及一种基于分层pc-trie结构的LPM规则存储方法。
背景技术
基于目前的网络速度(速度超过100-Gb/s),不仅须要路由查找结构更快锁定其最长前缀匹配规则(LPM)的位置并返回相关数据,而且对LPM规则的容量也更大要求。LPM的规则存储可以在DDR中实现,但是即便DDR容量再大,要管理海量的LPM规则还要快速索引,如果没有合理的管理方法和设计架构也是利用率极低。因此合理的架构以及解决这个架构中的瓶颈成为研究的重中之重。
目前业界提出了pc-tire的分层结构。基于目前实际的LPM规则的统计(长度范围为0~128),由于绝大多数LPM前缀规则落入在前缀长度24和48的区域,因此基于这样的分布,论文FlashTrie: Beyond 100-Gb/s IP Route Lookup Using Hash-Based Prefix-Compressed Trie指出对前缀长度短的LPM规则可利用trie结构直接存储LPM规则所涉及信息,其余的LPM规则则根据不同长度的分类,去向不同Hash,以锁定pc-trie的位置,最后存储这条规则所映射的附加信息。这样做的好处是在把庞大的trie结构转化为动态pc-trie,以充分利用硬件空间。
那么它的瓶颈也不言而喻,第一个是Hash算法的设计,第二个是对于Hash冲突的解决方案,第三个是pc-trie对应的动态存储空间的管理。Hash算法的选择,当然是分布越均匀越好。但是对于一个pc-trie本身的高度有限,在未知其规则模式的前提下,从其前缀中合理取Hash Bit是很困难的。其次是当存在Hash冲突时,需要管理Hash冲突的pc-trie,这就是所谓的Black Sheep Memory,须达到同时搜索的目的。最后是若给pc-trie预留完整的空间,则可申请的pc-trie的个数太少,而且填充率太低,因此须合理动态扩充pc-trie的占用空间。
现有技术中基于pc-trie的LPM规则存储示意图,如图1所示,大三角形为其存储结构,第一层区域是完全trie结构,长度为13,因此可以直接索引到规则对应的trie的位置;第二层到最后一层都为pc-trie构成,每一层的长度分别为9,9,9,9,9,9,9,9,9,9,9,9,9。例如长度为22的LPM规则会落在第二层,长度为40的LPM规则会落在第四层……而每层的pc-trie个数取决于硬件容量和对应的LPM规则个数。图中规则2长度在第一层长度区间,因此可以直接存储在tire结构中;图中规则1的长度在第三层长度区间,则根据对应的Hash2来定位它对应的pc-trie的位置;图中规则3的长度在第二层长度区间,则根据对应的Hash1来定位它对应pc-trie的位置。现有技术中基于pc-trie的路由查询的简单示意图,如图2所示,当一条路由进入查询时,经过Hash模块,通过不同的Hash,进入到相对应的tire结构和pc-trie结构中,若存在与映射的pc-trie的前缀一致,则直接查找,得到的结果送到比较器中;若出现不一致的情况,就去往Black Sheep Memory中查询,得到相对应的结果,送到比较器。最后经过比较器计算,输出最长匹配的附加信息数据。
目前解决Black Sheep Memory的方法通常是给每层pc-tire分配一个Hash冲突的管理存储空间,存储这些规则以及它们所映射的附加信息。当一条路由进入这样的结构查找时,需要同时在各个层搜索。在各个层搜索时,还须考虑最长匹配到的结果是否在Black Sheep Memory中。由于数据存在稀疏性,pc-trie利用率低,导致每层需要的BlackSheep Memory大小或个数不确定。基于现有技术的插入和查询结构,Black Sheep Memory可以用cam实现,如若每层设置一组cam,需要的cam数量未知,数据长短参差不齐,针对这些问题,本发明提出设计方案以尝试解决pc-trie的Hash冲突问题,从而方便管理LPM规则和它映射的附加信息以及节省Black Sheep Memory空间的问题。
发明内容
本发明的目的是解决基于分层pc-trie结构LPM规则存储中的Black SheepMemory合理存储问题。
为实现上述发明目的,本发明提出的技术方案如下:
一种基于分层pc-trie结构的LPM规则存储方法,所述方法包括:
第一步,将发生HASH冲突的LPM规则的前缀和对应的pc-trie索引存储在BlackSheep Memory中;
第二步,当存在HASH冲突的LPM规则时,查看Black Sheep Memory中是否存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀;
第三步,若Black Sheep Memory中存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀,则从Black Sheep Memory取出所述已存储的前缀对应的pc-trie索引,通过所述pc-trie索引找到对应的pc-trie,将所述HASH冲突的LPM规则及其附加信息存储在所述对应的pc-trie中;若Black Sheep Memory中不存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀,则申请一个新的pc-trie,将所述HASH冲突的LPM规则及其附加信息存储在所述新的pc-trie中,将所述HASH冲突的LPM规则的所述前缀存储在Black SheepMemory中,并且把所述新的pc-trie索引存储到Black Sheep Memory中。
进一步地,所述pc-trie索引存储在Black Sheep Memory的关联数据模块(AD)中。
进一步地,Black Sheep Memory用TCAM实现。
进一步地,为了保证将所述HASH冲突的LPM规则的前缀插入TCAM的速度,一个TCAM单元存储多个不同长度的所述HASH冲突的LPM规则的前缀。
进一步地,一个TCAM单元存储三种长度的所述HASH冲突的LPM规则的前缀。
进一步地,最短的所述HASH冲突的LPM规则的前缀从前往后插入,最长的所述HASH冲突的LPM规则的前缀从后往前插入,中间长度的所述HASH冲突的LPM规则的前缀则从中间往两边插入,若要插入的位置已被占用,则将所述HASH冲突的LPM规则的所述前缀存储到TCAM的其他单元中。
本发明利用TCAM解决Black Sheep Memory问题,对所有Hash冲突的LPM规则的对应长度前缀(前缀不存在重复的情况),对前缀长度进行分类,而后根据这些前缀来存储映射的pc-trie的地址,最后根据规则余下信息,快速搜索和插入规则到所映射的pc-tire的同时充分利用硬件空间,并且降低TCAM存储难度,从而达到解决Hash冲突的规则存储以及时延固定的问题。
附图说明
图1为现有技术的基于pc-trie的LPM规则存储示意图;
图2为现有技术的基于pc-trie的附有Black Sheep Memory规则存储和查询示意图,其中Black Sheep Memory用缩写BSM表示;
图3为现有技术的插入LPM规则的示意图;
图4为根据本发明的基于pc-trie的附有Black Sheep Memory的规则存储和查询示意图;
图5为根据本发明的插入LPM规则的示意图;
图6为根据本发明的存储一个LPM规则的TCAM的结构示意图。
实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互结合。
基于现有技术插入LPM规则的方案如图3所示。图3中有六个规则要插入,它们长度都落在14~22这个区域,因此它们映射的是同一层pc-trie。通过选取的Hash Bit,映射到Hash Ram,获取pc-trie地址,对比其前缀(prefix),相同则可直接访问,若不相同则去往这一层Black Sheep Memory查找。从图中可以知道只有第一条和第四条规则可以直接访问并存储其附加信息,其他规则须通过Black Sheep Memory访问并存储它们的附加信息。因此,这一层的Black Sheep Memory存储内容分别为0000001101011110001,00001010011110,1011110001111000111和10111100011111以及它们所映射的附加信息,且只消耗的两个pc-tire。
基于图2中的插入和查询结构,Black Sheep Memory可以用cam实现,如若每层设置一组cam,需要的cam数量未知,数据长短参差不齐,对pc-trie的利用率低。本发明提出一个解决针对于每层Hash冲突的Black Sheep Memory解决方案。如图4所示,在本发明的技术方案中,把每一层的Black Sheep Memory集中到一起,统一管理,三号线代表去往BlackSheep Memory搜索pc-tire的地址,二号线代表去往索引到的pc-trie地址后查找附加数据或者插入附加数据,一号线代表返回查询结果。图中的其他的线是类似于流程图的线,是搜索数据经过不同hash,去往不同层,最终得到不同搜索结果的过程。
本发明提出的以TCAM为基础的插入LPM规则的方案如图4所示。 TCAM存储的不再是完整的LPM规则,而是发生Hash冲突的LPM规则的部分前缀和其相对应的pc-trie索引。把发生hash冲突的规则,按其长度取其相应长度的前缀,若TCAM存在这个前缀,则直接按这个前缀对应的pc-trie的索引,找到相应的pc-trie的结构,将其存储;否则就利用TCAM存储这个前缀,申请一个新的pc-trie,将这个pc-trie的索引存储到AD中,通过pc-trie的索引找到相应的pc-trie的结构,最终将其存储。在trie结构的最大前缀长度为trie_lenth,且每个pc-trie的最大长度为pc-trie_lenth的存储结构中,存储长度为L(L>13)的LPM规则的方法可以包含以下几个步骤:
第一步,计算出长度L对应的hash,根据hash寻找对应的pc-trie;若pc-trie不存在,则到第二步;若pc-trie存在,则对比这个pc-trie对应的前缀是否与这个规则的前缀相同。相同则到第三步,不相同则到第四步。
第二步,截取这个规则的前L-((L-trie_lenth)% pc-trie_lenth)长度的部分作为前缀,申请一个新的pc-trie,这个前缀即为这个pc-trie对应的前缀,然后到第三步。
第三步,去除该规则的前缀,以剩余的部分作为pc-trie的路径,锁定存储位置并存储它的附加信息。
第四步,截取这个规则的长度为L-((L-trie_lenth)% pc-trie_lenth)的前缀,用该前缀到TCAM中搜索,若搜中,则从TCAM的关联数据模块(AD)中得到pc-trie的地址,去往第三步;若没搜中,则依次执行第二步,第三步,然后把这个前缀存储在TCAM中,同时把新申请的pc-trie的地址存储到关联数据模块。
若按上述对,每层的长度的划分(除了第一层),则存储在TCAM的前缀的长度只能是13,22,31,40,49,58,67,76,85,94,103,112和121。同样的规则加入新的结构,如图5所示,初始状态没有任何一个pc-trie,所选hash bit为第0位,第3位和第6位。从图中可以看出,当按顺序加入规则时,一开始申请pc-trie成功的是第一个规则和第四个规则,它们所申请的pc-trie对应的前缀分别为:0010001101010和1001100001111。其他的规则分别与这两个规则存在Hash冲突,于是去往Black Sheep Memory,因为这些规则的长度都处于同一区间[14,22], 以它们取得的前13个bit作为前缀并存储在TCAM中,分别为0000001101011,0000101001111和1011110001111,并且把对应的新申请的三个pc-trie地址存储到TCAM的关联数据模块,最后把这些规则所附加的数据信息存储于这些新的pc-trie中。
图6为根据本发明的存储一个LPM规则的TCAM的结构示意图。若一个TCAM单元存储一种长度的前缀,需要很多TCAM单元结构。为了节约TCAM资源,我们把有限个不同的前缀长度的规则前缀存储在一个单元里。TCAM的一个单元的结构如图6所示,为了减少排序和移动规则时间,一个TCAM单元最多存储三种长度的前缀。图中把三种不同长度的前缀存储在一起,以其长度作为优先级,且根据每行ram的填充情况,增加TCAM的Hash Bit,动态扩展ram行。每行ram存储的规则的优先级是从低到高,比较器只返回命中后最高优先级的规则对应的AD。最短的规则从前往后插,最长规则的从后往前插,中间长度的规则从中间往两边插入,若应插入位置被占用,则合理增加TCAM的Hash Bit,对现有规则重新分布到ram行中,若无法增加Hash Bit,则存储到其他的单元中。若存在一条Hash冲突规则101000011100010101111001011001000,该规则通过TCAM的Hash索引,映射到第三行ram中,它的长度为33,因为它所对应的pc-trie那一层的前缀长度限制为31,这个TCAM单元存储的规则前缀的长度为13,22和31,所以它须从后往前查找位置(从下往上数,第三行,存储在倒数第二个的位置),并对比是否一致,直到数据一致或者出现空位置。若不一致且有空位置,则存储这个规则的前31个bit并将其申请的pc-trie的地址存储到TCAM的AD中;若一致,则直接从索引的AD中返回pc-trie的地址,最终两者情况都是到对应的pc-tire中,按剩余的2个bit,存储或查找其附加信息;若不一致且无空位置,则试图增加Hash Bit以扩展ram行,重新分布规则前缀,以找到空位置(无法增加Hash Bit,则存储到其他TCAM单元)。
本领域的技术人员容易理解,以上所述仅为发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于分层pc-trie结构的LPM规则存储方法,所述方法包括:
A. 将发生HASH冲突的LPM规则的前缀和对应的pc-trie索引存储在Black SheepMemory中;
B. 当存在HASH冲突的LPM规则时,查看Black Sheep Memory中是否存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀;
C. 若Black Sheep Memory中存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀,则从Black Sheep Memory取出所述已存储的前缀对应的pc-trie索引,通过所述pc-trie索引找到对应的pc-trie,将所述HASH冲突的LPM规则及其附加信息存储在所述对应的pc-trie中;若Black Sheep Memory中不存在与所述HASH冲突的LPM规则的前缀相匹配的已存储的前缀,则申请一个新的pc-trie,将所述HASH冲突的LPM规则及其附加信息存储在所述新的pc-trie中,将所述HASH冲突的LPM规则的所述前缀存储在Black Sheep Memory中,并且把所述新的pc-trie索引存储到Black Sheep Memory中,其中Black Sheep Memory用TCAM实现。
2. 根据权利要求1所述的基于分层pc-trie结构的LPM规则存储方法,其中所述pc-trie索引存储在Black Sheep Memory的关联数据模块中。
3.根据权利要求1所述的基于分层pc-trie结构的LPM规则存储方法,其中一个TCAM单元存储多个不同长度的所述HASH冲突的LPM规则的前缀。
4.根据权利要求3所述的基于分层pc-trie结构的LPM规则存储方法,其中一个TCAM单元存储三种长度的所述HASH冲突的LPM规则的前缀。
5.根据权利要求4所述的基于分层pc-trie结构的LPM规则存储方法,其中最短的所述HASH冲突的LPM规则的前缀从前往后插入,最长的所述HASH冲突的LPM规则的前缀从后往前插入,中间长度的所述HASH冲突的LPM规则的前缀则从中间往两边插入,若要插入的位置已被占用,则将所述HASH冲突的LPM规则的所述前缀存储到TCAM的其他单元中。
CN202010185738.5A 2020-03-17 2020-03-17 一种基于分层pc-trie结构的LPM规则存储方法 Active CN111291058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010185738.5A CN111291058B (zh) 2020-03-17 2020-03-17 一种基于分层pc-trie结构的LPM规则存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010185738.5A CN111291058B (zh) 2020-03-17 2020-03-17 一种基于分层pc-trie结构的LPM规则存储方法

Publications (2)

Publication Number Publication Date
CN111291058A CN111291058A (zh) 2020-06-16
CN111291058B true CN111291058B (zh) 2023-06-16

Family

ID=71029587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010185738.5A Active CN111291058B (zh) 2020-03-17 2020-03-17 一种基于分层pc-trie结构的LPM规则存储方法

Country Status (1)

Country Link
CN (1) CN111291058B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905597B (zh) * 2021-03-11 2022-02-11 芯启源(南京)半导体科技有限公司 一种计算最长前缀匹配LPM规则索引的hash方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477559A (zh) * 2002-08-23 2004-02-25 华为技术有限公司 一种实现长字符串前缀匹配的方法
CN101695054A (zh) * 2009-09-30 2010-04-14 杭州华三通信技术有限公司 路由维护方法和装置以及路由查询方法和装置
CN101827137A (zh) * 2010-04-13 2010-09-08 西安邮电学院 一种基于哈希表和扩展存储器的高性能IPv6地址查找方法
EP2288092A1 (en) * 2009-08-16 2011-02-23 Compass Electro-Optical Systems Ltd Method and device for improving scalability of longest prefix match
CN103107945A (zh) * 2013-01-10 2013-05-15 中国科学院信息工程研究所 一种快速查找ipv6路由的系统及方法
CN103428093A (zh) * 2013-07-03 2013-12-04 北京邮电大学 一种基于名字路由前缀存储、匹配及更新方法与装置
CN103516550A (zh) * 2013-09-29 2014-01-15 国家计算机网络与信息安全管理中心 一种面向大规模包分类规则集的规则冲突检测方法及系统
CN104854828A (zh) * 2012-06-27 2015-08-19 华为技术有限公司 通过统一哈希化Trie树进行的互联网协议及以太网查找

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477559A (zh) * 2002-08-23 2004-02-25 华为技术有限公司 一种实现长字符串前缀匹配的方法
EP2288092A1 (en) * 2009-08-16 2011-02-23 Compass Electro-Optical Systems Ltd Method and device for improving scalability of longest prefix match
CN102597973A (zh) * 2009-08-16 2012-07-18 康帕斯电子光学系统有限公司 用于改善最长前缀匹配的可扩展性的方法和设备
CN101695054A (zh) * 2009-09-30 2010-04-14 杭州华三通信技术有限公司 路由维护方法和装置以及路由查询方法和装置
CN101827137A (zh) * 2010-04-13 2010-09-08 西安邮电学院 一种基于哈希表和扩展存储器的高性能IPv6地址查找方法
CN104854828A (zh) * 2012-06-27 2015-08-19 华为技术有限公司 通过统一哈希化Trie树进行的互联网协议及以太网查找
CN103107945A (zh) * 2013-01-10 2013-05-15 中国科学院信息工程研究所 一种快速查找ipv6路由的系统及方法
CN103428093A (zh) * 2013-07-03 2013-12-04 北京邮电大学 一种基于名字路由前缀存储、匹配及更新方法与装置
CN103516550A (zh) * 2013-09-29 2014-01-15 国家计算机网络与信息安全管理中心 一种面向大规模包分类规则集的规则冲突检测方法及系统

Also Published As

Publication number Publication date
CN111291058A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
US8150891B2 (en) System for IP address lookup using substring and prefix matching
US6862287B2 (en) Method and apparatus for a four-way hash table
US7592935B2 (en) Information retrieval architecture for packet classification
US7809701B2 (en) Method and system for performing exact match searches using multiple hash tables
US7467151B2 (en) Method and data structure for a low memory overhead database
CN101655861B (zh) 基于双计数布鲁姆过滤器的哈希方法和哈希装置
US7613134B2 (en) Method and apparatus for storing tree data structures among and within multiple memory channels
US6389507B1 (en) Memory device search system and method
US6725216B2 (en) Partitioning search key thereby distributing table across multiple non-contiguous memory segments, memory banks or memory modules
US9009401B2 (en) Multi-updatable least recently used mechanism
US8086641B1 (en) Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US11271857B2 (en) Dynamic allocation of memory for packet processing instruction tables in a network device
CN104158744A (zh) 用于网络处理器的建表和查找方法
CN108959113A (zh) 用于闪存感知堆存储器管理的方法和系统
CN112000847A (zh) 基于gpu并行的自适应基数树动态索引方法
CN100479436C (zh) 静态多接口范围匹配表的管理维护方法
CN111291058B (zh) 一种基于分层pc-trie结构的LPM规则存储方法
US7987205B1 (en) Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
CN109918316A (zh) 一种减少ftl地址映射空间的方法及其系统
US11782895B2 (en) Cuckoo hashing including accessing hash tables using affinity table
CN112818185A (zh) 一种基于sram的最长前缀匹配硬件系统查找的方法
US7953721B1 (en) Integrated search engine devices that support database key dumping and methods of operating same
US20050100012A1 (en) Set-associative memory architecture for routing tables
CN103064901B (zh) 一种ram、网络处理系统和一种ram查表方法
CN113626432A (zh) 一种支持任意Key值的自适应基数树的改进方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant