CN101118782B - 存储和检索处理系统的数据的存储器系统和性能监视方法 - Google Patents
存储和检索处理系统的数据的存储器系统和性能监视方法 Download PDFInfo
- Publication number
- CN101118782B CN101118782B CN200710110044XA CN200710110044A CN101118782B CN 101118782 B CN101118782 B CN 101118782B CN 200710110044X A CN200710110044X A CN 200710110044XA CN 200710110044 A CN200710110044 A CN 200710110044A CN 101118782 B CN101118782 B CN 101118782B
- Authority
- CN
- China
- Prior art keywords
- memory
- array
- counter
- event
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
- G06F11/3419—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 by assessing time
-
- 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
- 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/3476—Data logging
-
- 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/86—Event-based monitoring
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
提供存储器系统中的性能监视的系统和方法。实施例包括一种用来存储和检索处理系统的数据的存储器系统。该存储器系统包括一个存储器控制器、多个存储器设备、存储器总线和存储器中心设备。该存储器控制器接收和响应存储器访问请求。该存储器总线与存储器控制器通信。该存储器中心设备与该存储器总线通信。该存储器中心设备包括一个存储器接口,用来经存储器总线在存储器中心设备和存储器控制器之间传送地址、控制和数据之一或多个。该存储器中心设备还包括一个存储器设备接口,用来与存储器设备通信。该存储器中心设备还包括一个性能监视器,用来在系统操作期间,在规定的时间间隔内监视和报告存储器总线使用率、存储器设备使用率和性能特征之一或多个。
Description
技术领域
本发明总地涉及计算机存储器,更具体地,涉及提供存储器系统中的性能监视。
背景技术
当前的高性能计算主存储器系统通常由一个或多个动态随机存取存储器(RAM)设备构成,这些存储器经一个或多个存储器控制部件被连接到一个或多个处理器。总的计算机系统性能受该计算机结构的每个关键部件的影响,包括处理器的性能/结构、任一存储器高速缓冲器、输入/输出(I/O)子系统、存储器控制功能的效率、主存储器设备、存储器互连接口的类型和结构。
业界正在不断地投入广泛的研究和开发的努力,以期创造出改进的和/或开创性的方案来通过改善存储器系统/子系统设计和/或结构最大化总的系统性能和密度。由于用户期望新的计算机系统提供附加的功能、提高的性能、增加的存储量、较低的运行成本等之外,还可以在平均故障间隔时间(mean-time-between-failure,MTBF)方面可以显著地超越已有系统,具有高可用性的系统提出了关于总的系统可靠性的进一步的挑战。其它常见的用户需要还加重了存储器系统设计上的挑战,包括比如易于升级,减少系统环境影响(例如空间、功耗和冷却)。
图1是关于这里共同转让给戴尔等的US专利No.5513135,它表示了一个早期的同步存储器模块。图1中的该存储器模块为双列直插式存储器模块(dual in-line memory module,DIMM)。此模块是由同步的DRAM8、缓冲器设备12、优化的引脚和一个互连结构及电容性的解耦方法构成,以便于高性能地运行。该专利还说明了利用诸如锁相环(PLL)设备在该模块上使用时钟再驱动。
图2是关于这里共同转让给戴尔等的US专利No.6173382,它表示了一个计算机系统10,该系统包括一个经总线40直接(即点到点地)连接到存储器控制器14的同步存储器模块20,该模块还包括逻辑电路24(诸如专用集成电路(ASIC)),该电路缓冲、寄存或以其它方式作用于从存储器控制器14接收的地址、数据和控制信息。存储器模块20可以通过独立总线(例如交互集成电路(I2C)控制总线34)被编程来以多种可选或可编程的模式操作,作为存储器初始化过程的一部分或者在通常的操作过程中。当在需要多于一个的存储器模块直接连接到存储器控制器的应用程序中使用时,该专利注意到所得到的短线(stub)可以通过使用场效应晶体管(FET)开关来电气地断开模块与总线的连接而被最小化。
相对于美国专利No.5513135,美国专利No.6173382还显示了将定义的全部功能(地址、命令、数据、存在检测等等)集成到一个设备的能力。功能的集成是技术发展所带来的业界通常的做法,在这种情况下,可以促进附加的模块密度和/或功能。
图3(这里共同转让给Grundon等的美国专利No.6510100)表示了存储器系统10的简化图和说明,该系统在传统的多点(multi-drop)短线总线(stub bus)上包括多达4个寄存的DIMM40。该子系统包括存储器控制器20、外部时钟缓冲器30、寄存的DIMM40、地址总线50、控制总线60和数据总线70,在地址总线50和数据总线70上有终端端子95。虽然图3只显示了一个存储器通道,利用这些模块制造的系统通常包括多于一个与存储器控制器分立的存储器通道,每个存储器通道单独操作(当单独的通道由模块占用时),或者平行操作(当两个或多个通道由模块占用时),以获得需要的系统功能和/或性能。
图4(转让给Bonella等的美国专利No.6587912)表示了同步存储器模块210和系统结构,其中转发中心(repeater hub)320包括对本地存储器设备301和302的经总线321和322的地址、命令和数据的本地再驱动;本地时钟的产生(如其它附图和专利文本中说明的);到系统下一模块或部件的经总线300的适当的存储器接口信号的再驱动。
图5表示了由集成处理器芯片500构成的当前系统,该系统包含一个或多个处理器部件及一个集成的存储器控制器510。在图5所示的构造中,多个独立的级联存储器总线506逻辑地集合在一起以便联合操作,来在更高的带宽上支持一个独立的访问请求,这里并行总线和相关设备上分布有或条纹状分布有数据和误差检测/纠正信息。存储器控制器510连接到4条窄/高速点到点存储器总线506,每条总线506连接数个独特的存储器控制器接口通道之一到级联的存储器子系统503(或存储器模块),后者包括至少一个中心设备504和一个或多个存储器设备509。某些系统还可以在存储器总线506的子集由存储器子系统503占用(populate)时激活操作。在此情况下,一个或多个被占用的存储器总线508可以一起操作来支持一个访问请求。
图6表示存储器中心设备504的方框图,它包括链路接口604,用来提供再同步、翻译和再驱动高速存储器访问信息到相关的DRAM设备509和/或再驱动存储器总线506上下游信息的手段,如基于存储器系统协议可以应用的。信息由链路接口604经存储器总线506,从上游存储器中心设备504接收,或者从存储器控制器510(直接或经上游存储器中心设备504)接收。存储器设备数据接口615管理与存储器设备509的特定技术的数据接口并控制双向存储器设备数据总线608。存储器中心控制器613通过响应性地驱动存储器设备509与特定技术有关的地址和控制总线614(对于RANK0501中的存储器设备)或者地址和控制总线614’(对于RANK1616中的存储器设备)并引导读数据流607和写数据流610选择器来响应访问请求数据包。
图6中的链路接口604解码数据包并引导导向本地中心设备504的地址和命令信息到存储器中心控制器613。来自链路接口604的存储器写数据可以暂时地存储在写数据队列611中或者直接地经写数据流选择器610和内部总线612驱动到存储器设备509,然后经内部总线609和存储器设备数据接口615发送到存储器设备数据总线608。来自存储器设备509的存储器读数据可以在读数据队列606中排队或者直接经内部总线605和读数据选择器607传送到链路接口604,以便作为读响应数据包在上游总线506上传送。
在高带宽级联存储器结构中,很需要测量存储器参数,诸如无负载下的通道带宽、重负载下的通道带宽,以便确保优化使用接口并对系统性能的预期进行验证。过去,确保系统被优化构造和使用是性能和测试小组的工作。可以执行性能基准来测量不同存储器的等待时间(latency)和性能特征,但是接口的大部分工作就不得不从各种测试的运行时间中来推断。于是需要在运行期间(在应用条件下)激活存储器接口并监视整个系统的多个接口,来理解系统中可能发生的瓶颈。还需要能利用这些结果在当前系统中编程优化的寄存器设置和/或修正设计及修正将来的设计/系统以消除那些瓶颈。
发明内容
本发明的实施例包括一个存储器系统,用来存储和检索处理系统的数据。该存储器系统包括存储器控制器、多个存储器设备、存储器总线和存储器中心设备。该存储器控制器接收和响应存储器访问请求。该存储器总线与存储器控制器通信。该存储器中心设备与存储器总线通信。该存储器中心设备包括存储器接口,用来经存储器总线在存储器中心设备和存储器控制器之间传送一个或多个地址、控制和数据信息。该存储器中心设备还包括存储器设备接口,用来与该存储器设备通信。该存储器中心设备还包括性能监视器,用来在系统运行期间,监视和报告规定时间间隔内的存储器总线使用率、存储器设备使用率和性能特征之一或多个。
本发明的实施例还包括一个存储器系统,具有多个存储器设备和与存储器总线通信的存储器中心设备。该存储器中心设备包括存储器接口,用来经存储器总线在存储器中心设备和存储器控制器之间传送地址、控制和数据信息之一或多个。该存储器中心设备还包括存储器设备接口,用来与存储器设备通信。该存储器中心设备还包括性能监视器,用来在子系统运行期间,监视和报告规定时间间隔内的存储器总线使用率、存储器设备使用率和性能特征之一或多个。
本发明的实施例还包括存储器控制器,用来接收和响应存储器访问请求。该存储器控制器包括存储器接口,用来经存储器总线在存储器控制器和一个或多个中心设备之间传送地址、控制和数据信息之一或多个。该存储器控制器还包括性能监视器,用来在系统运行期间在规定时间间隔内监视和报告存储器总线使用率和性能特征之一或多个。
其它的实施例包括存储器中心设备,后者包括存储器接口、存储器设备接口和性能监视器。该存储器接口经存储器总线在存储器中心设备和存储器控制器之间传送地址、控制和数据信息之一或多个。该存储器设备接口与存储器设备通信。该性能监视器在子系统运行期间在规定的时间间隔内监视和报告存储器总线使用率、存储器设备使用率和性能特征之一或多个。
其它的实施例还包括一种方法,用来提供性能监视。此方法包括检测在中心设备中是否发生选择的事件,该事件由类型予以表征。记录每种类型所检测的事件的数量及相关事件之间经历的时间。连续进行这种检测和记录预定的一段时间或者直到达到一个事件计数阈值。在经过了预定的时间段之后或者已经达到事件计数阈值时,所记录的数据存储在事件频率阵列中。
对本领域的技术人员来说,在阅读了后面的附图和详细说明之后,根据本发明的实施例的其它系统、方法和/或计算机程序产品将变得显而易见。这里旨在将这样的系统、方法和/或计算机程序产品包括在本说明书中、包括在本发明的范围之内并受后附的权利要求的保护。
附图说明
现在参考附图,其中在几个附图中相似的部件被编以相似的标号。
图1表示一个示例性的早期同步存储器模块;
图2表示一个示例性计算机系统,带有直接连接到存储器控制器的完全缓冲的同步存储器模块;
图3表示一个示例性存储器系统,显示有单一的传统多点短线总线;
图4表示一个完全缓冲的同步存储器模块和系统结构,其中完全缓冲的存储器模块包括转发器功能;
图5表示一个计算机存储器系统的方框图,它包括多个独立的级联互连存储器接口总线,这些总线共同操作来支持一个数据访问请求;
图6表示存储器子系统中的一个示例性中心设备的方框图;
图7表示一个示例性中心设备的方框图,包括可由示范的实施例实现的性能监视逻辑;
图8表示可以用于监视示范性实施例中的存储器性能的一个处理流程图;
图9表示可以在示范性实施例中实现的存储器性能监视部件的方框图。
具体实施方式
示范性实施例实现存储器中心性能监视功能。用来执行性能监视的电路可以包括在存储器中心设备和/或存储器控制器中,来监视一个或者多个存储器总线。可以监视和报告的统计值或性能特征包括但不限于总的总线带宽、下游使用的总线带宽、上游使用的总线带宽、最小读等待时间、平均读等待时间和/或读/写带宽比。这些性能特征的每一个都实时测量并存储到一个可以查询的阵列中,分析其内容,来确定不同负载下系统的性能。
这里,术语“下游使用的总线带宽”是指下游总线被用于发送诸如地址、命令和数据的信息的时间除以下游总线总的可用时间。术语“上游使用的总线带宽”是指上游总线被用于接收诸如数据和状态信息的时间除以该总线总的可用时间。术语“总的总线使用带宽”是指上游和下游总线被使用的时间除以总线可用时间的总量。术语“读等待时间(read latency)”是指一条读请求返回数据所花的时间。术语“平均读等待时间”是指在一段时间内的读等待时间的总和除以该存储器系统所处理的读命令的数量所获得的数。术语“读/写带宽比”是指上游使用总线带宽除以下游使用总线带宽。术语“跟踪(trace)阵列”是指用于捕获计算机芯片内总线活动的一个存储部件阵列。被跟踪的总线在每个时钟周期被取样,与给定的时钟周期相关的总线内容存储在该存储部件阵列中。跟踪阵列具有可配置的机制,以便开始和停止所述跟踪,并且可以包括压缩跟踪的数据的机制。跟踪阵列通常用于调试系统硬件。
这里,术语“事件计数器”是指记录特定总线条件的数量的计数器。引起事件计数器递增的总线条件是可配置的。术语“事件停止触发器”是指引起跟踪阵列停止记录数据的条件。当计数器超过编程的阈值(也称为事件计数阈值)时该条件发生。术语“事件频率阵列”是指存储部件阵列,用来记录事件计数器和运行总和值以及计数器处于活动状态时相应的时间量。事件频率阵列用来计算发生的速率。术语“死锁”是指两个或多个由于都在等待其它处理过程中的一个采取动作而不能继续的处理过程。术语“确定性的”是指其时间演变可以精确预测的系统。术语“直方图”是指代表频率分布的条形图,条的高度代表观测的频率。术语“存储器接口”是指允许在存储器控制器和中心之间和/或一个或多个中心之间传送诸如地址、命令和数据这样的信息的一个或多个信号。
示范性实施例监视(“侦听”(snoop))输入地址和命令总线流,在跟踪阵列中记录(record)命令流和/或在事件计数器阵列中记录(log)事件(例如读和写命令)。如果命令需要响应,那么发生响应所花的时间也将被计数器记录,其间隔范围对应于响应时间。从此数据,就可能产生响应时间的直方图。响应时间的运行总和也被编辑以便可以计算平均等待时间。
经过了编程的时间段之后,所有的计数事件(来自事件计数器阵列)和运行总和被记录到事件频率阵列中。这种操作模式在这里被称为“固定计时器模式”。事件被记录之后,计数器和运行总和被复位,事件频率阵列装载指针被递增。此序列将持续发生直到事件频率计数器满、接收到对此数据的请求或者由于某些其它原因终止信息的编辑。一旦事件频率阵列满或者接收到对此数据的请求,来自存储器中心和/或存储器控制器的性能监视数据将被系统软件、硬件开发者、系统操作/维护人员等读出和理解。可以观测诸如带宽使用率/等待时间和带宽/时间的性能属性图表。
在单独的操作模式中,当事件计数器已经达到阈值时,记录测量值的时间段还可以仅通过装载事件频率阵列动态地改变。在此情况下,窗口计时器值(例如时钟周期数量)将也被装载(记录)到事件频率阵列中以便保持比率信息。这种模式在这里称为“动态时间更新模式”,可以在低总线活动期间用来提供压缩能力,因此可以记录更多时间/事件。动态时间更新模式可以与“固定计时器模式”一起使用或者代替后者使用,其中在固定窗口时间(例如已经达到固定计时器窗口设置)之后计数器被复位,并且对一组数据记录结果。
在示范实施例中,可以计数“N”个允许的事件,这些事件由例如读请求、读数据响应、写数据请求、写完成通知等的动作构成。为每个事件分配一个计数器,并在事件频率阵列中保留一系列的位置。当特定事件发生时,相应的事件计数器递增。一旦窗口计时器超时(例如通过检测到所设置的数量的时钟等),或者达到溢出事件阈值,计数器数据被装载到事件频率阵列中,计数器被复位。
对于具有相关响应的命令(例如读数据),生成一个直方图结构,用来分析来自存储器系统的数据响应。此直方图对于每个“格(bin)”具有可编程的边界(例如可编程的用来完成一个操作的周期数量)。术语“格(bin)”是指用于直方图中每个条的计数器。例如,如果直方图中的一个条代表花费5-10个周期的响应的数量,另一个条代表花费11-15个周期的响应,那么将有两个格,一个格用来计数花费5-10个周期的响应的数量,另一个格用来计数花费11-15个周期的响应的数量。直方图也可以有选择地装载到事件频率阵列中。如果直方图装载到事件频率阵列中,那么对于每个格复位直方图计数器。
在示范性实施例中,跟踪阵列也与事件计数器电路联合使用来进行系统调试。跟踪阵列被编程来取样输入地址和命令流(例如使用FIFO)并连续地记录一个或多个输入地址和命令流直到发生了事件停止触发。每个事件/格计数器具有一个最大阈值或者事件计数阈值,使得当超过此阈值时,产生一个停止跟踪信号。此停止跟踪信号被发送到跟踪阵列以结束总线的记录过程。这可用于分析跟踪轨迹以发现某些系统性能非正常状况的原因,并可帮助设计者和测试人员理解引起系统瓶颈的机制,这是因为跟踪过程是在系统处于非优选工作状态时停止的。随后可以分析跟踪轨迹来理解引起系统退化的机制。一旦理解了该机制,就可以更新系统配置,重新编码应用程序,和/或可以重新设计该系统来修正限制了性能的属性。
当事件频率阵列满了的时候,可以被用于分析不同时间段内系统的行为。从事件频率阵列中抽取的数据可以用来确定带宽、使用率和平均数据响应时间。
图7是示范性中心设备504的方框图,包括可以由示范性实施例实现的性能监视逻辑702。图7中的中心设备504执行上述参考附图6说明的相同功能,以及附加的性能监视的功能。性能监视逻辑702可以利用硬件和/或软件来实现。图7包括位于存储器中心设备504中的性能监视逻辑702,用来提供这里所说的性能监视功能。如图7所示,性能监视逻辑702与存储器中心控制器613、存储器设备数据接口615和链路接口604通信,使得性能监视逻辑可以监视和捕获存储器总线506(上游总线和下游总线)、存储器设备数据总线608和存储器设备地址和控制总线614上的所有动作以及存储器中心控制器613发出的所有命令和经存储器设备数据接口615的所有数据传送(读和写)。
下面利用样本命令流和可能的解释该数据的方法来详细说明性能监视逻辑702是怎样工作的。设立性能监视要考虑的重要内容包括确定使用的读数据响应方法的类型(确定的或不确定的)、一条命令在总线上所用的时间长度、要监视的命令和窗口取样时间。
表1中是样本命令流,它是关于其中不同的命令可能需要不同的周期数但是响应时间可以精确预测的确定的系统。命令流解码成存储器操作的过程在存储器中心和控制方框613中完成,所产生的到一个或多个存储器设备的命令可以包括解码的地址信息来识别存储器列(rank)、存储器体(bank)或其它可选部分。可以这样监视命令流,即使得对存储器子系统中的任何存储器设备509的访问都被作为单个事件记录,或使得对存储器子系统(例如一特定的存储器体或列)的一个子部分的访问被监视。基于使用的解码和性能监视方法,可以编辑关于作为一个整体的子系统的性能信息,或关于子系统的子部分的性能信息。一个不确定的系统也可以被监视并且通常会包括数个标记,使得存储器响应与请求相关联,响应时间由于设备和总线使用率及进度冲突而变化。表1包括目标为正发生性能监视的中心设备的命令。在此例子中,数据响应时间是指在中心设备504处接收命令(例如从存储器总线506的下游总线)到提供数据返回给数据请求者(例如放置读数据到存储器总线506的上游总线)所花的时间。
表1
命令类型 | 开始时间 | 数据响应时间(时间单位)-确定 |
写 | 0 | 不适用 |
读 | 2 | 10 |
读 | 3 | 12 |
读 | 4 | 14 |
写 | 5 | 不适用 |
写 | 17 | 不适用 |
读 | 19 | 10 |
写 | 20 | 不适用 |
读 | 21 | 10 |
读 | 22 | 12 |
读 | 23 | 14 |
写 | 24 | 不适用 |
读 | 25 | 14 |
读 | 26 | 16 |
读 | 29 | 12 |
对于此例,它与基于DDR的存储器子系统(作为长度为4的串工作)一致,假定固定的计时器窗口尺寸为10,10个时间单位之后复位数据的跟踪,每个命令使用1个时间单位,其相应的响应(如果适用)使用2个时间单位。利用此例,最大的写和读带宽将是每个窗口10个命令,而最大读响应带宽将是每个窗口5个响应。可以根据需要的性能数据的类型和粒度进行其它的参数设置(例如20周期的窗口尺寸)。在此例中,一条写命令的完成时间没有被跟踪,在替换实施例中,写命令的完成时间是被监视的。可能的表格表示和数据分析如下。数据响应时间是指将数据返回到请求者所花的时间单位的数量(例如时钟周期)。
表2-事件计数器0
命令类型 | 开始时间 | 数据响应时间(时间单位)-确定的 |
写 | 0 | 不适用 |
读 | 2 | 10 |
读 | 3 | 12 |
读 | 4 | 14 |
写 | 5 | 不适用 |
第0组的统计
写命令使用率=2/10*100%=20%
读命令使用率=3/10*100%=30%
平均读等待时间=读等待时间总和/读命令数=36/3=12个时间单位/读命令
如第0组的统计数字所表明的(跨第0-9个时钟周期),下游总线对于写命令被利用20%的时间,对读命令被使用30%的时间,并且从中心设备接收一条读命令到结果被返回到请求者所花的平均周期为12个。
表3-事件计数器1
命令类型 | 开始时间 | 数据响应时间(时间单位)-确定的 |
写 | 17 | 不适用 |
读 | 19 | 10 |
第1组的统计
写命令使用率=1/10*100%=10%
读命令使用率=1/10*100%=10%
平均读等待时间=读等待时间总和/读命令数=10/1=10个时间单位/读命令
如第1组的统计数字所表明的(跨第10-19个时钟周期),下游总线对于写命令被利用10%的时间,对读命令被使用10%的时间,并且从中心设备接收一条读命令到结果被返回到请求者所花的平均周期为10个。
表4-事件计数器2
命令类型 | 开始时间 | 数据响应时间(时间单位)-确定的 |
写 | 20 | 不适用 |
读 | 21 | 10 |
读 | 22 | 12 |
读 | 23 | 14 |
写 | 24 | 不适用 |
读 | 25 | 14 |
读 | 26 | 16 |
读 | 29 | 12 |
第2组的统计
写命令使用率=2/10*100%=20%
读命令使用率=6/10*100%=60%
平均读等待时间=读等待时间总和/读命令数=78/6=13个时间单位/读命令
如第2组的统计所说明的(跨时钟周期20-29),下游总线对于写命令被利用20%的时间,对读命令被使用60%的时间,并且从中心设备接收一条读命令到结果被返回到请求者所花的平均周期为13个。
表5-事件频率阵列
事件计数器0 | 事件计数器1 | 事件计数器2 | |
事件0(写) | 2 | 1 | 2 |
事件1(读) | 3 | 1 | 6 |
响应总和 | 36 | 10 | 78 |
周期数 | 10 | 10 | 10 |
表5表示事件频率阵列中的三个样本项目,可以用来总结三个事件计数器所采集的数据。周期数是指每个事件的周期数或窗口时间。当事件频率阵列满了的时候,它可以用来分析不同时间段内的系统行为。从事件频率阵列抽取的数据可以用于确定带宽、使用率和平均数据响应时间。
表5中的每列包含每个单位时间的计数信息。利用来自以上内容的示例计算,可以从事件频率阵列中的数据得到显示总的使用带宽相对平均等待时间、读使用带宽相对平均等待时间、写使用带宽相对平均等待时间的表格。数据可以图表显示并加以分析来确定系统瓶颈及确认存储器性能数据。
在示范实施例中,在瓶颈期间,在事件计数器上设置阈值或事件计数阈值,来促使跟踪阵列停止,以使得用户可以检查引起瓶颈效应的输入命令流。当某些命令序列产生了系统死锁时这是很有用的。死锁导致系统等待时间大大增加。这种情况通常是由于命令序列没有被正确地发布和/或重新排序,或者系统应用程序持续访问存储器引起了一个资源的过量使用。从跟踪阵列获取的命令流将在死锁情况之前和/或正好在死锁时将输入命令编成文档,在死锁时事件停止触发器被设置为超过读响应直方图中最大期望阈值的任一读响应。通常地,用户会希望一旦记录一个非常大的响应时间立即停止跟踪,虽然其它的示范实施例包括使用例如一个副的计数器阈值,以与第一阈值时间联合使用,以便在第一阈值被超过“n”次之后才停止跟踪。这进一步的功能有助于在更长的时间段内分析系统的性能障碍。
前面的例子是来自响应时间可以计算的存储器系统,因为存储器响应时间是确定的。在响应时间不确定的存储器系统中,可以跟踪相同的数据,但是必须使用每个读命令的标记,跟踪阵列将仅在从存储器系统接收到相应的数据和标记时用记录的数据响应时间来更新,这可以产生可清楚识别的存储器响应。在此情况下,每个未处理(outstanding)的读请求具有一个相关的计数器。当该读请求被处理完时,响应时间存储在一个阵列(格)中,该阵列或格相应于响应时间范围在阵列中递增一个位置(例如编辑响应时间的一个直方图)。利用此技术,产生响应时间直方图来总结存储器系统中的响应分布。此外,存储运行响应时间总值以便可以计算每个读动作的平均响应时间(例如读等待时间)。系统设计者可以使用这种数据来优化存储器子系统的典型读响应时间及最小化高等待时间的事件(如果需要的话)。
图8表示示范实施例中可以用来监视存储器性能的处理流程图。在示范实施例中,图8所示的处理方法由位于性能监视器702中的硬件和/或软件指令来实现。在方框802,性能监视器逻辑702被启动。此外,跟踪阵列也可在方框802被启动。在方框804,接收和解码输入命令流。在方框806,检查是否窗口计时器已经期满(当在选定时间段内采集了数据并存为一组时使用)。
如果窗口计时器已经期满,如在方框806确定的,那么当前数据必须存为一组,并且窗口计时器必须复位来开始采集新的一组数据。通过等待要完成的任何未处理的响应请求,这个过程在方框828开始。例如,这包括等待为任一未处理的读请求返回数据。然后处理在方框830继续,卸载事件计数器和任何的格计数器到事件频率阵列。在方框832,窗口计时器、事件计数器和格计数器被复位。注意,在方框828到836期间到达的命令不被处理,因为性能监视逻辑、窗口计时器和事件计数器正在复位。但是,如果窗口计时器相对于复位性能监视器所花的时间很大的话,这就不是问题。在替代实施例中,可以实现双重性能监视逻辑,以便当一个性能监视器正在复位其逻辑时,另一个性能监视器可以进行取样。每个监视器具有一个端口,能够装载事件频率阵列,并具有停止跟踪阵列的能力。
如果事件频率阵列未满(即阵列中有空间记录更多组的数据),如在方框834确定的,那么方框836被执行来递增事件频率阵列装载指针,处理循环回方框804来继续从输入命令流接收输入。或者,如果事件频率阵列满了,如在方框834确定的,那么处理在方框838继续,来停止计数器,卸载事件频率阵列(例如到存储器设备、到存储器控制器等等)。在方框840,检查是否发生了“停止跟踪”事件。如果仍在执行跟踪,那么方框844被执行来停止跟踪。或者,如果发生了“停止跟踪”事件,那么方框842被执行来卸载跟踪数据(例如到存储器设备、存储器控制器等等)。性能监视过程即完成并在方框846退出。
如果窗口计时器未期满,如在方框806确定的,那么处理在方框808和810继续。在方框808,检查是否检测到一个事件(例如一个读命令、一个写命令)。如果未检测到一个事件,那么处理在方框804继续,来继续监视输入流。在示范实施例中,输入流包括在存储器控制器和中心设备之间经存储器总线506传送的命令、地址和数据。如果检测到一个事件,如在方框808确定的,那么方框812被执行,递增对应于该事件的事件计数器。处理于是在方框816和824继续。在方框816检查是否系统正在动态时间更新模式运行。如果系统未在动态时间更新模式运行,那么在方框822检查是否达到了固定计时器窗口设定。如果未达到固定计时器窗口设定,那么处理在方框804继续。如果已经达到了固定计时器窗口设定,那么处理在方框828继续。返回到方框816,如果系统正以动态时间更新模式运行,那么固定计时器窗口设定不应用,在方框818检查是否事件计数器满了。如果事件计数器未满,那么处理在方框804继续来监视输入命令流。如果事件计数器满了,那么处理在方框828继续。
在方框824,检查是否超过了计数器阈值。如果未超过计数器阈值,那么处理在方框804继续来监视输入命令流。如果已经超过计数器阈值,那么处理在方框826继续并且停止跟踪。以此方式,当超过了任一计数器(事件或格)上的可编程阈值时,那么跟踪阵列停止记录输入流。但是,性能监视器的其它部分仍被允许运行来完成操作。这使得跟踪阵列捕获引起超过阈值的事件,然后立即停止来保留引起事件发生的命令序列。一个范例中设定该可编程阈值为表2中(事件计数器0)的读操作的20个时钟。超过20个时钟的数据响应时间就会导致超过计数器阈值,于是停止跟踪。在示范实施例中,当读响应(等待时间)超过计数器阈值时,该特定格计数器的计数器阈值将被断言(assert),并引起跟踪停止在可能检查引起此状况的流的点处。
在用于确定存储器系统(即可以准确预测响应的存储器系统)的示范实施例中,存储器操作通常不会导致对命令的可识别的响应。响应时间是通过设计已知的,可能受接收命令时的存储器条件的影响(例如存储器体活动、预充电、更新、掉电等等)。在此情况下,响应时间对存储器控制器和/或中心设备是已知的,并且数据响应时间基于已知的响应时间被装载。在关于非确定性存储器系统(即不能准确预测响应的存储器系统)的示范实施例中,存储器操作通常会导致对命令的可识别的响应。关于特定读操作(例如使用一个标记)的响应将导致计数器被装载直接相关于实际响应时间的数据响应时间。
在方框810,检查是否已经检测到对一个未处理的命令的响应。如果未检测到响应,那么处理在方框804继续。如果检测到响应,那么处理在方框814继续,相应于检测的响应时间更新格计数器。接下来,执行方框820和824。在方框820,检查是否格计数器已满。如果格计数器未满,那么处理在方框804继续。如果格计数器已满,那么处理在方框828继续,来存储数据到事件频率阵列并开始一个新组。
图9是可以在示范实施例中实现的存储器性能监视部件的方框图。在示范实施例中,图9中的方框图由性能监视逻辑702实施。到方框图的输入包括输入命令流(来自一个总线)和系统响应事件902,以及启动/禁止性能监视器和跟踪阵列的信号906。信号906输入到性能监视器状态逻辑方框908,后者与图9中的所有方框通信来控制性能监视器和逻辑的其余部分的基本状态。输入命令流和系统响应事件902被复制到可配置的跟踪阵列920,后者可通过可读的输出端口输出该数据以用于报告和存储器系统诊断。此外,输入命令流和系统响应事件902输入到事件解码和响应检测逻辑方框904,用来解码该命令并发送信号到对应于该命令的计数器。来自方框904的输出可以输入到事件计数器910和/或响应计时器方框912。
对于当前数据组或定时窗口,事件窗口计时器方框914响应于方框908,跟踪性能监视器已经活动的时间(例如时钟周期)。基于来自响应计时器方框912的输入,格计数器阵列方框916递增与特定响应(或其它测度)阈值有关的计数器,响应时间运行总和方框918保持跟踪当前定时窗口期间的所有命令的总响应时间。事件频率阵列方框922包含先前说明的总和数据,并具有可读输出端口来输出数据。此外,事件计数器方框910、事件窗口计时器方框914、格计数器阵列方框916和响应时间运行总和方框918包括可读输出端口,这些端口可以用于提供诊断或者其它报告目的的信息。
可配置的跟踪阵列、事件频率阵列、格计数器阵列、响应时间运行总和、事件窗口计时器、事件计数器和与执行性能监视功能有关的相关电路(这里总地称为性能监视数据)经用于此目的的任一总线被读取,包括但不限于SM总线、I2C总线和级联互连总线(或存储器总线)。这些总线之一或任意组合(这里称为“报告总线”)可以被本发明的示范性实施例使用来读取性能监视数据。性能监视数据或信息可以由一个或多个处理器芯片、服务处理器、存储器控制器分析或者传送到外部测试设备或某些其它执行或处理部件,用于分析存储器系统性能和/或识别设计或编程上可以改善的方面。可读的输出端口可以是包括一个或多个输出的串行接口的形式,或者包括多个输出的并行接口的形式。在示范实施例中,可读输出端口将被连接到可寻址或可以其他方式选择的接口,该接口用于引导一个或多个输出端口到需要的接口总线,以在中心外部进行分析。
示范性实施例包括一个计算系统,具有互连到包含存储器控制器和存储器设备的处理器和/或I/O单元(例如请求者)。在示范实施例中,存储器系统包括接口到一组中心设备(也称为“中心芯片”)的一个处理器和存储器控制器。中心设备连接和接口到存储器设备。在示范实施例中,计算机存储器系统包括一个物理存储器阵列,具有多个存储器设备,用来存储数据和指令。这些存储器设备可以直接连接到存储器控制器和/或经中心设备非直接耦合到存储器控制器。在示范实施例中,基于中心的计算机存储器系统具有连接到通信中心设备的存储器设备,该通信中心设备连接到存储器控制器设备(例如存储器控制器)。此外,在示范实施例中,中心设备位于存储器模块上(例如单独的基底或物理设备),该存储器模块包含两个或更多个中心设备,经存储器总线相互级联(可能连接到位于另一存储器模块上的另一中心设备)。
中心设备可以经多点或点到点总线结构(还可以级联到一个或多个其它中心设备)连接到存储器控制器。存储器访问请求由存储器控制器经总线结构(例如存储器总线)传送到选择的中心。响应于接收了存储器访问请求,中心设备翻译该存储器访问请求来控制存储器设备存储来自中心设备的写数据或者提供读数据到中心设备。读数据被编码成一个或多个通信数据包并经存储器总线传送到存储器控制器。
在替代的示范性实施例中,存储器控制器可以与一个或多个处理器芯片以及支持逻辑集成到一起,封装在一个单独的芯片中(共同地称为“北桥(northbridge)”芯片),该芯片包括在具有一个或多个处理器和/或支持逻辑的多芯片载体上,或者封装成最适合应用/环境的多种替代形式。这些方案中的任何一个可以使用或者不使用一个或多个窄/高速链路来连接到一个或多个中心芯片和/或存储器设备。
存储器模块可以由多种技术实现,包括DIMM、单独的内嵌式存储器模块(SIMM)和/或其它存储器模块或卡结构。通常地,DIMM是指一个小电路板,主要由随机存取存储器(RAM)集成电路或者一边或两边上的管芯(信号和/或电源引脚位于板的两边)构成。这与SIMM相反,SIMM是小电路板或基底,主要由RAM集成电路或者管芯(在一边或两边上,单行的引脚沿着长的一边)构成。在示范实施例中,图1中的DIMM包括168个引脚,而后续的DIMM构造成具有的引脚范围从100到超过300个。在这里说明的示范性实施例中,存储器模块可以包括两个或多个中心设备。
在示范性实施例中,利用到存储器模块上的中心设备的多点连接和/或利用点到点连接来构造存储器总线。控制器接口(或存储器总线)的下游部分称为下游总线,可以包括发送到存储器模块上的中心设备的命令、地址、数据和其它操作、初始化或状态信息。在示范性实施例中,下游存储器总线连接存储器控制器到中心设备,或者连接中心设备到远离存储器控制器的另一中心设备。每个中心设备可以简单地经旁路电路转发该信息到后续的中心设备;如果确定该信息的目的地为下游中心设备,接收、解释和再驱动该信息;再驱动某些或全部信息而不首先解释该信息来确定预期的接收者;或者执行这些选择的一个子集或组合。在示范性实施例中,下游总线具有用于控制存储器系统的协议。
存储器总线的上游部分称为上游总线,返回所请求的读数据和/或错误、状态或其它操作信息,这些信息可以经旁路电路被提供到后续中心设备;如果确定该信息的目的地为上游中心设备和/或处理器联合体中的存储器控制器,该信息被接收、解释和再驱动;被部分或全部再驱动而不首先解释该信息来确定预期的目标接收者;或者执行这些选择的一个子集或组合。在示范性实施例中,上游总线具有用于从存储器系统接收响应的协议。
在替代的示范性实施例中,点到点总线包括一个切换开关或者旁路机制,这使得在下游通信期间(从存储器控制器到存储器模块上的一个中心设备的通信)总线信息被引导到两个或多个可能的中心设备之一,以及通常通过一个或多个上游中心设备引导上游信息(从存储器模块上的一个中心设备到存储器控制器的通信)。其它的实施例包括使用连续模块,诸如本领域公知的,例如在一个级联存储器系统中,可以放置在存储器控制器和第一组装(populated)的中心设备(即与一个或多个存储器设备通信的中心设备)之间,使得存储器控制器和第一组装的中心设备之间的任何中间的中心设备位置都包括一个装置,通过该装置在存储器控制器和第一组装的中心设备之间传送的信息即使在一个或多个中间中心设备位置不包括中心设备的情况下仍然可以被接收。连续模块可以受任何总线限制在任何模块位置安装,包括第一位置(到主存储器控制器最近)、最后位置(在任何包括的终结之前)或任何中间位置。使用连续模块在多模块级联总线结构中尤其有用,这时存储器模块上的中间中心设备被去掉而由连续模块替代,使得在中间中心设备去掉之后系统连续工作。在更通常的实施例中,连续模块包括互连线来从输入口传送所有请求的信号到相应的输出口,或者经转发器设备被再驱动。连续模块可以还包括一个非易失的存储器设备(诸如EEPROM),但是不包括主存储器存储设备。
在示范性实施例中,存储器系统在一个或多个存储器模块(经级联存储器总线连接到存储器控制器)上包括一个或多个中心设备,但是可以实施其它的存储器结构,诸如点到点总线、多点存储器总线或共用总线。取决于使用的信号传输方法、目标操作频率、空间、功率、成本和其它限制因素,可以考虑各种替代的总线结构。点到点总线可以提供带有电气互连的系统的最佳性能,这是由于与具有分支信号线、切换设备或短线的总线结构相比,该总线结构可能发生的信号退化减小了。但是,当使用在需要与多个设备或子系统通信的系统中时,这种方法总是导致相当大的附加部件成本和增加的系统功率,并且由于需要中间的缓冲和/或再驱动而可能减小潜在的存储器密度。
虽然图中未示出,存储器模块或中心设备还可以包括一个单独的总线,诸如“存在检测”总线、I2C总线和/或SM总线,该单独的总线用于一个或多个功能,这些功能包括确定中心设备和/或存储器模块属性(通常在通电以后)、向系统报告错误信息或状态信息、在通电之后或正常操作期间构造中心设备和/或存储器子系统或其它目的。取决于总线特征,此总线还可以提供一种手段,通过该手段可以由中心设备和/或存储器模块向存储器控制器报告有效完成操作,或者识别出在主存储器控制器请求的执行期间发生了故障。
类似于点到点总线结构中获得的那些性能可以通过增加切换设备来获得。这些以及其它的方案提供了较低功率的增加的存储器封装密度,而同时保持点到点总线的许多特征。多点总线提供了一种替代方案,虽然经常限定在较低操作频率,但是对许多应用来说其性价比具有优越性。光学总线方案在点到点或多点应用中,带来频率和带宽潜力的大大增加,但是可能引起成本和空间的影响。
这里使用的术语“缓冲器”或“缓冲器设备”是指一个暂时存储单元(如在计算机中的),特别是以一个速率接受信息并以另一速率传递该信息的单元。在示范性实施例中,缓冲器是一个电子设备,它提供两个信号之间的相容性(例如改变电压水平或电流容量)。术语“中心”有时与术语“缓冲器”可以互换使用。中心是包含多个端口的设备,被连接到几个其它的设备。一个端口是接口的一部分,用作适合的I/O功能(例如一个端口可以用于经点到点链路或总线发送和接收数据、地址和控制信息)。中心可以是一个中央设备,将几个系统、子系统或网络连接到一起。一个无源中心可以简单地转发消息,而一个有源中心或转发器放大和更新数据流,否则该数据流经过长距离传送会恶化。这里使用的术语中心设备是指包括用于执行存储器功能的逻辑(硬件和/或软件)的中心芯片。
还有,这里使用的术语“总线”是指导线(例如导线、印刷电路板迹线或集成电路中的连接)组中的一组,将计算机中的两个或多个功能单元连接起来。数据总线、地址总线和控制信号,不论它们的名字,构成单个总线,因为没有其它二者每个总线都是无用的。一个总线可以包括多条信号线,每个信号线具有两个或多个连接点,这些信号线形成了电气地连接两个或多个发送接收器、发送器和/或接收器的主传输通路。术语“总线”与“通道”相对,后者总是用于描述与存储器系统中的存储器控制器有关的“端口”的功能,总线可能包括一条或多条总线,或者一个或多个总线组。术语“通道”在这里是指存储器控制器上的一个端口。注意,此术语经常与I/O或其它外围设备联合使用,但是术语通道已被某些人采用来描述存储器或存储器控制器与一个或多个存储器子系统之间的接口。
此外,这里使用的术语“菊花链(daisy chain)”是指总线配线结构,其中例如设备A被连线到设备B,设备B被连线到设备C等等。最后的设备典型地连线到一个电阻器或终端连接器。与简单的总线相比,所有的设备可以接收相同的信号,每个设备可以在继续传送之前修正一个或多个信号。这里使用的术语“级联”或“级联互连”是指阶段或单元的一个序列或者互连的网络设备(典型地,中心)的集合,在该集合中中心用作逻辑转发器,还使得产生的数据集中到已有数据流中。这里使用的术语“点到点”总线和/或链路是指一条或多条信号线,每个可以包括一个或多个终端。在点到点总线和/或链路中,每个信号线具有两个发送接收器连接点,每个发送接收器连接点耦合到传送器电路、接收器电路或发送接收器电路。一条信号线是指一个或多个电气导线或光学载波,通常以双绞、平行或同心形式构造为单独载波或两个或多个载波,用于传送至少一个逻辑信号。
存储器设备通常地定义为主要由存储器(存储)单元构成的集成电路,诸如DRAM(动态随机存取存储器)、SRAM(静态随机存取存储器)、FeRAM(铁电RAM)、MRAM(磁随机存取存储器)、闪存和其它形式的随机存取和有关的存储器,这些存储器存储电、光、磁、生物或其它形式的信息。动态存储器设备类型可以包括异步存储器设备,诸如FPM DRAM(快速翻页模式动态随机存取存储器)、EDO(延展数据输出)DRAM、BEDO(脉冲EDO)DRAM、SDR(单数据速率)同步DRAM、DDR(双数据速率)同步DRAM或者任何希望的继续设备,诸如DDR2、DDR3、DDR4和有关的技术(例如图形RAM、视频RAM、LP RAM(低功耗DRAM)),这些技术通常基于相关DRAM上发现的基本的功能、特征和/或接口。
存储器设备可以多种形式和构造的芯片(管芯)和/或单独或多芯片封装的形式使用。在多芯片封装中,存储器设备可以与其它设备类型(例如其它存储器设备、逻辑芯片、模拟设备和可编程设备)封装在一起,也可以包括无源设备(例如电阻、电容和电感)。这些封装可以包括集成的散热片或其它冷却设置,散热片或冷却设置还可以附加到紧邻的载体或另一附近的载体或除热系统。
模块支持设备(例如缓冲器、中心、中心逻辑芯片、寄存器、PLL、DLL、非易失存储器等等)可以由多个独立的芯片和/或部件构成,可作为多个独立的芯片组合到一个或多个基底上,可以组合到单独的封装上或者甚至集成到一个单个的设备上,这些是基于技术、功率、空间、成本和其它考量。此外,多种无源设备之一或者多个(例如电阻、电容)可以集成到该支持芯片封装中或集成到基底、板或未加工的卡中,这是基于技术、功率、空间、成本和其它考量。这些封装可以包括一个集成散热片或者其它冷却设置,散热片或其它冷却设置还可以附加到紧邻的载体或另一附近载体或除热系统。
存储器设备、中心、缓冲器、寄存器、时钟设备、无源和其它存储器支持设备和/或部件可以经多种方法(包括焊接互连、导电粘合剂、插座结构、压力接触和其它的可以促使两个或多个设备间经电、光或替代方式通信的方法)附加到存储器子系统和/或中心设备。
该一个或多个存储器模块(或存储器子系统)和/或中心设备可以经一个或多个方法(例如焊接互连、连接器、压力接触、导电粘合剂、光学互连和其它通信和电力传输方法)连接到存储器系统、处理器组合体、计算机系统或其它系统环境。连接器系统可以包括与一个阳或阴连接器、光学连接、压力接触(通常结合一个保持机制)和/或多种其它通信和电力传递方法之一或多个相配合的位于一个载体上的匹配的连接器(阳/阴)、导电性接触点和/或管脚。该互连可以沿存储器组件的一条边或多条边设置和/或取决于应用要求(例如易于升级/修理、可利用的空间/容积、热传递、部件尺寸和形状及其它相关的物理、电、光、视觉/物理访问等等)布置在距存储器子系统的一条边一段距离的地方。
这里使用的术语“存储器子系统”是指但不限于一个或多个存储器设备;一个或多个存储器设备及相关的接口和/或计时/控制电路;和/或一个或多个存储器设备结合存储器缓冲器、中心设备和/或切换开关。术语存储器子系统也可以指除了任何的相关接口和/或计时/控制电路和/或存储器缓冲器、中心设备或切换开关之外的一个或多个存储器设备,它们组装在一个基底上、一个卡上、一个模块上或者有关的组件上,该基底、卡、模块或组件还可以包括一个连接器或者类似的手段,电气地将存储器子系统连接到其它电路。这里说明的存储器模块也可以称为存储器子系统,因为它们包括一个或多个存储器设备及中心设备。
可以局部地驻留在存储器子系统和/或中心设备上的附加的功能包括写和/或读缓冲器、一或多级存储器高速缓存、本地预取逻辑、数据加密/解密、压缩/解压缩、协议转换、命令优先级化逻辑、电压和/或级别转换、误差检测和/或校正电路、数据擦洗、本地功率管理电路和/或报告、操作和/或状态寄存器、初始化电路、性能监视和/或控制、一个或多个共同处理器、搜索引擎和可能事先驻留在其它存储器子系统中的其它功能。通过放置本地功能到存储器子系统,可以获得相关于特定功能的附加的性能,经常同时使用子系统内未被使用的电路。
存储器子系统支持设备可以直接地附加到存储器设备所附加到其上的相同的基底或组件,或者可以安装到一个单独的插入件或基底(也是利用多种塑料、硅、陶瓷或包括电、光或其它通信通路来互连该支持设备到存储器设备和/或存储器或计算机系统的其它部件的其它材料制造的)。
沿总线、通道、链路或用于互连方法的其它命名惯例的信息传递(例如数据包)可以使用许多信号传送选择中的一个或多个来完成。这些传送信号的选择可以包括例如单端、差分、光或其它方法,电信号传送还包括例如电压或电流信号传送(单一或多级方法)。还可以使用时间或频率、非归零、相移键控、调幅和其它方法来调制信号。电压水平希望是连续地减少,具有1.5V、1.2V、1V和更低的信号电压,希望该电压与相关集成电路本身工作所需的减小的电源电压一致(但是通常独立于该电源电压)。
可以在存储器子系统内使用一个或多个时钟方法,而存储器子系统自身包括全局时钟、源同步时钟、编码的时钟或这些及其它方法的组合。时钟信号可以与信号线自身的时钟信号相同,或者可以利用所列的方法或者对计划的时钟频率及各子系统内部的计划时钟数目更有益的替代方法之一。单个的时钟可以与存储器的所有通信相关,以及存储器子系统内的所有时钟功能相关,或者利用例如早前描述的那些方法之一或多个来发源多个时钟。当使用多个时钟时,存储器子系统内的各功能可以与唯一地发源到该子系统的一个时钟相关,或者基于一个时钟,该时钟从与传送到存储器子系统(例如与编码的时钟有关的)或从其传出的信息相关的时钟导出。替代地,可以使用唯一的时钟用于传送到存储器子系统的信息,一个单独的时钟用于从存储器子系统之一(或多个)发源的信息。时钟本身可以在通信或功能频率的相同频率或倍频上工作,并且可以相关于数据、命令或地址信息而边缘对齐、中间对齐或置位于替代的定时位置。
传送到存储器子系统的信息通常由地址、命令和数据以及其它信号构成,所述其它信号通常关于请求或者报告状态或误差情况、复位存储器、完成存储器或逻辑初始化及其它功能、配置或相关信息。从存储器子系统传递的信息可以包括传送到存储器子系统的任意或全部信息,但是通常不包括地址和命令信息。此信息可以利用与通常的存储器设备接口规范(本质上通常并行)一致的通信方法来通信,信息可以编码成“数据包”结构,该结构可以与将来的存储器接口一致或者简单地通过将接收的信息转换成接收设备要求的格式来增加通信带宽和/或使得子系统能够独立于存储器技术来操作。
存储器子系统的初始化可以基于可利用的接口总线、需要的初始化速度、可利用的空间、成本/复杂度目标、子系统互连结构、可以用于此目的或其它目的的替代处理器(例如服务处理器)等等,经一种或多种方法来完成。在一个实施例中,可以使用高速总线来完成存储器子系统的初始化,通常首先完成训练过程,来建立可靠的通信,然后询问与各部件的属性或者“存在检测”数据和/或与子系统有关的特征,最后利用与该系统内希望的操作的信息编程适当的设备。在级联的系统中,通常建立与第一存储器子系统的通信,然后是与后续(下游)子系统建立通信,其顺序与各子系统沿级联互连总线的各自位置一致。
第二初始化方法包括这样一个方法,其中高速总线在初始化过程中工作在一个频率,在通常的操作期间工作在第二(通常更高)频率上。在此实施例中,由于增加了与低频操作有关的定时余量,在完成询问和/或编程每个子系统之前,可能启动与级联互连总线上所有存储器子系统的通信。
第三初始化方法可以包括级联互连总线在通常操作频率的操作,同时增加与每个地址、命令和/或数据传送有关的周期数目。在一个实施例中,一个数据包包含地址、命令和/或数据信息的全部或者一部分,它可以在通常的操作期间在一个时钟周期内传送,但是相同数量和/或类型的信息在初始化期间可以在两个、三个或更多个周期上传送。此初始化过程因此使用“慢”命令的形式,而不是“通常”命令的形式,这种模式可以在每个子系统和存储器控制器通过包括在这些子系统的每一个中的POR(接通电源-复位)逻辑接通电源或重新启动之后在某点上自动地进入。
第四初始化方法可以使用一个独特的总线,例如存在检测总线(如这里共同转让给戴尔等的美国专利申请No.5513135中限定的)、I2C总线(如公开的JEDEC标准中限定的,例如出版物21-C修订本7R8中的168Pin DIMM族)和/或SMBUS,这些总线已经广泛利用并且记载在利用这样的存储器模块的计算机系统中。此总线可以以菊花链/级联互连、多点或替代结构连接到存储器系统内的一个或多个模块,提供一种独立的手段来查询存储器子系统、编程一个或多个存储器子系统中的每一个来在总的系统环境内操作,及在通常的系统操作期间基于性能、温度、结构或系统环境下要求或检测的其它改变,调整其它时间时的操作特征。
结合所列的方法或独立于所列的方法,也可以使用其它的初始化方法。使用单独的总线,如上述第四实施例中说明的,还提供了这样的优点,即提供一种独立的手段来初始化及非初始化时使用(如这里共同转让给戴尔等的美国专利申请号为6381685中记载的),这些使用包括子系统操作特征的动态改变,报告和响应操作子系统信息(如初始化、温度数据、故障信息)或其它目的。
随着平版印刷术的发展、更好的过程控制、更低电阻材料的使用、增加的场尺寸和其它半导体处理的改进,增加的设备电路密度(通常结合增加的管芯尺寸)会有助于在集成设备上增加功能以及先前在单独设备上实现的功能的集成。这种功能的集成会改善目标功能的整体性能,以及促进增加存储密度、减少功耗、减少空间需求、降低成本及带来其它制造商和用户的利益。这种功能的集成是一种自然的演进过程,可能导致需要与系统相关的基本构建模块的结构改变。
利用一个或多个故障检测和/或校正方法,可以在很高程度上保证与存储器系统或子系统的每个部件有关的通信通路、数据存储内容和所有功能操作的整体化。各部件中的任一个或全部可以包括误差检测和/或校正方法,比如CRC(循环冗余码)、EDC(误差检测和校正)、奇偶或适合此目的的其它编码/解码方法。更高的可靠性增加措施可以包括操作重试(来克服间歇的故障,例如与信息传送有关的间歇故障)、使用一个或多个替代或替换通信通路来替换失败的通路和/或线路、补充-再补充技术或用在计算机、通信和相关系统中的替代方法。
总线(简单如点到点链路或复杂如多点结构)上总线终端的使用正变得越来越普遍地与增加的性能需求一致。可以确定和/或考虑多种终端方法,这些方法包括使用诸如电阻器、电容器、电感或三者的任意组合的设备,这些设备连接在信号线和电源线或地线与终端电压或另一信号之间。终端设备可以是无源或有源终端结构的一部分,且可以驻留在沿信号线之一或多个的一个或多个位置,或者作为发送器和/或接收器的一部分。终端器可以选择与传送线的阻抗匹配,或经替代方法来选择以最大化可用频率、工作余量和相关属性(在成本、空间、功耗和其它限制之内)。
示范实施例的技术效果和优点包括在运行时间(在应用情况下)验证(validate)存储器接口和监视存储器系统的多个接口来理解系统中何处可能正在发生瓶颈效应的能力。此信息可以用于编程当前存储器系统中的最优寄存器设置和/或修正设计来消除瓶颈效应。示范性实施例可以在初始设计期间、在运输之前和/或运输之后的启动期间使用来帮助诊断仅在用户环境中可能发生的随机故障。
如上所述,本发明的实施例可以计算机实现的处理过程和装置体现,用来实现那些处理过程。本发明的实施例还可以体现为计算机程序码的形式,包含保存在有形的媒质(如软盘、CD-ROM、硬盘或其它计算机可读的存储介质)中的指令,其中当计算机程序码装载在计算机中并由计算机执行时,计算机变成实现本发明的装置。本发明还可以体现在计算机程序码中,例如存储在存储介质中、装载在计算机中和/或由计算机执行、或者经光纤或电磁辐射在某传送媒介(如电线或电缆)上传输,其中当计算机程序码装载在计算机中并由计算机执行时,该计算机变成实施本发明的装置。当计算机程序码在通用微处理器上执行时,该计算机程序码片断构造该微处理器以生成一个特定逻辑电路。
虽然参考示范性实施例说明了本发明,本领域的人员将可以理解,在不脱离本发明的精神的情况下,可以做出各种变动,可以用等同物替换本发明中的部件。此外,在不脱离本发明的基本精神的情况下,可以对本发明的教导做出多种修正来适应特定的情况或材料。因此,本发明不限定于考虑作为实施本发明的最佳方式而公开的特定实施例,而是本发明将包括落入所附权利要求的范围内的所有实施例。再有,术语第一、第二等的使用不表示任何的顺序或重要性,而是用于区分不同部件。
Claims (17)
1.一种存储器系统,用来存储和检索处理系统的数据,该存储器系统包括:
存储器控制器,用来接收和响应存储器访问请求;
多个存储器设备;
存储器总线,与该存储器控制器通信;及
存储器中心设备,与该存储器总线通信,该存储器中心设备包括:
存储器接口,用来经该存储器总线在存储器中心设备和存储器控制器之间传送地址、控制和数据信息中的一个或者多个;
存储器设备接口,用来与存储器设备通信;及
性能监视器,用来在系统操作期间监视和报告规定时间间隔内存储器总线使用率、存储器设备使用率和性能特征中的一个或者多个,
其中该性能监视器包括事件计数器阵列和格计数器中的一个或多个,所述事件计数器阵列用来记录在地址、控制和数据信息中的一个或多个中检测到的选择的事件,所述格计数器用来记录在地址、控制和数据信息中的一个或多个中检测到的相关事件之间经过的时间,在经过了规定的时间段或者到达了事件计数阈值中的一个或多个之后,该性能监视器将事件计数器阵列中的项和格计数器中的项中的一个或多个装载到事件频率阵列中,并且
该性能监视器还包括一个或多个跟踪阵列,用来随时间记录地址、控制和数据信息中的一个或多个,其中该性能监视器在事件计数器和格计数器上设置阈值,当超过该阈值中的一个或多个时,停止该跟踪阵列,由此一旦指示发生了不希望的事件时就停止该跟踪阵列。
2.如权利要求1的存储器系统,其中该报告过程包括输出下游使用的总线带宽、上游使用的总线带宽、平均读等待时间和读/写带宽比中的一个或者多个。
3.如权利要求1的存储器系统,其中该选择的事件包括读命令、写命令和对读命令的响应中的一个或者多个。
4.如权利要求1的存储器系统,其中该性能监视器还复位事件计数器阵列并递增事件频率阵列装载指针。
5.如权利要求1的存储器系统,其中该相关事件包括读命令和对该读命令的响应。
6.如权利要求1的存储器系统,其中该性能监视器还复位该格计数器并递增事件频率阵列装载指针。
7.如权利要求1的存储器系统,其中该存储器系统是确定性存储器系统。
8.如权利要求1的存储器系统,其中该存储器系统是非确定性存储器系统。
9.如权利要求1的存储器系统,其中性能监视数据由一个或多个报告总线读取。
10.一种存储器子系统,包括:
多个存储器设备;及
存储器中心设备,与存储器总线通信,该存储器中心设备包括:
存储器接口,用来经存储器总线在存储器中心设备和存储器控制器之间传送地址、控制和数据信息中的一个或多个;
存储器设备接口,用来与该存储器设备通信;及
性能监视器,用来在子系统操作期间,在规定的时间间隔内监视和报告存储器总线使用率、存储器设备使用率和性能特征中的一个或多个,
其中该性能监视器包括事件计数器阵列和格计数器中的一个或多个,所述事件计数器阵列用来记录在地址、控制和数据信息中的一个或多个中检测到的选择的事件,所述格计数器用来记录在地址、控制和数据信息中的一个或多个中检测到的相关事件之间经过的时间,在经过了规定的时间段或者到达了事件计数阈值中的一个或多个之后,该性能监视器将事件计数器阵列中的项和格计数器中的项中的一个或多个装载到事件频率阵列中,并且
该性能监视器还包括一个或多个跟踪阵列,用来随时间记录地址、控制和数据信息中的一个或多个,其中该性能监视器在事件计数器和格计数器上设置阈值,当超过该阈值中的一个或多个时,停止该跟踪阵列,由此一旦指示发生了不希望的事件时就停止该跟踪阵列。
11.一种存储器控制器,用来接收和响应存储器访问请求,该存储器控制器包括:
存储器接口,用来经存储器总线在该存储器控制器和一个或多个中心设备之间传送地址、控制和数据信息中的一个或多个;以及
性能监视器,用来在系统操作期间,在规定的时间间隔内监视和报告存储器总线使用率和性能特征中的一个或多个,
其中该性能监视器包括事件计数器阵列和格计数器中的一个或多个,所述事件计数器阵列用来记录在地址、控制和数据信息中的一个或多个中检测到的选择的事件,所述格计数器用来记录在地址、控制和数据信息中的一个或多个中检测到的相关事件之间经过的时间,在经过了规定的时间段或者到达了事件计数阈值中的一个或多个之后,该性能监视器将事件计数器阵列中的项和格计数器中的项中的一个或多个装载到事件频率阵列中,并且
该性能监视器还包括一个或多个跟踪阵列,用来随时间记录地址、控制和数据信息中的一个或多个,其中该性能监视器在事件计数器和格计数器上设置阈值,当超过该阈值中的一个或多个时,停止该跟踪阵列,由此一旦指示发生了不希望的事件时就停止该跟踪阵列。
12.一种存储器中心设备,包括:
存储器接口,用来经存储器总线在该存储器中心设备和存储器控制器之间传送地址、控制和数据信息中的一个或多个;
存储器设备接口,用来与存储器设备通信;及
性能监视器,用来在子系统操作期间,在规定的时间间隔内监视和报告存储器总线使用率、存储器设备使用率和性能特征中的一个或多个,其中该性能监视器包括事件计数器阵列和格计数器中的一个或多个,所述事件计数器阵列用来记录在地址、控制和数据信息中的一个或多个中检测到的选择的事件,所述格计数器用来记录在地址、控制和数据信息中的一个或多个中检测到的相关事件之间经过的时间,在经过了规定的时间段或者到达了事件计数阈值中的一个或多个之后,该性能监视器将事件计数器阵列中的项和格计数器中的项中的一个或多个装载到事件频率阵列中,并且
该性能监视器还包括一个或多个跟踪阵列,用来随时间记录地址、控制和数据信息中的一个或多个,其中该性能监视器在事件计数器和格计数器上设置阈值,当超过该阈值中的一个或多个时,停止该跟踪阵列,由此一旦指示发生了不希望的事件时就停止该跟踪阵列。
13.如权利要求12的存储器中心设备,其中性能监视器数据利用一个或多个报告总线来读取。
14.一种提供性能监视的方法,该方法包括:
检测中心设备中是否发生选择的事件,该事件的特征由类型予以表征;
利用事件计数器阵列记录在地址、控制和数据信息中的一个或多个中检测到的选择的事件,并利用格计数器记录在地址、控制和数据信息中的一个或多个中检测到的相关事件间经过的时间;
继续检测和记录过程一段规定的时间段,或直到达到事件计数阈值;及
在规定的时间段之后或者达到了事件计数阈值之后,将记录的数据存储到事件频率阵列中,
该方法还包括执行一个或多个跟踪阵列来随时间记录存储器中心设备接收的地址、控制和数据信息中的一个或多个,其中在事件计数器和格计数器上设置阈值,当超过该阈值中的一个或多个时,该跟踪阵列中的执行过程被停止,由此一旦指示发生了不希望的事件就停止该跟踪阵列。
15.如权利要求14的方法,还包括输出事件频率阵列的内容。
16.如权利要求14的方法,还包括响应于事件频率阵列的内容,产生使用率统计和性能特征。
17.如权利要求14的方法,还包括输出一个或多个跟踪阵列的内容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/461,567 | 2006-08-01 | ||
US11/461,567 US7493439B2 (en) | 2006-08-01 | 2006-08-01 | Systems and methods for providing performance monitoring in a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101118782A CN101118782A (zh) | 2008-02-06 |
CN101118782B true CN101118782B (zh) | 2012-01-18 |
Family
ID=39030618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710110044XA Active CN101118782B (zh) | 2006-08-01 | 2007-06-12 | 存储和检索处理系统的数据的存储器系统和性能监视方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7493439B2 (zh) |
JP (1) | JP5063240B2 (zh) |
CN (1) | CN101118782B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11775460B2 (en) | 2017-10-02 | 2023-10-03 | Micron Technology, Inc. | Communicating data with stacked memory dies |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004008910A1 (de) * | 2004-02-24 | 2005-09-08 | Robert Bosch Gmbh | Verfahren und Kommunikationssystem zur Übertragung von Informationen in einem Kraftfahrzeug |
US20060123179A1 (en) * | 2004-12-03 | 2006-06-08 | Wong Kar L | Controlling issuance of requests |
US7840732B2 (en) * | 2006-09-25 | 2010-11-23 | Honeywell International Inc. | Stacked card address assignment |
DE102007006508B4 (de) * | 2007-02-09 | 2012-11-15 | Texas Instruments Deutschland Gmbh | Mikrocontroller mit Speicher-Trace-Modul |
US7979616B2 (en) * | 2007-06-22 | 2011-07-12 | International Business Machines Corporation | System and method for providing a configurable command sequence for a memory interface device |
US9779235B2 (en) | 2007-10-17 | 2017-10-03 | Sukamo Mertoguno | Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity |
JP5401846B2 (ja) * | 2008-06-27 | 2014-01-29 | 富士通株式会社 | データ転送装置、情報処理装置、データ転送方法 |
US8656082B2 (en) * | 2008-08-05 | 2014-02-18 | Micron Technology, Inc. | Flexible and expandable memory architectures |
WO2010029830A1 (ja) * | 2008-09-12 | 2010-03-18 | 株式会社日立製作所 | 半導体装置および情報処理システム |
CN101715145B (zh) | 2008-10-06 | 2012-08-15 | 辉达公司 | 利用级联存储器评估处理能力的设备和方法 |
US20100161277A1 (en) * | 2008-12-24 | 2010-06-24 | Elkiem Centre Pty Limited. | Networked evaluation system |
US8566639B2 (en) * | 2009-02-11 | 2013-10-22 | Stec, Inc. | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
US8195858B1 (en) | 2009-07-28 | 2012-06-05 | Nvidia Corporation | Managing conflicts on shared L2 bus |
US8321618B1 (en) * | 2009-07-28 | 2012-11-27 | Nvidia Corporation | Managing conflicts on shared L2 bus |
KR101262846B1 (ko) * | 2009-12-15 | 2013-05-10 | 한국전자통신연구원 | 임베디드 단말 성능 측정 장치 및 방법 |
CN101847104A (zh) * | 2010-05-19 | 2010-09-29 | 深圳市九洲电器有限公司 | 一种内存参数的配置方法、系统及嵌入式设备 |
US8762783B2 (en) * | 2010-06-24 | 2014-06-24 | International Business Machines Corporation | Error identification |
JP5716400B2 (ja) * | 2011-01-05 | 2015-05-13 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP5744650B2 (ja) * | 2011-07-06 | 2015-07-08 | オリンパス株式会社 | バスモニタ装置、バスモニタ方法、およびプログラム |
US8996822B2 (en) | 2011-07-29 | 2015-03-31 | Micron Technology, Inc. | Multi-device memory serial architecture |
WO2013048385A1 (en) | 2011-09-28 | 2013-04-04 | Intel Corporation | Maximum-likelihood decoder in a memory controller for synchronization |
EP3364304B1 (en) | 2011-09-30 | 2022-06-15 | INTEL Corporation | Memory channel that supports near memory and far memory access |
EP2761467B1 (en) * | 2011-09-30 | 2019-10-23 | Intel Corporation | Generation of far memory access signals based on usage statistic tracking |
US9378133B2 (en) | 2011-09-30 | 2016-06-28 | Intel Corporation | Autonomous initialization of non-volatile random access memory in a computer system |
CN103946816B (zh) | 2011-09-30 | 2018-06-26 | 英特尔公司 | 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram) |
WO2013048491A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus, method and system that stores bios in non-volatile random access memory |
WO2013048500A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
US9600416B2 (en) | 2011-09-30 | 2017-03-21 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
CN107608910B (zh) | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
WO2013055399A1 (en) * | 2011-10-12 | 2013-04-18 | Qualcomm Incorporated | Central processing unit monitoring and management based on a busy-idle histogram |
WO2012167533A1 (zh) * | 2011-10-31 | 2012-12-13 | 华为技术有限公司 | 一种构建内存访问模型的方法及装置 |
WO2013077867A1 (en) | 2011-11-22 | 2013-05-30 | Intel Corporation | Access control for non-volatile random access memory across platform agents |
CN103975287B (zh) | 2011-12-13 | 2017-04-12 | 英特尔公司 | 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持 |
CN104106057B (zh) | 2011-12-13 | 2018-03-30 | 英特尔公司 | 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统 |
WO2013095385A1 (en) | 2011-12-20 | 2013-06-27 | Intel Corporation | Apparatus and method for phase change memory drift management |
DE112011105984T5 (de) | 2011-12-20 | 2014-09-18 | Intel Corporation | Dynamische teilweise Abschaltung eines arbeitsspeicherseitigen Zwischenspeichers in einer Arbeitsspeicherhierarchie auf zwei Ebenen |
WO2013095465A1 (en) | 2011-12-21 | 2013-06-27 | Intel Corporation | High-performance storage structures and systems featuring multiple non-volatile memories |
KR101572403B1 (ko) | 2011-12-22 | 2015-11-26 | 인텔 코포레이션 | 메모리 채널 셧다운에 의한 전력 절약 |
WO2013097105A1 (en) | 2011-12-28 | 2013-07-04 | Intel Corporation | Efficient dynamic randomizing address remapping for pcm caching to improve endurance and anti-attack |
TWI637396B (zh) * | 2012-02-13 | 2018-10-01 | 中村維男 | 無記憶體瓶頸的行進記憶體,雙向行進記憶體,複雜行進記憶體,及計算機系統 |
JP6184064B2 (ja) | 2012-07-19 | 2017-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリサブシステム、コンピュータ・システム |
US9183041B2 (en) * | 2012-09-21 | 2015-11-10 | International Business Machines Corporation | Input/output traffic backpressure prediction |
US9032177B2 (en) * | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
US9298651B2 (en) * | 2013-06-24 | 2016-03-29 | International Business Machines Corporation | Continuous in-memory accumulation of hardware performance counter data |
EP3654337A1 (en) * | 2013-10-15 | 2020-05-20 | Rambus Inc. | Load reduced memory module |
US9465709B2 (en) * | 2013-11-22 | 2016-10-11 | Netapp, Inc. | System and method for providing performance sampling in a computing system |
IN2014MU00158A (zh) * | 2014-01-16 | 2015-08-28 | Tata Consultancy Services Ltd | |
US9229841B2 (en) | 2014-03-10 | 2016-01-05 | Qualcomm Incorporated | Systems and methods for detecting errors and recording actions on a bus |
US9626270B2 (en) | 2014-09-26 | 2017-04-18 | Intel Corporation | Link retraining based on runtime performance characteristics |
US10204047B2 (en) | 2015-03-27 | 2019-02-12 | Intel Corporation | Memory controller for multi-level system memory with coherency unit |
US10387259B2 (en) | 2015-06-26 | 2019-08-20 | Intel Corporation | Instant restart in non volatile system memory computing systems with embedded programmable data checking |
US10073659B2 (en) | 2015-06-26 | 2018-09-11 | Intel Corporation | Power management circuit with per activity weighting and multiple throttle down thresholds |
WO2017020973A1 (en) * | 2015-08-03 | 2017-02-09 | Missio B.V. | Data loggger and sampling and encoding methods for use in a data logger |
KR102288546B1 (ko) * | 2015-08-31 | 2021-08-10 | 삼성전자주식회사 | 스토리지 장치 및 그 제어 방법 |
US10108549B2 (en) | 2015-09-23 | 2018-10-23 | Intel Corporation | Method and apparatus for pre-fetching data in a system having a multi-level system memory |
US10185501B2 (en) | 2015-09-25 | 2019-01-22 | Intel Corporation | Method and apparatus for pinning memory pages in a multi-level system memory |
US10261901B2 (en) | 2015-09-25 | 2019-04-16 | Intel Corporation | Method and apparatus for unneeded block prediction in a computing system having a last level cache and a multi-level system memory |
US9792224B2 (en) | 2015-10-23 | 2017-10-17 | Intel Corporation | Reducing latency by persisting data relationships in relation to corresponding data in persistent memory |
US10033411B2 (en) | 2015-11-20 | 2018-07-24 | Intel Corporation | Adjustable error protection for stored data |
US10095618B2 (en) | 2015-11-25 | 2018-10-09 | Intel Corporation | Memory card with volatile and non volatile memory space having multiple usage model configurations |
US9471778B1 (en) | 2015-11-30 | 2016-10-18 | International Business Machines Corporation | Automatic baselining of anomalous event activity in time series data |
US9747041B2 (en) | 2015-12-23 | 2017-08-29 | Intel Corporation | Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device |
US10007606B2 (en) | 2016-03-30 | 2018-06-26 | Intel Corporation | Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory |
KR102529187B1 (ko) * | 2016-03-31 | 2023-05-04 | 삼성전자주식회사 | 복수의 통신 규격들을 지원하는 수신 인터페이스 회로 및 이를 포함하는 메모리 시스템 |
US10185619B2 (en) | 2016-03-31 | 2019-01-22 | Intel Corporation | Handling of error prone cache line slots of memory side cache of multi-level system memory |
US10120806B2 (en) | 2016-06-27 | 2018-11-06 | Intel Corporation | Multi-level system memory with near memory scrubbing based on predicted far memory idle time |
GB2553102B (en) * | 2016-08-19 | 2020-05-20 | Advanced Risc Mach Ltd | A memory unit and method of operation of a memory unit to handle operation requests |
US10915453B2 (en) | 2016-12-29 | 2021-02-09 | Intel Corporation | Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures |
US10445261B2 (en) | 2016-12-30 | 2019-10-15 | Intel Corporation | System memory having point-to-point link that transports compressed traffic |
US11003381B2 (en) * | 2017-03-07 | 2021-05-11 | Samsung Electronics Co., Ltd. | Non-volatile memory storage device capable of self-reporting performance capabilities |
US10304814B2 (en) | 2017-06-30 | 2019-05-28 | Intel Corporation | I/O layout footprint for multiple 1LM/2LM configurations |
US10481944B2 (en) * | 2017-08-09 | 2019-11-19 | Xilinx, Inc. | Adaptive quality of service control circuit |
US11188467B2 (en) | 2017-09-28 | 2021-11-30 | Intel Corporation | Multi-level system memory with near memory capable of storing compressed cache lines |
US10446198B2 (en) | 2017-10-02 | 2019-10-15 | Micron Technology, Inc. | Multiple concurrent modulation schemes in a memory system |
US10725913B2 (en) * | 2017-10-02 | 2020-07-28 | Micron Technology, Inc. | Variable modulation scheme for memory device access or operation |
US10860244B2 (en) | 2017-12-26 | 2020-12-08 | Intel Corporation | Method and apparatus for multi-level memory early page demotion |
US20190258730A1 (en) * | 2018-02-22 | 2019-08-22 | Beckman Coulter, Inc. | Time slicing massive data processing |
US11099995B2 (en) | 2018-03-28 | 2021-08-24 | Intel Corporation | Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory |
US11070455B2 (en) | 2018-04-30 | 2021-07-20 | Hewlett Packard Enterprise Development Lp | Storage system latency outlier detection |
US10778552B2 (en) * | 2018-04-30 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Storage system latency evaluation based on I/O patterns |
CN109101451A (zh) * | 2018-07-12 | 2018-12-28 | 比飞力(深圳)科技有限公司 | 芯片串联电路、计算设备及通信方法 |
US11055228B2 (en) | 2019-01-31 | 2021-07-06 | Intel Corporation | Caching bypass mechanism for a multi-level memory |
US11106519B2 (en) | 2019-04-03 | 2021-08-31 | Micron Technology, Inc. | Automotive electronic control unit reliability and safety during power standby mode |
US11481117B2 (en) | 2019-06-17 | 2022-10-25 | Hewlett Packard Enterprise Development Lp | Storage volume clustering based on workload fingerprints |
CN110660425B (zh) * | 2019-09-10 | 2021-07-30 | 北京航空航天大学 | 自旋随机存储器及使用方法 |
CN111177022B (zh) * | 2019-12-26 | 2022-08-12 | 广东浪潮大数据研究有限公司 | 一种特征提取方法、装置、设备及存储介质 |
US11880291B2 (en) * | 2020-07-07 | 2024-01-23 | Micron Technology, Inc. | Monitoring and reporting a status of a memory device |
US11842080B2 (en) * | 2021-04-27 | 2023-12-12 | Micron Technology, Inc. | Memory device health evaluation at a host device |
CN113326046B (zh) * | 2021-05-26 | 2023-09-26 | 网易(杭州)网络有限公司 | 获取编译时长的方法和装置 |
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
US20230176958A1 (en) * | 2021-12-03 | 2023-06-08 | International Business Machines Corporation | Monitoring code coverage |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1217082A (zh) * | 1996-03-21 | 1999-05-19 | 株式会社日立制作所 | Dram内装数据处理器件 |
US20030028701A1 (en) * | 1999-04-29 | 2003-02-06 | Rao Ravi S. | Integrated real-time performance monitoring facility |
US20050144403A1 (en) * | 2003-12-29 | 2005-06-30 | Jeddeloh Joseph M. | Memory hub and method for memory system performance monitoring |
US20060080584A1 (en) * | 2004-10-07 | 2006-04-13 | Fred Hartnett | Built-in self-test system and method for an integrated circuit |
Family Cites Families (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL220449A (zh) | 1956-09-04 | |||
US3333253A (en) | 1965-02-01 | 1967-07-25 | Ibm | Serial-to-parallel and parallel-toserial buffer-converter using a core matrix |
US3395400A (en) | 1966-04-26 | 1968-07-30 | Bell Telephone Labor Inc | Serial to parallel data converter |
US4028675A (en) | 1973-05-14 | 1977-06-07 | Hewlett-Packard Company | Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system |
US3825904A (en) | 1973-06-08 | 1974-07-23 | Ibm | Virtual memory system |
US4135240A (en) | 1973-07-09 | 1979-01-16 | Bell Telephone Laboratories, Incorporated | Protection of data file contents |
US4472780A (en) | 1981-09-28 | 1984-09-18 | The Boeing Company | Fly-by-wire lateral control system |
US4486826A (en) | 1981-10-01 | 1984-12-04 | Stratus Computer, Inc. | Computer peripheral control apparatus |
US4475194A (en) | 1982-03-30 | 1984-10-02 | International Business Machines Corporation | Dynamic replacement of defective memory words |
US4641263A (en) | 1982-05-17 | 1987-02-03 | Digital Associates Corporation | Controller system or emulating local parallel minicomputer/printer interface and transferring serial data to remote line printer |
US4486739A (en) | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US4833605A (en) | 1984-08-16 | 1989-05-23 | Mitsubishi Denki Kabushiki Kaisha | Cascaded information processing module having operation unit, parallel port, and serial port for concurrent data transfer and data processing |
US4683555A (en) | 1985-01-22 | 1987-07-28 | Texas Instruments Incorporated | Serial accessed semiconductor memory with reconfigureable shift registers |
JPS6297044A (ja) * | 1985-10-24 | 1987-05-06 | Hitachi Electronics Eng Co Ltd | プログラムトレ−ス装置 |
US4740916A (en) | 1985-12-19 | 1988-04-26 | International Business Machines Corporation | Reconfigurable contiguous address space memory system including serially connected variable capacity memory modules and a split address bus |
US4723120A (en) | 1986-01-14 | 1988-02-02 | International Business Machines Corporation | Method and apparatus for constructing and operating multipoint communication networks utilizing point-to point hardware and interfaces |
ATE60845T1 (de) | 1986-10-16 | 1991-02-15 | Siemens Ag | Verfahren und anordnung zur versorgung einer taktleitung mit einem von zwei taktsignalen in abhaengigkeit vom pegel eines der beiden taktsignale. |
JPS63231550A (ja) | 1987-03-19 | 1988-09-27 | Hitachi Ltd | 多重仮想空間制御方式 |
US4803485A (en) | 1987-03-23 | 1989-02-07 | Amp Incorporated | Lan communication system and medium adapter for use therewith |
US4943984A (en) | 1988-06-24 | 1990-07-24 | International Business Machines Corporation | Data processing system parallel data bus having a single oscillator clocking apparatus |
JP3038781B2 (ja) | 1989-04-21 | 2000-05-08 | 日本電気株式会社 | メモリアクセス制御回路 |
US5053947A (en) | 1989-09-29 | 1991-10-01 | Allegro Microsystems, Inc. | Extended multistation bus system and method |
US5206946A (en) | 1989-10-27 | 1993-04-27 | Sand Technology Systems Development, Inc. | Apparatus using converters, multiplexer and two latches to convert SCSI data into serial data and vice versa |
JP2724893B2 (ja) | 1989-12-28 | 1998-03-09 | 三菱電機株式会社 | 半導体集積回路装置 |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5517626A (en) | 1990-05-07 | 1996-05-14 | S3, Incorporated | Open high speed bus for microcomputer system |
GB2246494B (en) | 1990-05-25 | 1994-08-31 | Silicon Systems Inc | Method and apparatus for serial communications |
EP0463973A3 (en) | 1990-06-29 | 1993-12-01 | Digital Equipment Corp | Branch prediction in high performance processor |
CA2045789A1 (en) | 1990-06-29 | 1991-12-30 | Richard Lee Sites | Granularity hint for translation buffer in high performance processor |
US5357621A (en) | 1990-09-04 | 1994-10-18 | Hewlett-Packard Company | Serial architecture for memory module control |
US5522064A (en) | 1990-10-01 | 1996-05-28 | International Business Machines Corporation | Data processing apparatus for dynamically setting timings in a dynamic memory system |
US5287531A (en) | 1990-10-31 | 1994-02-15 | Compaq Computer Corp. | Daisy-chained serial shift register for determining configuration of removable circuit boards in a computer system |
US5214747A (en) | 1990-12-24 | 1993-05-25 | Eastman Kodak Company | Segmented neural network with daisy chain control |
JP2999845B2 (ja) | 1991-04-25 | 2000-01-17 | 沖電気工業株式会社 | シリアルアクセスメモリの倍速コントロール方式 |
US5347270A (en) | 1991-12-27 | 1994-09-13 | Mitsubishi Denki Kabushiki Kaisha | Method of testing switches and switching circuit |
US5387911A (en) | 1992-02-21 | 1995-02-07 | Gleichert; Marc C. | Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver |
US5715407A (en) | 1992-03-06 | 1998-02-03 | Rambus, Inc. | Process and apparatus for collision detection on a parallel bus by monitoring a first line of the bus during even bus cycles for indications of overlapping packets |
US5375127A (en) | 1992-03-25 | 1994-12-20 | Ncr Corporation | Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries |
US5265212A (en) | 1992-04-01 | 1993-11-23 | Digital Equipment Corporation | Sharing of bus access among multiple state machines with minimal wait time and prioritization of like cycle types |
EP0567707A1 (en) | 1992-04-30 | 1993-11-03 | International Business Machines Corporation | Implementation of column redundancy in a cache memory architecture |
US5270964A (en) | 1992-05-19 | 1993-12-14 | Sun Microsystems, Inc. | Single in-line memory module |
WO1994003901A1 (en) | 1992-08-10 | 1994-02-17 | Monolithic System Technology, Inc. | Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration |
JPH0750452B2 (ja) * | 1992-12-18 | 1995-05-31 | 日本電気株式会社 | バストレース機構 |
US5594925A (en) | 1993-01-05 | 1997-01-14 | Texas Instruments Incorporated | Method and apparatus determining order and identity of subunits by inputting bit signals during first clock period and reading configuration signals during second clock period |
US5544309A (en) | 1993-04-22 | 1996-08-06 | International Business Machines Corporation | Data processing system with modified planar for boundary scan diagnostics |
EP0648055B1 (en) | 1993-10-12 | 2000-01-19 | Matsushita Electric Industrial Co., Ltd. | Scrambling system, scrambling apparatus and descrambling apparatus |
US5845310A (en) * | 1993-12-15 | 1998-12-01 | Hewlett-Packard Co. | System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses |
US5822749A (en) | 1994-07-12 | 1998-10-13 | Sybase, Inc. | Database system with methods for improving query performance with cache optimization strategies |
US5611055A (en) | 1994-09-27 | 1997-03-11 | Novalink Technologies | Method and apparatus for implementing a PCMCIA auxiliary port connector for selectively communicating with peripheral devices |
US5475690A (en) | 1994-11-10 | 1995-12-12 | Digital Equipment Corporation | Delay compensated signal propagation |
US6170047B1 (en) | 1994-11-16 | 2001-01-02 | Interactive Silicon, Inc. | System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities |
US6002411A (en) | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US5513135A (en) | 1994-12-02 | 1996-04-30 | International Business Machines Corporation | Synchronous memory packaged in single/dual in-line memory module and method of fabrication |
JP3467880B2 (ja) | 1994-12-26 | 2003-11-17 | ソニー株式会社 | クロック信号発生装置 |
US5629685A (en) | 1995-02-23 | 1997-05-13 | International Business Machines Corporation | Segmentable addressable modular communication network hubs |
IN188196B (zh) | 1995-05-15 | 2002-08-31 | Silicon Graphics Inc | |
US5546023A (en) | 1995-06-26 | 1996-08-13 | Intel Corporation | Daisy chained clock distribution scheme |
JP3192354B2 (ja) * | 1995-09-11 | 2001-07-23 | 株式会社日立製作所 | コンピュータシステムのリトライ処理装置 |
US5852617A (en) | 1995-12-08 | 1998-12-22 | Samsung Electronics Co., Ltd. | Jtag testing of buses using plug-in cards with Jtag logic mounted thereon |
JPH09231130A (ja) | 1996-02-26 | 1997-09-05 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5764155A (en) | 1996-04-03 | 1998-06-09 | General Electric Company | Dynamic data exchange server |
JP3710198B2 (ja) | 1996-04-18 | 2005-10-26 | 沖電気工業株式会社 | Stm−n信号の誤り訂正符号化・復号化方法、stm−n信号の誤り訂正符号化回路及びstm−n信号の誤り訂正復号化回路 |
US5661677A (en) | 1996-05-15 | 1997-08-26 | Micron Electronics, Inc. | Circuit and method for on-board programming of PRD Serial EEPROMS |
US5917760A (en) | 1996-09-20 | 1999-06-29 | Sldram, Inc. | De-skewing data signals in a memory system |
JPH10173122A (ja) | 1996-12-06 | 1998-06-26 | Mitsubishi Electric Corp | メモリモジュール |
US5926838A (en) | 1997-03-19 | 1999-07-20 | Micron Electronics | Interface for high speed memory |
US6138213A (en) | 1997-06-27 | 2000-10-24 | Advanced Micro Devices, Inc. | Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line |
US6292903B1 (en) | 1997-07-09 | 2001-09-18 | International Business Machines Corporation | Smart memory interface |
US6011732A (en) | 1997-08-20 | 2000-01-04 | Micron Technology, Inc. | Synchronous clock generator including a compound delay-locked loop |
US6128746A (en) | 1997-08-26 | 2000-10-03 | International Business Machines Corporation | Continuously powered mainstore for large memory subsystems |
US6230236B1 (en) | 1997-08-28 | 2001-05-08 | Nortel Networks Corporation | Content addressable memory system with cascaded memories and self timed signals |
JP3445476B2 (ja) | 1997-10-02 | 2003-09-08 | 株式会社東芝 | 半導体メモリシステム |
US6378018B1 (en) | 1997-10-10 | 2002-04-23 | Intel Corporation | Memory device and system including a low power interface |
US6085276A (en) | 1997-10-24 | 2000-07-04 | Compaq Computers Corporation | Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies |
US5917780A (en) * | 1997-12-03 | 1999-06-29 | Daniel Robbins | Watch having a multiplicity of band attachment positions and wristband for use therewith |
US6145028A (en) | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
US7373440B2 (en) * | 1997-12-17 | 2008-05-13 | Src Computers, Inc. | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
US6096091A (en) | 1998-02-24 | 2000-08-01 | Advanced Micro Devices, Inc. | Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip |
US6185718B1 (en) | 1998-02-27 | 2001-02-06 | International Business Machines Corporation | Memory card design with parity and ECC for non-parity and non-ECC systems |
US5870325A (en) | 1998-04-14 | 1999-02-09 | Silicon Graphics, Inc. | Memory system with multiple addressing and control busses |
US6173382B1 (en) | 1998-04-28 | 2001-01-09 | International Business Machines Corporation | Dynamic configuration of memory module using modified presence detect data |
US6003121A (en) | 1998-05-18 | 1999-12-14 | Intel Corporation | Single and multiple channel memory detection and sizing |
JPH11353228A (ja) | 1998-06-10 | 1999-12-24 | Mitsubishi Electric Corp | メモリモジュールシステム |
US6170059B1 (en) | 1998-07-10 | 2001-01-02 | International Business Machines Corporation | Tracking memory modules within a computer system |
US6260127B1 (en) | 1998-07-13 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for supporting heterogeneous memory in computer systems |
US6587912B2 (en) * | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
US5995405A (en) | 1998-10-27 | 1999-11-30 | Micron Technology, Inc. | Memory module with flexible serial presence detect configuration |
US6357018B1 (en) | 1999-01-26 | 2002-03-12 | Dell Usa, L.P. | Method and apparatus for determining continuity and integrity of a RAMBUS channel in a computer system |
JP3275867B2 (ja) * | 1999-01-26 | 2002-04-22 | 日本電気株式会社 | スキャンテスト回路及びスキャンテスト回路を含む半導体集積回路及びスキャンテスト回路を搭載した半導体集積回路試験用基板 |
US6115278A (en) | 1999-02-09 | 2000-09-05 | Silicon Graphics, Inc. | Memory system with switching for data isolation |
US6341315B1 (en) * | 1999-02-26 | 2002-01-22 | Crossroads Systems, Inc. | Streaming method and system for fiber channel network devices |
US6564329B1 (en) * | 1999-03-16 | 2003-05-13 | Linkup Systems Corporation | System and method for dynamic clock generation |
JP3512678B2 (ja) | 1999-05-27 | 2004-03-31 | 富士通株式会社 | キャッシュメモリ制御装置および計算機システム |
US6393528B1 (en) | 1999-06-30 | 2002-05-21 | International Business Machines Corporation | Optimized cache allocation algorithm for multiple speculative requests |
US6839393B1 (en) * | 1999-07-14 | 2005-01-04 | Rambus Inc. | Apparatus and method for controlling a master/slave system via master device synchronization |
US6549971B1 (en) * | 1999-08-26 | 2003-04-15 | International Business Machines Corporation | Cascaded differential receiver circuit |
US6484271B1 (en) | 1999-09-16 | 2002-11-19 | Koninklijke Philips Electronics N.V. | Memory redundancy techniques |
US6467013B1 (en) | 1999-09-30 | 2002-10-15 | Intel Corporation | Memory transceiver to couple an additional memory channel to an existing memory channel |
US6262493B1 (en) | 1999-10-08 | 2001-07-17 | Sun Microsystems, Inc. | Providing standby power to field replaceable units for electronic systems |
US6889284B1 (en) * | 1999-10-19 | 2005-05-03 | Intel Corporation | Method and apparatus for supporting SDRAM memory |
US6557069B1 (en) * | 1999-11-12 | 2003-04-29 | International Business Machines Corporation | Processor-memory bus architecture for supporting multiple processors |
US6513091B1 (en) * | 1999-11-12 | 2003-01-28 | International Business Machines Corporation | Data routing using status-response signals |
JP2001167077A (ja) * | 1999-12-09 | 2001-06-22 | Nec Kofu Ltd | ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体 |
US6601149B1 (en) * | 1999-12-14 | 2003-07-29 | International Business Machines Corporation | Memory transaction monitoring system and user interface |
US6487627B1 (en) | 1999-12-22 | 2002-11-26 | Intel Corporation | Method and apparatus to manage digital bus traffic |
US6408398B1 (en) | 1999-12-29 | 2002-06-18 | Intel Corporation | Method and apparatus for detecting time domains on a communication channel |
US6219288B1 (en) | 2000-03-03 | 2001-04-17 | International Business Machines Corporation | Memory having user programmable AC timings |
JP2001290697A (ja) * | 2000-04-06 | 2001-10-19 | Hitachi Ltd | 情報処理システム |
US6704842B1 (en) * | 2000-04-12 | 2004-03-09 | Hewlett-Packard Development Company, L.P. | Multi-processor system with proactive speculative data transfer |
US6721944B2 (en) * | 2000-05-31 | 2004-04-13 | Sun Microsystems, Inc. | Marking memory elements based upon usage of accessed information during speculative execution |
US6697919B2 (en) * | 2000-06-10 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system |
US6415376B1 (en) * | 2000-06-16 | 2002-07-02 | Conexant Sytems, Inc. | Apparatus and method for issue grouping of instructions in a VLIW processor |
US6446174B1 (en) | 2000-07-11 | 2002-09-03 | Intel Corporation | Computer system with dram bus |
US6738836B1 (en) * | 2000-08-31 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Scalable efficient I/O port protocol |
US6487102B1 (en) | 2000-09-18 | 2002-11-26 | Intel Corporation | Memory module having buffer for isolating stacked memory devices |
US6317352B1 (en) | 2000-09-18 | 2001-11-13 | Intel Corporation | Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules |
US6553450B1 (en) * | 2000-09-18 | 2003-04-22 | Intel Corporation | Buffer to multiply memory interface |
US6625685B1 (en) * | 2000-09-20 | 2003-09-23 | Broadcom Corporation | Memory controller with programmable configuration |
US6532525B1 (en) * | 2000-09-29 | 2003-03-11 | Ati Technologies, Inc. | Method and apparatus for accessing memory |
US6510100B2 (en) * | 2000-12-04 | 2003-01-21 | International Business Machines Corporation | Synchronous memory modules and memory systems with selectable clock termination |
US6993612B2 (en) * | 2000-12-07 | 2006-01-31 | Micron Technology, Inc. | Arbitration method for a source strobed bus |
US6934785B2 (en) * | 2000-12-22 | 2005-08-23 | Micron Technology, Inc. | High speed interface with looped bus |
TW527537B (en) * | 2001-01-03 | 2003-04-11 | Leadtek Research Inc | Conversion device of SDR and DDR, and interface card, motherboard and memory module interface using the same |
US6678811B2 (en) * | 2001-04-07 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Memory controller with 1X/MX write capability |
US6721185B2 (en) * | 2001-05-01 | 2004-04-13 | Sun Microsystems, Inc. | Memory module having balanced data I/O contacts pads |
US20030090879A1 (en) * | 2001-06-14 | 2003-05-15 | Doblar Drew G. | Dual inline memory module |
US20030033463A1 (en) * | 2001-08-10 | 2003-02-13 | Garnett Paul J. | Computer system storage |
US7248585B2 (en) * | 2001-10-22 | 2007-07-24 | Sun Microsystems, Inc. | Method and apparatus for a packet classifier |
US6854043B2 (en) * | 2002-07-05 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | System and method for multi-modal memory controller system operation |
JP2004093462A (ja) * | 2002-09-02 | 2004-03-25 | Oki Electric Ind Co Ltd | 半導体集積回路とその試験方法 |
US6918007B2 (en) * | 2002-09-09 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Memory controller interface with XOR operations on memory read to accelerate RAID operations |
US20040117588A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | Access request for a data processing system having no system memory |
US7260685B2 (en) * | 2003-06-20 | 2007-08-21 | Micron Technology, Inc. | Memory hub and access method having internal prefetch buffers |
DE10330812B4 (de) * | 2003-07-08 | 2006-07-06 | Infineon Technologies Ag | Halbleiterspeichermodul |
KR100500454B1 (ko) * | 2003-07-28 | 2005-07-12 | 삼성전자주식회사 | 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템 |
US7136958B2 (en) * | 2003-08-28 | 2006-11-14 | Micron Technology, Inc. | Multiple processor system and method including multiple memory hub modules |
US20050050237A1 (en) * | 2003-08-28 | 2005-03-03 | Jeddeloh Joseph M. | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
US7194593B2 (en) * | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
US20050080581A1 (en) * | 2003-09-22 | 2005-04-14 | David Zimmerman | Built-in self test for memory interconnect testing |
US7113418B2 (en) * | 2003-11-04 | 2006-09-26 | Hewlett-Packard Development Company, L.P. | Memory systems and methods |
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
US7752470B2 (en) * | 2003-12-03 | 2010-07-06 | International Business Machines Corporation | Method and system for power management including device controller-based device use evaluation and power-state control |
US7155623B2 (en) * | 2003-12-03 | 2006-12-26 | International Business Machines Corporation | Method and system for power management including local bounding of device group power consumption |
JP4085389B2 (ja) * | 2003-12-24 | 2008-05-14 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
JP2005258552A (ja) * | 2004-03-09 | 2005-09-22 | Nec Corp | イベント解析装置 |
US7334070B2 (en) * | 2004-10-29 | 2008-02-19 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
US7694152B2 (en) * | 2005-02-03 | 2010-04-06 | International Business Machines Corporation | Memory controller with performance-modulated security |
FR2909464B1 (fr) * | 2006-12-01 | 2009-01-23 | Thales Sa | Dispositif d'entree de donnees et procede de mise en oeuvre du dispositif |
-
2006
- 2006-08-01 US US11/461,567 patent/US7493439B2/en active Active
-
2007
- 2007-06-12 CN CN200710110044XA patent/CN101118782B/zh active Active
- 2007-07-31 JP JP2007198416A patent/JP5063240B2/ja active Active
-
2009
- 2009-01-13 US US12/352,990 patent/US7984222B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1217082A (zh) * | 1996-03-21 | 1999-05-19 | 株式会社日立制作所 | Dram内装数据处理器件 |
US20030028701A1 (en) * | 1999-04-29 | 2003-02-06 | Rao Ravi S. | Integrated real-time performance monitoring facility |
US20050144403A1 (en) * | 2003-12-29 | 2005-06-30 | Jeddeloh Joseph M. | Memory hub and method for memory system performance monitoring |
US20060080584A1 (en) * | 2004-10-07 | 2006-04-13 | Fred Hartnett | Built-in self-test system and method for an integrated circuit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11775460B2 (en) | 2017-10-02 | 2023-10-03 | Micron Technology, Inc. | Communicating data with stacked memory dies |
Also Published As
Publication number | Publication date |
---|---|
JP2008041089A (ja) | 2008-02-21 |
US7493439B2 (en) | 2009-02-17 |
US20080034148A1 (en) | 2008-02-07 |
US20090119466A1 (en) | 2009-05-07 |
US7984222B2 (en) | 2011-07-19 |
JP5063240B2 (ja) | 2012-10-31 |
CN101118782A (zh) | 2008-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101118782B (zh) | 存储和检索处理系统的数据的存储器系统和性能监视方法 | |
CN101410811B (zh) | 提供远程预取缓冲器的计算机存储器系统 | |
US11630609B2 (en) | Scheduling access commands for data storage devices | |
US7669086B2 (en) | Systems and methods for providing collision detection in a memory system | |
CN101405708B (zh) | 自动计算机器的存储器系统 | |
US8151042B2 (en) | Method and system for providing identification tags in a memory system having indeterminate data response times | |
CN101236547A (zh) | 提供动态存储库页面策略的系统和方法 | |
CN101957726B (zh) | 双列直插式存储模块中的相变存储器 | |
CN101217060B (zh) | 用于识别故障存储器元件的系统和方法 | |
US7581073B2 (en) | Systems and methods for providing distributed autonomous power management in a memory system | |
US7594055B2 (en) | Systems and methods for providing distributed technology independent memory controllers | |
JP7036519B2 (ja) | 分散バッファ・メモリ・システムのためのアドレス/コマンド・チップ同期式自律型データ・チップ・アドレス・シーケンサ | |
US8296541B2 (en) | Memory subsystem with positional read data latency | |
US7392337B2 (en) | System, method and storage medium for a memory subsystem command interface | |
CN102084341B (zh) | 用于在高速串行链路中使用的循环冗余码 | |
US11200961B1 (en) | Apparatus, system and method to log memory commands and associated addresses of a memory array | |
US20060179262A1 (en) | Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices | |
EP3474282A2 (en) | Method and apparatus for adjusting demarcation voltages based on cycle count metrics | |
CN103761204A (zh) | 存储器装置与芯片上网络方法、设备及系统 | |
CN110413446A (zh) | 数据存储设备及其操作方法 | |
CN101853198A (zh) | 地址总线的检测方法、设备和系统 | |
CN115762621A (zh) | 不可校正的存储器错误预测 |
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 |