CN100444141C - 通过串行内存互连以将主机连接至内存模块的系统与方法 - Google Patents

通过串行内存互连以将主机连接至内存模块的系统与方法 Download PDF

Info

Publication number
CN100444141C
CN100444141C CNB2004800131820A CN200480013182A CN100444141C CN 100444141 C CN100444141 C CN 100444141C CN B2004800131820 A CNB2004800131820 A CN B2004800131820A CN 200480013182 A CN200480013182 A CN 200480013182A CN 100444141 C CN100444141 C CN 100444141C
Authority
CN
China
Prior art keywords
memory
link
packets
information
internal memory
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
Application number
CNB2004800131820A
Other languages
English (en)
Other versions
CN1788260A (zh
Inventor
R·S·波尔青
F·D·韦伯
G·R·塔尔博特
L·D·休伊特
R·W·里夫斯
S·A·帕特尔
R·V·拉费特拉
D·E·久利克
M·D·赫梅尔
P·C·米兰达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1788260A publication Critical patent/CN1788260A/zh
Application granted granted Critical
Publication of CN100444141C publication Critical patent/CN100444141C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Abstract

本发明公开了一种包括主机(100)的系统(50),所述主机(100)耦接至串行连接的内存模块(150A-B)链路。在一个实施例中,各内存模块包括内存控制集线器(160),用来控制内存模块上多个内存芯片(261)的存取。内存模块经由多个内存链接(110)在链路中串行耦接至主机。各内存链接可包括用于向主机传输事务处理的上行链接(211),以及将源自主机的事务处理传输至链路中下一个内存模块的下行链接(212)。上行链接和下行链接可用信息包传输事务处理,所述信息包包括控制和配置信息包以及内存存取信息包。内存控制集线器可将第一内存链接的第一下行链接上所接收的事务处理在第二内存链接的第二下行链接上传输,而与译码该事务处理无关。

Description

通过串行内存互连以将主机连接至内存模块的系统与方法
技术领域
本发明涉及计算机系统内存,尤其涉及内存模块配置(memorymodule configurations)和内存子系统布局(subsystem topology)。
背景技术
许多计算机系统使用主系统内存,可依据终端用户的需要而配置。在这样的系统中,母板或系统板可包括许多内存扩充插口。可按需要将一个或多个小电路板,称之为内存模块,插入插口以增大计算机系统的内存容量。各内存模块一般包括多个提供指定内存容量的内存装置。内存装置通常用某些类型的动态随机存取存储器(DRAM)而实现。DRAM类型的一些例子包括同步DRAM(SDRAM)以及各种类型的双倍数据速率SDRAM(DDR SDRAM)。
在常规的计算机系统中,内存模块经由内存总线连接至内存/DRAM控制器,该内存总线包括地址、控制和数据信号。在一些计算机系统中,地址、控制和数据信号可被多路复用,而因此共享同一组线路。在其它的计算机系统中,地址、控制和数据信号可使用独立的线路。在其中任何一种情况下,各地址信号和控制信号路由(routed)至各扩充插口,而使得内存模块当被插入时是并行连接至内存/DRAM控制器的。在某些系统中内存/DRAM控制器可位于与系统处理器相同的集成电路(IC)芯片上,而在其它的系统中,内存/DRAM控制器可位于芯片组的一个IC中(例如,北桥接器(Northbridge))。
虽然计算机系统处理器的工作速度继续提高,但是主系统内存的相关性能并未以相同的速率提高。这也许至少部分是由于内存总线架构的带宽的上述增量改进。
发明内容
本发明公开了包括多个内存模块的系统的各种实施例。在一个实施例中,主机耦接到(coupled)串行连接的内存模块链路(chain)。
在一个特定的实施中,各内存模块可包括内存控制集线器(hub),该内存控制集线器可控制对内存模块上的多个内存芯片的存取。此外,内存模块经由多个内存链接(link)在链路中串行耦接至主机。各内存链接可包括用于向主机传输事务处理(conveying transaction)的上行链接(uplink),以及用于将源自主机的事务处理传输到链路中下一个内存模块的下行链接(downlink)。上行链接和下行链接可以各是包括多个信号的单方向链接,该包括多个信号的单方向链接可用信息包(packets)来传输事务处理,而该信息包包括控制和配置信息包以及内存存取信息包。
在另一个特定的实施中,内存控制集线器可将第一内存链接的第一下行链接上所接收到的事务处理译码(decode)。此外,内存控制集线器可在第二内存链接的第二下行链接上传输该事务处理,而与译码该事务处理不相干(independent of decoding the transaction)。
在又一个特定的实施中,内存控制集线器可包括DRAM控制器,该DRAM控制器可响应将事务处理译码成内存命令而存取内存芯片,而该内存命令具有与内存控制集线器的相关内存地址相匹配的内存地址。
附图说明
图1为包括串行连接的内存模块链路的系统的一个实施例的方块图。
图2为如图1中所示内存模块的内存模块的一个实施例的方块图。
图3为如图2中所示下行链接控制单元的下行链接控制单元的一个实施例的方块图。
图4为如图2中所示上行链接控制单元的上行链接控制单元的一个实施例的方块图。
图5A为配置读取信息包的一个实施例的图。
图5B为配置写入信息包的一个实施例的图。
图5C为内存读取信息包的一个实施例的图。
图5D为内存写入信息包的一个实施例的图。
图6为计算机系统的一个实施例的方块图。
虽然本发明易于有各种修改和替代形式,但是本发明的特定实施例在附图中用举例的方式来示意并在此详细说明。然而,应了解,并不欲用附图和详细说明来限制本发明于所公开的特定形式,相反,本发明意在涵盖所有落入由所附权利要求所界定的本发明的精神和范围内的修改、等效和替代。应注意的是,标题的目的仅用来组织内容,而并非欲用来限制或解释说明书或权利要求。再者,要注意的是,词汇“可以(may)”是以容许的意义(即,具有潜在性、能够)而不是以强制的意义(即,必须)而使用于整个本申请。词汇“包括(include)”及其派生意味着“包括,但不局限于”。词汇“连接(connected)”意味着“直接连接或间接连接”,而词汇“耦接(coupled)”意味着“直接耦接或间接耦接”。
具体实施方式
现在参照图1,显示了包括串行连接的内存模块链路的系统的一个实施例的方块图。系统50包括经由内存链接110A而耦接至系统内存125的主机100。例如,可配置系统50以作为诸如计算机系统或服务器系统的计算装置的一部分而工作。系统内存125包括经由内存链接110B而耦接至内存模块150B的内存模块150A。显示出内存模块150B耦接至内存链接110C,该内存链接110C可按需要耦接至额外的内存模块(图中未显示)以形成耦接至主机100的串行连接的内存模块链路。值得注意的是,虽然在链路中显示了两个内存模块,但是预期可用这种方式来连接一个或多个内存模块。应进一步注意的是,包括其后跟有参考字母的参考数字的组件一般地可单独由该参考数字而指代。例如,当一般地指代所有的内存模块时,可用内存模块150来表示。
在所示意的实施例中,内存模块150A包括内存控制集线器160A,该内存控制集线器160A耦接至指定为内存芯片171A至171N的多个内存装置,此处N可以是所希望的任何数。在一个实施例中,内存控制集线器160A可以经由任意类型的内存互连(memory interconnect)而耦接至内存芯片。例如,在一个实施例中,内存互连可以是典型的地址、控制和数据总线配置。
类似地,内存模块150B包括内存控制集线器160B,该内存控制集线器160B耦接至指定为内存芯片181A至181N的多个内存装置,此处N可以是所希望的任何数。在一个实施例中,内存控制集线器160B可以如上所述经由任何类型的内存互连而耦接至内存芯片。值得注意的是,各内存芯片171A至171N和181A至181N例如可以是任何类型的内存装置,诸如内存装置的DRAM族中的内存装置。
在所示意的实施例中,内存链接110A-110C形成内存互连。在一个实施例中,内存链接110A-110C的每一个形成由两组单方向线所实施的点对点内存互连。一组单方向线被称为下行链接并被配置成沿下游(downstream)方向将事务处理输送离开主机100。另一组单方向线被称为上行链接并被配置成沿上游(upstream)方向朝主机100输送事务处理。此外,在一个实施例中,各组单方向线可用多个微分信号对(differential signal pairs)来实现。在一个实施例中,各内存链接110包括18位下行链接和16位上行链接,其中各位为微分信号对。如下文中将结合图5A至图5D的说明而作更详细的说明,可配置由内存链接110所形成的内存互连以传输信息包。
一般而言,来自主机100的所有事务处理向下游流动经过下行链接上的所有内存模块150,而所有响应事务处理从响应的内存模块150向上游流动,经过上行链接上的各上游内存模块150。更具体地,在一个实施例中,主机100可请求寻回(retrieve)或储存系统内存125内的数据。响应于主机100发出请求,内存控制器105例如发起诸如内存读取事务处理或内存写入事务处理的相应事务处理。内存控制器105经由内存链接110A将该事务处理发送至系统内存125。在所示意的实施例中,该事务处理由内存模块150A的内存控制集线器160A所接收。
响应于接收事务处理,配置内存控制集线器160A将所接收的事务处理经由内存链接110B发送至内存模块150B,而并不译码该事务处理。这被称为向下游转发(forwarding)事务处理。因此,由给定内存模块150的给定内存控制集线器160在下行链接上所接收的各事务处理被转发至链路上的下一个内存模块150,而并不译码该事务处理,该链路上的下一个内存模块150耦接至下行链接。在一个实施例中,译码事务处理可与转发事务处理并行发生。在其它的实施例中,译码事务处理可在已转发了事务处理后发生。可在下文图3的说明中看到下游转发功能的更详细说明。
同样地,若内存控制器105发起例如读取请求事务处理,则具有相应于请求中的地址的内存位置的内存模块150将以所请求的数据响应。该响应将在内存模块的上行链接上朝向主机100发送。若在发送内存模块和主机100之间有任何中间(intervening)内存模块,则中间内存模块将在其上行链接上沿上游方向将响应事务处理转发至主机100或链路中的下一个内存模块。此外,当响应内存模块准备发送响应时,它可将该响应注入到上行链接上正向上游转发的事务处理序列中。在下文图5的说明中,可看到上游转发功能的更详细说明。
在一个实施例中,可配置内存控制器105以向系统内存125提出请求,而不用知道特定地址与内存模块150A和150B的哪一个相关。举例而言,在系统配置序列期间,可给各内存模块150分配内存地址的一个范围。各内存控制集线器160可包括逻辑(图1中未显示),该逻辑可译码输入请求(incoming request)的地址。因此,给定内存模块150的内存控制集线器160可响应于对具有在分配给该给定内存模块150的地址范围内的地址的内存请求译码,而发起内存读取循环或内存写入循环至该给定内存模块150上的内存芯片。如将在下文中结合图2的说明而更详细说明的那样,在一个实施例中,各内存控制集线器160可包括DRAM控制器(图1中未显示),用于发起内存循环至该DRAM控制器所连接到的内存芯片。
此外,在一个实施例中,内存控制器105在接收对先前的内存存取请求的响应之前,可发起后续的内存存取请求。在这样的实施例中,内存控制器105可保持追踪待处理的请求(outstanding request),并可因此以不同于响应被送出时的次序来处理响应。
值得注意的是,在一替代实施例中,各内存链接110可形成点对点内存互连,该点对点内存互连实施成一组双向线。这样,事务处理在该组双向线上既可向上游流动又可向下游流动。在这样的实施例中,可用多个微分信号对来实现双向线。
参照图2,显示了诸如图1中所示内存模块的内存模块的一个实施例的方块图。为了清楚和简明的目的,与图1中所示组件相对应的组件被相同地标号。内存模块150包括经由内存总线265而耦接到内存芯片261A至261N的内存控制集线器160。内存控制集线器160包括耦接到DRAM控制器250的控制单元240。DRAM控制器250耦接至内存芯片261A-261N。控制单元240包括上行链接控制241和下行链接控制242。如上所述,内存总线265可以是任何类型的内存互连。在所示意的实施例中,内存控制集线器160沿上游方向耦接至内存链接110A,且沿下游方向耦接至内存链接110B。进一步注意到,内存总线265的工作频率与内存链接110的工作频率不相干。
在所示意的实施例中,可配置上行链接控制单元241以接收和转发从下游的另一个内存模块所接收到的信息包。上游信息包的接收和转发产生上游事务处理序列。此外,可配置上行链接控制单元241以将源自内存模块150内的信息包注入到事务处理流(transaction stream)中。
在所示意的实施例中,可配置下行链接控制单元242以接收源自主机的信息包,并且若下游连接有内存模块,则转发那些信息包至下游的内存模块。此外,可配置下行链接控制单元242以复制和译码信息包。在一个实施例中,若信息包包括分配给内存模块150的地址范围内的地址且该信息包为内存存取请求,则下行链接控制单元242可传递与该信息包相关的命令至DRAM控制器250。在一个实施例中,配置DRAM控制器250,以响应于从内存控制集线器160来的内存命令而发起内存循环至内存芯片261A-261N。然而,若信息包不是内存请求,而是配置信息包,则下行链接控制单元242可传递与该信息包相关的配置命令至控制单元240的核心逻辑(图中未显示)来处理。值得注意的是,在一个实施例中,若信息包不包括分配给内存模块150的地址范围内的地址,则内存控制集线器160可舍弃或抛弃该信息包,如果内存模块150是链路中的最后一个内存模块的话。
在一个实施例中,配置内存控制集线器160以接收模块存在信号(图中未显示),当下游内存模块起动该模块存在信号时,其指示上游内存模块有下游内存模块存在。在这样的实施例中,若内存控制集线器160接收事务处理并判定没有下游内存模块存在,则内存控制集线器160可舍弃该事务处理。在一个特定的实施中,当将给定的内存模块150插入插口中时,所插入的内存模块可施加接地信号(signal ground)至模块存在信号。因此,有效(active)模块存在信号是有效低信号。
值得注意的是,虽然在上述实施例中当施加接地信号时模块存在信号是有效的,但是预期在其它实施例中,可施加其它的电压电平至模块存在信号,以指示内存模块存在。
参照图3,显示下行链接控制单元的一个实施例的方块图。在图3所示实施例中,下行链接控制单元342可以代表图2中所示的下行链接控制单元242。耦接下行链接控制单元342以接收下行链接312A上的下游事务处理,并发送下行链接312B上的那些下游事务处理。在一个实施例中,下行链接312A和312B可分别代表图2的下行链接212A和212B。值得注意的是,如上所述,下行链接312A和312B包括多个位。例如,在一个实施中,下行链接312A和312B可各为18位下行链接。此外,配置下行链接控制单元342以接收来自上游内存模块或主机100的忙碌信号(busy signal)371,并将忙碌信号372发送至下游内存模块。
在所示意的实施例中,下行链接控制单元342包括接收输入事务处理的相位校正单元(phase alignment unit)310。相位校正单元310耦接至发送单元315并耦接至数据恢复单元320。数据恢复单元320耦接至同步先进先出缓冲器(FIFO)325,该同步FIFO 325耦接至地址译码逻辑330。在一个实施例中,同步FIFO 325耦接至诸如DRAM控制器250的DRAM控制器,并耦接至图2中控制单元240内的核心逻辑。值得注意的是,在图3所示的实施例中,相位校正单元310、发送单元315和数据恢复单元320可用逐位方式(in a bit-wise manner)独立地操作下行链接的各位。预期在其它实施例中,相位校正单元310、发送单元315和数据恢复单元320可基本上同时操作下行链接的所有位。
为了提供所需的内存带宽,内存控制集线器160将所接收到的事务处理有效地转发至下游内存模块是很重要的。因此,由下行链接控制单元342所接收的事务处理被盲目地向下游转发。在一个实施例中,接收到的各位由相位校正单元310相位校正,并送至发送单元315,而不用译码,用于在下行链接312B上传输。此外,接收到的各位送至数据恢复单元320作处理。
在一个实施例中,配置相位校正单元310,以便对于各位而动态地调整局部取样时钟的相位,以允许下行链接控制单元342在所接收到的数据眼(data eye)的中央取样。举例而言,在一个实施例中,从主机提供参考时钟至各内存控制集线器160内的锁相环路(phase locked loop,PLL)(图中未显示)。PLL产生局部取样时钟以及下行链接控制单元342内的发送时钟。配置相位校正单元310以追踪输入数据流的平均相位。还可以配置相位校正单元310以补偿由处理变化所引起的静态偏移(static skew),追踪由电压和温度变化所引起的数据相位的低频变化,并补偿任何低频相位抖动(jitter),该低频相位抖动可在参考时钟中但未由集线器的PLL所追踪到。相位校正单元310过滤也许由发送器所产生的符号间干扰、串音或反射噪声和高频相位噪声所引起的高频抖动。
为了促进局部取样时钟的相位校正,也许须提供下行链接312A的各位上的充分数目的转变(transition)(或传输密度)。在一个实施例中,通过加密(scrambling)在各位上发送的数据并且然后在接收时将所接收的数据解密(de-scrambling),而提供转变密度。在一个实施例中,通过对数据与虚拟随机二进制序列(PRBS)进行异或(XOR)运算,而加密数据。线性反馈移位寄存器(LFSR)可用给定的种子多项式(seedpolynomial)而产生PRBS。在另一个实施例中,可通过发送具有预定数据有效载荷(payload)的同步信息包,而提供转变密度。在这样的实施例中,预定的数据有效载荷可包括具有足够数目的转变的随机模式或虚拟随机模式。
不论转变密度是如何得到的,配置数据恢复单元320以恢复数据位。在使用加密的实施例中,可配置数据恢复单元320,以便用与用于加密数据相同的PRBS来解密所接收的数据。反之,在用同步信息包以获得转变密度的实施例中,一旦相位校正单元310已完成校正局部取样时钟,则数据恢复单元320就可舍弃或抛弃同步信息包数据。
在所示意的实施例中,配置同步FIFO 325以储存控制单元240的核心逻辑所使用的进来的数据位。举例而言,由于事务处理以信息包的方式送出,所以所接收的位可储存于同步FIFO 325中,并重新格式化用于译码。然后由地址译码逻辑330来译码所接收的信息包。如上所述,可给各内存模块150分配内存地址的一个范围。此外,可给各内存控制集线器160分配集线器地址以供配置事务处理使用。若译码出事务处理地址并指示有匹配,则可提取并处理命令信息。在一个实施例中,若事务处理是内存存取请求,且该内存存取请求具有与内存控制集线器160的相关内存地址相匹配的地址,则可将译码命令送至DRAM控制器250。若事务处理是配置事务处理,则可将译码命令送至控制单元240的核心逻辑。此外,若地址译码逻辑330未发现匹配,则可舍弃或抛弃该信息包。
在所示意的实施例中,耦接相位校正单元335以接收输入的忙碌信号371。相位校正单元335还耦接至数据恢复单元350,该数据恢复单元350接着又耦接至忙碌脉冲注入单元355。忙碌脉冲注入单元355耦接至发送单元360。
在所示意的实施例中,相位校正单元335和数据恢复单元350分别以与相位校正单元310和数据恢复单元320相似的方式工作。然而,在一个实施例中,忙碌信号371为单位(single bit)微分信号而非多位信号。使用忙碌信号371和忙碌信号372以确保接近内存模块的串联链路底部的集线器将给接近串联链路顶部的集线器留下足够的闲置时间(idle time),以注入信息包。在一个实施例中,忙碌信号371包括将被所有上游内存模块注入到上游事务处理序列中的信息包的数目的指示。因此,忙碌信号372包括将被上游所有内存模块注入到上游事务处理序列中的信息包的总数的指示,以及将被内存控制集线器160局部地注入的信息包的数目的指示。
在一个实施例中,配置忙碌脉冲注入单元355,以接收对应于将被上游所有内存模块注入到上游事务处理序列中的信息包的数目的数据。此外,配置忙碌脉冲注入单元355以接收从控制单元240的核心逻辑来的指示,该指示对应于将被内存控制集线器160局部地注入到上游事务处理序列中的信息包的数目。因此,配置忙碌脉冲注入单元355以产生忙碌信号372。在一个实施例中,忙碌信号371和372可针对各注入信息包而包括一个脉冲。因此,例如,用来指示注入了5个信息包的诸如忙碌信号372的信号将包括5个脉冲。然而,预期在其它实施例中,对于各注入信息包可包括任何数目的脉冲。如下文中将进一步说明的那样,信息包可作为短信息包或长信息包而送出。因此,在一个实施例中,对于注入的长信息包,忙碌脉冲注入单元355可针对各长信息包而包括两个脉冲。
此外,配置忙碌脉冲注入单元355,以提供对应于从上游接收的忙碌脉冲数目的指示至图2的上行链接控制单元241。在一个实施例中,若内存模块为串行连接链路中的最后一个模块,则上行链接控制单元241可依据忙碌信号371上所接收的忙碌脉冲的数目,而导致一个或多个无操作(NOP)信息包被注入到上游事务处理序列中。举例而言,在一个实施例中,对于所接收的每两个忙碌脉冲,上行链接控制单元241可导致一个NOP信息包被注入到上游事务处理序列中。然而,预期在其它的实施例中可使用接收的忙碌脉冲对NOP信息包的其它比例。
在所示意的实施例中,配置发送单元360以接收来自忙碌脉冲注入单元355的忙碌信号。在一个实施例中,进一步配置发送单元360,以便如上所述,在发送忙碌信号372之前用LFSR加密数据。或可替代地,发送单元360可如上所述注入同步信息包。
参照图4,显示了上行链接控制单元的一个实施例的方块图。在图4所示意的实施例中,上行链接控制单元441可代表图2中所示的上行链接控制单元241。耦接上行链接控制单元441,以接收上行链接411B上的上游事务处理,并发送上行链接411A上的上游事务处理。此外,配置上行链接控制单元241,以便将信息包注入至上行链接411B上所接收的上游事务处理序列中。在一个实施例中,上行链接411A和411B可分别代表图2中的上行链接211A和211B。值得注意的是,如上所述,上行链接411A和411B包括多位。例如,在一个实施中,上行链接411A和411B可各为16位上行链接。
在所示意的实施例中,上行链接控制单元441包括相位校正单元410,该相位校正单元410接收进来的上游事务处理。相位校正单元410耦接至数据恢复单元415。
为了提供所需的内存带宽,内存控制集线器160有效地转发所接收的上游事务处理至上游内存模块或主机是很重要的。与下游控制单元342相似,由上行链接控制单元441所接收的事务处理向上游转发。然而,与下游控制单元342相反,上行链接控制单元441可将局部产生的信息包注入到上游事务处理序列中。
在所示意的实施例中,相位校正单元410与相位校正单元310以相似的方式工作。因此,配置相位校正单元410,以便对于各位而动态地调整局部取样时钟的相位,以允许上行链接控制单元441如上所述在所接收的数据眼的中央取样。类似地,配置数据恢复单元415,以便如上述结合了数据恢复单元320的描述那样恢复数据位。
在所示意的实施例中,数据恢复单元415耦接至多路复用器430,而该多路复用器430耦接至发送单元435。若上行链接控制单元441没有信息包要注入到上游事务处理序列中,则配置上行链接控制单元441以便在上行链接411A上转发所接收的事务处理。在一个实施例中,信息包边界追踪单元450可给多路复用器430提供控制信号,这可允许发送单元435加密和发送所接收的事务处理。在一个实施例中,发送单元435可如上所述用LFSR来加密要发送的数据,而在其它的实施例中,发送单元435可如上所述注入同步信息包。
然而,在一个实施例中,当接收到来自集线器核心逻辑的要注入的信息包并储存到注入FIFO 425内时,则从数据恢复单元415接收来的数据储存在保持FIFO 420内,用于后来的传输。当完成了当前被转发的信息包的传输时,储存在注入FIFO 425内的数据被提供至多路复用器430的输入端。此外,信息包边界追踪单元450追踪从上行链接411B所接收的信息包的信息包边界。信息包边界追踪单元450通过在正确时间给多路复用器430提供控制信号而确保注入的信息包不会与转发的信息包相冲突;由此允许发送单元435加密和发送将要注入的等待信息包。假设有将被注入的信息包储存在注入FIFO 425内且有将被转发的信息包储存在保持FIFO 420内,则信息包边界追踪单元450可依据公平算法(fairness algorithm)而选择地控制多路复用器430以将任一种类型的信息包传至发送单元435。该公平算法可以是被配置成针对任何给定内存模块而防止注入信息包的不足(starvation)或转发信息包的不足的任何算法。值得注意的是,可以舍弃上行链接411B上接收的NOP信息包,而不用储存在保持FIFO 420内或转发。
值得注意的是,在一替代实施例中,为了有助于转发事务处理交通量(traffic)的改进等待时间(latency),相位校正单元410可耦接至保持FIFO 420和多路复用器430,如虚线所示。当没有注入的交通量时,该实施例可提供改进的等待时间。
进一步值得注意的是,在一个实施例中,在主机100和各内存模块150的各内存控制集线器160之间通讯之前,可执行起始序列,以使存在于主机100内和各内存控制集线器160内的任何加密/解密逻辑、同步FIFO和相位校正逻辑同步。举例而言,在一个实施中,在复位(reset)期间,起始序列可包括主机100向下游发送一个或多个同步模式。该同步模式可由各内存控制集线器160向上游转发回主机100。可使用同步模式以允许包含了加密/解密逻辑的接收器锁住同步。
内存互连
共同参照图1与图2,例如,内存互连包括一个或多个高速点对点内存链接,诸如内存链接110A-110C,各包括诸如上行链接211A的上行链接和诸如下行链接212A的下行链接。如上所述,在一个实施例中,下行链接可以是18位链接而上行链接可以是16位链接。这样,18位下行链接可以包括16个控制、地址和数据(CAD)信号,1个忙碌信号和1个控制(CTL)信号。给定的上行链接可以包括16个控制、地址和数据(CAD)信号。然而,预期在替代实施例中,诸如上行链接211A的上行链接还可包括CTL信号。
除了高速链接外,也可将其它的信号提供至各内存模块150。举例而言,在一个实施例中,可自主机100给各内存模块150提供复位信号、电源良好(OK)信号和参考时钟。而且,可在各内存模块之间提供其它的信号。例如,如上所述,可在内存模块之间提供下一个内存模块存在信号。
一般而言,传输在内存链接110上的事务处理的类型可归类为配置和控制事务处理以及内存事务处理。在一个实施例中,可用配置和控制事务处理来配置内存控制集线器160。举例而言,可用配置和控制事务处理来存取配置寄存器、给内存模块分配内存地址范围或给内存控制集线器分配集线器地址。可用内存事务处理来存取内存芯片261A-261N内的内存位置。
因此,在一个实施例中,支持两种类型的寻址(addressing):集线器寻址和内存寻址。使用集线器寻址,8个集线器位识别被存取的特定内存控制集线器。在一个实施例中,FFh的集线器地址可指示至所有内存控制集线器的广播(broadcast)。使用内存寻址,各集线器译码地址位的上部分以判定哪一个集线器应接受此请求,并译码地址位的下部分以判定将要存取的内存位置。在一个实施例中,有40个地址位,但是预期可按需要使用其它数目的地址位。
在一个实施例中,配置各内存链接以用一个或多个信息包来传输事务处理。信息包包括控制和配置信息包以及内存存取信息包,各信息包依据该信息包所载有的命令的类型而可包括数据有效载荷。这样,可用构成内存链接110的线路组来传输控制、地址和数据。
信息包一般可由以下来表征:各信息包包括许多传输一位信息的位位置(bit positions)。各信息包划分成数个位时间(bit times),且在给定的位时间期间,取样信息包所有的位位置。这样,控制信息和数据共享给定链接的相同线路(例如,CAD线路)。如将在下文中作更详细说明的那样,在一个实施例中,信息包为位对(bit pairs)的倍数,且在偶数的位时间取样每个信息包的第一位时间。信息包以控制标头(header)开始,该控制标头可以是一个位对或二个位对的长度。在一个实施例中,控制标头的最初五位为命令码。下面的表1示意了各种类型的信息包和它们相关的命令码。然而,应当注意的是,显示于第一列的实际的码是为了示意的目的,且对于各给定的命令可使用其它的码。
表1.信息包类型和命令码
  标头长度(位时间) 命令 说明 方向 正常响应   地址类型
00h - NOP   零操作/闲置状态 上下 - -
  04h   2   AddrSet   地址组   下   AddrAck   集线器
  05h   2   AddrAck   地址确认   上   -   -
  06h   2   Ack   确认   上   -   -
07h 2 Nak   非确认/错误 - -
08h 2 SRdResp   短读取响应 - -
09h 2 LRdResp   长读取响应 - -
  0Ah   2   ConfigRd   配置读取   下   RdResp   集线器
  0Ch   2   ConfigWr   配置写入   下   Ack   集线器
0Eh 2 DIMMCtl   DIMM控制 Ack 集线器
10h 4 SMemRd   短内存读取   RdResp/Ack   内存
11h 4 LMemRd   长内存读取 RdResp 内存
12h 4 BlkMemWr   区块内存写入 Ack 内存
13h 4 SbytMemWr   短字节内存写入 Ack 内存
14h 4 LbyMemWr   长字节内存写入 Ack 内存
再者,在一个实施例中,用错误侦测码(error detecting code,EDC)来发送信息包(除了NOP信息包外)。值得注意的是,在一个实施例中,EDC为32位循环冗余码(cyclic redundancy code,CRC),虽然其它的实施例可按需要使用其它的EDC’s。此外,首先在最有效(mostsignificant)位时间发送地址以加速内存控制集线器160内的译码,而数据以最不有效(least significant)字节首先送出。然而,应注意的是,在其它实施例中可预期地址以最不有效位时间首先送出,而数据以最有效字节首先送出。信息包可载有字节允许(byte enables)和/或数据的有效载荷。不具有有效载荷的信息包被称为仅具有标头的信息包(header-only packet)。在一个实施例中,数据短读取的大小可达到编程高速缓存线大小(programmed cache line size)的一半。此外,长读取和区块写入(block writes)的数据大小可达到编程高速缓存线大小。再者,字节写入的数据大小可以最大为64字节,而无关于高速缓存线大小设定。
除了包含在信息包内的控制标头和命令码信息外,可用CTL信号来传输关于各信息包的信息。如下面表2所示,显示了一些示例性的CTL编码。
表2.用于下游的CTL编码
  偶数   奇数  CAD的内容
  0   0  数据或字节允许有效载荷
  1   1  控制标头
  0   1  具有有效载荷的信息包的CRC
  1   0  仅具有标头的信息包的CRC
信息包的标头部分和有效载荷部分的不同CTL值可提供足够的信息以允许仅具有标头的信息包被插入到另一信息包的有效载荷内。当仍在链接上发送写入信息包时允许读取命令发出,这对于减少读取命令的等待时间也许很有用处。表3示意了示例性信息包,包括以表格形式的有效载荷。表3中的信息包还显示,在位时间4-7期间仅具有标头的信息包被插入到有效载荷中。
表3.具有有效载荷的信息包和插入在有效载荷中的仅具有标头的信息包
  位时间   CTL   CAD
  0   1   标头1位[15:0]
  1   1   标头1位[31:16]
  2   0   数据位[15:0]
  3   0   数据位[31:16]
  4   1   标头2位[15:0]
  5   1   标头2位[31:16]
  6   1   CRC2位[15:0]
  7   0   CRC2位[31:16]
  8   0   数据位[47:32]
  9   0   数据位[64:48]
  10   0   CRC1位[15:0]
  11   1   CRC1位[31:16]
图5A至图5D示意了可在图1的内存链接110A至110C上传输的示例性信息包。现参照图5A,显示了配置读取信息包的一个实施例的图。在所示意的实施例中,配置读取信息包510为16位宽并包括4个位时间或2个位对。
在位时间0期间,5位命令码(例如,0Ah)在位位置0-4传输。位位置5-7保留。8位标记符(tag)在位位置8-15传输。在一个实施例中,例如,主机100可使用标记符值来匹配待处理的下游请求与上游响应信息包。若未被使用,则可将标记符字段(tag field)设定值00h。在位时间1期间,8位集线器地址在位位置0-7传输。此外,8位配置寄存器数目在位位置8-15传输。在位时间2和3期间,CRC的位0-15和16-31分别在位位置0-15传输。
参照图5B,显示了配置写入信息包的一个实施例的图。在所示意的实施例中,配置写入信息包515为16位宽并包括6个位时间或3个位对。
在位时间0期间,5位命令码(例如,0Ch)在位位置0-4传输。位位置5-7保留。8位标记符在位位置8-15传输。在位时间1期间,8位集线器地址在位位置0-7传输。此外,8位配置寄存器数目在位位置8-15传输。在位时间2和3期间,数据有效载荷的位0-15和16-31在位位置0-15传输。在位时间4和5期间,CRC的位0-15和16-31分别在位位置0-15传输。
参照图5C,显示了内存读取信息包的一个实施例的图。在所示意的实施例中,内存读取信息包520为16位宽并包括6个位时间或3个位对。在位时间0期间,5位命令码(例如,10h或11h)在位位置0-4传输。位位置5-7保留。8位标记符在位位置8-15传输。
在位时间1期间,应返回的数据的长度在位位置0-5传输。在一个实施例中,值00h指示没有数据,值01h指示2个位对的数据,值02h指示4个位对的数据,以及等等。零长度读取使确认信息包(ACK)被返回到请求者。在一个实施例中,一半高速缓存线或少于一半高速缓存线的读取可造成短RdResp,而多于一半高速缓存线的读取可造成单个长RdResp或两个短RdResp。可由软件将高速缓存线大小编程到主机100和各内存控制集线器160的配置寄存器。位6-7保留。DRAM中请求位置的地址位39-32在位位置8-15传输。
在位时间2期间,DRAM中请求位置的地址位31-16在位位置0-15传输,而在位时间3期间,DRAM中请求位置的地址位3-15在位位置3-15传输。在位时间3期间,还在位位置0-1传输信息包优先级(packetpriority)。在一个实施例中,优先级可指示信息包相对于其它请求的优先级。举例而言,一个优先级可以是延迟具有较低优先级的所有请求,即使它们已经在进行中,并在它们之前执行这一请求。位位置2保留。在位时间4和5期间,CRC的位0-15和16-31分别在位位置0-15传输。
参照图5D,显示了区块内存写入信息包的一个实施例的图。在所示意的实施例中,区块内存写入信息包525为16位宽并包括8个位时间或4个位对。在位时间0期间,5位命令码(例如,12h)在位位置0-4传输。位位置5-7保留。8位标记符在位位置8-15传输。
在位时间1期间,数据有效载荷中传输的数据的长度在位位置0-5传输。在一个实施例中,值00h指示没有数据,值01h指示2个位对的数据,值02h指示4个位对的数据,以及等等。位6-7保留。被写入的DRAM中位置的地址位39-32在位位置8-15传输。
在位时间2期间,被写入的DRAM中位置的地址位31-16在位位置0-15传输,而在位时间3期间,被写入的DRAM中位置的地址位3-15在位位置3-15传输。在位时间3期间,还在位位置0-1传输信息包优先级。位位置2保留。
在位时间4和5期间,数据有效载荷的第一位对的位0-15和16-31在位位置0-15传输。若正在写入更多的数据,则后续的位对可传输后续数据有效载荷的位0-15和16-31。在位时间4+2N和5+2N期间,CRC的位0-15和16-31分别在位位置0-15传输。
应注意的是,虽然仅显示了4种类型的信息包,但是可考虑使用对应于表3中所列命令码的其它类型的信息包。应进一步注意的是,虽然显示了示例性信息包的各种字段具有特定的位数,但是可考虑在其它实施例中,所选用信息包的各种字段可按需要包括其它的位数。
图6为计算机系统的一个实施例的方块图。计算机系统600包括处理节点612A-612D,各由相干的信息包接口链接(coherent packetinterface links)615A-615D所互连。相干信息包接口的各链接615可形成高速点对点链接。处理节点612A-612D可各包括一个或多个处理器。计算机系统600还包括I/O节点620,该I/O节点620经由不相干的信息包接口650A耦接至处理节点612A。I/O节点620例如可以由不相干的信息包接口650B而连接到链路布局中的另一个I/O节点(图中未显示)。处理节点612A显示为主节点,并可包括经由NC信息包接口650A而与I/O节点620通讯的主桥接器(host bridge)。处理节点612B-612D也可包括用于与其它I/O节点(图中未显示)通讯的主桥接器。由NC信息包接口650A-650B所形成的不相干信息包接口链接也可被称为点对点链接。I/O节点620连接至一对外围总线625A-625B。
图6还显示了耦接至处理节点612A和612B的各自系统内存(例如,617A和617B)。在所示意的实施例中,处理节点612A和612B各示意如图1中所示的主机,且各系统内存617可在上面结合图1和图2的描述所说明的配置中实施。而且,各处理节点612A和612B以及它们各自系统内存617之间的互连可以反映上面图1和图2中所说明的包括内存链接110C的内存互连。值得注意的是,在其它实施例中,可使用其它数目的处理节点。再者,例如,可考虑各处理节点612C和612D相似地连接至各自的系统内存,诸如系统内存617。
在所示意的实施例中,相干信息包接口的各链接615实施成单方向线组(例如,线615A用来将信息包从处理节点612A发送至处理节点612B,而线612B用来将信息包从处理节点612B发送至处理节点612C)。其它组的线615C-615D用来在图1中所示的其它处理节点之间发送信息包。可用高速缓存相干的方式来操作相干的信息包接口615,用于处理节点之间的通讯(“相干的链接”)。再者,不相干的信息包接口650可以用不相干的方式来操作,用于I/O节点之间的通讯和I/O节点与诸如处理节点612A的主桥接器的主桥接器之间的通讯(“不相干的链接”)。经由相干链接的两个或多个节点的互连可称为“相干的组构(coherent fabric)”。类似地,经由不相干链接的两个或多个节点的互连可称为“不相干的组构(non-coherent fabric)”。应注意的是,要从一个处理节点发送至另一个处理节点的信息包可通过一个或多个中间节点。例如,如图6中所示,由处理节点612A发送至处理节点612C的信息包可经由处理节点612B或处理节点612D。可使用任何适当的路由算法。计算机系统600的其它实施例可比图6中所示实施例包括有更多或更少的处理节点。
诸如不相干信息包接口650的信息包接口的一个例子可与HyperTransportTM技术兼容。外围总线625A和625B显示普通的外围总线(common peripheral bus),诸如外围组件互连(peripheral componentinterconnect,PCI)总线。然而,应了解,可使用其它类型的总线。
还应注意,可考虑使用其它的计算机系统配置。例如,预期上面图1至图5中所描述的系统内存配置可与采用了包含北桥接器的处理器芯片组的计算机系统结合使用。在这样的实施例中,北桥接器内的内存控制器可用作主机。
虽然已相当详细地描述了上述实施例,但是对于本领域的技术人员而言,一旦完全理解了上述公开,许多的改变和修改将是显而易见的。下列的权利要求将被解释为包括所有这样的改变和修改。
产业适用性
本发明通常用于计算机系统内存。

Claims (7)

1.一种通过串行内存互连以将主机(100)连接至多个内存模块(150A,150B)的系统(50),所述系统(50)的特征为:
所述内存模块(150A,150B)经由多个内存链接(110A,110B,110C)而在链路中串行耦接至所述主机,其中,各内存链接包括用于向所述主机传输事务处理的上行链接(211A),以及将源自所述主机的事务处理传输至所述链路中下一上内存模块的下行链接(212A),其中,所述多个内存模块的每一个包括内存控制集线器(160A,160B),所述内存控制集线器(160A,160B)配置以控制对多个内存芯片(261A至N)的存取,以及其中,所述上行链接和所述下行链接各为单方向链接,包括多个配置成用信息包来传输事务处理的信号,而所述信息包包括控制和配置信息包以及内存存取信息包,其中,至少一部分信息包包括控制、地址和数据信息,以及其中,所述控制、地址和数据信息共享所给定上行链接或下行链接的相同线路。
2.如权利要求1所述的系统,其中,配置所述内存控制集线器,以接收第一内存链接的第一下行链接(212A)上的事务处理,并在第二内存链接的第二下行链接(212B)上传输所述事务处理而与译码所述事务处理不相干。
3.如权利要求2所述的系统,其中,所述内存控制集线器包括DRAM控制器(250),且配置所述DRAM控制器(250),以响应将所述事务处理译码成具有内存地址的内存命令而存取所述多个内存芯片,而所述内存地址匹配与所述内存控制集线器相关的内存地址。
4.如权利要求1所述的系统,其中,配置所述内存控制集线器,以接收第一内存链接的第一上行链接上的事务处理并在第二内存链接的第二上行链接上传输所述事务处理,以及其中,所述内存控制集线器包括控制单元,且配置所述控制单元以将局部事务处理选择性地注入到正在所述第二上行链接上传输的事务处理序列中。
5.如权利要求1所述的系统,其中,所述主机包括内存控制器(105),所述内存控制器(105)配置成发出内存请求事务处理,而不用知道与所述各内存模块相关的内存大小或与所述任一个内存模块相关的地址范围。
6.如权利要求5所述的系统,其中,所述内存控制器进一步配置成在接收对先前的内存读取请求事务处理的响应之前,发出内存读取请求事务处理。
7.一种通过串行内存互连以将主机(100)连接至第一内存模块(150A)与第二内存模块(150B)的方法,所述方法的特征为以下步骤:
经由第一内存链接(110A)将所述主机(100)连接至所述第一内存模块(150A),该第一内存链接包括上行链接以及下行链接;以及
经由第二内存链接(110B)将所述第一内存模块连接至所述第二内存模块(150B),该第二内存链接包括上行链接以及下行链接;
其中,经由所述第一内存链接和所述第二内存链接将所述第一内存模块和所述第二内存模块串行连接至所述主机;
以及其中,每一个所述上行链接和所述下行链接各为单方向链接,包括多个配置成用信息包来传输事务处理的信号,而所述信息包包括控制和配置信息包以及内存存取信息包,其中,至少一部份信息包包括控制、地址和数据信息,以及其中,所述控制、地址和数据信息共享所给定上行链接或下行链接的相同线路;以及
其中,所述第一内存模块配置成接收所述第一内存链接上的事务处理,并在所述第二内存链接上传输所述事务处理而与译码所述事务处理不相干。
CNB2004800131820A 2003-05-13 2004-05-10 通过串行内存互连以将主机连接至内存模块的系统与方法 Active CN100444141C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47007803P 2003-05-13 2003-05-13
US60/470,078 2003-05-13

Publications (2)

Publication Number Publication Date
CN1788260A CN1788260A (zh) 2006-06-14
CN100444141C true CN100444141C (zh) 2008-12-17

Family

ID=33452363

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800131820A Active CN100444141C (zh) 2003-05-13 2004-05-10 通过串行内存互连以将主机连接至内存模块的系统与方法

Country Status (8)

Country Link
US (4) US20050166006A1 (zh)
JP (1) JP4836794B2 (zh)
KR (1) KR101095025B1 (zh)
CN (1) CN100444141C (zh)
DE (1) DE112004000821B4 (zh)
GB (1) GB2416056B (zh)
TW (1) TWI351613B (zh)
WO (1) WO2004102403A2 (zh)

Families Citing this family (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6464628B1 (en) 1999-08-12 2002-10-15 Obtech Medical Ag Mechanical anal incontinence
US6471635B1 (en) 2000-02-10 2002-10-29 Obtech Medical Ag Anal incontinence disease treatment with controlled wireless energy supply
CN1202784C (zh) 2000-02-10 2005-05-25 波滕西亚医疗公司 控制小便失禁的治疗
DE60135257D1 (de) 2000-02-10 2008-09-18 Potencia Medical Ag Mechanische Vorrichtung zur Impotenzbehandlung
AU778406B2 (en) 2000-02-11 2004-12-02 Potentica Ag Controlled impotence treatment
ATE296071T1 (de) 2000-02-14 2005-06-15 Potencia Medical Ag Penisprothese
WO2001047440A2 (en) 2000-02-14 2001-07-05 Potencia Medical Ag Male impotence prosthesis apparatus with wireless energy supply
US7565326B2 (en) * 2000-05-25 2009-07-21 Randle William M Dialect independent multi-dimensional integrator using a normalized language platform and secure controlled access
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US20030101312A1 (en) * 2001-11-26 2003-05-29 Doan Trung T. Machine state storage apparatus and method
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7254331B2 (en) * 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
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
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US7102907B2 (en) * 2002-09-09 2006-09-05 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7083420B2 (en) * 2003-02-10 2006-08-01 Leapfrog Enterprises, Inc. Interactive handheld apparatus with stylus
US7200787B2 (en) * 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7340537B2 (en) 2003-06-04 2008-03-04 Intel Corporation Memory channel with redundant presence detect
US8171331B2 (en) * 2003-06-04 2012-05-01 Intel Corporation Memory channel having deskew separate from redrive
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US7386768B2 (en) 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7245145B2 (en) * 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US20040264256A1 (en) * 2003-06-26 2004-12-30 Mauritz Karl H Electrical solution to enable high-speed interfaces
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
DE10335978B4 (de) * 2003-08-06 2006-02-16 Infineon Technologies Ag Hub-Baustein zum Anschließen von einem oder mehreren Speicherbausteinen
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7136958B2 (en) * 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
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
US7234070B2 (en) * 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US7721060B2 (en) * 2003-11-13 2010-05-18 Intel Corporation Method and apparatus for maintaining data density for derived clocking
US7533218B2 (en) 2003-11-17 2009-05-12 Sun Microsystems, Inc. Memory system topology
US20050138267A1 (en) * 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7181584B2 (en) * 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of 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
US20050210185A1 (en) * 2004-03-18 2005-09-22 Kirsten Renick System and method for organizing data transfers with memory hub memory modules
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7120723B2 (en) * 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US8050176B2 (en) * 2004-03-30 2011-11-01 The Boeing Company Methods and systems for a data processing system having radiation tolerant bus
US7228442B2 (en) * 2004-03-30 2007-06-05 The Boeing Company Method and systems for a radiation tolerant bus interface circuit
US7337273B2 (en) 2004-03-31 2008-02-26 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US6980042B2 (en) 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US20050240574A1 (en) * 2004-04-27 2005-10-27 International Business Machines Corporation Pre-fetching resources based on a resource lookup query
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7363419B2 (en) * 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7212423B2 (en) 2004-05-31 2007-05-01 Intel Corporation Memory agent core clock aligned to lane
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7310748B2 (en) * 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US8122187B2 (en) * 2004-07-02 2012-02-21 Qualcomm Incorporated Refreshing dynamic volatile memory
US20060015450A1 (en) * 2004-07-13 2006-01-19 Wells Fargo Bank, N.A. Financial services network and associated processes
US7254663B2 (en) * 2004-07-22 2007-08-07 International Business Machines Corporation Multi-node architecture with daisy chain communication link configurable to operate in unidirectional and bidirectional modes
US20060036826A1 (en) * 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
US7224595B2 (en) 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
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
US7742438B1 (en) * 2004-10-21 2010-06-22 Owlink Technology, Inc. HDCP data transmission over a single communication channel
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US20070005902A1 (en) * 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US7228472B2 (en) * 2005-01-11 2007-06-05 Hewlett-Packard Development Company, L.P. System and method to control data capture
US7809991B2 (en) * 2005-01-11 2010-10-05 Hewlett-Packard Development Company, L.P. System and method to qualify data capture
US7752016B2 (en) * 2005-01-11 2010-07-06 Hewlett-Packard Development Company, L.P. System and method for data analysis
US20060168407A1 (en) * 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7640392B2 (en) 2005-06-23 2009-12-29 Qualcomm Incorporated Non-DRAM indicator and method of accessing data not stored in DRAM array
US7620783B2 (en) * 2005-02-14 2009-11-17 Qualcomm Incorporated Method and apparatus for obtaining memory status information cross-reference to related applications
JP2006259906A (ja) * 2005-03-15 2006-09-28 Ricoh Co Ltd 通信制御装置、通信制御システム、省電力制御方法、省電力制御プログラム、および該プログラムを記録した記録媒体
JP4274140B2 (ja) 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code
EP2378391A1 (en) * 2005-04-21 2011-10-19 Violin Memory, Inc. Interconnection system
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
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
US20060288132A1 (en) * 2005-05-31 2006-12-21 Mccall James A Memory single-to-multi load repeater architecture
US20070016698A1 (en) * 2005-06-22 2007-01-18 Vogt Pete D Memory channel response scheduling
TWI285839B (en) * 2005-06-22 2007-08-21 Via Tech Inc Selectively prefetch method and bridge module
US7966446B2 (en) * 2005-09-12 2011-06-21 Samsung Electronics Co., Ltd. Memory system and method having point-to-point link
US7930492B2 (en) * 2005-09-12 2011-04-19 Samsung Electronics Co., Ltd. Memory system having low power consumption
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
TWI543185B (zh) * 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7496777B2 (en) 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7533212B1 (en) 2005-10-20 2009-05-12 Sun Microsystems, Inc. System memory board subsystem using DRAM with integrated high speed point to point links
US7523282B1 (en) 2005-10-27 2009-04-21 Sun Microsystems, Inc. Clock enable throttling for power savings in a memory subsystem
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
KR100818298B1 (ko) 2005-12-08 2008-03-31 한국전자통신연구원 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법
US7409491B2 (en) 2005-12-14 2008-08-05 Sun Microsystems, Inc. System memory board subsystem using DRAM with stacked dedicated high speed point to point links
US7516349B2 (en) 2005-12-29 2009-04-07 Intel Corporation Synchronized memory channels with unidirectional links
KR100656814B1 (ko) * 2006-01-17 2006-12-14 신잔토개발 주식회사 건설폐기물의 처리용 세골재 세척 분리 장치
ES2498096T3 (es) * 2006-03-31 2014-09-24 Mosaid Technologies Incorporated Esquema de control de sistema de memoria Flash
US8185711B2 (en) 2006-05-16 2012-05-22 Samsung Electronics Co., Ltd. Memory module, a memory system including a memory controller and a memory module and methods thereof
KR100801709B1 (ko) * 2006-05-16 2008-02-11 삼성전자주식회사 메모리 모듈 및 이를 구비한 메모리 시스템
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7430139B2 (en) * 2006-06-12 2008-09-30 Via Technologies, Inc. Shared memory synchronization systems and methods
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US9262326B2 (en) * 2006-08-14 2016-02-16 Qualcomm Incorporated Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7757064B2 (en) * 2006-09-07 2010-07-13 Infineon Technologies Ag Method and apparatus for sending data from a memory
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7861140B2 (en) * 2006-10-31 2010-12-28 Globalfoundries Inc. Memory system including asymmetric high-speed differential memory interconnect
US7694031B2 (en) 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
US20080104352A1 (en) * 2006-10-31 2008-05-01 Advanced Micro Devices, Inc. Memory system including a high-speed serial buffer
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US20080133864A1 (en) * 2006-12-01 2008-06-05 Jonathan Randall Hinkle Apparatus, system, and method for caching fully buffered memory
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US7881303B2 (en) * 2006-12-13 2011-02-01 GlobalFoundries, Inc. Command packet packing to mitigate CRC overhead
US8032711B2 (en) * 2006-12-22 2011-10-04 Intel Corporation Prefetching from dynamic random access memory to a static random access memory
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US7783918B2 (en) * 2007-02-15 2010-08-24 Inventec Corporation Data protection method of storage device
WO2008098342A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US8122202B2 (en) * 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
US7796462B2 (en) * 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
JP5669338B2 (ja) * 2007-04-26 2015-02-12 株式会社日立製作所 半導体装置
TW200901042A (en) * 2007-06-23 2009-01-01 Jmicron Technology Corp Storage device and circuit element switching method thereof
US7890788B2 (en) * 2007-07-09 2011-02-15 John Yin Clock data recovery and synchronization in interconnected devices
WO2009027802A1 (en) * 2007-08-28 2009-03-05 Nokia Corporation Method for bus testing and addressing in mass memory components
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
KR100934227B1 (ko) 2007-09-21 2009-12-29 한국전자통신연구원 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치
US8503678B2 (en) 2007-09-28 2013-08-06 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
EP2201463A4 (en) * 2007-10-05 2010-10-13 Violin Memory Inc MESOSYNCHRONES DATA BUSBOX AND DATA TRANSMISSION METHOD
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
EP3964243A1 (en) 2008-01-28 2022-03-09 Implantica Patent Ltd Blood clot removal device, system, and method
BRPI0906746A8 (pt) 2008-01-29 2019-05-14 Implantica Patent Ltd aparelho para tratamento de doença de refluxo gastresofágico
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
US8516185B2 (en) * 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US20100005206A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Automatic read data flow control in a cascade interconnect memory system
US8139390B2 (en) * 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US8122421B2 (en) * 2008-08-14 2012-02-21 Omnivision Technologies, Inc. System, and method, and computer readable medium for designing a scalable clustered storage integrated circuit for multi-media processing
US8560735B2 (en) 2008-08-15 2013-10-15 Micron Technology, Inc. Chained bus method and device
ES2950024T3 (es) 2008-10-10 2023-10-04 Medicaltree Patent Ltd Dispositivo, sistema y procedimiento de ayuda al corazón
EP2349170B1 (en) 2008-10-10 2023-09-27 Implantica Patent Ltd. Apparatus for the treatment of female sexual dysfunction
US8874215B2 (en) 2008-10-10 2014-10-28 Peter Forsell System, an apparatus, and a method for treating a sexual dysfunctional female patient
US9072907B2 (en) 2008-10-10 2015-07-07 Peter Forsell Heart help device, system, and method
US11123171B2 (en) 2008-10-10 2021-09-21 Peter Forsell Fastening means for implantable medical control assembly
EP2349096B1 (en) 2008-10-10 2021-01-27 MedicalTree Patent Ltd. An improved artificial valve
DE102009004565B4 (de) * 2009-01-14 2015-04-02 Texas Instruments Deutschland Gmbh Vorrichtung und Verfahren zum Zwischenspeichern von Daten zwischen Speichercontroller und DRAM
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
CN101872308A (zh) * 2009-04-25 2010-10-27 鸿富锦精密工业(深圳)有限公司 内存条控制系统及其控制方法
US8046628B2 (en) * 2009-06-05 2011-10-25 Micron Technology, Inc. Failure recovery memory devices and methods
US8521980B2 (en) * 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US9949812B2 (en) 2009-07-17 2018-04-24 Peter Forsell Vaginal operation method for the treatment of anal incontinence in women
US10952836B2 (en) 2009-07-17 2021-03-23 Peter Forsell Vaginal operation method for the treatment of urinary incontinence in women
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8923405B1 (en) * 2010-01-25 2014-12-30 Ambarella, Inc. Memory access ordering for a transformation
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US20120079313A1 (en) * 2010-09-24 2012-03-29 Honeywell International Inc. Distributed memory array supporting random access and file storage operations
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
WO2013028859A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US8495440B2 (en) 2011-08-30 2013-07-23 Advanced Micro Devices, Inc. Fully programmable parallel PRBS generator
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
WO2013141545A1 (ko) 2012-03-21 2013-09-26 삼성에스디에스 주식회사 안티-멀웨어 시스템 및 상기 시스템에서의 데이터 처리 방법
CN102693337B (zh) * 2012-05-11 2014-04-30 江苏中科梦兰电子科技有限公司 8位位宽和16位位宽内存芯片兼容的内存设备设计方法
US9285865B2 (en) 2012-06-29 2016-03-15 Oracle International Corporation Dynamic link scaling based on bandwidth utilization
US9390018B2 (en) * 2012-08-17 2016-07-12 Advanced Micro Devices, Inc. Data cache prefetch hints
US9348753B2 (en) 2012-10-10 2016-05-24 Advanced Micro Devices, Inc. Controlling prefetch aggressiveness based on thrash events
CN103988186A (zh) * 2012-10-12 2014-08-13 华为技术有限公司 内存系统、内存模块、内存模块的访问方法以及计算机系统
JP5985403B2 (ja) 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
KR20150010150A (ko) * 2013-07-18 2015-01-28 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
JP5931816B2 (ja) 2013-08-22 2016-06-08 株式会社東芝 ストレージ装置
CN104461727A (zh) * 2013-09-16 2015-03-25 华为技术有限公司 内存模组访问方法及装置
US9141541B2 (en) 2013-09-20 2015-09-22 Advanced Micro Devices, Inc. Nested channel address interleaving
JP2015152949A (ja) 2014-02-10 2015-08-24 株式会社東芝 ストレージシステム
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9396065B2 (en) * 2014-06-25 2016-07-19 Intel Corporation Extensible memory hub
US9336047B2 (en) 2014-06-30 2016-05-10 International Business Machines Corporation Prefetching of discontiguous storage locations in anticipation of transactional execution
US9710271B2 (en) 2014-06-30 2017-07-18 International Business Machines Corporation Collecting transactional execution characteristics during transactional execution
US9600286B2 (en) 2014-06-30 2017-03-21 International Business Machines Corporation Latent modification instruction for transactional execution
US9448939B2 (en) 2014-06-30 2016-09-20 International Business Machines Corporation Collecting memory operand access characteristics during transactional execution
US9348643B2 (en) 2014-06-30 2016-05-24 International Business Machines Corporation Prefetching of discontiguous storage locations as part of transactional execution
US9792246B2 (en) 2014-12-27 2017-10-17 Intel Corporation Lower-power scrambling with improved signal integrity
US10496543B2 (en) 2016-03-31 2019-12-03 Samsung Electronics Co., Ltd. Virtual bucket multiple hash tables for efficient memory in-line deduplication application
US10528284B2 (en) * 2016-03-29 2020-01-07 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US10678704B2 (en) 2016-03-29 2020-06-09 Samsung Electronics Co., Ltd. Method and apparatus for enabling larger memory capacity than physical memory size
US10573354B2 (en) * 2016-09-22 2020-02-25 Smart Modular Technologies, Inc. High density memory module system
US10095421B2 (en) 2016-10-21 2018-10-09 Advanced Micro Devices, Inc. Hybrid memory module bridge network and buffers
US11373691B2 (en) 2019-12-20 2022-06-28 Micron Technology Inc. Clock locking for packet based communications of memory devices
US11513976B2 (en) * 2020-03-31 2022-11-29 Western Digital Technologies, Inc. Advanced CE encoding for bus multiplexer grid for SSD
TWI756810B (zh) * 2020-09-02 2022-03-01 瑞昱半導體股份有限公司 晶片與相關的晶片系統
TWI802065B (zh) * 2021-10-29 2023-05-11 飛捷科技股份有限公司 可控制周邊裝置電源與訊號的通信介面轉接器、動態分配通信介面轉接器識別碼的方法及自動化診斷周邊裝置並修復問題的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
WO2002023353A2 (en) * 2000-09-18 2002-03-21 Intel Corporation Apparatus for implementing a buffered daisy-chain ring connection between a memory controller and memory modules

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0740225B2 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
US5434861A (en) * 1989-02-02 1995-07-18 Pritty; David Deterministic timed bus access method
GB2234372A (en) 1989-07-18 1991-01-30 Anamartic Ltd Mass memory device
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
JP3548616B2 (ja) * 1995-01-20 2004-07-28 株式会社日立製作所 情報処理装置
US6226723B1 (en) * 1996-09-20 2001-05-01 Advanced Memory International, Inc. Bifurcated data and command/address communication bus architecture for random access memories employing synchronous communication protocols
JP3189727B2 (ja) * 1997-04-15 2001-07-16 日本電気株式会社 コプロセッサ内蔵パケット型メモリlsi、それを用いたメモリシステム及びそれらの制御方法
US6442644B1 (en) * 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
US6970968B1 (en) * 1998-02-13 2005-11-29 Intel Corporation Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6154821A (en) * 1998-03-10 2000-11-28 Rambus Inc. Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US6643745B1 (en) * 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
US6249840B1 (en) * 1998-10-23 2001-06-19 Enhanced Memory Systems, Inc. Multi-bank ESDRAM with cross-coupled SRAM cache registers
US6272601B1 (en) * 1999-05-20 2001-08-07 International Business Machines Corporation Critical word forwarding in a multiprocessor system
US6567023B1 (en) * 1999-09-17 2003-05-20 Kabushiki Kaisha Toshiba Analog to digital to analog converter for multi-valued current data using internal binary voltage
JP3892655B2 (ja) * 1999-09-17 2007-03-14 株式会社東芝 半導体集積回路装置
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US6430648B1 (en) * 2000-01-05 2002-08-06 International Business Machines Corporation Arranging address space to access multiple memory banks
KR100335501B1 (ko) * 2000-06-09 2002-05-08 윤종용 향상된 데이터 버스 성능을 갖는 메모리 모듈
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6493250B2 (en) * 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US6665742B2 (en) * 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
US6571318B1 (en) * 2001-03-02 2003-05-27 Advanced Micro Devices, Inc. Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism
US6877079B2 (en) * 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
JP2002278825A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd メモリ制御装置
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US6760817B2 (en) * 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
US7184408B2 (en) * 2001-07-31 2007-02-27 Denton I Claude Method and apparatus for programmable generation of traffic streams
DE10146491B4 (de) * 2001-09-21 2006-04-13 Infineon Technologies Ag Elektronische Schaltung mit einer Treiberschaltung
US6781911B2 (en) * 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
TW569096B (en) * 2002-09-17 2004-01-01 Integrated Technology Express The cache/prefetch frame of serial data system and its method of operation
US6996639B2 (en) * 2002-12-10 2006-02-07 Intel Corporation Configurably prefetching head-of-queue from ring buffers
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604689A (en) * 1983-04-15 1986-08-05 Convergent Technologies, Inc. Bus repeater
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
WO2002023353A2 (en) * 2000-09-18 2002-03-21 Intel Corporation Apparatus for implementing a buffered daisy-chain ring connection between a memory controller and memory modules

Also Published As

Publication number Publication date
US20040230718A1 (en) 2004-11-18
KR20060009345A (ko) 2006-01-31
KR101095025B1 (ko) 2011-12-20
DE112004000821T5 (de) 2006-05-11
US20050162882A1 (en) 2005-07-28
GB2416056A (en) 2006-01-11
JP4836794B2 (ja) 2011-12-14
JP2006528394A (ja) 2006-12-14
WO2004102403A3 (en) 2005-08-25
DE112004000821B4 (de) 2016-12-01
TW200508875A (en) 2005-03-01
CN1788260A (zh) 2006-06-14
GB2416056B (en) 2006-08-23
GB0521694D0 (en) 2005-11-30
US20050071542A1 (en) 2005-03-31
TWI351613B (en) 2011-11-01
WO2004102403A2 (en) 2004-11-25
US7421525B2 (en) 2008-09-02
US20050166006A1 (en) 2005-07-28
US7016213B2 (en) 2006-03-21

Similar Documents

Publication Publication Date Title
CN100444141C (zh) 通过串行内存互连以将主机连接至内存模块的系统与方法
US11669379B2 (en) Controller that receives a cyclic redundancy check (CRC) code for both read and write data transmitted via bidirectional data link
US6658509B1 (en) Multi-tier point-to-point ring memory interface
US7159137B2 (en) Synchronized communication between multi-processor clusters of multi-cluster computer systems
US6948031B2 (en) Methods and apparatus for transferring a data element within a data storage system
USRE40877E1 (en) Method of communicating data in an interconnect system
US7590882B2 (en) System, method and storage medium for bus calibration in a memory subsystem
US20050034049A1 (en) Communication between multi-processor clusters of multi-cluster computer systems
US20050223179A1 (en) Buffer device and method of operation in a buffer device
US20050034048A1 (en) Reliable communication between multi-processor clusters of multi-cluster computer systems
WO1997015055A1 (en) Method and apparatus for providing a memory with write enable information
WO2005050941A2 (en) Data accumulation between data path and memory device
US20050034033A1 (en) Communication between and within multi-processor clusters of multi-cluster computer systems
EP0692117A1 (en) Ultra high speed parallel data fusion system
US7007115B2 (en) Removing lane-to-lane skew
US20040260832A1 (en) Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
US7721160B2 (en) System for protecting data during high-speed bidirectional communication between a master device and a slave device
US5369755A (en) Computer communication bus system using multiple content induced transaction overlap (CITO) communication channels
US6779072B1 (en) Method and apparatus for accessing MMR registers distributed across a large asic
US6834362B2 (en) Apparatus and method for error detection on source-synchronous buses
US5299196A (en) Distributed address decoding for bus structures
CN101228733B (zh) 在两个异步系统之间传递数据的方法及异步数据缓冲器
AU682352C (en) Ultra high speed data collection, processing and distribution ring with parallel data paths between nodes

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