專利名稱:用于構(gòu)成冗余磁盤存貯系統(tǒng)的適配器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將磁盤存貯裝置連接到主計(jì)算機(jī)的一種適配器,特別涉及一種構(gòu)成一冗余和備用磁盤存貯系統(tǒng)并能通過每一個(gè)都具有相同接口設(shè)計(jì)的若干接口連接到一主計(jì)算機(jī)和每一個(gè)磁盤存貯器裝置的適配器。
用于對(duì)計(jì)算機(jī)系統(tǒng)存儲(chǔ)大規(guī)模數(shù)據(jù)和程序的磁盤存儲(chǔ)裝置是一必不可少的裝置,在磁盤存儲(chǔ)裝置失效的情況下,數(shù)據(jù)式程序會(huì)被阻止讀出或存入磁盤存貯器裝置,并且使用磁盤存貯裝置的整個(gè)計(jì)算機(jī)系統(tǒng)會(huì)被中止,在計(jì)算機(jī)系統(tǒng)中,磁盤存貯裝置包括比較容易失效的可移動(dòng)機(jī)械部件,為予防失效,通常熟知的方法是冗余地構(gòu)成雙磁盤存貯裝置,即具有兩個(gè)磁盤存貯裝置,其中的每個(gè)都貯相同的數(shù)據(jù)和程序,并在一個(gè)磁盤存貯裝置失效的事故中,另一個(gè)正常的磁盤存貯裝置代替該失效裝置,這樣冗余或備用系統(tǒng)對(duì)于需要高于可靠性的操作,例如在銀行,保險(xiǎn)公司,等等的操作是必不可少的。
例如,日本公開的未審查的專利申請(qǐng)(PUPAS),申請(qǐng)?zhí)枮?1-240320,61-249132和62-139172披露了具有雙結(jié)構(gòu)的冗余或備用磁盤控制器,上述PUPAS所披露的磁盤控制器連接于一大中央處理單元和磁盤存貯裝置之間,特別設(shè)計(jì)成在兩個(gè)磁盤存貯裝置中的每一個(gè)都存貯有相同的數(shù)據(jù)以予防故障,在一大系統(tǒng)中,無論如何,該中央處理單元通過磁盤控制器連接于該磁盤存貯裝置,在這種情況中,用于連接該磁盤控制器到該中央處理單元的一主接口與用于連接該磁盤控制器到該磁盤存貯裝置的一裝置接口是不同的,那是由于稱之為通道的該主接口能在高速率下傳輸數(shù)據(jù),而并不限定在一確定的外圍單元;換言之,因?yàn)樵摯疟P控制器控制一確定的磁盤存貯裝置,對(duì)該磁盤存貯裝置,在它們之間的該裝置接口被獨(dú)特地限定,那就是這些在先技術(shù)并未提出在一主體和冗余磁盤存貯裝置之間的適配器的結(jié)構(gòu),在這種結(jié)構(gòu)中,主體和裝置接口沒有相同的接口設(shè)計(jì)。
在新信息處理設(shè)備中的降處理過程,由于它們對(duì)高可靠性應(yīng)用的需要,利用冗余結(jié)構(gòu)對(duì)用于小計(jì)算機(jī)(個(gè)人計(jì)算機(jī),工作臺(tái),等等)的磁盤存貯裝置中的故障進(jìn)行預(yù)防,在這種情況,一系統(tǒng)利用用于小計(jì)算機(jī)的標(biāo)準(zhǔn)接口而不用改變主計(jì)算機(jī)和磁盤存貯裝置這兩部分就能建立起對(duì)故障的預(yù)防,這是便利的,由于這一理由,該系統(tǒng)采用更容易購(gòu)置的標(biāo)準(zhǔn)計(jì)算機(jī)和一磁盤存貯裝置就能構(gòu)成對(duì)故障的預(yù)防,進(jìn)而,如果冗余結(jié)構(gòu)對(duì)一主計(jì)算機(jī)是透明的,那么在該主計(jì)算機(jī)上的一操作系統(tǒng)或應(yīng)用程序就能運(yùn)用該冗余或備用磁盤存貯裝置預(yù)防在一單個(gè)磁盤存貯裝置中相同的故障,就使迄今使用一操作系統(tǒng)或應(yīng)用程序能進(jìn)行高可靠的信息處理,這樣的接口是,例如SCSI(小計(jì)算機(jī)系統(tǒng)接口,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)ANSIX3.131-1986)。
連接磁盤存貯裝置到一主計(jì)算機(jī)的用于建立相應(yīng)本發(fā)明的一冗余磁盤存貯系統(tǒng)的一適配器,綜連接在該主計(jì)算機(jī)和一對(duì)利用相同接口,例如SCSI的該磁盤存貯裝置之間,該磁盤存貯裝置對(duì)中的每一個(gè)在寫操作時(shí)寫入相同數(shù)據(jù),并且,在讀操作時(shí)從該磁盤存貯裝置的一個(gè)讀出數(shù)據(jù),進(jìn)而,該適配器包括控制裝置,用于當(dāng)該磁盤存貯裝置對(duì)中的一個(gè)發(fā)生故障時(shí),從正常的一個(gè)中分離出有故障的一個(gè),并對(duì)該磁盤存貯裝置對(duì)中正常的另一個(gè)完成讀或?qū)懖僮鳌?br>
詳細(xì)說明用于連接該磁盤存貯器裝置到該主計(jì)算機(jī)的相應(yīng)于本發(fā)明的該適配器包括用于連接該主計(jì)算機(jī)的一主接口,一初級(jí)裝置接口,和次級(jí)裝置接口,每一個(gè)都具有如同該主接口的相同的接口設(shè)計(jì),分別連接到該初級(jí)和次級(jí)裝置接口是初級(jí)磁盤存貯裝置(稱有效存貯裝置)和次級(jí)磁盤存貯裝置(稱備用存貯裝置)對(duì)。
該主計(jì)算機(jī)對(duì)該磁盤存貯裝置的一寫操作期間,在該初級(jí)和次級(jí)磁盤存貯裝置這二者被存入相同數(shù)據(jù),因而,該初級(jí)和次級(jí)磁盤存貯裝置中的每一個(gè)總是保持有相同數(shù)據(jù),由該主計(jì)算機(jī)對(duì)該磁盤存貯器裝置的一讀操作期間,從該初級(jí)磁盤存貯裝置讀出的數(shù)據(jù)被傳輸?shù)皆撝饔?jì)算機(jī),如果該初級(jí)和次級(jí)磁盤存貯裝置中的任何一個(gè)發(fā)生故障,該讀寫操作由一個(gè)正常磁盤存貯裝置完成,然后,當(dāng)取代已失效磁盤存貯裝置或磁盤存貯裝置中的一個(gè)丟失了部分?jǐn)?shù)據(jù)時(shí),來自該正常磁盤存貯裝置的讀出數(shù)據(jù)被拷貝到一新磁盤存貯裝置或丟失數(shù)據(jù)的該磁盤存貯裝置。
不用該主計(jì)算機(jī)有任何介入或中斷數(shù)據(jù)傳輸就完成了以上操作,即該操作對(duì)主計(jì)算機(jī)是透明的,該主計(jì)算機(jī)完成該讀或?qū)懖僮鲀H是對(duì)一單個(gè)磁盤存貯裝置,相應(yīng)于本發(fā)明的該適配器自動(dòng)進(jìn)行冗余或轉(zhuǎn)換一失效裝置到一正常裝置的一寫操作,從而在該主計(jì)算機(jī)這一方面不需要任何軟件或硬件的改變,和在該磁盤存貯裝置方面,當(dāng)一接口被連在其中時(shí),不需要任何改變就能構(gòu)成預(yù)防故障的一冗余或備用系統(tǒng),進(jìn)而,相應(yīng)于本發(fā)明的用于冗余或備用磁盤存貯系統(tǒng)的該適配器包括獨(dú)立于該主計(jì)算機(jī)的用于檢測(cè)和指示在該磁盤存貯裝置中的故障的裝置,和用于將一個(gè)新的替換一失效的磁盤存貯裝置并利用磁盤存貯裝置對(duì)中的一正常的磁盤存貯裝置重新建立備用系統(tǒng)而又不停止主機(jī)運(yùn)行的裝置,相應(yīng)于本發(fā)明的用于冗余或備用磁盤存貯系統(tǒng)的該適配器進(jìn)一步還包括利用來自主計(jì)算機(jī)的一命令使得該主計(jì)算機(jī)具有能分別存取初級(jí)和次級(jí)磁盤存貯裝置對(duì)中的每一個(gè)的能力的裝置。
參照附圖在下面將描述本發(fā)明的一實(shí)施例。
圖1是利用相應(yīng)于本發(fā)明的一實(shí)施例的適配器所建立的具有冗余或備用磁盤存貯裝置的一整個(gè)計(jì)算機(jī)系統(tǒng)的方框圖,101表示相應(yīng)于該實(shí)施例的該適配器,它用于連接該磁盤存貯裝置到一主計(jì)算機(jī);該適配器101通過一主SCSI總線102與一主SCSI適配器103相連通,該主SCSI適配器103被連接到在主計(jì)算機(jī)104內(nèi)部的一未畫出的系統(tǒng)總線,在該主SCSI總線102上,該主SCSI適配器103和該適配器101被分別賦預(yù)一最大ID(識(shí)別碼)=7和ID=n(其中n是0至6的整數(shù)),在該SCSI總線102上,最大到6個(gè)SCSI裝置具有正是由n所能賦給的SCSI接口ID0至6。
圖2是示明該適配器101的方框圖,該適配器101具有連接到該主SCSI總線102的一主SCSI接口201,該適配器101包括一初級(jí)裝置SCSI接口202,它連接到一初級(jí)SCSI總線105和一次級(jí)裝置SCSI接口203,它聯(lián)到次級(jí)SCSI總線106,每一個(gè)都具有相同該主SCSI接口201的相同接口,該初級(jí)裝置SCSI接口202和該次級(jí)裝置SCSI接口203僅在一初使模式送出一命令時(shí)運(yùn)行,而該主SCSI接口201僅在一目標(biāo)模式中接收一個(gè)命令時(shí)運(yùn)行。
在圖1中示明的該初級(jí)和次級(jí)SCSI總線105和106能連接到直接分別具有相同的SCSI接口設(shè)計(jì)的7SCSI磁盤存貯裝置(DASDs)107和108,被稱為初級(jí)磁盤存貯裝置的該磁盤存貯裝置(DASDs)107連接到該初級(jí)SCSI總線105,而被稱為次級(jí)磁盤存貯裝置的磁盤存貯裝置(DASDs)108連接到該次級(jí)SCSI總線106。
在該SCSI接口具有從0至6的IDs的該初級(jí)和次級(jí)SCSI總線105和106及該初級(jí)和次級(jí)DASDs107和108上,該適配器101在該SCSI接口中具有最大的ID(=7),在該相同的SCSI總線,裝置不能有相同的ID,分別連接到該初級(jí)和次級(jí)SCSI總線105和106的該初級(jí)和次級(jí)DASDs107和108并具有彼此相同的ID對(duì)并總保持相同的數(shù)據(jù),以便能被此互補(bǔ),通過下述描述會(huì)更加明顯,該DASDs107和108中的任何一個(gè)可以是磁盤存貯裝置或光盤存貯裝置。
如圖2所示,連接到該主SCSI總線102的該適配器101的主SCSI接口201被連接到一初級(jí)緩沖存貯器205和一次級(jí)緩沖存貯器206,該緩沖存貯器205和206每個(gè)都具有32k存貯容量,該初級(jí)和次級(jí)緩沖存貯器205和206分別被連接到該初級(jí)和次級(jí)裝置SCSI接口202和203,在圖2中,在適配器101中的數(shù)據(jù)通道208由粗線表明,該適配器101包括用于表明操作裝置的面板109,該面板109通過一控制邏輯204,一微處理器MPU209、一只讀存貯器ROM201、一可重寫只讀存貯器EEPROM211,一易失隨機(jī)存取存貯器RAM212和一控制邏輯207連接到該MPU209,這些是通過一局部總線214相連接,存貯在該非易失ROM210和EEPROM211的是由該適配器101用于完成控制功能所需要的程序和參數(shù)。
圖3表明在該實(shí)施例中的該適配器101中的數(shù)據(jù)和控制信息流向一方框圖,310A,B…E是表示雙向門由來該控制邏輯204和該微處理器209的控制信息控制數(shù)據(jù)流向,該門301A被用于控制數(shù)據(jù)在該初級(jí)DASDs107和該次級(jí)DASDs108對(duì)之間傳輸;該門301B和C被用于分別控制數(shù)據(jù)在該主SCSI接口201和該初級(jí)緩沖存貯器205之間傳輸;該門301D和310E被用于分別控制數(shù)據(jù)在該主SCSI接口201和該次級(jí)緩沖器206之間及在該次級(jí)DASDs107和該次級(jí)緩沖存貯器206之間傳輸。
該實(shí)施例的適配器101能檢測(cè)到該初級(jí)和次級(jí)DASDs107和108對(duì)中的任何故障,故障能被檢測(cè)是基于從該初級(jí)或次級(jí)DASDs107或108給出表明異常或制度或-SCSI命令的裝置信息表示沒有準(zhǔn)備好等等的信號(hào);在該適配器101包括一比較器302,該比較器302在讀操作期間將來該初級(jí)和次級(jí)DASDs107和108的數(shù)據(jù)傳輸給該初級(jí)和次級(jí)緩沖存貯器205和206,或在響應(yīng)并傳送給該初級(jí)和次級(jí)緩沖存貯器205和206的一SCSI命令的該裝置信息期間,來自該初級(jí)和次級(jí)DASDs107和108的數(shù)據(jù)被比較,當(dāng)不一致產(chǎn)生時(shí),該比較器的誤差信息被傳輸給主計(jì)算機(jī)104或該面板109。
圖4示明了在該適配器101中,對(duì)該初級(jí)和次級(jí)DASDs017和108在一寫操作時(shí)來自主計(jì)算機(jī)104的數(shù)據(jù)流向,圖5示明了該寫操作的步,在該寫操作中,該主計(jì)算機(jī)僅送出用于寫入該DASDs中的一個(gè)的一命令。
來自該主計(jì)算機(jī)104的命令由該主SCSI接口201(步501)接收,判定被寫入的來自主機(jī)104的數(shù)據(jù)的規(guī)模是否大于32k(步502),如果這樣,該數(shù)據(jù)被分割送入32k位,然后從該主機(jī)104傳輸?shù)皆撨m配器101(步503),傳輸?shù)皆撝鱏CSI接口201的數(shù)據(jù)被暫存在該初級(jí)和次級(jí)緩沖存貯器205,和206中,然后,通過該初級(jí)和次級(jí)裝置SCSI接口202和203寫入到構(gòu)成磁盤存貯裝置的該初級(jí)和次級(jí)DASDs107和108對(duì)中的每一個(gè),即寫入命令的目標(biāo)(步504),在該DASDs對(duì)中,相同的數(shù)據(jù)總是被存在相同的地址,然后,寫入數(shù)據(jù)的總量由32k位縮短(步505)從它的初始處被啟動(dòng)以便接收來自該主機(jī)104的下一個(gè)32k位數(shù)據(jù),以形成一循環(huán)。
如果來自該主機(jī)104的被傳輸?shù)臄?shù)據(jù)量少于32k位,則來自該主機(jī)的被傳送的數(shù)據(jù)全部由該適配器接收(步506),被傳輸該主SCSI接口201的該數(shù)據(jù)被暫存在該初級(jí)和次級(jí)緩沖存貯器205和206中,然后,通過該初級(jí)和次級(jí)裝置SCSI接口202和203寫入構(gòu)成磁盤存貯裝置的該初級(jí)和次級(jí)DASDs107和108中的每一個(gè),即寫命令(步507的一目標(biāo),然后,當(dāng)數(shù)據(jù)總量寫完時(shí),該狀態(tài)信息和一通知被從該初級(jí)DASDs107送到該主機(jī)104(步508)。如果該主機(jī)104允許該適配器101與該主SCSI總線102分離,該適配器101可以分離該主SCSI總線102,和當(dāng)中必須通過數(shù)據(jù)時(shí),在該適配器101操作期間可以與該主SCSI總線102再次連接(步509和510),這些將會(huì)被鑒別。
由于上述該適配器101的操作是由該適配器101自身獨(dú)立完成的,所以對(duì)主計(jì)算機(jī)104這一方來說它們是透明的,這意味著對(duì)于該主計(jì)算機(jī)104的操作系統(tǒng)必須要一單一的寫操作并且一直用程序在該操作系統(tǒng)下運(yùn)行,即在該主計(jì)算機(jī)和該DAS-Ds方面不用改變?nèi)魏斡布蛙浖湍芙⒂糜陬A(yù)防故障的一冗余DASDs系統(tǒng)。
圖6示明在該適配器101中,當(dāng)從該級(jí)和次級(jí)DASDs107和108讀數(shù)據(jù)并傳輸給主計(jì)算機(jī)104時(shí)的數(shù)據(jù)流向,圖7示明了在該讀操作期間一讀操作的步,對(duì)于該DASDs中的一個(gè)該主計(jì)算機(jī)104僅送出一讀命令。
來自該主計(jì)算機(jī)104的該命令由該主SCSI接口201接收(步701),判斷來自DASDs的讀出數(shù)據(jù)是否大于32k位(步702),如果是這樣,該數(shù)據(jù)被分割送入每個(gè)32k位,并從該適配器101傳輸?shù)皆撝鳈C(jī)(步703),來自該初級(jí)和次級(jí)DASDs107和108的讀出數(shù)據(jù),作為該讀出命令的一目標(biāo),通過該初級(jí)和次級(jí)裝置SCSI接口202和203被暫存在該初級(jí)和次級(jí)緩沖存貯器205和206中,然后,具有來自該級(jí)DASDs107的數(shù)據(jù)通過主SCSI接口201(步704)被傳輸?shù)皆撝鳈C(jī)104。也就是,總是從該DASDs107和108對(duì)中讀出數(shù)據(jù),但只有從該初級(jí)DASDs107讀出的數(shù)據(jù)被傳輸?shù)皆撝鳈C(jī),讀出數(shù)據(jù)的總量由32k位縮短(步705)和然后一環(huán)路從它的初始處被啟動(dòng),以便從該初級(jí)和次級(jí)DASDs107和108接收下一個(gè)32k位數(shù)據(jù)。
如果讀出的數(shù)據(jù)總量總小于32k位,那么,來自該初級(jí)和次級(jí)DASDs107和108(步706)的整個(gè)數(shù)據(jù)被接收,然后接收來自該初級(jí)和次級(jí)DASDs107和108的狀態(tài)信息和一通知(步707),該數(shù)據(jù),狀態(tài)信息和通知被暫時(shí)存在該初級(jí)和次級(jí)緩沖緩沖存貯器205和206,然后具有來自該初級(jí)緩沖存貯器205的數(shù)據(jù)通過該主SCSI接口201被傳輸?shù)皆撝鳈C(jī)104(步708),來自該初級(jí)緩沖存貯器205的所有數(shù)據(jù)被傳輸之后,具有來該初級(jí)DASDs107的狀態(tài)信息和通知被傳送給該主機(jī)104(步711),如果該主機(jī)104允許該適配器101與該主SCSI總線102相分離,那么該適配器101將可以與該主SCSI總線102分離,具有如果需要通過數(shù)據(jù),在該適配器101操作期間,該適配器101可以與該主SCSI總線102再次相連接。
由于該適配器101的上述操作是由適配器101自身獨(dú)立完成的,所以對(duì)主計(jì)算機(jī)104而言是透明的,這意味著對(duì)于該主計(jì)算機(jī)104的操作系統(tǒng)只有一單一的讀操作是必須的并且一應(yīng)用程序在該操作系統(tǒng)下運(yùn)行。那就是在該主計(jì)算機(jī)和該DASDs方面,不用改變?nèi)魏斡布蛙浖湍苋菀椎亟⒂糜陬A(yù)防故障的一DASDs系統(tǒng)。來自該初級(jí)和次級(jí)DASDs107和108的數(shù)據(jù)和狀態(tài)信息可以由比較器302進(jìn)行比較進(jìn)行簽別,當(dāng)這種比較被傳送到該初級(jí)和次級(jí)緩沖存貯器205和206表明有任何不協(xié)調(diào)時(shí),傳送給該主機(jī)104或該MPU209。
參照?qǐng)D8和圖9,在下述中描述了由該主計(jì)算機(jī)104控制的一寫操作期間,當(dāng)該初級(jí)和次級(jí)DASDs107和108對(duì)中的一個(gè)發(fā)生故障時(shí),該適配器101所進(jìn)行的操作。首先,當(dāng)該初級(jí)DASDs107發(fā)生故障時(shí),它送出“檢驗(yàn)狀況”給該適配器101,該適配器101送出“請(qǐng)求讀出”給該初級(jí)DASDs107并從該初級(jí)DASDs107記錄讀出數(shù)據(jù),該適配器101記錄該初級(jí)DASDs107的一最終選取的邏輯塊地址(LAB),然后,如圖8所示,該適配器101關(guān)閉到該初級(jí)緩沖存貯器205和該初級(jí)DASDs107的一數(shù)據(jù)通道,然后進(jìn)行對(duì)該次級(jí)緩沖存貯器206和該次級(jí)DASDs108的一寫操作,在對(duì)該次級(jí)DASDs108的寫操作完成時(shí),該適配器101通知該主計(jì)算機(jī)104讀寫操作被成功地完成了,然后該適配器101試行由利用一重新指定塊命令來恢復(fù)該初級(jí)DASDs107的該錯(cuò)誤的邏輯塊地址(LBA)。上述由該適配器101進(jìn)行的操作對(duì)該主計(jì)算機(jī)104是透明的,那該主計(jì)算機(jī)104僅知道對(duì)該磁盤存貯裝置的寫操作已被正常完成了。
參照?qǐng)D9,現(xiàn)在描述的操作是該初級(jí)DASDs107功能正常和該次級(jí)DASDs108發(fā)生故障的情況,在這種情況,參照?qǐng)D8,除了通向該次級(jí)DASDs108的數(shù)據(jù)通涎被關(guān)閉以外,與初級(jí)DAS-Ds107失效時(shí)一樣具有相同的操作,并且通常的寫操作是對(duì)該初級(jí)DASDs107進(jìn)行。
如果DASDs107和108兩個(gè)都失效,該適配器101送出兩者中任何一個(gè)的較后發(fā)生故障的狀態(tài)信息給該主計(jì)算機(jī)104,那就是,該主機(jī)對(duì)故障識(shí)別是基于兩者中任何一個(gè)較后發(fā)生故障的一個(gè)的狀態(tài)。
在下述中,參照?qǐng)D10和圖11描述的是由該主計(jì)算機(jī)104控制下在一讀操作期間,當(dāng)該初級(jí)和次級(jí)DASDs107和108對(duì)中的任何一個(gè)發(fā)生故障時(shí),該適配器101完成的操作。首先,當(dāng)該初級(jí)DASD107失效時(shí),它送出一“檢驗(yàn)狀態(tài)”給該適配器101,該適配器101送出“請(qǐng)求讀出”給該初級(jí)DASDs107并記錄來自該初級(jí)DASDs107的讀出數(shù)據(jù),該適配器101記錄一最終選取的該初級(jí)DASDs107的邏輯地址(LBA),在對(duì)該次級(jí)DASDs108的一讀操作完成之后,該適配器101建立從該次級(jí)緩沖存貯器206到該主機(jī)104的一數(shù)據(jù)通道,并關(guān)閉該初級(jí)緩沖存貯器205和該初級(jí)DASDs107的一通道,如圖10所示,在對(duì)該次級(jí)DASDs108的一讀命令完成的時(shí)間,該適配器101通知該主機(jī)104讀操作順利完成了。然后,該適配器10再試行從該初級(jí)DASDs107讀數(shù)據(jù)。上述操作對(duì)該主機(jī)104是透明的,即該主機(jī)104僅知對(duì)該磁盤存貯裝置的讀操作正常完成了。
如圖11所示,是該初級(jí)DASD107功能正常和該初級(jí)DASDs108失效的情況,除了來自次級(jí)DASDs108的通道被關(guān)閉以外,與如圖10所示的操作相同,僅對(duì)該初級(jí)DASDs107進(jìn)行一讀操作。
如果DASDs107和108二者都失效,該適配器101再試行對(duì)它們中任何一個(gè)發(fā)生故障較后的一個(gè)加以恢復(fù),如果該恢復(fù)不成功,則將發(fā)生故障較后的一個(gè)DASDs的狀態(tài)和從該DASDs讀出的數(shù)據(jù)傳給該主機(jī)104,該主機(jī)對(duì)故障的識(shí)別是基于該DASDs的狀態(tài)。如果對(duì)故障的恢復(fù)在試行中,該讀操作繼續(xù)進(jìn)行并試圖恢復(fù)第一個(gè)發(fā)生故障的另一個(gè)DASDs。
該適配器101在下述條件下對(duì)該初級(jí)和次級(jí)DASDs對(duì)進(jìn)行一恢復(fù)操作,初級(jí)和次級(jí)DASDs對(duì)中的任何一個(gè)的邏輯塊地址需要恢復(fù),該初級(jí)和次級(jí)DASDs這二者是利用的并且一個(gè)DASDs包含有另一個(gè)DASDs中需要恢復(fù)的該邏輯塊地址(LBA)的有效數(shù)據(jù),由主機(jī)而不是由該適配器101執(zhí)行的請(qǐng)求命令。
如在圖12中由實(shí)線和點(diǎn)線指明的該恢復(fù)復(fù)操作期間,對(duì)應(yīng)于失效的DASDs構(gòu)成的從初級(jí)DASDs到次級(jí)DASDs或從次級(jí)DASDs到初級(jí)DASDs的一數(shù)據(jù)通道,然后,有效數(shù)據(jù)從包含有該數(shù)據(jù)的一個(gè)DASDs直接傳送給需要恢復(fù)的另一個(gè)DASDs。在該恢復(fù)操作期間,該適配器101從該主機(jī)104接收一個(gè)命令,但該命令是在該恢復(fù)操作完成之后執(zhí)行。該恢復(fù)操作由該適配器101自動(dòng)完成的并對(duì)該主機(jī)104透明。
如果恢復(fù)是不可能的,例如,該DASDs中的一個(gè)由于它功能的故障不能被恢復(fù),該適配器101由面版109指示通知操作人員必須替換該失效的DASDs,在操作人員用一新的DASDs替換該失效的DASDs之后,該適配器101自動(dòng)地重建該DASDs進(jìn)入一冗余DASDs系統(tǒng),即該適配器101自動(dòng)地格式化該新的DASDs并從DASDs對(duì)中正常的一個(gè)拷貝數(shù)據(jù)。該適配器101拷貝數(shù)據(jù)到該新的一個(gè)DASDs并不影響在主機(jī)104和該正常的DASDs之間的讀寫操作,這樣該失效DASDs的替換和新DASDs的重建并不影響該主機(jī)和該正常DASDs之間的操作。
圖13示明了用于該實(shí)施例的面板109,該面板109有14個(gè)發(fā)光三級(jí)管(LED)801,指示對(duì)應(yīng)于分別連接到該SCSI接口的該初級(jí)和次級(jí)裝置SCSI總線105和106中的每一個(gè)的IDs0至6的總共14個(gè)DASDs的每種狀態(tài)。進(jìn)而,該面板109包括一用于轉(zhuǎn)換適配器從正常操作模式到維修模式的模式選擇開關(guān)802,發(fā)光二級(jí)管803用于指示該轉(zhuǎn)換狀態(tài)。進(jìn)而該面板109還包括用于轉(zhuǎn)換該DASDs中的一個(gè)進(jìn)入可替換狀態(tài)的一個(gè)DASDs選擇開關(guān)804,發(fā)光二級(jí)管805用于指示該狀態(tài)。圖14示明了LEDs801,803和804的每一種狀態(tài)的相互關(guān)系。
當(dāng)替換該失效DASDs時(shí),操作人員在該面板109上將DASDs選擇開關(guān)804置位并等待直到該LED805指示,在該LED805指示之后,該失效的DASDs被卸下,用一個(gè)新的DASDs替換該DASDs,然后新的DASDs被按裝上,最后,當(dāng)該DASDs選擇開關(guān)804被關(guān)掉時(shí),該適配器101重建該DASDs進(jìn)入一冗余DASDs系統(tǒng),即,該適配器101比較被存貯在EEPROM211中的該DASDs107和108的系列數(shù)從明確哪一個(gè)DASDs被替換,并由送出的一磁盤的格多化命令格式化該新的DASDs,從與該替換的DASDs配對(duì)的該正常的DASDs中取數(shù)據(jù)并拷貝該數(shù)據(jù)到該新的DASDs。如上所述,獨(dú)立于主計(jì)算機(jī)104,能移檢測(cè)該DASDs其中一個(gè)的故障,能移替換一失效DASDs和能夠重建一冗余DASDs系統(tǒng),也就是不用中止該主機(jī)104的運(yùn)行。
圖15示明了用于該實(shí)施例,該主機(jī)104和該DASDs107和108的該適配器101的SCSI命令,該主機(jī)104把由該適配器101控制的該DASDs107和108作為邏輯單元處理,為使該DASDs107和108對(duì)中的每一個(gè)都持有相同內(nèi)容,從該主機(jī)104送出的所有命令首先由該適配器101鑒別,對(duì)應(yīng)于一種命令類型,該適配器101處理這些命令彼此是不同的,這些命令通常的處理如下述首先,該適配器101送出一命令給DASDs107、108時(shí),如果一有效的DASDs(該初級(jí)DASDs或一正常DASDs,如果該DASDs對(duì)中只有一個(gè)正常的DASDs的話)回答“好”或“較好”的話,該適配器101對(duì)該主機(jī)104回答一個(gè)來自該DAS-Ds107、108的回答。
如果該有效的DASDs用“忙”回答,該適配器101在一確定的時(shí)間間隔之后再次送出同樣的命令給該有效的DASDs,如果該有效DASDs用“檢驗(yàn)狀態(tài)”或某些其它未期望狀態(tài)回答,該適配器101假設(shè)該回答是一錯(cuò)誤,那么就轉(zhuǎn)換備用DASDs為有效(通常是與該初級(jí)DASDs107能對(duì)的該次級(jí)DASD108),并送出相同命令給DASDs,如果是這樣,那么來自該DASDs的表明它已成為有效的回答送給主機(jī)104;假如該備用DASDs不存在,如果這樣,來自該第1有效DASDs的回答送給該主機(jī)104。
圖15中在右側(cè)由A表明了有關(guān)命令,即讀出命令,該適配器101送該命令給DASDs107和108對(duì)中的兩個(gè)。A數(shù)據(jù)通道通常被轉(zhuǎn)換,以便數(shù)據(jù)能夠從該初級(jí)107傳輸給該主機(jī)104,如果在一讀操作期間在該初級(jí)DASDs107中發(fā)生一錯(cuò)誤,那么數(shù)據(jù)通道被轉(zhuǎn)換到該次級(jí)DASDs108一側(cè),在這里一錯(cuò)誤無須通知該主機(jī)104。在讀操作完成之后進(jìn)行恢復(fù)該初級(jí)DASDs107。如果在該次級(jí)DASDs108中也產(chǎn)生一錯(cuò)誤,該命令被再試行給該次級(jí)DASDs108,如果該錯(cuò)誤持續(xù)下去,則停止執(zhí)行該命令,并把該次級(jí)DASDs108的錯(cuò)誤狀態(tài)通知該主機(jī)104,如果只有一個(gè)DASDs是適用的情況下,在讀命令執(zhí)行期間產(chǎn)生一錯(cuò)誤,則該適配器101再試行該命令,如果該錯(cuò)誤持續(xù)下去,停止命令的并將僅僅一個(gè)的DASDs的狀態(tài)通知該主機(jī)。
圖15中右側(cè)由B指明了有關(guān)命令,讀出命令,該適配器101進(jìn)行如在由A表明的讀命令中那樣多的相同操作,但并不再試行它們,那該適配器101對(duì)DASDs107和108對(duì)中的兩個(gè)試行一寫命令,如果在一個(gè)DASDs中產(chǎn)生一錯(cuò)誤,不用通知該主機(jī)而對(duì)另一個(gè)DASDs執(zhí)行該命令,在執(zhí)行完成之后,該適配器101進(jìn)行錯(cuò)誤恢復(fù),如果在該另一個(gè)DASDs中也產(chǎn)生一錯(cuò)誤,停止寫命令并將該另一個(gè)DASDs狀態(tài)通知該主機(jī)104;如果在只有一個(gè)DASDs是適用的情況下,在執(zhí)行一等命令期間產(chǎn)生一錯(cuò)誤,則停止執(zhí)行該命令并只將僅一個(gè)的DASDs狀態(tài)通知該主機(jī)104。
在圖15,在右側(cè)由B指明一個(gè)命令,這是一個(gè)寫命令,和由A指出的讀命令一樣,適配器101執(zhí)行相同的操作,但并不重試它們,這就是說,適配器101對(duì)成對(duì)的DASDs107和108兩個(gè)都試寫合作命令,如果在一個(gè)DASDs內(nèi)出現(xiàn)寫錯(cuò)誤,不通知主機(jī),而對(duì)另一個(gè)DASDs執(zhí)行命令,在執(zhí)行完成后,適配器101進(jìn)行錯(cuò)誤恢復(fù),如果錯(cuò)誤發(fā)生在另一個(gè)DASDs,停止執(zhí)行寫命令,另一個(gè)DASDs的狀態(tài)送到主機(jī)104,如果在執(zhí)行寫命令期間發(fā)生錯(cuò)誤,這時(shí)僅一個(gè)DASDs是可以利用的,停止執(zhí)行命令和僅僅一個(gè)DASDs的狀態(tài)送到主機(jī)104。
在圖15中右側(cè)由C指明的一個(gè)命令,即一維修轉(zhuǎn)換命令(OZN)被稱之為一貸主異常命令(Venderuniquecommand)也即SCSI命令中的一個(gè),它在設(shè)計(jì)者設(shè)計(jì)時(shí)任意給出特殊意義。該維修轉(zhuǎn)換命令是本發(fā)明的一個(gè)特征,參照附圖16作出如下詳細(xì)描述。該適配器101進(jìn)行如下涉及該維修轉(zhuǎn)換命令的操作,如果一個(gè)XFER位是O和MA-MODE是XOO(X可以是任何位置),那么該DASDs107和108對(duì)通常的操作模式中進(jìn)行一冗余DASDs系統(tǒng)功能;如果MA-MODE不是XOO的某些其它值,那么對(duì)該DASDs107和108對(duì)的冗余DASDs系統(tǒng)功能并且該主機(jī)104能存取該DASDs107和108對(duì)中的每一個(gè);如果XFER位是1,那么一恢復(fù)表和存貯在該適配器101的該非易失存貯器EEPROM211中的一恢復(fù)表和一錯(cuò)誤記錄能被利用。
如果該XFER位是0,MA-MADE確定該DASDs107和108的分組;如果如上所述MA-MADE是XOO,如圖17所示,該冗余DASD系統(tǒng)功能被進(jìn)行,被分別連接到該初級(jí)和次級(jí)SCSI總線105和106并且該SCSI總線105和106在該SCSI裝置接口的每一個(gè)都具相同鑒別模式的該初級(jí)和次級(jí)DASDs107和108彼此配對(duì),那么在該主機(jī)上它們具有DASDs對(duì)功能。這是一通常的操作模式和重建立后的一缺席模式。
如果在面板109上的該模式選擇開關(guān)802被置位,那么用于MA-MODE的一值能被從XOO改變?yōu)榱硪恢担?,該適配器101能夠從該通常的操作模式(在該模式下能進(jìn)行該冗余DASD系統(tǒng)功能)改變?yōu)榫S修模式(在該模式下該主機(jī)104能存取DASDs107和108對(duì)中的每一個(gè));如圖18所示,當(dāng)該XFER位是0和MA-MODE是X01則脫開該冗余DASD系統(tǒng)功能,和在該DASDs107和108中具有ID=4,5,6的DASDs被分別連接到該初級(jí)和次級(jí)SCSI總線105和106并被給定唯一邏輯單元數(shù),并由該主機(jī)104單獨(dú)存取。如圖19所示,當(dāng)該XFER位是O和MA-MODE是XX10時(shí),該冗余功能被脫開,和在該DASDs107和108中具有ID=1,2,3的DASDs被分別連接到該初級(jí)和次級(jí)SCSI總線105和106并被定明一邏輯單元數(shù)值并由該主機(jī)104單獨(dú)存取。如圖20所示,當(dāng)該XFER位是0和MA-MODE是X11時(shí),該冗余功能被脫開和在該DASDs107和108中具有ID=0的DASDs被分別連接到該初級(jí)和次級(jí)SCSI總線105和106,并被給定唯一邏輯單元數(shù)并由該主機(jī)104單獨(dú)存取。在圖中由N/A指明的DASDs不能由主機(jī)104存取。
如上所述,被連接到該適配器101的該DASDs107和108的每一個(gè)都能由該主機(jī)104存取,以用于試驗(yàn)等的目的。在該面板109上的該模式選擇開關(guān)802上的代替手動(dòng)置位的軟件,例如存貯在一介質(zhì)的程序被稱之為一基準(zhǔn)塑料磁盒可以在該主機(jī)104上運(yùn)行以脫開該冗余DASDs系統(tǒng),并存取該DASDs107和108的每一個(gè),如上所述,主機(jī)104僅基于這些操作,無論如何,在這種情況中,在該DASDs107和108中在未予料的情況下必須注意數(shù)據(jù)的完整。
相應(yīng)于本發(fā)明的用于建立一冗余DASDs系統(tǒng)的一適配器,由于該適配器自身進(jìn)行一冗余DASDs系統(tǒng)功能和一用于一主機(jī)的接口,并且用于DASDs的接口具有相同的接口設(shè)計(jì),該適配器的實(shí)體對(duì)運(yùn)行在該主機(jī)的一操作系統(tǒng)式一應(yīng)用程序是透明的和該DASDs連接到適配器,從而在主機(jī)和DASDs一側(cè)的操作系統(tǒng)和應(yīng)用程序不需要改變。相應(yīng)于本發(fā)明,用于預(yù)防故障的一冗余DASDs系統(tǒng)能夠容易建立而不需要對(duì)運(yùn)行在該主機(jī)或該DASDs上的該主機(jī),操作系統(tǒng)和應(yīng)用程序作任何改變,進(jìn)而,相應(yīng)于本發(fā)明的該適配器,由于該適配器自身具有在DASDs中檢測(cè)故障的功能,替換失效的DASDs、和重建一冗余DASDs系統(tǒng),該失效DASDs的替換,對(duì)新DASDs格式化,使得不妨礙主機(jī)即不用停止主機(jī)的工作而建立冗余DASDs系統(tǒng)成為可能。對(duì)于實(shí)驗(yàn)等等的目的,DASDs中的每一個(gè)都能被存取,如果需要,對(duì)每個(gè)DASDs維修,這是它的優(yōu)點(diǎn)。
權(quán)利要求
1.連接于一主計(jì)算機(jī)和磁盤存貯裝置之間構(gòu)成一冗余磁盤存貯系統(tǒng)的適配器,其特征是用于連接該主計(jì)算機(jī)的一主接口;用于分別連接到多個(gè)初級(jí)磁盤存貯裝置和多個(gè)次級(jí)磁盤存貯裝置的并且每一個(gè)都具有如上述主接口相同的接口設(shè)計(jì)的一初級(jí)裝置接口和一次級(jí)裝置接口,所述的磁盤存貯裝置中的每一個(gè)在所述初級(jí)和次級(jí)裝置接口中的每一個(gè)中由一異常鑒別碼鑒別;基于來自所述裝置的信息用于檢測(cè)所述初級(jí)和次級(jí)磁盤存貯裝置中的每一個(gè)的故障的裝置;和用于對(duì)在所述初級(jí)和次級(jí)磁盤存貯裝置接口中的每一個(gè)都具有相同鑒別碼的一對(duì)所述初級(jí)和次級(jí)磁盤存貯裝置的控制裝置,在正常操作中,所述初級(jí)和次級(jí)磁盤存貯裝置的所述對(duì)從所述主計(jì)算機(jī)寫信息到所述初級(jí)和次級(jí)磁盤存貯裝置時(shí),和從所述對(duì)中的所述初級(jí)磁盤存貯裝置讀出信息并送該信息到所述主計(jì)算機(jī),和,當(dāng)所述的初級(jí)和次級(jí)磁盤存貯裝置對(duì)中的一個(gè)產(chǎn)生故障時(shí),僅僅或者從其它正常在磁盤存貯裝置中讀或?qū)懶畔ⅰ?br>
2.根據(jù)權(quán)利要求1的該適配器,其特征是所述裝置還包括用于當(dāng)檢測(cè)故障的裝置在所述磁盤存貯裝置對(duì)中的一個(gè)中檢測(cè)到一故障時(shí),指示該發(fā)生故障的磁盤存貯裝置的裝置,獨(dú)立于主計(jì)算機(jī)并意味著獨(dú)立于所述主計(jì)算機(jī)的運(yùn)行并能夠替換該失效的磁盤存貯裝置及從所述磁盤存貯裝置對(duì)中利用該另一個(gè)正常的磁盤存儲(chǔ)裝置重建一新磁盤存貯裝置進(jìn)入該冗余磁盤存貯系統(tǒng)。
3.根據(jù)權(quán)利要求1的該適配器,其特征是所述裝置包括用于利用來自所述主計(jì)算機(jī)的一命令使得該主計(jì)算機(jī)對(duì)所述磁盤存貯裝置對(duì)中的每一個(gè)進(jìn)行存取并給出一異常邏輯單元數(shù)到所述該磁盤存貯裝置對(duì)中的每一個(gè)的裝置。
4.根據(jù)權(quán)利要求1的該適配器,其特征是所述裝置還包括用于從具有正常數(shù)據(jù)的所述磁盤存貯裝置對(duì)中的一個(gè)拷貝到不具有正常數(shù)據(jù)的所述磁盤存貯裝置對(duì)中的另一個(gè)。
5.根據(jù)權(quán)利要求1的該適配器,其特征是用于檢測(cè)故障的所述裝置包括用于在所述主計(jì)算機(jī)到與信息一致的監(jiān)視器的操作期間從所述磁盤存貯裝置對(duì)比較相互信息的裝置。
6.根據(jù)權(quán)利要求1的該適配器,其特征是所述主接口,所述初級(jí)裝置接口和所述次級(jí)裝置接口是SCSI接口。
全文摘要
連接到主機(jī)和磁盤存貯裝置之間的一適配器提供用于連接主機(jī)和磁盤存貯裝置的接口,該磁盤存貯裝置具有相同的接口設(shè)計(jì)。該適配器自身包括控制裝置,用于建立一冗余磁盤存貯系統(tǒng)。此外,該適配器自身包括用于檢測(cè)和指示一失效磁盤存貯裝置的裝置,用替換該失效磁盤存貯裝置的裝置和在磁盤存貯裝置替換之后重建一冗余磁盤存貯系統(tǒng)的裝置。一命令使該主機(jī)能夠存取磁盤存貯裝置的每一個(gè)以用于維修的目的。
文檔編號(hào)G06F11/20GK1081005SQ9310703
公開日1994年1月19日 申請(qǐng)日期1993年5月10日 優(yōu)先權(quán)日1992年5月12日
發(fā)明者巖佐博之, 淺野秀夫, 清水豐 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司