專利名稱:允許主機替換其擁有的邏輯路徑資源的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及用于同步邏輯路徑資源的方法、系統(tǒng)和制品。
背景技術:
在某些計算環(huán)境中,主機計算機可與存儲控制單元通信,其中存 儲控制單元控制物理存儲器。該由存儲控制單元控制的物理存儲器可 以被邏輯地表示為在存儲控制單元內(nèi)的多個邏輯路徑資源。主機計算 機中的應用可執(zhí)行關于存儲控制單元的邏輯路徑資源的輸入/輸出
u/o)操作。例如,主機計算機中的應用可以寫入到存儲控制單元 的邏輯路徑資源。存儲控制單元可以經(jīng)由邏輯和物理巻保持物理存儲 器中的邏輯路徑資源和存儲介質(zhì)之間的對應。當可在存儲控制單元的 控制下將數(shù)據(jù)物理地寫入到物理存儲器中的存儲介質(zhì)中時,就考慮主 機計算機中的應用而言,該應用關于存儲控制單元中的邏輯路徑資源 執(zhí)行寫入操作。
可以在存儲控制單元內(nèi)添加、刪除、或修改邏輯路徑資源。對存 儲控制單元的邏輯路徑資源的某些修改,比如當無路徑資源可用時添
加邏輯路徑資源,可能引起從主機計算機發(fā)送到存儲控制單元的I/O
操作的故障。
例如,為建立邏輯路徑,主機對于主機想要訪問的每個邏輯子系 統(tǒng)發(fā)送建立邏輯路徑消息。 一旦主機建立邏輯路徑,主機能夠訪問邏 輯子系統(tǒng)內(nèi)的全部裝置。只要沒有達到每端口的邏輯路徑的最大數(shù) 目,主機就可在該端口上建立新的邏輯路徑。然而,當達到每端口的 邏輯路徑的最大數(shù)目時,主機不能在該端口上建立新的邏輯路徑。對 于每個被拒絕的建立邏輯路徑,主機接收"資源用盡,,狀態(tài)指示。在某些系統(tǒng)中,為添加新的邏輯路徑,操作者必須從該端口除去現(xiàn)有的邏 輯路徑。 一旦已經(jīng)從該端口除去邏輯路徑,主機可建立新的邏輯路徑。 然而,可能從主機建立新的邏輯路徑會再次失敗??赡芤驗榱硪恢鳈C (例如,介入的主機)已經(jīng)建立邏輯路徑而出現(xiàn)該故障。在該情況中, 介入的主機竊取了當操作者從端口除去邏輯路徑時成為可用的邏輯 路徑槽。
因此,期望使得主機能夠直接替換邏輯路徑資源。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,說明了 一種用于替換邏輯路徑資源的系統(tǒng)和方法。 通過本發(fā)明的系統(tǒng)和方法,主機可以直接以新的邏輯路徑替換其擁有 的邏輯路徑。當端口達到"資源用盡"的條件時該系統(tǒng)尤其適用。通過 該系統(tǒng),保證主機能夠以新的邏輯路徑替換其擁有的邏輯路徑??刂?單元不需要已經(jīng)達到其每端口的邏輯路徑的最大數(shù)目。主機能夠在任 意時間以新的邏輯路徑替換一個邏輯路徑。
更具體地說,在一個實施例中,本發(fā)明涉及一種方法,包括由
主機向存儲控制器發(fā)送對于邏輯路徑資源的邏輯路徑可替換通知,該 邏輯路徑可替換通知指示可以由擁有者主機替換該邏輯路徑資源,確
定是否執(zhí)行邏輯路徑替換操作,和關于具有邏輯路徑可替換通知的邏 輯路徑執(zhí)行邏輯路徑替換操作,該邏輯路徑替換操作以另 一邏輯路徑
資源動態(tài)地替換該邏輯路徑資源。
在另 一實施例中,本發(fā)明涉及一種包括處理器和含有計算機程序 代碼的計算機可用介質(zhì)的系統(tǒng)。該計算機程序代碼包括可由處理器執(zhí)
行并配置以進行以下操作的指令由主機向存儲控制器發(fā)送對于邏輯 路徑資源的邏輯路徑可替換通知,該邏輯路徑可替換通知指示可以由 擁有者主機替換該邏輯路徑資源,確定是否執(zhí)行邏輯路徑替換操作,
該邏輯路徑替換操作以另一邏輯路徑資源動態(tài)地替換該邏輯路徑資 源。在另 一實施例中,本發(fā)明涉及一種含有計算機程序代碼的計算機 可用介質(zhì)。該計算機程序代碼包括配置以進行以下操作的計算機可執(zhí)
行指令由主機向存儲控制器發(fā)送對于邏輯路徑資源的邏輯路徑可替 換通知,該邏輯路徑可替換通知指示可以由擁有者主機替換該邏輯路 徑資源,確定是否執(zhí)行邏輯路徑替換操作,和關于具有邏輯路徑可替 換通知的邏輯路徑執(zhí)行邏輯路徑替換操作,該邏輯路徑替換操作以另 一邏輯路徑資源動態(tài)地替換該邏輯路徑資源。
本發(fā)明的上述,以及另外的目的、特征和優(yōu)點將在下面詳細記載 的描述中變得明顯。
在所附的權利要求中說明體現(xiàn)本發(fā)明的特性的新穎的特征。然 而,通過結(jié)合附圖來參考以下說明性的實施例的詳細說明可以最好地 理解本發(fā)明本身以及使用的優(yōu)選模式、其進一步的目的和優(yōu)點,在附 圖中
圖1示出了根據(jù)某些實施例的計算環(huán)境的框圖2示出了示出根據(jù)某些實施例在計算環(huán)境中怎樣執(zhí)行通信的
框圖3A和3B,總的稱為圖3,示出了根據(jù)某些實施例的路徑替換 系統(tǒng)的操作的流程圖;和
圖4示出了其中實現(xiàn)某些實施例的系統(tǒng)。
具體實施例方式
在下面的描述中,參考在此處形成實施例的一部分并示出了幾個 實施例的附圖。應當理解可以使用其他實施例并且可以進行結(jié)構(gòu)和操 作的改變。
圖1示出了根據(jù)本發(fā)明的某些實施例的計算環(huán)境100的框圖。該 計算環(huán)境100包括經(jīng)由一個或多個開關106耦合到多個主機104a, 104b".104n的存儲控制單元102。該存儲控制單元102包括邏輯路徑
6資源108a, 108b".108m,它們映射到對應于由存儲控制單元102控制 的物理存儲器110的物理子系統(tǒng)。多個主機104a."104n包括多個主機 應用112a, 112b…112n,它們執(zhí)行邏輯路徑資源108a".108m的I/O操作。
多個主機104a".104n可以包括任意適當?shù)挠嬎阊b置,包括例如 個人計算機、工作站、大型機、手持式計算機、掌上計算機、電話裝 置、網(wǎng)絡儀器、刀片計算機、存儲服務器等。該存儲控制單元102可 以包括控制去往物理存儲器110的訪問的任意適當?shù)挠嬎阊b置。該物 理存儲器110可以包括任意適當?shù)臄?shù)據(jù)存儲器,包括例如磁盤驅(qū)動器、 磁帶驅(qū)動等。在某些實施例中,耦合多個主機104a...10411到存儲控制 單元102的一個或多個開關106可以包括光纖連接性(FICON )開關。 例如,使用光纖技術的FICON開關可以將包括IBM S/390型計算機 或者其他計算機的主機104a…104n耦合到存儲控制單元102。
雖然圖1示出了每個主機的單一主機應用,在可選實施例中,可 在每個主機中執(zhí)行更大或更小數(shù)目的主機應用。另外,逸出多個主機 104a…104n的主機應用 112a…112n的數(shù)目可能不同于主才幾 104a…104n的數(shù)目。
在存儲控制單元102中的邏輯路徑資源108a...l08m的配置可能 由于對邏輯路徑資源108a…108m的添加、除去或者修改而改變。例 如,示例性的主才幾,比如主機104a可以和示例性的邏輯路徑資源, 比如邏輯路徑資源108b建立通信。邏輯路徑資源108a".108m可以包 括任意多個邏輯存儲系統(tǒng),其中每個邏輯存儲系統(tǒng)包括對應于物理存 儲器110中存儲的一個或多個物理巻的至少一個邏輯存儲巻。
在某些實施例中,當在存儲控制單元102內(nèi)出現(xiàn)造成資源用盡情 況的邏輯路徑資源108a."108m的配置變化時,可以執(zhí)行在存儲控制 單元102中實現(xiàn)的路徑替換應用114。該路徑替換系統(tǒng)應用114也被 稱為路徑替換系統(tǒng)且可以以軟件、硬件、固件或者其任意組合而實現(xiàn)。 執(zhí)行路徑替換應用114允許替換計算環(huán)境100內(nèi)的邏輯路徑資源。通 過執(zhí)行該路徑替換應用114,主機可以以新的邏輯路徑替換其擁有的
7邏輯路徑。當一個端口達到"資源用盡"的情況時該路徑替換應用114 尤其適用。通過該系統(tǒng),保證主機104能夠以新的邏輯路徑替換其擁 有的邏輯路徑??刂茊卧槐匾呀?jīng)達到其每端口的邏輯路徑的最大數(shù) 目。主機114能夠在任意時間以新的邏輯路徑替換一個邏輯路徑。
圖2示出了示出根據(jù)某些實施例在計算環(huán)境100中怎樣執(zhí)行示例 性的通信的框圖。更具體地說,從主機104a.,.104n選擇的示例性主機 104a可以包括示例性的主才幾應用112a。該主才幾應用112a可以發(fā)送"建 立邏輯路徑"請求200到存儲控制單元102,其中該"建立邏輯路徑" 請求200試圖訪問存儲控制單元102的邏輯路徑資源108a...l08m。如 果由"建立邏輯路徑"請求200指示的邏輯路徑資源可用,則該路徑 替換應用114或者在存儲控制單元102中實現(xiàn)的某些其它應用可以接 受該邏輯路徑請求200。為了確定由"建立邏輯路徑"請求200指示 的邏輯路徑資源的可用性,路徑替換應用114可以參考存儲在存儲控 制單元102中實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)202中的信息。該數(shù)據(jù)結(jié)構(gòu)202可以記 錄邏輯路徑資源108a."108m中的哪個對訪問可用。在某些實施例中, 該數(shù)據(jù)結(jié)構(gòu)202可以包括指針的陣列,其中每個指針能夠索引邏輯路 徑資源。
一旦作為成功地完成"建立邏輯路徑"請求的結(jié)果已經(jīng)建立主機 應用112a和邏輯路徑資源之間的邏輯路徑,則主機應用112a可以關 于其邏輯路徑已經(jīng)建立的邏輯路徑資源執(zhí)行I/O操作204。
在某些實施例中,邏輯路徑資源108a."108m的配置可以經(jīng)由對 邏輯路徑資源108a…108m的添加、除去、或者修改而改變。例如, 可以添加新的邏輯路徑資源。如果當無邏輯路徑資源可用時,主機嘗 試經(jīng)由建立邏輯路徑消息建立邏輯路徑,則這種操作會導致產(chǎn)生資源 用盡情況。為防止這種資源用盡情況出現(xiàn),響應于邏輯路徑資源 108...108m的配置的變化,路徑替換應用114可以執(zhí)行路徑替換操作。
在某些實施例中,當執(zhí)行路徑替換操作時,主機應用112a能夠 在邏輯路徑和邏輯路徑資源108a…108m上直接以較高優(yōu)先級邏輯路 徑替換較低優(yōu)先級邏輯路徑。因此,即使全部邏輯路徑都被占用,主機應用112a也能夠建立新的邏輯路徑。
圖3示出了在邏輯路徑資源下在存儲控制單元102中由路徑替換 應用114執(zhí)行的操作的實例??偟膩碚f,為了替換邏輯路徑,并且為 了為自身保留邏輯路徑槽,主機執(zhí)行多個操作。首先,主機104對于 主機104想要替換的邏輯路徑發(fā)送建立邏輯路徑消息,該消息具有指 示該邏輯路徑為"可由擁有者主機除去"的狀態(tài)標志。當相同的主機 104決定建立新的邏輯路徑時,主機104擁有的被標記以"可由擁有者 主機除去"標志的邏輯路徑被替換為來自相同主機的新的邏輯路徑。 設置邏輯路徑為"可由擁有者主機除去"狀態(tài)防止其他主機除去該邏 輯路徑。該邏輯路徑保留給將其標記為"可由擁有者主機除去"的主 機104。因此,主機104能夠從一個邏輯路徑到新的邏輯路徑動態(tài)地 切換其擁有的邏輯路徑。然后,主機104替換以可由擁有者主機除去 指示標記的邏輯路徑。主機104通知替換該具有可由擁有者主機除去 指示的邏輯路徑。在控制單元102處被替換以建立新的邏輯路徑的邏 輯路徑還可以產(chǎn)生邏輯路徑除去的主機通知。為提供該通知,控制單 元102向主才幾提供狀態(tài)改變通知。主才幾104可以隨后執(zhí)4于測試初始4匕 操作以確定不再建立哪個邏輯路徑。
更具體地說,在一個實施例中,主機104在步驟310發(fā)送建立邏 輯路徑消息。然后,控制單元102在步驟312檢查可用的邏輯路徑槽。 如果如由步驟314所確定的,全部邏輯路徑槽都被占據(jù),隨后控制單 元在步驟316檢查主機擁有的包括可由擁有者主機除去指示的邏輯路 徑。如果控制單元未定位到包括可由擁有者主機除去指示的任意邏輯 路徑,如由步驟318指示的,隨后控制單元102在步驟320拒絕建立 邏輯路徑消息并產(chǎn)生提供給主機104的資源用盡消息。然后,在步驟 322,主機104將用于主機擁有的特定的邏輯路徑的建立邏輯路徑 (ELP)消息與設置指示可由擁有者主機除去的標志的指令一起發(fā) 送。然后,控制單元在步驟324定位所指示的邏輯路徑的槽。然后, 控制單元102在步驟326以可由擁有者除去標志標記所指示的邏輯路 徑,并在步驟328以ELP接受的消息進行響應。
9該主機隨后在步驟330重新發(fā)送用于新的邏輯路徑的建立邏輯 路徑消息。控制單元隨后在步驟332檢查可用的邏輯路徑槽。如果控 制單元102在步驟334再次確定全部邏輯路徑槽都被占據(jù),隨后控制 單元102在步驟336檢查主機擁有的被標記以可由擁有者主機除去指 示所標記的任意邏輯路徑。因為更新邏輯路徑以包括該可由擁有者主 機除去指示,控制單元在步驟338定位邏輯路徑。然后控制單元在步 驟340以新的邏輯路徑替換該邏輯路徑并在步驟342產(chǎn)生ELP接受 的消息。
響應于在步驟340的邏輯路徑的建立,控制單元102在步驟346 向主機104提供狀態(tài)改變信息。在收到狀態(tài)改變信息的情況下,主機 在步驟348執(zhí)行測試初始化以確定現(xiàn)在主機擁有哪個邏輯路徑??刂?單元102隨后在步驟350產(chǎn)生通知以指示已經(jīng)建立了新的邏輯路徑。
描述的技術可以實現(xiàn)為涉及軟件、固件、微代碼、硬件、和/或 其任意組合的方法、裝置或者制品。此處使用的術語"制品"是指在電 路[例如,集成電路芯片、可編程門陣列(PGA) 、 ASIC等和/或計 算機可讀介質(zhì)(例如,磁存儲介質(zhì),比如硬盤驅(qū)動器、軟盤、磁帶)、 光存儲器(例如,CD-ROM、 DVD-ROM、光盤等)、易失性和非易 失性存儲器件[例如,電可擦除可編程只讀存儲器(EEPROM)、只 讀存儲器(ROM)、可編程只讀存儲器(PROM)、隨機存取存儲 器(RAM)、動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲 器(SRAM)、閃存、固件、可編程序邏輯等]中實現(xiàn)的程序指令、代 碼和/或邏輯。可以由比如處理器的機器訪問和執(zhí)行計算機可讀介質(zhì)中 的代碼。在某些實施例中,其中實施例中使用的代碼可以進一步是通 過傳輸介質(zhì)或者經(jīng)由網(wǎng)絡從文件服務器可訪問的。在此情況下,其中 實現(xiàn)代碼的制品可以包括傳輸介質(zhì),比如網(wǎng)絡傳輸線、無線傳輸介質(zhì)、 通過空間傳播的信號、無線電波、紅外信號等。當然,本領域技術人 員將認識到在不脫離實施例的范圍的情況下可以做出許多修改,而且 該制品可以包括在現(xiàn)有技術中已知的任意信息承載介質(zhì)。例如,該制 品包括存儲有指令的存儲介質(zhì),該指令在由機器執(zhí)行時使得操作被執(zhí)
10行。
圖4示出了其中可以實現(xiàn)某些實施例的系統(tǒng)400的框圖。在某些 實施例中,可以根據(jù)系統(tǒng)400實現(xiàn)存儲控制單元102和主機 104a."104n。系統(tǒng)400可以包括電路402,該電路402在某些實施例 中可以包括處理器404。該系統(tǒng)400還可以包括存儲器406 (例如, 易失性存儲器件),和存儲408。系統(tǒng)400的某些元件可以是或者可 以不是在存儲控制單元102中或者主機104a.,.104n中出現(xiàn)的。存儲 408可以包括非易失性存儲器件(例如,EEPROM、 ROM、 PROM、 RAM、 DRAM、 SRAM、閃存、固件、可編程邏輯等)、磁盤驅(qū)動器、 光盤驅(qū)動器、磁帶驅(qū)動器等。該存儲408可以包括內(nèi)存儲器件、附加 的存儲器件和/或網(wǎng)絡可訪問的存儲器件。系統(tǒng)400可以包括程序邏輯 410,該程序邏輯410包括可以栽入存儲器406并由處理器404或者 電路402執(zhí)行的代碼412。在某些實施例中,包括代碼412的程序邏 輯410可以被存儲在存儲408中。在某些其他實施例中,可以在電路 402中實現(xiàn)程序邏輯410。因此,雖然圖4示出了和其他元件分開的 程序邏輯410,但可以在存儲器406或者電路402中實現(xiàn)程序邏輯410。
某些實施例可以涉及用于由人部署計算指令或者釆用自動的處 理集成計算機可讀代碼到計算系統(tǒng)中的方法,其中能夠使所述代碼結(jié) 合計算系統(tǒng)以執(zhí)行所描述的實施例的操作。在某些實施例中,不同的 存儲系統(tǒng)可以用于該計算環(huán)境,比如獨立磁盤冗余陣列(RAID)、 簡單磁盤捆綁(JBOD)、直接存取存儲設備(DASD)、磁帶等。
可以并行以及串行地執(zhí)行圖2和3的至少某些操作。在可選實施 例中,可以以不同次序執(zhí)行某些操作,或者修改或者刪除某些操作。
此外,為了說明的目的已經(jīng)以單獨的模塊描述了許多軟件和硬件 組件,這些組件可以被集成到更少數(shù)目的組件中或劃分為更多數(shù)目的 組件。另外,描述為由特定組件執(zhí)行的某些操作可以由其他組件執(zhí)行。
在圖1-4中示出或涉及的數(shù)據(jù)結(jié)構(gòu)與組件被描述為具有特定類型 的信息。在可選實施例中,數(shù)據(jù)結(jié)構(gòu)與組件可以具有不同的結(jié)構(gòu)且與 在附圖中所示和涉及的相比具有更少、更多或不同的領域或者不同的
ii功能。
因此,已經(jīng)為了說明和描述的目的呈現(xiàn)了上述實施例的描述。其 不意在為窮盡的或?qū)嵤├拗频剿_的確切形式。考慮上述教導 許多修改和變更是可能的。
權利要求
1. 一種方法,包括由主機向存儲控制器發(fā)送對于邏輯路徑資源的邏輯路徑可替換通知,該邏輯路徑可替換通知指示可以由擁有者主機替換該邏輯路徑資源;確定是否執(zhí)行邏輯路徑替換操作;和關于具有邏輯路徑可替換通知的邏輯路徑執(zhí)行邏輯路徑替換操作,該邏輯路徑替換操作以另一邏輯路徑資源動態(tài)地替換該邏輯路徑資源。
2. 根據(jù)權利要求1的方法,其中響應于建立邏輯路徑操作而發(fā)生執(zhí)行邏輯路徑替換操作的步驟。
3. 根據(jù)權利要求1的方法,其中當在存儲控制單元內(nèi)全部邏輯路徑資源都被占據(jù)時發(fā)生執(zhí)行邏 輯路徑替換操作。
4. 根據(jù)權利要求1的方法,其中確定是否執(zhí)行邏輯路徑替換操作是在存儲控制單元內(nèi)執(zhí)行的。
5. 根據(jù)權利要求1的方法,其中 該邏輯路徑可替換通知防止其他主機除去該邏輯路徑。
6. 根據(jù)權利要求1的方法,進一步包括響應于替換邏輯路徑資源產(chǎn)生邏輯路徑除去的主機通知。
7. 根據(jù)權利要求6的方法,其中所述邏輯路徑除去的主機通知向主機提供狀態(tài)改變通知;和 所述主機響應于所述狀態(tài)改變通知執(zhí)行測試初始化操作以確定 不再建立哪個邏輯路徑。
8. —種系統(tǒng),包括 處理器;和含有計算機程序代碼的計算機可用介質(zhì),該計算機程序代碼包括 可由處理器執(zhí)行的指令,并且該指令被配置用于由主機向存儲控制器發(fā)送對于邏輯路徑資源的邏輯路徑可 替換通知,該邏輯路徑可替換通知指示可以由擁有者主機替換該邏輯路徑資源;確定是否執(zhí)行邏輯路徑替換操作;和關于具有邏輯路徑可替換通知的邏輯路徑執(zhí)行邏輯路徑替 換操作,該邏輯路徑替換操作以另 一邏輯路徑資源動態(tài)地替換該 邏輯路徑資源。
9. 根據(jù)權利要求8的系統(tǒng),其中,響應于建立邏輯路徑操作而發(fā)生執(zhí)行邏輯路徑替換操作的步驟。
10. 根據(jù)權利要求8的系統(tǒng),其中,當在存儲控制單元內(nèi)全部邏輯路徑資源都被占據(jù)時發(fā)生執(zhí)行邏 輯路徑替換操作。
11.根據(jù)權利要求8的系統(tǒng),其中,確定是否執(zhí)行邏輯路徑替換操作是在存儲控制單元內(nèi)執(zhí)行的。
12. 根據(jù)權利要求8的系統(tǒng),其中,該邏輯路徑可替換通知防止其他主機除去該邏輯路徑。
13. 根據(jù)權利要求8的系統(tǒng),其中,該計算機程序代碼進一步包 括可由處理器執(zhí)行的指令且配置該指令以響應于替換邏輯路徑資源產(chǎn)生邏輯路徑除去的主機通知。
14. 根據(jù)權利要求13的系統(tǒng),其中所述邏輯路徑除去的主機通知向主機提供狀態(tài)改變通知;和 所述主機響應于所述狀態(tài)改變通知執(zhí)行測試初始化操作以確定 不再建立哪個邏輯路徑。
15. —種含有計算機程序代碼的計算機可用介質(zhì),該計算機程序 代碼包括配置用于執(zhí)行根據(jù)權利要求1-7中的任意一個的方法中的步 驟的計算機可執(zhí)行指令。全文摘要
一種用于替換邏輯路徑資源的方法,主機能夠以新的邏輯路徑替換其擁有的邏輯路徑。這種系統(tǒng)在端口達到“資源用盡”情況時尤其適用。通過該系統(tǒng),保證主機能夠以新的邏輯路徑代替其擁有的邏輯路徑??刂茊卧槐匾呀?jīng)達到其每端口的邏輯路徑的最大數(shù)目。主機能夠在任意時間以新的邏輯路徑代替一個邏輯路徑。
文檔編號G06F3/06GK101498993SQ200910009910
公開日2009年8月5日 申請日期2009年1月22日 優(yōu)先權日2008年1月30日
發(fā)明者B·W·霍利, D·H·勒, R·G·哈索恩, 胡安·A·克羅納多 申請人:國際商業(yè)機器公司