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

文档序号:7802582阅读:109来源:国知局
链表处理装置、链表处理方法及相关网络交换的制造方法
【专利摘要】本发明提供一种链表处理装置、链表处理方法及网络交换机。链表处理装置包含存储装置以及链表控制器,链表控制器用于设置链表信息以及将链表信息写入存储装置,以在存储装置中创建链表;其中链表包含多个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示链表的结尾以及辅助信息,并且链表控制器将数据模式储存到链表的链表尾的下一节点地址栏。本发明的链表处理装置、链表处理方法及网络交换机可提供共享链表尾架构,充分使用存储空间。
【专利说明】链表处理装置、链表处理方法及相关网络交换机 【【技术领域】】
[0001] 本发明有关于链表数据结构(link list data structure),更具体来说,有关于使 用链表的链表尾(link-tail)储存数据模式(data pattern)的装置和方法,其中数据模式 指示链表的结尾以及辅助信息(auxiliary information)。 【【背景技术】】
[0002] 网络交换机(network switch)是链接不同网络设备的计算机网络设备。举例来 说,网络交换机接收与其连接的第一网络设备所产生的输入封包,并将从已接收的封包导 出的修改后封包或者未修改封包仅传输至第二网络设备,其中所述已接收的封包原本是由 第二网络设备接收。一般来说,已接收的封包由多个数据块组(datachunk)(亦即,多个单 元数据(cell data))组成。因此,从已接收的封包中导出的封包也由多个数据块组(亦即, 多个单元数据)组成。网络交换机具有用于缓冲导出封包的数据块组的封包缓冲器。然而, 封包缓冲器中的空闲可用存储空间并不能确保是连续的。因此,导出封包的多个数据块组 在被储存入封包缓冲器中后,可能随机位于封包缓冲器中。
[0003] 为有效管理封包缓冲器中的导出封包的多个数据块组,网络交换机可使用链表。 基于链表数据结构,链表包含顺序关联的多个节点,其中每一节点与封包缓冲器中的导出 封包的多个数据块组之一相关,并且具有下一节点地址栏,用于储存下一节点的地址。关 于链表的链表尾节点,由于链表尾节点是链表的最后一个节点,并不存在与链表尾节点级 联的下一节点。故在常规设计中,链表尾节点的下一节点地址栏将储存指向空地址(null address)的空指针(null pointer),从而在封包传输期间,当封包传输电路读取链表时,告 知封包传输电路链表的结尾。由于链表尾节点指向"零"(null),链表尾的下一节点地址栏 被浪费掉了。 【
【发明内容】

[0004] 有鉴于此,本发明特提供以下技术方案:
[0005] 本发明实施例提供一种链表处理装置,包含存储装置以及链表控制器。链表控制 器用于设置链表信息以及将链表信息写入存储装置,以在存储装置中创建链表;其中链表 包含多个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示 链表的结尾以及辅助信息,以及链表控制器将数据模式储存到链表的链表尾节点的下一节 点地址栏。
[0006] 本发明实施例另提供一种链表处理方法,包含设置链表信息,其中链表信息包含 数据模式,数据模式用于指示链表的结尾以及辅助信息,以及将链表信息写入存储装置,以 在存储装置中创建链表;其中链表包含多个节点,每一节点具有下一节点地址栏,以及述数 据模式被写入链表的链表尾节点的下一节点地址栏。
[0007] 本发明实施例又提供一种网络交换机,包含封包接收电路、链表处理装置以及封 包传输电路。封包接收电路用于接收输入封包,以及从已接收的输入封包中导出多个第一 数据块组;链表处理装置,包含存储装置以及链表控制器,链表控制器用于将链表信息写 入存储装置,以在存储装置中创建链表,其中链表包含与多个第一数据块组分别相关的多 个节点,每一节点具有下一节点地址栏,链表信息包含数据模式,数据模式用于指示链表的 结尾以及辅助信息,以及链表控制器将数据模式储存到链表的链表尾节点的下一节点地址 栏;封包传输电路用于依据链表从多个第一数据块组导出输出封包的多个第二数据块组, 以及传输输出封包,其中当产生输出封包时,封包传输电路参考由链表尾节点指示的辅助 信息执行封包处理。
[0008] 以上所述的链表处理装置、链表处理方法及网络交换机可提供共享链表尾架构, 充分使用存储空间。 【【专利附图】

【附图说明】】
[0009] 图1是依据本发明一实施例的网络交换机的示意图。
[0010] 图2是依据本发明一实施例的图1中的网络交换机的运行方案示意图。
[0011] 图3是图1中的封包缓冲器及存储装置的数据存储状态的示意图。
[0012] 图4为依据本发明的另一实施例的网络交换机的示意图。
[0013] 图5为依据本发明一实施例的产生自链表控制器的数据模式的示意图。
[0014] 图6是依据本发明一实施例的图4中的网络交换机的运行方案示意图。
[0015] 图7是图4中的封包缓冲器及存储装置的数据存储状态的示意图。 【【具体实施方式】】
[0016] 在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的 技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求 书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基 准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含 但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中 描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它 装置或连接手段间接地电气连接至第二装置。
[0017] 本发明主要设想之一是使用链表尾节点的下一节点地址栏来储存辅助信息。因 此,除指示链表的结尾之外,链表尾节点也提供与输出封包的封包处理相关联的附加信息 (additional information)(例如,控制信息或者数据信息)。简言之,本发明提供共享链表 尾架构,以充分使用由链表尾节点占据的存储空间,从而节约原被要求用于缓冲封包处理 相关信息(例如,控制信息或者数据信息)的附加存储空间。共享链表尾架构进一步的细 节描述如下。
[0018] 图1是依据本发明一实施例的网络交换机的示意图。网络交换机100是因特网/ 内部网设备,并且包含封包接收电路102,耦接于封包接收电路102的链表处理装置104,耦 接于封包接收电路102以及链表处理装置104的封包传输电路106,以及耦接于封包接收 电路102及封包传输电路106之间的封包转发(packet forward)电路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中之前,已接收的数据块组未 作任何修改。
[0019] 缓冲器管理单元118进一步传输已分配的存储空间的位置信息至链表控制器 122。链表控制器122也具有储存管理功能。基于已分配的存储空间的位置信息,链表控制 器122在存储装置124中分配一个存储空间,并且将信息储存入已分配的存储空间以创建 链表的一个节点126,其中已分配的存储空间储存数据块组,节点126与储存于封包缓冲器 114中的已接收的数据块组相关。节点126包含数据栏与下一节点地址栏。在本实施例中, 储存于封包缓冲器114中的多个数据块组116以及存储装置124中创建的链表的多个节点 126之间存在一对一的映射关系。换言之,自输入封包P_IN导出并储存于封包缓冲器114 中的多个数据块组分别与创建并储存于存储装置124中的链表的多个节点相关联。因此, 通过将链表从链表头(link-head)节点(亦即,第一节点)穿越(traversing)至链表尾节 点(亦即,最后节点),封包传输电路106可有序取出随机储存于封包缓冲器114中的数据 块组以获取输出封包P_〇UT的多个数据块组。此外,封包转发电路108从接收单元112获 取输入封包P_IN的封包数据,并提供封包目的信息至封包传输电路106。随后,封包传输电 路106将输出封包P_0UT传输至连接于网络交换机100的目的网络设备。
[0020] 输出封包?_0瓜的数据块组成功传输至目的网络设备后,封包缓冲器114中由该 已传输的数据块组所占据的已使用过的存储空间可被释放。从而,缓冲器管理单元118将 原本被分配给输出封包P_〇UT的该已传输的数据块组的存储空间视为一空闲存储空间。
[0021] 如图1所示,链表节点架构具有数据栏(data field)及下一节点地址栏。根据实际 设计考虑,每一节点126的数据栏可以是空的。在本实施例中,每一节点126的下一节点地 址栏被设计为用来记录下一节点的地址。从而,储存在存储装置124中的链表可被配置为 一个节点连接于单一的下一个节点。链表控制器122设置储存于存储装置124中的链表信 息INF UST,其中链表信息INFUST可包含数据模式INF。,数据模式INF。被配置为指示链表的 结尾以及辅助信息(例如,控制信息)。链表控制器122将数据模式INF。储存入链表的链 表尾节点的下一节点地址栏中。以此种方式,当封包传输电路106从链表尾节点读取出数 据模式INF。时,封包传输电路106不仅识别出当前节点为链表的最后节点,同时也获得了 控制信息。当产生输出封包P_〇UT时,封包传输电路106参考链表尾节点指示的辅助信息 (例如,控制信息)执行封包处理。
[0022] 如图1所示,存储装置124至少包含位于第一地址范围的第一存储空间127及位 于第二地址范围的第二存储空间128。因此,并非存储装置124的所有存储空间均用于储 存链表。链表控制器122配置为将任一链表仅储存于第一存储空间127。请注意数据模式 INFC并非指向存储装置124的地址范围(例如,第一地址范围和第二地址范围)之外的空 地址的空指针。在本实施例中,数据模式INF C具有与第二存储空间128内多个地址之一 相同的位模式(bit pattern)。亦即,与使用空地址(亦即,不存在于存储装置124中的地 址)的空指针相反,数据模式INFC被设置为与存储装置124中的一个未使用地址相同的位 模式。由于封包传输电路106知晓任一链表应储存于第一存储空间127中,当储存于下一 节点地址栏的位模式超出第一存储空间127的第一地址范围时,封包传输电路106可以容 易的识别出链表尾节点。此外,当侦测到储存于链表节点的下一节点地址栏的位模式是位 于第二存储空间128的第二地址范围内的未使用地址时,封包传输电路106更从链表节点 中获取控制信息。举例来说,控制信息用于指示输入封包P_IN与链表尾节点相关的数据块 组的接收错误。
[0023] 请一并参考图2和图3。图2是依据本发明一实施例的图1中的网络交换机100 的运行方案示意图。图3是图1中的封包缓冲器114及存储装置124的数据存储状态的示 意图。举例来说,但并非本发明的限制,输入封包P_IN是产生自连接于网络交换机100的 源网络设备的直通(cut-through)封包。故在输入封包?_預所有的数据块组(单元数据) 被接收之前,网络交换机100便开始将输出封包P_〇UT的数据块组(单元数据)传输至连 接于网络交换机100的目的网络设备。如图2所示,封包接收电路102的接收单元112顺 序接收输入封包P_IN的数据块组(单元数据)RXD0_RXD4。当接收单元112接收第一单元 数据RXD0,并且封包缓冲器114在地址5,10, 7和12具有空闲存储空间时,接收单元112 将第一单元数据RXD0储存于位于封包缓冲器114的地址5的存储空间,而链表控制器122 因此使用位于存储装置124的地址5的存储空间创建链表头节点。第一单元数据RXD0被 储存于封包缓冲器114之后,封包传输电路106立即自封包缓冲器114读取第一单元数据 RXD0,并将其作为输出封包P_0UT的第一数据块组(单元数据)TXD0传输(亦即,RXD0 = TXD0)。
[0024] 当接收单元112接收第二单元数据RXD1,且封包缓冲器114在地址10, 7和12具 有空闲存储空间时,接收单元112将第二单元数据RXD1储存于位于封包缓冲器114的地址 10的存储空间,而链表控制器122因此使用位于存储装置124的地址10的存储空间创建节 点0,并将地址10储存入链表头节点的下一节点地址栏,使得链表头节点链接于节点0。类 似地,在第二单元数据RXD1被储存于封包缓冲器114之后,封包传输电路106立即自封包 缓冲器114读取第二单元数据RXD1,并将其作为输出封包P_0UT的第二数据块组(单元数 据)TXD1 传输(亦即,RXD1 = TXD1)。
[0025] 关于之后的两个单元数据RXD2和RXD3,接收单元112及链表控制器122同样执 行上述操作。故第三单元数据RXD2储存于封包缓冲器114的地址7的存储空间,而第四单 元数据RXD3储存于封包缓冲器114的地址12的存储空间。在存储装置124中,节点1和 2分别储存于地址7和12,其中节点1链接于节点2,且节点2链接于节点3。
[0026] 当接收单元112接收第五单元数据RXD4时,封包缓冲器114没有可用于缓冲第五 单元数据RXD4的空闲存储空间。故由于缺乏足够存储资源而发生写错误。接收单元112不 将接收到的第五单元数据RXD4储存于封包缓冲器114中。链表控制器122设置写错误信 息作为数据模式INF。,并将数据模式INF。写入节点2的下一节点地址栏,使得节点2被设置 为链表尾节点,同时指示输入封包P_IN的数据块组的接收错误(亦即,第五单元数据RXD4 的接收错误)。当封包传输电路106自节点2的下一节点地址栏读取数据模式INFC时,将 得知封包被截断。在本实施例中,封包传输电路106将一预设错误数据块组TXD4附加至输 出封包P_OUT。当位于目的网络设备的封包接收电路接收产生自网络交换机100的输出封 包P_OUT时,其将丢弃这个不完整的封包。
[0027] 在上述实施例中,储存于链表尾节点的下一节点地址栏中的数据模式用于指示链 表的结尾以及辅助信息,其中辅助信息为控制信息。然而,其仅用作说明的目的。在其他替 代设计中,储存于链表尾节点的下一节点地址栏中的数据模式可用于指示链表的结尾以及 辅助信息,其中辅助信息为数据信息。
[0028] 请参考图4,其为依据本发明的另一实施例的网络交换机的示意图。网络交换机 400的结构类似于图1中所示的网络交换机100。网络交换机100和网络交换机400的主 要不同在于网络交换机400更包含校验和处理器408,链表处理装置404的链表控制器422 用于将数据模式INF D,包含数据信息(例如产生自校验和处理器408的校验和Das),储存 至链表的链表尾节点的下一节点地址栏,而封包传输电路406基于读取于链表尾节点的校 验和D CKS执行校验和计算,以验证输出封包P_0UT'的正确性。举例来说,校验和处理器408 计算自输入封包?_預'的原始数据块组(单元数据)导出并储存于封包缓冲器114中的修 改的数据块组(单元数据)的校验和,其中自输入封包P_IN'导出并储存于封包缓冲器 114中的数据块组与创建并储存于存储装置124中的链表的节点相关。关于封包传输电路 406,当产生输出封包P_0UT'时,封包传输电路406参考链表尾节点指示的辅助信息(例如, 数据信息)执行封包处理(例如,校验和验证)。
[0029] 如上所述,存储装置124至少具有位于第一地址范围的第一存储空间127及位于 第二地址范围的第二存储空间128。类似地,由于并非存储装置124的所有存储空间均用于 储存链表,链表控制器422配置为将任一链表仅储存于第一存储空间127。请注意数据模式 INF D并非指向存储装置124的地址范围(例如,第一地址范围和第二地址范围)之外的空 地址的空指针。请参考图5,其为依据本发明一实施例的产生自链表控制器422的数据模式 INF D的示意图。在本实施例中,数据模式INFD具有较高有效位(more significant bit,简写 为MSB)部分以及较低有效位(less significant bit,简写为LSB)部分,其中LSB部分作为 校验和,MSB部分作为校验值的词头(prefix)。更具体来说,链表控制器422设置数据模式 INF D的MSB部分来指示链表的结尾,并用产生自校验和处理器408的校验和DeKS设置LSB部 分。假定下一节点地址栏的大小为8位。若链表尾节点的下一节点地址栏被8位的校验和 满载,由于8位校验和的数据模式可能与第一地址范围内的多个8位地址其中之一的数据 模式相同,封包传输电路406可能不能够区分第一存储空间127的第一地址范围内的8位 已使用地址以及由校验和处理器408产生的8位校验和。因此,词头被特别设计来指示链 表的结尾。举例来说,词头有2位,而校验和为6位而非8位。考虑下述情况,其中第一存 储空间127的第一地址范围从0x00000000至0x10000000,第二存储空间128的第二地址范 围从0x10000001至0x111 111 11。则链表中每一节点的已使用地址将为自地址0x00000000 至0x10000000中的一个。由于6位校验和可由自0x000000至0x111111的多个位模式中 的一个来设置,2位的词头被故意设置为0x11以确保数据模式INF D具有不同于第一地址范 围(亦即,0x00000000至0x10000000)内的任一地址的8位位模式。换言之,链表控制器 422将数据模式INFD的MSB部分设置为不同于第一存储空间127的第一地址范围内的每一 地址的共址MSB部分。
[0030] 请一并参考图6和图7。图6是依据本发明一实施例的图4中的网络交换机400 的运行方案示意图。图7是图4中的封包缓冲器114及存储装置124的数据存储状态的示 意图。举例来说,但并非本发明的限制,输入封包P_IN'是产生自连接于网络交换机400的 源网络设备的存储转发(store-and-forward)封包。故在输入封包?_預'所有的数据块组 (单元数据)被接收之后,网络交换机400开始将输出封包P_0UT'的数据块组传输至连接 于网络交换机400的目的网络设备。如图6所示,封包接收电路102的接收单元112顺序接 收输入封包P_IN'的数据块组(单元数据)RXD0_RXD3,并将对应的修改后的数据块组(单 元数据)RXD0' -RXD3'顺序储存于封包缓冲器114的地址5,10, 7和12的存储空间中。
[0031] 举例来说,可通过修改输入封包P_IN'的原始数据块组的单元数据来产生修改后 的数据块组,其中单元数据包含源IP地址,TCP源端口等。
[0032] 当修改后的第一单元数据RXD0'被储存于位于封包缓冲器114的地址5的存储空 间时,链表控制器422使用位于存储装置124的地址5的存储空间创建链表头节点。当修 改后的第二单元数据RXD1'被储存于位于封包缓冲器114的地址10的存储空间时,链表控 制器422使用位于存储装置124的地址10的存储空间创建节点0,并将地址10储存入链表 头节点的下一节点地址栏,使得链表头节点链接于节点0。当修改后的第三单元数据RXD2' 被储存于位于封包缓冲器114的地址7的存储空间时,链表控制器422使用位于存储装置 124的地址7的存储空间创建节点1,并将地址7储存入链表头节点的下一节点地址栏,使 得节点〇链接于节点1。当自输入封包P_IN'的最后单元数据导出的修改后的第四单元数 据RXD3'被储存于位于封包缓冲器114的地址12的存储空间时,链表控制器422使用位于 存储装置124的地址12的存储空间创建节点3作为链表尾节点。
[0033] 当接收单元112将修改后的数据块组(单元数据)RXDO' -RXD3'顺序存入封包缓 冲器114中时,接收单元112也将修改后的数据块组(单元数据)RXDO' -RXD3'顺序送至 校验和处理器408。以此种方式,接收到一个修改后的数据块组(单元数据),校验和处理 器408计算并更新一次校验和。因此,当校验和处理器408接收到修改后的第四单元数据 RXD4'时,校验和处理器408产生自输入封包P_IN'导出的所有修改后的数据块组(单元数 据)的最终校验和D as。当自输入封包?_預'的最后一个单元数据导出的修改后的第四单 元数据RXD4'被储存于位于封包缓冲器114的地址12的存储空间时,链表控制器422用校 验和D eKS来设置数据模式INFD的LSB部分,并将数据模式INFD储存于存储装置124的地址 12的链表尾节点的下一节点地址栏中,其中数据模式INF D包含由词头"0x11"设置的MSB 部分和由校验和DCKS设置的LSB部分。
[0034] 由于输入封包P_IN'所有的数据块组(单元数据)RXD0-RXD3均已被封包接收电 路102接收,封包传输电路406被允许基于修改后的数据块组(单元数据)RXD0'-RXD3'产 生及传输输出封包P_〇UT'。封包传输电路406参考储存于存储装置124的链表从封包缓 冲器114顺序读取修改后的数据块组(单元数据)RXDO' -RXD3'并储存于本地FIFO中,用 于验证校验和。随后,封包传输电路406从链表尾节点的下一节点地址栏读取校验和D CKS 并验证校验和。若校验和正确,则封包传输电路406顺序传输RXDO' -RXD3'作为输出封包 P_0UT' 的数据块组(单元数据)TXD0-TXD3(亦即,RXDO' = TXD0,RXD1' = TXD1,RXD2' = TXD2,且RXD3' = TXD3)。若校验和不正确,封包传输电路406将丢弃上述数据。
[0035] 在上述实施例中提出的链表架构应用于网络交换机100/400中,用于使用共享链 表尾节点来指示控制信息(例如,写错误信息)或数据信息(例如,校验和)。然而,其仅用 作说明的目的,并不能作为本发明的限制。亦即,任一使用提出的链表架构的电子设备均落 入本发明的范围。
[0036] 以上所述仅为本发明的较佳实施例,本领域相关的技术人员依据本发明的精神所 做的等效变化与修改,都应当涵盖在权利要求书内。
【权利要求】
1. 一种链表处理装置,其特征在于,包含: 存储装置;以及 链表控制器,用于设置链表信息以及将所述链表信息写入所述存储装置,以在所述存 储装置中创建链表; 其中所述链表包含多个节点,每一节点具有下一节点地址栏,所述链表信息包含数据 模式,所述数据模式用于指示所述链表的结尾以及辅助信息,以及所述链表控制器将所述 数据模式储存到所述链表的链表尾节点的所述下一节点地址栏。
2. 根据权利要求1所述的链表处理装置,其特征在于,所述数据模式并非指向空地址 的空指针。
3. 根据权利要求1所述的链表处理装置,其特征在于,所述存储装置至少包含位于第 一地址范围的第一存储空间及位于第二地址范围的第二存储空间,所述链表控制器用于将 任一链表仅储存于所述第一存储空间,并且所述数据模式具有与所述第二存储空间内多个 地址之一相同的位模式。
4. 根据权利要求1所述的链表处理装置,其特征在于,所述辅助信息是控制信息。
5. 根据权利要求4所述的链表处理装置,其特征在于,所述控制信息指示与所述链表 尾节点相关的数据块组的接收错误。
6. 根据权利要求5所述的链表处理装置,其特征在于,当无可用来缓冲所述数据块组 的资源时,所述链表控制器设置写错误信息作为所述数据模式,并将所述写错误信息储存 入所述链表尾节点的所述下一节点地址栏。
7. 根据权利要求1所述的链表处理装置,其特征在于,所述辅助信息是数据信息。
8. 根据权利要求7所述的链表处理装置,其特征在于,所述数据信息是与所述链表的 所述多个节点分别相关的多个数据块组的校验和。
9. 根据权利要求8所述的链表处理装置,其特征在于,所述数据模式具有较高有效位 部分以及较低有效位部分,所述链表控制器设置所述较高有效位部分以指示所述链表的所 述结尾,以及利用所述校验和设置所述较低有效位。
10. 根据权利要求9所述的链表处理装置,其特征在于,所述存储装置至少包含位于第 一地址范围的第一存储空间及位于第二地址范围的第二存储空间,所述链表控制器用于将 任一链表仅储存于所述第一存储空间,并且所述数据模式的所述较高有效位部分不同于所 述第一地址范围内的每一地址的共址较高有效位部分。
11. 一种链表处理方法,其特征在于,包含: 设置链表信息,其中所述链表信息包含数据模式,所述数据模式用于指示链表的结尾 以及辅助信息;以及 将所述链表信息写入存储装置,以在所述存储装置中创建所述链表; 其中所述链表包含多个节点,每一节点具有下一节点地址栏,以及所述述数据模式被 写入所述链表的链表尾节点的所述下一节点地址栏。
12. 根据权利要求11所述的链表处理方法,其特征在于,所述数据模式并非指向空地 址的空指针。
13. 根据权利要求11所述的链表处理方法,其特征在于,所述存储装置至少包含位于 第一地址范围的第一存储空间及位于第二地址范围的第二存储空间,任一链表仅被储存于 所述第一存储空间,并且所述数据模式具有与所述第二存储空间内多个地址之一相同的位 模式。
14. 根据权利要求11所述的链表处理方法,其特征在于,所述辅助信息是控制信息。
15. 根据权利要求14所述的链表处理方法,其特征在于,所述控制信息指示与所述链 表尾节点相关的数据块组的接收错误。
16. 根据权利要求15所述的链表处理方法,其特征在于,设置所述链表信息的步骤包 含: 当无可用来缓冲所述数据块组的资源时,设置写错误信息作为所述数据模式,使得所 述写错误信息被储存入所述链表尾节点的所述下一节点地址栏。
17. 根据权利要求11所述的链表处理方法,其特征在于,所述辅助信息是数据信息。
18. 根据权利要求17所述的链表处理方法,其特征在于,所述数据信息是与所述链表 的所述多个节点分别相关的多个数据块组的校验和。
19. 根据权利要求18所述的链表处理方法,其特征在于,所述数据模式具有较高有效 位部分以及较低有效位部分,以及设置所述链表信息的步骤包含: 设置所述较高有效位部分以指示所述链表的所述结尾;以及 利用所述校验和设置所述较低有效位。
20. 根据权利要求19所述的链表处理方法,其特征在于,所述存储装置至少包含位于 第一地址范围的第一存储空间及位于第二地址范围的第二存储空间,任一链表仅被储存于 所述第一存储空间,并且所述数据模式的所述较高有效位部分不同于所述第一地址范围内 的每一地址的共址较高有效位部分。
21. -种网络交换机,其特征在于,包含: 封包接收电路,用于接收输入封包,以及从已接收的所述输入封包中导出多个第一数 据块组; 链表处理装置,包含: 存储装置;以及 链表控制器,用于将链表信息写入所述存储装置,以在所述存储装置中创建链表,其中 所述链表包含与所述多个第一数据块组分别相关的多个节点,每一节点具有下一节点地址 栏,所述链表信息包含数据模式,所述数据模式用于指示所述链表的结尾以及辅助信息,以 及所述链表控制器将所述数据模式储存到所述链表的链表尾节点的所述下一节点地址栏; 以及 封包传输电路,用于依据所述链表从所述多个第一数据块组导出输出封包的多个第二 数据块组,以及传输所述输出封包,其中当产生所述输出封包时,所述封包传输电路参考由 所述链表尾节点指示的所述辅助信息执行封包处理。
22. 根据权利要求21所述的网络交换机,其特征在于,所述辅助信息指示所述输入封 包的数据块组的接收错误;以及当读取所述链表尾节点时,所述封包传输电路将预设错误 数据块组附加至所述输出封包。
23. 根据权利要求21所述的网络交换机,其特征在于,更包含: 校验和处理器,用于计算所述多个第一数据块组的校验和; 其中所述链表控制器利用所述校验和设置所述辅助信息;以及当传输所述输出封包 时,所述封包传输电路依据读取于所述链表尾节点的所述校验和验证所述多个第二数据块 组。
【文档编号】H04L12/931GK104125169SQ201410175645
【公开日】2014年10月29日 申请日期:2014年4月28日 优先权日:2013年4月26日
【发明者】张建雄 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1