一种存储器资源分配方法和网络设备与流程

文档序号:29460247发布日期:2022-04-02 01:02阅读:74来源:国知局
一种存储器资源分配方法和网络设备与流程

1.本技术实施例涉及通信领域,特别涉及一种存储器资源分配方和网络设备。


背景技术:

2.目前网络芯片包括专用集成电路(application specific integrated circuit,asic)和网络处理器(network processor,np)两大类。网络芯片外围接口非常丰富,如双倍速率同步动态随机存储器,静态随机存储、同步动态随机存储器等,这些存储器存放着各种业务表。但是外围存储器性能远远跟不上np及asic性能的发展,为解决存储器带宽远远落后于np/asic转发性能的问题,通用的解决方案是采用bank复制,bank是存储器内部存储及带宽资源分配的单元,通过采用bank复制占用存储器的空间以换取处理器处理速度的提升。目前传统的np/asic的表项设计方式,每张业务表为独立一张表,其复制份数是固定的。
3.然而,传统的np/asic的表项设计方式由于存储器带宽跟np转发性能的巨大差异,导致复制份数非常大,且只能按照业务需要的最大带宽确定复制份数,造成存储器带宽利用率很低和资源浪费。


技术实现要素:

4.本技术实施例的主要目的在于提出一种存储器资源分配方法和网络设备,能够按照用户业务需求,按需分配带宽和资源,避免带宽和资源的浪费。
5.为实现上述目的,本技术实施例提供了一种存储器资源分配方法,包括:根据业务数量,为每个业务分配一个业务表和一个业务表号;根据用户业务需求获取所述业务表中所需业务子表的数量和所述业务子表的带宽;根据所述业务子表的带宽获取所述业务子表中存储单元的复制份数;根据所述业务子表中存储单元的复制份数,获取所有业务子表所需的一个业务表的容量;遍历所有业务表,获取总的业务表容量完成存储器资源分配。
6.为实现上述目的,本技术实施例还提供了一种网络设备,包括:
7.至少一个处理器;以及,
8.与所述至少一个处理器通信连接的存储器;其中,
9.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的存储器资源分配方法。
10.本技术提出的存储器资源分配方法,针对用户业务需求获取所需业务子表数量,业务子表的带宽和业务子表中存储单元的复制份数来进行灵活地表项设计,按照需求分配资源,有效地避免存储器带宽和资源浪费,提升存储器带宽利用率。
附图说明
11.图1是本技术的第一实施方式提供的存储器资源分配方法的流程图;
12.图2是本技术的第二实施方式提供的存储器资源分配方法的流程图;
13.图3是本技术的第三实施方式提供的存储器资源分配方法的流程图一;
14.图4是本技术的第三实施方式提供的存储器资源分配方法的流程图二;
15.图5是本技术的第三实施方式提供的存储器资源分配方法的流程图三;
16.图6是本技术的第四实施方式提供的存储器资源分配方法的流程图;
17.图7是本技术的第五实施方式提供的存储器资源分配方法的流程图;
18.图8是本技术的第四实施方式和第五实施方式提供的存储器资源分配方法的示意图;
19.图9是本技术的第六实施方式提供的网络设备的结构示意图。
具体实施方式
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
21.本发明的第一实施方式涉及一种存储器资源分配方法,具体流程如图1所示,包括:
22.步骤101,根据业务数量,为每个业务分配一个业务表和一个业务表号。
23.具体地说,在本实施方式中,业务表是与业务相关的各种表项,可以包括端口表,介质访问控制表,路由表等等,当然,以上仅为具体的举例说明,在实际的使用过程中业务表可以包括很多其他表项,此处不做一一赘述。
24.步骤102,根据用户业务需求获取业务表中所需业务子表的数量和业务子表的带宽。
25.具体地说,用户业务需求可以包括业务带宽,包速率,用户量等等,当然,以上仅为具体的举例说明,在实际的使用过程中用户业务需求可以包括很多其他内容,此处不做一一赘述。以隧道业务为例,针对运营商业务需求,比如运营商需要带宽范围100mpps支持1k个用户隧道,100mpps~200mpps范围支持1k个隧道,200mpps~300mpps范围支持2k个隧道,400mpps~500mpps支持3k个隧道。根据此需求,隧道转发表需要4张业务子表。
26.步骤103,根据业务子表的带宽获取业务子表中存储单元的复制份数。
27.在本实施方式中,复制份数是根据包速率除以查表带宽计算,在具体使用过程中计算结果采取向上取整的结果。另外,业务子表的数量及其带宽是根据用户业务需求获取的,每个业务子表的带宽可以是相同的,可以是不同的。而业务子表中存储单元的复制份数是根据业务子表带宽获取的,每个业务子表中存储单元的复制份数也可以是相同,也可以是不同的。
28.步骤104,根据业务子表中存储单元的复制份数,获取所有业务子表所需的一个业务表的容量。
29.步骤105,遍历所有业务表,获取总的业务表容量完成存储器资源分配。
30.本发明的实施方式相对于现有技术而言,针对用户业务需求获取所需业务子表数量,不同业务子表的带宽和不同业务子表中bank的复制份数来进行灵活地表项设计,按照
需求分配资源,有效地避免存储器带宽和资源浪费,提升存储器带宽利用率。
31.本发明的第二实施方式涉及一种存储器资源分配方法,该方法与本发明的第一实施方式提供的存储器资源分配方法基本相同,区别之处在于,如图2所示,在步骤102之后,还包括:
32.步骤201,根据业务子表的数量,为每个业务子表分配业务子表号。
33.具体地说,步骤201中为每个业务子表分配一个业务子表号,有助于进行业务添加或业务删除时,通过子表号查找出待添加或待删除的业务所对应的索引,完成相应的操作。
34.步骤202,为每个业务子表中的条目进行索引申请。
35.具体地说,步骤202中为每个业务子表中的条目进行索引申请可以是存储器中的索引申请模块,对申请的索引进行统一管理分配的可以是存储器中的索引资源管理模块。
36.需要说明的是,本实施方式不对步骤201和202的具体执行位置进行限定,在本实施方式中,为了便于理解以步骤201和202在步骤102之后,步骤103之前执行为例进行说明。
37.本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,通过为业务子表分配业务子表号以及为业务子表中的条目进行索引申请,有助于对存储器进行业务添加和业务删除时,通过子表号和索引进行存储资源管理和分配,以便根据用户业务需求灵活设计表项。
38.本发明的第三实施方式涉及一种存储器资源分配方法,该方法与本发明的第一实施方式提供的存储器资源分配方法基本相同,区别之处在于,如图3所示,在步骤104之后,包括:
39.步骤301,当进行业务添加时,根据待添加的业务带宽获取待添加的业务所属的业务子表及其对应的业务子表号。
40.具体地说,在判断待添加的业务所属的业务子表后,还需要分配该业务子表所对应的索引,以便后续进行业务添加时,该业务子表不会被重复分配,具体流程如图4所示,在步骤301之后,步骤302之前,还包括:
41.步骤401,查找业务子表号对应的索引。
42.步骤402,将索引分配给待添加的业务。
43.具体地说,在判断出待添加的业务所属的业务子表后,存储器中的业务模块需要通知索引资源管理模块查找该子表号所对应的索引,索引资源管理模块将该索引分配给待添加的业务。
44.步骤302,根据业务子表号,将待添加的业务数据写入相应的业务子表中。
45.具体地说,如图5所示,在步骤302之后,还包括:
46.步骤501,将业务子表中的条目一一映射到相应的硬件条目资源中。
47.步骤502,根据业务子表中条目的索引,将待添加的业务数据写入硬件表相应的条目中。
48.具体地说,在进行业务添加时,存储器中的业务模块需要将业务子表中的条目一一映射到相应的硬件条目资源中,以便后续处理业务时相应的硬件设备能够执行有关操作。另外,业务模块还需要将业务数据写入硬件表相应的条目中,而本实施方式中的业务数据是与业务相关的所有数据。
49.需要说明的是,在进行业务添加时,业务模块需要根据待添加的业务带宽需求来
判断待添加的业务属于哪一个业务子表。而在需要业务删除时,业务模块则将待删除的业务对应的业务子表号和业务表号通知索引资源管理模块,索引资源管理模块则释放该业务子表号和业务表号对应的索引,完成业务的删除。
50.本发明的实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,在业务添加时,根据待添加的业务带宽选择业务子表,灵活地进行业务分配和资源划分,进一步达到避免存储器带宽和资源浪费的目的。
51.本发明第四实施方式涉及一种存储器资源分配方法,该方法与本发明的第一实施方式提供的存储器资源分配方法基本相同,区别之处在于,如图6所示,当每个业务子表带宽相同时,在步骤102之后,还包括:
52.步骤601,为每个业务子表配置一个动态资源表。
53.步骤602,当业务子表资源不足时,则从动态资源表中获取资源,建立新的业务子表并进行资源配置。
54.具体地说,在本实施方式中,动态资源表位于存储器业务表中,如图8所示,每个业务子表带宽是相同的,可以预先设定,也可以根据用户业务需求进行设置,但每个业务子表中存储单元的复制份数是不同的。在配置动态资源表时,初始化时不配置其复制份数。
55.需要说明的是,本实施方式不对步骤601和602的具体执行位置进行限定,在本实施方式中,为了便于理解以步骤骤601和602在步骤102之后,步骤103之前执行为例进行说明。
56.本发明实施方式相对于现有技术而言,在每个业务子表带宽相同时,为每个业务子表配置一个动态资源表,满足了各种业务弹性需求,针对不同用户提供差异化服务,进一步达到灵活设计表项,避免带宽资源和表项资源浪费。
57.本发明第五实施方式涉及一种存储器资源分配方法,该方法与本发明的第一实施方式提供的存储器资源分配方法基本相同,区别之处在于,如图7所示,在步骤104之后,还包括:
58.步骤701,在存储器中配置一个全局动态资源表。
59.步骤702,当业务表容量耗尽时,则从全局动态资源表中获取资源,建立新的业务表并进行资源配置。
60.具体地说,在存储器中配置一个全局动态资源表,如图8所示,当业务表容量耗尽时,从该全局动态资源表中获取资源,在本实施方式中,不对该全局动态资源表的带宽及其复制份数进行限定,全局动态资源表的带宽及其复制份数可以预先设定,也可以根据不同用户或运营商需求适应调整。
61.本发明实施方式相对于现有技术而言,在存储器中配置一个全局动态资源表,当业务表容量耗尽时,为业务表提供资源,更好地满足了业务弹性需求,实现了存储器资源利用率最大化。
62.本发明第六实施方式涉及一种网络设备,如图9所示,包括:
63.至少一个处理器901;以及,
64.与所述至少一个处理器901通信连接的存储器902;其中,
65.所述存储器902存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器901执行,以使所述至少一个处理器901能够执行本发明第一至第五实施方式
所述的存储器资源分配方法。
66.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
67.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
68.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1