涉及可变大小信元的共享存储器缓冲区的方法和设备技术

技术编号:3980043 阅读:205 留言:0更新日期:2012-04-11 18:40
在一个实施例中,一种设备包括其中包括引导存储器区块的共享存储器缓冲区,和被配置为将一组段中的引导段发送到引导存储器区块的写复用模块。该组段包括一组可变大小信元的比特值。所述写复用模块进一步被配置为将该组段中的标识为尾随段的每一段发送到与所述引导存储器区块互相排斥的所述共享存储器的一部分。

【技术实现步骤摘要】

这里所描述的实施例一般涉及缓冲器模块,具体来说,涉及与可变大小信元的共 享存储器缓冲区相关的方法和设备。
技术介绍
已知的低延迟共享存储器缓冲区可以用于许多类型的应用。例如,低延迟共享存 储器缓冲区可以用于吞吐量相对来说比较高的网络交换机应用中以及并行计算系统中。这 些已知的共享存储器缓冲区常常使用直通方法,其中,共享存储器缓冲区被配置为在例如 信元的尾端(例如,尾部比特值)在共享存储器缓冲区的输入端口被完全接收到之前,发送 信元的前端(例如,起始比特值)。这些已知共享存储器缓冲区可以被配置为处理具有固定 位宽度的信元和/或处理具有等于信元的最小位宽度的位宽度的段。然而,这些已知共享 存储器缓冲区常常以不理想的管理开销水平处理信元和/或没有被配置为以所理想的方 式处理可变大小信元。因此,需要被配置为处理可变大小信元的共享存储器缓冲区的方法和设备。
技术实现思路
在一个实施例中,一种设备包括共享存储器缓冲区,该共享存储器缓冲区包括引 导存储器区块和被配置为将一组段中的引导段发送到引导存储器区块的写复用模块。该组 段包括一组可变大小信元的比特值。所述写复用模块进一步被配置为将该组段中被标识为 尾随段的每个段发送到与所述引导存储器区块互斥的所述共享存储器的一部分。附图说明图1A是显示了根据实施例的缓冲器模块的示意图。图1B是显示了根据实施例的在图1A中所显示的缓冲器模块中处理的数据信号的 一部分的示意图。图2是显示了根据实施例的缓冲器模块的示意图。图3是显示了根据实施例的可以包括在段中的信元的多个部分的示意图。图4是显示了根据实施例的包括缓冲器模块的交换机结构的示意图。图5是显示了根据实施例的用于修改数据信号的比特率的方法的流程图。图6A是显示了根据实施例的缓冲器模块的组件的示意图。图6B是显示了根据实施例的通过在图6A中所显示的缓冲器模块的组件来处理段 的时序图。图6C是显示了根据实施例的通过在图6A中所显示的缓冲器模块的组件来处理段 的时序图。图7是显示了根据实施例的用于在缓冲器模块中处理段的方法的流程图。图8是显示了根据实施例的图6A中所显示的缓冲器模块的变型的示意图。具体实施例方式缓冲器模块可以具有被配置为基于一个或多个流控制信号处理并行地接收到的 多个数据信号的共享存储器缓冲区。该共享存储器缓冲区可以由多个存储器区块(memory bank)限定。缓冲器模块可以被配置为基于流控制信号,修改在缓冲器模块中接收到的多个 数据信号中的一个或多个的比特率(也可以被称为流速率)。例如,缓冲器模块可以被配置 为响应表示在缓冲器模块中接收到的数据信号应该延迟指定的时间长度的流控制信号,延 迟在缓冲器模块中接收到的数据信号。相应地,数据信号的一个或多个部分(例如,段)可 以在缓冲器模块的共享存储器缓冲区保留指定的时间长度,并且发送到缓冲器模块的数据 信号的比特率将不同于从缓冲器模块发送的数据信号的比特率。可以响应,例如下游处理 模块处的拥塞来定义流控制信号。如果缓冲器模块包括在多级交换机结构的一级中,则可 以从例如多级交换机结构的下游级接收流控制信号。在某些实施例中,多级交换机结构可 以定义数据中心的核心部分的至少一部分。在某些实施例中,每个数据信号可以被称为信道(也可以称为数据信道)。在某些 实施例中,数据信号可以由信元(例如,可变大小信元和/或固定大小的信元)的一个或多 个流定义。在某些实施例中,可以基于来自一个或多个数据包(例如,以太网数据包,会话 控制协议数据包)的比特值来定义信元。可以在缓冲器模块中作为可以称为“段”的切片 来处理数据信号(例如,信元的流)。在某些实施例中,段可以具有小于在缓冲器模块接收 到的可变大小信元的最小位宽度的位宽度。可以通过缓冲器模块来处理数据信号,以便通过缓冲器模块(以及共享存储器缓 冲区)的处理延迟相对较小,并且基本上是恒定的,直到接收到触发延迟的流控制信号。例 如,通过缓冲器模块的信号的处理延迟可以是几个时钟周期。相应地,信号将被时移几个时 钟周期,并且发送到缓冲器模块的数据信号的比特率将基本上与从缓冲器模块发送的数据 信号的比特率相同。在某些实施例中,缓冲器模块可以被配置为在例如信元的尾端(例如, 尾部比特值)在缓冲器模块的输入端口被完全接收到之前,发送该信元的前端(例如,起始 比特值)。缓冲器模块可以具有写复用模块,被配置为将数据信号的段(例如,信元的流的 段)并行地分布到缓冲器模块的存储器区块。此处理可以称为“分布”。缓冲器模块可以具 有读复用模块,被配置为对来自缓冲器模块的数据信号的某些部分进行排序并发送。此处 理可以称为重新组合。在某些实施例中,可以通过写复用模块以预定义的方式(例如,以预 定义的模式,根据预定义的算法)分布段,以便可以由读复用模块基于预定义的方式重新 组合数据信号的段。在某些实施例中,缓冲器模块的一个或多个部分可以是基于硬件的模块(例如, 数字信号处理器(DSP)、现场可编程门阵列(FPGA))和/或基于软件的模块(例如,可以在 计算机上执行的计算机代码的模块、一组计算机可读取的指令)。在某些实施例中,与缓冲 器模块关联的一个或多个功能可以包括在单一模块中,或者也可以分成多个模块。图1A是显示了根据实施例的缓冲器模块100的示意图。如图1A所示,在缓冲器 模块100,在缓冲器模块100的输入端180上(例如,通过缓冲器模块100的输入端口 162) 接收数据信号&到SM。在缓冲器模块100上进行处理之后,在缓冲器模块100的输出端6185 (例如,通过缓冲器模块100的输出端口 164)上从缓冲器模块100发送数据信号SQ到 SM。每个数据信号&到SM都可以定义信道(也可以称为数据信道)。数据信号&到SM可 以统称为数据信号160。虽然所显示的缓冲器模块100的输入端180和缓冲器模块100的 输出端185位于缓冲器模块100的不同的物理端,但是,缓冲器模块100的输入端180和缓 冲器模块100的输出端185是在逻辑上定义的,并且不排除缓冲器模块100的各种物理配 置。例如,缓冲器模块100的一个或多个输入端口 162和/或一个或多个输出端口 164可 以物理地位于缓冲器模块100的任何端(和/或同一端)。缓冲器模块100可以被配置为处理数据信号160,以便通过缓冲器模块100的数据 信号160的处理延迟可以相对较小,并且基本上是恒定的。相应地,在通过缓冲器模块100 处理数据信号160时的数据信号160的比特率,可以基本上是恒定的。例如,通过缓冲器模 块100的数据信号S2的处理延迟可以是基本上恒定数量的时钟周期。相应地,数据信号S2 可以被时移该数量的时钟周期,并且发送到缓冲器模块100的输入端180的数据信号S2的 比特率将基本上与从缓冲器模块100的输出端185发送的数据信号S2的比特率相同。将 参考图1B描述涉及缓冲器模块100处的处理延迟的更多细节。缓冲器模块100可以被配置为响应于流控制信号170的一个或多个部分,修改一 个或多个数据信号160的比特率。例如,缓冲器模块100可以被配置为响应于指示数据信 号S2应该延迟指定的时间长度的流控制信号170的一部分,延迟在缓冲器模块100处接收 到本文档来自技高网...

【技术保护点】
一种用于共享存储器缓冲区的设备,包括:包括引导存储器区块的共享存储器缓冲区;以及写复用模块,被配置为将一组段中的引导段发送到所述引导存储器区块,该组段包括来自一组可变大小信元的比特值,所述写复用模块进一步被配置为将该组段中被标识为尾随段的每一段发送到与所述引导存储器区块互斥的所述共享存储器的一部分。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:G艾贝
申请(专利权)人:丛林网络公司
类型:发明
国别省市:US[美国]

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

1