CN101093717B - 具有多个次级端口的输入/输出代理 - Google Patents
具有多个次级端口的输入/输出代理 Download PDFInfo
- Publication number
- CN101093717B CN101093717B CN2007101016558A CN200710101655A CN101093717B CN 101093717 B CN101093717 B CN 101093717B CN 2007101016558 A CN2007101016558 A CN 2007101016558A CN 200710101655 A CN200710101655 A CN 200710101655A CN 101093717 B CN101093717 B CN 101093717B
- Authority
- CN
- China
- Prior art keywords
- amb
- secondary ports
- serial
- port
- agency
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/4256—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
-
- 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/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Dram (AREA)
- Electronic Switches (AREA)
Abstract
本发明的实施例一般涉及用于具有多个次级端口的输入/输出代理的系统、方法和装置。在一些实施例中,该输入/输出代理包括一个主端口,该主端口通过串行点对点互连与上游代理通信数据。该输入/输出代理还可包括M个次级端口,这些次级端口与对应的M个下游代理通信数据,其中下游数据从主端口转发给这M个次级端口中的至少一个端口。
Description
技术领域
本发明的实施例一般涉及集成电路领域,更具体地说,涉及用于具有多个次级端口的输入/输出代理的系统、方法和装置。
背景技术
传统的存储器系统通常使用诸如传统的双倍数据速率(DDR)存储器总线的多点式存储器拓扑结构。在多点式存储器拓扑结构中,存储器子系统中的每一个组件与同样的存储器总线耦合。通常,多点式存储器总线的信号发送速度受限于总线(如DDR总线)的信号完整性限制。
可以使用点对点的存储器拓扑结构来提供相对较高的信号发送速度。点对点的存储器技术的一个实例是全缓冲双列直插存储器模块(FBD)技术。FBD技术使用缓冲器来将商业型动态随机存取存储器设备(DRAM)与串行点对点存储器通道隔开。点对点存储器通道可包括多个由该点对点存储器通道链接到一起的DIMM菊花链。
FBD存储器通道的访问等待时间受限于与距离存储器控制器最远的DIMM相关的等待时间。因此,当容量增加时(例如,当将DIMM添加到存储器系统中时),访问等待时间也不断增加。容量和访问等待时间之间的这种比例关系迫使系统设计人员在具有大容量或低访问等待时间之间选择。
发明内容
根据本发明的一方面,本发明涉及一种串行输入/输出代理,包括:主端口,通过串行点对点互连与上游代理通信数据;以及M个次级端口,与对应的M个下游代理通信数据,其中下游数据从所述主端口转发到所述M个次级端口中的至少一个端口。
根据本发明的另一方面,本发明涉及一种方法,包括:在串行输入/输出代理的主端口处接收数据,所述主端口与串行点对点互连耦合;以及将所述数据转发到所述串行输入/输出代理的M个次级端口中的至少一个端口,所述M个次级端口中的每个端口与下游代理通信数据。
根据本发明的又一方面,本发明涉及一种系统,包括:请求代理,与串行输入/输出代理通信数据;以及第一串行输入/输出代理,经由点对点互连与所述请求代理耦合,所述第一串行输入/输出代理包括:主端口,通过所述点对点互连与所述请求代理通信数据;以及M个次级端口,与对应的M个下游代理通信数据,其中下游数据从所述主端口转发到所述M个次级端口中的至少一个端口。
附图说明
在附图的图式中示例性而不是限制性地说明本发明的实施例,附图中,同样的附图标记指示相似的元件。
图1是示出根据本发明的一个实施例实现的串行输入/输出代理的选定方面的框图。
图2是示出根据本发明的一个实施例实现的全缓冲双列直插存储器模块(FBD)系统的选定方面的框图。
图3是示出根据本发明的一个实施例实现的具有多个串行输入/输出代理的向后兼容的系统的选定方面的框图。
图4是示出根据本发明的一个实施例的用于提高存储器容量的具成本效益的架构的选定方面的框图。
图5是示出根据本发明的一个实施例实现的多处理器系统的选定方面的框图。
图6是示出根据本发明的一个实施例的网状的串行输入/输出代理的选定方面的框图。
图7是示出根据本发明的一个实施例的多路复用和多路分离的读写的选定方面的框图。
图8是示出根据本发明的一个实施例的电子系统的选定方面的框图。
图9是示出根据本发明的一个备选实施例的电子系统的选定方面的框图。
具体实施方式
本发明的实施例一般涉及用于具有多个次级端口的输入/输出代理的系统、方法和装置。“串行输入/输出(I/O)代理”是指这样一种设备,该设备从串行点对点互连中接收数据,并且如果该数据寻址到另一代理,则该设备能够将该数据转发给下游代理。在FBD存储器系统中使用的高级存储缓冲器(AMB)是串行I/O代理的一个实例。在一些实施例中,串行I/O代理包括一个主端口和两个或两个以上次级端口。主端口与上游代理(如存储器控制器或上游DIMM)通信(如接收和/或传送)数据。每个次级端口与下游代理(如下游DIMM)通信数据。如下面进一步描述的,具有多个次级端口的串行I/O代理可提供多个优点,如减少的访问等待时间和/或减少的功率消耗。
图1是示出根据本发明的一个实施例实现的串行输入/输出(I/O)代理的选定方面的框图。术语“代理”广泛地指集成电路或集成电路的一部分。串行I/O代理是指这样一种代理,该代理通过串行点对点互连与其它代理进行通信,并且将数据从上游代理转发到下游代理。串行I/O代理100包括一个主端口102和N个次级端口106。主端口102与上游代理通信数据。术语“上游”是指请求代理(如处理器、存储器控制器等)所处的方向。上游代理可与串行I/O代理100处于同一IC上,或是位于分离的IC上。串行I/O代理100还包括用于在主端口102和N个次级端口106之间转发数据的转发逻辑112。
主端口102通过串行点对点互连104与上游代理交换数据。串行点对点互连104可包括多条位线,通过这些位线串行通信(如传送和/或接收)数据(如存储器数据、命令、地址等)。“点对点互连”是指由代理间的直接链路组成的互连。在一些实施例中,串行点对点互连104是FBD存储器通道。在备选实施例中,串行点对点互连基于不同技术,如外设部件互连(PCI)Express、廉价冗余磁盘阵列(RAID)、串行高级技术附件(SATA)及类似技术。
次级端口106与对应数量的下游代理通信数据。术语“下游”是指远离请求代理的方向(例如往南,链中的下一个存储器设备)。每个次级端口106可以通过串行点对点互连110与下游代理进行通信。在一些实施例中,这些串行点对点互连是FBD存储器通道中的链路。如下面进一步描述的,与传统系统相比,具有包括多个次级端口106的串行I/O代理的系统可展示出更低的等待时间和/或更少的功率消耗。
图2是示出根据本发明的一个实施例实现的基于FBD技术的存储器系统的选定方面的框图。该FBD-N系统200包括高级存储缓冲器(AMB)202(如串行I/O代理)和DRAM设备212。术语FBD-N是指其中至少一个I/O代理(如AMB)具有多个次级端口的FBD系统。为了便于描述,所示实施例示出8个DRAM设备212。应该意识到,在备选实施例中,可以有更多或更少的DRAM设备212。多点总线210将DRAM212与AMB202耦合在一起。在一些实施例中,多点总线210至少部分基于双倍数据速率的并行低速(DDR)接口。
AMB202包括一个主端口204、两个次级端口206和一个DDR端口208。主端口204通过FBD互连214与上游代理通信数据(如读/写数据、命令、地址)。上游代理可以是例如存储器控制器或上游DIMM。存储器控制器可以与处理器集成在同一管芯上,或是位于分离的集成电路上。如果在主端口204上接收的数据寻址到下游DIMM,则主端口204将数据转发给次级端口206中的(至少)一个端口。
次级端口206通过FBD互连216与一个或多个下游DIMM通信数据。更详细地说,次级端口206与下游DIMM的AMB上的对应主端口通信数据。为了举例说明的目的,图2示出两个次级端口206。然而应该意识到,本发明的实施例可以具有两个以上次级端口206。通常,次级端口206的数量会受到诸如成本、容量和等待时间的因素的影响。下文参照图3和4进一步论述由多个次级端口提供的容量和等待时间的优点。
图3是示出根据本发明的一个实施例实现的具有多个串行输入/输出代理的系统的选定方面的框图。系统300包括请求器302、多个具有多个次级端口的串行I/O代理304-316、和两个传统的串行I/O代理322-324。请求器302可以是请求访问系统300的组件的任一代理。例如,请求器302可以是处理器、存储器控制器(如用于诸如存储器擦除的“内部”操作)、I/O设备及类似设备。
在所示实施例中,串行I/O代理304-316中的一些代理包括多个次级端口340-366。这使系统300能具有分级树状拓扑结构,而不是在传统的串行I/O系统中使用的菊花链拓扑结构。分级树状拓扑结构提供多个优于传统菊花链拓扑结构的好处。这些好处包括等待时间的减少和平均无故障时间(MTBF)的增加。
在传统的串行I/O系统中,等待时间取决于到最后一个串行I/O代理(如到最后一个DIMM)的往返访问时间。传统的串行I/O系统中的所有其它串行I/O代理调整它们的等待时间以与最后一个串行I/O代理的等待时间匹配,使得这些等待时间对于控制器(如存储器控制器)而言显得完全同步。因此,在具有7个串行I/O代理的传统系统中,系统的等待时间将取决于到第7个代理的往返访问时间。
与传统的串行I/O系统相比,所示串行I/O系统300展示出等待时间上的改进。例如,考虑与访问所示系统300的第7个代理316中的存储单元380有关的等待时间。发送到第7个代理316的读/写消息只需要通过3个代理(如304、308和316)。通常,与所示系统300的分级树状拓扑结构有关的等待时间基本上(如,+/-10%)与logM(N)成比例,其中M是每个代理的次级端口的数量,而N是代理的数量。因此,通常,系统300的等待时间与每个代理的次级端口的数量成反比。
图3还示出,串行I/O系统300可同时包括具有多个次级端口的串行I/O代理和传统的串行I/O代理(如具有单个次级端口)。例如,所示系统300包括7个具有多个次级端口的串行I/O代理(304-316)和两个传统的串行I/O代理(322-324)。传统的串行I/O代理322-324与串行I/O代理310的次级端口352耦合(在菊花链中)。因为所示系统300使用两种串行I/O代理,所以它可提供性能和成本间的灵活的平衡性。也就是说,由代理304-316提供的性能优势可以与如代理322-324的较陈旧的技术的可能的价格优势保持平衡。
图4是示出本发明的一个实施例的选定方面的框图,在该实施例中,系统板包括支持高速I/O接口的第一部分和支持较低速度(且较便宜)的存储器I/O接口的第二部分。所示系统400包括第一部分402和第二部分404。第一部分402包括请求器406和具有多个次级端口的串行I/O代理408。在一些实施例中,链路401、403和405是高速串行I/O链路(如FBD链路)。在这样的实施例中,第一部分402可由低损耗电介质材料构造而成,以减少信号衰减。此外,第一部分402可严格遵守信号通路约束以提供适当级别的信号完整性。
在一些实施例中,第二部分404支持诸如DDR存储器I/O接口的速度较低的存储器I/O接口。这允许第二部分404由较便宜的材料(如FR-4)构造而成并适应较密集的信号通路。在所示实施例中,第二部分404包括分别耦合到DDR总线428和430的DDR DIMM432-438和440-446。在一些实施例中,第一部分402实现在第一电路板(如母板)上,而第二部分404实现在第二电路板(如转接卡)上。在备选实施例中,第一部分402和第二部分404实现在同一电路板上。
如图4中所示,两个串行I/O代理416、418将第一部分402桥接到第二部分404上。例如,串行I/O代理416、418可将第一部分402的高速I/O信号变换成第二部分404的速度较低的DDR信号。在所示实施例中,串行I/O代理416、418包括主端口420、422和DDR端口424、426。串行I/O代理416、418可以是传统的串行I/O代理,或者它们可以具有多个次级端口。在一些实施例中,串行I/O代理416、418是FBD高级存储缓冲器(AMB)。
图5是示出根据本发明的一个实施例实现的多处理器系统的选定方面的框图。所示系统500包括通过通信通道592耦合在一起的处理器502和504。处理器502、504可包括任意数量的处理核,或者可包括任意数量的单独的处理器。通信通道592可以是前端总线、后端总线、专用的通信通道、高速缓存一致性互连或适于在处理器502、504间交换信息的任意其它通信通道。
所示系统500还包括多个高级存储缓冲器(或其它串行I/O代理)506-532,其中每一个都具有一个主端口534-560和多个次级端口562-589。高级存储缓冲器506-532被组织成一个存储器网,其中可以通过多条路径访问存储单元。高级存储缓冲器506-532使所示系统500能够例如支持深层读/写和/或提供增强级别的冗余度。
术语“深层读/写”是指对位于存储器层次中相对较深位置处(如更接近另一处理器)的存储单元进行读/写。在一些实施例中,任一处理器均可确定存储单元是否更接近另一处理器(如根据访问请求将通过的代理的数量)。如果是,则启动处理器可以将访问请求传送给另一处理器。然后,该另一处理器可完成该访问请求,并且如果需要,将结果返回给启动处理器。这使所示系统500能减少访问请求通过的代理(如AMB)的数量,并且因此可以减少访问请求的等待时间。
通过通信通道592在处理器间传送访问请求的能力提高了所示系统500的冗余度。例如,考虑链路509失效的情况。如果链路509失效,则处理器502不能直接到达存储单元511。然而,在一些实施例中,处理器502可以通过通信通道592将对存储单元511的访问请求传送到处理器504。然后,处理器504可完成该访问请求,并且如果有结果,便将结果返回给处理器502。应该认识到,通过经由通信通道592传送访问请求,可以克服很大一批电气故障,从而避免故障发生。
图6是示出根据本发明的一个实施例的网状的串行输入/输出代理的选定方面的框图。所示系统600包括请求器602和被组织成分级树状拓扑结构的多个串行I/O代理604-616。每个串行I/O代理604-616包括一个主端口618-630和多个次级端口632-658。
在一些实施例中,串行I/O代理604-616中的至少一些代理包括一个或多个第三级端口660-670。术语“第三级端口”是指与位于树中同一层级的代理的另一个第三级端口通信的端口。例如,串行I/O代理606和608位于同一层级,并且它们各自包括第三级端口660、662以相互通信。相似地,串行I/O代理610和612位于同一层级,并且它们各自包括第三级端口664、666以相互通信。第三级端口可以用与主端口和次级端口相同的高速串行I/O接口来实现,或者它们可以用速度较低和/或更窄的接口来实现。
第三级端口的目的是使位于同一层级的代理能相互通信。在一些实施例中,该能力可提供多个优点。例如,在同一层级的代理间的通信(或“横向流”通信)可以使这些代理能建立路由选择表以确定与将消息传送到特定位置(如存储单元)有关的“成本”。横向流通信还提高了系统600的冗余度,因为它提供到特定位置(如存储单元)的多条路径。
在一些实施例中,横向流通信提高了系统600的可靠性、可用性和可服务性(RAS)。例如,考虑这样一个实施例,其中系统600是存储器系统,而串行I/O代理604-616是AMB。在这样一个实施例中,横向流通信可用于支持系统600的各部分间的数据镜像,而无需通过处理器(如请求器602)传送数据。例如,第三级端口660、662可用于在包括AMB 606-612的第一分支和包括AMB 608-616的第二分支之间传送数据和其它消息。存储在第二分支中的数据可用于镜像第一分支,并且可以不经过处理器而通过AMB传送数据。应该意识到,在一些实施例中,横向流通信可用于支持其它的RAS机制。
在上面描述的系统中,请求器可以请求对系统中的特定位置(如特定存储单元)进行访问。在备选实施例中,当发送到/读取自串行I/O代理的数据传播通过串行I/O代理的分级树时,其被逐渐分离(或组合)。因为必要时,分级树会分离并组合数据,所以将这些读/写称为多路复用和多路分离的读写。
图7是示出根据本发明的一个实施例的多路复用和多路分离的读写的选定方面的框图。所示系统700包括三层780-784串行I/O代理704-716。每个串行I/O代理704-716包括一个主端口718-730和两个次级端口732-758。每个串行I/O代理704-716可在它的主端口718-730处接收数据,将该数据分为两部分(多路分离),并将这两部分的数据同时从它的次级端口732-758转发。对于到达串行I/O代理的次级端口的数据,可颠倒该过程。也就是说,数据可同时到达次级端口,相加在一起(或多路复用),然后从主端口转发。在备选实施例中,串行I/O代理704-716可包括两个以上次级端口。
在所示实施例中,次级端口732-758的速度是主端口718-730的速度的二分之一。例如,串行I/O代理704包括以8吉比特/秒(Gbps)运行的主端口718和两个均以4Gbps运行的次级端口732、734。相似地,在树的下一层(如层782),主端口720、722以4Gbps运行,而次级端口736-742以2Gbps运行。如图7所示的频率缩放只是根据本发明的一个实施例的频率缩放的一个实例。更普遍地,如果每个串行I/O代理具有M个次级端口,则次级端口的速度可以是主端口速度的1/M。然而,由于数据并行读/写,所以通道的净有效带宽保持不变。
在一些实施例中,当数据从树的底部向其分支移动时(如在写操作过程中),数据被逐渐多路分离。相似地,当数据从树的分支向其根部移动时(如在读操作过程中),数据被逐渐多路复用。例如,沿写(或下游)方向,层780将数据多路分离成两个元素,层782进一步将这两个元素多路分离成四个元素,而层784将这四个元素多路分离成八个元素。相似地,沿读(或上游)方向,层784将八个数据元素多路复用成四个元素,层782将这四个元素多路复用成两个元素,而层780将这两个元素多路复用成一个数据元素。在备选实施例中,每一层可多路复用数据/将数据多路分离成更多个元素。
在一些实施例中,诸如操作系统的软件(未示出)管理被系统700多路复用和多路分离的数据的存储器地址分配。此外,每个代理704-716还可包括用于支持该代理的多路复用/多路分离能力的链路/协议层逻辑760-772。在一些实施例中,多路复用/多路分离能力对请求器702是透明的。
所示系统700的多路复用和多路分离能力提供多个优点。因为链接速度沿下游(或往南)方向逐渐减小,所以减少了系统700消耗的总功率。所示系统700还支持代理的长使用寿命,这是因为可以使用较快的(且估计可能较新的)代理来组装以较高速度运行的系统部分。相似地,可以使用较慢的(且估计可能较旧的)代理来组装以较低速度运行的系统部分。此外,系统可以在减少的成本下实现,这是因为可以使用较慢且估计可能较便宜的代理来组装系统的多个部分,而不会减少系统的净有效带宽。
图8是示出根据本发明的一个实施例的电子系统的选定方面的框图。电子系统800包括处理器810、存储器控制器820、存储器830、输入/输出(I/O)控制器840、射频(RF)电路850和天线860。在操作中,系统800使用天线860发送和接收信号,并且通过图8中所示的各种元件处理这些信号。天线860可以是定向天线或全向天线。本文所用的术语全向天线是指在至少一个平面中具有基本一致的方向图的任意天线。例如,在一些实施例中,天线860可以是诸如偶极天线或四分之一波长天线的全向天线。又如,在一些实施例中,天线860可以是诸如抛物面碟形天线、贴片天线或八木天线的定向天线。在一些实施例中,天线860可包括多个物理天线。
射频电路850与天线860和I/O控制器840通信。在一些实施例中,RF电路850包括对应于通信协议的物理接口(PHY)。例如,RF电路850可包括调制器、解调器、混频器、频率合成器、低噪音放大器、功率放大器及类似装置。在一些实施例中,RF电路850可包括外差接收器,并且在其它实施例中,RF电路850可包括直接变换接收器。例如,在具有多个天线860的实施例中,每个天线可耦合到对应的接收器。在操作中,RF电路850从天线860接收通信信号,并将模拟或数字信号提供给I/O控制器840。此外,I/O控制器840可将信号提供给RF电路850,RF电路850对这些信号进行操作,然后将它们传输给天线860。
处理器810可以是任意类型的处理设备。例如,处理器810可以是微处理器、微控制器或类似设备。此外,处理器810可包括任意数量的处理核,或可包括任意数量的单独的处理器。
存储器控制器820提供处理器810与图8中所示的其它元件之间的通信路径。在一些实施例中,存储器控制器820是集线器设备的一部分,该集线器设备还提供其它功能。如图8所示,存储器控制器820耦合到处理器810、I/O控制器840和存储器830。
存储器830可包括多个串行I/O代理(如FBD),每个代理与多个存储器设备相关。如上面参照图1-7所描述的,串行I/O代理可包括多个次级端口。这些存储器设备可基于任意类型的存储器技术。例如,存储器830可以是随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、诸如FLASH存储器的非易失性存储器、或任意其它类型的存储器。
存储器830可以表示单个存储器设备或位于一个或多个模块上的多个存储器设备。存储器控制器820通过互连822将数据提供给存储器830,并且响应读取请求从存储器830中接收数据。可通过互连822或不同的互连(未示出)向存储器830提供命令和/或地址。存储器控制器820可从处理器810或从另一数据源接收数据,该数据将被存储在存储器830中。存储器控制器820可将从存储器830中接收的数据提供给处理器810或另一目的地。互连822可以是双向互连或单向互连。互连822可包括多条并行导线。信号可以是差分信号或是单端信号。在一些实施例中,互连822使用前向多相时钟方案进行操作。
存储器控制器820还耦合到I/O控制器840,并提供处理器810和I/O控制器840之间的通信路径。I/O控制器840包括用于与诸如串行端口、并行端口、通用串行总线(USB)端口及类似端口的I/O电路进行通信的电路。如图8所示,I/O控制器840提供至RF电路850的通信路径。
图9是示出根据本发明的一个备选实施例的电子系统的选定方面的框图。电子系统900包括存储器830、I/O控制器840、RF电路850和天线860,所有这些元件已经在上面参照图8进行了描述。电子系统900还包括一个(或多个)处理器910和存储器控制器920。如图9所示,存储器控制器920可以与处理器910位于同一管芯上。处理器910可以是如上文参照处理器810(图8)所述的任意类型的处理器。由图8和9表示的示例系统包括桌面型计算机、膝上型计算机、服务器、蜂窝式电话、个人数字助理、数字家庭系统和类似系统。
本发明的实施例的元件也可以作为用于存储机器可执行指令的机器可读介质提供。该机器可读介质可包括但不局限于快闪存储器、光盘、只读光盘存储器(CD-ROM)、数字通用/视频光盘(DVD)ROM、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或适于存储电子指令的其它类型的机器可读介质。例如,本发明的实施例可以作为计算机程序下载,该程序可通过通信连接(如调制解调器或网络连接)以包含在载波或其它传播介质中的数据信号的方式从远程计算机(如服务器)传送到请求计算机(如客户机)。
应该意识到,在整篇说明书中对“一个实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,强调并应该意识到的是,在本说明书的各个部分中的两处或两处以上对“一个实施例”或“备选实施例”的引用不一定都指同一个实施例。而且,如果合适,可以将这些特定特征、结构或特性组合在本发明的一个或多个实施例中。
相似地,应该意识到,在前面对本发明的实施例的描述中,为了使本公开流畅以帮助理解各个发明方面中的一个或多个发明方面,有时将各个特征集合在本发明的单个实施例、图或描述中。然而,不应将该公开方法解释为反映这样一种意图,即所要求的主题内容需要比在每一个权利要求中清楚叙述的特征更多的特征。更合适地说,如所附权利要求所反映的,发明方面以少于前面所公开的单个实施例的所有特征展开。因此,所附权利要求由此清楚地结合于本详细说明。
Claims (16)
1.一种全缓冲双列直插存储器模块FBD,包括:
串行输入/输出代理,其包括:
主端口,通过串行点对点互连与上游代理通信数据;以及
多个次级端口,与对应的下游代理通信数据,其中下游数据从所述主端口转发到所述次级端口中的至少一个端口;
所述全缓冲双列直插存储器模块FBD还包括经由多点总线耦合到所述串行输入/输出代理的多个动态随机存取存储器DRAM设备。
2.根据权利要求1所述的FBD,其特征在于,所述多个次级端口包括:
与所述主端口耦合的第一次级端口,用于与第一下游代理通信;以及
与所述主端口耦合的第二次级端口,用于与第二下游代理通信,其中下游数据从所述主端口转发到所述第一次级端口和所述第二次级端口中的至少一个端口。
3.根据权利要求2所述的FBD,其特征在于,所述串行点对点互连包括全缓冲双列直插存储器模块通道。
4.根据权利要求2所述的FBD,其特征在于,所述第一下游代理和所述第二下游代理是高级存储缓冲器。
5.根据权利要求1所述的FBD,还包括:
第三级端口,与另一代理的第三级端口通信,其中所述串行输入/输出代理和所述另一代理位于代理的层级结构的同一级上。
6.根据权利要求1所述的FBD,其特征在于,所述多个次级端口分别与所述多个下游代理同时通信。
7.根据权利要求6所述的FBD,其特征在于,M个次级端口的链接速度等于所述主端口的链接速度的1/M,其中M是大于0的数目。
8.根据权利要求1所述的FBD,其特征在于,所述串行输入/输出代理是高级存储缓冲器。
9.根据权利要求8所述的FBD,其特征在于,所述上游代理是下列中的至少一个:
存储器控制器;以及
上游高级存储缓冲器。
10.一种用于具有多个次级端口的串行输入/输出代理的系统,包括:
请求代理,与串行输入/输出代理通信数据;以及
第一高级存储缓冲器AMB,经由点对点互连与所述请求代理耦合,并且包括:
主端口,通过所述点对点互连与所述请求代理通信数据;以及
多个次级端口,与对应的下游代理通信数据,其中下游数据从所述主端口转发到所述次级端口中的至少一个端口;以及
所述系统还包括:经由多点总线耦合到所述第一高级存储缓冲器AMB的多个动态随机存取存储器DRAM设备。
11.根据权利要求10所述的系统,还包括:
第二AMB,通过所述点对点互连耦合到所述第一AMB的所述多个次级端口中的一个端口,所述第二AMB包括:
主端口,通过所述点对点互连与所述第一AMB通信,以及
至少一个次级端口,与下游代理通信数据,其中下游数据从所述第二AMB的所述主端口转发到所述第二AMB的所述至少一个次级端口。
12.根据权利要求11所述的系统,其特征在于,所述第二AMB还包括:
第三级端口,与第三AMB通信数据,其中所述第二AMB和所述第三AMB位于同一层级上。
13.根据权利要求11所述的系统,其特征在于:
所述系统包括以分级树状配置耦合在一起的多个AMB代理;此外,
访问等待时间基本上与LogM(N)成比例,其中M是所述多个AMB代理的次级端口的数目,N是以分级树状配置耦合在一起的AMB代理的数目。
14.根据权利要求10所述的系统,还包括:
第二AMB,通过所述点对点互连耦合到所述第一AMB的所述次级端口中的一个端口,所述第二AMB包括:
主端口,通过所述点对点互连与所述第一AMB通信数据,以及
存储器接口,与一个或多个动态随机存取存储器DRAM设备通信数据。
15.根据权利要求14所述的系统,其特征在于:
所述第一AMB位于电路板的第一部分上,以及
所述第二AMB和所述一个或多个动态随机存取存储器DRAM设备位于所述电路板的第二部分上。
16.根据权利要求15所述的系统,其特征在于,所述电路板的第一部分支持高速串行输入/输出接口,并且所述电路板的第二部分支持双倍数据速率接口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/375498 | 2006-03-13 | ||
US11/375,498 US20070239906A1 (en) | 2006-03-13 | 2006-03-13 | Input/output agent having multiple secondary ports |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101093717A CN101093717A (zh) | 2007-12-26 |
CN101093717B true CN101093717B (zh) | 2011-07-06 |
Family
ID=38509819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101016558A Expired - Fee Related CN101093717B (zh) | 2006-03-13 | 2007-03-12 | 具有多个次级端口的输入/输出代理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070239906A1 (zh) |
EP (1) | EP1994472A4 (zh) |
CN (1) | CN101093717B (zh) |
TW (1) | TWI384369B (zh) |
WO (1) | WO2007106830A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090020608A1 (en) * | 2007-04-05 | 2009-01-22 | Bennett Jon C R | Universal memory socket and card and system for using the same |
US8151009B2 (en) * | 2007-04-25 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Serial connection external interface from printed circuit board translation to parallel memory protocol |
US8102671B2 (en) * | 2007-04-25 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Serial connection external interface riser cards avoidance of abutment of parallel connection external interface memory modules |
US7996602B1 (en) | 2007-04-30 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Parallel memory device rank selection |
US9405339B1 (en) | 2007-04-30 | 2016-08-02 | Hewlett Packard Enterprise Development Lp | Power controller |
US7827336B2 (en) * | 2008-11-10 | 2010-11-02 | Freescale Semiconductor, Inc. | Technique for interconnecting integrated circuits |
US20140181427A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Compound Memory Operations in a Logic Layer of a Stacked Memory |
US9519615B2 (en) * | 2013-04-09 | 2016-12-13 | Emc Corporation | Multiprocessor system with independent direct access to bulk solid state memory resources |
US9728526B2 (en) | 2013-05-29 | 2017-08-08 | Sandisk Technologies Llc | Packaging of high performance system topology for NAND memory systems |
EP3447770B1 (en) * | 2013-11-11 | 2022-01-05 | Rambus Inc. | High capacity memory system using standard controller component |
US9703702B2 (en) * | 2013-12-23 | 2017-07-11 | Sandisk Technologies Llc | Addressing auto address assignment and auto-routing in NAND memory network |
WO2016122480A1 (en) * | 2015-01-28 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Bidirectional lane routing |
US20170285992A1 (en) | 2016-04-01 | 2017-10-05 | Intel Corporation | Memory subsystem with narrow bandwidth repeater channel |
US10430333B2 (en) | 2017-09-29 | 2019-10-01 | Intel Corporation | Storage system with interconnected solid state disks |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539922A (en) * | 1992-01-03 | 1996-07-23 | Motorola, Inc. | Multiple tree hierarchical portable communication system and method |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732041A (en) * | 1993-08-19 | 1998-03-24 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
US20040236877A1 (en) * | 1997-12-17 | 2004-11-25 | Lee A. Burton | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
CN1364389A (zh) * | 2000-03-10 | 2002-08-14 | 摩托罗拉公司 | 多树型分层通信系统和方法 |
JP2002007201A (ja) * | 2000-06-21 | 2002-01-11 | Nec Corp | メモリシステム、メモリインターフェース及びメモリチップ |
US6493250B2 (en) * | 2000-12-28 | 2002-12-10 | Intel Corporation | Multi-tier point-to-point buffered memory interface |
TWI252406B (en) * | 2001-11-06 | 2006-04-01 | Mediatek Inc | Memory access interface and access method for a microcontroller system |
KR100450680B1 (ko) * | 2002-07-29 | 2004-10-01 | 삼성전자주식회사 | 버스 대역폭을 증가시키기 위한 메모리 컨트롤러, 이를이용한 데이터 전송방법 및 이를 구비하는 컴퓨터 시스템 |
US7120727B2 (en) * | 2003-06-19 | 2006-10-10 | Micron Technology, Inc. | Reconfigurable memory module and method |
US7167941B2 (en) * | 2003-09-10 | 2007-01-23 | Intel Corporation | Multi-port device configuration |
US7177211B2 (en) * | 2003-11-13 | 2007-02-13 | Intel Corporation | Memory channel test fixture and method |
DE102005015828A1 (de) * | 2004-06-11 | 2006-01-05 | Samsung Electronics Co., Ltd., Suwon | Hub, Speichermodul, Speichersystem, sowie dazugehörige Schreib- und Leseverfahren |
US7334070B2 (en) * | 2004-10-29 | 2008-02-19 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
KR100691583B1 (ko) * | 2004-12-31 | 2007-03-09 | 학교법인 포항공과대학교 | 다중 종단 저항들을 갖는 멀티 드롭 버스 구조의 메모리시스템 |
KR101375763B1 (ko) * | 2005-04-21 | 2014-03-19 | 바이올린 메모리 인코포레이티드 | 상호접속 시스템 |
US20070150702A1 (en) * | 2005-12-23 | 2007-06-28 | Verheyen Henry T | Processor |
-
2006
- 2006-03-13 US US11/375,498 patent/US20070239906A1/en not_active Abandoned
-
2007
- 2007-03-12 CN CN2007101016558A patent/CN101093717B/zh not_active Expired - Fee Related
- 2007-03-12 TW TW096108444A patent/TWI384369B/zh not_active IP Right Cessation
- 2007-03-13 WO PCT/US2007/063917 patent/WO2007106830A1/en active Application Filing
- 2007-03-13 EP EP07758469A patent/EP1994472A4/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539922A (en) * | 1992-01-03 | 1996-07-23 | Motorola, Inc. | Multiple tree hierarchical portable communication system and method |
Also Published As
Publication number | Publication date |
---|---|
CN101093717A (zh) | 2007-12-26 |
EP1994472A1 (en) | 2008-11-26 |
WO2007106830A1 (en) | 2007-09-20 |
TWI384369B (zh) | 2013-02-01 |
EP1994472A4 (en) | 2010-02-10 |
TW200801954A (en) | 2008-01-01 |
US20070239906A1 (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101093717B (zh) | 具有多个次级端口的输入/输出代理 | |
KR102542562B1 (ko) | 모듈화된 불휘발성 플래시 메모리 블레이드 | |
US8380943B2 (en) | Variable-width memory module and buffer | |
US7952944B2 (en) | System for providing on-die termination of a control signal bus | |
US20060036826A1 (en) | System, method and storage medium for providing a bus speed multiplier | |
GB2420200A (en) | Memory System having unidirectional interconnections between modules. | |
JP2017517807A (ja) | ハイブリッドメモリキューブリンクを用いる相互接続システムおよび方法 | |
JP2012525627A (ja) | 光学メモリ拡張 | |
CN116841932B (zh) | 一种可灵活连接的便携式高速数据存取设备及其工作方法 | |
US10318473B2 (en) | Inter-device data-transport via memory channels | |
US11036658B2 (en) | Light-weight memory expansion in a coherent memory system | |
US11121904B2 (en) | System and method for memory access in server communications | |
US20100005206A1 (en) | Automatic read data flow control in a cascade interconnect memory system | |
US7596650B1 (en) | Increasing availability of input/output (I/O) interconnections in a system | |
US7405949B2 (en) | Memory system having point-to-point (PTP) and point-to-two-point (PTTP) links between devices | |
JP2021185497A (ja) | 再構成可能なサーバー及びそれを有するサーバーラック | |
US9495309B2 (en) | System and method for increased capacity and scalability of a memory topology | |
Kwon et al. | Gen-z memory pool system architecture | |
US7617367B2 (en) | Memory system including a two-on-one link memory subsystem interconnection | |
US20150026397A1 (en) | Method and system for providing memory module intercommunication | |
CN109033002A (zh) | 一种多路服务器系统 | |
CN108139993A (zh) | 内存装置、内存控制器、数据缓存装置及计算机系统 | |
CN209248518U (zh) | 一种固态硬盘扩展板卡及服务器 | |
US20070226456A1 (en) | System and method for employing multiple processors in a computer system | |
US11836096B2 (en) | Memory-flow control register |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110706 Termination date: 20150312 |
|
EXPY | Termination of patent right or utility model |