專利名稱:多處理機系統(tǒng)和用多處理機系統(tǒng)的磁盤控制器及維護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多處理機系統(tǒng)及其程序的修改方法。更詳細(xì)地說,是有關(guān)由包含多個處理機的多處理機系統(tǒng)構(gòu)成的磁盤控制器及其控制程序的修改方法。
在多處理機系統(tǒng)中,由于是將一個作業(yè)分散由多個處理機進行處理,所以能夠進行作業(yè)的高效處理。以多處理機系統(tǒng)構(gòu)成的磁盤控制器作為多處理機系統(tǒng)的一種應(yīng)用形式已經(jīng)進入實用化的階段。例如特開平—62623號公報所公布的磁盤控制器。在特開平—62623號公報公布的磁盤控制器中,數(shù)據(jù)的讀出、寫入等處理作業(yè)是由控制磁盤控制器與主機之間數(shù)據(jù)傳輸?shù)奶幚頇C和控制磁盤控制器與磁盤驅(qū)動器之間數(shù)據(jù)傳輸用的處理機分散執(zhí)行。具體地說,例如由某一個處理機從磁盤驅(qū)動器讀出的數(shù)據(jù),再由另一個處理機傳送給主機。因此,主機與磁盤控制器之間的數(shù)據(jù)傳輸處理和磁盤驅(qū)動器與磁盤控制器之間的數(shù)據(jù)傳輸處理可以獨立并行執(zhí)行,因而能夠?qū)崿F(xiàn)數(shù)據(jù)的高效傳輸。
在由如上所述的多處理機系統(tǒng)構(gòu)成的磁盤控制器中,當(dāng)一部分處理機停止處理時、其他處理機仍歸繼續(xù)控制數(shù)據(jù)的傳輸,因而可以對停運的處理機進行維護。但是,這種維護方法的前提是分散處理作業(yè)的處理機應(yīng)執(zhí)行同一版本的程序。當(dāng)各處理機執(zhí)行的程序有所變更時,如用這種方法進行維護,由于在一段時間內(nèi)有不同版本的程序同時存在,則將會出現(xiàn)一個作業(yè)由執(zhí)行不同版本程序的處理機分擔(dān)處理的情況。在這種情況下,作業(yè)的協(xié)調(diào)性處理有可能得不到保證。因此,當(dāng)需要變更各處理機執(zhí)行的程序版本時,就不得不停止全部系統(tǒng)的運行。
本發(fā)明的目的是解決以往技術(shù)中存在的這個問題,并能夠在系統(tǒng)繼續(xù)作業(yè)處理的同時進行程序版本變更等方面的維護處理。為達(dá)到這個目的,在本發(fā)明的多處理機系統(tǒng)中,使各處理機分屬于多個機群。機群的模式包括在即使同屬于任意一個機群的處理機之間也可分散處理一個作業(yè)的機群非限定模式和對可以分散處理一個作業(yè)的處理機所屬的機群加以限定的機群限定模式。
在本發(fā)明的維護方法中,上述多處理機系統(tǒng)的機群模式可以從機群的非限定模式轉(zhuǎn)換為機群的限定模式,并在多個機群中選定一部分機群。然后使被選定的機群停止接受新的作業(yè),并對屬于選定機群的處理機進行維護處理,例如程序的修改處理。對各機群依次進行上述機群選擇、維護處理,并在所有機群的處理機進行了維護處理之后,將機群模式恢復(fù)為機群非限定模式。在選定機群的處理機維護過程中,屬于未選中機群的處理機則以機群限定模式執(zhí)行處理。按照這種方法,在系統(tǒng)進行程序修改等維護過程中,作業(yè)雖由不作為維護對象的處理機繼續(xù)處理,但可防止作業(yè)由不同版本的程序分散執(zhí)行,因此,不必全部停止系統(tǒng)的運作即可進行維護處理。
圖1為采用本發(fā)明的一種磁盤控制器的結(jié)構(gòu)圖。
圖2為存儲在控制存儲器內(nèi)的機群分配信息結(jié)構(gòu)圖。
圖3為存儲在控制存儲器內(nèi)的執(zhí)行指定機群信息的結(jié)構(gòu)圖。
圖4為存儲在控制存儲器內(nèi)的I/O作業(yè)執(zhí)行控制信息結(jié)構(gòu)圖。
圖5為存儲在控制存儲器內(nèi)的機群操作模式指示信息結(jié)構(gòu)圖。
圖6為表示磁盤控制程序修改處理流程的程序框圖。
圖7為對機群A進行程序修改處理的詳細(xì)程序框圖。
圖8為對機群B進行程序修改處理的詳細(xì)程序框圖。
圖9為按照本發(fā)明的另外一個實施例的磁盤控制器的結(jié)構(gòu)圖。
圖10為可分散處理的機群組合信息結(jié)構(gòu)圖。
圖11為可分散處理的機群組合信息結(jié)構(gòu)圖。
圖12為按照本發(fā)明的一個進一步實施例的磁盤控制器結(jié)構(gòu)圖。
圖1為本發(fā)明第1實施例中的磁盤控制器的結(jié)構(gòu)圖。磁盤控制器200包括各自具有局部存儲器(LM)的多個處理機211、212、213、214和221、222、223、224、帶有分別存有控制程序的磁盤驅(qū)動器216、226的伺服處理機215、225以及具有高速緩沖存儲器231和控制存儲器232并可由處理機211—214、221—224及伺服處理機215、225共同訪問的共享存儲器230。磁盤控制器200具有的處理機中的處理機211、212、221和222,通過通道控制器30與主機10連接。而處理機213、214、223和224,則連接于磁盤驅(qū)動器40、41。在下文中,為區(qū)分這些處理機,將前者稱為通道側(cè)處理機,后者稱為驅(qū)動器側(cè)處理機。各處理機211—214、221—224的局部存儲器用來存儲用于控制磁盤驅(qū)動器40、41與通道控制器30之間作數(shù)據(jù)傳輸之用的數(shù)據(jù)傳輸控制程序及用于支援系統(tǒng)維護作業(yè)的維護支援程序。伺服處理機215、225連接于作為與操作員接口而設(shè)置的維護終端240。
在本實施例中,處理機211—214、221—224構(gòu)成的系統(tǒng)稱為多處理機系統(tǒng)。這些處理機按組劃分,由處理機211—214組成機群A210,由處理機221—224組成機群B220。伺服處理機215屬于機群A210,而伺服處理機225屬于機群B220。
圖2為存儲在控制存儲器232內(nèi)的機群分配信息的邏輯結(jié)構(gòu)圖。機群分配信息500共有三個區(qū),即處理機編號區(qū)510、所屬機群編號區(qū)520和處理機屬性區(qū)530。處理機編號區(qū)存儲分配給各處理機211—214和221—224的編號。在本實施例中,如圖2所示分配給各處理機的處理機編號分別是211、212、213、214和221、222、223、224(在本實施例中,為說明方便起見,分配給各處理機的處理機編號與圖1中的參考編號一致)。所屬機群編號區(qū)520存儲每個處理機所屬機群的機群編號。如圖2所示處理機211、212、213、214屬于機群編號為“1”的機群(圖1中的機群A210),而處理機221、222、223和224則屬于機群編號為“2”的機群(圖1中的機群B220)。處理機屬性區(qū)530存儲標(biāo)定各處理機屬性的信息,亦即標(biāo)定各處理機是屬于通道側(cè)處理機(通道CPU)還是屬于驅(qū)動器側(cè)處理機(驅(qū)動器CPU)。如圖2所示,處理機211、212、221和222為通道側(cè)處理機。而處理機213、214、223和224為驅(qū)動器側(cè)處理機。
圖3為在控制存儲器232內(nèi)所存的執(zhí)行機群標(biāo)定信息結(jié)構(gòu)圖。執(zhí)行機群標(biāo)定信息600是由在執(zhí)行機群標(biāo)定區(qū)610中所存的機群傳輸數(shù)據(jù)時的標(biāo)定模式的信息構(gòu)成的。在本實施例中,機群模式共有可使機群210、220中任何一個機群進行數(shù)據(jù)傳輸?shù)臋C群非限定模式和限定只能使用其中某一個機群的機群限定模式。當(dāng)以機群非限定模式進行數(shù)據(jù)傳輸時,在執(zhí)行機群標(biāo)定區(qū)610中存入“1”,而當(dāng)以機群限定模式進行數(shù)據(jù)傳輸時,則存入“2”。
圖4為存在控制存儲器232內(nèi)的I/O作業(yè)執(zhí)行控制信息結(jié)構(gòu)圖。I/O作業(yè)執(zhí)行控制信息800是為連接磁盤控制器200中的每個磁盤驅(qū)動器40、41設(shè)置的。I/O作業(yè)執(zhí)行控制信息800包括要求主機發(fā)出相應(yīng)的訪問命令的訪問命令請求信息、用于標(biāo)定某個處理機,使其成為可以執(zhí)行發(fā)送給相應(yīng)磁盤驅(qū)動器的訪問命令的可執(zhí)行處理機的標(biāo)定信息和用于標(biāo)定發(fā)送給相應(yīng)磁盤驅(qū)動器的訪問命令執(zhí)行狀態(tài)的I/O請求執(zhí)行狀態(tài)信息。訪問命令請求信息包括命令類別區(qū)811、驅(qū)動器編號區(qū)812、磁盤環(huán)數(shù)編號區(qū)813、磁道編號區(qū)814、以及記錄編號區(qū)815。命令類別區(qū)811存儲向與其I/O作業(yè)執(zhí)行控制信息相對應(yīng)的磁盤驅(qū)動器發(fā)送的訪問命令的命令類型。訪問命令包括從磁盤驅(qū)動器中讀出數(shù)據(jù)的讀命令和將數(shù)據(jù)寫入磁盤驅(qū)動器的寫命令等。驅(qū)動器編號區(qū)812用于存儲根據(jù)I/O作業(yè)執(zhí)行控制信息進行訪問的磁盤驅(qū)動器的驅(qū)動器編號。磁盤環(huán)數(shù)編號區(qū)813、磁道編號區(qū)814和記錄編號區(qū)815分別用來存儲標(biāo)定訪問對象的磁盤驅(qū)動器內(nèi)存儲區(qū)的磁盤環(huán)數(shù)編號、磁道編號和記錄編號。可執(zhí)行處理機指定信息由可執(zhí)行處理機標(biāo)定位表821組成。在可執(zhí)行處理機標(biāo)定位表821分別置入與處理機211—214和221—224相對應(yīng)的位。在與可執(zhí)行訪問命令請求信息中記錄的訪問命令的處理機相對應(yīng)的位中置入“1”(置“1”),在與不可執(zhí)行訪問命令的處理機相對應(yīng)的位中置入“0”(置“0”)。I/O請求執(zhí)行狀態(tài)信息具有一個I/O請求執(zhí)行狀態(tài)區(qū)831,用于存儲訪問命令的執(zhí)行狀態(tài)。在I/O請求執(zhí)行狀態(tài)區(qū)831中存入訪問命令的各種執(zhí)行狀態(tài)的標(biāo)定信息,例如,當(dāng)沒有訪問命令的執(zhí)行請求時置“0”,當(dāng)由驅(qū)動器側(cè)處理機等待處理時置“1”,當(dāng)由通道側(cè)處理機等待處理時置“2”,如正在執(zhí)行某項處理,則置“3”。
圖5為在控制存儲器232內(nèi)所存的機群操作模式標(biāo)定信息結(jié)構(gòu)圖。機群操作模式標(biāo)定信息700由機群編號區(qū)710和操作模式區(qū)720組成。機群編號區(qū)710用于存儲與各機群相對應(yīng)的機群編號。操作模式區(qū)用于存儲相應(yīng)的機群正在按照哪一種操作模式運作的標(biāo)定信息。本實施例中的操作模式包括進行正常處理的正常操作模式、不接受訪問命令的暫停模式和屬于機群210的處理機與屬于機群220的處理機正在執(zhí)行不同版本數(shù)據(jù)傳輸控制程序時的維護操作模式。在操作模式區(qū)720中,在正常操作模式時置“1”、在暫停模式時置“2”、在維護操作模式時置“3”。機群操作模式標(biāo)定信息700由各處理機按規(guī)定的定時進行訪問,例如與作業(yè)的檢索同步。
在本實施例中,由磁盤控制器200的各處理機進行的數(shù)據(jù)傳輸控制處理按以下方式執(zhí)行。
當(dāng)主機10要讀取磁盤驅(qū)動器40、41所存的數(shù)據(jù)時,將把指定讀取的訪問命令傳送給通道控制器30。通道控制器30把從主機10收到的訪問命令傳送給磁盤控制器200的通道側(cè)處理機211、212、221和222中的一個處理機。在本實施例中,作為說明的例子是假定訪問命令為對磁盤驅(qū)動器40的讀出請求,而這個訪問命令是傳送給機群210的通道側(cè)處理機211的。
從通道控制器30接受訪問命令的通道側(cè)處理機211,訪問與磁盤驅(qū)動器40相對應(yīng)的I/O作業(yè)執(zhí)行控制信息800中的I/O請求執(zhí)行狀態(tài)區(qū)831,如已置“0”(無執(zhí)行請求),則把I/O請求執(zhí)行狀態(tài)區(qū)831的信息改寫為“3”(執(zhí)行中)。然后,通道側(cè)處理機211把訪問命令指定的各種信息存入在訪問命令請求信息的各個區(qū)811—815內(nèi)。如存儲在I/O請求執(zhí)行狀態(tài)區(qū)831的信息不為“0”,通道側(cè)處理機211即向通道控制器30發(fā)回一個占用信號。接著由通道側(cè)處理機211訪問執(zhí)行機群標(biāo)定區(qū)610,并檢查執(zhí)行機群標(biāo)定區(qū)610中所存的信息。當(dāng)執(zhí)行機群標(biāo)定區(qū)610所存的信息為“1”(機群非限定模式)時,在可執(zhí)行處理機標(biāo)定位表821中與之相對應(yīng)的驅(qū)動器側(cè)處理機213、214、223和224的字段(可否執(zhí)行字段)置“1”,這是標(biāo)定可執(zhí)行的位符。反之,當(dāng)執(zhí)行機群標(biāo)定區(qū)610中所存的信息為“2”(機群限定模式)時,在可執(zhí)行處理機標(biāo)定位表821中凡是與該處理機同屬一個機群的驅(qū)動器側(cè)的處理機、在本實施例中就是將機群A210中的驅(qū)動器側(cè)處理機213、214中的可否執(zhí)行字段置“1”。然后,在I/O請求執(zhí)行狀態(tài)區(qū)831中將通道側(cè)處理機211按照驅(qū)動器側(cè)處理機的標(biāo)定方式置“1”,表示等待執(zhí)行。
驅(qū)動器側(cè)處理機中的任何一個(在本實施例中假定為驅(qū)動器側(cè)處理機214)訪問I/O作業(yè)執(zhí)行控制信息800中的I/O請求執(zhí)行狀態(tài)區(qū)831,檢查是否已將標(biāo)定驅(qū)動器側(cè)處理機按照等待執(zhí)行置“1”。如在I/O請求執(zhí)行狀態(tài)區(qū)831中已置為“1”,則進一步檢查其I/O作業(yè)執(zhí)行控制信息800的可執(zhí)行處理機標(biāo)定位表821中與該處理機本身相對應(yīng)的可否執(zhí)行字段是否已按照標(biāo)定可執(zhí)行的方式置“1”。當(dāng)與之相對應(yīng)的可否執(zhí)行字段已置“1”時,則在I/O請求執(zhí)行狀態(tài)區(qū)831中置“3”,并按照訪問命令請求信息各區(qū)(命令類別區(qū)811、驅(qū)動器編號區(qū)812、磁盤環(huán)數(shù)編號區(qū)813、磁道編號區(qū)814和記錄編號區(qū)815)所存的信息從目標(biāo)磁盤驅(qū)動器讀出數(shù)據(jù)、存入設(shè)在共享存儲器230內(nèi)的高速緩沖存儲器231。然后將I/O作業(yè)執(zhí)行控制信息800中的I/O請求執(zhí)行狀態(tài)區(qū)按照表示通道側(cè)驅(qū)動器等待的標(biāo)定信息置“2”。接著訪問執(zhí)行機群標(biāo)定信息600,如執(zhí)行機群指示區(qū)610置“1”(機群非限定模式),將可執(zhí)行處理機標(biāo)定位表821中與之相對應(yīng)的通道側(cè)處理機211、212、221和222的可否執(zhí)行字段置“1”。反之,當(dāng)執(zhí)行機群指示區(qū)610所存的信息標(biāo)定為機群限定模式置“2”時,驅(qū)動器側(cè)處理機214將可執(zhí)行處理機標(biāo)定位表821中對應(yīng)于與該處理機本身同屬一個機群(即機群A210)的通道側(cè)處理機211、212的可否執(zhí)行字段置“1”。
在通道側(cè)處理機中的任何一個(本實施例中假定為通道側(cè)處理機212)訪問I/O作業(yè)執(zhí)行控制信息800中的I/O請求執(zhí)行狀態(tài)區(qū)831,檢查是否已置“2”(通道側(cè)處理機等待執(zhí)行)。如在I/O請求執(zhí)行狀態(tài)區(qū)831已置“2”,則進一步訪問可執(zhí)行處理機標(biāo)定位表821,檢查與該處理機本身相對應(yīng)的可否執(zhí)行字段是否已置“1”。如在可否執(zhí)行字段相對應(yīng)的位已置“1”,則通道側(cè)處理機212在I/O請求執(zhí)行狀態(tài)區(qū)831置“3”,并將高速緩沖存儲器231所存的相應(yīng)數(shù)據(jù)傳送給通道控制器30。然后將I/O請求執(zhí)行狀態(tài)區(qū)831按照標(biāo)定無執(zhí)行請求的方式置“0”。
如上所述,如采用本實施例的磁盤驅(qū)動器進行數(shù)據(jù)讀出處理,除各處理機訪問執(zhí)行機群標(biāo)定信息600和機群操作模式標(biāo)定信息700以及訪問可執(zhí)行處理機標(biāo)定信息(可執(zhí)行處理機標(biāo)定位表821),并在更新的同時繼續(xù)進行處理,除此之外,其他則與以往多處理機系統(tǒng)構(gòu)成的磁盤控制器的數(shù)據(jù)讀出處理進行方式相同。由于數(shù)據(jù)寫入處理與上述數(shù)據(jù)讀出處理是以相同方式進行的,所以在本實施例中省略說明。
圖6為表示本實施例磁盤控制器200的維護處理(程序修改處理)流程的程序框圖。
在維護處理時,操作員通過維護終端240將新版本的數(shù)據(jù)傳輸控制程序存入采用存儲伺服處理機215、225控制程序的磁盤驅(qū)動器216、226內(nèi)(步驟110)。然后,操作員通過維護終端240指示伺服處理機215開始控制程序的修改處理(步驟120)。
當(dāng)伺服處理機215接到開始修改控制程序的處理指示后,將存儲在控制存儲器內(nèi)的執(zhí)行機群標(biāo)定信息600按照機群限定模式的標(biāo)定方式置“2”(步驟125)。在此之后,通道側(cè)處理機211、212、221和222如果從通道控制器30接收到一個新的訪問命令,將I/O作業(yè)執(zhí)行控制信息800中的可執(zhí)行處理機標(biāo)定位表821中該處理機本身所屬機群內(nèi)的處理機相對應(yīng)的位置“1”。則機群非限定作業(yè)立即停止。然后,伺服處理機215對屬于機群A210的處理機211、212、213和214的局部存儲器內(nèi)存儲的控制程序進行修改處理(步驟130)。在機群A210的處理機進行修改數(shù)據(jù)傳輸控制程序的同時,機群B220的處理機221、222、223和224仍以原來版本的數(shù)據(jù)傳輸控制程序按機群限定模式執(zhí)行數(shù)據(jù)傳輸控制處理。
當(dāng)機群A210的處理機的數(shù)據(jù)傳輸控制程序修改完畢時,伺服處理機215請求伺服處理機225執(zhí)行對同屬于機群B220的處理機的程序修改處理(步驟140)。當(dāng)伺服處理機225收到此請求時,將對機群B220的處理機221、222、223和224的局部存儲器內(nèi)所存的數(shù)據(jù)傳輸控制程序執(zhí)行更新處理(步驟145)。而屬于機群A210的處理機211、212、213和214在程序修改處理完畢后,開始執(zhí)行新版本的程序,并在機群B220的處理機進行程序更新處理同時,以機群限定模式執(zhí)行數(shù)據(jù)傳輸控制處理。
當(dāng)伺服處理機215確認(rèn)機群B220的數(shù)據(jù)傳輸控制程序的更新處理業(yè)已完畢時(步驟150),分別將機群操作模式標(biāo)定信息700中的各操作模式區(qū)720按照標(biāo)定正常操作模式的方式置“1”、將執(zhí)行機群標(biāo)定信息600按照標(biāo)定機群非限定模式置“1”(步驟155)。于是,在維護終端240,顯示出一個表示數(shù)據(jù)傳輸控制程序的修改處理業(yè)已完成的信息(步驟160)。
圖7為表示圖6中步驟130機群A210數(shù)據(jù)傳輸控制程序修改處理流程的程序框圖。
同屬于機群A210的各處理機211、212、213和214訪問所有磁盤驅(qū)動器的I/O作業(yè)執(zhí)行控制信息800中的可執(zhí)行處理機標(biāo)定位表821,確認(rèn)不存在機群非限定作業(yè)(步驟310)。具體地說,就是確認(rèn)在各磁盤驅(qū)動器I/O作業(yè)執(zhí)行控制信息800的可執(zhí)行處理機標(biāo)定位表821中,對機群210和機群220雙方的處理機按照標(biāo)定可執(zhí)行的位一律置“1”。這種確認(rèn)應(yīng)在各處理機結(jié)束作業(yè)處理時識別出執(zhí)行機群標(biāo)定信息600標(biāo)定為機群限定模式的同時進行。
伺服處理機215將機群操作模式標(biāo)定信息700中與機群210相對應(yīng)的操作模式區(qū)720按照標(biāo)定暫停模式的信息置“2”(步驟315)。如果在機群A210的通道側(cè)處理機211、212處識別出操作模式已置為暫停模式,則通知通道控制器30不再接受新的訪問命令(步驟320)。經(jīng)過步驟320的處理之后,就不再記錄可由機群A210的處理機處理的作業(yè)。
機群A210的各處理機211、212、213和214訪問I/O作業(yè)執(zhí)行控制信息800中所有的可執(zhí)行處理機標(biāo)定位表821,確認(rèn)與機群A210的處理機相對應(yīng)的位均未按照標(biāo)定可執(zhí)行的方式置“1”(步驟325)。如果在可執(zhí)行處理機標(biāo)定位表821中分別確認(rèn)與機群A210的處理機211,212,213,214相對應(yīng)的位均未置“1”,則通知伺服處理機215該處理機已完成向暫停狀態(tài)的轉(zhuǎn)換(步驟330)。
當(dāng)伺服處理機215收到關(guān)于步驟330的機群A210中所有處理機皆已完成向暫停狀態(tài)的轉(zhuǎn)換的通知后,將機群操作模式標(biāo)定信息700中與機群210相對應(yīng)的操作模式區(qū)720中按照標(biāo)定維護操作模式的信息置“3”(步驟335)。如果處理機211、212、213和214識別出操作模式已置為維護操作模式,則請求伺服處理機215傳送新版本的數(shù)據(jù)傳輸程序(步驟340)。伺服處理機215根據(jù)這個請求,把在步驟110(圖6)中存入磁盤驅(qū)動器216的新版本數(shù)據(jù)傳輸控制程序傳送給各處理機211、212、213和214(步驟345)。處理機211、212、213和214將收到的數(shù)據(jù)傳輸控制程序分別存入各自的局部存儲器內(nèi)。
當(dāng)新的數(shù)據(jù)傳輸控制程序已存入機群A210的處理機內(nèi)時,伺服處理機215將程序的存儲已結(jié)束的標(biāo)定信息存入控制存儲器230,并通知各處理機。各處理機按照這個通知開始執(zhí)行新的程序。當(dāng)通道側(cè)處理機211、212確認(rèn)新的數(shù)據(jù)傳輸控制程序業(yè)已存入各處理機的局部存儲器內(nèi)時,即通知通道控制器30重新開始接受訪問命令(步驟350)。
圖8為表示圖6中步驟145機群B220數(shù)據(jù)傳輸控制程序修改處理流程的程序框圖。
伺服處理機225將機群操作模式標(biāo)定信息700中與機群B相對應(yīng)的操作模式區(qū)720置“2”(暫停模式)(步驟405)。關(guān)于不存在機群非限定作業(yè)的問題已在機群A210數(shù)據(jù)傳輸控制程序修改處理的步驟310中進行過確認(rèn),故此處無需再對其進行確認(rèn)。
同屬于機群B220的處理機221、222機群操作模式標(biāo)定信息700中,如果識別出操作模式已置為暫停模式,則通知通道控制器30不再接受新的訪問命令(步驟415)。機群B220中的各處理機221、222、223和224訪問I/O作業(yè)執(zhí)行控制信息800中所有的可執(zhí)行處理機標(biāo)定位表821,確認(rèn)與機群B220的處理機相對應(yīng)的位均未按照標(biāo)定可執(zhí)行的方式置“1”(步驟420)。如果處理機221、222、223和224確認(rèn)了可執(zhí)行處理機標(biāo)定位表821中與按照與機群B的處理機相對應(yīng)的位均未置“1”,則通知伺服處理機225該處理機均已完成向暫停狀態(tài)的轉(zhuǎn)換。
當(dāng)伺服處理機225收到關(guān)于機群B220中所有處理機皆已完成向暫停狀態(tài)的轉(zhuǎn)換的通知時,將機群操作模式標(biāo)定信息700中與機群B相對應(yīng)的操作模式區(qū)720置“3”(維護操作模式)(步驟426)。如果機群B220的各處理機221、222、223和224識別出操作模式業(yè)已置為維護操作模式,則請求伺服處理機225傳送數(shù)據(jù)傳輸控制程序(步驟427)。伺服處理機225根據(jù)這個請求,把存入磁盤驅(qū)動器226的數(shù)據(jù)傳輸控制程序傳送給機群B220中的各處理機(步驟430)。處理機221、222、223和224將傳送來的數(shù)據(jù)傳輸控制程序分別存入各自的局部存儲器內(nèi)。
當(dāng)機群B的各處理機確認(rèn)機群B的所有處理機已將新的數(shù)據(jù)傳輸控制程序存入局部存儲器內(nèi)時,即開始執(zhí)行新的數(shù)據(jù)傳輸控制程序。通道側(cè)處理機221、222通知通道控制器30重新開始接受訪問命令(步驟440)。
按照如上所述的維護處理,可以修改各處理機執(zhí)行的數(shù)據(jù)傳輸程序,且不影響其他處理機執(zhí)行不同版本的數(shù)據(jù)傳輸程序。因此,無需停止全部磁盤驅(qū)動器的運作即可對其進行維護。
圖9為本發(fā)明的第2實施例的磁盤控制器結(jié)構(gòu)圖。
在本實施例中,除將構(gòu)成磁盤控制器20的各處理機分成4個機群(機群A210、機群B220、機群C270、機群D280)外,與以上說明的實施例具有同樣的結(jié)構(gòu)。
如按本實施例所示,構(gòu)成3個以上機群時,就可以確定多個能夠?qū)⒆鳂I(yè)分散處理的機群組合。在本實施例中,為了使各處理機能夠識別這種機群組合,在共享存儲器230的控制存儲器232內(nèi)設(shè)有可分散處理機群組合的信息。
圖10和圖11為可分散處理機群組合信息的結(jié)構(gòu)圖。在可分散處理機群組合信息100中,沿縱向所示機群編號和沿橫向所示機群編號的交點處的字段,表示在這些機群之間能否將同一作業(yè)分散處理的標(biāo)定信息。例如,圖10所示的可分散處理機群組合信息的所有字段都是標(biāo)定可進行分散處理的信息“OK”。這就表明所有機群的處理機在其局部存儲器內(nèi)存有相同版本的數(shù)據(jù)傳輸控制程序,在任何機群的處理機之間都可以進行分散處理作業(yè)。而圖11所示的可分散處理機群組合信息,在與機群A與其他機群組合相對應(yīng)的字段欄中存入表示不能進行分散處理的信息“NG”。只有在同屬于機群A的處理機與其他執(zhí)行不同的數(shù)據(jù)傳輸程序的處理機組合時,方才對其設(shè)定可進行分散處理的機群組合信息。
在本實施例中,當(dāng)對數(shù)據(jù)傳輸控制程序設(shè)置I/O作業(yè)執(zhí)行控制信息800中的可執(zhí)行處理機標(biāo)定位表821時,各處理機應(yīng)按以下準(zhǔn)則進行可執(zhí)行處理機標(biāo)定位表821的設(shè)置。就是要訪問執(zhí)行機群標(biāo)定信息600,并當(dāng)執(zhí)行機群標(biāo)定區(qū)610置“2”時,再訪問可分散處理機群組合信息100,將相對于該處理機本身所屬機群置為“OK”的字段所對應(yīng)的其他機群的處理機的可否執(zhí)行字段置“1”。當(dāng)執(zhí)行機群標(biāo)定區(qū)610設(shè)置為“1”時,與所有處理機相對應(yīng)的可否執(zhí)行的字段均置“1”。
如按照本實施例,則數(shù)據(jù)傳輸程序的修改更新等維護處理能夠以更小的單位進行。在本實施例中,當(dāng)機群個數(shù)進一步增加時,可將已結(jié)束程序修改的那些機群作為第一組、而將尚未完成修改的那些機群作為第二組,并在每個機群組內(nèi)執(zhí)行封閉的作業(yè)分散處理的同時,進行維護作業(yè)。
在以上說明的實施例中,磁盤驅(qū)動器的各組成部分相互直接連接,但各組成部分之間也可以通過總線連接。圖12示出了各組成部分之間通過總線連接時的磁盤驅(qū)動器的結(jié)構(gòu)。在圖12中,構(gòu)成磁盤驅(qū)動器的處理機211、212、213和214、伺服處理機215以及共享存儲器230通過總線201連接。按這種方式構(gòu)成的磁盤驅(qū)動器仍可用與前面說明的實施例相同的方法進行維護處理,因而無需停止全部數(shù)據(jù)的傳送就能對各處理機執(zhí)行的控制程序進行版本更新等的修改。
如上所述,如采用本發(fā)明,不同機群的處理機能夠運行不同版本的程序,因而可防止不同版本程序之間的相互干擾。因此,多處理機系統(tǒng)的運行無需全部停止就能進行程序的修改更新等系統(tǒng)維護處理。
權(quán)利要求
1.磁盤控制器的維護方法,該磁盤控制器連接在主機與磁盤驅(qū)動器之間、其中設(shè)有多臺處理機,用于控制上述主機與磁盤驅(qū)動器之間數(shù)據(jù)傳輸;其中包括上述多個處理機預(yù)先分成多個機群;機群模式可以從非限定模式向限定模式轉(zhuǎn)換;機群的非限定模式允許將一個作業(yè)在同屬于任意一個機群的處理機之間進行分散處理,機群的限定將一個作業(yè)在同屬于一個一定的機群之間進行分散處理;在上述多個機群中選擇某些機群作為維護對象機群;將同屬于上述維護對象機群的處理機所執(zhí)行的程序修改為新的程序;及由同屬于上述維護對象機群的處理機執(zhí)行上述新的程序。
2.權(quán)利要求1中的維護方法,其中,上述修改步驟包括停止同屬于上述維護對象機群的處理機接受新的作業(yè);確認(rèn)同屬于上述維護對象機群的處理機處理的作業(yè)已不存在;經(jīng)過上述確認(rèn)之后,將上述新的程序存儲在同屬于上述維護對象機群的處理機中各自具有的局部存儲器內(nèi)。
3.權(quán)利要求1中的維護方法,其中還包括如下的步驟對所有機群依次重復(fù)進行上述“選擇、修改、及執(zhí)行”步驟。
4.權(quán)利要求3中的維護方法,其中還包括如下的步驟在所有機群的處理機的程序都改用新程序之后,將上述機群模式設(shè)置為機群非限定模式。
5.權(quán)利要求1中的維護方法,其中還包括如下的步驟由不屬于上述選定機群的其他機群的處理機分擔(dān)的作業(yè)處理采用機群限定模式與上述修改步驟并行執(zhí)行。
6.連接在主機與磁盤驅(qū)動器之間的磁盤控制器,其中包括同屬于預(yù)定的多個機群中任何一個機群、并用于控制上述主機與上述磁盤驅(qū)動器之間數(shù)據(jù)傳輸?shù)亩鄠€處理機;及執(zhí)行機群指示設(shè)施,即指示對由上述主機發(fā)送的上述磁盤驅(qū)動器訪問請求的處理,是按照機群非限定模式允許在其所有處理機之間分散執(zhí)行,或是按照機群限定模式限定一定的機群由在屬于不同機群處理機之間分散執(zhí)行上述訪問請求處理;上述多個處理機按照上述執(zhí)行機群指示設(shè)施指定的模式執(zhí)行上述訪問請求處理。
7.權(quán)利要求6的磁盤控制器,其中還包括為執(zhí)行上述訪問請求而準(zhǔn)備的處理機指定信息,用于指定某一處理機,使其能執(zhí)行該訪問請求的處理運作。
8.權(quán)利要求7的磁盤控制器,其中還包括用于接受操作員發(fā)出的程序修改指示的終端裝置;一種控制設(shè)備,用來根據(jù)上述終端裝置接受的程序修改指示,將上述執(zhí)行機群的指示設(shè)施指定為機群限定模式;及修改程序的設(shè)備,即從上述多個機群中選定一個機群,停止在同屬于選定機群的處理機中的訪問請求處理,并修改同屬于上述選定機群的處理機的執(zhí)行的程序。
9.權(quán)利要求8的磁盤控制器,其中還包括用于存儲上述磁盤驅(qū)動器所存數(shù)據(jù)副本的存儲器,在上述多個處理機中,包括用于控制上述存儲器與上述主機之間數(shù)據(jù)傳輸?shù)亩鄠€第1處理機和用于控制上述存儲器與磁盤驅(qū)動器之間數(shù)據(jù)傳輸?shù)亩鄠€第2處理機。
10.權(quán)利要求9的磁盤控制器,其中,在上述機群中分別包括至少一個的上述第1處理機,并且包括至少一個以上的上述第2處理機。
11.權(quán)利要求10的磁盤控制器,其中還包括機群組合信息,用于指示可分散處理一個作業(yè)的處理機所屬機群的組合,其中上述各處理機根據(jù)上述機群組合信息,在上述處理機標(biāo)定信息中設(shè)置可將該處理機本身執(zhí)行作業(yè)分散處理的處理機標(biāo)定信息。
12.多處理機系統(tǒng)的程序修改方法,其中的多個處理機各自分別裝有存程序用的局部存儲器,該方法包括(a)上述多個處理機預(yù)先分成多個機群;(b)機群模式可以從非限定模式向限定模式轉(zhuǎn)換,機群的非限定模式允許將一個作業(yè)在分屬于不同機群的處理機之間進行分散處理,機群的限定模式禁止將一個作業(yè)在分屬于不同機群的處理機之間進行分散處理;(c)從上述多個機群中選擇一個機群作為選定機群,并停止同屬于該選定機群中的處理機接受新的作業(yè);(d)將同屬于上述選定機群的處理機的局部存儲器所存程序修改為新的程序;(e)在上述程序修改完畢后,同屬于上述選定機群的處理機重新開始接受作業(yè);(f)對上述多個機群依次重復(fù)進行從步驟(c)到步驟(e)的處理;(g)將上述機群模式從上述機群限定模式恢復(fù)為上述機群非限定模式。
13.權(quán)利要求12的程序修改方法,其中,在上述步驟(c)中包括如下的步驟確認(rèn)不存在按機群非限定模式執(zhí)行的作業(yè)。
14.權(quán)利要求13的程序修改方法,其中,在上述步驟(d)中包括如下步驟確認(rèn)不存在由同屬于上述選定機群的處理機處理接受作業(yè)。
全文摘要
磁盤控制器備有的多個處理機,分成多個機群。主機與磁盤驅(qū)動器之間的數(shù)據(jù)傳輸,按照機群非限定模式進行控制,允許在同屬于一個任意機群的處理機之間將一個作業(yè)進行分散處理,不受機群的約制。根據(jù)操作員的程序修改指示,將機群模式從機群非限定模式轉(zhuǎn)換為機群限定模式,將一個作業(yè)限定在同屬于限定機群的處理機進行分散處理。然后,選定一部分機群作為維護對象機群,并將同屬于維護對象機群的處理機所執(zhí)行的程序修改為新的程序。
文檔編號G06F3/06GK1123934SQ9510606
公開日1996年6月5日 申請日期1995年5月12日 優(yōu)先權(quán)日1994年5月13日
發(fā)明者村田智洋, 仁田滿秋, 栗原謙三 申請人:株式會社日立制作所