CN104247352B - 一种用于存储信息单元的存储器系统及其方法 - Google Patents
一种用于存储信息单元的存储器系统及其方法 Download PDFInfo
- Publication number
- CN104247352B CN104247352B CN201280070727.6A CN201280070727A CN104247352B CN 104247352 B CN104247352 B CN 104247352B CN 201280070727 A CN201280070727 A CN 201280070727A CN 104247352 B CN104247352 B CN 104247352B
- Authority
- CN
- China
- Prior art keywords
- memory
- information unit
- message
- group
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/253—Centralized memory
- G06F2212/2532—Centralized memory comprising a plurality of modules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及用于存储信息单元的存储器架构(100),所述存储器架构(100)包括多个存储器组(101a、102a、103a、104a)或多个存储器设备(121、122、123、124)以及发起在所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、123、124)中存储信息单元和所述信息单元的多个副本,所述存储器控制器(106)根据所述信息单元的大小区分所述副本。
Description
技术领域
本发明涉及存储器领域,尤其涉及一种用于存储信息单元的存储器系统及其方法。
背景技术
本发明涉及一种存储器架构,该存储器架构包括多个存储器组(memory bank)或多个用于存储信息单元的存储器设备以及存储器控制器,尤其涉及根据DRAM技术的存储器架构。
高速存储器是系统性能中的关键资源,如网络系统、图形控制器、CPU架构等。缓存等架构是访问模式(access pattern)不是完全随机时的常用方法。然而,在交换机、路由器和其它类型的网络设备等应用中,情况并非如此。从完全随机的报文到达中推演出存储器访问模式。
DRAM(动态随机存取存储器)技术用于具有随机访问性质的应用时性能较差。当在相同的组(bank)中从一行(row)切换到另一行时,障碍在于存储器固有延时。该延时称为tRC(行周期时间),并且自从最早的DRAM至今其大小几乎保持不变。网络应用中的DRAM存储器的限制主要是随机访问速率而不是带宽。存在行单元到行单元的延时(row active torow active delay,tRRD)和四激活窗口(four band activation window time,tFAW)等在随机访问场景下明显降低存储器性能的限制因素。然而,尽管存在该性能瓶颈,存在其他使DRAM技术不可替代的其它优点。优点在于高密度、低成本和低功率。在要求高密度和高性能的应用中,由于成本、功率和地区问题,SRAM(静态随机存取存储器)技术等替代是不切实际的。因此,需要提高DRAM技术的性能以在网络通信等领域以及类似应用中开辟新机遇,这些应用要求存储不同类型的信息单元(例如,报文描述符或控制报文、统计计数器以及网络通信中的数据报文)的短随机访问的高速率。
发明内容
本发明的目标在于提高DRAM存储器架构的性能。
此目的可以通过独立权利要求的特征来实现。进一步的实施形式在从属权利要求、具体说明和附图中显而易见。
本发明基于以下结论是可以通过流量感知数据复制概念,即通过根据信息单元的大小存储所述存储器架构中所述信息单元的副本来提高存储器架构的性能。
因此,网络通信中的数据报文等长信息单元仅存储一次而控制信息(例如,报文描述符)等短信息单元以复制的方式存储,其中所述信息单元的大小确定将要存储将在所述存储器架构中存储的副本的数目。该机制提供了差异性的性能。如果所述应用要求高速率,那么数据副本的数目增加。如果所述应用仅要求低速率,那么数据副本的数目减少。通过所述信息单元的大小确定副本的数目可以最小化副本的数目,因此所述应用节省了存储空间和功率。因此,提高了所述存储器架构的性能。
为了详细描述本发明,将使用以下术语、缩写和符号:
信息单元:表示由帧界定的数据的格式单元。一个信息单元描述了不同类型的数据报文,例如用户(净荷)数据报文、控制报文、报文描述符或统计计数器。
PKT:报文或信息单元,
DRAM:动态随机存取存储器,
SRAM:静态随机存取存储器,
PPS:每秒报文速率,
tRC:行周期时间,
tRRD:行单元到行单元的延时,
tFAW:四激活窗口,
B:字节,多个字节,
CPU:中央处理单元(central processing unit)。
根据第一方面,本发明涉及一种用于存储信息单元的存储器架构,所述存储器架构包括:多个存储器组(memory bank)或多个存储器设备(memory device);以及存储器控制器,用于发起(initiate)在所述存储器组或所述存储器设备中存储信息单元和所述信息单元的多个副本,所述存储器控制器根据所述信息单元的大小区分所述副本。
术语“存储器架构”表示具有多个存储器组的存储器设备或多个具有单个存储器组的存储器设备。因此,当下文中使用术语“存储器组”时,其应表示具有多个存储器组的存储器设备中的存储器组和多个具有单个存储器组的存储器设备中的存储器设备。因此,具有多个存储器组的存储器设备等同于多个具有单个存储器组的存储器设备。
当以根据信息单元的大小区分所述副本的形式执行信息单元的存储时,提供了根据流量需要复制信息单元的复制机制。可以为具有每秒高报文速率的最小长度报文提供到存储器组的最大访问速率,而较大报文的副本数目可以减少。因此,存储器架构能够最佳满足数据流量要求。
在根据第一方面的存储器架构的第一可能实施形式,所述信息单元是报文描述符、数据报文、控制信息报文和统计计数器其中之一。
当传送用户数据或其它种类的数据的数据报文较长时,控制信息或报文描述符以及用于统计或其它目的的计数器较短且大小固定。所述存储器架构为短报文和长报文两种场景提供了提高的性能,因为所述副本对大小敏感。
在根据第一方面或根据第一方面的第一实施形式的存储器架构的第二可能实施形式中,所述存储器控制器用于根据所述信息单元的速率确定副本的数目。
通过基于所述信息单元的速率确定副本的数目,所述存储器访问机制与传入数据流量(incoming data traffic)的速率匹配。当需要管理高流量速率时,存储大量副本,从而实现高度并行处理并提高了处理速度。当需要管理低流量速率时,少量副本被存储,降低了并行存储度,从而使所述存储器架构能够存储大量数据。
由于控制报文具有最小的报文大小(例如小于76字节),当所述存储器控制器主要处理控制报文时出现高流量速率。控制报文用于向其它网络元件发信号指示网络元件的状态以在发起数据传输之前发起网络中的通信路径。因此,在传输单个用户数据报文之前传输大量控制报文。由于用户数据报文具有最大的报文大小(例如大于652字节),当所述存储器控制器主要处理用户数据报文时出现低流量速率。通常,当发起所述通信路径且未出现传输错误时,仅传输一次用户数据报文。
在根据第一方面的第二实施形式的存储器架构的第三可能实施形式中,所述存储器控制器用于如果所述信息单元的大小超过阈值或如果所述信息单元的速率低于阈值,发起存储所述信息单元的仅一个副本。
可以通过阈值控制所述复制机制,从而实现有效且简单的实施形式。
在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第四可能实施形式中,所述存储器控制器用于确定与所述信息单元的大小逆相关的副本数目。
当副本数目与所述信息单元的大小逆相关时,对于长报文而言,在所述存储器中生成少量副本;而对于短报文而言,生成大量副本。因此,所述存储器架构实现短报文的平行处理从而提高存储器访问速度,且所述存储器架构实现长报文的顺序处理从而增加待在所述存储器架构中存储的数据大小。
根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第五可能实施形式中,将所述多个存储器组或存储器设备划分为多个复制区,每个所述复制区与不同的类型相关联,所述类型指示所述复制区中存储的所述信息单元的副本数目。
通过使用所述复制区的类型可以提供报文及其副本之间的关系,从而允许有效的存储器规划。
在根据第一方面的第五实施形式的存储器架构的第六可能实施形式中,每个复制区包括每个存储器组或存储器设备的存储器地址。
当每个复制区包括每个存储器组的存储器地址时,所述存储器架构的全存储器被使用且可以以非常有效的方式管理平行处理,从而提高了所述存储器架构的所述访问速度。
在根据第一方面的第五实施形式或根据第一方面的第六实施形式的存储器架构的第七可能实施形式中,所述存储器组或存储器设备均匀地划分为所述复制区。
当所述存储器组均匀地划分为所述复制区时,可以不计算不同存储器组之间的关系、简单地设计所述存储器控制器。所述复制机制可以简单地移植到具有另一存储器组数目的存储器架构。
在根据第一方面的第五实施形式到第七实施形式中任一者的存储器架构的第八可能实施形式中,在每个存储器组或存储器设备中,存储器地址的第一部分用于存储所述信息单元的副本的第一数目,存储地址的第二部分用于存储所述信息单元的副本的第二数目,并且所述存储器地址的第一部分的大小和所述存储器地址的第二部分的大小是可调整的。
当所述大小可调整时,所述副本可以与所述传入信息单元匹配。在待用于控制信息的存储器架构中,8-复制区的大小可以大于1-复制区的大小,因为大部分控制报文存储在8-复制区中。因此,可以根据流量需要灵活地调整所述存储器架构。
在根据第一方面的第八实施形式所述的存储器架构的第九可能实施形式中,所述存储器地址的第一部分取用每个存储器组或存储器设备的所述存储器地址的第一小部分(fraction),所述存储器的第二部分取用每个存储器组或存储器设备的所述存储器地址的第二小部分,其中所述存储器地址的所述第一小部分和所述第二小部分之间的比率(ratio)是可调整的。
当所述比率可调整时,所述复制可以与所述传入信息单元匹配。所述8-复制区和所述1-复制区之间的所述比率可能较大,因为大部分控制报文存储在所述8-复制区中。因此,可以根据流量需要灵活地调整所述存储器架构。
在根据第一方面的第五实施形式到第九实施形式中任一者的存储器架构的第十可能实施形式中,通过地址类关系(address-type relation)配置所述存储器组或存储器设备,使得存储器组或存储器设备的存储器地址指示所述存储器地址属于的所述复制区的类型。
这允许提前规划所述存储器控制器访问的所述存储器。因此,在所述存储器控制器的在线操作期间保存规划时间,所述时间可以用于服务存储器访问,从而提高所述存储器架构的性能。
在根据第一方面的第十实施形式的存储器架构的第十一可能实施形式中,所述存储器控制器用于使用所述地址类关系提前规划到存储器组或存储器设备的访问。
保存的规划时间可以用于服务存储器访问,从而提高所述存储器架构的性能。
在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第十二可能实施形式中,所述存储器控制器用于分配多个存储器地址,所述多个存储器地址用于根据所述信息单元的大小和/或根据所述信息单元的速率(rate)存储所述信息单元和所述信息单元的所述副本。
所述存储器架构可根据流量速率和/或所述数据流量的流量大小运行,从而提高存储器访问的性能。
所述流量速率或流量吞吐量为数据流量,即信息单元访问所述存储器设备的速率。所述流量速率通常以比特每秒(bit/s或bps)为单位来测量,有时以每秒数据报文(PPS)为单位。所述流量大小是访问所述存储器设备的所述信息单元的大小,即所述信息单元界定的比特或字节数目。
在根据第一方面或根据第一方面的任一前述实施形式的存储器架构的第十三可能实施形式中,所述存储器控制器用于在单个访问或一组(突发)访问中发起在所述存储器组或存储器设备中存储所述信息单元和所述信息单元的所述副本。
在单个访问中发起在所述存储器组中存储所述信息单元和所述信息单元的所述副本提高了存储器访问的速度。所述存储器架构适用于RLDRAM III技术或DDR3SDRAM、DDR4SDRAM等多DRAM设备。
根据第二方面,本发明涉及一种用于在多个存储器组或多个存储器设备中存储信息单元的方法,所述方法包括:发起在所述存储器组或所述存储器设备中存储信息单元和所述信息单元的多个副本,所述发起存储根据所述信息单元的大小区分所述副本。
当以根据信息单元的大小区分所述副本的形式执行信息单元的存储时,提供了根据流量需要复制信息单元的复制机制。可以为具有每秒高报文速率的最小长度报文提供存储器组的最大访问速率,而较大报文的副本数目可以减少。因此,存储器架构能够最佳满足数据流量要求。
本发明的各方面解决但不限于一特定的情况,该情况为在交换机、路由器等的网络引擎中。在此类设备中,从最小报文的突发得出最坏情况的场景,最小报文的突发引入了以最大每秒报文速率(PPS)进行的随机存储器访问的突发。例如,40Gbps端口的最大PPS速率为60MPPS。对于每个报文而言,在常见的读-改-写的情况下可存在一个或多个存储器访问。因此,用于控制的实际访问速率可以达到每秒60M或120M随机访问。这远不是每秒传递大约10M读写访问的DRAM技术所能达到的。在以每秒100ns或10M访问的两个访问中,为该场景估算的结果是tRC≈50ns。
在现代管道架构中,性能瓶颈在于存储器。存在大量提高性能的存储器架构。一个分支为数据复制且常见示例为乒乓缓冲。乒乓缓冲及类似方法的问题在于它们不关注流量属性。因此,对任意数据进行最大复制。副作用在于浪费了存储空间和功率。本文所述的第一和第二方面的所述实施形式为流量敏感且所述复制量由流量需要控制。结果是在利用所述存储器容量且节省功率的同时提高了性能。
本文所述的第一和所述第二方面的实施形式聚焦于根据报文大小的动态流量。一定大小的报文的固有属性为最大PPS。因此,PPS为传入和传出报文(outgoing packets)的限制。然而,在其它实施形式中实施流量感知复制的相同机制,在其它实施形式中,流量速率受监控或提前已知,例如在带宽合同中。
第一和第二方面的实施形式利用最新的RLDRAM III技术,其中单个访问中多次写入访问允许将数据复制到多个存储器组。
附图说明
本发明的进一步实施例将参照以下附图进行描述,附图中:
图1a所示为根据实施形式的存储器架构的方框图;
图1b所示为根据实施形式的存储器架构的方框图;
图2所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为复制区的存储器组;
图3所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为复制区的存储器组;
图4所示为根据实施形式的存储器架构的方框图,该存储器架构包括多个划分为复制区的存储器组;以及
图5所示为根据实施形式的一种用于在多个存储器组中存储信息单元的方法的示意图。
具体实施方式
图1a所示为根据实施形式的存储器架构100a的方框图。存储器架构100a包括多个存储器组101a、102a、103a、104a,表示为M1、M2、M3、……、M8。
存储器组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时,外部数据的多个副本被写入相应的存储器组。因此,存储器架构100a能够在存储器组101a、102a、103a、104a中存储一个或多个外部数据的副本。
将要存储在存储器架构100a中的外部数据可以是报文描述符、数据报文、控制信息报文或统计计数器等信息单元。
数据报文是由报文模式计算机网络携带的数据的格式化单元。不支持报文的计算机通信链路(例如传统点到点电信链路)简单地将数据只作为一系列字节、字符或比特进行传输。当数据被格式化为报文时,相比当网络被电路交换时,用户间可以更好地共享通信媒介的比特率。数据报文包括两种数据:控制信息和用户数据,也称为净荷。控制信息提供网络传递用户数据需要的数据,例如:源地址和目标地址、校验和等错误检测码以及序列信息。通常,控制信息在报文头和报文尾中找到,报文头和报文尾之间具有净荷数据。然而,控制信息可以在报文头和报文尾之间具有或者不具有净荷数据的控制信息报文中传输。
报文描述符是描述报文的信息集。报文描述符可以存储数据报文上的所有类型的信息。例如,报文描述符包括指向存储报文的数据存储器(data-memory)的指针。使用报文描述符是为了减少插入到排队引擎中的信息量。不将整个报文发送到排队系统(queuingsystem),仅发送报文描述符。报文本身存储在数据存储器中。可能存在这种类型的描述符足够的系统。然而,可能存在描述符可以存储报文ID等更多信息的情况。在各报文的报文长度有所不同的系统中,为了使调度器能够准确地计算实际调度的字节数,报文长度可添加到报文描述符中。在可能的实施方式中,报文描述符可以包括报文本身的头。在另一可能的实施方式中,报文描述符可以包括报文内头部的一个或若干个数据字段。存在许多报文描述符的变体。
存储器控制器106用于根据信息单元的大小发起存储信息单元到存储器组M1、M2、M3、……、M8。复制方法创建两个或两个以上信息单元的实例。当包含信息单元的存储器组忙碌时,可以在不忙碌的不同组中找到相同的信息。由于复制,根据本发明各方面的流量感知复制将可用存储的减少最小化。复制机制根据流量需要进行复制。对于具有最大每秒报文速率(PPS)的最小长度的报文而言,需要最大速率,从而得到最大复制。然而,对于较大报文而言,复制的数目减少。表1列出了针对示例100Gps带宽设备的复制对报文大小的关系。PPS速率与带宽成比例并且与报文长度(此处表示为报文大小)逆相关。较短报文导致更高的PPS速率而较长报文导致更低的PPS速率。可以通过关系PPS=BW/(报文大小+IPG)来确定PPS速率,其中BW是传送报文的传送信道(transport channel)的带宽且IPG是报文间间隙。报文间间隙是以太网通信网络上数据报文之间的时延,所以所有连接的机器能够传输数据。以太网节点必须在发送数据之前等待网络空闲。数微秒的延迟时间允许节点考虑节点将在网络静默和空闲中的哪个点开始发送下一传输。在表1中,采用示例性数字20字节作为报文间间隙延迟时间。
报文大小 | 最大PPS(IPG=20B) | 实例 |
64B≤PKT<76B | 148.8M | 8 |
76B≤PKT<92B | 130.2M | 7 |
92B≤PKT<115B | 111.6M | 6 |
115B≤PKT<148B | 93M | 5 |
148B≤PKT<204B | 74.4M | 4 |
204B≤PKT<316B | 55.8M | 3 |
316B≤PKT<652B | 37.2M | 2 |
652B≤PKT | 18.6M | 1 |
表1:针对100Gps带宽的复制对报文大小
除了复制,由存储器控制器106应用的复制机制创建了存储器地址和复制数目之间的关系,使得对于读取访问而言,复制的数目提前已知。这有助于存储器控制器规划其未来访问并使他们变得非常有效。
存储器控制器106根据信息单元的速率确定副本的数目。如果信息单元的大小超过阈值或信息单元的速率低于阈值(阈值可调整),存储器控制器106发起存储信息单元的仅一个副本。在实施形式中,存储控制器106确定副本的数目与信息单元的大小逆相关。多个存储器组M1、M2、M3、……、M8被划分为多个复制区C1、C2、C3、……、C8,复制区C1、C2、C3、……、C8中的每个复制区与不同的类型相关联,该类型指示在复制区C1、C2、C3、……、C8中存储的信息单元的副本数目。每个复制区C1、C2、C3、……、C8包括每个存储器组M1、M2、M3、……、M8的存储器地址。
存储器架构100a不局限于仅处理控制信息,例如报文描述符、报文头、报文尾等,其还处理数据报文、统计计数器和其它任意类型的信息单元。存储器比特成本的不断下降使得该复制机制适用于数据报文。另一问题是报文大小的较小范围。数据报文和它们的控制信息具有相同的性能要求。因此,本文呈现的复制机制同等地适用于报文描述符等控制信息和数据报文。
图1b所示为根据实施形式的存储器架构100b的方框图。存储器架构100b包括多个存储器设备121、122、123、124,每个存储器设备包括单个存储器组101b、102b、103b、104b,表示为M1、M2、M3、……、M8。
存储器设备121、122、123、124的数目是任意的且取决于存储器架构100b的设计。目前,存储器架构被设计为包括4、8或16存储器设备。未来的存储器架构可以设计为具有十六个以上的存储器设备,例如包括32、64或128个存储器设备。存储器设备121、122、123、124和各存储器组101b、102b、103b、104b耦合到存储器控制器106,该存储器控制器106用于控制到存储器组101b、102b、103b、104b的访问。存储器控制器106包括用于访问将要存储在存储器(即多个存储器组101b、102b、103b、104b)中的外部数据的外部数据接口110b。存储器控制器106进一步包括用于将外部数据传送到存储器组101b、102b、103b、104b中的一个存储器组的内部数据接口114b,且该存储器控制器106包括控制接口112b,该接口具有用于选择将要存储外部数据的一个或多个存储器组的多条写控制线或单条写控制线。根据下文将要描述的选择方法,存储器控制器106激活将要存储外部数据的存储器组101b、102b、103b、104b的各写控制线112b。当激活该写控制线112b时,内部数据接口114b处的外部数据的副本被写入相应的写控制线112b已激活的存储器组101b、102b、103b、104b。当激活一个以上的写控制线112b时,外部数据的多个副本被写入相应的存储器组。因此,存储器架构100a能够在存储器组101b、102b、103b、104b中存储一个或多个外部数据的副本。该复制机制与参考图1a描述的相同。
图2所示为根据实施形式的存储器架构200的方框图,存储器架构200包括多个划分为复制区C1、C2、C4、C8的存储器组M1、M2、M3、M4、M5、M6、M7、M8。
该图给出了短报文(例如报文描述符或控制信息)的报文复制的示例。虽然报文较短使它们适合(fit)在存储器组的一个复制区,但这些报文可能具有不同的长度。
该图示出了用于不同长度报文的控制信息复制的示例。存储器架构200包括8个(示例性数目)存储器组M1、M2、M3、M4、M5、M6、M7、M8,还表示为8个设备,并具有内部存储划分。存储器架构200不限于此处图2中描绘的8个存储器组。相反,可以根据存储器架构的设计使用其它任意数目的存储器组。
在该示例中,根据执行信息单元的一次复制(即一个副本)的第一复制区C1、执行信息单元的两次复制(即两个副本)的第二复制区C2、执行信息单元的四次复制(即四个副本)的第三复制区C4以及执行信息单元的八次复制(即八个副本)的第四复制区C8仅使用1×、2×、4×和8×(倍数)复制。
该图示出了存储在存储器组M1、M2、M3、M4、M5、M6、M7、M8中的22个报文。这些报文表示为PKT1、PKT2、PKT3、……、PKT22。在存储器组的复制区C8中存储报文PKT1的八(8)次复制,即在所有八个存储器组中存储报文PKT1。类似地,在存储器组的复制区C8中存储报文PKT2的八次复制,即在所有八个存储器组中存储报文PKT2。
在存储器组的复制区C4中存储报文PKT3的四(4)次复制,即在四个存储器组M1、M2、M3、M4中存储报文PKT3。类似地,在存储器组的复制区C4中存储报文PKT4的四次复制,即在四个存储器组M5、M6、M7、M8中存储报文PKT4。类似地,在存储器组的复制区C4中存储报文PKT5的四(4)次复制,即在四个存储器组M1、M2、M3、M4中存储报文PKT5。类似地,在存储器组的复制区C4中存储报文PKT6的四(4)次复制,即在四个存储器组M5、M6、M7、M8中存储报文PKT6。
在存储器组的复制区C2中存储报文PKT7的两(2)次复制,即在两个存储器组M1、M2中存储报文PKT7。类似地,在存储器组的复制区C2中存储报文PKT8的两次复制,即在两个存储器组M3、M4中存储报文PKT8。类似地,在存储器组的复制区C2中存储报文PKT9的两次复制,即在两个存储器组M5、M6中存储报文PKT9。类似地,在存储器组的复制区C2中存储报文PKT10的两次复制,即在两个存储器组M7、M8中存储报文PKT10。
在存储器组的复制区C2中存储报文PKT11的两次复制,即在两个存储器组M1、M2中存储报文PKT11。类似地,在存储器组的复制区C2中存储报文PKT12的两次复制,即在两个存储器组M3、M4中存储报文PKT12。类似地,在存储器组的复制区C2中存储报文PKT13的两次复制,即在两个存储器组M5、M6中存储报文PKT13。类似地,在存储器组的复制区C2中存储报文PKT14的两次复制,即在两个存储器组M7、M8中存储报文PKT14。
在存储器组的复制区C1中存储报文PKT15的一(1)次复制,即在存储器组M1中存储报文PKT15。类似地,在存储器组的复制区C1中存储报文PKT16的一次复制,即在存储器组M2中存储报文PKT16。类似地,在存储器组的复制区C1中存储报文PKT17的一次复制,即在存储器组M3中存储报文PKT17。
类似地,在存储器组的复制区C1中存储报文PKT18的一次复制,即在存储器组M4中存储报文PKT18。类似地,在存储器组的复制区C1中存储报文PKT19的一次复制,即在存储器组M5中存储报文PKT19。类似地,在存储器组的复制区C1中存储报文PKT20的一次复制,即在存储器组M6中存储报文PKT20。类似地,在存储器组的复制区C1中存储报文PKT21的一次复制,即在存储器组M7中存储报文PKT21。类似地,在存储器组的复制区C1中存储报文PKT22的一次复制,即在存储器组M8中存储报文PKT22。
假设4Gb SDRAM设备,则存在29比特的字节编址。复制区的划分是非常灵活的。在实施形式中,一半的存储器被分配至8个副本的区C8,四分之一的存储器被分配至4个副本的区C4,八分之一的存储器被分配至两个副本的区C2且最后一个八分之一被分配至单个副本的区C1。因此,在每个存储器组M1、M2、M3、M4、M5、M6、M7、M8中,第一半由八个副本占用,存储器组中随后的四分之一由四个副本占用,之后的存储器组的八分之一由两个副本占用,最后一个八分之一由单个副本占用。以相同的方式划分每个存储器组M1、M2、M3、M4、M5、M6、M7、M8,从而应用可以根据地址区分复制类型C1、C2、C4、C8。
同样的分区由说明不同复制区C1、C2、C4、C8的图3中描述的存储器地址映射示出。例如,四个副本的区C4具有两部分:第一部分是存储器组M1、M2、M3和M4,而第二部分是存储器组M5、M6、M7和M8。例如,地址2000300H在6000300H、A000300H和E000300H中复制,地址12000500H在16000500H、1A000500H和1E000500H中复制。
图3所示为根据实施形式的存储器架构300的方框图,存储器架构300包括DRAM组架构中的多个存储器组M1、M2、M3、M4、M5、M6、M7和M8,存储器组M1、M2、M3、M4、M5、M6、M7和M8被划分为复制区C1、C2、C4、C8。图3中没有描绘存储器控制器。在本文所述的DRAM组架构中,存储器组M1、M2、M3、M4、M5、M6、M7和M8组成从起始地址0000 0000 H开始的均匀存储空间,其中H指示示例结束地址1FFF FFFF H的十六进制表示。结束地址和存储器组或存储器模块的数目随所需存储器大小变化。
存储器组M1、M2、M3、……、M8被均匀地划分为复制区C1、C2、C3、……、C8。在每个存储器组M1、M2、M3、……、M8中,存储器地址的第一部分301用于存储信息单元的第一数目的副本,存储器地址的第二部分302用于存储信息单元的第二数目的副本。在实施形式中,存储器地址的第一部分301的大小和存储器地址的第二部分302的大小是可调整的。存储器地址的第一部分301采用每个存储器组M1、M2、M3、……、M8的存储器地址的第一小部分,存储器地址的第二部分302采用每个存储器组M1、M2、M3、……、M8的存储器地址的第二小部分。在实施形式中,存储器地址的第一小部分和第二小部分的比率是可调整的。存储器组M1、M2、M3、……、M8通过地址类型关系配置,这样存储器组M1、M2、M3、……、M8的存储器地址310指示存储器地址所属的复制区C1、C2、C4和C8的类型。存储器控制器用于使用地址类型关系提前规划对存储器组M1、M2、M3、……、M8的访问。存储器控制器用于根据信息单元的大小和/或根据信息单元的速率分配多个存储器地址(memory address)用于存储信息单元和信息单元的副本。在实施形式中,存储器控制器用于发起在单个访问中的存储器组M1、M2、M3、……、M8中存储信息单元和信息单元的副本。
存储器控制器管理传入访问请求(incoming access requests)的缓冲区。该缓冲区存储“待定请求(pending request)”。由于访问地址和复制数目之间存在已知关系,控制器事先知道如何规划其访问以实现最高带宽。这通过以下示例示出:
假设待定缓冲区顶端具有到地址100H的读取访问,之后的七个访问为0000 2000H、0450 0000 H、0001 0000 H、0600 0000 H、0000 8000 H、0000 9000 H和0F80 0000 H。随后存储器控制器能够深入研究待定缓冲区并理解以下项:待定缓冲区的顶端为八副本类型(8-copy type)的访问,因此存在可读取相同数据的8个地址。副本的地址如表2所示。
组 | 地址 |
0 | 0000 0100 H |
1 | 0400 0100 H |
2 | 0800 0100 H |
3 | 0C00 0100 H |
4 | 1000 0100 H |
5 | 1400 0100 H |
6 | 1800 0100 H |
7 | 1C00 0100 H |
表2:复制规划策略的示例
下一地址0000 2000 H为八副本类型。
下一地址0450 0000 H为八副本类型。
下一地址0001 0000 H为八副本类型。
下一地址0600 0000 H为四副本类型。
下一地址0000 8000 H为八副本类型。
下一地址0000 9000 H为八副本类型。
下一地址0F80 0000 H为单副本类型。
存储器控制器建立图3中描述的以下序列来避免相同组不同行访问以及tRC代价。
表3:避免相同组不同行访问以及tRC代价的存储器控制器复制规划策略的示例
如表3中可见,由于在1到2及6到7事务上的相同组不同行访问,所以原始的组序列存在tRC,然而实际访问是具有零代价的可选序列。
另一说明性能和复制之间的关系的示例如下:假设在一段较长时间内所有访问都是四副本类型并且驻留在较低的四组中。在这种情况下,组序列总是如下:0,1,2,3,0,1,2,3,0,……等等。如果该设计使得八组循环粗略地取用tRC,随后四组循环取用大约一半tRC。这意味着在tRC时间中只能提交四次访问,而不是产生最大性能速率的50%的八次访问。然而,这正是符合此类型的流量的带宽的速率。通过执行这些智能流量感知复制,可以设计存储器架构300用于节省存储器空间和功率。
图4所示为根据实施形式的存储器架构400的方框图,存储器架构400包括多个划分为复制区C1、C2、C4和C8的存储器组M1、M2、M3、M4、M5、M6、M7和M8。该图给出了用于数据报文复制的可变长度报文复制的示例。
该图给出了如数据报文、净荷报文或用户数据报文等可变大小报文的报文复制的示例。这些报文可以具有不适合存储器组的一个复制区(replication zone)的长度。
该图示出了用于可变大小报文的数据报文复制的示例。存储器架构400包括8个(示例性数目)存储器组M1、M2、M3、M4、M5、M6、M7、M8,还表示为8个设备,具有内部存储器划分(internal memory partitions)。存储器架构400不限于此处图4中描绘的8个存储器组。相反,可以根据存储器架构的设计使用其它任意数目的存储器组。
在该示例中,根据执行信息单元的一次复制(即一个副本)的第一复制区C1、执行信息单元的两次复制(即两个副本)的第二复制区C2、执行信息单元的四次复制(即四个副本)的第三复制区C4以及执行信息单元的八次复制(即八个副本)的第四复制区C8仅使用1×、2×、4×和8×(倍数)复制。
该图示出了在存储器组M1、M2、M3、M4、M5、M6、M7、M8存储的9个报文。这些报文被指示为PKT1、PKT2、PKT3、……、PKT9。报文PKT1和PKT2是短报文,报文PKT3、PKT4、PKT5和PKT6大小中等,报文PKT7和PKT8较长,报文PKT9超长。
报文PKT1和PKT2大小较短,适合存储器组的复制区。在存储器组的复制区C8中存储报文PKT1的八(8)次复制,即在所有八个存储器组中存储报文PKT1。类似地,在存储器组的复制区C8中存储报文PKT2的八次复制,即在所有八个存储器组中存储报文PKT2。
报文PKT3大小中等,不适合单个存储器组的复制区。因此,要求报文划分为两部分并在两个存储器组中存储这些部分。报文PKT3的两个复制(replication)存储在存储器组的复制区C4中,即报文PKT3的第一复制的第一部分存储在存储器组M1中,报文PKT3的第一复制的第二部分存储在存储器组M2中,报文PKT3的第二复制的第一部分存储在存储器组M3中,报文PKT3的第二复制的第二部分存储在存储器组M4中。
类似地,报文PKT4大小中等,不适合单个存储器组的复制区。因此,要求报文划分为两部分并在两个存储器组中存储这些部分。报文PKT4和报文PKT3一起存储在存储器组的复制区C4中。报文PKT4的两个复制存储在存储器组的复制区C4中,即报文PKT4的第一复制的第一部分存储在存储器组M5中,报文PKT4的第一复制的第二部分存储在存储器组M6中,报文PKT4的第二复制的第一部分存储在存储器组M7中,报文PKT4的第二复制的第二部分存储在存储器组M8中。
类似地,报文PKT5大小中等,不适合单个存储器组的复制区。因此,要求报文划分为两部分并在两个存储器组中存储这些部分。报文PKT5的两个复制存储在存储器组的复制区C4中,即报文PKT5的第一复制的第一部分存储在存储器组M1中,报文PKT5的第一复制的第二部分存储在存储器组M2中,报文PKT5的第二复制的第一部分存储在存储器组M3中,报文PKT5的第二复制的第二部分存储在存储器组M4中。
类似地,报文PKT6大小中等,不适合单个存储器组的复制区。因此,要求报文划分为两部分并在两个存储器组中存储这些部分。报文PKT6和报文PKT5一起存储在存储器组的复制区C4中。报文PKT6的两个复制存储在存储器组的复制区C4中,即报文PKT6的第一复制的第一部分存储在存储器组M5中,报文PKT6的第一复制的第二部分存储在存储器组M6中,报文PKT6的第二复制的第一部分存储在存储器组M7中,报文PKT6的第二复制的第二部分存储在存储器组M8中。
报文PKT7大小较长,不适合一个或两个存储器组的复制区。因此,要求报文划分为四部分并在四个存储器组中存储这些部分。报文PKT7的两个复制存储在存储器组的复制区C2中,即报文PKT7的第一复制的第一部分存储在存储器组M1中,报文PKT7的第一复制的第二部分存储在存储器组M2中,报文PKT7的第一复制的第三部分存储在存储器组M3中,报文PKT7的第一复制的第四部分存储在存储器组M4中,报文PKT7的第二复制的第一部分存储在存储器组M5中,报文PKT7的第二复制的第二部分存储在存储器组M6中,报文PKT7的第二复制的第三部分存储在存储器组M7中,并且报文PKT7的第二复制的第四部分存储在存储器组M8中。
类似地,报文PKT8大小较长,不适合一个或两个存储器组的复制区。因此,要求报文划分为四部分并在四个存储器组中存储这些部分。报文PKT8的两个复制存储在存储器组的复制区C2中,即报文PKT8的第一复制的第一部分存储在存储器组M1中,报文PKT8的第一复制的第二部分存储在存储器组M2中,报文PKT8的第一复制的第三部分存储在存储器组M3中,报文PKT8的第一复制的第四部分存储在存储器组M4中,报文PKT8的第二复制的第一部分存储在存储器组M5中,报文PKT8的第二复制的第二部分存储在存储器组M6中,报文PKT8的第二复制的第三部分存储在存储器组M7中,并且报文PKT8的第二复制的第四部分存储在存储器组M8中。
报文PKT9大小超长,不适合一个或两个或四个存储器组的复制区。因此,要求报文划分为八部分并在八个存储器组中存储这些部分。报文PKT9的一个复制存储在存储器组的复制区C1中,即报文PKT9的复制的第一部分存储在存储器组M1中,报文PKT9的复制的第二部分存储在存储器组M2中,报文PKT9的复制的第三部分存储在存储器组M3中,报文PKT9的复制的第四部分存储在存储器组M4中,报文PKT9的复制的第五部分存储在存储器组M5中,报文PKT9的复制的第六部分存储在存储器组M6中,报文PKT9的复制的第七部分存储在存储器组M7中,报文PKT9的复制的第八部分存储在存储器组M8中。
与图2中所示的控制复制相比,图4的不同点在于数据报文具有可变大小。例如,报文PKT3到PKT5是报文PKT1和PKT2的两倍大。在实施形式中,报文大小不是彼此大小的整数倍。存储器架构400用于将大小向上取整到整数倍的下一数字。
以下示例说明了从64B到1000B的报文大小的向上取整。在此示例中,由于2的幂使用很方便(即易于实施),因此使用2的幂。在示例实施形式中,
将从512到1000的报文大小向上取整到1024;
将从256到511的报文大小向上取整到512;
将从128到255的报文大小向上取整到256;以及
将从64到127的报文大小向上取整到128。
在存储器架构400中,存在根据报文大小的预分配的分区或根据复制数目的同等的分区,从而存储器架构400提前知道复制的数目及位置以实现最小代价的访问。
然而,当向上取整报文大小时,后果是存在存储空间的浪费。如果,例如512字节(512B)的报文将占用1024字节的缓冲区,那么会浪费大约一半的缓冲区。此外,一些报文将经历使得该问题更加严重的复制。在克服该缺点的实施形式中,管理较小缓冲区,例如64字节的缓冲区并且为报文及其复制分配所需的缓冲区的数量。在实施形式中,管理空闲指针列表以及分配和释放这些空闲指针的机制。在该实施形式中,将报文大小向上取整到64字节,每个报文的最大浪费限制为63B。
图5所示为根据实施形式的一种用于在多个存储器组中存储信息单元502的方法500的示意图。方法500包括:根据信息单元502的大小发起501在存储器组M1、M2、M3、……、M8中存储信息单元502和信息单元502的多个副本。将要存储的信息单元502对应于参考图1至图4所述的信息单元。方法500对应于参考图1至图4的应用在存储器架构100a、100b、200、300和400中的复制机制。
本发明(disclosure)还支持用于执行本文所述的执行及计算步骤的系统。
通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其他应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员将认识到在不偏离本发明的范围的前提下,仍可对本发明做出许多改变。因此,应理解,只要是在所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发明。
Claims (12)
1.用于存储信息单元的存储器系统(100a、100b),其特征在于,所述存储器系统(100a、100b)包括:
多个存储器组(101a、102a、103a、104a)或多个存储器设备(121、122、123、124),将所述多个存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)划分为多个复制区(C1、C2、C3、……、C8),每个所述复制区(C1、C2、C3、……、C8)与不同的类型相关联,所述类型指示存储在所述复制区(C1、C2、C3、……、C8)中的所述信息单元的副本数目,所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)通过地址类型关系配置,使得存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的存储器地址(310)指示所述存储器地址属于的复制区(C1、C2、C4、C8)的类型;以及
存储器控制器(106),用于发起在所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、123、124)中存储信息单元和所述信息单元的多个副本,所述存储器控制器(106)根据所述信息单元的大小区分所述副本,所述存储器控制器(106)用于使用所述地址类型关系提前规划到所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的访问。
2.根据权利要求1所述的存储器系统(100a、100b),其特征在于,所述信息单元是以下项中的一项:
报文描述符,
数据报文,
控制信息报文,以及
统计计数器。
3.根据权利要求1所述的存储器系统(100a、100b),其特征在于,所述存储器控制器(106)用于根据所述信息单元的速率确定副本数目。
4.根据权利要求3所述的存储器系统(100a、100b),其特征在于,所述存储器控制器(106)用于:如果所述存储单元的大小超过阈值或如果所述信息单元的速率低于阈值,发起存储所述信息单元的仅一个副本。
5.根据权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于,所述存储器控制器(106)用于确定与所述信息单元的大小逆相关的副本数目。
6.根据权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于,每个复制区(C1、C2、C3、……、C8)包括每个存储器组(101a、102a、103a、104a)的存储器地址。
7.根据权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于,所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、123、124)均匀划分为所述复制区(C1、C2、C3、……、C8)。
8.根据权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于,在每个存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)中
存储器地址的第一部分(301)用于存储所述信息单元的第一数目的副本,以及
存储器地址的第二部分(302)用于存储所述信息单元的第二数目的副本,其中所述存储地址的第一部分(301)的大小和所述存储地址的第二部分(302)的大小是可调节的。
9.根据权利要求8所述的存储器系统(100a、100b),其特征在于
所述存储器地址的第一部分(301)取用每个存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的所述存储器地址的第一小部分,以及
所述存储器地址的第二部分(302)取用每个存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的所述存储器地址的第二小部分,其中所述存储器地址的所述第一小部分和所述第二小部分是可调整的。
10.根据前述权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于,所述存储器控制器(106)用于根据所述信息单元的大小和/或根据所述信息单元的速率分配多个存储器地址用于存储所述信息单元和所述信息单元的所述副本。
11.根据前述权利要求1至4中任一项所述的存储器系统(100a、100b),其特征在于
所述存储器控制器(106)用于在单个访问或一组访问中发起在所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)中存储所述信息单元和所述信息单元的所述副本。
12.在多个存储器组(101a、102a、103a、104a)或多个存储器设备(121、122、123、124)中存储信息单元的方法(500),所述方法(500)包括:
发起(501)在所述存储器组(101a、102a、103a、104a)或所述存储器设备(121、122、123、124)中存储信息单元(502)和所述信息单元(502)的多个副本,所述发起(501)存储根据所述信息单元(502)的大小区分所述副本;
其中,所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)被划分为多个复制区(C1、C2、C3、……、C8),每个所述复制区(C1、C2、C3、……、C8)与不同的类型相关联,所述类型指示存储在所述复制区(C1、C2、C3、……、C8)中的所述信息单元的副本数目,所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)通过地址类型关系配置,使得存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的存储器地址(310)指示所述存储器地址属于的复制区(C1、C2、C4、C8)的类型;
所述地址类型关系被用于提前规划到所述存储器组(101a、102a、103a、104a)或存储器设备(121、122、123、124)的访问。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/054757 WO2013139363A1 (en) | 2012-03-19 | 2012-03-19 | Memory architecture determining the number of replicas stored in memory banks or devices according to a packet size |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104247352A CN104247352A (zh) | 2014-12-24 |
CN104247352B true CN104247352B (zh) | 2017-10-24 |
Family
ID=45937244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280070727.6A Active CN104247352B (zh) | 2012-03-19 | 2012-03-19 | 一种用于存储信息单元的存储器系统及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10067868B2 (zh) |
EP (1) | EP2829028B1 (zh) |
CN (1) | CN104247352B (zh) |
WO (1) | WO2013139363A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9997224B2 (en) * | 2016-09-06 | 2018-06-12 | Piecemakers Technology, Inc. | Memory architecture with multi-bank memory cell array accessed by local drive circuit within memory bank |
CN108683811A (zh) * | 2018-05-14 | 2018-10-19 | Oppo广东移动通信有限公司 | 移动终端及其生物信息识别方法、解锁方法以及存储介质 |
EP4195540A4 (en) * | 2020-08-26 | 2024-01-10 | Huawei Tech Co Ltd | TRAFFIC MONITORING METHOD AND DEVICE, INTEGRATED CIRCUIT AND NETWORK DEVICE |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758050A (en) * | 1996-03-12 | 1998-05-26 | International Business Machines Corporation | Reconfigurable data storage system |
GB0123422D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved memory controller |
US7529252B2 (en) * | 2003-06-27 | 2009-05-05 | Broadcom Corporation | Weighted queuing scheme for managing datagrams within a network device using single port double buffer (ping-pong) memory |
US7657706B2 (en) * | 2003-12-18 | 2010-02-02 | Cisco Technology, Inc. | High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory |
US7461216B2 (en) * | 2006-02-23 | 2008-12-02 | Hewlett-Packard Development Company, L.P. | Memory controller |
US8639907B2 (en) * | 2010-07-22 | 2014-01-28 | Netgear, Inc. | Method and apparatus for dynamically adjusting memory capacity in accordance with data storage |
US8849758B1 (en) * | 2010-12-28 | 2014-09-30 | Amazon Technologies, Inc. | Dynamic data set replica management |
US8402248B2 (en) * | 2010-12-31 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | Explicitly regioned memory organization in a network element |
-
2012
- 2012-03-19 WO PCT/EP2012/054757 patent/WO2013139363A1/en active Application Filing
- 2012-03-19 EP EP12712995.5A patent/EP2829028B1/en active Active
- 2012-03-19 CN CN201280070727.6A patent/CN104247352B/zh active Active
-
2014
- 2014-09-19 US US14/490,867 patent/US10067868B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN104247352A (zh) | 2014-12-24 |
US20150006828A1 (en) | 2015-01-01 |
US10067868B2 (en) | 2018-09-04 |
EP2829028B1 (en) | 2021-10-06 |
EP2829028A1 (en) | 2015-01-28 |
WO2013139363A1 (en) | 2013-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104135539B (zh) | 数据存储方法、sdn控制器和分布式网络存储系统 | |
CN101594299B (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
CN104468401B (zh) | 一种报文处理方法和装置 | |
CN105897621B (zh) | 基于cioq结构的千兆afdx交换机及其交换方法 | |
US20090138597A1 (en) | system and method for accessing memory | |
CN114185818B (zh) | 基于扩展页表的gpu访存自适应优化方法及装置 | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
CN104247352B (zh) | 一种用于存储信息单元的存储器系统及其方法 | |
CN104765574A (zh) | 数据云端存储方法 | |
US20020071321A1 (en) | System and method of maintaining high bandwidth requirement of a data pipe from low bandwidth memories | |
CN106027426A (zh) | 防止欠载的分组存储器系统、方法和设备 | |
US7089378B2 (en) | Shared receive queues | |
US9658951B1 (en) | Scalable high bandwidth memory in a network device | |
CN102780620B (zh) | 一种网络处理器和报文处理方法 | |
CN104509043A (zh) | 基于阶段的报文优先级确定 | |
US9996468B1 (en) | Scalable dynamic memory management in a network device | |
US20160291896A1 (en) | Datapath subsystem, method and device utilizing memory sharing | |
CN110214437A (zh) | 用于存储器访问令牌重新分配的系统和方法 | |
CN104412246A (zh) | 用于从存储器到处理客户端提供复制数据的系统和方法 | |
CN104321759B (zh) | 高速分布存储器系统中的多客户端多存储器控制方法和设备 | |
CN107835134A (zh) | 应用于以太网交换芯片的端口访问仲裁方法及装置 | |
Lin et al. | Distributed packet buffers for high-bandwidth switches and routers | |
CN111930650A (zh) | 一种网络流量转发方法及设备 | |
CN105574292A (zh) | 一种基于动态数组实现多通道任意带宽发包的方法 | |
CN106487702A (zh) | 一种组播报文两级复制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |