一种表项保存方法和控制器的制造方法_2

文档序号:9923566阅读:来源:国知局
器、所述处理器和所述通信接口之间通过总线相互连接;其中
[004引所述处理器,用于将转发设备的第一内存和第二内存包括的每个物理块划分为多 个小颗粒存储单元,每个小颗粒存储单元用于存储同种类型的表项;生成第一表项;若所述 第一内存和所述第二内存中未存储有与所述第一表项属于同一类型的表项,贝用于在确定 所述第一内存包括的第一物理块的剩余带宽和剩余空间不小于所述第一表项需要的带宽 和空间时,在所述第一物理块中确定未被任何表项占用的第一小颗粒存储单元,所述第一 物理块为所述第一内存包括的各个物理块中的一个,所述第一小颗粒存储单元为对所述第 一物理块划分得到的多个小颗粒存储单元中的任意一个;
[0049] 所述通信接口,用于将所述第一表项发送给所述转发设备,并指示所述转发设备 将所述第一表项保存到所述第一小颗粒存储单元中;
[0050] 所述存储器中存放程序,所述处理器通过执行该程序,实现上述方法。
[0051] 利用本申请提供的方案,通过将带宽高的片内内存作为各类型表项共用的动态内 存,在转发设备片内内存带宽和空间足够的情况下,让生成的表项优先占用高速的片内内 存,从而实现了片内内存的带宽和空间的最大利用。
【附图说明】
[0052] 图1为本申请提供的一种表项保存方法的流程图;
[0053] 图2为本申请提供的一种控制器的结构示意图。
【具体实施方式】
[0054] 本申请提供了一种表项保存方法和控制器,通过将带宽高的片内内存作为各类型 表项共用的动态内存,在转发设备片内内存带宽和空间足够的情况下,让生成的表项优先 占用高速的片内内存,从而实现了片内内存的带宽和空间的最大利用。
[0055] 本申请提供的技术方案可W应用于具备转发忍片的转发设备上,如路由器、交换 机等;此外,其它同样具备有配套的片内内存和片外内存、同时内存上采用固定方式部署表 项的设备也可W采用本申请提供的技术方案。
[0056] 需要说明的是,本申请中所说的控制器,可W是独立于转发设备的第=方设备,如 软件定义网络(英文:Software Defined化twork,简称:SDN)中位于网络侧的控制器;也可 W位于转发设备内部。
[0057] 下面结合说明书附图和各实施例对本发明技术方案进行说明。
[005引图1所示为本申请提供的表项保存方法的流程图,所述方法包括如下步骤:
[0059] 步骤101:控制器将转发设备的第一内存和第二内存包括的每个物理块划分为多 个小颗粒存储单元,每个小颗粒存储单元用于存储同种类型的表项;所述第一内存的带宽 大于所述第二内存的带宽。
[0060] W转发忍片为例,运里的第一内存即是指转发忍片内部的内存;第二内存即是指 转发忍片外部的内存。
[0061] 控制器可W按照合适的大小,将每个物理块划分为若干相等或不等的小颗粒存储 单元。例如,假设某忍片的片内内存为32兆比特(单位:Mbit),若将片内内存划分为大小固 定的小颗粒存储单元,每个小颗粒存储单元的大小为128bit*128,则一共可W得到32Mbit/ (128bi巧128) =2048个小颗粒存储单元;若将一个运样的小颗粒存储单元用于存储位宽为 128b i t的表项,则一共可W存储128张同种类型的表项。
[0062] 步骤102:所述控制器生成第一表项。
[0063] 步骤103:若所述第一内存和所述第二内存中未存储有与所述第一表项属于同一 类型的表项,则所述控制器在确定所述第一内存包括的第一物理块的剩余带宽和剩余空间 不小于所述第一表项需要的带宽和空间时,在所述第一物理块中确定出未被任何表项占用 的第一小颗粒存储单元,所述第一物理块为所述第一内存包括的各个物理块中的一个,所 述第一小颗粒存储单元为对所述第一物理块划分得到的多个小颗粒存储单元中的任意一 个。
[0064] 步骤104:所述控制器将所述第一表项发送给所述转发设备,并指示所述转发设备 将所述第一表项保存到所述第一小颗粒存储单元中。
[0065] 本申请中表项的部署位置是不固定的,在片内内存的剩余带宽和剩余空间充足的 情况下,所有新生成的表项均可W占用高速的片内内存,从而可W实现对片内内存的最大 利用。
[0066] 此外,若所述第一内存和所述第二内存中存储有与所述第一表项属于同一类型的 表项,则所述控制器需要进一步判断最近一次申请的、用于存储与所述第一表项属于同一 类型的其它表项的小颗粒存储单元是否已经存满,若是,则在确定所述第一内存包括的第 一物理块的剩余带宽和剩余空间不小于所述第一表项需要的带宽和空间时,在所述第一物 理块中确定出未被任何表项占用的第一小颗粒存储单元,后续指示转发设备将所述第一表 项保存至所述第一小颗粒存储单元。否则,控制器指示转发设备将所述第一表项保存至上 述最近一次申请的、用于存储与所述第一表项属于同一类型的其它表项的小颗粒存储单元 中。
[0067] 可选的,控制器在生成第一表项后,可W确定在生成所述第一表项之前已生成的 与所述第一表项属于同一类型的其它表项的数量m,并根据m来确定所述第一内存和所述第 二内存中是否存储有与所述第一表项属于同一类型的表项。
[0068] 具体的,若m = 0,则表明所述第一内存和所述第二内存中未存储有与所述第一表 项属于同一类型的表项;若m辛0,则表明所述第一内存或所述第二内存中存储有与所述第 一表项属于同一类型的表项。
[0069] 假设控制器将转发设备的第一内存和第二内存包括的每个物理块划分成了大小 均为N的多个小颗粒存储单元,在m辛0的情况下,如果m为
的整数倍,L为所述第一表项 的位宽,则表明虽然所述第一内存和第二内存中存储有与所述第一类型属于同一类型的表 项,但分配给运些表项的小颗粒存储单元已存满,无法再存下所述第一表项。例如,假设每 个小颗粒存储单元的大小为12861川128,4类型的表项的位宽为9061*,可^得到
,即每个小颗粒存储单元最多能够存储182张 A类型的表项,当控制器已 存储的A类型的表项的数量为182的整数倍时,用于存储A类型表项的每个小颗粒存储单元 恰好都是存满的。在运种情况下,控制器可W在确定所述第一内存包括的第一物理块的剩 余带宽和剩余空间不小于所述第一表项需要的带宽和空间时,优先在所述第一物理块中确 定未被任何表项占用的第一小颗粒存储单元。其中,所述第一物理块为所述第一内存包括 的各个物理块中的一个,所述第一小颗粒存储单元为对所述第一物理块划分得到的多个小 颗粒存储单元中的任意一个。后续,控制器可W将所述第一表项发送给所述转发设备,并指 示所述转发设备将所述第一表项保存到所述第一小颗粒存储单元中。
[0070] 需要注意的是,所述第一表项的位宽L可W是所述第一表项的实际表位宽,也可W 是基于所述第一表项的实际表位宽和硬件位宽为所述第一表项选取的一个理论表位宽,例 如,A表的实际表位宽为92bit,硬件位宽有32bit、64bit和128bit等多个值,则可W设定A表 的理论表位宽为比A表的实际表位宽高的硬件位宽,即128bit。
[0071] 如果m不为
的整数倍,则表明所述第一内存和第二内存中存储有与所述第一 类型属于同一类型的表项,并且分配给运类表项的小颗粒存储单元还足够存下所述第一表 项。在运种情况下,控制器可W确定出存储有第二表项的第二小颗粒存储单元;所述第二表 项为在所述第一表项前一个生成的、与所述第一表项属于同一类型的表项,后续控制器将 所述第一表项发送给所述转发设备,并指示所述转发设备将所述第一表项保存到所述第二 小颗粒存储单元中。例如,假设每个小颗粒存储单元的大小为128bit*128,B类型表项的位 宽为128bit,可W得到
即每个小颗粒存储单元最多能够存储128张 B类 型的表项,当控制器已存储的B类型的表项的数量为129时,控制器分配出去的用于存储B类 型表项的两个小颗粒存储单元中一个小颗粒存储单元已经存满,另一个小颗粒存储单元只 存了 1个表项,控制器可W将新生成的B类型的表项继续存入运个还未存满的小颗粒存储单 元中。
[0072] 本申请中,当所述第一内存和所述第二内存中未存储有与所述第一表型属于同一 类型的表项,或是虽然所述第一内存和第二内存中存储有与所述第一类型属于同一类型的 表项、但分配给运类表项的小颗粒存储单元已存满时,控制器优先在带宽较高的所述第一 内存中申请新的小颗粒存储单元,但有W下两种原因会导致申请新的小颗粒存储单元失 败:
[0073] 第一种原因,所述第一内存包括的每个物理块的剩余空间都小于所述第一表项需 要的空间。
[0074] 第二种原因,所述第一内存包括的每个物理块的剩余带宽都小于所述第一表项需 要的带宽。
[0075] 在第一种原因下,如果所述第一内存包括的每个物理块的剩余空间均不足,控制 器可W指示转发设备优先将性能要求较低的类型的表项从所述第一内存的一个小颗粒存 储单元切换到所述第二内存的一个小颗粒存储单元。具体实现过程如下:所述控制器确定 在所述第一内存包括的第=物理块上保存的第二类型的表项,W及确定所述第=物理块上 用于保存所述第二类型的表项的一个小颗粒存储单元;其中,所述第二类型的表项的优先 级低于所述第一表项的优先级,所述第=物理块为所述第一内存包括的各个物理块中的任 意一个。然后,所述控制器将所述第一表项发送给所述转发设备,并指示所述转发设备将所 述一个小颗粒存储单元中保存的表项移动到所述第二内存中,W及指示所述转发设备将所 述第一表项保存到所述一个小颗粒存储单元中。例如,某片内内存的剩余空间不足W存储 新生成的A类型的表项,转发设备在控制器的指示下,可W找到片内内存中优先级最低的B 类型的表项,若B类型的表项的优先级低于A类型的表项,则启动存储单元搬移流程,不论片 内内存中B类
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1