CN1799039A - 用于区分状态信息与读数据的存储接口协议 - Google Patents
用于区分状态信息与读数据的存储接口协议 Download PDFInfo
- Publication number
- CN1799039A CN1799039A CNA2004800149218A CN200480014921A CN1799039A CN 1799039 A CN1799039 A CN 1799039A CN A2004800149218 A CNA2004800149218 A CN A2004800149218A CN 200480014921 A CN200480014921 A CN 200480014921A CN 1799039 A CN1799039 A CN 1799039A
- Authority
- CN
- China
- Prior art keywords
- storage agent
- state model
- data
- memory
- module
- 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
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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
存储设备及方法利用置换状态模式。存储器读和写数据与状态信息在相同链路上传送。为了区分数据与状态信息,按照预定顺序改变状态模式,即置换。存储代理可包括能够产生置换状态模式的模式发生器。系统可包括在相同链路上发送数据和置换状态模式的第一和第二存储代理。
Description
背景
图1说明由电气和电子工程师学会(IEEE)作为标准提出的、非正式地称作RamLink的先有技术存储系统。此标准命名为IEEE Std1596.4-1996,并且正式地称作基于可缩放相干接口(SCI)的高带宽存储接口信令技术(RamLink)的IEEE标准。图1的系统包括存储控制器10和一个或多个存储模块12。存储控制器10通常内置于处理器中或者在处理器的伴随芯片组上制作。各存储模块12具有从接口14,该接口具有一个链路输入端和一个链路输出端。这些组件通过组件之间的单向链路16安排成称作RingLink的RamLink信令拓扑。各模块上的控制接口18使从接口14与存储装置20接口。在图1所示的系统中,称作SyncLink的另一种RamLink信令拓扑用于从接口与存储装置之间。
RamLink系统的目的是为处理器提供对存储装置的高速存取。数据在存储控制器与模块之间通过沿RingLink传播的包进行传送。控制器负责产生所有请求包以及调度从接口响应包的返回。
当控制器向特定模块发送包含命令、地址、时间和数据的请求包时,发起写事务。该包从模块到模块传递,直到它到达预期从接口,从接口则把数据传递给存储装置之一供存储。从接口则发送响应包,该包从模块到模块传递,直到它到达控制器,确认写事务完成。
当控制器向模块发送包含命令、地址和时间的请求包时,发起读事务。那个模块上的从接口从存储装置之一中检索所请求数据,并在响应包中将其返回给控制器,响应包又从模块到模块传递,直到它到达控制器。
图2说明先有技术RamLink从接口电路。在图2的电路中,源同步选通用于对入局数据信号定时。也就是说,伴随入局数据信号的选通信号用于对入局数据抽样。图2的电路采用锁相环(PLL),从分配给其它从接口电路的参考时钟信号中产生稳定的本地时钟信号。本地时钟信号用于对出局数据信号重新定时,从而避免当数据沿下游传递时的累积抖动。
附图简介
图1说明先有技术的RamLink存储系统。
图2说明先有技术的RamLink从接口电路。
图3说明根据本专利的发明原理的存储接口系统的一个实施例。
图4说明根据本专利的发明原理的存储模块的一个实施例。
图5说明根据本专利的发明原理的存储模块的另一个实施例以及存储缓冲器的一个实施例。
图6说明根据本专利的发明原理的存储系统、存储模块以及存储缓冲器的其它示例实施例。
图7说明根据本专利的发明原理的存储缓冲器的另一个示例实施例。
图8说明根据本专利的发明原理的再驱动电路的一个实施例。
图9说明根据本专利的发明原理的I/O单元的一个实施例。
图10说明根据本专利的发明原理的I/O单元的另一个实施例。
图11说明根据本专利的发明原理的I/O单元的另一个实施例。
图12说明根据本专利的发明原理的I/O单元的另一个实施例。
图13说明根据本专利的发明原理的故障在线恢复电路的一个实施例。
图14说明根据本专利的发明原理、以正常模式工作的故障在线恢复电路的另一个实施例。
图15说明根据本专利的发明原理、以故障在线恢复模式工作的故障在线恢复电路的另一个实施例。
图16说明根据本专利的发明原理、具有位通道故障在线恢复功能的存储缓冲器的一个实施例。
图17说明根据本专利的发明原理、具有位通道故障在线恢复功能的存储控制器的一个实施例。
图18说明根据本专利的发明原理实现置换状态模式的方法的一个实施例。
图19说明根据本专利的发明原理的置换模式发生器的一个实施例。
图20至图23说明根据本专利的发明原理的状态模式的示例实施例。
图24说明根据本专利的发明原理的存储代理的一个实施例。
图25说明根据本专利的发明原理的轮询操作的一个实施例。
详细描述
本专利包含具有独立实用性的众多发明。在一些情况下,当原理中的一些在各种相互组合中应用时,实现额外的益处,从而产生附加的发明。这些原理可在各种实施例中实现。虽然为了说明发明原理而给出一些具体细节,但是,根据本专利的发明原理,也可设计其它许多方案。因此,这些发明原理不限于本文所公开的具体细节。
图3说明根据本专利的发明原理的存储接口系统的一个实施例。图3的系统包括存储控制器50以及通过由单向链路构成的信道进行通信的一个或多个存储模块52。信道具有包括一个或多个出站链路54的出站通路以及包括一个或多个入站链路56的入站通路。各模块可以能够在出站通路上以及在入站通路上从链路到链路再驱动信号。例如,如果模块检测到它是最外面的模块,或者响应来自存储控制器的命令,各模块还可以能够有选择地禁用任何再驱动特征。
各模块包括设置成向和/或从通路中的一个或多个传送数据的一个或多个存储装置58。例如,模块可经过设置,使得来自出站通路的数据被传送到存储装置,而来自存储装置的数据则被传送到入站通路。一个或多个缓冲器可设置在一个或多个存储装置与通路中的一个或多个之间。模块和控制器不限于任何特定的机械装置。例如,模块可在与系统的其它部分分开的衬底上制作,它们可在与控制器和链路公共的衬底上制作,或者它们可在其它任何机械装置中实现。模块也不限于任何特定类型的存储装置,例如只读存储器(ROM)、动态随机存取存储器(DRAM)、闪速存储器等。
图4说明根据本专利的发明原理的存储模块的一个实施例。图4的模块包括两个再驱动电路60和62,分别接收单向链路54A和56A上的信号以及将信号再驱动到单向链路54B和56B上。一个或多个存储装置58设置成向和/或从再驱动电路中的一个或多个传送数据。
图4的模块不限于单向链路的任何特定布置或者向和/或从再驱动电路传送数据的任何特定布置。如果图4的模块要用于例如图3所示的存储系统,则再驱动电路60可被指定为出站再驱动电路,并设置成接收和再驱动包括链路54A和54B的出站通路上的信号,而另一个再驱动电路62则可被指定为入站再驱动电路,并设置成接收和再驱动包括链路56A和56B的入站通路上的信号。在这个实例中,一个或多个存储装置58可经过设置,使得数据从出站再驱动电路60传送到存储装置,以及从存储装置传送到入站再驱动电路62。
模块可以能够检测它是否为信道上最外面的模块,并且相应地选择性地禁用任何再驱动特征。例如,如果图4的模块将用于如图3所示的存储系统,以及模块检测到它是最外面的模块,则出站再驱动电路接收链路54A上的入局信号,但不对它们再驱动。同样,入站再驱动电路仅采用对应于从存储装置接收的数据的信号和/或可由模块内部产生的其它信号来驱动链路56B。或者,即使模块检测到它不是最外面的模块,它也可经过构建,使得它能够好像它是最外面模块一样工作(例如响应来自存储控制器的命令),在这种情况下,它可忽略在入站链路56A上接收的信号,并且它可能不把信号再驱动到出站链路54B。
图5说明根据本专利的发明原理的存储模块的另一个实施例以及存储缓冲器的一个实施例。图5的模块包括具有两个再驱动电路60和62的存储缓冲器64,分别接收单向链路54A、56A上的信号以及将信号再驱动到单向链路54B、56B上。存储缓冲器还包括设置成向和从一个或多个存储装置58传送数据的存储接口66。缓冲器可以能够检测它是否为信道上的最后一个代理,并且相应地有选择地禁用任何再驱动特征。即使缓冲器不是最后一个代理,它也可以能够好像它是信道上的最后一个代理那样工作,例如响应来自存储控制器的命令。本文所使用的代理表示与信道接口的任何存储控制器(又称作主控制器)、模块、缓冲器等。
图5的模块和缓冲器不限于单向链路的任何特定布置或者用于在存储接口与再驱动电路之间传送的任何特定布置。如果图5的模块要用于例如图3所示的存储系统,则再驱动电路60可能被指定为出站再驱动电路,并设置成接收和再驱动包括链路54A和54B的出站通路上的信号,而另一个再驱动电路62则可被指定为入站再驱动电路,并设置成接收和再驱动包括链路56A和56B的入站通路上的信号。在这个实例中,存储接口可配置成从出站再驱动电路60接收数据以及向入站再驱动电路62发送数据。
各种机械布置可用来实现图4和图5的存储模块和/或缓冲器。例如,存储装置58、再驱动电路60和62、以及缓冲器64均可实现为安装在公共电路板或者在分开的电路板上的分开的集成电路。组件的各种组合可在公共集成电路上制作在一起,或者它们都可制作在单个集成电路上。一个或多个电路板(若有的话)可以能够插入主板上的插槽、与主板制作在一起、或者以另外任何方式来设置。例如,如果组件作为多芯片模块的组成部分来制作,则可能没有电路板。根据本专利的发明原理的存储缓冲器可用于将不同于存储装置的装置与信道接口。例如,根据本专利的发明原理的存储缓冲器可用于将I/O控制器或桥与信道接口。
参照“入站”和“出站”通路、链路、再驱动电路等来描述根据本专利的发明原理的设备的其它实施例,以帮助理解该设备可如何用于例如图3所示的实施例的存储系统。但是,这些设备不限于单向链路的任何特定布置、用于在链路与其它电路之间传送数据所示的特定布置或者所示的实现详细情况的任一个。
图6说明根据本专利的发明原理的存储系统、存储模块以及存储缓冲器的其它示例实施例。参照图6,一个或多个存储模块52基于具有沿一侧面的两边的接触片的印刷电路板,以便创建可插入固定系统的其它元件的另一个电路板上的连接器中的双列直插式存储模块(DIMM)。现有形状因数可用于此模块,例如用于双数据速率II(DDR2)动态随机存取存储器(DRAM)模块的DIMM形状因数。
模块装载了存储装置58,例如商品型DRAM、如DDR2DRAM。各模块上的存储缓冲器64隔离存储装置与将模块和存储控制器50接口的信道,存储控制器50又称作主控制器。信道以点到点布置与包括出站链路54的出站通路连接以及与包括入站链路56的入站通路连接。链路可采用低电压差动信号通过并行单向位通道来实现。
在图6的实施例中,没有附加信号线用于诸如命令、重置、初始化等功能。而是,这些功能直接在通过信道发送的数据中编码。然而,作为选择,任何数量的附加信号线可用来实现这类功能。
参考时钟信号REF CLK由时钟合成器76来产生,也许通过时钟缓冲器78分配给主控制器和模块。这有助于准异步定时方案,其中,本地产生的时钟信号用于对入局数据抽样和再驱动。由于公共参考时钟在各代理处可得到,因此数据信号可被定时而没有任何频率跟踪。或者,本地时钟信号可与任何参考时钟无关地产生。作为另一个备选方案,可采用同步定时方案、如源同步选通。
在一个可能的实施例中,主控制器通过向出站通路上最里面的模块-也许采用包或帧(这些术语在这里可互换使用)-发送数据来发起数据传递。最里面的模块接收该数据并再驱动到出站通路上的下一个模块。各模块接收并再驱动出站数据,直到出站数据到达最外面的模块。虽然最外面的模块可尝试把数据再驱动到“不存在的”出站链路,但各模块可以能够检测(或被指示)它是最外面的模块,并禁用任何再驱动电路以降低不必要的功耗、噪声等。在这个实施例中,朝主控制器的方向、即入站的数据传递由最外面的模块发起。各模块接收入站数据并将它沿入站通路再驱动,直到它到达主控制器。
在物理信道上可使用任何适当的通信协议。例如,可指定主控制器来发起和调度所有入站及出站数据传递。或者,可允许任何代理来发起数据传递。数据帧可配置成携带命令、读数据、写数据、状态信息、错误信息、初始化数据、空闲模式等或者它们的任何组合。协议可实现成,当主控制器沿出站通路向目标模块发送命令帧时,目标模块通过立即沿入站通路向主控制器发回响应帧来进行响应。在这种实施例中,目标模块不在出站通路上再驱动命令帧。
在一个备选实施例中,目标模块接收命令帧,然后在出站通路上再驱动命令帧。当最外面的模块接收命令帧时,它在入站通路上发起响应帧(也许只是空闲帧)。目标模块等待,直到响应帧到达其入站接收器。然后目标模块例如通过用目标模块的真实响应帧取代最外面的模块所发送的响应帧,将其响应合并到入站数据流中。
图7说明根据本专利的发明原理的存储缓冲器的另一个示例实施例。图7的存储缓冲器包括接收和再驱动包括链路54A、54B的出站通路上的信号的出站再驱动电路60以及接收和再驱动包括链路56A、56B的入站通路上的信号的入站再驱动电路62。存储接口66将缓冲器与一个或多个存储装置接口,这可通过存储总线68进行。存储接口可包括读和/或写缓冲器、如FIFO缓冲器。来自出站通路的数据耦合到存储接口,这可通过消除在出站通路具有不止一个位通道时数据位之间的偏斜的偏斜消除电路70来进行。模式发生器72可用于例如在缓冲器正好是信道上最外面的代理时产生要传送到入站通路上的状态模式,在这种情况下,在入局入站链路56A上可能没有接收到信号。复用器74有选择地把来自存储接口或模式发生器的数据耦合到入站再驱动电路。
存储接口不限于任何特定布置,并且它可与标准存储装置、尤其是商品存储装置、如DDR2 DRAM兼容。整个存储缓冲器可在单个集成电路上集成,可集成到一个或多个存储装置中,其组成元件可集成到分开的组件中,或者可采用其它任何机械布置。图7所示的实施例仅作为示范,根据本专利的发明原理,其它实施例是可行的。例如,图7的实施例采用从出站再驱动电路流动到存储接口以及从存储接口流动到入站再驱动电路的单向数据来表示。但是,这种数据流可以是双向的,并且考虑其它布置。即使图7的实施例要用于其中存储接口的数据只需要按图7所示流动的信道系统中,它也仍然可采用具有全双向数据访问的再驱动电路来实现,因为这可有助于例如内置自检(BIST)功能的实现,在这种情况下,用于对来自入站通路的数据进行偏斜消除的第二偏斜消除电路可能会有帮助。
图8说明根据本专利的发明原理的再驱动电路的一个实施例。图8的电路包括一个或多个输入/输出(I/O)单元74,其中的每个接收可再驱动为输出数据信号TX的输入数据信号RX。或者,I/O单元可将读数据信号RDX替换或合并到输出数据信号中。写数据信号WDX可在输入数据信号被再驱动为输出数据信号之前或者之后从其中提取。
上述信号名称的任一个中的“X”表明它可能是取决于再驱动电路中的I/O单元的数量的多个相似信号其中之一。例如,具有九个位通道的再驱动电路将包括具有命名为R0、R1...R8的输入数据信号的九个I/O单元。在仅具有单个I/O单元的再驱动电路中,数据输入信号是R0或只是R。术语RX用于一般表示输入数据信号的任一个或全部。
为了方便起见,术语“写数据”用来表示从通过I/O单元传播的数据流中提取的任何数据。但是,这并不意味着写数据必须针对存储接口或存储装置。同样,“读数据”表示输入到I/O单元的任何数据,但读数据可来自任何源,而不只是存储装置或存储接口。
再参照图8,时钟发生器80响应参考时钟信号REF CLK而产生多个相位时钟信号PCX和发送时钟信号TC。时钟发生器包括产生作为参考时钟信号REF CLK的倍数的发送时钟TC的锁相环(PLL)82以及相位时钟发生器84。在一个可能的实施例中,存在间隔90度且从发送时钟TC得到的四个相位时钟信号PC0、PC1、PC2和PC3。I/O单元中的每个可采用TC和PCX时钟信号中的一个或多个来对数据信号抽样和/或再驱动,和/或产生附加的本地时钟信号。在这个实施例中,相位时钟和发送时钟信号在它们不随输入数据信号RX中任一个的相位而调整的意义上是稳定信号。
图9说明根据本专利的发明原理的I/O单元的一个实施例。接收器86设置成接收数据信号RX,并响应抽样时钟信号SC而将它再驱动为数据信号TX。抽样时钟信号由抽样时钟发生器88产生,抽样时钟发生器88能够响应数据信号RX而调整抽样时钟信号。写数据信号WDX可从接收器86的输入或输出中提取。如果如图9所示从接收器的输出中提取,则抽样时钟信号SC可用作或者用于导出写数据的选通信号。对抽样时钟发生器的输入可从与图9所示的接收器的输入不同的点提取。例如,它也可从接收器的输出中提取。
图10说明根据本专利的发明原理的I/O单元的另一个实施例。在图10的实施例中,抽样时钟发生器88采用内插器90和接收器跟踪单元(RTU)92来实现。内插器通过响应来自接收器跟踪单元的跟踪信号而在多个相位时钟信号PCX(在本例中为90度异相的四个信号)之间内插来产生抽样时钟信号。接收器跟踪单元观察数据信号RX并调整跟踪信号,使得抽样时钟信号使接收器在适当时间对数据信号进行抽样和再驱动。这样,抽样时钟信号可动态跟踪数据信号。
在一个可能的实施例中,接收器跟踪单元通过对数据信号过抽样并调整抽样时钟信号来观察数据信号RX中的转变,从而在数据眼图的中心、即在数据信号中转变之间的中间点对数据信号进行抽样和再驱动。抽样时钟发生器88可包括环路滤波器,它测量若干位单元,并且可最终确定它应当调整抽样时钟信号的相位以捕捉更接近数据眼图位置的中心的数据。对抽样时钟发生器的输入可从与图10所示的接收器的输入不同的点提取。例如,它也可从接收器的输出中提取。
根据本专利的发明原理的I/O单元的一个实施例可与训练I/O单元以动态跟踪数据信号的方案配合使用。例如,如果图10的I/O单元用作图3所示的存储模块之一,则主控制器可定期把训练帧发送到出站通路上。这些训练帧的边沿密度足以保证接收器跟踪单元观察数据信号中的足够转变,从而能够调整抽样时钟信号。同样,图3中最外面的模块可定期把训练帧发送到入站通路上。
图11说明根据本专利的发明原理的I/O单元的另一个实施例。图11的实施例与图9类似,只是在数据信号通路中增加了缓冲器94。缓冲器94可以是补偿电压和温度引发效应的防抖动或漂移补偿缓冲器。缓冲器使数据信号TX与发送时钟信号TC再同步。发送时钟信号在其相位不象抽样时钟信号SC那样随数据信号而调整的意义上是稳定的。
在图11的实施例中,缓冲器能够响应模式信号而以通过模式或者再驱动模式工作。在通过模式中,信号没有被抽样和再驱动就通过。在再驱动模式中,信号响应时钟信号而被抽样和再驱动。这使I/O单元能够以不同的再驱动模式工作。在一个可能的实施例中,缓冲器在模式信号被断言时以通过模式工作。这称作再抽样模式,并且可产生更短的等待时间,因为数据信号由用于对数据抽样的相同时钟来再驱动。当模式信号未被断言时,缓冲器以再驱动模式工作,因此数据与发送时钟再同步。这称作再同步模式,并且可产生更长的等待时间但可减小抖动。I/O单元可设计到具有用于接收模式信号的输入端的存储缓冲器或模块中。如果存储缓冲器或模块要在其中到下一个代理存在较短信号通路的系统中使用,则输入可被断言(或不被断言,取决于极性),从而使I/O单元以再抽样模式工作,因为在短信号通路上可容许更大抖动。另一方面,如果存储缓冲器或模块要在其中到下一个代理存在较长信号通路的系统中使用,则输入可被取消断言,以便使I/O单元以再同步模式工作,因为这减小抖动,虽然可能的代价是较长的等待时间。或者,已登记标志可用于存储缓冲器或模块、或者再驱动电路或I/O单元本身中来控制模式信号。
图12说明根据本专利的发明原理的I/O单元的另一个实施例。在图12的实施例中,接收和发送数据信号RX及TX为差动信号,并表示为穿过在其中可制作I/O单元的集成电路管芯的一边。接收器86包括抽样单元96和端接单元98。抽样单元响应由内插器90响应来自抽样时钟发生器的相位时钟信号而产生的抽样时钟信号SC而对入局数据信号抽样。端接单元提供差动端接,并把差动数据信号转换为单端信号。防抖动或漂移补偿缓冲器94响应抽样时钟信号SC或稳定的发送时钟信号TC而对数据定时。复用器100有选择地将来自缓冲器94或串行化器102的数据信号耦合到发送锁存器104。读数据信号RDX[0...n]在串行化器102上的I/O单元被接收。另一个复用器可设置在缓冲器94与发送锁存器104之间,发送锁存器104的一个输入端连接到缓冲器,另一个输入端连接到内插器的输出端。
当I/O单元需要将读数据合并到数据流时,复用器选择其耦合到串行化器的输入端,使得发送锁存器响应发送时钟信号TC而对来自I/O单元的读数据定时。否则,复用器选择来自缓冲器的数据信号,该数据信号然后由发送锁存器再驱动。发送数据信号在被驱动到下一个单向链路上之前由发送器106重新转换为差动信号。写信号从发送锁存器的输出中提取,在解串器108中被收集,然后被路由到偏斜消除电路、位通道故障在线恢复装置或其它电路。解串器还可提供位线时钟信号BLC,它可从抽样时钟信号中得到,以便表明写数据WDX[0...n]何时是有效的。
本专利的发明原理的一部分涉及与再驱动通路分离的偏斜消除信号。再驱动通路由信号在被接收和再驱动时传播所通过的一个或多个组件来定义。例如,在图9和图10的实施例中,再驱动通路包括接收器86。在图11的实施例中,再驱动通路包括接收器86和缓冲器94。在图12的实施例中,再驱动通路包括抽样单元96、端接单元98、缓冲器94、复用器100、发送锁存器104以及发送器106。
根据本专利的发明原理的一部分,偏斜消除电路可集成到再驱动电路中,使得偏斜消除电路的各个位通道包含在再驱动通路中。因此,位通道上的信号可在沿通路被再驱动时在每个再驱动电路中消除偏斜。但是,作为选择,根据本专利的发明原理的偏斜消除电路可与再驱动通路分离。例如,在图7的实施例中,偏斜消除电路表示为不仅与再驱动电路60中的再驱动通路分离,而且与整个再驱动电路分离。或者,根据本专利的发明原理的偏斜消除电路可集成到再驱动电路中,但仍然与再驱动通路分离。例如,在图12的实施例中,一个或多个偏斜消除锁存器可设置在串行化器102的输出端和/或解串器108的输入端。
如上所述用于对与再驱动通路分离的信号进行偏斜消除的方法及设备的实施例仅作为示范,并不限于这些具体实例。此外,根据本专利、涉及对与再驱动通路分离的信号进行偏斜消除的原理与本专利的其它发明原理无关。例如,正如图9-12所示的再驱动电路的实施例不限于用于具有分开的出站和入站通路的存储系统中那样,根据本专利、涉及用于对与再驱动通路分离的信号进行偏斜消除的原理也可与利用单向链路的其它类型的存储体系结构配合使用,例如利用链路的环型布置、如RamLink的体系结构。
本专利的发明原理的一部分涉及处理故障位通道。例如,图3、4、5、6或7的实施例中所示的任何代理之间的单向链路的任一个可具有一个以上位通道。根据本专利的发明原理,一个或多个信号可在位通道上重定向,以便避免不良位通道。诸如存储控制器(主控制器)、模块、缓冲器等任何代理可以能够在多个位通道上重定向一个或多个信号。信号可在链路的任一端或两端重定向。任何代理可以能够自动地或者通过另一个代理的协助来检测故障位通道,以及任何代理可以能够响应来自另一个代理的命令而重定向信号。
图13说明根据本专利的发明原理的故障在线恢复电路的一个实施例。仅为了说明,图13的故障在线恢复电路110表示为与再驱动电路112的实施例一起,但发明原理不限于与任何特定再驱动电路配合使用,故障在线恢复电路也不限于图13所示的具体细节。再驱动电路112包括设置成接收和再驱动单向链路上的信号的多个位通道。每个位通道被实现为具有接收器116和发送器118的I/O单元114。
故障在线恢复电路表示能够重定向送往或来自多个位通道的一个或多个信号的电路。在图13的实施例中,故障在线恢复电路实现为具有一个或多个复用器开关120的复用器。每个开关具有耦合到一个位通道的第一输入端以及耦合到相邻位通道的第二输入端,使得它可将来自任一个位通道的信号重定向到其输出端。图13所示的实施例表示为具有六个开关,为六个位通道提供服务,但是可使用任何数量的开关和位通道,以及开关可设置成不同于所示的相邻位通道配置的各种配置。
在正常操作模式中,开关的每个把来自其第一输入端的信号送往其输出端,如图14所示,使得写数据信号WD0、WD1、WD2、WD3、WD4和WD5分别送往输出端OUT0、OUT1、OUT2、OUT3、OUT4和OUT5。在这种实施例中,位通道之一、例如与WD5对应的位通道可用于对其它位通道上的数据进行检错。
如果检测到不良位通道,则复用器可按照故障在线恢复模式工作,其中操作开关中的一个或多个以标出不良位通道。例如,如果与WD3关联的位通道没有正确工作,则复用器开关可分别将写数据信号WD4和WD5重定向到输出端OUT3和OUT4,如图15所示。在这种模式中,一个位通道的信号容量丢失。如果指定了位通道之一用于检错,则原本要发往不良位通道的信号可通过检错通道重新路由,以及检错功能可被禁用。
故障在线恢复电路的输出可耦合到存储接口、存储装置或者其它电路。在图13的实施例中,故障在线恢复电路表示为与再驱动电路分离,但它也可集成到再驱动电路中。根据本专利的发明原理的故障在线恢复电路可采用如图所示的简单复用器来实现,但其它布置、如全交叉开关也是可行的。
图13所示的故障在线恢复电路的实施例设置成将来自位通道的写数据耦合到其输出端。或者,根据本专利的发明原理的故障在线恢复电路的一个实施例可设置成朝相反方向传递数据,在这种情况下,输出端OUTX将成为接收读数据的输入端,复用器开关可称作分用器开关,以及I/O单元的每个可在接收器与发送器之间具有复用器,将来自故障在线恢复电路的读数据合并到位通道中。这样,复用器表示复用器和分用器。作为另一个备选方案,根据本专利的发明原理的故障在线恢复电路的一个实施例可设置成用于位通道与存储装置、存储接口或其它电路之间的双向数据流。
根据本专利的发明原理,存储缓冲器、存储模块、存储控制器(主控制器)或具有位通道故障在线恢复功能的其它代理也可具有用于检测故障位通道、重定向信号、标出不良位通道等的各种功能。例如,具有图13所示的故障在线恢复电路的实施例的代理可经过设计,使得它可例如通过观察另一个代理发送的测试数据模式并重定向信号以标出故障位通道,来检测故障位通道。或者,代理可经过设计,使得它可响应来自另一个代理、例如指示存储信道上的一个或多个代理的存储控制器的命令而标出故障位通道。或者,该代理可具有两种功能。
图16说明根据本专利的发明原理、具有位通道故障在线恢复功能的存储缓冲器的一个实施例。图16的实施例与图7相似,但还包括耦合在偏斜消除电路70与存储接口66之间的故障在线恢复电路122。备选实施例是可行的。例如,故障在线恢复电路可设置在再驱动电路60与偏斜消除电路之间,或者它可集成到再驱动电路中。图16的实施例还包括另一个故障在线恢复电路124,它表示为耦合在复用器74与再驱动电路62之间,但它也可集成到再驱动电路中,或者以其它方式设置。图16的存储缓冲器或者也可体现为存储模块,在这种情况下,存储接口被存储装置取代。
图17说明根据本专利的发明原理、具有位通道故障在线恢复功能的存储控制器的一个实施例。图17的控制器包括出站和入站单向链路接口126、128,它们具有在这个实施例中分别包括多个发送器和多个接收器的多个位通道。故障在线恢复电路130和132分别耦合到接口126、128中的位通道。在图17的实施例中,故障在线恢复电路表示为与链路接口分离,但它们也可与这些接口结合。控制器可以能够检测故障位通道,在这种情况下,故障在线恢复电路可标出故障位通道。作为补充或替代,控制器可以能够发送指导代理标出故障位通道的命令。
现在将在包括根据本专利的发明原理的存储控制器(主控制器)、存储模块和存储缓冲器的其它实施例的完整存储信道系统的一个示范实施例的上下文中描述根据本专利的发明原理的另外的故障在线恢复方法及设备。但是,没有任何组件局限于这个示范系统或者本文所述的任何细节。
该示范系统包括具有诸如参照图17所述的那些功能的故障在线恢复功能的主控制器的一个实施例以及具有具备诸如参照图16所述的那些功能的故障在线恢复功能的缓冲器的一个或多个存储模块的实施例。在这个实例中,主控制器和模块设置在具有例如图7所示的出站和入站通路的信道配置中,可是该系统可能只包括一个模块。
在这个实例中,主控制器和模块与作为用来管理系统中组件的串行总线系统、称作“SMBus”的系统管理总线互连。但是,SMBus的使用不是本专利的发明原理所必需的,以及可采用组件之间的其它通信形式,其中包括存储信道通路本身。
根据本专利的发明原理、用于在示范系统中检测和标出故障位通道的方法的一个实施例如下所述。主控制器在出站通路的各位通道上发送测试模式。测试模式由各模块上的缓冲器接收并沿出站通路再驱动,直到它到达最外面的模块。最外面的模块则在入站通路的各位通道上发送测试模式。测试模式由各模块上的缓冲器接收并沿入站通路再驱动,直到它到达主控制器。主控制器和模块上的缓冲器观察入站和/或出站通路的各位通道上的测试模式,以便检查正确的位通道操作。入站和出站通路上的位通道可同时被测试。
通过经由SMBus向主控制器发送结果和/或通过经由信道向主控制器传送结果帧,来报告故障位通道。这种结果帧可由最外面的模块在入站通路上发起,以及其它模块(若有的话)可将它们的结果信息合并到入站通路中的数据中。如果来自各模块的结果在一个以上位通道上以冗余方式传送,则故障位通道不可能干扰报告结果。
一旦主控制器接收到结果,它可通过SMBus、通过信道或者通过其它任何形式的通信向模块发出配置命令。配置命令向模块指示哪些(若有的话)位信道是不良的且应当被标出。模块通过操作一个或多个故障在线恢复电路以绕过不良位通道(若有的话)重定向信号,并且重新配置任何内部功能性以适应位通道的丢失,来响应该配置命令。例如,如果一个位通道被指定用于对数据进行检错,则缓冲器或模块可禁用检错功能。
以上所述的故障在线恢复方法及设备的实施例仅作为示范,并且本专利的发明原理不限于这些具体实例。参照具有例如图3的实施例的分开的入站和出站通路的存储系统描述了根据本专利的故障在线恢复方法及设备的原理,但这些原理还可适用于采用单向链路的任何存储体系结构,例如利用链路的环型布置、如RamLink的体系结构。
本专利的发明原理的一部分涉及置换状态模式。在其中存储器读和写数据在存储代理之间传递的、例如以上参照图1和图3所述的那些存储系统中,在存储代理之间发送状态信息、如空闲模式、告警模式及其它状态信息可能也是有用的。这可通过在连接存储代理的一个或多个相同链路上发送数据模式和状态模式来实现。根据本专利的发明原理,状态模式可随时间而置换。
例如,参照图3,存储控制器50可向模块52中的一个或多个发送具有数据模式、如读命令的帧,模块52中的一个或多个可通过向控制器发回具有数据模式、如读数据的帧来响应。例如,如果模块不能够足够快地从存储装置58中检索读数据,则让模块中的一个或多个向存储控制器发回具有空闲模式的帧可能是有用的。可指定预定数据模式为空闲模式,使得如果存储控制器接收到空闲模式,它知道不是在接收读数据。但是,如果实际读数据模式正好匹配指定的空闲模式,则这可能产生问题。
根据本专利的发明原理,存储控制器和一个或多个模块均可以能够以可预测方式置换空闲模式,使得空闲模式随时间而改变。例如,每当空闲帧被发送和/或接收时,存储控制器和模块可按照预定顺序来改变空闲模式。根据本专利的发明原理的这种方法的一个实施例如图18所示。这样,如果存储控制器发送读命令帧(158)并接收具有当前空闲模式(162)的响应帧(160),则它可重发相同的读命令(164)。如果第二响应帧(166)包含与第一个相同的模式(168),则它将该模式解释为实际读数据(170)。但是,如果第二响应帧中的模式匹配置换空闲模式(168),则存储控制器知道,第一响应帧为空闲帧(172)。
根据本专利的发明原理,状态模式中发送的状态信息可能是空闲模式、告警模式以及其它状态信息,例如来自模块的命令错误信息、来自模块的热过载信息以及表明模块检测到存储信道的出站通路上另一个模块的存在的信息。一些类型的状态模式可实现为互补模式。例如,告警模式(可用于向代理通知错误状况)可实现为空闲模式的逻辑互补。这可通过例如允许存储代理对空闲和告警模式使用相同的模式发生器来简化实现。即使没有使用置换模式,互补状态模式的使用也可能是有益的。
根据本专利的发明原理的存储代理还可以能够在状态模式中故意产生错误、如循环冗余校验(CRC)错误。这种技术作为区分数据模式与状态模式的替代或补充方式可能是有用的。例如,在一些存储系统中,各帧与用于检验帧中数据的完整性的CRC代码一起被发送。
根据本专利的发明原理,存储代理可故意随包含状态模式的帧一起发送错误的CRC代码。接收代理则可把该帧解释为状态帧而不是数据帧。一些存储系统可利用具有额外位通道的一个或多个通路来传送CRC数据。如果这种系统能够以故障在线恢复模式工作,则一个或多个代理在没有以故障在线恢复模式工作时可以仅利用故意CRC错误。本文所使用的术语“CRC”不仅表示循环冗余校验,而且还表示用于检验帧或模式的完整性的其它任何类型的检错方案。
虽然根据本专利的发明原理的状态模式置换和处理的原理适用于任何类型的存储代理并且与本专利的其它发明原理无关,但将针对例如图7所示的实施例的存储缓冲器以及在例如图6所示的实施例的系统的上下文中描述一些附加方面。参照图6,如果存储缓冲器64是存储信道上最外面的代理,则每当它没有发送主控制器从接到存储接口68的任何存储装置请求的数据时,它可以能够在入站链路56B上不断传送置换空闲状态帧。
图19说明根据本专利的发明原理的置换模式发生器的一个实施例。图19的实施例是具有多项式x12+x7+x4+x3+1的12位线性反馈移位寄存器(LFSR)。初始状态可设置为000000000001,以及LFSR在模式重复之前循环通过212-1种状态(4095帧)。LFSR的每个位可映射到数据通路上的链路中的位通道,以及每个位可用于在整个帧期间在相应位通道上出现的所有传递。例如,在具有在各链路中带12个位通道的数据通路的系统中,来自LFSR的每级的输出可映射到位通道之一。通过利用来自延迟一帧的LFSR的最低有效位的值,可容纳附加通道、例如第13个位通道。
图20说明图19的置换模式发生器产生的第一状态模式的一个实例。在这个实例中,帧为12个传递长。图21-22分别说明第二、第三和第四状态模式。通过在整个帧期间使用各位通道上的相同值,电磁干扰(EMI或噪声)可减小。
这里所述的13位通道×12位传递帧是作为实例,本专利的发明原理不限于这些细节,也不限于上述置换模式发生器的具体实施例。例如,根据本专利的发明原理的置换模式发生器不需要采用专用逻辑电路、如上述LFSR来实现。作为选择,它可采用可编程逻辑、或作为处理器中的算法或者可用来监视和/或实现存储接口中逻辑或利用置换状态模式的缓冲器或其它存储代理的其它功能性的其它可编程状态机来实现。
本专利的一些附加发明原理涉及利用一个以上位通道来检测存储链路上是否存在存储代理。例如,在图7所示的存储缓冲器的实施例中,缓冲器可以能够检测是否存在耦合到出站链路54B的另一个存储代理。这可通过利用链路中的单个位通道测试另一个存储代理的存在来实现。但是,如果链路中存在一个以上位通道,则根据本专利的发明原理,位通道中不止一个可用来检测另一个存储代理的存在。这可防止不良位通道的存在干扰存在检测操作。
为了方便,涉及利用一个以上位通道来检测存储代理的存在的本专利的发明原理将单独和统一地称作冗余存在检测。冗余存在检测可适用于具有与多个位通道的链路接口的任何类型的存储代理。例如,图13的实施例中所示的发送器118中的任何两个或两个以上可看作是链路接口,在本例中为发送链路接口。同样,图13所示的接收器116中的任何两个或两个以上可看作是链路接口,在本例中为接收链路接口。冗余存在检测可适用于这些链路接口中任一个以及图17的实施例所示的链路接口126和128中任一个。
再回到图7的实施例作为实例,当存在检测事件、如重置出现时,存储缓冲器可将其入站发送链路56B上的三个位通道驱动到预定存在检测逻辑电平、例如一,从而向另一个缓冲器发信号通知其存在。同样在存在检测事件中,在信道上位于第一缓冲器的入站处的第二个这种存储缓冲器可将其入站接收链路56A上相应的三个位通道配置成检测第一缓冲器的存在。在这个实例中,第一存储缓冲器将称作外部代理,而第二缓冲器则称作内部代理。
将位通道配置成检测另一个代理的存在的技术的一个实例将让那个位通道的接收器尝试把偏置电流施加到位通道上,从而迫使该位通道与存在检测逻辑电平相反。如果另一个存储代理在存在检测事件期间耦合到该位通道,则它在那个位通道上的发送器将迫使位通道达到存在检测逻辑电平。
如果内部代理检测到三个位通道中的两个上的存在检测逻辑电平,则它知道外部代理存在,并且它可让其外部端口的全部或一部分被启用。(在这个实例中,外部端口包括用于出站链路54B的链路接口和用于入站链路56A的链路接口。)如果内部代理无法检测到三个位通道中的至少两个上的存在检测逻辑电平,则它可判定外部代理不存在,并且它可禁用其外部端口的全部或一部分。内部代理可以能够响应状态检查命令而向另一个代理、例如向存储控制器报告外部代理是否存在。
利用冗余存在检测的代理还可以能够向另一个代理发信号通知存在检测事件。例如,如果重置事件在出站通路上通过重置命令传递到图7的缓冲器,则这个命令可由再驱动电路60转发给外部代理(若有的话)。这可将两个代理设置为存在检测模式。
根据本专利的发明原理的冗余存在检测不限于上述具体实施例。例如,只有两个位通道可用于存在检测而不是以上实例中的三个,在这种情况下,内部代理只需要检测单个位通道上的存在检测逻辑电平以推断外部代理存在。同样,冗余存在检测可适用于利用其它各种类型的存储体系结构的系统和组件,例如利用链路的环型布置、如RamLink的体系结构。
根据本专利的一些附加发明原理涉及组件从存储信道中热插和/或热拔—即在存储信道正工作时增加和/或移去组件。图24说明根据本专利的发明原理的存储代理134的一个实施例。图24的实施例可以是存储模块、存储缓冲器、存储控制器等。代理包括第一端口136和第二端口138。只是为了说明,如果假定代理为存储模块、例如图6的实施例中的模块52之一,则第一端口可指定为内部端口,因为它可设置成与存储信道上更接近存储控制器的其它代理进行通信。同样,第二端口可指定为外部端口,因为它可设置成与存储信道上远离存储控制器的代理进行通信。这些指定只是用于说明,并且这些发明原理不限于存储代理的这些细节,也不限于图6所示的存储信道的具体情况。这些原理还可适用于其它存储信道体系结构,如图1所示的RamLink体系结构。
根据本专利的发明原理的存储代理的每个端口具有一个或多个链路接口。在图24的实施例中,每个端口具有接收链路接口和发送链路接口。内部端口136具有可能是属于再驱动电路60的一部分的一个或多个接收器的接收链路接口140以及可能是属于另一个再驱动电路62的一部分的一个或多个发送器的发送链路接口142。外部端口分别具有同样分别是再驱动电路62、60的组成部分的接收和发送链路接口144、146。链路接口140、146可分别耦合到出站链路54A、54B,以及链路接口142、144可分别耦合到入站链路56B、56A。链路接口的每个可具有一个或多个位通道,以及位通道和接口可采用这个术语的任何组件来表示。例如,接口142中的位通道可表示为入站发送或入站Tx位通道。接口144中的位通道可表示为入站接收或入站Rx位通道。
图24的实施例仅作为示范,以及存储代理和端口可按照不同方式来实施。例如,链路接口不一定是再驱动电路的组成部分。这种情况在图17所示的存储控制器的实施例中说明,其中,端口可包括不属于再驱动电路的组成部分的链路接口126和128。链路接口可以仅包括一个或者任何数量的位通道,以及端口可以仅具有一个接收链路接口或发送接口。
根据本专利的发明原理的存储代理可以能够检测其端口之一上的另一个存储代理的存在,并且它可以能够根据另一个存储代理是否存在来采取各种动作。例如,图24的存储代理可以能够当另一个存储代理在其外部端口上不存在时禁用该端口的全部或一部分。它可以能够通过其内部端口向另一个代理、例如向存储控制器报告外部代理是否存在。图24的存储代理可以能够执行存在检测操作,它可包括向外部端口上潜在的外部代理发信号通知存在检测事件。它还可以能够执行快速重置操作。
将在存储系统的一个示例实施例的上下文中描述根据本专利申请、可帮助热添加/移去的一些附加发明原理。将在例如图6的实施例的存储系统的上下文中,参照图24的存储代理来描述该示例实施例。在这个示例实施例中,假定图24的存储代理用来实现作为具有存储装置的模块的一部分的图6的缓冲器的一个或多个。但是,所有这些细节只是用于说明,以及发明原理不限于这些细节。
在示例系统中,存储代理可以能够执行快速重置操作、完全重置操作和/或各种轮询或存在检测操作。在示例系统中,最小数量的时钟转变可能是使各位通道上的导出时钟保持锁定到数据流所必需的。因此,存储控制器(或主控制器)可通过在预定时间周期在出站通路中的位通道中一个或多个上发送一或零的连续流来发起重置操作。由于数据由通路上的各缓冲器再驱动,因此所有缓冲器接收重置命令或事件。在示例系统中,三个最低有效位(LSB)通道可用来发送重置操作的信号。接收代理可通过在三个LSB中任何两个上检测零或一的流来检测重置事件。这可保证一个故障位通道的存在不干扰重置操作,但甚至不要求多于一个位通道的发明原理不限于这样一种实现。
在示例系统中,例如在主控制器通过外部条件保持为重置时,主控制器可发送零的连续流,使信道上的所有代理(在这个实例中为具有缓冲器的模块)无限地保持第一重置状态。主控制器则可在第一时间量、例如两个帧周期发送一的流,然后重新发送零,以便发信号通知其它代理执行快速重置操作。或者,主控制器可在第二时间量、例如不止两个帧周期发送一的流,以便发信号通知其它缓冲器执行完全重置操作。完全重置可包括各种内部校准操作,例如链路上的阻抗匹配、任何接收器或驱动电路中的电流源校准、接收器偏移抵消等。在执行校准操作之后,主控制器则可发信号通知缓冲器转变到快速重置操作。
快速重置操作可绕过完全重置过程中执行的某些操作、如校准操作。快速重置操作可从存在检测操作开始。在存在检测操作过程中,信道上的各缓冲器可在三个LSB入站Rx位通道上施加电流,从而迫使这些位在没有连接到外部代理时为零。另外在存在检测操作过程中,各缓冲器还可把三个LSB入站Tx位通道驱动到一。每个缓冲器则可检查其三个LSB入站Rx位通道,以及如果它检测到三个通道其中两个上的一,则可让其外部端口保持启用,并相应地更新状态寄存器。如果缓冲器没有检测到两个一,则它可假定没有外部代理,禁用其外部端口的全部或一部分,将其本身配置成执行信道上最外面的代理的功能,和/或相应地更新状态寄存器。主控制器可按照类似的存在检测操作来确定任何代理是否处于信道上。缓冲器可响应来自主控制器的状态请求而在状态帧中把状态信息转发给主控制器。
在存在检测操作之后,示例系统中的缓冲器可在快速重置过程中经过其它各种操作,例如训练缓冲器上的本地时钟以锁定到数据流的时钟训练状态、对准信道上发送的帧的帧训练状态、检查所有位通道的操作并在缓冲器具有这种功能时将其设置到故障在线恢复模式的位通道测试等。另外,一旦主控制器知道其它代理连接到信道的方式,它可调整帧大小、定时等,以接纳所有代理。
在示例系统中,存储代理还可以或者备选地能够执行各种轮询操作,以便检测信道上新增代理的存在。例如,各缓冲器在作为确定是否已经向信道添加新代理的最外面缓冲器时可以能够对其外部端口执行轮询操作。图25说明根据本专利的发明原理的这种轮询操作的一个实施例。
在148,代理可禁用其外部端口的全部或一部分。如果代理是缓冲器或模块,则可等待来自主控制器的轮询命令以便转变到150的热重置操作。如果代理为主控制器,则它可禁用其外部端口的全部或一部分,并等待来自系统环境的唤醒命令。在接收到唤醒命令时,它可转到启用其外部端口的全部或一部分,并转变到重置状态。
在150,代理可启用其外部端口,并把零驱动到三个LSB出站Tx位通道,以便向其外部端口上潜在的新代理发送重置。代理则可转变到152的热校准操作。
在152,代理可把一驱动到三个LSB出站Tx位通道,以便迫使潜在的新代理通过包括校准操作的完全重置,因为新检测的代理可能需要被校准。然后,代理可转变到154的热检测操作。
在154,代理可将零驱动到三个LSB出站Tx位通道,并且在三个LSB入站Rx位通道上施加偏置电流,从而迫使这些位在没有连接到外部代理时为零。代理则可检查三个LSB入站Rx位通道,以及如果它检测到至少两个一,则它可在155判定外部代理存在,并转变到156的热代理存在操作。否则,代理可在155判定外部代理不存在,并重新转变到148的睡眠操作。
在156,代理可更新状态寄存器以表明它已经检测到外部代理,然后例如响应状态请求而把这个信息转发给主控制器,或者采取一些其它动作把信息转发给主控制器或其它代理。代理也可等待接收信道重置。
主控制器可通过定期状态请求或其它技术变为知道新检测的代理,并发起快速重置,以便用信道上的新代理对整个信道重新初始化并适应信道定时。
下面是根据本专利的发明原理的热增加/移去程序的一些附加实施例。还参照图6所示的存储系统的实施例,在采用图6的存储系统的更大系统、如具有用户界面和系统固件的服务器的上下文中描述这些附加实施例。但是,这些附加实施例所述的发明原理不限于本文所述的具体细节。
根据本专利的发明原理的热增加程序可在用户把新代理附加到存储信道上、例如最外面代理的外部端口上时开始。用户可通知系统固件已经附加代理。固件则可使电力施加到附加代理上,并通过唤醒命令通知主控制器已经附加代理。主控制器则可向先前的最外面代理发送轮询命令,先前的最外面代理则可循环进行例如以上参照图25所述的轮询操作。在轮询操作之后,先前的最外面代理可报告新的外部代理的存在。主控制器则可检测新代理的存在,并发出快速重置命令以便使新代理投入运行,并对整个信道重新定时。在新代理可工作之后,主控制器可中断系统固件以报告新代理是可工作的。或者,主控制器可等待系统固件查询主控制器以确定新代理是否可工作。然后,系统固件可把主控制器配置成适应新代理提供的任何新硬件、如新的存储装置,它在代理为存储模块或缓冲器时可能存在。
根据本专利的发明原理的热移去程序可在用户通知系统要移去存储信道上的特定代理时开始。系统可从系统图中消除相应的主控制器地址范围。如果系统使用镜像,则系统可能把主控制器地址范围重新映射到代理镜像。然后,如果还没有镜像,则系统可从主控制器地址范围中把数据复制或移动到其它位置。系统则可进行轮询,直到完成所有未决事务。然后,系统可使主控制器向要移走的代理内部的代理发送命令,使这个代理认为它是信道上最外面的代理,从而使它禁用其外部端口,并在后续快速重置过程中承担最外面代理的功能。(完全重置将忽略这个命令。)然后,系统可发起快速重置以关闭所选代理以及附加到所选代理的组件的任何信道接口。然后,系统可断开所选代理的电力,并通知用户已经移去该代理。
根据本专利的发明原理的热替换程序可在上述热移去程序完成时开始。用户可添加新代理来取代移去的代理,然后通知系统固件已经添加新代理。正运行的系统则可为新替换组件预备主控制器,并向新组件供电。然后,系统固件可使主控制器向先前的最外面代理发送命令,让它知道它应当不再认为它是最外面的代理。这可使先前的最外面代理响应下一个重置而启用其外部端口,并等待轮询命令。固件则可指示主控制器向先前的最外面代理发送轮询命令,先前的最外面代理则可执行例如以上参照图25所述的轮询操作,从而初始化新的代理。然后,先前的最外面代理可报告新的外部代理的存在。主控制器则可检测新代理的存在,并发出快速重置命令以使新代理投入运行,并对整个信道重新定时。在新代理可工作之后,主控制器可中断系统固件以报告新代理是可工作的。或者,主控制器可等待系统固件查询主控制器以确定新代理是否可工作。
可在设置和细节方面对本文所述的实施例进行修改,而没有背离发明原理。因此,这类变更和修改被视作落入以下权利要求的范围之内。
Claims (27)
1.一种存储代理,包括:
产生状态模式的模式发生器;
其中所述模式发生器能够置换所述状态模式。
2.如权利要求1所述的存储代理,其特征在于,所述模式发生器能够产生具有CRC错误的状态模式。
3.如权利要求2所述的存储代理,其特征在于,如果所述存储代理正以故障在线恢复模式工作,所述模式发生器能够产生没有CRC错误的状态模式。
4.如权利要求1所述的存储代理,其特征在于,所述存储代理能够将具有CRC错误的状态模式解释为状态模式。
5.如权利要求4所述的存储代理,其特征在于,所述存储代理能够将没有CRC错误的状态模式解释为不同于状态模式的模式。
6.如权利要求1所述的存储代理,其特征在于,所述存储代理包括存储缓冲器。
7.如权利要求1所述的存储代理,其特征在于,所述存储代理包括存储模块。
8.如权利要求1所述的存储代理,其特征在于,所述存储代理包括存储控制器。
9.如权利要求1所述的存储代理,其特征在于,如果所接收模式匹配所述状态模式,所述存储代理能够重试命令。
10.如权利要求9所述的存储代理,其特征在于,如果第二所接收模式匹配所置换状态模式,所述存储代理能够将所述第二所接收模式解释为状态模式。
11.如权利要求9所述的存储代理,其特征在于,如果第二所接收模式不匹配所置换状态模式,所述存储代理能够将所述第二所接收模式解释为不同于状态模式的模式。
12.如权利要求1所述的存储代理,其特征在于,所述模式发生器包括专用逻辑电路。
13.如权利要求12所述的存储代理,其特征在于,所述专用逻辑电路包括反馈移位寄存器。
14.如权利要求1所述的存储代理,其特征在于,所述状态模式为空闲模式。
15.如权利要求1所述的存储代理,其特征在于,所述状态模式为告警模式。
16.如权利要求1所述的存储代理,其特征在于,第一类型的状态模式是第二类型的状态模式的互补物。
17.如权利要求16所述的存储代理,其特征在于:
所述第一类型的状态模式为空闲模式;以及
所述第二类型的状态模式为告警模式。
18.一种系统,包括:
第一存储代理;以及
通过链路耦合到所述第一存储代理的第二存储代理;
其中所述第一存储代理能够在所述链路上发送数据模式和状态模式;
其中所述第二存储代理能够在所述链路上接收数据模式和状态模式;以及
所述第一存储代理能够置换所述状态模式。
19.如权利要求18所述的系统,其特征在于,所述第二存储代理能够解释所置换的状态模式。
20.如权利要求19所述的系统,其特征在于:
所述第一存储代理包括存储模块;以及
所述第二存储代理包括存储控制器。
21.如权利要求19所述的系统,其特征在于:
所述第一存储代理包括存储缓冲器;以及
所述第二存储代理包括存储控制器。
22.如权利要求19所述的系统,其特征在于,如果所接收模式匹配状态模式,所述第二存储代理能够重试命令。
23.如权利要求22所述的系统,其特征在于,如果第二所接收模式匹配所置换状态模式,所述第二存储代理能够将所述第二所接收模式解释为状态模式。
24.如权利要求22所述的系统,其特征在于,如果第二所接收模式不匹配所置换状态模式,所述第二存储代理能够将所述第二所接收模式解释为数据模式。
25.一种方法,包括:
在链路上从存储代理发送数据模式;
在所述链路上从所述存储代理发送状态模式;以及
置换所述状态模式。
26.如权利要求25所述的方法,其特征在于,还包括产生具有CRC错误的状态模式。
27.如权利要求26所述的方法,其特征在于,还包括如果所述存储代理正以故障在线恢复模式工作,则产生没有CRC错误的状态模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/454,400 US7200787B2 (en) | 2003-06-03 | 2003-06-03 | Memory channel utilizing permuting status patterns |
US10/454,400 | 2003-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1799039A true CN1799039A (zh) | 2006-07-05 |
CN100440188C CN100440188C (zh) | 2008-12-03 |
Family
ID=33510399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800149218A Expired - Fee Related CN100440188C (zh) | 2003-06-03 | 2004-05-20 | 用于区分状态信息与读数据的存储设备、系统和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7200787B2 (zh) |
EP (1) | EP1629393B1 (zh) |
JP (1) | JP4210301B2 (zh) |
KR (1) | KR100896982B1 (zh) |
CN (1) | CN100440188C (zh) |
AT (1) | ATE412941T1 (zh) |
DE (1) | DE602004017454D1 (zh) |
HK (1) | HK1080190A1 (zh) |
WO (1) | WO2004109712A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949850A (zh) * | 2017-12-21 | 2019-06-28 | 光宝电子(广州)有限公司 | 储存系统与储存方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643752B1 (en) * | 1999-12-09 | 2003-11-04 | Rambus Inc. | Transceiver with latency alignment circuitry |
US6502161B1 (en) * | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
US7362697B2 (en) | 2003-01-09 | 2008-04-22 | International Business Machines Corporation | Self-healing chip-to-chip interface |
US8171331B2 (en) | 2003-06-04 | 2012-05-01 | Intel Corporation | Memory channel having deskew separate from redrive |
US7386768B2 (en) | 2003-06-05 | 2008-06-10 | Intel Corporation | Memory channel with bit lane fail-over |
US7386765B2 (en) * | 2003-09-29 | 2008-06-10 | Intel Corporation | Memory device having error checking and correction |
US6996749B1 (en) * | 2003-11-13 | 2006-02-07 | Intel Coporation | Method and apparatus for providing debug functionality in a buffered memory channel |
US20050138267A1 (en) * | 2003-12-23 | 2005-06-23 | Bains Kuljit S. | Integral memory buffer and serial presence detect capability for fully-buffered memory modules |
US7366931B2 (en) | 2004-12-30 | 2008-04-29 | Intel Corporation | Memory modules that receive clock information and are placed in a low power state |
US7417883B2 (en) * | 2004-12-30 | 2008-08-26 | Intel Corporation | I/O data interconnect reuse as repeater |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
US7464225B2 (en) | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
US7444479B2 (en) * | 2005-12-28 | 2008-10-28 | Alexander James W | Fully buffered DIMM read data substitution for write acknowledgement |
US7353316B2 (en) * | 2006-03-24 | 2008-04-01 | Micron Technology, Inc. | System and method for re-routing signals between memory system components |
US20070247185A1 (en) * | 2006-03-30 | 2007-10-25 | Hideo Oie | Memory system with dynamic termination |
US7345900B2 (en) * | 2006-07-26 | 2008-03-18 | International Business Machines Corporation | Daisy chained memory system |
US20080104424A1 (en) * | 2006-10-31 | 2008-05-01 | International Business Machines Corporation | Systems and Methods to Reduce Deployment Security Exposure Using WOL |
US7913128B2 (en) * | 2007-11-23 | 2011-03-22 | Mosaid Technologies Incorporated | Data channel test apparatus and method thereof |
JP5309938B2 (ja) * | 2008-12-05 | 2013-10-09 | 富士通株式会社 | 要求処理装置、要求処理システムおよびアクセス試験方法 |
EP3812913A1 (en) * | 2013-09-27 | 2021-04-28 | INTEL Corporation | Mapping memory controller connectors to memory connectors |
US10216657B2 (en) | 2016-09-30 | 2019-02-26 | Intel Corporation | Extended platform with additional memory module slots per CPU socket and configured for increased performance |
US9818457B1 (en) | 2016-09-30 | 2017-11-14 | Intel Corporation | Extended platform with additional memory module slots per CPU socket |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2643933A1 (de) | 1976-09-29 | 1978-03-30 | Siemens Ag | Verfahren zur kennzeichnung von nutzund steuerzeichen in datenuebertragungssystemen |
US6112287A (en) | 1993-03-01 | 2000-08-29 | Busless Computers Sarl | Shared memory multiprocessor system using a set of serial links as processors-memory switch |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
KR100391805B1 (ko) | 1994-03-22 | 2003-10-22 | 하퍼칩, 인코포레이티드 | 직접대체셀(cell)을갖는결함허용(faulttolerance)아키텍쳐자료처리시스템 |
US6408402B1 (en) | 1994-03-22 | 2002-06-18 | Hyperchip Inc. | Efficient direct replacement cell fault tolerant architecture |
US6154826A (en) | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
US5867422A (en) | 1995-08-08 | 1999-02-02 | University Of South Florida | Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring |
US6006318A (en) | 1995-08-16 | 1999-12-21 | Microunity Systems Engineering, Inc. | General purpose, dynamic partitioning, programmable media processor |
US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US5860080A (en) | 1996-03-19 | 1999-01-12 | Apple Computer, Inc. | Multicasting system for selecting a group of memory devices for operation |
JPH09293015A (ja) | 1996-04-24 | 1997-11-11 | Mitsubishi Electric Corp | メモリシステムおよびそれに用いられる半導体記憶装置 |
US6125419A (en) | 1996-06-13 | 2000-09-26 | Hitachi, Ltd. | Bus system, printed circuit board, signal transmission line, series circuit and memory module |
US6092229A (en) | 1996-10-09 | 2000-07-18 | Lsi Logic Corporation | Single chip systems using general purpose processors |
US5922077A (en) | 1996-11-14 | 1999-07-13 | Data General Corporation | Fail-over switching system |
JP3455040B2 (ja) | 1996-12-16 | 2003-10-06 | 株式会社日立製作所 | ソースクロック同期式メモリシステムおよびメモリユニット |
JP3127853B2 (ja) | 1997-04-30 | 2001-01-29 | 日本電気株式会社 | メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム |
US5944797A (en) * | 1997-05-28 | 1999-08-31 | International Business Machines Corporation | Data mover hardware controlled processing in a commanding system and in a commanded system for controlling frame communications on a link |
US5898863A (en) | 1997-06-03 | 1999-04-27 | Emc Corporation | Method and apparatus for determining I/O size distribution of an input/output system and its use for load simulation |
US6757798B2 (en) | 1997-06-30 | 2004-06-29 | Intel Corporation | Method and apparatus for arbitrating deferred read requests |
US6442644B1 (en) | 1997-08-11 | 2002-08-27 | Advanced Memory International, Inc. | Memory system having synchronous-link DRAM (SLDRAM) devices and controller |
EP1036362B1 (en) | 1997-12-05 | 2006-11-15 | Intel Corporation | Memory system including a memory module having a memory module controller |
US6968419B1 (en) | 1998-02-13 | 2005-11-22 | Intel Corporation | Memory module having a memory module controller controlling memory transactions for a plurality of memory devices |
US6970968B1 (en) | 1998-02-13 | 2005-11-29 | Intel Corporation | Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module |
EP1064767B8 (en) | 1998-03-16 | 2007-06-27 | Jazio Inc. | High speed signaling for interfacing vlsi cmos circuits |
US6327205B1 (en) | 1998-03-16 | 2001-12-04 | Jazio, Inc. | Signal latching of high bandwidth DRAM arrays when skew between different components is higher than signal rate |
US6160423A (en) | 1998-03-16 | 2000-12-12 | Jazio, Inc. | High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines |
US6510503B2 (en) | 1998-07-27 | 2003-01-21 | Mosaid Technologies Incorporated | High bandwidth memory interface |
US6493656B1 (en) * | 1999-02-26 | 2002-12-10 | Compaq Computer Corporation, Inc. | Drive error logging |
US6643752B1 (en) | 1999-12-09 | 2003-11-04 | Rambus Inc. | Transceiver with latency alignment circuitry |
US6502161B1 (en) | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
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 |
US6449213B1 (en) | 2000-09-18 | 2002-09-10 | Intel Corporation | Memory interface having source-synchronous command/address signaling |
US6625687B1 (en) | 2000-09-18 | 2003-09-23 | Intel Corporation | Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing |
US6369605B1 (en) | 2000-09-18 | 2002-04-09 | Intel Corporation | Self-terminated driver to prevent signal reflections of transmissions between electronic devices |
US6493250B2 (en) | 2000-12-28 | 2002-12-10 | Intel Corporation | Multi-tier point-to-point buffered memory interface |
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 |
US7127629B2 (en) * | 2003-06-03 | 2006-10-24 | Intel Corporation | Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal |
US7194581B2 (en) * | 2003-06-03 | 2007-03-20 | Intel Corporation | Memory channel with hot add/remove |
US7340537B2 (en) * | 2003-06-04 | 2008-03-04 | Intel Corporation | Memory channel with redundant presence detect |
US7165153B2 (en) * | 2003-06-04 | 2007-01-16 | Intel Corporation | Memory channel with unidirectional links |
US8171331B2 (en) * | 2003-06-04 | 2012-05-01 | Intel Corporation | Memory channel having deskew separate from redrive |
US7386768B2 (en) * | 2003-06-05 | 2008-06-10 | Intel Corporation | Memory channel with bit lane fail-over |
US7447953B2 (en) * | 2003-11-14 | 2008-11-04 | Intel Corporation | Lane testing with variable mapping |
US7219294B2 (en) * | 2003-11-14 | 2007-05-15 | Intel Corporation | Early CRC delivery for partial frame |
US7143207B2 (en) * | 2003-11-14 | 2006-11-28 | Intel Corporation | Data accumulation between data path having redrive circuit and memory device |
-
2003
- 2003-06-03 US US10/454,400 patent/US7200787B2/en not_active Expired - Fee Related
-
2004
- 2004-05-20 AT AT04752912T patent/ATE412941T1/de not_active IP Right Cessation
- 2004-05-20 CN CNB2004800149218A patent/CN100440188C/zh not_active Expired - Fee Related
- 2004-05-20 WO PCT/US2004/015984 patent/WO2004109712A2/en active Application Filing
- 2004-05-20 KR KR1020057023176A patent/KR100896982B1/ko not_active IP Right Cessation
- 2004-05-20 EP EP04752912A patent/EP1629393B1/en not_active Expired - Lifetime
- 2004-05-20 DE DE602004017454T patent/DE602004017454D1/de not_active Expired - Lifetime
- 2004-05-20 JP JP2006514913A patent/JP4210301B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-06 HK HK06102863.4A patent/HK1080190A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949850A (zh) * | 2017-12-21 | 2019-06-28 | 光宝电子(广州)有限公司 | 储存系统与储存方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2004109712A3 (en) | 2005-01-13 |
HK1080190A1 (en) | 2006-04-21 |
KR100896982B1 (ko) | 2009-05-14 |
EP1629393A2 (en) | 2006-03-01 |
JP2006526847A (ja) | 2006-11-24 |
ATE412941T1 (de) | 2008-11-15 |
DE602004017454D1 (de) | 2008-12-11 |
US20040260991A1 (en) | 2004-12-23 |
WO2004109712A2 (en) | 2004-12-16 |
CN100440188C (zh) | 2008-12-03 |
KR20060029221A (ko) | 2006-04-05 |
US7200787B2 (en) | 2007-04-03 |
JP4210301B2 (ja) | 2009-01-14 |
EP1629393B1 (en) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1799035A (zh) | 具有位通道故障在线恢复的存储信道 | |
CN1799038A (zh) | 具有单向链路的存储信道 | |
CN1799039A (zh) | 用于区分状态信息与读数据的存储接口协议 | |
CN1799040A (zh) | 检测外部存储器模块之存在并向内部模块报告的存储器模块体系结构菊花链拓扑 | |
CN1882920A (zh) | 用可变映射进行的通道测试 | |
CN1882926A (zh) | 数据通路和存储器设备之间的数据累积 | |
CN1882916A (zh) | 针对部分帧的提早crc传送 | |
US9335373B2 (en) | Memory channel having deskew separate from redrive | |
US11907140B2 (en) | Serial interface for semiconductor package | |
US8010860B2 (en) | Method and architecture to prevent corrupt data propagation from a PCI express retry buffer | |
US20130238935A1 (en) | Methods and Systems for Testing Electrical Behavior of an Interconnect Having Asymmetrical Link | |
CN100447771C (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081203 Termination date: 20180520 |
|
CF01 | Termination of patent right due to non-payment of annual fee |