通过具有不同延迟的存储器进行分组处理的设备和方法技术

技术编号:11832293 阅读:71 留言:0更新日期:2015-08-05 18:05
本发明专利技术的各个实施例涉及通过使用具有不同延迟的存储器来进行分组处理的设备和方法。提供了一种用于处理数据单元的方法和分组处理系统。分组处理系统包括处理器、具有第一延迟的第一存储器、以及具有高于第一延迟的第二延迟的第二存储器。用于将处理器利用的数据单元排队的队列的第一部分被布置在第一存储器中,并且该队列的第二部分被布置在第二存储器中。队列管理器被配置用于将新的数据单元推送至队列的第二部分,并且生成将新的数据单元链接至该队列中更早接收的数据单元的指示。该队列管理器被配置用于在从队列中弹出一个或多个排队的数据单元之前,将排队的数据单元从队列的第二部分转移到队列的第一部分,并且更新指示。

【技术实现步骤摘要】
【专利说明】相关串请的交叉引用本申请要求2014年I月30日提交的、名称为“Managing Extendable HW Queues”的美国临时专利申请N0.61/933,709和2014年7月30日提交的、名称为“ManagingExtendable HW Queues”的美国临时专利申请N0.62/030,885的优先权,其整体内容通过引用并入于此。
本文描述的技术总体上涉及数据通信,更具体地涉及用于管理分组处理系统的队列的系统和方法。
技术介绍
在典型的分组处理系统中,经由一个或多个通信接口来接收源自各种来源位置的分组。每个分组包含路由信息,诸如目的地地址和其他信息。分组处理系统读取每个所接收分组的路由信息,并且将该分组转发至适当通信接口以进一步传输到其目的地。有时,例如由于分组数据流量模式和容量,分组处理系统可能需要将分组存储在存储器中直到分组可以被转发至其相应的输出(outgoing)通信接口。与分组处理系统的分组处理内核相对靠近设置的一些种类存储器空间,在大小方面受限、延迟相对更低、并且相对更贵。相反地,与分组处理内核相对远离设置的其他种类存储器空间,通常有可能比与分组处理系统靠近设置的存储器空间明显地更大。然而,虽然该其他种类存储器空间相对更便宜,但是表现出相对尚的延迟。上文所述被呈现为本领域相关技术的总览并且不应当解释为承认其包含的任何信息组成针对本专利申请的现有技术。
技术实现思路
本文提供了分组处理系统和用于处理数据单元的方法的示例。一个示例,分组处理系统包括处理器、具有第一延迟的第一存储器以及具有高于第一延迟的第二延迟的不同于第一存储器的第二存储器。用于将处理器利用的数据单元排队的队列的第一部分被布置在第一存储器中,并且该队列的第二部分被布置在第二存储器中。示例分组处理系统还包括队列管理器,被配置用于(i)向队列的第二部分选择性地推送新的数据单元,并且生成将新的数据单元链接至该队列中更早接收的数据单元的指示,以及(ii)在从队列中弹出一个或多个排队的数据单元之前,根据顺序将该排队的数据单元从布置在第二存储器中队列的第二部分转移到布置在第一存储器中队列的第一部分,并且更新指示。作为另一示例,用于处理数据单元的方法包括,在具有第一延迟的第一存储器中限定用于将处理器利用的数据单元排队的队列的第一部分。该队列的第二部分在具有高于第一延迟的第二延迟的第二存储器中被限定。新的数据单元被选择性地推送到该队列的第二部分。生成在队列的数据单元之间的链接指示,其中链接指示中的一个或多个跨第一存储器和第二存储器。该方法还包括在从队列中一个或多个弹出排队的数据单元之前,根据顺序将该排队的数据单元从布置在第二存储器中队列的第二部分转移到布置在第一存储器中队列的第一部分。当数据单元从队列的第二部分被转移到队列的第一部分时,更新链接指示中的至少一个。【附图说明】图1是根据本公开的一个实施方式描绘分组处理系统的框图。图2是根据本公开的一个实施方式描绘图1的分组处理系统的附加的元件的框图。图3是根据本公开的一个实施方式图示了图1和图2中描绘的队列管理器的特征的简化框图。图4是根据本公开的一个实施方式描绘图1至图3的分组处理系统的附加的组件的简化框图。图5是根据本公开的一个实施方式描绘由队列管理器在生成为非排队(non-queued)数据单元分配存储空间的请求时采用的示例算法的步骤的流程图。图6是描绘用于在图1至图4的分组处理系统中建立并管理队列的示例方法的步骤的流程图。图7是根据本公开的一个实施方式描绘方法的各步骤的流程图。【具体实施方式】图1是根据本公开的一个实施方式描绘分组处理系统100的简化框图。在一个示例中,分组处理系统100包括用于在分组交换网络中将数据分组从来源转发到目的地的网络设备的至少一部分。分组处理系统100通常是连接两个或更多个计算机系统、网络分段、子网等的计算机组网设备。例如,在一个实施方式中,分组处理系统100是交换机。分组处理系统100并不限于特定协议层或特定组网技术(例如,因特网),并且分组处理系统100可以是桥、路由器或VPN集线器之类的其他设备。分组处理系统100通常被配置用于,接收数据单元102诸如以太网分组,处理该数据单元102,继而将该数据单元102转发至最终目的地址或另一分组处理系统。在一个示例中,数据单元102是经由输入/输出(1)接口在分组处理系统100处接收到的数据分组。分组处理系统100包括用于处理该数据分组102的一个或多个处理器。在图1的示例中,一个或多个处理器被实现为至少布置在第一芯片108上的一个或多个集成电路。注意,该一个或多个处理器不需要被布置在单个芯片上。在一些实施方式中,处理器的不同模块(例如,不同CPU、北桥部分、南桥部分、1/0、串行/解串器(SerDes)等)分布在若干不同芯片。因此,在一个示例中,分组处理系统100中的单个处理器(例如,单个分组处理器)被布置在多个不同芯片,其中所述芯片不限于处理器芯片和存储器芯片。针对包括中央处理单元(CPU)、北桥部分和南桥部分的处理器,在一个实施方式中,这些组件中的每个组件被布置在不同的相应芯片。在图1的示例中,第一芯片108还包括允许一个或多个处理器在数据单元102和其他数据单元被处理时临时存储这些数据单元的第一存储器110。注意,第一存储器110不需要被布置在单个芯片上。在一些实施例中,第一存储器110被布置在多个芯片或裸片。在一个示例中,第一存储器110是具有相对低的延迟、高的带宽和相对小的存储容量的相对快速存储器。第一存储器110在一个实施方式中包括静态随机访问存储器(SRAM),或者包括其他适当的内部存储器配置。在一个示例中,第一存储器110是相对靠近分组处理系统100的一个或多个处理器的处理器部件的处理器组件。为了补偿第一存储器110的相对小的存储容量,分组处理系统100还包括第二存储器112。在一个示例中,第二存储器112是与第一存储器110相比具有相对慢的速度、更高的延迟和更低的带宽的相对便宜的存储器。第二存储器112在一个实施方式中包括动态随机访问存储器(DRAM),或者包括其他适当的外部存储器配置。第二存储器112的存储容量通常大于第一存储器110的存储容量。在一个示例中,与第一存储器110相比第二存储器112被布置在更远离分组处理系统100的一个或多个处理器的处理器部件。在图1的不例中,第二存储器112被布置在与第一芯片108分离并且与第一芯片108耦合的第二集成电路上。在与图1所述相似的示例中(例如,其中第一存储器110被布置在至少第一芯片108上,而第二存储器112不被布置在第一芯片108上),第一存储器110被称为“片上存储器”或“内部存储器”,而第二存储器112被称为“片下存储器”或“夕卜部存储器”。注意在一些实施方式中,第一存储器110和第二存储器112共同位于相同芯片、封装或设备。还应当注意在特定示例中,第二存储器112被布置在包括一个或多个处理器的处理器组件的一个或多个芯片上。在其他示例中,第二存储器112被布置在不包括一个或多个处理器的处理器组件的一个或多个芯片上。在一些实例中,分组处理系统100无法将数据单元立即转发到相应的指定通信接口。在此类实本文档来自技高网...

【技术保护点】
一种分组处理系统,包括:处理器;第一存储器,具有第一延迟;第二存储器,不同于所述第一存储器,具有高于所述第一延迟的第二延迟,其中用于将所述处理器利用的数据单元排队的队列的第一部分被布置在所述第一存储器中,并且所述队列的第二部分被布置在所述第二存储器中;以及队列管理器,被配置用于(i)将新的数据单元选择性地推送到所述队列的所述第二部分,并且生成将新的数据单元链接到所述队列中的更早接收的数据单元的链接指示,以及(ii)在从所述队列弹出一个或多个排队的数据单元之前,根据顺序将所述排队的数据单元从所述队列的布置在所述第二存储器中的所述第二部分转移到所述队列的布置在所述第一存储器中的所述第一部分,并且更新所述链接指示。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:I·皮莱德D·伊兰M·韦纳E·奥普希尔M·安舍尔
申请(专利权)人:马维尔以色列MISL有限公司
类型:发明
国别省市:以色列;IL

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

1