多哈希函数的虚通道标识/虚通路标识的查找方法

文档序号:7646865阅读:298来源:国知局
专利名称:多哈希函数的虚通道标识/虚通路标识的查找方法
所属领域本发明涉及一种多哈希(HASH)函数的虚通道标识(VPI)/虚通路标识(VCI)的查找方法,确切地说,涉及一种利用RAM实现低成本的高速查找方法,属于数据网络通信的技术领域。
(2)原有的哈希(HASH)技术用于查找的哈希技术主要有链表法。哈希链表法的原理是参见图2,将异步传输模式ATM地址的虚通道标识VPI/虚通路标识VCI进行哈希运算,求出更小地址范围的哈希地址(0-14位),用于查找哈希表,得到指向哈希链表的指针,再使用该指针查找哈希链表,如果VPI/VCI不匹配,则用下一链表指针去查找下一级链表;如果VPI/VCI匹配,则用存储表的指针去读取所需的表项内容。如果查找到链表的尾(即下一链表指针为空)都没有匹配,则说明该哈希表里没有该VPI/VCI对应的存储内容,说明该次查找失败。
(3)采用商用的内容可寻址存储器(CAM)芯片。
采用上述三种现有技术的缺点是1、分段完全匹配查找的优点是查找时间固定,地址没有冲突,即对任何一个关键字都能找到唯一的记录;其缺点是存储空间利用率低,需要较大的RAM,这样势必增加产品的成本。2、链表法主要是从软件借鉴过来,虽然该技术已经比较成熟,但对硬件实现过程来说,这种方式显得过于复杂,并且这种方法查找速度不高。3、采用商用的CAM芯片,一是CAM芯片本身的价格成本太高,二是外接CAM芯片需要增加I/O管脚,这样就需增加印刷电路板的面积和布线难度,无疑又会增加生产成本。
本发明的目的是这样实现的一种多哈希函数的虚通道标识(VPI)/虚通路标识(VCI)的查找方法,其特征在于该查找方法是在再哈希技术的基础上,将源VPI/VCI的地址信息分为两部分,按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,每个异或结果分别与一哈希函数相对应;再将所得到的这些不同的异或结果分别作为地址依次访问对应的哈希表,查找匹配的VPI/VCI,即可获取所需的转发路由、交换标识类的相应存储信息。
该查找方法采用各哈希表的存储空间呈逐级缩小的多级哈希表结构;且对每个哈希函数的查找匹配操作是采取流水线式的依次查找方式。
所述的多种划分方式的原则是尽可能地使按位异或的各个结果呈离散状。
该查找方法包括有下列操作步骤(1)采用再哈希技术,将源VPI/VCI的地址信息分为两部分按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,以解决不同源地址的哈希地址冲突问题,且每个异或结果分别与一不同的哈希函数相对应;(2)再分别将所得到的这些不同的异或结果作为地址偏移,依次加上各哈希表的基地址后作为哈希地址访问对应的哈希表,查找到匹配的VPI/VCI后,获取相应的转发路由、交换标签类信息的存储内容;(3)建立多级哈希表的结构,且该多级哈希表的存储空间大小是逐级缩小的,并按查找次序划分该多级哈希表的优先等级,以减小存储器容量,提高利用率;(4)对每个异或结果依次在各个不同哈希表里进行流水线式地查找匹配访问存储器的操作,一旦查找到匹配的VPI/VCI,立即返回结果。
在第(3)步骤中,可以利用相应的逐级减少的不同位数的低位地址作为地址偏移来查找不同等级的哈希表存储空间。
在第(3)步骤中,建立的多级哈希表结构通常不超过4级。
在第(4)步骤中,对每个哈希表进行的查找操作是完全相同的。
本发明的特点是在再哈希技术的基础上,采用多级哈希表的结构,将各哈希表的存储空间逐级缩小,从而提高存储器的利用率,并且,对每个哈希函数的查找匹配操作采取流水线的方式,以提高查找的速度。其优点是与现有的几种硬件查找技术相比较,本发明的硬件电路相对比较简单,所需要的存储器容量小,实现的成本比较低廉。
图2是现有技术中使用的链表哈希法查找方法的示意图。
图3是本发明使用的多级哈希表结构示意。
参见图3,本发明是一种多哈希函数的虚通道标识(VPI)/虚通路标识(VCI)的查找方法,该查找方法包括有下列操作步骤首先采用再哈希技术,将源VPI/VCI的地址信息分为两部分按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,以解决不同源地址的哈希地址冲突问题,且每个异或结果分别与一不同的哈希函数相对应。这里所述的多种划分方式的原则是尽可能地使按位异或的各个结果呈离散状,下面例举本发明实施例所使用的4种划分方式,但是并不仅仅局限于这四种方式(1){VPI[110],VCI[1514]}与VCI[130]。
(2){VPI
,VPI[1],VPI[2],VPI[3],VPI[4],VPI[5],VPI[6],VPI[7],VCI[1513]}与VCI[130]。
(3){VCI[1514],VPI[110]}与{VCI
,VCI[1],VCI[2],VCI[3],VCI[4],VCI[5],VCI[6],VCI[7],VCI[8],VCI[9],VCI[10],VCI[11],VCI[12],VCI[13]}。
(4){VPI[10],VPI[8],VPI[6],VPI[4],VPI[2],VPI
,VCI[14],VCI[12],VCI[10],VCI[8],VCI[6],VCI[4],VCI[2],VCI
}与{VCI[1],VCI[3],VCI[5],VCI[7],VCI[9],VCI[11],VCI[13],VCI[15],VPI[1],VPI[3],VPI[5],VPI[7],VPI[9],VPI[11]}。
在图3所示的实施例中,是采用4种哈希算法(即图3中所示的哈希算法1-哈希算法4)对28位的VPI/VCI分别进行运算得到4个n位宽的运算结果(例如n为14),这些结果分别为X1、X2、X3、X4。
接着,再分别将所得到的这些不同的异或运算结果X1、X2、X3、X4作为地址偏移,依次加上各哈希表的基地址后得到的结果作为哈希地址访问对应的哈希表,查找到匹配的VPI/VCI后,就可获取相应的存储内容;这些存储内容一般为转发路由、交换标签类的信息。在图3中各个经过哈希运算得到的运算结果X1、X2、X3、X4就是作为偏移地址,再分别加上其对应的各哈希表的基地址后,得到16个哈希地址H1-H16,然后依次用这16个地址去访问存储器寻找匹配的VPI/VCI,一旦查找到匹配的VPI/VCI,就获取相应的存储内容,表示查找结束。
最后建立多级哈希表的结构,以进一步提高处理冲突的性能;而且,由于各哈希表的冲突概率逐级缩小,该多级哈希表的存储空间大小也是逐级缩小的,并按查找次序划分该多级哈希表的优先等级,可以利用哈希的异或结果的低位作为地址偏移来压缩各级哈希表的存储空间,以减小存储器容量和提高利用率;本发明建立的多级哈希表结构通常不超过4级。
下面结合图3所示的一个实施例具体说明本发明的工作原理设源地址为VPI/VCI,对VPI/VCI按照四种不同的方式分别划分为两部分,这两部分分别异或后得到4个不同的异或结果,与该4个不同的异或结果所对应的4个不同函数分别为f1(vpi,vci),f2(vpi,vci),f3(vpi,vci),f4(vpi,vci),则该4个异或结果(即哈希地址)可以分别表示为X1=f1(vpi,vci);X2=f2(vpi,vci);X3=f3(vpi,vci);X4=f4(vpi,vci);本发明的该实施例技术方案设计支持8k个链接,一共设有4个哈希表,参见图3所示,按查找的优先次序分为1~4级哈希表1、哈希表2、哈希表3和哈希表4,其存储容量大小分别为8K、4K、2K、2K。对每个哈希表的查找操作是完全相同的,都是用上述4个不同哈希函数的运算结果Xn加上各哈希表的基地址后得到的地址去查找匹配的VPI/VCI。也就是首先依次用4个不同的地址H1、H2、H3、H4对哈希表1进行查找,如果四次查找都没有找到匹配的VPI/VCI,再取另外4个不同的地址H5、H6、H7、H8对哈希表2进行顺序查找,如果同样没有找到匹配的VPI/VCI,再取4个不同的地址H9、H10、H11、H12对哈希表3进行查找,如此类推,如果上述4个表都没有找到匹配的VPI/VCI,则表明该次查找VPI/VCI的链接失败。实际上,经过软件仿真和系统运行证明,经过4级哈希表仍然没有找到匹配的VPI/VCI而发生冲突的概率非常低,足以满足要求。
为了提高查找匹配速度,该实施例在对给定的VPI/VCI使用4个哈希地址访问4个哈希表的查找匹配过程中,采用流水线的方式访问存储器,一旦查找到匹配的VPI/VCI立即返回结果。
本发明的查找方法已经在计算机中进行仿真、模拟等多次试验,并且在交换介入产品线的有关设备的项目中使用试验性实施,经多次实施试验,该方法可靠可行,实现了发明目的。
权利要求
1.一种多哈希函数的虚通道标识(VPI)/虚通路标识(VCI)的查找方法,其特征在于该查找方法是在再哈希技术的基础上,将源VPI/VCI的地址信息分为两部分,按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,每个异或结果分别与一哈希函数相对应;再将所得到的这些不同的异或结果分别作为地址依次访问对应的哈希表,查找匹配的VPI/VCI,即可获取所需的转发路由、交换标识类的相应存储信息。
2.根据权利要求1所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于该查找方法采用各哈希表的存储空间呈逐级缩小的多级哈希表结构;且对每个哈希函数的查找匹配操作是采取流水线式的依次查找方式。
3.根据权利要求1所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于所述的多种划分方式的原则是尽可能地使按位异或的各个结果呈离散状。
4.根据权利要求1所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于该查找方法包括有下列操作步骤(1)采用再哈希技术,将源VPI/VCI的地址信息分为两部分按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,且每个异或结果分别与一不同的哈希函数相对应;(2)再分别将所得到的这些不同的异或结果作为地址偏移,依次加上各哈希表的基地址后作为哈希地址访问对应的哈希表,查找到匹配的VPI/VCI后,获取相应的转发路由、交换标签类信息的存储内容;(3)建立多级哈希表的结构,且该多级哈希表的存储空间大小是逐级缩小的,并按查找次序划分该多级哈希表的优先等级;(4)对每个异或结果依次在各个不同哈希表里进行流水线式地查找匹配访问存储器的操作,一旦查找到匹配的VPI/VCI,立即返回结果。
5.根据权利要求4所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于在第(3)步骤中,可以利用相应的逐级减少的不同位数的低位地址作为地址偏移来查找不同等级的哈希表存储空间。
6.根据权利要求4所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于在第(3)步骤中,建立的多级哈希表结构通常不超过4级。
7.根据权利要求4所述的多哈希函数的虚通道标识/虚通路标识的查找方法,其特征在于在第(4)步骤中,对每个哈希表进行的查找操作是完全相同的。
全文摘要
一种多哈希函数的虚通道标识/虚通路标识的查找方法,是在再哈希技术的基础上,将源VPI/VCI的地址信息分为两部分按照多种不同划分方式分别进行按位异或,得到若干不同的异或结果,以解决不同源地址的哈希地址冲突问题,且每个异或结果分别与一哈希函数相对应;再将所得到的这些不同的异或结果分别作为地址访问内存,获取相应的存储信息;并采用多级哈希表结构,将各哈希表的存储空间逐级缩小,提高存储器的利用率;且对每个哈希函数的查找匹配操作采取流水线的方式,以提高查找速度。本发明的优点是与现有的几种硬件查找技术相比较,其硬件电路相对比较简单,所需要的存储器容量小,实现的成本比较低廉。
文档编号H04Q3/00GK1437357SQ0210391
公开日2003年8月20日 申请日期2002年2月7日 优先权日2002年2月7日
发明者陈如阳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1