CN100444141C - 通过串行内存互连以将主机连接至内存模块的系统与方法 - Google Patents
通过串行内存互连以将主机连接至内存模块的系统与方法 Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 305
- 230000005540 biological transmission Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 21
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 description 32
- 238000012937 correction Methods 0.000 description 20
- 238000011084 recovery Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 2
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
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/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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- 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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using 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),该第二内存链接包括上行链接以及下行链接;
其中,经由所述第一内存链接和所述第二内存链接将所述第一内存模块和所述第二内存模块串行连接至所述主机;
以及其中,每一个所述上行链接和所述下行链接各为单方向链接,包括多个配置成用信息包来传输事务处理的信号,而所述信息包包括控制和配置信息包以及内存存取信息包,其中,至少一部份信息包包括控制、地址和数据信息,以及其中,所述控制、地址和数据信息共享所给定上行链接或下行链接的相同线路;以及
其中,所述第一内存模块配置成接收所述第一内存链接上的事务处理,并在所述第二内存链接上传输所述事务处理而与译码所述事务处理不相干。
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)
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)
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)
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 |
-
2004
- 2004-05-10 GB GB0521694A patent/GB2416056B/en active Active
- 2004-05-10 WO PCT/US2004/014441 patent/WO2004102403A2/en active Application Filing
- 2004-05-10 US US10/842,298 patent/US20050166006A1/en not_active Abandoned
- 2004-05-10 US US10/842,296 patent/US7421525B2/en active Active
- 2004-05-10 DE DE112004000821.2T patent/DE112004000821B4/de active Active
- 2004-05-10 KR KR1020057021598A patent/KR101095025B1/ko active IP Right Grant
- 2004-05-10 JP JP2006532883A patent/JP4836794B2/ja active Active
- 2004-05-10 US US10/842,297 patent/US7016213B2/en not_active Expired - Fee Related
- 2004-05-10 CN CNB2004800131820A patent/CN100444141C/zh active Active
- 2004-05-10 US US10/842,339 patent/US20050071542A1/en not_active Abandoned
- 2004-05-12 TW TW093113296A patent/TWI351613B/zh active
Patent Citations (3)
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 |