專利名稱:對等互連的診斷的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及回路診斷的領(lǐng)域。尤其是,本發(fā)明涉及對等的接口診斷。
背景技術(shù):
任何計算機(jī)系統(tǒng)的一個關(guān)鍵部件是存儲數(shù)據(jù)的設(shè)備。計算機(jī)系統(tǒng)具有許多可存儲數(shù)據(jù)的不同的地方。在計算機(jī)系統(tǒng)中,用于存儲大量數(shù)據(jù)的一個常見的地方是在磁盤驅(qū)動器上。磁盤驅(qū)動器的最基本的部分是一個旋轉(zhuǎn)的磁盤、將轉(zhuǎn)換器移到磁盤上的各個位置的一個致動器,以及用于讀、寫數(shù)據(jù)到磁盤和從磁盤讀、寫數(shù)據(jù)的電路。磁盤驅(qū)動器還包括電路,用于對數(shù)據(jù)進(jìn)行編碼,以便可以成功地對數(shù)據(jù)檢索和寫到磁盤表面。微處理器控制磁盤驅(qū)動器的大多數(shù)操作,并控制將數(shù)據(jù)傳送回提出請求的計算機(jī)和從提出請求的計算機(jī)取出用于存儲到磁盤的數(shù)據(jù)。
代表數(shù)據(jù)的信息存儲在存儲磁盤的表面上。磁盤驅(qū)動器系統(tǒng)讀、寫存儲在存儲磁盤上的各個磁道上的信息。
光纖通道(FC)是由ANSI標(biāo)準(zhǔn)化的一種串行數(shù)據(jù)轉(zhuǎn)移結(jié)構(gòu)。一種著名的FC標(biāo)準(zhǔn)是光纖通道調(diào)?;芈?FC-AL)。這個標(biāo)準(zhǔn)定義分布式菊花鏈回路。FC用于該回路上的對等通信。
FC-AL是為新的大容量存儲設(shè)備和需要極高帶寬的其他外圍設(shè)備而設(shè)計的。除了其他的較高層次協(xié)議外,F(xiàn)C-AL還支持“小型計算機(jī)系統(tǒng)接口”(SCSI)命令集。這些較高層次的協(xié)議對FC的映射被稱作“FC-4層”。
在FC-AL中,來自起源設(shè)備的信息在到達(dá)接收設(shè)備之前可以通過多個其他的設(shè)備,以及各個設(shè)備之間的鏈路。然而,信息在多個鏈路上的通過增加了在點(diǎn)到點(diǎn)的連通上隔離臨界的和失敗鏈路的復(fù)雜性,但存在隔離臨界鏈路的三項傳統(tǒng)的技術(shù)。隔離臨界FC鏈路的一項技術(shù)是利用鏈路狀況來隔離有問題的鏈路。第二種方法是使用FC-4映射的錯誤報告的特點(diǎn)。第三種方法是結(jié)合前兩種方法。
這三項技術(shù)的主要要求是掌握拓?fù)浣Y(jié)構(gòu)(即連通順序)的知識??梢栽趶幕芈肺恢糜成溥M(jìn)行FC-AL定義回路初始化的期間,或通過固有裝置(implicitmeans)來獲得拓?fù)浣Y(jié)構(gòu)的知識。固有裝置的一個例子是使用硬地址的磁盤驅(qū)動器外殼。
在臨界鏈路隔離中使用鏈路狀況的第一種方法要求在回路上的至少一個設(shè)備中實(shí)行管理應(yīng)用程序(MA)??梢詧?zhí)行幾項MA,以覆蓋任何一個設(shè)備的故障。MA可以在正常的回路操作期間定期調(diào)查回路,或者要求檢測鏈路錯誤的設(shè)備報告事件,在輪詢法模式中,積累在所有設(shè)備中的鏈路狀況用來定位臨界鏈路。在報告錯誤識別模式中,從報告錯誤的所有設(shè)備累積而來的狀況用來定位臨界鏈路。
利用這種方法,可以對單個錯誤的來源進(jìn)行隔離,但并不保證實(shí)行這種隔離。
使用鏈路狀況可使方法FC-4獨(dú)立化。這是多協(xié)議回路中的一個優(yōu)點(diǎn)。但是,使用鏈路狀況的缺點(diǎn)是輪詢法或報告錯誤模式的額外開銷降低了回路的效率。
第二種方法使用FC-4映射的錯誤報告的特點(diǎn)。使用FC-4報告的錯誤來隔離回路上的錯誤來源,這要求保持錯誤記錄。通過分析記錄以確定哪些設(shè)備正在報告錯誤和哪些設(shè)備不正在報告錯誤,來定位來源。
通過使用FC-4報告的錯誤來隔離回路上的錯誤來源,可以不再要求MA來保持鏈路錯誤歷史記錄和調(diào)查回路。不調(diào)查回路可減少回路上的額外開銷。此外,只有當(dāng)錯誤發(fā)生時,才對其進(jìn)行報告。
通過使用FC-4報告的錯誤來隔離回路上的錯誤來源,在用單個主設(shè)備接收所有被報告錯誤的設(shè)備中能最好地執(zhí)行。這種設(shè)備的一個例子是單啟動的SCSI存儲子系統(tǒng)。
只依靠FC-4錯誤狀況至少有三個缺點(diǎn)。發(fā)生單個錯誤不會提供充分的信息來隔離來源。此外,必須累積狀況以建立歷史記錄,以便隔離錯誤來源。最后,在支持多協(xié)議的回路或接收FC-4狀況的多個設(shè)備中,由于沒有向公共目標(biāo)設(shè)備報告錯誤,因此,實(shí)現(xiàn)會變得困難。
隔離臨界FC鏈路的第三項技術(shù)使用鏈路狀況和FC-4錯誤報告來隔離有問題的鏈路。不采用輪詢法,并且可以隔離單個錯誤的來源。
至于對鏈路狀況的任何使用,都需要MA來保持所有設(shè)備的錯誤計數(shù)。當(dāng)報告FC-4錯誤或MA檢測鏈路錯誤時,MA從所有設(shè)備中讀取累積的鏈路狀況,以確定可能的錯誤來源。
具有多個FC-4的回路上的實(shí)施有一個缺點(diǎn)MA必須支持所有的FC-4。
參考
圖1,示出回路105的圖例,它包括SCSI光纖通道協(xié)議(FCP)設(shè)備。該回路包括一個SCSI啟動程序設(shè)備110,該設(shè)備用作回路主導(dǎo)裝置并與SCSI目標(biāo)設(shè)備120、130和140進(jìn)行通信。設(shè)備120與設(shè)備130之間的鏈路或互連150是臨界的和/或失敗的。
由FC-4提供的錯誤檢測與報告可以用來隔離臨界鏈路(如果有的話)。
由于臨界鏈路150,回路主導(dǎo)裝置110將經(jīng)歷命令超時和數(shù)據(jù)錯誤。命令超時是命令、轉(zhuǎn)移就緒或響應(yīng)幀期間的錯誤的結(jié)果。當(dāng)這些幀被錯誤地接收時,就放棄它們。由于超時可由給目標(biāo)的幀丟失而產(chǎn)生、命令,或者由于目標(biāo)、轉(zhuǎn)移就緒和響應(yīng)而產(chǎn)生,因此,無法確定壞鏈路的位置。
在寫數(shù)據(jù)操作中,設(shè)備120不會經(jīng)歷來自回路主導(dǎo)裝置110的數(shù)據(jù)的錯誤。但是,設(shè)備120和設(shè)備130將檢測由臨界鏈路引入的錯誤,在FCP響應(yīng)中,報告有關(guān)寫數(shù)據(jù)的錯誤。
在讀數(shù)據(jù)操作中,回路主導(dǎo)裝置110不會檢測從設(shè)備130和設(shè)備140讀取的數(shù)據(jù)的錯誤。
人們需要的是不要求掌握回路的拓?fù)浣Y(jié)構(gòu)知識的回路錯誤診斷,這會減少回路額外開銷通信量并提高診斷的效率。
發(fā)明概要在隔離錯誤來源的對等方法中,管理應(yīng)用程序(MA)功能被分配給回路上的所有設(shè)備。鏈路狀況用于錯誤來源的隔離。尤其是,每個設(shè)備保持與其輸入連接的設(shè)備和上游設(shè)備的特性和鏈路錯誤狀況。當(dāng)設(shè)備檢測有關(guān)其輸入的鏈路錯誤時,設(shè)備請求上游設(shè)備進(jìn)行鏈路錯誤計數(shù)。
當(dāng)上游設(shè)備的鏈路狀況指出設(shè)備也檢測出鏈路錯誤時,錯誤來源是回路上的一個不同的鏈路。如果來自上游設(shè)備的鏈路狀況沒有指出它檢測出錯誤,則錯誤來源可能是上游設(shè)備與設(shè)備自身之間的互連。然后,設(shè)備可以在上游設(shè)備與其自身之間開始進(jìn)行診斷轉(zhuǎn)換,以便驗(yàn)證互連是臨界的。
有利的是,關(guān)于回路錯誤診斷的本發(fā)明不要求掌握回路的全部拓?fù)浣Y(jié)構(gòu)的知識。本發(fā)明還減少了回路額外開銷通信量,因?yàn)殄e誤隔離被分配給回路中的每個設(shè)備。此外,回路診斷的效率提高了,這是因?yàn)殡x問題來源最近的設(shè)備實(shí)行診斷。另外,本發(fā)明使回路上的每個設(shè)備的性能降低達(dá)到最小化,因?yàn)楫?dāng)每個設(shè)備空閑時,該設(shè)備中的診斷功能可加以執(zhí)行,從而避免診斷影響設(shè)備在更高優(yōu)先權(quán)任務(wù)期間的性能。
附圖簡述圖1是由SCSI FC通道協(xié)議設(shè)備組成的傳統(tǒng)回路的方框圖。
圖2是具有一個多重磁盤堆棧和用于將轉(zhuǎn)換器裝載到磁盤表面并從磁盤表面卸載轉(zhuǎn)換器的滑道(ramp)組件的磁盤驅(qū)動器分解視圖。
圖3是回路錯誤診斷方法的程序圖。
圖4是回路錯誤診斷方法的程序圖。
圖5是識別局部記錄在分布式菊花鏈對等回路上的錯誤狀態(tài)的方法的程序圖。
圖6是確定診斷和解決錯誤的方法的程序圖。
圖7是回路中確定上游設(shè)備和/或上游鏈路中的錯誤的一種同等裝置的方框圖。
圖8是同等裝置中的回路錯誤隔離管理應(yīng)用程序的方框圖。
圖9是一種計算機(jī)系統(tǒng)的示意視圖。
關(guān)于較佳實(shí)施例的描述在以下對較佳實(shí)施例的詳細(xì)描述中,參考構(gòu)成其一部分的附圖,在附圖中,通過插圖說明來示出可實(shí)踐本發(fā)明的一些特殊的實(shí)施例。不言而喻,在不脫離本發(fā)明的范圍的前提下,可以利用其他的實(shí)施例,并可以進(jìn)行結(jié)構(gòu)修改。
本申請中描述的發(fā)明對于具有旋轉(zhuǎn)或直線驅(qū)動的所有磁盤驅(qū)動器的機(jī)械配置都有用。此外,本發(fā)明也對各種磁盤驅(qū)動器有用,這些磁盤驅(qū)動器包括硬盤驅(qū)動器、zip驅(qū)動器、軟盤驅(qū)動器,并且可能需要從表面卸載轉(zhuǎn)換器并停放轉(zhuǎn)換器的任何其他類型的驅(qū)動器。圖2是一種具有旋轉(zhuǎn)的致動器類型的磁盤驅(qū)動器200的分解視圖。磁盤驅(qū)動器200包括一個外套或底部212,以及一個蓋子214。底部212和蓋子214構(gòu)成磁盤外殼。致動組件220旋轉(zhuǎn)地附著于致動軸桿218的底部212。致動組件220包括具有多個支臂223的一個梳狀結(jié)構(gòu)222。負(fù)載桿或負(fù)載彈簧224附著于梳齒222上的各個支臂223。負(fù)載桿或負(fù)載彈簧也被稱作懸掛件。承載一個磁性轉(zhuǎn)換器250的滑動器226附著于每個負(fù)載彈簧224的末端。具有轉(zhuǎn)換器250的滑動器226構(gòu)成多次提到的磁頭。應(yīng)該注意,許多滑動器有一個轉(zhuǎn)換器250,圖中示出這一點(diǎn)。還應(yīng)該注意,本發(fā)明同樣可應(yīng)用于具有不只一個轉(zhuǎn)換器的滑動器,例如被稱作MR或磁阻磁頭的部件,其中,一個轉(zhuǎn)換器250通常用于讀取,另一個轉(zhuǎn)換器通常用于寫入。音圈228位于與負(fù)載彈簧224和滑動器226相對的致動臂組件220的末端。
第一個磁體230和第二個磁體231附著于底部212的內(nèi)部。如圖2所示,第二個磁體231與蓋子214關(guān)聯(lián)。第一和第二個磁體230、231,以及音圈228是音圈電機(jī)的關(guān)鍵部件,音圈電機(jī)向致動組件220施加一個力,使其圍繞致動軸桿218旋轉(zhuǎn)。主軸電機(jī)也被安裝到底部212。主軸電機(jī)包括稱作主軸孔233的一個旋轉(zhuǎn)部分。在這種特殊的磁盤驅(qū)動器中,主軸電機(jī)位于孔內(nèi)部。在圖2中,許多磁盤234附著于主軸孔233。在其他的磁盤驅(qū)動器中,單個磁盤或許多不同的磁盤可能附著于孔。這里描述的本發(fā)明同樣可應(yīng)用于具有多個磁盤的磁盤驅(qū)動器和具有單個磁盤的磁盤驅(qū)動器。這里描述的本發(fā)明也同樣可應(yīng)用于具有在孔233內(nèi)部或在軸心下面的主軸電機(jī)的磁盤驅(qū)動器。
接下來參考圖3,示出回路錯誤診斷的方法300的程序圖。方法300包括確定回路310中的上游設(shè)備的特性。其后,方法300包括保存特性320。在一個實(shí)施例中,在設(shè)備的初始化期間執(zhí)行確定步驟310和保存步驟320。在另一個實(shí)施例中,從回路映射中檢索回路中的上游設(shè)備的特性。隨后,方法300包括請求來自回路330中的上游設(shè)備的鏈路錯誤計數(shù)。方法300還包括局部存儲鏈路錯誤計數(shù)340。隨后,方法300包括監(jiān)控回路的錯誤350。其后,方法300包括確定錯誤存在于設(shè)備360的輸入端。如果錯誤不存在,則方法繼續(xù)采取動作350。如果錯誤存在,那么,請求來自回路中的上游設(shè)備的當(dāng)前鏈路錯誤計數(shù)370。方法隨后確定回路的配置是否已經(jīng)變化。如果回路的配置已經(jīng)變化,則方法繼續(xù)采取動作310,否則,方法繼續(xù)確定當(dāng)前的鏈路錯誤計數(shù)與被保存的錯誤計數(shù)相比是否有所變化385。如果當(dāng)前的鏈路錯誤計數(shù)與被保存的錯誤計數(shù)相比有所變化(這指出回路中的其他地方有錯誤),則方法繼續(xù)采取動作,局部存儲鏈路錯誤計數(shù)340。如果當(dāng)前的鏈路錯誤計數(shù)與被保存的錯誤計數(shù)相比沒有變化,則錯誤發(fā)生在上游設(shè)備與檢測錯誤的設(shè)備之間的鏈路上,在測試鏈路處繼續(xù)執(zhí)行方法390,并報告錯誤395。
關(guān)于回路錯誤診斷的本發(fā)明不要求掌握回路的全部拓?fù)浣Y(jié)構(gòu)的知識,并且減少了回路額外開銷通信量,因?yàn)殄e誤隔離被分配給回路中的每個設(shè)備。而且,由于離問題來源最近的設(shè)備執(zhí)行診斷,因此,回路診斷的效率提高了。此外,本發(fā)明使回路上的每個設(shè)備的性能降低達(dá)到最小化,因?yàn)楫?dāng)每個設(shè)備空閑時,該設(shè)備中的診斷功能可加以執(zhí)行,從而避免診斷影響設(shè)備在更高優(yōu)先權(quán)任務(wù)期間的性能。
接下來參考圖4,示出回路錯誤診斷的方法400的程序圖。方法400包括識別局部被記錄在分布式菊花鏈對等回路中的設(shè)備上的鏈路錯誤狀態(tài)410。以下結(jié)合圖5更詳細(xì)地描述這種識別。在一個實(shí)施例中,分布式菊花鏈對等回路是光纖通道調(diào)?;芈?FC-AL)。在另一個實(shí)施例中,設(shè)備是磁盤驅(qū)動器如在圖2的磁盤驅(qū)動器220。
光纖通道(FC)設(shè)備檢測并計算設(shè)備接收的錯誤。這些計數(shù)被保存在鏈路錯誤狀況塊(LESB)中??赡茉谠O(shè)備中遇到的錯誤包括鏈路失敗(例如,字同步損失超過規(guī)定的時間)、同步的損失(例如,字同步損失少于規(guī)定的時間,無效傳輸超過規(guī)定的字?jǐn)?shù)),檢測到運(yùn)行的非奇偶錯誤或無效字符的無效傳輸字,以及/或一個無效的循環(huán)冗余檢測。
如果LESB中的任何字段增加,則設(shè)備檢測到錯誤。
精通該技術(shù)領(lǐng)域的人十分了解從回路上的設(shè)備獲得鏈路狀況的幾項技術(shù)。一項技術(shù)使用讀取鏈路狀況(RLS)擴(kuò)展鏈路服務(wù)(ELS),它返回被尋址的設(shè)備的LESB。在RLS ELS的一個實(shí)施例中,設(shè)備支持RLS的實(shí)施,RLS允許對接收RLS的設(shè)備運(yùn)用LESB。從回路上的設(shè)備獲得鏈路狀況的另一個實(shí)施例是通過使用小型計算機(jī)系統(tǒng)接口(SCSI)記錄讀出命令,其中,磁盤驅(qū)動器返回記錄頁中的LESB。這項技術(shù)適用于具有不將FC ELS信息傳送給應(yīng)用程序的磁盤驅(qū)動器的各種系統(tǒng)。而從回路上的磁盤驅(qū)動器獲得鏈路狀況的另一個實(shí)施例是通過使用外殼服務(wù)接口(ESI),其中,支持SFF委員會工業(yè)集團(tuán)說明書(SFF)8067的磁盤驅(qū)動器定義外殼啟動的ESI。一項功能為外殼處理器提供LESB、回路初始化計數(shù),以及有關(guān)兩個設(shè)備的當(dāng)前狀況。外殼處理器可以將這個信息用于回路管理或?qū)⑵涮峁┙o另一個管理實(shí)體。從回路上的設(shè)備獲得鏈路狀況的另一個實(shí)施例是通過使用報告設(shè)備狀況(RPS)ELS,其中,LESB具有RLS請求的設(shè)備、回路初始化計數(shù)和該設(shè)備的當(dāng)前狀況。
從回路上的設(shè)備獲得鏈路狀況的這些方法都具有一個共同的元件LESB。
方法400還包括診斷錯誤420。回路錯誤診斷的方法400不要求掌握回路的全部拓?fù)浣Y(jié)構(gòu)的知識,并減少了回路額外開銷通信量,這是因?yàn)殄e誤隔離分配給回路中的每個設(shè)備。此外,由于離問題來源最近的設(shè)備執(zhí)行診斷,因此,回路診斷的效率提高了。此外,方法400使回路上的每個設(shè)備的性能降低達(dá)到最小化,因?yàn)楫?dāng)每個設(shè)備空閑時,該設(shè)備中的診斷功能可加以執(zhí)行,從而避免診斷影響設(shè)備在更高優(yōu)先權(quán)任務(wù)期間的性能。
接下來參考圖5,示出識別局部記錄在設(shè)備(不是在如圖4的步驟410中的分布式菊花鏈對等回路中)上的錯誤狀態(tài)的方法500的程序圖。
方法500包括從本地來源接收分布式菊花鏈對等回路中的直接上游設(shè)備的一個當(dāng)前的錯誤狀況計數(shù)510。方法500還包括從本地來源接收分布式菊花鏈對等回路520中的直接上游設(shè)備的一個先前的錯誤狀況計數(shù)520。在一個實(shí)施例中,接收520在設(shè)備的初始化期間執(zhí)行。在不同的實(shí)施例中,接收520在接收510之前、期間和/或之后執(zhí)行。其后,方法500包括將當(dāng)前的錯誤狀況計數(shù)與先前的錯誤狀況計數(shù)進(jìn)行比較530。隨后,方法500包括確定該比較指出一個錯誤540。
接下來參考圖6,示出確定、診斷和解決錯誤的方法600的程序圖。在方法600中,圖5中的確定步驟540確定當(dāng)前的錯誤狀況計數(shù)不同于先前的錯誤狀況計數(shù)610。隨后,在方法600中,圖4中的診斷步驟410包括測試在分布式菊花鏈對等回路中該設(shè)備與直接的上游設(shè)備之間的鏈路620。在測試620的一個實(shí)施例中,測試包括通過分布式菊花鏈對等回路,從一個設(shè)備到另一個設(shè)備沿回路發(fā)送數(shù)據(jù),并確定當(dāng)傳輸數(shù)據(jù)時,數(shù)據(jù)是否由其所要發(fā)送的設(shè)備接收。
如果確定上游鏈路中有錯誤,則生成的錯誤報告指出,懷疑錯誤在分布式菊花鏈對等回路中的設(shè)備與直接的上游設(shè)備之間的鏈路中630。在不同的實(shí)施例中,在測試620之前、期間和/或之后執(zhí)行生成630。
圖7是回路中的同等裝置700的方框圖。
裝置700包括與回路720耦合的一個通信輸入/輸出部件710。裝置確定上游設(shè)備和/或上游鏈路中的錯誤。在一個實(shí)施例中,回路720是FC-AL?;芈?20的剩余部分包括至少另一個設(shè)備(未示出),該設(shè)備處于來自同等裝置700的回路720中的上游。在一個實(shí)施例中,回路中的其他設(shè)備是同等裝置700。通信設(shè)備710與回路錯誤隔離管理應(yīng)用程序730耦合。在不同的實(shí)施例中,回路錯誤隔離管理應(yīng)用程序730執(zhí)行方法300、400、500和/或600的各個步驟。
同等裝置700不要求掌握回路的全部拓?fù)浣Y(jié)構(gòu)的知識。同等裝置700減少了回路額外開銷通信量,這是因?yàn)殄e誤隔離被分配給回路中的每個設(shè)備。此外,由于離問題來源最近的同等裝置700執(zhí)行診斷,因此,回路診斷的效率提高了。此外,本發(fā)明使回路上的每個設(shè)備的性能降低達(dá)到最小化,因?yàn)楫?dāng)每個同等裝置700空閑時,該同等裝置700中的診斷功能可加以執(zhí)行,從而避免診斷影響同等裝置700在更高優(yōu)先權(quán)任務(wù)期間的性能。
在一個實(shí)施例中,同等裝置700包括一個磁盤驅(qū)動器(例如,圖2中的磁盤驅(qū)動器200)。
圖8是同等裝置(例如,同等裝置700)中的回路錯誤隔離管理應(yīng)用程序(MA)800的方框圖。MA 800包括回路中的上游設(shè)備的特性(未示出)的判定程序810。判定程序810通過圖700中的通信輸入/輸出端710來接收特性。特性由本地存儲器820局部地存儲在同等裝置700上。存儲器820與判定程序耦合。在一個實(shí)施例中,判定程序810包括來自回路映射的上游設(shè)備的特性的一個檢索程序。
MA 800還包括來自回路中的上游設(shè)備的鏈路錯誤計數(shù)的一個請求程序830。請求程序830與鏈路錯誤計數(shù)840的本地存儲器耦合。鏈路錯誤計數(shù)840的本地存儲器存儲鏈路錯誤計數(shù),用于以后與當(dāng)前的鏈路錯誤計數(shù)進(jìn)行比較。
MA 800還包括來自回路中的上游設(shè)備的當(dāng)前的鏈路錯誤計數(shù)的一個請求程序850。請求程序850與圖700中的通信輸入/輸出端710耦合。請求程序850接收鏈路錯誤的當(dāng)前的計數(shù)。
MA 800還包括配置回路變化的判定程序860。判定程序860與圖700中的通信輸入/輸出端710耦合。
比較器870比較從請求程序850接收的當(dāng)前的鏈路錯誤計數(shù)、從存儲器840接收的被保存的錯誤計數(shù)和從判定程序860接收的回路配置的變化,并且,相應(yīng)地調(diào)用鏈路錯誤的解決程序880或設(shè)備錯誤診斷請求的發(fā)生器與發(fā)送器890。在一個實(shí)施例中,請求程序880包括一個鏈路試驗(yàn)器。
在裝置800的一個實(shí)施例中,初始化程序與回路中的上游設(shè)備的特性的判定程序810耦合,與特性的本地存儲器840耦合。
在裝置800的另一個實(shí)施例中,包括與鏈路錯誤計數(shù)的本地存儲器耦合的一個回路錯誤監(jiān)控器。此外,有關(guān)同等裝置的通信輸入的錯誤的檢測器與該監(jiān)控器耦合。
系統(tǒng)700和800部件可以具體表現(xiàn)為計算機(jī)硬件電路或計算機(jī)可讀程序或兩者的組合。
尤其是,在裝置700和800的計算機(jī)可讀程序?qū)嵤├校绦蚩梢允褂妹嫦驅(qū)ο蟮恼Z言(例如,Java、Smalltalk或C++)以面向?qū)ο蟮姆绞綐?gòu)建,并且程序可以使用面向過程的程序語言(例如,COBOL或C)以面向程序的方式構(gòu)建。軟件組件利用精通該技術(shù)領(lǐng)域的人眾所周知的許多方法來進(jìn)行通信,例如,應(yīng)用程序接口(A.P.L)或工序間的通信技術(shù)(例如,遠(yuǎn)程過程調(diào)用(R.P.C)、公用對象請求代理程序體系(CORBA)、組件對象模型(COM)、分布式組件對象模型(DCOM)、分布式系統(tǒng)對象模型(DSOM)和遠(yuǎn)程方法調(diào)用(RMI))。這些組件可以在少至一臺計算機(jī)或多至與組件同樣多的計算機(jī)上運(yùn)行。
圖9是一種計算機(jī)系統(tǒng)的示意視圖。有利的是,本發(fā)明很適用于計算機(jī)系統(tǒng)2000,其中,計算機(jī)系統(tǒng)2000包括與回路中的上游設(shè)備耦合的一個通信設(shè)備,以及用于識別被局部記錄在分布式菊花鏈對等回路中的設(shè)備上的錯誤狀態(tài)的裝置。
計算機(jī)系統(tǒng)2000也可以稱作電子系統(tǒng)或信息處理系統(tǒng),它包括一個中央處理器、一個存儲器和一個系統(tǒng)總線。信息處理系統(tǒng)包括一個中央處理器2004、一個隨機(jī)存取存儲器2032,以及用于通信聯(lián)絡(luò)地將中央處理器2004和隨機(jī)存取存儲器2032耦合在一起的一個系統(tǒng)總線2030。信息處理系統(tǒng)2002包括一個磁盤驅(qū)動器設(shè)備,該設(shè)備包括上述的滑道。信息處理系統(tǒng)2002也可以包括一個輸入/輸出總線2010和幾個設(shè)備外圍設(shè)備(例如,2012、2014、2016、2018、2020和2022,它們可以附著于輸入輸出總線2010)。外圍設(shè)備可包括硬盤驅(qū)動器、磁光驅(qū)動器、軟盤驅(qū)動器、監(jiān)控器、鍵盤和其他這類的外圍設(shè)備。任何類型的磁盤驅(qū)動器都可以使用如上所述的將滑動器裝載或卸載到磁盤表面上的方法。
關(guān)于回路錯誤診斷的本發(fā)明不要求掌握回路的拓?fù)浣Y(jié)構(gòu)的知識,并減少了回路額外開銷通信量,這是因?yàn)殄e誤隔離被分配給回路中的每個設(shè)備。而且,由于離問題來源最近的設(shè)備執(zhí)行診斷,因此回路診斷的效率提高了。此外,本發(fā)明使回路上的每個設(shè)備的性能降低達(dá)到最小化,因?yàn)楫?dāng)每個設(shè)備空閑時,該設(shè)備中的診斷功能可加以執(zhí)行,從而避免診斷影響設(shè)備在更高優(yōu)先權(quán)任務(wù)期間的性能。
結(jié)論總之,用于管理互連錯誤的一種方法包括識別局部記錄在分布式菊花鏈對等回路100中的設(shè)備上的錯誤狀態(tài)的步驟410和診斷錯誤的步驟420。在一個實(shí)施例中,設(shè)備例如110、120、130和/或140執(zhí)行該方法。在另一個實(shí)施例中,分布式菊花鏈對等回路包括一個FC-AL 150。在另一個實(shí)施例中,設(shè)備是磁盤驅(qū)動器200。
在另一個實(shí)施例中,識別步驟310包括在分布式菊花鏈對等回路100中,從本地來源接收直接的上游設(shè)備120或130的一個當(dāng)前的錯誤狀況計數(shù)370;在分布式菊花鏈對等回路150中,從本地來源接收直接的上游設(shè)備120或130的一個先前的錯誤狀況計數(shù)330;如在375中,將當(dāng)前的錯誤狀況計數(shù)與先前的錯誤狀況計數(shù)進(jìn)行比較;并確定該比較指出錯誤385。在另一個實(shí)施例中,在接收步驟520之后執(zhí)行接收步驟370。
在另一個實(shí)施例中,接收步驟330在設(shè)備110、120、130和/或140的初始化期間執(zhí)行。
在另一個實(shí)施例中,確定步驟540包括確定當(dāng)前的錯誤狀況計數(shù)不同于先前的錯誤狀況計數(shù)610。當(dāng)錯誤狀況計數(shù)不同時,上游設(shè)備也已經(jīng)檢測到一個錯誤,上游設(shè)備與設(shè)備之間的鏈路不是錯誤的來源。
在一個附加實(shí)施例中,診斷步驟420包括測試630分布式菊花鏈對等回路中的設(shè)備與直接的上游設(shè)備之間的一個鏈路。測試步驟630還可包括通過分布式菊花鏈對等回路將數(shù)據(jù)從直接的上游設(shè)備傳送到該設(shè)備,并確定當(dāng)傳輸數(shù)據(jù)時,設(shè)備沒有接收到數(shù)據(jù)。
在另一個實(shí)施例中,診斷步驟420包括生成錯誤報告620,指出懷疑錯誤在分布式菊花鏈對等回路中的設(shè)備與直接的上游設(shè)備之間的一個鏈路中。
本發(fā)明包括一個信息處理系統(tǒng)900,該系統(tǒng)包括與回路720中的上游設(shè)備耦合的一個通信設(shè)備710,以及用于識別局部記錄在分布式菊花鏈對等回路730中的設(shè)備上的錯誤狀態(tài)的一個裝置。
本發(fā)明還包括回路150中的一個同等裝置700,該裝置包括一個通信輸入端710,以及與通信輸入端進(jìn)行通信的一個回路錯誤隔離管理應(yīng)用程序730。回路錯誤隔離管理應(yīng)用程序730的一個實(shí)施例包括回路中的上游設(shè)備的特性的一個判定程序810、與判定程序進(jìn)行通信的特性的本地存儲器820、與存儲器進(jìn)行通信的來自回路中的上游設(shè)備的鏈路錯誤計數(shù)的請求程序830、與請求程序830進(jìn)行通信的鏈路錯誤計數(shù)的一個本地存儲器840、來自回路中的上游設(shè)備的當(dāng)前的鏈路錯誤計數(shù)的請求程序850、配置回路變化的一個判定程序860、與判定程序860進(jìn)行通信的當(dāng)前的鏈路錯誤計數(shù)和被保存的錯誤計數(shù)的比較器870、鏈路錯誤計數(shù)的存儲器840、當(dāng)前的鏈路錯誤計數(shù)的存儲器850、與比較器進(jìn)行通信的鏈路錯誤的解決程序880、與比較器870和特性的存儲器820進(jìn)行通信的設(shè)備錯誤診斷請求的發(fā)送器890。在裝置700的一個實(shí)施例中,同等裝置700包括具有一個底部和旋轉(zhuǎn)地附著于該底部的一個磁盤驅(qū)動器200。在另一個實(shí)施例中,解決程序880包括一個鏈路試驗(yàn)器。在另一個實(shí)施例中,回路中的上游設(shè)備的特性的判定程序810包括從回路映射中檢索上游設(shè)備的特性的一個檢索器。在另一個實(shí)施例中,裝置包括與回路中的上游設(shè)備的特性的判定程序810進(jìn)行通信并與特性的本地存儲器進(jìn)行通信的一個初始化程序。
信息處理系統(tǒng)(例如,磁盤驅(qū)動器)包括與回路中的其他設(shè)備進(jìn)行通信的一個控制器,并執(zhí)行分布式或?qū)Φ然芈峰e誤診斷?;芈返囊粋€例子是光纖通道調(diào)?;芈?。通過監(jiān)控錯誤計數(shù)以確定錯誤計數(shù)是否正在增加,分布式或?qū)Φ然芈峰e誤診斷技術(shù)就能識別和診斷直接的上游設(shè)備和直接的上游鏈路中的錯誤。增加的錯誤計數(shù)或改變的回路配置指出,錯誤來源不是上游設(shè)備;而未改變的錯誤計數(shù)和未改變的回路配置則指出,錯誤來源是上游鏈路。
不言而喻,以上的描述意在進(jìn)行說明,而不是加以限制。通過閱讀以上描述,精通該技術(shù)領(lǐng)域的人將了解許多其他的實(shí)施例。所以,應(yīng)該參考所附的權(quán)利要求以及被授權(quán)這些權(quán)利要求的同等物的全部范圍,來確定本發(fā)明的范圍。
權(quán)利要求
1.分布式菊花鏈對等回路中的回路錯誤診斷的一種方法,該方法由分布式菊花鏈對等回路中的設(shè)備執(zhí)行,其特征在于,所述方法包括以下步驟(a)識別局部記錄在分布式菊花鏈對等回路中的設(shè)備上的錯誤狀態(tài);以及,(b)診斷錯誤。
2.如權(quán)利要求1所述的方法,其特征在于,所述識別步驟(a)包括(a)(1)從本地來源接收分布式菊花鏈對等回路中的上游設(shè)備的一個當(dāng)前的錯誤狀況計數(shù);(a)(2)從本地來源接收分布式菊花鏈對等回路中的上游設(shè)備的一個先前的錯誤狀況計數(shù);以及,(a)(3)將當(dāng)前的錯誤狀況計數(shù)與先前的錯誤狀況計數(shù)進(jìn)行比較。
3.如權(quán)利要求2所述的方法,其特征在于,識別步驟(a)還包括確定比較指出錯誤和從一個組中選擇當(dāng)前的錯誤狀況計數(shù)的步驟(a)(4)該組包括等同于先前的錯誤狀況計數(shù)和不等同于先前的錯誤狀況計數(shù);以及,診斷步驟(b)包括生成錯誤報告的步驟(b)(1),該錯誤報告指出,懷疑錯誤在分布式菊花鏈對等回路中的設(shè)備與上游設(shè)備之間的一個鏈路中。
4.如權(quán)利要求3所述的方法,其特征在于,所述診斷步驟(b)包括(b)(1)確定不懷疑錯誤來源在分布式菊花鏈對等回路中的設(shè)備與上游設(shè)備之間的一個鏈路中;以及,(b)(2)測試分布式菊花鏈對等回路中的設(shè)備與上游設(shè)備之間的一個鏈路。
5.如權(quán)利要求4所述的方法,其特征在于,所述測試步驟(b)(2)包括(b)(2)(i)通過分布式菊花鏈對等回路將數(shù)據(jù)從上游設(shè)備傳輸?shù)皆撛O(shè)備;以及,(b)(2)(ii)確定當(dāng)傳輸數(shù)據(jù)時,該設(shè)備沒有接收到數(shù)據(jù)。
6.回路中的一種同等裝置,其特征在于,包括一個通信輸入端;以及,與所述通信輸入端耦合的一個回路錯誤隔離管理應(yīng)用程序。
7.如權(quán)利要求6所述的同等裝置,其特征在于,所述回路錯誤隔離管理應(yīng)用程序包括回路中的上游設(shè)備的特性的一個判定程序;特性的本地存儲器,與所述判定程序耦合;來自回路中的上游設(shè)備的鏈路錯誤計數(shù)的一個請求程序,與所述存儲器耦合;鏈路錯誤計數(shù)的本地存儲器,與所述請求程序耦合;來自回路中的上游設(shè)備的當(dāng)前鏈路錯誤計數(shù)的一個請求程序;配置回路變化的一個判定程序;當(dāng)前鏈路錯誤計數(shù)與被保存的錯誤計數(shù)的比較器,與所述判定程序、鏈路錯誤計數(shù)的存儲器和當(dāng)前的鏈路錯誤計數(shù)的存儲器耦合;鏈路錯誤的一個解決程序,與所述比較器耦合;以及,與所述比較器和特性存儲器耦合的設(shè)備錯誤診斷請求發(fā)送器。
8.如權(quán)利要求6所述的同等裝置,其特征在于,所述解決程序包括一個鏈路試驗(yàn)器;回路中的上游設(shè)備的特性判定程序包括從回路映射中檢索上游設(shè)備特性的一個檢索程序;并且,所述裝置包括初始化程序,與回路中的上游設(shè)備的特性判定程序耦合,并與特性本地存儲器耦合。
9.如權(quán)利要求6所述的同等裝置,其特征在于,所述同等裝置還包括一個磁盤驅(qū)動器。
10.一種信息處理系統(tǒng),其特征在于,包括與回路中的上游設(shè)備耦合的一個通信設(shè)備;以及,用于識別局部記錄在分布式菊花鏈對等回路中的設(shè)備上的錯誤狀態(tài)的裝置。
全文摘要
一種信息處理系統(tǒng)(例如,磁盤驅(qū)動器)包括一個控制器,該控制器與回路中的其他設(shè)備進(jìn)行通信并執(zhí)行分布式或?qū)Φ然芈峰e誤診斷。回路的一個例子是光纖通道調(diào)?;芈?。通過監(jiān)控錯誤計數(shù)以確定錯誤計數(shù)是否正在增加,分布式或?qū)Φ然芈峰e誤診斷技術(shù)就能識別并診斷直接的上游設(shè)備和直接的上游鏈路中的錯誤。增加的錯誤計數(shù)或改變的回路配置指出錯誤來源不是上游設(shè)備,而未改變的錯誤計數(shù)和未改變的回路配置則指出錯誤來源是上游鏈路。
文檔編號G06F11/00GK1391673SQ00816032
公開日2003年1月15日 申請日期2000年11月22日 優(yōu)先權(quán)日1999年11月22日
發(fā)明者M·H·米勒, J·A·庫姆斯 申請人:西加特技術(shù)有限責(zé)任公司