(57)【要約】  複数のデータ部からなるデータを効率よく転送する。チャネル制御部１１の第１ＤＭＡ１１４２と、第１ＤＭＡ１１４２に転送パラメータを設定するプロセッサ部１２のＭＰ１２２とを備えるデータ転送システムにおいて、ＭＰ１２２が、ＣＫＤ形式データ１４００をキャッシュメモリ１４からチャネル制御部１１のメモリ１１３に転送するに際し、キャッシュメモリ１４からＣ部１４１１を取得し、取得したＣ部１４１１に基づき、Ｃ部１４１１を付帯させた、Ｋ部１４１２をキャッシュメモリ１４からメモリ１１３に転送するための転送パラメータを第１ＤＭＡ１１４２に設定し、第１ＤＭＡ１１４２が、転送パラメータに付帯するＣ部１４１１を取り出してメモリ１１３に格納し、転送パラメータに従いＫ部をキャッシュメモリ１４からメモリ１１３に転送するようにする。
2013515982.tif 000002
【特許請求の範囲】
【請求項１】
転送元装置及び転送先装置の夫々と通信可能に接続される第１データ転送装置と、
前記第１データ転送装置に転送パラメータを設定する転送パラメータ設定装置と
を備えるデータ転送システムであって、
前記転送パラメータ設定装置は、
１つ以上の第２データ部と当該第２データ部の前記転送パラメータの設定に際して用いられる情報を含んだ第１データ部とを含む転送対象データを前記転送元装置から前記転送先装置に転送するに際し、
前記転送元装置から前記第１データ部を取得し、  
取得した前記第１データ部に基づき、前記第１データ部を付帯させた、前記第２データ部を前記転送元装置から前記転送先装置に転送するための転送パラメータを前記第１データ転送装置に設定し、
前記第１データ転送装置は、前記転送パラメータに付帯する前記第１データ部を前記転送先装置に格納し、前記転送パラメータに従い前記第２データ部を前記転送元装置から前記転送先装置に転送することにより、前記転送対象データを前記転送元装置から前記転送先装置に転送する
データ転送システム。
【請求項２】
請求項１に記載のデータ転送システムであって、
前記第１データ転送装置は、
前記第１データ部について保証コードを算出し、
前記第１データ部について算出された前記保証コードを引き継いで前記第２データ部について保証コードを算出し、
算出した前記保証コードを、前記転送先装置に格納される前記第１データ部及び前記第２データ部に付帯させ、
当該データ転送システムは、
ホスト装置と通信するチャネル制御部と、
記憶装置と通信するドライブ制御部と、
キャッシュメモリと、
前記チャネル制御部、前記ドライブ制御部、及び前記キャッシュメモリの間のデータ転送を行うプロセッサ部と、
前記チャネル制御部及び前記プロセッサ部を通信可能に接続する内部スイッチと、
を備え、
前記転送先装置は、前記チャネル制御部が備えるメモリであり、
前記転送元装置は、前記キャッシュメモリであり、
前記転送パラメータ設定装置は、前記プロセッサ部が備えるマイクロプロセッサであり、
前記転送対象データは、前記第１データ部としてＣ部を、前記第２データ部としてＫ部及びＤ部を含むＣＫＤ形式（Count Key Data architecture）のデータであり、
前記Ｃ部は、前記第２データ部の前記転送パラメータの設定に際して用いられる情報として、前記Ｋ部のデータ長及び前記Ｄ部のデータ長を含み、
当該データ転送システムは、前記ホスト装置と、前記チャネル制御部が備える前記メモリと、前記第１データ転送装置とに通信可能に接続され、前記転送パラメータ設定装置による転送パラメータの設定を受け付け、受け付けた前記転送パラメータに従い前記メモリに格納されている前記転送対象データを前記ホスト装置に転送する、第２データ転送装置をさらに備え、
前記プロセッサ部は、メモリと複数の前記マイクロプロセッサとを備え、
前記第１データ転送装置は、前記データ転送の終了後、前記転送パラメータを設定した前記マイクロプロセッサに割り当てられている前記メモリの記憶領域に前記データ転送についての第１終了ステータスを書き込み、
前記第２データ転送装置は、前記データ転送の終了後、前記転送パラメータを設定した前記マイクロプロセッサに割り当てられている前記メモリの記憶領域に前記データ転送についての第２終了ステータスを書き込み、
前記第１データ転送装置は、前記転送パラメータに従い前記データ転送を行う第１ＤＭＡ（Direct Memory Access）を備え、
前記第２データ転送装置は、前記転送パラメータに従い前記データ転送を行う第２ＤＭＡを備える
データ転送システム。
【請求項３】
請求項１に記載のデータ転送システムであって、
前記第１データ転送装置は、
前記第１データ部について保証コードを算出し、
前記第１データ部について算出された前記保証コードを引き継いで前記第２データ部について保証コードを算出し、
算出した前記保証コードを、前記転送先装置に格納される前記第１データ部及び前記第２データ部に付帯させる
データ転送システム。
【請求項４】
請求項１に記載のデータ転送システムであって、
ホスト装置と通信するチャネル制御部と、
記憶装置と通信するドライブ制御部と、
キャッシュメモリと、
前記チャネル制御部、前記ドライブ制御部、及び前記キャッシュメモリの間のデータ転送を行うプロセッサ部と、
前記チャネル制御部及び前記プロセッサ部を通信可能に接続する内部スイッチと、
を備え、
前記転送先装置は、前記チャネル制御部が備えるメモリであり、
前記転送元装置は、前記キャッシュメモリであり、
前記転送パラメータ設定装置は、前記プロセッサ部が備えるマイクロプロセッサである
データ転送システム。
【請求項５】
請求項４に記載のデータ転送システムであって、
前記転送対象データは、前記第１データ部としてＣ部を、前記第２データ部としてＫ部及びＤ部を含むＣＫＤ形式（Count Key Data architecture）のデータであり、
前記Ｃ部は、前記第２データ部の前記転送パラメータの設定に際して用いられる情報として、前記Ｋ部のデータ長及び前記Ｄ部のデータ長を含む
データ転送システム。
【請求項６】
請求項４に記載のデータ転送システムであって、
前記ホスト装置と、前記チャネル制御部が備える前記メモリと、前記第１データ転送装置とに通信可能に接続され、前記転送パラメータ設定装置による転送パラメータの設定を受け付け、受け付けた前記転送パラメータに従い前記メモリに格納されている前記転送対象データを前記ホスト装置に転送する、第２データ転送装置をさらに備える
データ転送システム。
【請求項７】
請求項６に記載のデータ転送システムであって、
前記プロセッサ部は、メモリと複数の前記マイクロプロセッサとを備え、
前記第１データ転送装置は、前記データ転送の終了後、前記転送パラメータを設定した前記マイクロプロセッサに割り当てられている前記メモリの記憶領域に前記データ転送についての第１終了ステータスを書き込み、
前記第２データ転送装置は、前記データ転送の終了後、前記転送パラメータを設定した前記マイクロプロセッサに割り当てられている前記メモリの記憶領域に前記データ転送についての第２終了ステータスを書き込む
データ転送システム。
【請求項８】
請求項６に記載のデータ転送システムであって、
前記第１データ転送装置は、前記転送パラメータに従い前記データ転送を行う第１ＤＭＡ（Direct Memory Access）を備え、
前記第２データ転送装置は、前記転送パラメータに従い前記データ転送を行う第２ＤＭＡを備える
データ転送システム。
【請求項９】
転送元装置及び転送先装置の夫々と通信可能に接続される第１データ転送装置と、
前記第１データ転送装置に転送パラメータを設定する転送パラメータ設定装置と
を備えるデータ転送システムによるデータ転送方法であって、
前記転送パラメータ設定装置が、
１つ以上の第２データ部と当該第２データ部の前記転送パラメータの設定に際して用いられる情報を含んだ第１データ部とを含む転送対象データを前記転送元装置から前記転送先装置に転送するに際し、
前記転送元装置から前記第１データ部を取得し、  
取得した前記第１データ部に基づき、前記第１データ部を付帯させた、前記第２データ部を前記転送元装置から前記転送先装置に転送するための転送パラメータを前記第１データ転送装置に設定し、
前記第１データ転送装置が、前記転送パラメータに付帯する前記第１データ部を前記転送先装置に格納し、前記転送パラメータに従い前記第２データ部を前記転送元装置から前記転送先装置に転送することにより、前記転送対象データを前記転送元装置から前記転送先装置に転送する
データ転送方法。
【請求項１０】
請求項９に記載のデータ転送方法であって、
前記第１データ転送装置は、
前記第１データ部について保証コードを算出し、
前記第１データ部について算出された前記保証コードを引き継いで前記第２データ部について保証コードを算出し、
算出した前記保証コードを、前記転送先装置に格納される前記第１データ部及び前記第２データ部に付帯させる
データ転送方法。
【請求項１１】
請求項９に記載のデータ転送方法であって、
前記データ転送システムは、
ホスト装置と通信するチャネル制御部と、
記憶装置と通信するドライブ制御部と、
キャッシュメモリと、
前記チャネル制御部、前記ドライブ制御部、及び前記キャッシュメモリの間のデータ転送を行うプロセッサ部と、
前記チャネル制御部及び前記プロセッサ部を通信可能に接続する内部スイッチと、
を備え、
前記転送先装置は、前記チャネル制御部が備えるメモリであり、
前記転送元装置は、前記キャッシュメモリであり、
前記転送パラメータ設定装置は、前記プロセッサ部が備えるマイクロプロセッサである
データ転送方法。
【請求項１２】
請求項１１に記載のデータ転送方法であって、
前記転送対象データは、前記第１データ部としてＣ部を、前記第２データ部としてＫ部及びＤ部を含むＣＫＤ形式（Count Key Data architecture）のデータであり、
前記Ｃ部は、前記第２データ部の前記転送パラメータの設定に際して用いられる情報として、前記Ｋ部のデータ長及び前記Ｄ部のデータ長を含む
データ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送システム及びデータ転送方法に関し、とくにＣＫＤ形式のデータのように複数のデータ部からなるデータを効率よく転送できるようにするための技術に関する。
【背景技術】
【０００２】
ＤＭＡ（Direct Memory Access）等のデータ転送装置に関しては、データ転送効率向上を目的として様々な技術が提案されている。例えば、特許文献１には、第１のＤＭＡ転送チャネルの転送パラメータを制御する第１カウント制御部と第２のＤＭＡ転送チャネルの転送パラメータを制御する第２カウント制御部とを交互に制御するＤＭＡコントローラに関し、ＣＰＵによる制御を不要とし、あるデータブロックの転送終了から次のブロックの転送開始までの間に生じる遅延を解消すべく、複数のブロックのデータ転送を実行する際、第１カウント制御部のデータ転送の空きサイクル中に第２カウント制御部が次に転送すべきデータブロックの転送パラメータをメモリからロードすることが記載されている。
【０００３】
また特許文献２には、ＣＰＵ負荷を軽減すべく、ＤＭＡの転送パラメータの主記憶装置におけるアドレス情報をアドレスレジスタに記憶しておき、アドレスレジスタに記憶されているアドレス情報に基づき転送パラメータを読み出してパラメータレジスタに登録しておくことにより、ＤＭＡ転送ごとに行われていたＣＰＵへの割り込みを不要とすることが記載されている。
【０００４】
特許文献３には、第１のプロセッサと第２のプロセッサを備えた装置において、第１のプロセッサが、第１の記憶領域における記憶位置を示す情報と第２の記憶領域における記憶位置を示す情報とを含むデータ転送情報をメモリに書き込み 、第２のプロセッサがメモリからデータ転送情報を読み出し、第２のプロセッサがデータ転送情報に基づき第１の記憶領域に記憶されているデータを第２の記憶領域に転送することにより、第１のプロセッサが第２のプロセッサからの通知を待つことなく次の処理の実行に移ることができるようにすることで、第１のプロセッサ及び第２のプロセッサの効率的な利用を図ることが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−６２６１０号公報
【特許文献２】特開平８−７７０９９号公報
【特許文献３】特開２００５−７８５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図２７は、通信可能に接続されたホスト装置３に対してデータの保管庫として機能するストレージ装置１０のハードウエア構成例である。同図に示すように、このストレージ装置１０は、チャネル制御部１１、プロセッサ部１２、キャッシュメモリ１４、及びこれらを通信可能に接続する内部スイッチ１６を備えている。
【０００７】
チャネル制御部１１は、ホスト装置３と通信する外部通信Ｉ／Ｆ１１１、内部スイッチ１６を介してプロセッサ部１２やキャッシュメモリ１４と通信する内部通信Ｉ／Ｆ１１４、及び、外部通信Ｉ／Ｆ１１１と内部通信Ｉ／Ｆ１１４との間のデータ転送におけるバッファとして機能するメモリ１１３、を備えている。外部通信Ｉ／Ｆ１１１は、第２ＤＭＡ１１１２を、内部通信Ｉ／Ｆ１１４は、第１ＤＭＡ１１４２を夫々備えている。
【０００８】
図２８は、ストレージ装置１０にて行われるデータ転送に関する動作を説明した図であり、より詳細には、チャネル制御部１１が、キャッシュメモリ１４に格納されているデータを読み出してホスト装置３に送信する際に行われる動作を説明したフローチャートである。
【０００９】
図２７及び図２８に示すように、データ転送に際しては、まずプロセッサ部１２が、第１ＤＭＡ１１４２に転送パラメータを設定し（Ｓ２７１１，Ｓ２８１１）、第１ＤＭＡ１１４２が、設定された転送パラメータに従いデータ転送（キャッシュメモリ１４に格納されているデータのメモリ１１３へのデータ転送）を開始する（Ｓ２７１２，Ｓ２８１２）。
【００１０】
データ転送の実行中、内部通信Ｉ／Ｆ１１４は、第１ＤＭＡ１１４２によるデータ転送が完了したか否かを監視している（Ｓ２８１３）。データ転送が完了すると（Ｓ２８１３：ＹＥＳ）、内部通信Ｉ／Ｆ１１４は、その終了ステータスをプロセッサ部１２に通知する（Ｓ２７１３，Ｓ２８１４）。
【００１１】
プロセッサ部１２は、内部通信Ｉ／Ｆ１１４から終了ステータスが通知されると、第２ＤＭＡ１１１２に転送パラメータを設定し（Ｓ２７１４，Ｓ２８１５）、これにより第２ＤＭＡ１１１２が転送パラメータに従いデータ転送（メモリ１１３に格納されているデータのホスト装置３へのデータ転送）を開始する（Ｓ２７１５，Ｓ２８１６）。
【００１２】
データ転送の実行中、外部通信Ｉ／Ｆ１１１は、第２ＤＭＡ１１１２によるデータ転送が完了したか否かを監視しており（Ｓ２８１７）、データ転送が完了すると（Ｓ２８１７：ＹＥＳ）、外部通信Ｉ／Ｆ１１１は終了ステータスをプロセッサ部１２に通知する（Ｓ２７１６，Ｓ２８１８）。
【００１３】
ところで、ホスト装置３が可変長形式でデータを管理するメインフレーム等であり、ストレージ装置１０側でいわゆるＣＫＤ形式（CKD: Count Key Data architecture）でデータを管理している場合には、第１ＤＭＡ１１４２によって行われる、キャッシュメモリ１４からメモリ１１３へのデータ転送に際して行われる一連の処理（図２７のＳ２７１１〜Ｓ２７１３の処理又は図２８のＳ２８１１〜Ｓ２８１４の処理）は、転送されるデータがＣＫＤ形式のデータであることを前提として行われる。
【００１４】
図２９は上記一連の処理を詳細に説明したフローチャートである。同図に示すように、まずプロセッサ部１２のＭＰ１２２は、キャッシュメモリ１４に格納されているＣＫＤ形式のデータのＣ部を読み出す（Ｓ２９１０）。
【００１５】
次にＭＰ１２２は、第１ＤＭＡ１１４２に、Ｃ部をキャッシュメモリ１４からメモリ１１３に転送するための転送パラメータを設定する（Ｓ２９１１）。
【００１６】
転送パラメータが設定されると、第１ＤＭＡ１１４２は、Ｃ部のデータのデータ転送を行う（Ｓ２９１２）。またこのとき、第１ＤＭＡ１１４２は、Ｃ部について保証コードを算出し、算出した値を保持する（Ｓ２９１３）。
【００１７】
データ転送が完了すると、第１ＤＭＡ１１４２は、Ｃ部のデータ転送についての終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ２９１４）。
【００１８】
次にＭＰ１２２は、第１ＤＭＡ１１４２に、Ｓ２９１０にて読み出したＣ部（Ｋ部のデータ長等）を参照しつつ、Ｋ部をキャッシュメモリ１４からメモリ１１３に転送するための転送パラメータを設定する（Ｓ２９１５）。
【００１９】
転送パラメータが設定されると、第１ＤＭＡ１１４２は、Ｋ部のデータのデータ転送を行う（Ｓ２９１６）。またこのとき、第１ＤＭＡ１１４２は、Ｓ２９１３にて保持した値に基づき（Ｓ２９１３にて保持した値を引き継いで）Ｋ部について保証コードを算出し、算出した値を保持する（Ｓ２９１７）。
【００２０】
データ転送が完了すると、第１ＤＭＡ１１４２は、Ｋ部のデータ転送についての終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ２９１８）。
【００２１】
次にＭＰ１２２は、第１ＤＭＡ１１４２に、Ｓ２９１０にて読み出したＣ部（Ｄ部のデータ長等）を参照しつつ、Ｄ部をキャッシュメモリ１４からメモリ１１３に転送するための転送パラメータを設定する（Ｓ２９１９）。
【００２２】
転送パラメータが設定されると、第１ＤＭＡ１１４２は、Ｄ部のデータのデータ転送を行う（Ｓ２９２０）。またこのとき、第１ＤＭＡ１１４２は、Ｓ２９１７にて保持した値に基づき（Ｓ２９１７にて保持した値を引き継いで）Ｄ部について保証コードを算出する（Ｓ２９２１）。
【００２３】
データ転送が完了すると、第１ＤＭＡ１１４２は、算出した保証コード（ＣＫＤ形式データ全体の保証コード）をメモリ１１３に格納し（Ｓ２９２２）、Ｄ部のデータ転送についての終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ２９２３）。
【００２４】
ところで以上の処理では、ＭＰ１２２が、内部スイッチ１６を介した通信を行うことにより第１ＤＭＡ１１４２に転送パラメータを設定しているが、このように内部スイッチ１６を介した通信が行われる場合はＭＰ１２２と内部スイッチ１６との間、及び内部スイッチ１６と第１ＤＭＡ１１４２の間で個別に通信を確立する必要があり、ストレージ装置１０の処理性能（例えばホスト装置３に対するレスポンス性能やスループット性能）を低下させる要因となる。
【００２５】
また図２９に示したように、転送されるデータがＣＫＤ形式のデータである場合はＣＫＤ形式データ全体としての保証コードを生成する必要があるため、同一のデータ転送装置（第１ＤＭＡ１１４２）に対してＣ部、Ｋ部、Ｄ部の夫々の転送パラメータを繰り返し設定する必要があり、ストレージ装置１０の処理性能向上の妨げとなる。
【００２６】
昨今、大規模化や冗長化によりストレージ装置１０の構成が複雑化し、データ転送を起動する側（プロセッサ部１２）と起動される側（第１ＤＭＡ１１４２）との間の通信距離が拡大している。そのため、上記のような理由に起因するストレージ装置１０の性能低下が必ずしも無視できない状況になってきている。
【００２７】
本発明は、このような背景に鑑みてなされたもので、効率よくデータ転送を行うことが可能なデータ転送システム及びデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記目的を達成する為の本発明の一つは、
転送元装置及び転送先装置の夫々と通信可能に接続される第１データ転送装置と、
前記第１データ転送装置に転送パラメータを設定する転送パラメータ設定装置と
を備えるデータ転送システムであって、
前記転送パラメータ設定装置は、
１つ以上の第２データ部と当該第２データ部の前記転送パラメータの設定に際して用いられる情報を含んだ第１データ部とを含む転送対象データを前記転送元装置から前記転送先装置に転送するに際し、
前記転送元装置から前記第１データ部を取得し、  
取得した前記第１データ部に基づき、前記第１データ部を付帯させた、前記第２データ部を前記転送元装置から前記転送先装置に転送するための転送パラメータを前記第１データ転送装置に設定し、
前記第１データ転送装置は、前記転送パラメータに付帯する前記第１データ部を前記転送先装置に格納し、前記転送パラメータに従い前記第２データ部を前記転送元装置から前記転送先装置に転送することにより、前記転送対象データを前記転送元装置から前記転送先装置に転送することとする。
【００２９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
【発明の効果】
【００３０】
本発明によれば、ＣＫＤ形式のデータのように複数のデータ部からなるデータを効率よく転送することができる。
【図面の簡単な説明】
【００３１】
【図１】情報処理システム１の概略的な構成を示す図である。
【図２】ホスト装置３のハードウエア構成を示す図である。
【図３】ストレージ装置１０のハードウエア構成を示す図である。
【図４】チャネル制御部１１のハードウエア構成を示す図である。
【図５】プロセッサ部１２のハードウエア構成を示す図である。
【図６】ドライブ制御部１３のハードウエア構成を示す図である。
【図７】管理装置７のハードウエア構成を示す図である。
【図８】ストレージ装置１０が備える主な機能を示す図である。
【図９】データ書き込み処理Ｓ９００を説明するフローチャートである。
【図１０】データ読み出し処理Ｓ１０００を説明するフローチャートである。
【図１１】ホスト装置３からストレージ装置１０へのアクセス経路（パス）を説明する模式図である。
【図１２】データ書き込み要求１２００のデータフォーマットの一例である。
【図１３】データ読み出し要求１３００のデータフォーマットの一例である。
【図１４】ＣＫＤ形式データ１４００のデータフォーマットの一例である。
【図１５】応答データ１５００のデータフォーマットの一例である。
【図１６】ストレージ装置１０にて行われるデータ転送に関する動作を模式的に説明した図である。
【図１７】図１６に示す動作をより詳細に説明したフローチャートである。
【図１８】第１ＤＭＡ用転送パラメータ１８００のデータ構成である。
【図１９】第２ＤＭＡ用転送パラメータ１９００のデータ構成である。
【図２０】図１６及び図１７とともに説明した動作に関する内部通信Ｉ／Ｆ１１４の機能を模式的に説明した図である。
【図２１】第１ＤＭＡ用転送パラメータ１８００（第２ＤＭＡ用転送パラメータ１９００も同様）のデータ構成例である。
【図２２】第１終了ステータス又は第２終了ステータスの一例である。
【図２３】ＣＫＤ形式データ１４００のデータ転送に関する動作を模式的に説明した図である。
【図２４】図２３に示す動作をより詳細に説明したフローチャートである。
【図２５】第１ＤＭＡ用転送パラメータ１８００のデータ構成である。
【図２６】ＣＫＤ形式データ１４００のメモリ１１３への格納状態の一例である。
【図２７】ストレージ装置１０のハードウエア構成の一例である。
【図２８】ストレージ装置１０にて行われるデータ転送に関する動作を説明した図である。
【図２９】ＣＫＤ形式データ１４００のデータ転送に関する動作を模式的に説明した図である。
【発明を実施するための形態】
【００３２】
以下、図面とともに実施形態について説明する。
第１実施形態
図１に第１実施形態として説明する情報処理システム１の概略的な構成を示している。同図に示すように、情報処理システム１は、一つ以上のホスト装置３（外部装置）、及び一つ以上のストレージ装置１０を含んで構成されている。
【００３３】
ホスト装置３は、例えば銀行の自動預金預け払いサービスやインターネットのＷｅｂページ閲覧サービス等のサービスを提供するコンピュータである。ストレージ装置１０は、ホスト３装置にて実行されるアプリケーションプログラム等にデータの記憶領域を提供する。
【００３４】
ホスト装置３とストレージ装置１０とは、ストレージネットワーク５を介して通信可能に接続している。ストレージネットワーク５は、例えば、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、ＳＡＮ（Storage Area Network）、インターネット、公衆通信網、専用線などである。ストレージネットワーク５を介して行われる通信は、例えば、ＴＣＰ／ＩＰ、ｉＳＣＳＩ（internet Small Computer System Interface）、ファイバーチャネルプロトコル（Fibre Channel Protocol）、ＦＩＣＯＮ（Fibre Connection）（登録商標）、ＥＳＣＯＮ（Enterprise System Connection） （登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture）（登録商標）などのプロトコルに従って行われる。
【００３５】
ホスト装置３のハードウエアは、例えばパーソナルコンピュータ、メインフレーム（Mainframe）、オフィスコンピュータなどである。ホスト装置３は、ストレージ装置１０が提供する上記記憶領域にアクセスするに際し、データＩ／Ｏ要求（データ書き込み要求、データ読み出し要求等）を含んだデータフレーム（以下、フレームと略記する。）をストレージ装置１０に送信する。フレームは、例えばファイバーチャネルのフレーム（ＦＣフレーム（FC: Fibre Channel））である。
【００３６】
図２にホスト装置３として用いられる情報処理装置（コンピュータ）のハードウエアの一例を示している。同図に示すように、この情報処理装置は、ＣＰＵ３１、揮発性または不揮発性のメモリ３２（ＲＡＭまたはＲＯＭ）、記憶装置３３（例えばＨＤＤ（Hard Disk Drive）、半導体記憶装置（ＳＳＤ（Solid State Drive）））、キーボードやマウス等の入力装置３４、液晶モニタやプリンタ等の出力装置３５、及びＮＩＣ（Network Interface Card）やＨＢＡ（Host Bus Adapter）等の通信インタフェース（通信Ｉ／Ｆ３６と表記する。）を備えている。
【００３７】
図３にストレージ装置１０のハードウエア構成の一例を示している。ストレージ装置１０は例えばディスクアレイ装置である。同図に示すように、ストレージ装置１０は、一つ以上のチャネル制御部１１、一つ以上のプロセッサ部１２（Micro Processor）、一つ以上のドライブ制御部１３、キャッシュメモリ１４（Cache Memory）、共有メモリ１５（Shared Memory）、内部スイッチ１６、記憶装置１７、及び保守装置１８（SVP: SerVice Processor）を備えている。チャネル制御部１１、プロセッサ部１２、ドライブ制御部１３、キャッシュメモリ１４、及び共有メモリ１５は、内部スイッチ１６を介して互いに通信可能に接続されている。
【００３８】
このうちチャネル制御部１１は、ホスト装置３から送られてくるフレームを受信し、受信したフレームに含まれているデータＩ／Ｏ要求についての処理の応答（例えば読み出したデータ、読み出し完了報告、書き込み完了報告）を含むフレームをホスト装置３に送信する。
【００３９】
プロセッサ部１２は、チャネル制御部１１が受信したフレームに含まれている上記データＩ／Ｏ要求に応じてチャネル制御部１１、ドライブ制御部１３、及びキャッシュメモリ１４の間で行われるデータ転送に関する処理を行う。プロセッサ部１２は、キャッシュメモリ１４を介して行われる、チャネル制御部１１とドライブ制御部１３との間のデータ（記憶装置１７から読み出したデータ、記憶装置１７に書き込むデータ）の引き渡しや、キャッシュメモリ１４に格納されるデータのステージング（記憶装置１７からのデータの読み出し）又はデステージング（キャッシュメモリ１４のデータの記憶装置１７への書き出し）などを行う。
【００４０】
キャッシュメモリ１４は、例えば、高速アクセスが可能なＲＡＭ（Random Access Memory）を用いて構成されている。キャッシュメモリ１４には、記憶装置１７に書き込まれるデータ（以下、書き込みデータと称する。）や記憶装置１７から読み出されたデータ（以下、読み出しデータと記載する。）等が格納される。
【００４１】
共有メモリ１５には、ストレージ装置１０の制御に用いられる各種の情報が格納される。
【００４２】
ドライブ制御部１３は、記憶装置１７からのデータの読み出しや記憶装置１７へのデータの書き込みに際し記憶装置１７と通信を行う。
【００４３】
内部スイッチ１６は、例えば高速クロスバースイッチ（Cross Bar Switch）を用いて構成される。内部スイッチ１６を介して行われる通信は、ファイバーチャネル、ｉＳＣＳＩ、ＴＣＰ／ＩＰ等のプロトコルに従って行われる。
【００４４】
記憶装置１７は、物理的な記憶媒体である複数の物理ドライブ１７１を備えて構成されている。物理ドライブ１７１は、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）、ＦＣ（Fibre Channel）、ＰＡＴＡ（Parallel ATA）、ＳＣＳＩなどの形式のハードディスクドライブ、半導体記憶装置（ＳＳＤ）などのハードウエアを用いて構成されている。尚、記憶装置１７は、ストレージ装置１０と同一の筐体に収容されていてもよいし、ストレージ装置１０とは別の筐体に収容されていてもよい。
【００４５】
図４にチャネル制御部１１のハードウエア構成を示している。同図に示すように、チャネル制御部１１は、ホスト装置３と通信するための一つ以上のポート（通信ポート）を備えた外部通信インタフェース（以下、外部通信Ｉ／Ｆ１１１（第２データ転送装置）と表記する。）、メモリ１１３、及びプロセッサ部１２と通信するためのポート（通信ポート）を有する内部通信インタフェース（以下、内部通信Ｉ／Ｆ１１４と表記する。）を備えている。
【００４６】
外部通信Ｉ／Ｆ１１１は、ストレージネットワーク５における通信に用いられる通信規約（通信プロトコル）に従いストレージネットワーク５を介してホスト装置３と通信する。同図に示すように、外部通信Ｉ／Ｆ１１１は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、もしくはＡＳＩＣ（Application Specific Integrated Circuit）などの半導体装置（又は半導体集積回路）を用いて構成される制御装置（以下、第２制御装置１１１１と称する。）と、ＤＭＡ（Direct Memory Access）（以下、第２ＤＭＡ１１１２（第２データ転送装置）と称する。）とを備える。尚、第２ＤＭＡ１１１２は、第２制御装置１１１１の内部に組み込まれていてもよいし、第２制御装置１１１１とは別体（別のパッケージ）であってもよい。
【００４７】
第２制御装置１１１１は、ホスト装置３や内部通信Ｉ／Ｆ１１４と通信する。また第２制御装置１１１１は、第２ＤＭＡ１１１２を制御して、メモリ１１３に格納されているデータをホスト装置３に転送する。また第２制御装置１１１１は、第２ＤＭＡ１１１２を制御して、ホスト装置３から送られてくるデータをメモリ１１３に格納する。
【００４８】
内部通信Ｉ／Ｆ１１４は、内部スイッチ１６を介して、プロセッサ部１２、ドライブ制御部１３、キャッシュメモリ１４、及び共有メモリ１５と通信する。同図に示すように、内部通信Ｉ／Ｆ１１４は、ＣＰＵ、ＭＰＵ、もしくはＡＳＩＣなどの半導体装置（又は半導体集積回路）を用いて構成される制御装置（以下、第１制御装置１１４１と称する。）と、ＤＭＡ（以下、第１ＤＭＡ１１４２（第１データ転送装置）と称する。）とを備える。尚、第１ＤＭＡ１１４２は、第１制御装置１１４１の内部に組み込まれていてもよいし、第１制御装置１１４１とは別体（別のパッケージ）であってもよい。
【００４９】
第１制御装置１１４１は、第１ＤＭＡ１１４２を制御して、メモリ１１３に格納されているデータをキャッシュメモリ１４に転送する。また第１制御装置１１４１は、第１ＤＭＡ１１４２を制御して、キャッシュメモリ１４に格納されているデータをメモリ１１３に転送する。
【００５０】
メモリ１１３は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）２を含む。メモリ１１３は、外部通信Ｉ／Ｆ１１１と内部通信Ｉ／Ｆ１１４との間、並びに内部通信Ｉ／Ｆ１１４とキャッシュメモリ１４との間で行われるデータ転送に際してデータの一時的な格納領域（データバッファ）を提供する。メモリ１１３にはマイクロプログラムが格納されている。外部通信Ｉ／Ｆ１１１又は内部通信Ｉ／Ｆ１１４が、メモリ１１３からマイクロプログラムを読み出して実行することにより、チャネル制御部１１が提供する各種の機能が実現される。
【００５１】
図５にプロセッサ部１２のハードウエア構成を示している。プロセッサ部１２は、一つ以上のマイクロプロセッサ（Micro Processor）（以下、ＭＰ１２２（転送パラメータ設定装置）と称する。）、及びローカルメモリ（Local Memory）（以下、ＬＭ１２３と称する。）を備えている。ＭＰ１２２は、ＣＰＵ、ＭＰＵ、ＡＳＩＣ等を用いて構成されている。ＬＭ１２３にはマイクロプログラムが格納されている。ＭＰ１２２が、ＬＭ１２３から上記マイクロプログラムを読み出して実行することにより、プロセッサ部１２が提供する各種の機能が実現される。
【００５２】
尚、ＭＰ１２２及びＬＭ１２３は、多対一の関係（例えば複数ＭＰ１２２が共通のＬＭ１２３を利用する場合）、多対多の関係（例えばＭＰ１２２ごとに異なるＬＭ１２３が設けられる場合）などストレージ装置１０の種類に応じて様々な態様で設けられる。
【００５３】
図６にドライブ制御部１３のハードウエア構成を示している。ドライブ制御部１３は、内部通信インタフェース（以下、内部通信Ｉ／Ｆ１３１と表記する。）、メモリ１３３、及びドライブインタフェース（以下、ドライブＩ／Ｆ１３４と表記する。）を備えている。
【００５４】
内部通信Ｉ／Ｆ１３１は、ＣＰＵ、ＭＰＵ、ＡＳＩＣ等を用いて構成される演算制御装置と、ＤＭＡとを備える。尚、ＤＭＡは、演算制御装置の内部に組み込まれていてもよいし、演算制御装置とは別体（別のパッケージ）であってもよい。内部通信Ｉ／Ｆ１３１は、内部スイッチ１６を介して、チャネル制御部１１、プロセッサ部１２、キャッシュメモリ１４、及び共有メモリ１５と通信する。
【００５５】
ドライブＩ／Ｆ１３４は、所定の通信方式に従って記憶装置１７と通信する。
【００５６】
メモリ１３３は、ＲＯＭ及びＲＡＭを含む。メモリ１３３は、内部通信Ｉ／Ｆ１３１とドライブＩ／Ｆ１３４との間、並びに内部通信Ｉ／Ｆ１３１とキャッシュメモリ１４との間で行われるデータ転送に際してデータの一時的な格納領域（データバッファ）を提供する。メモリ１３３にはマイクロプログラムが格納されている。内部通信Ｉ／Ｆ１３１又はドライブＩ／Ｆ１３４が、メモリ１３３からマイクロプログラムを読み出して実行することにより、ドライブ制御部１３が提供する各種の機能が実現される。
【００５７】
図３に示す保守装置１８は、ストレージ装置１０の各構成要素の制御や状態監視を行う。保守装置１８は、パーソナルコンピュータやオフィスコンピュータ等である。保守装置１８は、内部スイッチ１６又はＬＡＮ等の通信手段を介してチャネル制御部１１、プロセッサ部１２、ドライブ制御部１３、キャッシュメモリ１４、共有メモリ１５、及び内部スイッチ１６等のストレージ装置１０の構成要素と随時通信を行い、各構成要素から稼働情報等を取得して管理装置７に提供する。また保守装置１８は管理装置７から送られてくる制御情報や稼働情報に基づき、各構成要素の設定や制御、保守（ソフトウエアの導入や更新を含む）を行う。
【００５８】
管理装置７は、保守装置１８とＬＡＮ等を介して通信可能に接続されるコンピュータである。管理装置７はストレージ装置１０の制御や監視のためのＧＵＩ（Graphical User Interface）やＣＬＩ（Command Line Interface）等を用いたユーザインタフェースを備える。
【００５９】
図７は管理装置７として利用可能な情報処理装置（コンピュータ）のハードウエアの一例である。同図に示すように、この装置は、ＣＰＵ７１、揮発性または不揮発性のメモリ７２（ＲＡＭまたはＲＯＭ）、記憶装置７３（例えばＨＤＤ（Hard Disk Drive）、半導体記憶装置（ＳＳＤ（Solid State Drive）））、キーボードやマウス等の入力装置７４、液晶モニタやプリンタ等の出力装置７５、及び保守装置１８と通信するための通信インタフェース（通信Ｉ／Ｆ７６）を備えている。
【００６０】
図８にストレージ装置１０の基本的な機能を示している。同図に示すように、ストレージ装置１０は、記憶装置１７へのデータの書き込みに関する処理を行う書き込み処理部８１１、及び記憶装置１７からのデータの読み出しに関する処理を行う読み出し処理部８１２からなるＩ／Ｏ処理部８１を備える。
【００６１】
図９は、ストレージ装置１０がホスト装置３からデータ書き込み要求を含んだフレームを受信した場合に、Ｉ／Ｏ処理部８１の書き込み処理部８１１が行う基本的な処理（以下、書き込み処理Ｓ９００と称する。）を説明するフローチャートである。以下、同図とともに書き込み処理Ｓ９００について説明する。尚、以下の説明において、符号の前に付している「Ｓ」の文字はステップを意味する。
【００６２】
ホスト装置３から送信されてくるデータ書き込み要求のフレームは、ストレージ装置１０のチャネル制御部１１によって受信される（Ｓ９１１，Ｓ９１２）。チャネル制御部１１はフレームを受信するとその旨をプロセッサ部１２に通知する（Ｓ９１３）。
【００６３】
プロセッサ部１２は、チャネル制御部１１から上記通知を受信すると（Ｓ９２１）、当該フレームのデータ書き込み要求に基づくドライブ書き込み要求を生成し、書き込みデータをキャッシュメモリ１４に格納する。次にプロセッサ部１２は、生成したドライブ書き込み要求をドライブ制御部１３に送信する（Ｓ９２２，Ｓ９２３）。チャネル制御部１１は、ホスト装置３に完了報告を送信し（Ｓ９１４）、ホスト装置３は完了報告を受信する（Ｓ９１５）。
【００６４】
ドライブ制御部１３は、ドライブ書き込み要求を受信すると書き込み処理待ちキューに登録する（Ｓ９２４）。ドライブ制御部１３は、書き込み処理待ちキューからドライブ書き込み要求を随時読み出す（Ｓ９２５）。ドライブ制御部１３は、読み出したドライブ書き込み要求に指定されている書き込みデータをキャッシュメモリ１４から読み出し、読み出した書き込みデータを物理ドライブ１７１に書き込む（Ｓ９２６）。  
【００６５】
次にドライブ制御部１３は、ドライブ書き込み要求について書き込みデータの書き込みが完了した旨の報告（完了報告）をプロセッサ部１２に送信し（Ｓ９２７）、プロセッサ部１２は送られてきた完了報告を受信する（Ｓ９２８）。
【００６６】
図１０はストレージ装置１０がホスト装置３からデータ読み出し要求を含んだフレームを受信した場合にストレージ装置１０のＩ／Ｏ処理部８１の読み出し処理部８１２によって行われるＩ／Ｏ処理（以下、読み出し処理Ｓ１０００と称する。）を説明するフローチャートである。以下、同図とともに読み出し処理Ｓ１０００について説明する。
【００６７】
ホスト装置３から送信されてくるフレームは、ストレージ装置１０のチャネル制御部１１によって受信される（Ｓ１０１１，Ｓ１０１２）。チャネル制御部１１は、ホスト装置３からフレームを受信すると、その旨をプロセッサ部１２及びドライブ制御部１３に通知する。
【００６８】
ドライブ制御部１３は、チャネル制御部１１から上記通知を受信すると（Ｓ１０１３）、当該フレームに含まれているデータ読み出し要求に指定されているデータ（例えばＬＢＡ（Logical Block Address）によって指定される）を、記憶装置１７（物理ドライブ１７１）から読み出す（Ｓ１０１４）。尚、キャッシュメモリ１４に読み出しデータが存在する場合（キャッシュヒットした場合）には、記憶装置１７からの読み出し処理（Ｓ１０１５）は省略される。プロセッサ部１２は、ドライブ制御部１３によって読み出されたデータをキャッシュメモリ１４に書き込む（Ｓ１０１５）。プロセッサ部１２は、キャッシュメモリ１４に書き込んだデータを通信Ｉ／Ｆに随時転送する（Ｓ１０１６）。
【００６９】
チャネル制御部１１は、プロセッサ部１２から送られてくる読み出しデータをホスト装置３に順次送信する（Ｓ１０１７，Ｓ１０１８）。読み出しデータの送信が完了すると、チャネル制御部１１はホスト装置３に完了報告を送信し（Ｓ１０１９）、ホスト装置３は送られてきた完了報告を受信する（Ｓ１０２０）。
【００７０】
ホスト装置３の通信Ｉ／Ｆ３６が備える通信ポート（以下、ホストポートと称する。）には、ストレージネットワーク５に接続している機器を識別するための識別情報であるポートＩＤ（例えばＷＷＮ（World Wide Name））が付与されている。ポートＩＤは、通信Ｉ／Ｆ３６が有する通信ポートのそれぞれに付与されている。従って、例えばストレージネットワーク５に接続するための通信ポートを複数備える通信Ｉ／Ｆ３６は夫々の通信ポートに異なるポートＩＤが付与される。
【００７１】
一方、ストレージ装置１０のチャネル制御部１１がストレージネットワーク５に接続するために備える通信ポート（以下、ストレージポートと称する。）にもポートＩＤ（例えばＷＷＮやＭＡＣアドレス）が付与されている。
【００７２】
以下ホスト装置３の通信Ｉ／Ｆ３６に付与されているポートＩＤのことをホストポートＩＤと、チャネル制御部１１が備える通信ポートの夫々に付与されているポートＩＤのことをチャネルポートＩＤと称する。
【００７３】
ストレージ装置１０は、物理ドライブ１７１の記憶領域を予め定められた割当単位（以下、物理ページと称する。）で割り当てることにより構成される論理的な記憶領域である論理ユニット（ＬＵ：Logical Unit）を単位として、物理ドライブ１７１の記憶領域をホスト装置３に提供する。例えば論理ユニットは、ホスト装置３にインストールされているオペレーティングシステムにおいてデバイスファイル(Device File）やドライブレター（ドライブ名）に対応づけられる。論理ユニットの夫々には論理ユニットごとに固有の識別子である論理ユニット番号（ＬＵＮ（Logical Unit Number)）が付与される。ホスト装置３は、ＬＵＮにより論理ユニットを特定する。ＬＵＮは例えばホスト装置３からストレージ装置１０に送信されるデータ入出力要求に設定される。
【００７４】
ストレージ装置１０は、物理ドライブ１７１が提供する物理的な記憶領域（以下、物理記憶領域と称する）を、この物理記憶領域を用いて論理的に設定される記憶領域である論理デバイス（ＬＤＥＶ（Logical Device））を単位として認識している。各論理デバイスには、論理デバイスごとに固有の論理デバイス番号（ＬＤＥＶ番号）が識別子として付与されている。論理デバイスの記憶領域は、例えば複数のハードウエアをＲＡＩＤ（Redundant Arrays of Inexpensive （or Independent) Disks）方式（ＲＡＩＤ０〜６の少なくともいずれか）で制御することによって構成されている。
【００７５】
図１１は、ホスト装置３からストレージ装置１０へのアクセス経路（パス）を説明する模式図である。同図に示すように、ホスト装置３からストレージ装置１０へのアクセス経路は、ホストポートＩＤ（ホストポート１、ホストポート２、・・・）、ストレージポートＩＤ（ストレージポート１、ストレージポート２、・・・）、ＬＵＮ（ＬＵＮ１、ＬＵＮ２、・・・）及びＬＤＥＶ番号（ＬＤＥＶ１、ＬＤＥＶ２、・・・）の組み合わせによって特定することができる。
【００７６】
図１２にストレージ装置１０の記憶装置１７にデータの書き込みを行おうとする際、ホスト装置３がストレージ装置１０に送信するデータ書き込み要求１２００のデータフォーマットの一例を示している。
【００７７】
同図に示すように、データ書き込み要求１２００には、Ｉ／Ｏコマンド１２１１、ＬＵＮ１２１２、アドレス１２１３、送信元ポートＩＤ１２１４、及び書き込みデータ１２１５などの情報が含まれている。
【００７８】
このうちＩ／Ｏコマンド１２１１には、ストレージ装置１０にデータの書き込みを要求するコマンドが設定される。ＬＵＮ１２１２には、データの書き込み先の論理ユニットのＬＵＮが設定される。アドレス１２１３には、データの書き込み先となる記憶領域を指定するアドレスが設定される。送信元ポートＩＤ１２１４には、当該要求の送信元のホスト装置３の通信Ｉ／Ｆ３６に付与されているホストポートＩＤが設定される。書き込みデータ１２１５には、当該要求により記憶装置１７に書き込もうとする書き込みデータが設定される。
【００７９】
図１３にストレージ装置１０の記憶装置１７からデータを読み出そうとする際、ホスト装置３がストレージ装置１０に送信するデータ読み出し要求１３００のデータフォーマットの一例を示している。
【００８０】
同図に示すように、データ読み出し要求１３００には、Ｉ／Ｏコマンド１３１１、ＬＵＮ１３１２、アドレス１３１３、送信元ポートＩＤ１３１４、及びデータサイズ１３１５などの情報が含まれている。
【００８１】
このうちＩ／Ｏコマンド１３１１には、ストレージ装置１０にデータの読み出しを要求するコマンドが設定される。ＬＵＮ１３１２には、データの読み出し先の論理ユニットのＬＵＮが設定される。アドレス１３１３には、データの読み出し先となる記憶領域を指定するアドレスが設定される。送信元ポートＩＤ１３１４には、当該要求の送信元のホスト装置３の通信Ｉ／Ｆ３６に付与されているホストポートＩＤが設定される。データサイズ１３１５には、当該要求によって記憶装置１７から読み出そうとしているデータのデータサイズが設定される。
【００８２】
本実施形態におけるホスト装置３は、メインフレーム等の可変長形式でデータを管理する装置であり、ホスト装置３から送られてくるデータはＣＫＤ形式（CKD: Count Key Data architecture）のデータである。このため、ストレージ装置１０がホスト装置３からデータ書き込み要求１２００を受信した場合にキャッシュメモリ１４に書き込まれる書き込みデータ、並びに、ストレージ装置１０がホスト装置３からデータ読み出し要求１２５０を受信した場合に記憶装置１７から読み出されてキャッシュメモリ１４に書き込まれる読み出しデータは、いずれもＣＫＤ形式のデータとして管理される。
【００８３】
図１４にＣＫＤ形式のデータ（以下、ＣＫＤ形式データ１４００と称する。）のデータフォーマットを示している。同図に示すように、ＣＫＤ形式データ１４００には、Ｃ部１４１１（Count部）（第１データ部）、Ｋ部１４１２（Key部）（第２データ部）、及びＤ部１４１３（Data部）（第２データ部）、の３つの領域（以下、データ部とも称する。）が含まれている。尚、１つのＣＫＤ形式データ１４００（１つのＣ部１４１１、１つのＫ部１４１２、１つのＤ部１４１３からなる１セットのデータ（転送対象データ））は、例えば、記憶装置１７の記憶領域の管理単位であるデータブロックごとに生成される。
【００８４】
ＣＫＤ形式データ１４００の３つのデータ部のうち、Ｃ部１４１１には、例えば、当該データの格納先であるデータブロックのブロック番号、Ｋ部１４１２のデータ長、Ｄ部１４１３のデータ長などの制御情報が格納される。Ｋ部１４１２には、検索キー情報などのホスト装置３にて動作するアプリケーションに関連する情報が格納される。Ｄ部１４１３には、書き込みデータ又は読み出しデータの実体が格納される。尚、Ｃ部１４１１のデータ長は固定（例えば８Ｂｙｔｅ)であり、Ｋ部１４１２及びＤ部１４１３のデータ長は可変である。
【００８５】
図１５はデータ読み出し要求１３００に応じてストレージ装置１０が読み出しデータをホスト装置３に送信する際に送信される応答データ１５００のデータフォーマットの一例である。同図に示すように、応答データ１５００には、送信先情報１５１１、送信元情報１５１２、読み出しデータ１５１３、及び保証コード１５１４などの情報が含まれている。
【００８６】
このうち送信先情報１５１１には、当該応答データ１５００の送信先のホスト装置３を特定する情報（例えばホスト装置３の識別子やホスト装置３のネットワークアドレス等）が設定される。送信元情報１５１２には、当該応答データ１５００の送信元のストレージ装置１０を特定する情報（例えばストレージ装置１０の識別子やストレージ装置１０のネットワークアドレス等）が設定される。読み出しデータ１５１３には、記憶装置１７から読み出した読み出しデータが設定される。保証コード１５１４には、ストレージ装置１０が、読み出しデータ１５１３に設定される読み出しデータについて計算した保証コード（例えばＬＲＣ（Longitudinal Redundancy Check）、ＣＲＣ（Cyclic Redundancy Check）等）が設定される。
【００８７】
図１６は、ストレージ装置１０にて行われるデータ転送に関する動作を模式的に説明した図であり、チャネル制御部１１が、キャッシュメモリ１４に格納されているデータを読み出してホスト装置３に送信する際に行われる動作を説明した図である。また図１７は、図１６に示す動作をより詳細に説明したフローチャートである。
【００８８】
尚、図１６、図１７に示す動作は、例えば、ホスト装置３から送られてくるデータ読み出し要求１３００に応じて行われる動作であり、例えば、図１０のＳ１０１６〜Ｓ１０１７の処理に際して行われる動作である。以下、これらの図とともに説明する。
【００８９】
まずプロセッサ部１２のＭＰ１２２は、第１ＤＭＡ１１４２にデータ転送パラメータ（以下、第１ＤＭＡ用転送パラメータ１８００と称する。）を設定する（Ｓ１６１１，Ｓ１７１１）。この第１ＤＭＡ用転送パラメータ１８００によるデータ転送の対象となるデータは、例えばドライブ制御部１３によってキャッシュメモリ１４にステージングされた読み出しデータである。
【００９０】
ホスト装置３から送られてくるデータ読み出し要求１３００に応じて上記動作が行われる場合、第１ＤＭＡ用転送パラメータ１８００の設定は、そのデータ読み出し要求１３００について必要な回数だけ繰り返し行われる。必要な回数は、例えば、ＣＣＷ（Channel Command Word）チェインを構成しているＣＣＷの数に対応した回数である。
【００９１】
第１ＤＭＡ１１４２に対する第１ＤＭＡ用転送パラメータ１８００は、このようにＭＰ１２２が第１ＤＭＡ１１４２に対して直接設定するようにしてもよいし、ＭＰ１２２から第１制御装置１１４１に第１ＤＭＡ用転送パラメータ１８００を送信し、これを受信した第１制御装置１１４１が第１ＤＭＡ１１４２に対して第１ＤＭＡ用転送パラメータ１８００を設定するように、つまりＭＰ１２２が、第１制御装置１１４１を介して第１ＤＭＡ１１４２に第１ＤＭＡ用転送パラメータ１８００を設定するようにしてもよい。
【００９２】
図１８に第１ＤＭＡ用転送パラメータ１８００のデータ構成を示している。同図に示すように、第１ＤＭＡ用転送パラメータ１８００は、第１転送元情報１８１１、及び第１転送先情報１８１２を含む。
【００９３】
このうち第１転送元情報１８１１には、第１ＤＭＡ１１４２によるデータ転送についてのデータの転送元を示す情報が設定される。第１転送先情報１８１２には、第１ＤＭＡ１１４２によるデータ転送についてのデータの転送先を示す情報が設定される。
【００９４】
例えば、第１ＤＭＡ１１４２によるデータ転送の転送方向が、キャッシュメモリ１４からメモリ１１３である場合、第１転送元情報１８１１にはキャッシュメモリ１４のアドレスが、第１転送先情報１８１２にはメモリ１１３のアドレスが、夫々設定される。また第１ＤＭＡ１１４２によるデータ転送の転送方向が、メモリ１１３からキャッシュメモリ１４である場合、第１転送元情報１８１１にはメモリ１１３のアドレスが、第１転送先情報１８１２にはキャッシュメモリ１４のアドレスが、夫々設定される。
【００９５】
再び図１６及び図１７に戻って説明する。Ｓ１６１１（又はＳ１７１１）において、第１ＤＭＡ１１４２の第１ＤＭＡ用転送パラメータ１８００が設定されると、第１ＤＭＡ１１４２は、設定された第１ＤＭＡ用転送パラメータ１８００に従いデータ転送（キャッシュメモリ１４（転送元装置）に格納されているデータのメモリ１１３（転送先装置）へのデータ転送）を開始する（Ｓ１６１２，Ｓ１７１２）。
【００９６】
データ転送の実行中、内部通信Ｉ／Ｆ１１４は、第１ＤＭＡ１１４２によるデータ転送が完了したか否かを監視している（Ｓ１７１３）。データ転送が完了すると（Ｓ１７１３：ＹＥＳ）、内部通信Ｉ／Ｆ１１４は、終了ステータス（以下、第１終了ステータスと称する。）をＭＰ１２２のＬＭ１２３に書き込む（Ｓ１６１３，Ｓ１７１４）。これによりＭＰ１２２は第１ＤＭＡ１１４２によるデータ転送が終了したことを知ることができる。
【００９７】
プロセッサ部１２は、ＬＭ１２３に第１終了ステータスが書き込まれたことを検知すると、続いて第２ＤＭＡ１１１２に転送パラメータ（以下、第２ＤＭＡ用転送パラメータ１９００と称する。）を設定する（Ｓ１６１４，Ｓ１７１５）。
【００９８】
図１９に第２ＤＭＡ用転送パラメータ１９００のデータ構成を示している。同図に示すように、第２ＤＭＡ用転送パラメータ１９００は、第２転送元情報１９１１及び第２転送先情報１９１２を含む。第２転送元情報１９１１には、第２ＤＭＡ１１１２によるデータ転送についてのデータの転送元を示す情報が設定される。第２転送先情報１９１２には、第２ＤＭＡ１１１２によるデータ転送についてのデータの転送先を示す情報が設定される。
【００９９】
例えば、第２ＤＭＡ１１１２によるデータ転送の転送方向が、メモリ１１３からホスト装置３である場合、第２転送元情報１９１１にはメモリ１１３のアドレスが、第２転送先情報１９１２にはホスト装置３側の転送先のデータの格納位置を示す情報が、夫々設定される。また例えば第２ＤＭＡ１１１２によるデータ転送の転送方向が、ホスト装置３からメモリ１１３である場合、第２転送元情報１９１１にはホスト装置３の転送元のデータの格納位置を示す情報が、第２転送先情報１９１２にはメモリ１１３のアドレスが、夫々設定される。
【０１００】
尚、第２ＤＭＡ１１１２に対する第２ＤＭＡ用転送パラメータ１９００の設定は、このように内部通信Ｉ／Ｆ１１４が第２ＤＭＡ１１１２に対して直接行うようにしてもよいし、第２ＤＭＡ１１１２から第２制御装置１１１１に第２ＤＭＡ用転送パラメータ１９００を送信し、これを受信した第２制御装置１１１１が第２ＤＭＡ１１１２に対して第２ＤＭＡ用転送パラメータ１９００を設定するように、つまり第１制御装置１１１１を介して間接的に第２ＤＭＡ１１１２に第２ＤＭＡ用転送パラメータ１９００を設定するようにしてもよい。
【０１０１】
第２ＤＭＡ用転送パラメータ１９００が設定されると、第２ＤＭＡ１１１２は、第２ＤＭＡ用転送パラメータ１９００に従ってデータ転送（メモリ１１３に格納されているデータのホスト装置３へのデータ転送）を開始する（Ｓ１６１５，Ｓ１７１６）。
【０１０２】
データ転送の実行中、外部通信Ｉ／Ｆ１１１は、第２ＤＭＡ１１１２によるデータ転送が完了したか否かを監視している（Ｓ１７１７）。データ転送が完了すると（Ｓ１７１７：ＹＥＳ）、外部通信Ｉ／Ｆ１１１は、その終了ステータス（以下、第２終了ステータスと称する。）をＭＰ１２２のＬＭ１２３に書き込む（Ｓ１６１６，Ｓ１７１８）。
【０１０３】
図２０は、図１６及び図１７とともに説明した動作に関する内部通信Ｉ／Ｆ１１４の機能を模式的に説明した図である。同図において「Ｓ」の文字が付されている符号はいずれも図１６又は図１７に示した符号と対応している。
【０１０４】
同図に示すように、内部通信Ｉ／Ｆ１１４は、転送パラメータＩ／Ｆ２０１、転送パラメータ処理部２０２、及びデータ転送部２０３の各機能を有する。また転送パラメータ処理部２０２は、少なくともプロセッサ部１２が備えるＭＰ１２２の数に対応する数以上のバッファ２０２１（同図では「ＢＦ」と表記している。）を備える。
【０１０５】
同図に示すように、データ転送部２０３は、第１通信Ｉ／Ｆ２０３１、メモリＩ／Ｆ２０３２、及び第２通信Ｉ／Ｆ２０３３を備える。尚、これらの機能は、内部通信Ｉ／Ｆ１１４が備えるハードウエアによって、もしくは内部通信Ｉ／Ｆ１１４の第１制御装置１１４１が、内部通信Ｉ／Ｆ１１４やメモリ１１３に保持されているプログラムを読み出して実行することにより実現される。
【０１０６】
同図において、転送パラメータＩ／Ｆ２０１は、プロセッサ部１２が備える一つ以上のＭＰ１２２のうちのいずれかのＭＰ１２２から送られてくる第１ＤＭＡ用転送パラメータ１８００を受信し、受信した第１ＤＭＡ用転送パラメータ１８００を、そのＭＰ１２２に対応するバッファ２０２１に格納する（Ｓ１６１１，Ｓ１７１１）。
【０１０７】
第１ＤＭＡ用転送パラメータ１８００がバッファ２０２１に格納されると、データ転送部２０３は、第１ＤＭＡ用転送パラメータ１８００に基づき、メモリＩ／Ｆ２０３２及び第２通信Ｉ／Ｆ２０３３によりデータ転送（キャッシュメモリ１４に格納されているデータのメモリ１１３へのデータ転送）を開始する（Ｓ１６１２，Ｓ１７１２）。  
【０１０８】
転送パラメータ処理部２０２は、第１ＤＭＡ１１４２によるデータ転送が完了すると（Ｓ１７１３：ＹＥＳ）、第１終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ１６１３，Ｓ１７１４）。尚、プロセッサ部１２が複数のＭＰ１２２を備えている場合、転送パラメータ処理部２０２は、Ｓ１６１１（又はＳ１７１１）にて第１ＤＭＡ用転送パラメータ１８００の設定を行ったＭＰ１２２に割り当てられているＬＭ１２３の記憶領域に第１終了ステータスを書き込む。
【０１０９】
次にプロセッサ部１２が、第２ＤＭＡ用転送パラメータ１９００を外部通信Ｉ／Ｆ１１１の第２ＤＭＡ１１１２に設定して第２ＤＭＡ１１１２を起動する（Ｓ１６１４，Ｓ１７１５）。第２ＤＭＡ１１１２は、第２ＤＭＡ用転送パラメータ１９００に基づきデータ転送（メモリ１１３に格納されているデータのホスト装置３へのデータ転送）を開始する（Ｓ１６１５，Ｓ１７１６）。
【０１１０】
第２ＤＭＡ１１１２によるデータ転送が完了すると（Ｓ１７１７：ＹＥＳ）、外部通信Ｉ／Ｆ１１１は、第２終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ１６１６，Ｓ１７１８）。尚、プロセッサ部１２が複数のＭＰ１２２を備えている場合、外部通信Ｉ／Ｆ１１１は、Ｓ１６１１（Ｓ１７１１）にて第１ＤＭＡ用転送パラメータ１８００の設定を行ったＭＰ１２２に割り当てられているＬＭ１２３の記憶領域に第２終了ステータスを書き込む。
【０１１１】
図２１に第１ＤＭＡ用転送パラメータ１８００（第２ＤＭＡ用転送パラメータ１９００も同様）のデータ構成例（以下、データ２１００と称する。）を示す。同図に示すように、データ２１００には、転送バイト数２１１１、転送元アドレス２１１２、転送先アドレス２１１３、転送方向２１１４、誤り検出符号２１１５、チェインフラグ２１１６などの情報が含まれている。データ２１００は、例えば、１０ワード（＝４バイト）のデータ長を有する。尚、データ２１００のデータ長は必ずしもこの値に限定されない。
【０１１２】
転送バイト数２１１１には、転送対象となるデータのデータ長が設定される。転送元アドレス２１１２には、第１転送元情報１８１１や第２転送元情報１９１１が設定される。転送先アドレス２１１３には、第１転送先情報１８１２や第２転送先情報１９１２が設定される。
【０１１３】
転送方向２１１４には、そのデータ転送の方向を示す情報、例えば、キャッシュメモリ１４からメモリ１１３へのデータ転送であるのか、メモリ１１３からキャッシュメモリ１４へのデータ転送であるのかを示す情報が設定される。
【０１１４】
誤り検出符号２１１５には、転送対象となるデータの誤り検出符号（例えばＣＲＣ（Cyclic Redundancy Check）符号やＬＲＣ（Longitudinal Redundancy Check)符号）が設定される。誤り検出符号によって誤りが検出された場合、チャネル制御部１１は、例えばデータ転送を中止して保守装置１８にエラー情報を出力する。チェインフラグ２１１６には、例えば、ＣＣＷチェインにおける後続のＣＣＷの存在有無を示す情報が設定される。
【０１１５】
図２２に第１終了ステータス又は第２終了ステータスの一例（以下、データ２２００と称する。）を示している。同図に示すように、このデータ２２００には、転送終了フラグ２２１１、障害情報２２１２、誤り検出符号２２１３などの情報が含まれている。
【０１１６】
転送終了フラグ２２１１には、データ転送が終了したか否かを示す値が設定される。障害情報２２１２には、データ転送に際し何等かの障害が発生した場合に障害の内容を示す情報が設定される。ＭＰ１２２は、障害情報１８１２を参照することによりデータ転送時の障害の有無を検出する。誤り検出符号２２１３には、例えば、図２１における誤り検出符号２１１５の内容がそのまま設定される。ＭＰ１２２は、誤り検出符号２２１３の内容に基づきデータ転送時のエラーの有無を検出する。
【０１１７】
前述したように、ストレージ装置１０がホスト装置３からデータ読み出し要求１２５０を受信した場合に記憶装置１７から読み出されてキャッシュメモリ１４に書き込まれる読み出しデータは、Ｃ部１４１１、Ｋ部１４１２、及びＤ部１４１３を含むＣＫＤ形式データ１４００として管理されている。このため、第１ＤＭＡ１１４２によって行われる、キャッシュメモリ１４からメモリ１１３へのデータ転送に際して行われる一連の処理（図１６のＳ１６１１〜Ｓ１６１３の処理又は図１７のＳ１７１１〜Ｓ１７１４の処理）は、転送されるデータがＣＫＤ形式データ１４００であることを前提として行われる。
【０１１８】
そして上記一連の処理に際し、ＭＰ１２２は、１つのＣＫＤ形式データ１４００についてのキャッシュメモリ１４からメモリ１１３へのデータ転送に際し、Ｃ部１４１１を転送するための第１ＤＭＡ用転送パラメータ１８００は生成せず、Ｋ部１４１２を転送するための第１ＤＭＡ用転送パラメータ１８００と、Ｄ部１４１３を転送するための第１ＤＭＡ用転送パラメータ１８００のみを生成する。  
【０１１９】
図２３は、上記一連の処理を模式的に説明した図であり、図２４は上記一連の処理をより詳細に説明したフローチャートである。以下、これらの図とともに説明する。
【０１２０】
まずプロセッサ部１２のＭＰ１２２は、キャッシュメモリ１４に格納されているＣＫＤ形式データ１４００のＣ部１４１１をＬＭ１２３に読み出す（Ｓ２３１０，Ｓ２４１０）。
【０１２１】
次にＭＰ１２２は、第１ＤＭＡ１１４２に、Ｋ部１４１２をキャッシュメモリ１４からメモリ１１３に転送するための第１ＤＭＡ用転送パラメータ１８００を設定する（Ｓ２３１１，Ｓ２４１１）。尚、ＭＰ１２２は、キャッシュメモリ１４からＬＭ１２３に読み出したＣ部１４１１に含まれているＫ部１４１２に関する情報（Ｋ部１４１２のデータ長等）に基づき第１転送元情報１８１１及び第１転送先情報１８１２の内容を設定する。
【０１２２】
図２５にこの際にＭＰ１２２が生成する第１ＤＭＡ用転送パラメータ１８００のデータ構成を示している。同図に示すように、この第１ＤＭＡ用転送パラメータ１８００には、前述した第１転送元情報１８１１及び第１転送先情報１８１２に加えて、制御フラグ１８１３及びＣ部格納領域１８１４が含まれている。
【０１２３】
このうち制御フラグ１８１３には、当該第１ＤＭＡ用転送パラメータ１８００のＣ部格納領域１８１４にＣ部１４１１が設定されているか否かを示す情報が設定される。具体的には、Ｃ部格納領域１８１４にＣ部１４１１のデータが格納されている場合は制御フラグ１８１３に「１」が、格納されていない場合は制御フラグ１８１３に「０」が設定される。
【０１２４】
ＭＰ１２２は、Ｋ部１４１２の第１ＤＭＡ用転送パラメータ１８００の生成に際し、キャッシュメモリ１４からＬＭ１２３に読み出したＣ部１４１１をそのままＣ部格納領域１８１４に格納し、制御フラグ１８１３に「１」を設定する。
つまりＭＰ１２２は、Ｃ部１４１１の第１ＤＭＡ用転送パラメータ１８００を生成する代わりに、Ｋ部１４１２の第１ＤＭＡ用転送パラメータ１８００を第１ＤＭＡ１１４２に設定することにより
Ｃ部１４１１（Ｃ部１４１１の実体）を第１ＤＭＡ１１４２に供給する。
【０１２５】
以上のようにしてＫ部１４１２の第１ＤＭＡ用転送パラメータ１８００が第１ＤＭＡ１１４２に設定されると、次に第１ＤＭＡ１１４２は、設定された第１ＤＭＡ用転送パラメータ１８００のＣ部格納領域１８１４に格納されているＣ部１４１１のデータをメモリ１１３に格納する（Ｓ２３１２，Ｓ２４１２）。またこのとき第１ＤＭＡ１１４２は、Ｃ部１４１１のデータについて保証コードを算出し、算出した値（ＣＫＤ形式データ１４００の保証コードのＣ部１４１１までの途中計算値）を保持する（Ｓ２４１３）。
【０１２６】
次に第１ＤＭＡ１１４２は、設定された第１ＤＭＡ用転送パラメータ１８００に従い、Ｋ部１４１２のデータのデータ転送（キャッシュメモリ１４に格納されているＫ部１４１２のメモリ１１３へのデータ転送）を行う（Ｓ２３１３，Ｓ２４１４）。またこのとき、第１ＤＭＡ１１４２は、Ｓ２４１３にて保持しておいた保証コードとＫ部１４１２とに基づき、（Ｓ２４１３にて保持しておいた保証コードを引き継いで）保証コードを算出し、算出した値（ＣＫＤ形式データ１４００の保証コードのＫ部１４１２までの途中計算値）を保持する（Ｓ２４１５）。
【０１２７】
データ転送が完了すると、第１ＤＭＡ１１４２は、Ｋ部１４１２のデータ転送についての第１終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ２３１４，Ｓ２４１６）。尚、ＭＰ１２２は、Ｋ部１４１２のデータ転送についての第１終了ステータスがＬＭ１２３に書き込まれたことをもって、Ｃ部１４１１及びＫ部１４１２のデータ転送が完了したことを知ることができる。
【０１２８】
ＬＭ１２３にＫ部１４１２のデータ転送についての第１終了ステータスが書き込まれたことを検知すると、次にＭＰ１２２は、Ｄ部１４１３をキャッシュメモリ１４からメモリ１１３に転送するための第１ＤＭＡ用転送パラメータ１８００を第１ＤＭＡ１１４２に設定する（Ｓ２３１５，Ｓ２４１７）。尚、ＭＰ１２２は、キャッシュメモリ１４からＬＭ１２３に読み出したＣ部１４１１に含まれているＤ部１４１３に関する情報（Ｄ部１４１３のデータ長等）に基づき、第１転送元情報１８１１及び第１転送先情報１８１２の内容を設定する。
【０１２９】
ここでＫ部１４１２の第１ＤＭＡ用転送パラメータ１８００の場合とは異なり、Ｄ部１４１３の第１ＤＭＡ用転送パラメータ１８００の制御フラグ１８１３には「０」が設定される（Ｄ部１４１３の第１ＤＭＡ用転送パラメータ１８００のＣ部格納領域１８１４は利用しない）。
【０１３０】
Ｄ部１４１３の第１ＤＭＡ用転送パラメータ１８００が設定されると、次に第１ＤＭＡ１１４２は、第１ＤＭＡ用転送パラメータ１８００に従い、Ｄ部１４１３のデータ転送（キャッシュメモリ１４に格納されているデータのメモリ１１３へのデータ転送）を行う（Ｓ２３１６，Ｓ２４１８）。またこのとき、第１ＤＭＡ１１４２は、Ｓ２４１５にて保持しておいた保証コードとＤ部１４１３のデータとに基づき、（Ｓ２４１５にて保持しておいた保証コードを引き継いで）保証コードを算出する（Ｓ２３１９）。
【０１３１】
データ転送が完了すると、第１ＤＭＡ１１４２は、算出した値をＣＫＤ形式データ１４００全体の保証コードとしてメモリ１１３の所定位置に格納する（Ｓ２３１７，Ｓ２４２０）。このように、第１ＤＭＡ１１４２は、保証コードの算出順序（Ｃ部１４１１の保証コードを求めた後、Ｋ部１４１２の保証コードを求め、その後にＤ部１４１３の保証コードを算出する）を維持しつつメモリ１１３にデータを格納するので、正しい保証コードをホスト装置３に提供することができる。尚、メモリ１１３に格納された保証コードは、図１５に示した応答データ１５００の保証コード１５１４の領域に格納されて読み出しデータ１５１３とともにホスト装置３に送信される。
【０１３２】
次に第１ＤＭＡ１１４２は、Ｄ部１４１３のデータ転送についての第２終了ステータスをＭＰ１２２のＬＭ１２３に書き込む（Ｓ２３１８，Ｓ２４２１）。尚、ＭＰ１２２は、Ｄ部１４１３のデータ転送についての第２終了ステータスがＬＭ１２３に書き込まれたことをもって、ＣＫＤ形式データ１４００（Ｃ部１４１１、Ｋ部１４１２、Ｄ部１４１３の全体）についてのデータ転送が完了したことを知ることができる。
【０１３３】
図２６はＣＫＤ形式データ１４００のメモリ１１３への格納状態の一例である。尚、Ｓ２３１３（又はＳ２４１４）にて転送されるＫ部１４１２のデータを、Ｓ２３１２（又はＳ２４１２）にて既にメモリ１１３に格納済のＣ部１４１１の格納域に連続してメモリ１１３に格納する場合には、Ｃ部１４１１の格納域の先頭アドレスからＣ部１４１１のデータ長分だけずらした位置を先頭アドレスとしてＫ部１４１２を格納すればよい。
【０１３４】
以上に説明したように、ＭＰ１２２は、ＣＫＤ形式データ１４００についてのキャッシュメモリ１４からメモリ１１３へのデータ転送に際し、Ｃ部１４１１を転送するための第１ＤＭＡ用転送パラメータ１８００については生成せず、Ｃ部１４１１のデータを含んだＫ部１４１２を転送するための第１ＤＭＡ用転送パラメータ１８００と、Ｄ部１４１３を転送するための第１ＤＭＡ用転送パラメータ１８００を生成して第１ＤＭＡ１１４２に設定し、第１ＤＭＡ１１４２が、設定された第１ＤＭＡ用転送パラメータ１８００に含まれているＣ部１４１１を取り出してメモリ１１３に格納する。
【０１３５】
これによれば、ＭＰ１２２がＣ部１４１１を転送するための第１ＤＭＡ用転送パラメータ１８００は生成しない分、転送パラメータの設定回数が減り、ＣＫＤ形式データ１４００全体のＣ部１４１１を転送するための第１ＤＭＡ用転送パラメータ１８００の生成や設定に要する負荷が軽減される。またＫ部１４１２の第１ＤＭＡ用転送パラメータ１８００によってＣ部１４１１のデータ転送も行われ、第１ＤＭＡ１１４２のデータ転送機能を利用したデータ転送はＫ部１４１２とＤ部１４１３のデータ転送のみとなり、第１ＤＭＡ１１４２によるデータ転送回数が減る分、第１ＤＭＡ１１４２の負荷が軽減され、ＣＫＤ形式データ１４００全体のデータ転送に要する時間が短縮される。また、Ｋ部１４１２の第１ＤＭＡ用転送パラメータ１８００（Ｃ部１４１１）を保証コードの計算対象として動作する第１ＤＭＡ１１４２を実装したことで、パラメータ内のデータと後続のデータとに連続した保証コードを生成可能となり、正しい保証コードをホスト装置３に提供することができる。
【０１３６】
以上によれば、データ転送を起動する側（プロセッサ部１２）と起動される側（第１ＤＭＡ１１４２）との通信距離が長い場合でも、キャッシュメモリ１４に格納されているデータのホスト装置３へのデータ転送を高速に行うことができ、ストレージ装置１０のホスト装置３に対するレスポンス性能やスループットを向上させることができる。
【０１３７】
以上、本発明の好適な実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲を実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することができる。
【図１】
2013515982.tif 000003
【図２】
2013515982.tif 000004
【図３】
2013515982.tif 000005
【図４】
2013515982.tif 000006
【図５】
2013515982.tif 000007
【図６】
2013515982.tif 000008
【図７】
2013515982.tif 000009
【図８】
2013515982.tif 000010
【図９】
2013515982.tif 000011
【図１０】
2013515982.tif 000012
【図１１】
2013515982.tif 000013
【図１２】
2013515982.tif 000014
【図１３】
2013515982.tif 000015
【図１４】
2013515982.tif 000016
【図１５】
2013515982.tif 000017
【図１６】
2013515982.tif 000018
【図１７】
2013515982.tif 000019
【図１８】
2013515982.tif 000020
【図１９】
2013515982.tif 000021
【図２０】
2013515982.tif 000022
【図２１】
2013515982.tif 000023
【図２２】
2013515982.tif 000024
【図２３】
2013515982.tif 000025
【図２４】
2013515982.tif 000026
【図２５】
2013515982.tif 000027
【図２６】
2013515982.tif 000028
【図２７】
2013515982.tif 000029
【図２８】
2013515982.tif 000030
【図２９】
2013515982.tif 000031
【国際調査報告】
2013515982.tif 000032
2013515982.tif 000033