用于网络设备流查找管理的技术的制作方法_6

文档序号:9931190阅读:来源:国知局
网络分组的所述报头的所述经散列的部分相对 应的所述网络流散列是否处于所述第二级流散列表中的概率的单元。
[0118] 示例53包括示例39-52中的任何示例所述的主题,并且还包括:用于对与所述网络 流散列相对应的访问信息进行更新的单元。
[0119] 示例54包括示例39-53中的任何示例所述的主题,并且其中,所述用于对与所述网 络流散列相对应的所述访问信息进行更新的单元包括:用于对所述网络流散列的访问计数 器进行递增以提供访问频率的单元。
[0120] 示例55包括示例39-54中的任何示例所述的主题,并且其中,所述用于对与所述网 络流散列相对应的所述访问信息进行更新的单元还包括:用于对所述网络流散列的时间戳 进行更新,以提供有关最近一次对所述网络流散列的所述访问计数器进行递增的指示的单 J L 〇
【主权项】
1. 一种用于网络流散列的存储位置管理的网络设备,其中所述网络流散列与网络分组 的网络流相对应,所述网络设备包括: 用于所述网络设备的处理器的高速缓存; 与所述高速缓存不同的主存储器; 存储在所述主存储器中的网络流表,其中所述网络流表包括所述网络流; 包括多个流散列表的多级流散列表,其中,所述多个流散列表包括第一级流散列表和 第二级流散列表,其中所述第一级流散列表存储在所述高速缓存中,其中,所述第二级流散 列表的至少一部分存储在所述高速缓存中;以及 网络流散列表管理模块,其用于:从通信地耦合到所述网络设备的网络控制器接收与 所述网络流相对应的优先级,以及基于所接收到的优先级,来将与所述网络流相对应的所 述网络流散列存储在所述第一级流散列表或者所述第二级流散列表中的任何一项处。2. 根据权利要求1所述的网络设备,其中,将与所述网络流相对应的所述网络流散列存 储在所述第一级流散列表或者所述第二级流散列表中的任何一项处包括:响应于确定与所 述网络流散列相对应的优先级高于与当前存储在所述第一级流散列表处的其它网络流散 列中的每个其它网络流散列相对应的优先级,将所述网络流散列存储在所述第一级流散列 表处,其中,所述网络流散列表管理模块还用于:响应于确定所述第一级流散列表已满,并 且与所述网络流散列相对应的优先级低于当前存储在所述第一级流散列表处的所述其它 网络流散列中的每个其它网络流散列的优先级,将最低优先级的网络流散列驱逐到所述第 二级流散列表。3. 根据权利要求1所述的网络设备,其中,将与所述网络流相对应的所述网络流散列存 储在所述第一级流散列表或者所述第二级流散列表中的任何一项处包括:响应于确定所述 网络流散列的访问频率高于当前存储在所述第一级流散列表处的另一个网络流散列的访 问频率,将所述网络流散列存储在所述第一级流散列表处。4. 根据权利要求1所述的网络设备,其中,将与所述网络流相对应的所述网络流散列存 储在所述第一级流散列表或者所述第二级流散列表中的任何一项处包括:响应于确定所述 网络流散列的访问频率高于当前存储在所述第一级流散列表处的另一个网络流散列的访 问频率,将所述网络流散列存储在所述第一级流散列表处。5. 根据权利要求1所述的网络设备,其中,所述第二级流散列表的另一部分存储在所述 网络设备的所述主存储器中。6. 根据权利要求1所述的网络设备,其中,将与所述网络流相对应的所述网络流散列存 储在所述第一级流散列表或者所述第二级流散列表中的任何一项处包括:响应于以下操作 来将所述网络流散列存储在所述第二级流散列表的存储在所述高速缓存中的所述部分处: 确定与所述网络流散列相对应的优先级低于当前存储在所述第一级流散列表处的其它网 络流散列的优先级,并且与所述网络流散列相对应的访问频率高于其它网络流散列的访问 频率,其中所述其它网络流散列当前存储在所述第二级流散列表的存储在所述高速缓存中 的所述部分处。7. 根据权利要求1所述的网络设备,其中,所述网络流散列表管理模块还用于:基于从 所述网络控制器接收到的优先级,将与所述网络流相对应的所述网络流散列锁定在所述高 速缓存中, 其中,所述高速缓存包括多个高速缓存行,每个高速缓存行能够容纳所述网络流散列, 并且 其中,将所述网络流散列锁定在所述高速缓存中包括:基于从所述网络控制器接收到 的优先级,来设置与所述网络流散列相对应的高速缓存行的位。8. 根据权利要求7所述的网络设备,其中,设置所述高速缓存行的所述位包括:设置所 述高速缓存行的存活期位和驱逐指示符位中的至少一项。9. 根据权利要求1所述的网络设备,还包括: 网络流散列查找模块,其用于:对所述网络设备接收到的所述网络分组的报头的至少 一部分进行散列,并且在所述多级流散列表的所述第一级流散列表处执行针对所述网络分 组的所述报头的所述经散列的部分的第一查找,以及在所述第一级流散列表处不成功的第 一查找之后,在所述第二级流散列表处执行针对所述网络分组的所述报头的所述经散列的 部分的第二查找。10. 根据权利要求9所述的网络设备,还包括: 其中,所述网络流散列查找模块还用于:在执行所述第二查找之前,执行概率运算,以 确定与所述网络分组的所述报头的所述经散列的部分相对应的所述网络流散列是否处于 所述第二级流散列表中的概率。11. 根据权利要求1所述的网络设备,其中,所述网络流散列查找模块还用于对与所述 网络流散列相对应的访问信息进行更新。12. 根据权利要求11所述的网络设备,其中,对与所述网络流散列相对应的所述访问信 息进行更新包括:对所述网络流散列的访问计数器进行递增以提供访问频率。13. -种用于对与网络流相对应的网络流散列的存储位置进行管理的方法,所述方法 包括: 由网络设备从网络控制器接收网络流以及与所述网络流相对应的优先级; 由所述网络设备将所述网络流存储到所述网络设备的主存储器中的网络流表; 由所述网络设备生成与所述网络流相对应的网络流散列;以及 由所述网络设备基于从所述网络控制器接收到的优先级,将与所述网络流相对应的所 述网络流散列存储在多级流散列表的第一级流散列表或者第二级流散列表中的一项处, 其中,所述第一级流散列表存储在用于所述网络设备的处理器的高速缓存中,并且 其中,所述第二级流散列表的至少一部分存储在所述高速缓存中。14. 根据权利要求13所述的方法,其中,存储所述网络流散列包括:响应于确定与所述 网络流散列相对应的优先级高于与当前存储在所述第一级流散列表处的另一个网络流散 列相对应的优先级,将所述网络流散列存储在所述第一级流散列表中,以及响应于确定与 所述网络流散列相对应的优先级高于与另一个网络流散列相对应的优先级,将所述另一个 网络流散列驱逐到所述第二级流散列表。15. 根据权利要求13所述的方法,其中,存储所述网络流散列包括:在确定所述网络流 散列的访问频率高于当前存储在所述第一级流散列表处的另一个网络流散列的访问频率 之后,将所述网络流散列存储在所述第一级流散列表中。16. 根据权利要求13所述的方法,其中,存储所述网络流散列包括:响应于以下操作来 将所述网络流散列存储在所述第二级流散列表的存储在所述高速缓存中的所述部分中:确 定与所述网络流散列相对应的优先级低于当前存储在所述第一级流散列表处的网络流散 列的优先级,并且所述网络流散列的访问频率高于其它网络流散列的访问频率,其中所述 其它网络流散列当前存储在所述第二级流散列表的存储在所述处理器的所述高速缓存中 的所述部分处。17. 根据权利要求13所述的方法,还包括: 由所述网络设备基于从所述网络控制器接收到的优先级,将与所述网络流相对应的所 述网络流散列锁定在所述高速缓存中, 其中,所述高速缓存包括多个高速缓存行,每个高速缓存行能够容纳所述网络流散列, 并且 其中,将所述网络流散列锁定在所述高速缓存中包括:基于从所述网络控制器接收到 的优先级,来设置与所述网络流散列相对应的高速缓存行的位。18. -种用于对与网络流相对应的网络流散列的存储位置进行管理的网络设备,所述 网络设备包括: 用于从网络控制器接收网络流以及与所述网络流相对应的优先级的单元; 用于将所述网络流存储到所述网络设备的主存储器中的网络流表的单元; 用于生成与所述网络流相对应的网络流散列的单元;以及 用于基于从所述网络控制器接收到的优先级,将与所述网络流相对应的所述网络流散 列存储在多级流散列表的第一级流散列表或者第二级流散列表中的一项处的单元, 其中,所述第一级流散列表存储在用于所述网络设备的处理器的高速缓存中,并且 其中,所述第二级流散列表的至少一部分存储在所述高速缓存中。19. 根据权利要求18所述的网络设备,其中,所述用于存储所述网络流散列的单元包 括:用于响应于确定与所述网络流散列相对应的优先级高于与当前存储在所述第一级流散 列表处的另一个网络流散列相对应的优先级,将所述网络流散列存储在所述第一级流散列 表中的单元。20. 根据权利要求18所述的网络设备,还包括: 用于响应于确定与所述网络流散列相对应的优先级高于与另一个网络流散列相对应 的优先级,将所述另一个网络流散列驱逐到所述第二级流散列表的单元。21. 根据权利要求18所述的网络设备,其中,所述用于存储所述网络流散列的单元包 括:用于在确定所述网络流散列的访问频率高于当前存储在所述第一级流散列表处的另一 个网络流散列的访问频率之后,将所述网络流散列存储在所述第一级流散列表中的单元。22. 根据权利要求18所述的网络设备,其中,所述用于存储所述网络流散列的单元包 括:用于响应于以下操作来将所述网络流散列存储在所述第二级流散列表的存储在所述高 速缓存中的所述部分中的单元:确定与所述网络流散列相对应的优先级低于当前存储在所 述第一级流散列表处的网络流散列的优先级,并且所述网络流散列的访问频率高于其它网 络流散列的访问频率,其中所述其它网络流散列当前存储在所述第二级流散列表的存储在 所述高速缓存中的所述部分处。23. 根据权利要求18所述的网络设备,还包括: 用于基于从所述网络控制器接收到的优先级,将与所述网络流相对应的所述网络流散 列锁定在所述高速缓存中的单元, 其中,所述高速缓存包括多个高速缓存行,每个高速缓存行能够容纳所述网络流散列, 并且 其中,所述用于将所述网络流散列锁定在所述高速缓存中的单元包括:基于从所述网 络控制器接收到的优先级,来设置与所述网络流散列相对应的高速缓存行的位。24. 根据权利要求18所述的网络设备,还包括: 用于接收网络分组的单元; 用于对所述网络分组的报头的至少一部分进行散列的单元; 用于在所述多级流散列表的所述第一级流散列表处执行针对所述网络分组的所述报 头的所述经散列的部分的第一查找的单元;以及 用于在所述第一级流散列表处不成功的第一查找之后,在所述第二级流散列表处执行 针对所述网络分组的所述报头的所述经散列的部分的第二查找的单元。25. 根据权利要求24所述的网络设备,还包括: 用于在执行所述第二查找之前,执行概率运算,以确定与所述网络分组的所述报头的 所述经散列的部分相对应的所述网络流散列是否处于所述第二级流散列表中的概率的单 J L· 〇
【专利摘要】用于对网络设备的网络流查找进行管理的技术包括网络控制器和目标设备,其中网络控制器和目标设备均通信地耦合到该网络设备。网络设备包括高速缓存和主存储器,其中高速缓存用于该网络设备的处理器。网络设备另外包括多级散列表,该多级散列表具有第一级散列表和第二级散列表,其中第一级散列表存储在网络设备的高速缓存中,第二级散列表存储在网络设备的主存储器中。网络设备被配置为:基于由网络控制器向网络设备提供的、对目标设备进行指示的网络流的优先级,来确定将与该网络流相对应的网络流散列存储在第一级散列表中还是第二级散列表中。
【IPC分类】H04L12/721
【公开号】CN105721300
【申请号】CN201510811033
【发明人】R·王, N·N·文凯特桑, A·贾里尔, T-Y·C·泰, S·戈布里尔, C·马乔科
【申请人】英特尔公司
【公开日】2016年6月29日
【申请日】2015年11月20日
【公告号】DE102015119889A1, US20160182373
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1