JP5117748B2 - 暗号化機能を備えたストレージ仮想化装置 - Google Patents

暗号化機能を備えたストレージ仮想化装置 Download PDF

Info

Publication number
JP5117748B2
JP5117748B2 JP2007087531A JP2007087531A JP5117748B2 JP 5117748 B2 JP5117748 B2 JP 5117748B2 JP 2007087531 A JP2007087531 A JP 2007087531A JP 2007087531 A JP2007087531 A JP 2007087531A JP 5117748 B2 JP5117748 B2 JP 5117748B2
Authority
JP
Japan
Prior art keywords
external
encryption
storage subsystem
data
logical volume
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.)
Expired - Fee Related
Application number
JP2007087531A
Other languages
English (en)
Other versions
JP2008250393A (ja
Inventor
学 北村
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 JP2007087531A priority Critical patent/JP5117748B2/ja
Priority to US11/968,690 priority patent/US8422677B2/en
Priority to EP08250088A priority patent/EP1975838A3/en
Publication of JP2008250393A publication Critical patent/JP2008250393A/ja
Application granted granted Critical
Publication of JP5117748B2 publication Critical patent/JP5117748B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ストレージサブシステムに記憶されるデータの暗号化に関する。
例えば、企業等の組織では、多量のデータを管理するために、ホスト計算機(以下「ホスト」)とは別に構成されたストレージサブシステムが用いられる。このようなストレージサブシステムは、例えば、ハードディスクドライブ(HDD)等の記憶装置を多数個と、コントローラとを内蔵しており、コントローラにより、大容量の記憶領域をホストに提供することができる。
ストレージサブシステムには、例えば、個人の住所及び氏名等の個人情報や信用状態に関する情報等のような各種の重要な情報が記憶される。従って、重要情報を秘密に管理して、不正なアクセス等を防止するための技術が求められている。
データを保護するために、暗号化技術を用いる場合がある。ホストの内部でデータを暗号化して、この暗号化されたデータをストレージサブシステムに送信して記憶させることにより、暗号化されたデータの第三者による不正な使用を防止することができる。
しかし、ホストの内部でデータを暗号化すると、ホストのデータ処理負荷が大きくなってしまい、ホスト上で動作しているアプリケーションプログラムの性能等にも悪影響を与えることになる。
そこで、例えば特許文献1(特開2005−322201号)に、ストレージサブシステムの内部でデータの暗号化を行うことができるようにした技術が提案されている。
また、企業等の組織で取り扱われるデータ量の増加に伴い、複数台のストレージサブシステムで構成されたストレージシステムを運用管理する組織が増えてきている。そのためストレージサブシステムの管理コストの増大が問題視されている。管理コスト増大を抑制するため、ストレージ仮想化装置に一以上のストレージサブシステム(以下、そのストレージサブシステムを「外部ストレージサブシステム」と呼ぶ)を接続し、ストレージ仮想化装置が一以上の外部ストレージサブシステムの記憶資源を、仮想的に、ストレージサブシステムの記憶資源であるかのように、ホストに対して提供する技術が存在する。この技術による機能は、ストレージ仮想化機能(あるいは外部接続機能)と呼ばれ、例えば特許文献2(特開2005−107645号)に開示されている。
特開2005−322201号公報 特開2005−107645号公報
一以上の外部ストレージサブシステムがストレージ仮想化装置に接続されている環境において、特許文献1に開示の暗号化機能を適用する場合、まず、ストレージ仮想化装置に暗号化機能が適用される形態が自然であると考えられる。しかし、ストレージ仮想化装置が常に暗号化や復号化を実行すると、そのストレージ仮想化装置の性能がボトルネックになることが考えられる。
従って、本発明の目的は、暗号化機能を有したストレージ仮想化装置の負荷を軽減することにある。
本発明の更なる目的は、後の記載から明らかになるであろう。
ストレージ仮想化装置に、判定部を備える。判定部は、上位装置から受信したライト要求で指定されているライト先の外部論理ボリュームを有する外部ストレージサブシステムに暗号化機能が有るか否かの判定を行う。ストレージ仮想化装置は、その判定の結果が否定的、すなわち、その外部ストレージサブシステムに暗号化機能が無いとの判定になれば、ライト要求に従うデータを自身の暗号化機能によって暗号化してから外部ストレージサブシステムにその暗号化されたデータを送信する。しかし、上記の判定の結果が肯定的、すなわち、その外部ストレージサブシステムに暗号化機能が有る場合には、ストレージ仮想化装置は、ライト要求に従うデータを自身の暗号化機能によって暗号化することなくそのまま外部ストレージサブシステムに送信することで、そのデータをその外部ストレージサブシステムの暗号化機能によって暗号化されるようにする。
一つの実施形態では、ストレージ仮想化装置のストレージ仮想化部は、外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムが有する第一の外部論理ボリュームをそのストレージ仮想化装置の論理ボリュームとして上位装置に提供する。ストレージ仮想化装置は、データを暗号化する暗号処理部(つまり暗号化機能)と、キャッシュ領域と、上位装置からデータのライト要求を受信する上位インタフェース部(例えば。通信ポート、或いは通信ポートを有したインタフェース回路)と、外部ストレージサブシステムに対するインタフェースである外部インタフェース部(例えば、通信ポート、或いは通信ポートを有したインタフェース回路)と、上位インタフェース部及び/又は外部インタフェース部で受信したデータをキャッシュ領域に記憶させるキャッシュ部と、判定部と、I/O処理部とを備えることができる。
判定部は、上位装置から受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行うことができる。具体的には、例えば、上位装置から指定される論理ボリュームIDと外部論理ボリュームIDとの対応付けや、どの外部論理ボリュームを有する外部ストレージサブシステムに暗号化機能が有るか否かを表す暗号化有無情報を表す管理情報が、予め、ストレージ仮想化装置の記憶資源に記憶することができる。判定部は、上記受信したライト要求で指定されている論理ボリュームIDに対応した外部論理ボリュームIDをその管理情報から特定し、且つ、その外部論理ボリュームIDに対応した外部論理ボリュームを有する外部ストレージサブシステムが暗号化機能を有するか否かもその管理情報から特定することができる。
I/O処理部は、第一の判定の結果が肯定的であれば、キャッシュ領域上のデータを暗号処理部に暗号化させることなく、そのデータを第一の外部論理ボリュームに書込むことのライト要求を外部インタフェース部を通じて第一の外部ストレージサブシステムに送信することができる。一方、I/O処理部は、第一の判定の結果が否定的であれば、キャッシュ領域上のデータを暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを第一の外部論理ボリュームに書込むことのライト要求を外部インタフェース部を通じて第一の外部ストレージサブシステムに送信することができる。
一つの実施形態では、ストレージ仮想化装置は、暗号処理部がデータの暗号化に使用した電子的な鍵である暗号鍵を記憶領域に登録する暗号鍵登録部を更に備えることができる。暗号鍵は、その記憶領域において、論理ボリューム毎に対応付けられても良いし、それとは異なる単位(例えば、論理ボリュームを複数のサブボリュームに区切った場合のサブボリューム単位)で対応付けられても良い。
一つの実施形態では、ストレージ仮想化装置は、コピー処理部をさらに備えることができる。このコピー処理部は、記憶領域に記憶されている暗号鍵が変更されたことを契機として、第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームにコピーするコピー処理を実行することができる。この場合、ストレージ仮想化部は、少なくともコピー処理の完了した後に、第一の外部論理ボリュームに代えて又は加えて、第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供することができる。なお、この実施形態では、第二の外部論理ボリュームは、第一の外部ストレージサブシステムに存在しても良いし、それとは別の外部ストレージサブシステムに存在しても良い。また、コピー処理とは、第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームに書くことであり、第一の外部論理ボリュームからコピー対象のデータが削除されるか或いはそのデータが残されるかはどちらでもよい。削除される場合には、コピー処理はマイグレーション処理とみなすことができ、残される場合には、コピー処理はリプリケーション処理とみなすことができる。
一つの実施形態では、ストレージ仮想化装置の外部に存在する第二のストレージサブシステムであり第二の外部論理ボリュームを有した第二の外部ストレージサブシステムがある。この実施形態では、コピー処理部は、暗号鍵の変更の有無に関係無く、前述したコピー処理を実行することができる。
一つの実施形態では、判定部は、コピー処理の際に、第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行うことができる。コピー処理部は、第二の判定の結果が肯定的であるか否定的であるかに基づいて、コピー処理を制御することができる。
具体的には、例えば、第二の判定の結果が否定的である場合、第一のストレージサブシステムに第一の暗号化機能が有るならば、コピー処理部は、第一の外部論理ボリュームの暗号データを第一のストレージサブシステムの第一の暗号化機能により復号化させ、ストレージ仮想化装置の暗号処理部で、その復号化されたデータを暗号化して、第二の外部論理ボリュームに書込んでも良い。また、例えば、第二の判定の結果が否定的である場合、第一のストレージサブシステムに第一の暗号化機能が無いならば、コピー処理部は、第一の外部論理ボリュームの暗号データを、そのまま、或いは、復号化且つ更なる暗号化をストレージ仮想化装置の暗号処理部に実行させて、第二の外部論理ボリュームに書込んでも良い。
また、例えば、第二の判定の結果が肯定的である場合、第一のストレージサブシステムに第一の暗号化機能が有るならば、コピー処理部は、第一の外部論理ボリュームの暗号データを第一のストレージサブシステムの第一の暗号化機能により復号化させ、その復号化されたデータをそのまま、第二の外部ストレージサブシステムに送信してもよい。また、例えば、第二の判定の結果が肯定的である場合、第一のストレージサブシステムに第一の暗号化機能が無いならば、コピー処理部は、第一の外部論理ボリュームの暗号データをストレージ仮想化装置の暗号処理部に復号化させ、復号化により得られたデータを、そのまま第二の外部ストレージサブシステムに送信しても良い。これらの場合、送信されたデータは、第二のストレージサブシステムにおいて、第二の暗号化機能によって暗号化され、暗号化されたデータが、第二の外部論理ボリュームに書かれる。
一つの実施形態では、コピー処理部は、第一の外部ストレージサブシステムに第一の暗号化機能が有る場合には、第一の外部論理ボリュームに記憶されている暗号データが第一の暗号化機能によって復号化されたことにより得られたデータを第一の外部ストレージサブシステムから受信することができる。一方、コピー処理部は、第一の外部ストレージサブシステムに第一の暗号化機能が無い場合には、第一の外部論理ボリュームに記憶されている暗号データを第一の外部ストレージサブシステムから受信し、記憶領域に記憶されている暗号鍵を用いて該暗号データを復号化することを暗号処理部に実行させることができる。
一つの実施形態では、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が有る場合には、第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、暗号処理部に暗号化させることなく第二の外部ストレージサブシステムに送信することができる。一方、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合には、第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、暗号処理部に暗号化させ、該暗号化により得られた暗号データを、第二の外部ストレージサブシステムに送信することができる。
一つの実施形態では、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が無く、且つ、第一の外部論理ボリュームに記憶されているデータが、暗号処理部によって暗号化されたデータである暗号データであるならば、その暗号データを第一の外部論理ボリュームからリードし、記憶領域に記憶されている暗号鍵を用いてその暗号データを復号化することと、該復号化により得られたデータを暗号鍵を用いて暗号化することとを暗号処理部に実行させ、該暗号化により得られた暗号データを第二の外部論理ボリュームに書込むことのライト要求を、外部インタフェース部を通じて第二の外部ストレージサブシステムに送信することができる。
一つの実施形態では、復号化に用いられる暗号鍵(第一の暗号鍵)と、復号化後の暗号化に用いられる暗号鍵(第二の暗号鍵)とが異なってもよい。暗号鍵登録部が、記憶領域に記憶されている第一の暗号鍵を、暗号化に用いられる第二の暗号鍵に更新することができる。この暗号鍵の変更は、管理者からの手動によって行われても良いし、所定のアルゴリズムにより自動で行われても良い。
一つの実施形態では、暗号鍵登録部が、第一の外部論理ボリュームに記憶されているデータが、第一の暗号化機能によって暗号化されたデータである暗号データであるならば、第一の暗号化機能によるその暗号化に用いられた、第一の外部ストレージサブシステムに記憶されている暗号鍵を取得し、該取得した暗号鍵を記憶領域に登録することができる。この暗号鍵は、第一の外部ストレージサブシステムから直接取得されても良いし、所定のサーバや管理装置などを経由して取得されてもよい。
一つの実施形態では、コピー処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、第一の外部論理ボリュームに記憶されている暗号データを、第一の暗号化機能によって復号化させることなくそのまま前記第一の外部論理ボリュームから読出し、該暗号データを、前記暗号処理部によって暗号化させることなくそのまま第二の外部論理ボリュームに書込むことができる。
一つの実施形態では、コピー処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、第一の外部論理ボリュームに記憶されている暗号データが第一の暗号化機能によって復号化されたことにより得られたデータを第一の外部ストレージサブシステムから外部インタフェース部を通じて受信し、記憶領域に登録された暗号鍵とは別の暗号鍵を用いてその受信したデータを暗号化することを暗号処理部に実行させ、該暗号化によって得られた暗号データを、第二の外部論理ボリュームに書込みことができる。暗号鍵登録部が、記憶領域に記憶されている暗号鍵を、前記別の暗号鍵に更新することができる。
一つの実施形態では、上位インタフェース部が、第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記コピー処理によりコピーされた後、第二の外部論理ボリュームを指定したリード要求を受信することができる。判定部が、第一の判定として、受信したリード要求で指定されている第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行うことができる。I/O処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無いならば、上記受信したリード要求に応答して、第二の外部論理ボリュームから暗号データを読み出すことのリード要求を第二の外部ストレージサブシステムに送信し、その送信されたリード要求に応答して、第二の外部論理ボリュームから読み出された暗号データを外部インタフェース部が受信しキャッシュ部がその暗号データをキャッシュ領域に記憶させた後、記憶領域に登録された暗号鍵を用いてキャッシュ領域上の暗号データを復号化することを暗号処理部に実行させ、該復号化により得られたデータを、前記上位インタフェース部を通じて上位装置に送信することができる。
一つの実施形態では、上位インタフェース部が、第一の外部論理ボリュームに記憶されている暗号データが第二の外部論理ボリュームにコピー処理によりコピーされた後、第二の外部論理ボリュームを指定したライト要求を受信することができる。判定部が、第一の判定として、受信したライト要求で指定されている第二の外部論理ボリュームを有する第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行うことができる。I/O処理部が、第一の判定の結果が否定的であれば、キャッシュ領域上のデータを記憶領域に登録されている暗号鍵を用いて暗号化することを暗号処理部に実行させ、その暗号化により得られた暗号データを第二の外部論理ボリュームに書込むことのライト要求を、外部インタフェース部を通じて第二の外部ストレージサブシステムに送信することができる。
一つの実施形態では、第一の外部論理ボリュームの暗号データがそのまま前記ストレージ仮想化装置を経由することなく第二の外部論理ボリュームに書込まれてよい。
一つの実施形態では、ストレージ仮想化装置が、記憶領域に記憶されている暗号鍵を定期的に又は不定的に変更する暗号鍵変更部を更に備えることができる。
一つの実施形態では、上位インタフェース部が、上位装置からデータのリード要求を受信することができる。判定部が、受信したリード要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行うことができる。I/O処理部が、そのリード要求に応答して、第一の外部論理ボリュームからデータを読み出すことのリード要求を第一の外部ストレージサブシステムに送信し、外部インタフェース部が第一の外部ストレージサブシステムからデータを受信しキャッシュ部がそのデータをキャッシュ領域に記憶させた後、上述の第一の判定の結果が肯定的であれば、キャッシュ領域上のデータをそのまま上位インタフェース部を通じて上位装置に送信することができる。一方、I/O処理部は、第一の判定の結果が否定的であれば、キャッシュ領域上の暗号データを暗号処理部に復号化させ、その復号化により得られたデータを、上位インタフェース部を通じて上位装置に送信することができる。
一つの実施形態では、上位装置を、第二の外部ストレージサブシステムであるとすることができる。また、ストレージ仮想化装置は、複数の物理的な記憶装置(例えばHDD)を基に形成された複数の論理ボリュームを有するストレージサブシステムであっても良いし、スイッチ装置であっても良い。
一つの実施形態では、コピー処理が実行される場合に、ストレージ仮想化装置の暗号鍵登録部が、コピー元(例えば移行元)である第一の外部ストレージサブシステムから、コピー元である第一の外部論理ボリュームに対応する暗号鍵を取得し、コピー先(例えば移行先)である第二の外部ストレージサブシステムに第二の暗号化機能があるならば、その取得した暗号鍵を、第二の外部ストレージサブシステムに送信することができる。第二の外部ストレージサブシステムは、その暗号鍵を、コピー先である第二の外部論理ボリュームに対応付けてメモリ等で管理することができる。このため、例えば、第二の外部ストレージサブシステムは、第二の外部論理ボリュームを指定したI/O要求を受信した場合には、I/O要求の対象となるデータを、第二の暗号化機能により、そのメモリ等に記憶された、ストレージ仮想化装置からの暗号鍵で暗号化或いは復号化することができる。もし、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合には、ストレージ仮想化装置の暗号処理部が、コピー元である第一の外部ストレージサブシステムから取得した暗号鍵を使って、第二の外部論理ボリュームに書込まれるデータの暗号化や、第二の外部論理ボリュームから読み出されたデータの復号化を実行することができる。
上述した各部(例えば、ストレージ仮想化部、各インタフェース部、暗号処理部、I/O処理部、コピー処理部、暗号鍵登録部、暗号鍵変更部)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD-ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して本発明の幾つかの実施形態を詳細に説明する。
<第一の実施形態>。
図1は、本発明の第一の実施形態に係る計算機システムの物理的な構成例を示す。
複数のFC(Fibre
Channel)スイッチ5、5´により、SAN(Storage Area Network)が構築されている。FCスイッチ5に、複数(又は一つ)のホスト計算機(以下、ホスト)4と、ストレージサブシステム1のホストアダプタ11とが、ファイバチャネルケーブルにより接続され、ホスト4がストレージサブシステム1に対してデータのI/O要求(例えばリード要求やライト要求)を送信することができる。図1では、FCスイッチ5とFCスイッチ5´とが接続されているが、この接続は無くても良い。またFCスイッチ5´には、ストレージサブシステム1の外部アダプタ12と、外部ストレージサブシステム2、2’とがファイバチャネルケーブルで接続されており、ストレージサブシステム1は外部アダプタ12を介して外部ストレージサブシステム2、2’と通信することができる。
ストレージサブシステム1は、例えば、アレイ状に配列された多数のHDD16を備えるRAID(Redundant Arrays of Independent (or Inexpensive) Disks)システムとすることができる。但し、これに限らず、ストレージサブシステム1を、通信ネットワークを構成するスイッチ、例えば、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。また、例えば、ストレージサブシステム1の後述のCHA11、12や、ディスクアダプタ13や、内部スイッチ15の機能が、FCスイッチ5に搭載され、それにより、FCスイッチ5と複数のHDD16の組み合わせによりストレージサブシステム1が実現されても良い。
ストレージサブシステム1は、自分の外部に存在するストレージサブシステム(以下、外部ストレージサブシステム)2、2´の記憶資源を仮想的に自分の記憶資源としてホスト4に提供するストレージ仮想化機能を有している。ストレージサブシステム1は、例えば、コントローラとして、CHA11、12、ディスクアダプタ13、キャッシュ/制御メモリ14及び内部スイッチ15を備え、コントローラによって、HDD16へのアクセスが制御される。
CHA11、12は、外部の装置(例えばホスト或いは他のストレージサブシステム)と通信可能に接続される一又は複数のI/F(例えば、通信ポート或いは通信ポートを備えた通信制御回路)113、123を有し、外部の装置との間のデータ通信を行うものである。本実施形態では、CHA11は、ホスト計算機14と通信するアダプタということで、「ホストアダプタ」と呼ぶ。CHA12は、外部ストレージサブシステム2ということで、「外部アダプタ」と呼ぶ。ホストアダプタ11や外部アダプタ12は、CPU111、121やメモリ112、122等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成されている。ホストアダプタ11及び外部アダプタ12は、一体になっていてもよい。
外部アダプタ12のI/F123には、この外部アダプタ12に入力されたデータの暗号化及び復号化を行う暗号処理部124が設けられる。暗号処理部124は、例えば、ストレージサブシステム1の内部(例えば内部スイッチ15)から入力されたデータを暗号化したり、ストレージサブシステム1の外部(例えばFCスイッチ5´)から入力されたデータを復号化したりするように構成されている。
本実施形態では、ホスト計算機と通信するためのホストアダプタ11と、外部ストレージサブシステム2、2’と通信するための外部アダプタ12とが異なるハードウェアであるとして記述しているが、ホストアダプタ11と、外部アダプタ12とが同じハードウェア構成、例えば、ホストアダプタ11のI/F113の背後に暗号処理部が配置されるものであっても良い。その際、ホストアダプタ11に、該ホストアダプタ11に入出力されるデータを暗号化/復号化しないような設定をしておく(例えば、メモリ112或いは暗号処理部に所定のフラグをセットする)ことで、ホストアダプタ11の該暗号処理部に、該ホストアダプタ11に入出力されるデータを暗号化及び復号化しないようにすることができる。
ディスクアダプタ(DKA)13は、各HDD16に接続するための通信ポート(例えばFCポート)133を有し、その通信ポート133を介して、HDD16と通信することができる。DKA13は、CPU131やメモリ132等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成されている。DKA22は、CHA11、12からキャッシュ/制御メモリ14のキャッシュ領域に書かれたデータをHDD16に書込んだり、HDD16から読み出したデータをキャッシュ領域に書込んだりすることができる。また、外部アダプタ12と同様に、ポート133と内部スイッチ15の間に暗号処理部134があり、キャッシュ領域からHDD16に書き込まれるデータを暗号化する、あるいはHDD16からキャッシュ領域に読み出されるデータを復号化する役割を担う。
キャッシュ/制御メモリ14は、例えば揮発性又は不揮発性のメモリである。キャッシュ/制御メモリ14は、キャッシュ領域と制御領域とを有したメモリである。キャッシュ領域を有したメモリと制御領域を有したメモリとに分離していても良い。キャッシュ領域には、外部の装置(例えばホスト4や外部ストレージサブシステム2など)から受信したデータや、HDD16から読出されたデータが一時的に格納される。制御領域には、ストレージサブシステム1での制御に関する情報(以下、制御情報)が格納される。制御情報には、後述する各種テーブルがある。
内部スイッチ15は、例えばクロスバスイッチであり、CHA11、12、DKA13、キャッシュ/制御メモリ14を相互に接続させる。内部スイッチ15に代えて、バスなどの他種の接続部が採用されても良い。
内部スイッチ15には、例えば管理端末6が接続される。管理端末6は、ストレージサブシステム1を管理するための計算機である。管理端末6は、例えば、キャッシュ/制御メモリ14の制御領域に、後述する各種テーブルを格納することができる。なお、管理端末6が行う機能は、ホスト4に搭載されても良い。すなわち、ホスト4から、後述する各種テーブルを格納しても良い。
また、管理端末7,7’はそれぞれ、外部ストレージサブシステム2、2’を管理するための計算機であるが、それに限らず、例えば、管理端末6で外部ストレージサブシステム2、2’をも管理してもよい。管理端末6、7、7’はLAN(別種の通信ネットワークでも良い)8によって相互接続されている。
以上が、本発明の第一実施形態に係る計算機システムの物理的な構成例の説明である。なお、上記の説明は一例であり、この計算機システムの構成に限定する必要は無い。例えば、コントローラは、もっと簡易な構成、例えば、一つの回路基盤にCPUとメモリを備えた構成となっていても良い。
図2は、本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。
ホストアダプタ11には、CPU111に実行されるコンピュータプログラムとして、例えば、コマンド処理部901が例えばメモリ112に記憶される。DKA13には、CPU131に実行されるコンピュータプログラムとして、例えば、ディスクI/O処理部902、コピー処理部903及び論理物理変換部904が例えばメモリ122に記憶される。外部アダプタ12には、CPU121に実行されるコンピュータプログラムとして、例えば、外部I/O処理部902’とコピー処理部903’が例えばメモリ132に記憶される。以下、コンピュータプログラムを主語として記述している説明文は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われることを意味するものとして記述する。各コンピュータプログラムの動作については後に詳述する。
図3は、複数のHDD16と論理ボリュームとの関係性の一例を示す図である。
複数(例えば4台)のHDD16−1、16−2、16−3及び16−4により一つのRAIDグループが構成される。この例では、3つのデータが3つのHDD16に格納され、それら3つのデータを基に生成されたパリティデータが、他の1つのHDD16に格納される。
このRAIDグループにより提供される記憶空間(各HDD16の記憶空間の集合)を、本実施形態では、Virtual Deviceを略して「VDEV」と呼ぶ。このVDEVを区切ることにより得られた複数のVDEV部分の各々が、本実施形態で言う論理ボリュームである。論理ボリュームは、ホスト4から指定され、ストレージサブシステム1内部でも識別される。そこで、以下、ホスト4から指定される論理ボリュームを、「LU」(Logical Unit)と称し、ストレージサブシステム1内部で識別される論理ボリュームを、「LDEV」(Logical Device)と呼ぶ場合がある。この図の例では、1つのVDEVから3つのLDEVが形成されているが、LDEVの数は、それより多くても少なくても良い(例えば、1つのVDEVに1つのLDEVでも良い)。
本実施形態では、前述したストレージ仮想化機能により、データの書込み先及び読出し元を、HDD16ではなく、外部ストレージサブシステム2にすることが出来る。ストレージ仮想化機能に関する技術としては、例えば、特開2005−107645号公報(US出願番号10/769805号、US出願番号11/471556号)に開示の技術を援用することができる。
以下、図4〜図8を参照して、キャッシュ/制御メモリ14に格納される制御情報に含まれる種々のテーブルを説明する。
図4は、RAID構成テーブルの構成例を示す。
RAID構成テーブル400は、各VDEVのRAID構成を管理するためのテーブルである。具体的には、例えば、このテーブル400には、VDEVの識別番号が書かれるカラム401と、HDDの識別番号が書かれるカラム402と、RAIDレベルが書かれるカラム403と、ストライプサイズが書かれるカラム404とがある。すなわち、このテーブル400には、VDEV毎に、VDEVの識別番号と、該VDEVを構成する複数のHDDの識別番号と、該VDEVのRAIDレベルと、ストライプサイズとが書かれる。
図5は、VDEV構成テーブルの構成例を示す。
VDEV構成テーブル500は、VDEVの構成を管理するためのテーブルである。具体的には、例えば、このテーブル500には、VDEVの識別番号が書かれるカラム501と、LDEVの識別番号が書かれるカラム502と、LDEVのVDEVにおける論理アドレス範囲の先頭アドレスが書かれるカラム503と、LDEVのVDEVにおける論理アドレス範囲の終端アドレスが書かれるカラム504とがある。すなわち、このテーブル500には、どのVDEVのどの論理アドレス範囲にどんな識別番号のLDEVが存在するかが書かれる。
図6は、LU構成テーブルの構成例を示す。
LU構成テーブル600は、各LUの構成を管理するためのテーブルである。具体的には、例えば、このテーブル600には、LDEVの識別番号が書かれるカラム601と、WWN(World Wide Name)が書かれるカラム602と、LUN(Logical Unit Number)が書かれるカラム603と、LDEVの記憶容量が書かれるカラム604と、暗号鍵が書かれるカラム605とがある。すなわち、このテーブル600には、各LU毎に、LDEVの識別番号と、該LDEVに対応付けられたWWN及びLUNと、そのLDEVの記憶容量と、そのLDEVに対応付けられている暗号鍵とが書かれる。各LDEV内のデータが暗号化される場合には、カラム605に暗号鍵が記録され、当該LDEV内データが暗号化されない。すなわち暗号化対象としない場合には、カラム605には暗号鍵が記録されない(0が記録される)。
この実施形態では、前述したように、ホスト4から指定される論理ボリュームを「LU」と言うが、具体的には、例えば、Fibre ChannelプロトコルでのWWN及びLUNが対応付けられた論理ボリュームをLUと言う。なお、例えば、メインフレームでは、WWN及びLUNのカラム602及び603は設けられなくても良い。
図7は、ポート構成テーブルの構成例を示す。
ポート構成テーブル5400は、各I/F113、123の通信ポートの構成を管理するためのテーブルである。具体的には、例えば、このテーブル5400には、通信ポートの識別子(例えばWWN)が書かれるカラム5401と、通信ポートのステータスが書かれるカラム5402とがある。ステータス"TARGET"とは、ホストアダプタ11のI/F113にある通信ポートを表す。すなわち当該ポートはホストからのI/O要求を受け付けるために使用されることを意味する。ステータス"EXTERNAL"とは、外部アダプタ12のI/F123にある通信ポートを表す。すなわち当該ポートはストレージ仮想化機能により、外部ストレージサブシステム2などのストレージサブシステムに対してI/O要求を出すために使用されることを意味する。一つのアダプタ11、12に、I/F113、123は、複数個存在しても良く、1つのアダプタ11、12内の複数のポートのステータスはそれぞれ異なっていても良い。また、一つのI/F 113、123に、通信ポートは複数個存在しても良い。
また、もし、ホストアダプタ11のI/F113に暗号処理部がある場合には、そのI/F113の通信ポートのステータスが"TARGET"になっているならば、該暗号処理部に暗号化及び復号化を実行させないようにすることができる。例えば、該暗号処理部の記憶域に、暗号化及び復号化の実行を禁止するためのフラグを設定しておくことで、該暗号処理部に暗号化及び復号化を実行させないようにすることができる。
図8は、EDEV情報テーブルの構成例を示す。
ここで、EDEVとは、External Deviceの略であり、外部ストレージサブシステム2
に存在する一又は複数のHDDにより提供される記憶空間である。ストレージ仮想化機能によって、ストレージサブシステム1は、自らがホスト計算機であるかのように働き、外部ストレージサブシステム2ないし2’の提供する記憶空間に対してリード・ライト処理を行う。本実施形態では、ストレージサブシステム1と外部ストレージサブシステム2ないし2’は、SCSI-FCPプロトコル(Fibre Channelプロトコル上にSCSIコマンドを流すことを規定するプロトコル)に従って通信するため、ストレージサブシステム1は外部ストレージサブシステム2ないし2’の記憶領域を、Fibre ChannelプロトコルにおけるWWNとLUNで一意に定まるLUとして認識し、アクセスする。そのため、EDEVは、外部ストレージサブシステム2ないし2’に存在するLUに相当する。そして、ストレージサブシステム1内では、各EDEVを1つのLDEVと同様のものとして取り扱う。すなわち、ストレージサブシステム1においては、EDEVを分割して複数のLDEVとして取り扱うことはしない。この点は、1つないし複数のHDD16から構成されるVDEVとは異なるが、EDEVから構成されるこの1つのLDEVに対してWWNとLUNを付与することで、ホスト4からアクセスできるようにしているホストにはHDD16から構成されたLDEVと外部ストレージサブシステム2ないし2’から構成されたLDEVとの差が見えないようになっている。一変形例として、HDD16から構成されるVDEVのように、外部ストレージサブシステム2ないし2’のEDEVを複数の連続領域に分割して、複数のLDEVが1つのEDEVに存在するような取り扱いをすることも可能であるが、これ以降の説明では、1つのEDEVは1つのLDEVとして動作することを前提として説明する。
EDEV情報テーブル250は、各EDEVに関する情報を管理するためのテーブルであり、1つの行が1つのEDEVの情報をあらわす。具体的には、例えば、このテーブル250には、EDEVの識別番号が書かれるカラム251と、EDEVに付与されているWWN(外部ストレージサブシステム2ないし2’のポートに付与されているWWN)及びLUNがそれぞれ書かれるカラム252及び253とがある。カラム254 LDEVは、当該EDEVに対応するLDEV番号が入る。また、カラム255 Cipherには0ないし1の値が入る。カラム255 Cipherの値が1の場合には、当該行のEDEVは外部ストレージサブシステム2ないし2’が持つ暗号化機能で暗号化・復号化が実施されることを意味し、0の場合には当該カラム252,253で指定されるLUは外部ストレージサブシステム2ないし2’で暗号化及び復号化は実施されない。すなわち、もし外部ストレージサブシステム2ないし2’に暗号化機能が無い場合には、カラム255の値は0になる。カラム255の値は、ユーザが管理端末6を介して手入力することで設定される形態と、ストレージサブシステム1がI/F 123を介して、あるいは管理端末管理端末6、7、7’経由で外部ストレージサブシステム2ないし2’が暗号化機能を有しているか否かを、外部ストレージサブシステム2、2’に問い合わせることで自動的に値が設定される形態とがありえる。なお、外部ストレージサブシステム2ないし2’が暗号化機能を持つとは、外部ストレージサブシステム2ないし2’のコントローラ(例えばCHA及びDKAの少なくとも一つ)及び/又はHDDに、前述した暗号処理部と同様の暗号処理部が備えられていることである。
以上が、各種テーブルについての説明である。以下、本実施形態で行われる種々の処理の流れを説明する。
図9は、ストレージサブシステム1のLDEVをホスト4から使用できる状態にする処理の流れを示す。具体的には、LDEVにWWN, LUNを付与して、ホスト4から当該LDEVが認識・アクセスできるような状態にする処理である。これ以降、この処理のことをLU作成と呼ぶ。なお、図9の処理は、LDEVは作成済みの状態から開始する。すなわち、図9の処理に入る前に、ストレージサブシステム1内のHDD16については、HDD16からRAIDの形成、VDEV作成が為され、さらにVDEVを分割して複数のLDEVを作成してVDEV構成テーブル500にその内容を登録する処理が完了していること、また外部ストレージサブシステムについては、外部ストレージサブシステム2、2’内のLUをストレージサブシステム1でEDEVとして認識し、それをLDEVとしてEDEV情報テーブルに登録する処理は完了していることとする。
ステップ10001で、ユーザは管理端末6を介して、未使用のLDEVの一つ、すなわちWWN, LUNが付与されていないLDEVの一つを特定する。続いて、ユーザは、管理端末6を操作して、当該LDEVに付与するWWN, LUNを指定する(ステップ10002)。
ステップ10002において、WWNの指定は、WWNを直接指定するわけではなく、一般にI/F 113などのホストI/FにはWWNがあらかじめ付与されているので、ホスト4がアクセスするときに使用するI/F 113を管理端末上のGUIから特定することで、WWNを指定するのと同じことが実現できる。
ステップ10001、10002の処理を受けて、ステップ10003で、ストレージサブシステム1は、LU構成テーブル600に当該LDEVのエントリを作成し、LDEV番号(カラム601)、WWN(カラム602)、LUN(カラム603)、capacity (カラム604)の値を入力する。
ステップ10004で、ユーザは、ステップ10001、10002で指定したLDEV内データを暗号化するか否かを選択する。この選択は、管理端末6を介して実施される。暗号化する場合には、ステップ10005に進み、暗号化しない場合には、この処理は終了する。
ステップ10005では、ストレージサブシステム1は、指定されたLDEVがストレージサブシステム1内のHDD16から構成されるLDEVか(即ちVDEVの一部から構成される内部LDEVか)、あるいは外部ストレージサブシステム2ないし2’のボリュームから構成されるLDEVか(即ちEDEVに相当する外部LDEVか)を判定する。もしも、EDEVに相当する外部LDEVの場合には、ステップ10006に進み、内部LDEVである場合には、ステップ10011に進む。以下、その指定されたLDEVを、「当該LDEV」と呼ぶことがある。
ステップ10011では、ストレージサブシステム1は当該LDEVを暗号化する際に使用する暗号鍵を生成する。暗号鍵の生成は乱数アルゴリズム等を使用して自動生成する方法と、ユーザに管理端末6を介して指定させる方法などがある。ステップ10011が完了すると、ステップ10009に移り、ストレージサブシステム1はステップ10011で生成された暗号鍵をLU構成テーブル600の当該LDEVに対応する行に登録して、LU作成処理は終了する。
ステップ10006では、ストレージサブシステム1は、当該EDEV(外部LDEV)を有する外部ストレージサブシステムが暗号化機能を有するか否かを判定する。この判定は、EDEV情報テーブルのカラム255(Cipher)を参照することで実現される。暗号化機能を有している場合には、ステップ10007に進み、有していない場合には、ステップ10011に進む。
ステップ10007では、ストレージサブシステム1は、当該EDEV(外部LDEV)を有する外部ストレージサブシステム2又は2´に対して、当該EDEVを暗号化ボリュームとして設定するように指示する。この指示は、管理端末6から管理端末7,7’を介して指示する形態と、あるいは外部アダプタ12のI/F123を介して外部ストレージサブシステム2、2’に直接指示する形態とがありえる。
ステップ10008では、ストレージサブシステム1は、外部ストレージサブシステム2、2’から、当該EDEV(つまり、ステップ1005で指定されたEDEV)を暗号化する際に使用する暗号鍵を取得する。ステップ10009で取得した暗号鍵をLU構成テーブル600に記録して、LU作成処理は終了する。
なお、当該EDEVのある外部ストレージサブシステム2ないし2’に暗号化機能が有る場合、本実施形態では暗号化処理自体は外部ストレージサブシステム2ないし2’で実施されるため、ステップ10008の暗号鍵取得はここでは必ずしも必要ではない。ただし、後述するデータ移行処理などで、EDEVの対応する暗号鍵が必要になる場合があるので、ステップ10008では、暗号鍵を取得してLU構成テーブル600に保存している。一変形例として、ステップ10008をスキップしてこの時点では暗号鍵を取得せず、後述するデータ移行処理などで暗号鍵が必要になった時点で、ストレージサブシステム1から外部ストレージサブシステム2ないし2’に暗号鍵の取得要求を出すという方法もありえる。
図10は、ストレージサブシステム1がホスト4からI/O(リードないしライト)要求を受けた際のコマンド処理部901の処理の流れを示す。
ホスト4は、LUにアクセスする際、LUに付与されているWWNとLUN、そして、リードないしライト対象のアドレス(LBA:Logical Block Address)を指定したI/O要求を、ストレージサブシステム1に対して発行する。コマンド処理部901は、そのI/O要求を受けたことに応答して、LU構成テーブル600を参照し、LUNとWWNに対応するLDEVの識別番号(LDEV番号)を割り出す(ステップ1001)。続いて、コマンド処理部901は、ホスト4からのI/O要求がライト要求であるか否かを判定する(ステップ1002)。ライト要求の場合には、ステップ1003に進み、そうでない場合(リード要求)には、ステップ1005へと進む。
ステップ1003では、コマンド処理部901は、キャッシュ/制御メモリ14のキャッシュ領域の未使用領域にライトデータ(I/O要求に従うライト対象のデータ)を格納し、ステップ1004で、ホスト4に対して、当該ライト処理が完了したことを通知する。ステップ1004の処理は、これよりも後、例えばステップ1005の後に行っても良い。ステップ1004の時点ではHDD16ないし外部ストレージサブシステムシステム2、2’へのデータ書き込みは完了していないが、キャッシュ領域にライトデータが格納された時点で、ホスト4に対して処理完了を通知することで、ライト処理の応答時間を高速化することが出来る。
ステップ1005では、コマンド処理部901は、ステップ1001で割り出されたLDEV番号の付与されたLDEVに対するリードないしライト処理を実施する。ステップ1005の処理は、図11以降で詳述する。
ステップ1006で、コマンド処理部901は、受信したI/O要求がリード要求であるかを判定する。当該要求がリード要求である場合、前述のステップ1005の処理によって、HDD16から、あるいは外部ストレージサブシステム2ないし2’からのリードデータ(リード要求に従うリード対象のデータ)がキャッシュ領域に格納されているので、コマンド処理部901は、キャッシュ領域上のリードデータをホスト4に対して返送する(ステップ1007)。ステップ1006で、当該要求がリード要求ではないと判断された場合には、本処理は終了する。
図11は、コマンド処理部901が実施する、LDEVに対するI/O処理の流れ、すなわち図10のステップ1005の処理の詳細を示す。
本処理は、ライト処理の場合には、キャッシュ領域上のライトデータがHDD16或いは外部ストレージサブシステム2、2’へ転送され、リード処理の場合には、HDD16或いは外部ストレージサブシステム2、2’からリードデータがキャッシュ領域上まで転送される処理である。本処理は、ホスト4からのI/O要求によって実行される場合と、後述するデータ移行処理などの過程で実行される場合とがある。
コマンド処理部901は、ステップ1101で、VDEV構成テーブル500とEDEV構成テーブル650とを参照し、指定されたLDEVが内部LDEVか外部LDEVかを識別する。もし、内部LDEVであれば、ステップ1103に進み、コマンド処理部901は、ディスクアダプタ13で実行されるディスクI/O処理部902を呼び出してそれ以降の処理を実施させる。外部LDEVの場合には、ステップ1102に進み、コマンド処理部901は、外部I/O処理部902’を呼び出して、外部ストレージサブシステム2ないし2’へのI/O処理を実行させる。ステップ1102,1103の処理は、それぞれ図16、図12ないし図13で詳述される。
図12と図13は、それぞれ、内部LDEV I/O処理の流れの一例を示す。図12は、内部LDEVが、RAID-5で構成されたVDEVに含まれている場合の例を示し、図13は、内部LDEVが、RAID-1で構成されたVDEVに含まれている場合の例を示す。
図12の説明では、当該内部LDEVを「対象内部LDEV」と言い、当該VDEVに属する各HDDを「対象HDD」と言い、ホスト4からのI/O要求で指定されているLBAで特定されるボリューム領域が対応付けられるHDD上のアドレスを「対象物理アドレス」と呼ぶ。
ステップ1201では、ホスト4からのI/O要求で指定されているLBAが対象物理アドレスに変換される。具体的には、例えば、コマンド処理部901が、DKA13に、ホスト4からのI/O要求で指定されているLBAを含んだI/O要求を出し、DKA13内のディスクI/O処理部902が、そのI/O要求を受ける。そのI/O要求は、キャッシュ/制御メモリ14の制御領域に書かれても良いし、内部スイッチ15を介してDKA13に送信されても良い。I/O要求を受けるDKA13は、各対象HDD16に接続されたDKA13である。該DKA13のディスクI/O処理部902が、受けたI/O要求中のLBAを対象物理アドレスに変換する。
ステップ1202では、ディスクI/O処理部902が、受けたI/O要求が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ1203に進み、リード要求である場合には、ステップ1206に進む。なお、このステップ1202は、ステップ1201が終了する前に完了されても良い。
ステップ1203では、ディスクI/O処理部902が、キャッシュ領域上に置かれた対象内部LDEVへのライト対象データ(新規データ)と、新規データに対応する対象LDEVに現在書かれているデータ及びパリティ(旧データ及び旧パリティ)とを用いて、新規パリティを生成する。
ステップ1204では、ディスクI/O処理部902が、対象物理アドレスを指定した、新規データ及び新規パリティのライト要求を、各対象HDD16に送信することにより、新規データ及び新規パリティを書込む。この処理は図14で詳述する。
ステップ1211では、ディスクI/O処理部902が、各対象HDD16に、対象物理アドレスを指定したリード要求を送信する。これにより、各対象HDD16から、暗号文が平文に変換されて読み出され、キャッシュ領域に格納する。この処理の詳細は、図15で説明される。
続いて、図13で、内部LDEVがRAID1のVDEVに含まれている場合のI/O処理の流れを説明する。図12との相違は、図12のステップ1203、1204が、図13ではステップ1203’、1204’に変更されている点だけである。ステップ1203’ではパリティを作成する代わりに、ライト対象データのミラーコピーを作成してキャッシュ領域に格納する。ステップ1204’では、ライト対象データとそのミラーコピーとをそれぞれのHDD16に送信する。ミラーコピーは元のライトデータの複製でありデータ内容は変わらないため、ステップ1203’の処理は必須ではなく、ステップ1203’でミラーコピーを作成せずに、ステップ1204’でライトデータを格納するHDD16とミラーコピーを格納するHDD16の双方に、キャッシュ領域上に格納しているライト対象データを送信することでも同様の処理が実現できる。
図14は、ディスクI/O処理部902がHDD16に対して行う、データ書込み処理の一例を示す。
ステップ2001では、ディスクI/O処理部902が、ライト要求で指定されている対象物理アドレスから、ライト対象LDEVとそのアドレスへと逆変換し、逆変換されて算出されたライト対象LDEVが暗号化対象であるか否かを、LU構成テーブル600を参照して判定する。ライト対象LDEVが暗号化対象であれば、ステップ2002にすすみ、暗号化範囲でなければ、ステップ2003にすすむ。
ステップ2002では、ディスクI/O処理部902が、暗号処理部134にライト対象LDEVに対応する暗号鍵を渡し、暗号化処理の指示をする。この処理により、次のステップ2003で実施されるHDD16へのデータ転送処理において、転送データは暗号処理部134で暗号化される。
ステップ2003では、ディスクI/O処理部902が、各対象HDD16に対してキャッシュ領域からデータを転送する。ステップ2002で暗号化処理の指示が行われていると、データ転送の過程で転送データは暗号処理部で暗号化されてHDD16に書き込まれる。
図15は、ディスクI/O処理部902による、HDD16からのデータ読出し処理の一例を示す。
ステップ2101では、ステップ2001と同様、ディスクI/O処理部902が、リード要求で指定されている対象物理アドレス(LBA)が、どのLDEVに相当するか逆変換処理を行うことで対象LDEVを特定し、対象LDEVが暗号化対象であるか否か、LU構成テーブルを参照して判定する。対象LDEVが暗号化対象であれば、ステップ2102にすすみ、暗号化対象でなければ、ステップ2103にすすむ。
ステップ2102では、ステップ2002と類似の処理が行われる。具体的には、ディスクI/O処理部902が、暗号処理部134に、リード対象LDEVに対応する暗号鍵を渡して、復号化処理の指示をする。この処理により、次のステップ2103で実施されるHDD16からキャッシュ領域へのデータ転送処理において、転送データは暗号処理部134で復号化される。
ステップ2103では、ディスクI/O処理部902は、対象HDD16からデータを読み出す。ステップ2102で復号化処理の指示が行われていると、データ転送の過程で転送データは暗号処理部134で復号化されてキャッシュ領域に格納される。
図16は、外部LDEV I/O処理の流れの一例を示す。この図16の説明では、アクセス先となる外部LDEVを「対象外部LDEV」と言い、対象外部LDEVを含むEDEVを「対象EDEV」と言い、ホスト4からのI/O要求で指定されているLBAから算出される、対象EDEVにおけるアドレスを「対象EDEVアドレス」と言う。
ステップ1301では、ホスト4からのI/O要求で指定されているLBAが対象EDEVアドレスに変換される。具体的には、例えば、コマンド処理部901が、ホスト4からのI/O要求で指定されているLUN、WWN及びLBAを基に、対象EDEVアドレスとして、外部ストレージサブシステム2に対するI/O要求で指定するLUN、WWN及びLBAを求める。このアドレス変換は、例えば、前述した特開2005−107645号公報(US出願番号10/769805号、US出願番号11/471556号)に開示の方法で行うことができる。
ステップ1302では、外部I/O処理部902’が、受けたI/O要求が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ1303に進み、リード要求である場合には、ステップ1311に進む。
ステップ1303では、外部I/O処理部902’がLU構成テーブル600内の対象LDEVに相当するカラム605の値を確認することで、対象外部LDEVが暗号化対象であるか判定する。暗号化対象である場合にはステップ1304に進み、そうでない場合にはステップ1306へ進む。
ステップ1304では、外部I/O処理部902’が、対象外部LDEVの存在する外部ストレージサブシステム2ないし2’が暗号化機能を有するか否かを、EDEV情報テーブル250を参照することにより、判定する。暗号化機能が有る場合には、暗号化処理が外部ストレージサブシステム2ないし2’で実施されるため、ストレージサブシステム1内での暗号化処理は実施しない。そのためステップ1306へと進む。暗号化機能が無い場合にはステップ1305へ進む。
ステップ1305では、外部I/O処理部902’が、対象外部LDEVに対応する暗号鍵をLU構成テーブル600から特定し、特定した暗号鍵を、暗号処理部124に通知する。これにより、ステップ1306で、外部ストレージサブシステム2ないし2’へライトデータを転送する過程で、暗号処理部124において平文(転送対象のライトデータ)が暗号化される。
ステップ1306では、キャッシュ領域に格納された平文(ライトデータ)が、外部ストレージサブシステム2へ転送される過程で、暗号処理部124によって暗号文にされ、該暗号文が、外部I/O処理部902’により、対象外部LDEVを有する外部ストレージサブシステム2又は2´に格納される。
ステップ1311では、ステップ1303と同様、対象外部LDEVが暗号化対象であるかが判定される。暗号化対象である場合にはステップ1312へ進み、暗号化対象で無い場合にはステップ1314へ進む。
ステップ1312では、ステップ1304と同様の処理で、対象外部LDEVの存在する外部ストレージサブシステム2又は2’が暗号化機能を有するか判定する。暗号化機能が有る場合には、ステップ1314へと進み、暗号化機能が無い場合にはステップ1313へ進む。
ステップ1313は、ステップ1305と同様の処理で、暗号処理部124に暗号鍵が設定される。ステップ1314では、外部ストレージサブシステム2又は2’からのデータリードが実行される。具体的には、例えば、外部I/O処理部902´が、対象EDEVアドレスと共に外部ストレージサブシステム2に対してリード要求を発行する。そのリード要求に応答して、外部アダプタ12のI/F123は、外部ストレージサブシステム2から暗号文を受信し、その暗号文が、キャッシュ領域へと格納される。ステップ1313で暗号鍵が設定されて、復号化が行われるべき状態の場合には、キャッシュ領域に格納される過程で暗号処理部124により、上記設定された暗号鍵を用いた復号化が実行され、キャッシュ領域には平文が格納される。
次に、本実施形態におけるボリューム移行、鍵変更処理について、図17から図20を用いて説明する。
ボリューム移行処理は、例えば、データの用途及び/又は利用頻度の変更や、ストレージサブシステムの入れ替え(リプレース)に伴って、データ位置を変更する際に使用される。例えば、HDD16で構成される内部LDEVにあるデータの利用頻度が低下したことに伴い、外部ストレージサブシステム2ないし2’の外部LDEVにデータを移行する、あるいは、外部ストレージサブシステム2を廃棄する場合、これまで外部ストレージサブシステム2内の外部LDEVにあったデータを外部ストレージサブシステム2’ないしはHDD16へと移動する場合などがある。
また、本実施形態では、セキュリティの向上のために、暗号鍵を定期的に又は不定期的に変更するという処理が実行される。この処理を、本実施形態の説明において「鍵変更処理」と呼ぶ。鍵変更処理が実行される場合、一旦、暗号文を平文に直し、これまでの暗号鍵とは異なる暗号鍵を用いて再暗号化し、再暗号化された結果(暗号文)を別のLDEVへと書き出す処理が実行される。ボリューム移行と同時に鍵変更処理を行うこともあるが、以下、本実施形態の説明においては、ボリューム移行と鍵変更とを区別して説明する。
図17を用いて、ボリューム移行処理と鍵変更処理とを含んだ一連の処理である移行/鍵変更処理の概要を説明する。
移行/鍵変更処理では、ユーザは、管理端末6を介して、移行元のLDEVと移行先のLDEVとをストレージサブシステム1に指定し、移行処理を実行させる。移行元のLDEVはLDEV番号を指定する形態でも良いし、あるいは移行元LDEVに付与されているWWN, LUNを指定する形態でもよい。移行先LDEVは、データを移行したいLDEV番号を指定する。あるいは管理端末6ないしストレージサブシステム1において、現在使用していないLDEVを自動的に選択するという形態もある。移行の指示は、ユーザが管理端末6を介して指示する形態のほかに、ホスト4上にストレージサブシステム1の管理ソフトウェアがインストールされている場合には、その管理ソフトウェアを介して実施することも出来る。また定期的にデータを移行する、あるいは鍵変更処理を行う形態もあり、その場合には、ユーザは管理端末6を介して、データ移行あるいは鍵変更の周期(6ヶ月単位など)を指定するだけで、それ以降の処理はストレージサブシステム1内で自動的に実施されるという形態もありえる。
移行/鍵変更処理は、主として、ストレージサブシステム1のコピー処理部903あるいは903’で実行される。以下、コピー処理部903及び/又は903’で実施される処理を中心に説明する。
まず、ステップ3001で、コピー処理部903及び/又は903’は、移行元LDEVのLDEV番号、移行先LDEVのLDEV番号、鍵変更の要否を管理端末6から受信する。ステップ3002では、コピー処理部903及び/又は903’は、鍵変更が指示されたか否かを判定し、鍵変更が指示されている場合にはス、テップ3011に進み、そうでない場合にはステップ3003に進む。
ステップ3003では、コピー処理部903及び/又は903’は、移行先LDEVに格納されるデータが移行元LDEVと同一鍵で暗号化されるように、LU構成テーブル600内の設定内容を変更する。具体的には、コピー処理部903及び/又は903’は、LU構成テーブル600から、移行元LDEV番号に対応する行を検索し、移行元LDEV番号に対応付けられている暗号鍵、すなわち、検索された行とカラム605(Key)とが交わる領域(以下、鍵登録欄)に記憶されている暗号鍵を、そのまま、移行先LDEV番号に対応する行の鍵登録欄に入力する。また移行先LDEVが外部LDEVである場合には、コピー処理部903及び/又は903’は、当該外部LDEVが存在する外部ストレージサブシステム2ないし2’に対して、ストレージサブシステム1から移行元LDEVに対応付けられている暗号鍵を送信して外部ストレージサブシステム2ないし2’で暗号鍵を設定させる必要がある。この処理については、図18で詳述する。
一方、ステップ3011に進んだ場合には、暗号鍵を変更するので、コピー処理部903及び/又は903’は、移行先LDEVが移行元LDEVとは異なる暗号鍵で暗号化されるように、移行元LDEV番号に対応する行の鍵登録欄に記憶されている暗号鍵と異なる暗号鍵を生成し、移行先LDEV番号に対応する行の鍵登録欄に、その生成した暗号鍵を登録する。暗号鍵の生成方法の一例として、乱数アルゴリズムを使用する方法があるが、それ以外には、ユーザから暗号鍵を直接指定させる、あるいはユーザから簡単な文字列などを管理端末6に入力させ、それを基にしてストレージサブシステム1でハッシュアルゴリズム等を用いて新たな暗号鍵を生成するなどの方法を取ることも可能である。ステップ3003あるいは3011の処理が完了したら、ステップ3004に進む。
ステップ3004では、コピー処理部903及び/又は903’は、移行元LDEVから移行先LDEVへデータをコピーする処理(コピー処理)を行う。コピー処理の詳細は図19で詳述する。
コピー処理が完了すると、これ以降、ホスト4が移行先LDEVにアクセスするように設定が切り替えられる。具体的には、コピー処理部903及び/又は903’は、LU構成テーブル600上で、これまで移行元LDEVに付与されていたWWN,LUNを、移行先LDEVに付与するように、LU構成テーブル600の内容を更新する。LU構成テーブル600の内容が更新されると、それ以降のホスト4からのI/O処理は、移行元LDEVではなく移行先LDEVに対して行われることになる。なお、コマンド処理部901は、ステップ3005の処理中にホスト4から受け付けたI/O要求に対しては、ステップ3005の処理が完了するまで処理を中断し、ステップ3005の処理が完了した時点で、処理を再開することができる。
図18は、ステップ3003ないし3011の処理、すなわち移行先LDEVに鍵を設定する処理を示す。
ステップ3501では、コピー処理部903及び/又は903’は、LU構成テーブル600における、移行先LDEV番号に対応する行の鍵登録欄に、暗号鍵を登録する。移行元LDEVと同一暗号鍵となる場合には、移行元LDEV番号に対応する暗号鍵と同じ暗号鍵が登録され、鍵変更処理の場合には、移行元LDEV番号に対応する暗号鍵と異なる暗号鍵が登録される。
もし、移行元LDEVが外部LDEV、すなわち外部ストレージサブシステム2ないし2’に属するLDEVで、外部ストレージサブシステム2ないし2’に暗号化機能が有る場合には、この時点で、当該外部LDEVの暗号鍵がLU構成テーブル600に登録されていないこともありえる(図9のLU作成処理のステップ10008で暗号鍵を取得しなかった場合)。その場合には、ステップ3501で、コピー処理部903´が、外部ストレージサブシステム2ないし2’に対し、当該外部LDEVの暗号鍵を取得する要求を送信する。外部ストレージサブシステム2、2´が、その要求に応答して、当該外部LDEVに対応付けられている暗号鍵を、自分が管理するLU構成テーブルから取得し、取得した暗号鍵を、ストレージサブシステム1に送信する。ストレージサブシステム1のコピー処理部903´は、外部ストレージサブシステム2ないし2’から暗号鍵を受信し、LU構成テーブル600上の移行元LDEV番号に対応する行の鍵登録欄に、その受信した暗号鍵を登録し、引き続き、移行先LDEV番号に対応する行の鍵登録欄に、それと同じ暗号鍵を登録する。
ステップ3502, 3503では、コピー処理部903及び/又は903’が、移行先LDEVが外部LDEVか否か、かつ、外部LDEVのある外部ストレージサブシステム2、2´は暗号化機能を有しているかを判定する。移行先LDEVが外部LDEVでない場合、または、移行先LDEVが外部LDEVであっても外部LDEVのある外部ストレージサブシステム2、2´に暗号化機能がない場合には、本処理は終了する。移行先LDEVが外部LDEVで、かつ、当該外部LDEVのある外部ストレージサブシステム2、2´が暗号化機能を有している場合には、ステップ3504に進む。
ステップ3504で、コピー処理部903及び/又は903’は、当該外部LDEVのある外部ストレージサブシステム2、2’に対して、当該外部LDEVへの暗号鍵設定を指示する。外部ストレージサブシステム2ないし2’への暗号鍵設定の方法としては、例えば、外部アダプタ12からファイバチャネルケーブルを介して外部ストレージサブシステム2ないし2’に指示を出す方法と、管理端末6を介して外部ストレージサブシステム2ないし2’の各管理端末7ないし7’に指示を出す方法とがある。その指示に応答して、外部ストレージサブシステム2、2´では、その外部LDEVに対応する暗号鍵が、例えば、その外部ストレージサブシステム2、2´でのLU管理テーブルに登録される。
図19は、図17のステップ3004における、移行元LDEVから移行先LDEVへデータのコピー処理の流れを示している。コピー処理は、移行元LDEVの先頭アドレスのデータから最後尾アドレスのデータまでを順に移行先LDEVへとコピーする処理である。
まず、コピー処理部903及び/又は903’は、データを順にコピーするための制御用カウント値をキャッシュ/制御メモリ14に記録する。本処理では、そのカウント値を“A”とする。
ステップ3101で、コピー処理部903及び/又は903’は、当該カウント値Aを0にセットする。ステップ3102では、コピー処理部903及び/又は903’は、移行元LDEVのアドレスA(カウント値Aと同じ値のアドレス)のデータを読み出す。移行元LDEVのデータ読み出しの処理は、図11から図16を参照して説明した処理とすることができる。ステップ3103では、コピー処理部903及び/又は903’は、ステップ3102で読み出したデータを、移行先LDEVのアドレスAに書き込む。具体的な処理は、ステップ3102と同様に、図11から図16を参照して説明した処理とすることができる。
ステップ3104で、コピー処理部903及び/又は903’は、カウント値Aの値を1増加し、ステップ3105で、そのカウント値Aの値を参照して、カウント値Aが移行元LDEVの最後尾アドレスを超えたか判定する。カウント値Aが移行元LDEVの最後尾アドレスを超えた場合には、コピー処理部903及び/又は903’は、全てのデータが移行先LDEVにコピーされたことを示すため、本処理は終了する。そうでない場合には、ステップ3102に戻り、コピー処理を繰り返す。
なお、図19に説明の処理では、カウント値Aは1ずつ増加している、即ちデータコピーが1ブロック(セクタ)単位で実施される例を示しているが、それ以外に、1ブロックよりも大きい単位、例えば1トラック、1シリンダ単位でのデータコピー、あるいは一定連続領域(1MBなど)単位でのコピーを行う方法を取ることが可能である。
図17から図19を参照して説明した移行/鍵変更処理は、ホスト4から移行元LDEVに対してI/O要求を受け付けながら実行することが可能である。
図20は、移行/鍵変更処理を実行途中にホスト4からI/O要求を受信した場合の処理の流れを示す。本処理は、前述の図11の処理に入れ替わるもので、移行/鍵変更処理の実行中、移行元LDEVに対するI/O要求がきた場合には、図11の代わりに図20が実施されることになる。
ステップ3201で、コマンド処理部901が、受信したI/O要求で指定されているアドレスと、図19のコピー処理で使用中のカウント値Aの値とを比較し、当該I/O要求で指定されたアドレスとカウント値Aが等しいか否かを判定する。もし等しい場合には、一定時間(例えば1ミリ秒など)待ち、再びステップ3201に戻る。
ステップ3202では、コマンド処理部901が、移行元LDEVへのI/O処理、すなわちリードないしライト処理を実施する。このステップは、図11に記載の処理が実行される。
ステップ3203では、コマンド処理部901が、当該I/O要求がライト要求であるか判定する。もしもライト要求である場合には、ステップ3204に進み、そうでない場合、すなわちリード要求の場合には、ここで処理が終了する。
ステップ3204では、コマンド処理部901が、受信したI/O要求で指定されているアドレスがカウント値Aよりも小さいか否かを判定する。もしも、そのアドレスがカウント値Aよりも大きい場合、ステップ3202で移行元LDEVに書かれた当該アドレス上のデータは、まもなく図18のコピー処理で移行先LDEVにコピーされることになるため、何もせずに本処理を終了してもよい。しかし、該I/O要求で指定されているアドレスが、カウント値Aより小さい場合には、当該アドレスのデータは、図19のコピー処理でコピー済みのため、当該アドレスのデータが再びコピーされることは無い。そのため、今回の処理で書き込まれたデータを移行先LDEVにコピーする必要があり、ステップ3205で、コマンド処理部901が、必要に応じて外部I/O処理部902’を呼び出して、移行先LDEVのアドレスAにライトデータを書き込みさせる。この書き込み処理を実施するためには、ステップ3202と同様、図11で記載の処理が実行される。
以上が、第一の実施形態についての説明である。
なお、この第一の実施形態では、外部ストレージサブシステム2、2´の少なくとも一つは、ストレージサブシステム1と同様の構成であっても良い。また、暗号処理部134は、DKA13に代えて又は加えて、HDD16に搭載されていても良い。その場合、図14のステップ2002や図15のステップ2102において、暗号鍵の渡し先や指示の宛先となるのは、HDD16にある暗号処理部となる。
<第二の実施形態>。
次に、本発明の第二の実施形態を説明する。第二の実施形態における計算機システムの構成は第一の実施形態とほぼ同じである。ただし、ストレージサブシステム1内で管理する情報と機能に若干の相違点があり、以降ではその相違点を中心に説明する。
図21は、第二の実施形態におけるストレージサブシステム1の管理するEDEV情報テーブル250’の構成例を示す。
第一の実施形態におけるEDEV情報テーブル250との相違は、カラム256のフラグ情報が追加されている点である。当該欄の値“1”は、当該EDEVのある外部ストレージサブシステム(2ないし2’)が、暗号化されたままのデータ(暗号文)を読み出す機能や、ストレージサブシステム1から受信したデータ(例えば暗号文)を何も加工しないまま(暗号化・復号化しないまま)、自分が有する外部LDEVへと当該データを格納する機能を備えていることを意味する。一方、値“0”は、当該EDEVのある外部ストレージサブシステム(2ないし2’)が、それらの機能を備えていないことを意味する。これらの機能については後述する。
また、カラム256への情報設定は、ユーザが管理端末6を介してストレージサブシステム1に対して入力する。すなわちユーザは、ストレージサブシステム1に接続される外部ストレージサブシステム2ないし2’に当該機能があるかないかを判断し、当該機能がある場合にはカラム256に1を入力する。また、そのほかの方法として、ストレージサブシステム1が管理端末6,7,7’を介して、あるいはI/F 123を介して、外部ストレージサブシステム2ないし2’に当該機能の有無の情報を取得し、カラム256にその結果を反映する方法もありえる。
第一の実施形態におけるボリューム移行処理では、移行元LDEVのデータをいったんキャッシュ領域に読み出す際には、必ず平文に復号化してからキャッシュ領域上に格納され、移行先LDEVへの書き込みの際に暗号化される。しかし、第二の実施形態では、暗号鍵変更が発生しないボリューム移行処理では、移行元LDEV内の暗号文がそのまま復号化されることなく移行先LDEVにコピーされる。
図22は、図17のステップ3004における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。この処理は第一の実施形態における、図19のコピー処理と共通部分が多いため、相違点について中心に説明する。
移行元LDEVからのデータ読み出し(ステップ3101以降)の前に、本処理でのコピーが可能か否かを判定する。まず、ステップ5001で、コピー処理部903及び/又は903´が、移行元LDEVが外部LDEVであるか否かを判定する。外部LDEVであれば、ステップ5002に進み、そうでなければ、ステップ5003に進む。
ステップ5002で、コピー処理部903及び/又は903´が、移行元LDEVを有する外部ストレージサブシステム2、2´から復号化されていない状態(暗号化のまま)のデータ(暗号文)を読み出すことが可能かを判定する。もし、不可能との判定になれば、図19のステップ3101以降の処理を行う。
続いて、ステップ5003以降で、移行先LDEVに関する条件が判定される。
具体的には、ステップ5003で、コピー処理部903及び/又は903´が、移行先LDEVが内部LDEVか否かを判定する。内部LDEVの場合には、ステップ5004に進み、移行先LDEVのRAID構成がRAID-5などのパリティを作成する形態のRAID構成であるかを判定する。RAID-5などのようにパリティを作成する形態の場合には、図22の処理は使用できず、図19の処理で移行処理を実施する。
ステップ5003で移行先LDEVが外部LDEVと判定された場合、ステップ5005に進み、コピー処理部903及び/又は903´が、移行先LDEVのある外部ストレージサブシステム2、2´が、暗号文をそのまま書き込むことが可能であるかを判定する。可能な場合にはステップ3101に進み、不可能な場合には、図19におけるステップ3001以降の処理を実施する。
図22のステップ3101以降の処理は、図19におけるステップ3101以降の処理と殆ど同じである。図19のステップ3102が、図22ではステップ3102’にかわり、コピー処理部903及び/又は903´が、移行元LDEVからのデータ読み出し時に復号化を実施せずに読み出しを実施する。この結果、移行元LDEVから読み出されたデータは暗号文である。また、図19のステップ3103は、ステップ3103’に変わり、コピー処理部903及び/又は903´が、移行先LDEVへのデータ書き込み時に、ステップ3102’で読み出した暗号文を途中で暗号化せずに書き込むようにする。
ステップ5002ないし5005の判定は、図21のEDEV情報テーブル250’内のカラム256の値を基に行われる。カラム256の値が1であれば、移行元LDEVのある装置から復号化されていない状態(暗号化のまま)のデータを読み出すことが可能、また移行先LDEVのある装置は、暗号化データをそのまま書き込むことが可能であることを意味する。
ステップ5004の処理で、移行先LDEVのRAID構成により処理が変わる理由は、ストレージサブシステム1で、暗号文を元にパリティを生成すると、本来作成されるべきパリティと異なる値になるためである。ストレージサブシステム1では、HDD16に書き込む直前に暗号化処理を実施するため、通常は、平文を元にしたパリティを生成し、HDD16に格納する直前に暗号化を行う。すなわちHDD16に書かれるパリティは、平文から生成されたパリティを暗号化したものである。しかし、図22の処理のように、暗号文がキャッシュ領域上にある場合には、暗号文を元にしたパリティが生成されるため、平文から生成されたパリティとは異なり、故に、図22のステップ5004では、移行先LDEVが内部LDEVの場合に、RAID構成においてパリティを生成しないRAIDレベル(RAID0, 1,
0+1など)に限定される。しかし、ストレージサブシステム1内における暗号処理部の位置が、DKA13ではない位置、例えばCHA11に暗号処理部が存在して、ホストからキャッシュ領域にデータが格納される際に暗号化処理が実行される形態の場合には、このような制約は不要、すなわち、ステップ5004における判定処理は不要となる。
ステップ3102’ないし3103’は、原則として、図11から図16に開示の、LDEVに対するI/O処理とほぼ同様の処理を実行することで処理される。ただし、ステップ3102’で、暗号化されてLDEV内に格納されているデータ(暗号文)を復号化せずにリードする、またステップ3103’では、ステップ3102’で読み出されたデータをストレージサブシステム1で暗号化せずにHDD16あるいは外部ストレージサブシステム2ないし2’に送信するため、図14から図16の処理が若干異なる。
ステップ3102’のリード処理において、リード対象が内部LDEVの場合、図15のステップ2101,2102を実施せずに、HDD16からキャッシュ領域へデータがリードされる。
また、外部LDEVに対するI/O処理の流れを図23に示す。この処理は、図16と類似しているが、図16のステップ1303, 1304, 1305,1311,1312,1313が無い。
また、図16のステップ1306は、ステップ1306’に変更になり、ステップ1306’のライト要求送出時に、外部ストレージサブシステム2、2´に対して、ライトデータを暗号化せずに書き込むことの要求(以下、暗号化不要ライト要求)が送信される。
また、図16のステップ1314は、ステップ1314’に変更になる。ステップ1314’のリード要求送出時に、例えば、外部ストレージサブシステム2、2´に対して、復号化されていないデータ(暗号文)をそのままリードすることの要求(以下、復号化不要リード要求)が送信される。
復号化されていないデータ(暗号文)をリードする、あるいは、データ(暗号文)を外部ストレージサブシステム2、2´内で暗号化せずに書き込むためには、例えば、外部ストレージサブシステム2ないし2’が、暗号化不要ライト要求や復号化不要リード要求をストレージサブシステム1から受けて、復号化されていないデータを返却する、ないし、暗号化処理を実施せずにデータを格納する機能を備えていることが必要となる。具体的な方法の一つとして、例えばSCSI-FCPプロトコルで規定されているREAD/WRITEコマンドではなく、新たに定義された特殊なコマンドをストレージサブシステム1から外部ストレージサブシステム2ないし2’に対して発行する方法がありえる。
また、例えば、復号化されていないデータ(暗号文)をリードする、あるいは、データ(暗号文)を外部ストレージサブシステム2、2´内で暗号化せずに書き込むための方法として、外部I/O処理部902´が、外部ストレージサブシステム2、2´に対し、アクセス先となる外部LDEVが暗号化対象ではないことを通知しても良い。この通知を受けた外部ストレージサブシステム2、2´は、例えば、外部ストレージサブシステム2、2´での図14又は図15の処理において、ステップ2001でNO、或いは、ステップ2101でNOとなってもよい。
以上が、第二の実施形態についての説明である。
なお、この第二の実施形態では、外部ストレージサブシステム2、2´の少なくとも一つは、ストレージサブシステム1と同様の構成であっても良い。この場合、例えば、外部ストレージサブシステム2、2´では、コマンド処理部が、暗号文をライト対象とした暗号化不要ライト要求を受けたならば、ディスクI/O処理部に対して、該暗号化不要ライト要求で指定されている外部LDEVにその暗号文を書込むことのライト要求を送る。そのライト要求には、例えば、その外部LDEVは暗号化対象でないことを示す暗号化非対象情報が設定される。ディスクI/O処理部は、コマンド処理部からライト要求を受け、そのライト要求に、暗号化非対象情報が設定されているならば、そのライト要求に従う暗号文をそのままHDD(外部LDEVの基になっているHDD)へデータ転送する。また、例えば、外部ストレージサブシステム2、2´では、コマンド処理部が、暗号文をリード対象とした復号化不要リード要求を受けたならば、ディスクI/O処理部に対して、該復号化不要リード要求で指定されている外部LDEVからその暗号文を読み出すことのリード要求を送る。そのリード要求には、例えば、その外部LDEVは暗号化対象でないことを示す暗号化非対象情報が設定される。ディスクI/O処理部は、コマンド処理部からリード要求を受け、そのリード要求に、暗号化非対象情報が設定されているならば、そのリード要求に従う暗号文をそのままHDD(外部LDEVの基になっているHDD)から読出しキャッシュ領域にデータ転送する。
<第三の実施形態>。
第三の実施形態では、外部ストレージサブシステム2から外部ストレージサブシステム2´へのデータ移行が、ストレージサブシステム1を経由することなく行われる。このデータ移行は、移行元外部LDEVに対応付けられている暗号鍵が変更されない場合に行うことができる。
例えば、管理端末7が、外部ストレージサブシステム2の第一の外部LDEVから、外部ストレージサブシステム2´の第二の外部LDEVに暗号文のままデータ移行することのデータ移行指示を、外部ストレージサブシステム2に送信する。これに応答して、外部ストレージサブシステム2(例えばコマンド処理部)が、そのデータ移行指示で指定されている第一の外部LDEV内の暗号文をライト対象とし第二の外部LDEVを指定したライト要求を、外部ストレージサブシステム2´に送信する。もし、外部ストレージサブシステム2´に暗号化機能がある場合には、管理端末7或いは外部ストレージサブシステム2が、第二の外部LDEVに書込むデータについては暗号化を不要とすることを、外部ストレージサブシステム2´に指示する。これにより、外部ストレージサブシステム2´は、外部ストレージサブシステム2からのライト要求に従う暗号文を、暗号化することなく、第二の外部LDEVに書込む。
また、外部ストレージサブシステム2或いは管理端末7は、第一の外部LDEV内のデータ(暗号文)が第二の外部LDEVに移行したことをストレージサブシステム1或いは管理端末6に通知する。その通知に応答して、ストレージサブシステム1或いは管理端末6は、EDEV情報テーブル250において、第一の外部LDEVに対応した情報を、第二の外部LDEVに対応した情報に更新する。これにより、ストレージサブシステム1は、ホスト4から、第一の外部LDEVを指定したI/O要求を受けた場合には、第二の外部LDEVに対するI/Oを実行することができる。
以上、本発明の幾つかの実施形態を説明したが、これらの実施形態は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、暗号鍵は、LDEV単位ではなく、LDEVを構成するサブ領域単位であっても良いし、HDD単位であっても良い。
本発明の第一実施形態に係る計算機システムの物理的な構成例を示す。 本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。 複数のHDD16と論理ボリュームとの関係性の一例を示す図である。 RAID構成テーブルの構成例を示す。 VDEV構成テーブルの構成例を示す。 LU構成テーブルの構成例を示す。 ポート構成テーブルの構成例を示す。 EDEV情報テーブルの構成例を示す。 本発明のストレージサブシステム1におけるLU作成の処理の流れを示す。 ホストアダプタがホストからI/O要求を受信した場合に実行される処理の流れの一例を示す。 ストレージサブシステムにおける、LDEVに対するI/O要求の処理の流れを示す。 内部LDEVに対するI/O要求の処理の流れの一例を示す。 内部LDEVに対するI/O要求の処理の流れの一例を示す。 HDDに対する書込み処理の一例を示す。 HDDに対する書込み処理の一例を示す。 外部LDEVに対するI/O要求の処理の流れの一例を示す。 移行/鍵変更処理の流れを示す。 鍵設定処理の流れを示す。 図16のステップ3004における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。 移行/鍵変更処理の実行中にホストからI/O要求を受けたストレージサブシステムの処理の流れを示す。 本発明の第二の実施形態におけるストレージサブシステムの管理するEDEV情報テーブルの構成例を示す。 第二の実施形態における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。 図22の移行元LDEVから移行先LDEVへのデータのコピー処理において、外部LDEVからのデータリードや、外部LDEVへのデータライトが行われる場合の、外部LDEVに対するI/O処理の流れを示す。
符号の説明
1…ストレージサブシステム 2、2´…外部ストレージサブシステム 4…ホスト計算機 5…ファイバチャネルスイッチ 6、7、7´…管理端末 11…ホストアダプタ 12…外部アダプタ 13…ディスクアダプタ 14…キャッシュ/制御メモリ 15…内部スイッチ 16…HDD

Claims (7)

  1. 外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムと外部に存在する第二のストレージサブシステムである第二の外部ストレージサブシステムとに接続された装置であって、
    前記第一の外部ストレージサブシステムが有する第一の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供するストレージ仮想化部と、
    データを暗号化する暗号処理部と、
    前記暗号処理部がデータの暗号化に使用した電子的な鍵である暗号鍵を記憶領域に登録する暗号鍵登録部と、
    キャッシュ領域と、
    上位装置に対するインタフェースであって、前記上位装置からデータのライト要求を受信する上位インタフェース部と、
    外部ストレージサブシステムに対するインタフェースである外部インタフェース部と、
    前記上位インタフェース部及び/又は前記外部インタフェース部で受信したデータを前記キャッシュ領域に記憶させるキャッシュ部と、
    前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行う判定部と、
    前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることなく、そのデータを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信するI/O処理部と
    前記第一の外部論理ボリュームに記憶されているデータを前記第二の外部ストレージサブシステムが有する第二の外部論理ボリュームに移行する移行処理を実行する移行処理部と
    を備え、
    前記移行処理の際、前記第一の暗号化機能は、データの暗号化に使用した暗号鍵を前記第一の外部ストレージサブシステムから取得し、その取得した暗号鍵を前記暗号鍵登録部により前記記憶領域に登録し、
    前記判定部は、前記移行処理において、前記第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行い、
    前記移行処理部は、
    (A)前記第二の判定の結果が肯定的の場合、
    (a1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化することを前記暗号処理部に実行させ、
    (a2)前記記憶領域の暗号鍵を前記第二の外部ストレージサブシステムに送信し、前記第一の外部論理ボリュームの暗号データが前記(a1)において復号化されることにより得られたデータを、前記暗号処理部に暗号化させることなく前記第二の外部ストレージサブシステムに送信し、それにより、前記第二の暗号化機能に、前記送信された暗号鍵を用いて、前記復号化されたデータを暗号化させ、
    (B)前記第二の判定の結果が否定的の場合、
    (b1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化することを前記暗号処理部に実行させ、
    (b2)前記第一の外部論理ボリュームの暗号データが前記(b1)において復号化されることにより得られたデータを、前記記憶領域の暗号鍵を用いて前記暗号処理部に暗号化させ、該暗号化により得られた暗号データを、前記第二の外部ストレージサブシステムに送信し、
    前記ストレージ仮想化部は、少なくとも前記移行処理の完了した後、前記第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供する
    ストレージ仮想化装置。
  2. 前記上位インタフェース部が、前記第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記移行処理により移行された後、前記第二の外部論理ボリュームを指定したリード要求を受信し、
    前記判定部が、前記第一の判定として、前記受信したリード要求で指定されている前記第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行い、
    前記I/O処理部が、前記第二の外部ストレージサブシステムに第二の暗号化機能が無いならば、前記リード要求に応答して、前記第二の外部論理ボリュームから暗号データを読み出すことのリード要求を前記第二の外部ストレージサブシステムに送信し、前記第二の外部論理ボリュームから読み出された暗号データを前記外部インタフェース部が受信し前記キャッシュ部がその暗号データを前記キャッシュ領域に記憶させた後、前記記憶領域に登録された暗号鍵を用いて前記キャッシュ領域上の暗号データを復号化することを前記暗号処理部に実行させ、該復号化により得られたデータを、前記上位インタフェース部を通じて前記上位装置に送信する、
    請求項1記載のストレージ仮想化装置。
  3. 前記上位インタフェース部が、前記第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記移行処理により移行された後、前記第二の外部論理ボリュームを指定したライト要求を受信し、
    前記判定部が、前記第一の判定として、前記受信したライト要求で指定されている前記第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行い、
    前記I/O処理部が、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記記憶領域に登録されている暗号鍵を用いて暗号化することを前記暗号処理部に実行させ、その暗号化により得られた暗号データを前記第二の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第二の外部ストレージサブシステムに送信する、
    請求項1又は2記載のストレージ仮想化装置。
  4. 前記記憶領域に記憶されている暗号鍵を定期的に又は不定的に変更する暗号鍵変更部、を更に備え、
    前記移行処理部は、前記記憶領域に記憶されている暗号鍵が変更されることを契機として、前記移行処理を行う、
    請求項1乃至3のうちのいずれか1項に記載のストレージ仮想化装置。
  5. 前記上位インタフェース部が、前記上位装置からデータのリード要求を受信し、
    前記判定部が、前記受信したリード要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行い、
    前記I/O処理部が、前記リード要求に応答して、前記第一の外部論理ボリュームからデータを読み出すことのリード要求を前記第一の外部ストレージサブシステムに送信し、前記外部インタフェース部が前記第一の外部ストレージサブシステムからデータを受信し前記キャッシュ部がそのデータを前記キャッシュ領域に記憶させた後、前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータをそのまま前記上位インタフェース部を通じて前記上位装置に送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上の暗号データを前記暗号処理部に復号化させ、該復号化により得られたデータを前記上位インタフェース部を通じて前記上位装置に送信する、
    請求項1乃至4のうちのいずれか1項に記載のストレージ仮想化装置。
  6. ストレージ仮想化装置と、
    第一の外部論理ボリュームを有する第一の外部ストレージサブシステムと、
    第二の外部論理ボリュームを有する第二の外部ストレージサブシステムと
    を備え、
    前記ストレージ仮想化装置が、
    前記第一の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供するストレージ仮想化部と、
    データを暗号化する暗号処理部と、
    前記暗号処理部がデータの暗号化に使用した電子的な鍵である暗号鍵を記憶領域に登録する暗号鍵登録部と、
    キャッシュ領域と、
    上位装置に対するインタフェースであって、前記上位装置からデータのライト要求を受信する上位インタフェース部と、
    外部ストレージサブシステムに対するインタフェースである外部インタフェース部と、
    前記上位インタフェース部及び/又は前記外部インタフェース部で受信したデータを前記キャッシュ領域に記憶させるキャッシュ部と、
    前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行う判定部と、
    前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることなく、そのデータを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信するI/O処理部と
    前記第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームに移行する移行処理を実行する移行処理部とを備え、
    前記移行処理の際、前記第一の暗号化機能は、データの暗号化に使用した暗号鍵を前記第一の外部ストレージサブシステムから取得し、その取得した暗号鍵を前記暗号鍵登録部により前記記憶領域に登録し、
    前記判定部は、前記第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行い、
    前記移行処理部は、前記第二の判定の結果が肯定的であるか否定的であるかに基づいて、前記移行処理を制御し、
    前記移行処理部は、
    (A)前記第二の判定の結果が肯定的の場合、
    (a1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化することを前記暗号処理部に実行させ、
    (a2)前記記憶領域の暗号鍵を前記第二の外部ストレージサブシステムに送信し、前記第一の外部論理ボリュームの暗号データが前記(a1)において復号化されることにより得られたデータを、前記暗号処理部に暗号化させることなく前記第二の外部ストレージサブシステムに送信し、それにより、前記第二の暗号化機能に、前記送信された暗号鍵を用いて、前記復号化されたデータを暗号化させ、
    (B)前記第二の判定の結果が否定的の場合、
    (b1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化することを前記暗号処理部に実行させ、
    (b2)前記第一の外部論理ボリュームの暗号データが前記(b1)において復号化されることにより得られたデータを、前記記憶領域の暗号鍵を用いて前記暗号処理部に暗号化させ、該暗号化により得られた暗号データを、前記第二の外部ストレージサブシステムに送信し、
    前記ストレージ仮想化部は、少なくとも前記移行処理の完了した後、前記第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供する
    ストレージシステム。
  7. 外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムと外部に存在する第二のストレージサブシステムである第二の外部ストレージサブシステムとに接続されたストレージ仮想化装置の制御方法であって、
    上位装置から受信したライト要求に従うデータをキャッシュ領域に記憶させ、
    前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行い、
    前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記ストレージ仮想化装置の暗号化機能で暗号化すること無く前記ストレージ仮想化装置から前記前記第一の外部ストレージサブシステムに送信し、
    前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記記憶領域の暗号鍵を用いて暗号化し、その暗号化により得られた暗号データを、前記第一の外部ストレージサブシステムに送信し、
    前記第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームに移行する移行処理を実行する際に、
    前記第一の暗号化機能がそのデータの暗号化に使用した暗号鍵を前記第一の外部ストレージサブシステムから取得し、その取得した暗号鍵を登録し、
    前記第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行い、
    (A)前記第二の判定の結果が肯定的の場合、
    (a1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化し、
    (a2)前記記憶領域の暗号鍵を前記第二の外部ストレージサブシステムに送信し、前記第一の外部論理ボリュームの暗号データが前記(a1)において復号化されることにより得られたデータを、暗号化することなく前記第二の外部ストレージサブシステムに送信し、それにより、前記第二の暗号化機能に、前記送信された暗号鍵を用いて、前記復号化されたデータを暗号化させ、
    (B)前記第二の判定の結果が否定的の場合、
    (b1)前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域の暗号鍵を用いて該暗号データを復号化し、
    (b2)前記第一の外部論理ボリュームの暗号データが前記(b1)において復号化されることにより得られたデータを、前記記憶領域の暗号鍵を用いて暗号化し、該暗号化により得られた暗号データを、前記第二の外部ストレージサブシステムに送信し、
    少なくとも前記(A)及び(B)の移行処理の完了した後、前記第二の外部論理ボリュームを前記ストレージ仮想化装置の論理ボリュームとして上位装置に提供する
    記憶制御方法。
JP2007087531A 2007-03-29 2007-03-29 暗号化機能を備えたストレージ仮想化装置 Expired - Fee Related JP5117748B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007087531A JP5117748B2 (ja) 2007-03-29 2007-03-29 暗号化機能を備えたストレージ仮想化装置
US11/968,690 US8422677B2 (en) 2007-03-29 2008-01-03 Storage virtualization apparatus comprising encryption functions
EP08250088A EP1975838A3 (en) 2007-03-29 2008-01-09 Storage virtualization apparatus comprising encryption functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007087531A JP5117748B2 (ja) 2007-03-29 2007-03-29 暗号化機能を備えたストレージ仮想化装置

Publications (2)

Publication Number Publication Date
JP2008250393A JP2008250393A (ja) 2008-10-16
JP5117748B2 true JP5117748B2 (ja) 2013-01-16

Family

ID=39590885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007087531A Expired - Fee Related JP5117748B2 (ja) 2007-03-29 2007-03-29 暗号化機能を備えたストレージ仮想化装置

Country Status (3)

Country Link
US (1) US8422677B2 (ja)
EP (1) EP1975838A3 (ja)
JP (1) JP5117748B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599279B2 (en) 2021-01-22 2023-03-07 Hitachi, Ltd. Information processing system and data transfer method

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4892382B2 (ja) * 2007-03-27 2012-03-07 株式会社日立製作所 記憶装置及びデータ管理方法
US20080244275A1 (en) * 2007-03-30 2008-10-02 Motorola, Inc. Instruction Transform for the Prevention and Propagation of Unauthorized Code Injection
US8341459B2 (en) * 2007-08-01 2012-12-25 Brocade Communications Systems, Inc. Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire
JP5134894B2 (ja) * 2007-09-07 2013-01-30 株式会社日立製作所 ストレージ装置及び暗号鍵変更方法
JP4848443B2 (ja) * 2009-04-22 2011-12-28 株式会社日立製作所 暗号化/復号化機能を有するストレージシステムを制御する計算機
WO2010122600A1 (en) * 2009-04-22 2010-10-28 Hitachi, Ltd. Storage system, control method therefor, and program
EP2304919B1 (en) * 2009-05-25 2013-07-24 Hitachi, Ltd. Storage device and its control method
US9734356B2 (en) * 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
US8195956B2 (en) * 2009-08-17 2012-06-05 Brocade Communications Systems, Inc. Re-keying data in place
WO2011027388A1 (en) 2009-09-02 2011-03-10 Hitachi,Ltd. Storage system and control method
US20110113259A1 (en) * 2009-11-10 2011-05-12 Brocade Communication Systems, Inc. Re-keying during on-line data migration
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US8489893B2 (en) 2010-01-29 2013-07-16 Hewlett-Packard Development Company, L.P. Encryption key rotation messages written and observed by storage controllers via storage media
US9032218B2 (en) * 2010-01-29 2015-05-12 Hewlett-Packard Development Company, L.P. Key rotation for encrypted storage media using a mirrored volume revive operation
US8943328B2 (en) * 2010-01-29 2015-01-27 Hewlett-Packard Development Company, L.P. Key rotation for encrypted storage media
JP5481354B2 (ja) * 2010-11-18 2014-04-23 京セラドキュメントソリューションズ株式会社 情報処理装置
US8819371B2 (en) * 2011-10-07 2014-08-26 Hitachi, Ltd. Storage system
EP2764440B1 (en) 2011-10-07 2021-02-17 Hitachi, Ltd. Storage system
WO2013088485A1 (en) * 2011-12-16 2013-06-20 Hitachi, Ltd. Computer system and volume migration control method using the same
JP2013131158A (ja) * 2011-12-22 2013-07-04 Fujitsu Ltd 自動仮想化プログラム、自動仮想化方法及び情報処理装置
US9973335B2 (en) * 2012-03-28 2018-05-15 Intel Corporation Shared buffers for processing elements on a network device
US9189647B2 (en) * 2012-04-24 2015-11-17 Nec Corporation Encrypted database system, linking method, and medium
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
CN104364882B (zh) * 2013-05-29 2018-11-16 Ev 集团 E·索尔纳有限责任公司 用以接合衬底的装置及方法
JP6117068B2 (ja) * 2013-09-20 2017-04-19 株式会社東芝 情報処理装置、およびプログラム
EP3032453B1 (en) * 2014-12-08 2019-11-13 eperi GmbH Storing data in a server computer with deployable encryption/decryption infrastructure
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US11552781B2 (en) * 2019-04-05 2023-01-10 Honeywell International Inc. Using error detection bits for cryptographic integrity and authentication
US20220209959A1 (en) * 2020-12-26 2022-06-30 Intel Corporation Isa support for programming hardware over untrusted links
JP2022144400A (ja) * 2021-03-19 2022-10-03 株式会社東芝 磁気ディスク装置
US11983281B2 (en) * 2021-06-09 2024-05-14 EMC IP Holding Company LLC Using INQ to optimize end-to-end encryption management with backup appliances

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US20020095557A1 (en) * 1998-06-22 2002-07-18 Colin Constable Virtual data storage (VDS) system
US8099758B2 (en) * 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US7240197B1 (en) * 2000-07-18 2007-07-03 Hitachi, Ltd. Method and apparatus for encryption and decryption in remote data storage systems
US6889329B1 (en) * 2000-07-28 2005-05-03 Sun Microsystems, Inc. Adding secure external virtual memory to smart cards
GB2385951A (en) * 2001-09-21 2003-09-03 Sun Microsystems Inc Data encryption and decryption
US20030120676A1 (en) * 2001-12-21 2003-06-26 Sanrise Group, Inc. Methods and apparatus for pass-through data block movement with virtual storage appliances
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP4777651B2 (ja) * 2002-08-23 2011-09-21 イグジット−キューブ,インク. コンピュータシステム及びデータ保存方法
WO2004032039A1 (ja) * 2002-10-04 2004-04-15 Sony Corporation データ管理システム及びデータ管理方法、仮想メモリ装置及び仮想メモリの制御方法、リーダ/ライタ装置、並びにicモジュール・アクセス装置及びicモジュールのアクセス制御方法
CN100481031C (zh) 2003-02-07 2009-04-22 松下电器产业株式会社 终端装置及其数据保护系统和数据保护方法
JP4663992B2 (ja) * 2003-02-07 2011-04-06 パナソニック株式会社 端末装置及びそれを備えたデータ保護システム
JP4136812B2 (ja) * 2003-07-01 2008-08-20 キヤノン株式会社 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
JP4698982B2 (ja) 2004-04-06 2011-06-08 株式会社日立製作所 暗号処理を行うストレージシステム
KR100589541B1 (ko) * 2004-11-25 2006-06-14 소프트캠프(주) 접근이 통제되는 가상디스크들 간의 온라인을 통한데이터의 보안전송시스템과 이를 통한 보안전송방법
JP4669708B2 (ja) * 2005-02-16 2011-04-13 株式会社日立製作所 ストレージシステム、データ移動方法及び管理計算機
JP4244351B2 (ja) 2005-09-22 2009-03-25 ローム株式会社 信号処理装置および信号記憶システム
JP4550717B2 (ja) * 2005-10-28 2010-09-22 富士通株式会社 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
JP4877962B2 (ja) * 2006-10-25 2012-02-15 株式会社日立製作所 暗号化機能を備えたストレージサブシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599279B2 (en) 2021-01-22 2023-03-07 Hitachi, Ltd. Information processing system and data transfer method

Also Published As

Publication number Publication date
EP1975838A2 (en) 2008-10-01
US20080240434A1 (en) 2008-10-02
JP2008250393A (ja) 2008-10-16
US8422677B2 (en) 2013-04-16
EP1975838A3 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
JP5117748B2 (ja) 暗号化機能を備えたストレージ仮想化装置
JP4877962B2 (ja) 暗号化機能を備えたストレージサブシステム
JP4428993B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4990066B2 (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US8423796B2 (en) Storage device and data processing method of storage device
US8301909B2 (en) System and method for managing external storage devices
JP3633436B2 (ja) コンピュータシステム
US20080126813A1 (en) Storage control device and method of controlling encryption function of storage control device
US7660946B2 (en) Storage control system and storage control method
US8250317B2 (en) Storage system managing information in accordance with changes in the storage system configuration
US7139871B2 (en) Method of managing storage system to be managed by multiple managers
US7752409B2 (en) Storage system and computer system and processing method thereof
JP2009151401A (ja) 暗号機能を有するストレージ装置におけるボリューム管理方法
JP2009032038A (ja) リムーバブルな暗号化/復号化モジュールが接続されるストレージシステム
JP2008134712A (ja) ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
US20090327758A1 (en) Storage apparatus and data processing method for storage apparatus
US20090177895A1 (en) Controller for controlling logical volume-related settings
JP7354355B1 (ja) ストレージシステムおよび暗号演算方法
JP2004362600A (ja) 記憶制御装置及び記憶システム
JP2007250009A (ja) 記憶制御装置及び記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5117748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees