CN100507874C - 用于存储器系统性能监视的存储器集线器和方法 - Google Patents

用于存储器系统性能监视的存储器集线器和方法 Download PDF

Info

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
Application number
CNB2004800392568A
Other languages
English (en)
Other versions
CN101036129A (zh
Inventor
约瑟夫·M·杰德洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN101036129A publication Critical patent/CN101036129A/zh
Application granted granted Critical
Publication of CN100507874C publication Critical patent/CN100507874C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring 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所述的方法,其中接收存储器请求以访问安装在存储器模块上的存储器装置的行为包括接收对应于所述多个存储器请求的多个光信号。
CNB2004800392568A 2003-12-29 2004-12-15 用于存储器系统性能监视的存储器集线器和方法 Expired - Fee Related CN100507874C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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