根据报文大小确定存储在存储器组或存储器设备中的副本数目的存储器架构的制作方法

xiaoxiao2020-9-10  6

根据报文大小确定存储在存储器组或存储器设备中的副本数目的存储器架构的制作方法
【专利摘要】本发明涉及用于存储信息单元的存储器架构(100),所述存储器架构(100)包括多个存储器组(101a、102a、103a、104a)或多个存储器设备(121、122、123、124)以及发起在所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、123、124)中存储信息单元和所述信息单元的多个副本,所述存储器控制器(106)根据所述信息单元的大小区分所述副本。
【专利说明】根据报文大小确定存储在存储器组或存储器设备中的副本 数目的存储器架构

【背景技术】
[0001] 本发明涉及一种存储器架构,该存储器架构包括多个存储器组(memory bank)或 多个用于存储信息单元的存储器设备以及存储器控制器,尤其涉及根据DRAM技术的存储 器架构。
[0002] 高速存储器是系统性能中的关键资源,如网络系统、图形控制器、CPU架构等。缓 存等架构是访问模式(access pattern)不是完全随机时的常用方法。然而,在交换机、路 由器和其它类型的网络设备等应用中,情况并非如此。从完全随机的报文到达中推演出存 储器访问模式。
[0003] DRAM(动态随机存取存储器)技术用于具有随机访问性质的应用时性能较差。当 在相同的组(bank)中从一行(row)切换到另一行时,障碍在于存储器固有延时。该延时称 为tRC (行周期时间),并且自从最早的DRAM至今其大小几乎保持不变。网络应用中的DRAM 存储器的限制主要是随机访问速率而不是带宽。存在行单元到行单元的延时(row active to row active delay, tRRD)和四激活窗口 (four band activation window time, tFAff) 等在随机访问场景下明显降低存储器性能的限制因素。然而,尽管存在该性能瓶颈,存在其 他使DRAM技术不可替代的其它优点。优点在于高密度、低成本和低功率。在要求高密度和 高性能的应用中,由于成本、功率和地区问题,SRAM(静态随机存取存储器)技术等替代是 不切实际的。因此,需要提高DRAM技术的性能以在网络通信等领域以及类似应用中开辟新 机遇,这些应用要求存储不同类型的信息单元(例如,报文描述符或控制报文、统计计数器 以及网络通信中的数据报文)的短随机访问的高速率。


【发明内容】

[0004] 本发明的目标在于提高DRAM存储器架构的性能。
[0005] 此目的可以通过独立权利要求的特征来实现。进一步的实施形式在从属权利要 求、具体说明和附图中显而易见。
[0006] 本发明基于以下结论是可以通过流量感知数据复制概念,即通过根据信息单元的 大小存储所述存储器架构中所述信息单元的副本来提高存储器架构的性能。
[0007] 因此,网络通信中的数据报文等长信息单元仅存储一次而控制信息(例如,报文 描述符)等短信息单元以复制的方式存储,其中所述信息单元的大小确定将要存储将在所 述存储器架构中存储的副本的数目。该机制提供了差异性的性能。如果所述应用要求高速 率,那么数据副本的数目增加。如果所述应用仅要求低速率,那么数据副本的数目减少。通 过所述信息单元的大小确定副本的数目可以最小化副本的数目,因此所述应用节省了存储 空间和功率。因此,提高了所述存储器架构的性能。
[0008] 为了详细描述本发明,将使用以下术语、缩写和符号:
[0009] 信息单元:表示由帧界定的数据的格式单元。一个信息单元描述了不同类型的数 据报文,例如用户(净荷)数据报文、控制报文、报文描述符或统计计数器。
[0010] PKT :报文或信息单元,
[0011] DRAM :动态随机存取存储器,
[0012] SRAM :静态随机存取存储器,
[0013] PPS :每秒报文速率,
[0014] tRC:行周期时间,
[0015] tRRD :行单元到行单元的延时,
[0016] tFAW:四激活窗口,
[0017] B:字节,多个字节,
[0018] CPU :中央处理单兀(central processing unit)。
[0019] 根据第一方面,本发明涉及一种用于存储信息单元的存储器架构,所述存储器架 构包括:多个存储器组(memory bank)或多个存储器设备(memory device);以及存储器控 制器,用于发起(initiate)在所述存储器组或所述存储器设备中存储信息单元和所述信 息单元的多个副本,所述存储器控制器根据所述信息单元的大小区分所述副本。
[0020] 术语"存储器架构"表示具有多个存储器组的存储器设备或多个具有单个存储器 组的存储器设备。因此,当下文中使用术语"存储器组"时,其应表示具有多个存储器组的 存储器设备中的存储器组和多个具有单个存储器组的存储器设备中的存储器设备。因此, 具有多个存储器组的存储器设备等同于多个具有单个存储器组的存储器设备。
[0021] 当以根据信息单元的大小区分所述副本的形式执行信息单元的存储时,提供了根 据流量需要复制信息单元的复制机制。可以为具有每秒高报文速率的最小长度报文提供到 存储器组的最大访问速率,而较大报文的副本数目可以减少。因此,存储器架构能够最佳满 足数据流量要求。
[0022] 在根据第一方面的存储器架构的第一可能实施形式,所述信息单元是报文描述 符、数据报文、控制信息报文和统计计数器其中之一。
[0023] 当传送用户数据或其它种类的数据的数据报文较长时,控制信息或报文描述符以 及用于统计或其它目的的计数器较短且大小固定。所述存储器架构为短报文和长报文两种 场景提供了提高的性能,因为所述副本对大小敏感。
[0024] 在根据第一方面或根据第一方面的第一实施形式的存储器架构的第二可能实施 形式中,所述存储器控制器用于根据所述信息单元的速率确定副本的数目。
[0025] 通过基于所述信息单元的速率确定副本的数目,所述存储器访问机制与传入数据 流量(incoming data traffic)的速率匹配。当需要管理高流量速率时,存储大量副本,从 而实现高度并行处理并提高了处理速度。当需要管理低流量速率时,少量副本被存储,降低 了并行存储度,从而使所述存储器架构能够存储大量数据。
[0026] 由于控制报文具有最小的报文大小(例如小于76字节),当所述存储器控制器主 要处理控制报文时出现高流量速率。控制报文用于向其它网络元件发信号指示网络元件的 状态以在发起数据传输之前发起网络中的通信路径。因此,在传输单个用户数据报文之前 传输大量控制报文。由于用户数据报文具有最大的报文大小(例如大于652字节),当所述 存储器控制器主要处理用户数据报文时出现低流量速率。通常,当发起所述通信路径且未 出现传输错误时,仅传输一次用户数据报文。
[0027] 在根据第一方面的第二实施形式的存储器架构的第三可能实施形式中,所述存储 器控制器用于如果所述信息单元的大小超过阈值或如果所述信息单元的速率低于阈值,发 起存储所述信息单元的仅一个副本。
[0028] 可以通过阈值控制所述复制机制,从而实现有效且简单的实施形式。
[0029] 在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第四可能 实施形式中,所述存储器控制器用于确定与所述信息单元的大小逆相关的副本数目。
[0030] 当副本数目与所述信息单元的大小逆相关时,对于长报文而言,在所述存储器中 生成少量副本;而对于短报文而言,生成大量副本。因此,所述存储器架构实现短报文的平 行处理从而提高存储器访问速度,且所述存储器架构实现长报文的顺序处理从而增加待在 所述存储器架构中存储的数据大小。
[0031] 根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第五可能实 施形式中,将所述多个存储器组或存储器设备划分为多个复制区,每个所述复制区与不同 的类型相关联,所述类型指示所述复制区中存储的所述信息单元的副本数目。
[0032] 通过使用所述复制区的类型可以提供报文及其副本之间的关系,从而允许有效的 存储器规划。
[0033] 在根据第一方面的第五实施形式的存储器架构的第六可能实施形式中,每个复制 区包括每个存储器组或存储器设备的存储器地址。
[0034] 当每个复制区包括每个存储器组的存储器地址时,所述存储器架构的全存储器被 使用且可以以非常有效的方式管理平行处理,从而提高了所述存储器架构的所述访问速 度。
[0035] 在根据第一方面的第五实施形式或根据第一方面的第六实施形式的存储器架构 的第七可能实施形式中,所述存储器组或存储器设备均匀地划分为所述复制区。
[0036] 当所述存储器组均匀地划分为所述复制区时,可以不计算不同存储器组之间的关 系、简单地设计所述存储器控制器。所述复制机制可以简单地移植到具有另一存储器组数 目的存储器架构。
[0037] 在根据第一方面的第五实施形式到第七实施形式中任一者的存储器架构的第八 可能实施形式中,在每个存储器组或存储器设备中,存储器地址的第一部分用于存储所述 信息单元的副本的第一数目,存储地址的第二部分用于存储所述信息单元的副本的第二数 目,并且所述存储器地址的第一部分的大小和所述存储器地址的第二部分的大小是可调整 的。
[0038] 当所述大小可调整时,所述副本可以与所述传入信息单元匹配。在待用于控制信 息的存储器架构中,8-复制区的大小可以大于1-复制区的大小,因为大部分控制报文存储 在8-复制区中。因此,可以根据流量需要灵活地调整所述存储器架构。
[0039] 在根据第一方面的第八实施形式所述的存储器架构的第九可能实施形式中,所 述存储器地址的第一部分取用每个存储器组或存储器设备的所述存储器地址的第一小部 分(fraction),所述存储器的第二部分取用每个存储器组或存储器设备的所述存储器地 址的第二小部分,其中所述存储器地址的所述第一小部分和所述第二小部分之间的比率 (ratio)是可调整的。
[0040] 当所述比率可调整时,所述复制可以与所述传入信息单元匹配。所述8-复制区和 所述1-复制区之间的所述比率可能较大,因为大部分控制报文存储在所述8-复制区中。因 此,可以根据流量需要灵活地调整所述存储器架构。
[0041] 在根据第一方面的第五实施形式到第九实施形式中任一者的存储器架构的第十 可能实施形式中,通过地址类关系(address-type relation)配置所述存储器组或存储器 设备,使得存储器组或存储器设备的存储器地址指示所述存储器地址属于的所述复制区的 类型。
[0042] 这允许提前规划所述存储器控制器访问的所述存储器。因此,在所述存储器控制 器的在线操作期间保存规划时间,所述时间可以用于服务存储器访问,从而提高所述存储 器架构的性能。
[0043] 在根据第一方面的第十实施形式的存储器架构的第十一可能实施形式中,所述存 储器控制器用于使用所述地址类关系提前规划到存储器组或存储器设备的访问。
[0044] 保存的规划时间可以用于服务存储器访问,从而提高所述存储器架构的性能。
[0045] 在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第十二可 能实施形式中,所述存储器控制器用于分配多个存储器地址,所述多个存储器地址用于根 据所述信息单元的大小和/或根据所述信息单元的速率(rate)存储所述信息单元和所述 信息单元的所述副本。
[0046] 所述存储器架构可根据流量速率和/或所述数据流量的流量大小运行,从而提高 存储器访问的性能。
[0047] 所述流量速率或流量吞吐量为数据流量,即信息单元访问所述存储器设备的速 率。所述流量速率通常以比特每秒(bit/s或bps)为单位来测量,有时以每秒数据报文 (PPS)为单位。所述流量大小是访问所述存储器设备的所述信息单元的大小,即所述信息单 元界定的比特或字节数目。
[0048] 在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第十三可 能实施形式中,所述存储器控制器用于在单个访问或一组(突发)访问中发起在所述存储 器组或存储器设备中存储所述信息单元和所述信息单元的所述副本。
[0049] 在单个访问中发起在所述存储器组中存储所述信息单元和所述信息单元的所述 副本提高了存储器访问的速度。所述存储器架构适用于RLDRAM III技术或DDR3SDRAM、 DDR4SDRAM 等多 DRAM 设备。
[0050] 根据第二方面,本发明涉及一种用于在多个存储器组或多个存储器设备中存储信 息单元的方法,所述方法包括:发起在所述存储器组或所述存储器设备中存储信息单元和 所述信息单元的多个副本,所述发起存储根据所述信息单元的大小区分所述副本。
[0051] 当以根据信息单元的大小区分所述副本的形式执行信息单元的存储时,提供了根 据流量需要复制信息单元的复制机制。可以为具有每秒高报文速率的最小长度报文提供存 储器组的最大访问速率,而较大报文的副本数目可以减少。因此,存储器架构能够最佳满足 数据流量要求。
[0052] 本发明的各方面解决但不限于一特定的情况,该情况为在交换机、路由器等的网 络引擎中。在此类设备中,从最小报文的突发得出最坏情况的场景,最小报文的突发引入了 以最大每秒报文速率(PPS)进行的随机存储器访问的突发。例如,40Gbps端口的最大PPS 速率为60MPPS。对于每个报文而言,在常见的读-改-写的情况下可存在一个或多个存储 器访问。因此,用于控制的实际访问速率可以达到每秒60M或120M随机访问。这远不是每 秒传递大约10M读写访问的DRAM技术所能达到的。在以每秒100ns或10M访问的两个访 问中,为该场景估算的结果是tRC?50ns。
[0053] 在现代管道架构中,性能瓶颈在于存储器。存在大量提高性能的存储器架构。一 个分支为数据复制且常见示例为乒乓缓冲。乒乓缓冲及类似方法的问题在于它们不关注流 量属性。因此,对任意数据进行最大复制。副作用在于浪费了存储空间和功率。本文所述 的第一和第二方面的所述实施形式为流量敏感且所述复制量由流量需要控制。结果是在利 用所述存储器容量且节省功率的同时提高了性能。
[0054] 本文所述的第一和所述第二方面的实施形式聚焦于根据报文大小的动态流量。一 定大小的报文的固有属性为最大PPS。因此,PPS为传入和传出报文(outgoing packets) 的限制。然而,在其它实施形式中实施流量感知复制的相同机制,在其它实施形式中,流量 速率受监控或提前已知,例如在带宽合同中。
[0055] 第一和第二方面的实施形式利用最新的RLDRAM III技术,其中单个访问中多次写 入访问允许将数据复制到多个存储器组。

【专利附图】

【附图说明】
[0056] 本发明的进一步实施例将参照以下附图进行描述,附图中:
[0057] 图la所示为根据实施形式的存储器架构的方框图;
[0058] 图lb所示为根据实施形式的存储器架构的方框图;
[0059] 图2所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为 复制区的存储器组;
[0060] 图3所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为 复制区的存储器组;
[0061] 图4所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为 复制区的存储器组;以及
[0062] 图5所示为根据实施形式的一种用于在多个存储器组中存储信息单元的方法的 示意图。

【具体实施方式】
[0063] 图la所示为根据实施形式的存储器架构100a的方框图。存储器架构100a包括 多个存储器组 l〇la、102a、103a、104a,表示为 Ml、M2、M3、......、M8。
[0064] 存储器组101a、102a、103a、104a的数目是任意的且取决于存储器架构100a的设 计。目前,存储器架构被设计为包括4、8或16个存储器组。未来的存储器架构可以设计 为具有十六个以上的存储器组,例如包括32、64或128个存储器组。存储器组101a、102a、 103a、104a耦合到存储器控制器106,所述存储器控制器用于控制到存储器组101a、102a、 103a、104a的访问。存储器控制器106包括用于访问将要存储在存储器(即多个存储器组 101a、102a、103a、104a)中的外部数据的外部数据接口 110a。存储器控制器106进一步包 括用于将外部数据传送到存储器组101a、102a、103a、104a中的一个存储器组的内部数据 接口 114a,且该存储器控制器106包括控制接口 112a,该控制接口 112a具有用于选择将要 存储外部数据的一个或多个存储器组的多条写控制线或单条写控制线。根据下文将要描述 的选择方法,存储器控制器106激活将要存储外部数据的存储器组101a、102a、103a、104a 的各写控制线112a。当激活该写控制线112a时,内部数据接口 114a处的外部数据的副本 被写入相应的写控制线112a已激活的存储器组101a、102a、103a、104a。当激活一个以上 (more than one)的写控制线112a时,外部数据的多个副本被写入相应的存储器组。因此, 存储器架构l〇〇a能够在存储器组101a、102a、103a、104a中存储一个或多个外部数据的副 本。
[0065] 将要存储在存储器架构100a中的外部数据可以是报文描述符、数据报文、控制信 息报文或统计计数器等信息单元。
[0066] 数据报文是由报文模式计算机网络携带的数据的格式化单元。不支持报文的计算 机通信链路(例如传统点到点电信链路)简单地将数据只作为一系列字节、字符或比特进 行传输。当数据被格式化为报文时,相比当网络被电路交换时,用户间可以更好地共享通信 媒介的比特率。数据报文包括两种数据:控制信息和用户数据,也称为净荷。控制信息提供 网络传递用户数据需要的数据,例如:源地址和目标地址、校验和等错误检测码以及序列信 息。通常,控制信息在报文头和报文尾中找到,报文头和报文尾之间具有净荷数据。然而, 控制信息可以在报文头和报文尾之间具有或者不具有净荷数据的控制信息报文中传输。 [0067] 报文描述符是描述报文的信息集。报文描述符可以存储数据报文上的所有类型的 信息。例如,报文描述符包括指向存储报文的数据存储器(data-memory)的指针。使用报 文描述符是为了减少插入到排队引擎中的信息量。不将整个报文发送到排队系统(queuing system),仅发送报文描述符。报文本身存储在数据存储器中。可能存在这种类型的描述符 足够的系统。然而,可能存在描述符可以存储报文ID等更多信息的情况。在各报文的报文 长度有所不同的系统中,为了使调度器能够准确地计算实际调度的字节数,报文长度可添 加到报文描述符中。在可能的实施方式中,报文描述符可以包括报文本身的头。在另一可 能的实施方式中,报文描述符可以包括报文内头部的一个或若干个数据字段。存在许多报 文描述符的变体。
[0068] 存储器控制器106用于根据信息单元的大小发起存储信息单元到存储器组Ml、 M2、M3、……、M8。复制方法创建两个或两个以上信息单元的实例。当包含信息单元的存储 器组忙碌时,可以在不忙碌的不同组中找到相同的信息。由于复制,根据本发明各方面的流 量感知复制将可用存储的减少最小化。复制机制根据流量需要进行复制。对于具有最大每 秒报文速率(PPS)的最小长度的报文而言,需要最大速率,从而得到最大复制。然而,对于 较大报文而言,复制的数目减少。表1列出了针对示例lOOGps带宽设备的复制对报文大小 的关系。PPS速率与带宽成比例并且与报文长度(此处表示为报文大小)逆相关。较短报 文导致更高的PPS速率而较长报文导致更低的PPS速率。可以通过关系PPS = BWA报文 大小+IPG)来确定PPS速率,其中BW是传送报文的传送信道(transport channel)的带宽 且IPG是报文间间隙。报文间间隙是以太网通信网络上数据报文之间的时延,所以所有连 接的机器能够传输数据。以太网节点必须在发送数据之前等待网络空闲。数微秒的延迟时 间允许节点考虑节点将在网络静默和空闲中的哪个点开始发送下一传输。在表1中,采用 示例性数字20字节作为报文间间隙延迟时间。
[0069]

【权利要求】
1. 用于存储信息单元的存储器架构(100a、100b),其特征在于,所述存储器架构 (100a、100b)包括: 多个存储器组(l〇la、102a、103a、104a)或多个存储器设备(121、122、123、124);以及 存储器控制器(106),用于发起在所述存储器组(101a、102a、103a、104a)或所述存储 器设备(121、122、123、124)中存储信息单元和所述信息单元的多个副本,所述存储器控制 器(106)根据所述信息单元的大小区分所述副本。
2. 根据权利要求1所述的存储器架构(100a、100b),其特征在于,所述信息单元是以下 项中的一项: 报文描述符, 数据报文, 控制信息报文,以及 统计计数器。
3. 根据权利要求1或2所述的存储器架构(100a、100b),其特征在于,所述存储器控制 器(106)用于根据所述信息单元的速率确定副本数目。
4. 根据权利要求3所述的存储器架构(100a、100b),其特征在于,所述存储器控制器 (106)用于:如果所述存储单元的大小超过阈值或如果所述信息单元的速率低于阈值,发 起存储所述信息单元的仅一个副本。
5. 根据前述权利要求中任一项所述的存储器架构(100a、100b),其特征在于,所述存 储器控制器(106)用于确定与所述信息单元的大小逆相关的副本数目。
6. 根据前述权利要求中任一项所述的存储器架构(100a、100b),其特征在于,将所述 多个存储器组(l〇la、102a、103a、104a)或存储器设备(121、122、123、124)划分为多个复制 区(C1、C2、C3、……、08),每个所述复制区((:1、02、03、……、C8)与不同的类型相关联, 所述类型指示存储在所述复制区(C1、C2、C3、……、C8)中的所述信息单元的副本数目。
7. 根据权利要求6所述的存储器架构(100a、100b),其特征在于,每个复制区(C1、C2、 C3、……、C8)包括每个存储器组(101a、102a、103a、104a)的存储器地址。
8. 根据权利要求6或7所述的存储器架构(100a、100b),其特征在于,所述存储器组 (101a、102a、103a、104a)或所述存储器设备(121、122、123、124)均匀划分为所述复制区 (C1、C2、C3、......、C8)。
9. 根据权利要求6到8中任一项所述的存储器架构(100a、100b),其特征在于,在每个 存储器组(l〇la、102a、103a、104a)或存储器设备(121、122、123、124)中 存储器地址的第一部分(301)用于存储所述信息单元的第一数目的副本,以及 存储器地址的第二部分(302)用于存储所述信息单元的第二数目的副本,其中所述存 储地址的第一部分(301)的大小和所述存储地址的第二部分(302)的大小是可调节的。
10. 根据权利要求9所述的存储器架构(100a、100b),其特征在于 所述存储器地址的第一部分(301)取用每个存储器组(101a、102a、103a、104a)或存储 器设备(121、122、123、124)的所述存储器地址的第一小部分,以及 所述存储器地址的第二部分(302)取用每个存储器组(101a、102a、103a、104a)或存储 器设备(121、122、123、124)的所述存储器地址的第二小部分,其中所述存储器地址的所述 第一小部分和所述第二小部分是可调整的。
11. 根据权利要求6至权利要求10中任一项所述的存储器架构(100a、100b),其特征 在于,所述存储器组(l〇la、102a、103a、104a)或存储器设备(121、122、123、124)通过地址 类型关系配置,使得存储器组(l〇la、102a、103a、104a)或存储器设备(121、122、123、124) 的存储器地址(310)指示所述存储器地址属于的复制区(Cl、C2、C4、C8)的类型。
12. 根据权利要求11所述的存储器架构(lOOaUOOb),其特征在于,所述存储器控制器 (106)用于使用所述地址类型关系提前规划到所述存储器组(101a、102a、103a、104a)或存 储器设备(121、122、123、124)的访问。
13. 根据前述权利要求中任一项所述的存储器架构(100a、100b),其特征在于,所述存 储器控制器(106)用于根据所述信息单元的大小和/或根据所述信息单元的速率分配多个 存储器地址用于存储所述信息单元和所述信息单元的所述副本。
14. 根据前述权利要求中任一项所述的存储器架构(100a、100b),其特征在于 所述存储器控制器(106)用于在单个访问或一组访问中发起在所述存储器组(101a、 102a、103a、104a)或存储器设备(121、122、123、124)中存储所述信息单元和所述信息单元 的所述副本。
15. 在多个存储器组(101a、102a、103a、104a)或多个存储器设备(121、122、123、124) 中存储信息单元的方法(500),所述方法(500)包括: 发起(501)在所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、 123、124)中存储信息单元(502)和所述信息单元(502)的多个副本,所述发起(501)存储 根据所述信息单元(502)的大小区分所述副本。
【文档编号】H04L12/861GK104247352SQ201280070727
【公开日】2014年12月24日 申请日期:2012年3月19日 优先权日:2012年3月19日
【发明者】所罗门·里奇 申请人:华为技术有限公司

最新回复(0)