CN102831140A - 一种fpga中mac地址查找表的实现方法 - Google Patents
一种fpga中mac地址查找表的实现方法 Download PDFInfo
- Publication number
- CN102831140A CN102831140A CN201210155931XA CN201210155931A CN102831140A CN 102831140 A CN102831140 A CN 102831140A CN 201210155931X A CN201210155931X A CN 201210155931XA CN 201210155931 A CN201210155931 A CN 201210155931A CN 102831140 A CN102831140 A CN 102831140A
- Authority
- CN
- China
- Prior art keywords
- look
- mac address
- ram
- index value
- tables
- 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.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种FPGA中MAC地址查找表的实现方法,通过合理的安排查找表的数据组织结构,并综合考虑索引值冲突与查找表查找速度,为每个索引值设定合理的对应的MAC地址数,将查找表进行拆分,并采用在一个老化逻辑里对查找表进行逐个老化,有效降低了对逻辑资源的消耗;同时通过外挂小容量CAM,进一步有效防止索引值冲突。本发明查找表的实现方法用尽量少的逻辑资源实现查找表的优点,具有查表迅速、逻辑资源占用少、可扩展性高等优点。
Description
技术领域
本发明属于电通信技术领域,尤其涉及一种现场可编程门阵列中MAC地址查找表的实现方法。
背景技术
MAC查找表(以下简称查找表)用来实现数据查找转发,可以看成一块特殊的存储单元,里面存放有MAC地址及它所对应的端口号和生存时间,根据查找表对收到的帧的目的MAC地址来查找转发数据帧。基本原理是通过一定的算法把目的MAC地址转成查找表的查询地址,从而把该存储单元中的数据读出,找到目的端口号,把数据帧转发到对应端口上去。每当从某个端口收到一个源地址后,都要查表更新一下某个表项的生存时间,若长时间没有更新生存时间,则生存时间结束后,要删除该表项,防止设备位置移动后,仍然记录着一个无用的表项。
由于MAC地址是48bit,而一般的查找表容量在几万个以下,所以需要通过特定的映射把48bit的地址转成更少位宽的地址。常用的转换方法就是利用hash散列函数来实现把任意长度的消息压缩成特定位宽的消息摘要,通常称为索引值,索引值对应存储该MAC地址的地址,根据索引值查找。实际设计散列函数时不可避免的出现索引值冲突的问题,因此实际中,更多关注出现冲突后如何处理冲突的问题。
在构造哈希算法时首要考虑的是算法复杂度和对资源的消耗,然后维持碰撞大小在合理水平。对于一个N行,M列的查找表,它的容量大小为N×M,N表示可能的索引值总数,M表示每个索引值下允许发生M-1次碰撞,因此若某个索引值下发生了M次碰撞,则说明整个查找表发生了1次碰撞。虽然M取值越大,碰撞的可能就越小,但是M取值越大,查找表的查找速度就越低。
现在市场中对性能要求比较高的场合,采用ASIC实现MAC查找表的基本功能,然后再利用嵌入式微处理器、嵌入式操作系统和高速存储器(如RLDRAM)等实现具有可配置功能的交换机产品,但是对于性能要求不高的场合,常用的方法是采用一块FPGA来实现。
但是由于在FPGA实现查找表时,逻辑综合工具会为某一特定子功能综合出独立的逻辑电路,因此逻辑资源消耗很大。
发明内容
本发明的目的是提供一种基于FPGA的MAC地址查找表的实现方法,有效的节约逻辑资源,维持索引值冲突在合理水平。
一种FPGA中MAC地址查找表的实现方法,用于在现场可编程门阵列FPGA中实现MAC查找表,包括步骤:
确定查找表的的随机存储器RAM结构;
确定查找表每个索引值对应的MAC地址数为M,将查找表拆分为M份;
对每一份查找表采用单独的老化逻辑资源,同时对M份查找表进行老化操作。
所述查找表的的随机存储器RAM结构为将MAC地址和端口号一起存储在一个RAM中,而对应的生存时间TTL存储在另一个RAM,所述MAC地址和端口号存储的RAM位宽为53bit,其中MAC地址占用48bit,端口号占用5bit,所述生存时间TTL存储的RAM位宽为5bit。一个最基本的查找表项需要包括48bit的MAC地址、5bit的目的端口号和5bit的生存时间TTL,而查找表的基本操作包括源MAC地址学习、目的MAC地址查找和查找表老化,其中源MAC地址学习需要存储MAC地址、目的端口号和TTL,目的MAC地址查找仅仅需要读取索引值下的MAC地址和目的端口号,查找表老化仅仅需要对TTL值进行操作,因此这样构造的查找表的数据组织结构,满足在读写时仅读写所需要操作的数据,尽量减少无用数据的读写,从而能尽量减少对逻辑资源的消耗。
进一步地,所述查找表容量为1K,所述查找表索引值对应的MAC地址数为2,将1K的查找表拆分为2个,分别为第一RAM与第二RAM,所述第一RAM包括第一53bit位宽RAM和第一5bit位宽RAM,所述第二RAM包括第二53bit位宽RAM和第二5bit位宽RAM。
进一步地,每个索引值对应于第一RAM和第二RAM的相同行。根据每个索引值对应的MAC地址个数将查找表分为相同结构的两个RAM,使得索引值冲突被维持在合理水平,兼顾索引值冲突和查找表查找速度。
所述索引值是通过哈希算法计算MAC帧中的MAC地址得到,将MAC地址每9比特分为一组,共分成6组,第6组不足9比特用0补充,然后通过下述公式计算得到索引值:
Hash(m)=A(m)+A(m+9)+A(m+18)+A(m+27)+A(m+36)+A(m+45),其中m∈[0,8]。
所述优化老化操作是指分别通过一个单独的老化逻辑资源逐个对第一RAM或第二RAM中的生存时间TTL进行老化操作。传统的同时老化方式的逻辑综合后的结果是为每个存储单元都综合出一个单独的只供该存储单元使用的老化逻辑,采用逐个老化的方式避免了同时老化造成的逻辑资源浪费,节约了大量的逻辑资源。
所述FPGA外挂小容量的CAM,当需要学习的MAC地址数大于160时,将学习的MAC地址存储到CAM。通过外怪笑容量CAM,有效防止出现的索引值冲突。
进一步地,所述查找表实现方法还包括步骤:
通过IP核例化形成所述第一RAM和第二RAM,采用初始化文件把所有RAM存储空间初始化为全零。从而避免了用硬件描述语言描述的RAM的每个表项在系统上电时需要大量的且各自独立的初始化逻辑来初始化RAM中所有表项的值。
本发明一种FPGA中MAC地址查找表的实现方法,通过合理安排查找表RAM数据组织结构,并综合考虑索引值冲突与查找表查找速度,将查找表进行拆分,有效节约了逻辑资源,提高了查找速度;同时通过外挂小容量CAM,进一步有效防止索引值冲突;采用在一个老化逻辑里对查找表进行逐个老化,进一步降低了逻辑资源的消耗。本发明查找表的实现方法用尽量少的逻辑资源实现查找表的优点,具有查表迅速、逻辑资源占用少、可扩展性高等优点。
附图说明
图1为本发明查找表实现方法流程示意图;
图2为本发明RAM中数据组织结构示意图;
图3为M取值对索引值冲突的影响示例图;
图4为本发明查找表的实施例结构示意图;
图5为本发明实施例源地址学习流程图;
图6为本发明实施例目的MAC地址查找流程图;
图7为本发明实施例老化操作流程图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
本发明基于FPGA实现MAC地址查找表的方法,以1K大小的MAC查找表为例来进行说明。如图1所述,包括步骤:
步骤101、设定MAC地址查找表随机存储器RAM的数据组织结构。
一个最基本的查找表项需要包括48bit的MAC地址、5bit的目的端口号和5bit的生存时间TTL,而查找表的基本操作包括源MAC地址学习、目的MAC地址查找和查找表老化。其中源MAC地址学习需要存储MAC地址、目的端口号和TTL;目的MAC地址查找仅仅需要读取索引值下的MAC地址和目的端口号;查找表老化仅仅需要对TTL值进行操作。因此在构造查找表项的数据组织结构时,需要满足仅仅读写3种基本操作所需的数据,尽量减少无用数据的读写,从而能尽量减少对逻辑资源的消耗。
为此将48bit的MAC地址、5bit的目的端口号与5bit的生存时间TTL进行分开存储,如图2所示。MAC地址和端口号一起存储在位宽为48bit+5bit=53bit的RAM_53bit中,而对应的TTL存储在位宽为5bit的RAM_5bit中。这样在源MAC地址学习时把输入的MAC地址、端口号存储在RAM_53bit中,把TTL存储在RAM_5bit中;目的MAC地址查找时只需读取RAM_53bit中的索引值下的表项;查找表老化时只需要遍历读取RAM_5bit中的值,如果发现某个表项为0,则把RAM_53bit中的对应表项清零,如果某个表项不为0,则把该TTL值减1后重新写入到该表项,然后继续读取下一个TTL值。
步骤102、设定查找表每个索引值对应的MAC地址数为M,将查找表拆分为M份。
具体地,对于碰撞问题可以通过允许在同一个索引值单元里存储2个MAC地址,并让FPGA外挂小容量的CAM来解决。这是由于对于容量一定的查找表,M值越大,则N取值越小,发生碰撞的可能性就越小。
如图3所示为对于容量大小为4K的查找表,把M取值为1、2、4时,输入随机产生的MAC地址个数下所出现的碰撞次数。由图中可以看出,4K容量的查找表,把N×M选为4K×1、2K×2和1K×4时,发生冲突的可能性不断降低。虽然把M取值越大越好,但是M值越大,则每次索引值下的MAC地址数就越多,则每次查表需要比较M次才能确定这个索引值下有没有需要查找的目的MAC地址。这样固然能降低冲突,但是查找表的查找性能就会降低。因此,兼顾哈希冲突和查找表查找速度,这里选取M=2来尽量避免碰撞的影响,对于本实施例中1K的查找表,取M=2,当需要学习的MAC地址数大于160时,就需要把学习的MAC地址存储到CAM,以达到用尽量少的逻辑资源实现所需查找表功能的目的。
具体地,采用哈希算法根据MAC地址计算出索引值,在计算出的索引值对应的RAM存储单元存储该MAC地址。以索引值为RAM中的地址,作为记录在查找表中的存储位置,采用对MAC地址进行简单的异或操作来计算索引值,所以对48bit的MAC地址的哈希算法为Hash(m)=A(m)+A(m+9)+A(m+18)+A(m+27)+A(m+36)+A(m+45),m∈[0,8],把MAC地址每9比特分为一组,共分成6组,第6组不足9比特用0补充,然后把6组9比特地址进行异或运算,从而得到索引值,然后在FPGA的RAM中来实现容量为1K的查找表。
本实施例1K查找表如图4所示,分为两个RAM,分别为RAM1与RAM2,每个索引值对应两个RAM存储单元。
步骤103、优化老化操作,在老化时,从资源共享的思想出发,RAM1与RAM2的老化同时进行,每个RAM都有自己单独的老化逻辑资源,每个逻辑资源执行512个索引值。
由于1K查找表被分成了2个512查找表,这两个查找表执行自己单独的老化逻辑。当老化使能信号有效,如果把512个索引值里的内容并行轮询一遍,这种操作方式可以在老化使能有效时,同时给所有512个单元进行老化,但这种处理方式的逻辑综合后的结果是为每个存储单元都综合出一个单独的只供该存储单元使用的老化逻辑,这样512个存储单元就需要消耗大量老化逻辑资源。实际上,老化操作不是查找表很关键的基本操作,因此可以不必采用同时老化。由于本实施例中输入的老化使能信号可能的周期为分,秒,毫秒,55us,系统时钟为65M,因此老化必须在55us/(1/65M)=3575个系统时钟周期内完成。因此只要能在3575个时钟内完成512个单元的老化操作都是可以的。这里尽量采用资源共享的思想,每次老化1个索引值,串行的老化512个单元,这样就需要至少512个系统时钟周期,即512个存储单元共用同一块老化逻辑。
由于从RAM_5bit中顺序读出某个存储单元,需要1个时钟;然后经过1次TTL是否为0的判断,如果不为0,TTL值执行减1操作,也需要1个时钟;接着要把新的TTL值重新写入到要RAM_5bit中或把某个存储单元清零,也需要1个时钟。这样操作完一个存储单元需要3个时钟。由于RAM_5bit是双口RAM,有读端和写端,即读写操作可以同时进行,这样就可以按照流水线的读写方式,顺序的对512个存储单元进行老化操作。这样512个单元的老化就需要512+2=514个时钟,而老化使能信号最少要3375时钟才能有效,因此在相邻的老化使能信号间隔里总是能顺利完成老化。
对于上述查找表所需要的RAM资源,通过例化Altera提供的IP核并选择所需的参数来得到RAM存储器。系统正常工作时,RAM中的所有表项里的值必须是个固定的值,其中RAM中如果学习到了某个MAC地址,则该索引值下就会有相关记录,否则该索引值下的所有内容为0。为了节约RAM初始化操作所需的逻辑资源,例化的所有RAM采用Quartus产生的.mif初始化文件来把所有RAM存储空间初始化为全零。从而避免了用硬件描述语言描述的RAM的每个表项在系统上电时需要大量的且各自独立的初始化逻辑来初始化RAM中所有表项的值。
对于上述方法实现的FPGA中的查找表,以下就源地址的学习,目的MAC查找以及老化操作进行详细的描述,其中条目是指MAC帧中包含的MAC地址和端口号信息。
具体地,进行源MAC地址学习的方法流程如图5所示:
当收到MAC帧时,对源MAC进行哈希计算,计算出索引值,读取条目,查看RAM1是否为空,如果为空,则检查RAM2是否为空,如果RAM2也为空,则将条目写入到RAM1中对应该索引值的RAM单元;如果RAM2不为空,且RAM2中有与匹配的条目,则更新RAM2中该索引值对应的RAM单元中的生存时间TTL;如果RAM2不为空,且RAM2中没有匹配的条目,则将条目写入到RAM1中对应该索引值的RAM单元。
如果检查RAM1时,RAM1不为空,则检查RAM1中是否有匹配的条目,如果没有则查看RAM2是否为空,RAM2为空时,将条目写入到RAM2中该索引值对应的RAM单元;如果RAM1不为空,且RAM2不为空,则查看RAM2中是否有匹配的条目,有则更新RAM2中该索引值对应的RAM单元中的生存时间TTL,否则将条目写入到外挂的CAM中。
如果检查RAM1不为空,且RAM1中有匹配的条目,则更新RAM1中该索引值对应的RAM单元中的生存时间TTL。
即如果有匹配的MAC地址,则更新RAM中的生存时间,如果没有匹配的MAC地址,则将源MAC地址写入到RAM中,在写入时,当遇到哈希冲突时,则将源MAC地址写入到外挂CAM中。
对于上述方法实现的FPGA中的查找表,其中对于目的MAC地址查找的方法流程如图6所示:
当收到MAC帧时,首先判断目的地址是不是广播地址,如果是则进行泛洪处理,否则查看CAM中是否有匹配条目。
如果CAM中有匹配条目,则直接输出端口号,查找结束;否则对目的MAC进行哈希计算,计算出索引值,根据索引值在RAM中查找。
首先检查RAM1中是否有匹配条目,有则输出端口号,查找结束;否则检查RAM2是否有匹配条目,有则输出端口号,查找结束;若RAM2中也没有匹配条目,则进行泛洪处理。
对于上述方法实现的FPGA中的查找表,其中老化流程如图7所示:
根据外部的时钟输入信号及是否允许老化的控制信号来控制老化,设置老化地址单元计数器(rd_addr_reg)为0,首先读取RAM_5bit中的一个生存时间TTL,如果该TTL等于零,则删除该TTL对应的整个条目;否则将该TTL值减1。
将老化地址单元计数器加1,继续读取下一个TTL,重复上述操作,直到老化地址单元计数器等于511,即设定的一次老化操作的最大的存储单元数,结束老化。
需要说明的是,本实施例1K的查找表分为两个512的页,同时执行两个独立的老化逻辑资源来完成查找表的老化。
通过综合结果的对比,得出上述优化方案节约了大量逻辑资源,在CycloneIII EP3C40Q240C8N中实现整个查找表需要消耗702个LE和59392bit的RAM,最大Fmax为103M。其中例化RAM1_53bit时需要3个M9K和1个reg,例化RAM1_5bit时需要1个M9K和1个reg,虽然M9K需求量增加1个,但是节约了大量的LE资源。通过Quartus对单独的老化操作综合结果可知,采用512个单元共享老化逻辑的方式消耗149个LE,而EP3C40Q240C8N中一共有39600个LE,则如果1K个单元有各自单独的老化逻辑,此时需要消耗149×512×2=152576>39600,因此这将是不可忍受的。实际中,只能采用共享方式,而且尽量让所有的存储单元实现共享。并且,如果查找表的数据组织形式采用M=1的方式,则1K个单元顺序老化完需要1K个时钟,而本文采用M=2,相当于使用了2块老化逻辑。所以,如果查找表容量更大、老化使能信号的周期更小时,可以在查找表的查找速度(与M值大小有关)和老化速度之间、老化资源消耗和老化速度之间作个折中。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种FPGA中MAC地址查找表的实现方法,用于在现场可编程门阵列FPGA中实现MAC地址查找表,其特征在于,包括步骤:
确定MAC地址查找表的随机存储器RAM结构;
确定MAC地址查找表每个索引值对应的MAC地址数为M,将MAC地址查找表拆分为M份;
对每一份MAC地址查找表采用单独的老化逻辑资源,同时对M份MAC地址查找表进行老化操作。
2.如权利要求1所述的查找表实现方法,其特征在于,将MAC地址和端口号一起存储在一个RAM中,而对应的生存时间TTL存储在另一个RAM。
3.如权利要求2所述的查找表实现方法,其特征在于,所述MAC地址和端口号存储的RAM位宽为53bit,其中MAC地址占用48bit,端口号占用5bit,所述生存时间TTL存储的RAM位宽为5bit。
4.如权利要求3所述的查找表实现方法,其特征在于,所述MAC地址查找表容量为1K,所述MAC地址查找表索引值对应的MAC地址数为2,将1K的MAC地址查找表拆分为2个,分别为第一RAM与第二RAM,所述第一RAM包括第一53bit位宽RAM和第一5bit位宽RAM,所述第二RAM包括第二53bit位宽RAM和第二5bit位宽RAM。
5.如权利要求4所述的查找表实现方法,其特征在于,每个索引值对应于第一RAM和第二RAM的相同行。
6.如权利要求1所述的查找表实现方法,其特征在于,所述索引值是通过哈希算法计算MAC帧中的MAC地址得到,将MAC地址每9比特分为一组,共分成6组,第6组不足9比特用0补充,然后通过下述公式计算得到索引值:
Hash(m)=A(m)+A(m+9)+A(m+18)+A(m+27)+A(m+36)+A(m+45),其中m∈[0,8]。
7.如权利要求1所述的查找表实现方法,其特征在于,所述老化操作是指采用一个老化逻辑资源逐个对MAC地址查找表中的生存时间TTL进行老化操作。
8.如权利要求1所述的查找表实现方法,其特征在于,所述FPGA外挂小容量的CAM,当需要学习的MAC地址数大于160时,将学习的MAC地址存储到CAM。
9.如权利要求1-8任一权利要求所述的查找表实现方法,其特征在于,所述MAC地址查找表实现方法还包括步骤:
通过IP核例化形成所述RAM,采用初始化文件把所有RAM存储空间初始化为全零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210155931XA CN102831140A (zh) | 2012-05-18 | 2012-05-18 | 一种fpga中mac地址查找表的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210155931XA CN102831140A (zh) | 2012-05-18 | 2012-05-18 | 一种fpga中mac地址查找表的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102831140A true CN102831140A (zh) | 2012-12-19 |
Family
ID=47334281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210155931XA Pending CN102831140A (zh) | 2012-05-18 | 2012-05-18 | 一种fpga中mac地址查找表的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831140A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN103763750A (zh) * | 2014-01-08 | 2014-04-30 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN105700859A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种基于网络处理器实现硬件表遍历的方法及装置 |
CN105827394A (zh) * | 2016-03-10 | 2016-08-03 | 浙江亿邦通信科技股份有限公司 | 一种基于FPGA的Hash算法硬件实现装置 |
CN106789697A (zh) * | 2016-12-01 | 2017-05-31 | 北京锐安科技有限公司 | 一种提高大批量网络流表老化效率的方法及装置 |
CN107357551A (zh) * | 2016-05-10 | 2017-11-17 | 成都海存艾匹科技有限公司 | 用于实现至少两类函数的处理器 |
CN107395209A (zh) * | 2017-07-03 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN107896193A (zh) * | 2017-12-29 | 2018-04-10 | 湖南恒茂高科股份有限公司 | 一种交换机的查找表的创建方法、查找方法及查找表 |
CN108040010A (zh) * | 2017-12-08 | 2018-05-15 | 盛科网络(苏州)有限公司 | 表项老化的芯片实现方法及系统 |
WO2021212770A1 (zh) * | 2020-04-22 | 2021-10-28 | 上海御渡半导体科技有限公司 | 一种基于fpga的以太网交换机的mac地址管理装置及方法 |
CN114615196A (zh) * | 2022-03-24 | 2022-06-10 | 北京左江科技股份有限公司 | 一种高速精确匹配查找方法 |
CN115396400A (zh) * | 2022-09-19 | 2022-11-25 | 北京左江科技股份有限公司 | 一种基于fpga的mac地址管理的系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0594196A1 (en) * | 1992-10-22 | 1994-04-27 | Digital Equipment Corporation | Address lookup in packet data communications link, using hashing and content-addressable memory |
-
2012
- 2012-05-18 CN CN201210155931XA patent/CN102831140A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0594196A1 (en) * | 1992-10-22 | 1994-04-27 | Digital Equipment Corporation | Address lookup in packet data communications link, using hashing and content-addressable memory |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581022B (zh) * | 2013-10-23 | 2017-01-11 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN103763750A (zh) * | 2014-01-08 | 2014-04-30 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN103763750B (zh) * | 2014-01-08 | 2017-02-08 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN105700859A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 一种基于网络处理器实现硬件表遍历的方法及装置 |
CN105827394A (zh) * | 2016-03-10 | 2016-08-03 | 浙江亿邦通信科技股份有限公司 | 一种基于FPGA的Hash算法硬件实现装置 |
CN107357551A (zh) * | 2016-05-10 | 2017-11-17 | 成都海存艾匹科技有限公司 | 用于实现至少两类函数的处理器 |
CN106789697B (zh) * | 2016-12-01 | 2019-12-13 | 北京锐安科技有限公司 | 一种提高大批量网络流表老化效率的方法及装置 |
CN106789697A (zh) * | 2016-12-01 | 2017-05-31 | 北京锐安科技有限公司 | 一种提高大批量网络流表老化效率的方法及装置 |
CN107395209A (zh) * | 2017-07-03 | 2017-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN107395209B (zh) * | 2017-07-03 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 数据压缩方法、数据解压缩方法及其设备 |
CN108040010A (zh) * | 2017-12-08 | 2018-05-15 | 盛科网络(苏州)有限公司 | 表项老化的芯片实现方法及系统 |
CN107896193A (zh) * | 2017-12-29 | 2018-04-10 | 湖南恒茂高科股份有限公司 | 一种交换机的查找表的创建方法、查找方法及查找表 |
CN107896193B (zh) * | 2017-12-29 | 2020-10-16 | 湖南恒茂高科股份有限公司 | 一种交换机及其查找表的创建方法、查找方法 |
WO2021212770A1 (zh) * | 2020-04-22 | 2021-10-28 | 上海御渡半导体科技有限公司 | 一种基于fpga的以太网交换机的mac地址管理装置及方法 |
CN114615196A (zh) * | 2022-03-24 | 2022-06-10 | 北京左江科技股份有限公司 | 一种高速精确匹配查找方法 |
CN115396400A (zh) * | 2022-09-19 | 2022-11-25 | 北京左江科技股份有限公司 | 一种基于fpga的mac地址管理的系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831140A (zh) | 一种fpga中mac地址查找表的实现方法 | |
CN103678169B (zh) | 一种高效利用固态盘缓存的方法和系统 | |
CN102012791B (zh) | 基于Flash的数据存储PCIE板卡 | |
US9734056B2 (en) | Cache structure and management method for use in implementing reconfigurable system configuration information storage | |
CN105242881A (zh) | 分布式存储系统及其数据读写方法 | |
US20150127649A1 (en) | Efficient implementations for mapreduce systems | |
US20120054468A1 (en) | Processor, apparatus, and method for memory management | |
CN104156317A (zh) | 一种非易失性闪存的擦写管理方法及系统 | |
CN103309626A (zh) | 实现网络芯片多读写端口存储器的方法及相应存储器 | |
CN102360342A (zh) | 海量影像数据快速存储显示固态硬盘 | |
CN101620623A (zh) | 内容可寻址存储器表项管理方法和装置 | |
CN100449504C (zh) | 一种基于bitmap表的缓存管理方法 | |
CN106055274A (zh) | 一种数据存储方法、数据读取方法及电子设备 | |
CN104798058B (zh) | 功率状态转换期间高效存储/恢复状态信息的方法及设备 | |
CN102970190B (zh) | 一种网络流量监测系统 | |
CN103069497B (zh) | 减少内容可寻址存储器的电力使用的系统和方法 | |
CN104239232A (zh) | 一种基于fpga内dpram的乒乓缓存操作结构 | |
CN103581024A (zh) | Mac地址硬件与软件相结合的学习方法及装置 | |
US9348766B2 (en) | Balanced P-LRU tree for a “multiple of 3” number of ways cache | |
CN201804331U (zh) | 一种基于协处理器的重复数据删除系统 | |
CN101753580B (zh) | 包处理芯片及其数据存储、转发方法 | |
CN103019963A (zh) | 一种高速缓存的映射方法及存储设备 | |
CN102780620B (zh) | 一种网络处理器和报文处理方法 | |
CN103207843A (zh) | 一种数据行宽度可动态配置的cache结构设计方法 | |
CN102779110B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121219 |