链表处理装置、链表处理方法及相关网络交换机制造方法及图纸

技术编号:10599928 阅读:133 留言:0更新日期:2014-10-30 15:07
本发明专利技术提供一种链表处理装置、链表处理方法及网络交换机。链表处理装置包含存储装置以及链表控制器,链表控制器用于设置链表信息以及将链表信息写入存储装置,以在存储装置中创建链表;其中链表包含多个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示链表的结尾以及辅助信息,并且链表控制器将数据模式储存到链表的链表尾的下一节点地址栏。本发明专利技术的链表处理装置、链表处理方法及网络交换机可提供共享链表尾架构,充分使用存储空间。

【技术实现步骤摘要】
链表处理装置、链表处理方法及相关网络交换机
本专利技术有关于链表数据结构(linklistdatastructure),更具体来说,有关于使用链表的链表尾(link-tail)储存数据模式(datapattern)的装置和方法,其中数据模式指示链表的结尾以及辅助信息(auxiliaryinformation)。
技术介绍
网络交换机(networkswitch)是链接不同网络设备的计算机网络设备。举例来说,网络交换机接收与其连接的第一网络设备所产生的输入封包,并将从已接收的封包导出的修改后封包或者未修改封包仅传输至第二网络设备,其中所述已接收的封包原本是由第二网络设备接收。一般来说,已接收的封包由多个数据块组(datachunk)(亦即,多个单元数据(celldata))组成。因此,从已接收的封包中导出的封包也由多个数据块组(亦即,多个单元数据)组成。网络交换机具有用于缓冲导出封包的数据块组的封包缓冲器。然而,封包缓冲器中的空闲可用存储空间并不能确保是连续的。因此,导出封包的多个数据块组在被储存入封包缓冲器中后,可能随机位于封包缓冲器中。为有效管理封包缓冲器中的导出封包的多个数据块组,网络交换机可使用链表。基于链表数据结构,链表包含顺序关联的多个节点,其中每一节点与封包缓冲器中的导出封包的多个数据块组之一相关,并且具有下一节点地址栏,用于储存下一节点的地址。关于链表的链表尾节点,由于链表尾节点是链表的最后一个节点,并不存在与链表尾节点级联的下一节点。故在常规设计中,链表尾节点的下一节点地址栏将储存指向空地址(nulladdress)的空指针(nullpointer),从而在封包传输期间,当封包传输电路读取链表时,告知封包传输电路链表的结尾。由于链表尾节点指向“零”(null),链表尾的下一节点地址栏被浪费掉了。
技术实现思路
有鉴于此,本专利技术特提供以下技术方案:本专利技术实施例提供一种链表处理装置,包含存储装置以及链表控制器。链表控制器用于设置链表信息以及将链表信息写入存储装置,以在存储装置中创建链表;其中链表包含多个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示链表的结尾以及辅助信息,以及链表控制器将数据模式储存到链表的链表尾节点的下一节点地址栏。本专利技术实施例另提供一种链表处理方法,包含设置链表信息,其中链表信息包含数据模式,数据模式用于指示链表的结尾以及辅助信息,以及将链表信息写入存储装置,以在存储装置中创建链表;其中链表包含多个节点,每一节点具有下一节点地址栏,以及述数据模式被写入链表的链表尾节点的下一节点地址栏。本专利技术实施例又提供一种网络交换机,包含封包接收电路、链表处理装置以及封包传输电路。封包接收电路用于接收输入封包,以及从已接收的输入封包中导出多个第一数据块组;链表处理装置,包含存储装置以及链表控制器,链表控制器用于将链表信息写入存储装置,以在存储装置中创建链表,其中链表包含与多个第一数据块组分别相关的多个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示链表的结尾以及辅助信息,以及链表控制器将数据模式储存到链表的链表尾节点的下一节点地址栏;封包传输电路用于依据链表从多个第一数据块组导出输出封包的多个第二数据块组,以及传输输出封包,其中当产生输出封包时,封包传输电路参考由链表尾节点指示的辅助信息执行封包处理。以上所述的链表处理装置、链表处理方法及网络交换机可提供共享链表尾架构,充分使用存储空间。【附图说明】图1是依据本专利技术一实施例的网络交换机的示意图。图2是依据本专利技术一实施例的图1中的网络交换机的运行方案示意图。图3是图1中的封包缓冲器及存储装置的数据存储状态的示意图。图4为依据本专利技术的另一实施例的网络交换机的示意图。图5为依据本专利技术一实施例的产生自链表控制器的数据模式的示意图。图6是依据本专利技术一实施例的图4中的网络交换机的运行方案示意图。图7是图4中的封包缓冲器及存储装置的数据存储状态的示意图。【具体实施方式】在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。本专利技术主要设想之一是使用链表尾节点的下一节点地址栏来储存辅助信息。因此,除指示链表的结尾之外,链表尾节点也提供与输出封包的封包处理相关联的附加信息(additionalinformation)(例如,控制信息或者数据信息)。简言之,本专利技术提供共享链表尾架构,以充分使用由链表尾节点占据的存储空间,从而节约原被要求用于缓冲封包处理相关信息(例如,控制信息或者数据信息)的附加存储空间。共享链表尾架构进一步的细节描述如下。图1是依据本专利技术一实施例的网络交换机的示意图。网络交换机100是因特网/内部网设备,并且包含封包接收电路102,耦接于封包接收电路102的链表处理装置104,耦接于封包接收电路102以及链表处理装置104的封包传输电路106,以及耦接于封包接收电路102及封包传输电路106之间的封包转发(packetforward)电路108。封包接收电路102包含接收单元112、封包缓冲器114以及缓冲器管理单元118。链表处理装置104包含链表控制器122以及存储装置124。请注意,图1中仅绘示了与本专利技术相关的元件。在实践中,网络交换机100可能包含附加的元件以支持其他功能。接收单元112用于接收产生自源网络设备的输入封包P_IN,以及自接收到的输入封包P_IN导出多个数据块组(单元数据)116,其中源网络设备连接于网络交换机100。举例来说,输入封包P_IN由多个数据块组116组成,其中数据块组116由接收单元112相继接收,并且每一数据块组116携带一个单元数据。缓冲器管理单元118用于管理封包缓冲器114的缓冲器存储空间。举例来说,缓冲器管理单元118为已接收封包数据块组分配封包缓冲器114中的空闲存储空间,并且释放封包缓冲器114中由已传输封包数据块组所占据的已使用存储空间。因此,当接收单元112接收输入封包P_IN的数据块组时,缓冲器管理单元118在封包缓冲器114中动态分配一空闲存储空间,且接收单元112将已接收的数据块组储存于分配的空闲存储空间中。在本实施例中,在已接收的数据块组被储存于封包缓冲器114中之前,已接收的数据块组未作任何修改。缓冲器管理单元118进一步传输已分配的存储空间的位置信息至链表控制器122。链表控制器122也具有储存管理功能。基于已分配的存储空间的位置信息,链表控制器122在存储装置124中分配一个存储空间,并且将信息储存入已分配的存储空间以创建链表的一个节点126,其中已分配的存储空间储存数据块组,节点126与储存于封包缓冲器114中的已接收的数据块组相关。节点126包含数据栏与下一节点本文档来自技高网
...
链表处理装置、链表处理方法及相关网络交换机

【技术保护点】
一种链表处理装置,其特征在于,包含:存储装置;以及链表控制器,用于设置链表信息以及将所述链表信息写入所述存储装置,以在所述存储装置中创建链表;其中所述链表包含多个节点,每一节点具有下一节点地址栏,所述链表信息包含数据模式,所述数据模式用于指示所述链表的结尾以及辅助信息,以及所述链表控制器将所述数据模式储存到所述链表的链表尾节点的所述下一节点地址栏。

【技术特征摘要】
2013.04.26 US 61/816,243;2014.02.09 US 14/176,1331.一种链表处理装置,其特征在于,包含:存储装置;以及链表控制器,用于设置链表信息以及将所述链表信息写入所述存储装置,以在所述存储装置中创建链表;其中所述链表包含多个节点,每一节点具有下一节点地址栏,所述链表信息包含数据模式,所述数据模式用于指示所述链表的结尾以及辅助信息,以及所述链表控制器将所述数据模式储存到所述链表的链表尾节点的所述下一节点地址栏。2.根据权利要求1所述的链表处理装置,其特征在于,所述数据模式并非指向空地址的空指针。3.根据权利要求1所述的链表处理装置,其特征在于,所述存储装置至少包含位于第一地址范围的第一存储空间及位于第二地址范围的第二存储空间,所述链表控制器用于将任一链表仅储存于所述第一存储空间,并且所述数据模式具有与所述第二存储空间内多个地址之一相同的位模式。4.根据权利要求1所述的链表处理装置,其特征在于,所述辅助信息是控制信息。5.根据权利要求4所述的链表处理装置,其特征在于,所述控制信息指示与所述链表尾节点相关的数据块组的接收错误。6.根据权利要求5所述的链表处理装置,其特征在于,当无可用来缓冲所述数据块组的资源时,所述链表控制器设置写错误信息作为所述数据模式,并将所述写错误信息储存入所述链表尾节点的所述下一节点地址栏。7.根据权利要求1所述的链表处理装置,其特征在于,所述辅助信息是数据信息。8.根据权利要求7所述的链表处理装置,其特征在于,所述数据信息是与所述链表的所述多个节点分别相关的多个数据块组的校验和。9.根据权利要求8所述的链表处理装置,其特征在于,所述数据模式具有较高有效位部分以及较低有效位部分,所述链表控制器设置所述较高有效位部分以指示所述链表的所述结尾,以及利用所述校验和设置所述较低有效位。10.根据权利要求9所述的链表处理装置,其特征在于,所述存储装置至少包含位于第一地址范围的第一存储空间及位于第二地址范围的第二存储空间,所述链表控制器用于将任一链表仅储存于所述第一存储空间,并且所述数据模式的所述较高有效位部分不同于所述第一地址范围内的每一地址的共址较高有效位部分。11.一种链表处理方法,其特征在于,包含:设置链表信息,其中所述链表信息包含数据模式,所述数据模式用于指示链表的结尾以及辅助信息;以及将所述链表信息写入存储装置,以在所述存储装置中创建所述链表;其中所述链表包含多个节点,每一节点具有下一节点地址栏,以及所述数据模式被写入所述链表的链表尾节点的所述下一节点地址栏。12.根据权利要求11所述的链表处理方法,其特征在于,所述数据模式并非指向空地址的空指针。13.根据权利要求11所述的链表处理方法,其特征在于,所...

【专利技术属性】
技术研发人员:张建雄
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾;71

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

1