当前位置: 首页 > 专利查询>凯为公司专利>正文

用于使用多个链接的存储器列表的方法及装置制造方法及图纸

技术编号:14158025 阅读:74 留言:0更新日期:2016-12-12 00:37
一种用于将去往存储器缓冲器的数据排队的装置和方法,所述方法包括从多个队列中选择队列;从所选择的队列接收数据令牌,并且通过队列模块从缓冲器管理器请求地址和指针以用于由所述缓冲器管理器分配的用于存储所述数据令牌的地址。随后,通过所述缓冲器管理器访问存储器列表,并且在所述存储器列表中生成地址和指向分配的地址的指针,其中包括用于附加地址分配的多个链接的存储器列表。所述方法还包括,向所访问的存储器列表中写入用于所分配的地址的指针,其中所述指针将所分配的地址链接在一起,并且在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中的所分配的地址链接在一起的附加指针。

【技术实现步骤摘要】

本公开内容总体上涉及网络数据传输领域,并且更具体地涉及一种用于在将数据令牌从所选择的队列出队和入队期间链接多个存储器列表以便增加交换网络在传输数据分组时的吞吐量的系统和方法。
技术介绍
在数据交换网络中,数据业务被分类为在缓冲器中的大量队列中存储的各种流。在路由器或者其他网络元件中,所存储的队列通常竞争公共的外向通信链路或者出站端口(例如物理通信链路或者伪线)。因此,所缓冲的队列需要在出站侧被调度。因此,需要由路由器中输出侧的令牌调度设备在传输之前执行处理以选择所排队的分组中的哪个分组将为队列中的为了外向传输的下一个分组。通常,在路由过程中,来自不同源端口的数据令牌基于其源端口和目的端口以及业务类型而被分类。它们随后被分类成缓冲器中的不同队列。通过路由器网络和/或由路由器网络处理的数据令牌至少暂时被维持在缓冲器存储器中。通常,被称为链表队列的存储器数据结构被维持与该缓冲器存储器相关联。该链表队列包含分别指向该缓冲器存储器中存储有与每个数据令牌关联的数据的每个存储位置的指针的列表。常规的队列结构通常在一个连续的顺序列表中存储与在该缓冲器存储器中当前存储的每个数据令牌关联的每个指针。当数据令牌进入队列中时,每个队列的状态被更新并且相关链表(linklist)指针被更新。基于输出端口的可用性,调度器选择正确的调度算法以将数据令牌从队列中出队。当数据令牌移出队列时,
每个队列的状态和链表指针将然后再次被更新。由于需要基于源端口和目的端口以及业务类型来对令牌分类的步骤,所以在多播业务数据分组的处理中产生了附加延迟时间。首先,与数据分组关联的数据令牌随后被分类到不同的队列中,并且然后在进入队列中时,该队列的状态被更新。然后,基于端口可用性,调度器选择调度算法来将令牌从缓冲器存储器中的对应队列中出队。这一步骤等待端口可用性必须重复用于待发送的数据令牌中的每个数据令牌。另外,如果需要数据令牌的副本被重复并且发送至额外的端口,则需要进行服务质量(QoS)算法检查。此外,当为了例如高优先级业务(诸如控制业务或者语音/视频延迟敏感业务、传输)需要保证优先服务时,必须在传输该数据令牌时进行一些额外的检查。缓冲器管理器的性能受到入队和出队处理操作中的数据令牌的流水线流量的限制。当缓冲器充满时,该缓冲器管理器必须等待直到数据令牌被出队才能将附加数据令牌入队。为了降低这里的延迟时间,引入并联缓冲器以使得附加数据令牌能够入队。然而,这样的附加并联缓冲器使用附加资源和处理功率。此外,每当缓冲器存储器要在由路由器执行的某种操作中处理时,必须访问或者寻址该队列以便获得与该令牌关联的指针。随着与路由器或者其他分组交换机关联的处理速度增加(例如每秒10吉比特或者更高),与用来维持队列的存储器关联的输入和输出带宽和访问延迟变得至关重要。也就是说,鉴于每次需要令牌指针时都必须访问常规的队列的事实,队列存储器可能变为显著瓶颈。
技术实现思路
因此,有利的是,提供一种使用地址链表的缓冲器存储器管理,其通过使用虚拟队列技术、基于提供多个入队和出队令牌缓冲器操作的链表能够增加在当前设备中可以执行的入队和出队操作的当前
限制数目。本公开内容的实施例提供了一种用于使用多个列表类型子队列形成虚拟队列的链表的技术,该子队列列表的实现使得能够并联调度多个数据令牌传输,从而显著增加路由器中的交换机制的吞吐量。因此,本公开内容的实施例采用将去往存储器缓冲器的数据排队的方法,所述方法包括从多个队列中选择队列并且从所选择的队列接收数据令牌。队列模块从缓冲器管理器请求用于由缓冲器管理器分配的用于存储数据令牌的地址的指针和地址。然后,通过缓冲器管理器访问存储器列表,并且在存储器列表中生成指向所分配的地址的指针和地址。所访问的存储器列表包括用于附加地址分配的多个链接的存储器列表。此外,向所访问的存储器列表中写入用于所分配的地址的指针。该指针将所分配的地址链接在一起。该方法还包括:在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中所分配的地址链接在一起的附加指针。根据本公开内容的另一实施例采用将去往存储器缓冲器的数据排队的装置,所述装置包括:用于从多个队列中选择队列以及从所选择的队列接收数据令牌的选择器模块;响应于所述模块以用于请求由所述管理器分配的用于存储所述数据令牌的地址的指针和地址的的管理器;响应于所述管理器以访问存储器列表并且在所述存储器列表中生成指向所分配的地址的指针和地址的分配模块。所访问的存储器列表包括用于附加地址分配的多个链接的存储器列表。所述分配模块向所访问的存储器列表中写入用于所分配的地址的指针,其中所述指针将所分配的地址链接在一起,并且所述分配模块在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中的所分配的地址链接在一起的附加指针。根据本公开内容的又一实施例,所述队列模块包括所述队列模块包括用于将数据令牌向所链接的存储器列表的所分配的地址中入
队的入队模块以及用于将数据令牌从所链接的存储器列表的所分配的地址出队的出队模块。所述入队模块被配置成向所述缓冲器管理器生成请求以用于将多个数据令牌一次性入队,其中所述多个数据令牌具有通过指针跨所述多个存储器列表链接的地址。所述出队模块被配置成向所述缓冲器管理器生成请求以用于将多个数据令牌一次性出队,其中所述多个数据令牌具有通过指针跨所述多个存储器列表链接的地址。本
技术实现思路
必然包含对细节的简化、概括和省略。因此,本领域技术人员应当理解,本
技术实现思路
仅是说明性的,而非意在以任何方式限制。仅由权利要求来限定的本公开内容的其他方面、专利技术特征和优点将在以下给出的非限制性详细描述中变得清楚。附图说明通过阅读以下详细描述并且结合附图,将能更好地理解本公开内容的实施例,在附图中相似的附图标记指代相似的元件,并且其中:图1是描绘根据本公开内容的实施例的示例性路由器中的缓冲器管理器的配置的框图;图2是根据本公开内容的实施例的缓冲器管理器的框图,该缓冲器管理器描绘示例性路由器中的队列尾指针和队列头指针的配置;图3图示根据本公开内容的实施例的示例性虚拟队列链表配置;图4图示根据本公开内容的实施例的示例性队列链表配置;图5A、图5B图示根据本公开内容的实施例的具有链表结构的示例性头指针和尾指针配置的框图;图6A、图6B图示了根据本公开内容的实施例的将数据令牌在多个存储器列表结构中链接在一起的框图;图7是示出根据本公开内容的实施例的具有链表结构的缓冲器管理器操作的流程图;图8是根据本公开内容的实施例的缓冲器管理器的框图,该缓冲器管理器描绘示例性路由器中的队列尾指针和队列头指针的配置;以及图9是描绘根据本公开内容的示例性路由器中的缓冲器管理器模块的配置的框图。具体实施方式现在将详细参考本专利技术的优选实施例,其示例在附图中图示。虽然本专利技术结合优选实施例来描述,然而应当理解,其并非意在将本专利技术限于这些实施例。相反,本专利技术意在覆盖备选、修改和等同方案,这些备选、修改和等同方案可以被包括在如所附权利要求所限定的本专利技术的精神和范围内。此外,在对本专利技术的实施例的以下详细描述中,提出了大量具体细节以便提供对本专利技术的透彻理解。然本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201510290966.html" title="用于使用多个链接的存储器列表的方法及装置原文来自X技术">用于使用多个链接的存储器列表的方法及装置</a>

【技术保护点】
一种将去往存储器缓冲器的数据排队的方法,所述方法包括:从多个队列中选择队列;从所选择的队列接收数据令牌;通过队列模块从缓冲器管理器请求用于由所述缓冲器管理器分配的用于存储所述数据令牌的地址的指针和地址;通过所述缓冲器管理器访问存储器列表,并且在所述存储器列表中生成指向所分配的地址的指针和地址,其中所访问的存储器列表包括用于附加地址分配的多个链接的存储器列表;向所访问的存储器列表中写入用于所分配的地址的指针,其中所述指针将所分配的地址链接在一起;以及在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中的所分配的地址链接在一起的附加指针。

【技术特征摘要】
2015.03.31 US 14/675,4501.一种将去往存储器缓冲器的数据排队的方法,所述方法包括:从多个队列中选择队列;从所选择的队列接收数据令牌;通过队列模块从缓冲器管理器请求用于由所述缓冲器管理器分配的用于存储所述数据令牌的地址的指针和地址;通过所述缓冲器管理器访问存储器列表,并且在所述存储器列表中生成指向所分配的地址的指针和地址,其中所访问的存储器列表包括用于附加地址分配的多个链接的存储器列表;向所访问的存储器列表中写入用于所分配的地址的指针,其中所述指针将所分配的地址链接在一起;以及在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中的所分配的地址链接在一起的附加指针。2.根据权利要求1所述的方法,其中所述多个链接的存储器列表包括并联链接的第一存储器列表、第二存储器列表、第三存储器列表和第四存储器列表。3.根据权利要求2所述的方法,其中所述数据令牌的多个所分配的地址通过指针跨所并联的存储器列表链接。4.根据权利要求3所述的方法,其中所述多个所分配的地址通过由所述缓冲器管理器生成的尾指针和头指针链接。5.根据权利要求1所述的方法,其中所述队列模块包括用于将数据令牌向所链接的存储器列表的所分配的地址中入队的入队模块以及用于将数据令牌从所链接的存储器列表的所分配的地址出队的出队模块。6.根据权利要求5所述的方法,其中所述入队模块被配置成向所述缓冲器管理器生成请求以用于将多个数据令牌一次性入队,其中所述多个数据令牌具有通过指针跨所述多个存储器列表链接的地
\t址。7.根据权利要求5所述的方法,其中所述出队模块被配置成向所述缓冲器管理器生成请求以用于将多个数据令牌一次性出队,其中所述多个数据令牌具有通过指针跨所述多个存储器列表链接的地址。8.根据权利要求1所述的方法,其中所述用于附加地址分配的多个链接的存储器列表根据地址可用性动态地填入。9.根据权利要求1所述的方法,其中按照连续跨越每个列表的循环方式执行所述链接的存储器列表的填入直至所有请求的地址被分配。10.一种用于将去往存储器缓冲器的数据排队的装置,所述装置包括:选择器模块,用于从多个队列中选择队列以及从所选择的队列接收数据令牌;管理器,响应于所述模块以用于请求用于由所述管理器分配的用于存储所述数据令牌的地址的指针和地址;分配模块,响应于所述管理器以访问存储器列表并且在所述存储器列表中生成指向所分配的地址的指针和地址,其中所访问的存储器列表包括用于附加地址分配的多个链接的存储器列表,所述分配模块向所访问的存储器列表中写入用于所分配的地址的指针,其中所述指针将所分配的地址链接在一起,以及所述分配模块在从所述队列接收到随后的数据令牌时向其他存储器列表移植附加地址分配,并且生成将所述其他存储器列表中的所分配的地址链接在一起的附加指针。11.根据权利要求10所述的装置,其中所述多个链接的存储器列表包括并联链接的第一存储器列表、第二存储器列表、第三存储器列表和第四存...

【专利技术属性】
技术研发人员:V·潘查格努拉S·帕特尔K·韩T·丹尼尔
申请(专利权)人:凯为公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1