CN103081434A - 智能存储器 - Google Patents
智能存储器 Download PDFInfo
- Publication number
- CN103081434A CN103081434A CN201180040633XA CN201180040633A CN103081434A CN 103081434 A CN103081434 A CN 103081434A CN 201180040633X A CN201180040633X A CN 201180040633XA CN 201180040633 A CN201180040633 A CN 201180040633A CN 103081434 A CN103081434 A CN 103081434A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory block
- data
- bag
- network
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/785—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) with decentralized control, e.g. smart memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种装置,所述装置包括:存储装置,其包括多个存储块,每个存储块包括存储区块和处理元件;以及互连网络,其耦接到所述存储装置,且用于使所述存储块互连,其中所述处理元件用于执行至少一个包处理特性,以及其中所述互连网络用于促进所述存储块之间的通信。本发明还公开一种网络部件,所述网络部件包括:接收器,用于接收网络数据;逻辑单元,用于转换网络数据,以便于进行合适的确定性存储器缓存和处理;串行I/O接口,用于以串行方式转发已转换的网络数据;存储器,其包括多个存储块,用于存储和处理来自所述串行I/O接口的已转换的网络数据;以及发射器,用于转发来自所述串行I/O接口的已处理的网络数据。
Description
相关申请案的交叉参考
本发明要求2011年8月15日由威廉姆·林奇(William Lynch)等人递交的发明名称为“智能存储器(Smart Memory)”的第13/209,794号美国非临时专利申请案的在先申请优先权,所述第13/209,794号美国非临时专利申请案要求2010年8月24日由威廉姆·林奇等人递交的发明名称为“智能存储器”的第61/376,565号临时专利申请案的在先申请优先权,两个在先申请的内容以引入的方式并入本文本中。
关于由联邦政府赞助的研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
技术领域
无
背景技术
许多包处理应用均涉及数据流,所述数据流包括一系列存储参量以及根据每个参量进行的适量计算。此类应用包括,例如,前缀匹配、有限自动机等,在所述应用中重复进行以下事项:读取存储器中的各个位置;处理数据;以及在某些情况下回写新数据。相对较大的数据结构在包速率较高时,可能需要数百兆字节(Mbytes)的存储器,以及每秒数十亿个存储参量。通常情况下,商品性存储器供应商会针对个人计算机(PC)和服务器业务来优化存储器针脚以及存储输入/输出(I/O),这种优化会降低使用这些存储器的网络系统的性能。包速率和网络中的功能数量均不断增加,因此需要越来越多的带宽。高性能系统因存储器和互连/接口带宽方面的压力而面临挑战。
发明内容
在一项实施例中,本发明公开一种装置,所述装置包括:存储装置,其包括多个存储块(memory tile),每个存储块包括存储区块(memory block)和处理元件;以及互连网络,其耦接到所述存储装置,并用于使存储块相互连接,其中所述处理元件用于执行至少一个包处理功能(packet processing feature),以及其中所述互连网络用于促进存储块之间的通信。
在另一项实施例中,本发明公开一种网络部件,所述网络部件包括:接收器,用于接收网络数据;逻辑单元,用于转换网络数据,以便进行合适的确定性存储器缓存和处理(deterministic memory caching and processing);串行I/O接口,用于以串行方式转发已转换的网络数据;存储器,其包括多个存储块,用于存储和处理来自所述串行I/O接口的已转换的网络数据;以及发射器,用于转发来自所述串行I/O接口的已处理的网络数据。
在第三方面,本发明公开一种网络部件实施方法,包括:接收多个包;对包数据进行串行化;将串行化包数据(serialized packets data)转发到存储块组,其中每个存储块均包括存储区块和处理元件;缓存串行化包数据,从而按顺序在每个存储块的存储区块中进行处理;按同一顺序在每个存储块的处理元件中处理已缓存的串行化包数据;以及在完成处理后,发送已处理的包数据。
结合附图和所附权利要求书所进行的以下详细描述将有助于更清楚地了解本发明的这些和其他特征。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是智能存储结构的一项实施例的示意图。
图2是智能存储块(memory tile)的一项实施例的示意图。
图3是智能存储器数据处理方法的一项实施例的流程图。
图4是网络单元的一项实施例的示意图。
图5是通用计算机系统的一项实施例的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
一些网络处理系统,例如,包处理系统被设计用于满足经常相互冲突的需求,例如,提供较高的系统吞吐量以支持在提供广泛的服务时所需的大量高带宽链路,这些服务可包括:转发功能、虚拟专用网(VPN)管理,入侵检测、其他差分服务、覆盖网络处理等。具体而言,包处理系统可执行以下功能,包括:只读功能,例如,查找和/或有限自动机遍历;以及读出/写入/修改功能,例如,链表管理、计数器、包队列或以上项组合。这些功能可包括加锁和解锁,以便在多线程环境中实施并发控制策略。潜在性能瓶颈可包括内部存储带宽、芯片和/或存储I/O带宽。包转发数据结构通常相对较大,例如,超过数百兆字节,由此可能需要使用动态随机存取存储器(DRAM)技术。商品性外部DRAM技术可能不会提供高随机存取带宽,且还可能呈现较长的存储器存取等待时间。因此,通常用于包处理并需要独立存储器存取序列的操作,例如,树状/有限自动机遍历,在实施方面面临挑战。由于包处理芯片的存储I/O可能需要相对较大且满足功率需求的控制器,因此,可能要进一步关注功耗问题。
本文所公开的是一种用于智能存储器的系统和方法,所述智能存储器可以相对较高的性能实施存储密集型功能。代替重复将数据移出/移入存储器,智能存储器可使包数据流经多个存储块,以减缓等待时间和带宽问题,其中所述存储块可在块上执行本地计算。存储块可位于单芯片上,且可包括耦接到相应存储区块的多个计算处理元件,这样即可进行本地和原子计算,且该计算所需的存储器和处理元件之间的数据移动较小。因此,智能存储器用于提供有效包处理,例如,分类、转发、流量监管和调整、监控和统计,和/或其他包处理和缓存功能。智能存储器可包括互连网络,其可使存储块之间有效通信。智能存储器可经由串行接口与外部部件,例如,外部存储器或处理器通信,以实现每单位带宽具有相对较低区域和较低功率,以及实质上较少的等待时间。
图1所示为智能存储器结构100的一项实施例,所述智能存储器结构100可用于在网络系统中进行包处理。智能存储器结构100可包括智能存储器110和外部存储器120。智能存储器110可包括多个存储块组130、132、134、136、138和140,其中每个存储块组包括至少一个智能存储块150。所述存储块150可经由互连网络进行互连,如下所述。智能存储器结构100的部件可如图1所示进行布置。在其他实施例中,智能存储器结构100所包括的部件数量可与图1所示不同。
智能存储器110可为网络部件,例如,路由器中的片上模块。智能存储器110可包括多个存储块150,且可使用串行I/O总线与外部部件,例如,外部存储器120和/或网络部件的其他模块进行通信。因此,智能存储器110提供一种具有可扩展存储容量的可扩展结构。智能存储结构100可使用专用互连网络,以使片上智能存储块150彼此通信。存储块150可通过经由互连网络进行的通信,从而以顺序方式处理包功能或操作并缓存包数据。互连网络可以是通过在模块之间,例如存储器、处理器和/或外围设备之间传输数据以使其彼此通信的部件。例如,互连网络可以是总线的片上网络,用于促进片上模块之间的包数据交换。互连网络可包括至少一个仲裁器,用于管理网络上的数据和流量。因此,智能存储器结构100可执行需要交互关联的存储参量序列的功能。在一些实施例中,智能存储器110可包括具有实质上相同的硬件结构、具有不同的硬件结构或两者组合的存储块150。
外部存储器120可为片上或片外存储装置,其可用于将数据输送到多个存储块150中。外部存储器120还可充当缓存以支持实质上大于片上存储器大小或大于(组中)存储块的子集可处理的大小的数据集。在一项实施例中,外部存储器120可为片外双倍数据率(DDR)存储器,例如,DDR3DRAM。
存储块150可用于在,例如,每个块上进行一些包数据本地处理和缓存。存储块150可经由具有交互式通信和数据交换能力的片上互连网络进行互连。在实施例中,要实施所需的包处理特性,则特定数量的存储块150可进行分配和组合,例如,从而以大体预定的方式进行通信。存储块分配和组合可在,例如,运行时间上以静态方式或动态方式实现。在存储块分组后,可创建大体静态的通信路径,从而通过确定性交互式通信以及拥塞点的减少来实现快速计算。除了快速计算外,此策略还可显著加快读取/修改/写入操作,因为该方案足以本地锁定数据结构。
用于指定包处理特性的多个数据结构可布置在智能存储器110中,这样,包可按照顺序遍历多个所选择的存储块150,而不会在任意块之间随机跳频,例如,像典型DRAM或其他存储装置那样。可执行数据放置和数据流,即数据从存储块到存储块的移动,这样,所选择的存储块上的存储容量以及带宽使用率均大体一致,从而避免出现热点或拥塞点。平衡存储容量和带宽使用率的方案可包括有关数据结构转发和放置的多种优化。图1所示的实施例包括具有16个存储块150的智能存储器110。在此实施例中,一些包处理特性使用多个可进行交互式通信的所选择的存储块150来实施,以便优化性能,其中所述存储块150已分配并组合成存储块组130、132、134、136、138和140。
在一项实施例中,软件套件可基于智能存储拓扑,在智能存储结构100中实施数据放置方案,其中转发数据结构可动态更新。数据放置方案可包括用于互联网协议(IP)地址查找、控制访问列表、统计计数器等功能的多个包转发算法。数据放置方案可首先生成并转换成适用于智能存储器110的转发数据结构,且随后经由用于分配存储块、组合所述存储块并形成通过组中数据块的数据流的多个优化技术来放置数据结构。数据结构可在发送到智能存储结构100之前进行处理或转换,以便在存储块150上进行顺序处理和缓存。
存储块150可用于接收关于指定网络功能的多个命令。在一项实施例中,所述命令可经由连接到交互式网络的串行接口来接收。所述命令可包括用于实施指定网络功能的信息,并可按照特定顺序发送到所选择的存储块150。命令可按照完成指定数据操作所需的顺序进行发送。命令可在第一存储块处进行处理,且随后与临时上下文信息一起传送到第二存储块(其存储下一个数据单元),以进行进一步处理。当命令在最后一个存储块处进行处理后,响应消息可发送回耦接到发出初始请求的智能存储结构100的芯片端口。
多个包处理特性可实施在智能存储结构100中。示例性功能包括承诺访问速率调度器(CARS)功能、控制访问列表(ACL)、计数器、队列、转发信息库(FIB)查找流水线和/或其他功能。CARS功能用于实施漏桶监管功能,所述漏桶监管功能用于实现网络设备中的流量管理。CARS功能可通过以下步骤实施:在存储块组130中分配一个存储块150;将数据路由到存储块组130中,在所述存储块组130中,数据可通过一个或多个存储块150进行处理。已处理的数据随后流出存储块组130,并会转发到另一存储块组。
ACL是一种用于设定无状态包过滤和服务质量的网络功能。在一项实施例中,ACL功能可通过分配四个存储块150并将其组合成存储块组132来实施。数据可从存储块组130流入存储块组132,且在数据转发到存储块组136之前,在存储块组132的四个存储块150上以,例如,顺序方式进行处理。
计数器可用于,例如,进行统计,以便执行实时网络测量。在一项实施例中,计数器可通过以下步骤实施:在存储块组134中分配一个存储块150;使数据流入存储块组134,以通过多个计算元件(例如,存储块150)进行处理;以及使已处理的数据流出存储块组134。
队列可作为一种用于在包被接收、处理以及调度以发送到其他网络部件时,存储这些包的网络功能。在一项实施例中,队列功能可通过以下步骤实施:在存储块组136中分配一个存储块150;使数据流入存储块组136,以通过多个计算元件进行处理;以及使已处理的数据流出存储块组136。
FIB查找表可包括所有已知的路由,所述路由可保存在路由表中并可作为处理流水线运行。在一项实施例中,FIB查找流水线功能可通过分配六个存储块150并将其组合成存储块组138来实施。数据可流入存储块组138,在存储块组138的六个存储块150上进行处理,并随后流出存储块组138。
任何其他网络包功能均可分配到块组140。所述功能可通过分配三个存储块150并将其组合成存储块组140来实施。数据可从,例如,存储块组132流入存储块组140,且所述数据可在,例如,转发到存储块组138之前,在存储块组140的三个存储块150上进行处理。
图2所示为存储块200的一项实施例,所述存储块200可用于智能存储系统,例如,智能存储结构100。存储块200可包括存储区块220,所述存储区块220可与处理元件230通信。存储区块220和处理元件230经由电连接或链接来耦接,从而使信号在两者之间进行交换。存储块200还可包括接头212,其可包括多个电气部件,以便经由互连网络将存储区块220和处理单元230耦接到其他存储块(位于同一智能存储系统上)或任何外部部件。存储区块结构200的部件可如图2所示进行布置。在其他实施例中,存储区块结构200所包括的部件数量可与图2所示不同。
将片上存储区块220耦接到存储块150中的处理元件230,从而可计算和处理本地缓存数据,且因此等待时间因片上存储元件和片外处理单元之间进行的交换而减少。在一项实施例中,存储区块220可包括嵌入式DRAM(eDRAM)。在其他实施例中,存储区块220可包括其他类型的存储装置。在一些实施例中,智能存储器中的所有存储区块220可包括同一类型的存储装置和/或相同的存储大小,而在其他实施例中,智能存储器中的存储区块220可包括不同类型的存储装置和/或不同的存储大小。
处理元件230可包括硬件,其用于有效实施多个存储密集型包处理功能(memory intensive packet processing function)。所述处理元件230可用于减少逻辑闸的数量、成本和/或功耗。处理元件230可包括多个区块,用于在,例如,逻辑闸的数量相对较少的情况下,以相对较高的速度实现常用包处理功能。不同区块可用于实施不同功能。此外,同一区块可用于实施多个功能。因此,智能存储系统的每个存储块容量、存储带宽以及计算能力可根据需要采用多种方式进行配置。
在不同实施例中,处理元件230可具有不同程度的可编程性,其范围在完全可编程到全硬操作之间。在一些实施例中,处理元件230可具有完全可编程性,且存储块210进一步包括指令存储器,和/或耦接到处理元件230的指令解码器。在其他实施例中,处理元件230可用于接收多个参数,并使用这些参数执行一组操作。在又一项实施例中,处理元件230可进行配置。
图3所示为智能存储器数据处理方法300的一项实施例,所述方法可由智能存储器实施在包处理功能中。例如,数据处理方法300可使用智能存储结构100来实施。方法300可开始于块310,在所述块310中,可设定多个优化标准。优化标准可包括针对以下方面的标准:带宽减少、时序限制、存储器使用率等。在一项实施例中,用户可经由软件套件中的部件来设定优化标准。在块320处,多个存储块可进行分配。所分配的存储块可基于多种因素进行选择,例如,所需存储大小、在智能存储器上的物理位置以及相应处理元件的处理能力等。在块330处,所分配的存储块可分成存储块组。组合所述存储块可包括将包数据特性功能,例如用于实施计数器的功能映射到多个存储块上。
在块335处,输入数据可,例如,以确定性和/或顺序方式转换成适合于在存储块中进行处理的格式。下一步,在块340处,存储块中的数据流路径可进行优化。已映射到智能存储系统的初始数据流可使用块310中的优化标准进一步优化。在一项实施例中,数据流使用软件套件进行优化。在块350处,输入数据可经由串行I/O端口接收。输入数据可从外部存储器,例如,外部存储器120接收。此外,输入数据可从位于智能存储器上的存储块,例如,位于智能存储器110上的存储块150接收。
在块360处,数据可流经存储块组,例如,根据块340处所确定的已优化的数据流。输入数据可进入第一存储块以进行处理,并随后移动到下一存储块以再次进行处理,依此类推,直到数据已在存储块组中的所有存储块中均进行处理。在块370处,已处理的数据可发送出去。所输出的已处理的数据可包括数据流中在最后一个存储块上进行处理后的数据。已处理的数据可发送到外部存储器120。此外,已处理的数据可发送到位于智能存储器上的另一存储块组中的存储块。在块380处,方法300可确定是够继续处理更多数据。如果满足块308中的条件,则方法300可返回块310。否则,方法300结束。
图4所示为网络单元400的一项实施例,所述网络单元400可为通过网络传输和处理数据的任何装置。例如,网络单元400可对应于网络中的路由器、网桥或转换器。网络单元400还可包括智能存储系统,例如基于智能存储结构100的智能存储系统。例如,网络单元400可包括上述任何网络部件,例如,多个智能存储块和外部存储器。网络单元400可包括一个或多个入站端口或单元410,其耦接到接收器(Rx)412,用于从其他网络部件接收包、对象或类型长度值(TLV)。网络单元400可包括逻辑单元420,用于确定包所发送到的网络部件。逻辑单元420可使用硬件、软件或上述两者来实施。网络单元400还可包括一个或多个出站端口或单元430,其耦接到发射器(Tx)432,用于将帧发射到其他网络部件。接收器412、逻辑单元420和发射器432还可用于实施或支持方法300。网络单元400的部件可如图4所示进行布置。
上述网络部件可在包括任何通用网络部件的系统中实施,例如,所述通用网络部件包括计算机,或具有足够处理能力、存储资源以及网络吞吐能力以处理其上的必要工作量的网络部件。图5所示为典型的通用网络部件500,所述通用网络部件500适合于实施本文中所公开的部件的一项或多项实施例。网络部件500包括处理器502(可称为中央处理器单元或CPU),其与包括以下项的存储装置通信:辅助存储器504、只读存储器(ROM)506、随机存取存储器(RAM)508、输入/输出(I/O)装置510,以及网络连接装置512。处理器502可作为一个或多个CPU芯片实施,或者可为一个或多个专用集成电路(ASIC)的一部分。
辅助存储器504通常由一个或多个磁盘驱动器或磁带驱动器构成,且用于对数据进行非易失性存储,而且如果RAM508的大小不足以保存所有的工作数据,那么辅助存储器504可用作溢出数据存储装置。辅助存储器504可用以在选择执行载入到RAM508中的程序时存储此类程序。ROM506用于存储在程序执行期间读取的指令以及可能的数据。ROM506为非易失性存储装置,其存储容量相对于辅助存储器504的较大存储容量而言通常较小。RAM508用于存储易失性数据,还可能用于存储指令。访问ROM506和RAM508通常比访问辅助存储器504要快。
本发明公开了至少一项实施例,而且所属领域的一般技术人员对实施例和/或实施例的特征做出的变化、组合和/或修改均在本发明的范围内。通过组合、整合和/或忽略各项实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范围或限制的情况下,此类表达范围或限制应被理解成包括在明确说明的范围或限制内具有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、5、4等;大于0.10包括0.11、0.12、0.15等)。例如,只要公开具有下限Rl和上限Ru的数字范围,则明确公开了此范围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、5%、4%、5%、……、50%、51%、52%、……、75%、76%、77%、78%、77%或100%。此外,由上文中定义的两个数字R定义的任何数字范围也是明确公开的。相对于权利要求的任一元素使用术语“选择性地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用诸如“包括”、“包含”和“具有”等较广术语应理解为提供对诸如由“…组成”、“基本上由…组成”以及“大体上由…组成”等较窄术语的支持。因此,保护范围不受上文所陈述的说明限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每个权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。对所述揭示内容中的参考进行的论述并非承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文中,其提供补充本发明的示例性、程序性或其它细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以许多其它特定形式来实施。本发明的实例应视为说明性的而非限制性的,且本发明不限于本文所给出的细节。举例来说,各种元件或部件可在另一系统中组合或集成,或某些特征可省略或不实施。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可与其它系统、模块、技术或方法组合或合并。所描绘或介绍的彼此耦接、直接耦接或通信的其他项目可以电气方式、机械方式或其他方式经由某些接口、装置或中间部件而间接耦接或通信。改变、替换和更改的其他实例可由所属领域的技术人员确定,且在不脱离本文中所公开的精神和范围的情况下做出。
Claims (20)
1.一种装置,包括:
存储装置,其包括多个存储块每个存储块包括存储区块和处理元件;以及
互连网络,其耦接到所述存储装置,并用于使所述存储块互连,
其中所述处理元件用于执行至少一个包处理特性,以及
其中所述互连网络用于促进所述存储块之间的通信。
2.根据权利要求1所述的装置,进一步包括串行输入/输出(I/O)端口,其耦接到所述存储装置,且用于将串行化数据转发到所述存储装置以进行缓存和处理。
3.根据权利要求1所述的装置,其中所述存储块分成多个组,用于进行多个包处理功能。
4.根据权利要求3所述的装置,其中所述包处理功能支持CARS、控制访问列表(ACL)、计数器、队列、转发表查找或以上项的组合。
5.根据权利要求3所述的装置,其中所述包处理功能包括前缀匹配、有限自动机遍历、链表管理或以上项的组合。
6.根据权利要求1所述的装置,进一步包括外部存储器,其耦接到所述存储装置,且用于为所述存储装置缓存更多数据。
7.根据权利要求6所述的装置,其中所述外部存储器是双倍数据率(DDR)动态随机存取存储器(DRAM)。
8.根据权利要求1所述的装置,其中所述存储装置位于网络路由器、网桥或交换机中。
9.根据权利要求1所述的装置,其中缓存于一个存储块的存储区块中的数据不会在另一存储块的处理元件中进行处理。
10.一种网络部件,包括:
接收器,用于接收网络数据;
逻辑单元,用于转换网络数据,以便进行合适的确定性存储器缓存和处理;
串行输入/输出(I/O)接口,用于已串行方式转发已转换的网络数据;
存储器,其包括多个存储块,用于存储和处理来自所述串行I/O接口的已转换的网络数据;以及
发射器,用于转发来自所述串行I/O接口的已处理的网络数据。
11.根据权利要求10所述的网络部件,其中所述存储块通过以顺序或串行方式交换数据,从而彼此之间进行通信。
12.根据权利要求11所述的装置,其中所述存储块通过互连网络交换数据,所述互连网络耦接到所述存储块,且用于从所述存储块接收数据以及向所述存储块发送数据。
13.根据权利要求10所述的网络部件,其中所述存储块与外部存储器通信,以便缓存超出所述存储块的缓存能力的额外数据。
14.根据权利要求10所述的网络部件,其中存储块分成多个组,所述组通过以顺序或串行方式交换数据来彼此通信。
15.根据权利要求10所述的网络部件,其中所述存储块用于执行至少一个包处理特性。
16.根据权利要求10所述的网络部件,其中所述存储器包括类似存储块、不同存储块或以上项的组合。
17.一种网络部件实施方法,包括:
接收多个包;
对所述包数据进行串行化;
将所述串行化包数据转发到存储块组,其中每个存储块均包括存储区块和处理元件;
缓存所述串行化包数据,以便按照顺序在所述每个存储块的所述存储区块中进行处理;
按照同一顺序在所述每个存储块的所述处理元件中处理已缓存的串行化包数据;以及
完成处理后,发送已处理的所述包数据。
18.根据权利要求17所述的网络部件实施方法,其中所述串行化包数据以确定性方式在每个存储块的所述存储区块中进行缓存且在每个存储块的相应处理元件中进行处理。
19.根据权利要求17所述的网络部件实施方法,其中所述串行化包数据并非随机分配到组中的存储块。
20.根据权利要求17所述的网络部件实施方法,其中所述存储块组通过基于所实施的包处理功能来选择不同存储块,以便可重新配置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37656510P | 2010-08-24 | 2010-08-24 | |
US61/376,565 | 2010-08-24 | ||
US13/209,794 US8930618B2 (en) | 2010-08-24 | 2011-08-15 | Smart memory |
US13/209,794 | 2011-08-15 | ||
PCT/CN2011/078870 WO2012025051A1 (en) | 2010-08-24 | 2011-08-24 | Smart memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103081434A true CN103081434A (zh) | 2013-05-01 |
CN103081434B CN103081434B (zh) | 2016-05-25 |
Family
ID=45698685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180040633.XA Active CN103081434B (zh) | 2010-08-24 | 2011-08-24 | 智能存储器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8930618B2 (zh) |
EP (1) | EP2486715B1 (zh) |
CN (1) | CN103081434B (zh) |
WO (1) | WO2012025051A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106537358A (zh) * | 2013-01-08 | 2017-03-22 | 理芙麦资公司 | 在存储网络中的存储的管理 |
WO2018058430A1 (zh) * | 2016-09-29 | 2018-04-05 | 华为技术有限公司 | 一种可扩展内存的芯片 |
CN108376121A (zh) * | 2018-03-01 | 2018-08-07 | 曲阜师范大学 | 一种Flash存储器的数据存储结构 |
CN109240980A (zh) * | 2018-06-26 | 2019-01-18 | 深圳市安信智控科技有限公司 | 具有多个高速串行访存通道的访存密集型算法加速芯片 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779057B2 (en) | 2009-09-11 | 2017-10-03 | Micron Technology, Inc. | Autonomous memory architecture |
US10089043B2 (en) | 2013-03-15 | 2018-10-02 | Micron Technology, Inc. | Apparatus and methods for a distributed memory system including memory nodes |
US9779138B2 (en) | 2013-08-13 | 2017-10-03 | Micron Technology, Inc. | Methods and systems for autonomous memory searching |
US10003675B2 (en) | 2013-12-02 | 2018-06-19 | Micron Technology, Inc. | Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data |
US10305799B2 (en) | 2016-08-17 | 2019-05-28 | Cisco Technology, Inc. | Re-configurable lookup pipeline architecture for packet forwarding |
GB2553102B (en) | 2016-08-19 | 2020-05-20 | Advanced Risc Mach Ltd | A memory unit and method of operation of a memory unit to handle operation requests |
US11514996B2 (en) | 2017-07-30 | 2022-11-29 | Neuroblade Ltd. | Memory-based processors |
KR20210068034A (ko) * | 2018-09-06 | 2021-06-08 | 뉴로블레이드, 리미티드. | 메모리 기반 프로세서 |
US11138499B2 (en) | 2018-09-28 | 2021-10-05 | Intel Corporation | Applications of back-end-of-line (BEOL) capacitors in compute-in-memory (CIM) circuits |
US11477258B2 (en) * | 2020-03-30 | 2022-10-18 | Oracle International Corporation | Serialization of objects using multiple serialization algorithms |
US11599551B2 (en) | 2020-03-30 | 2023-03-07 | Oracle International Corporation | Deserialization of stream objects using multiple deserialization algorithms |
US11288045B1 (en) | 2021-02-09 | 2022-03-29 | Oracle International Corporation | Object creation from structured data using indirect constructor invocation |
US11256480B1 (en) | 2021-02-09 | 2022-02-22 | Oracle International Corporation | Deserialization of stream objects using constant-foldable method handles |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0679998A1 (en) * | 1994-04-22 | 1995-11-02 | AT&T Corp. | Intelligent memory-based input/output system |
CN101425966A (zh) * | 2007-10-29 | 2009-05-06 | 国际商业机器公司 | 片上网络以及使用片上网络进行数据处理的方法 |
US20090135739A1 (en) * | 2007-11-27 | 2009-05-28 | Hoover Russell D | Network On Chip With Partitions |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134711A (en) | 1988-05-13 | 1992-07-28 | At&T Bell Laboratories | Computer with intelligent memory system |
US7624436B2 (en) | 2005-06-30 | 2009-11-24 | Intel Corporation | Multi-pattern packet content inspection mechanisms employing tagged values |
US7784094B2 (en) | 2005-06-30 | 2010-08-24 | Intel Corporation | Stateful packet content matching mechanisms |
US8190763B2 (en) | 2007-09-14 | 2012-05-29 | At&T Intellectual Property I, Lp | System and method for trouble detection, isolation, and management |
US7996526B2 (en) | 2009-06-08 | 2011-08-09 | Comcast Cable Communications, Llc | Management of shared access network |
-
2011
- 2011-08-15 US US13/209,794 patent/US8930618B2/en active Active
- 2011-08-24 EP EP11819426.5A patent/EP2486715B1/en active Active
- 2011-08-24 WO PCT/CN2011/078870 patent/WO2012025051A1/en active Application Filing
- 2011-08-24 CN CN201180040633.XA patent/CN103081434B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0679998A1 (en) * | 1994-04-22 | 1995-11-02 | AT&T Corp. | Intelligent memory-based input/output system |
CN101425966A (zh) * | 2007-10-29 | 2009-05-06 | 国际商业机器公司 | 片上网络以及使用片上网络进行数据处理的方法 |
US20090135739A1 (en) * | 2007-11-27 | 2009-05-28 | Hoover Russell D | Network On Chip With Partitions |
Non-Patent Citations (1)
Title |
---|
KEN MAI, TIM PAASKE, ETC: ""Smart Memories: A Modular Reconfigurable Architecture"", 《PROCEEDINGS OF THE 27TH INTERNATIONAL SYMPOSIUM》, 14 June 2000 (2000-06-14), pages 161 - 171 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106537358A (zh) * | 2013-01-08 | 2017-03-22 | 理芙麦资公司 | 在存储网络中的存储的管理 |
WO2018058430A1 (zh) * | 2016-09-29 | 2018-04-05 | 华为技术有限公司 | 一种可扩展内存的芯片 |
US10678738B2 (en) | 2016-09-29 | 2020-06-09 | Huawei Technologies Co., Ltd. | Memory extensible chip |
CN108376121A (zh) * | 2018-03-01 | 2018-08-07 | 曲阜师范大学 | 一种Flash存储器的数据存储结构 |
CN108376121B (zh) * | 2018-03-01 | 2021-10-22 | 曲阜师范大学 | 一种Flash存储器的数据存储方法 |
CN109240980A (zh) * | 2018-06-26 | 2019-01-18 | 深圳市安信智控科技有限公司 | 具有多个高速串行访存通道的访存密集型算法加速芯片 |
Also Published As
Publication number | Publication date |
---|---|
EP2486715B1 (en) | 2015-01-07 |
US20120054452A1 (en) | 2012-03-01 |
US8930618B2 (en) | 2015-01-06 |
WO2012025051A1 (en) | 2012-03-01 |
CN103081434B (zh) | 2016-05-25 |
EP2486715A1 (en) | 2012-08-15 |
EP2486715A4 (en) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103081434A (zh) | 智能存储器 | |
US7706275B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
US9025457B2 (en) | Router and chip circuit | |
CN101227402B (zh) | 聚合链路流量分担方法及装置 | |
CN103444138B (zh) | 通信控制系统、交换节点以及通信控制方法 | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
Madureira et al. | On supporting IoT data aggregation through programmable data planes | |
CN102055667A (zh) | 配置虚拟网络交换机的方法和设备 | |
CN103338269B (zh) | 一种数据传输方法及装置 | |
EP2670085B1 (en) | System for performing Data Cut-Through | |
CN102111327B (zh) | 信元调度方法和系统 | |
US20220078119A1 (en) | Network interface device with flow control capability | |
US20120044942A1 (en) | Semiconductor system, relay apparatus, and chip circuit | |
CN110928694B (zh) | 一种计算机系统 | |
US20220311711A1 (en) | Congestion control based on network telemetry | |
Altman et al. | TCP network calculus: The case of large delay-bandwidth product | |
DE102022129250A1 (de) | Übertragungsrate basierend auf detektierter verfügbarer Bandbreite | |
Huang | Quality of service optimization in wireless transmission of industrial Internet of Things for intelligent manufacturing | |
CN113328953A (zh) | 网络拥塞调整的方法、装置和存储介质 | |
CN114710571A (zh) | 数据包处理系统 | |
CN104704788A (zh) | 确定针对分组检查设备处的数据单元的负载分配 | |
CN102231711B (zh) | 基于维纳预测动态调整节点拥塞等级的路由控制方法 | |
CN104052683A (zh) | 处理分组交换的网络处理器及方法、网络交换系统 | |
US20220224762A1 (en) | Queuing control for distributed compute network orchestration | |
Phing et al. | Performance analysis of the impact of design parameters to network-on-chip (NoC) architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |