CN1799034A - 基于树的存储器结构 - Google Patents
基于树的存储器结构 Download PDFInfo
- Publication number
- CN1799034A CN1799034A CNA2004800151025A CN200480015102A CN1799034A CN 1799034 A CN1799034 A CN 1799034A CN A2004800151025 A CNA2004800151025 A CN A2004800151025A CN 200480015102 A CN200480015102 A CN 200480015102A CN 1799034 A CN1799034 A CN 1799034A
- Authority
- CN
- China
- Prior art keywords
- memory
- hub
- hub device
- data
- message
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2005—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种具有基于树拓扑的存储器体系结构。存储装置与智能存储器集线器配套,所述存储器集线器用于服务存储器访问请求并且管理存储装置网络中的数据。存储器集线器可以动态地重新配置网络拓扑以便补偿失灵的装置或装置的添加或移除。所述存储器体系结构还可以支持输入输出装置并且在多个系统之间共享。
Description
技术领域
本发明实施例涉及存储器体系结构领域。特别地,本发明实施例涉及基于树的网络化存储器体系结构。
背景技术
常规的计算机系统利用就其存储容量而言只有有限的扩展能力的存储器体系结构。常规的存储器体系结构不能支持超过六十四千兆字节的存储器。几个因素限制了常规的存储器体系结构的扩展能力,使其不能够扩展超过此限制。限制存储器体系结构可扩展性的重要因素是维护信号的完整性。常规的存储器体系结构使用中继器结构来扩展物理距离,所述物理距离为由于通过一定距离的管道所导致的自然失真及信号削弱,寻址或控制存储装置中所涉及的信号可以被发送的距离。
然而,中继器结构增加了信号的等待时间并且就总距离而言仍然具有上限,因此可以支持的存储器体系结构的总容量也具有上限。中继器结构放大了在单个线性路径中信号的强度。中继器结构不允许分开到一个以上通信信道。这把存储器结构的深度限制为单级(即,芯片组-中继器结构-存储装置)。由于整个中继器信道充当单个管道,所以在常规的存储器体系结构中通过中继器结构发送到存储装置的请求必须被逐个发送。从而,当发送请求时整个长度的管道都被使用,阻止了任何其它使用直到所述请求完成。
附图说明
在附图的诸图中以举例形式而不是以限制的形式举例说明了本发明的实施例,其中相同的索引表明同样的元件。应当注意,在此公开中参考“一”或“一个”实施例不是必须参考相同的实施例,并且这种参考的意思是参考至少一个。
图1是具有网络化存储器体系结构的系统的图。
图2a是出站初始化过程的流程图。
图2b是入站初始化过程的流程图。
图3是网络化存储器体系结构中集线器的发消息过程的流程图。
具体实施方式
图1是利用网络化存储器体系结构的示例性系统100的框图。系统100包括计算机系统102。计算机系统102可以是个人计算机、服务器、工作站、大型机或类似的计算机。计算机系统102包括中央处理器(CPU)101,所述中央处理器101执行被具体化为一组计算机可读指令的程序。计算机系统102可以包括用于多道处理的附加CPU 103。CPU 101连接到通信集线器或通信芯片组105。通信集线器105管理在CPU 101、103和存储器子系统130、外围装置109、存储装置111、网络通信107及类似子系统之间的通信。在一个实施例中,通信集线器105可以被分成诸如北桥和南桥之类的几个组件,用于在它们本身之间划分通信工作。
在一个实施例中,通信集线器105借助与存储器集线器115的独立链路来连接到存储器子系统130。在另一实施例中,通信集线器105可以具有至分离存储器集线器的几个独立链路。在一个实施例中,通信集线器105管理在存储器子系统130中存储器集线器的配置。在另一实施例中,存储器子系统130的管理主要分布在存储器集线器本身之间。通信集线器105可以保持转送表并且跟踪存储器子系统130的拓扑。
在一个实施例中,存储器子系统130是基于树的网络。通信集线器105作为存储器子系统130的根起作用。经由存储器子系统130的通信首先由通信集线器105发起或以其结束。通信集线器105向存储器子系统130产生服务CPU 101,103的资源请求,包括发送用于存储器访问(例如,读取和写入命令)、资源访问(例如,访问连接到存储器集线器的装置)的消息,并且还产生发送指令的资源请求,所述指令用于要由存储器集线器所执行的操作。
存储器集线器115连接到一组存储装置117。存储装置117可以是任何类型或配置,包括双列直插式存储器模块(DIMMS)、单列直插式存储器模块(SIMMS)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、双数据率随机存取存储器(DDR RAM)和类似的存储装置。可以把许多存储装置117连接到集线器115直到达到附于集线器115的装置技术上的物理约束。
存储器集线器115还可以包括输入输出端口131。输入输出端口131可以用来把外围装置119附于存储器子系统130。连接到存储器集线器115的输入输出装置119可以是存储映象装置,具有分配给它们的一个地址空间或类似地与系统100和存储器子系统130对接的一个地址空间。与存储器集线器115链接的每个装置具有独立的链路,包括其它存储器集线器133、输入输出装置119和通信集线器105。独立的链路是点对点链路,所述点对点链路当在两个端点之间没有发送或接收消息时是可用的。从而,存储器集线器115可以同时在不同的链路131、135上发送或接收不相关的消息。
在一个实施例中,存储器集线器115可以是专用集成电路(ASIC)。存储器集线器115能够接收消息中的指令并且执行所述指令。取决于ASIC的复杂度和处理能力,可以由存储器集线器115所执行的功能可以是专门的或通用的。例如,存储器集线器115可以执行一组指令,所述指令重新排序存储装置117的内容或执行对在存储装置117中所存储数据的计算或操作。在一个实施例中,存储器集线器115把本地存储装置117的一部分用为‘暂时存储器’以便执行所分配的操作。在一个实施例中,发送到存储器集线器115的指令使用多相编码方法。存储器集线器115可以被设计执行的任务范围包括从执行诸如存储器中数据的矩阵运算之类的复杂的操作到只是最小的存储器和资源访问任务。
在一个实施例中,存储器集线器115可以连接到多个附加存储器集线器。附加存储器集线器可以是与存储器集线器115相同的ASIC组件。附加存储器集线器具有与每个连接装置相独立的链路,所述连接装置诸如输入输出装置119及其它存储器集线器115。到其它存储器集线器的链路还可以包括冗余的链路121。冗余的链路121使得存储器子系统130能够重新编程以便克服集线器、链路或存储装置失效或不正常工作。此重新编程将消息改换路由绕开受影响组件,并且从存储器子系统130的拓扑中移除该组件。在一个实施例中,通过修改由每个存储器集线器和通信集线器105所保存的转送表来完成重新路由。在存储器集线器之间的链路可以使用支持点对点通信的任何物理体系结构来实现,包括光介质、柔性电缆、印刷电路板和类似的技术。
在一个实施例中,存储器集线器在树形拓扑中彼此连接。树的根可以是存储器集线器115或通信集线器105。在一个实施例中,通信集线器105可以作为树形网络的根起作用并且通过指导存储器集线器的配置来主动管理存储器子系统130。在另一实施例中,存储器子系统130的运行对通信集线器105是透明的。通信集线器105可以只向主存储器集线器115发送存储器和资源请求,所述主存储器集线器115管理存储器子系统130或作为分布式管理方案的一部分操作。通信集线器105可以与一个以上存储器集线器115直接耦合。
树状拓扑是具有根节点的拓扑,所述根节点以任意扇出级别分出分支节点和叶节点,所述分支节点和叶节点可以距离所述根许多级。在另一实施例中,网络拓扑是网状网络、混合式或类似的拓扑。网络拓扑可以是循环或非循环的。非循环的物理存储器子系统拓扑将包括周期检查或指示存储器集线器中的逻辑拓扑,以便防止在环形路径中发送消息。
虽然拓扑可能通常是树结构,如所提及,可以使用冗余的链路来改进可靠性并且缩短在存储器集线器之间的通信等待时间。在一个实施例中,拓扑在树结构中包括多个级。每个级由到通信集线器105或根的路径长度来确定。例如,存储器集线器115处于拓扑的第一级,而存储器集线器133处于拓扑的第二级。在树结构较低级中的存储器集线器和存储装置(即,那些最接近于根的组件)具有最短的等待时间,而那些在最高级中的集线器和存储装置具有最长的等待时间。
从而,存储器子系统130可以被配置为根据数据的重要性或使用频率以及存储器集线器的层次来为存储器使用排列优先次序。最频繁访问的数据可以处于较低级,而不那么频繁访问的数据处于拓扑的较高级。从而,可以以较短等待时间获取频繁使用的数据,而以比频繁使用的数据更长的等待时间来获取不那么频繁使用的数据。拓扑将支持大于六十四千兆字节的存储器容量。即使是较高级中数据的等待时间也小于获取诸如硬盘、光盘或类似的介质之类的固定或可拆卸存储装置中存储的数据的时间。因此,整个系统100的获取次数相对只具有单层存储器和六十四千兆字节或更小容量的常规系统得到了改进,这是因为更多数据可以存储在存储器子系统中,这降低了对固定或可移动介质的访问,其中所述固定或可移动介质具有大于存储器访问数量级的访问次数,并且因为可以根据使用频率来排序存储器而将访问次数改进到与高速缓冲存储器类似。
在一个实施例中,在存储器集线器之间的链路可以包括用于桥接两个或更多基本树结构的存储器子系统的链路123。桥接链路123可以用来把附加CPU 125和计算机系统141联网到计算机系统102。桥接允许跨过多个系统来共享存储空间、地址空间和系统资源。在没有桥123的系统100中使用的基于发消息系统和转送策略的基本树按规定在桥接系统100上操作。在一个实施例中,每个通信集线器可以充当根并且每个通信集线器保持冗余的拓扑数据。在另一实施例中,单个的通信集线器变为主通信集线器,而其它通信集线器是执行在保持存储器子系统130中所分配功能的从设备。在进一步的实施例中,管理分布在所有存储器集线器和通信集线器之间。
在一个实施例中,存储器集线器可以使用任何发消息协议或指令集来在它们本身之间通信。存储器集线器中的ASIC被设计成解释消息格式并且执行其中所包含的任何指令。在一个实施例中,消息可以是格式化的分组或类似的消息。在另一实施例中,消息可以是诸如中断之类的单频信号。在一个实施例中,在存储器集线器和通信集线器105之间的通信利用多相编码、基于语言字的通信协议或类似的通信协议。
图2a是由存储器集线器来处理系统100中初始化消息的流程图。初始化阶段出现在系统启动、重新启动或发生类似的事件时。初始化阶段可以由计算机系统102中的通信集线器105启动。如果出现错误或如果存储器子系统130的配置改变,那么重新初始化可以由系统102启动。在检测到配置变化之后,计算机系统102可以启动重新初始化阶段以便确定所产生的新的配置。例如,存储器子系统130支持组件的‘热插拔’或组件的移除。为了支持‘热插拔’和动态重新配置,可以在存储器子系统130中的多组存储装置117内冗余地存储数据。对于单个逻辑地址,存储器子系统130支持多个物理存储单元。在另一实施例中,初始化阶段可以由存储器集线器来初始化。
通信集线器105或存储器集线器115在系统100启动时产生初始化消息。此消息被发送到存储器子系统130中第一级的集线器(块201)。所述消息可以具有任何格式。所述消息提示每个接收存储器集线器产生要发送到消息始发者的响应消息(块203)。所述响应消息包含关于产生响应消息的集线器的基本配置信息。包含在所述消息中的信息可以包括分配给连接到集线器的存储装置的地址空间、存储装置的类型和特性、存储器集线器的端口信息、邻居集线器的信息、拓扑信息和类似的信息。在一个实施例中,每个存储器集线器在初始化阶段期间独立地向自身分配地址空间。通信集线器可以仲裁冲突分配,或者集线器实现分布式仲裁模式以便解决冲突。在另一实施例中,通信集线器以集中方式向每个集线器或存储装置分配地址空间。存储器集线器可以包括电可擦可编程只读存储器(EEPROM)或类似的存储装置,以便即使当系统100断电时也能保持配置数据。
在一个实施例中,响应消息被发送到发起初始化请求的装置(块205)。经由递送初始化消息的装置来发送响应消息。在一个实施例中,在已经发送响应消息之后,除了向该集线器发送初始化消息的邻居集线器之外,该集线器向其它每个邻居集线器(即,那些通过链路直接与该存储器集线器连接的集线器)转送初始化消息(块207)。在另一实施例中,集线器在产生响应消息的同时或在此之前转送所述初始化消息。存储器集线器可以在所转送的消息中包括识别自身的数据,以便在初始化消息中构建一个包括已转发该消息的每个存储器集线器的存储路径,使得接收该消息的下一存储器集线器知道该路径以便将它接收到的所有响应消息发送回始发装置。在另一实施例中,每个集线器跟踪发送到邻居集线器的初始化消息以等候返回应答。对每个输出消息跟踪的信息包括诸如请求的初始端口之类的该消息的转送信息、该消息的识别标签以及类似的信息。
每个邻居集线器接收转送的初始化消息。然后邻居集线器产生包含配置数据和关于该邻居集线器及其所附的存储装置的类似数据的响应消息(块209)。所述响应消息还可以包括被分配给连接到集线器的存储装置的地址空间范围、存储装置的类型和特性、存储器集线器的端口信息、邻居集线器的信息、拓扑信息和类似的信息。
每个邻居把响应消息发送到向其转送初始化消息的集线器,以便最终递送到发起该初始化消息的装置(块211)。每个邻居集线器确定它是否是叶集线器(即,除向其发送初始化信息的集线器之外没有其它邻居集线器)(块211)。如果邻居集线器是叶集线器,那么所述过程结束(块217)。然而,如果邻居集线器具有其自己的邻接集线器,那么它向它的每个邻接集线器转送初始化消息(块215)。重复所述过程直到所有集线器已经接收了初始化消息并且发送了响应消息。
图2b是在初始化过程期间处理入站消息的流程图。经由独立的链路从邻接存储器集线器接收该消息(块251)。当任何存储器集线器接收到入站消息(即,来自另一存储器集线器的、预定向始发装置的响应消息)时,所述存储器集线器分析该消息以便添加到其关于邻居集线器以及存储器子系统130的拓扑的本地信息中。
所述集线器检查所述输入信息以便记录关于产生该响应消息的存储器集线器的配置数据,以及其中所记录的关于其它集线器或存储器子系统130拓扑的任何数据(块253)。在一个实施例中,处理响应消息的每个存储器集线器把数据添加到与所述消息采用的路径有关的消息,使得所述消息包含识别位于该树结构存储器子系统的根和产生所述响应的存储器集线器之间的存储器集线器的完整路径信息。此数据可以由处理所述消息的每个存储器集线器使用,以便识别每个集线器所保持的网络拓扑。
在记录所述消息中的数据并且修改该消息以便包括任何附加数据之后,存储器集线器将该消息转送到发起所述初始化消息的目的装置(块255)。存储器集线器使用它接收初始化消息时存储的跟踪信息,以便确定向它的哪个邻居发送该消息。与输出发消息过程耦合的此过程向每个存储器集线器提供足够的拓扑数据,以便在树结构的‘分支’中初始化之后处理消息。在一个实施例中,通信集线器105收集所有响应数据并且能够绘制存储器子系统130的整个拓扑。通信集线器105还可以产生一组配置消息,所述配置消息向每个存储器集线器发送完整的拓扑信息或重新配置所述集线器的拓扑或设置。
可以通过根据存储器使用、数据类型、与所述数据和类似分组相关联的应用类型,经由一组层或类似配置沿着所定义路径分组数据,来优化存储器子系统130的结构。在一个实施例中,可以在存储器子系统130中组织数据使得可以跨过多个存储器集线器存储相关数据。如果访问此数据的一部分,要是所述访问还包括与其它集线器相关联的存储装置中所存储的数据的话,那么存储器集线器可以向那些存储器集线器发送消息表明该访问。在一个实施例中,可以根据集线器的等待时间来跨过集线器组织数据。可以把频繁访问的数据存储在具有较低等待时间的集线器(较低层集线器)中。可以通过包括高速缓存所访问数据的访问请求来返回跨过多个集线器的数据。在另一实施例中,可以通过依照与集线器相关联的存储装置类型(例如,DDR RAM、SDRAM或类似装置)分组数据来优化存储器子系统130的结构。
图3是存储器集线器在正常操作期间处理消息过程的流程图。典型的操作包括读取和写入操作和到输入输出装置119的输入和输出操作。大部分的消息是在通信集线器105和在存储器子系统的较低级中的存储器集线器之间发送。大部分消息作为资源请求而从通信集线器105发起,并且从存储器集线器产生响应消息。
每个存储器集线器可以从另一存储器集线器或通信集线器105经由独立的链路或信道接收消息(块301)。存储器集线器检查所述消息,以便确定所述消息或请求资源的目的地址是否匹配所述存储器集线器通过存储装置117管理的地址空间范围(块303)。如果所述消息打算送给存储器集线器,那么存储器集线器识别要执行的操作类型。然后存储器集线器处理该请求(块305)。请求可以包括存储器访问请求,此处存储器集线器访问与其耦合的存储装置。所述消息还可以包含要由存储器集线器执行的指令集。请求消息还可以从存储器集线器端口请求数据。在一个实施例中,存储器访问或端口数据请求可以被存储器集线器延迟。可以延迟来源于存储器子系统130、通信集线器105或其它计算机系统中任一点的存储器或数据访问请求以便保持开放的通信链路。这使得当存储器集线器获取所请求的数据或对所接收的请求执行操作时,在存储器集线器之间的通信链路能够保持开放以供使用。
当存储器集线器完成请求处理时,它可以产生响应消息(块309)。是否产生响应消息取决于存储器集线器所执行的操作类型。例如,写入操作可能不要求来自存储器集线器的任何响应消息。然而,读取操作可能要求产生包含所请求数据的响应消息。
如果产生响应消息或如果请求消息预定去往另一存储器集线器,那么存储器集线器检查所述消息的目的地址以便确定怎样转送所述消息(块307)。在初始化阶段之后,每个集线器使树结构中它的分支或整个存储器子系统130的拓扑信息存储在ASIC或存储装置117中的存储装置内。根据拓扑数据,存储器集线器可以产生转送表或类似的结构以便映射与它每个输出端口相关联的地址。当不是去往存储器集线器的消息到达时,使用转送表比较目的地址或资源标识符以便确定用于转送该消息的输出端口。然后在该端口上转送所述消息(块311)。在每个存储器集线器上发生该过程直到消息到达其目的地。此过程适用于入站消息(即,打算送到根集线器115或通信集线器105的消息)和出站消息(即,从通信集线器105到存储器集线器的消息)。在一个实施例中,响应消息可以是用于表明已经完成任务(例如,写入请求或指令集的执行,或类似的请求)的中断或类似的信号。类似地,存储器集线器或存储器子系统130可以使用中断或类似的信号,来表明存储器地址被访问以便使安全应用和调试应用便于进行。由存储器子系统130产生的中断可以由通信集线器105或计算机系统141、其它存储器集线器或类似系统处理。
在一个实施例中,存储器子系统130支持动态地检测和禁用失灵的存储器集线器或存储装置。这改善了系统100的可靠性和正常运行时间。当检测到错误或组件无响应时,失灵集线器和存储单元或无响应部件的邻居可以产生错误消息。在一个实施例中,所述错误信息可以被发送到通信集线器105。然后通信集线器105可以把重新配置消息发送到其余的存储器集线器以便重新配置消息的网络路由,直到更换了所述失灵的部件。通信集线器105还可以重新初始化系统100以便影响重新配置。
在一个实施例中,通信集线器105或存储器集线器可以支持广播消息。广播把消息发送到除向该通信集线器105或存储器集线器发送所述消息的邻居之外的每个邻居集线器。在初始化或重新初始化存储器子系统130期间使用广播。还可以在分布式重新配置期间使用广播来向所有集线器通知配置的变化。在另一实施例中,可以使用广播来发送包含指令的消息,所述指令要由每个存储器集线器或在类似环境中来执行。例如,广播消息可以用来搜索所有存储装置或一组存储装置以寻找数据项或参数。当存储器集线器在其相关联的存储装置中定位请求的项时,它可以对广播消息的始发者产生响应消息。这使得能够并行搜索存储器子系统130中的存储装置。
系统100是在允许无限扩展存储器的同时而保持信号完整性和等待时间管理的分布式系统。因为存储器子系统130中的操作通过在独立通信链路上的集线器之间的点对点发消息来运行,所以保持了信号的完整性。消息的点对点通信允许错误检查并且在点之间重发已知的消息,而不是借助中继器结构经由长管道路径来推进(boosting)信号。系统100还允许由多处理器系统共享大存储空间。系统100还适用于诸如台式计算机之类的独立机器。系统100通过启用冗余的路径和冗余的数据存储而改进了可靠性和准确性。系统100通过支持在共享系统100的计算机、应用或操作系统之间分区存储器来促进安全功能。可以指定分区以供单个计算机、用户或应用或其组成的组使用。还可以加密存储器的分区或一部分的分区以防止未授权使用。类似地,系统100支持在存储器集线器之间以及与根集线器之间的加密通信。在一个实施例中,系统100支持对消息的跟踪以方便调试和供安全应用使用。在一个实施例中,每个集线器和与存储器集线器相关联的地址空间可以具有由存储器集线器所实施的安全访问约束。安全约束可以只允许对专用请求用户、应用或系统的访问。在另一实施例中,存储器集线器可以根据安全密钥、代码或类似的机制来限制访问。可以跟踪未经授权的访问并且可以产生中断以便向系统或通信集线器105警告任何安全违例或试图安全违例。
在上述说明中,已经参考具体实施例描述了本发明。然而,在不脱离由所附权利要求阐述的本发明实施例的宽广精神和范围的情况下,显然能够对其做出各种修改和变化。因此,应将说明书和附图理解为只是举例说明性而不是限制性的。
Claims (27)
1.一种设备,包括:
第一存储装置,用于存储数据;
与至少一个存储装置耦合的第一集线器装置,所述集线器装置用于处理对第一存储装置的存储器访问请求;
第二集线器装置,借助点对点链路与第一集线器装置耦合,并且与第二存储器装置耦合,用于处理对第二存储器装置的存储器访问请求;和
第二存储器装置,用于存储与第二集线器装置耦合的数据。
2.如权利要求1所述的设备,还包括:
与第三存储装置和第一集线器装置耦合的第三集线器装置,所述集线器装置用于处理对第三存储装置的存储器访问请求;和
第三存储装置,用于存储与第三集线器装置耦合的数据。
3.如权利要求1所述的设备,其中第一集线器装置用于分析存储器访问请求并且确定输出端口以及向输出端口转送所述存储器访问请求。
4.如权利要求1所述的设备,其中第一集线器装置处理在消息中所接收的指令集。
5.一种系统,包括:
依照树状拓扑配置的一组集线器装置;和
一组存储装置,每个存储装置与单个集线器装置耦合。
6.如权利要求5所述的系统,其中向每个集线器装置分配一个地址空间。
7.如权利要求6所述的系统,其中每个集线器装置分析存储器访问请求以便确定它是否适用于集线器装置所分配的地址空间。
8.一种系统,包括:
第一中央处理器;
第二中央处理器;
第一通信集线器,用于管理在第一中央处理器、第二中央处理器和第一存储器子系统之间的通信;
与第一通信集线器耦合的第一存储器子系统,所述第一存储器子系统包括依照树状拓扑布置的第一组集线器装置;和
一组存储装置,每个存储装置与一个集线器装置耦合。
9.如权利要求8所述的系统,还包括:
第二中央处理器;
第二通信集线器,用于管理在第二中央处理器和第二存储器子系统之间的通信;
与第二通信集线器耦合的第二存储器子系统,所述第二存储器子系统包括第二组集线器装置;和
用于把第二存储器子系统连接到第一存储器子系统的链路。
10.如权利要求8所述的系统,其中所述存储装置组包括64千兆字节以上的存储空间,并且
其中所述存储装置组是一组随机存取存储器模块。
11.如权利要求8所述的系统,其中第一存储器子系统在集线器装置之间包括冗余的链路。
12.如权利要求8所述的系统,其中集线器装置包括与输入输出装置耦合的输入输出端口。
13.一种方法,包括:
向第一存储器集线器装置发送初始化消息;
发送响应消息,所述响应消息包括所述第一存储器集线器装置的配置数据;并且
向第二存储器集线器装置转送所述初始化消息。
14.如权利要求13所述的方法,还包括:
由第一存储器集线器装置分析来自第二存储器集线器装置的响应消息。
15.如权利要求13所述的方法,其中响应消息包括关于与第二存储器集线器装置耦合的存储装置的数据。
16.如权利要求14所述的方法,还包括:
把在响应消息中接收的与第二集线器装置相关的数据存储在第一存储器集线器装置中。
17.如权利要求13所述的方法,还包括:
把来自第二集线器装置的响应消息转送到初始化消息始发装置。
18.一种方法,包括:
由第一存储器集线器装置分析资源请求消息;
确定第一存储器集线器装置是否可以服务所述资源请求;并且
如果第一存储器集线器装置不能服务所述请求,那么向第二存储器集线器装置转送所述资源请求消息。
19.如权利要求18所述的方法,还包括:
由第一存储器集线器装置服务所述资源请求消息。
20.如权利要求18所述的方法,还包括:向资源请求消息的始发者发送响应消息。
21.如权利要求20所述的方法,其中响应消息包含所请求的数据。
22.一种设备,包括:
用于把数据保存在数据存储器网络中的装置;
用于获取在数据存储器网络中数据的装置;和
用于确定数据在数据存储器网络中位置的装置。
23.如权利要求22所述的设备,其中所述数据存储器网络具有树状拓扑。
24.如权利要求22所述的设备,还包括:
用于配置所述数据存储器网络的装置。
25.一种机器可读介质,其中存储有当执行时使机器执行以下一组操作的指令,所述操作包括:
由第一存储器集线器装置分析资源请求消息;
确定第一存储器集线器装置是否可以服务所述资源请求;并且
如果第一存储器集线器装置不能服务所述请求,那么向第二存储器集线器装置转送所述资源请求消息。
26.如权利要求25所述的机器可读介质,包括进一步的指令,当所述指令被执行时使机器执行的一组操作还包括:
由第一存储器集线器装置执行一组指令。
27.如权利要求25所述的机器可读介质,包括进一步的指令,当所述指令被执行时使机器执行的一组操作还包括:
把在与第一存储器集线器装置耦合的第一存储装置中存储的数据移动到与第二存储器集线器装置耦合的第二存储器装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/449,216 | 2003-05-30 | ||
US10/449,216 US20040243769A1 (en) | 2003-05-30 | 2003-05-30 | Tree based memory structure |
PCT/US2004/015986 WO2004109500A2 (en) | 2003-05-30 | 2004-05-20 | Tree based memory structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1799034A true CN1799034A (zh) | 2006-07-05 |
CN1799034B CN1799034B (zh) | 2010-05-26 |
Family
ID=33451712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800151025A Expired - Fee Related CN1799034B (zh) | 2003-05-30 | 2004-05-20 | 利用基于树的结构的设备、系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040243769A1 (zh) |
EP (1) | EP1629390A2 (zh) |
JP (1) | JP4290730B2 (zh) |
KR (1) | KR20060015324A (zh) |
CN (1) | CN1799034B (zh) |
TW (1) | TWI237171B (zh) |
WO (1) | WO2004109500A2 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836252B2 (en) * | 2002-08-29 | 2010-11-16 | Micron Technology, Inc. | System and method for optimizing interconnections of memory devices in a multichip module |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
US7194593B2 (en) | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7366864B2 (en) | 2004-03-08 | 2008-04-29 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
US7392331B2 (en) | 2004-08-31 | 2008-06-24 | Micron Technology, Inc. | System and method for transmitting data packets in a computer system having a memory hub architecture |
US7350048B1 (en) * | 2004-10-28 | 2008-03-25 | Sun Microsystems, Inc. | Memory system topology |
US8452929B2 (en) | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
EP2383661A1 (en) * | 2005-04-21 | 2011-11-02 | Violin Memory, Inc. | Interconnection system |
US9582449B2 (en) | 2005-04-21 | 2017-02-28 | Violin Memory, Inc. | Interconnection system |
US8112655B2 (en) | 2005-04-21 | 2012-02-07 | Violin Memory, Inc. | Mesosynchronous data bus apparatus and method of data transmission |
US9286198B2 (en) | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
DE102006045113B3 (de) * | 2006-09-25 | 2008-04-03 | Qimonda Ag | Speichermodul-System, Speichermodul, Buffer-Bauelement, Speichermodul-Platine, und Verfahren zum Betreiben eines Speichermoduls |
US8028186B2 (en) | 2006-10-23 | 2011-09-27 | Violin Memory, Inc. | Skew management in an interconnection system |
US7996641B2 (en) * | 2007-06-27 | 2011-08-09 | International Business Machines Corporation | Structure for hub for supporting high capacity memory subsystem |
US8037270B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for memory chip for high capacity memory subsystem supporting replication of command data |
US8037272B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for memory chip for high capacity memory subsystem supporting multiple speed bus |
US7809913B2 (en) * | 2007-06-27 | 2010-10-05 | International Business Machines Corporation | Memory chip for high capacity memory subsystem supporting multiple speed bus |
US7921264B2 (en) * | 2007-06-27 | 2011-04-05 | International Business Machines Corporation | Dual-mode memory chip for high capacity memory subsystem |
US7822936B2 (en) * | 2007-06-27 | 2010-10-26 | International Business Machines Corporation | Memory chip for high capacity memory subsystem supporting replication of command data |
US8037258B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for dual-mode memory chip for high capacity memory subsystem |
US7818512B2 (en) * | 2007-06-27 | 2010-10-19 | International Business Machines Corporation | High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules |
US8019949B2 (en) * | 2007-06-27 | 2011-09-13 | International Business Machines Corporation | High capacity memory subsystem architecture storing interleaved data for reduced bus speed |
US7921271B2 (en) * | 2007-06-27 | 2011-04-05 | International Business Machines Corporation | Hub for supporting high capacity memory subsystem |
US20090006774A1 (en) * | 2007-06-27 | 2009-01-01 | Gerald Keith Bartley | High Capacity Memory Subsystem Architecture Employing Multiple-Speed Bus |
US8381220B2 (en) * | 2007-10-31 | 2013-02-19 | International Business Machines Corporation | Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization |
US8601181B2 (en) * | 2007-11-26 | 2013-12-03 | Spansion Llc | System and method for read data buffering wherein an arbitration policy determines whether internal or external buffers are given preference |
US9575889B2 (en) | 2008-07-03 | 2017-02-21 | Hewlett Packard Enterprise Development Lp | Memory server |
US20100241783A1 (en) * | 2009-03-23 | 2010-09-23 | Honeywell International Inc. | Memory node for use within a data storage system having a plurality of interconnected memory nodes |
US9728526B2 (en) | 2013-05-29 | 2017-08-08 | Sandisk Technologies Llc | Packaging of high performance system topology for NAND memory systems |
US9324389B2 (en) | 2013-05-29 | 2016-04-26 | Sandisk Technologies Inc. | High performance system topology for NAND memory systems |
CN105122227B (zh) * | 2013-05-29 | 2018-10-23 | 桑迪士克科技有限责任公司 | 用于nand存储器系统的高性能系统拓补 |
US9239768B2 (en) * | 2013-08-21 | 2016-01-19 | Advantest Corporation | Distributed pin map memory |
US9703702B2 (en) | 2013-12-23 | 2017-07-11 | Sandisk Technologies Llc | Addressing auto address assignment and auto-routing in NAND memory network |
CN107636629B (zh) * | 2015-07-31 | 2020-07-10 | 慧与发展有限责任合伙企业 | 存储器系统、用于创建和更新存储器系统的逻辑树的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0596651A1 (en) * | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network for data communication with isochronous capability |
US5392285A (en) * | 1993-03-31 | 1995-02-21 | Intel Corporation | Cascading twisted pair ethernet hubs by designating one hub as a master and designating all other hubs as slaves |
US5675735A (en) * | 1994-06-29 | 1997-10-07 | Digital Equipment Corporation | Method and apparatus for interconnecting network devices in a networking hub |
US6175571B1 (en) * | 1994-07-22 | 2001-01-16 | Network Peripherals, Inc. | Distributed memory switching hub |
US5812792A (en) * | 1994-07-22 | 1998-09-22 | Network Peripherals, Inc. | Use of video DRAM for memory storage in a local area network port of a switching hub |
US6172983B1 (en) * | 1997-03-13 | 2001-01-09 | Siemens Information And Communication Networks, Inc. | Hub dominated method and system for managing network collisions |
US6587912B2 (en) * | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
US6385695B1 (en) * | 1999-11-09 | 2002-05-07 | International Business Machines Corporation | Method and system for maintaining allocation information on data castout from an upper level cache |
US6785835B2 (en) * | 2000-01-25 | 2004-08-31 | Hewlett-Packard Development Company, L.P. | Raid memory |
US6751684B2 (en) * | 2000-12-21 | 2004-06-15 | Jonathan M. Owen | System and method of allocating bandwidth to a plurality of devices interconnected by a plurality of point-to-point communication links |
US20020161453A1 (en) * | 2001-04-25 | 2002-10-31 | Peltier Michael G. | Collective memory network for parallel processing and method therefor |
US6934300B2 (en) * | 2001-05-04 | 2005-08-23 | M&S Systems, L.P. | Initialization method for an entertainment and communications network |
US6615322B2 (en) * | 2001-06-21 | 2003-09-02 | International Business Machines Corporation | Two-stage request protocol for accessing remote memory data in a NUMA data processing system |
US7133972B2 (en) * | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US6754117B2 (en) * | 2002-08-16 | 2004-06-22 | Micron Technology, Inc. | System and method for self-testing and repair of memory modules |
US6820181B2 (en) * | 2002-08-29 | 2004-11-16 | Micron Technology, Inc. | Method and system for controlling memory accesses to memory modules having a memory hub architecture |
US7146480B2 (en) * | 2003-01-23 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Configurable memory system |
US20040225725A1 (en) * | 2003-02-19 | 2004-11-11 | Nec Corporation | Network system, learning bridge node, learning method and its program |
-
2003
- 2003-05-30 US US10/449,216 patent/US20040243769A1/en not_active Abandoned
-
2004
- 2004-05-20 WO PCT/US2004/015986 patent/WO2004109500A2/en active Application Filing
- 2004-05-20 EP EP04785699A patent/EP1629390A2/en not_active Withdrawn
- 2004-05-20 TW TW093114309A patent/TWI237171B/zh not_active IP Right Cessation
- 2004-05-20 JP JP2006514914A patent/JP4290730B2/ja not_active Expired - Fee Related
- 2004-05-20 KR KR1020057022895A patent/KR20060015324A/ko not_active Application Discontinuation
- 2004-05-20 CN CN2004800151025A patent/CN1799034B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1629390A2 (en) | 2006-03-01 |
JP4290730B2 (ja) | 2009-07-08 |
JP2006526226A (ja) | 2006-11-16 |
WO2004109500A2 (en) | 2004-12-16 |
KR20060015324A (ko) | 2006-02-16 |
TW200502731A (en) | 2005-01-16 |
WO2004109500A3 (en) | 2005-07-14 |
TWI237171B (en) | 2005-08-01 |
CN1799034B (zh) | 2010-05-26 |
US20040243769A1 (en) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1799034B (zh) | 利用基于树的结构的设备、系统和方法 | |
CN100378679C (zh) | 用于存储器访问请求的重定向的方法和系统 | |
US6934878B2 (en) | Failure detection and failure handling in cluster controller networks | |
CN102918509B (zh) | 数据读写方法、装置和存储系统 | |
US6427198B1 (en) | Method, system, and program for determining system configuration | |
JP6652646B2 (ja) | 選択的リソースマイグレーションを用いるネットワーク接続型メモリ | |
US10534541B2 (en) | Asynchronous discovery of initiators and targets in a storage fabric | |
CN104603739A (zh) | 对并行存储的块级访问 | |
US20070260825A1 (en) | Providing an address format compatible with different addressing formats used for addressing different sized address spaces | |
CN103534688A (zh) | 数据恢复方法、存储设备和存储系统 | |
KR20110028211A (ko) | 자율 메모리 아키텍처 | |
US20210165767A1 (en) | Barriers for Dependent Operations among Sharded Data Stores | |
CN110119304A (zh) | 一种中断处理方法、装置及服务器 | |
CN112328700A (zh) | 一种分布式数据库 | |
CN106354428B (zh) | 一种多物理层分区计算机体系结构的存储共享系统 | |
US6738796B1 (en) | Optimization of memory requirements for multi-threaded operating systems | |
CN106462550B (zh) | 用于共享嵌入式硬件资源的方法、设备和装置 | |
US7484038B1 (en) | Method and apparatus to manage storage devices | |
CN114785662B (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 | |
US11036399B2 (en) | Memory system and operating method of the memory system | |
DE112021006922T5 (de) | Mehrstufige persistente Speicherzuweisung | |
CN104572754A (zh) | 一种数据库系统、数据库系统访问方法及装置 | |
CN100426297C (zh) | 用于管理存储区域网络文件系统的方法及计算机系统 | |
CN117955878A (zh) | 网络质量检测方法、装置、电子设备及存储介质 | |
CN117724994A (zh) | 数据操作方法、服务器和cxl控制器 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100526 Termination date: 20130520 |