專利名稱:促進(jìn)處理環(huán)境的輸入/輸出處理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及輸A/輸出處理,并且特別地,涉及促ii^與輸^/輸出 處理關(guān)聯(lián)的數(shù)據(jù)的訪問(wèn)。
背景技術(shù):
輸A/輸出(I/O)操作用于在處理環(huán)境的輸vV/輸出設(shè)備與存儲(chǔ)器之間 傳送數(shù)據(jù)。具體地,通過(guò)執(zhí)行輸/V輸出操作,將數(shù)據(jù)從存儲(chǔ)器寫(xiě)入一個(gè)或 多個(gè)輸入/輸出設(shè)備,并且將數(shù)據(jù)從一個(gè)或多個(gè)輸入/輸出設(shè)備讀取到存儲(chǔ) 器。為了促進(jìn)輸A/輸出搮作的處理,采用了處理環(huán)境的輸A/輸出子系統(tǒng)。 該輸/v/輸出子系統(tǒng)耦合于處理環(huán)境的輸A/輸出設(shè)備和主存儲(chǔ)器,并且引導(dǎo) 存儲(chǔ)器與輸A/輸出i殳備之間的信息流。輸A/輸出子系統(tǒng)的一個(gè)例子是通道 子系統(tǒng)。通道子系統(tǒng)將通道通路用作通信介質(zhì)。每個(gè)通道通路包括耦合于 控制單元的通道,該控制單元進(jìn)一步耦合于一個(gè)或多個(gè)輸A/輸出設(shè)備,通道子系統(tǒng)采用通道命令字在輸A/輸出設(shè)備與存儲(chǔ)器之間傳送數(shù)據(jù)。 通道命令字指定待執(zhí)行的命令,并且對(duì)于啟動(dòng)特定I/O操作的命令,其指 定與該操作關(guān)聯(lián)的存儲(chǔ)區(qū)域、將要采取的措施(無(wú)論何時(shí)完成到達(dá)該區(qū)域 的傳送或者來(lái)自該區(qū)域的傳送),以及其它選項(xiàng)。在輸X/輸出處理期間,通過(guò)通道從存儲(chǔ)器取回通道命令字的列表,通 道解析來(lái)自通道命令字列表的每個(gè)命令,并且轉(zhuǎn)發(fā)多個(gè)命令至耦合于該通 道的控制單元,其中每個(gè)命令在其自己的實(shí)體中,控制單元然后處理命令。 通道跟蹤每個(gè)命令的狀態(tài)并且控制何時(shí)要將下一命令集發(fā)送至控制單元用 于處理。通道確保每個(gè)命令均在其自己的實(shí)體中被發(fā)送至控制單元。另夕卜, 通道推斷與處理關(guān)聯(lián)的特定信息,
發(fā)明內(nèi)容需要增強(qiáng)以上的命令的處理。例如,存在對(duì)這樣的能力的需要,即該 能力使得多個(gè)命令作為單個(gè)實(shí)體被發(fā)送至控制單元。進(jìn)一步存在對(duì)這樣的 能力的需要,即該能力消除了對(duì)通道要跟蹤正在由控制單元執(zhí)行的各個(gè)命 令的狀態(tài)的需要.還進(jìn)一步存在對(duì)這樣的能力的需要,即該能力通過(guò)容易地使得能夠訪問(wèn)與1/0處理關(guān)聯(lián)的信息,例如讀出數(shù)據(jù)(sense data)和測(cè) 量數(shù)據(jù),來(lái)促進(jìn)輸A/輸出處理。通過(guò)提供一種促進(jìn)處理環(huán)境的輸7v/輸出處理的方法,克服了現(xiàn)有技術(shù) 的缺點(diǎn)并且提供了附加的優(yōu)點(diǎn)。該方法包括,例如,通過(guò)所述處理環(huán)境的 輸^/輸出通信適配器獲取傳輸控制字,所述傳輸控制字指定了所述處理環(huán) 境的存儲(chǔ)器中包括待執(zhí)行的多個(gè)輸A/輸出命令的位置,以及存儲(chǔ)器中與所 述多個(gè)輸A/輸出命令的執(zhí)行相關(guān)的狀態(tài)信息的位置;將所述多個(gè)輸/v/輸出 命令作為一個(gè)實(shí)體從所述輸/V/輸出通信適配器轉(zhuǎn)發(fā)至所述處理環(huán)境的控 制單元;以及通過(guò)所述控制單元執(zhí)行所述多個(gè)輸A/輸出命令以進(jìn)行一個(gè)或 多個(gè)輸X/輸出操作,其中所述執(zhí)行是在所述輸AJ輸出通信適配器沒(méi)有跟蹤命令有關(guān)的狀態(tài)的情況下進(jìn)行的。文中還描述并且要求保護(hù)對(duì)應(yīng)于以上所總結(jié)的方法的系統(tǒng)和計(jì)算;^ 序產(chǎn)品。通過(guò)本發(fā)明的技術(shù)實(shí)現(xiàn)了附加的特征和優(yōu)點(diǎn).文中詳細(xì)描述了本發(fā)明 的其它實(shí)施例和方面,并且將其看作是所要求保護(hù)的本發(fā)明的 一部分.
特別指出了本發(fā)明的一個(gè)或多個(gè)方面,并且在本說(shuō)明書(shū)的結(jié)論處的權(quán)利要求中作為例子清楚地要求保護(hù)本發(fā)明的一個(gè)或多個(gè)方面。通過(guò)以下結(jié) 合附圖的詳細(xì)描述,本發(fā)明的前述以及其它的目的、特征和優(yōu)點(diǎn)顯而易見(jiàn), 在附圖中 圖1描繪了合并和使用本發(fā)明的一個(gè)或多個(gè)方面的處理環(huán)境的一個(gè)實(shí)施例;圖2a描繪了通道^^令字的一個(gè)例子;圖2b描繪了通道命令字通道程序的一個(gè)例子;圖3描繪了在通道與控制單元之間的通信中使用以執(zhí)行圖2b的通道命 令字通道程序的M協(xié)議的 一個(gè)實(shí)施例;圖4依照本發(fā)明的一方面描繪了傳輸控制字通道程序的一個(gè)實(shí)施例;圖5依照本發(fā)明的一方面描繪了用于在通道與控制單元之間通信以執(zhí) 行圖4的傳輸控制字通道程序的鏈路協(xié)議的一個(gè)實(shí)施例;圖6描繪了用于在通道與控制單元之間通信以便執(zhí)行通道命令字通道 程序的四個(gè)讀命令的鏈路協(xié)議的一個(gè)實(shí)施例;圖7依照本發(fā)明的一方面描繪了用于在通道與控制單元之間通信以處 理傳輸控制字通道程序的四個(gè)讀命令的鏈路協(xié)議的 一個(gè)實(shí)施例;圖8描繪了依照本發(fā)明的一方面所使用的傳輸控制字的一個(gè)實(shí)施例;圖9描繪了依照本發(fā)明的一方面所使用的且由圖8的傳輸控制字所指 定的通道命令字描述符的一個(gè)實(shí)施例;圖IO描繪了依照本發(fā)明的一方面所使用的且由圖8的傳輸控制字所指 定的結(jié)束狀態(tài)的一個(gè)實(shí)施例;圖11描繪了為通道命令字通道程序所接收的響應(yīng)信息的一個(gè)實(shí)施例;圖12依照本發(fā)明的一方面描繪了為傳輸控制字通道程序所接收的響 應(yīng)信息的一個(gè)實(shí)施例;以及圖13描繪了合并本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算#序產(chǎn)品的一個(gè) 實(shí)施例。
具體實(shí)施方式
依照本發(fā)明的一方面,促進(jìn)了輸/V/輸出處理。例如,通it^易地使得 能夠?qū)εc輸A/輸出處理關(guān)聯(lián)的信息(例如狀態(tài)和測(cè)量數(shù)據(jù))進(jìn)行訪問(wèn),促 進(jìn)輸/v/輸出處理。另夕卜,在一個(gè)例子中,通過(guò)減少在用于進(jìn)行輸A/輸出處 理的處理環(huán)境的組件之間的通信,促進(jìn)輸X/輸出處理。例如,減少在諸如通道的輸"輸出(I/O)通信適配器與控制單元之間的交換和序列的數(shù)目。 這是通過(guò)將多個(gè)命令作為單個(gè)實(shí)體從I/O通信適配器發(fā)送至控制單元用于控制單元的執(zhí)行,以及通過(guò)控制單元將命令產(chǎn)生的數(shù)據(jù)(如果有的話)作 為單個(gè)實(shí)體進(jìn)行發(fā)送而實(shí)現(xiàn)的。多個(gè)命令被包括在描述符(文中稱為通道命令字描述符)中,其地址在傳輸控制字中被指定.從操作系統(tǒng)或其它應(yīng)用將傳輸控制字發(fā)送至I/O 通信適配器,I/O通信適配器又將描述符轉(zhuǎn)發(fā)至控制單元用于處理??刂?單元在I/O通信適配器沒(méi)有跟蹤與那些各個(gè)命令有關(guān)的狀態(tài)的情況下處理每個(gè)命令。參照?qǐng)D1描述了合并和使用本發(fā)明的一個(gè)或多個(gè)方面的處理環(huán)境的一個(gè)例子。處理環(huán)境100包括,例如,主存儲(chǔ)器102、 一個(gè)或多個(gè)中央處理 器(CPU) 104、存儲(chǔ)控制元件106、通道子系統(tǒng)108、 一個(gè)或多個(gè)控制單 元110以及一個(gè)或多個(gè)輸A7輸出(1/0)設(shè)備112,下面對(duì)其每一個(gè)進(jìn)^ff描 述。主存儲(chǔ)器102存儲(chǔ)從輸入設(shè)備112輸入的數(shù)據(jù)和程序。主存儲(chǔ)器102 是可直接尋址的,并且通過(guò)中央處理器104和通道子系統(tǒng)108提供對(duì)數(shù)據(jù) 的高速處理。中央處理器104是環(huán)境100的控制中心。其含有用于指令執(zhí)行、中斷 措施、定時(shí)功能、初始程序加載,以及其它機(jī)器相關(guān)的功能的排序和處理 設(shè)施。中央處理器104通過(guò)諸如雙向或單向總線的連接114耦合于存儲(chǔ)控 制元件106。存儲(chǔ)控制元件106通過(guò)諸如總線的連接116耦合于主存儲(chǔ)器102;通 過(guò)連接114耦合于中央處理器104;并且通過(guò)連接118耦合于通道子系統(tǒng) 108。存儲(chǔ)控制元件106控制,例如,由CPIJ 104和通道子系統(tǒng)108所進(jìn) 行的請(qǐng)求的排隊(duì)和執(zhí)行。如上所述,通道子系統(tǒng)108耦合于存儲(chǔ)控制元件106,并且通過(guò)諸如 串行鏈路的連接120耦合于控制單元中的每一個(gè)。通道子系統(tǒng)108引導(dǎo)輸 A/輸出設(shè)備112與主存儲(chǔ)器102之間的信息流。其免除了中央處理器直接 與輸A/輸出設(shè)備通信的任務(wù),并且準(zhǔn)許數(shù)據(jù)處理與輸A/輸出處理并發(fā)地進(jìn) 行。通道子系統(tǒng)在管理到達(dá)或來(lái)自輸入/輸出設(shè)備112的信息流時(shí)使用一個(gè) 或多個(gè)通道通路122作為通信鏈路。作為輸A/輸出處理的一部分,通道子 系統(tǒng)108還實(shí)現(xiàn)以下通路管理功能對(duì)通道通路可用性進(jìn)行測(cè)試、選擇可 用的通道通路以及啟動(dòng)與輸X/輸出設(shè)備進(jìn)行操作的執(zhí)行。每個(gè)通道通路122均包括通道124 (在一個(gè)例子中,通道位于通道子 系統(tǒng)內(nèi),如圖1所示)、 一個(gè)或多個(gè)控制單元110以及一個(gè)或多個(gè)連接120。 在另 一例子中,還有可能將一個(gè)或多個(gè)動(dòng)態(tài)開(kāi)關(guān)作為通道通路的 一部分。 動(dòng)態(tài)開(kāi)關(guān)耦合于通道和控制單元,并且提供在物理上將附于開(kāi)關(guān)的任何兩 ^i吝互連的能力。子通道(未示出)也位于通道子系統(tǒng)108內(nèi)。 一個(gè)子通道被提供并且 專用于程序可通過(guò)通道子系統(tǒng)訪問(wèn)的每個(gè)輸入/輸出設(shè)備。子通道(例如, 諸如表格的數(shù)據(jù)結(jié)構(gòu))向程序提供設(shè)備的邏輯外觀(appearance)。每個(gè) 子通道提供與關(guān)聯(lián)的輸/v/輸出設(shè)備112及其到通道子系統(tǒng)108的連接有關(guān) 的信息。子通道還提供與輸A/輸出操作以及涉及關(guān)聯(lián)的輸A/輸出設(shè)備的其 它功能有關(guān)的信息。子通道是通道子系統(tǒng)108通過(guò)其向中央處理器104提 供關(guān)于關(guān)聯(lián)的輸A/輸出設(shè)備112的信息的裝置,其通過(guò)執(zhí)行輸V輸出指令 獲取該信息。通道子系統(tǒng)108耦合于一個(gè)或多個(gè)控制單元110.通過(guò)使用公共設(shè)施, 每個(gè)輸A/輸出設(shè)備到通道所提供的,接口的特性,每個(gè)控制單元換:供了 操作和控制一個(gè)或多個(gè)輸A/輸出設(shè)備和適配器的邏輯,公共設(shè)施規(guī)定了對(duì) 輸入/輸出操作的執(zhí)行、關(guān)于輸A/輸出設(shè)備和控制單元的狀態(tài)的指示、對(duì)通 過(guò)通道通路的數(shù)據(jù)傳送的定時(shí)的控制,以及輸入/輸出設(shè)備控制的特定級(jí) 別,每個(gè)控制單元110通過(guò)連接126 (例如,總線)附于一個(gè)或多個(gè)輸vN7 輸出設(shè)備112。輸A/輸出設(shè)備112在主存儲(chǔ)器102和/或其它存儲(chǔ)器中接收 信息或存儲(chǔ)信息。輸^/輸出設(shè)備的例子包括卡片閱讀器和穿孔機(jī)、磁帶機(jī)、 直接訪問(wèn)存^i更備、顯示器、鍵盤(pán)、打印機(jī)、指點(diǎn)設(shè)備、遠(yuǎn)程處理i殳備、 通信控制器以及基于傳感器的裝備,僅舉幾個(gè)例子。在以下文獻(xiàn)中對(duì)處理環(huán)境的一個(gè)或多個(gè)上述組件進(jìn)一步進(jìn)行了描述 "IBM z/Architecture Principles of Operation, " Publication No. SA22畫(huà)7832-04, 5th Edition, S印tember 2005; 1995年10月24日授權(quán)的 Cormier等人的題為"System For Transferring Data Between I/O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words (IDAWS)"的第5,461,721號(hào)美國(guó)專利;以及1996 年6月11日授權(quán)的Casper等人的題為"Method And System For Pipelining The Processing Of Channel Command Words"的第5,526,484號(hào)美國(guó)專利, 在此通過(guò)引用的方式將其每一個(gè)全部并入本說(shuō)明書(shū)。IBM是美國(guó)紐約 Armonk的國(guó)際商業(yè)機(jī)器z〉司的注冊(cè)商標(biāo)。文中所使用的其它名稱可能是 國(guó)際商業(yè)機(jī)器/^司或其它/〉司的注冊(cè)商標(biāo)、商標(biāo)或產(chǎn)品名稱。在一個(gè)實(shí)施例中,為了在設(shè)備112與存儲(chǔ)器102之間傳送數(shù)據(jù),使用 了通道命令字。通道命令字指定了待執(zhí)行的命令,并且包括其它字段以控 制處理。參照?qǐng)D2a描述了通道命令字的一個(gè)例子。通道命令字200包括, 例如,指定了待執(zhí)行的命令(例如,讀、反向讀、控制、讀出和寫(xiě))的命 令代碼202;用于控制I/O^作的多個(gè)標(biāo)志204;指定了由待傳送的CCW 所指定的存儲(chǔ)區(qū)域中的字節(jié)數(shù)的計(jì)數(shù)字段206,其用于指定了數(shù)據(jù)的傳送 的命令;以及數(shù)據(jù)地址208,其在采用直接尋址時(shí)指向主存儲(chǔ)器中包括數(shù) 據(jù)的位置,或者在采用修改的間接數(shù)據(jù)尋址時(shí)指向待處理的修改的間接數(shù) 據(jù)地址字(MIDAWs)的列表(例如,相連列表(contiguous list))。在 Brice等人于2006年8月15日提交的題為"Flexibly Controlling The Transfer Of Data Between Input/Output Devices And Memory"的序歹'J號(hào) 為11/464,613的美國(guó)申請(qǐng)中進(jìn)一步描述了修改的間接尋址,在此通過(guò)引用 的方式將其全部并入本說(shuō)明書(shū)。安排用于順序執(zhí)行的一個(gè)或多個(gè)通道命令字(CCW )形成了通道程序, 這里稱之為CCW通道程序。通過(guò)例如操作系統(tǒng)或其它軟件來(lái)裝配CCW
通道程序。軟件裝配CCW并且獲取分派給通道程序的存儲(chǔ)器的地址。參 照?qǐng)D2b描述了 CCW通道程序的例子。CCW通道程序210包括,例如, 定義范圍(define extent)通道命令字(CCW )212,其具有指向存儲(chǔ)器中 隨定義范圍命令使用的定義范圍數(shù)據(jù)216的位置的指針214。在該例中, 通道中的傳送(TIC) 218跟隨定義范圍命令,其將通道程序提交到存儲(chǔ)器 中包括一個(gè)或多個(gè)其它的CCW (例如具有指向定位記錄數(shù)據(jù)220的指針 219的定位記錄217,以及一個(gè)或多個(gè)讀CCW 221)的另一區(qū)域(例如, 應(yīng)用區(qū)域)。每個(gè)讀CCW 221均具有指向數(shù)據(jù)區(qū)域224的指針222,數(shù)據(jù) 區(qū)域包括直接訪問(wèn)數(shù)據(jù)的地址或間接訪問(wèn)數(shù)據(jù)的數(shù)據(jù)地址字(例如, MIDAWs或IDAWs)的列表.另夕卜,CCW通道程序210在通道子系統(tǒng)中 包括由設(shè)備地址所定義的預(yù)定區(qū)域,稱為子通道,用于由CCW通道程序 的執(zhí)行所產(chǎn)生的狀態(tài)226。參照?qǐng)D2b以及參照?qǐng)D3描述了CCW通道程序的處理,特別地,圖3 示出了當(dāng)CCW通道程序正在執(zhí)行時(shí),在通道與控制單元之間發(fā)生的各種 交換和序列的例子,在該例中,用于通信的M協(xié)議是FICON (光纖連通 性)。有關(guān)FICON的信息在"Fibre Channel Single Byte Command Code Sets-2 Mapping Protocol (FC-SB-3)," Til/Project 1357-D/Rev丄6, INCITS (March 2003)中進(jìn)行了描述,在此通過(guò)引用的方式將其全部并入本說(shuō)明書(shū)。參照?qǐng)D3,通道300開(kāi)啟與控制單元302的交換,并且向控制單元302 發(fā)送定義范圍命令和與此關(guān)聯(lián)的數(shù)據(jù)304.從定義范圍CCW 212 (圖2b) 取回命令,并且從定義范圍數(shù)據(jù)區(qū)域216獲取數(shù)據(jù)。通道使用TIC218來(lái) 定位定位記錄CCW和讀CCW,其從定位記錄CCW 217 (圖2b)取回定 位記錄命令305 (圖3 ),并M定位記錄數(shù)據(jù)220獲取數(shù)據(jù),從讀CCW 221 (圖2b)取回讀命令306 (圖3)。每一個(gè)均被發(fā)送至控制單元。響應(yīng)于通道的開(kāi)啟交換,控制單元開(kāi)啟與通道的交換308,這可以在 定位命令305和/或讀命令306之前或之后發(fā)生。與開(kāi)啟交換一起,將響應(yīng) (CMR)轉(zhuǎn)發(fā)至通道。CMR向通道提供指示控制單元有效并且正在操 作。
控制單元向通iUL送所請(qǐng)求的數(shù)據(jù)310。另外,控制單元向通道提供 狀態(tài)并且關(guān)閉交換312。響應(yīng)于此,通道存儲(chǔ)數(shù)據(jù)、檢查狀態(tài)并且關(guān)閉交 換314,其向控制單元指示已經(jīng)接收到狀態(tài)。及七個(gè)序列。依照本發(fā)明的一方面,通過(guò)將通道程序的多個(gè)命令壓縮 (collapse)成一個(gè)命令字(稱之為傳輸控制字(TCW))來(lái)減少通道與 控制單元之間的交換和序列的數(shù)目,具體地,傳輸控制字指向包括多個(gè)命 令的通道命令字描述符(CCWD) 。 TCW由主機(jī)通道執(zhí)行并且不凈皮控制 單元發(fā)送或看到。參照?qǐng)D4描述了讀4k數(shù)據(jù)的通道程序的一個(gè)例子(如圖2b所示), 但其僅包括傳輸控制字,而不是分離的各個(gè)通道命令字。如圖所示,文中 稱為T(mén)CW通道程序的通道程序400包括傳輸控制字402,其指定了存儲(chǔ) 器中通道命令字描述符(CCWD) 404的位置,以及存儲(chǔ)器中數(shù)據(jù)區(qū)域406 或指向數(shù)據(jù)區(qū)域406的MIDAL 410 (即,MIDAWs的列表)的位置,以 及狀態(tài)區(qū)域408。下面進(jìn)一步詳細(xì)描迷傳輸控制字、通道命令字描述符以 及狀態(tài)。參照?qǐng)D5描述了 TCW通道程序的處理。用于這些通信的鏈路協(xié)議是, 例如,光纖通道協(xié)議(FCP)。特別地,使用了 FCP鏈路協(xié)議的三個(gè)階段 (three phases),允許使用支持FCP的主機(jī)總線適配器來(lái)支持CCW所 控制的數(shù)據(jù)傳送。在"Information Technology-Fibre Channel Protocol for SCSI, Third Version (FCP-3 )" T10 Project 1560畫(huà)D, Revision 4, S印tember 13,2005中進(jìn)一步描述了 FCP及其階段,在此通過(guò)引用的方式將其全部并 入本說(shuō)明書(shū)。參照?qǐng)D5,通道500開(kāi)啟與控制單元502的交換,并且向控制單元發(fā) 送通道命令字描述符504,在一個(gè)例子中,在FCP命令(稱為FCP—CMND IU)中將CCWD和序列開(kāi)端(initiative)傳送至控制單元??刂茊卧獔?zhí)行 通道命令字描述符的多個(gè)命令(例如,定義范圍命令、定位記錄命令、讀 命令),并且通過(guò)例如FCP一DatalU向通道轉(zhuǎn)發(fā)數(shù)據(jù)506。其還提供狀態(tài)
并且關(guān)閉交換508。作為一個(gè)例子,在FCP狀態(tài)幀中發(fā)送最終狀態(tài),其中 FCP狀態(tài)幀在例如FCP_RSP IU有效栽荷的第10或11字節(jié)中使一比特有 效。FCP_RES_IU有效載荷用于傳輸FICON結(jié)束狀態(tài)以及控制單元隊(duì)列 時(shí)間、斷開(kāi)時(shí)間、有效時(shí)間、所執(zhí)行的最后的DCW的偏移、所執(zhí)行的最 后的DCW的剩余數(shù)據(jù)字節(jié)計(jì)數(shù)、CCWD的剩余數(shù)據(jù)字節(jié)計(jì)數(shù),以及可能 的讀出數(shù)據(jù)。在進(jìn)一步的例子中,為了寫(xiě)4k的用戶數(shù)據(jù),通道如下使用FCP鏈路 協(xié)議階段1.在FCP—CMNDIU中傳送CCWD,1.向控制單元傳送序列開(kāi)端以及數(shù)據(jù)的IU。 (FCP傳送準(zhǔn)備就緒禁 用)3.在FCP狀態(tài)幀中發(fā)送最終狀態(tài),其中FCP狀態(tài)幀在例如FCP一RSP IU有效載荷的第10或11字節(jié)中使一比特有效。FCP—RES—INFO 字段或讀出字段用于傳輸FICON結(jié)束狀態(tài)以及控制單元隊(duì)列時(shí) 間、斷開(kāi)時(shí)間、有效時(shí)間、所扭1行的最后的0(: 的偏移、所執(zhí)行 的最后的DCW的剩余數(shù)據(jù)字節(jié)計(jì)數(shù)、CCWD的剩余數(shù)據(jù)字節(jié)計(jì) 數(shù),以及可能的讀出數(shù)據(jù)。 通過(guò)執(zhí)行圖4的TCW通道程序,僅有一個(gè)交換被開(kāi)啟和關(guān)閉(仍參 見(jiàn)圖5),而不是用于圖2b的CCW通道程序的兩個(gè)交換(仍參見(jiàn)圖3)。 另外,相比于用于CCW通道程序的七個(gè)序列(參見(jiàn)圖2b-3) , TCW通 道程序有三個(gè)通信序列(參見(jiàn)圖4-5),交換和序列的數(shù)目對(duì)于TCW通道程序保持相同,即使向程序添加了 附加的命令.例如,將圖6的CCW通道程序的通信與圖7的TCW通道 程序的通信進(jìn)行比較。在圖6的CCW通道程序中,以分離的序列將每個(gè) 命令(例如,定義范圍命令600、定位記錄命令601、讀命令602、讀命令 604、讀命令606、定位記錄命令607和讀命令608)從通道610發(fā)送至控 制單元612。另夕卜,以分離的序列,個(gè)4k的數(shù)據(jù)塊(例如,數(shù)據(jù)614-6加) 從控制單元612發(fā)送至通道610,該CCW通道程序需要兩個(gè)交換被開(kāi)啟
和關(guān)閉(例如,開(kāi)啟交換622、 624以及關(guān)閉交換626、 628),以及十四 個(gè)通信序列。這與完成了與圖6的CCW通道程序相同的任務(wù)的圖7的 TCW通道程序的三個(gè)序列和一個(gè)交換形成對(duì)比。如圖7中所描繪的,通道700開(kāi)啟與控制單元702的交換并且向控制 單元發(fā)送通道命令字描述符704。如上所述,CCWD包括定義范圍命令、 兩個(gè)定位記錄命令以及四個(gè)讀命令。響應(yīng)于接收到CCWD,控制單元執(zhí)行 命令并且以單個(gè)序列向通i!JC送16k的數(shù)據(jù)706。另外,控制單元向通道 提供狀態(tài)并且關(guān)閉交換708。因而,TCW通道程序需要少得多的通信來(lái)傳 送與CCW通道程序相同的數(shù)據(jù)量。參照?qǐng)D8-10描述了關(guān)于傳輸控制字、通道命令字描述符以及狀態(tài)的進(jìn) 一步的細(xì)節(jié)。特別地,參照?qǐng)D8描述了傳輸控制字的一個(gè)實(shí)施例,參照?qǐng)D 9描述了傳輸控制字所參考的通道命令字描述符的一個(gè)實(shí)施例,并且參照 圖IO描述了也是由傳輸控制字所參考的結(jié)束狀態(tài)的一個(gè)實(shí)施例。參照?qǐng)D8,在一個(gè)例子中,傳輸控制字800包括多個(gè)字段,諸如,舉 例來(lái)說(shuō)a) 命令字段802:命令字段指示命令是否是TCW通道命令或傳統(tǒng) 通道CCW。 TCW通道命令是X8命令,且X不等于零。舉例來(lái)說(shuō), X8命令字段包括以下命令之一1) 對(duì)于x=1,作為一個(gè)例子,命令是寫(xiě)TCW命令,其向控制單元傳送通道命令字描述符,以及用戶數(shù)據(jù)(根據(jù)傳輸控制字 中的通道命令字描述符數(shù)據(jù)字節(jié)計(jì)數(shù)字段);以及2) 對(duì)于x=2,作為一個(gè)例子,命令是讀TCW命令,其向控制單 元傳送通道命令字描述符,并且通道命令字描述符數(shù)據(jù)字節(jié) 計(jì)^tA控制單元將要向通道傳輸?shù)臄?shù)據(jù)的總量;b) 標(biāo)志804:標(biāo)志字段可以包括一個(gè)或多個(gè)標(biāo)志,在該例中,其包 括MIDAW標(biāo)志,該MIDAW標(biāo)志指示正在使用的是修改的間接尋址 還是直接尋址。如果標(biāo)志有效,則傳輸控制字中的地址810是修改的 間接數(shù)據(jù)地址列表(MIDAL)的第一修改的間接數(shù)據(jù)地址字
(MIDAW)的地址。否則,該地址是用于直接尋址的數(shù)據(jù)地址;c) CCWD長(zhǎng)度806:該字段包括由該傳輸控制字所指定的通道命令 字描述符的長(zhǎng)度;d) CCWD數(shù)據(jù)字節(jié)計(jì)數(shù)808:該字段包括將要由通道命令字描述符 中所有的(下面所描述的)描述符命令字(DCW)傳送的用戶數(shù)據(jù)的 總量;e) MIDAW的地址或數(shù)據(jù)地址810:該字段提供MIDAW的地址, 假設(shè)標(biāo)志字段804指示其應(yīng)當(dāng)是MIDAW地址,或者是用戶數(shù)據(jù)的地 址;f) CCWD的地址812:該字段包括在存儲(chǔ)器中定位通道命令字描述 符的地址'下面進(jìn)一步描述通道命令字描述符。g) 狀態(tài)的地址814:該字段包括在存儲(chǔ)器中為該傳輸控制字定位結(jié) 束完成狀態(tài)的地址。下面描述關(guān)于結(jié)束狀態(tài)的進(jìn)一步的信息。 由傳輸控制字所定義的、包括MIDAW或數(shù)據(jù)地址810、 CCWD地址812和狀態(tài)地址814的三個(gè)地址由例如主機(jī)總線適配器使用,以便執(zhí)行FCP 操作的等同物。這使得在通信中使用FCP鏈路階段,而不是FICON階段, 從而顯著增加了通道子系統(tǒng)的性能和效率。如以上所指出的,傳輸控制字指定了待使用的通道命令字描迷符。通 道命令字描述符包括將要由控制單元執(zhí)行的多個(gè)命令*因?yàn)橥ǖ罌](méi)有跟蹤 與各個(gè)命令的執(zhí)行有關(guān)的狀態(tài),所以命令是獨(dú)立于通道而被執(zhí)行的??刂茊卧邮兆鳛閱蝹€(gè)單元的多個(gè)命令,并且負(fù)責(zé)以適當(dāng)?shù)姆绞綀?zhí)行命令。在 一個(gè)例子中,在FCP鏈路協(xié)議中將CCWD作為FCP—CMNDIU有效載荷 發(fā)送至控制單元。通過(guò)免除通道跟蹤各個(gè)命令的責(zé)任,顯著增強(qiáng)了通道的 性能。此外,控制單元通過(guò)一次就看到整個(gè)通道程序而獲益。參照?qǐng)D9描迷了通道命令字描述符(CCWD)的一個(gè)實(shí)施例。通道命 令字描述符卯0具有三個(gè)主要部分,包括,例如,標(biāo)題902、多個(gè)DCW卯4 以及描迷符數(shù)據(jù)906,下面對(duì)其每一個(gè)進(jìn)行描述。CCWD標(biāo)題902包括以下字段,舉例來(lái)說(shuō)
a) 通道映像(Channel Image ) Id 910:該字段標(biāo)識(shí)通信中所涉及的 通道;b) 控制單元映像Id912:該字段標(biāo)識(shí)與通道映像id 910所標(biāo)識(shí)的通 道通信的控制單元;c) 設(shè)備地址914:該字段標(biāo)識(shí)耦合于在I/O通信中所涉及的控制單 元的設(shè)備jd) 讀或?qū)懽侄?16:該字段指示IZO操作是讀還是寫(xiě);e) CDBCMD918:該字段用于將這標(biāo)識(shí)為CCWD;f) 1/O優(yōu)先級(jí)920:該字段指示該I/O的優(yōu)先級(jí);g) CCWD長(zhǎng)度922:該字段指示CCWD的長(zhǎng)度;h) #DCWs924:該字段指示用于該CCWD的描述符命令字的數(shù)目; 以及i) CCWD數(shù)據(jù)字節(jié)計(jì)數(shù)926:該字段描述將要由CCWD傳送的總 的用戶數(shù)據(jù)。每個(gè)描述符命令字904均包括多個(gè)字段,諸如,舉例來(lái)說(shuō)a) 命令字段930:該字段包括CCW命令(例如,像定義范圍和定 位記錄這樣的控制命令;讀;寫(xiě);等等);b) 標(biāo)志字段932:該字段可以包括一個(gè)或多個(gè)標(biāo)志。在該例中,標(biāo) 志字段932包括命令鏈標(biāo)志,其指示是否存在命4^^接;以及描述符 數(shù)據(jù)存在標(biāo)志,其指示在CCWD中跟隨該DCW是否存在描述符數(shù) 據(jù)。當(dāng)寫(xiě)控制命令要求描述符數(shù)據(jù)時(shí),該標(biāo)志對(duì)寫(xiě)控制有效;c) 字節(jié)計(jì)數(shù)字段934:如果這是控制命令,則計(jì)數(shù)是CCWD中控制 數(shù)據(jù)的字節(jié)數(shù);否則,其是將要由該DCW傳送的用戶數(shù)據(jù)的計(jì)數(shù)。 如果DCW命令是命令中間體(command intermediate)或空操作命 令,則字節(jié)計(jì)數(shù)字段是零。描述符數(shù)據(jù)906包括用于DCW寫(xiě)控制命令的數(shù)據(jù)936。該數(shù)據(jù)在 CCWD中跟隨數(shù)據(jù)所針對(duì)的DCW,并且DCW中的標(biāo)志字段4吏其存在被 獲知。通過(guò)直接在描述符列表中指定控制數(shù)據(jù),設(shè)備可以獲取數(shù)據(jù),而不
需要設(shè)備進(jìn)行分離的數(shù)據(jù)傳送來(lái)獲取它,在一個(gè)實(shí)施例中,將諸如循環(huán)冗佘校驗(yàn)(例如,F(xiàn)ICON CRC)、縱 向冗余校驗(yàn)(LRC)、校驗(yàn)和等的校驗(yàn)碼應(yīng)用在根據(jù)CCWD中DCW字 節(jié)計(jì)數(shù)的總和所傳送的CCWD數(shù)據(jù)上,并且當(dāng)將CCWD傳輸至控制單元 時(shí),將分離的校驗(yàn)碼應(yīng)用于CCWD。例如,將校驗(yàn)碼應(yīng)用于正在由CCWD 所傳送的4^P數(shù)據(jù)。這處于比在傳輸級(jí)別所應(yīng)用的CRC更高的級(jí)別。將 校驗(yàn)應(yīng)用于所發(fā)送的每個(gè)數(shù)據(jù)分組,并且然后在收端累積和;^驗(yàn),以確保 (如CCWD數(shù)據(jù)字節(jié)計(jì)數(shù)所指定的)整個(gè)數(shù)據(jù)完整且無(wú)差錯(cuò)的到達(dá)。作為進(jìn)一步的例子,對(duì)于CCWD本身來(lái)說(shuō),應(yīng)用了校驗(yàn)碼。例如, 將代碼附于信息。控制單元接收信息、校驗(yàn)代碼,并且如果有效,則認(rèn)為 信息有效。傳輸控制字還為結(jié)束狀態(tài)指定位置.這允許操作系統(tǒng)在存儲(chǔ)器中為來(lái) 自用于TCW ^Mt和讀出數(shù)據(jù)的控制單元的附加定時(shí)器和計(jì)數(shù)信息指定區(qū) 域,因而,保證在每個(gè)單元檢查(unitcheck) *下傳送并#出數(shù)據(jù). 參照?qǐng)DIO描述了結(jié)束狀態(tài)的一個(gè)例子。在一個(gè)實(shí)施例中,結(jié)束狀態(tài)控制塊IOOO包括以下字段a) DCW剩余字節(jié)計(jì)數(shù)1002:該字段指示失效的DCW (即,在此 處中斷了 DCW的執(zhí)行)的剩余字節(jié)計(jì)數(shù);b) 讀出長(zhǎng)度1004:該字段指定在附加讀出數(shù)據(jù)中附于該控制塊末尾 的讀出婆:據(jù)的長(zhǎng)度;c) 響應(yīng)長(zhǎng)度1006:該字段指示該控制塊的響應(yīng)部分的長(zhǎng)度;d) CH映像Idl008:該字段標(biāo)識(shí)在通信中所涉及的通道;e) CU映像Id 1010:該字段標(biāo)識(shí)與由通道映像id 1008所標(biāo)識(shí)的通 道通信的控制單元;f) 設(shè)備地址1012:該字段標(biāo)識(shí)耦合于在I/0通信中所涉及的控制單 元的設(shè)備;g) 狀態(tài)標(biāo)志1014:該字段指定一個(gè)或多個(gè)狀態(tài)標(biāo)志。在"Fibre Channel Single Byte Command Code Sets曙2 Mapping Protocol
(FC-SB-3)," Tll/Project 1357國(guó)D/Rev丄6, INCITS (March 2003)中描述 了狀態(tài)標(biāo)志的例子,在此通過(guò)引用的方式將其全部并入本i兌明書(shū);h) 狀態(tài)1016:該字段標(biāo)識(shí)通信的狀態(tài),包括,例如,i殳備狀態(tài),在 "IBM z/Architecture Principles of Operation," Publication No.SA22-7832-04, 5th Edition, September 2005中對(duì)其進(jìn)一步進(jìn)4亍了描 述,在此通過(guò)引用的方式將其全部并入本說(shuō)明書(shū);i) CCWD剩余字節(jié)計(jì)數(shù)1020:該字段指示CCWD數(shù)據(jù)字節(jié)計(jì)數(shù)的 剩余字節(jié)計(jì)數(shù),其是對(duì)于整個(gè)CCWD來(lái)說(shuō)未傳送的數(shù)據(jù)的剩余計(jì)數(shù); j ) DCW偏移1022:如果所有的DCW均沒(méi)有在CCWD中被執(zhí)行, 則這是在CCWD中失效的DCW的DCW偏移;k)隊(duì)列時(shí)間Ml024:該字段指定控制單元在對(duì)通道開(kāi)啟交換的情 況下4吏I/O操作在其隊(duì)列上的時(shí)間量;1) 延遲時(shí)間參數(shù)1026:該字段指定在對(duì)通道開(kāi)啟交換的情況下,控 制單元由于控制單元數(shù)據(jù)高速緩存缺失而等待數(shù)據(jù)的時(shí)間量,控制單 元必須訪問(wèn)介質(zhì)以引用所請(qǐng)求的數(shù)據(jù);m)控制單元有效時(shí)間1028:該字段指定控制單元有效執(zhí)行TCW的 時(shí)間;n)附加讀出數(shù)據(jù)(如果有的話)1030:該字段包括對(duì)于控制單元在 I/O操作期間遭遇單元檢查的情況下的讀出。在"IBM z/Architecture Principles of Operation," Publication No. SA22-7832-04, 5th Edition, September 2005中進(jìn)一步描述了狀態(tài);并JLfc "Fibre Channel Single Byte Command Code Sets誦2 Mapping Protocol (FC-SB-3)," Tll/Project 1357-D/Rev.l.6, INCITS (March 2003)中進(jìn)一步描 述了隊(duì)列時(shí)間、延遲時(shí)間以及附加讀出,在此通過(guò)引用的方式將其每一個(gè) ^并入本,說(shuō)明書(shū)。對(duì)于傳統(tǒng)FICON來(lái)說(shuō),命令響應(yīng)是CCW通道程序的操作中重要的 測(cè)量點(diǎn)。圖11是由通道所看到的時(shí)間線(timeline ),其描繪了由用于CCW 通道程序的通道子系統(tǒng)保持跟蹤的各種定時(shí)點(diǎn)(timing point)。舉例來(lái)說(shuō),
通道看到起始子通道A 1100、 CMR B 1102、斷開(kāi)C 1104、重新連接D 1106 以及結(jié)束狀態(tài)E 1108。控制單元在結(jié)束狀態(tài)時(shí)間處向通道提供CU隊(duì)列時(shí) 間以及CU延遲時(shí)間。實(shí)際上,傳統(tǒng)通道子系統(tǒng)進(jìn)^f亍多個(gè)步驟來(lái)收集用于通道子系統(tǒng)測(cè)量的 各種時(shí)間。例如,參照?qǐng)D11,其在A 1100處對(duì)起始子通道的時(shí)間加時(shí)間 戳,并且其在B 1102處對(duì)CMR的時(shí)間加時(shí)間戳。在斷開(kāi)時(shí)間C 1104處, 其計(jì)算連接時(shí)間(CT-C-B)。其在D 1106處對(duì)重新連接的時(shí)間加時(shí)間戳, 并且在E 1108處對(duì)結(jié)束狀態(tài)時(shí)間加時(shí)間戳。由此,其計(jì)算總的連接時(shí)間 CT-(C-B)+(E-D); 總的起始未決時(shí)間SP-(B-A);以及斷開(kāi)時(shí)間 DT=(E-A)-CT-SP。然而,對(duì)于TCW來(lái)說(shuō),通道并不獲得命令響應(yīng)CMR以知道控制單 元何時(shí)起動(dòng)I/0操作。例如,參照?qǐng)D12的時(shí)間線,其僅看到起始子通道A 1200以及結(jié)束狀態(tài)E 1202。通道對(duì)于TCW操作并未看到CMR B 1204時(shí) 間,以^始于C 1206且結(jié)束于D 1208從介質(zhì)檢索數(shù)據(jù)所需要的時(shí)間。 從介質(zhì)檢索數(shù)據(jù)的時(shí)間是TCW的CU延遲時(shí)間的一部分。CU隊(duì)列時(shí)間(未 示出)和CU延遲時(shí)間由控制單元在結(jié)束狀態(tài)時(shí)間提供。因而,對(duì)于TCW通道程序來(lái)說(shuō),通道對(duì)A1200處起始子通道的時(shí)間 以及E 1202處結(jié)束狀態(tài)時(shí)間加時(shí)間戳,但卻是控制單元對(duì)以下進(jìn)行跟蹤 操作何時(shí)開(kāi)始以及執(zhí)行各個(gè)命令并且提供該測(cè)量數(shù)據(jù)作為結(jié)束狀態(tài)的一部 分的總的時(shí)間。舉例來(lái)說(shuō),控制單元在結(jié)束狀態(tài)處報(bào)告以下在圖12中,AT-有效時(shí)間-(C-B)+(E-D)-這是圖10中的CU有效時(shí) 間1028;QT-CU隊(duì)列時(shí)間-這是控制單元在起動(dòng)操作之前使操作在其隊(duì)列上的時(shí)間量,并且是圖10中的隊(duì)列時(shí)間^IU024;以及在圖12中,DT-延遲時(shí)間-(D-C)-這是圖10中的延遲時(shí)間^lt1026。 才艮據(jù)控制單元所提供的定時(shí)器以及圖12上由通道子系統(tǒng)在A和E處所提供的開(kāi)始和結(jié)束時(shí)間戳,對(duì)于TCW命令^/映了與傳統(tǒng)CCW命令相 同的測(cè)量婆:據(jù)。1/0子系統(tǒng)確定CMR時(shí)間(B-A (圖12) ) -(E誦A)-AT-DT曙QT;總的連接時(shí)間CT-CU報(bào)告的有效時(shí)間AT (圖10中的1028);總的起始未決時(shí)間SP=(E-A)-AT-DT;以及斷開(kāi)時(shí)間-CU報(bào)告的延遲時(shí)間-(D-C)(圖10中的1026)。因此,控制單元負(fù)責(zé)跟蹤各個(gè)命令的狀態(tài)信息并且提供其相關(guān)的測(cè)量 數(shù)據(jù),免除了通道的該責(zé)任。操作系統(tǒng)僅僅將通道作為管道(conduit)而 直接與控制單元通信。通道并不跟蹤各個(gè)命令的狀態(tài)信息,但是,通過(guò)使 用1/0子系統(tǒng)時(shí)間戳A和E以及來(lái)自控制單元的三個(gè)定時(shí)器,1/0子系統(tǒng) 提供了與傳統(tǒng)CCW相同的測(cè)量數(shù)據(jù),并且因而,相同的測(cè)量數(shù)據(jù)被提供 給操作系統(tǒng)。與此同時(shí),減少了通道的工作負(fù)荷??梢栽诰哂欣缬?jì)算機(jī)可用介質(zhì)的制品(例如, 一個(gè)或多個(gè)計(jì)算枳一呈 序產(chǎn)品)中包括本發(fā)明的一個(gè)或多個(gè)方面。在此,介質(zhì)具有例如計(jì)算機(jī)可 讀程序代碼裝置或邏輯(例如,指令、代碼、命令等)以提供和促進(jìn)本發(fā) 明的能力。制品可以被包括作為計(jì)算機(jī)系統(tǒng)的一部分或被單獨(dú)出售。參照?qǐng)D13描述了合并本發(fā)明的一個(gè)或多個(gè)方面的制品或計(jì)算M序 產(chǎn)品的一個(gè)例子。計(jì)算;^序產(chǎn)品1300包括,例如, 一個(gè)或多個(gè)計(jì)算機(jī)可 用介質(zhì)1302,以便在其上存儲(chǔ)計(jì)算機(jī)可讀程序代碼裝置或邏輯1304,從而 提供和促#發(fā)明的一個(gè)或多個(gè)方面。介質(zhì)可以是電子、磁性、光學(xué)、電 磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或者傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì) 的例子包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可裝卸計(jì)算機(jī)磁盤(pán)、隨機(jī)訪問(wèn)存 儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤(pán)和光盤(pán)。光盤(pán)的例子包括 只讀光盤(pán)存儲(chǔ)器(CD-ROM)、讀/寫(xiě)光盤(pán)(CD-R/W)和DVD。由一個(gè)或多個(gè)計(jì)算機(jī)可讀程序代碼裝置或邏輯所定義的一個(gè)或多個(gè)相 互聯(lián)系的模塊的邏輯裝配或者程序指令序列引導(dǎo)了本發(fā)明的一個(gè)或多個(gè)方 面的性能。有利地,依照本發(fā)明的一個(gè)或多個(gè)方面,通過(guò)使操作系統(tǒng)能夠直接與 控制單元通信并且通過(guò)免除I/O通信適配器必須跟蹤與正在處理的各個(gè)命
令有關(guān)的所有狀態(tài)信息來(lái)增強(qiáng)I/O處理。也就是說(shuō),在操作系統(tǒng)與控制單元之間建立了直接通信通路,從而使得操作系統(tǒng)可以通過(guò)通道子系統(tǒng)向設(shè) a送命令字的列表,而通道子系統(tǒng)不需要對(duì)各個(gè)命令的任何可見(jiàn)性或?qū)?各個(gè)命令進(jìn)行處理。這減少了通信適配器的工作,并且增強(qiáng)了其性能。另 外,通過(guò)使對(duì)所有命令的理解都由用于通道程序的控制單元來(lái)進(jìn)行,控制 單元獲益。另外,通過(guò)使控制單元為其直接控制的間隔提供各種時(shí)間,而 不是使通道子系統(tǒng)從接口上的不精確信號(hào)推斷時(shí)間,提供了更精確的測(cè)量 數(shù)據(jù).依照本發(fā)明的一個(gè)或多個(gè)方面,將良性(例如,操作系統(tǒng)或軟件在創(chuàng) 建時(shí)已知的可預(yù)測(cè)執(zhí)行)ccw鏈壓縮成一個(gè)控制塊(文中稱為ccw描述符(CCWD)),并且由文中稱為傳輸控制字的CCW參考??梢詫⒚?令鏈CCW以及數(shù)據(jù)鏈CCW壓縮到一個(gè)CCWD中。這減少了傳送給定量的數(shù)據(jù)所需要的序列和交換的數(shù)目。使用單個(gè)交換,而不是對(duì)各個(gè)i殳4^令需要單獨(dú)的序列。舉例來(lái)說(shuō),這導(dǎo)致通過(guò)FICON在傳送4k的數(shù)據(jù)所需 要的交換和序列兩方面減少2x。這使得FICON可與FCP竟?fàn)?,特別是在 小塊傳送上。使用FCP鏈路階段,而不是使用FICON鏈路階段。然而, 除了必須在FCP_CMND IU中發(fā)送以允許FCP主機(jī)總線適配器隨協(xié)i義工 作的比特和字節(jié)之外,在FCP—CMND m和FCP—RSP IU中的信息不是 FCP'TCW為I/O通信適配器提供信息以便向控制單元傳輸CCW命令的 列表,以及向控制單元或者從控制單元傳送用戶數(shù)據(jù)。有利地,使用本發(fā) 明的一個(gè)或多個(gè)方面的通道子系統(tǒng)還可以繼續(xù)使用CCW通道程序,以及 TCW通道程序。通過(guò)使用TCW,改進(jìn)了傳送例如小數(shù)據(jù)塊的I/O操作的 性能。此外,使用TCW和CCWD啟用了用于讀出數(shù)據(jù)的位置,其可以隨 結(jié)束狀態(tài)一起被發(fā)送.盡管以上描述了各種實(shí)施例,然而這些僅僅是例子,除了文中所描述 的那些以外的處理環(huán)境,包括使用1/0子系統(tǒng)而不是通道子系統(tǒng)的其它環(huán) 境,可以合并和使用本發(fā)明的一個(gè)或多個(gè)方面。另外,盡管已經(jīng)示出了各
種控制塊,然而這些控制塊內(nèi)的信息的位置可以不同于文中所示出的。另 夕卜,每個(gè)控制塊均可以包括附加的、比文中所描述的更少的或不同的信息。 例如,可以有附加的、更少的和/或不同的字段,包括這樣的字段,即該字 段可以包括附加的、更少的和/或不同標(biāo)志。另外,可以有附加的、更少的 和/或不同的字段大小。更進(jìn)一步地,盡管在實(shí)施例的各個(gè)部分中提及或描 述了主存儲(chǔ)器,然而本發(fā)明的一個(gè)或多個(gè)方面可以應(yīng)用于其它存儲(chǔ)器。再進(jìn)一步地,盡管文中描述了諸如FICON和FCP的通信協(xié)議,然而本發(fā)明 的一個(gè)或多個(gè)方面可以應(yīng)用于其它協(xié)^義。此外,環(huán)境可以包括仿真器(例如,軟件或其它仿真機(jī)制),其中對(duì) 特定的體系結(jié)構(gòu)或其子集進(jìn)行仿真。在這樣的環(huán)境中,仿真器的一個(gè)或多 個(gè)仿真功能可以實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面,即4吏執(zhí)行該仿真器的計(jì)算 機(jī)可能具有與正在仿真的能力不同的體系結(jié)構(gòu)。舉例來(lái)說(shuō),在仿真模式中, 對(duì)正在仿真的具體指令或操作進(jìn)行編碼,并且構(gòu)建適當(dāng)?shù)姆抡婀δ芤詫?shí)現(xiàn) 各個(gè)指令或操作。在其它的例子中,實(shí)現(xiàn)其它命令的TCW通道程序可以包括本發(fā)明的 一個(gè)或多個(gè)方面。另外,TCW通道程序可以讀取不同于文中所描述的數(shù) 據(jù)量,并且仍然可以得益于本發(fā)明的一個(gè)或多個(gè)方面。在不背離本發(fā)明的 精神的情況下,各種其它的例子和修改都是可能的。在仿真環(huán)境中,主計(jì)算機(jī)包括,例如,存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)器;從存儲(chǔ)器取回指令以及視情況為取回的指令提供本地緩沖的指令取回單元;接收指令取回單元并且確定已經(jīng)取回的指令的類型的指令解碼單元;以及執(zhí)行指令的指令執(zhí)行單元。執(zhí)行可以包括將數(shù)據(jù)加載到用于存儲(chǔ)器的寄存器中;將數(shù)據(jù)從寄存器存儲(chǔ)回存儲(chǔ)器;或者如解碼單元所確定的進(jìn)行某種 類型的算術(shù)或邏輯操作。在一個(gè)例子中,在軟件中實(shí)現(xiàn)每個(gè)單元。例如, 將正在由單元進(jìn)行的操作作為仿真器軟件內(nèi)的一個(gè)或多個(gè)子例程來(lái)實(shí)現(xiàn)。另外,適于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)是可用的,其包括 通過(guò)系統(tǒng)總線直接或間接耦合于存儲(chǔ)元件的至少一個(gè)處理器。存儲(chǔ)元件包 括,例如,在程序代碼的實(shí)際執(zhí)行期間所采用的局部存儲(chǔ)器、大容量存儲(chǔ)
器,以及為了減少在執(zhí)行期間必須從大容量存儲(chǔ)器檢索代碼的次數(shù)而提供 對(duì)至少 一些程序代碼的臨時(shí)存儲(chǔ)的高速緩沖存儲(chǔ)器.輸"輸出或i/o設(shè)備(包括但不限于鍵盤(pán)、顯示器、指點(diǎn)設(shè)備等)可 以直接地或者通過(guò)插入I/O控制器而耦合于系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合于系統(tǒng),從而使得數(shù)據(jù)處理系統(tǒng)能夠適于通過(guò)介入專用或公用網(wǎng)絡(luò)耦合于 其它的數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解 調(diào)器和以太網(wǎng)卡正是幾種可用類型的網(wǎng)絡(luò)適配器??梢栽谲浖?、固件、硬件或其組合中實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面的 能力。可以提供機(jī)器可讀的至少一個(gè)程序存儲(chǔ)設(shè)備,其含有可由機(jī)器執(zhí)行 的至少一個(gè)指令程序,從而實(shí)現(xiàn)本發(fā)明的能力。文中所描繪的流程圖僅僅是例子。在不背離本發(fā)明的精神的情況下, 文中所描述的這些示圖或步驟(或操作)可以有很多變體。例如,可以以 不同的順序?qū)崿F(xiàn)步驟,或者可以添加、刪除或修改步驟。所有這些變體都 ^t認(rèn)為是所要求保護(hù)的本發(fā)明的 一部分。盡管已經(jīng)詳細(xì)描繪和描述了優(yōu)選的實(shí)施例,然而對(duì)相關(guān)領(lǐng)域的技術(shù)人 員將會(huì)顯而易見(jiàn)的是,在不背離本發(fā)明的精神的情況下,可以進(jìn)行各種修 改、添加、替換等,并且因此認(rèn)為這些都在如以下權(quán)利要求所限定的本發(fā) 明的范圍之內(nèi)。
權(quán)利要求
1.一種促進(jìn)處理環(huán)境的輸入/輸出處理的方法,所述方法包括通過(guò)所述處理環(huán)境的輸入/輸出通信適配器獲取傳輸控制字,所述傳輸控制字指定了所述處理環(huán)境的存儲(chǔ)器中包括待執(zhí)行的多個(gè)輸入/輸出命令的位置,以及存儲(chǔ)器中與所述多個(gè)輸入/輸出命令的執(zhí)行相關(guān)的狀態(tài)信息的位置;將所述多個(gè)輸入/輸出命令作為一個(gè)實(shí)體從所述輸入/輸出通信適配器轉(zhuǎn)發(fā)至所述處理環(huán)境的控制單元;以及通過(guò)所述控制單元執(zhí)行所述多個(gè)輸入/輸出命令以進(jìn)行一個(gè)或多個(gè)輸入/輸出操作,其中所述執(zhí)行是在所述輸入/輸出通信適配器沒(méi)有跟蹤與正在由所述控制單元執(zhí)行的所述多個(gè)輸入/輸出命令中的各個(gè)輸入/輸出命令有關(guān)的狀態(tài)的情況下進(jìn)行的。
2. 根據(jù)權(quán)利要求l的方法,其中所述狀態(tài)信息包括在單元檢查條件下 所提供的并fr^出數(shù)據(jù)。
3. 根據(jù)權(quán)利要求l的方法,其中在由存儲(chǔ)器中的所述位置所標(biāo)識(shí)的狀 態(tài)控制塊中提供所述狀態(tài)信息。
4. 根據(jù)權(quán)利要求3的方法,其進(jìn)一步包括由所述控制單元確定與所述多個(gè)輸入/輸出命令的執(zhí)行關(guān)聯(lián)的測(cè)量數(shù) 據(jù);以及在由所述傳輸控制字所指定的狀態(tài)控制塊中提供所述測(cè)量數(shù)據(jù),所述 控制單元的所述確定和提供使得所述輸入/輸出通信適配器不必推斷所迷 測(cè)量數(shù)據(jù)。
5. 根據(jù)權(quán)利要求4的方法,其中所述測(cè)量數(shù)據(jù)包括以下中的至少一個(gè) 隊(duì)列時(shí)間^ft,所述隊(duì)列時(shí)間^lt指定了所述控制單元在對(duì)所述輸A7輸出 通信適配器開(kāi)啟交換的情況下使輸A/輸出操作在其隊(duì)列上的時(shí)間量;以及 延遲時(shí)間^lt,所^遲時(shí)間^lt指定了所述控制單元在對(duì)所述輸/^/輸出 通信適配器開(kāi)啟所述交換的情況下,由于控制單元數(shù)據(jù)高速緩存缺失而等 待數(shù)據(jù)的時(shí)間量,
6. 根據(jù)權(quán)利要求4的方法,其中所述測(cè)量數(shù)據(jù)包括控制單元有效時(shí)間, 所述控制單元有效時(shí)間指定了所述控制單元有效執(zhí)行所述傳輸控制字的時(shí) 間。
7. 根據(jù)權(quán)利要求3的方法,其中所述狀態(tài)控制塊進(jìn)一步包括與所述多 個(gè)輸/v/輸出命令中的失效輸A/輸出命令相關(guān)的信息。
8. 根據(jù)權(quán)利要求7的方法,其中所迷信息包括以下中的至少一個(gè)對(duì)在何處中斷所迷輸x/輸出命令的執(zhí)行的指示,以;sjit沒(méi)有為所述多個(gè)輸入/輸出命令中的一個(gè)或多個(gè)輸/v/輸出命令傳送的數(shù)據(jù)量的指示。
9. 一種促進(jìn)處理環(huán)境的輸A/輸出處理的系統(tǒng),所述系統(tǒng)包括 所述處理環(huán)境的輸X/輸出通信適配器,其獲取傳輸控制字,所述傳輸控制字指定了所述處理環(huán)境的存儲(chǔ)器中包括待執(zhí)行的多個(gè)輸入/輸出命令 的位置,以及存儲(chǔ)器中與所述多個(gè)輸X/輸出命令的執(zhí)行相關(guān)的狀態(tài)信息的 位置;所述處理環(huán)境的控制單元,其從所述輸A/輸出通信適配器接收作為一 個(gè)實(shí)體的所述多個(gè)輸"輸出命令,并且執(zhí)行所述多個(gè)輸A/輸出命令以進(jìn)行 一個(gè)或多個(gè)輸/J輸出操作,其中所述M是在所述輸/v/輸出通信適配器沒(méi) 有跟蹤與正在由所述控制單元執(zhí)行的所述多個(gè)輸入/輸出命令中的各個(gè)輸 A/輸出命令有關(guān)的狀態(tài)的情況下進(jìn)行的。
10. 根據(jù)權(quán)利要求9的系統(tǒng),其中所述控制單元進(jìn)一步適于確定與所 述多個(gè)輸/J輸出命令的執(zhí)行關(guān)聯(lián)的測(cè)量數(shù)據(jù),并且其中在由所述傳輸控制 字所指定的狀態(tài)控制塊中提供所述測(cè)量數(shù)據(jù).
11. 根據(jù)權(quán)利要求10的系統(tǒng),其中所迷測(cè)量數(shù)據(jù)包括以下中的至少 一個(gè)隊(duì)列時(shí)間^t,所述隊(duì)列時(shí)間參數(shù)指定了所述控制單元在對(duì)所述輸 入/輸出通信適配器開(kāi)啟交換的情況下使輸入/輸出操作在其隊(duì)列上的時(shí)間 量;以;SJ^遲時(shí)間參數(shù),所述延遲時(shí)間^:指定了所述控制單元在對(duì)所述 輸7v/輸出通信適配器開(kāi)啟所述交換的情況下,由于控制單元數(shù)據(jù)高速緩存 缺失而等待數(shù)據(jù)的時(shí)間量。
12. 根據(jù)權(quán)利要求10的系統(tǒng),其中所述測(cè)量數(shù)據(jù)包括控制單元有效 時(shí)間,所述控制單元有效時(shí)間指定了所述控制單元有效執(zhí)行所述傳輸控制 字的時(shí)間。
13. 根據(jù)權(quán)利要求9的系統(tǒng),其中在由存儲(chǔ)器中的所述位置所標(biāo)識(shí)的 狀態(tài)控制塊中提供所述狀態(tài)信息,所述狀態(tài)控制塊包括與所述多個(gè)輸入/ 輸出命令中的失效輸X/輸出命令相關(guān)的信息。
14. 根據(jù)權(quán)利要求13的系統(tǒng),其中所述信息包括以下中的至少一個(gè) 對(duì)在何處中斷所述輸/v/輸出命令的執(zhí)行的指示,以;sjit沒(méi)有為所述多個(gè)輸 入/輸出命令中的 一個(gè)或多個(gè)輸"輸出命令傳送的數(shù)據(jù)量的指示。
全文摘要
通過(guò)容易地使得能夠訪問(wèn)與輸入/輸出處理關(guān)聯(lián)的信息來(lái)促進(jìn)輸入/輸出處理。該信息包括由執(zhí)行輸入/輸出命令的控制單元所提供的狀態(tài)信息和測(cè)量數(shù)據(jù)。所述狀態(tài)和測(cè)量數(shù)據(jù)是在傳輸控制字中所標(biāo)識(shí)的狀態(tài)控制塊中被提供的,其進(jìn)一步用于指定存儲(chǔ)器中包括待執(zhí)行的輸入/輸出命令的位置。
文檔編號(hào)G06F13/12GK101162445SQ20071016162
公開(kāi)日2008年4月16日 申請(qǐng)日期2007年9月27日 優(yōu)先權(quán)日2006年10月10日
發(fā)明者D·F·卡斯泊, J·R·弗拉納根 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司