(57)【特許請求の範囲】
【請求項１】
計算機に接続され、計算機によってＩ／Ｏ処理が行われる論理記憶装置と、計算機からの、拡張コピーによる前記論理記憶装置との間のデータコピー処理を求めるデータコピーの指示により、前記論理記憶装置へのアクセスの可否を判断するアクセス可否判断手段と、前記アクセス可否判断手段による判断結果により、計算機からのデータコピーの指示に応答して計算機を介することなく前記論理記憶装置との間でデータコピー処理を行うデータコピー処理手段とを備えた計算機に接続されるストレージサブシステムにおいて、
計算機からのデータコピーの指示に応じて、前記アクセス可否判断手段は、コピー元論理記憶装置へのアクセス可否、及び、前記論理記憶装置または別の論理記憶装置のいずれかであるコピー先論理記憶装置へのアクセス可否を、データコピーの指示中の前記コピー元論理記憶装置及び前記コピー先論理記憶装置の情報に基づいて、計算機識別情報とコピー元論理記憶装置識別情報との間の対応、及び、計算機識別情報とコピー先論理記憶装置識別情報との間の対応から判断し、
前記アクセス可否判断手段が、コピー元論理記憶装置及びコピー先論理記憶装置へのアクセスを許可すると判断する場合に、前記データコピー処理手段が、コピー元論理記憶装置の中のコピー対象データをコピー先論理記憶装置へ、計算機からのデータコピー指示に応じて、計算機を介することなくコピーするデータコピー処理を行い、
別の論理記憶装置が、ストレージサブシステムの論理記憶装置、ストレージサブシステムに接続された外部論理記憶装置、または、ストレージサブシステムに接続された別のストレージサブシステムの論理記憶装置であることを特徴とするストレージサブシステム。
【請求項２】
計算機に接続され、計算機によってＩ／Ｏ処理が行われる論理記憶装置との間でＩ／Ｏ処理を行う手段と、計算機からの、拡張コピーによる前記論理記憶装置との間のデータコピー処理を求めるデータコピーの指示により、前記論理記憶装置へのアクセスの可否を判断するアクセス可否判断手段と、前記アクセス可否判断手段による判断結果により、計算機からのデータコピーの指示に応答して計算機を介することなく前記論理記憶装置との間でデータコピー処理を行うデータコピー処理手段とを備えた計算機に接続される記憶制御装置において、
計算機からのデータコピーの指示に応じて、前記アクセス可否判断手段は、コピー元論理記憶装置へのアクセス可否、及び、前記論理記憶装置または別の論理記憶装置のいずれかであるコピー先論理記憶装置へのアクセス可否を、データコピーの指示中の前記コピー元論理記憶装置及び前記コピー先論理記憶装置の情報に基づいて、計算機識別情報とコピー元論理記憶装置識別情報との間の対応、及び、計算機識別情報とコピー先論理記憶装置識別情報との間の対応から判断し、
前記アクセス可否判断手段が、コピー元論理記憶装置及びコピー先論理記憶装置へのアクセスを許可すると判断する場合に、前記データコピー処理手段が、コピー元論理記憶装置の中のコピー対象データをコピー先論理記憶装置へ、計算機からのデータコピー指示に応じて、計算機を介することなくコピーするデータコピー処理を行い、
別の論理記憶装置が、記憶制御装置の論理記憶装置、記憶制御装置に接続された外部論理記憶装置、または、記憶制御装置に接続された別の記憶制御装置の論理記憶装置であることを特徴とする記憶制御装置。
【請求項３】
計算機を介することなく論理記憶装置との間でデータコピー処理を行うデータコピー方法において、
計算機からの、拡張コピーによる前記論理記憶装置との間のデータコピー処理を求めるデータコピー指示に応じて、ストレージサブシステムにより、コピー元論理記憶装置へのアクセス可否、及び、前記論理記憶装置または別の論理記憶装置のいずれかであるコピー先論理記憶装置へのアクセス可否を、データコピー指示中の前記コピー元論理記憶装置及び前記コピー先論理記憶装置の情報に基づいて、ストレージサブシステム上の、計算機識別情報とコピー元論理記憶装置識別情報との間の対応、及び、計算機識別情報とコピー先論理記憶装置識別情報との間の対応から判断し、
コピー元論理記憶装置及びコピー先論理記憶装置のそれぞれに対してアクセスを許可する判断結果により、ストレージサブシステムにより、コピー元論理記憶装置とコピー先論理記憶装置との間でデータコピー処理を計算機を介することなく行うことを特徴とするデータコピー方法。
【請求項４】
計算機に接続され、計算機によってＩ／Ｏ処理が行なわれる論理記憶装置と、計算機からのＩ／Ｏ処理に従って前記論理記憶装置を制御する処理手段とを備えた計算機に接続されるストレージサブシステムにおいて、
計算機からの、拡張コピーによる前記論理記憶装置との間のデータコピー処理を求めるデータコピー指示に応じて、前記処理手段が、コピー元論理記憶装置へのアクセス可否、及び、前記論理記憶装置または別の論理記憶装置のいずれかであるコピー先論理記憶装置へのアクセス可否を、データコピー指示中の前記コピー元論理記憶装置及び前記コピー先論理記憶装置の情報に基づいて、計算機識別情報とコピー元論理記憶装置識別情報との間の対応、及び、計算機識別情報とコピー先論理記憶装置識別情報との間の対応から判断し、また、コピー元論理記憶装置及びコピー先論理記憶装置のそれぞれに対してアクセスを許可する判断結果により、計算機を介することなくコピー元論理記憶装置とコピー先論理記憶装置との間でデータコピー処理を行うことを特徴とするストレージサブシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージサブシステム、記憶制御装置及びデータコピー方法に係り、特に、ＡＮＳＩ  Ｘ３Ｔ１１で標準化されたファイバチャネルプロトコルを、上位装置とのインタフェースとして持つストレージサブシステム、記憶制御装置及びデータコピー方法に関する。
【０００２】
【従来の技術】
ＡＮＳＩ  Ｘ３Ｔ１１で標準化されたファイバチャネルプロトコルは、多数の装置が接続可能であり、かつ、ＳＣＳＩ、ＥＳＣＯＮ（登録商標）、ＴＣＰ／ＩＰ等の多種のプロトコルを同時に運用可能な利点を有するものであるが、それに伴いセキュリテイの確保が困難となる性質も併せ持っている。
【０００３】
まず、ファイバチャネルの特徴について説明する。ファイバチャネルは、独自のコマンドセットを持たないシリアルの転送方式を持つプロトコルであり、情報を非同期に送るために伝送媒体の帯域幅を有効に利用できる特色を持っている。そして、ファイバチャネルは、独自のコマンドセットを持たない代わりに、物理転送方式を、従来のＳＣＳＩ、ＥＳＣＯＮ（登録商標）といったコマンドセットの運搬路として使用することにより、従来のソフトウェア資産を継承しながら、より高速かつ多彩なデータ転送を可能としている。
【０００４】
ファイバチャネルは、チャネルとネットワークとの両者の特徴を併せ持つインタフェースである。すなわち、ファイバチャネルは、一旦転送元と転送先とが確定すれば、遅延が少ない高速なデータ転送を行うことができる。これはチャネルの特徴である。また、通信を希望する機器は、任意の契機でファイバチャネルの通信系に参加し、通信の目的となる相手の機器と相互に情報を交換することにより、互いを認識して通信を開始することができる。これはネットワークの特徴である。ここで説明した相手の機器との情報交換の手続きを、特に、ログインと呼ぶ。
【０００５】
ファイバチャネルのインタフェースを持つ機器をノードと呼び、実際のインタフェースにあたる部分をポートと呼ぶ。ノードは、１つ以上のポートを持つことが可能である。ファイバチャネルの系全体に同時に参加できるポートの数は、最大で２４ビットのアドレスの数、すなわち、約１６７７万個である。この接続を媒介するハードウェアをファブリックと呼ぶ。送信元及び送信先のポートは、ファブリックを意識せずに互いのポートに関する情報のみを考慮して動作すればよいので、ファブリックを論理的な媒体として議論する場合も多い。
【０００６】
各ノード及びポートには、標準化団体から一定のルールによって割り当てられる世界中でユニークな識別子が記憶されている。この識別子は、ＴＣＰ／ＩＰのＭＡＣアドレスに相当するものであり、ハードウェア的に固定なアドレスであり、このアドレスをＷＷＮ(WORLD WIDE NAME）とよび８バイトの領域を持つ。
【０００７】
ファイバチャネルの通信は、Ordered Set と呼ばれる信号レベルの情報と、フレームと呼ばれる固定のフォーマットを持った情報とにより行われる。
【０００８】
フレームは、フレームの始まりを示すＳＯＦ（Start Of Frame）と呼ばれる４バイトの識別子、リンク動作の制御やフレームの特徴づけを行う２４バイトのフレームヘッダ、実際に転送される目的となるデータ部分であるデータフィールド、４バイトの巡回冗長コード（ＣＲＣ）、フレームの終わりを示すＥＯＦ（End Of Frame）と呼ばれる４バイトの識別子からなる。データフィールドは、０〜２１１２バイトで可変である。
【０００９】
フレームヘッダは、０ワード目の２３〜０ビットの領域に、フレームの送信先ポートを識別するための３バイトのアドレス識別子であるＤ＿ＩＤ、１ワード目の２３−０ビットの領域に送信元ポートを識別するための３バイトのアドレス識別子であるＳ＿ＩＤが記述してあり、これらの識別子は、送受信される全てのフレームで有効な値を持つ。
【００１０】
領域に送信元ポートを識別するアドレス識別子Ｓ＿ＩＤは、動的に変動する値であり上位装置より報告される値であり、ＦＣ＿ＣＨでは、ファブリックによって初期化手続き時に割り当てられることになっていて、割り当てられる値は、フレームの送信元のノードやポートのＷＷＮ等に依存する。
【００１１】
ログイン時に送信元から送信されるフレームは、フレームヘッダに続くデータフィールドの先頭から２１バイト目〜２８バイト目までの８バイトの領域が送信元のポートのＷＷＮを格納し、先頭から２９バイト目〜３６バイト目までの８バイトの領域が送信元のノードのＷＷＮを格納している。当該フレームを受信した要求先の装置は、このフレームに含まれている情報を取り出し、ログインを受諾する場合、ＡＣＣフレームをログイン要求元に対して送信し、ログインを拒絶する場合、ＬＳ＿ＲＪＴと呼ばれるフレームをログイン要求元に対して送信する。
【００１２】
ログイン要求元は、自らが送信したフレームに対するＡＣＣフレームの応答を受信すると、ログインが成功したことを知り、データ転送などのＩ／Ｏプロセスを開始できる状態となる。また、ログイン要求元は、ＬＳ＿ＲＪＴを受信した場合、ログインが成立しなかったため、ログイン要求先へのＩ／Ｏプロセスは不可となる。
【００１３】
前述では、クラス３のログインについて説明したが、他のログインにおいても、ログイン要求元からログイン要求先へ渡すことのできる情報の中に、ポート及びノードのＷＷＮとＳ＿ＩＤが含まれることは同様である。
【００１４】
ストレージサブシステムに対する不正アクセスを防止する方法に関する従来技術として、例えば、特開平１０−３３３８３９号公報、特開２０００−２７６４０６号公報等に記載された技術が知られている。
【００１５】
特開平１０−３３３８３９号公報には、ストレージサブシステムに対する不正アクセスを防止する方法として、ファイバチャネルプロトコルを用いた方法が開示されている。この方法は、ストレージサブシステムに接続してくるホスト計算機等の上位装置のファイバチャネルインタフェース（ポートと呼ぶ）を静的に一意に識別するＷＷＮ(WORLD WIDE NAME）に関し、予め前記上位装置を起動する前に、ストレージサブシステムの中に前記ホスト計算機等の上位装置のＷＷＮを記憶させ、かつ、当該ＷＷＮとストレージサブシステム中の特定ポート（ＷＷＮ）、あるいは、Ｎ_Ｐｏｒｔ_Ｎａｍｅとストレージサブシステム内部の任意の記憶領域とを関連付けるテーブルを保持し、上位装置起動後、当該上位装置がストレージサブシステムにアクセスする際に発行するフレーム情報の内部を、ストレージサブシステムにおいてフレーム毎に逐一判定して、フレーム内に格納されたＮ_Ｐｏｒｔ_Ｎａｍｅがテーブル内に存在する場合にアクセスを許可し、存在しない場合、ＬＳ_ＲＪＴ という接続拒否のフレームを上位に対して送出することによって、前記テーブル内に存在しないＮ_Ｐｏｒｔ_Ｎａｍｅを持つ上位装置からのアクセスを拒否するというものである。
【００１６】
また、特開２０００−２７６４０６号公報には、前述の特開平１０−３３３８３９号公報において、接続可否の判定をフレーム毎に行う必要があるために通信性能が大幅に制限されることと、アクセス可否の対象がポートではなくストレージサブシステム内の部分領域である場合上、位装置から送出されるフレーム全てにＷＷＮを格納することが上位装置に要求されるため、上位装置側に標準ファイバチャネルプロトコル範囲外の仕様の実装を強いることから実際の製品に適用することは困難であること、という課題を解決する技術が開示されている。
【００１７】
この技術は、ストレージサブシステムにアクセスしてくるホスト計算機等の上位装置あるいは上位装置のポートを静的に一意に識別する識別手段であるＷＷＮ、あるいは、上位装置のノード名（ＷＷＮ）と、ストレージサブシステム内におけるアクセス可否判定の対象である各記憶領域とを対応づけたテーブルとをストレージサブシステム内に保持し、さらに、ポートあるいはノードのＷＷＮと、上位装置がファイバチャネルインタフェースを用いてストレージサブシステムと通信を行う際に、上位装置または上位装置のポートを一意に識別する手段として、情報の送受信に先立つログインプロセスにより動的に割り当てられる情報であるＳ_ＩＤとを関連付けたテーブルをストレージサブシステム内に保持し、上位装置からストレージサブシステム内の記憶領域に対する情報取得要求が、Ｉｎｑｕｉｒｙコマンドを用いて行われた契機で、要求フレームに含まれるＳ_ＩＤを用いて、前記テーブルを検索及び比較することによって記憶領域に対するアクセスの可否を判定するというものである。
【００１８】
一方、上位装置は、通常のリード／ライトコマンド以外の制御コマンドを用いて、記憶領域のリモートコピーやスナップショット等のストレージサブシステムの設定／制御を行う場合がある。ハードウェア、ソフトウェア等を問わずＳＡＮ（Storage Area Network）製品を扱うベンダーで構成された業界団体であるＳＮＩＡ(Storage Networking Industry Association）では、ＳＡＮの標準化作業が行われている。ＳＮＩＡのバックアップ分科会では、ＳＡＮ用途のＳＣＳＩ拡張プロトコルとしてSCSI EXTENDED COPYの標準化作業が行われていて、複数のベンダがここで標準化された共通仕様を用いる予定である。SCSI EXTENDED COPYは、ＳＡＮ等でファイバチャネルプロトコルで接続されたホスト計算機とストレージとにおいて、ストレージ内のデータをバックアップするために、ホスト計算機を介さないサーバレスバックアップを可能とする装置間での通信を行うための共通プロトコルである。
【００１９】
【発明が解決しようとする課題】
図１はストレージサブシステムとホスト計算機との関係を示す図であり、この図を用いて従来技術の問題点について説明する。
【００２０】
図１において、ストレージサブシステム１１００とストレージサブシステム１１００に接続されているホスト計算機について考える。ここでは、ストレージサブシステム１１００に接続されているホスト計算機が、ホスト計算機Ａ１０３０、ホスト計算機Ｂ１０２０、バックアップサーバＣ１０１０であり、また、バックアップサーバＣ１０１０は、ストレージサブシステム１１００内のデータを、スナップショット１３００等を使用してテープ装置１２１０にバックアップ（１６００）する機能を持っているものとする。また、ストレージサブシステム１１００内には、論理記憶デバイスＬＵ＿Ａ１１１０、ＬＵ＿Ｂ１１２０、ＬＵ＿Ｃ１１３０があるとし、ホスト計算機Ａ１０３０、ホスト計算機Ｂ１０２０とバックアップサーバＣ１０１０とは、従来技術の欄で説明したホスト計算機等の上位装置のファイバチャネルのポートを一意に識別する手段ＷＷＮ(World Wide Name）のチェックにより、図１（ａ）に示すように、上位装置である計算機のそれぞれがストレージサブシステム１１００内の論理記憶デバイスＬＵ＿Ａ１１１０、ＬＵ＿Ｂ１１２０、ＬＵ＿Ｃ１１３０にしかアクセスできないように設定されているものとする（アクセス許可１４００）。また、ＬＵ＿Ｃ１１３０は、ＬＵ＿Ａ１１１０のある時点のレプリケーション（静的イメージ）をとるためのボリュームになっているものとする。
【００２１】
前述において、いま、ホスト計算機Ａは、ＬＵ＿Ａとの間でＩ／Ｏ処理を行い、ホスト計算機Ｂは、ＬＵ＿Ｂとの間でＩ／Ｏ処理を行い、バックアップサーバＣは、ＬＵ＿Ｃにあるデータをバックアップ対象として、ユーザが設定したスケジュールに沿って、バックアップを行っているとする。この場合、ホスト計算機Ｂ１０２０から当該ストレージサブシステム１１００内の論理デバイスＬＵ＿ＡやＬＵ＿Ｃにアクセスを試みた場合、従来技術の場合、ストレージサブシステム１１００において、ホスト計算機Ｂ１０２０のＷＷＮをチェックし、ホスト計算機Ｂ１０２０が前記論理デバイスＬＵ＿Ａ１１１０やＬＵ＿Ｃ１１３０に対してアクセス（ログイン）ができないようになっている（１５００）。
【００２２】
しかし、ここで、図１（ｂ）に示すように、ホスト計算機Ｂが、前記ＳＣＳＩＥＸＴＥＮＤＥＤ  ＣＯＰＹコマンドを用い、前記ＳＣＳＩ  ＥＸＴＥＮＤＥＤ  ＣＯＰＹコマンドをアクセス可能なＬＵ＿Ｂ１１２０に発行し、そのコマンドの内容が、当該コマンドを発行したホスト計算機Ｂが本来アクセスできない論理デバイスＬＵ＿Ｃ１１３０から当該上位装置がアクセスできるストレージサブシステム外部の、例えば、テープ装置１２２０等へのコピーであった場合、前記論理デバイスＬＵ＿Ａ１１１０やＬＵ＿Ｃ１１３０内に格納されているのデータの流出に対してチェックが施されず、この結果、本来アクセス不可能な記憶領域にあるデータへの不正なアクセスが可能となる。
【００２３】
前述したように、従来技術は、本来アクセス不可能な記憶領域にあるデータへの不正なアクセスが可能となるという問題点を有している。
【００２４】
本発明の目的は、前述した従来技術の問題点を解決し、SCSI EXTENDED COPYコマンド等の制御コマンドによるストレージサブシステムからのデータコピーに対し、コピー元ボリュームでのＷＷＮレベルでのセキュリティチェックを実現し、複数の上位装置からストレージサブシステム及びストレージサブシステム内の記憶領域へのアクセスを選択的に制限することにより、不正なデータコピーを防止することのできるストレージサブシステム、記憶制御装置及びデータコピー方法を提供することにある。
【００２５】
【課題を解決するための手段】
本発明によれば前記目的は、計算機に接続され、計算機によってＩ／Ｏ処理が行われる論理記憶装置と、計算機からの、拡張コピーによる前記論理記憶装置との間のデータコピー処理を求めるデータコピーの指示により、前記論理記憶装置へのアクセスの可否を判断するアクセス可否判断手段と、前記アクセス可否判断手段による判断結果により、計算機からのデータコピーの指示に応答して計算機を介することなく前記論理記憶装置との間でデータコピー処理を行うデータコピー処理手段とを備えた計算機に接続されるストレージサブシステムにおいて、計算機からのデータコピーの指示に応じて、前記アクセス可否判断手段は、コピー元論理記憶装置へのアクセス可否、及び、前記論理記憶装置または別の論理記憶装置のいずれかであるコピー先論理記憶装置へのアクセス可否を、データコピーの指示中の前記コピー元論理記憶装置及び前記コピー先論理記憶装置の情報に基づいて、計算機識別情報とコピー元論理記憶装置識別情報との間の対応、及び、計算機識別情報とコピー先論理記憶装置識別情報との間の対応から判断し、前記アクセス可否判断手段が、コピー元論理記憶装置及びコピー先論理記憶装置へのアクセスを許可すると判断する場合に、前記データコピー処理手段が、コピー元論理記憶装置の中のコピー対象データをコピー先論理記憶装置へ、計算機からのデータコピー指示に応じて、計算機を介することなくコピーするデータコピー処理を行い、別の論理記憶装置が、ストレージサブシステムの論理記憶装置、ストレージサブシステムに接続された外部論理記憶装置、または、ストレージサブシステムに接続された別のストレージサブシステムの論理記憶装置であることにより達成される。
【００２６】
【発明の実施の形態】
以下、本発明によるトレージサブシステム、記憶制御装置及びデータコピー方法の実施形態を図面により詳細に説明する。なお、本発明は、実施形態により限定されるものではない。
【００２７】
図２は本発明の一実施形態によるストレージサブシステムを用いた計算機システムの構成を示すブロック図である。図２において、２０００、２００１はホスト計算機、２００２はバックアップサーバ、２１００はストレージサブシステム、２２００はストレージサブシステム制御部（記憶制御装置）、２２１０はリード／ライト処理手段、２２１１、２２１２は論理／物理対応情報、２２１３はコマンド処理部、２２１４はＳＣＳＩコマンド処理部、２２２０はＬＵＮセキュリティアクセス制御手段、２２２１はＬＵＮ〜ＷＷＮアクセス可否情報、２２２２はＷＷＮ〜Ｓ＿ＩＤ対応情報、２２３０はEXTENDED COPY 処理手段、２２３１はEXTENDED COPY アクセス制御手段、２２４０は外部装置通信処理部、２３００は物理記憶装置、２４０１〜２４１２、２４２０は論理デバイス、２５００はネットワーク、２６００はＩ／Ｏネットワーク、２６１０はＩ／Ｏバス、２７００は設定端末である。
【００２８】
図２に示す計算機システムは、ホスト計算機２０００、２００１と、バックアップサーバ２００２と、ストレージサブシステム２１００と、設定端末２７００とにより構成され、ホスト計算機２０００、２００１及びバックアップサーバ２００２とストレージサブシステム２１００及び制御端末２７００とは、ネットワーク２５００により接続されている。ネットワーク２５００としては、例えば、イーサネット（登録商標）、ＦＤＤＩ、ファイバチャネル、公衆回線網等であってよく、制御端末は、通常、ストレージサブシステムの保守管理作業用に使用される。
【００２９】
また、ホスト計算機２０００、２００１、バックアップサーバ２００２は、ストレージサブシステム２１００に、Ｉ／Ｏネットワーク２６００及びＩ／Ｏバス２６１０を介しても接続され、ストレージサブシステム２１００に対してデータのリードやライト処理のためのＩ／Ｏを発する。ホスト計算機２０００、２００１、バックアップサーバ２００２は、Ｉ／Ｏを発行する際にストレージサブシステム２１００内のデータに対して、通常、論理的な記憶領域のアドレスを通じてアクセスする。Ｉ／Ｏネットワーク２６００、Ｉ／Ｏバス２６１０としては、例えば、ファイバチャネル、ＳＣＳＩ、ＥＳＣＯＮ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｉｎｆｉｎｉｂａｎｄ（登録商標）等の多くの手段を使用することができる。
【００３０】
ストレージサブシステム２１００の外部通信処理部２２４０は、ホスト、バックアップサーバ、設定端末等の外部装置との通信処理を、ファイバチャネル、ＳＣＳＩ、ＥＳＣＯＮ（登録商標）、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信伝送路、プロトコル等に併せ適当なインタフェースの提供することにより行う。
【００３１】
なお、図示ストレージサブシステム２１００に接続できる装置は、図に示したようなホスト計算機が２つ、バックアップサーバが１つ等に限定される必要はなく、通常、少なくとも１つ以上の計算機が１つ以上のストレージサブシステムに接続されていてよい。
【００３２】
ところで本発明は、ホスト計算機からのコマンドを受領した、あるデバイスがホスト計算機を介することなく、他のデバイスからまたこれとは異なる他のデバイスに対してコピーなどを行うことに関して、ストレージ装置においてセキュリティ機構を設けることを目的としている。
【００３３】
現在、そのようなコマンドをサポートしているものとして、ＳＣＳＩのEXTENDED COPY Command があるので、このコマンドを例として、以降の本発明の実施形態の説明を続ける。また、ホスト計算機とストレージサブシステムとを接続するＩ／Ｏバスは、ＳＣＳＩのコマンドの送受信にかかわる通信制御ができるものとし、ここでは、その１つとしてファイバチャネルを例として、本発明の実施形態の説明を続ける。
【００３４】
さて、ストレージサブシステム２１００は、ストレージサブシステム制御部２２００及び複数の物理記憶装置２３００から構成される。通常、大容量のストレージサブシステムは、システムの安全性・信頼性を保つために複数の物理記憶装置をまとめてディスクアレイを構成し、その上で論理的な記憶領域を構築し、ストレージサブシステムに接続されるホスト計算機に対して、その他の論理的なデバイスと共に、論理デバイス２４０１〜２４１２、２４２０として提供している。
【００３５】
ストレージサブシステム制御部２２００は、物理記憶装置２３００に対して、ホスト計算機からのリード／ライト処理要求を、論理記憶領域／物理記憶領域対応情報２２１１を参照し、論理／物理対応手段２２１２によって論理／物理対応させ、リード／ライト手段２２１０によって適当な記憶領域に対してリード／ライト処理を行う他、様々なホスト計算機からの要求を処理したり、設定端末２７００やホスト計算機に対してストレージサブシステムの稼動情報や障害情報、管理情報等のストレージサブシステムの保守／管理に必要な情報を提供する等の処理を行っている。
【００３６】
また、ストレージサブシステム制御部２２００は、そのストレージサブシステム２１００に接続してくるホスト計算機のＷＷＮとストレージサブシステム２１００内の論理デバイス２４００〜２４１２、２４２０の識別子であるＬＵＮのアクセス可否の対応関係情報２２２１やホスト計算機がファイバチャネルを介して接続してくる際に送信してくるファイバチャネルフレーム内のＳ＿ＩＤとホスト計算機のＷＷＮとの対応関係情報２２２２、及び、前記ＬＵＮのアクセス可否の対応関係情報２２２１とＳ＿ＩＤとホスト計算機のＷＷＮの対応関係情報２２２２とに基づいて、ＬＵＮアクセス制御を行うＬＵＮセキュリティアクセス制御手段２２２０を持つ。
【００３７】
さらに、ストレージサブシステム制御部２２００は、特定の論理デバイスに対して、ＳＣＳＩのEXTENDED COPY Command を受領した際にそのコマンドを解釈し、適当な処理を行うEXTENDED COPY Command 処理手段２２３０と、そのEXTENDED COPY Command によって、不正なデータの流出を防ぐEXTENDED COPY アクセス制御手段２２３１を持つ。なお、論理デバイスは、物理的な記憶領域にマッピングされた記憶領域を持っていても、持っていなくてもよい。また、ストレージサブシステム制御部それ自体は、ストレージサブシステム内に複数あってもよい。
【００３８】
また、ストレージサブシステム制御部２２００は、論理記憶装置やキャッシュに対してのアクセス稼動情報やパリティグループの構成情報、そのＲＡＩＤレベル情報等、ストレージサブシステム内の構成情報等、システムとして各々処理を行うために必要な情報をも保持しているが、本発明の実施形態の説明においては重要ではないので、ここではそれらの説明を省略する。加えて、前述のホスト計算機、バックアップサーバ及び前記ストレージサブシステム制御部及び設定端末には、それぞれでの処理を行うためプログラムや情報を格納するためのメモリ、ＣＰＵ、内部のデータ通信路等の計算機において必ず存在する構成要素もそれぞれ存在するが、本発明の実施形態の説明においては重要でないため、ここではそれらの説明を省略する。
【００３９】
次に、ｔ10 Technical CommitteeでＳＣＳＩのコマンドセットのドラフトとして開示されているInformation technology -SCSI Primary Command-3(ＳＰＣ３)に記載されている図を用いて、SCSI EXTENDED COPYコマンドのフォーマットについて、ブロックデバイスからストリームデバイスへのコピー等を例として説明する。
【００４０】
図３はEXTENDED COPY Command のCommand Descriptor Block(ＣＤＢ)の構成を説明する図である。
【００４１】
EXTENDED COPY Command のＣＤＢは１６バイトで構成され、バイト０に記載されている処理コード３１００は８３ｈ（ｈは１６進表示であることを示す）である。バイト１からバイト９までとバイト１４とはリザーブ領域であり、バイト１０からバイト１３までにEXTENDED COPY Command のパラメータリストの長さPARAMETER LIST LENGTH ３２００が記載されている。
【００４２】
EXTENDED COPY Command の実行に必要なパラメータは、ＣＤＢでの指定の他に、ＣＤＢに続いてホスト計算機からストレージサブシステムに対して、ＳＣＳＩにおけるイニシエータからターゲットに対してコマンドで指定したデータを送信するデータアウトフェーズにおいて、データアウトバッファに記載されて送信されてくる。
【００４３】
なお、前述のPARAMETER LIST LENGTH ３２００の値が０である場合、何のデータも送信されなかったことを示しており、エラーではない。
【００４４】
図４はEXTENDED COPY Command PARAMETER Listの構成を説明する図である。このリストは、図３で説明したように、ＣＤＢの処理コードが８３ｈで、EXTENDED COPY Command であると判別された場合、データ・アウト・バッファ中に記載されているEXTENDED COPY Command の実行に必要なコマンドパラメータリストのフォーマットであり、図３に示すPARAMETER LIST LENGTH ３２００は、このパラメータリストの長さをバイト値で示したものである。
【００４５】
EXTENDED COPY Command のパラメータリストは、１６バイトからなるヘッダ部４７００と、その後に続くターゲットディスクリプタ４５００と、セグメントディスクリプタ４６００と、オプションとしてのインラインデータとから構成される。ヘッダ部４７００は、LIST IDENTIFER４１００、ＳＴＲ、ＮＲＣＲ、コマンドプライオリティ、ターゲットディスクリプタリストの長さ４２００、セグメントディスクリプタリストの長さ４３００、インラインデータの長さ４４００の各データで構成される。
【００４６】
バイト０のLIST IDENTIFER４１００は、クライアントアプリケーションによって、ＳＣＳＩのEXTENDED COPY Command をコピーマネージャに対してユニークに決めるために選ばれる値である。バイト１における７、６、３ｂｉｔ目はリザーブで、５ｂｉｔ目にはＳＴＲ、４ｂｉｔ目にはＮＲＣＲ、２〜０ｂｉｔ目にはPRIORITYが書き込まれている。
【００４７】
バイト２、３には、ターゲットディスクリプタ長４２００であり、バイト１６から記載されるターゲットディスクリプタ４５００の長さが記載されており、バイト４〜７はリザーブ、バイト８〜１１はセグメントディスクリプタ長（４３００）で、バイトｎ＋１から記載されるセグメントディスクリプタ４６００の長さを記載している。なお、ｎはこのパラメータリスト中のターゲットディスクリプタが記載されている最後のバイト数である。
【００４８】
図５は図４に示したコマンドパラメータリスト内のバイト１６からバイトｎまでのターゲットディスクリプタ４５００の内容の詳細を説明する図である。このターゲットディスクリプタは、１つ当たり３２バイトで記述されていて、EXTENDED COPY Command のコピー元あるいはコピー先に関するデータを記述している。
【００４９】
図示ターゲットディスクリプタのバイト０には、ディスクリプタタイプコード５１００が記述されていて、Fiber Channel World Wide Name のターゲットディスクリプタの場合、そのコードはＥ０ｈである。バイト１にはデバイスタイプ５２００が記述されている。また、バイト４からバイト１１までには、ターゲットのLogical Unit Number(ＬＵＮ）５３００が、バイト１２から１９までには、ターゲットのWorld Wide Name(ＷＷＮ）５４００が記述されている。さらに、バイト２８からバイト３１は、Dvice Type Specific Parameter ５５００であり、ターゲットのデバイスタイプ固有のパラメータが記述されている。
【００５０】
図６は図５に示したターゲットディスクリプタのバイト２８からバイト３１に記述されているデバイス固有のパラメータ５５００の詳細な内容の一例を説明する図であり、ターゲットディスクリプタにおいて、バイト１のｂｉｔ４〜０で指定したデバイスタイプがブロックデバイス（例えば、ディスク）である場合のフォーマットである。
【００５１】
図７は図５に示したターゲットディスクリプタのバイト２８からバイト３１に記述されているデバイス固有のパラメータ５５００の詳細な内容の他の例を説明する図であり、ターゲットディスクリプタにおいて、バイト１のｂｉｔ４〜０で指定したデバイスタイプがシーケンシャルアクセスデバイス（例えば、テープ）であった場合のフォーマットである。
【００５２】
図８は図４に示したコマンドパラメータリスト内のバイトｎ＋１からバイトｎ＋ｍまでに記述されているセグメントディスクリプタ４６００の１つの詳細な内容の例を説明する図である。なお、ｍはパラメータリストにセグメントディスクリプタが記載されているデータ長である。
【００５３】
図示ターゲットディスクリプタのバイト０は、Discriptor Type Code８１００であり、ここには、例えば、ブロックデバイスからシーケンシャルアクセスデバイスへのコピーあるいはシーケンシャルアクセスデバイスからブロックデバイスへのコピーであれば、００ｈ、０１ｈ、０Ｂｈ、０Ｃｈの何れかのコードが記述しされる。バイト２、３には、ディスクリプタ長８２００が記載されていていてこのディスクリプタ長が記載されている後に続くセグメントディスクリプタの残り８８００の長さを記述されている。前述のブロックデバイスからテープデバイスへのコピーの場合、ここに記述されるコードは１４ｈである。
【００５４】
バイト４、５には、コピー元となるソースターゲットディスクリプタインデックス８３００が記述されており、バイト６、７には、コピー先のディスティネーションターゲットディスクリプタインデックス８４００が記述される。これらのインデックスは、図４に記載のコマンドパラメータリスト内のターゲットディスクリプタ４５００のインデックスと対応する。バイト９〜１１は、ストリームデバイス転送長８５００であり、ストリームデバイスにデータを書き込む量を規定している。また、バイト１４、１５は、ブロックデバイスブロック数８６００であり、図５のターゲットディスクリプタのフォーマット内に記述してあるDISK BLOCK LENGTH ６１００と対応する。バイト１６〜２３に記述されるBLOCK DEVICE LOGICAL BLOCK ADDRESS（ＬＢＡ）８７００は、Block Device上の最初の論理ブロックアドレスである。
【００５５】
前述で説明した図３〜図８に示したEXTENDED COPY Command に関するフォーマットは、ｔ10 Technical Committeeにおいて、ＳＣＳＩのコマンドセットのドラフトとして開示されている。このため、前述したフォーマットの中身は今後変化する可能性はあるが、前述では、ターゲットのＷＷＮ、ＬＵＮ等、コピー元コピー先を特定できる情報が前述のフォーマットに含まれていることを例示しただけであって、基本的にEXTENDED COPY Command の詳細部分の変更によって影響を受けることはない。
【００５６】
次に、EXTENDED COPY Command による不正なデバイスへのアクセスに対するアクセス制御に関して説明する。
【００５７】
前述したEXTENDED COPY Command は、ファイバチャネルの場合、ファイバチャネルフレームに納められ上位装置からストレージサブシステムに送信されてくる。そこで、まず、ファイバチャネルフレームについて説明する。
【００５８】
図９はファイバチャネルのフレームの構成を説明する図である。図示フレームは、フレームの始まりを示すＳＯＦ（start of frame）９０００と呼ばれる４バイトの識別子、リンク動作の制御やフレームの特徴づけを行う２４バイトのフレームヘッダ９１００、実際に転送される目的となるデータ部分であるデータフィールド９２００、５バイトの巡回冗長コード（ＣＲＣ）９３００、フレームの終わりを示すＥＯＦ（end of frame）９４００と呼ばれる４バイトの識別子からなる。データフィールドは、０〜２１１２バイトの間で可変である。
【００５９】
図１０は前述したファイバチャネルのフレーム内にあるフレームヘッダ部９１００の構成を説明する図である。
【００６０】
フレームヘッダ部９１００は、各ビットを持つ６つのＷＯＲＤにより構成され、ＷＯＲＤ０の２３〜０ビット領域は、Ｄ＿ＩＤ（Distination ID）１０１００、ＷＯＲＤ１の２３〜０ビット領域は、Ｓ＿ＩＤ(Source ID）１０２００である。Ｓ＿ＩＤ１０２００は、このファイバチャネルフレームを送信するポートを識別するための３バイトのアドレス識別子であり、Ｄ＿ＩＤ１０１００は、このファイバチャネルフレームを受信するポートの識別を行う３バイトのアドレス識別子である。両識別子は、送受信される全てのフレームで有効な値を持つ。Ｓ＿ＩＤ１０２００は、上位装置（ホスト計算機やバックアップサーバ等）を動的に一意に識別できる情報であり、ファイバチャネルにおいてファイバチャネルフレームを送る送信元の機器と送信先の機器とがお互いに情報を交換し合うログイン時に上位装置より報告される値であり、デバイス間で論理セッションを確立するときに使用される。
【００６１】
前述したようなファイバチャネルフレームを使用することによって、ホスト計算機、バックアップサーバ等は、ストレージサブシステムとファイバチャネルを介してＩ／Ｏ処理を行うことが可能となる。
【００６２】
次に、本発明において、上位装置（ホスト計算機やバックアップサーバ）より、ファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドがあるファイバチャネルフレームを受信するためのストレージサブシステムが持つ情報テーブルの例について説明する。
【００６３】
図１１は上位装置（例えば、ホスト計算機）からストレージサブシステムに送信されてくるファイバチャネルフレーム内のＳ＿ＩＤとそれに対応する上位装置のＷＷＮとの対応付けを行うテーブルの例を説明する図である。
【００６４】
図示テーブルは、ホスト計算機がストレージサブシステムにファイバチャネルを介しログインを行う際に、ファイバチャネルフレームからホスト計算機（ホスト計算機バスアダプタのポート）のＷＷＮとＳ＿ＩＤとを取得する等によって作成される。
【００６５】
ログイン後、通常のファイバチャネルは、Ｓ＿ＩＤ、Ｄ＿ＩＤを使用して通信を行う。図１１に示すテーブルの１列目１１１００はＳ＿ＩＤでであり、２列目１１２００はそれに対応したホスト計算機のＷＷＮである。
【００６６】
ファイバチャネルフレームを受信したストレージサブシステムは、ファイバチャネルフレーム内のＳ＿ＩＤを取り出し、図示テーブルの１列目を検索を行ってマッチしたＳ＿ＩＤに対応するＷＷＮを取得することができる。これにより、そのファイバチャネルフレームを送信してきたホスト計算機のＷＷＮを特定することができる。
【００６７】
なお、ファイバチャネルのログイン処理は、本発明に直接関係しないので、ここでの説明は省略する。
【００６８】
すなわち、ホスト計算機がファイバチャネルログイン後ストレージサブシステムの論理デバイスに対して、EXTENDED COPY Command を送信してくると、そのコマンドを受領する論理デバイスを制御するストレージサブシステム制御部２２００は、ファイバチャネルフレームヘッダからＳ＿ＩＤを取り出し、図１１に示すテーブルを参照し、そのＳ＿ＩＤに対応するフレームを送信してきたホスト計算機のＷＷＮを割り出すことができる。
【００６９】
図１２は図２に示したＬＵＮ〜ＷＷＮアクセス可否情報２２２１の例を説明する図であり、ホスト計算機のＷＷＮ１２１００と、ストレージサブシステムのあるポート（ポートのＷＷＮ：１２３４５６７８９０ＡＢＣＤＥＦ）１２０００のポート毎に関連付けられたＬＵＮ１２０００において、あるＷＷＮを持つホスト計算機がどのＬＵＮにアクセスできるかという対応関係を示した例をテーブルとして図示したものである。
【００７０】
説明している本発明の実施形態の場合、図１２に示すテーブルは、ストレージサブシステム上にあるポート毎に作成され、ストレージサブシステムに存在するポート数分の複数が存在する。そして、テーブルの作成は、ストレージサブシステムと通信可能な保守用の装置、例えば、設定端末２７００から、入力手段とその入力結果を確認するための表示手段とを用いて指示することにより行われる。
【００７１】
設定手段としては、ストレージサブシステムにＬＡＮや電話回線または内部バスによって接続されているストレージサブシステムの保守用設定端末から行われるのが一般的であるが、本発明は、それらを設定する設定者の場所やそれらの設定手段、設定端末の種類、使用するネットワークの種類等は特に問わない。また、ここで用いられているＷＷＮは既知であるとする。
【００７２】
通信回線の種類により、ＬＡＮを用いればストレージサブシステムに近い場所からの設定、電話回線を用いれば保守センタ等遠隔地からの設定が可能である。また、内部バスを用いて保守用装置とストレージサブシステムとを一体化させることも可能である。
【００７３】
ＬＵＮは、ポートに関連付けられたＬＵを示し、ＷＷＮの数は、そのポート配下に存在するＬＵへアクセスする可能性のあるホスト計算機の数だけ存在する。ＬＵ及びホスト計算機の数は有限な数となる。
【００７４】
テーブルの各要素において、本発明の実施形態では、値“１”がアクセス許可を、値“０”がアクセス拒否を意味することにする。
【００７５】
図１２に示す例の場合、そのポートにおいて、ＬＵＮ０（１２２１０）へアクセス許可があるホスト計算機は、ＷＷＮが“０１２３４５６７８９ＡＢＣＤＥＦ”及び“０１２３４５６７８９ＡＢＣＤＥＤ”を持つホスト計算機であり、ＬＵＮ１（１２２２０）へアクセス許可があるホスト計算機は、ＷＷＮが“０１２３４５６７８９ＡＢＣＤＥＥ”を持つホスト計算機である。また、図示例の場合、ＬＵＮｎ−１（１２２３０）へのアクセスが許可されているホスト計算機は、存在しないことを表している。
【００７６】
さて、ホスト計算機が、EXTENDED COPY Command をストレージサブシステムの論理デバイスに対して発行すると、ストレージサブシステムは、このコマンドを受信した際に、ホスト計算機のＷＷＮとコマンドの送信先である論理デバイスの識別子ＬＵＮとをチェックし、アクセス可能か否かを評価した後、論理デバイスがこのコマンドを受領してコマンドの内容を解析し始める。受領したコマンドがEXTENDED COPY Command である場合、EXTENDED COPY 処理手段２２３０は、そのコマンド受領論理デバイスがコピーマネージャとなり、コマンド内に記載されたコピー元の論理デバイスからコピー先の論理デバイスに対してデータのコピーを行うように制御する。
【００７７】
図１３はＬＵＮ〜ＷＷＮアクセス可否情報更新の処理動作の例を説明するフローチャートであり、次に、これについて説明する。ここで説明する例は、図１１により説明した上位装置（例えば、ホスト計算機）からストレージサブシステムに送信されてくるファイバチャネルフレーム内のＳ＿ＩＤとそれに対応する上位装置のＷＷＮの対応付けを行うテーブルと、図１２により説明した図２のＬＵＮ〜ＷＷＮアクセス可否情報２２２１の例で、ホスト計算機のＷＷＮとストレージサブシステムのあるポート毎に関連付けられたＬＵＮにおいて、あるＷＷＮを持つホスト計算機がどのＬＵＮにアクセス（ポートログイン等）ができるかの対応関係を示したテーブルとの設定に関するストレージサブシステム制御部の処理手順の一例である。なお、ここでは、予め設定されている論理デバイス以外に新たに論理デバイスを設定する場合を例にあげて説明する。
【００７８】
（１）まず、例えば、ホスト計算機やバックアップサーバは、ＲＥＡＤ／ＷＲＩＴＥを行う論理ボリュームのある時点のレプリケーション（静的なイメージ）用のデバイスとして、または、ディザスタリカバリ等の用途で、ホストのＩ／Ｏ処理を行うボリュームとは物理的に遠隔でネットワークで接続されたボリュームに、遠隔地へのコピー先用途等で、新たに論理デバイスを指定した空き物理記憶領域から割当てるように、Ｉ／Ｏネットワーク２６００やネットワーク２５００を用い指示する。あるいは、ストレージサブシステム管理者が設定端末２７００を使用して、ホスト計算機ユーザからの要求に対応して、新たに論理デバイスを指定した空き物理記憶領域から割当てるように指示する。ストレージサブシステム制御部２２００は、その要求を受領して、指定の空き物理記憶領域から論理デバイスを割当て、論理／物理対応手段２２１１を用いて、論理／物理対応情報２２１２を更新する（ステップ１３１００、１３２００）。
【００７９】
（２）次に、ストレージサブシステム制御部２２００は、割り当てた論理デバイスに対して、図１２ににより説明したＬＵＮ〜ＷＷＮアクセス可否情報２２２１を更新する。この更新は、例えば、新規に割り当てた論理デバイスに対しては、指示を出したバックアップサーバのＷＷＮとバックアップを行うデータを正ボリューム側でＩ／Ｏ処理を行うＨＯＳＴ計算機のＷＷＮとを許可する、というように行われる（ステップ１３３００）。
【００８０】
前述したＬＵＮ〜ＷＷＮアクセス可否情報２２２１の更新は、ストレージサブシステム管理者が設定端末を使用して設定してもよいし、例えば、ストレージサブシステム制御部内のコマンド処理部２２１３がLUN SECURITY設定処理をプログラム処理して行ってもよい。
【００８１】
図１４はファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドを受領したデバイスでの処理動作の例を説明するフローチャートであり、次に、これについて説明する。ここで説明する例は、上位装置からファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドが送信されてきた場合に、ファイバチャネルフレームを受信したストレージサブシステム制御部２２００と、EXTENDED COPY アクセス処理手段２２３０と、EXTENDED COPY アクセス制御手段２２３１とによって受領論理デバイスが行う処理の例である。
【００８２】
また、ここでは、EXTENDED COPY Command は、図９に示すＦＣＰ＿ＣＭＮＤと呼ばれる情報単位を含むフレームとして、ファイバチャネルネットワークを介してホスト計算機からストレージサブシステムへ送信された場合について述べる。
【００８３】
（１）図２に示すようなホスト計算機からのファイバチャネルフレームを受信するストレージサブシステムは、まず、ファイバチャネルログインの処理において、フレームからＳ＿ＩＤ、及びＷＷＮを取り出し、そのファイバチャネルフレーム送信元のホスト計算機のＳ＿ＩＤと図１１に示すようなＷＷＮの対応テーブルを作成し、また、当該ホスト計算機がストレージサブシステム内の指定デバイスに対してアクセス可能か否かを図１２に示すテーブルを用いてチェックする。その後、ストレージサブシステムは、内部の特定論理デバイスに対して前述のホスト計算機より送信されてくるファイバチャネルフレームを受信する（ステップ１４０００）。
【００８４】
（２）ファイバチャネルフレームを受信すると、このフレームを送信してきたホスト計算機のＷＷＮを識別できるようにフレームヘッダ内のＳ＿ＩＤを取り出す。次に、フレームのデータフィールドを読み、ファイバチャネルフレーム内にCommand Device Block（ＣＤＢ）があった場合で、コマンドの内容がEXTENDED COPY Commandであるか否かを評価する（ステップ１４０１０、１４０２０）。
【００８５】
（３）ステップ１４０２０の評価で、受信したファイバチャネルフレームがEXTENDED COPY Command ではなかった場合、他の処理に移行する（ステップ１４０３１）。
【００８６】
（４）ステップ１４０２０の評価で、受信したファイバチャネルフレームがEXTENDED COPY Command であった場合、次に、ＣＤＢ内のパラメータ長の評価を行い、パラメータ長が０であれば、処理を終了し、パラメータ長が０でなければ、ＣＤＢに続く、図４示したコマンドパラメータリストの読込みを開始する（ステップ１４０３０）。
【００８７】
（５）コマンドパラメータリスト内のリストＩＤ等を読み込んだ後、バイト２、３のターゲットディスクリプタ長の読み込みを行う。ここでは、ターゲットディスクリプタ長が、例えば、ＴＬであったする（ステップ１４０４０）。
【００８８】
（６）次に、バイト８〜１１のセグメントディスクリプタ長の読み込みを行う。ここでは、セグメントディスクリプタ長が、例えば、ＳＬであったとする（ステップ１４０５０）。
【００８９】
（７）パラメータリストのインラインデータ長を読み込んだ後、ターゲットディスクリプタを１ターゲットディスクリプタ長分（３２Ｂｙｔｅ）づつ読み込んでいく。なお、このEXTENDED COPY Command に含まれるターゲットディスクリプタの数は、ＴＬ／３２である。ターゲットディスクリプタのフォーマットは図５によりすでに説明しており、まず、ディスクリプタのタイプコードを評価し、ターゲットのＷＷＮ及びＬＵＮを読み込む。前述の１ターゲットディスクリプタの読込みの処理を、ターゲットディスクリプタ個数分（ＴＬ／３２個）繰り返す（ステップ１４０６０〜１４１００）。
【００９０】
（８）次に、セグメントディスクリプタの読込みを行う。セグメントディスクリプタのフォーマットは図８によりすでに説明しており、まず、ディスクリプタタイプコード、ディスクリプタ長（ＤＬ）等を読み込む。次に、コピー元論理デバイスとなるソースターゲットのディスクリプタインデックス、コピー先論理デバイスとなるディスティネーションターゲットのディスクリプタインデックスを読み込む（ステップ１４１２０〜１４１５０）。
【００９１】
（９）ここで、セグメントディスクプリタに記述されているターゲットディスクリプタインデックスをキーとして、図５に示すターゲットディスクリプタを参照し、ソースターゲットのＷＷＮ、ＬＵＮを読み込んで、図１２に示すホスト計算機ＷＷＮと論理デバイス（ＬＵ）とのアクセス可否のテーブルを参照し、ソースターゲットのＷＷＮ及びＬＵＮとこのEXTENDED COPY Command を送信したＷＷＮのホスト計算機がソースターゲットに指定された論理デバイスに対してアクセス可能か否かの評価を行う（ステップ１４１６０、１４１７０）。
【００９２】
（10）ステップ１４１７０での評価で、アクセス可能であった場合、セグメントディスクリプタの残りを読み込んで、転送長やブロックデバイス数、ブロックデバイスのＬＢＡなどを読み込み、指定されたデータコピーを、ソースターゲットで指定された論理デバイスからディスティネーションターゲットに指定された論理デバイスに向けてコピーを行う（ステップ１４１８０）。
【００９３】
（11）そして、次のセグメントディスクリプタを読み込むステップ１４１２０からの処理を繰り返す。これを、前記ディスクリプタ長（ＤＬ）とセグメントディスクプリプタ長（ＳＬ）とから求まる、ＳＬ／（ＤＬ＋４）回繰り返す（ステップ１４１１０〜１４１９０）。
【００９４】
（12）ステップ１４１７０での評価で、ソースターゲットに指定された論理デバイスに対してアクセス拒否あるいは不可能であった場合、このEXTENDED COPY Command をCHECK CONDITION statusで終了し、例えば、sense key にCOPY ABORTを設定し、sense codeにCOPY TARGET DEVICE NOT REACHABLEを設定し、これに対応した例外処理として、EXTENDED COPY Command で定められた適切なエラー処理を行い、エラーをホストに通知して処理を終了する（ステップ１４２１０、１４２００）。
【００９５】
なお、前述では、アクセス可否の個所のみにエラー処理を行うとして説明したが、コマンド自体のエラー処理は、その時々のステップ毎においてEXTENDED COPY Command で定められたものがあり、当然エラーが発生した際はそれに従う。
【００９６】
（13）また、ステップ１４１９０で全セグメントディスクリプタ分の前述した処理が終了したことが確認できれば、インラインデータ長が０のとき、EXTENDED COPY Command 処理をEXTENDED COPY Command で定められた正常終了処理を行って、EXTENDED COPY Command の処理を終了する（ステップ１４２００）。
【００９７】
図１５はファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドを受領したデバイスでの処理動作の他の例を説明するフローチャートであり、次に、これについて説明する。ここで説明する例は、上位装置からファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドが送信されてきた場合に、ファイバチャネルフレームを受信したストレージサブシステム制御部２２００と、EXTENDED COPY アクセス処理手段２２３０と、EXTENDED COPY アクセス制御手段２２３１とによって受領論理デバイスが行う処理の例であり、図１４に示すフローで制御したものに対して、ディスティネーションターゲットディスクリプタに記載のＷＷＮ、ＬＵＮをもＬＵＮアクセステーブルでアクセス可否テーブルを用いて評価する処理（ステップ１５１７０〜１５１９０）が加えてある。この加えられた処理は、ストレージサブシステム内部の、レプリケーションや遠隔コピー用のために予め処理を予約されている論理ボリュームに対して、コピー先に指定してEXTENDED COPY のコピー処理を行うことができないようにする等のために利用することができる。
【００９８】
ここでは、EXTENDED COPY Command は、図９に示すＦＣＰ＿ＣＭＮＤと呼ばれる情報単位を含むフレームとして、ファイバチャネルネットワークを介してホスト計算機からストレージサブシステムへ送信された場合について制御する。
【００９９】
（１）図２に示すようなホスト計算機からのファイバチャネルフレームを受信するストレージサブシステムは、まず、ファイバチャネルログインの処理において、フレームからＳ＿ＩＤ、及びＷＷＮを取り出し、そのｔファイバチャネルフレーム送信元のホスト計算機のＳ＿ＩＤと図１１に示すようなＷＷＮの対応テーブルを作成し、また、当該ホスト計算機がストレージサブシステム内の指定デバイスに対してアクセス可能か否かを図１２に示すテーブルを用いてチェックする。その後、ストレージサブシステムは、内部の特定論理デバイスに対して前述のホスト計算機より送信されてくるファイバチャネルフレームを受信する（ステップ１５０００）。
【０１００】
（２）ファイバチャネルフレームを受信すると、このフレームを送信してきたホスト計算機のＷＷＮを識別できるようにフレームヘッダ内のＳ＿ＩＤを取り出す。次に、フレームのデータフィールドを読み、ファイバチャネルフレーム内にCommand Device Block（ＣＤＢ）があった場合で、コマンドの内容がEXTENDED COPY Commandであるか否かを評価する（ステップ１５０１０、１５０２０）。
【０１０１】
（３）ステップ１５０２０の評価で、受信したファイバチャネルフレームがEXTENDED COPY Command ではなかった場合、他の処理に移行する（ステップ１５０３１）。
【０１０２】
（４）ステップ１５０２０の評価で、受信したファイバチャネルフレームがEXTENDED COPY Command であった場合、次に、ＣＤＢ内のパラメータ長の評価を行い、パラメータ長が０であれば、処理を終了し、パラメータ長が０でなければ、ＣＤＢに続く、図４示したコマンドパラメータリストの読込みを開始する（ステップ１５０３０）。
【０１０３】
（５）コマンドパラメータリスト内のリストＩＤ等を読み込んだ後、バイト２、３のターゲットディスクリプタ長の読み込みを行う。ここでは、ターゲットディスクリプタ長が、例えば、ＴＬであったする（ステップ１５０４０）。
【０１０４】
（６）次に、バイト８〜１１のセグメントディスクリプタ長の読み込みを行う。ここでは、セグメントディスクリプタ長が、例えば、ＳＬであったとする（ステップ１５０５０）。
【０１０５】
（７）パラメータリストのインラインデータ長を読み込んだ後、ターゲットディスクリプタを１ターゲットディスクリプタ長分（３２Ｂｙｔｅ）づつ読み込んでいく。なお、このEXTENDED COPY Command に含まれるターゲットディスクリプタの数は、ＴＬ／３２である。ターゲットディスクリプタのフォーマットは図５によりすでに説明しており、まず、ディスクリプタのタイプコードを評価し、ターゲットのＷＷＮ及びＬＵＮを読み込む。前述の１ターゲットディスクリプタの読込みの処理を、ターゲットディスクリプタ個数分（ＴＬ／３２個）繰り返す（ステップ１５０６０〜１５１００）。
【０１０６】
（８）次に、セグメントディスクリプタの読込みを行う。セグメントディスクリプタのフォーマットは図８によりすでに説明しており、まず、ディスクリプタタイプコード、ディスクリプタ長（ＤＬ）等を読み込む。次に、コピー元論理デバイスとなるソースターゲットのディスクリプタインデックス、コピー先論理デバイスとなるディスティネーションターゲットのディスクリプタインデックスを読み込む（ステップ１５１２０〜１５１５０）。
【０１０７】
（９）ここで、セグメントディスクプリタに記述されているターゲットディスクリプタインデックスをキーとして、図５に示すターゲットディスクリプタを参照し、ソースターゲットのＷＷＮ、ＬＵＮを読み込んで、図１２に示すホスト計算機ＷＷＮと論理デバイス（ＬＵ）とのアクセス可否のテーブルを参照し、ソースターゲットのＷＷＮ及びＬＵＮとこのEXTENDED COPY Command を送信したＷＷＮのホスト計算機がソースターゲットに指定された論理デバイスに対してアクセス可能か否かの評価を行う（ステップ１５１６０、１５１７０）。
【０１０８】
（10）ステップ１５１７０での評価で、アクセス可能であった場合、次に、コピー先の論理デバイスとなるディスティネーションターゲットのディスクリプタインデックスを読み込んでターゲットディスクリプタを参照する（ステップ１５１８０）。
【０１０９】
（11）ここで、セグメントディスクプリタに記述されているターゲットディスクリプタインデックスをキーとして、図５に示すターゲットディスクリプタを参照し、ディスティネーションターゲットのＷＷＮ、ＬＵＮを読み込んで、図１２に示すホスト計算機ＷＷＮと論理デバイス（ＬＵ）とのアクセス可否のテーブルを参照し、ディスティネーションターゲットのＷＷＮ及びＬＵＮとこのEXTENDED COPY Command を送信したＷＷＮのホスト計算機がソースターゲットに指定された論理デバイスに対してアクセス可能か否かの評価を行う（ステップ１５１９０、１５２００）。
【０１１０】
（12）ステップ１５２００での評価で、アクセス可能であった場合、セグメントディスクリプタの残りを読み込んで、転送長やブロックデバイス数、ブロックデバイスのＬＢＡなどを読み込み、指定されたデータコピーを、ソースターゲットで指定された論理デバイスからディスティネーションターゲットに指定された論理デバイスに向けてコピーを行う（ステップ１５２１０）。
【０１１１】
（13）そして、次のセグメントディスクリプタを読み込むステップ１５１２０からの処理を繰り返す。これを、前記ディスクリプタ長（ＤＬ）とセグメントディスクプリプタ長（ＳＬ）とから求まる、ＳＬ／（ＤＬ＋４）回繰り返す（ステップ１５１１０〜１５２２０）。
【０１１２】
（14）ステップ１５１７０、１５２００での評価で、ソースターゲット、あるいは、ディスティネーションターゲットに指定された論理デバイスに対してアクセス拒否あるいは不可能であった場合、このEXTENDED COPY Command をCHECK CONDITION statusで終了し、例えば、sense key にCOPY ABORTを設定し、sense codeにCOPY TARGET DEVICE NOT REACHABLEを設定し、これに対応した例外処理として、EXTENDED COPY Command で定められた適切なエラー処理を行い、エラーをホストに通知して処理を終了する（ステップ１５２３０、１５２４０）。
【０１１３】
なお、前述では、アクセス可否の個所のみにエラー処理を行うとして説明したが、コマンド自体のエラー処理は、その時々のステップ毎においてEXTENDED COPY Command で定められたものがあり、当然エラーが発生した際はそれに従う。
【０１１４】
（15）また、ステップ１５２２０で全セグメントディスクリプタ分の前述した処理が終了したことが確認できれば、インラインデータ長が０のとき、EXTENDED COPY Command 処理をEXTENDED COPY Command で定められた正常終了処理を行って、EXTENDED COPY Command の処理を終了する（ステップ１５２４０）。
【０１１５】
前述した本発明の実施形態によれば、上位装置の識別子及び情報を記憶するデバイスとの間のアクセス可否情報と、その情報保持及びその情報を用いたアクセス可否判定手段と、ストレージサブシステム内部からの能動的なコピー指示コマンドによるコピー処理実行時にコピー実行の可否を判断する手段とを備えることにより、ホスト計算機等の上位装置からストレージサブシステム内の論理デバイスに対するアクセス可否を、上位装置のＷＷＮと論理デバイス識別子ＬＵＮとの対応関係によりチェックを行うことに加えて、上位装置からストレージサブシステムに対して発行されるストレージサブシステム内部からの能動的なコピー指示コマンドを処理する際に、コピー指示デバイスとなるコピー受領論理デバイスが、コピー元デバイスとコピー先デバイス各々に対してアクセス制御を行うチェックを実行することによって判定し、ストレージサブシステム内部からの能動的なコピー指示コマンドによる不正なデータの流出を防止することができる。
【０１１６】
【発明の効果】
以上説明したように本発明によれば、SCSI EXTENDED COPYコマンド等の制御コマンドによるストレージサブシステムからのデータコピーに対し、コピー元ボリュームでのＷＷＮレベルでのセキュリティチェックを実現し、複数の上位装置からストレージサブシステム及びストレージサブシステム内の記憶領域へのアクセスを選択的に制限することを可能として、不正なデータコピーを防止することができる。
【図面の簡単な説明】
【図１】従来技術の問題点について説明するストレージサブシステムとホスト計算機との関係を示す図である。
【図２】本発明の一実施形態によるストレージサブシステムを用いた計算機システムの構成を示すブロック図である。
【図３】  EXTENDED COPY Command のCommand Descriptor Block(ＣＤＢ)の構成を説明する図である。
【図４】  EXTENDED COPY Command PARAMETER Listの構成を説明する図である。
【図５】図４に示したコマンドパラメータリスト内のバイト１６からバイトｎまでのターゲットディスクリプタ４５００の内容の詳細を説明する図である。
【図６】図５に示したターゲットディスクリプタのバイト２８からバイト３１に記述されているデバイス固有のパラメータの詳細な内容の一例を説明する図である。
【図７】図５に示したターゲットディスクリプタのバイト２８からバイト３１に記述されているデバイス固有のパラメータの詳細な内容の他の例を説明する図である。
【図８】図４に示したコマンドパラメータリスト内のバイトｎ＋１からバイトｎ＋ｍまでに記述されているセグメントディスクリプタの詳細な内容の例を説明する図である。
【図９】ファイバチャネルのフレームの構成を説明する図である。
【図１０】前述したファイバチャネルのフレーム内にあるフレームヘッダ部の構成を説明する図である。
【図１１】上位装置からストレージサブシステムに送信されてくるファイバチャネルフレーム内のＳ＿ＩＤとそれに対応する上位装置のＷＷＮとの対応付けを行うテーブルの例を説明する図である。
【図１２】図２に示したＬＵＮ〜ＷＷＮアクセス可否情報の例を説明する図である。
【図１３】ＬＵＮ〜ＷＷＮアクセス可否情報更新の処理動作の例を説明するフローチャートである。
【図１４】ファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドを受領したデバイスでの処理動作の例を説明するフローチャートである。
【図１５】ファイバチャネルネットワークを介してSCSI EXTENDED COPYコマンドを受領したデバイスでの処理動作の他の例を説明するフローチャートである。
【符号の説明】
２０００、２００１  ホスト計算機
２００２  バックアップサーバ
２１００  ストレージサブシステム
２２００  ストレージサブシステム制御部
２２１０  リード／ライト処理手段
２２１１、２２１２  論理／物理対応情報
２２１３  コマンド処理部
２２１４  ＳＣＳＩコマンド処理部
２２２０  ＬＵＮセキュリティアクセス制御手段
２２２１  ＬＵＮ〜ＷＷＮアクセス可否情報
２２２２  ＷＷＮ〜Ｓ＿ＩＤ対応情報
２２３０  EXTENDED COPY 処理手段
２２３１  EXTENDED COPY アクセス制御手段
２２４０  外部装置通信処理部
２３００  物理記憶装置
２４０１〜２４１２、２４２０  論理デバイス
２５００  ネットワーク
２６００  Ｉ／Ｏネットワーク
２６１０  Ｉ／Ｏバス
２７００  設定端末
【図１】
0003993773.tif 000002
【図２】
0003993773.tif 000003
【図３】
0003993773.tif 000004
【図４】
0003993773.tif 000005
【図５】
0003993773.tif 000006
【図６】
0003993773.tif 000007
【図７】
0003993773.tif 000008
【図８】
0003993773.tif 000009
【図９】
0003993773.tif 000010
【図１０】
0003993773.tif 000011
【図１１】
0003993773.tif 000012
【図１２】
0003993773.tif 000013
【図１３】
0003993773.tif 000014
【図１４】
0003993773.tif 000015
【図１５】
0003993773.tif 000016