專利名稱:用于同步邏輯系統(tǒng)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于同步邏輯系統(tǒng)的方法、系統(tǒng)和制造物。
背景技術(shù):
在特定計算環(huán)境中,主機可以與存儲控制單元通信,其中存儲控制單元控制物理存儲。由存儲控制單元控制的物理存儲可以邏輯表示為存儲控制單元中的多個邏輯系統(tǒng)。
在主機中的應用可以關(guān)于存儲控制單元的邏輯子系統(tǒng)執(zhí)行輸入/輸出(I/O)操作。例如,在主機中的應用可以寫入存儲控制單元的邏輯子系統(tǒng)。存儲控制單元可以經(jīng)由邏輯和物理卷(volume)保持邏輯子系統(tǒng)和物理存儲器中的存儲介質(zhì)之間的邏輯關(guān)系。雖然數(shù)據(jù)可以在存儲控制單元的控制下物理地寫入物理存儲器的存儲介質(zhì)上,但是只要關(guān)系到主機中的應用,應用就在存儲控制單元中執(zhí)行關(guān)于可用邏輯子系統(tǒng)的寫操作。
可以在存儲控制單元中添加、刪除或修改邏輯子系統(tǒng)。存儲控制單元的邏輯子系統(tǒng)的特定修改(諸如邏輯子系統(tǒng)的移除)可能致使從主機發(fā)送到存儲控制單元的I/O操作的失敗。
發(fā)明內(nèi)容
提供了方法、系統(tǒng)和制造物,其中在特定的實施例中,存儲控制單元檢測包含在存儲控制單元中的多個邏輯子系統(tǒng)的配置的改變。由存儲控制單元發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變。由存儲控制單元接收指向可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求,其中可用邏輯子系統(tǒng)是根據(jù)多個邏輯子系統(tǒng)的配置確定的。
在特定的附加實施例中,將所述通知發(fā)送到至少一個主機,數(shù)據(jù)傳送請求是來自至少一個主機的I/O操作,并且I/O操作僅僅指向可用邏輯子系統(tǒng)。
在進一步的實施例中,產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng)。在存儲控制單元中創(chuàng)建新的邏輯子系統(tǒng),其中新邏輯子系統(tǒng)的創(chuàng)建引起多個邏輯子系統(tǒng)的配置改變。更新數(shù)據(jù)結(jié)構(gòu)來指示新的邏輯子系統(tǒng)是可用的。在新的邏輯子系統(tǒng)是可用的通知中做出該指示。在額外的實施例中,在連接到存儲控制單元的主機中接收該通知。主機通過使用新的邏輯子系統(tǒng)為數(shù)據(jù)傳送而嘗試建立先前拒絕的邏輯路徑。建立到新的邏輯子系統(tǒng)的用于數(shù)據(jù)傳送的邏輯路徑。
在進一步的實施例中,產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng)。在存儲控制單元中移除邏輯子系統(tǒng),其中邏輯子系統(tǒng)的移除引起多個邏輯子系統(tǒng)的配置改變。更新數(shù)據(jù)結(jié)構(gòu)來指示移除的邏輯子系統(tǒng)是不可用的。在移除的邏輯子系統(tǒng)是不可用的通知中做出該指示。在額外的實施例中,在連接到存儲控制單元的主機中接收該通知。主機根據(jù)該通知移除到存儲控制單元的邏輯路徑。
在進一步的實施例中,由存儲控制單元接收到多個邏輯子系統(tǒng)的一個邏輯子系統(tǒng)的建立邏輯路徑請求。由存儲控制單元確定該邏輯子系統(tǒng)是否可用。存儲控制單元響應于確定邏輯子系統(tǒng)為可用而接受建立邏輯路徑請求。存儲控制單元響應于確定邏輯子系統(tǒng)為不可用而拒絕建立邏輯路徑請求。在額外的實施例中,響應于接受建立邏輯路徑請求來產(chǎn)生數(shù)據(jù)傳送請求。
在進一步的實施例中,該所述通知是狀態(tài)改變通知,并且根據(jù)狀態(tài)改變通知,在存儲控制單元和連接到存儲控制單元的至少一個主機之間同步對應于多個邏輯子系統(tǒng)的信息。
還提供了用于配置計算基層架構(gòu)的方法,包括將計算機可讀代碼集成到計算系統(tǒng)中,其中計算系統(tǒng)與代碼組合能夠執(zhí)行在特定實施例中描述的操作。
現(xiàn)在參照附圖,其中相同的附圖標記代表相應的部分圖1圖解根據(jù)特定實施例的計算環(huán)境的方框圖;圖2圖解了顯示如何在根據(jù)特定實施例的計算環(huán)境中執(zhí)行通信的方框圖;圖3圖解了由根據(jù)特定實施例的存儲控制單元中的同步器響應于邏輯子系統(tǒng)的添加或刪除而執(zhí)行的操作;圖4圖解了由根據(jù)特定實施例的存儲控制單元中的同步器響應于從主機接收的邏輯路徑請求而執(zhí)行的操作;
圖5圖解了由根據(jù)特定實施例的主機應用響應于接收到用于指示已經(jīng)添加了邏輯子系統(tǒng)的狀態(tài)改變通知而執(zhí)行的操作;圖6圖解了由根據(jù)特定實施例的主機應用響應于接收到用于指示已經(jīng)刪除了邏輯子系統(tǒng)的狀態(tài)改變通知而執(zhí)行的操作;以及圖7圖解了其中根據(jù)特定實施例的、實現(xiàn)了特定實施例的系統(tǒng)。
具體實施例方式
在下面的描述中,參照組成本申請一部分并圖解了幾個實施例的附圖。應該理解的是,可以利用其它實施例并可以做出結(jié)構(gòu)和操作的改變。
圖1圖解根據(jù)特定實施例的計算環(huán)境100的方框圖。計算環(huán)境100包括通過一個或多個開關(guān)106連接到多個主機104a、104b、......、104n的存儲控制單元102。存儲控制單元102包括映射到對應于由存儲控制單元102控制的物理存儲裝置110的物理子系統(tǒng)的邏輯子系統(tǒng)108a、108b、......、108m。多個主機104a、104b、......、104n包括與邏輯子系統(tǒng)108a、108b、......、108m執(zhí)行I/O操作的多個主機應用112a、112b、......、112n。
多個主機104a、104b、......、104n可以包括任何合適的計算設備,包括那些本領(lǐng)域公知的設備,諸如個人計算機、工作站、大型機、手持計算機、掌上計算機、電話設備、網(wǎng)絡應用、刀片計算機、存儲服務器等等。存儲控制單元102可以包括任何控制到物理存儲裝置110的計算設備。物理存儲裝置110可以包括任何合適的數(shù)據(jù)存儲裝置,包括那些本領(lǐng)域公知的設備,諸如盤驅(qū)動器、磁帶驅(qū)動器等。在特定的實施例中,連接多個主機104a、104b、......、104n與存儲控制單元102的一個或多個開關(guān)可以包括企業(yè)系統(tǒng)連接(ESCON(IBM公司的商標或注冊商標))開關(guān)。例如,使用光纖技術(shù)的ESCON開關(guān)可以將包括IBM S/390(IBM公司的商標或注冊商標)或其它計算機的主機104a、104b、......、104n連接到存儲控制單元102。
雖然圖1顯示的每個主機擁有單一的主機應用,但是可以在每個主機中執(zhí)行更多或更少的主機應用。此外,在多個主機104a、104b、......、104n上運行的主機應用112a、112b、......、112n的數(shù)量可以與主機104a、104b、......、104n的數(shù)量不同。
由于邏輯子系統(tǒng)108a、108b、......、108m的添加、移除和修改,在存儲控制單元102中的邏輯子系統(tǒng)108a、108b、......、108m的配置可以改變。例如,諸如主機104a的示例性主機可以建立與諸如邏輯子系統(tǒng)108b的示例性邏輯子系統(tǒng)的通信。如果移除了示例性邏輯子系統(tǒng)108b,則從主機104a到示例性邏輯子系統(tǒng)108b的I/O操作可能失敗。邏輯子系統(tǒng)108a、108b、......、108m可以包括任意多個邏輯子系統(tǒng),其中每個邏輯子系統(tǒng)包括對應于一個或多個存儲在物理存儲裝置110中的物理卷的至少一個邏輯存儲卷。
在特定的實施例中,當存儲控制單元102中的邏輯子系統(tǒng)108a、108b、......、108m的配置發(fā)生改變時,通過在存儲控制單元102中實現(xiàn)的同步應用114可以將配置改變通知到主機104a、104b、......、104n。同步應用114還可以稱為同步器,并且可以以軟件、硬件、固件或任何它們的組合實現(xiàn)。作為由同步器114通知配置改變的結(jié)果,主機104a、104b、......、104n可以避免執(zhí)行將導致存取邏輯子系統(tǒng)失敗的I/O操作。
因此,圖1圖解了存儲控制單元102的同步器114將邏輯子系統(tǒng)108a、108b、......、108m的配置改變通知到主機104a、104b、......、104n的特定實施例。在特定的實施例中,主機104a、104b、......、104n在發(fā)送I/O命令到存儲控制單元102之前考慮邏輯子系統(tǒng)108a、108b、......、108m的配置。在特定實施例中,主機104a、104b、......、104n不發(fā)送到不可用的邏輯子系統(tǒng)的I/O命令。
圖2圖解了顯示如何在根據(jù)特定實施例的計算環(huán)境100中執(zhí)行示例性通信的方框圖。
從主機104a、104b、......、104n中選擇的示例性主機104a可以包括示例性主機應用112a。主機應用112a可以向存儲控制單元102發(fā)送‘建立邏輯路徑’請求200,其中‘建立邏輯路徑’請求200嘗試存取存儲控制單元102的邏輯子系統(tǒng)108a、108b、......、108m。如果‘建立邏輯路徑’請求200指示的邏輯子系統(tǒng)可用,則存儲控制單元102中的同步器114或某些其他應用可以接受邏輯路徑請求200。為了確定‘建立邏輯路徑’請求200指示的邏輯子系統(tǒng)的可用性,同步器可以參照存儲在實現(xiàn)于存儲控制單元102中的數(shù)據(jù)結(jié)構(gòu)202。數(shù)據(jù)結(jié)構(gòu)202可以記錄邏輯子系統(tǒng)108a、108b、......、108m中哪些是可存取的。在特定的實施例中,數(shù)據(jù)結(jié)構(gòu)202可以包括指針數(shù)組,其中每個指針可以定位邏輯子系統(tǒng)。
一旦作為成功完成‘建立邏輯路徑’請求的結(jié)果,在主機應用112a和邏輯子系統(tǒng)之間建立了邏輯路徑,主機應用112a就可以對于建立了邏輯路徑的邏輯子系統(tǒng)執(zhí)行I/O操作204。
在特定實施例中,可以通過添加、移除或修改邏輯子系統(tǒng)108a、108b、......、108m來改變邏輯子系統(tǒng)108a、108b、......、108m。例如,可以添加新邏輯子系統(tǒng)或者可以移除邏輯子系統(tǒng)。如果移除邏輯子系統(tǒng),從主機應用112a到移除的邏輯子系統(tǒng)的任何I/O操作可能失敗。為了防止發(fā)生這樣的失敗,響應于邏輯子系統(tǒng)108a、108b、......、108m的配置的改變,同步器114可以向示例性主機104a或者向其它主機102b、......、102n發(fā)送狀態(tài)改變通知206,其中狀態(tài)改變通知206向主機104a、104b、......、104n指示邏輯子系統(tǒng)108a、108b、......、108m的改變的配置。
在特定的實施例中,響應于接收到狀態(tài)改變通知206,主機應用112a可以執(zhí)行關(guān)于邏輯路徑和邏輯子系統(tǒng)108a、108b、......、108m的診斷208。例如,主機診斷208可以通過到存儲控制單元102的命令來嘗試確定移除了哪個邏輯路徑。存儲控制單元可以向主機應用112a發(fā)送應答,其中該應答指示已經(jīng)移除了邏輯路徑。主機應用112a可以根據(jù)主機診斷208的結(jié)果建立新的邏輯路徑或者修改現(xiàn)有的邏輯路徑。
因此,圖2圖解了其中同步器114向主機104a、104b、......、104n發(fā)送用于指示邏輯子系統(tǒng)108a、108b、......、108m的配置改變的狀態(tài)改變通知206。根據(jù)所接收的狀態(tài)改變通知,諸如主機應用112a之類的主機應用可以執(zhí)行與可用邏輯子系統(tǒng)的I/O操作204。結(jié)果,不執(zhí)行與無效的(即不可用或不能操作的)邏輯子系統(tǒng)的I/O操作204。
圖3圖解了由根據(jù)特定實施例的存儲控制單元102中的同步器114響應于邏輯子系統(tǒng)的添加或刪除來執(zhí)行的操作。
在方框300開始控制,其中同步器114產(chǎn)生數(shù)據(jù)結(jié)構(gòu)202來跟蹤存儲控制單元102中有效的邏輯子系統(tǒng)。例如,在特定的實施例中,數(shù)據(jù)結(jié)構(gòu)202是一組指針,每個指針能夠定位可用邏輯子系統(tǒng),其中如果邏輯子系統(tǒng)能用于執(zhí)行I/O操作則該邏輯系統(tǒng)是可用的。從方框300開始,控制可以平行前進到方框302和308。
同步器114(在方框302)確定是否已經(jīng)在存儲控制單元102中動態(tài)創(chuàng)建新邏輯子系統(tǒng)。邏輯子系統(tǒng)的動態(tài)創(chuàng)建意味著已經(jīng)新創(chuàng)建邏輯子系統(tǒng)并添加到邏輯子系統(tǒng)108a、108b、......、108m,同時存儲控制單元102是運行的。如果同步器114(在方框302)確定沒有動態(tài)創(chuàng)建新的邏輯子系統(tǒng),則同步器114可以等待并再次(在方框302)確定是否已經(jīng)動態(tài)創(chuàng)建了新邏輯子系統(tǒng)。在特定的替換實施例中,同步器114可以從新產(chǎn)生的邏輯單元或其它應用接收已經(jīng)產(chǎn)生新邏輯單元的通知。
如果同步器114(在方框302)確定在存儲控制單元102中創(chuàng)建了新邏輯子系統(tǒng),則同步器114(在方框304)更新數(shù)據(jù)結(jié)構(gòu)202來包括這樣的信息,即已經(jīng)產(chǎn)生的新邏輯子系統(tǒng)是可用邏輯子系統(tǒng)。同步器114通知(在方框306)主機應用112a、......、112n新邏輯子系統(tǒng)是可用的。在特定的實施例中,通過發(fā)送狀態(tài)改變通知206到主機應用112a、......、112n來提供該通知。到主機應用112a、......、112n的通知指示邏輯子系統(tǒng)108a、108b、......、108m的配置已經(jīng)發(fā)生改變。
在方框308,同步器114確定是否在存儲控制單元102中動態(tài)刪除了邏輯子系統(tǒng)。動態(tài)刪除意味著已經(jīng)從邏輯子系統(tǒng)108a、108b、......、108m刪除了邏輯子系統(tǒng),同時存儲控制單元102是運行的。如果同步器114(在方框308)確定沒有動態(tài)刪除新邏輯子系統(tǒng),則同步器114(在方框308)可以等待并再次(在方框308)確定是否動態(tài)刪除了邏輯子系統(tǒng)。在特定的替換實施例中,同步器114可以接收來自存儲控制單元中的某些其它應用的、關(guān)于已經(jīng)動態(tài)刪除邏輯子系統(tǒng)的通知。
如果同步器114(在方框308)確定在存儲控制單元102中動態(tài)刪除了邏輯子系統(tǒng),則同步器114(在方框310)移除所有與所刪除的邏輯子系統(tǒng)相關(guān)的邏輯路徑。例如,如果邏輯路徑正在用于與所刪除的邏輯單元進行I/O操作,則移除該邏輯路徑,即,不能再使用該邏輯路徑。
同步器114(在方框312)向主機應用112a、......、112n發(fā)送狀態(tài)改變通知206,其中狀態(tài)改變通知206向主機應用112a、......、112n指示邏輯子系統(tǒng)108a、108b、......、108m的配置已經(jīng)發(fā)生改變。
因此,圖3圖解了同步器114響應于改變邏輯子系統(tǒng)108a、108b、......、108m的配置的邏輯子系統(tǒng)的添加或刪除、向主機104a、104b、......、104n發(fā)送狀態(tài)改變通知206的特定實施例。
圖4圖解了由根據(jù)特定實施例的存儲控制單元102中的同步器114響應于從主機104a、104b、......、104n接收的‘建立邏輯路徑’請求200所執(zhí)行的操作。
在方框400開始控制,其中同步器114從諸如主機應用112a的主機應用接收對邏輯子系統(tǒng)的‘建立邏輯路徑’請求200。
同步器114(在方框402)從數(shù)據(jù)結(jié)構(gòu)202確定經(jīng)由‘建立邏輯路徑’請求200向其請求邏輯路徑的邏輯子系統(tǒng)是否有效,如果有效,則同步器114(在方框404)接受‘建立邏輯路徑’請求200,使得主機應用112a可以在建立的到邏輯子系統(tǒng)的邏輯路徑上執(zhí)行I/O操作。
如果同步器114(在方框402)從數(shù)據(jù)結(jié)構(gòu)202確定經(jīng)由‘建立邏輯路徑’請求200向其請求邏輯路徑的邏輯子系統(tǒng)是無效的,則同步器114(在方框406)拒絕‘建立邏輯路徑’請求200。因此,不允許到向其請求邏輯路徑的邏輯子系統(tǒng)的I/O操作。
因此,圖4圖解了這樣的特定實施例,即響應于從諸如主機104a之類的主機接收的‘建立邏輯路徑’請求200,如果邏輯子系統(tǒng)是有效的,則同步器114允許建立邏輯路徑,而如果邏輯子系統(tǒng)是無效的,則同步器114不允許建立邏輯路徑。通過在邏輯子系統(tǒng)是無效的時不允許建立邏輯路徑,同步器114使主機104a、104b、......、104n避免產(chǎn)生指向不可用的邏輯單元的I/O操作。
圖5圖解了由根據(jù)特定實施例的主機應用112a、......、112n響應于接收到指示已經(jīng)將邏輯子系統(tǒng)添加到存儲控制單元102的狀態(tài)改變通知206來執(zhí)行的操作。
在方框500開始控制,其中諸如實現(xiàn)在主機104中的主機應用112a的主機應用接收用于指示已經(jīng)動態(tài)將邏輯子系統(tǒng)添加到存儲控制單元102的狀態(tài)改變通知206??梢杂赏狡?14在圖3的方框306產(chǎn)生指示已經(jīng)動態(tài)將邏輯子系統(tǒng)添加到存儲控制單元102的狀態(tài)改變通知206。
主機應用112a(在方框502)確定是否由于在建立先前請求的邏輯路徑中存儲控制單元102中的邏輯子系統(tǒng)不可用,因而來自主機應用112a的任何先前的‘建立邏輯路徑’請求200已經(jīng)被拒絕。如果是這樣,則主機應用112a(在方框504)嘗試再次建立先前曾經(jīng)拒絕的邏輯路徑。(在方框506)可以建立特定的先前拒絕的邏輯路徑,并且主機應用112a(在方框508)通過建立的邏輯路徑執(zhí)行I/O操作。主機應用112(在方框510)可以建立到動態(tài)添加的邏輯子系統(tǒng)的邏輯路徑,以與動態(tài)添加的邏輯子系統(tǒng)執(zhí)行I/O操作。
如果主機應用112a(在方框502)確定沒有因為邏輯子系統(tǒng)的不可用性而被拒絕的先前的‘建立邏輯路徑’請求,則主機應用112a(在方框510)建立到動態(tài)添加的邏輯子系統(tǒng)的邏輯路徑來執(zhí)行I/O操作。
因此,圖5圖解了主機應用響應于接收到用于指示邏輯子系統(tǒng)已經(jīng)動態(tài)添加到存儲控制單元102的狀態(tài)改變通知、嘗試建立先前拒絕邏輯路徑的特定實施例。此外,主機應用還可以建立邏輯路徑來對于動態(tài)添加的邏輯子系統(tǒng)執(zhí)行I/O操作。
圖6圖解了由根據(jù)特定實施例的主機應用112a、......、112n響應于接收到指示已經(jīng)刪除了存儲控制單元102中的邏輯子系統(tǒng)的狀態(tài)改變通知206來執(zhí)行的操作。
在方框600開始控制,其中諸如主機應用112a的主機應用接收用于指示已經(jīng)從存儲控制單元102動態(tài)刪除邏輯子系統(tǒng)的狀態(tài)改變通知206。在特定的實施例中,作為在圖3的方框312中執(zhí)行的操作的結(jié)果,可以由主機應用112a接收用于指示已經(jīng)從存儲控制單元102動態(tài)刪除邏輯子系統(tǒng)的狀態(tài)改變通知206,其中同步器114向在主機104a、104b、......、104n上的主機應用112a、......、112n發(fā)送狀態(tài)改變通知206。
主機應用112a(在方框602)運行主機診斷208來確定移除了哪個邏輯路徑。為了執(zhí)行主機診斷208,主機應用112a可以發(fā)送用于檢測邏輯子系統(tǒng)108a、108b、......、108m的驅(qū)動測試初始化命令來確定移除了哪個邏輯路徑。
響應于驅(qū)動測試初始化命令,主機應用112a(在方框604)可以從存儲控制單元102接收驅(qū)動測試初始化應答,其中應答指示移除了哪個邏輯路徑。主機應用112a(在方框606)移除所指示的邏輯路徑并可以再次嘗試建立邏輯路徑。主機應用112a(在方框608)還從存儲控制單元102接收‘邏輯路徑移除’命令,其中‘邏輯路徑移除’命令指示所移除的邏輯路徑不存在。數(shù)據(jù)結(jié)構(gòu)202記錄對應于所移除的邏輯路徑的不可用邏輯子系統(tǒng)。
因此,圖6圖解了主機應用響應于接收用于指示存儲控制單元102中的邏輯子系統(tǒng)的刪除的狀態(tài)改變通知206,運行用于動態(tài)跟蹤存儲控制單元102中移除的邏輯子系統(tǒng)的主機診斷208的特定實施例。
在特定實施例中,存儲控制單元102響應于邏輯子系統(tǒng)108a、108b、......、108m的配置的改變,向多個主機104a、104b、......、104n發(fā)送狀態(tài)改變通知206。特定的實施例通過檢查狀態(tài)改變通知206,提供機制來檢測存儲控制單元中的可用邏輯子系統(tǒng)的配置與主機中的邏輯子系統(tǒng)的期望配置之間的不匹配。在特定實施例中,對可用邏輯子系統(tǒng)作出的‘建立邏輯路經(jīng)’被拒絕,并且主機阻止對可用邏輯子系統(tǒng)執(zhí)行I/O操作。與企圖對可用邏輯子系統(tǒng)進行I/O操作并導致不成功的I/O操作的情況相比,避免對可用邏輯子系統(tǒng)的I/O操作可以改善主機104a、104b、......、104n和存儲控制單元102的性能。特定實施例允許在主機104a、104b、......、104n和存儲控制單元102之間同步有關(guān)于邏輯子系統(tǒng)108a、108b、......、108m的配置的信息。
額外實施例的詳細內(nèi)容所描述的技術(shù)可以實現(xiàn)為方法、裝置或包含了軟件、固件、微代碼、硬件和/或任何組合的制造物。這里使用的術(shù)語“制造物”指的是程序命令、代碼和/或在電路中實現(xiàn)的邏輯[如,集成電路芯片、可編程門陣列(PGA)、ASIC等]和/或計算機可讀介質(zhì)(如CD-ROM、DVD-ROM、光盤等)、易失性和非易失性存儲器器件[如,電可擦除可編程只讀存儲器(EEPROM)、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、隨機存儲器(RAM)、動態(tài)隨機存儲器(DRAM)、靜態(tài)隨機存儲器(SRAM)、閃存、固件、可編程邏輯等]??梢杂芍T如處理器的機器存取并執(zhí)行在計算機可讀介質(zhì)中的代碼。在特定的實施例中,可以進一步通過發(fā)送介質(zhì)或經(jīng)由網(wǎng)絡從文件服務器存取組成實施例的代碼。在這種情況下,其中實現(xiàn)了代碼的制造物可以包括諸如網(wǎng)絡發(fā)送線、無線發(fā)送媒體、通過空間傳播的信號、無線電波、紅外信號等等的發(fā)送介質(zhì)。當然,本領(lǐng)域技術(shù)人員將認識到可以在不背離實施例的范圍的情況下做出許多修改,并且制造物可以包括任何本領(lǐng)域公知的信息承載介質(zhì)。例如,制造物包括具有在其中存儲命令的存儲介質(zhì),其中當由機器執(zhí)行命令時使得產(chǎn)生正在執(zhí)行的操作。
圖7圖解了可以實現(xiàn)特定實施例的系統(tǒng)700的方框圖。在特定的實施例中,可以根據(jù)系統(tǒng)700實現(xiàn)存儲控制單元102和主機104a、104b、......、104n。系統(tǒng)700可以包括在特定實施例中可以包括處理器704的電路702。系統(tǒng)700還可以包括存儲器706(如,易失性存儲器器件),和存儲裝置708。在存儲控制單元102或主機104a、104b、......、104n可能找到或者可能找不到系統(tǒng)70的特定實施例。存儲裝置708可以包括非易失性存儲器器件(如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、閃存、固件、可編程邏輯等)、磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器等。存儲裝置708可以包括內(nèi)部存儲器件、附加的存儲器件和/或網(wǎng)絡可存取存儲器件。系統(tǒng)700可以包括其中包含可以裝入存儲器706并由處理器704或電路702執(zhí)行的代碼712的程序邏輯710。在特定的實施例中,程序邏輯710包括可以存儲在存儲裝置708中的代碼710。因此,雖然圖7顯示了程序邏輯710獨立于其它元件,但是程序邏輯710可以在存儲器706和/或電路702中實現(xiàn)。
特定實施例可以指的是用于由人或者自動處理集成計算機可讀代碼配置計算指令到計算機系統(tǒng)中的方法,其中與計算系統(tǒng)相結(jié)合的代碼能夠執(zhí)行所述實施例的操作。在特定的實施例中,不同的存儲系統(tǒng)可以用于計算環(huán)境,諸如獨立磁盤冗余陣列(RAID)、磁盤連續(xù)捆束陣列(Just a bunch of disks(JBOD))、直接存取存儲設備(DASD)、磁帶等。
至少可以并行以及串行執(zhí)行圖3-6的特定操作。在另外的實施例中,可以以不同的順序執(zhí)行特定操作,或者對其進行修改或移除。
此外,為了說明的目的,以分離的模塊描述了許多軟件和硬件部件。這些部件可以集成在更少數(shù)量的部件中,或者分離為更多的部件。此外,根據(jù)描述由特定部件執(zhí)行的特定操作也可以由其它部件執(zhí)行。
在圖1-7中參照并顯示的數(shù)據(jù)結(jié)構(gòu)和部件描述為具有特定類型的信息。在另外的實施例中,可以不同地構(gòu)造數(shù)據(jù)結(jié)構(gòu)和部件,并且與圖中所參照并顯示的那些數(shù)據(jù)結(jié)構(gòu)和部件具有更少、更多或不同的字段或不同的功能。
因此,為了說明和描述的目的給出了實施例的上述描述。但是不期望將實施例限制在公開的簡單形式上。在上述教導中可以由多種修改和變型。
權(quán)利要求
1.一種方法,包括在存儲控制單元中檢測包含在存儲控制單元中的多個邏輯子系統(tǒng)的配置的改變;由存儲控制單元發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變;和由存儲控制單元接收指向存儲控制單元中的可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求,其中可用邏輯子系統(tǒng)是根據(jù)多個邏輯子系統(tǒng)的配置確定的。
2.如權(quán)利要求1所述方法,其中將所述通知發(fā)送到至少一個主機,數(shù)據(jù)傳送請求是來自至少一個主機的I/O操作,并且I/O操作僅僅指向可用邏輯子系統(tǒng)。
3.如權(quán)利要求1所述的方法,還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中創(chuàng)建新的邏輯子系統(tǒng),其中創(chuàng)建新邏輯子系統(tǒng)使多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示新的邏輯子系統(tǒng)是可用的;和在通知中指示新的邏輯子系統(tǒng)是可用的。
4.如權(quán)利要求3所述的方法,還包括在連接到存儲控制單元的主機中接收該通知;主機通過使用新的邏輯子系統(tǒng)為數(shù)據(jù)傳送而嘗試建立先前拒絕的邏輯路徑;和建立到新的邏輯子系統(tǒng)的用于數(shù)據(jù)傳送的邏輯路徑。
5.如權(quán)利要求1所述的方法,還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中移除邏輯子系統(tǒng),其中邏輯子系統(tǒng)的移除引起多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示移除的邏輯子系統(tǒng)是不可用的;和在通知中指示移除的邏輯子系統(tǒng)是不可用的。
6.如權(quán)利要求5所述的方法,還包括在連接到存儲控制單元的主機中接收該通知;和主機根據(jù)該通知移除到存儲控制單元的至少一條邏輯路徑。
7.如權(quán)利要求1所述的方法,還包括由存儲控制單元接收到多個邏輯子系統(tǒng)的一個邏輯子系統(tǒng)的建立邏輯路徑請求;由存儲控制單元確定該邏輯子系統(tǒng)是否可用;響應于確定邏輯子系統(tǒng)為可用而接受建立邏輯路徑請求;和響應于確定邏輯子系統(tǒng)為不可用而拒絕建立邏輯路徑請求。
8.如權(quán)利要求7所述的方法,其中響應于接受建立邏輯路徑請求而產(chǎn)生數(shù)據(jù)傳送請求。
9.如權(quán)利要求1所述的方法,其中所述通知是狀態(tài)改變通知,并且根據(jù)狀態(tài)改變通知,在存儲控制單元和連接到存儲控制單元的至少一個主機之間同步對應于多個邏輯子系統(tǒng)的信息。
10.一種與主機通信的系統(tǒng),包括存儲器;和連接到存儲器的處理器,其中處理器能夠執(zhí)行以下操作(i)檢測多個邏輯子系統(tǒng)的配置的改變;(ii)發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變;和(iii)接收指向可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求,其中可用邏輯子系統(tǒng)是根據(jù)多個邏輯子系統(tǒng)的配置確定的。
11.如權(quán)利要求10所述系統(tǒng),其中將所述通知發(fā)送到主機,數(shù)據(jù)傳送請求是來自主機的I/O操作,并且I/O操作僅僅指向可用邏輯子系統(tǒng)。
12.如權(quán)利要求10所述的系統(tǒng),其中該系統(tǒng)是存儲控制單元,并且操作還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中創(chuàng)建新的邏輯子系統(tǒng),其中新邏輯子系統(tǒng)的創(chuàng)建引起多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示新的邏輯子系統(tǒng)是可用的;和在通知中指示新的邏輯子系統(tǒng)是可用的。
13.如權(quán)利要求12所述的系統(tǒng),其中主機接收該通知,其中主機通過使用新的邏輯子系統(tǒng)為數(shù)據(jù)傳送而嘗試建立先前拒絕的邏輯路徑,并且主機建立到新的邏輯子系統(tǒng)的用于數(shù)據(jù)傳送的邏輯路徑。
14.如權(quán)利要求10所述的系統(tǒng),其中系統(tǒng)是存儲控制單元,并且操作還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中移除邏輯子系統(tǒng),其中邏輯子系統(tǒng)的移除引起多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示移除的邏輯子系統(tǒng)是不可用的;和在通知中指示移除的邏輯子系統(tǒng)是不可用的。
15.如權(quán)利要求14所述的系統(tǒng),其中主機接收該通知,并且根據(jù)該通知移除到存儲控制單元的至少一條邏輯路徑。
16.如權(quán)利要求10所述的系統(tǒng),其中系統(tǒng)是存儲控制單元,并且操作還包括由存儲控制單元接收到多個邏輯子系統(tǒng)的一個邏輯子系統(tǒng)的建立邏輯路徑請求;由存儲控制單元確定該邏輯子系統(tǒng)是否可用;響應于確定邏輯子系統(tǒng)為可用而接受建立邏輯路徑請求;和響應于確定邏輯子系統(tǒng)為不可用而拒絕建立邏輯路徑請求。
17.如權(quán)利要求16所述的方法,其中響應于接受建立邏輯路徑請求而產(chǎn)生數(shù)據(jù)傳送請求。
18.如權(quán)利要求10所述的方法,其中所述通知是狀態(tài)改變通知,并且根據(jù)狀態(tài)改變通知,在存儲控制單元和與存儲控制單元通信的主機之間同步對應于多個邏輯子系統(tǒng)的信息。
19.一種制造物,其中存儲控制單元包括多個邏輯子系統(tǒng),并且制造物能夠執(zhí)行以下操作在存儲控制單元中檢測包含在存儲控制單元中的多個邏輯子系統(tǒng)的配置的改變;由存儲控制單元發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變;和由存儲控制單元接收指向存儲控制單元中的可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求,其中可用邏輯子系統(tǒng)是根據(jù)多個邏輯子系統(tǒng)的配置確定的。
20.如權(quán)利要求19所述制造物,其中將所述通知發(fā)送到至少一個主機,數(shù)據(jù)傳送請求是來自至少一個主機的I/O操作,并且I/O操作僅僅指向可用邏輯子系統(tǒng)。
21.如權(quán)利要求19所述的制造物,操作還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中創(chuàng)建新的邏輯子系統(tǒng),其中新邏輯子系統(tǒng)的創(chuàng)建引起多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示新的邏輯子系統(tǒng)是可用的;和在通知中指示新的邏輯子系統(tǒng)是可用的。
22.如權(quán)利要求21所述的制造物,操作還包括在連接到存儲控制單元的主機中接收該通知;主機通過使用新的邏輯子系統(tǒng)為數(shù)據(jù)傳送而嘗試建立先前拒絕的邏輯路徑;和建立到新的邏輯子系統(tǒng)的用于數(shù)據(jù)傳送的邏輯路徑。
23.如權(quán)利要求19所述的制造物,操作還包括產(chǎn)生數(shù)據(jù)結(jié)構(gòu)來跟蹤存儲控制單元中的可用邏輯子系統(tǒng);在存儲控制單元中移除邏輯子系統(tǒng),其中邏輯子系統(tǒng)的移除引起多個邏輯子系統(tǒng)的配置改變;更新數(shù)據(jù)結(jié)構(gòu)來指示移除的邏輯子系統(tǒng)是不可用的;和在通知中指示移除的邏輯子系統(tǒng)是不可用的。
24.如權(quán)利要求23所述的制造物,操作還包括在連接到存儲控制單元的主機中接收該通知;和主機根據(jù)該通知移除到存儲控制單元的至少一條邏輯路徑。
25.如權(quán)利要求19所述的制造物,操作還包括由存儲控制單元接收到多個邏輯子系統(tǒng)的一個邏輯子系統(tǒng)的建立邏輯路徑請求;由存儲控制單元確定該邏輯子系統(tǒng)是否可用;響應于確定邏輯子系統(tǒng)為可用而接受建立邏輯路徑請求;和響應于確定邏輯子系統(tǒng)為不可用而拒絕建立邏輯路徑請求。
26.如權(quán)利要求25所述的制造物,其中響應于接受建立邏輯路徑請求而產(chǎn)生數(shù)據(jù)傳送請求。
27.如權(quán)利要求19所述的制造物,其中所述通知是狀態(tài)改變通知,并且根據(jù)狀態(tài)改變通知,在存儲控制單元和連接到存儲控制單元的至少一個主機之間同步對應于多個邏輯子系統(tǒng)的信息。
28.一種用于配置計算基層架構(gòu)的方法,包括將計算機可讀代碼集成到計算系統(tǒng)中,其中代碼與計算機系統(tǒng)相組合能夠執(zhí)行在存儲控制單元中檢測包含在存儲控制單元中的多個邏輯子系統(tǒng)的配置的改變;由存儲控制單元發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變;和由存儲控制單元接收指向存儲控制單元中的可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求。
29.如權(quán)利要求28所述方法,其中配置了計算基層架構(gòu)的計算系統(tǒng)包括獨立磁盤冗余陣列(RAID)存儲裝置,所述通知被發(fā)送到至少一個主機,數(shù)據(jù)傳送請求是來自至少一個主機的I/O操作,并且I/O操作僅僅指向可用邏輯子系統(tǒng)。
30.如權(quán)利要求28所述的方法,其中代碼與計算系統(tǒng)組合還能夠執(zhí)行由存儲控制單元接收到多個邏輯子系統(tǒng)的一個邏輯子系統(tǒng)的建立邏輯路徑請求;由存儲控制單元確定邏輯子系統(tǒng)是否可用;響應于確定邏輯子系統(tǒng)為可用而接受建立邏輯路徑請求,其中響應于接受建立邏輯路徑請求產(chǎn)生數(shù)據(jù)傳送請求;和響應于確定邏輯子系統(tǒng)為不可用而拒絕建立邏輯路徑請求。
全文摘要
存儲控制單元中檢測包含在存儲控制單元中的多個邏輯子系統(tǒng)的配置的改變。由存儲控制單元發(fā)送通知,其中該通知指示多個邏輯子系統(tǒng)的配置的改變。由存儲控制單元接收指向存儲控制單元中的可用邏輯子系統(tǒng)的數(shù)據(jù)傳送請求,其中根據(jù)多個邏輯子系統(tǒng)的配置確定可用邏輯子系統(tǒng)。
文檔編號G06F3/06GK1773444SQ200510120370
公開日2006年5月17日 申請日期2005年11月11日 優(yōu)先權(quán)日2004年11月12日
發(fā)明者胡安·A·科羅納多, 布雷特·W·霍利, 馬林·昆諾尼斯 申請人:國際商業(yè)機器公司