CN101236540A - 用于提供动态存储器预取的系统和方法 - Google Patents
用于提供动态存储器预取的系统和方法 Download PDFInfo
- Publication number
- CN101236540A CN101236540A CNA2008100038963A CN200810003896A CN101236540A CN 101236540 A CN101236540 A CN 101236540A CN A2008100038963 A CNA2008100038963 A CN A2008100038963A CN 200810003896 A CN200810003896 A CN 200810003896A CN 101236540 A CN101236540 A CN 101236540A
- Authority
- CN
- China
- Prior art keywords
- storage component
- memory
- component part
- analysis
- looking ahead
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 249
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006870 function Effects 0.000 claims abstract description 75
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 claims abstract description 8
- 238000003860 storage Methods 0.000 claims description 105
- 239000000872 buffer Substances 0.000 claims description 54
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000000758 substrate Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000005611 electricity Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000009849 deactivation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000005855 radiation Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 229910000679 solder Inorganic materials 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 240000001439 Opuntia Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种用于提供动态存储器预取的系统和方法。实施例包括一种集线器器件,该集线器器件包括输入命令流接口和自适应预取逻辑单元(APLU)。该输入命令流接口检测从存储器控制器导向与该集线器器件相连的一个或多个存储器器件的命令。该APLU独立地分析命令以确定对存储器器件的存取样式。该APLU还基于分析的结果动态地在针对存储器器件启动预取功能和停用预取功能之间做出选择。
Description
技术领域
本发明一般涉及计算机存储器,并且更特别地涉及提供动态存储器预取。
背景技术
现代高性能计算主存储器系统一般包括一个或多个动态随机存取存储器(DRAM)器件,动态随机存取存储器(DRAM)器件经由一个或多个存储器控制元件连接到一个或多个处理器。整体计算机系统性能受计算机结构中的每个关键元件的影响,其包括处理器的性能/结构、任何存储器高速缓存、输入/输出(I/O)子系统、存储器控制功能的效率、主存储器器件、以及存储器互连接口的类型和结构。
工业界持续地进行大量研究和开发努力来创建改善的和/或创新的解决方案以通过改进存储器系统/子系统的设计和/或结构来使整体系统性能和密度达到最大。由于客户期望新的计算机系统除了提供附加的功能、增强的性能、增大的存储装置、更低的成本等等之外还在平均故障时间(MTBF)方面明显超越现有系统,高可用性系统对整体系统可靠性提出了更进一步的挑战。其它常见的客户需求进一步加剧了对存储器系统设计的挑战,并且包括诸如易于升级和减小系统环境影响(诸如空间、功率和散热)之类的项目。
图1涉及与此共同转让的授予Dell等人的美国专利No.5513135,并且描绘了早期的同步存储器模块。图1中所描绘的存储器模块是双列直插式存储器模块(DIMM)。该模块包括同步DRAM 8、缓存器器件12、优化的管脚以及用以利于高性能操作的互连和电容性解耦合方法。该专利还描绘了通过使用诸如锁相环(PLL)之类的器件在该模块上使用时钟重驱动(re-drive)。
图2涉及与此共同转让的授予Dell等人的美国专利No.6173382,并且描绘了计算机系统10,计算机系统10包括经由总线240直接(也即点到点)连接到存储器控制器14的同步存储器模块220,并且还包括对从存储器控制器14接收到的地址、数据和控制信息进行缓存、寄存或其它行为的逻辑电路24(诸如专用集成电路,或“ASIC”)。可以借助诸如集成电路间(I2C)控制总线34之类的独立总线,作为存储器初始化过程的一部分或者在正常操作期间,将存储器模块220编程为以多个可选的或可编程的模式操作。当在需要不止一个直接连接到存储器控制器的存储器模块的应用中使用该专利时,该专利注明可以通过使用场效应晶体管(FET)开关以电子地断开模块与总线的连接来使所得的分支线(stub)减到最短。
相对于美国专利No.5513135,美国专利No.6173382还展示了将所有限定的功能(地址、命令、数据、在线检测,等等)集成进单个器件的能力。对功能的集成是通过技术改进实现的常见的工业实践,并且在这种情况下实现了附加的模块密度和/或功能。
图3来自与此共同转让的授予Grundon等人的美国专利No.6510100,其描绘了存储器系统10的简化图和描述,存储器系统10包括在传统的多点分支线总线上的多至四个已注册的DIMM 40。该子系统包括存储器控制器20、外部时钟缓存器30、已注册的DIMM 40、地址总线50、控制总线60和数据总线70,其中终端95位于地址总线50和数据总线70上。虽然在图3中仅示出了单个存储器通道,但用这些模块制造的系统常包括不止一个来自存储器控制器的分立存储器通道,其中每个存储器通道单个地(当单个通道被组装有模块时)或者并行地(当两个或多个通道被组装有模块时)操作以实现预期的系统功能和/或性能。
图4来自与此共同转让的授予Bonella等人的美国专利No.6587912,其描绘了同步存储器模块410和系统结构,其中转发器集线器320包括:经由总线321和322将地址、命令和数据本地重驱动至本地存储器器件301和302;生成本地时钟(如在其它图和专利正文中所描述那样);以及经由总线300将适当的存储器接口信号重驱动至系统中的下一个模块或部件。
图5描绘包括集成处理器芯片500的现代系统,该集成处理器芯片500包含一个或多个处理器元件和集成存储器控制器510。在图5所描绘的配置中,多个独立的级联互连的存储器总线506逻辑地聚集起来一致地操作以在更高的带宽上支持单个独立的存取请求,其中数据和错误检测/纠正信息分布或“划分(striped)”在并行总线和相关联的器件上。存储器控制器510附接到四个窄的/高速点到点存储器总线506,其中每个总线506将若干唯一的存储器控制器接口通道之一连接到级联互连的存储器子系统503(或存储器模块),存储器子系统503至少包括集线器器件504和一个或多个存储器器件509。某些系统还在存储器总线506的子集被组装有存储器子系统503时启动操作。在这种情况下,一个或多个已组装的存储器总线508可以一致地操作以支持单个存取请求。
图6描绘了存储器集线器器件504的框图,存储器集线器器件504包括链路接口604,用于提供将高速存储器存取信息重新同步、翻译并重驱动至相关联的DRAM器件509或者像基于存储器系统协议可应用的那样在存储器总线506上下行地重驱动信息的装置。信息是通过链路接口604经由存储器总线506从上游存储器集线器器件504或者从存储器控制器510(直接地或者经由上游存储器集线器器件504)接收的。存储器器件数据接口615管理接口到存储器器件509的专用技术数据接口并且控制双向存储器器件数据总线608。存储器集线器控制613响应于存取请求分组,相应地驱动存储器器件509的专用技术地址和控制总线614(用于第0排中的存储器器件501)或地址和控制总线614’(用于第1排中的存储器器件616)并且指导读数据流607和写数据流610选择器。
图6中的链路接口604解码分组并将原来导向本地集线器器件504的地址和命令信息导向存储器集线器控制613。来自链路接口604的存储器写数据可以临时存储在写数据队列611中或者经由写数据流选择器610和内部总线612直接驱动至存储器器件509,并且接着经由内部总线609和存储器器件的数据接口615发送至存储器器件的数据总线608。来自存储器器件509的存储器读数据可以在读数据队列606中排队或者经由内部总线605和读数据选择器607直接传送至链路接口604,以在上行总线506上作为读应答分组传输。
在高性能存储器子系统设计中,期望在任何可能的时候都利用存储器总线上的最大可用带宽以使整体系统性能达到最大,并且也减小读命令的等待时间,从而任何给定的操作都可以在最小的时间量中完成。在工业界采用许多方法试图实现这些目标,这些方法包括使用很高性能的存储器器件、使用非常宽的存储器总线将存储器器件连接到存储器控制器、使用被放置到尽可能地靠近处理器和/或存储器控制器的一级或多级存储器高速缓存、基于系统设计和软件优化来使用或者簇(bank)开或簇闭页面策略、由存储器控制器来使用存储器预取算法,等等。尽管所有这些方法提供了多样化的整体系统性能好处,但是其中许多方法在整体系统成本、物理系统尺寸、系统电源/散热方面可以证明是非常昂贵的。
当前的主存储器系统解决方案可以在存储器控制器中使用“静态的”(例如不变的)预取算法,一旦系统运行在正常操作模式则该预取算法就不再改变。另外,响应于来自存储器控制器的明确命令,在存储器控制器电路中实现预取功能,其中存储器子系统充当从属器件。当前方法的另一特性是来自存储器子系统的存储器存取实际上是“确定性的”,因为与每个存储器操作相关联的时间演变可以由存储器控制器精确地预测,存储器控制器负责所有存储器操作从而没有任何数据损坏发生并且在正常操作期间满足所有存储器规范。
当前的静态方法的缺点包括这样的事实,即针对另一方法可能能够更好地服务的输入命令流,预取策略不能动态地进行改变(例如,当存储器系统正运行在正常操作模式中)。在计算机存储器系统中,可能是这样的:通过使用预取功能,某些类型的命令流被更好地服务,而其它流涉及更随机的存储器地址并且将不会从存储器预取中受益。在随机存储器地址的情况下,由于预取功能可产生增加的存储器存取和总线流量的原因,使用预取功能实际上可能妨碍针对命令流的整体性能。期望能够基于对存储器集线器器件处所接收到的输入命令流的分析,动态地在使用预取功能和不使用预取功能之间进行切换。
发明内容
实施例包括一种集线器器件,该集线器器件包括输入命令流接口和自适应预取逻辑单元(APLU)。输入命令流接口检测从存储器控制器导向与集线器器件相连的一个或多个存储器器件的命令。APLU独立地分析命令以确定对存储器器件的存取样式。APLU还基于分析的结果动态地在针对存储器器件启动预取功能和停用预取功能之间做出选择。
实施例还包括一种用于选择预取模式的方法。该方法包括检测从存储器控制器导向与集线器器件相连的一个或多个存储器器件的命令。分析该命令以确定对存储器器件的存取样式。基于分析的结果动态地在针对存储器器件启动预取功能和停用预取功能之间做出选择。
实施例还包括一种存储器系统,该存储器系统包括存储器控制器、一个或多个存储器器件以及存储器集线器器件。存储器集线器器件与存储器控制器和存储器器件进行通信。存储器集线器器件包括输入命令流接口和APLU。输入命令流接口检测从存储器控制器导向存储器器件的命令。APLU独立地分析命令以确定对存储器器件的存取样式。APLU还基于所述分析的结果动态地在针对存储器器件启动预取功能和停用预取功能之间做出选择。
另外的实施例还包括一种存储器子系统,该存储器子系统包括一个或多个存储器器件和存储器集线器器件。该存储器集线器器件包括输入命令流接口和APLU。输入命令流接口检测从存储器控制器导向存储器器件的命令。APLU独立地分析命令以确定对存储器器件的存取样式。APLU还基于所述分析的结果动态地在针对存储器器件启动预取功能和停用预取功能之间做出选择。
当浏览以下附图和详细描述时,本领域的普通技术人员将明白根据各实施例的其它系统、方法和/或计算机程序产品。它的主旨在于所有这种附加系统、方法和/或计算机程序产品都应当被包括在这种描述内,属于本发明的范围,并且由所附权利要求书保护。
附图说明
现在,参考各图,其中在若干图中对相同的元件进行相同地编号:
图1描绘了示例性的早期的同步存储器模块;
图2描绘了具有直接连接到存储器控制器的全缓存的同步存储器模块的示例性计算机系统;
图3描绘了具有单个传统多点分支线总线的示例性存储器系统;
图4描绘了全缓存的同步存储器模块和系统结构,其中该全缓存的同步存储器模块包括转发器功能;
图5描绘了包括多个独立级联互连存储器接口总线的计算机存储器系统的框图,该多个独立级联互连存储器接口总线一致地操作以支持单个数据存取请求;
图6是存储器子系统中的示例性集线器器件的框图;
图7是示例性实施例可实现的包括自适应预取逻辑单元的示例性集线器器件的框图;以及
图8包括图8A和图8B,并且描绘了示例性实施例可实现的处理流程。
具体实施方式
示例性实施例可用于减少存储器系统的等待时间,这是通过以下方式来实现的:使用预测技术在需要存储器子系统中的数据之前读取这些数据,并且基于预取对当前的输入命令流是否有利的评估来动态地激活(此处也称为启动)预取功能或去激活(此处也称为停用)预取功能。虽然存储器预取已经用在存储器体系的各种级别中,但当与主存储器相关联时,常是一直被启动或者一直被停用的静态功能。存储器预取的使用将更多的功率消耗引入存储器子系统503,并且使用存储器总线将预取数据传输给存储器控制器510。由此,期望仅在高度相信预取的数据将是有用的时候才启动预取功能,否则整体系统性能将受损害。使用其中预取功能位于存储器集线器器件504上的示例性实施例,由于不需要由存储器控制器510发出预取请求,可以导致整体存储器功率节省。另外,在下行存储器总线506上更多的带宽可用于其它目的。在其它实施例中,由于减少了下行总线的活动,在设计阶段期间下行存储器总线管脚数稍有减少。
图7是示例性实施例可以利用的示例性存储器集线器器件504的框图。图7中的集线器器件708完成与上面参照图6所描述的功能相同的功能,还完成经由输入命令流接口706、自适应预取逻辑单元702(APLU)和一个或多个预取缓存器704执行动态预取功能的附加功能。图7中所描绘的集线器器件708包括输入命令流接口706,用于检测来自存储器控制器510的导向与集线器器件708相连的一个或多个存储器器件509的命令。集线器器件708还包括APLU702,用于独立地分析命令以确定对存储器器件509的存取样式,以及用于基于分析结果动态地在针对存储器器件509启动预取功能和停用预取功能之间做出选择。
如此处所使用,短语APLU702(“自适应预取逻辑单元”)是指用来控制启动/停用本地(例如在集线器器件708处)发起的存储器预取的电路和/或软件。APLU702分析输入命令流以寻找存取样式并且它接着基于分析结果来启动/停用预取功能。APLU702内的电路和/或软件基于一个或多个算法来预测与下一个命令相关联的地址,包括寄存器以记录以前的和当前的读命令的地址,以及包括预取启动计数器以确定是否应当针对APLU702正跟踪的(或者正对应于APLU702的)存储器器件509(例如,一个或多个存储器器件509上的所有簇、存储器器件509上的一个或多个簇)启动存储器预取。如此处所使用,短语“预取启动计数器”是指APLU702所拥有的用于跟踪APLU702已经正确预测下一个地址的次数的计数器。在示例性实施例中,当APLU702正确预测下一个地址时,预取启动计数器就递增,并且当APLU702没有正确预测下一个地址时,预取启动计数器就递减。因此,预取启动计数器是对预测的准确度的测量。如此处所使用,短语“停用预取阈值”是指这样的可编程值,当预取计数器达到该值时导致预取功能被停用。如此处所使用,短语“启动预取阈值”是指这样的可编程值,当预取计数器达到该值时导致预取功能被启动。
在示例性实施例中,存储器集线器控制713监视输入命令流(例如经由输入命令流接口706)并传递已解码的命令(例如经由存储器总线506接收的命令)给APLU702中的命令流缓存器(或寄存器),该命令流缓存器存储当前的命令信息(地址和命令类型中的至少一部分中的一个或多个)。接着,APLU702中的逻辑考虑到其它近期的命令活动(例如存储在命令流缓存器中的以前的命令),分析该命令以寻找存取样式,从而确定最佳的预取模式。输入命令流被存入其中并由其监视的APLU702可以被多次复制,其中示例性实施例的范围是从操作在整个存储器上的单个APLU702到每个均操作在存储器子系统中的最小可选部分(例如存储器簇)上的一个或多个单元。在具有多个APLU702的示例性实施例中,基于命令所关联的地址将命令导向对应的APLU702。在示例性实施例中,所选的预取模式被通信传输给存储器集线器控制713,而存储器集线器控制713在存取存储器器件509时应用所选的预取模式。
为了便于描述,此处所描述的示例性实施例涉及针对一个算法和一个簇来实现的APLU702,然而它可以被复制以独立地控制存储器子系统503中的所有簇。在此处所描述的例子中,缺省地预取功能被停用(也即,预取模式被停用)。可以基于集线器器件708处所接收的输入命令流来实现现有技术中所公知的独立于所控制的存储器的大小的预取算法以确定最优的预取模式。可用于确定是否应当启动预取模式的簇算法的例子是基于以前的存取的行跨距(stride)来生成“下一个地址”。通过保存以前的行地址,接着计算以前的行地址和当前的行地址之间的差值,以及通过将以前的行地址和当前的行地址之间的差值加到当前的行地址上来计算该跨距。这可以表示为:
下一个行地址=当前的行地址+(当前的行地址-以前的行地址)。
图8针对APLU702的操作描绘了该算法的示例性使用。图8中所描绘的过程是独立地(例如在集线器器件708处)分析命令以确定存取样式以及动态地在启动和停用预取功能之间做出选择的示例性实施例。图8已经被分解成两个图表,并包括框图8A中的框802-818和图8B中的框820-842。图8A和8B此处被统称为图8。在示例性实施例中,预取功能是本地的,因为启动它的判决是在集线器器件708处做出的。图8描述了用于选择APLU702可实现的预取模式的示例性方法。该方法包括检测从存储器控制器510(例如经由输入命令流接口706)导向与集线器器件708附接的一个或多个存储器器件509的命令。这些命令被分析以确定对存储器器件509的存取样式。接着,APLU702基于分析结果动态地在针对存储器器件509的启动预取功能和停用预取功能之间做出选择。
在图8中的框802处,集线器器件708经由例如输入命令流接口706来监视与该子系统中的存储器器件相关联的存储器总线命令流。在示例性实施例中,输入命令流接口706“调查”输入命令流并将已解码的命令和地址传输到APLU702。在另一示例性实施例中,在向存储器集线器控制713传输已由链路接口604解码的地址和命令信息时,输入命令流接口706监视这些地址和命令信息。在其它示例性实施例中,命令流接口706使用来自位于存储器集线器控制713中正在“调查”输入命令流的模块的输出。输入命令流接口706可以位于存储器控制713中或者位于APLU702内。
当如框804所确定的那样收到命令时,完成框806以确定用于集线器器件708的“主预取启动”开关是否已经被设置。如果主预取启动开关已经被设置,则存储器子系统被启动在预取模式和非预取模式之间进动作态地切换,以及由此在集线器器件708上的预取缓存器704可包含先前在集线器器件708的指导下读取的预取数据。如果如框806处所确定的那样主预取启动模式还没启动,则不采取与预取电路(例如APLU702和预取缓存器704)相关联的任何动作。在示例性实施例中,当主预取启动模式还没启动时(也即主预取启动模式还没被设置),预取电路保留在低功率状态以使存储器子系统功率消耗减到最小。
在示例性实施例中,在启动“主预取启动”开关(其可以在系统初始化期间或者在系统操作期间的任何其它点处进行设置)之前,复位预取缓存器704、APLU702和其它相关的预取电路,从而在该时刻之后接收的任何命令被恰当地执行并且数据完整性被维持。如果如框806处所确定的那样主预取启动开关已经被设置,则完成框808以确定该命令是否是读命令。如果它不是读命令,则完成框810以确定该命令是否是写命令。如果该命令不是读命令也不是写命令,则预取电路不受该命令的影响,并且处理在框802处继续进行,其中针对另外的命令来监视命令流。
如果如框810中所确定的那样该命令是写命令,则在框812处检查写命令的地址,以确定它是否匹配预取缓存器704中的任何读数据的地址。如果匹配,则完成框814并且用新数据重写针对该地址的预取缓存器704中的内容。在另一示例性实施例中,使预取缓存器704中的内容失效,通常通过设置一个或多个标签比特以反映该状态,或者通过将与存储位置相关联的地址设置到复位(例如零)状态,。
如果如框808中所确定的那样该命令是读命令,则完成框816并且读命令被发送到与读操作的地址相关联的APLU702(在这个例子中,基于每个簇来实现APLU电路)。在框818处,APLU702基于APLU算法来计算下一个地址(此处也称为未来的命令的预期地址),并且该地址和当前的地址被存储在寄存器中供APLU702在分析后续的存储器存取中用来确定存取样式是否存在。如果如框820中所确定的那样针对该APLU702启动了动态预取,则完成框830并且在下一个地址处的读作为低优先级读排队等待,供可能的执行。在示例性实施例中,预取命令的优先级低于在输入通道存储器总线506上接收到的主线芯片命令的优先级,并且在存储器集线器控制713所处理的命令中存在优先级指示符。
在框802处,确定当前地址是否匹配来自APLU702的预测地址。如果它不匹配预测地址,则完成框824并且APLU702的预取启动计数器递减,除非它位于0(此刻它停留在0)。如果如在框826处所确定的那样预取启动计数器小于或等于停用预取阈值,则在框828处停用该APLU702的预取。接着,处理在框802处继续进行并且APLU702等待寻址到它的下一个读命令。
在示例性实施例中,不管是否接收到一个或多个中间的和无关的存取,对一个或多个不遵循与当前正被检测的以及对其发出预取的地址样式(例如跨距地址样式)相一致的存取样式的读存取的接收,将不妨碍APLU702稍后继续检测存储器存取样式。“跨距中断”计数器用来对紧随在由于预取计数器达到或超过预取阈值的原因启动动态预取之后的无关读操作的次数进行计数。如果在预取启动计数器达到可编程计数阈值之前接收到与以前所存储的“下一个读地址”相一致的命令,则将继续进行对与以前所检测的存取样式相一致的地址的预取。在示例性实施例中,跨距中断计数器深度与“当前”和“下一个地址”寄存器的深度相一致,从而在接收到与该存取样式相一致的命令时可以继续先前的预取存取样式。在另一示例性实施例中,当动态预取被启动时,一旦接收到预定数目(例如2、4、8等等)的无关存取,就使用“预测地址失败限度计数器”来立即停用动态预取模式并且/或者将预取计数器复位到低于预取启动阈值的值。
如果在框822处确定来自当前读命令的地址匹配来自先前读命令的预测(计算的)读地址,则在框832处预取启动计数器递增。如果在框834处确定启动了动态预取模式,则完成框836以将当前读命令与预取缓存器704中的对应的数据进行匹配。在其它示例性实施例中,在当前没有启动预取功能的情况下检查预取缓存器704中的内容,因为与以前的存取相关的预取可能已经完成了,并且预取缓存器704可以包含从以前的命令得到的一个或多个预取。在框838处,取消当前读命令(这不影响使用由APLU702所计算的“下一个地址”的任何待处理预取)。如果数据不在预取缓存器704中,则发出“当前”读命令,紧随着(以较低的优先级)是使用来自APLU702的“下一个地址”的预取命令。无论动态预取模式是否启动,完成框840,其中检查预取启动计数以弄清楚它是否大于或等于启动阈值。如果它大于或等于启动阈值,则完成框842并且启动动态预取模式。接着,处理在框802处继续进行并且APLU702等待寻址到它的下一个读命令。
在示例性实施例中,预取缓存器704的大小将决定用来使更早的预取缓存器项失效的方法。具有可变缓存器大小的示例性实施例在接收到停用动态预取模式的命令时,使预取缓存器704中的内容失效。其它示例性实施例包括固定大小的预取缓存器704,其除了地址信息和指示预取缓存器704中的内容是否有效的标签之外还保留着预取计数(例如8)。一旦8个缓存器位置被填满,则第九个预取将替代预取缓存器704中的最老的项,预取缓存器704可以实现成FIFO储存器件,并且当更多的预取发生时该过程将继续进行。在示例性实施例中,在接收到对该地址的写操作时,如果不用该写数据来重写该地址的数据,则将该标签设置成“无效”。在示例性实施例中,在测试模式期间,当在存储器复位期间确定了数据错误时(诸如经由对数据的本地ECC检查),或其它模式中,使该标签失效。另外的示例性实施例中,一旦当前读命令已经读取了内容,就使缓存器项失效,由此持续释放缓存器空间。
以下描述旨在作为对等跨距地址(strided address)的读命令序列的例子,其与用于检测和预测等跨距地址或者确定存取样式的APLU分析算法相关联,在集线器器件708接收到若干读命令之后得到预取缓存器匹配。
第一个命令)接收针对地址“n”(为了简化起见,这是在初始化之后的第一个读命令)的读命令。动态预取未启动,预取启动计数器位于0,并且针对地址“n”执行读。基于缺省跨距值计算“下一个地址”。如框818所描述的那样,当前地址和预测地址存储在寄存器中。
第二个命令)接收针对地址“n+m”的读命令。APLU逻辑计算跨距地址“m”,接着计算下一个地址“n+m+m”(n+2m)并存储它。动态预取未启动,当前读与由先前的读所预测的“下一个地址”不匹配(因为该算法没有任何计算它的可行方法),因此预取计数器未递增。针对地址“n+m”执行读。
第三个命令)接收针对地址“n+2m”的读命令。APLU逻辑再次计算跨距地址“m”,接着计算下一个地址“n+3m”。此刻,启动预取计数器递增,因为在当前地址与先前所计算的“下一个地址”之间存在匹配。如果预取启动阈值被设置为1(可编程值),则该阈值被满足并且针对“n+3m”的预取将被安排在低优先级(例如,在执行已接收的读命令之后,其将具有优先级)。针对“n+2m”执行当前读并且随后执行对“n+3m”的预取。
第四个命令)接收针对“n+3m”的读命令。APLU逻辑再次计算跨距地址“m”,接着计算下一个地址“n+4m”。预取启动计数器递增,因为在当前地址与先前所计算的“下一个地址”之间存在匹配,并且如果启动预取计数器阈值被满足,则安排(在低优先级上)针对地址“n+4m”的预取。与此同时,在预取缓存器中找到“n+3m”的内容(因为第三个命令所发起的预取已经完成),因此取消针对当前地址“n+3m”的读。发出对“n+4m”的预取。
只要接收到与跨距距离“n”相一致的读请求,就将发生对下一个地址的预取,并且如果在接收到下一个地址之前已经完成了预取就可以在预取缓存器704中找到当前读请求。在示例性实施例中,如果针对当前读命令之后所请求的地址所安排的预取已经被发起但还未完成,则对预取命令的响应将由当前读命令使用。如果还没有将预取命令发送给存储器,则预取命令将被取消,并且当前读命令将被正常处理。
在其它示例性实施例中,一旦已经检测到等跨距的命令流,则将通过完成不止一个预取来获得更高的效率。在完成预取命令之前接收到下一个等跨距的读命令的情况下,这尤其重要。在这种情况下,APLU702将计算两个或更多的下一个读地址,并且顺次安排它们中的每一个以尝试针对等跨距的读命令使整体存储器性能达到最大。在上面的例子中,当接收到第三个命令时,因为知道已经接收到具有公共跨距长度(m)的第三个命令,APLU702将发出不止一个预取(例如发出针对至少“n+3m”和“n+4m”的预取),并且或者在该时刻处或者在已经一次或多次额外地确认该跨距的条件下,可以进一步增加预取计数。
虽然APLU预取引擎的粒度可以实现为高达每个算法每个簇,但是还可以基于每个簇、或每个存储器器件、或每个集线器来实现。APLU电路中的一部分可以由一个或多个APLU引擎共享,APLU引擎包括一个或多个命令响应和解码逻辑(例如如图8中所描述)以及对共享的预取缓存器存储器的使用。
当预取启动时,所预取的数据被存储在预取缓存器704中,其将还包括针对已预取数据的被存取的地址的至少一部分。地址匹配被用作用来确定当前读命令是否匹配预取缓存器704中的内容的示例性方法。在示例性实施例中,为了维持预取缓存器的一致性,对预取缓存器704中存在的地址的写命令将重写与该地址相关联的数据。
示例性实施例包括使用与至存储器控制器510的所有存储器读转移相关联的“标签”比特,从而可以比在常规存储器子系统结构中所预期的时间较早或较晚地将存储器数据返回给存储器控制器510。另外,标签比特可用于标识不是由存储器控制器510请求的而是由存储器子系统503基于本地算法来预取的存储器存取,该存取可以在也可以不在存储器控制器510的直接或间接控制之下。该标签比特包括足够的信息以由存储器控制器510进行储器存取与存储器请求的匹配。在示例性实施例中,标签比特包括与存储器存取相关联的整个地址,而在替代性的示例性实施例中,地址的子集就足够了。与此共同转让的在2006年5月22所提交的美国专利申请No.11/419586中描述了使用标签比特的例子,在此通过引用并入其全部内容。
图8描绘了可以完成(在集线器器件处)以确定何时启动/停用预取功能的示例性分析。还可以在集线器器件处实现其它分析方法,只要可以基于集线器器件可存取的信息来完成该分析就行。现有技术中存在许多公知的预取分析方法,并且在不偏离此处所描述的本发明的范围的条件下可以利用这些方法中的任何一个。
在其它示例性实施例中,在存储器控制器510中实现此处所描述的功能,并且基于存储器控制器510所使用的算法该预取模式的设置是动态的,以及存储器控制器510或者借助通过存储器总线506发送给集线器的命令,或者借助诸如SMBus以及I2C总线或允许在存储器控制器510和/或集成处理器与集线器器件504之间进行通信的另外的总线之类的第二(更低速度)总线,来修改集线器操作模式。
示例性实施例包括计算系统,其中处理器和I/O单元(例如请求器)与包含存储器控制器和存储器器件的存储器系统互连。在示例性实施例中,存储器系统包括与一组集线器器件(也称为“集线器芯片”)接口连接的处理器或者存储器控制器。集线器器件连接并接口到存储器器件。在示例性实施例中,计算机存储器系统包括具有多个存储器器件的物理存储器阵列,用于存储数据和指令。这些存储器器件可以直接连接到存储器控制器和/或通过集线器器件间接耦合到存储器控制器。在示例性实施例中,基于集线器的计算机存储器系统具有附连到通信集线器器件的存储器器件,该通信集线器器件与存储器控制器件(例如存储器控制器)相连。同样,在示例性实施例中,集线器器件位于存储器模块(例如,单个基底或物理器件)上,该存储器模块包括经由存储器总线彼此(并且可能与位于另一存储器模块上的另一集线器器件)级联互连的两个或多个集线器器件。
集线器器件可以通过多点或点到点总线结构连接到存储器控制器(该总线结构还可包括至一个或多个另外的集线器器件的级联连接)。存储器控制器将存储器存取请求通过总线结构(例如存储器总线)传输到所选的集线器。响应于接收到存储器存取请求,集线器器件翻译存储器存取请求以控制存储器器件存储来自集线器器件的写数据或提供读数据给集线器器件。读数据被编码进一个或多个通信分组并通过存储器总线传输给存储器控制器。
在替代性的示例性实施例中,存储器控制器可以与一个或多个处理器芯片和支持逻辑集成在一起,封装在分立的芯片(通常被称为“北桥”芯片)中,包括在具有一个或多个处理器和/或支持逻辑的多芯片载体中,或封装在最佳地匹配应用/环境的各种替代形式中。这些解决方案中的任何一种可以使用或不使用一个或多个窄/高速链路来连接到一个或多个集线器芯片和/或存储器器件。
存储器模块可以通过包括DIMM、单列直插式存储器模块(SIMM)和/或其它存储器模块或卡结构的各种技术来实现。通常,DIMM是指这样的小型电路板,其主要包括位于一侧或两侧上的随机存取存储器(RAM)集成电路或管芯,其中在该电路板的两侧上具有信号和/或电源管脚。这可以与SIMM形成对比,SIMM是主要包括在一侧和两侧上的RAM集成电路或管芯以及沿着一个长边沿的单行管脚的小型电路板或基底。在示例性实施例中,图1中所描绘的DIMM包括168个管脚,而后续的DIMM已经被构建成具有的管脚数从100管脚到超过300个管脚。在示例性实施例中,存储器模块可以包括两个或多个集线器器件。
在示例性实施例中,使用至存储器模块上的集线器器件的多点连接以及/或者通过使用点到点连接来构建存储器总线。被称为下行总线的控制器接口(或存储器总线)的下行部分可以包括被发送给存储器模块上的集线器器件的命令、地址、数据和其它操作、初始化或状态信息。在示例性实施例中,下行存储器总线将存储器控制器连接到集线器器件,或者将集线器器件连接到远离存储器控制器的另一集线器器件。每个集线器器件可以经由旁路电路简单地转发信息至后续的集线器器件;在确定了信息的目标是下游集线器器件的条件下接收、解释并重驱动该信息;重驱动该信息中的某些或所有而无需首先解释信息以确定所期望的接收者;或者执行这些可选项的子集或组合。在示例性实施例中,下行总线具有用来控制存储器系统的协议。
被称为上行总线的存储器总线中的上行部分返回所请求的读数据和/或错误、状态或其它操作信息,并且该信息可以经由旁路电路转发到后续的集线器器件;在确定了信息的目标是处理器复合体中的上游器件和/或存储器控制器的条件下接收、解释并重驱动该信息;将信息部分地或整体地重驱动而无需首先解释信息以确定所期望的接收者;或者完成这些选项的子集或组合。在示例性实施例中,上行总线具有用来接收来自存储器系统的响应的协议。
在替代性的示例性实施例中,点到点总线包括开关或旁路机制,其导致总线信息在下行通信(从存储器控制器传递至存储器模块上的集线器器件的通信)期间被导向两个或多个可能的集线器器件中的一个,也常常借助一个或多个上游集线器器件导向上行信息(从存储器模块上的集线器器件至存储器控制器的通信)。另外的实施例包括使用诸如现有技术中所认识到的那些连续性模块,例如该连续性模块在级联互连的存储器系统中可以位于存储器控制器与第一已组装的集线器器件(也即与一个或多个存储器器件进行通信的集线器器件)之间,从而在存储器控制器与第一已组装的集线器器件之间的任何中间集线器器件位置包括可以接收经由其在存储器控制器与第一已组装的集线器器件之间传递的信息的装置,即使一个或多个中间集线器器件位置不包括集线器器件。该连续性模块可以安装在任何模块位置,服从任何总线限制,包括第一位置(最靠近主存储器控制器)、最后的位置(在任何所包括的终端之前)或任何中间位置。在多模块级联互连总线结构中使用连续性模块还可能特别有益,在该结构中存储器模块上的中间集线器器件被移除并由连续性模块所替代,从而该系统在移除中间集线器器件之后继续操作。在更常见的实施例中,连续性模块将或者包括互连导线以将来自输入的所有需要的信号传送给对应的输出,或者通过转发器器件进行重驱动。该连续性模块还可以包括非易失性储存器件(诸如EEPROM),但是将不包括主存储器储存器件。
在示例性实施例中,存储器系统包括经由级联互连的存储器总线连接到存储器控制器的一个或多个存储器模块上的一个或多个集线器器件,然而也可以实现诸如点到点总线、多点存储器总线或共享总线之类的其它存储器结构。依赖于所使用的信令方法,目标操作频率、空间、功率、成本和其它约束,可以考虑各种替代性总线结构。由于与具有分支信号线、开关器件或分支线的总线结构相比可能出现信号衰减减小,点到点总线在用电连接生成的系统中可以提供最佳性能。然而,在需要与多个器件或子系统通信的系统中使用时,这种方法常常产生极大的额外部件成本和增加的系统功率,并且由于需要中间缓存和/或重驱动可能减小可能的存储器密度。
虽然未在图中示出,存储器模块或集线器器件还可以包括单独的总线,诸如“在线检测”总线、I2C总线和/或SMBus,其被用于一个或多个目的,包括确定集线器器件和/或存储器模块属性(一般在上电之后)、汇报故障或状态信息给系统、在上电之后或在正常操作期间配置集线器器件和/或存储器子系统或者其它目的。依赖于总线特性,该总线还可以提供集线器器件和/或存储器模块可以通过其将有效的操作完成汇报给存储器控制器的装置,或者对在执行主存储器控制器请求期间发生的故障的识别。
通过添加开关器件可以获得与从点到点总线结构获得的那些性能相类似的性能。这些以及其它解决方案以更低的功率提供了增加的存储器封装密度,同时保留了点到点总线的许多特性。多点总线提供替代性的解决方案,该解决方案虽然常限于较低的操作频率,但是在成本/性能方面其可能对许多应用是有利的。无论在点到点应用或在多点应用中,光总线解决方案允许使用极大地增长的频率和可能的带宽,但是可能带来成本和空间的影响。
如此处所使用,术语“缓存器”或“缓存器器件”是指临时存储单元(其在计算机中),特别是指以一个速率接收信息并以另一速率递送信息的临时存储单元。在示例性实施例中,缓存器是在两个信号(例如,改变电平或电流能力)之间提供兼容性的电子器件。术语“集线器”有时可与术语“缓存器”互换使用。集线器是一种包含连接到若干其它器件的多个端口的器件。端口是用作适合的I/O功能的接口的一部分(例如,端口可用于在点到点链路或总线中的一个上发送和接收数据、地址以及控制信息)。集线器可以是中央器件,其将若干系统、子系统或网络连接到一起。无源集线器可以仅转发消息,而有源集线器或转发器放大并刷新数据流,数据流否则会随距离而恶化。如此处所使用,术语集线器器件是指包括用于完成存储器功能的逻辑(硬件和/或软件)的集线器芯片。
如此处所使用,术语“总线”是指连接计算机中的两个或多个功能单元的导体集之一(例如,导线、印刷电路板迹线或集成电路中的连接)。不论它们的名字如何,数据总线、地址总线和控制信号构成了单个总线,因为在没有其他总线的条件下每个总线经常是无用的。总线可包括多个信号线,每个信号线具有两个或多个连接点,这多个信号线形成了电连接两个或多个收发器、发射器和/或接收器的主传输通路。术语“总线”与术语“通道”相对照,“通道”常用于描述与存储器系统中的存储器控制器相关的“端口”的功能,并且其可以包括一个或多个总线或总线集。如此处所使用,术语“通道”是指存储器控制器上的端口。注意,该术语常与I/O或其它外围设备结合起来使用,然而术语通道已被某些人采纳用来描述在处理器或存储器控制器与一个或多个存储器子系统之一之间的接口。
此外,如此处所使用,术语“菊花链”是指总线连线结构,例如其中器件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(上电复位)逻辑在在上电和/或重启之后的某个点处自动地输入。
第四初始化方法可以使用特殊的总线,诸如在线检测总线(诸如与此共同转让的授予Dell等人的美国专利No.5513135中所限定的总线)、I2C总线(如在所公布的JEDEC标准中所限定的总线,诸如出版物21-C版本7R8中的168管脚DIMM系列)、和/或SMBUS,其已经被广为使用并且记载在使用这种存储器模块的计算机系统中。这种总线可以通过菊花链/级联互连、多点或交替结构连接到存储器系统内的一个或多个模块,提供询问存储器子系统的独立方式,对一个或多个存储器子系统中的每个进行编程以在整个系统环境中操作,以及在正常系统操作中的其它时间基于性能、热、配置或在系统环境中所期望的或所检测到的其它改变来调整操作特性。
初始化的其它方法还可以结合或独立于所列出的那些方法进行使用。使用单独的总线(如在上面的第四实施例中所描述的)还提供了针对初始化和除初始化以外的用途提供独立装置的优点,如在与此共同转让的授予Dell等人的美国专利No.6381685中所描述,其包括对子系统操作特性的实时(on the fly)改变和用于报告并响应诸如利用率、温度数据、故障信息之类的操作子系统信息或用于其它目的。
随着光刻法的改进、更好的工艺控制、具有更低阻抗材料的使用、增加的场大小以及其它半导体工艺改进,增大的器件电路密度(常结合增大的管芯尺寸)将有助于促进集成器件上的增强的功能和对以前在单独的器件上实现的功能的集成。这种集成将用于改善预期功能的整体性能,以及提升增大的存储密度、降低的功率、减小的空间需求、更低的成本和其它制造商和客户利益。这种集成是自然的演进过程,并且可能产生对与系统相关联的基础构建块的结构改变的需求。
通过使用一种或多种故障检测和/或纠正方法,可以很高程度上确保通信路径、数据存储内容和与存储器系统或子系统中的每个元件相关联的所有功能操作的完整性。各种元件中的任何一个或所有元件可以包括错误检测和/或纠正方法,诸如CRC(循环冗余码)、EDC(错误检测和纠正)、奇偶校验或适用于该目的的其它编码/解码方法。另外的可靠性强化可以包括:重试操作(以克服间歇的故障,诸如与信息传送相关联的那些故障);使用一个或多个交替或替代通信路径来替代故障路径和/或线路;在计算机、通信和相关的系统中所使用的互补(complement-re-complement)技术或交替方法。
与增长的性能需求相一致,在像点到点链路一样简单的总线或者像多点结构一样复杂的总线上,对总线终端的使用正变得更加普遍。各种终端方法可以被标识和/或被考虑,并且包括使用诸如电阻器、电容器、电感器或它们的任何组合之类的器件,并且包括使用诸如电阻器、电容器、电感器或它们的任何组合之类的器件,其中在信号线与电源电压或地、终端电压或其它信号之间连接这些器件。终端器件可以是无源或有源终端结构的一部分,并且可以位于沿着一个或多个信号线的一个或多个位置,并且/或者作为发射器和/或接收器器件的一部分。终端可以被选择为匹配传输线的阻抗,或经由替代性的方法选择为使可用频率、操作余量和成本、空间、功率和其它约束内的相关属性达到最大。
新新高性能系统正采用新的总线结构以解决某些系统成本和存储器密度考虑,其包括使用级联互连的存储器子系统,该存储器子系统包括存储器模块上的一个或多个集线器器件。通过包括可以基于针对存储器器件的命令、数据和地址信息来动作的集线器器件,可以考虑使整体系统性能达到最大的新的解决方案。示例性实施例的技术效果包括减少整体存储器系统等待时间,由此改善系统性能。在示例性实施例中,特定的改善领域涉及由于消除存储器控制器发出的预取请求而带来的整体存储器系统功率节省。另外,由于减小了总线活动的原因,下行存储器总线上有更多的带宽可用于其它目的以及/或者下行存储器总线管脚数可以减少。
如上所述,本发明的实施例可以用计算机实现的处理和用于实现那些处理的装置的形式来具体实现。本发明的实施例还可以用包含着有形介质中所具体实现的指令的计算机程序代码的形式来具体实现,该有形介质诸如磁盘、CD-ROM、硬盘驱动器、或任何其它计算机可读存储介质,其中当该计算机程序代码被装载进计算机并由计算机执行时,该计算机就变成用于实现本发明的装置。本发明还可以用计算机程序代码的形式来具体实现,例如该计算机程序代码无论是存储在存储介质中、装载计算机并/或由计算机执行,还是诸如通过电线或电缆、通过光纤、或经由电磁辐射这样地通过某些传输介质传输,其中当该计算机程序代码被装载进计算机并由计算机执行时,该计算机就变成实现本发明的装置。当在通用微处理器上实现时,该计算机程序代码段配置微处理器以创建特定的逻辑电路。
尽管已经参考示例性实施例描述了本发明,但是本领域的普通技术人员应当理解在不偏离本发明的范围的条件下可以做出各种改变并且可以用等效物来替换其中的元件。另外,在不偏离本发明的范围的条件下可以做出许多修改以使本发明的教导适应特定的环境或材料。由此,主旨在于本发明不限于作为用于实现本发明的预期最佳模式而公开的特殊实施例,而是本发明将包括落入所附权利要求书的范围内的所有实施例。而且,术语“第一”、“第二”等等的使用不表明任何顺序或重要性,而是术语“第一”、“第二”等等被用于将一个元件与另一个元件区分开。
Claims (27)
1.一种集线器器件,包括
输入命令流接口,其用于检测从存储器控制器导向与所述集线器器件相连的一个或多个存储器器件的命令;以及
自适应预取逻辑单元(APLU),其用于独立地分析所述命令以确定对所述存储器器件的存取样式,以及用于基于所述分析的结果动态地在针对所述存储器器件启动预取功能和停用预取功能之间做出选择。
2.根据权利要求1所述的集线器器件,其中所述存取样式是读存取样式。
3.根据权利要求1所述的集线器器件,其中所述分析包括基于所述存取样式预测来自所述存储器控制器的未来命令的预期地址,其中当所述预测的准确度等于或高于启动预取阈值时启动所述预取功能,以及当所述预测的准确度等于或低于停用预取阈值时停用所述预取功能。
4.根据权利要求1所述的集线器器件,其中所述预取功能分派预取读命令,所述预取读命令具有的优先级低于来自所述存储器控制器的读命令的优先级。
5.根据权利要求1所述的集线器器件,还包括由所述预取功能利用来存储预取数据和地址的预取缓存器。
6.根据权利要求5所述的集线器器件,其中在写操作期间在所述预取缓存器中维持数据的一致性。
7.根据权利要求1所述的集线器器件,其中所述分析和选择应用到所述存储器器件之一上的一个簇。
8.根据权利要求1所述的集线器器件,其中应用到所述存储器器件之一的分析和选择独立于应用到另一个所述存储器器件的分析和选择。
9.根据权利要求1所述的集线器器件,其中应用到所述存储器器件之一中的一个簇的分析和选择独立于应用到该存储器器件中的另一个簇的分析和选择。
10.根据权利要求1所述的集线器器件,其中所述分析和选择应用到所有存储器器件。
11.根据权利要求1所述的集线器器件,其中所述命令包括位于存储器命令缓存器中的待处理命令。
12.根据权利要求11所述的集线器器件,其中所述APLU还在所述存储器命令缓存器中记录所述待处理命令以更改未来的存取样式。
13.一种用于选择预取模式的方法,所述方法包括:
检测从存储器控制器导向与集线器器件相连的一个或多个存储器器件的命令;
分析所述命令以确定对所述存储器器件的存取样式;以及
基于所述分析的结果动态地在针对所述存储器器件启动预取功能和停用预取功能之间做出选择。
14.根据权利要求13所述的方法,其中所述存取样式是读存取样式。
15.根据权利要求13所述的方法,其中所述分析包括基于所述存取样式预测来自所述存储器控制器的未来命令的预期地址,其中当所述预测的准确度等于或高于启动预取阈值时启动所述预取功能,以及当所述预测的准确度等于或低于停用预取阈值时停用所述预取功能。
16.根据权利要求15所述的方法,其中所述预测是使用一种用于检测和预测等跨距地址的算法来完成的。
17.根据权利要求13所述的方法,其中所述预取功能分派预取读命令,所述预取读命令具有的优先级低于来自所述存储器控制器的读命令的优选地。
18.根据权利要求13所述的方法,其中所述预取功能在预取缓存器中存储预取的数据和地址。
19.根据权利要求18所述的方法,其中在写操作期间在所述预取缓存器中维持数据的一致性。
20.根据权利要求13所述的方法,其中所述分析和选择应用到所述存储器器件之一上的一个簇。
21.根据权利要求13所述的方法,其中应用到所述存储器器件之一的分析和选择独立于应用到另一个所述存储器器件的分析和选择。
22.根据权利要求13所述的方法,其中应用到所述存储器器件之一中的一个簇的分析和选择独立于应用到该存储器器件中的另一个簇的分析和选择。
23.根据权利要求13所述的方法,其中所述分析和选择应用到所有存储器器件。
24.根据权利要求13所述的方法,其中所述命令包括位于存储器命令缓存器中的待处理命令。
25.根据权利要求24所述的方法,其中记录所述待处理命令以更改未来的存取样式。
26.一种存储器系统,其包括:
存储器控制器;
一个或多个存储器器件;以及
与所述存储器控制器和所述存储器器件通信的存储器集线器器件,所述存储器集线器器件包括:
输入命令流接口,其用于检测从所述存储器控制器导向所述
存储器器件的命令;以及
自适应预取逻辑单元(APLU),其用于独立地分析所述命令以确定对所述存储器器件的存取样式,以及用于基于所述分析的结果动态地在针对所述存储器器件启动预取功能和停用预取功能之间做出选择。
27.一种存储器子系统,其包括:
一个或多个存储器器件;以及
存储器集线器器件,其包括:
输入命令流接口,其用于检测从所述存储器控制器导向所述存储器器件的命令;以及
自适应预取逻辑单元(APLU),其用于独立地分析所述命令以确定对所述存储器器件的存取样式,以及用于基于所述分析的结果动态地在针对所述存储器器件启动预取功能和停用预取功能之间做出选择。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/668,088 | 2007-01-29 | ||
US11/668,088 US7603526B2 (en) | 2007-01-29 | 2007-01-29 | Systems and methods for providing dynamic memory pre-fetch |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101236540A true CN101236540A (zh) | 2008-08-06 |
CN101236540B CN101236540B (zh) | 2011-07-20 |
Family
ID=39669213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100038963A Expired - Fee Related CN101236540B (zh) | 2007-01-29 | 2008-01-28 | 选择预取模式的方法、集线器器件、存储器系统及子系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7603526B2 (zh) |
JP (1) | JP5571288B2 (zh) |
CN (1) | CN101236540B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN102667743A (zh) * | 2009-10-09 | 2012-09-12 | 高通股份有限公司 | 存取具有非均匀页大小的多通道存储器系统 |
CN103562898A (zh) * | 2011-06-23 | 2014-02-05 | 苹果公司 | 用于便携式电子设备的接口扩展器 |
CN104657298A (zh) * | 2015-02-11 | 2015-05-27 | 昆腾微电子股份有限公司 | 读控制装置和方法 |
CN107391397A (zh) * | 2011-09-30 | 2017-11-24 | 英特尔公司 | 支持近存储器和远存储器访问的存储器通道 |
CN107870873A (zh) * | 2016-09-26 | 2018-04-03 | 三星电子株式会社 | 基于按字节编址闪存的存储器模块和操作其的方法 |
CN112346902A (zh) * | 2019-08-06 | 2021-02-09 | 美光科技公司 | 存储器子系统处的错误控制操作的优先级排序 |
CN113934666A (zh) * | 2020-07-14 | 2022-01-14 | 美光科技公司 | 数据接口桥的预取 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7873791B1 (en) * | 2007-09-28 | 2011-01-18 | Emc Corporation | Methods and systems for incorporating improved tail cutting in a prefetch stream in TBC mode for data storage having a cache memory |
US8683134B2 (en) * | 2008-01-18 | 2014-03-25 | Texas Instruments Incorporated | Upgrade of low priority prefetch requests to high priority real requests in shared memory controller |
US8472199B2 (en) * | 2008-11-13 | 2013-06-25 | Mosaid Technologies Incorporated | System including a plurality of encapsulated semiconductor chips |
US8438410B2 (en) | 2010-06-23 | 2013-05-07 | Intel Corporation | Memory power management via dynamic memory operation states |
US8433852B2 (en) * | 2010-08-30 | 2013-04-30 | Intel Corporation | Method and apparatus for fuzzy stride prefetch |
US8977819B2 (en) * | 2010-09-21 | 2015-03-10 | Texas Instruments Incorporated | Prefetch stream filter with FIFO allocation and stream direction prediction |
US8755221B2 (en) * | 2010-10-18 | 2014-06-17 | Avalanche Technology, Inc. | Emulation of static random access memory (SRAM) by magnetic random access memory (MRAM) |
US8539163B1 (en) * | 2010-12-17 | 2013-09-17 | Amazon Technologies, Inc. | Speculative reads |
US9092358B2 (en) * | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
US8595407B2 (en) * | 2011-06-14 | 2013-11-26 | Lsi Corporation | Representation of data relative to varying thresholds |
US9043579B2 (en) | 2012-01-10 | 2015-05-26 | International Business Machines Corporation | Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest |
US10057726B2 (en) | 2012-10-02 | 2018-08-21 | Razer (Asia-Pacific) Pte. Ltd. | Managing user data on an electronic device |
US9106721B2 (en) | 2012-10-02 | 2015-08-11 | Nextbit Systems | Application state synchronization across multiple devices |
US8732355B1 (en) * | 2012-10-02 | 2014-05-20 | Nextbit Systems Inc. | Dynamic data prefetching |
US9047173B2 (en) * | 2013-02-21 | 2015-06-02 | Advanced Micro Devices, Inc. | Tracking and eliminating bad prefetches generated by a stride prefetcher |
JP5971211B2 (ja) * | 2013-08-06 | 2016-08-17 | 株式会社デンソー | 電子制御装置 |
US10105593B2 (en) | 2014-04-08 | 2018-10-23 | Razer (Asia-Pacific) Pte. Ltd. | File prefetching for gaming applications accessed by electronic devices |
US10642513B2 (en) | 2015-09-11 | 2020-05-05 | Sandisk Technologies Llc | Partially de-centralized latch management architectures for storage devices |
US10025532B2 (en) * | 2015-09-11 | 2018-07-17 | Sandisk Technologies Llc | Preserving read look ahead data in auxiliary latches |
US11182306B2 (en) * | 2016-11-23 | 2021-11-23 | Advanced Micro Devices, Inc. | Dynamic application of software data caching hints based on cache test regions |
US10558519B2 (en) * | 2017-01-17 | 2020-02-11 | International Business Machines Corporation | Power-reduced redundant array of independent memory (RAIM) system |
US10474578B2 (en) * | 2017-08-30 | 2019-11-12 | Oracle International Corporation | Utilization-based throttling of hardware prefetchers |
US10657059B2 (en) | 2017-09-12 | 2020-05-19 | International Business Machines Corporation | Controlling a rate of prefetching based on bus bandwidth |
US10671536B2 (en) * | 2017-10-02 | 2020-06-02 | Ananth Jasty | Method and apparatus for cache pre-fetch with offset directives |
US10394706B2 (en) * | 2017-11-02 | 2019-08-27 | Western Digital Technologies, Inc. | Non-volatile storage with adaptive command prediction |
US10419265B2 (en) | 2017-11-29 | 2019-09-17 | Bank Of America Corporation | Request processing system using a combining engine |
US10425456B2 (en) | 2017-11-29 | 2019-09-24 | Bank Of America Corporation | Request processing system using a splitting engine |
US11720354B2 (en) * | 2020-01-07 | 2023-08-08 | SK Hynix Inc. | Processing-in-memory (PIM) system and operating methods of the PIM system |
TW202141290A (zh) | 2020-01-07 | 2021-11-01 | 韓商愛思開海力士有限公司 | 記憶體中處理(pim)系統和pim系統的操作方法 |
US11372762B2 (en) | 2020-07-14 | 2022-06-28 | Micron Technology, Inc. | Prefetch buffer of memory sub-system |
US11586557B2 (en) * | 2020-08-26 | 2023-02-21 | Micron Technology, Inc. | Dynamic allocation of buffers for eviction procedures |
KR20220117747A (ko) * | 2021-02-17 | 2022-08-24 | 삼성전자주식회사 | 데이터 프리페치 제어 기능을 갖는 스토리지 컨트롤러, 스토리지 컨트롤러의 동작 방법, 및 스토리지 장치의 동작 방법 |
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
US11580025B1 (en) * | 2021-09-30 | 2023-02-14 | Advanced Micro Devices, Inc. | Cache prefetching with dynamic interleaving configuration modification |
Family Cites Families (155)
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 |
US4150428A (en) | 1974-11-18 | 1979-04-17 | Northern Electric Company Limited | Method for providing a substitute memory in a data processing system |
US4472780A (en) | 1981-09-28 | 1984-09-18 | The Boeing Company | Fly-by-wire lateral control system |
US4453215A (en) | 1981-10-01 | 1984-06-05 | Stratus Computer, Inc. | Central processing apparatus for fault-tolerant computing |
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 |
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 |
DE3767984D1 (de) * | 1986-10-16 | 1991-03-14 | 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 |
JPH02133842A (ja) * | 1988-11-15 | 1990-05-23 | Fujitsu Ltd | 中間バッファプリフェッチ制御方式 |
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 |
CA2045790A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | 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 |
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 |
JP3489147B2 (ja) | 1993-09-20 | 2004-01-19 | 株式会社日立製作所 | データ転送方式 |
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 |
JPH0887451A (ja) | 1994-09-09 | 1996-04-02 | Internatl Business Mach Corp <Ibm> | アドレス変換を管理する方法およびアドレス変換マネージャ |
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 | ソニー株式会社 | クロック信号発生装置 |
US5881154A (en) | 1995-01-17 | 1999-03-09 | Kokusai Denshin Denwa Co., Ltd. | Data scramble transmission system |
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 |
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 |
US5754804A (en) | 1996-01-30 | 1998-05-19 | International Business Machines Corporation | Method and system for managing system bus communications in a data processing system |
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 | メモリモジュール |
US20020103988A1 (en) * | 1996-12-18 | 2002-08-01 | Pascal Dornier | Microprocessor with integrated interfaces to system memory and multiplexed input/output bus |
US5926838A (en) * | 1997-03-19 | 1999-07-20 | Micron Electronics | Interface for high speed memory |
US5870320A (en) | 1997-06-23 | 1999-02-09 | Sun Microsystems, Inc. | Method for reducing a computational result to the range boundaries of a signed 16-bit integer in case of overflow |
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 |
US7024518B2 (en) * | 1998-02-13 | 2006-04-04 | Intel Corporation | Dual-port buffer-to-memory interface |
US6198304B1 (en) | 1998-02-23 | 2001-03-06 | Xilinx, Inc. | Programmable logic device |
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 |
US5959914A (en) | 1998-03-27 | 1999-09-28 | Lsi Logic Corporation | Memory controller with error correction memory test application |
US6643745B1 (en) * | 1998-03-31 | 2003-11-04 | Intel Corporation | Method and apparatus for prefetching data into cache |
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 |
US6349390B1 (en) | 1999-01-04 | 2002-02-19 | International Business Machines Corporation | On-board scrubbing of soft errors memory module |
US6233639B1 (en) | 1999-01-04 | 2001-05-15 | International Business Machines Corporation | Memory card utilizing two wire bus |
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 |
US6564329B1 (en) * | 1999-03-16 | 2003-05-13 | Linkup Systems Corporation | System and method for dynamic clock generation |
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 |
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 |
US6513091B1 (en) * | 1999-11-12 | 2003-01-28 | International Business Machines Corporation | Data routing using status-response signals |
US6557069B1 (en) * | 1999-11-12 | 2003-04-29 | International Business Machines Corporation | Processor-memory bus architecture for supporting multiple processors |
JP2001167077A (ja) * | 1999-12-09 | 2001-06-22 | Nec Kofu Ltd | ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体 |
US6609171B1 (en) * | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
US6219288B1 (en) * | 2000-03-03 | 2001-04-17 | International Business Machines Corporation | Memory having user programmable AC timings |
JP3722202B2 (ja) * | 2000-03-23 | 2005-11-30 | セイコーエプソン株式会社 | 半導体集積回路装置、マイクロコンピュータ及び電子機器 |
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 |
US6546359B1 (en) * | 2000-04-24 | 2003-04-08 | Sun Microsystems, Inc. | Method and apparatus for multiplexing hardware performance indicators |
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 |
US6587112B1 (en) * | 2000-07-10 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Window copy-swap using multi-buffer hardware support |
US6738836B1 (en) * | 2000-08-31 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Scalable efficient I/O port protocol |
US6553450B1 (en) * | 2000-09-18 | 2003-04-22 | Intel Corporation | Buffer to multiply memory interface |
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 |
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 |
ATE437476T1 (de) * | 2000-10-06 | 2009-08-15 | Pact Xpp Technologies Ag | Zellenanordnung mit segmentierter zwischenzellstruktur |
US6611902B2 (en) * | 2000-11-13 | 2003-08-26 | Matsushita Electric Industrial Co., Ltd. | Information processor and information processing method |
US6285172B1 (en) | 2000-11-13 | 2001-09-04 | Texas Instruments Incorporated | Digital phase-locked loop circuit with reduced phase jitter frequency |
US6510100B2 (en) * | 2000-12-04 | 2003-01-21 | International Business Machines Corporation | Synchronous memory modules and memory systems with selectable clock termination |
US6834355B2 (en) * | 2000-12-15 | 2004-12-21 | Intel Corporation | Circuit in which the time delay of an input clock signal is dependent only on its logic phase width and a ratio of capacitances |
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 |
US6766389B2 (en) * | 2001-05-18 | 2004-07-20 | Broadcom Corporation | System on a chip for networking |
US20030090879A1 (en) * | 2001-06-14 | 2003-05-15 | Doblar Drew G. | Dual inline memory module |
US7245632B2 (en) * | 2001-08-10 | 2007-07-17 | Sun Microsystems, Inc. | External storage for modular computer systems |
US7209996B2 (en) * | 2001-10-22 | 2007-04-24 | Sun Microsystems, Inc. | Multi-core multi-thread processor |
US7133972B2 (en) * | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
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 | 半導体集積回路とその試験方法 |
US6996639B2 (en) * | 2002-12-10 | 2006-02-07 | Intel Corporation | Configurably prefetching head-of-queue from ring buffers |
US20040117588A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corporation | Access request for a data processing system having no system memory |
US7421525B2 (en) * | 2003-05-13 | 2008-09-02 | Advanced Micro Devices, Inc. | System including a host connected to a plurality of memory modules via a serial memory interconnect |
US7260685B2 (en) * | 2003-06-20 | 2007-08-21 | Micron Technology, Inc. | Memory hub and access method having internal prefetch buffers |
KR100500454B1 (ko) * | 2003-07-28 | 2005-07-12 | 삼성전자주식회사 | 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템 |
US20050050237A1 (en) * | 2003-08-28 | 2005-03-03 | Jeddeloh Joseph M. | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
US7136958B2 (en) * | 2003-08-28 | 2006-11-14 | Micron Technology, Inc. | Multiple processor system and method including multiple memory hub modules |
US7194593B2 (en) * | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
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 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法 |
US7213082B2 (en) * | 2004-03-29 | 2007-05-01 | Micron Technology, Inc. | Memory hub and method for providing memory sequencing hints |
US7162567B2 (en) * | 2004-05-14 | 2007-01-09 | Micron Technology, Inc. | Memory hub and method for memory sequencing |
-
2007
- 2007-01-29 US US11/668,088 patent/US7603526B2/en not_active Expired - Fee Related
-
2008
- 2008-01-25 JP JP2008014594A patent/JP5571288B2/ja not_active Expired - Fee Related
- 2008-01-28 CN CN2008100038963A patent/CN101236540B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667743B (zh) * | 2009-10-09 | 2015-06-03 | 高通股份有限公司 | 存取具有非均匀页大小的多通道存储器系统 |
CN102667743A (zh) * | 2009-10-09 | 2012-09-12 | 高通股份有限公司 | 存取具有非均匀页大小的多通道存储器系统 |
CN102023931B (zh) * | 2010-12-17 | 2015-02-04 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN102023931A (zh) * | 2010-12-17 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种自适应缓存预取方法 |
CN103562898A (zh) * | 2011-06-23 | 2014-02-05 | 苹果公司 | 用于便携式电子设备的接口扩展器 |
CN107391397A (zh) * | 2011-09-30 | 2017-11-24 | 英特尔公司 | 支持近存储器和远存储器访问的存储器通道 |
CN107391397B (zh) * | 2011-09-30 | 2021-07-27 | 英特尔公司 | 支持近存储器和远存储器访问的存储器通道 |
CN104657298A (zh) * | 2015-02-11 | 2015-05-27 | 昆腾微电子股份有限公司 | 读控制装置和方法 |
CN107870873A (zh) * | 2016-09-26 | 2018-04-03 | 三星电子株式会社 | 基于按字节编址闪存的存储器模块和操作其的方法 |
CN107870873B (zh) * | 2016-09-26 | 2023-08-08 | 三星电子株式会社 | 基于按字节编址闪存的存储器模块和操作其的方法 |
CN112346902A (zh) * | 2019-08-06 | 2021-02-09 | 美光科技公司 | 存储器子系统处的错误控制操作的优先级排序 |
CN113934666A (zh) * | 2020-07-14 | 2022-01-14 | 美光科技公司 | 数据接口桥的预取 |
CN113934666B (zh) * | 2020-07-14 | 2024-04-26 | 美光科技公司 | 数据接口桥的预取 |
Also Published As
Publication number | Publication date |
---|---|
US20080183903A1 (en) | 2008-07-31 |
US7603526B2 (en) | 2009-10-13 |
CN101236540B (zh) | 2011-07-20 |
JP5571288B2 (ja) | 2014-08-13 |
JP2008186457A (ja) | 2008-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101236540B (zh) | 选择预取模式的方法、集线器器件、存储器系统及子系统 | |
CN101410811B (zh) | 提供远程预取缓冲器的计算机存储器系统 | |
CN101236547A (zh) | 提供动态存储库页面策略的系统和方法 | |
US7594055B2 (en) | Systems and methods for providing distributed technology independent memory controllers | |
US7584336B2 (en) | Systems and methods for providing data modification operations in memory subsystems | |
CN101118782B (zh) | 存储和检索处理系统的数据的存储器系统和性能监视方法 | |
US7581073B2 (en) | Systems and methods for providing distributed autonomous power management in a memory system | |
US7640386B2 (en) | Systems and methods for providing memory modules with multiple hub devices | |
US8151042B2 (en) | Method and system for providing identification tags in a memory system having indeterminate data response times | |
US7669086B2 (en) | Systems and methods for providing collision detection in a memory system | |
KR101107349B1 (ko) | 커맨드 데이터의 복제를 지원하는 고용량 메모리 서브시스템용 메모리 칩 | |
US7277988B2 (en) | System, method and storage medium for providing data caching and data compression in a memory subsystem | |
US8296541B2 (en) | Memory subsystem with positional read data latency | |
US7952944B2 (en) | System for providing on-die termination of a control signal bus | |
US8015426B2 (en) | System and method for providing voltage power gating | |
WO2008017624A1 (en) | Memory module power management | |
US11726701B2 (en) | Memory expander, heterogeneous computing device using memory expander, and operation method of heterogenous computing | |
CN104025060A (zh) | 支持近存储器和远存储器访问的存储器通道 | |
US20230393992A1 (en) | Row hammer mitigation using a victim cache |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110720 |
|
CF01 | Termination of patent right due to non-payment of annual fee |