專利名稱:具有單向鏈路的存儲信道的制作方法
背景
圖1說明由電氣和電子工程師學會(IEEE)作為標準提出的、非正式地稱作RamLink的先有技術存儲系統(tǒng)。此標準命名為IEEE Std1596.4-1996,并且正式地稱作基于可縮放相干接口(SCI)的高帶寬存儲接口信令技術(RamLink)的IEEE標準。圖1的系統(tǒng)包括存儲控制器10和一個或多個存儲模塊12。存儲控制器10通常內(nèi)置于處理器中或者在處理器的伴隨芯片組上制作。各存儲模塊12具有從接口14,該接口具有一個鏈路輸入端和一個鏈路輸出端。這些組件通過組件之間的單向鏈路16安排成稱作RingLink的RamLink信令拓撲。各模塊上的控制接口18使從接口14與存儲裝置20接口。在圖1所示的系統(tǒng)中,稱作SyncLink的另一種RamLink信令拓撲用于從接口與存儲裝置之間。
RamLink系統(tǒng)的目的是為處理器提供對存儲裝置的高速存取。數(shù)據(jù)在存儲控制器與模塊之間通過沿RingLink傳播的包進行傳送??刂破髫撠煯a(chǎn)生所有請求包以及調(diào)度從接口響應包的返回。
當控制器向特定模塊發(fā)送包含命令、地址、時間和數(shù)據(jù)的請求包時,發(fā)起寫事務。該包從模塊到模塊傳遞,直到它到達預期從接口,從接口則把數(shù)據(jù)傳遞給存儲裝置之一供存儲。從接口則發(fā)送響應包,該包從模塊到模塊傳遞,直到它到達控制器,確認寫事務完成。
當控制器向模塊發(fā)送包含命令、地址和時間的請求包時,發(fā)起讀事務。那個模塊上的從接口從存儲裝置之一中檢索所請求數(shù)據(jù),并在響應包中將其返回給控制器,響應包又從模塊到模塊傳遞,直到它到達控制器。
圖2說明先有技術RamLink從接口電路。在圖2的電路中,源同步選通用于對入局數(shù)據(jù)信號定時。也就是說,伴隨入局數(shù)據(jù)信號的選通信號用于對入局數(shù)據(jù)抽樣。圖2的電路采用鎖相環(huán)(PLL),從分配給其它從接口電路的參考時鐘信號中產(chǎn)生穩(wěn)定的本地時鐘信號。本地時鐘信號用于對出局數(shù)據(jù)信號重新定時,從而避免當數(shù)據(jù)沿下游傳遞時的累積抖動。
附圖簡介圖1說明先有技術的RamLink存儲系統(tǒng)。
圖2說明先有技術的RamLink從接口電路。
圖3說明根據(jù)本專利的發(fā)明原理的存儲接口系統(tǒng)的一個實施例。
圖4說明根據(jù)本專利的發(fā)明原理的存儲模塊的一個實施例。
圖5說明根據(jù)本專利的發(fā)明原理的存儲模塊的另一個實施例以及存儲緩沖器的一個實施例。
圖6說明根據(jù)本專利的發(fā)明原理的存儲系統(tǒng)、存儲模塊以及存儲緩沖器的其它示例實施例。
圖7說明根據(jù)本專利的發(fā)明原理的存儲緩沖器的另一個示例實施例。
圖8說明根據(jù)本專利的發(fā)明原理的再驅(qū)動電路的一個實施例。
圖9說明根據(jù)本專利的發(fā)明原理的I/O單元的一個實施例。
圖10說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。
圖11說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。
圖12說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。
圖13說明根據(jù)本專利的發(fā)明原理的故障在線恢復電路的一個實施例。
圖14說明根據(jù)本專利的發(fā)明原理、以正常模式工作的故障在線恢復電路的另一個實施例。
圖15說明根據(jù)本專利的發(fā)明原理、以故障在線恢復模式工作的故障在線恢復電路的另一個實施例。
圖16說明根據(jù)本專利的發(fā)明原理、具有位通道故障在線恢復功能的存儲緩沖器的一個實施例。
圖17說明根據(jù)本專利的發(fā)明原理、具有位通道故障在線恢復功能的存儲控制器的一個實施例。
圖18說明根據(jù)本專利的發(fā)明原理實現(xiàn)置換狀態(tài)模式的方法的一個實施例。
圖19說明根據(jù)本專利的發(fā)明原理的置換模式發(fā)生器的一個實施例。
圖20至圖23說明根據(jù)本專利的發(fā)明原理的狀態(tài)模式的示例實施例。
圖24說明根據(jù)本專利的發(fā)明原理的存儲代理的一個實施例。
圖25說明根據(jù)本專利的發(fā)明原理的輪詢操作的一個實施例。
詳細描述本專利包含具有獨立實用性的眾多發(fā)明。在一些情況下,當原理中的一些在各種相互組合中應用時,實現(xiàn)額外的益處,從而產(chǎn)生附加的發(fā)明。這些原理可在各種實施例中實現(xiàn)。雖然為了說明發(fā)明原理而給出一些具體細節(jié),但是,根據(jù)本專利的發(fā)明原理,也可設計其它許多方案。因此,這些發(fā)明原理不限于本文所公開的具體細節(jié)。
圖3說明根據(jù)本專利的發(fā)明原理的存儲接口系統(tǒng)的一個實施例。圖3的系統(tǒng)包括存儲控制器50以及通過由單向鏈路構(gòu)成的信道進行通信的一個或多個存儲模塊52。信道具有包括一個或多個出站鏈路54的出站通路以及包括一個或多個入站鏈路56的入站通路。各模塊可以能夠在出站通路上以及在入站通路上從鏈路到鏈路再驅(qū)動信號。例如,如果模塊檢測到它是最外面的模塊,或者響應來自存儲控制器的命令,各模塊還可以能夠有選擇地禁用任何再驅(qū)動特征。
各模塊包括設置成向和/或從通路中的一個或多個傳送數(shù)據(jù)的一個或多個存儲裝置58。例如,模塊可經(jīng)過設置,使得來自出站通路的數(shù)據(jù)被傳送到存儲裝置,而來自存儲裝置的數(shù)據(jù)則被傳送到入站通路。一個或多個緩沖器可設置在一個或多個存儲裝置與通路中的一個或多個之間。模塊和控制器不限于任何特定的機械裝置。例如,模塊可在與系統(tǒng)的其它部分分開的襯底上制作,它們可在與控制器和鏈路公共的襯底上制作,或者它們可在其它任何機械裝置中實現(xiàn)。模塊也不限于任何特定類型的存儲裝置,例如只讀存儲器(ROM)、動態(tài)隨機存取存儲器(DRAM)、閃速存儲器等。
圖4說明根據(jù)本專利的發(fā)明原理的存儲模塊的一個實施例。圖4的模塊包括兩個再驅(qū)動電路60和62,分別接收單向鏈路54A和56A上的信號以及將信號再驅(qū)動到單向鏈路54B和56B上。一個或多個存儲裝置58設置成向和/或從再驅(qū)動電路中的一個或多個傳送數(shù)據(jù)。
圖4的模塊不限于單向鏈路的任何特定布置或者向和/或從再驅(qū)動電路傳送數(shù)據(jù)的任何特定布置。如果圖4的模塊要用于例如圖3所示的存儲系統(tǒng),則再驅(qū)動電路60可被指定為出站再驅(qū)動電路,并設置成接收和再驅(qū)動包括鏈路54A和54B的出站通路上的信號,而另一個再驅(qū)動電路62則可被指定為入站再驅(qū)動電路,并設置成接收和再驅(qū)動包括鏈路56A和56B的入站通路上的信號。在這個實例中,一個或多個存儲裝置58可經(jīng)過設置,使得數(shù)據(jù)從出站再驅(qū)動電路60傳送到存儲裝置,以及從存儲裝置傳送到入站再驅(qū)動電路62。
模塊可以能夠檢測它是否為信道上最外面的模塊,并且相應地選擇性地禁用任何再驅(qū)動特征。例如,如果圖4的模塊將用于如圖3所示的存儲系統(tǒng),以及模塊檢測到它是最外面的模塊,則出站再驅(qū)動電路接收鏈路54A上的入局信號,但不對它們再驅(qū)動。同樣,入站再驅(qū)動電路僅采用對應于從存儲裝置接收的數(shù)據(jù)的信號和/或可由模塊內(nèi)部產(chǎn)生的其它信號來驅(qū)動鏈路56B。或者,即使模塊檢測到它不是最外面的模塊,它也可經(jīng)過構(gòu)建,使得它能夠好像它是最外面模塊一樣工作(例如響應來自存儲控制器的命令),在這種情況下,它可忽略在入站鏈路56A上接收的信號,并且它可能不把信號再驅(qū)動到出站鏈路54B。
圖5說明根據(jù)本專利的發(fā)明原理的存儲模塊的另一個實施例以及存儲緩沖器的一個實施例。圖5的模塊包括具有兩個再驅(qū)動電路60和62的存儲緩沖器64,分別接收單向鏈路54A、56A上的信號以及將信號再驅(qū)動到單向鏈路54B、56B上。存儲緩沖器還包括設置成向和從一個或多個存儲裝置58傳送數(shù)據(jù)的存儲接口66。緩沖器可以能夠檢測它是否為信道上的最后一個代理,并且相應地有選擇地禁用任何再驅(qū)動特征。即使緩沖器不是最后一個代理,它也可以能夠好像它是信道上的最后一個代理那樣工作,例如響應來自存儲控制器的命令。本文所使用的代理表示與信道接口的任何存儲控制器(又稱作主控制器)、模塊、緩沖器等。
圖5的模塊和緩沖器不限于單向鏈路的任何特定布置或者用于在存儲接口與再驅(qū)動電路之間傳送的任何特定布置。如果圖5的模塊要用于例如圖3所示的存儲系統(tǒng),則再驅(qū)動電路60可能被指定為出站再驅(qū)動電路,并設置成接收和再驅(qū)動包括鏈路54A和54B的出站通路上的信號,而另一個再驅(qū)動電路62則可被指定為入站再驅(qū)動電路,并設置成接收和再驅(qū)動包括鏈路56A和56B的入站通路上的信號。在這個實例中,存儲接口可配置成從出站再驅(qū)動電路60接收數(shù)據(jù)以及向入站再驅(qū)動電路62發(fā)送數(shù)據(jù)。
各種機械布置可用來實現(xiàn)圖4和圖5的存儲模塊和/或緩沖器。例如,存儲裝置58、再驅(qū)動電路60和62、以及緩沖器64均可實現(xiàn)為安裝在公共電路板或者在分開的電路板上的分開的集成電路。組件的各種組合可在公共集成電路上制作在一起,或者它們都可制作在單個集成電路上。一個或多個電路板(若有的話)可以能夠插入主板上的插槽、與主板制作在一起、或者以另外任何方式來設置。例如,如果組件作為多芯片模塊的組成部分來制作,則可能沒有電路板。根據(jù)本專利的發(fā)明原理的存儲緩沖器可用于將不同于存儲裝置的裝置與信道接口。例如,根據(jù)本專利的發(fā)明原理的存儲緩沖器可用于將I/O控制器或橋與信道接口。
參照“入站”和“出站”通路、鏈路、再驅(qū)動電路等來描述根據(jù)本專利的發(fā)明原理的設備的其它實施例,以幫助理解該設備可如何用于例如圖3所示的實施例的存儲系統(tǒng)。但是,這些設備不限于單向鏈路的任何特定布置、用于在鏈路與其它電路之間傳送數(shù)據(jù)所示的特定布置或者所示的實現(xiàn)詳細情況的任一個。
圖6說明根據(jù)本專利的發(fā)明原理的存儲系統(tǒng)、存儲模塊以及存儲緩沖器的其它示例實施例。參照圖6,一個或多個存儲模塊52基于具有沿一側(cè)面的兩邊的接觸片的印刷電路板,以便創(chuàng)建可插入固定系統(tǒng)的其它元件的另一個電路板上的連接器中的雙列直插式存儲模塊(DIMM)?,F(xiàn)有形狀因數(shù)可用于此模塊,例如用于雙數(shù)據(jù)速率II(DDR2)動態(tài)隨機存取存儲器(DRAM)模塊的DIMM形狀因數(shù)。
模塊裝載了存儲裝置58,例如商品型DRAM、如DDR2 DRAM。各模塊上的存儲緩沖器64隔離存儲裝置與將模塊和存儲控制器50接口的信道,存儲控制器50又稱作主控制器。信道以點到點布置與包括出站鏈路54的出站通路連接以及與包括入站鏈路56的入站通路連接。鏈路可采用低電壓差動信號通過并行單向位通道來實現(xiàn)。
在圖6的實施例中,沒有附加信號線用于諸如命令、重置、初始化等功能。而是,這些功能直接在通過信道發(fā)送的數(shù)據(jù)中編碼。然而,作為選擇,任何數(shù)量的附加信號線可用來實現(xiàn)這類功能。
參考時鐘信號REF CLK由時鐘合成器76來產(chǎn)生,也許通過時鐘緩沖器78分配給主控制器和模塊。這有助于準異步定時方案,其中,本地產(chǎn)生的時鐘信號用于對入局數(shù)據(jù)抽樣和再驅(qū)動。由于公共參考時鐘在各代理處可得到,因此數(shù)據(jù)信號可被定時而沒有任何頻率跟蹤?;蛘?,本地時鐘信號可與任何參考時鐘無關地產(chǎn)生。作為另一個備選方案,可采用同步定時方案、如源同步選通。
在一個可能的實施例中,主控制器通過向出站通路上最里面的模塊-也許采用包或幀(這些術語在這里可互換使用)-發(fā)送數(shù)據(jù)來發(fā)起數(shù)據(jù)傳遞。最里面的模塊接收該數(shù)據(jù)并再驅(qū)動到出站通路上的下一個模塊。各模塊接收并再驅(qū)動出站數(shù)據(jù),直到出站數(shù)據(jù)到達最外面的模塊。雖然最外面的模塊可嘗試把數(shù)據(jù)再驅(qū)動到“不存在的”出站鏈路,但各模塊可以能夠檢測(或被指示)它是最外面的模塊,并禁用任何再驅(qū)動電路以降低不必要的功耗、噪聲等。在這個實施例中,朝主控制器的方向、即入站的數(shù)據(jù)傳遞由最外面的模塊發(fā)起。各模塊接收入站數(shù)據(jù)并將它沿入站通路再驅(qū)動,直到它到達主控制器。
在物理信道上可使用任何適當?shù)耐ㄐ艆f(xié)議。例如,可指定主控制器來發(fā)起和調(diào)度所有入站及出站數(shù)據(jù)傳遞。或者,可允許任何代理來發(fā)起數(shù)據(jù)傳遞。數(shù)據(jù)幀可配置成攜帶命令、讀數(shù)據(jù)、寫數(shù)據(jù)、狀態(tài)信息、錯誤信息、初始化數(shù)據(jù)、空閑模式等或者它們的任何組合。協(xié)議可實現(xiàn)成,當主控制器沿出站通路向目標模塊發(fā)送命令幀時,目標模塊通過立即沿入站通路向主控制器發(fā)回響應幀來進行響應。在這種實施例中,目標模塊不在出站通路上再驅(qū)動命令幀。
在一個備選實施例中,目標模塊接收命令幀,然后在出站通路上再驅(qū)動命令幀。當最外面的模塊接收命令幀時,它在入站通路上發(fā)起響應幀(也許只是空閑幀)。目標模塊等待,直到響應幀到達其入站接收器。然后目標模塊例如通過用目標模塊的真實響應幀取代最外面的模塊所發(fā)送的響應幀,將其響應合并到入站數(shù)據(jù)流中。
圖7說明根據(jù)本專利的發(fā)明原理的存儲緩沖器的另一個示例實施例。圖7的存儲緩沖器包括接收和再驅(qū)動包括鏈路54A、54B的出站通路上的信號的出站再驅(qū)動電路60以及接收和再驅(qū)動包括鏈路56A、56B的入站通路上的信號的入站再驅(qū)動電路62。存儲接口66將緩沖器與一個或多個存儲裝置接口,這可通過存儲總線68進行。存儲接口可包括讀和/或?qū)懢彌_器、如FIFO緩沖器。來自出站通路的數(shù)據(jù)耦合到存儲接口,這可通過消除在出站通路具有不止一個位通道時數(shù)據(jù)位之間的偏斜的偏斜消除電路70來進行。模式發(fā)生器72可用于例如在緩沖器正好是信道上最外面的代理時產(chǎn)生要傳送到入站通路上的狀態(tài)模式,在這種情況下,在入局入站鏈路56A上可能沒有接收到信號。復用器74有選擇地把來自存儲接口或模式發(fā)生器的數(shù)據(jù)耦合到入站再驅(qū)動電路。
存儲接口不限于任何特定布置,并且它可與標準存儲裝置、尤其是商品存儲裝置、如DDR2 DRAM兼容。整個存儲緩沖器可在單個集成電路上集成,可集成到一個或多個存儲裝置中,其組成元件可集成到分開的組件中,或者可采用其它任何機械布置。圖7所示的實施例僅作為示范,根據(jù)本專利的發(fā)明原理,其它實施例是可行的。例如,圖7的實施例采用從出站再驅(qū)動電路流動到存儲接口以及從存儲接口流動到入站再驅(qū)動電路的單向數(shù)據(jù)來表示。但是,這種數(shù)據(jù)流可以是雙向的,并且考慮其它布置。即使圖7的實施例要用于其中存儲接口的數(shù)據(jù)只需要按圖7所示流動的信道系統(tǒng)中,它也仍然可采用具有全雙向數(shù)據(jù)訪問的再驅(qū)動電路來實現(xiàn),因為這可有助于例如內(nèi)置自檢(BIST)功能的實現(xiàn),在這種情況下,用于對來自入站通路的數(shù)據(jù)進行偏斜消除的第二偏斜消除電路可能會有幫助。
圖8說明根據(jù)本專利的發(fā)明原理的再驅(qū)動電路的一個實施例。圖8的電路包括一個或多個輸入/輸出(I/O)單元74,其中的每個接收可再驅(qū)動為輸出數(shù)據(jù)信號TX的輸入數(shù)據(jù)信號RX?;蛘?,I/O單元可將讀數(shù)據(jù)信號RDX替換或合并到輸出數(shù)據(jù)信號中。寫數(shù)據(jù)信號WDX可在輸入數(shù)據(jù)信號被再驅(qū)動為輸出數(shù)據(jù)信號之前或者之后從其中提取。
上述信號名稱的任一個中的“X”表明它可能是取決于再驅(qū)動電路中的I/O單元的數(shù)量的多個相似信號其中之一。例如,具有九個位通道的再驅(qū)動電路將包括具有命名為R0、R1...R8的輸入數(shù)據(jù)信號的九個I/O單元。在僅具有單個I/O單元的再驅(qū)動電路中,數(shù)據(jù)輸入信號是R0或只是R。術語RX用于一般表示輸入數(shù)據(jù)信號的任一個或全部。
為了方便起見,術語“寫數(shù)據(jù)”用來表示從通過I/O單元傳播的數(shù)據(jù)流中提取的任何數(shù)據(jù)。但是,這并不意味著寫數(shù)據(jù)必須針對存儲接口或存儲裝置。同樣,“讀數(shù)據(jù)”表示輸入到I/O單元的任何數(shù)據(jù),但讀數(shù)據(jù)可來自任何源,而不只是存儲裝置或存儲接口。
再參照圖8,時鐘發(fā)生器80響應參考時鐘信號REF CLK而產(chǎn)生多個相位時鐘信號PCX和發(fā)送時鐘信號TC。時鐘發(fā)生器包括產(chǎn)生作為參考時鐘信號REF CLK的倍數(shù)的發(fā)送時鐘TC的鎖相環(huán)(PLL)82以及相位時鐘發(fā)生器84。在一個可能的實施例中,存在間隔90度且從發(fā)送時鐘TC得到的四個相位時鐘信號PC0、PC1、PC2和PC3。I/O單元中的每個可采用TC和PCX時鐘信號中的一個或多個來對數(shù)據(jù)信號抽樣和/或再驅(qū)動,和/或產(chǎn)生附加的本地時鐘信號。在這個實施例中,相位時鐘和發(fā)送時鐘信號在它們不隨輸入數(shù)據(jù)信號RX中任一個的相位而調(diào)整的意義上是穩(wěn)定信號。
圖9說明根據(jù)本專利的發(fā)明原理的I/O單元的一個實施例。接收器86設置成接收數(shù)據(jù)信號RX,并響應抽樣時鐘信號SC而將它再驅(qū)動為數(shù)據(jù)信號TX。抽樣時鐘信號由抽樣時鐘發(fā)生器88產(chǎn)生,抽樣時鐘發(fā)生器88能夠響應數(shù)據(jù)信號RX而調(diào)整抽樣時鐘信號。寫數(shù)據(jù)信號WDX可從接收器86的輸入或輸出中提取。如果如圖9所示從接收器的輸出中提取,則抽樣時鐘信號SC可用作或者用于導出寫數(shù)據(jù)的選通信號。對抽樣時鐘發(fā)生器的輸入可從與圖9所示的接收器的輸入不同的點提取。例如,它也可從接收器的輸出中提取。
圖10說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。在圖10的實施例中,抽樣時鐘發(fā)生器88采用內(nèi)插器90和接收器跟蹤單元(RTU)92來實現(xiàn)。內(nèi)插器通過響應來自接收器跟蹤單元的跟蹤信號而在多個相位時鐘信號PCX(在本例中為90度異相的四個信號)之間內(nèi)插來產(chǎn)生抽樣時鐘信號。接收器跟蹤單元觀察數(shù)據(jù)信號RX并調(diào)整跟蹤信號,使得抽樣時鐘信號使接收器在適當時間對數(shù)據(jù)信號進行抽樣和再驅(qū)動。這樣,抽樣時鐘信號可動態(tài)跟蹤數(shù)據(jù)信號。
在一個可能的實施例中,接收器跟蹤單元通過對數(shù)據(jù)信號過抽樣并調(diào)整抽樣時鐘信號來觀察數(shù)據(jù)信號RX中的轉(zhuǎn)變,從而在數(shù)據(jù)眼圖的中心、即在數(shù)據(jù)信號中轉(zhuǎn)變之間的中間點對數(shù)據(jù)信號進行抽樣和再驅(qū)動。抽樣時鐘發(fā)生器88可包括環(huán)路濾波器,它測量若干位單元,并且可最終確定它應當調(diào)整抽樣時鐘信號的相位以捕捉更接近數(shù)據(jù)眼圖位置的中心的數(shù)據(jù)。對抽樣時鐘發(fā)生器的輸入可從與圖10所示的接收器的輸入不同的點提取。例如,它也可從接收器的輸出中提取。
根據(jù)本專利的發(fā)明原理的I/O單元的一個實施例可與訓練I/O單元以動態(tài)跟蹤數(shù)據(jù)信號的方案配合使用。例如,如果圖10的I/O單元用作圖3所示的存儲模塊之一,則主控制器可定期把訓練幀發(fā)送到出站通路上。這些訓練幀的邊沿密度足以保證接收器跟蹤單元觀察數(shù)據(jù)信號中的足夠轉(zhuǎn)變,從而能夠調(diào)整抽樣時鐘信號。同樣,圖3中最外面的模塊可定期把訓練幀發(fā)送到入站通路上。
圖11說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。圖11的實施例與圖9類似,只是在數(shù)據(jù)信號通路中增加了緩沖器94。緩沖器94可以是補償電壓和溫度引發(fā)效應的防抖動或漂移補償緩沖器。緩沖器使數(shù)據(jù)信號TX與發(fā)送時鐘信號TC再同步。發(fā)送時鐘信號在其相位不象抽樣時鐘信號SC那樣隨數(shù)據(jù)信號而調(diào)整的意義上是穩(wěn)定的。
在圖11的實施例中,緩沖器能夠響應模式信號而以通過模式或者再驅(qū)動模式工作。在通過模式中,信號沒有被抽樣和再驅(qū)動就通過。在再驅(qū)動模式中,信號響應時鐘信號而被抽樣和再驅(qū)動。這使I/O單元能夠以不同的再驅(qū)動模式工作。在一個可能的實施例中,緩沖器在模式信號被斷言時以通過模式工作。這稱作再抽樣模式,并且可產(chǎn)生更短的等待時間,因為數(shù)據(jù)信號由用于對數(shù)據(jù)抽樣的相同時鐘來再驅(qū)動。當模式信號未被斷言時,緩沖器以再驅(qū)動模式工作,因此數(shù)據(jù)與發(fā)送時鐘再同步。這稱作再同步模式,并且可產(chǎn)生更長的等待時間但可減小抖動。I/O單元可設計到具有用于接收模式信號的輸入端的存儲緩沖器或模塊中。如果存儲緩沖器或模塊要在其中到下一個代理存在較短信號通路的系統(tǒng)中使用,則輸入可被斷言(或不被斷言,取決于極性),從而使I/O單元以再抽樣模式工作,因為在短信號通路上可容許更大抖動。另一方面,如果存儲緩沖器或模塊要在其中到下一個代理存在較長信號通路的系統(tǒng)中使用,則輸入可被取消斷言,以便使I/O單元以再同步模式工作,因為這減小抖動,雖然可能的代價是較長的等待時間。或者,已登記標志可用于存儲緩沖器或模塊、或者再驅(qū)動電路或I/O單元本身中來控制模式信號。
圖12說明根據(jù)本專利的發(fā)明原理的I/O單元的另一個實施例。在圖12的實施例中,接收和發(fā)送數(shù)據(jù)信號RX及TX為差動信號,并表示為穿過在其中可制作I/O單元的集成電路管芯的一邊。接收器86包括抽樣單元96和端接單元98。抽樣單元響應由內(nèi)插器90響應來自抽樣時鐘發(fā)生器的相位時鐘信號而產(chǎn)生的抽樣時鐘信號SC而對入局數(shù)據(jù)信號抽樣。端接單元提供差動端接,并把差動數(shù)據(jù)信號轉(zhuǎn)換為單端信號。防抖動或漂移補償緩沖器94響應抽樣時鐘信號SC或穩(wěn)定的發(fā)送時鐘信號TC而對數(shù)據(jù)定時。復用器100有選擇地將來自緩沖器94或串行化器102的數(shù)據(jù)信號耦合到發(fā)送鎖存器104。讀數(shù)據(jù)信號RDX
在串行化器102上的I/O單元被接收。另一個復用器可設置在緩沖器94與發(fā)送鎖存器104之間,發(fā)送鎖存器104的一個輸入端連接到緩沖器,另一個輸入端連接到內(nèi)插器的輸出端。
當I/O單元需要將讀數(shù)據(jù)合并到數(shù)據(jù)流時,復用器選擇其耦合到串行化器的輸入端,使得發(fā)送鎖存器響應發(fā)送時鐘信號TC而對來自I/O單元的讀數(shù)據(jù)定時。否則,復用器選擇來自緩沖器的數(shù)據(jù)信號,該數(shù)據(jù)信號然后由發(fā)送鎖存器再驅(qū)動。發(fā)送數(shù)據(jù)信號在被驅(qū)動到下一個單向鏈路上之前由發(fā)送器106重新轉(zhuǎn)換為差動信號。寫信號從發(fā)送鎖存器的輸出中提取,在解串器108中被收集,然后被路由到偏斜消除電路、位通道故障在線恢復裝置或其它電路。解串器還可提供位線時鐘信號BLC,它可從抽樣時鐘信號中得到,以便表明寫數(shù)據(jù)WDX
何時是有效的。
本專利的發(fā)明原理的一部分涉及與再驅(qū)動通路分離的偏斜消除信號。再驅(qū)動通路由信號在被接收和再驅(qū)動時傳播所通過的一個或多個組件來定義。例如,在圖9和圖10的實施例中,再驅(qū)動通路包括接收器86。在圖11的實施例中,再驅(qū)動通路包括接收器86和緩沖器94。在圖12的實施例中,再驅(qū)動通路包括抽樣單元96、端接單元98、緩沖器94、復用器100、發(fā)送鎖存器104以及發(fā)送器106。
根據(jù)本專利的發(fā)明原理的一部分,偏斜消除電路可集成到再驅(qū)動電路中,使得偏斜消除電路的各個位通道包含在再驅(qū)動通路中。因此,位通道上的信號可在沿通路被再驅(qū)動時在每個再驅(qū)動電路中消除偏斜。但是,作為選擇,根據(jù)本專利的發(fā)明原理的偏斜消除電路可與再驅(qū)動通路分離。例如,在圖7的實施例中,偏斜消除電路表示為不僅與再驅(qū)動電路60中的再驅(qū)動通路分離,而且與整個再驅(qū)動電路分離?;蛘?,根據(jù)本專利的發(fā)明原理的偏斜消除電路可集成到再驅(qū)動電路中,但仍然與再驅(qū)動通路分離。例如,在圖12的實施例中,一個或多個偏斜消除鎖存器可設置在串行化器102的輸出端和/或解串器108的輸入端。
如上所述用于對與再驅(qū)動通路分離的信號進行偏斜消除的方法及設備的實施例僅作為示范,并不限于這些具體實例。此外,根據(jù)本專利、涉及對與再驅(qū)動通路分離的信號進行偏斜消除的原理與本專利的其它發(fā)明原理無關。例如,正如圖9-12所示的再驅(qū)動電路的實施例不限于用于具有分開的出站和入站通路的存儲系統(tǒng)中那樣,根據(jù)本專利、涉及用于對與再驅(qū)動通路分離的信號進行偏斜消除的原理也可與利用單向鏈路的其它類型的存儲體系結(jié)構(gòu)配合使用,例如利用鏈路的環(huán)型布置、如RamLink的體系結(jié)構(gòu)。
本專利的發(fā)明原理的一部分涉及處理故障位通道。例如,圖3、4、5、6或7的實施例中所示的任何代理之間的單向鏈路的任一個可具有一個以上位通道。根據(jù)本專利的發(fā)明原理,一個或多個信號可在位通道上重定向,以便避免不良位通道。諸如存儲控制器(主控制器)、模塊、緩沖器等任何代理可以能夠在多個位通道上重定向一個或多個信號。信號可在鏈路的任一端或兩端重定向。任何代理可以能夠自動地或者通過另一個代理的協(xié)助來檢測故障位通道,以及任何代理可以能夠響應來自另一個代理的命令而重定向信號。
圖13說明根據(jù)本專利的發(fā)明原理的故障在線恢復電路的一個實施例。僅為了說明,圖13的故障在線恢復電路110表示為與再驅(qū)動電路112的實施例一起,但發(fā)明原理不限于與任何特定再驅(qū)動電路配合使用,故障在線恢復電路也不限于圖13所示的具體細節(jié)。再驅(qū)動電路112包括設置成接收和再驅(qū)動單向鏈路上的信號的多個位通道。每個位通道被實現(xiàn)為具有接收器116和發(fā)送器118的I/O單元114。
故障在線恢復電路表示能夠重定向送往或來自多個位通道的一個或多個信號的電路。在圖13的實施例中,故障在線恢復電路實現(xiàn)為具有一個或多個復用器開關120的復用器。每個開關具有耦合到一個位通道的第一輸入端以及耦合到相鄰位通道的第二輸入端,使得它可將來自任一個位通道的信號重定向到其輸出端。圖13所示的實施例表示為具有六個開關,為六個位通道提供服務,但是可使用任何數(shù)量的開關和位通道,以及開關可設置成不同于所示的相鄰位通道配置的各種配置。
在正常操作模式中,開關的每個把來自其第一輸入端的信號送往其輸出端,如圖14所示,使得寫數(shù)據(jù)信號WD0、WD1、WD2、WD3、WD4和WD5分別送往輸出端OUT0、OUT1、OUT2、OUT3、OUT4和OUT5。在這種實施例中,位通道之一、例如與WD5對應的位通道可用于對其它位通道上的數(shù)據(jù)進行檢錯。
如果檢測到不良位通道,則復用器可按照故障在線恢復模式工作,其中操作開關中的一個或多個以標出不良位通道。例如,如果與WD3關聯(lián)的位通道沒有正確工作,則復用器開關可分別將寫數(shù)據(jù)信號WD4和WD5重定向到輸出端OUT3和OUT4,如圖15所示。在這種模式中,一個位通道的信號容量丟失。如果指定了位通道之一用于檢錯,則原本要發(fā)往不良位通道的信號可通過檢錯通道重新路由,以及檢錯功能可被禁用。
故障在線恢復電路的輸出可耦合到存儲接口、存儲裝置或者其它電路。在圖13的實施例中,故障在線恢復電路表示為與再驅(qū)動電路分離,但它也可集成到再驅(qū)動電路中。根據(jù)本專利的發(fā)明原理的故障在線恢復電路可采用如圖所示的簡單復用器來實現(xiàn),但其它布置、如全交叉開關也是可行的。
圖13所示的故障在線恢復電路的實施例設置成將來自位通道的寫數(shù)據(jù)耦合到其輸出端。或者,根據(jù)本專利的發(fā)明原理的故障在線恢復電路的一個實施例可設置成朝相反方向傳遞數(shù)據(jù),在這種情況下,輸出端OUTX將成為接收讀數(shù)據(jù)的輸入端,復用器開關可稱作分用器開關,以及I/O單元的每個可在接收器與發(fā)送器之間具有復用器,將來自故障在線恢復電路的讀數(shù)據(jù)合并到位通道中。這樣,復用器表示復用器和分用器。作為另一個備選方案,根據(jù)本專利的發(fā)明原理的故障在線恢復電路的一個實施例可設置成用于位通道與存儲裝置、存儲接口或其它電路之間的雙向數(shù)據(jù)流。
根據(jù)本專利的發(fā)明原理,存儲緩沖器、存儲模塊、存儲控制器(主控制器)或具有位通道故障在線恢復功能的其它代理也可具有用于檢測故障位通道、重定向信號、標出不良位通道等的各種功能。例如,具有圖13所示的故障在線恢復電路的實施例的代理可經(jīng)過設計,使得它可例如通過觀察另一個代理發(fā)送的測試數(shù)據(jù)模式并重定向信號以標出故障位通道,來檢測故障位通道?;蛘撸砜山?jīng)過設計,使得它可響應來自另一個代理、例如指示存儲信道上的一個或多個代理的存儲控制器的命令而標出故障位通道?;蛘?,該代理可具有兩種功能。
圖16說明根據(jù)本專利的發(fā)明原理、具有位通道故障在線恢復功能的存儲緩沖器的一個實施例。圖16的實施例與圖7相似,但還包括耦合在偏斜消除電路70與存儲接口66之間的故障在線恢復電路122。備選實施例是可行的。例如,故障在線恢復電路可設置在再驅(qū)動電路60與偏斜消除電路之間,或者它可集成到再驅(qū)動電路中。圖16的實施例還包括另一個故障在線恢復電路124,它表示為耦合在復用器74與再驅(qū)動電路62之間,但它也可集成到再驅(qū)動電路中,或者以其它方式設置。圖16的存儲緩沖器或者也可體現(xiàn)為存儲模塊,在這種情況下,存儲接口被存儲裝置取代。
圖17說明根據(jù)本專利的發(fā)明原理、具有位通道故障在線恢復功能的存儲控制器的一個實施例。圖17的控制器包括出站和入站單向鏈路接口126、128,它們具有在這個實施例中分別包括多個發(fā)送器和多個接收器的多個位通道。故障在線恢復電路130和132分別耦合到接口126、128中的位通道。在圖17的實施例中,故障在線恢復電路表示為與鏈路接口分離,但它們也可與這些接口結(jié)合??刂破骺梢阅軌驒z測故障位通道,在這種情況下,故障在線恢復電路可標出故障位通道。作為補充或替代,控制器可以能夠發(fā)送指導代理標出故障位通道的命令。
現(xiàn)在將在包括根據(jù)本專利的發(fā)明原理的存儲控制器(主控制器)、存儲模塊和存儲緩沖器的其它實施例的完整存儲信道系統(tǒng)的一個示范實施例的上下文中描述根據(jù)本專利的發(fā)明原理的另外的故障在線恢復方法及設備。但是,沒有任何組件局限于這個示范系統(tǒng)或者本文所述的任何細節(jié)。
該示范系統(tǒng)包括具有諸如參照圖17所述的那些功能的故障在線恢復功能的主控制器的一個實施例以及具有具備諸如參照圖16所述的那些功能的故障在線恢復功能的緩沖器的一個或多個存儲模塊的實施例。在這個實例中,主控制器和模塊設置在具有例如圖7所示的出站和入站通路的信道配置中,可是該系統(tǒng)可能只包括一個模塊。
在這個實例中,主控制器和模塊與作為用來管理系統(tǒng)中組件的串行總線系統(tǒng)、稱作“SMBus”的系統(tǒng)管理總線互連。但是,SMBus的使用不是本專利的發(fā)明原理所必需的,以及可采用組件之間的其它通信形式,其中包括存儲信道通路本身。
根據(jù)本專利的發(fā)明原理、用于在示范系統(tǒng)中檢測和標出故障位通道的方法的一個實施例如下所述。主控制器在出站通路的各位通道上發(fā)送測試模式。測試模式由各模塊上的緩沖器接收并沿出站通路再驅(qū)動,直到它到達最外面的模塊。最外面的模塊則在入站通路的各位通道上發(fā)送測試模式。測試模式由各模塊上的緩沖器接收并沿入站通路再驅(qū)動,直到它到達主控制器。主控制器和模塊上的緩沖器觀察入站和/或出站通路的各位通道上的測試模式,以便檢查正確的位通道操作。入站和出站通路上的位通道可同時被測試。
通過經(jīng)由SMBus向主控制器發(fā)送結(jié)果和/或通過經(jīng)由信道向主控制器傳送結(jié)果幀,來報告故障位通道。這種結(jié)果幀可由最外面的模塊在入站通路上發(fā)起,以及其它模塊(若有的話)可將它們的結(jié)果信息合并到入站通路中的數(shù)據(jù)中。如果來自各模塊的結(jié)果在一個以上位通道上以冗余方式傳送,則故障位通道不可能干擾報告結(jié)果。
一旦主控制器接收到結(jié)果,它可通過SMBus、通過信道或者通過其它任何形式的通信向模塊發(fā)出配置命令。配置命令向模塊指示哪些(若有的話)位信道是不良的且應當被標出。模塊通過操作一個或多個故障在線恢復電路以繞過不良位通道(若有的話)重定向信號,并且重新配置任何內(nèi)部功能性以適應位通道的丟失,來響應該配置命令。例如,如果一個位通道被指定用于對數(shù)據(jù)進行檢錯,則緩沖器或模塊可禁用檢錯功能。
以上所述的故障在線恢復方法及設備的實施例僅作為示范,并且本專利的發(fā)明原理不限于這些具體實例。參照具有例如圖3的實施例的分開的入站和出站通路的存儲系統(tǒng)描述了根據(jù)本專利的故障在線恢復方法及設備的原理,但這些原理還可適用于采用單向鏈路的任何存儲體系結(jié)構(gòu),例如利用鏈路的環(huán)型布置、如RamLink的體系結(jié)構(gòu)。
本專利的發(fā)明原理的一部分涉及置換狀態(tài)模式。在其中存儲器讀和寫數(shù)據(jù)在存儲代理之間傳遞的、例如以上參照圖1和圖3所述的那些存儲系統(tǒng)中,在存儲代理之間發(fā)送狀態(tài)信息、如空閑模式、告警模式及其它狀態(tài)信息可能也是有用的。這可通過在連接存儲代理的一個或多個相同鏈路上發(fā)送數(shù)據(jù)模式和狀態(tài)模式來實現(xiàn)。根據(jù)本專利的發(fā)明原理,狀態(tài)模式可隨時間而置換。
例如,參照圖3,存儲控制器50可向模塊52中的一個或多個發(fā)送具有數(shù)據(jù)模式、如讀命令的幀,模塊52中的一個或多個可通過向控制器發(fā)回具有數(shù)據(jù)模式、如讀數(shù)據(jù)的幀來響應。例如,如果模塊不能夠足夠快地從存儲裝置58中檢索讀數(shù)據(jù),則讓模塊中的一個或多個向存儲控制器發(fā)回具有空閑模式的幀可能是有用的??芍付A定數(shù)據(jù)模式為空閑模式,使得如果存儲控制器接收到空閑模式,它知道不是在接收讀數(shù)據(jù)。但是,如果實際讀數(shù)據(jù)模式正好匹配指定的空閑模式,則這可能產(chǎn)生問題。
根據(jù)本專利的發(fā)明原理,存儲控制器和一個或多個模塊均可以能夠以可預測方式置換空閑模式,使得空閑模式隨時間而改變。例如,每當空閑幀被發(fā)送和/或接收時,存儲控制器和模塊可按照預定順序來改變空閑模式。根據(jù)本專利的發(fā)明原理的這種方法的一個實施例如圖18所示。這樣,如果存儲控制器發(fā)送讀命令幀(158)并接收具有當前空閑模式(162)的響應幀(160),則它可重發(fā)相同的讀命令(164)。如果第二響應幀(166)包含與第一個相同的模式(168),則它將該模式解釋為實際讀數(shù)據(jù)(170)。但是,如果第二響應幀中的模式匹配置換空閑模式(168),則存儲控制器知道,第一響應幀為空閑幀(172)。
根據(jù)本專利的發(fā)明原理,狀態(tài)模式中發(fā)送的狀態(tài)信息可能是空閑模式、告警模式以及其它狀態(tài)信息,例如來自模塊的命令錯誤信息、來自模塊的熱過載信息以及表明模塊檢測到存儲信道的出站通路上另一個模塊的存在的信息。一些類型的狀態(tài)模式可實現(xiàn)為互補模式。例如,告警模式(可用于向代理通知錯誤狀況)可實現(xiàn)為空閑模式的邏輯互補。這可通過例如允許存儲代理對空閑和告警模式使用相同的模式發(fā)生器來簡化實現(xiàn)。即使沒有使用置換模式,互補狀態(tài)模式的使用也可能是有益的。
根據(jù)本專利的發(fā)明原理的存儲代理還可以能夠在狀態(tài)模式中故意產(chǎn)生錯誤、如循環(huán)冗余校驗(CRC)錯誤。這種技術作為區(qū)分數(shù)據(jù)模式與狀態(tài)模式的替代或補充方式可能是有用的。例如,在一些存儲系統(tǒng)中,各幀與用于檢驗幀中數(shù)據(jù)的完整性的CRC代碼一起被發(fā)送。
根據(jù)本專利的發(fā)明原理,存儲代理可故意隨包含狀態(tài)模式的幀一起發(fā)送錯誤的CRC代碼。接收代理則可把該幀解釋為狀態(tài)幀而不是數(shù)據(jù)幀。一些存儲系統(tǒng)可利用具有額外位通道的一個或多個通路來傳送CRC數(shù)據(jù)。如果這種系統(tǒng)能夠以故障在線恢復模式工作,則一個或多個代理在沒有以故障在線恢復模式工作時可以僅利用故意CRC錯誤。本文所使用的術語“CRC”不僅表示循環(huán)冗余校驗,而且還表示用于檢驗幀或模式的完整性的其它任何類型的檢錯方案。
雖然根據(jù)本專利的發(fā)明原理的狀態(tài)模式置換和處理的原理適用于任何類型的存儲代理并且與本專利的其它發(fā)明原理無關,但將針對例如圖7所示的實施例的存儲緩沖器以及在例如圖6所示的實施例的系統(tǒng)的上下文中描述一些附加方面。參照圖6,如果存儲緩沖器64是存儲信道上最外面的代理,則每當它沒有發(fā)送主控制器從接到存儲接口68的任何存儲裝置請求的數(shù)據(jù)時,它可以能夠在入站鏈路56B上不斷傳送置換空閑狀態(tài)幀。
圖19說明根據(jù)本專利的發(fā)明原理的置換模式發(fā)生器的一個實施例。圖19的實施例是具有多項式x12+x7+x4+x3+1的12位線性反饋移位寄存器(LFSR)。初始狀態(tài)可設置為000000000001,以及LFSR在模式重復之前循環(huán)通過212-1種狀態(tài)(4095幀)。LFSR的每個位可映射到數(shù)據(jù)通路上的鏈路中的位通道,以及每個位可用于在整個幀期間在相應位通道上出現(xiàn)的所有傳遞。例如,在具有在各鏈路中帶12個位通道的數(shù)據(jù)通路的系統(tǒng)中,來自LFSR的每級的輸出可映射到位通道之一。通過利用來自延遲一幀的LFSR的最低有效位的值,可容納附加通道、例如第13個位通道。
圖20說明圖19的置換模式發(fā)生器產(chǎn)生的第一狀態(tài)模式的一個實例。在這個實例中,幀為12個傳遞長。圖21-22分別說明第二、第三和第四狀態(tài)模式。通過在整個幀期間使用各位通道上的相同值,電磁干擾(EMI或噪聲)可減小。
這里所述的13位通道×12位傳遞幀是作為實例,本專利的發(fā)明原理不限于這些細節(jié),也不限于上述置換模式發(fā)生器的具體實施例。例如,根據(jù)本專利的發(fā)明原理的置換模式發(fā)生器不需要采用專用邏輯電路、如上述LFSR來實現(xiàn)。作為選擇,它可采用可編程邏輯、或作為處理器中的算法或者可用來監(jiān)視和/或?qū)崿F(xiàn)存儲接口中邏輯或利用置換狀態(tài)模式的緩沖器或其它存儲代理的其它功能性的其它可編程狀態(tài)機來實現(xiàn)。
本專利的一些附加發(fā)明原理涉及利用一個以上位通道來檢測存儲鏈路上是否存在存儲代理。例如,在圖7所示的存儲緩沖器的實施例中,緩沖器可以能夠檢測是否存在耦合到出站鏈路54B的另一個存儲代理。這可通過利用鏈路中的單個位通道測試另一個存儲代理的存在來實現(xiàn)。但是,如果鏈路中存在一個以上位通道,則根據(jù)本專利的發(fā)明原理,位通道中不止一個可用來檢測另一個存儲代理的存在。這可防止不良位通道的存在干擾存在檢測操作。
為了方便,涉及利用一個以上位通道來檢測存儲代理的存在的本專利的發(fā)明原理將單獨和統(tǒng)一地稱作冗余存在檢測。冗余存在檢測可適用于具有與多個位通道的鏈路接口的任何類型的存儲代理。例如,圖13的實施例中所示的發(fā)送器118中的任何兩個或兩個以上可看作是鏈路接口,在本例中為發(fā)送鏈路接口。同樣,圖13所示的接收器116中的任何兩個或兩個以上可看作是鏈路接口,在本例中為接收鏈路接口。冗余存在檢測可適用于這些鏈路接口中任一個以及圖17的實施例所示的鏈路接口126和128中任一個。
再回到圖7的實施例作為實例,當存在檢測事件、如重置出現(xiàn)時,存儲緩沖器可將其入站發(fā)送鏈路56B上的三個位通道驅(qū)動到預定存在檢測邏輯電平、例如一,從而向另一個緩沖器發(fā)信號通知其存在。同樣在存在檢測事件中,在信道上位于第一緩沖器的入站處的第二個這種存儲緩沖器可將其入站接收鏈路56A上相應的三個位通道配置成檢測第一緩沖器的存在。在這個實例中,第一存儲緩沖器將稱作外部代理,而第二緩沖器則稱作內(nèi)部代理。
將位通道配置成檢測另一個代理的存在的技術的一個實例將讓那個位通道的接收器嘗試把偏置電流施加到位通道上,從而迫使該位通道與存在檢測邏輯電平相反。如果另一個存儲代理在存在檢測事件期間耦合到該位通道,則它在那個位通道上的發(fā)送器將迫使位通道達到存在檢測邏輯電平。
如果內(nèi)部代理檢測到三個位通道中的兩個上的存在檢測邏輯電平,則它知道外部代理存在,并且它可讓其外部端口的全部或一部分被啟用。(在這個實例中,外部端口包括用于出站鏈路54B的鏈路接口和用于入站鏈路56A的鏈路接口。)如果內(nèi)部代理無法檢測到三個位通道中的至少兩個上的存在檢測邏輯電平,則它可判定外部代理不存在,并且它可禁用其外部端口的全部或一部分。內(nèi)部代理可以能夠響應狀態(tài)檢查命令而向另一個代理、例如向存儲控制器報告外部代理是否存在。
利用冗余存在檢測的代理還可以能夠向另一個代理發(fā)信號通知存在檢測事件。例如,如果重置事件在出站通路上通過重置命令傳遞到圖7的緩沖器,則這個命令可由再驅(qū)動電路60轉(zhuǎn)發(fā)給外部代理(若有的話)。這可將兩個代理設置為存在檢測模式。
根據(jù)本專利的發(fā)明原理的冗余存在檢測不限于上述具體實施例。例如,只有兩個位通道可用于存在檢測而不是以上實例中的三個,在這種情況下,內(nèi)部代理只需要檢測單個位通道上的存在檢測邏輯電平以推斷外部代理存在。同樣,冗余存在檢測可適用于利用其它各種類型的存儲體系結(jié)構(gòu)的系統(tǒng)和組件,例如利用鏈路的環(huán)型布置、如RamLink的體系結(jié)構(gòu)。
根據(jù)本專利的一些附加發(fā)明原理涉及組件從存儲信道中熱插和/或熱拔—即在存儲信道正工作時增加和/或移去組件。圖24說明根據(jù)本專利的發(fā)明原理的存儲代理134的一個實施例。圖24的實施例可以是存儲模塊、存儲緩沖器、存儲控制器等。代理包括第一端口136和第二端口138。只是為了說明,如果假定代理為存儲模塊、例如圖6的實施例中的模塊52之一,則第一端口可指定為內(nèi)部端口,因為它可設置成與存儲信道上更接近存儲控制器的其它代理進行通信。同樣,第二端口可指定為外部端口,因為它可設置成與存儲信道上遠離存儲控制器的代理進行通信。這些指定只是用于說明,并且這些發(fā)明原理不限于存儲代理的這些細節(jié),也不限于圖6所示的存儲信道的具體情況。這些原理還可適用于其它存儲信道體系結(jié)構(gòu),如圖1所示的RamLink體系結(jié)構(gòu)。
根據(jù)本專利的發(fā)明原理的存儲代理的每個端口具有一個或多個鏈路接口。在圖24的實施例中,每個端口具有接收鏈路接口和發(fā)送鏈路接口。內(nèi)部端口136具有可能是屬于再驅(qū)動電路60的一部分的一個或多個接收器的接收鏈路接口140以及可能是屬于另一個再驅(qū)動電路62的一部分的一個或多個發(fā)送器的發(fā)送鏈路接口142。外部端口分別具有同樣分別是再驅(qū)動電路62、60的組成部分的接收和發(fā)送鏈路接口144、146。鏈路接口140、146可分別耦合到出站鏈路54A、54B,以及鏈路接口142、144可分別耦合到入站鏈路56B、56A。鏈路接口的每個可具有一個或多個位通道,以及位通道和接口可采用這個術語的任何組件來表示。例如,接口142中的位通道可表示為入站發(fā)送或入站Tx位通道。接口144中的位通道可表示為入站接收或入站Rx位通道。
圖24的實施例僅作為示范,以及存儲代理和端口可按照不同方式來實施。例如,鏈路接口不一定是再驅(qū)動電路的組成部分。這種情況在圖17所示的存儲控制器的實施例中說明,其中,端口可包括不屬于再驅(qū)動電路的組成部分的鏈路接口126和128。鏈路接口可以僅包括一個或者任何數(shù)量的位通道,以及端口可以僅具有一個接收鏈路接口或發(fā)送接口。
根據(jù)本專利的發(fā)明原理的存儲代理可以能夠檢測其端口之一上的另一個存儲代理的存在,并且它可以能夠根據(jù)另一個存儲代理是否存在來采取各種動作。例如,圖24的存儲代理可以能夠當另一個存儲代理在其外部端口上不存在時禁用該端口的全部或一部分。它可以能夠通過其內(nèi)部端口向另一個代理、例如向存儲控制器報告外部代理是否存在。圖24的存儲代理可以能夠執(zhí)行存在檢測操作,它可包括向外部端口上潛在的外部代理發(fā)信號通知存在檢測事件。它還可以能夠執(zhí)行快速重置操作。
將在存儲系統(tǒng)的一個示例實施例的上下文中描述根據(jù)本專利申請、可幫助熱添加/移去的一些附加發(fā)明原理。將在例如圖6的實施例的存儲系統(tǒng)的上下文中,參照圖24的存儲代理來描述該示例實施例。在這個示例實施例中,假定圖24的存儲代理用來實現(xiàn)作為具有存儲裝置的模塊的一部分的圖6的緩沖器的一個或多個。但是,所有這些細節(jié)只是用于說明,以及發(fā)明原理不限于這些細節(jié)。
在示例系統(tǒng)中,存儲代理可以能夠執(zhí)行快速重置操作、完全重置操作和/或各種輪詢或存在檢測操作。在示例系統(tǒng)中,最小數(shù)量的時鐘轉(zhuǎn)變可能是使各位通道上的導出時鐘保持鎖定到數(shù)據(jù)流所必需的。因此,存儲控制器(或主控制器)可通過在預定時間周期在出站通路中的位通道中一個或多個上發(fā)送一或零的連續(xù)流來發(fā)起重置操作。由于數(shù)據(jù)由通路上的各緩沖器再驅(qū)動,因此所有緩沖器接收重置命令或事件。在示例系統(tǒng)中,三個最低有效位(LSB)通道可用來發(fā)送重置操作的信號。接收代理可通過在三個LSB中任何兩個上檢測零或一的流來檢測重置事件。這可保證一個故障位通道的存在不干擾重置操作,但甚至不要求多于一個位通道的發(fā)明原理不限于這樣一種實現(xiàn)。
在示例系統(tǒng)中,例如在主控制器通過外部條件保持為重置時,主控制器可發(fā)送零的連續(xù)流,使信道上的所有代理(在這個實例中為具有緩沖器的模塊)無限地保持第一重置狀態(tài)。主控制器則可在第一時間量、例如兩個幀周期發(fā)送一的流,然后重新發(fā)送零,以便發(fā)信號通知其它代理執(zhí)行快速重置操作?;蛘?,主控制器可在第二時間量、例如不止兩個幀周期發(fā)送一的流,以便發(fā)信號通知其它緩沖器執(zhí)行完全重置操作。完全重置可包括各種內(nèi)部校準操作,例如鏈路上的阻抗匹配、任何接收器或驅(qū)動電路中的電流源校準、接收器偏移抵消等。在執(zhí)行校準操作之后,主控制器則可發(fā)信號通知緩沖器轉(zhuǎn)變到快速重置操作。
快速重置操作可繞過完全重置過程中執(zhí)行的某些操作、如校準操作。快速重置操作可從存在檢測操作開始。在存在檢測操作過程中,信道上的各緩沖器可在三個LSB入站Rx位通道上施加電流,從而迫使這些位在沒有連接到外部代理時為零。另外在存在檢測操作過程中,各緩沖器還可把三個LSB入站Tx位通道驅(qū)動到一。每個緩沖器則可檢查其三個LSB入站Rx位通道,以及如果它檢測到三個通道其中兩個上的一,則可讓其外部端口保持啟用,并相應地更新狀態(tài)寄存器。如果緩沖器沒有檢測到兩個一,則它可假定沒有外部代理,禁用其外部端口的全部或一部分,將其本身配置成執(zhí)行信道上最外面的代理的功能,和/或相應地更新狀態(tài)寄存器。主控制器可按照類似的存在檢測操作來確定任何代理是否處于信道上。緩沖器可響應來自主控制器的狀態(tài)請求而在狀態(tài)幀中把狀態(tài)信息轉(zhuǎn)發(fā)給主控制器。
在存在檢測操作之后,示例系統(tǒng)中的緩沖器可在快速重置過程中經(jīng)過其它各種操作,例如訓練緩沖器上的本地時鐘以鎖定到數(shù)據(jù)流的時鐘訓練狀態(tài)、對準信道上發(fā)送的幀的幀訓練狀態(tài)、檢查所有位通道的操作并在緩沖器具有這種功能時將其設置到故障在線恢復模式的位通道測試等。另外,一旦主控制器知道其它代理連接到信道的方式,它可調(diào)整幀大小、定時等,以接納所有代理。
在示例系統(tǒng)中,存儲代理還可以或者備選地能夠執(zhí)行各種輪詢操作,以便檢測信道上新增代理的存在。例如,各緩沖器在作為確定是否已經(jīng)向信道添加新代理的最外面緩沖器時可以能夠?qū)ζ渫獠慷丝趫?zhí)行輪詢操作。圖25說明根據(jù)本專利的發(fā)明原理的這種輪詢操作的一個實施例。
在148,代理可禁用其外部端口的全部或一部分。如果代理是緩沖器或模塊,則可等待來自主控制器的輪詢命令以便轉(zhuǎn)變到150的熱重置操作。如果代理為主控制器,則它可禁用其外部端口的全部或一部分,并等待來自系統(tǒng)環(huán)境的喚醒命令。在接收到喚醒命令時,它可轉(zhuǎn)到啟用其外部端口的全部或一部分,并轉(zhuǎn)變到重置狀態(tài)。
在150,代理可啟用其外部端口,并把零驅(qū)動到三個LSB出站Tx位通道,以便向其外部端口上潛在的新代理發(fā)送重置。代理則可轉(zhuǎn)變到152的熱校準操作。
在152,代理可把一驅(qū)動到三個LSB出站Tx位通道,以便迫使?jié)撛诘男麓硗ㄟ^包括校準操作的完全重置,因為新檢測的代理可能需要被校準。然后,代理可轉(zhuǎn)變到154的熱檢測操作。
在154,代理可將零驅(qū)動到三個LSB出站Tx位通道,并且在三個LSB入站Rx位通道上施加偏置電流,從而迫使這些位在沒有連接到外部代理時為零。代理則可檢查三個LSB入站Rx位通道,以及如果它檢測到至少兩個一,則它可在155判定外部代理存在,并轉(zhuǎn)變到156的熱代理存在操作。否則,代理可在155判定外部代理不存在,并重新轉(zhuǎn)變到148的睡眠操作。
在156,代理可更新狀態(tài)寄存器以表明它已經(jīng)檢測到外部代理,然后例如響應狀態(tài)請求而把這個信息轉(zhuǎn)發(fā)給主控制器,或者采取一些其它動作把信息轉(zhuǎn)發(fā)給主控制器或其它代理。代理也可等待接收信道重置。
主控制器可通過定期狀態(tài)請求或其它技術變?yōu)橹佬聶z測的代理,并發(fā)起快速重置,以便用信道上的新代理對整個信道重新初始化并適應信道定時。
下面是根據(jù)本專利的發(fā)明原理的熱增加/移去程序的一些附加實施例。還參照圖6所示的存儲系統(tǒng)的實施例,在采用圖6的存儲系統(tǒng)的更大系統(tǒng)、如具有用戶界面和系統(tǒng)固件的服務器的上下文中描述這些附加實施例。但是,這些附加實施例所述的發(fā)明原理不限于本文所述的具體細節(jié)。
根據(jù)本專利的發(fā)明原理的熱增加程序可在用戶把新代理附加到存儲信道上、例如最外面代理的外部端口上時開始。用戶可通知系統(tǒng)固件已經(jīng)附加代理。固件則可使電力施加到附加代理上,并通過喚醒命令通知主控制器已經(jīng)附加代理。主控制器則可向先前的最外面代理發(fā)送輪詢命令,先前的最外面代理則可循環(huán)進行例如以上參照圖25所述的輪詢操作。在輪詢操作之后,先前的最外面代理可報告新的外部代理的存在。主控制器則可檢測新代理的存在,并發(fā)出快速重置命令以便使新代理投入運行,并對整個信道重新定時。在新代理可工作之后,主控制器可中斷系統(tǒng)固件以報告新代理是可工作的。或者,主控制器可等待系統(tǒng)固件查詢主控制器以確定新代理是否可工作。然后,系統(tǒng)固件可把主控制器配置成適應新代理提供的任何新硬件、如新的存儲裝置,它在代理為存儲模塊或緩沖器時可能存在。
根據(jù)本專利的發(fā)明原理的熱移去程序可在用戶通知系統(tǒng)要移去存儲信道上的特定代理時開始。系統(tǒng)可從系統(tǒng)圖中消除相應的主控制器地址范圍。如果系統(tǒng)使用鏡像,則系統(tǒng)可能把主控制器地址范圍重新映射到代理鏡像。然后,如果還沒有鏡像,則系統(tǒng)可從主控制器地址范圍中把數(shù)據(jù)復制或移動到其它位置。系統(tǒng)則可進行輪詢,直到完成所有未決事務。然后,系統(tǒng)可使主控制器向要移走的代理內(nèi)部的代理發(fā)送命令,使這個代理認為它是信道上最外面的代理,從而使它禁用其外部端口,并在后續(xù)快速重置過程中承擔最外面代理的功能。(完全重置將忽略這個命令。)然后,系統(tǒng)可發(fā)起快速重置以關閉所選代理以及附加到所選代理的組件的任何信道接口。然后,系統(tǒng)可斷開所選代理的電力,并通知用戶已經(jīng)移去該代理。
根據(jù)本專利的發(fā)明原理的熱替換程序可在上述熱移去程序完成時開始。用戶可添加新代理來取代移去的代理,然后通知系統(tǒng)固件已經(jīng)添加新代理。正運行的系統(tǒng)則可為新替換組件預備主控制器,并向新組件供電。然后,系統(tǒng)固件可使主控制器向先前的最外面代理發(fā)送命令,讓它知道它應當不再認為它是最外面的代理。這可使先前的最外面代理響應下一個重置而啟用其外部端口,并等待輪詢命令。固件則可指示主控制器向先前的最外面代理發(fā)送輪詢命令,先前的最外面代理則可執(zhí)行例如以上參照圖25所述的輪詢操作,從而初始化新的代理。然后,先前的最外面代理可報告新的外部代理的存在。主控制器則可檢測新代理的存在,并發(fā)出快速重置命令以使新代理投入運行,并對整個信道重新定時。在新代理可工作之后,主控制器可中斷系統(tǒng)固件以報告新代理是可工作的。或者,主控制器可等待系統(tǒng)固件查詢主控制器以確定新代理是否可工作。
可在設置和細節(jié)方面對本文所述的實施例進行修改,而沒有背離發(fā)明原理。因此,這類變更和修改被視作落入以下權利要求的范圍之內(nèi)。
權利要求
1.一種存儲緩沖器,包括第一再驅(qū)動電路,從第一單向鏈路接收第一信號并且將第一信號再驅(qū)動到第二單向鏈路;第二再驅(qū)動電路,從第三單向鏈路接收第二信號并且將第二信號再驅(qū)動到第四單向鏈路;以及存儲接口,耦合到第一再驅(qū)動電路。
2.如權利要求1所述的存儲緩沖器,其特征在于,所述存儲接口耦合到第二再驅(qū)動電路。
3.如權利要求2所述的存儲緩沖器,其特征在于,還包括耦合在第一再驅(qū)動電路與存儲接口之間的偏斜消除電路。
4.如權利要求2所述的存儲緩沖器,其特征在于,還包括耦合到第二再驅(qū)動電路的模式發(fā)生器。
5.如權利要求4所述的存儲緩沖器,其特征在于,還包括復用器,所述復用器具有耦合到存儲接口的第一輸入端,耦合到模式發(fā)生器的第二輸入端以及耦合到第二驅(qū)動電路的輸出端。
6.如權利要求2所述的存儲緩沖器,其特征在于,所述緩沖器能夠選擇性地禁用第一再驅(qū)動電路的再驅(qū)動操作。
7.一種存儲模塊,包括第一再驅(qū)動電路,從第一單向鏈路接收第一信號并且將第一信號再驅(qū)動到第二單向鏈路;第二再驅(qū)動電路,從第三單向鏈路接收第二信號并且將第二信號再驅(qū)動到第四單向鏈路;以及存儲裝置,耦合到第一再驅(qū)動電路。
8.如權利要求7所述的模塊,其特征在于,所述存儲裝置耦合到第二再驅(qū)動電路。
9.如權利要求8所述的模塊,其特征在于,所述模塊能夠選擇性地禁用第一再驅(qū)動電路的再驅(qū)動操作。
10.如權利要求8所述的模塊,其特征在于,還包括電路板,其中所述再驅(qū)動電路和存儲裝置安裝到電路板上。
11.如權利要求10所述的模塊,其特征在于,所述電路板包括連接器。
12.如權利要求8所述的模塊,其特征在于,還包括耦合在第一再驅(qū)動電路與存儲裝置之間的偏斜消除電路。
13.如權利要求8所述的模塊,其特征在于,還包括耦合到第二再驅(qū)動電路的模式生成器。
14.一種存儲系統(tǒng),包括存儲控制器;存儲模塊;用來將信號從控制器傳送到模塊的第一單向鏈路;以及用來將信號從模塊傳送到控制器的第二單向鏈路;其中所述模塊能夠?qū)⑿盘枏牡谝粏蜗蜴溌吩衮?qū)動到第三單向鏈路,以及將信號從第四單向鏈路再驅(qū)動到第二單向鏈路。
15.如權利要求14所述的系統(tǒng),其特征在于,所述模塊是第一模塊,以及還包括通過第三和第四單向鏈路耦合到第一模塊的第二模塊。
16.如權利要求15所述的系統(tǒng),其特征在于,第二模塊能夠?qū)⑿盘枏牡谌龁蜗蜴溌吩衮?qū)動到第五單向鏈路,以及將信號從第六單向鏈路再驅(qū)動到第四單向鏈路。
17.如權利要求14所述的系統(tǒng),其特征在于,所述模塊能夠選擇性地禁用從第一單向鏈路到第三單向鏈路的再驅(qū)動操作。
18.如權利要求14所述的系統(tǒng),其特征在于,所述模塊能夠產(chǎn)生數(shù)據(jù)模式以通過第二單向鏈路來傳送。
19.一種存儲系統(tǒng),包括存儲控制器;存儲緩沖器;用來將信號從控制器傳送到緩沖器的第一單向鏈路;以及用來將信號從緩沖器傳送到控制器的第二單向鏈路;其中緩沖器能夠?qū)⑿盘枏牡谝粏蜗蜴溌吩衮?qū)動到第三單向鏈路,以及將信號從第四單向鏈路再驅(qū)動到第二單向鏈路。
20.如權利要求19所述的系統(tǒng),其特征在于,所述緩沖器是第一緩沖器,以及還包括通過第三和第四單向鏈路耦合到第一緩沖器的第二緩沖器。
21.如權利要求20所述的系統(tǒng),其特征在于,第二緩沖器能夠?qū)⑿盘枏牡谌龁蜗蜴溌吩衮?qū)動到第五單向鏈路,以及將信號從第六單向鏈路再驅(qū)動到第四單向鏈路。
22.如權利要求19所述的系統(tǒng),其特征在于,所述緩沖器能夠選擇性地禁用從第一單向鏈路到第三單向鏈路的再驅(qū)動操作。
23.如權利要求19所述的系統(tǒng),其特征在于,所述緩沖器能夠產(chǎn)生數(shù)據(jù)模式以通過第二單向鏈路來傳送。
24.如權利要求19所述的系統(tǒng),其特征在于,所述緩沖器還包括存儲接口。
25.一種用于操作存儲緩沖器的方法,包括接收第一單向鏈路上的第一信號;將第一信號再驅(qū)動到第二單向鏈路上;接收第三單向鏈路上的第二信號;將第二信號再驅(qū)動到第四單向鏈路上;以及將數(shù)據(jù)從第一信號耦合到存儲接口。
26.如權利要求25所述的方法,其特征在于,還包括將數(shù)據(jù)從存儲接口耦合到第二信號。
27.如權利要求26所述的方法,其特征在于,還包括選擇性地禁止再驅(qū)動第一信號。
28.如權利要求27所述的方法,其特征在于,選擇性地禁止再驅(qū)動第一信號包括如果存儲緩沖器是信道上最外面的代理,則不再驅(qū)動第一信號。
29.如權利要求26所述的方法,其特征在于,還包括對來自第一單向鏈路的信號消除偏斜。
30.如權利要求26所述的方法,其特征在于,還包括產(chǎn)生數(shù)據(jù)模式;以及產(chǎn)生響應數(shù)據(jù)模式的第二信號。
31.如權利要求26所述的方法,其特征在于,還包括將來自存儲接口的數(shù)據(jù)與第二信號上的數(shù)據(jù)合并。
32.一種用于操作存儲模塊的方法,包括接收第一單向鏈路上的第一信號;將第一信號再驅(qū)動到第二單向鏈路上;接收第三單向鏈路上的第二信號;將第二信號再驅(qū)動到第四單向鏈路上;以及將數(shù)據(jù)從第一信號耦合到存儲裝置。
33.如權利要求32所述的方法,其特征在于,還包括將數(shù)據(jù)從存儲裝置耦合到第二信號。
34.如權利要求33所述的方法,其特征在于,還包括選擇性地禁止再驅(qū)動第一信號。
35.如權利要求34所述的方法,其特征在于,選擇性地禁止再驅(qū)動第一信號包括如果存儲模塊是信道上最外面的代理,則不再驅(qū)動第一信號。
36.如權利要求32所述的方法,其特征在于,還包括對來自第一單向鏈路的信號消除偏斜。
37.如權利要求32所述的方法,其特征在于,還包括產(chǎn)生數(shù)據(jù)模式;以及產(chǎn)生響應數(shù)據(jù)模式的第二信號。
38.如權利要求32所述的方法,其特征在于,還包括將來自存儲裝置的數(shù)據(jù)與第二信號上的數(shù)據(jù)合并。
39.一種方法,包括通過第一單向鏈路將第一信號從存儲控制器傳送到存儲模塊;選擇性地通過第二單向鏈路將第一信號從第一存儲模塊再驅(qū)動到第二存儲模塊;以及通過第三單向鏈路將第二信號從第一存儲模塊傳送到存儲控制器。
40.如權利要求39所述的方法,其特征在于,傳送第二信號包括將信號從第四單向鏈路再驅(qū)動到第三單向鏈路上。
41.如權利要求39所述的方法,其特征在于,傳送第二信號包括將來自第四單向鏈路的信號上的數(shù)據(jù)與來自存儲裝置的數(shù)據(jù)合并。
42.如權利要求39所述的方法,其特征在于,還包括產(chǎn)生數(shù)據(jù)模式。
43.如權利要求42所述的方法,其特征在于,傳送第二信號包括如果第二存儲模塊未耦合到第一存儲模塊,則產(chǎn)生響應數(shù)據(jù)模式的第二信號。
44.如權利要求39所述的方法,其特征在于,選擇性地再驅(qū)動第一信號包括如果第二存儲模塊未耦合到第一存儲模塊,則不再驅(qū)動第一信號。
全文摘要
存儲接口設備和方法利用單向鏈路。存儲設備的一個實施例可包括第一再驅(qū)動電路,從第一單向鏈路接收第一信號并且將第一信號再驅(qū)動到第二單向鏈路;第二再驅(qū)動電路,從第三單向鏈路接收第二信號并且將第二信號再驅(qū)動到第四單向鏈路;以及存儲裝置或接口,耦合到第一再驅(qū)動電路。方法的一個實施例可包括通過第一單向鏈路將第一信號從存儲控制器傳送到存儲模塊;選擇性地通過第二單向鏈路將第一信號從第一存儲模塊再驅(qū)動到第二存儲模塊;以及通過第三單向鏈路將第二信號從第一存儲模塊傳送到存儲控制器。
文檔編號G06F13/42GK1799038SQ200480014918
公開日2006年7月5日 申請日期2004年5月20日 優(yōu)先權日2003年6月4日
發(fā)明者P·福格特 申請人:英特爾公司