[go: up one dir, main page]

JP2006277583A - データ処理システム、データ処理方法、及びプログラム - Google Patents

データ処理システム、データ処理方法、及びプログラム Download PDF

Info

Publication number
JP2006277583A
JP2006277583A JP2005098971A JP2005098971A JP2006277583A JP 2006277583 A JP2006277583 A JP 2006277583A JP 2005098971 A JP2005098971 A JP 2005098971A JP 2005098971 A JP2005098971 A JP 2005098971A JP 2006277583 A JP2006277583 A JP 2006277583A
Authority
JP
Japan
Prior art keywords
command
data processing
code
processing device
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005098971A
Other languages
English (en)
Inventor
Junichi Muto
淳一 武藤
Isamu Kurokawa
勇 黒川
Shinichi Hiramatsu
伸一 平松
Takuya Ichikawa
琢也 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005098971A priority Critical patent/JP2006277583A/ja
Priority to US11/142,262 priority patent/US20060224795A1/en
Publication of JP2006277583A publication Critical patent/JP2006277583A/ja
Priority to US12/143,539 priority patent/US7617334B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 ホストとDKCとが通信接続されたデータ処理システムで、条件分岐を含んだ複数のチャネルコマンドワード(CCW)を一括して処理し、装置間でのCCW転送を含む処理の負荷を軽減して処理性能向上を実現する。
【解決手段】 ホスト101は、IP111がCCW401を発行し、CH113が、CCW401やCCWチェイン402を、エンコードプログラム115によりエンコード処理して、DKC102との条件分岐の制御の記述を含んだ形式のコード403を作成し、DKC102のPORT121に送信する。PORT121は、コード403をデコードプログラム126によりデコード処理し、CP123が、デコードにより取得される各コマンドを順に処理し、処理終了状態を示すリターンコードを返す。ホスト101はリターンコードを受信して処理終了状態を認識する。
【選択図】 図1

Description

本発明は、データ処理装置間でコマンド処理を実行するデータ処理システムに関し、特に、ディスクアレイ装置(ストレージ装置ともいう)におけるディスク制御装置(DKCと略称する)等の記憶制御装置と、それに対するホストコンピュータ(単にホストとも称する)との間でコマンドや関連するデータ等を処理するための技術に関する。
従来、ホストとディスクアレイ装置とを通信のためのチャネルで接続したデータ処理システムにおいて、ホストがDKCに対してCCW(チャネルコマンドワード)を発行・送信して、DKCでコマンド処理を実行させることが行われる。特に、ホスト−DKC間で処理動作や仕事を行わせるために、ホストがDKCに対して、CCWチェインを発行・送信して連続的に処理することがよく行われる。CCWチェインとしては、例えばHDD(ハードディスクドライブ)等の記憶装置に対してデータ書き込み制御する場合のもの等、各種が存在する。
図8に示すような従来のデータ処理システムの構成例において、ホスト901は、複数のCCW801をCCWチェイン802として発行して、それらをディスクアレイ装置900のDKC902に送信し、DKC902にCCWチェイン804やCCW805を処理させる。例えば図9に示すようなCCWチェイン802を発行することにより1つの処理動作や仕事を実行させる。ホスト901−DKC902間でCCWチェイン802の処理を行う際、ホスト901は、IP111が、MS112にCCWチェイン802を生成する。CH113は、DKC902のPORT121に対し、CCWチェイン802を、CCW801のフレーム803として送信する。DKC902は、PORT121でCCW801のフレーム803を受信し、CCWチェイン804が取得される。CP123が、CCWチェイン804を構成している各CCW805を順に処理する。PORT121からCH113に対し、CCW805の処理結果の応答ステータスを送信する。
ホスト901が発行したCCW801及びCCWチェイン802には、例えばサーチ条件が含まれるものがある。前記サーチ条件は、DKC902側で実行するサーチ処理の条件の情報である。その場合、DKC902でCCW805の処理において前記サーチ条件に応じたサーチ処理が行われ、そのサーチ処理の結果が、応答ステータスとしてホスト901に返される。前記サーチ処理は、例えば、DKC902のメモリ領域の値がサーチ条件の値と一致か不一致かを調べる処理である。ホスト901は、前記条件を含むCCW801に対するDKC902での状態や処理結果に応じたDKC902からの応答ステータスによって、次に発行するCCW801を判断している。
特許文献1には、CPUとDKCの間の通信におけるオーバーヘッドを削減する技術として、複数のCCWを一括処理するための技術、及び、一括処理におけるCCWの異常終了の場合でも単独処理の場合と同様にリカバリ処理するための技術について記載されている。
特開2001−125866号公報
前記背景技術のように複数のCCWを発行することは、各CCWやそのパラメータにヘッダ部などの情報を付加するため、結果として、ホスト−DKC間のチャネルにオーバーヘッドをかけることになり、パス上のトラフィックが大きくなってしまう。またCCWごとにステータス情報の交換も生じるため、更にトラフィックが大きくなってしまう。
このため、前記チャネルのオーバーヘッドやパスのトラフィックを軽減する方法として、前記特許文献1記載の技術のように、複数のCCWを一括してすなわちCCWチェインとして転送・処理する方法がある。しかしこの方法はCCWを順に実行させる方法であって、ジャンプ命令等の条件分岐を含む複数のCCWでは、DKCからの応答に応じてCCWの実行シーケンスが変化するため、チャネルのパスにおいて複数のCCWを一括で転送することはできない。また、前記条件分岐を含む複数のCCWをDKCに処理させる場合、プログラムにおける処理終了位置の判定が難しく、ホストは、CCWチェインの各CCW単位で処理が正常に行われたかどうかを知ることができない。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ホスト等のコマンドを発行する第1のデータ処理装置と、DKC等のコマンド処理を実行する第2のデータ処理装置とが通信接続されたデータ処理システムにおいて、第1と第2のデータ処理装置とで、条件分岐を含んだ複数のコマンドワード(CW)のまとまりを一括して処理することで、第1と第2のデータ処理装置間でのCW転送を含む処理の負荷を軽減して処理性能向上を実現できる技術を提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明のデータ処理システムは、ホスト等の、コマンド(CCW等)を発行する第1のデータ処理装置と、記憶制御装置(DKC等)の、コマンド処理を実行する第2のデータ処理装置とが通信接続されたシステムであって、以下に示す技術的手段を備えることを特徴とする。前記ディスクアレイ装置は、記憶装置と、記憶装置に対するデータの記憶を制御するディスク制御装置(DKC)とを備えRAID制御可能な装置であり、DKCがホストからのコマンドや要求に応じて記憶ボリュームに対してデータ入出力処理する。
(1) 本発明のデータ処理システムは、第1と第2のデータ処理装置の間での通信処理を介して、第1のデータ処理装置が、第2のデータ処理装置での状態や処理結果に応じた条件分岐を含んだ一連の処理動作や仕事を行わせるために、複数のコマンドワード(CW)のまとまりをエンコード処理して前記条件分岐の制御の記述を含んだコードを作成して、当該コードをまとめて第2のデータ処理装置に送信して処理させることにより、複数のCWを一括処理する。第1のデータ処理装置は、条件分岐を含まず複数のCWを順に実行させるCWチェインによる処理の場合と、条件分岐を含む複数のCWによる処理の場合とについて、本コードによる一括処理を行うことができる。一括処理の実行の際、第1のデータ処理装置はエンコードプログラムの実行によりエンコード処理を、第2のデータ処理装置は、デコードプログラムの実行により前記エンコード処理に対応したデコード処理をそれぞれ行う。
本システムで、第1のデータ処理装置は、プログラムの実行、前記コマンドの発行、及び記憶ボリュームに対する入出力データの処理などを行う演算処理部と、プログラム、前記コマンド、前記入出力データ、制御情報などの、第1のデータ処理装置での処理に係わる各種のデータまたは情報を格納する記憶装置部と、前記第2のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力チャネル部とを有する。
第2のデータ処理装置は、前記入出力データに関する記憶制御及び前記コマンドに対応したコマンド処理などを行う制御プロセッサ部と、プログラム、前記コマンド、前記入出力データ、制御情報などの、第2のデータ処理装置での処理に係わる各種のデータまたは情報を格納するメモリ部と、第1のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力ポート部とを有する。
第1のデータ処理装置で、例えば、前記演算処理部が複数のチャネルコマンドワードを生成し、前記入出力チャネル部が、前記複数のチャネルコマンドワードをエンコード処理して、それによりコマンドとそのパラメータ及びその他入出力データ等を含む、第2のデータ処理装置側の状態や処理結果に応じた条件分岐の制御の記述を含んだ形式のコードを作成する。エンコードにより作成されたコード部分を作成済みのコード部分の後に繋げることで1つのデータ列のコードを作成する。
前記入出力チャネル部は、前記入出力ポート部との間で、前記作成されたコードをフレームとして送信する。入出力チャネル部は、前記コードを、例えば一括処理のためのコマンドのフレームのパラメータにセットして転送処理する。前記入出力ポート部は、前記コードを含んだフレームを受信して前記コードを取り出す。
第2のデータ処理装置では、例えば、前記入出力ポート部が、前記コードをデコード処理して前記制御プロセッサ部に渡す。前記制御プロセッサ部は、前記デコード処理により取得される各コマンドとそのパラメータ等を、前記条件分岐の制御の記述に従って順に処理し、その処理結果を示すステータス情報を返す。前記入出力ポート部は、前記ステータス情報を応答として入出力チャネル部に送信する。前記入出力ポート部は、前記応答のステータス情報を受信して、前記演算処理部等に報告する。
前記第1のデータ処理装置のエンコード処理では、条件分岐を含む複数のCWの一括処理の際における前記条件分岐の制御の記述として、元の条件分岐に対応したジャンプ命令等のCWを、例えば、他のCW処理結果のステータスに応じた条件分岐のためのCWと、その分岐先となるアドレスやラベルとを含むコード部分にエンコード処理する。前記コードにおける他のCW処理結果のステータスに応じた条件分岐のためのCWは、例えば、直前の条件判定処理のためのCWの処理結果のステータスに応じた他のCW部分へのジャンプ命令等である。第2のデータ処理装置では、コードの記述に従って、前記他のCW処理結果のステータスに応じて、前記ジャンプ命令等の条件分岐のためのCWを実行することで処理を分岐するか、または前記条件分岐のためのCWをスキップして次のCWの実行へ移るかする。
(2) また本発明のデータ処理システムは、前記(1)において更に以下を特徴とする。第1のデータ処理装置は、前記エンコード処理で、前記コードに、前記条件分岐に応じた処理の終了の状態や位置に応じたリターンコードの記述を含める。それにより、第2のデータ処理装置は、前記コードの処理の結果、前記条件分岐に応じた処理の終了の状態や位置に応じたリターンコードを含んだステータス情報を、第1のデータ処理装置へ送信する。第1のデータ処理装置は、前記ステータス情報に含まれるリターンコードから、前記処理の終了の状態や位置を認識する。
更に、第1のデータ処理装置は、前記リターンコードの受領に基づき、次に実行する処理を決定する。例えば、リターンコードが処理の正常終了を示す場合は、次に発行するコマンドワードを決定し、リターンコードが処理の異常終了を示す場合は、その終了位置に対応したコマンドワードのリカバリ処理を実行する。
(3) また、前記データ処理システムに対応したデータ処理方法及びその処理を行わせるプログラムにおいて以下を特徴とする。第1のデータ処理装置は、複数のCWを元にエンコード処理して前記条件分岐の制御の記述を含んだ形式の1つのコードを作成する処理と、作成したコードを第2のデータ処理装置に対して送信する処理とを行う。次に、第2のデータ処理装置は、第1のデータ処理装置から前記コードを受信する処理と、前記コードをデコード処理してそれにより取得される各CWを前記条件分岐の制御の記述に従ってCW処理する処理と、当該処理の終了状態や位置に応じたステータス情報を応答として第1のデータ処理装置へ送信する処理とを行う。次に、第1のデータ処理装置は、第2のデータ処理装置から前記コードの処理結果を示すステータス情報を応答として受信し、処理の終了状態や位置を認識する処理を行う。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、ホスト等のコマンドを発行する第1のデータ処理装置と、DKC等のコマンド処理を実行する第2のデータ処理装置とが通信接続されたデータ処理システムにおいて、第1と第2のデータ処理装置とで、条件分岐を含んだ複数のコマンドワード(CW)のまとまりを一括して処理することで、第1と第2のデータ処理装置間でのCW転送を含む処理の負荷を軽減して処理性能向上を実現できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
<概要>
本発明の実施の形態では、メインフレーム系ホストとディスクアレイ装置とが通信接続されるデータ処理システムにおいて、条件分岐を含む複数のCCWをコードにより一括処理する機能を備える。ホストが、複数のCCWを、条件に応じた処理分岐の制御をCWにより記述した形式のコードへエンコード処理する。これにより、従来ホスト側で行っていた、DKC側からの応答に応じた複数のコマンドの進行制御を、コードの記述によりDKC側で代行させる仕組みとした。
ホストは、複数のCCWあるいはCCWチェインをDKCに処理させるに当たり、複数のCCWをエンコード処理して所定形式のコードを作成し、作成したコードをDKCに対し1つのフレームとして転送する。DKCは、受信したフレームに含まれるコードをデコード処理してCCW処理を順に実行する。ホストは、前記エンコード処理において、特に、DKC側の状態や処理結果などに応じた条件分岐を含む処理を実行させる際に、条件分岐の制御をCCWによって記述した形式でコードを作成する。DKCは、前記デコード処理において、デコードされたCCWにおける前記条件分岐の制御の記述に従って、条件判定処理等を行い、DKCでの状態や処理結果に応じて処理を分岐して各CCW処理を実行する。そして、条件分岐に応じた処理終了の状態や位置に応じたステータス情報をホストへ返す。
以下、本実施の形態の特徴をわかりやすく示すため、まず、本実施の形態と比較される従来のデータ処理システム及びデータ処理方法について、図8〜10を参照して説明する。
<従来構成>
図8は、従来のデータ処理システムの構成例及びデータ処理方法を示す。また図9は、従来システム例におけるCCWチェインの例を示す表である。また図10は、従来システム例におけるホスト−DKC間でのCCWチェインの処理を示すシーケンス図である。一例として、メインフレーム系のホスト901と、ディスクアレイ装置900とを通信接続した、メインフレーム系のデータ処理システムを示す。
図8で、本システムは、ホスト901とディスクアレイ装置900を有する。ホスト901は、DKC902と、パス104により接続される。ディスクアレイ装置900は、DKC902とDKU(ディスクユニット)103がパス105により接続された構成である。DKU103は、HDD等の複数のディスク装置(DK)131を有する。
本システムで、ホスト901は、複数のCCW801を発行して、それらのまとまりであるCCWチェイン802により、ディスクアレイ装置900で処理動作や仕事を行わせる。ホスト901は、DKC902で連続的に実行させるCCWチェイン802を、ホスト901−DKC902間のチャネルのパス104を通じてDKC902に転送して各CCW805を順に処理させる。
ホスト901は、演算処理部(IP)111、主記憶装置部(MS)112、入出力チャネル部(CH)113、システムコントローラ(SC)114を有する。ホスト901は、DKC902に対してCCW801を発行・送信することにより、ディスクアレイ装置900の有する記憶ボリュームに対するデータ入出力やその制御等の各種データ処理を行う。ホスト901は、DKC902とのチャネルのパス104を通じて、DKC902に対しRead/Writeコマンド等によりアクセスし、記憶ボリュームに対してデータを読み書きする。また特に、ホスト901は、複数のCCW801から成るCCWチェイン802を管理して、各CCW801の処理の進行を制御する機能を備える。ホスト901は、プログラムやハードウェア論理の実行によりデータ処理を制御し、複数のCCW801の発行、DKC901に対するCCW801やCCWチェイン802の送信、応答ステータスの受信、及び、CCWチェイン802の進行制御などを行う。
DKC902は、入出力ポート部(PORT)121、キャッシュメモリ部(CM)122、制御プロセッサ部(CP)123、データ転送制御部(DTC)124、共有メモリ部(SM)125を有する。DKC902は、DKU103の記憶ボリュームに対するデータ入出力等の記憶制御の機能を備え、また特に各CCWに対応したコマンド処理の機能を備える。DKC902は、ホスト901からのコマンド等に応じて、DKU103の記憶ボリュームに対するデータ読み書き等を実行する。
従来、CCWチェイン802の処理を例えば以下のように行っていた。ホスト901は、IP111が、MS112の領域に、例えば図9に示すようなCCWチェイン802を生成する。CH113は、DKC902のPORT121との間のチャネルのパス104において、CCWチェイン802を各CCW801のフレーム803の状態で連続的に転送する。DKC902は、PORT121で受信したCCW801のフレーム803からCCWチェイン804(前記CCWチェイン802に対応する)を取得し、CCWチェイン804における各CCW805(前記CCW801に対応する)を、CP123で順にコマンド処理する。これら手順により、CCWチェイン802に対応した処理動作や仕事が実現される。
なお、DKC902において、PORT121で受信したCCWチェイン804等のデータや情報などをCM122やSM125等の領域に一旦格納し、格納されたデータや情報をPORT121やCP123が取り出して処理するようにもできる。
上記CCWチェイン802の処理において、ホスト901が発行したCCW801には、例えばDKC902側でのサーチ条件が含まれるものがある。前記サーチ条件を含んだCCW801の発行により、DKC902で前記サーチ条件に応じたサーチ処理を行わせる。そして、そのサーチ処理の結果がDKC902からホスト901へ応答ステータスとして返される。前記サーチ処理は、例えばDKC902のメモリ領域の値を条件の値と比較して一致か不一致かを調べる処理である。ホスト901は、前記サーチ条件を含むCCW801に対するDKC902からの応答ステータスによって、次に発行するCCW801等を判断し、判断に従って次のCCW801を発行する。ホスト901は、CCW801の応答ステータスに応じて、DKC902に実行させる処理を分岐させることになる。
<従来のCCWチェイン>
CCWチェイン802は、連続的にコマンド処理を実行させるための、複数の関連したCCW801のまとまりであり、各CCW801の実行順に意味がある。ディスクアレイ装置900で1つの処理動作や仕事を行わせるために、ホスト901から一連のCCW801をCCWチェイン802として発行してDKC902で各CCW805を連続的に処理させることがよく行われる。CCW801は、ホスト901とDKC902との間のチャネルで授受され、特にホスト901からDKC902に対して発行するCWである。CCWチェイン804としては、例えば、データ入出力のための制御系コマンドとして、ディスク装置131に対する書き込み制御させる場合のCCWチェイン等がある。前記特許文献1には、CCWチェインの例が記載されている。
図9に示す表で、番号(#)201、アドレス202、コマンドコード203、チェイン(フラグ)204、パラメータ205、コマンド206の各項目を有する。表の右側は、処理の分岐及び終了の様子を示す。一番左の列の番号201は、各CCW801及び制御ステップの識別のために便宜的に付けた番号であり、実際の転送処理等の際には必要無い。本例で、番号#1〜#11で示す各CCW801から、条件分岐を含んだ1つのCCWチェイン802が成る。アドレス202は、コマンド(CCW)を格納しているアドレスである。コマンドコード203は、コマンドの識別のためのコードである。チェイン204は、当該コマンドの次のコマンドへのチェインの有無を示すフラグである。パラメータ205は、コマンドのパラメータである。コマンド206は、対応するコマンド名である。
本例で、ホスト901内に有するCCWチェイン802において、#1で、アドレスX00に、コマンドコード「8B」の「TEST MEM」コマンドが格納されており、そのパラメータは「1001 0000 0002 0000 01」(16進数表記)で、チェイン有りである。また、#2において、アドレスX08に、コマンドコード「08」の「Tic」コマンドが格納されており、そのパラメータは「0000 0040」で、チェイン有りである。また、#9において、アドレスX40に、コマンドコード「83」の「ALW CRS」コマンドが格納されており、そのパラメータは「52」で、チェイン無しである。
本例におけるCCWチェイン802の処理形式は以下である。ホスト901は、DKC902との間でCCWチェイン802を実行するに当たり、基本的に番号の先頭から順にCCW801を発行する。#8のCCW「プログラムエンド」の実行によって、当該CCWチェインを終了する。条件分岐が含まれないCCWチェイン802の場合は、番号順に実行させればよいため、ホスト901は、これらCCWチェイン802をパス104において各CCWのフレーム803として連続的にDKC902へ転送処理することができる。しかし、図9に示すCCWチェイン802には条件分岐が含まれており、一部のコマンドで、ホスト901は、DKC902からの応答ステータス等に応じて、分岐先として次に実行させるCCWを決める。
本例では、#1等に示す「TEST MEM」コマンドについては、条件の記述をパラメータに含み、DKC902での条件判定処理を行わせ、その結果のステータスを応答として返させるものである。また、本例では、#2等に示す「Tic」コマンドについては、プログラムアドレスのジャンプ命令であり、DKC902側には当該コマンドは送信されない。ホスト901は、「Tic」コマンドにおいて、直前の「TEST MEM」コマンドにおけるDKC902での条件判定処理結果を示す応答ステータスに応じて、「Tic」コマンドのパラメータで指定されるジャンプ先のアドレスへ制御を移行するようにプログラムカウンタを更新する。または、前記応答ステータスに応じて、当該コマンドの実行を無効(スキップ)して、次のステップのCCWに移る。
このように、ホスト901は、IP111やCH113でCCWチェイン802を構成する複数のCCW801の発行・転送・実行などについて進行制御する。DKC902は、CP123等で各CCWについてのコマンド処理を実行する。
図10で、ホスト901−DKC902間の処理シーケンス例を示す。(a)は、CCWチェイン802の処理で「Tic」コマンドによるジャンプが発生しなかった場合の例を示す。(b)は、CCWチェイン802の処理で「Tic」コマンドによるジャンプが発生した場合の例を示す。
図10(a)で、ホスト901は、ステップS1で、#1のCCW(「TEST MEM」コマンド)をDKC902へ発行・送信する。#1で送信されるCCWのフレーム803では、コマンドコード「8B」及びパラメータ「1001 0000 0002 0000 01」を含んでいる。DKC902は、#1のCCWを受信して、そのパラメータにセットされている条件に応じたサーチ処理等の条件判定処理を実行する。そして、その処理結果のステータスを応答としてホスト901へ送信する。S2では、判定処理結果として例えばサーチ条件不一致となったことにより、応答ステータスとして、条件不一致ステータスをホスト901へ送信している場合を示す。
ホスト901は、#1のCCWの送信後、条件不一致ステータスの受領に応じて、プログラムアドレスを#1から2ステップ進めることにより次の#2のCCW(「Tic」コマンド)を無効すなわちスキップして次のステップ(#3)へ進め、S3で、条件の値を#1とは変えた#3のCCWをDKC902へ発行・送信する。これに対し、同様に、DKC902から条件不一致ステータスが返された場合を示す。これにより、S4で、次の#4のCCWを無効にし、S5で、条件の値を変えた#5のCCWを発行・送信する。これに対して、S6で、DKC902での判定処理結果として例えばサーチ条件一致となったことにより、応答として条件一致ステータスが返された場合を示す。ホスト901は、条件一致ステータスの受領に応じて、次の#6のCCW(「Tic」コマンド)を無効にして、S7で、#7のCCW(「T&S」コマンド)を発行・送信する。そして、これに対しDKC902で正常にCCW処理されたことにより、S8で、正常ステータスがホスト901へ返された場合、ホスト901は、次の#8のCCWである「プログラムエンド」により、次にチェインせずに一連のCCWチェイン802の処理を終了する。
図10(b)で、ステップS1,S2,S3は(a)と同様である。S4で、DKC902は、#3のCCWのパラメータにセットされている条件に応じた条件判定処理を行った結果、例えば条件一致ステータスをホスト901へ送信している場合を示す。
ホスト901は、#3のCCWの送信後、条件一致ステータスの受領に応じて、プログラムアドレスを#3から1ステップ進めることにより次の#4のCCW(「Tic」コマンド)を有効にして実行する。#4の「Tic」コマンドのパラメータで指定されるジャンプ先が、#10のCCW(「ALW CRS」コマンド)のアドレスである。これにより、ホスト902は、処理の分岐先となる#10のアドレスへジャンプして制御を移行し、S5で、#10のCCW(「ALW CRS」コマンド)をDKC902へ発行・送信する。そして、DKC902での#10のCCW処理を実行させ、これによりCCWチェイン802の処理を終了する。
本構成例では、前記「Tic」コマンドを含む場合のように、DKC902側の状態や処理結果に応じた処理の分岐を含んだCCWチェイン802や複数のCCW801を実行させたい場合に、DKC902からの応答ステータスに応じてホスト901でのCCWチェイン802におけるCCWの進行のシーケンスが変化する。そのため、ホスト901は、パス104においてCCWチェイン802を一括してDKC902に転送することはできない。すなわち、DKC902からの応答ステータスの受信を待つ時間が必要となるなど、ホスト901−DKC902間でインターロックによる時間的同期処理が必要であるため、処理性能を向上できない。
<データ処理システム>
図1は、本発明の実施の形態におけるデータ処理システムの構成を示すブロック図である。本構成は、前記図8で示す構成と、ハードウェア構成については同様である。本システムは、メインフレーム系のホスト101とディスクアレイ装置100とを通信接続したメインフレーム系のデータ処理システムを示す。本システムは、ホスト101とディスクアレイ装置100を有する。ホスト101は、DKC102と、パス104により接続される。ディスクアレイ装置100は、DKC102とDKU(ディスクユニット)103がパス105により接続された構成である。DKU103は、HDD等の複数のディスク装置(DK)131を含む。DKC102は、DK131のグループに対してRAID制御を行うことができる。
ホスト101では、OSなどのプログラムが稼動しており、DKC102に対してコマンドをCCWとして発行・送信してコマンド処理を行わせ、ディスクアレイ装置100の有する記憶ボリュームに対するデータ入出力やその制御等の各種データ処理を行う。ホスト101は、DKC102とのチャネルのパス104を通じて、DKC102に対しRead/Writeコマンド等によりアクセスし、記憶ボリュームに対してデータを読み書きすることができる。DKU103内のDK131上に、データを格納するための記憶ボリュームあるいはデバイスが確保され、ID(識別子)で管理される。
ホスト101は、特に、複数のCCW401から成るCCWチェイン402を管理して、各CCW401の処理の進行を制御する機能を備える。ホスト101は、プログラムやハードウェア論理の実行によりデータ処理を制御し、複数のCCW401の発行、DKC101に対するCCW401やCCWチェイン402の送信、応答ステータスの受信、及び、CCWチェイン402の進行制御などを行う。本実施の形態では、上記CCW401やCCWチェイン402についての進行制御は、コード403へのエンコード処理という形で実現される。ホスト101は、エンコードプログラム115の実行によりエンコード処理を行い、それと対応して、DKC102は、デコードプログラム126の実行によりデコード処理を行う。
ホスト101とDKC102との間のパス104において、所定のI/Fでの通信が行われる。I/Fは、例えばFICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection)(登録商標)等のメインフレーム系のプロトコルが用いられる。チャネルのパス104は、通信ケーブル等の配線や、コネクタなどの必要な電気部品から構成されている。ホスト101側の通信I/Fのポートをチャネルと称している。DKC102側のPORT121では、ホスト101側のチャネルに対応した入出力処理機能を備えている。ホスト101−DKC102間で、直接接続やネットワーク接続などの形態において、データや制御情報の転送のためのパスとなるチャネルが確保される。
<ホストコンピュータ>
図1において、ホスト101は、演算処理部(IP)111、主記憶装置部(MS)112、入出力チャネル部(CH)113、システムコントローラ(SC)114を有する。
IP111は、ホスト101のOSやアプリケーション等のプログラムを実行し、CCW401やCCWチェイン402を発行し、MS112等のメモリの領域に格納する。
MS112は、プログラムや、入出力データや、CCW401等のコマンドや、作成されたコード403等の各種のデータや情報を記憶する。これらデータや情報は、CH113内のメモリ等に格納されてもよい。
CH113は、外部のディスクアレイ装置100等に対する入出力チャネル(ポートともいう)における通信処理を行う。CH113は、ホストバスアダプタ(HBA)等ともいう。CH113は、DKC102のPORT121との間のパス104上でCCWをフレーム等の形式で送信する処理やその応答のフレームを受信する処理を行う。CH113は、特に、複数のCCW405を含んだコード403を、CCW一括処理のためのフレーム404として、PORT121へ転送する処理、及び、PORT121からその応答のフレームを受信する処理などを行う。CH113では、エンコードプログラム115の実行により、特徴的な処理であるエンコード処理を行う。CH113は、MS112等に格納されている複数のCCW401を対象として、エンコードプログラム115の実行によりエンコード処理を実行し、コード403を作成する。
SC114は、ホスト101のシステム及び各部間のデータ転送を制御する。
<ディスク制御装置>
図1において、DKC102は、入出力ポート部(PORT)121、キャッシュメモリ部(CM)122、制御プロセッサ部(CP)123、データ転送制御部(DTC)124、共有メモリ部(SM)125、デコードプログラム126を有する。DKC102は、DKU103の記憶ボリュームに対するデータ入出力やRAID制御などの記憶制御の機能を備え、また特に各CCWに対応したコマンド処理の機能を備える。DKC102は、ホスト101からのコマンド等に応じて、DKU103の記憶ボリュームに対するデータ読み書き等を実行する。コマンド処理の機能は、ホスト101でエンコード処理により付加されるCCW405に対応した処理を含む。
PORT121は、外部のホスト101等に対する入出力ポートにおける通信処理を行う。PORT121は、CH113とのパス104上でCCW等をフレーム等の形式で受信する処理やその応答のフレームを送信する処理を行う。またPORT121は、特に、CCW一括処理のためのフレーム404を受信する処理及びその応答のフレームを送信する処理、デコードプログラム126の実行によるコード403のデコード処理などを行う。
CM122は、DKC102でデータをキャッシュするためのメモリである。SM125は、DKC102で制御情報や管理情報などを格納するためのメモリである。DKC102は、PORT121やCP123がDTC124を介してCM122やSM125に対し適宜データや情報を格納しながらデータ処理を行う。
CP123は、DKC102における、CCW処理を含むデータ処理及び制御を実行する。CP123の処理及び制御は、記憶制御機能に対応する。CP123は、少なくともマイクロプロセッサ等を有し、デコード処理により取得される各CCW405に対応したコマンド処理を実行する。
DTC124は、DKC102の各部間でのデータ転送を制御し、例えば例えばデータ転送を切り替え制御するスイッチ等の接続網やDMAデータ転送処理を行うDMA制御回路などで構成される。
また、PORT121は、外部の装置に対するチャネルI/F処理を行うチャネル制御部(CHA)として構成されてもよい。また、CP123は、例えば、CHA、ディスクI/F処理を行うディスク制御部(DKA)等の各機能処理部の相互接続により構成されてもよい。CHAは、複数のポートにより外部の1つ以上の装置との通信を制御する。DKAは、パス105を介してDKU103内のDK131に対するデータ入出力を制御する。
DKC10は、例えば前記CHA等の機能処理部に対応した複数の制御パッケージの相互接続により構成することもできる。ディスクアレイ装置100は、その他、DKC102に対して保守・管理処理用のプロセッサを備えたSVP(管理装置)196が接続される。オペレータは、SVP196を操作することにより、SVP196の処理によるディスクアレイ装置100の保守・管理に係わる各種処理の実行が可能である。SVP196の処理では、例えばディスクアレイ装置100の構成情報や障害情報などの管理を行い、DKC102の各部で実行させるプログラムのインストールや、記憶ボリューム構成の設定なども可能である。
<ディスクアレイ装置ハードウェア>
図2は、ディスクアレイ装置100の全体のハードウェア外観構成を示す斜視図である。ディスクアレイ装置100は、例えば基本筐体と増設筐体とから構成できる。図2は、基本筐体の前面右斜め上から筐体を透過して見たものであり、筐体内各部の配置を示している。基本筐体は、最小構成単位であり、DKC102などが担う記憶制御機能と、DK131などが担う記憶機能との両方を備える。増設筐体は、オプション単位であり、記憶機能を備える。各筐体間が通信ケーブルで通信可能に接続される。
基本筐体には、下から、複数のバッテリ191、複数のACボックス192、複数のAC−DC電源193、DKCボックス194、複数のファン195、SVP196、パネル197、DKUボックス198、複数のファン199等が配備されている。
バッテリ191は、AC−DC電源193に対して接続され、停電時のバックアップ電源として機能する。ACボックス192は、入力AC電源を接続する部分であり、AC−DC電源193と接続される。AC−DC電源193は、入力AC電源についてAC−DC変換を行い、DKC102等の各部位に対してDC電源を供給する。
DKCボックス194は、DKC102を構成する制御パッケージを装着可能な複数のスロット等の構造を有する。制御パッケージは、各スロットでそれぞれ挿抜可能に接続され、制御パッケージ単位で交換可能となっている。制御パッケージは、ホストI/F等の各機能処理部を実装したボードを中心に含んで、キャニスタ等の電気的・機械的構造を加えて一体的にモジュール化されたものである。
SVP196は、例えばノート型PCの形態を有し、通常時には筐体内に収容され必要時に前面に取り出され使用される。パネル197は、ディスクアレイ装置100の基本操作のためのスイッチや、各種情報表示を行う表示器などが配置されている。筐体内に設けられた複数のファン195,199は、筐体内の部位に対して送風することにより空冷する。DKUボックス198には、DKU300を構成する複数のDK131等の記憶装置が、それぞれ挿抜可能に接続される。
<データ処理方法>
本実施の形態のデータ処理システムにおけるデータ処理方法として、CCWチェイン402の処理形式の概要は以下である。図1中にも各部間でのデータの流れを示している。本システムで、ホスト101は、複数のCCW401を発行して、それらのまとまりであるCCWチェイン402により、ディスクアレイ装置100で処理動作や仕事を行わせる。ホスト101は、DKC102で連続的に実行させるCCWチェイン402を、ホスト101−DKC102間のチャネルを通じてDKC102に対しまとめて転送してDKC102で各CCW401を順に処理させることができる。その際、ホスト101は、DKC102で連続的にコマンド処理を実行させるために、複数のCCW401を、1つのデータ列となるコード403にエンコード処理して、コード403のフレーム404をチャネルで一括転送することができる。そして、DKC102でコード403をデコード処理して実行させることにより、前記複数のCCW401を一括処理させる。
ホスト101は、MS112の領域に、CCWチェイン402を生成する。CCWチェイン402として、例えば前記図9に示すような、DKC101側での状態や処理結果に応じた条件分岐を含む内容のCCWチェイン802が生成される。CCWチェイン802において、一部のCCW801に、例えばDKC102側でのサーチ条件の記述が含まれる。前記条件分岐を含むCCWチェイン802を実行したい場合、ホスト101は、エンコード処理により、コード403の形式で処理する。
CCWチェイン402が条件分岐を含まないものである場合は、例えば、従来の処理のように、CH113が、DKC102のPORT121との間のチャネルのパス104において、そのCCWチェインを各CCWのフレーム803の状態で連続的に転送して処理させることができる。
ホスト101は、DKC102側の状態や処理結果に応じた条件分岐の処理を含むCCWチェイン802を実行する際に、複数のCCW401をもとに、前記エンコード処理により、前記条件分岐の制御の記述をCCW405の形で含む形式の1つのコード403を作成する。そして、ホスト101は、作成したコード403を、チャネルのパス104で一括処理用のコマンドのフレーム404としてDKC102へ送信する。
そして、DKC102は、ホスト101から受信したフレーム404から取り出したコード403を先頭から順にデコード処理して、デコードにより取得される各CCW405についてCCW処理を実行してゆく。ホスト101は、DKC102でのCCW処理の進行をホスト101側から制御するために、前記エンコード処理により作成されるコード403中に、元のCCW401とは異なるCCW405も用いる。これにより、コード403中に含まれたCCWチェインは、元のCCWチェイン402とは異なるチェインとなっている。
DKC102は、コード403の処理中、特に前記条件分岐の制御の記述が含まれていた場合は、その記述に従ってCCW処理を分岐させる。例えばDKC102は、デコードされたコマンドのパラメータ等における条件の記述に従って条件判定処理などを実行し、処理結果に従って、分岐先となるコマンドを実行して行く。そして、DKC102は、記述に従って所定のCCW405で処理を終了する。そして、DKC102は、記述に従って、処理終了時の状態や終了位置に応じたステータス情報を、応答としてホスト101へ返す。前記ステータス情報は、例えばコード403中に含まれるCCWのパラメータで記述される。ホスト101は、DKC102から応答のステータス情報を受信し、これにより、1つのコード403に対応した複数のCCW401についての処理の終了を認識する。
ホスト101は、例えば、前記処理の終了の認識に基づき、次に発行するCCW等を決定する。また例えば、ホスト101は、複数のCCW401の一括処理における応答ステータスにおいて、処理を正常に終了できなかったことを示す異常(エラー)ステータスをDKC102から受領した場合は、その応答ステータスのリターンコード(RC)で示される処理終了状態や位置に応じたエラー処理や終了位置のCCWについてのリカバリ処理などを実行する。
本例では、CCWチェイン402の処理の詳細は、以下のような流れとなる。ホスト101は、プログラムを実行しているIP111が、CCW401やCCWチェイン402を発行し、MS112等の領域に格納する。例として図9に示すCCWチェイン802が発行される。CH113は、CCWチェイン802を、エンコードプログラム115の実行によりエンコード処理して、1つのコード403を作成する。CH113は、作成したコード403を、チャネルプログラムの実行により、DKC102のPORT121との間のチャネルのパス104において、一括処理用コマンドのフレーム404の状態でPORT121に対して送信する。DKC102のPORT121は、受信したフレーム404からコード403を取り出し、DTC124を介してCP123へ送る。DKC102は、CP123で、コード403をデコードプログラム126の実行によりデコード処理して、デコードにより取得される各CCW405に対応した処理を、条件分岐の制御の記述に従って実行する。DKC102は、CCWチェイン802に対応したコード403の処理を終了すると、その結果を示すRCを含んだ応答ステータスを、PORT121からCH113へ送信する。ホスト101は、CH113で受信した応答ステータスに含まれるRCを参照し、CCWチェイン802の処理の結果を認識する。ホスト101は、応答ステータスにより処理終了状態を認識してIP111に報告する。ホスト101は、RCによりエラー発生箇所を特定して次の処理をどうするか等を決定できる。
このように、ホスト101は、IP111やCH113でCCWチェイン402を構成する複数のCCW401の発行・転送・実行などについて制御しながら、条件分岐の制御の記述を含む形式でコード403を作成してDKC102に転送して一括処理させる。
<コード及びCCWの形式>
図3は、本システムにおけるコード403の作成例を示す。この表で、左の列から、番号301、バイト(アドレス)302、コード303、ラベル304、コマンド(CCW)305の項目を有する。本例ではホスト101でのエンコード処理により作成されたデータ列をコード403と称している。表の右側の矢印は、各コマンド処理の実行順や分岐や終了の様子を示す。なおCCWとコマンドを同義で用いている。
一番左の列の番号301は、各行のCCWを識別するために便宜的に付けた番号で、CCW及び処理・制御の1ステップに対応しており、転送等の際のコード403中には必要無い。本例では、当該コード403の作成の元となる複数のCCW401から、番号#1〜#14で示す各CCWから成る1つの一括処理単位となるデータが構成される。アドレス302は、メモリ領域におけるCCWを格納しているアドレスを示す。括弧中の「x〜」は、当該アドレスの16進数表記である。コード303は、元となるCCW401からエンコード処理により作成された、コマンドコードやパラメータ等を含んだデータ列である。コード303の項目の部分が繋がることで1つのコード403となる。ラベル304は、例えば、分岐先を識別する名称である。コマンド305は、当該行のCCW及びコード303に対応するコマンド(CCW)名称である。また表中でわかりやすくするために区切り(スペース)を入れているが、実際のコード403中には必要無い。
本例で、#1,5,9は、「TEST MEM」コマンドに対応する。#11は、「T&S」コマンドに対応する。#2,6,10は、「Go Next」コマンドに対応する。#3,7,13は、「ALW CRS」コマンドに対応する。#4,8,12,14は、「Return」コマンドに対応する。また、#5のラベルが「Next1」であり、これは#2の「Go Next1」コマンドのジャンプ先となる。同様に、#9の「Next2」が#6のジャンプ先であり、#13の「Next3」が#10のジャンプ先である。
本実施の形態で一例として用いた各CCW401,405の内容とそれに対応する処理は以下である。図3で、まず、「TEST MEM」(テストメモリ)コマンドは、コマンドコードが「8B」、コマンドコードに続くサブコードが「10」であり、その機能は、DKC102内のメモリ領域と、当該コマンドのパラメータとを比較して、条件に一致するかをテストするものである。パラメータは、判定処理のための条件となる値などである。DKC102では、このテストの結果が前記条件の一致か不一致かに応じて、条件分岐の制御の記述に従って、次に実行するコード部分及びCCWが決定される。
「TEST MEM」コマンドで、例えば、DKC102は、コマンドのパラメータの値「0100 0000 0200 0001」とDKC102内の所定メモリ領域の値とを比較するサーチ処理を行い、それらが一致する場合はサーチ条件一致ステータス、一致しない場合はサーチ条件不一致ステータスを返す。
「T&S」(テストアンドセット)コマンドは、コマンドコードが「8B」、サブコードが「11」である。当該コマンドの機能は、前記「TEST MEM」コマンドと同様にDKC102内のメモリ領域とパラメータとを比較して条件に一致するかをテストし、更に条件が一致の場合に前記DKC102のメモリ領域にそのパラメータの値を書き込むものである。
「Return」(リターン)コマンドは、コマンドコードが「83」、サブコードが「02」である。当該コマンドの機能は、パラメータの値が「00」の場合は正常終了し、パラメータの値が「00」以外の場合は、処理終了状態を示すRCにそのパラメータの値を付加してホスト101に応答ステータスとして報告させるものである。
「Go Next」(ゴーネクスト)コマンドは、コマンドコードが「83」、サブコードが「08」であり、その機能は、直前のTEST系コマンド(前記「TEST MEM」や「T&S」コマンド)の処理結果に応じて処理の分岐を行わせるジャンプ命令である。条件分岐の制御は、例えば、前記直前のコマンドにおける条件の成立時すなわち前記条件一致ステータス等の時に、当該コマンドの次のステップのアドレスに移り、前記条件の不成立時すなわち前記条件不一致ステータス等の時に、当該コマンドのパラメータで指定されるアドレスにジャンプするものである。 エンコードプログラム115は、「Tic」コマンドについてのエンコードで、DKC102側の状態や処理結果に応じた条件分岐の制御が記述されたコード部分となるように、「Go Next」コマンドに変換する。
「ALW CRS」コマンドは、コマンドコードが「83」、サブコードが「52」であり、その機能は、DKC102の内部状態変更を行うものである。
図3で、本例に示すコード403の内容を説明する。#1のCCWで、メモリ領域のアドレス「4」に、コマンドコード「8B」及びサブコード「10」の「TEST MEM」コマンドのコード部分(303)が格納されている。そのコード303は「8B10 0100 0000 0200 0001」(16進数表記)であり、「8B」で1バイト、当該コード303全体で10バイトのサイズである。当該コマンドのパラメータ「0100 0000 0200 0001」は、テストにおける条件となる値である。
#2で、アドレス「14」に、コマンドコード「83」及びサブコード「08」の「Go Next1」コマンドのコード部分が格納されている。当該コード303は「8308 0017」であり、サイズは4バイトである。また当該コマンドのパラメータは「0017」であり、ジャンプ先となるラベル「Next1」に対応したアドレス(16進数表記)を示す。当該コマンドで、直前の#1のコマンドからの応答ステータスで条件一致ステータス時には、ジャンプ先となるラベル「Next1」へジャンプし、不一致ステータス時には、次の#3のアドレスへ移る。
#3で、アドレス「18」に、コマンドコード「83」及びサブコード「52」のコマンド「ALW CRS」のコード部分が格納されている。当該コマンドのパラメータは無しで、コード303は「8352」であり、サイズは2バイトである。
#4で、アドレス「20」に、コマンドコード「83」及びサブコード「02」の「Return(8)」コマンドのコード部分が格納されている。当該コマンドのパラメータは「08」で、コード303は「8302 08」であり、サイズは3バイトである。パラメータ「08」はリターンコード(RC)となる値「08」(10進数表記)を示す。当該コマンドの実行により、DKC102は、ホスト101へRC「08」を含む応答ステータスを返し、DKC102側の処理を終了する。
次に、#5において、アドレス「23(x0017)」に、前記#1と同様に、「TEST MEM」コマンドのコード部分が格納されている。当該コマンドのラベル304は「Next1」である。当該コマンドは、前記#1のコマンドのパラメータとは別の値でテストを行うためのものである。以下#5〜8において、前記#1〜4と同様に、各CCWのコード部分が格納される。#6で、アドレス「33」に、「Go Next2」コマンドのコード部分が格納される。当該コマンドのパラメータは「002A」であり、ジャンプ先となるラベル「Next2」に対応したアドレスを示す。#7で、アドレス「37」に、「ALW CRS」コマンドのコード部分が格納される。#8で、アドレス「39」に、「Return(16)」コマンドのコード部分が格納される。当該コマンドのパラメータは「10」であり、RC「16」を示す。
次に、#9において、アドレス「42(x002A)」に、同様に、「TEST MEM」コマンドのコード部分が格納されている。当該コマンドのラベル304は「Next2」である。当該コマンドは、前記#1,5のコマンドのパラメータとは別の値でテストするためのものである。次に#10において、アドレス「52」に、「Go Next3」コマンドのコード部分が格納されている。当該コマンドのパラメータは「0043」であり、ジャンプ先となるラベル「Next3」に対応したアドレスを示す。
次に#11において、アドレス「56」に、コマンドコード「8B」及びサブコード「11」の「T&S」コマンドのコード部分が格納されている。当該コマンドのパラメータは「ffnn nnnn nnnn」であり、DKC102のメモリ領域へのセット対象となる値を表わす。当該コマンドのコード303は「8B11 ffnn nnnn nnnn」であり、サイズは8バイトである。
次に#12において、アドレス「64」に、「Return(00)」コマンドのコード部分が格納されている。当該コマンドのパラメータは「00」であり、RC「00」を示す。当該コマンドの実行により、DKC102は、ホスト101へ、RC「00」を含む正常ステータスを返して終了する。
次に#13において、アドレス「67(x0043)」に、「ALW CRS」コマンドのコード部分が格納されている。当該コマンドのラベル304は「Next3」である。当該コマンドのコード303は「8352」である。
次に#14において、アドレス「69」に、「Return(24)」コマンドのコード部分が格納されている。当該コマンドのパラメータは「18」であり、RC「24」を示す。
<コマンドのフレーム>
図4は、CCWの一括処理のために用意した新しいコマンドのフレーム404の形式を示す。本コマンドは、複数のCCW401の転送及び一括処理に当たって、そのデータ(コード403)を1つのフレームで転送するために用いる。コード403は、本一括処理用のコマンドのパラメータとなる。本コマンドは、条件分岐を含まない複数のCCW401の一括転送のケースと、条件分岐を含む複数のCCW401の一括処理のケースとのいずれにも使用可能である。
本コマンドのフレーム404において、当該コマンドを示すコマンドコード501、チェイン有無を示すフラグであるチェイン502、コマンドのパラメータ(内容データ)503の領域を有する。フレーム404において、コマンドコード501は例えば「E7」である。チェイン502は、例えば「無し」とセットされる。パラメータ503は、例えば前記エンコード処理で作成したコード403が内容データとしてセットされる。
ホスト101は、一括処理の実行の際、一括処理の対象となるCCW401を元に、CH113におけるエンコード処理でコード403を作成する。CH113は、作成したコード403をコマンドコード「E7」のフレーム404のパラメータ503として、チェイン502及び転送元/転送先アドレス等の情報を付加してフレーム404を作成し、PORT121に対して送信する。
<データ処理シーケンス>
図5は、ホスト101とDKC102の間でCCW401の一括処理を行う場合のデータ処理のシーケンスを示す。ステップS1で、ホスト101のCH113は、一括処理のために作成したコマンドのフレーム404を、DKC102のPORT121へ送信する。DKC102は、PORT121でフレーム404を受信し、コード403を取り出す。そして、PORT121でコード403のコード部分を順にデコード処理して、デコードにより取得される各CCW405を判断して、例えばDTC124を介してCP123に送る。そしてCP123で各CCW405についてのCCW処理を実行する。そして、S2またはS3で、CP123でのCCW処理結果に応じて、処理の正常終了/異常終了ケースに応じたステータス情報や、条件分岐に応じた処理終了ケースに応じたRCを含むステータス情報を、PORT121から応答ステータスとしてCH113へ送信する。S2は、正常終了ケースの場合にRC「00」を含む正常ステータスが返された場合、S3は、異常終了ケースの場合に終了状態や位置に応じたRCを含む異常ステータスが返された場合である。ホスト101は、DKC102からの応答ステータスを受信して、処理終了状態や位置を認識でき、それに応じて次の処理を決定できる。
コード403の処理形式の詳細は以下である。以下、コード403における各番号301の行のコード部分をコマンド行と称する。コード403の処理の形式として、デコードプログラム126の処理により基本的に番号順にコマンド行を実行させ、「Go Next」コマンドでは、直前の「TEST MEM」コマンドでの処理結果のステータスに応じて、一致ステータスの場合には次のコマンド行のアドレスに移り、また、不一致ステータスの場合には当該コマンド行のパラメータで示されるジャンプ先のアドレスへとジャンプする。処理を分岐しながら、いずれかの「Return」コマンドの実行によりコード403の処理を終了して指定のRCを返す。
DKC102は、#1のコマンド行を実行後、#2のコマンド行の実行において、#1のコマンド行の処理結果のステータスが、一致ステータスの場合、#2によりジャンプせずに次の#3のコマンド行に移る。不一致ステータスの場合、#2の実行に従って、指定のアドレス(ラベル「Next1」)へとジャンプする。前記#2で一致ステータスの場合、DKC102は、#3,4のコマンド行を順に実行し、RC「08」をホスト101へ返して終了する。前記#2で不一致ステータスの場合、DKC102は、#5〜#8で同様に処理する。#5で一致ステータスの場合は、#8でRC「16」をホスト101へ返して終了する。
DKC102は、#9のコマンド行の実行後、#10のコマンド行の実行において、#9の処理結果のステータスが、一致ステータスの場合、#10によりジャンプせずに次の#11のコマンド行に移る。不一致ステータスの場合、#10の実行に従って、指定のアドレス(ラベル「Next1」)へとジャンプする。前記#10で一致ステータスの場合、DKC102は、#11,12のコマンド行を順に実行して、RC「00」をホスト101へ返して終了する。前記#9で不一致ステータスの場合、DKC102は、#13,#14のコマンド行を順に実行してRC「24」をホスト101へ返して終了する。
<ホスト処理>
次に、本システムにおける各処理のフローを説明する。図6は、ホスト101でCH113がエンコード処理を行う場合の処理を示すフロー図である。また、図7は、DKC102でPORT121がデコード処理を行う場合の処理を示すフロー図である。特に、図9に示すCCWチェイン802から図3に示すコード403を作成して一括処理する場合を説明する。なお説明中におけるオフセットとは、プログラムによるコード403の処理中における制御ステップの位置を示す。
ホスト101において、前提の状態として、IP111が、CCWチェイン402等の複数のCCW401を生成してMS112に格納している。CH113では、チャネルプログラムの実行により、通常のチャネル入出力制御処理と共に、複数のCCW401の一括処理に係わるエンコード処理などを行う。CH113は、エンコードプログラム115を実行して、複数のCCW401のエンコード処理を行う。チャネルプログラムは、実行対象コマンドを示すコマンドワード、チェイン等を示すフラグ情報、転送対象を示す転送カウント、メモリにおけるデータやパラメータの位置を示すアドレス等を管理する。
ステップS1で、CH113のチャネルプログラムが、MS112から、コマンド(CCW401)、フラグ、転送カウント等のデータや情報を1つずつ取り込む。次に、S2で、チャネルプログラムは、プログラムカウンタを更新する。次に、S3で、チャネルプログラムは、取り込んだコマンドが「Tic」コマンド等の条件分岐系のコマンドかどうか判断する。
前記S3で「Tic」コマンドでない場合(S3−NO)、S4で、チャネルプログラムは、コマンドをチャネルプログラム管理領域に格納する。次に、S5で、チャネルプログラムは、DKC102側への転送のためのデータバッファに、コマンドのコマンドコードを格納する。次に、S6で、チャネルプログラムは、コマンドコードに続けて、それに対応するデータやパラメータをMS112から取り込み、前記データバッファに格納する。これによりコマンドとパラメータ等がコード部分にエンコードされたことになる。次に、S7で、チャネルプログラムは、1つのコマンドについてのエンコードを終えたので、オフセット更新し、S12へ移る。
前記S3で「Tic」コマンドである場合(S3−YES)、S8〜S10で図3の#2〜4のような各コマンドにエンコードすることになる。まず、S8で、チャネルプログラムは、チャネルプログラム管理領域に、「Go Next」コマンドを、オフセットに9バイトを加えたアドレスをパラメータとしてセットして、格納する。「Tic」コマンドをエンコードして作成されるコマンドの総サイズが本例では9バイトになるので、当該コマンドのパラメータ(ジャンプ先アドレス)が「オフセット+9」となる。次に、S9で、チャネルプログラムは、「ALW CRS」コマンドを、チャネルプログラム管理領域に格納する。次に、S10で、チャネルプログラムは、「Return」コマンドとそのRCを設定する。次に、S11で、チャネルプログラムは、「Tic」コマンドについてのエンコードを終えたので、オフセット更新し、S12へ移る。
S12で、チャネルプログラムは、エンコード処理したコマンドに関するチェインの有無の判定を行う。次のコマンドへのチェインが有る場合、S1に戻り次のコマンドについて同様の処理を繰り返す。次のコマンドへのチェインが無い場合、コード部分の繋がりからなるコード403が作成されたので、このコード403についてのフレーム送信処理へ移行する。CH113は、コード403にヘッダ情報等を付与して、一括処理用のコマンドのフレーム404を作成し、従来のフレーム転送処理制御に従って、フレーム404をPORT121との間で転送処理する。
エンコードプログラム115の処理では、最初(#1)のCCWである「TEST MEM」コマンドについて、コマンドコード「8B」とパラメータ(「10010000……」)とをまとめて、図3の#1に示す1つのコード部分(コード303)にする。「TEST MEM」コマンドでは、DKC102で行わせる処理の条件のパラメータをセットする。次のCCWについて、同様にコード部分にまとめるようにエンコード処理し、作成されたコード部分をエンコード済みのコード部分の後ろに加える。
エンコードプログラム115の処理では、CCWにおいて、DKC102の状態や処理結果に応じた条件分岐のためのジャンプ命令である「Tic」コマンドについては、「Go Next」コマンドを含むコード部分にエンコードする。エンコードプログラム115の処理で、DKC102での条件の一致や不一致の各場合に応じて異なるアドレスを実行させる条件分岐の制御となるように、「Go Next」コマンド、そのジャンプ先のアドレス、及び各分岐先のCCW等をコード403中のコード部分として作成する。前記条件不一致の場合に実行させるアドレスがコード403全体のどの位置になるかを、前記条件一致の場合に実行させるCCWを考慮して計算し、「Go Next」コマンドでのジャンプ先となるアドレスのバイト数をパラメータとして付加する。
本実施の形態では、条件を含んだ「TEST MEM」コマンドの後に、このコマンドでのDKC102の状態や処理結果に応じて条件不一致となる場合に実行させる「Go Next」コマンドを記述し、その次に、条件一致となる場合に実行させる、他方の分岐先となるコマンド(「ALW CRS」等)を記述する。
また、エンコードプログラム115の処理では、チェイン無しの状態で終わるCCWについて、コード403全体に対応した処理における終了状態や位置が認識できるように、「Return」コマンドとそのリターンコード(RC)とのコード部分を付加する。
ホスト101は、DKC102から受信した応答ステータスに含まれるRCから、DK102側におけるコマンド処理での終了状態や位置を認識できる。ホスト101は、受領したRCから、MS112内に格納している、コード403の作成の元となったCCW401やCCWチェイン402におけるどのアドレスで処理が終了したかを判断する。ホスト101は、処理終了位置のアドレスに従って何らかの処理動作、例えばCCWの異常終了時における終了状態に対応したエラー処理や、該当CCWについてのリカバリ処理や、正常終了時における次の処理などを決定して実行可能となる。
<DKC処理>
図7において、PORT121では、CCW401のフレームの受信や複数のCCW401の一括処理に係わる処理を行う。PORT121では、デコードプログラム126の実行によりデコード処理を行う。またCP123では、制御プログラムの実行により各CCW405についてのコマンド処理を実行する。デコード処理で基本的にはコード403の先頭から順にコード部分をデコードして各CCW(コマンドコード及びパラメータ等)を取得し、CP123で対応するCCW処理を実行する。DKC102は、コード部分のCCW405に「Go Next」コマンド等により条件分岐の制御が記述されていた場合には、分岐先となるステップへ制御を移動して実行し、分岐に応じた処理の終了における「Retrun」コマンドの実行によって、1つのコード403の処理を終了する。
S21で、PORT121は、フレーム404を格納した受信バッファからコード403を取得する。次に、S22で、PORT121は、オフセットカウンタをクリアする。次に、S23で、PORT121は、オフセットカウンタの示すオフセット位置に従って、コード403のコード部分を順にデコード処理してゆくことにより、コード部分に対応したCCW(コマンド)405を取得する。
次に、S24で、PORT121は、取得したCCW405のコマンドコードを解析する。解析の結果、当該CCW405がWriteコマンドの場合はS25へ、「TEST」系コマンドの場合はS28へ、DK131への書き込み処理制御等の制御系コマンドの場合はS32へ、「Tic」に対応した「Go Next」コマンドの場合はS35へ、それぞれ移る。
前記Writeコマンドの場合、S25で、PORT121は、書き込み対象となるデータをCM122に転送する。次に、S26で、CP123により従来のWriteコマンド処理を実行する。次に、S27でオフセット更新し、S39へ移る。Readコマンドの場合も同様の処理である。
前記「TEST」系コマンドの場合、S28で、PORT121は、当該コマンドのパラメータをCP123側へ転送する。次に、S29で、CP123は、従来の「TEST」系コマンド処理を実行する。CP123は、当該コマンドにパラメータでセットされている条件に従って判定処理を行う。例えば、「TEST MEM」コマンド処理において、条件の値とメモリ領域の値とを比較して一致か不一致かを判断する。次に、S30で、CP123は、「TEST」系コマンド処理による判定結果をメモリに格納する。次に、S31でオフセット更新し、S39へ移る。
前記制御系コマンドの場合、S32で、PORT121は、当該コマンドのパラメータをCP123側に転送する。次に、S33で、CP123により従来の制御系コマンド処理を実行する。次に、S34でオフセット更新し、S39へ移る。前記特許文献1には制御系コマンドの例が記載されている。
前記「Go Next」コマンドの場合、S35で、PORT121は、当該コマンドのパラメータをCP123側に転送する。次に、S36で、CP123は、前記「TEST」系コマンド処理での判定結果(S30)を参照して、条件一致か不一致かを判断する。条件一致の場合、S37で1ステップ先へ進むようにオフセット更新して、S39へ移る。条件不一致の場合、S38で、当該コマンドのパラメータ中のアドレス(すなわちジャンプ先)へと進むようにオフセットを更新し、S39へ移る。
S39では、CP123によるCCW処理の結果に基づき、PORT121は、CCW処理の終了状態を確認する。CCW処理で正常終了か異常終了か、及びRC等を確認する。次に、S40で、PORT121は、送信バッファに、前記CCW処理の終了状態に応じて、DSB(デバイスステータスバイト)を含むステータス情報を格納する。次に、S41で、PORT121は、前記ステータス情報を確認して、ステータス情報としてRCが無い場合は、S23へ戻りオフセットカウンタの示す位置に従って、同様にコード405についてのデコード及びCCW処理を続ける。ステータス情報としてRCが有る場合は、S42へ移り、PORT121は、RCを含むステータス情報をセットしたフレームを作成して、ホスト101のCH113へステータス応答として送信して終了する。
<効果及びその他の実施の形態>
以上説明したように、本実施の形態では、ホスト101側で、コマンド進行制御として、あらかじめ条件分岐の制御を組み込んだコード403を作成するので、DKC102側でのコマンド進行制御としては、コード403のコード部分を順にデコード処理して実行してゆくだけでよい。
従って、ホスト101−DKC102間で、前記DKC102側の状態や処理結果に応じた条件分岐を含む複数のCCWによる処理を行わせる際に一括処理でき、チャネルにおけるオーバーヘッドを軽減してパスのトラフィックを少なくでき、処理性能を向上できる。また、ホスト101−DKC102間で、ホスト101がDKC102からの応答ステータスを待つといった、インターロックによる時間的同期処理が必要無いため、処理性能が向上できる。また、従来では、CCWチェインの処理終了位置の判定が、CCWカウンタ等の手段によるので難しかったが、本実施の形態では、ホスト101及びDKC102でRCにより処理終了状態や位置を明確に認識でき次の処理への移行も速やかにできる。
その他の実施の形態として、DKC102において、PORT121で受信したCCW405等のデータや情報などをCM122やSM125等の領域に一旦格納し、格納されたデータや情報をPORT121やCP123が取り出して処理するようにもできる。また、ホスト101において、IP111がエンコードプログラム115を実行してエンコード処理を行うようにもできる。また、本例では一旦生成済みのCCW401やCCWチェイン402を元にエンコード処理してコード403を作成する場合を説明したが、IP111等が所望の処理に対応して直接にコード403を作成するようにもできる。また、DKC102において、PORT121がデコードプログラム126を実行してデコード処理及びコマンド処理を実行するようにもできる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、メインフレーム系のデータ処理システムなど、データ処理装置間で複数のコマンドで1つの処理動作や仕事を実行させるデータ処理システムに対して利用可能である。
本発明の一実施の形態であるデータ処理システムの全体の構成及びデータ処理方法を示すブロック図である。 本発明の一実施の形態であるディスクアレイ装置の全体のハードウェア外観構成を示す斜視図である。 本発明の一実施の形態であるデータ処理システムにおけるコードの作成例を示す表である。 本発明の一実施の形態であるデータ処理システムにおける、CCWの一括処理のために用意した新しいコマンドのフレームの形式を示す説明図である。 本発明の一実施の形態であるデータ処理システムにおける、ホストとDKCの間でCCWの一括処理を行う場合のデータ処理のシーケンス図である。 本発明の一実施の形態であるデータ処理システムにおける、ホストでCHがエンコード処理を行う場合の処理を示すフロー図である。 本発明の一実施の形態であるデータ処理システムにおける、DKCでPORTがデコード処理を行う場合の処理を示すフロー図である。 本実施の形態との比較のために、従来のデータ処理システムの構成例及びデータ処理方法を示すブロック図である。 従来のデータ処理システムの構成例におけるCCWチェインの例を示す表である。 (a),(b)は、従来のデータ処理システムの構成例におけるホスト−DKC間でのCCWチェインの処理を示すシーケンス図である。
符号の説明
100…ディスクアレイ装置、101…ホストコンピュータ(ホスト)、102…ディスク制御装置(DKC)、103…DKU(ディスクユニット)、104…パス、105…パス、111…演算処理部(IP)、112…主記憶装置部(MS)、113…入出力チャネル部(CH)、114…システムコントローラ部(SC)、115…エンコードプログラム、121…入出力ポート部(PORT)、122…キャッシュメモリ部(CM)、123…制御プロセッサ部(CP)、124…データ転送制御部(DTC)、125…共有メモリ部(SM)、126…デコードプログラム、131…ディスク装置(DK)、191…バッテリ、192…ACボックス、193…AC−DC電源、194…DKCボックス、195,199…ファン、196…SVP、197…パネル、198…DKUボックス、401,405…CCW、402…CCWチェイン、403…コード、404…フレーム、801,805…CCW、802,804…CCWチェイン、803…フレーム、900…ディスクアレイ装置、901…ホスト、902…DKC。

Claims (10)

  1. コマンドを発行する第1のデータ処理装置と、前記コマンドに対応したコマンド処理を行う第2のデータ処理装置とがチャネルで通信接続されるデータ処理システムであって、
    前記第1のデータ処理装置は、
    チャネルコマンドワードを発行する演算処理部と、
    処理に係わるデータまたは情報を格納する記憶装置部と、
    前記第2のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力チャネル部とを有し、
    前記第2のデータ処理装置は、
    前記コマンド処理を行う制御プロセッサ部と、
    処理に係わるデータまたは情報を格納するメモリ部と、
    前記第1のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力ポート部とを有し、
    前記第1のデータ処理装置は、複数のチャネルコマンドワードを、エンコード処理して、それによりコマンドとそのパラメータを含む、前記第2のデータ処理装置側の状態や処理結果に応じた条件分岐の制御の記述を含んだ形式のコードを作成し、
    前記入出力チャネル部は、前記入出力ポート部との間で前記コードを送信し、
    前記入出力ポート部は、前記入出力チャネル部との間で前記コードを受信し、
    前記第2のデータ処理装置は、前記コードをデコード処理し、
    前記制御プロセッサ部は、前記デコード処理により取得される各コマンドを、前記条件分岐の制御の記述に従って順に処理して、その処理結果を示すステータス情報を返し、
    前記入出力ポート部は、前記入出力チャネル部との間で前記ステータス情報を応答として送信することを特徴とするデータ処理システム。
  2. 請求項1記載のデータ処理システムにおいて、
    前記第1のデータ処理装置は、前記エンコード処理で、前記コードに、前記条件分岐に応じた処理の終了の状態や位置に応じたリターンコードの記述を含め、
    前記第2のデータ処理装置は、前記コードの処理の結果、前記条件分岐に応じた処理の終了の状態や位置に応じたリターンコードを含んだステータス情報を、前記第2のデータ処理装置へ送信し、
    前記第1のデータ処理装置は、前記リターンコードから前記処理の終了の状態や位置を認識することを特徴とするデータ処理システム。
  3. 請求項2記載のデータ処理システムであって、
    前記第1のデータ処理装置は、前記ステータス情報に含まれるリターンコードを前記演算処理部で動作する前記チャネルコマンドワードの発行元のプログラムに対して報告し、
    前記演算処理部は、前記リターンコードが処理の正常終了を示す場合は、次に発行するチャネルコマンドワードを決定し、前記リターンコードが処理の異常終了を示す場合は、その終了位置に対応したチャネルコマンドワードのリカバリ処理を実行することを特徴とするデータ処理システム。
  4. 請求項1記載のデータ処理システムであって、
    前記演算処理部は、プログラムの実行により、前記条件分岐を含む複数のチャネルコマンドワードから成るチャネルコマンドワードチェインを生成し、
    前記第1のデータ処理装置は、前記チャネルコマンドワードチェインを元に前記エンコード処理して前記コードを作成し、作成したコードを前記第2のデータ処理装置とのチャネルにおいて転送することを特徴とするデータ処理システム。
  5. 請求項1記載のデータ処理システムにおいて、
    前記演算処理部は、複数のチャネルコマンドワードを生成して前記記憶装置部に格納し、
    前記入出力チャネル部は、前記複数のチャネルコマンドワードを元にエンコード処理して、それによりコマンドとそのパラメータを含む、前記条件分岐の制御の記述を含んだ形式のコードを作成し、前記入出力ポート部との間で、前記作成したコードを、前記複数のチャネルコマンドコマンドの一括処理のためのコマンドのフレームとして送信することを特徴とするデータ処理システム。
  6. 請求項1記載のデータ処理システムにおいて、
    前記演算処理部は、複数のチャネルコマンドワードを生成し、前記複数のチャネルコマンドワードを元にエンコード処理して、それによりコマンドとそのパラメータを含む、前記条件分岐の制御の記述を含んだ形式のコードを作成することを特徴とするデータ処理システム。
  7. 請求項1記載のデータ処理システムにおいて、
    前記入出力ポート部は、前記コードを受信して前記制御プロセッサ部に転送し、
    前記制御プロセッサ部は、前記コードをデコード処理し、それにより取得される各コマンドとそのパラメータを前記条件分岐の制御の記述に従って順に処理し、その処理結果を示すステータス情報を返すことを特徴とするデータ処理システム。
  8. コマンドを発行する第1のデータ処理装置と、前記コマンドに対応したコマンド処理を行う第2のデータ処理装置とがチャネルのパスで通信接続されるデータ処理システムであって、
    前記第1のデータ処理装置は、
    プログラムの実行、前記コマンドの発行、及び入出力データの処理などを行う演算処理部と、
    プログラム、コマンド、及び入出力データなどのデータまたは情報を格納する記憶装置部と、
    前記第2のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力チャネル部とを有し、
    前記第2のデータ処理装置は、
    前記入出力データに関する記憶制御及び前記コマンド処理などを行う制御プロセッサ部と、
    プログラム、コマンド、及び入出力データなどのデータまたは情報を格納するメモリ部と、
    前記第1のデータ処理装置との前記コマンドの転送を含む通信を制御する入出力ポート部とを有し、
    前記演算処理部は、プログラムの実行により複数のチャネルコマンドワードを生成し、
    前記入出力チャネル部は、前記複数のチャネルコマンドワードを元に、エンコード処理して、それによりコマンドとそのパラメータを含む、前記第2のデータ処理装置側の状態や処理結果に応じた条件分岐の制御の記述と、処理終了状態や位置に応じたリターンコードの記述とを含んだ形式のコードを作成し、前記入出力ポート部との間で前記コードをフレームとして送信し、
    前記入出力ポート部は、前記フレームを受信して前記コードを取り出してデコード処理し、
    前記制御プロセッサ部は、前記デコード処理により取得される各コマンドとそのパラメータを、前記条件分岐の制御の記述に従って順に処理し、処理の終了に応じて前記リターンコードを返し、
    前記入出力ポート部は、前記コードの処理の結果、前記リターンコードを含むステータス情報を応答として前記入出力チャネル部へ送信し、
    前記第1のデータ処理装置は、前記ステータス情報に含まれる前記リターンコードから前記処理の終了の状態や位置を認識することを特徴とするデータ処理システム。
  9. 第1のデータ処理装置と第2のデータ処理装置との間でコマンドを処理するデータ処理方法であって、
    前記第1のデータ処理装置が、前記第2のデータ処理装置に対して条件分岐を含む処理動作を実行させるための複数のコマンドワードを、エンコード処理して、それによりコマンドとそのパラメータによる、第2のデータ処理装置側の状態や処理結果に応じた条件分岐の制御の記述と、処理終了状態や位置に応じたリターンコードの記述とを含む形式のコードを作成するステップと、
    第1のデータ処理装置が、前記作成したコードを前記第2のデータ処理装置に送信するステップと、
    前記第2のデータ処理装置が、前記第1のデータ処理装置から前記コードを受信するステップと、
    前記第2のデータ処理装置が、前記コードをデコード処理して、それにより取得される各コマンドとそのパラメータを前記条件分岐の制御の記述に従って順に実行するステップと、
    前記第2のデータ処理装置が、前記コードの処理の結果、前記条件分岐に応じた処理の終了の状態や位置を示すリターンコードを含むステータス情報を応答として第1のデータ処理装置に送信するステップと、
    前記第1のデータ処理装置が、前記第2のデータ処理装置から前記ステータス情報を受信して前記処理の終了の状態や位置を認識するステップとを有することを特徴とするデータ処理方法。
  10. 第1のデータ処理装置と第2のデータ処理装置との間でコマンドを処理させるためのプログラムであって、
    前記第1のデータ処理装置が、前記第2のデータ処理装置に対して条件分岐を含む処理動作を実行させるための複数のコマンドワードを元に、コマンドとそのパラメータによる、前記第2のデータ処理装置側の状態や処理結果に応じた条件分岐の制御の記述と、処理終了状態や位置に応じたリターンコードの記述とを含んだ形式のコードにエンコードする処理と、
    前記第2のデータ処理装置が、前記コードを、前記条件分岐の制御の記述と、前記リターンコードの記述とを含む、前記コマンドとそのパラメータにデコードして順に実行し、前記条件分岐に応じた処理の終了の状態や位置を示すリターンコードを返す処理と、
    前記第1のデータ処理装置が、前記第2のデータ処理装置からの前記ステータス情報に含まれるリターンコードにより、前記処理の終了の状態や位置を認識する処理とを行わせることを特徴とするプログラム。
JP2005098971A 2005-03-30 2005-03-30 データ処理システム、データ処理方法、及びプログラム Pending JP2006277583A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005098971A JP2006277583A (ja) 2005-03-30 2005-03-30 データ処理システム、データ処理方法、及びプログラム
US11/142,262 US20060224795A1 (en) 2005-03-30 2005-06-02 Data processing system, data processing method and program
US12/143,539 US7617334B2 (en) 2005-03-30 2008-06-20 Data processing system, data processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005098971A JP2006277583A (ja) 2005-03-30 2005-03-30 データ処理システム、データ処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2006277583A true JP2006277583A (ja) 2006-10-12

Family

ID=37071956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005098971A Pending JP2006277583A (ja) 2005-03-30 2005-03-30 データ処理システム、データ処理方法、及びプログラム

Country Status (2)

Country Link
US (2) US20060224795A1 (ja)
JP (1) JP2006277583A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置
US7882277B2 (en) 2007-08-29 2011-02-01 Hitachi, Ltd. Processor, data transfer unit, multicore processor system
JP2011060051A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp 情報処理装置
JP2011529589A (ja) * 2008-07-31 2011-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーション チェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法、コンピュータ・プログラム及び装置
JP2017530574A (ja) * 2014-07-10 2017-10-12 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 通信ネットワークでのシグナリングのための方法およびデバイス
JP7640459B2 (ja) 2019-03-12 2025-03-05 インテル・コーポレーション 計算データ記憶システム
US12260127B2 (en) 2020-12-23 2025-03-25 Intel Corporation Technologies for storage and processing for distributed file systems

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502873B2 (en) * 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7890668B2 (en) * 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US7917813B2 (en) * 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8082481B2 (en) * 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7904605B2 (en) * 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7899944B2 (en) * 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7840718B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) * 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US9258015B2 (en) * 2013-12-23 2016-02-09 Apple Inc. Decoder with selective iteration scheduling
US10389388B2 (en) 2017-12-28 2019-08-20 Apple Inc. Efficient LDPC decoding with predefined iteration-dependent scheduling scheme
CN112240959B (zh) * 2019-07-16 2024-07-05 致茂电子(苏州)有限公司 电源设备的控制方法
TWI679822B (zh) * 2019-07-16 2019-12-11 致茂電子股份有限公司 電源設備的控制方法
CN115599003A (zh) * 2021-07-07 2023-01-13 上海擎感智能科技有限公司(Cn) 车辆操作方法、车辆中控系统和车辆
US12052033B2 (en) 2022-07-13 2024-07-30 Apple Inc. Scheduling of iterative decoding depending on soft inputs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612359A (ja) * 1992-03-10 1994-01-21 Hitachi Ltd 入出力制御方法およびシステム
JPH09101918A (ja) * 1995-10-04 1997-04-15 Fujitsu Ltd I/o処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798613A (en) * 1971-10-27 1974-03-19 Ibm Controlling peripheral subsystems
JPS586173B2 (ja) * 1978-01-20 1983-02-03 株式会社日立製作所 チャネル制御方式
US5060142A (en) * 1988-05-20 1991-10-22 Menon Moothedath J System which matches a received sequence of channel commands to sequence defining rules for predictively optimizing peripheral subsystem operations
US5740391A (en) * 1996-03-01 1998-04-14 Hewlett-Packard Co. Preventing premature early exception signaling with special instruction encoding
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
JP2001125866A (ja) 1999-10-25 2001-05-11 Hitachi Ltd データ処理システム、中央処理装置およびディスク制御装置
JP4068798B2 (ja) * 2000-10-31 2008-03-26 株式会社日立製作所 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612359A (ja) * 1992-03-10 1994-01-21 Hitachi Ltd 入出力制御方法およびシステム
JPH09101918A (ja) * 1995-10-04 1997-04-15 Fujitsu Ltd I/o処理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882277B2 (en) 2007-08-29 2011-02-01 Hitachi, Ltd. Processor, data transfer unit, multicore processor system
JP2011529589A (ja) * 2008-07-31 2011-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーション チェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法、コンピュータ・プログラム及び装置
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置
JP2011060051A (ja) * 2009-09-11 2011-03-24 Mitsubishi Electric Corp 情報処理装置
JP2017530574A (ja) * 2014-07-10 2017-10-12 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 通信ネットワークでのシグナリングのための方法およびデバイス
US10419579B2 (en) 2014-07-10 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for signalling in a communication network
US11218564B2 (en) 2014-07-10 2022-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for signalling in a communication network
JP7640459B2 (ja) 2019-03-12 2025-03-05 インテル・コーポレーション 計算データ記憶システム
US12260127B2 (en) 2020-12-23 2025-03-25 Intel Corporation Technologies for storage and processing for distributed file systems

Also Published As

Publication number Publication date
US7617334B2 (en) 2009-11-10
US20060224795A1 (en) 2006-10-05
US20080256264A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
JP2006277583A (ja) データ処理システム、データ処理方法、及びプログラム
US8095847B2 (en) Exception condition handling at a channel subsystem in an I/O processing system
US7917813B2 (en) Exception condition determination at a control unit in an I/O processing system
US9021155B2 (en) Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US20050083853A1 (en) System, method, and program for determining the availability of paths to a device
US6985994B2 (en) Storage control apparatus and method thereof
US8583989B2 (en) Fibre channel input/output data routing system and method
US20090210579A1 (en) Open exchange limiting in an i/o processing system
US8683084B2 (en) Fibre channel input/output data routing system and method
JP2009199584A (ja) 階層型ストレージシステムにおけるhddのスピンダウンとスピンアップを管理する方法及び装置
KR20060044567A (ko) 스토리지 가상화 장치
JP6074416B2 (ja) チャネル・サブシステムと入力/出力デバイスとの間で移送モードの入力/出力動作を容易にするためのコンピュータ・プログラム、装置、および方法
US6748557B1 (en) System, method, and program for determining the availability of interfaces to a control unit
JP2006235843A (ja) 記憶制御装置及びその制御方法
WO2019052124A1 (zh) 一种数据处理方法及电子设备
US8364854B2 (en) Fibre channel input/output data routing system and method
US20140281041A1 (en) Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8683083B2 (en) Fibre channel input/output data routing system and method
US11093133B2 (en) Compression measurement for computer servers
US7093278B1 (en) Remote console for monitor and control of system firmware
US7613846B2 (en) System for generating a data logout in a computing environment
US7600056B2 (en) Method for generating a data logout in a computing environment
CN114124301B (zh) 一种具有数据校验和错误重传机制的虚拟媒体传输系统
US20240037051A1 (en) Information processing device, signal correction method, and computer-readable recording medium storing signal correction program
JP2007018049A (ja) 記憶制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111