專利名稱:避免數(shù)據(jù)存儲系統(tǒng)的邏輯分區(qū)中初始程序加載失敗的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)據(jù)存儲系統(tǒng),具體而言,涉及數(shù)據(jù)存儲系統(tǒng)的邏輯分區(qū)中的
初始程序加載操作。
背景技術(shù):
數(shù)據(jù)存儲系統(tǒng)典型地包括一個或多個存儲控制器,其耦合至一個或多個數(shù)據(jù)存儲 設(shè)備,諸如硬盤驅(qū)動器(HDD)??刂破鹘邮諄碜砸粋€或多個主機(jī)的讀取和寫入請求,處理這 樣的請求,以及作為響應(yīng),從存儲設(shè)備讀取所請求的數(shù)據(jù)或向其寫入(記錄)數(shù)據(jù)。較大的 存儲系統(tǒng)使得一個物理主機(jī)可以被劃分為一個或多個邏輯分區(qū)(LPAR),這些邏輯分區(qū)如同 獨立的虛擬計算機(jī)一樣操作。LPAR也可以在不同操作系統(tǒng)下運行,并可以執(zhí)行不同的應(yīng)用 程序。在LPAR的初始程序加載(IPL)期間,在主機(jī)和存儲控制器之間建立邏輯路徑,使得 兩者能夠相互通信。全球網(wǎng)絡(luò)節(jié)點號(WWNN)用于實現(xiàn)通信設(shè)備之間的鏈接。
在一個LPAR的IPL期間,另一個LPAR可以使用從主機(jī)到存儲控制器的"凍結(jié) (Freeze)"命令,決定改變點對點遠(yuǎn)程復(fù)制(PPRC)設(shè)備的狀態(tài),例如從"PPRC全雙工"改變 到"PPRC掛起"。 當(dāng)執(zhí)行"凍結(jié)"命令時,存儲控制器針對PPRC關(guān)系中的所有設(shè)備,并向所有已知路 徑和路徑組發(fā)送包改變或狀態(tài)改變中斷。該中斷可能由正經(jīng)歷IPL的LPAR接收。如果發(fā) 生這樣的情況,LPAR會被迫中斷IPL,應(yīng)對包改變中斷和相繼的驗證和查詢命令。由于對于 狀態(tài)從"PPRC全雙工"改變到"PPRC掛起"的每個設(shè)備,每個路徑發(fā)送了一個包改變中斷, 大量數(shù)目的包改變和要求的命令處理會導(dǎo)致LPAR的IPL花費很長的時間來完成。在一些 情況下,IPL會失敗。
發(fā)明內(nèi)容
本發(fā)明減小由于應(yīng)對IPL期間接收到的包改變或狀態(tài)改變中斷而引起的對LPAR IPL的性能影響并減小IPL失敗的風(fēng)險。通過建立從存儲控制器到邏輯分區(qū)(LPAR)的邏輯 路徑來管理LPAR的初始程序加載(IPL)。當(dāng)存儲控制器從LPAR接收到IPL已經(jīng)開始的通 知,在數(shù)據(jù)結(jié)構(gòu)中存儲LPAR的地址。接下來,在存儲控制器啟動包改變狀態(tài)中斷之后,將所 存儲的地址與包改變狀態(tài)中斷所指向的所有LPAR列表中的地址進(jìn)行比較。如果地址列表 包括所存儲的地址,就將所存儲的地址從列表中移除。由此,包改變狀態(tài)中斷僅僅傳輸?shù)搅?表中的地址,留下LPAR來完成IPL而不會中斷。在存儲控制器從LPAR接收到IPL已經(jīng)完 成的通知之后,將LPAR的地址從數(shù)據(jù)結(jié)構(gòu)中移除。 本發(fā)明提供一種存儲控制器,包括第一數(shù)據(jù)結(jié)構(gòu)和第二數(shù)據(jù)結(jié)構(gòu),所述第一數(shù)據(jù) 結(jié)構(gòu)用于在從第一LPAR接收到第一LPAR的IPL已經(jīng)開始的第一通知時存儲多個LPAR中第 一 LPAR的地址,所述第二數(shù)據(jù)結(jié)構(gòu)用于存儲新啟動的包改變狀態(tài)中斷所指向的所有LPAR 的地址。所述存儲控制器還包括處理器和存儲器,所述存儲器用于存儲處理器可執(zhí)行的計 算機(jī)可讀代碼。所述代碼包括這樣的指令,該指令用于將所述第一數(shù)據(jù)結(jié)構(gòu)中的地址與第二數(shù)據(jù)結(jié)構(gòu)中的地址進(jìn)行比較,如果所述第二數(shù)據(jù)結(jié)構(gòu)包括所述第一 LPAR的地址,則將第 一 LPAR的地址從所述第二數(shù)據(jù)結(jié)構(gòu)中移除,將所述包改變狀態(tài)中斷僅僅傳輸?shù)剿龅诙?數(shù)據(jù)結(jié)構(gòu)中剩余的地址,在從第一LPAR接收到該第一LPAR的IPL已經(jīng)完成的第二通知時, 將所述第一 LPAR的地址從所述第一數(shù)據(jù)結(jié)構(gòu)中移除。
圖1是本發(fā)明在其中執(zhí)行的數(shù)據(jù)處理系統(tǒng)的框圖;
圖2是本發(fā)明的方法的一個方面的流程圖;以及
圖3,4,5是本發(fā)明的方法的其他方面的流程圖。
具體實施例方式
圖1是本發(fā)明在其中執(zhí)行的數(shù)據(jù)處理系統(tǒng)100的框圖。系統(tǒng)IOO包括一個或多個 主機(jī),共同地由主機(jī)110表示, 一個或多個存儲控制器,共同地由存儲控制器120表示,以及 一個或多個存儲設(shè)備,共同地由存儲設(shè)備140表示。存儲設(shè)備140可以是任何類型的存儲 設(shè)備,例如硬盤驅(qū)動器,或者這樣的設(shè)備的組合。主機(jī)110包括存儲器112和處理器114,存 儲器112用于存儲包含程序指令的計算機(jī)可讀代碼,處理器114執(zhí)行存儲器112中存儲的 指令。主機(jī)110可以創(chuàng)建多個邏輯分區(qū)(LPAR),其中的兩個在圖1中被示為116a和116b。 每個LPAR 116a,116b分別能夠運行一個或多個應(yīng)用118a,118b。 存儲控制器120包括存儲器122和處理器124,存儲器122用于存儲包含程序指 令的計算機(jī)可讀代碼,處理器124執(zhí)行存儲器122中存儲的指令。存儲控制器還包括由主 機(jī)適配器126表示的主機(jī)適配器或接口,通過其進(jìn)行與主機(jī)110的通信,以及由設(shè)備適配器 128表示的設(shè)備適配器或接口,通過其進(jìn)行與存儲設(shè)備140的通信。存儲控制器120還包括 兩個數(shù)據(jù)結(jié)構(gòu)130, 132。數(shù)據(jù)結(jié)構(gòu)130, 132中的一個或兩者可以存儲在存儲器122中或可 以存儲在其他存儲器中。 現(xiàn)在將參照圖2-5的流程圖描述本發(fā)明的方法。該方法可以由處理器114, 124通 過存儲器設(shè)備112,122中存儲的程序指令來執(zhí)行,可以由硬件,諸如主機(jī)IIO和存儲控制 器120中的ASIC來執(zhí)行,或者通過任何組合來執(zhí)行。LPAR 116a開始初始程序加載(步驟 200)并建立與存儲控制器120的通信路徑(步驟202)。接著LPAR 116a向存儲控制器120 傳輸命令(步驟204)通知存儲控制器120IPL正在進(jìn)行。該命令可以是單個命令,具有兩 個狀態(tài),例如具有"設(shè)置"和"重置"狀態(tài)的IPL指示符。替代地,該命令可以是兩個獨立命 令之一,第二個具有如下所述的"IPL完成"指示符。不管是單個命令還是兩個命令之一,該 命令可以是極端異常條件下準(zhǔn)許的新次序的現(xiàn)已定義的系統(tǒng)操作(DSO)命令的一部分或 新的z/0命令,例如"保留(Reserve)","長期忙碌(Long Busy)"等等。
現(xiàn)在轉(zhuǎn)到圖3(步驟206),存儲控制器120從LPAR 116a接收到命令,并將LPAR 116a的地址或其他身份特征存儲在數(shù)據(jù)結(jié)構(gòu)130中(步驟302)。優(yōu)選地,數(shù)據(jù)結(jié)構(gòu)130足 夠大來存儲正經(jīng)歷IPL的多于一個LPAR的地址。還優(yōu)選地,LPAR的地址包括LPAR 116a的 全球網(wǎng)絡(luò)節(jié)點號(WWNN)。相比而言,世界端口號(WWPN)僅識別主機(jī)適配器端口,這不足以 特定于本發(fā)明。數(shù)據(jù)結(jié)構(gòu)130可以是寄存器,存儲器122中的位置,查找表,或與存儲控制 器120相關(guān)聯(lián)的、能夠存儲LPAR 116a的身份特征的任何其他結(jié)構(gòu)。
5
當(dāng)存儲控制器120啟動包改變狀態(tài)中斷(圖4,步驟404)時,它在PPRC關(guān)系中并 向所有已知路徑和路徑組產(chǎn)生所有設(shè)備的地址列表,諸如麗NN列表(步驟406)。該列表 可以存儲在第二數(shù)據(jù)結(jié)構(gòu)132中。與第一數(shù)據(jù)結(jié)構(gòu)130 —樣,第二數(shù)據(jù)結(jié)構(gòu)132可以是寄 存器,存儲器122中的位置,查找表,或與存儲控制器120相關(guān)聯(lián)的、能夠存儲包改變狀態(tài)中 斷的接收方的地址的任何其他結(jié)構(gòu)。取代于接著對地址進(jìn)行排隊,存儲控制器120首先比 較第一數(shù)據(jù)結(jié)構(gòu)中識別正經(jīng)歷IPL的LPAR的任何地址(步驟408)。如果在數(shù)據(jù)結(jié)構(gòu)列表 132中找到LPAR 116a的地址,將該地址從列表中移除(步驟410)。接下來,或者如果在列 表132中沒有找到LPAR116a的地址,存儲控制器120將132列表中剩余的地址排隊,并將 包改變狀態(tài)中斷僅僅傳輸?shù)侥切┑刂?步驟412)。由此,LPAR 116a和正經(jīng)歷IPL的任何 其他LPAR將不必應(yīng)對這樣的中斷。 當(dāng)LPAR 116a的IPL完成時(步驟208,圖2) ,LPAR 116a向存儲控制器發(fā)送命令 (步驟210)指示出IPL已完成。移至圖5(步驟212),存儲控制器120接收該命令(步驟 514)。如上所述,該命令是原始命令的第二狀態(tài),或者是單獨的命令。當(dāng)存儲控制器120已 經(jīng)從LPAR 16a接收到第二命令時,它將LPAR 116a的地址從第一數(shù)據(jù)結(jié)構(gòu)130中移除(步 驟516),允許LPAR 116a接收接下來的包改變狀態(tài)中斷。 重要的是要注意,盡管在全功能的數(shù)據(jù)處理系統(tǒng)的背景下描述了本發(fā)明,但是本 領(lǐng)域技術(shù)人員將認(rèn)識到,本發(fā)明的方法能夠以指令的計算機(jī)可讀介質(zhì)的形式和各種形式分 布,本發(fā)明的適用無關(guān)于實際用于執(zhí)行該分布的特定類型的信號承載介質(zhì)。計算機(jī)可讀介 質(zhì)的例子包括可讀類型的介質(zhì),例如軟盤、硬盤驅(qū)動器、RAM和CD-ROM,以及傳輸類型的介 質(zhì),例如數(shù)字和模擬通信鏈路。 對本發(fā)明的描述出于示例和說明的目的而呈現(xiàn),但并不意圖將本發(fā)明限制為公開 的形式。許多修改和變體對于本領(lǐng)域技術(shù)人員將是顯而易見的。選擇并描述了實施例用以 最好地解釋本發(fā)明的原理、實際應(yīng)用,并使得本領(lǐng)域技術(shù)人員能夠理解本發(fā)明,因為具有各 種修改的各種實施例可以適于考慮到的具體使用。并且,盡管以上關(guān)于方法和系統(tǒng)進(jìn)行了 描述,但是利用這樣的計算機(jī)程序產(chǎn)品或方法也可以滿足本領(lǐng)域中的需要,該計算機(jī)程序 產(chǎn)品包括用于管理在主機(jī)中建立的邏輯分區(qū)(LPAR)的初始程序加載(IPL)的指令,該方法 用于部署計算架構(gòu),包括將計算機(jī)可讀代碼集成到計算系統(tǒng)中用于管理在主機(jī)中建立的邏 輯分區(qū)(LPAR)的初始程序加載(IPL)。
權(quán)利要求
一種存儲控制器,包括第一數(shù)據(jù)結(jié)構(gòu),用于在從多個邏輯分區(qū)(LPAR)中第一LPAR接收到第一LPAR的初始程序加載(IPL)已經(jīng)開始的第一通知時存儲第一LPAR的地址;第二數(shù)據(jù)結(jié)構(gòu),用于存儲新啟動的包改變狀態(tài)中斷所指向的所有LPAR的地址;處理器;以及用于存儲處理器可執(zhí)行的計算機(jī)可讀代碼的存儲器,所述代碼包括這樣的指令,所述指令用于將所述第一數(shù)據(jù)結(jié)構(gòu)中的地址與所述第二數(shù)據(jù)結(jié)構(gòu)中的地址進(jìn)行比較;如果所述第二數(shù)據(jù)結(jié)構(gòu)包括所述第一LPAR的地址,則將第一LPAR的地址從所述第二數(shù)據(jù)結(jié)構(gòu)中移除;將所述包改變狀態(tài)中斷僅僅傳輸?shù)剿龅诙?shù)據(jù)結(jié)構(gòu)中剩余的地址;以及在從第一LPAR接收到該第一LPAR的IPL已經(jīng)完成的第二通知時,將所述第一LPAR的地址從所述第一數(shù)據(jù)結(jié)構(gòu)中移除。
2. 根據(jù)權(quán)利要求1的存儲控制器,其中所述第一數(shù)據(jù)結(jié)構(gòu)包括用于存儲LPAR的全球網(wǎng) 絡(luò)節(jié)點號的存儲器。
3. 根據(jù)權(quán)利要求1或2的存儲控制器,其中來自第一 LPAR的所述第一和第二通知包括 具有IPL指示符的單個命令,所述IPL指示符具有第一和第二狀態(tài)。
4. 根據(jù)權(quán)利要求3的存儲控制器,其中所述單個命令包括定義的子系統(tǒng)操作命令。
5. 根據(jù)權(quán)利要求1至4中任一個的存儲控制器,其中來自第一 LPAR的所述第一通知包 括第一命令,來自第一 LPAR的所述第二通知包括第二命令。
6. 根據(jù)權(quán)利要求5的存儲控制器,其中所述第一和第二命令的每一個包括定義的子系 統(tǒng)操作命令。
7. —種可用于可編程計算機(jī)的計算機(jī)可讀介質(zhì)的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn) 品具有包含在其中的計算機(jī)可讀代碼,用于管理在主機(jī)中建立的邏輯分區(qū)(LPAR)的初始 程序加載(IPU,所述計算機(jī)可讀代碼包括這樣的指令,所述指令用于建立到LPAR的邏輯路徑;從所述LPAR接收LPAR的IPL已經(jīng)開始的第一通知; 在表明激活的IPL處理的數(shù)據(jù)結(jié)構(gòu)中存儲LPAR的地址; 啟動包改變狀態(tài)中斷;將所存儲的地址與所述包改變狀態(tài)中斷所指向的所有LPAR的列表中的地址進(jìn)行比較;如果地址列表中包含所存儲的地址,則將所存儲的地址從所述列表中移除; 將所述包改變狀態(tài)中斷僅僅傳輸?shù)剿隽斜碇械牡刂罚?從所述LPAR接收LPAR的IPL已經(jīng)完成的第二通知;以及 將所述LPAR的地址從所述數(shù)據(jù)結(jié)構(gòu)中移除。
8. 根據(jù)權(quán)利要求7的計算機(jī)程序產(chǎn)品,其中用于在數(shù)據(jù)結(jié)構(gòu)中存儲地址的指令包括用 于在數(shù)據(jù)結(jié)構(gòu)中存儲LPAR的全球網(wǎng)絡(luò)節(jié)點號的指令。
9. 根據(jù)權(quán)利要求7或8的計算機(jī)程序產(chǎn)品,其中來自第一LPAR的所述第一和第二通知 包括具有IPL指示符的單個命令,所述IPL指示符具有第一和第二狀態(tài)。
10. 根據(jù)權(quán)利要求9的計算機(jī)程序產(chǎn)品,其中所述單個命令包括定義的子系統(tǒng)操作命令。
11. 根據(jù)權(quán)利要求7至10中任一個的計算機(jī)程序產(chǎn)品,其中來自第一 LPAR的所述第一 通知包括第一命令,來自第一 LPAR的所述第二通知包括第二命令。
12. 根據(jù)權(quán)利要求ll的計算機(jī)程序產(chǎn)品,其中所述第一和第二命令的每一個包括定義 的子系統(tǒng)操作命令。
13. —種存儲控制器,包括接口,通過該接口與主機(jī)中的邏輯分區(qū)(LPAR)建立路徑;數(shù)據(jù)結(jié)構(gòu);處理器;以及用于存儲處理器可執(zhí)行的計算機(jī)可讀代碼的存儲器,所述代碼包括這樣的指令,所述 指令用于通過所述接口從所述LPAR接收LPAR的IPL已經(jīng)開始的第一定義的子系統(tǒng)操作命令; 在表明激活的IPL處理的數(shù)據(jù)結(jié)構(gòu)中存儲LPAR的全球網(wǎng)絡(luò)節(jié)點號(WWNN); 啟動包改變狀態(tài)中斷;將所存儲的WWNN與所述包改變狀態(tài)中斷所指向的所有LPAR的列表中的WWNN進(jìn)行比較;如果WWNN列表中包含所存儲的麗NN,則將所存儲的WWNN從所述列表中移除; 將所述包改變狀態(tài)中斷僅僅傳輸?shù)剿隽斜碇械柠怤N ; 從所述LPAR接收LPAR的IPL已經(jīng)完成的第二定義的子系統(tǒng)操作命令;以及 將所述LPAR的WWNN從所述數(shù)據(jù)結(jié)構(gòu)中移除。
14. 根據(jù)權(quán)利要求13的存儲控制器,其中來自LPAR的第一和第二通知包括具有IPL指 示符的單個命令,所述IPL指示符具有第一和第二狀態(tài)。
15. 根據(jù)權(quán)利要求13或14的存儲控制器,其中來自LPAR的第一通知包括第一命令,來 自LPAR的第二通知包括第二命令。
全文摘要
通過建立從存儲控制器到邏輯分區(qū)(LPAR)的邏輯路徑來管理LPAR的初始程序加載(IPL)。當(dāng)存儲控制器從LPAR接收到IPL已經(jīng)開始的通知時,在數(shù)據(jù)結(jié)構(gòu)中存儲LPAR的地址。在存儲控制器啟動包改變狀態(tài)中斷之后,將所存儲的地址與中斷所指向的所有LPAR列表中的地址進(jìn)行比較。如果地址列表包括所存儲的地址,就將所存儲的地址從列表中移除。由此,將包改變狀態(tài)中斷僅僅傳輸?shù)搅斜碇械牡刂罚粝翷PAR來完成IPL而不會中斷。在存儲控制器從LPAR接收到IPL已經(jīng)完成的通知之后,將LPAR的地址從數(shù)據(jù)結(jié)構(gòu)中移除。
文檔編號G06F9/445GK101765829SQ200880101125
公開日2010年6月30日 申請日期2008年8月5日 優(yōu)先權(quán)日2007年8月13日
發(fā)明者B·克拉克, B·彼得森, J·科羅納多 申請人:國際商業(yè)機(jī)器公司