【技术实现步骤摘要】
表项存储方法、装置、交换芯片、网络设备和存储介质
[0001]本专利技术涉及通信
,具体而言,涉及一种表项存储方法、装置、交换芯片、网络设备和存储介质。
技术介绍
[0002]在通信
的网络设备中,可以采用哈希算法将表项存储到RAM(Random Access Memory,随机存取存储器)。为了降低存储成本,不同类型的表项会存储到同一哈希值对应的存储空间中。对于不同类型的表项,其宽度不同。由于哈希算法会将表项随机均匀地存储在RAM中,这样就会导致地址连续的空间减少,而多宽表项又需要必须占用地址连续的存储空间,所以很容易发生哈希冲突。
[0003]目前虽然有采用TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)来解决部分哈希冲突的方式,但是往往会导致RAM的利用率低。并且,表项存储的顺序会影响存储结果,那么在某些业务场景下就有可能导致网络设备无法正常工作。
技术实现思路
[0004]有鉴于此,本专利技术的目的在于提供一种表项存储方法、装置、 ...
【技术保护点】
【技术特征摘要】
1.一种表项存储方法,其特征在于,应用于网络设备的中央处理器CPU,所述网络设备还包括与所述CPU通信连接的随机存取存储器RAM和三态内容寻址存储器TCAM,所述RAM包括多个哈希桶,所述方法包括:当请求所述RAM存储待处理表项并接收到所述RAM反馈的哈希冲突消息时,读取所述待处理表项对应的目标哈希桶中的所有表项,并按照所述待处理表项的宽度对所述目标哈希桶进行划分得到每个哈希槽,所述哈希槽存储有至少一个表项;依次确认每个所述哈希槽是否为目标哈希槽,所述目标哈希槽中每个表项的宽度均小于所述待处理表项的宽度;若当前哈希槽为所述目标哈希槽且所述当前哈希槽中全部表项的占用空间小于或者等于所述TCAM的剩余空间,则将所述当前哈希槽中的全部表项搬移至所述TCAM,并将所述待处理表项存储至所述当前哈希槽。2.根据权利要求1所述的方法,其特征在于,所述读取所述待处理表项对应的目标哈希桶中的所有表项的步骤,包括:根据所述待处理表项计算哈希值,得到目标哈希值;在所述RAM中确定所述目标哈希值对应的目标哈希桶,并读取所述目标哈希桶中的所有表项。3.根据权利要求1所述的方法,其特征在于,所述将所述当前哈希槽中的全部表项搬移至所述TCAM的步骤,包括:将所述当前哈希槽中的全部表项写入所述TCAM,并在所述RAM中删除所述当前哈希槽中的全部表项。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若每个所述哈希槽均非所述目标哈希槽且所述待处理表项的占用空间小于或者等于所述TCAM的剩余空间,则将所述待处理表项存储至所述TCAM。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:依次将所述当前哈希槽中每个表项的占用空间与所述目...
【专利技术属性】
技术研发人员:齐朋冲,
申请(专利权)人:迈普通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。