CN100507874C - 用于存储器系统性能监视的存储器集线器和方法 - Google Patents
用于存储器系统性能监视的存储器集线器和方法 Download PDFInfo
- Publication number
- CN100507874C CN100507874C CNB2004800392568A CN200480039256A CN100507874C CN 100507874 C CN100507874 C CN 100507874C CN B2004800392568 A CNB2004800392568 A CN B2004800392568A CN 200480039256 A CN200480039256 A CN 200480039256A CN 100507874 C CN100507874 C CN 100507874C
- Authority
- CN
- China
- Prior art keywords
- memory
- hub
- performance counter
- performance
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, 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/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/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Abstract
一种存储器模块,包括和多个存储器装置连接的存储器集线器。该存储器集线器包括至少一个性能计数器,该性能计数器跟踪一个或多个系统度量,例如页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数和/或远程集线器请求速率或次数。
Description
对相关申请的交叉引用
本发明要求2003年12月29日提交的,题目为“MEMORY HUBAND METHOD FORM EMORY SYSTEM PERFORMANCEMONITORING”的10/747,984号美国专利申请的优先权,在这里将其结合进来作为参考。
技术领域
本发明涉及计算机系统,具体涉及具有存储器集线器(memoryhub)的计算机系统,其中的存储器集线器将多个存储器装置和处理器或其它存储器访问装置连接起来。
背景技术
计算机系统使用存储器装置,如动态随机存取存储器(DRAM)装置来存储由处理器访问的数据。这些存储器装置通常作为计算机系统的系统存储器使用。在典型的计算机系统中,处理器通过处理器总线以及存储器控制器与系统存储器通信。处理器发出存储器请求,该存储器请求包括如读命令一样的存储器命令以及一个指定要从中读取数据或指令的位置的地址。存储器控制器利用命令和地址产生适当的命令信号以及行和列地址,这些信息被应用于系统存储器。响应这些命令和地址,在系统存储器和处理器间传送数据。存储器控制器通常是系统控制器的一部分。系统控制器还包括用于把处理器总线和扩展总线如PCI总线连接起来的总线桥电路。
尽管存储器装置的运行速度一直在提高但是这种运行速度的提高未能赶上处理器运行速度的提高。连接处理器和存储器装置的存储器控制器的运行速度的提高更慢。存储器控制器和存储器装置的较慢速度限制了处理器和存储器装置间的数据带宽。
除了处理器和存储器装置间有限的带宽外,计算机系统的性能还受等待时间问题的限制,等待时间问题增加了从系统存储器装置读数据所需的时间。具体而言,将存储器装置读命令传送给系统存储器装置,如同步DRAM(SDRAM)装置时,所读数据只有在几个时钟周期的延迟后才从SDRAM装置输出。因此,尽管SDRAM装置能够以高数据速率同步输出突发数据,但是最初提供数据的延迟会严重降低使用这种SDRAM装置的计算机系统的运行速度。
缓解存储器等待时间问题的途径之一是使用通过存储器集线器和处理器连接的多个存储器装置。在存储器集线器的结构中,系统控制器或存储器控制器和多个存储器模块连接,每个存储器模块包括和多个存储器装置连接的存储器集线器。存储器集线器在控制器和存储器装置间高效地传送存储器请求和响应。采用这种结构的计算机系统能够有更高的带宽,因为在一个存储器装置对在先的存储器访问作出响应的同时,处理器可以访问另一个存储器装置。例如,处理器可以向系统的一个存储器装置输出写数据,而系统的另一个存储器装置则在准备为处理器提供读数据。
尽管采用存储器集线器的计算机系统能够提供优越的性能,但是因为若干原因,它们还是经常不能以最优的速度运行。例如,尽管存储器集线器可以为计算机系统提供更大的存储器带宽,但是计算机系统依然存在前文描述的那种等待时间问题。具体而言,尽管在一个存储器装置准备传送数据的同时,处理器可以与另一个存储器通信,但是有时在能够利用来自另一个存储器装置的数据之前,需要先从一个存储器装置接收数据。如果必须在能够利用接收自一个存储器装置的数据之前接收来自另一个存储器装置的数据,等待时间问题会继续降低这种计算机系统的运行速度。
已经用来缩短存储器装置等待时间的一种技术是预取数据,即,在执行的程序请求数据之前,从系统存储器读取这些数据。通常,要预取的数据是根据以前获取的数据的模式选择的。这个模式可以象从中获取数据的地址序列一样简单,从而在执行的程序需要数据之前,能够从这个序列中随后的地址获取这些数据。当然这种模式,也称为“跨距”(stride),可以更复杂。
此外,尽管存储器集线器可以为计算机系统提供更大的存储器带宽,但是计算机系统还是存在吞吐量问题。例如,在可以从存储器单元的某一行读数据之前,通常通过平衡阵列中的数字线对阵列中的数字线进行预充电。然后通过连接这一行的存储器单元和相应列中的数字线来打开这一行。然后,连接在每一列中数字线之间的相应感应放大器,响应对应于存储在相应存储器单元中的数据的电压变化。一旦将行打开,就可以通过将数字线连接到数据读路径,从打开的行的每一列传送数据。因此,打开一行,也称为一页,会耗费一定量的时间,给存储器的吞吐量带来限制。
最后,是否预取数据(以及预取哪些数据),是否预充电或打开一行,以及是否缓存访问的数据,关于这些问题的最优决策可以随时间改变,并且随着和存储器集线器连接的处理器执行的应用程序而改变。
存储器集线器结构的另一个潜在问题涉及把存储器集线器用作渠道,通过存储器集线器将存储器请求和数据传送给下游存储器模块以及从下游存储器模块传送过来。如果存储器请求和数据不能通过存储器集线器有效地传送,采用存储器集线器的存储器系统的存储器带宽会严重受限。
所有上述问题都可以通过配置存储器模块的不同方面得到某种程度的解决,这里的存储器模块包括安装在模块上的存储器集线器。然而,在能够优化存储器模块的配置前,需要或者应该分析存储器集线器的性能,以便确定哪些方面有性能欠缺。然而,尚未开发出合适的技术来分析基于处理器的系统中使用的存储器系统的现有性能。
因此,需要一种计算机结构,它具有存储器集线器结构的优点,这种存储器集线器结构能够确定使用这种存储器集线器结构的存储器系统的性能,从而能够优化系统配置。
发明内容
根据本发明的一个方面,提供包括多个存储器装置和存储器集线器的存储器模块和方法。存储器集线器包括链路接口,如光输入/输出端口,该链路接口接收存储器请求,以访问至少一个所述存储器装置的存储器单元。存储器集线器还包括和存储器装置连接的存储器装置接口,该存储器装置接口用于把存储器请求传送给存储器装置,以访问至少一个所述存储器装置的存储器单元,并接收响应至少一些存储器请求而提供的读数据。存储器集线器还包括性能计数器,该性能计数器和存储器装置接口和/或链路接口连接。性能计数器用于跟踪从包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数的组中选出的至少一个度量。
附图说明
图1是根据本发明一个实例的计算机系统的框图,其中多个存储器模块中的每一个都包括存储器集线器。
图2是图1所示计算机系统使用的存储器集线器的框图,这个存储器集线器包括本发明的一个实例中的性能监视器。
图3是包括本发明一个实例中性能计数器的存储器集线器的框图。
具体实施方式
图1示出了本发明一个实例中的计算机系统100。该计算机系统100包括处理器104,处理器104用于实现各种计算机功能,如运行特定软件以完成特定计算或任务。处理器104包括处理器总线106,该总线通常包括地址总线、控制总线和数据总线。处理器总线106通常和高速缓冲存储器108连接,该高速缓冲存储器,如前文所述,通常是静态随机存取存储器(SRAM)。最后,处理器总线106和系统控制器110连接,该控制器110有时也称为“北桥”或“存储器控制器”。
系统控制器110充当很多其它组件到处理器104的通信路径。具体而言,系统控制器110包括图形端口,该图形端口通常和图形控制器112连接,图形控制器112则和视频终端114连接。系统控制器110还和一个或多个输入装置118如键盘或鼠标连接,以使操作者和计算机系统110对接。通常,计算机系统100还包括通过系统控制器110和处理器连接的一个或多个输出装置120,如打印机。一个或多个数据存储装置124通常也通过系统控制器110和处理器104连接,使处理器104能够将数据存入内部或外部存储介质(未示出)或从中获得数据。典型存储装置124的实例包括硬盘、软盘、磁带和光盘只读存储器(CD-ROM)。
系统控制器110和若干个存储器模块130a,b…n连接,这些存储器模块充当计算机系统100的系统存储器。存储器模块130优选通过高速链路134和系统控制器110连接,该高速链路可以是光或电通信路径或一些其它类型的通信路径。如果将高速链路134实施为光通信路径,该光通信路径的形式可以是例如一根或多根光纤。这种情况下,系统控制器110和存储器模块包括光输入/输出端口或单独的和光通信路径连接的输入和输出端口。示出的存储器模块130和系统控制器110间的连接为点到点布局,其中,每段高速链路134只连接于两点之间。因此,除了最后一个存储器模块130n外,所有的存储器模块都用作存储器请求和来自以及传送到下游存储器模块130的数据的渠道。然而,应该明白,也可以采用其它拓扑。也可以采用交换拓扑,其中系统控制器110通过交换机(未示出)选择性地和每个存储器模块130连接。可用的其它拓扑对于本领域的技术人员而言是显而易见的。
每个存储器模块130都包括存储器集线器140,用于控制对32个存储器装置148的访问,在图1示出的实例中,这32个存储器装置是同步动态随机存取存储器(SDRAM)装置。除了最后一个存储器模块外,所有存储器模块130中的存储器集线器140也可以充当将存储器命令传送到下游存储器集线器140和来自以及传送到下游存储器集线器140的数据的渠道。然而,可以使用更少或更多数目的存储器装置148,当然也可以使用非SDRAM装置的存储器装置。在图1示出的实例中,存储器集线器140通过高速链路134在4个独立的存储器通道149上进行通信。在这个实例中,尽管图1并未示出,提供了4个存储器集线器控制器128,每个都用来从一个存储器通道149接收数据。然而,在其它实例中,可以使用更少或更多数目的存储器通道149。存储器集线器140通过总线系统150和每个系统存储器装置148连接,该总线系统通常包括控制总线、地址总线和数据总线。
图2示出了本发明一个实施例中的存储器集线器200。存储器集线器200可以代替图1中的存储器集线器140。图2示出的存储器集线器200同四个存储器装置240a~d连接,这四个存储器装置在本例中是传统的SDRAM装置。在另一个实施例中,存储器集线器200和四个不同的存储器装置组连接,而不是仅仅和四个不同的存储器装置240a~d连接,其中每一组通常有若干个存储器装置。然而,为了提供一个范例,本描述将参考和四个存储器装置240a~d连接的存储器集线器200。应该明白,对存储器集线器200进行必要的修改以包括多组存储器包括在本领域技术人员的知识范围内。
存储器集线器200还包括链路接口210a~d和212a~d,分别用于将存储器集线器200位于其上的存储器模块与第一高速数据链路220和第二高速数据链路222连接起来。链路接口210a~d和212a~d允许将存储器集线器200作为存储器请求和来自以及去往下游存储器模块130的数据间的渠道。如前文关于图1的讨论一样,高速数据链路220、222可用光或电通信路径或一些其它类型的通信路径实现。链路接口210a~d和212a~d为传统接口,包括用于向高速数据链路220、222传输或接收数据、命令和地址信息的电路。众所周知,这种电路包括本领域公知的发射机和接收机逻辑。显然,本领域普通技术人员完全明白可以修改用于特定类型的通信路径的链路接口210a~d、212a~d,并且,这种对链路接口210a~d、212a~d的修改可以不偏离本发明的范围。例如,如果用光通信路径实现高速数据链路220、222,链路接口210a~d、212a~d就包括可以将通过光通信路径的光信号转化为电信号的光输入/输出端口。
链路接口210a~d、212a~d通过多条由总线214表示的总线和信号线连接到交换机260。总线214是传统总线,包括写数据总线和读数据总线,尽管也可以用单根双向数据总线来传递通过链路接口210a~d、212a~d的双向数据。本领域的普通技术人员应该理解,总线214是以实例的形式示出的,总线214可以包括更多或更少的信号线,如还包括请求线和轮询(snoop)线,可以将其用于保持高速缓存一致。
链路接口210a~d、212a~d包括允许存储器集线器200以前文解释过的点到点结构在系统存储器中连接的电路。这种类型的相互连接提供了处理器104和存储器集线器200间更好的信号连接,这有几个原因,其中包括,较小的电容,反射信号的较少的线路不连续点和较短的信号路径。然而,也可以将链路接口210a~d、212a~d用来以多种其它结构来连接至存储器集线器200。
交换机260还和四个存储器接口270a~d连接,这些存储器接口则分别和系统存储器装置240a~d连接。通过为每个系统存储器240a~d分别提供分开的独立存储器接口270a~d,存储器集线器200能够避免总线或存储器组中通常发生在单通道存储器结构中的冲突。交换机260通过多条由总线274表示的总线和信号线与每个存储器接口连接。总线274包括写数据总线、读数据总线和请求线。然而,应该理解,也可以用单根双向数据总线代替分开的写数据总线和读数据总线。此外,与前面描述的相比,总线274也可以包括更多或更少的信号线。
在本发明的一个实施例中每个存储器接口270a~d特别适合于它连接的系统存储器装置240a~d。具体而言,每个存储器接口270a~d特别适合于分别提供和接收它连接的系统存储器装置240a~d接收和产生的特殊信号。而且,存储器接口270a~d能够与工作于不同时钟频率的系统存储器装置240a~d一起工作。这样,存储器接口270a~d将处理器104与可能发生在存储器集线器230和连接至存储器集线器200的存储器装置240a~d间接口上的变化相隔离,而且,存储器接口270a~d提供了存储器装置240a~d可与之对接的更加受控的环境。
和链路接口210a~d、212a~d以及存储器接口270a~d连接的交换机260可以是多种传统或今后开发的交换机中的一种。例如,交换机260可以是能够同时以多种方式将链路接口210a~d、212a~d和存储器接口270a~d互相连接的十字(cross-bar)交换机。交换机260也可以是一组复用器,这组复用器不能提供和交叉棒交换机同等级别的连接,但是可以把链路接口210a~d、212a~d中的一些或全部和每个存储器接口270a~d连接起来。交换机260还可以包括仲裁逻辑(未示出),以确定相比于其它存储器存取哪个存储器存取应该具有优先权。执行这一功能的总线仲裁对于本领域的技术人员而言是众所周知的。
继续参考图2,每个存储器接口270a~d都包括各自的存储器控制器280、各自的写缓冲器282和各自的高速缓冲存储器单元284。通过为其连接的系统存储器装置240a~d提供控制、地址和数据信号,并且从其连接的系统存储器装置240a~d接收数据信号,存储器控制器280执行和传统存储器控制器同样的功能。写缓冲器282和高速缓冲存储器单元284包括缓冲器和高速缓冲存储器的普通组件,其中包括标签存储器、数据存储器、比较器和其它类似组件,这在本领域是熟知的。写缓冲器282和高速缓冲存储器284所用的存储器装置可以是DRAM装置、静态随机存取存储器(SRAM)装置、其它类型的存储器装置,或者这三种装置的组合。此外,高速缓冲存储器284所用的这些存储器装置以及其它组件中的任何一个或所有部分,可以是嵌入式装置,也可以是独立装置。
每个存储器接口270a~d中的写缓冲器282用于在处理读请求时存储写请求。在这种系统中,处理器104可以向系统存储器装置240a~d发出写请求,即便写请求所发向的存储器装置正忙于处理在先的写或读请求。使用这种方法,可以不按顺序处理存储器请求,这是因为较早的写请求可以在处理随后的读请求时存储在写缓冲器282中。缓冲写请求而处理读请求的能力可以大幅度缩短存储器读等待时间,因为不考虑读请求的时间顺序而给予其第一优先级。例如,和读请求间隔分布的一系列写请求可以存储在写缓冲器282中,可以采用流水线方式处理读请求,然后以流水线方式处埋存储的写请求。这样,可以避免把写请求传送给存储器装置270a~d,然后把读请求传送给存储器装置270a~d,读写请求交替之间漫长的稳定时间。
如果数据刚从存储器装置240a~d读出或写入过,那么在每个存储器接口270a~d中使用高速缓冲存储器单元284就允许处理器104响应发送给相应系统存储器装置240a~d的读命令接收这些数据,而不必等待存储器装置240a~d来提供这些数据。因此,高速缓冲存储器单元284缩短了系统存储器装置240a~d的读等待时间,使计算机系统的存储器带宽最大。同样地,处理器104可以在高速缓冲存储器单元284中存储写数据,然后在同一个存储器接口270a~d中的存储器控制器280从高速缓冲存储器单元284向它连接的系统存储器装置240a~d传送写数据时,执行其它功能。
存储器集线器200中还包括性能监视器290,性能监视器290通过诊断总线292和交换机260连接。性能监视器290通过交换机260监视存储器集线器260的性能。例如,性能监视器290可以跟踪存储器集线器200中的缓存命中次数、存储器页面命中次数或预取命中次数。性能监视器290也可以通过链路接口210a~d、212a~d和交换机260来监视通过存储器集线器200的存储器请求和数据的传送,以确定集线器200有多忙,以及是否有效地没有过多延迟地传送了存储器请求和数据。性能监视器290还和维护总线296连接,如系统管理总线(SMBus)或者符合联合测试行动小组(JTAG)和IEEE 1149.1标准的维护总线。SMBus和JTAG标准都是本领域的普通技术人员所公知的。通常,维护总线296为用户提供了对性能监视器290跟踪的性能统计的访问。应该明白,可以将维护总线296修改为不同于传统总线标准而不偏离本发明的范围。还应该理解,性能统计可以用其它方式从性能监视器290传送。
存储器集线器200中还包括通过总线288和交换机260连接的DMA引擎286。DMA引擎286使得存储器集线器200可以把一块数据从系统存储器的一个位置移到系统存储器的另一个位置,而无需处理器104干预。总线288包括多个传统总线和信号线,如地址、控制、数据总线和其它类似总线,用于处理系统存储器中传送的数据。本领域的普通技术人员所熟知的传统DMA操作可以由DMA引擎286实现。DMA引擎286可以读取系统存储器中的链路列表,从而无需处理器干预来执行DMA存储器操作,从而使处理器104和带宽有限的系统总线免于执行存储器操作。DMA引擎286还可以包括用于支持多通道DMA操作的电路,如用于每个系统存储器装置240a~d的电路。这种多通道DMA引擎在本领域是熟知的,可以用传统技术实现。
性能监视器290优选为存储器集线器200中的嵌入式电路。然而,也可以包括连接至存储器集线器200的单独的性能监视器。
如前文所述,缩短存储器装置等待时间的方法之一是预取数据。因此,存储器集线器200还包括有预取缓冲器298的预取系统295。简而言之,存储器集线器200中的预取系统295预测程序执行过程中需要哪些数据,然后预取这些数据,并将其存储在是预取系统295一部分的一个或多个缓冲器如预取缓冲器298中。预取系统295包括有预取缓冲器298的多个预取缓冲器,预取缓冲器的数目可以根据运行状况而变化,就象前文提及的专利申请中解释的一样。简而言之,预取缓冲器从图2的存储器装置接口270c接收预取数据。数据存储于预取缓冲器中,因此可用于随后的存储器存取。随后将数据传送给链路接口212d。尽管图2示出了与存储器装置接口270c和链路接口212d连接的一个预取系统,但是应该理解,在一些实施例中,预取系统295可以与多个链路接口和/或多个存储器装置接口连接。此外,在一些实施例中,还可以有多个预取系统与一个或多个链路接口和/或存储器装置接口通信。
图3示出了存储器集线器获取性能数据的一部分的另一个实施例。在图3所示的实例中,提供了和存储器控制器302通信的至少一个性能计数器300。性能计数器300还和预取缓冲器306、缓存308、链路310和314以及维护总线318通信,应该理解,在本发明的一些实例中,性能计数器300可能不与图3示出的一个或多个组件通信。此外,在其它的实施例中,一个或多个性能控制器还与图3未示出的一些其它组件通信。
性能计数器300跟踪一个或多个和存储器存取和/或性能相关的度量,例如,在本发明的一个实例中,包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数。性能计数器300还监视通过存储器集线器的存储器请求和数据的传送,以确定集线器有多忙,以及是否有效地传送了存储器请求和数据而没有过多延迟。应该理解,性能计数器300也可以监视其它性能特性,这依赖于存储器集线器和与计数器通信的组件的配置。在这两种情况下,性能计数器300跟踪性能特性,优选发送这些来自存储器模块130的特性,以便这些特性可以得到检验。例如,可以通过维护总线318传送性能特性的数据指示。维护总线318可以为一个用户提供对性能计数器300的访问,以评估计算机系统的性能。例如,可以通过维护总线318将性能特性下载至单独的PC主机。传送和/或使用性能特性的其它方式对于本领域的技术人员而言是显而易见的。
根据前文应该理解,尽管为了进行说明描述了本发明的具体实施例,但是可以进行各种修改而不会偏离本发明的精神和范围。因此,本发明的范围应该由后附的权利要求来限定。
Claims (34)
1、一种存储器模块,包括
多个存储器装置;以及
存储器集线器,包括:
链路接口,接收访问所述多个存储器装置的至少一个中的多个存储器单元的多个存储器请求;
存储器装置接口,和所述多个存储器装置连接,该存储器装置接口用于把多个存储器请求传送给所述多个存储器装置,以访问所述存储器装置的至少一个中的多个存储器单元,并且接收响应所述存储器请求中的至少一些而提供的读数据;
性能计数器,和所述存储器装置接口连接,该性能计数器用于跟踪至少一个性能度量。
2、如权利要求1所述的存储器模块,其中所述链路接口包括光输入/输出端口。
3、如权利要求1所述的存储器模块,其中所述存储器装置接口包括存储器控制器,所述性能计数器和该存储器控制器连接。
4、如权利要求1所述的存储器模块,其中所述存储器装置接口包括缓存,所述性能计数器和该缓存连接。
5、如权利要求1所述的存储器模块,其中所述存储器集线器还包括预取缓冲器,所述性能计数器还和该预取缓冲器连接。
6、如权利要求1所述的存储器模块,其中所述存储器集线器还包括维护总线,所述性能计数器还和该维护总线连接。
7、如权利要求1所述的存储器模块,其中所述性能计数器还和所述链路接口连接。
8、如权利要求1所述的存储器模块,其中由所述性能计数器跟踪的性能度量包括从包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数的组中选出的至少一个性能度量。
9、如权利要求1所述的存储器模块,其中所述存储器装置包括动态随机存取存储器装置。
10、如权利要求1所述的存储器模块,其中由所述性能计数器跟踪的性能度量包括和通过所述存储器集线器的存储器请求和数据的传送相关的性能度量。
11、一种存储器集线器,包括
链路接口,接收访问多个存储器装置的至少一个中的多个存储器单元的多个存储器请求;
存储器装置接口,和所述存储器装置连接,该存储器装置接口用于把多个存储器请求传送给所述存储器装置,以访问所述存储器装置的至少一个中的多个存储器单元,以及接收响应所述存储器请求的至少一些而提供的读数据;以及
性能计数器,和所述存储器装置接口连接,该性能计数器用于跟踪至少一个性能度量。
12、如权利要求11所述的存储器集线器,其中所述链路接口包括光输入/输出端口。
13、如权利要求11所述的存储器集线器,其中所述存储器装置接口包括存储器控制器,所述性能计数器和该存储器控制器连接。
14、如权利要求11所述的存储器集线器,其中所述存储器装置接口包括缓存,所述性能计数器和该缓存连接。
15、如权利要求11所述的存储器集线器,还包括预取缓冲器,其中所述性能计数器还和该预取缓冲器连接。
16、如权利要求11所述的存储器集线器,还包括维护总线,其中所述性能计数器还和该维护总线连接。
17、如权利要求11所述的存储器集线器,其中所述性能计数器还和所述链路接口连接。
18、如权利要求11所述的存储器集线器,其中由所述性能计数器跟踪的性能度量包括从包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数的组中选出的至少一个性能度量。
19、如权利要求11所述的存储器集线器,其中由所述性能计数器跟踪的性能度量包括和通过所述存储器集线器的存储器请求和数据的传送相关的性能度量。
20、如权利要求11所述的存储器集线器,其中所述存储器装置包括动态随机存取存储器装置。
21、一种计算机系统,包括
中央处理单元;
和所述中央处理单元连接的系统控制器,该系统控制器具有输入端口和输出端口;
通过所述系统控制器和所述中央处理单元连接的输入装置;
通过所述系统控制器和所述中央处理单元连接的输出装置;
通过所述系统控制器和所述中央处理单元连接的存储装置;
多个存储器模块,所述存储器模块的每一个包括:
多个存储器装置;以及
存储器集线器,包括:
链路接口,接收访问多个所述存储器装置的至少一个中的多个存储器单元的多个存储器请求;
存储器装置接口,和所述存储器装置连接,该存储器装置接口用于把多个存储器请求传送给所述多个存储器装置,以访问所述存储器装置的至少一个中的多个存储器单元,以及接收响应所述存储器请求的至少一些而提供的读数据;
性能计数器,和所述存储器装置接口连接,该性能计数器用于跟踪至少一个性能度量。
22、如权利要求21所述的计算机系统,其中所述链路接口包括光输入/输出端口。
23、如权利要求21所述的计算机系统,其中所述存储器装置接口包括存储器控制器,所述性能计数器和该存储器控制器连接。
24、如权利要求21所述的计算机系统,其中所述存储器装置接口包括缓存,所述性能计数器和该缓存连接。
25、如权利要求21所述的计算机系统,其中所述存储器集线器还包括预取缓冲器,所述性能计数器还和该预取缓冲器连接。
26、如权利要求21所述的计算机系统,其中所述存储器集线器还包括维护总线,所述性能计数器还和该维护总线连接。
27、如权利要求21所述的计算机系统,其中所述性能计数器还和所述链路接口连接。
28、如权利要求21所述的计算机系统,其中由所述性能计数器跟踪的性能度量包括从包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数的组中选出的至少一个性能度量。
29、如权利要求21所述的计算机系统,其中所述存储器装置包括动态随机存取存储器装置。
30、如权利要求21所述的计算机系统,其中由所述性能计数器跟踪的性能度量包括和通过所述存储器集线器的存储器请求和数据的传送相关的性能度量。
31、从存储器模块读取数据的方法,包括:
接收访问安装在所述存储器模块上的存储器装置的多个存储器请求;
响应接收到的存储器请求,把所述存储器请求传送给所述存储器装置,所述存储器请求的至少一些是读数据的存储器请求;
接收响应所述读数据的存储器请求而提供的读数据;以及
跟踪所述存储器模块中的至少一个性能度量。
32、如权利要求31所述的方法,其中跟踪至少一个性能度量的行为包括跟踪从包括页面命中率、预取命中次数或百分比、缓存命中率或百分比、读速率、读请求次数、写速率、写请求次数、存储器总线利用率或百分比、本地集线器请求速率或次数以及远程集线器请求速率或次数的组中选出的至少一个性能度量。
33、如权利要求31所述的方法,其中跟踪至少一个性能度量的行为包括跟踪和通过存储器集线器的存储器请求和数据的传送相关的性能度量。
34、如权利要求31所述的方法,其中接收存储器请求以访问安装在存储器模块上的存储器装置的行为包括接收对应于所述多个存储器请求的多个光信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/747,984 | 2003-12-29 | ||
US10/747,984 US7216196B2 (en) | 2003-12-29 | 2003-12-29 | Memory hub and method for memory system performance monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101036129A CN101036129A (zh) | 2007-09-12 |
CN100507874C true CN100507874C (zh) | 2009-07-01 |
Family
ID=34700823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800392568A Expired - Fee Related CN100507874C (zh) | 2003-12-29 | 2004-12-15 | 用于存储器系统性能监视的存储器集线器和方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US7216196B2 (zh) |
EP (1) | EP1700412A4 (zh) |
JP (1) | JP4700621B2 (zh) |
KR (1) | KR100848255B1 (zh) |
CN (1) | CN100507874C (zh) |
TW (1) | TW200537292A (zh) |
WO (1) | WO2005065205A2 (zh) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7310752B2 (en) | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7216196B2 (en) * | 2003-12-29 | 2007-05-08 | Micron Technology, Inc. | Memory hub and method for memory system performance monitoring |
US7366864B2 (en) | 2004-03-08 | 2008-04-29 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
US7310748B2 (en) | 2004-06-04 | 2007-12-18 | Micron Technology, Inc. | Memory hub tester interface and method for use thereof |
US7375326B2 (en) * | 2004-06-21 | 2008-05-20 | Applied Materials, Israel, Ltd. | Method and system for focusing a charged particle beam |
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 |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
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 |
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 |
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 |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
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 |
US7299313B2 (en) | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
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 |
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 |
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 |
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 |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7669086B2 (en) * | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory 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 |
DE102006051136A1 (de) * | 2006-10-30 | 2008-05-08 | Qimonda Ag | Speichermodul-System, Adapter-Karte, und Verfahren zum Betreiben eines Speichermodul-Systems |
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 |
US8037272B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for memory chip for high capacity memory subsystem supporting multiple speed bus |
US7822936B2 (en) * | 2007-06-27 | 2010-10-26 | International Business Machines Corporation | Memory chip for high capacity memory subsystem supporting replication of command data |
US7996641B2 (en) * | 2007-06-27 | 2011-08-09 | International Business Machines Corporation | Structure for hub for supporting high capacity memory subsystem |
US8019949B2 (en) * | 2007-06-27 | 2011-09-13 | International Business Machines Corporation | High capacity memory subsystem architecture storing interleaved data for reduced bus speed |
US20090006774A1 (en) * | 2007-06-27 | 2009-01-01 | Gerald Keith Bartley | High Capacity Memory Subsystem Architecture Employing Multiple-Speed Bus |
US7921264B2 (en) * | 2007-06-27 | 2011-04-05 | International Business Machines Corporation | Dual-mode memory chip for high capacity memory subsystem |
US7809913B2 (en) * | 2007-06-27 | 2010-10-05 | International Business Machines Corporation | Memory chip for high capacity memory subsystem supporting multiple speed bus |
US8037258B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for dual-mode memory chip for high capacity memory subsystem |
US8037270B2 (en) * | 2007-06-27 | 2011-10-11 | International Business Machines Corporation | Structure for memory chip for high capacity memory subsystem supporting replication of command data |
US7921271B2 (en) * | 2007-06-27 | 2011-04-05 | International Business Machines Corporation | Hub for supporting high capacity memory subsystem |
US7818512B2 (en) * | 2007-06-27 | 2010-10-19 | International Business Machines Corporation | High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules |
US8086936B2 (en) * | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US8082482B2 (en) * | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US7840748B2 (en) * | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US7584308B2 (en) * | 2007-08-31 | 2009-09-01 | International Business Machines Corporation | System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel |
US7818497B2 (en) * | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7899983B2 (en) | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US7865674B2 (en) * | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US8019919B2 (en) * | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US7558887B2 (en) | 2007-09-05 | 2009-07-07 | International Business Machines Corporation | Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel |
US7925824B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US7930470B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US8140936B2 (en) * | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US7925826B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US7930469B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US7925825B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US7770077B2 (en) * | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US8656411B2 (en) * | 2008-03-05 | 2014-02-18 | Intel Corporation | Technique for monitoring activity within an integrated circuit |
EP2313830B1 (en) * | 2008-08-13 | 2013-10-02 | Hewlett-Packard Development Company, L.P. | Dynamic utilization of power-down modes in multi-core memory modules |
US8458404B1 (en) * | 2008-08-14 | 2013-06-04 | Marvell International Ltd. | Programmable cache access protocol to optimize power consumption and performance |
JP5439808B2 (ja) * | 2008-12-25 | 2014-03-12 | 富士通セミコンダクター株式会社 | 複数バスを有するシステムlsi |
US20120240128A1 (en) * | 2009-09-30 | 2012-09-20 | St-Ericsson Sa | Memory Access Performance Diagnosis |
WO2012117451A1 (en) * | 2011-03-03 | 2012-09-07 | Hitachi, Ltd. | Storage controller and method of controlling storage controller |
US8621157B2 (en) * | 2011-06-13 | 2013-12-31 | Advanced Micro Devices, Inc. | Cache prefetching from non-uniform memories |
US20130262779A1 (en) * | 2012-03-30 | 2013-10-03 | Jayaram Bobba | Profile-based hardware prefetching |
US9357649B2 (en) * | 2012-05-08 | 2016-05-31 | Inernational Business Machines Corporation | 276-pin buffered memory card with enhanced memory system interconnect |
US9183041B2 (en) * | 2012-09-21 | 2015-11-10 | International Business Machines Corporation | Input/output traffic backpressure prediction |
US9519315B2 (en) * | 2013-03-12 | 2016-12-13 | International Business Machines Corporation | 276-pin buffered memory card with enhanced memory system interconnect |
US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
US10042750B2 (en) * | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
JP5695126B2 (ja) * | 2013-05-14 | 2015-04-01 | 株式会社日立製作所 | 計算機システム、サーバモジュール及びストレージモジュール |
US10346306B2 (en) | 2016-04-02 | 2019-07-09 | Intel Corporation | Processor and method for memory performance monitoring utilizing a monitor flag and first and second allocators for allocating virtual memory regions |
US10025718B1 (en) | 2016-06-28 | 2018-07-17 | Amazon Technologies, Inc. | Modifying provisioned throughput capacity for data stores according to cache performance |
US10268594B2 (en) | 2017-01-05 | 2019-04-23 | International Business Machines Corporation | Implementing paging device selection based on wear-level data |
US10986011B2 (en) * | 2017-10-18 | 2021-04-20 | Google Llc | Unobtrusive support for third-party traffic monitoring |
US10613764B2 (en) | 2017-11-20 | 2020-04-07 | Advanced Micro Devices, Inc. | Speculative hint-triggered activation of pages in memory |
US11151035B2 (en) | 2019-05-12 | 2021-10-19 | International Business Machines Corporation | Cache hit ratios for selected volumes within a storage system |
US11163698B2 (en) | 2019-05-12 | 2021-11-02 | International Business Machines Corporation | Cache hit ratios for selected volumes using synchronous I/O |
US11169919B2 (en) | 2019-05-12 | 2021-11-09 | International Business Machines Corporation | Cache preference for selected volumes within a storage system |
US11176052B2 (en) | 2019-05-12 | 2021-11-16 | International Business Machines Corporation | Variable cache status for selected volumes within a storage system |
US11237730B2 (en) * | 2019-05-12 | 2022-02-01 | International Business Machines Corporation | Favored cache status for selected volumes within a storage system |
US11403029B2 (en) * | 2020-10-30 | 2022-08-02 | Dell Products L.P. | System and method for managing cleaning policies of storage devices in storage device pools using self-monitored statistics and input/output statistics |
Family Cites Families (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US112119A (en) * | 1871-02-28 | Improvement in self-centering chucks for lathes | ||
US43426A (en) * | 1864-07-05 | Improvement in sewing | ||
BE759830A (fr) * | 1969-12-06 | 1971-06-03 | Hoechst Ag | Di-alkyl-orthocarbonates d'heterosides en 3 de cardenolides et de bufadienolides |
US4084225A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US5251303A (en) | 1989-01-13 | 1993-10-05 | International Business Machines Corporation | System for DMA block data transfer based on linked control blocks |
US5442770A (en) | 1989-01-24 | 1995-08-15 | Nec Electronics, Inc. | Triple port cache memory |
JPH02232890A (ja) * | 1989-03-06 | 1990-09-14 | Hitachi Ltd | 主記憶制御装置 |
US4953930A (en) | 1989-03-15 | 1990-09-04 | Ramtech, Inc. | CPU socket supporting socket-to-socket optical communications |
US5287343A (en) | 1991-02-25 | 1994-02-15 | Matsushita Electric Works, Ltd. | Network administration system |
US5274584A (en) * | 1991-05-06 | 1993-12-28 | Storage Technology Corporation | Solid state memory device having optical data connections |
WO1993019422A1 (en) | 1992-03-25 | 1993-09-30 | Encore Computer U.S., Inc. | Fiber optic memory coupling system |
US5349587A (en) | 1992-03-26 | 1994-09-20 | Northern Telecom Limited | Multiple clock rate test apparatus for testing digital systems |
US5432907A (en) | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
US5572722A (en) | 1992-05-28 | 1996-11-05 | Texas Instruments Incorporated | Time skewing arrangement for operating random access memory in synchronism with a data processor |
GB2270780A (en) | 1992-09-21 | 1994-03-23 | Ibm | Scatter-gather in data processing systems. |
JPH06314241A (ja) * | 1993-03-04 | 1994-11-08 | Sharp Corp | 高速半導体記憶装置及び高速連想記憶装置 |
US5450578A (en) | 1993-12-23 | 1995-09-12 | Unisys Corporation | Method and apparatus for automatically routing around faults within an interconnect system |
US5581482A (en) * | 1994-04-26 | 1996-12-03 | Unisys Corporation | Performance monitor for digital computer system |
US5790048A (en) | 1994-11-02 | 1998-08-04 | I-Cube, Inc. | Crosspoint switch with bank-switched memory |
US5875352A (en) | 1995-11-03 | 1999-02-23 | Sun Microsystems, Inc. | Method and apparatus for multiple channel direct memory access control |
US5659798A (en) | 1996-02-02 | 1997-08-19 | Blumrich; Matthias Augustin | Method and system for initiating and loading DMA controller registers by using user-level programs |
US5621739A (en) | 1996-05-07 | 1997-04-15 | Intel Corporation | Method and apparatus for buffer self-test and characterization |
US5818844A (en) | 1996-06-06 | 1998-10-06 | Advanced Micro Devices, Inc. | Address generation and data path arbitration to and from SRAM to accommodate multiple transmitted packets |
US5875454A (en) | 1996-07-24 | 1999-02-23 | International Business Machiness Corporation | Compressed data cache storage system |
JP4070255B2 (ja) | 1996-08-13 | 2008-04-02 | 富士通株式会社 | 半導体集積回路 |
TW304288B (en) | 1996-08-16 | 1997-05-01 | United Microelectronics Corp | Manufacturing method of semiconductor memory device with capacitor |
US5768152A (en) * | 1996-08-28 | 1998-06-16 | International Business Machines Corp. | Performance monitoring through JTAG 1149.1 interface |
US5793776A (en) | 1996-10-18 | 1998-08-11 | Samsung Electronics Co., Ltd. | Structure and method for SDRAM dynamic self refresh entry and exit using JTAG |
US5905858A (en) | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
US6167486A (en) | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US6205564B1 (en) | 1997-06-02 | 2001-03-20 | Lucent Technologies Inc. | Optimized built-in self-test method and apparatus for random access memories |
US5995424A (en) | 1997-07-16 | 1999-11-30 | Tanisys Technology, Inc. | Synchronous memory test system |
US6073190A (en) | 1997-07-18 | 2000-06-06 | Micron Electronics, Inc. | System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair |
US6243769B1 (en) | 1997-07-18 | 2001-06-05 | Micron Technology, Inc. | Dynamic buffer allocation for a computer system |
US6105075A (en) | 1997-08-05 | 2000-08-15 | Adaptec, Inc. | Scatter gather memory system for a hardware accelerated command interpreter engine |
JP4014708B2 (ja) | 1997-08-21 | 2007-11-28 | 株式会社ルネサステクノロジ | 半導体集積回路装置の設計方法 |
JPH11120120A (ja) | 1997-10-13 | 1999-04-30 | Fujitsu Ltd | カードバス用インターフェース回路及びそれを有するカードバス用pcカード |
US6351824B1 (en) * | 1998-01-05 | 2002-02-26 | Sophisticated Circuits, Inc. | Methods and apparatuses for controlling the operation of a digital processing system |
GB2333896B (en) | 1998-01-31 | 2003-04-09 | Mitel Semiconductor Ab | Vertical cavity surface emitting laser |
US7024518B2 (en) | 1998-02-13 | 2006-04-04 | Intel Corporation | Dual-port buffer-to-memory interface |
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 |
US6186400B1 (en) | 1998-03-20 | 2001-02-13 | Symbol Technologies, Inc. | Bar code reader with an integrated scanning component module mountable on printed circuit board |
US5959914A (en) | 1998-03-27 | 1999-09-28 | Lsi Logic Corporation | Memory controller with error correction memory test application |
US6079008A (en) | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
JPH11316617A (ja) | 1998-05-01 | 1999-11-16 | Mitsubishi Electric Corp | 半導体回路装置 |
US6167465A (en) | 1998-05-20 | 2000-12-26 | Aureal Semiconductor, Inc. | System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection |
US6928652B1 (en) * | 1998-05-29 | 2005-08-09 | Webtv Networks, Inc. | Method and apparatus for displaying HTML and video simultaneously |
US6301637B1 (en) | 1998-06-08 | 2001-10-09 | Storage Technology Corporation | High performance data paths |
US6178532B1 (en) | 1998-06-11 | 2001-01-23 | Micron Technology, Inc. | On-chip circuit and method for testing memory devices |
JP2000011640A (ja) | 1998-06-23 | 2000-01-14 | Nec Corp | 半導体記憶装置 |
FR2780535B1 (fr) | 1998-06-25 | 2000-08-25 | Inst Nat Rech Inf Automat | Dispositif de traitement de donnees d'acquisition, notamment de donnees d'image |
JP3178423B2 (ja) | 1998-07-03 | 2001-06-18 | 日本電気株式会社 | バーチャルチャネルsdram |
JP3248617B2 (ja) | 1998-07-14 | 2002-01-21 | 日本電気株式会社 | 半導体記憶装置 |
US6272609B1 (en) | 1998-07-31 | 2001-08-07 | Micron Electronics, Inc. | Pipelined memory controller |
US6587912B2 (en) | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
US6438670B1 (en) * | 1998-10-02 | 2002-08-20 | International Business Machines Corporation | Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device |
US6243831B1 (en) | 1998-10-31 | 2001-06-05 | Compaq Computer Corporation | Computer system with power loss protection mechanism |
JP3613036B2 (ja) | 1998-11-10 | 2005-01-26 | 松下電器産業株式会社 | 半導体検査装置および半導体検査方法 |
JP3248500B2 (ja) | 1998-11-12 | 2002-01-21 | 日本電気株式会社 | 半導体記憶装置およびそのデータ読み出し方法 |
US6434639B1 (en) | 1998-11-13 | 2002-08-13 | Intel Corporation | System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation |
US6463059B1 (en) | 1998-12-04 | 2002-10-08 | Koninklijke Philips Electronics N.V. | Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing |
US6349363B2 (en) | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
US6067262A (en) | 1998-12-11 | 2000-05-23 | Lsi Logic Corporation | Redundancy analysis for embedded memories with built-in self test and built-in self repair |
US6367074B1 (en) | 1998-12-28 | 2002-04-02 | Intel Corporation | Operation of a system |
US6061263A (en) | 1998-12-29 | 2000-05-09 | Intel Corporation | Small outline rambus in-line memory module |
US6285349B1 (en) | 1999-02-26 | 2001-09-04 | Intel Corporation | Correcting non-uniformity in displays |
JP2000268006A (ja) * | 1999-03-15 | 2000-09-29 | Fuji Xerox Co Ltd | マルチプロセッサシステム |
US6496909B1 (en) | 1999-04-06 | 2002-12-17 | Silicon Graphics, Inc. | Method for managing concurrent access to virtual memory data structures |
US6381190B1 (en) | 1999-05-13 | 2002-04-30 | Nec Corporation | Semiconductor memory device in which use of cache can be selected |
US6233376B1 (en) | 1999-05-18 | 2001-05-15 | The United States Of America As Represented By The Secretary Of The Navy | Embedded fiber optic circuit boards and integrated circuits |
US6359858B1 (en) | 1999-06-03 | 2002-03-19 | Fujitsu Network Communications, Inc. | Switching redundancy control |
JP2001014840A (ja) | 1999-06-24 | 2001-01-19 | Nec Corp | 複数ラインバッファ型メモリlsi |
US6477592B1 (en) | 1999-08-06 | 2002-11-05 | Integrated Memory Logic, Inc. | System for I/O interfacing for semiconductor chip utilizing addition of reference element to each data element in first data stream and interpret to recover data elements of second data stream |
US6493803B1 (en) | 1999-08-23 | 2002-12-10 | Advanced Micro Devices, Inc. | Direct memory access controller with channel width configurability support |
US6552564B1 (en) | 1999-08-30 | 2003-04-22 | Micron Technology, Inc. | Technique to reduce reflections and ringing on CMOS interconnections |
US6539490B1 (en) | 1999-08-30 | 2003-03-25 | Micron Technology, Inc. | Clock distribution without clock delay or skew |
US6594713B1 (en) | 1999-09-10 | 2003-07-15 | Texas Instruments Incorporated | Hub interface unit and application unit interfaces for expanded direct memory access processor |
US6438668B1 (en) | 1999-09-30 | 2002-08-20 | Apple Computer, Inc. | Method and apparatus for reducing power consumption in a digital processing system |
US6782465B1 (en) | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
US6421744B1 (en) | 1999-10-25 | 2002-07-16 | Motorola, Inc. | Direct memory access controller and method therefor |
US6832306B1 (en) | 1999-10-25 | 2004-12-14 | Intel Corporation | Method and apparatus for a unified RISC/DSP pipeline controller for both reduced instruction set computer (RISC) control instructions and digital signal processing (DSP) instructions |
US6487648B1 (en) | 1999-12-15 | 2002-11-26 | Xilinx, Inc. | SDRAM controller implemented in a PLD |
JP3546788B2 (ja) | 1999-12-20 | 2004-07-28 | 日本電気株式会社 | メモリ制御回路 |
JP3356747B2 (ja) | 1999-12-22 | 2002-12-16 | エヌイーシーマイクロシステム株式会社 | 半導体記憶装置 |
GB2362729B (en) | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Memory access debug facility |
US6732203B2 (en) | 2000-01-31 | 2004-05-04 | Intel Corporation | Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus |
US6742148B1 (en) | 2000-03-06 | 2004-05-25 | Pc-Doctor Inc. | System and method for testing memory while an operating system is active |
JP4330767B2 (ja) | 2000-06-26 | 2009-09-16 | 株式会社エヌ・ティ・ティ・ドコモ | 自動再送要求を行う通信方法及び基地局装置 |
JP2002014875A (ja) | 2000-06-30 | 2002-01-18 | Mitsubishi Electric Corp | 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6446174B1 (en) | 2000-07-11 | 2002-09-03 | Intel Corporation | Computer system with dram bus |
US6523093B1 (en) | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
US6523092B1 (en) | 2000-09-29 | 2003-02-18 | Intel Corporation | Cache line replacement policy enhancement to avoid memory page thrashing |
US6493836B2 (en) | 2000-11-30 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus for scheduling and using memory calibrations to reduce memory errors in high speed memory devices |
US6631440B2 (en) | 2000-11-30 | 2003-10-07 | Hewlett-Packard Development Company | Method and apparatus for scheduling memory calibrations based on transactions |
US6675117B2 (en) | 2000-12-12 | 2004-01-06 | Teradyne, Inc. | Calibrating single ended channels for differential performance |
US6622227B2 (en) | 2000-12-27 | 2003-09-16 | Intel Corporation | Method and apparatus for utilizing write buffers in memory control/interface |
US6842867B2 (en) * | 2001-01-26 | 2005-01-11 | Dell Products L.P. | System and method for identifying memory modules having a failing or defective address |
US6701457B2 (en) | 2001-01-30 | 2004-03-02 | Rockwell Collins | Partitioned avionics computer and a method and system for debugging |
US6823224B2 (en) * | 2001-02-21 | 2004-11-23 | Freescale Semiconductor, Inc. | Data processing system having an on-chip background debug system and method therefor |
DE10110469A1 (de) | 2001-03-05 | 2002-09-26 | Infineon Technologies Ag | Integrierter Speicher und Verfahren zum Testen und Reparieren desselben |
US6904499B2 (en) | 2001-03-30 | 2005-06-07 | Intel Corporation | Controlling cache memory in external chipset using processor |
US6625702B2 (en) * | 2001-04-07 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices |
US20020194558A1 (en) | 2001-04-10 | 2002-12-19 | Laung-Terng Wang | Method and system to optimize test cost and disable defects for scan and BIST memories |
DE10129771A1 (de) | 2001-06-20 | 2003-01-23 | Infineon Technologies Ag | Testanordnung zum parallelen Funktionstest von Halbleiterspeicherbausteinen und Testverfahren |
US6910155B2 (en) | 2001-06-25 | 2005-06-21 | Hewlett-Packard Development Company, L.P. | System and method for chip testing |
US6920533B2 (en) | 2001-06-27 | 2005-07-19 | Intel Corporation | System boot time reduction method |
US6735637B2 (en) * | 2001-06-28 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsing |
US6681292B2 (en) | 2001-08-27 | 2004-01-20 | Intel Corporation | Distributed read and write caching implementation for optimized input/output applications |
US7941056B2 (en) | 2001-08-30 | 2011-05-10 | Micron Technology, Inc. | Optical interconnect in high-speed memory systems |
US7346825B2 (en) | 2001-09-06 | 2008-03-18 | Intel Corporation | Error method, system and medium |
US7133972B2 (en) | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US6880117B2 (en) | 2002-06-14 | 2005-04-12 | Macronix International Co., Ltd. | Memory device test system and method |
US6754117B2 (en) | 2002-08-16 | 2004-06-22 | Micron Technology, Inc. | System and method for self-testing and repair of memory modules |
US7216150B2 (en) * | 2002-12-19 | 2007-05-08 | Sun Microsystems, Inc. | Apparatuses and methods of physically restricting access to a connecting device for use with a data processing system |
US6983356B2 (en) * | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
JP4325843B2 (ja) * | 2002-12-20 | 2009-09-02 | 株式会社日立製作所 | 論理ボリュームコピー先性能調整方法及び装置 |
US7036055B2 (en) | 2002-12-31 | 2006-04-25 | Intel Corporation | Arrangements for self-measurement of I/O specifications |
US7617356B2 (en) * | 2002-12-31 | 2009-11-10 | Intel Corporation | Refresh port for a dynamic memory |
US20040216018A1 (en) * | 2003-04-28 | 2004-10-28 | Cheung Kam Tim | Direct memory access controller and method |
US20040237001A1 (en) * | 2003-05-21 | 2004-11-25 | Sun Microsystems, Inc. | Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
DE10334779B4 (de) | 2003-07-30 | 2005-09-29 | Infineon Technologies Ag | Halbleiterspeichermodul |
US7210059B2 (en) * | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US7310752B2 (en) * | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7082514B2 (en) * | 2003-09-18 | 2006-07-25 | International Business Machines Corporation | Method and memory controller for adaptive row management within a memory subsystem |
US7216196B2 (en) | 2003-12-29 | 2007-05-08 | Micron Technology, Inc. | Memory hub and method for memory system performance monitoring |
US7310748B2 (en) | 2004-06-04 | 2007-12-18 | Micron Technology, Inc. | Memory hub tester interface and method for use thereof |
US7526692B2 (en) * | 2004-09-30 | 2009-04-28 | International Business Machines Corporation | Diagnostic interface architecture for memory device |
US7191088B1 (en) * | 2004-10-25 | 2007-03-13 | Nvidia Corporation | Method and system for memory temperature detection and thermal load management |
-
2003
- 2003-12-29 US US10/747,984 patent/US7216196B2/en not_active Expired - Fee Related
-
2004
- 2004-12-15 CN CNB2004800392568A patent/CN100507874C/zh not_active Expired - Fee Related
- 2004-12-15 EP EP04814491A patent/EP1700412A4/en not_active Withdrawn
- 2004-12-15 WO PCT/US2004/042313 patent/WO2005065205A2/en not_active Application Discontinuation
- 2004-12-15 KR KR1020067013098A patent/KR100848255B1/ko not_active IP Right Cessation
- 2004-12-15 JP JP2006547145A patent/JP4700621B2/ja not_active Expired - Fee Related
- 2004-12-28 TW TW093140969A patent/TW200537292A/zh unknown
-
2007
- 2007-03-30 US US11/731,060 patent/US7360011B2/en not_active Expired - Fee Related
-
2008
- 2008-02-15 US US12/070,272 patent/US7533213B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW200537292A (en) | 2005-11-16 |
EP1700412A2 (en) | 2006-09-13 |
EP1700412A4 (en) | 2009-01-21 |
US7360011B2 (en) | 2008-04-15 |
US20070174562A1 (en) | 2007-07-26 |
WO2005065205A2 (en) | 2005-07-21 |
US20050144403A1 (en) | 2005-06-30 |
KR100848255B1 (ko) | 2008-07-25 |
US7533213B2 (en) | 2009-05-12 |
US7216196B2 (en) | 2007-05-08 |
CN101036129A (zh) | 2007-09-12 |
US20080140904A1 (en) | 2008-06-12 |
JP4700621B2 (ja) | 2011-06-15 |
KR20060111640A (ko) | 2006-10-27 |
WO2005065205A3 (en) | 2007-03-08 |
JP2007520800A (ja) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100507874C (zh) | 用于存储器系统性能监视的存储器集线器和方法 | |
CN101390060B (zh) | 存储集线器和存储排序的方法 | |
CN101427224A (zh) | 用于提供存储器定序提示的存储器集线器和方法 | |
CN1938691B (zh) | 仲裁存储器响应的系统、方法和装置 | |
CN100361095C (zh) | 具有内部高速缓存和/或内存访问预测的内存集线器 | |
US9274991B2 (en) | Memory hub architecture having programmable lane widths | |
US6675253B1 (en) | Dynamic routing of data across multiple data paths from a source controller to a destination controller | |
CN100581172C (zh) | 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统 | |
US20050210185A1 (en) | System and method for organizing data transfers with memory hub memory modules | |
CN1965285A (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN100538618C (zh) | 高存取效率的接口电路及方法 | |
CN113507610A (zh) | 一种主从系统多路并发解码jpg图像的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090701 Termination date: 20101215 |