JP2008108039A - 暗号化機能を備えたストレージサブシステム - Google Patents

暗号化機能を備えたストレージサブシステム Download PDF

Info

Publication number
JP2008108039A
JP2008108039A JP2006289725A JP2006289725A JP2008108039A JP 2008108039 A JP2008108039 A JP 2008108039A JP 2006289725 A JP2006289725 A JP 2006289725A JP 2006289725 A JP2006289725 A JP 2006289725A JP 2008108039 A JP2008108039 A JP 2008108039A
Authority
JP
Japan
Prior art keywords
storage
processing unit
data
encryption key
logical
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.)
Granted
Application number
JP2006289725A
Other languages
English (en)
Other versions
JP4877962B2 (ja
Inventor
Manabu Kitamura
学 北村
Naoto Matsunami
直人 松並
Tokai Morino
東海 森野
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 JP2006289725A priority Critical patent/JP4877962B2/ja
Priority to US11/638,380 priority patent/US20080101605A1/en
Publication of JP2008108039A publication Critical patent/JP2008108039A/ja
Application granted granted Critical
Publication of JP4877962B2 publication Critical patent/JP4877962B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2315Data placement on disk arrays using interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】第一のストレージサブシステムのストレージ装置の内外に格納されるデータを暗号化するのに必要な、コントローラの処理負担を抑える。
【解決手段】第一のストレージサブシステムに、暗号処理部を内蔵した第一のストレージ装置と、暗号処理部及びアクセス制御部を有したコントローラとを備える。アクセス制御部は、上位装置からのライト要求を処理した場合の書込み先が、第一の論理ボリュームと第二の論理ボリュームのいずれになるかを判断し、第一の論理ボリュームになると判断した場合、ライト対象データを、コントローラの暗号処理部で暗号化することなく、第一の論理ボリュームに対応した第一のストレージ装置に送信し、一方、第二の論理ボリュームになると判断した場合、ライト対象データを、コントローラの暗号処理部によって暗号化した上で、第二のストレージサブシステムに送信する。
【選択図】図36

Description

本発明は、複数のストレージ装置を備えたストレージサブシステムに関する。
企業等の組織では、多量のデータを管理するために、ホスト計算機(以下「ホスト」)とは別に構成されたストレージサブシステムを用いている。このようなストレージサブシステムは、例えば、ハードディスクドライブ等のストレージ装置を多数内蔵しており、コントローラにより、大容量の記憶領域をホストに提供することができる。
ストレージサブシステムには、例えば、個人の住所及び氏名等の個人情報や信用状態に関する情報等のような各種の重要な情報が記憶される。従って、重要情報を秘密に管理して、不正なアクセス等を防止するための技術が求められている。
データを保護するために、暗号化技術を用いる場合がある。ホストの内部でデータを暗号化して、この暗号化されたデータをストレージサブシステムに送信して記憶させることにより、暗号化されたデータの第三者による不正な使用を防止することができる。
しかし、ホストの内部でデータを暗号化すると、ホストのデータ処理負荷が大きくなってしまい、ホスト上で動作しているアプリケーションプログラムの性能等にも悪影響を与えることになる。
そこで、例えば文献1(特開2005−322201号)に、ストレージサブシステムの内部でデータの暗号化を行うことができるようにした技術が提案されている。
特開2005−322201号公報
ストレージサブシステムのコントローラが、ホストからライト要求を受信する都度に、該ライト要求に従うライト対象データを暗号化して、ストレージ装置に格納する方法が考えられる。しかし、この方法では、ストレージサブシステムが暗号化をせずにライト対象データを格納する場合に比して、コントローラの負荷が大きく、コントローラの性能(例えばライト要求の処理速度)が劣化してしまう。ストレージサブシステムは、大容量の記憶領域を提供することから、短い時間にたくさんのデータを受けることがあり、特にその場合には、それらたくさんのデータをコントローラの性能劣化を抑えて暗号化するのは困難である。
また、ホストからライト要求を受信する第一のストレージサブシステムに、第二のストレージサブシステムを接続し、第一のストレージサブシステムから第二のストレージサブシステムにデータをコピーする技術が知られている。この他にも、第一のストレージサブシステムがホストから受けたデータを、第二のストレージサブシステムに送信する場合がある。これらのケースでは、該第二のストレージサブシステムでも、データの保護のために、該データが暗号化されていることが望ましい。
従って、本発明の目的は、第一のストレージサブシステムのストレージ装置の内外に格納されるデータを暗号化するのに必要な、コントローラの処理負担を抑えることにある。
本発明のさらなる目的は、後の記載から明らかになるであろう。
第一のストレージサブシステムに備える複数の第一のストレージ装置は、暗号処理部を内蔵したストレージ装置にする。それら複数の第一のストレージ装置を基に、第一の論理ボリュームを用意する。一方、第二のストレージサブシステムには、複数の第二のストレージ装置があり、該複数の第二のストレージ装置を基に、第二の論理ボリュームが用意されている。
第一のストレージサブシステムに、暗号処理部及びアクセス制御部を有したコントローラを備える。アクセス制御部は、上位装置(例えばホスト計算機或いは他のストレージサブシステム)から受信したライト要求に従うデータの書込みを制御するものである。
アクセス制御部は、上位装置からのライト要求を処理した場合の書込み先が、第一の論理ボリュームと第二の論理ボリュームのいずれになるかを判断する。
書込み先が第一の論理ボリュームになると判断した場合、アクセス制御部は、該ライト要求に従うライト対象データを、コントローラの暗号処理部で暗号化することなく、第一の論理ボリュームに対応した第一のストレージ装置に送信する。これにより、そのライト対象データは、該第一のストレージ装置の暗号化処理部により暗号化されて、該第一のストレージ装置に格納される。
一方、書込み先が第二の論理ボリュームになると判断した場合、アクセス制御部は、ライト対象データを、コントローラの暗号処理部によって暗号化した上で、第二のストレージサブシステムに送信する。
アクセス制御部及び暗号処理部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
本発明によれば、第一のストレージサブシステムのストレージ装置の内外に格納されるデータを暗号化するのに必要な、コントローラの処理負担を抑えることができる。
以下、図面を参照して本発明の幾つかの実施形態を説明する。
<第一の実施形態>。
図36は、本発明の第一の実施形態の概念の説明図である。
第一のストレージサブシステム973は、第二のストレージサブシステム1973と通信可能に接続されている。第二のストレージサブシステム1973は、複数の第二のストレージ装置1979と、複数の第二のストレージ装置1979を基に用意された第二の論理ボリューム1985と、第二のコントローラ1974とを備える。第二のコントローラ1974は、第二の論理ボリューム1985に対するアクセス要求(ライト要求/リード要求)を処理することにより、該第二の論理ボリューム1985の基になっている各第二のストレージ装置1979に対しデータのライト或いはリードを要求する。それにより、各第二のストレージ装置1979にデータをライトする或いはリードすることができる。
第一のストレージサブシステム973は、複数の第一のストレージ装置979と、複数の第一のストレージ装置979を基に用意された第一の論理ボリューム985と、第一のコントローラ974とを備える。
各第一のストレージ装置979には、装置暗号/復号処理部(以下、暗号化(encryption)/復号化(decryption)を略して「装置E/D部」と略記する)981が内蔵されている。第一のストレージ装置979がライトの要求と共に受信したデータ(後述の平文)は、装置E/D部981によって暗号化されてから、該第一のストレージ装置979のストレージ媒体989に書かれるようになっている。また、第一のストレージ装置979が受信したリードの要求に従ってストレージ媒体989から読み出されたデータ(後述の暗号文)は、装置E/D部981によって復号化されてから、該第一のストレージ装置979から第一のコントローラ974に送られるようになっている。
第一のコントローラ974は、キャッシュ領域977と、コントローラ暗号/復号処理部(以下、「コントローラE/D部」と略記する)975とを有する。第一のコントローラ974は、上位装置971からライト要求を受信し処理する。以下の説明では、その受信したライト要求のライト対象データを、「平文」と呼ぶことにする。該ライト対象データは、上位装置971の特定のレイヤ(例えばアプリケーションプログラム或いはオペレーティングシステム)で何らかの暗号化処理が施されているかもしれないが、それでも、第一のストレージサブシステム973が受信してから未だ暗号化されていないという意味で、上記のように、「平文」と呼ぶことにする。それに対し、該平文が、第一のストレージサブシステム973で暗号化されたものを、「暗号文」と呼ぶことにする。
第一のコントローラ974は、上位装置971から受信したライト要求に従う平文を、キャッシュ領域977に一時格納する。第一のコントローラ974は、該ライト要求を処理した場合の書込み先が、第一の論理ボリューム985と第二の論理ボリューム1985のいずれになるかを判断する。
第一のコントローラ974は、書込み先が第一の論理ボリューム985になると判断したならば、キャッシュ領域977上の平文を、コントローラE/D部975で暗号化することなく、第一の論理ボリューム985の基になっている第一のストレージ装置979に送信する。これにより、該第一のストレージ装置979が受信した平文が、該第一のストレージ装置979の装置E/D部981によって暗号化されることで暗号文となり、該暗号文が、該第一のストレージ装置979のストレージ媒体989に書かれる。
一方、第一のコントローラ974は、書込み先が第二の論理ボリューム1985になると判断したならば、キャッシュ領域977上の平文を、コントローラE/D部975で暗号化し(つまり、平文を暗号文にし)、第二の論理ボリューム1985を指定したライト要求と該暗号文とを、第二のストレージサブシステム1973に送信する。これにより、第二のコントローラ1974が、該ライト要求を処理することで、該暗号文が、該ライト要求で指定した第二の論理ボリューム1985の基になっている第二のストレージ装置1979に書かれる。
以上の処理により、第一のコントローラ974による暗号化の処理負担をなるべく低減させることができる。
第一のコントローラ974は、第一の論理ボリューム985と第二の論理ボリューム1985とでボリュームペアを形成し、第一の論理ボリューム985に格納済みの暗号文を、第二の論理ボリューム1985にコピーすることができる。具体的には、第一のコントローラ974は、該第一の論理ボリューム985の基になっている各第一のストレージ装置979の装置E/D部981に復号化を行わせないで各第一のストレージ装置979からデータ(暗号文)を読み出し、キャッシュ領域977に一時格納する。そして、第一のコントローラ974は、キャッシュ領域977上のその暗号文を、コントローラE/D部975で暗号化することなく、第二の論理ボリューム1985にコピーする。これにより、第一のコントローラ974による暗号化のオーバーヘッドを減らすことができる。なお、第一のストレージ装置979からの暗号文の読出しや第二の論理ボリューム1985への該暗号文の格納は、第二のコントローラ1974が主体になって実行しても良い。
以上が、第一の実施形態の概要である。なお、前述したE/D部975、981は、暗号化を行う部分と復号化を行う部分が物理的に分離していても良い。E/D部975、981は、ハードウェア(例えばLSI(Large Scale Integration)等の回路)、コンピュータプログラム、又はそれらの組み合わせで実現したエンジンとすることができる。
以下、第一の実施形態について詳細に説明する。なお、以下の説明では、E/D部は、ハードウェアであるとする。また、以下の説明では、第一のストレージ装置も第二のストレージ装置も、ハードディスクドライブ(以下、HDD)とし、それ故、ストレージ媒体は、ハードディスクとする。しかし、いずれのストレージ装置も、HDDに限らず、他種のストレージ装置、例えば、DVD(Digital Versatile Disks)ドライブ、磁気テープドライブ、或いはフラッシュメモリデバイスなどを採用することができる。そのため、ストレージ媒体としても、ハードディスクに限らず、他種のストレージ媒体、例えば、DVD、磁気テープ或いはフラッシュメモリなどを採用することができる。
図1は、本発明の第一実施形態に係る計算機システムの物理的な構成例を示す。
複数のFC(Fibre Channel)スイッチ5、5´によりSAN(Storage Area Network)が構築されている。FCスイッチ5に、複数(又は一つ)のホスト計算機(以下、ホスト)4と、ストレージサブシステム1のホストアダプタ11と、FCスイッチ5´とが接続されている。FCスイッチ5´に、ストレージサブシステム1の外部アダプタ12と、セカンダリストレージサブシステム3と、外部ストレージサブシステム2とが接続されている。セカンダリストレージサブシステム3及び外部ストレージサブシステム2は、それぞれ、第二のストレージサブシステム1973の一種である。
ストレージサブシステム1は、例えば、アレイ状に配列された多数のHDD16を備えるRAID(Redundant Array of Independent (or Inexpensive) Disks)システムとすることができる。但し、これに限らず、ストレージサブシステム1を、通信ネットワークを構成するスイッチ、例えば、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。
ストレージサブシステム1は、複数のHDD16に接続されたコントローラ974を有する。コントローラ974の機能が、FCスイッチ5に搭載され、それにより、FCスイッチ5と複数のHDD16の組み合わせによりストレージサブシステム1が実現されても良い。コントローラ974は、例えば、複数のチャネルアダプタ(以下、CHA)11、12と、複数のディスクアダプタ(以下、DKA)13と、キャッシュ/制御メモリ14と、内部スイッチ15とを備えている。
CHA11、12は、外部の装置(例えばホスト計算機或いは他のストレージサブシステム)と通信可能に接続される一又は複数のI/F(例えば、通信ポート或いは通信ポートを備えた通信制御回路)113、123を有し、外部の装置との間のデータ通信を行うものである。本実施形態では、CHA11は、ホスト計算機14と通信するアダプタということで、「ホストアダプタ」と呼ぶ。CHA12は、外部ストレージサブシステム2やセカンダリストレージサブシステム3等の外部に存在するストレージサブシステムと通信するアダプタということで、「外部アダプタ」と呼ぶ。ホストアダプタ11や外部アダプタ12は、CPU111、121やメモリ112、122等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成されている。ホストアダプタ11及び外部アダプタ12は、一体になっていてもよい。
外部アダプタ12のI/F123には、この外部アダプタ12に入力されたデータの暗号化及び復号化を行うコントローラE/D部124が設けられる。コントローラE/D部124は、例えば、ストレージサブシステム1の内部(例えば内部スイッチ15)から入力されたデータを暗号化し、ストレージサブシステム1の外部(例えばFCスイッチ5´)から入力されたデータを復号化するように構成されている。
ホストアダプタ11も、外部アダプタ12と同じハードウェア構成であっても良い。その際、ホストアダプタ11に、該ホストアダプタ11に入出力されるデータを暗号化/復号化しないような設定をしておく(例えば、メモリ112或いはコントローラE/D部に所定のフラグをセットする)ことで、ホストアダプタ11の該コントローラE/D部に、該ホストアダプタ11に入出力されるデータを暗号化及び復号化しないようにすることができる。
DKA13は、各HDD16に接続するための通信ポート(例えばFCポート)133を有し、その通信ポート133を介して、HDD16と通信することができる。DKA13は、CPU131やメモリ132等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成されている。DKA22は、CHA11、12からキャッシュ/制御メモリ14のキャッシュ領域に書かれたデータをHDD16に書込んだり、HDD16から読み出したデータをキャッシュ領域に書込んだりすることができる。
キャッシュ/制御メモリ14は、例えば揮発性又は不揮発性のメモリである。キャッシュ/制御メモリ14は、キャッシュ領域と制御領域とを有したメモリである。キャッシュ領域を有したメモリと制御領域を有したメモリとに分離していても良い。キャッシュ領域には、外部の装置(例えばホスト4や外部ストレージサブシステム2など)から受信したデータや、HDD16から読出されたデータが一時的に格納される。制御領域には、ストレージサブシステム1での制御に関する情報(以下、制御情報)が格納される。制御情報には、後述する各種テーブルがある。
内部スイッチ15は、例えばクロスバスイッチであり、CHA11,12、DKA13、キャッシュ/制御メモリ14を相互に接続させる。内部スイッチ15に代えて、バスなどの他種の接続部が採用されても良い。
内部スイッチ15には、例えば管理端末6が接続される。管理端末6は、ストレージサブシステム1を管理するための計算機である。管理端末6は、例えば、キャッシュ/制御メモリ14の制御領域に、後述する各種テーブルを格納することができる。なお、管理端末6が行う機能は、ホスト4に搭載されても良い。すなわち、ホスト4から、後述する各種テーブルを格納しても良い。
以上が、本発明の第一実施形態に係る計算機システムの物理的な構成例の説明である。これは、例であり、この計算機システムの構成に限定する必要は無い。例えば、コントローラ974は、もっと簡易な構成、例えば、一つの回路基盤にCPUとメモリを備えた構成となっていても良い。
図2は、本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。
ホストアダプタ11には、CPU111に実行されるコンピュータプログラムとして、例えば、コマンド処理部901とリモートコピー処理部902とがある。外部アダプタ12には、CPU121に実行されるコンピュータプログラムとして、例えば、外部I/O処理部903がある。DKA13には、CPI131に実行されるコンピュータプログラムとして、例えば、論理物理変換部911とディスクI/O処理部913とがある。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。各コンピュータプログラムの動作については後に詳述する。
図3Aは、HDD16の構成例を示す。
HDD16は、ハードディスク927と、該ハードディスク927に対するデータの読み書きを制御するHDDコントローラ925とを備える。HDDコントローラ925には、例えば、ハードディスク927に対するデータの読み書きを制御するI/O処理部923に加えて、装置E/D部921が備えられている。この実施形態では、I/O処理部923は、HDDコントローラ925上の図示しないCPUによって実行されるコンピュータプログラムとすることができる。装置E/D部921は、内部に記憶域(図示せず)を有しており、該記憶域に、図3Bに例示する鍵管理テーブル160が記憶される。
図3Bは、鍵管理テーブル160の構成例を示す。
鍵管理テーブル160は、この鍵管理テーブル160を備えるHDD16のハードディスク927における各物理アドレス範囲(例えば論理ブロックアドレス(LBA)範囲)と、各物理アドレス範囲に対応した暗号鍵との対応関係を管理するためのテーブルである。具体的には、このテーブル160には、インデックス番号が書かれるカラム161と、電子的な情報である暗号鍵が格納されるカラム162と、物理アドレス範囲の先頭アドレスが書かれるカラム163と、物理アドレス範囲の終端アドレスがカラム164とがある。
装置E/D部921は、内部の記憶域に設定されているこの鍵管理テーブル160から、ハードディスク927のアクセス先場所を含む物理アドレス範囲に対応した暗号鍵を特定することができる。装置E/D部921は、そのアクセス先場所に書かれるデータを、特定された暗号鍵で暗号化したり、そのアクセス先場所から読み出された暗号化済みデータを、特定された暗号鍵で復号化したりすることができる。
図4は、複数の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でも良い)。
一つのLDEVが、4つのHDD16−1〜16−4のそれぞれ同じ物理アドレス範囲にある4つの記憶空間部分により構成されている。このため、例えば、LDEV毎に1つの暗号鍵が対応付けられる場合、4つのHDD16−1〜16−4の各々の鍵管理テーブル160には、LDEVに対応した物理アドレス範囲と、該LDEVに対応した暗号鍵とが設定される。この図4の例では、3つのLDEVがあるので、各鍵管理テーブル160には、物理アドレス範囲及び暗号鍵のセットが3つ登録される。一つのLDEVに複数の暗号鍵が対応付けられる場合には、そのセットの数は3よりも多くなる。
本実施形態では、データの書込み先及び読出し元が、ストレージサブシステム1の外になる場合として、外部接続技術による外部接続で外部ストレージサブシステム2になる場合と、リモートコピー技術によるリモートコピーでセカンダリストレージサブシステム3になる場合とがある。
本実施形態で言う「外部接続技術」とは、コントローラ974が、外部ストレージサブシステム2の有する記憶資源をストレージサブシステム1の記憶資源としてホスト4に提供する技術である。以下に説明する外部接続技術は、一例であり、他種の外部接続技術、例えば、特開2005−107645号公報(US出願番号10/769805号、US出願番号11/471556号)に開示の技術を援用することができる。
本実施形態で言う「リモートコピー技術」とは、ストレージサブシステム1内の第一の論理ボリュームとセカンダリストレージサブシステム3内の第二の論理ボリュームとでボリュームペアを構成し、第一の論理ボリュームに格納されるデータを第二の論理ボリュームにコピーする技術である。以下に説明するリモートコピー技術も、一例であり、他種のリモートコピー技術が採用されても良い。
以下、図5〜図9を参照して、キャッシュ/制御メモリ14に格納される制御情報に含まれる種々のテーブルを説明する。
図5は、RAID構成テーブルの構成例を示す。
RAID構成テーブル400は、各VDEV毎のRAID構成を管理するためのテーブルである。具体的には、例えば、このテーブル400には、VDEVの識別番号が書かれるカラム401と、HDDの識別番号が書かれるカラム402と、RAIDレベルが書かれるカラム403と、ストライプサイズが書かれるカラム404とがある。すなわち、このテーブル400には、各VDEV毎に、VDEVの識別番号と、該VDEVを構成する複数のHDDの識別番号と、該VDEVのRAIDレベルと、ストライプサイズとが書かれる。
図6は、VDEV構成テーブルの構成例を示す。
VDEV構成テーブル500は、VDEVの構成を管理するためのテーブルである。具体的には、例えば、このテーブル500には、VDEVの識別番号が書かれるカラム501と、LDEVの識別番号が書かれるカラム502と、LDEVのVDEVにおける論理アドレス範囲の先頭アドレスが書かれるカラム503と、LDEVのVDEVにおける論理アドレス範囲の終端アドレスが書かれるカラム504とがある。すなわち、このテーブル500には、どのVDEVのどの論理アドレス範囲にどんな識別番号のLDEVが存在するかが書かれる。
図7は、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に対応付けられている暗号鍵とが書かれる。
この実施形態では、前述したように、ホスト4から指定される論理ボリュームを「LU」と言うが、具体的には、例えば、Fibre ChannelプロトコルでのWWN及びLUNが対応付けられた論理ボリュームをLUと言う。なお、例えば、メインフレームでは、WWN及びLUNのカラム602及び603は設けられなくても良い。
図8Aは、ポート構成テーブルの構成例を示す。
ポート構成テーブル450は、各I/F113、123の通信ポートの構成を管理するためのテーブルである。具体的には、例えば、このテーブル450には、通信ポートの識別子(例えばWWN)が書かれるカラム451と、通信ポートのステータスが書かれるカラム452とがある。ステータス"TARGET"とは、ホストアダプタ11のI/F113にある通信ポートを表し、ステータス"EXTERNAL"とは、外部アダプタ12のI/F123にある通信ポートを表す。一つのアダプタ11、12に、I/F113、123は、複数個存在しても良い。また、一つのI/F113、123に、通信ポートは複数個存在しても良い。
また、もし、ホストアダプタ11のI/F113にコントローラE/D部がある場合には、そのI/F113の通信ポートのステータスが"TARGET"になっているならば、該コントローラE/D部に暗号化及び復号化を実行させないようにすることができる。例えば、該コントローラE/D部の記憶域に、暗号化及び復号化の実行を禁止するためのフラグを設定しておくことで、該コントローラE/D部に暗号化及び復号化を実行させないようにすることができる。
図8Bは、EDEV情報テーブルの構成例を示す。
EDEV情報テーブル250は、各EDEVに関する情報を管理するためのテーブルである。具体的には、例えば、このテーブル250には、EDEVの識別番号が書かれるカラム251と、EDEVに対応付けられたWWN及びLUNがそれぞれ書かれるカラム252及び253とがある。
ここで、EDEVとは、External Deviceの略であり、外部ストレージサブシステム2に存在する一又は複数のHDDにより提供される記憶空間である。具体的には、例えば、EDEVは、外部ストレージサブシステム2に存在するVDEVのことである。EDEVは、本実施形態では、WWN及びLUNが対応付けられているため、ストレージサブシステム1においては、HDD16を基に用意されたものではない仮想的なLUである。
図9は、EDEV構成テーブルの構成例を示す。
EDEV構成テーブル650は、EDEVの構成を管理するためのテーブルである。具体的には、例えば、このテーブル650には、EDEVの識別番号が書かれるカラム651と、LDEVの識別番号が書かれるカラム652と、LDEVのEDEVにおける論理アドレス範囲の先頭アドレスが書かれるカラム653と、LDEVのEDEVにおける論理アドレス範囲の終端アドレスが書かれるカラム654とがある。すなわち、このテーブル650には、どのEDEVのどの論理アドレス範囲にどんな識別番号のLDEVが存在するかが書かれる。以下の説明では、EDEV内のLDEVとVDEV内のLDEVとを区別するために、EDEV内のLDEVを「外部LDEV」と呼び、VDEV内のLDEVを「内部LDEV」と呼ぶことがある。
外部LDEVの識別番号と、内部LDEVの識別番号は、それぞれ異なる番号が使用される。コマンド処理部901は、HDEV構成テーブル500及びEDEV構成テーブル650を参照することで、内部LDEV及び外部LDEVを識別することができる。
以上が、各種テーブルについての説明である。以下、本実施形態で行われる種々の処理の流れを説明する。
図10は、LDEV作成処理の流れの一例を示す。なお、図では、番号を「#」という記号で略記することがある(これは他の図についても同様)。
管理端末6の記憶資源は、ストレージサブシステム1や外部ストレージサブシステム2について種々の構成に関する情報(例えば、未使用のHDDの番号、サブシステムにおけるHDD全体の空き記憶容量、VDEVやEDEVの空き容量など)が記憶されている。
ステップ1001では、管理端末6のCPUで実行される所定のコンピュータプログラム(以下、管理プログラム)が、未使用領域(空き容量)のあるVDEV及びEDEVを、管理端末6のディスプレイ画面に表示する。或いは、管理プログラムは、HDD全体の空き空き記憶容量以下の容量を有したVDEV及び/又はEDEVの新規構築の指示を管理者から受け付けても良い。
ステップ1002では、管理プログラムは、VDEV或いはEDEVの選択と、容量、WWN及びLUNの指定とを受け付ける。
ステップ1003では、新規に作成するLDEV(以下、この図10の説明において「対象LDEV」と言う)のエントリがLU構成テーブル600に作成される。具体的には、例えば、管理プログラムが、選択されたVDEV或いはEDEVの識別番号、容量、WWN及びLUNと共に設定命令を送信する。ストレージサブシステム1におけるCPUで実行される所定のコンピュータプログラム(以下、便宜上、「テーブル構築プログラム」と言う)が、該設定命令に従って、容量、WWN及びLUNを、LU構成テーブル600に設定する。容量、WWN及びLUNが設定されたエントリを含む行における、LDEV番号(LDEVの識別番号)に対応したセルには、例えば、管理者により或いは自動で、管理者所望の或いは未使用のLDEV番号が書かれる。ここで書かれるLDEV番号は、内部LDEV或いは外部LDEVのLDEV番号である。対象LDEVが外部LDEVの場合、WWN及びLUNは、該外部LDEVを含むEDEVに対応付けられたWWN及びLUNとすることができる。
ステップ1004では、管理プログラム及び/又はテーブル構築プログラムが、対象LDEVについて、暗号化を選択するか否かを判断する(例えば、対象LDEVについて暗号化を選択するか否かを管理者から受け付ける)。暗号化を選択の場合、ステップ1005にすすみ、非暗号化を選択の場合、終了となる。
ステップ1005では、暗号鍵が指定される。ここで指定される暗号鍵は、管理プログラムが管理者から受け付けた暗号鍵であっても良いし、テーブル構築プログラムが所定の計算を行うことで決定した暗号鍵であっても良い。
ステップ1006では、テーブル構築プログラムが、管理者に選択されたものがVDEVであるかEDEVであるかを判断する。これは、例えば、管理プログラムからの上記通知から、選択されたVDEV或いはEDEVの識別番号を取得し、該識別番号が、VDEV構成テーブル500とEDEV構成テーブル650のどちらにあるのかを判断することで、行うことができる。VDEVと判断した場合、ステップ1007にすすみ、EDEVと判断した場合、ステップ1008にすすむ。
ステップ1007では、テーブル構築プログラムが、選択されたVDEVの空き領域と対象LDEVの容量とを基に、該VDEVにおける対象LDEVの論理アドレス範囲(例えば、VDEVにおける先頭LBAと終端LBA)を決定する。テーブル構築プログラムが、該VDEVを構成する各HDD16(VDEV構成テーブル500から特定されるHDD16)に接続されたDKA13のディスクI/O処理部913に、上記決定した論理アドレス範囲及び上記指定された暗号鍵を通知する。ディスクI/O処理部913が、論理物理変換部911に、通知された論理アドレス範囲を各HDD16の物理アドレス範囲に変換させる。ディスクI/O制御部913は、それにより得られた物理アドレス範囲(暗号化範囲)と、上記通知された暗号鍵と、インデックス番号(例えばディスクI/O処理部913によって決定されたインデックス番号)とを、各HDD16に送信する。それにより、各HDD16のI/O処理部923が、受信したインデックス番号、物理アドレス範囲及び暗号鍵を、鍵管理テーブル160に登録する。なお、ディスクI/O制御部913は、物理アドレス範囲及びインデックス番号を、DKA13のメモリ132に記憶しておき、HDD16にデータのリード要求を送信する場合には、読出し元の物理アドレスを含む物理アドレス範囲に対応したインデックス番号を指定することで、該指定したインデックス番号に対応する暗号鍵を用いた復号化を実行させても良い。また、「暗号化範囲」とは、HDD16のハードディスク927全体の物理アドレス範囲うち、暗号化する必要のある物理アドレス範囲、つまり、鍵管理テーブル160に設定されている物理アドレス範囲のことである。
ステップ1008では、テーブル構築プログラムが、ステップ1005で指定された暗号鍵を、LU構成テーブル600における、対象LDEVに対応したセルに登録する。
図11は、ホストアダプタ11がホスト4からI/O要求を受信した場合に実行される処理の流れの一例を示す。
ステップ1102では、コマンド処理部901が、ホスト4からのI/O要求(ライト要求或いはリード要求)で指定されているLUN及びWWNに対応したLDEV番号を特定する。LUN及びWWNが、内部LDEVに対応したものであれば、HDEV構成テーブル500(図6参照)から、LDEV番号を特定することができる。一方、LUN及びWWNが、EDEVに対応したものであれば、該EDEVをEDEV情報テーブル250(図8B参照)から特定し、且つ、受信したI/O要求で指定されている、該特定されたEDEVにおけるLBAを基に、該LBAを論理アドレス範囲として含む外部LDEVのLDEV番号を、EDEV構成テーブル650(図9参照)から特定することができる。
ステップ1103では、コマンド処理部901が、特定されたLDEV番号に対応するLDEVが、外部LDEVであるか内部LDEVであるかを判断する。外部LDEVであれば(ステップ1103でYES)、ステップ1104に進み、それにより、外部LDEV I/O処理が実行される。一方、内部LDEVであれば(ステップ1103でNO)、ステップ1105に進み、それにより、内部LDEV I/O処理が実行される。
図12は、内部LDEV I/O処理の流れの一例を示す。これは、内部LDEVが、RAID5の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要求を出し、ディスクI/O処理部913が、そのI/O要求を受ける。その要求は、キャッシュ/制御メモリ14の制御領域に書かれても良いし、DKA13に送信されても良い。そのDKA13は、各対象HDD16に接続されたDKA13である。該DAK13のディスクI/O処理部913が、受けたI/O要求中のLBAを対象物理アドレスに変換することを論理物理変換部911に実行させる。
ステップ1202では、コマンド処理部901が、受けたI/O処理が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ1203に進み、リード要求である場合には、ステップ1206に進む。なお、このステップ1202は、ステップ1201が終了する前に完了されても良い。
ステップ1203では、コマンド処理部901が、ホスト4からのライト要求に従う平文(ライト対象データ)を、キャッシュ/制御メモリ14のキャッシュ領域に格納する。
ステップ1204では、ディスクI/O処理部913が、対象内部LDEVから取得されたデータ及びパリティ(旧データ及び旧パリティ)と、キャッシュ領域上の平文(新規データ)を基に、新規パリティが生成される。
ステップ1205では、ディスクI/O処理部913が、対象物理アドレスを指定した、新規データ及び新規パリティのライト要求を、各対象HDD16に送信することにより、新規データ及び新規パリティを書込む。
ステップ1206では、ディスクI/O処理部913が、各対象HDD16に、対象物理アドレスを指定した通常リード要求を送信する。これにより、各対象HDD16から、暗号文が平文に変換されて読み出される。
ステップ1207では、ディスクI/O処理部913が、読み出されたデータ(平文)を、キャッシュ領域に格納する。
ステップ1208では、コマンド処理部901が、キャッシュ領域に格納されたデータを、ホスト4(図11のステップ1102で受信したリード要求の送信元)に送信する。
図13は、外部LDEV I/O処理の流れの一例を示す。この図13の説明では、アクセス先となる外部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では、コマンド処理部901が、受けたI/O処理が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ1303に進み、リード要求である場合には、ステップ1306に進む。
ステップ1303では、コマンド処理部901が、ホスト4からのライト要求に従う平文(ライト対象データ)を、キャッシュ/制御メモリ14のキャッシュ領域に格納する。
ステップ1304では、コマンド処理部901が、対象外部LDEVに対応する暗号鍵をLU構成テーブル600から特定し、特定した暗号鍵を、外部アダプタ12のコントローラE/D部124に通知する。これにより、コントローラE/D部124に、暗号鍵が設定される。
ステップ1305では、キャッシュ領域に格納された平文が、コントローラE/D部124によって暗号文にされ、該暗号文が外部ストレージサブシステム2に格納される。具体的には、例えば、コマンド処理部901が、対象EDEVアドレスと共に、外部ストレージサブシステム2へのライト要求の発行を、外部I/O処理部903に指示する。外部I/O処理部903が、キャッシュ領域から平文を読出し、対象EDEVアドレスを指定した、読み出した平文のライト要求を発行する。そのライト要求が、コントローラE/D部124を通過して外部ストレージサブシステム2に送信される。コントローラE/D部124は、例えば、I/O要求のデータ部分を暗号化/復号化するように構成されており、それ故、該ライト対象の対象EDEVアドレスは暗号化されず、データ部分である平文が暗号化されて、出力される。
ステップ1306では、ステップ1304と同じ処理が実行される。
ステップ1307では、外部ストレージサブシステム2からのデータリードが実行される。具体的には、例えば、コマンド処理部901が、対象EDEVアドレスと共に、外部ストレージサブシステム2へのリード要求の発行を、外部I/O処理部903に指示する。外部I/O処理部903が、対象EDEVアドレスを指定したリード要求を発行する。そのリード要求に応答して、外部アダプタ12のI/F123が、外部ストレージサブシステム2から暗号文を受信し、コントローラE/D部124により、上記設定された暗号鍵を用いた復号化が実行される。それにより、受信した暗号文が平文に変換される。外部I/O処理部903が、平文を、キャッシュ領域に格納する。
ステップ1308では、コマンド処理部901が、キャッシュ領域上のデータ(平文)を、ホスト4に送信する。
図14は、HDD16の書込み処理の一例を示す。
ステップ2000では、I/O処理部923が、対象物理アドレス(LBA)を指定したライト要求を受け、該ライト要求が、通常ライト要求か、非復号化ライト要求かを判断する。通常ライト要求とは、暗号化してライトすることの要求であり、非暗号化ライト要求とは、暗号化しないでライトすることの要求である。通常ライト要求であるか非暗号化ライト要求であるかは、例えば、DKA13から受信するライト要求(ライトコマンド(CDB(Command Descriptor Block)とも呼ばれる)中の特定バイト位置に、非暗号化ライト要求を意味するフラグが設定されているか否かにより、判断することが出来る。この場合には、ディスクI/O処理部913は、通常ライト要求を発行する場合には、ライト要求にそのフラグを設定しないで送信し、非暗号化ライト要求を発行する場合には、ライト要求にそのフラグを設定して送信することができる。上記受けたライト要求が、通常ライト要求の場合には、ステップ2001にすすみ、非暗号化ライト要求の場合には、ステップ2003に進む。また、通常ライト要求であるか非暗号化ライト要求であるかを判別するための、別の方法として、ライト要求で指定された物理アドレス範囲が、鍵管理テーブル160に登録されているか否かにより判定することも可能である。
ステップ2001では、I/O処理部923が、対象物理アドレスを指定したライト要求を受け、対象物理アドレスが暗号化範囲に属するか否かを、鍵管理テーブル160(図3B参照)を参照することにより判断する。対象物理アドレスが暗号化範囲であれば、ステップ2002にすすみ、対象物理アドレスが暗号化範囲でなければ、ステップ2003にすすむ。
ステップ2002では、I/O処理部923が、データ(平文)を装置E/D部921を通じてハードディスク927に書込む。これにより、平文が装置E/D部921により暗号文に変換されてハードディスク927に書込まれる。
ステップ2003では、I/O処理部923が、データを装置E/D部921に暗号化させることなくハードディスク927に書込む。暗号化させない方法としては、例えば、装置E/D部921に暗号化不要を表すフラグを設定した後にデータを装置E/D部921を経由させる方法や、装置E/D部921を経由しないデータ送信ラインを選択し該データ送信ラインを通じてデータをハードディスク927に書込む方法がある。これは、復号化させない方法にも適用することができる。
図15は、HDD16の読出し処理の一例を示す。
ステップ2101では、I/O処理部923が、対象物理アドレスを指定したリード要求を受け、該リード要求が、通常リード要求か、非復号化リード要求かを判断する。通常リード要求とは、復号化してリードすることの要求であり、非復号化リード要求とは、復号化しないでリードすることの要求である。通常リード要求であるか非復号化リード要求であるかは、例えば、リード要求中の所定位置に、非復号化リード要求を意味するフラグが設定されているか否かにより、判断することができる。この場合には、ディスクI/O処理部913は、通常リード要求を発行する場合には、リード要求にそのフラグを設定しないで送信し、非復号化リード要求を発行する場合には、リード要求にそのフラグを設定して送信することができる。上記受けたリード要求が、通常リード要求の場合には、ステップ2102にすすみ、非復号化リード要求の場合には、ステップ2104に進む。
ステップ2102では、I/O処理部923が、通常リード要求で指定されている対象物理アドレス(LBA)が暗号化範囲に属するか否かを、鍵管理テーブル160(図3B参照)を参照することにより判断する。対象物理アドレスが暗号化範囲であれば、ステップ2103にすすみ、対象物理アドレスが暗号化範囲でなければ、ステップ2104にすすむ。
ステップ2103では、I/O処理部923が、データを装置E/D部921を通じてハードディスク927から読み出す。これにより、暗号文が装置E/D部921により平文に変換されたものが、I/O処理部923に取得される。I/O処理部923は、その取得された平文を、ディスクI/O処理部913に送信する。
ステップ2104では、I/O処理部923が、データを装置E/D部921に復号化させることなくハードディスク927から読み出す。
図16は、ペア構成テーブルの構成例を示す。
ペア構成テーブル700は、キャッシュ/制御メモリ14に格納される制御情報に含まれるものであり、ボリュームペアの構成を管理するためのテーブルである。ペア構成テーブル700には、プライマリLDEVのLDEV番号が書かれるカラム701と、セカンダリLDEVのLDEV番号が書かれるカラム702と、コピーステータスが書かれるカラム703と、セカンダリLDEVの暗号鍵が書かれるカラム704とがある。すなわち、このテーブル700には、各ボリュームペア毎に、コピー元のLDEVであるプライマリLDEVのLDEV番号と、コピー先のLDEVであるセカンダリLDEVのLDEV番号と、コピーステータスと、該セカンダリLDEVの暗号鍵とが書かれる。
コピーステータスは、プライマリLDEVとセカンダリLDEVとがミラー状態になっているか否かを示す。ミラー状態とは、プライマリLDEV内の全データがセカンダリLDEVにコピーされている、すなわち、プライマリLDEVとセカンダリLDEVが同じになっている状態である。コピーステータス"PAIR"は、ミラー状態を意味し、コピーステータス"COPY"は、ミラー状態ではなく、プライマリLDEV内の全てのデータがコピーされセカンダリLDEVにされきっていない状態を意味する。
本実施形態では、例えば、テーブル構築プログラムが、管理者からセカンダリLDEVも暗号化したいとの指定を受けた場合には、該セカンダリLDEVとボリュームペアを構成するプライマリLDEVに対応した暗号鍵をLU管理テーブル600から取得し、取得した暗号鍵を、ペア構成テーブル700のカラム704における、該セカンダリLDEVに対応したセル(領域)に登録することができる。その際、もし、プライマリLDEVに対応した暗号鍵が無い場合には、テーブル構築プログラムが、暗号鍵指定処理(例えば図10のステップ1005)を実行し、それにより得られた暗号鍵を、上記セルに登録しても良い。
図17は、ペア形成処理の流れの一例を示す。
ステップ3001では、ストレージサブシステム1のCPUで実行されるテーブル構築プログラムが、新規に形成するボリュームペア(以下、対象ボリューム)に関する情報を、管理端末6の管理プログラムから受ける。具体的には、例えば、管理プログラムが、管理端末6の記憶資源に記憶されている情報を基に、ストレージサブシステム1における複数のLDEVと、セカンダリストレージサブシステム3における複数のLDEVとを選択可能に表示することで、プライマリLDEVとセカンダリLDEVの選択を受け、該選択された各LDEVに関する情報(例えばLDEV番号)を、テーブル構築プログラムに通知する。
ステップ3002では、初期コピー処理が開始される。この所期コピー処理は、例えば、テーブル構築プログラムがリモートコピー処理部902に初期コピー処理開始を指示することを契機に開始される。初期コピー処理については、図18を参照して後に詳述する。
ステップ3003では、テーブル構築プログラムが、初期コピー処理の開始を契機に、対象ボリュームペアのコピーステータス(ペア構成テーブル700におけるエントリ)を"COPY"にする。
ステップ3004では、テーブル構築プログラムが、初期コピー処理が完了したか否かを判断する。完了していれば、ステップ3005にすすみ、完了していなければ、再びステップ3004を実行する。
ステップ3005では、テーブル構築プログラムが、初期コピー処理の開始を契機に、対象ボリュームペアのコピーステータスを"PAIR"にする。
図18は、初期コピー処理の流れの一例を示す。なお、以下、この図18の説明において、プライマリLDEVを含むVDEVに対応した各HDDを「対象HDD」と言う。
この初期コピー処理では、プライマリLDEVの先頭アドレスから終端アドレスまでシーケンシャルにコピーが実行される。
具体的には、ステップ3101において、リモートコピー処理部902が、ディスクI/O処理部913に、プライマリLDEVのアドレスA(例えば初期コピー処理開始直後は先頭アドレス)を物理アドレス(対象HDDにおけるアドレス)に変換させる。
ステップ3102では、リモートコピー処理部902が、コピー先に暗号文と平文のどちらを送信するのかを判断する。これは、例えば、ペア構成テーブル700において、セカンダリLDEVに暗号鍵が対応付けられているか否かにより判断することができる。なお、一度ペア構成テーブル700を参照してこの判断を行ったならば、次回以降のこのステップ3102では、いちいちそのテーブル700を参照しなくて良い。平文を送信する場合には、ステップ3111にすすみ、暗号文を送信する場合には、ステップ3103に進む。
ステップ3111では、リモートコピー処理部902が、ディスクI/O処理部913に、ステップ3101で得られた変換後の物理アドレスを指定した通常リード要求を、各対象HDD16に送信させる。これにより、各対象HDD16から平文(格納されている暗号文が復号されて読み出されたもの)が読み出される。
一方、ステップ3103では、リモートコピー処理部902が、ディスクI/O制御部913に、ステップ3101で得られた変換後の物理アドレスを指定した非復号化リード要求を、各対象HDD16に送信させる。これにより、各対象HDD16から暗号文(格納されている暗号文が復号化されることなくそのまま読み出されたもの)が読み出される。
ステップ3104では、リモートコピー処理部902が、リードデータ(ステップ3103の後であれば暗号文、ステップ3111の後であれば平文)を、セカンダリストレージサブシステム3に送信する。その送信では、例えば、セカンダリLDEVのLUN及びWWNとLBAとを指定した、リードデータのライト要求を送信することができる。
ステップ3105では、リモートコピー処理部902が、次の読出し元とする、プライマリLDEVのアドレスAを1増やす。
ステップ3106では、リモートコピー処理部902が、更新後のアドレスAが、プライマリLDEVの終端であるか否かを判断する。終端であれば、終了となり、終端でなければ、ステップ3101に戻る。
図19は、更新コピー処理の流れの一例を示す。なお、この図19は、前述した種々の処理で説明済みの事項については、図示を省略している。
更新コピー処理とは、ボリュームペアのコピーステータスが"PAIR"或いは"COPY"であるプライマリLDEVに対し、新たにデータが格納される場合に、実行される処理である。
例えば、コマンド処理部901が、ホスト4から受けた平文(ライト対象データ)をキャッシュ領域に格納したときに、該平文がHDD16に送信されていなくても、ホスト4に、I/O完了を通知することができる(ステップ3500)。
ステップ3501では、コマンド処理部901が、特定されたLDEV番号のLDEVが、コピー対象であるか否かを判断する。具体的には、例えば、特定されたLDEV番号を用いて、ペア構成テーブル700を参照し、該LDEV番号に対応したLDEVが、プライマリLDEVのLDEV番号であって、コピーステータスが"PAIR"或いは"COPY"であるか否かを判断する。コピー対象であるならば、コマンド処理部901が、コピー指示をリモートコピー処理部902に出してステップ3502に進み、コピー対象でないならば、更新コピー処理は不要のため、この処理は終了となる。
ステップ3503では、リモートコピー処理部902が、キャッシュ領域上の平文を二重化することでミラーデータ(平文の複製)を作成し、作成したミラーデータをキャッシュ領域に格納する。
ステップ3504では、リモートコピー処理部902が、コピー先のセカンダリLDEVが暗号化対象か否か(例えば、セカンダリLDEVに対応した暗号鍵がペア構成テーブル700に登録されているか否か)を判断する。暗号化対象であれば、ステップ3506にすすみ、暗号化対象でなければ、ステップ3507にすすむ。
ステップ3506では、ミラーデータの暗号化転送が実行される。具体的には、例えば、リモートコピー処理部902が、セカンダリLDEVに対応した暗号鍵をペア構成テーブル700から取得し、取得した暗号鍵を、コントローラE/D部124に通知する。そして、リモートコピー処理部902が、該セカンダリLDEVのLUN及びWWN等を指定した、該ミラーデータのライト要求を、外部アダプタ12のI/F123を通じて、セカンダリストレージサブシステム3に送信する。それにより、該ミラーデータである平文が暗号文に変換されて、セカンダリストレージサブシステム3に送信される。
一方、ステップ3507では、ミラーデータの非暗号化転送が実行される。具体的には、例えば、リモートコピー処理部902が、コントローラE/D部124に非暗号化を意味するフラグを通知する。そして、リモートコピー処理部902が、該セカンダリLDEVのLUN及びWWN等を指定した、該ミラーデータのライト要求を、外部アダプタ12のI/F123を通じて、セカンダリストレージサブシステム3に送信する。それにより、該ミラーデータである平文がコントローラE/D部124による暗号化が行われずに、該平文のまま、セカンダリストレージサブシステム3に送信される。
図20は、フェイルバック処理の一例を示す。なお、以下、この図20の説明において、プライマリLDEVを含むVDEVに対応した各HDDを「対象HDD」と言う。
フェイルバック処理とは、セカンダリストレージサブシステム3のセカンダリLDEV内のデータを、プライマリLDEVに戻す処理である。具体的には、例えば、ストレージサブシステム1が災害などでダウンした際、セカンダリストレージサブシステム3で、業務が継続される。その場合、ストレージサブシステム1の復旧処理が完了したならば、セカンダリストレージサブシステム3からストレージサブシステム1にデータをコピーすることで、データの復旧を行うことができる。その際のデータコピー処理が、このフェイルバック処理である(災害などでストレージサブシステム1を交換してフェイルバック処理を行う場合には、管理者がLU構成テーブル600を再構築することができる)。
このフェイルバック処理では、例えば、プライマリLDEVがコピー先とされ、セカンダリLDEVがコピー元とされて、データコピーが実行される。
具体的には、例えば、ステップ4001で、リモートコピー処理部902が、ディスクI/O処理部913に、プライマリLDEVのアドレスA(例えば開始時点では先頭アドレス)を、物理アドレス(対象HDDにおけるアドレス)に変換させる。
ステップ4002では、リモートコピー処理部902が、平文受信モードであるか否かを判断する。平文受信モードとは、平文で受信することを意味する状態であり、セカンダリLDEVに暗号文が格納されている場合(例えば、セカンダリLDEVに暗号鍵が対応付けられている場合)には、平文受信モードではないモードとして動作する。
平文受信モードではない場合、コントローラE/D部124による復号化がされることなく、セカンダリLDEVから暗号文が取得され、キャッシュ領域に格納される。具体的には、例えば、リモートコピー処理部902が、復号化不要を意味する値をコントローラE/D部124に設定して、セカンダリLDEVに対するリード要求をセカンダリストレージサブシステム3に送信することで、コントローラE/D部124による復号化がされない暗号文が取得され、キャッシュ領域に格納される。この場合、ステップ4003にすすむ。ステップ4003では、リモートコピー処理部903が、ディスクI/O処理部913に、キャッシュ領域上の暗号文の非暗号化ライト要求を各対象HDD16に送信させる。
一方、平文受信モードの場合、コントローラE/D部124による復号化がされることにより、セカンダリLDEVからの暗号文が変換された平文が取得され、キャッシュ領域に格納される。具体的には、例えば、リモートコピー処理部902が、復号化不要を意味する値をコントローラE/D部124に設定せず、セカンダリLDEVに対するリード要求をセカンダリストレージサブシステム3に送信することで、コントローラE/D部124によって暗号文が復号化された平文が取得され、キャッシュ領域に格納される。この場合、ステップ4011にすすむ。ステップ4011では、リモートコピー処理部903が、ディスクI/O処理部913に、キャッシュ領域上の平文の通常ライト要求を各対象HDD16に送信させる。
ステップ4004では、リモートコピー処理部902が、次の書込み先とする、プライマリLDEVのアドレスAを1増やす。
ステップ4005では、リモートコピー処理部902が、更新後のアドレスAが、プライマリLDEVの終端であるか否かを判断する。終端であれば、ステップ4004にすすみ、該プライマリLDEVを含んだボリュームペアのコピーステータスを"PAIR"とし、終端でなければ、ステップ4001に戻る。
以上が、第一実施形態の説明である。
この第一実施形態によれば、ストレージサブシステム1には、装置E/D部921を有したHDD16が搭載される。そして、ホスト4からのライト要求を処理した場合の書込み先が、外部LDEV或いはセカンダリLDEV(本実施形態では更新コピー処理)の場合に、コントローラE/D部124で平文を暗号化するが、内部LDEVの場合には、コントローラE/D部124での暗号化を行わず、平文のままHDD16に送信する。その場合でも、HDD16に装置E/D部921があるので、装置E/D部921に暗号文にされて格納される。これにより、データ保護を実現しつつ、コントローラ974の性能劣化を抑えることができる。
また、この第一実施形態によれば、更新コピー処理では、コントローラE/D部124による暗号化が実行されるが、初期コピー処理では、コントローラE/D部124にる暗号化を不要とし、HDD16内の暗号文がそのままセカンダリストレージサブシステム3に送信される。このため、データ保護を実現しつつ、初期コピー処理でのコントローラ974の性能劣化を抑えることができる。
<第二の実施形態>。
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する。
図21は、本発明の第二実施形態に係る計算機システムの物理的な構成例を示す。
この図によれば、ストレージサブシステム1の外部に存在するストレージサブシステムとして、E/D(暗号化/復号化)部8を有したストレージサブシステム1´がある。ストレージサブシステム1´は、外部ストレージサブシステム2やセカンダリストレージサブシステム3の一種とすることができる。
この場合、リモートコピー処理部902或いはコマンド処理部901が、ライト要求或いはリード要求の送信先となる外部のストレージサブシステムが、E/D部8を有するか否かを判断することができる。これは、例えば、各種外部のストレージサブシステム毎にE/D部を有するか否かを表すテーブルを用意しておき、リモートコピー処理部902或いはコマンド処理部901が、そのテーブルを参照することにより、判別することができる。リモートコピー処理部902或いはコマンド処理部901が、送信先となる外部のストレージサブシステムが、E/D部8を有すると判断した場合には、コントローラE/D部124による暗号化をさせることなく平文を送信することができる。この場合には、その外部のストレージサブシステム1´のE/D部8により、平文が暗号化されて格納されることになる。E/D部8は、コントローラに搭載されたE/D部でも良いし、HDDに搭載されたE/D部でもよい。暗号化をせずに送信する場合、例えば、リモートコピー処理部902或いはコマンド処理部901は、外部LDEV、プライマリLDEV或いはセカンダリLDEVに対応付けられた暗号鍵を、外部のストレージサブシステム1´に通知し、その暗号鍵で、暗号化させても良い。
図22は、第二の実施形態におけるLU構成テーブルの構成例を示す。
このLU構成テーブル600´では、一つのLDEVに、複数の暗号鍵が対応付けられている。そして、それら複数の暗号鍵毎に、論理アドレス範囲が設定されている。具体的には、論理アドレス範囲の先頭アドレスが書かれるカラム606´と、論理アドレス範囲の後端アドレスが書かれるカラム607´とが設けられている。
つまり、この第二の実施形態では、一つのLDEVを複数の領域に細分化し、各領域に、暗号鍵を対応付けることができる。
図23は、第二の実施形態でのLDEV作成処理の流れの一例を示す。以下、第一の実施形態でのLDEV作成処理(図10)との違いを主に説明する。
図10のステップ1005が、この図23ではステップ1005´となっている。すなわち、暗号鍵だけでなく、各暗号鍵が対象LDEVのどの論理アドレス範囲に対応付けるのかが指定される。そのため、ステップ1007では、各論理アドレス範囲に対応した物理アドレス範囲が暗号化範囲として各対象HDD16に通知される。
また、図10のステップ1006でNOの場合、この第二実施形態では、ステップ1011´及びステップ1012´が実行される。
ステップ1011´では、テーブル構築プログラムが、EDEVの属するストレージサブシステムが暗号化機能付きかどうか(E/D部があるかどうか)を判断する。暗号化付きの場合には、ステップ1012´に進み、そうではない場合には、終了となる。
ステップ1012´では、テーブル構築プログラムが、ステップ1005´で指定された暗号鍵を、該暗号鍵が対応付けられる対象LDEVを、EDEVの属するストレージサブシステム1´に通知する。これにより、ストレージサブシステム1´に平文が送信された場合、そのストレージサブシステム1´のE/D部8では、外部LDEVに対応付けられた暗号鍵で平文が暗号化されて格納される。
以上が、第二の実施形態の説明である。なお、図示は省略しているが、前述したように、コマンド処理部901或いはリモートコピー処理部902が、外部接続或いはリモートコピーにおけるライト要求或いはリード要求の送信先のストレージサブシステムが、暗号化機能付きか否かを判別し、暗号化機能が付いていない場合には、コントローラE/D部124による暗号化により得られた暗号文を送信するが、暗号化機能が付いている場合には、コントローラE/D部124による暗号化を行わせず平文のまま送信する。これにより、コントローラ974の性能劣化を抑えることができる。
<第三の実施形態>。
図24は、本発明の第三の実施形態における自動容量拡張技術の説明図である。
自動容量拡張技術とは、HDEVに対するライトに応じて、プール領域内のディスクブロックを動的に割当てたり、該割当てを解除したりすることで、HDEVの使用容量を動的に拡張することができる技術である。この技術は、Thin Provisioning技術と呼ばれることもある。以下、その一例を簡単に説明するが、自動容量拡張技術として、例えば、特開2003−15915号公報(US特許番号6725328号、US特許番号6836819号、US出願番号10/991421号)に開示の技術を援用することもできる。
ストレージサブシステム1(例えばホストアダプタ11)により、ホスト4に、HDEVが提供される。HDEVとは、Higher Deviceを略したものである。HDEVは、前述したVDEVより上位に位置するという意味で付与した便宜上の名称である。HDEVは、仮想的な論理ボリュームとすることができる。この実施形態では、ホスト4にとってのLUは、その仮想的な論理ボリュームであるHDEVである。
ストレージサブシステム1には、プール領域が用意されている。プール領域は、VDEVやEDEVの集合である。プール領域は、多数のディスクブロック(ディスクブロックに限らない論理領域でも良い)で構成されている。それら多数のディスクブロックのうちの未割当てのディスクブロックが、HDEVに動的に割当てられる。
図25は、HDEV構成テーブルの構成例を示す。
HDEV構成テーブル600Aは、HDEVの構成に関する情報を管理するためのテーブルであり、例えばキャッシュ/制御メモリ14に格納される。このテーブル600Aの構成は、図7を参照して説明したLU構成テーブル600と略同様である。相違点としては、LDEV番号が書かれるカラム601に代えて、HDEV番号(HDEVの識別子)が書かれるカラム601´が用意される点である。この実施形態では、HDEVに暗号キーが対応付けられている。
図26は、割当て管理テーブルの構成例を示す。
割当て管理テーブル6000は、HDEVに対するどの部分にどのディスクブロックが割当て(アサイン)されているかを管理するためのテーブルであり、例えばキャッシュ/制御メモリ14に格納される。具体的には、例えば、このテーブル6000には、HDEV番号が書かれるカラム6001と、HDEVの論理アドレス範囲(HDEVの一領域を表す、HDEVのアドレス範囲)の先頭アドレスが書かれるカラム6002と、HDEVの論理アドレス範囲の終端アドレスが書かれるカラム6003と、HDEVに割当てられているディスクブロックを有したVDEV或いはEDEVの番号が書かれるカラム6004と、割当てられているディスクブロックの先頭アドレスが書かれるカラム6005と、割当てられているディスクブロックの終端アドレスが書かれるカラム6006とがある。
図27は、プール領域管理テーブルの構成例を示す。
プール領域管理テーブル6500は、プール領域のうちの未割当てのディスクブロックを管理するためのテーブルであり、例えばキャッシュ/制御メモリ14に格納される。具体的には、例えば、このテーブル6500には、HDEVに未割当てのディスクブロックを有したVDEV或いはEDEVの番号が書かれるカラム6501と、未割当てのディスクブロックの先頭アドレスが書かれるカラム6502と、未割当てのディスクブロックの終端アドレスが書かれるカラム6503とがある。
未割当てのディスクブロックがHDEVに割当てられると、このプール領域管理テーブル6500から、そのディスクブロックに対応する各エントリが削除され、そして、その各エントリが、割当て管理テーブル6000に追加される。逆に、HDEVに対するディスクブロックの割当てが解除されると、そのディスクブロックに対応する各エントリが、割当て管理テーブル6000から削除され、そして、その各エントリが、プール領域管理テーブル6500に追加される。この一連の動的割り当て及び解除は、例えば、コマンド処理部901やリモートコピー処理部902が実行することができる。
図28は、HDEV作成処理の流れの一例を示す。以下、第一の実施形態でのLDEV作成処理(図10)との違いを主に説明する。
図10のステップ1001は不要となる。VDEV或いはEDEVからHDEVが作成されるわけではないためである。
ステップ1003では、HDEV構成テーブル600Aが構築される。
ステップ1004にて暗号化が選択された場合、ステップ1005では、領域(例えばHDEV番号)と暗号鍵が指定される。暗号鍵は、自動で生成されても良いし、管理者から鍵を受け取るのでも良い。
ステップ1008では、HDEV構成テーブル600Aに、指定された領域に対して指定された暗号鍵が対応付けられる。
図29は、第三の実施形態において、ホストアダプタ11がホスト4からI/O要求を受信した場合に実行される処理の流れの一例を示す。以下、図11との相違点を主に説明する。
ステップ1102とステップ1103との間に、新たなステップ10001´〜ステップ10003´が実行される。
ステップ10001´では、コマンド処理部901が、I/O要求で指定されているLBAに、ディスクブロックが割当て済みであるか否かを、割当て管理テーブル6000を参照することにより判断する。割当て済みであれば、ステップ10003´に進み、割り当て済みでなければ、ステップ10002´に進む。
ステップ10002´では、コマンド処理部901が、プール領域管理テーブル6500から、必要なサイズ分の数の未割当てのディスクブロックを特定し、特定したディスクブロックを、HDEVに割当てる。
ステップ10003´では、コマンド処理部901が、I/O要求で指定されているLBAを、割当てたディスクブロックのLBAに変換する。
ステップ1103では、I/O要求で指定されているLBAに割当てられたディスクブロック(つまりアクセス対象ブロック)が、HDEVとEDEVのどちらに属するものであるかが判別される。HDEVに属する場合には、内部LDEV I/O処理が実行され、EDEVに属する場合には、外部LDEV I/O処理が実行される。
図30は、第三の実施形態での内部LDEV I/O処理の流れの一例を示す。以下、図12との相違点を主に説明する。
ステップ1201では、アクセス対象ブロックのLBAのアドレス変換が実行される。ステップ1204とステップ1205との間に、ステップ12001´及びステップ12004´が実行され、ステップ1205では、ステップ12005´が実行される。また、ステップ1202でNOの場合、ステップ1206に代えてステップ12006´が実行される。
ステップ12001´では、コマンド処理部901が、対象HDD16の鍵管理テーブル160に、新たに割当てられたディスクブロックLBAに対応する物理アドレスを含む物理アドレス範囲と、該物理アドレス範囲に対応付けられた暗号鍵とが登録済みか否かを判断する。ここでは、例えば、図29のステップ10001´で割当て済みだった場合には、登録済みと判断し、未割当ての場合には、登録済みでないと判断することができる。登録済みの場合、ステップ12005´に進み、登録済みではない場合、ステップ12004´に進む。
ステップ12004´では、コマンド処理部901が、ディスクI/O処理部913に、ステップ10002´で新たに割当てられたディスクブロックに対応する物理アドレス範囲を有するHDD16に、インデックス番号と暗号鍵との組を通知させる。このような処理により、該HDD16の鍵管理テーブル160おいて、同一の物理アドレス範囲に対応付けられる暗号鍵が、動的に変えることができる。ここでは、例えば、各ディスクブロック毎に対応付けられたインデックス番号が記録されているテーブルがあり、ディスクI/O処理部913が、そのテーブルから、割当てられたディスクブロックに対応するインデックス番号を特定し、インデックス番号と、割当て先のHDEVに対応した暗号鍵とを通知することができる。なお、この方法に代えて、第一の実施形態と同様の方法、すなわち、物理アドレス範囲を指定する方法が採られても良い。
ステップ12005´では、ディスクI/O処理部913が、ステップ10003´により得られたLBAを含むディスクブロックに対応するインデックス番号を指定した、新規データ及び新規パリティのライト要求を、各対象HDD16に送信する。なお、この実施形態では、インデックス番号を指定したライト要求が、通常ライト要求となり、インデックス番号が指定されていない(代わりに例えば物理アドレス範囲が指定されている)ライト要求が、非暗号化ライト要求となる。
ステップ12006´では、ディスクI/O処理部913が、ステップ10003´により得られたLBAを含むディスクブロックに対応するインデックス番号を指定したリード要求を、各対象HDD16に送信する。なお、この実施形態では、インデックス番号を指定したリード要求が、通常リード要求となり、インデックス番号が指定されていない(代わりに例えば物理アドレス範囲が指定されている)リード要求が、非復号化リード要求となる。
図31は、第三の実施形態での外部LDEV I/O処理の流れの一例を示す。以下、図13との相違点を主に説明する。
ステップ1301の処理が不要となる。既に、図29のステップ10003´で、ホスト4からのI/O要求で指定されているLBAに対応した、EDEVにおけるLBAが得られているためである。
以上が、第三の実施形態の説明である。この第三の実施形態によれば、自動容量拡張技術においても、データ保護を実現しつつ、コントローラ974の性能劣化を抑えることができる。
<第四の実施形態>。
第四の実施形態では、ジャーナルデータを利用したリモートコピーが実行される。以下に説明するのは、ジャーナルデータを利用したリモートコピー技術の一例であり、それに限定する必要は無い。
ジャーナルデータには、例えば、プライマリLDEVに書かれる平文と、更新順序(例えば番号或いはタイムスタンプ)と、プライマリLDEVのLDEV番号とが含まれる。例えば、このようなジャーナルデータが、プライマリLDEVに対する平文のライト要求を受信した場合に、生成され、ジャーナルLDEVに書かれる。ジャーナルLDEV内のジャーナルデータが、セカンダリストレージサブシステム3に送信される。ジャーナルLDEVは、本実施形態では内部LDEVであるが、外部LDEVであっても良い。
図32は、第四の実施形態でのVDEV構成テーブルの構成例を示す。
VDEV構成テーブル500´には、ジャーナルLDEVか否かを表す値が書かれるカラム505がある。その値が1の場合に、対応するLDEVがジャーナルLDEVであることを示す。
図33は、ジャーナルLDEVについてのポインタの説明図である。
本実施形態では、セカンダリサブストレージシステム3に転送されるジャーナルデータは、このジャーナルLDEVに先頭から順に書き込まれる。また、ジャーナルLDEVの先頭から順に、ジャーナルデータが読み出されセカンダリサブストレージシステム3に転送されていく。この処理は、リモートコピー処理部902が実行することができる。
本実施形態では、ジャーナルLDEVに対して、2種類のポインタ(以下、ジャーナルポインタ1、2)が用意される。
ジャーナルポインタ2は、新規のジャーナルデータの書込み先位置を表す。すなわち、本実施形態では、新規のジャーナルデータを書き込むべき位置を把握するため、リモートコピー処理部902では「ジャーナルポインタ2」という変数を持ち、ジャーナルポインタ2が新規ジャーナル書き込み位置を指すように維持管理される。ジャーナルポインタ2がジャーナルLDEV終端までくると、ジャーナルポインタ2は先頭に戻る。
一方、ジャーナルポインタ1は、読出し元位置の先頭を表す。ジャーナルデータが読み出されてセカンダリストレージサブシステム3に転送される都度に、ジャーナルポインタ1が次のアドレスに更新される。
図34は、ジャーナル書込み処理の一例を示す。
この実施形態では、図19の更新コピー処理に代えて、この図34のジャーナル書込み処理が実行される。
具体的には、コマンド処理部901により、ホスト4からの平文がキャッシュ領域に格納されたならば、I/O完了がホスト4に通知される(ステップ20002)。
リモートコピー処理部902が、その平文の書込み先がプライマリLDEVであれば(ステップ20003でYES)、該平文を含んだジャーナルデータを作成する(ステップ20004)。
次に、リモートコピー処理部902が、ディスクI/O処理部913に、ジャーナルポインタ2の指すLBAを物理アドレス(ジャーナルLDEVを含むVDEVに対応した各HDD16におけるアドレス)に変換させる(ステップ20005)。
次に、リモートコピー処理部902が、ディスクI/O制御部913に、プライマリLDEVの暗号鍵と、該変換後の物理アドレスを含む物理アドレス範囲とを、鍵管理テーブル160で対応付けさせ、更に、作成されたジャーナルデータを、その物理アドレスに格納させる。それにより、HDD16の装置E/D部921により、その暗号鍵でジャーナルデータが暗号化されて格納される。
最後に、リモートコピー処理部902は、ジャーナルポインタ2を更新する。
なお、ステップ20006において、装置E/D部921では、ジャーナルデータの全部が暗号化されるのではなく、平文の部分のみ(例えばジャーナルデータにおけるヘッダ部分以降)が暗号化されるようにしても良い。それにより、暗号化されたジャーナルデータが読み出された場合、平文以外は暗号化されていないので、該ジャーナルデータ中の暗号文がどのプライマリLDEVに存在するものであるか等を特定することができる。
図35は、ジャーナルコピー処理の一例を示す。
このジャーナルコピー処理は、例えば、図34のジャーナル書込み処理と独立して定期的に実行される。
ステップ21001では、リモートコピー処理部902が、ディスクI/O処理部913に、ジャーナルポインタ1の指すLBAを物理アドレスに変換させる。
ステップ21002では、リモートコピー処理部902が、ディスクI/O制御部913に、ジャーナルデータを復号化することなく、その物理アドレスから読み出すよう指示する。それにより、暗号化されたままのジャーナルデータが読み出されたならば、そのジャーナルデータを、セカンダリストレージサブシステム3に送信する。
最後に、リモートコピー処理部902は、ジャーナルポインタ1を更新する。
以上が、第四の実施形態である。なお、この第四の実施形態では、セカンダリストレージサブシステム3は、その暗号化されているジャーナルデータ中の暗号文を、セカンダリLDEVにリストアしていくことができる。
この第四の実施形態によれば、ジャーナルを利用したリモートコピー技術でも、データ保護を実現しつつ、コントローラ974の性能劣化を抑えることができる。
<第五の実施形態>。
第五の実施形態では、図37Aに示すように、ホスト4に、データのバックアップ装置999が接続されている。バックアップ装置999は、例えば、磁気テープ装置(例えば複数のテープ媒体を備えたテープライブラリ装置)であるが、他種の装置であっても良い。
図37Bに示すように、ホスト4は、所望のLUを指定したバックアップ要求をストレージサブシステム1に送信する(ステップ30001)。
この場合、そのLUに対応したLDEV内にある全データが、暗号文のまま読み出され(ステップ30002)、ホスト4に送信される(ステップ30003)。
ホスト4は、読み出された暗号文を、バックアップ装置999に格納する(ステップ30004)。
以上、本発明の幾つかの実施形態を説明したが、これらの実施形態は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、暗号化及び復号化の両方で同じ暗号鍵が使用されるが、それに代えて、暗号化用の鍵と復号化用の鍵とが別々に用意されても良い。
図1は、本発明の第一実施形態に係る計算機システムの物理的な構成例を示す。 図2は、本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。 図3Aは、HDD16の構成例を示す。図3Bは、鍵管理テーブル160の構成例を示す。 図4は、複数のHDD16と論理ボリュームとの関係性の一例を示す図である。 図5は、RAID構成テーブルの構成例を示す。 図6は、VDEV構成テーブルの構成例を示す。 図7は、LU構成テーブルの構成例を示す。 図8Aは、ポート構成テーブルの構成例を示す。図8Bは、EDEV情報テーブルの構成例を示す。 図9は、EDEV構成テーブルの構成例を示す。 図10は、LDEV作成処理の流れの一例を示す。 図11は、ホストアダプタ11がホスト4からI/O要求を受信した場合に実行される処理の流れの一例を示す。 図12は、内部LDEV I/O処理の流れの一例を示す。 図13は、外部LDEV I/O処理の流れの一例を示す。 図14は、HDD16の書込み処理の一例を示す。 図15は、HDD16の読出し処理の一例を示す。 図16は、ペア構成テーブルの構成例を示す。 図17は、ペア形成処理の流れの一例を示す。 図18は、初期コピー処理の流れの一例を示す。 図19は、更新コピー処理の流れの一例を示す。 図20は、フェイルバック処理の一例を示す。 図21は、本発明の第二実施形態に係る計算機システムの物理的な構成例を示す。 図22は、第二の実施形態におけるLU構成テーブルの構成例を示す。 図23は、第二の実施形態でのLDEV作成処理の流れの一例を示す。 図24は、本発明の第三の実施形態における自動容量拡張技術の説明図である。 図25は、HDEV構成テーブルの構成例を示す。 図26は、割当て管理テーブルの構成例を示す。 図27は、プール領域管理テーブルの構成例を示す。 図28は、HDEV作成処理の流れの一例を示す。 図29は、第三の実施形態において、ホストアダプタ11がホスト4からI/O要求を受信した場合に実行される処理の流れの一例を示す。 図30は、第三の実施形態での内部LDEV I/O処理の流れの一例を示す。 図31は、第三の実施形態での外部LDEV I/O処理の流れの一例を示す。 図32は、第四の実施形態でのVDEV構成テーブルの構成例を示す。 図33は、ジャーナルLDEVについてのポインタの説明図である。 図34は、ジャーナル書込み処理の一例を示す。 図35は、ジャーナルコピー処理の一例を示す。 図36は、本発明の第一の実施形態の概念の説明図である。 図37Aは、第五の実施形態でホストにバックアップ装置が接続されていることを示す。図37Bは、バックアップ処理の流れの一例を示す。
符号の説明
971…上位装置、973…第一のストレージサブシステム、974…第一のコントローラ、975…コントローラE/D(暗号化/復号化)部、977…キャッシュ領域、979…第一のストレージ装置、981…装置E/D部、985…第一の論理ボリューム、989…ストレージ媒体、1973…第二のストレージサブシステム、1974…第二のコントローラ、1979…第二のストレージ装置、1985…第二の論理ボリューム

Claims (20)

  1. ライト対象データのライト要求を送信する上位装置と、複数の第二のストレージ装置を基に用意された一以上の第二の論理ボリュームを備える第二のストレージサブシステムとに接続される第一のストレージサブシステムであって、
    複数の第一のストレージ装置と、
    前記複数の第一のストレージ装置を基に用意された一以上の第一の論理ボリュームと、
    前記上位装置からライト要求を受信し処理するコントローラと
    を備え、
    前記複数の第一のストレージ装置の各々が、ストレージ媒体と、該ストレージ媒体に書かれるデータを暗号化する装置暗号処理部とを有し、
    前記コントローラが、データを暗号化するコントローラ暗号処理部と、前記上位装置から受信したライト要求に従うデータの書込みを制御するアクセス制御部とを備え、
    前記アクセス制御部が、前記受信したライト要求を処理した場合の書込み先が、いずれかの前記第一の論理ボリュームとなるか、或いは、いずれかの前記第二の論理ボリュームとなるかを判断し、前記書込み先が、前記第一の論理ボリュームとなるならば、該ライト要求に従うライト対象データを、前記コントローラ暗号処理部で暗号化することなく、前記書込み先の第一の論理ボリュームに対応した第一のストレージ装置に送信し、一方、前記書込み先が、前記第二の論理ボリュームとなるならば、該ライト要求に従うライト対象データを、前記コントローラ暗号処理部によって暗号化し、該暗号化されたライト対象データを、前記第二のストレージサブシステムに送信する、
    ストレージサブシステム。
  2. 前記コントローラが、前記ライト対象データを一時的に記憶するキャッシュ記憶域を更に備え、
    前記アクセス制御部が、該キャッシュ領域上のライト対象データを前記第二のストレージサブシステムに送信する場合に、該ライト対象データを前記コントローラ暗号処理部によって暗号化する、
    請求項1記載のストレージサブシステム。
  3. 前記各第一のストレージ装置が、物理アドレス範囲及び暗号鍵が設定される暗号鍵記憶域を有し、前記装置暗号処理部は、前記ストレージ媒体の或る物理アドレス範囲に書かれるライト対象データを、前記暗号鍵記憶域で該或る物理アドレス範囲に対応した暗号鍵を用いて暗号化するように構成されており、
    前記コントローラが、物理アドレス範囲及び暗号鍵を前記暗号鍵記憶域に設定する暗号鍵設定部を有し、
    前記暗号鍵設定部が、前記複数の第一のストレージ装置の前記暗号鍵記憶域に、複数の論理アドレス範囲の各々に対応した物理アドレス範囲と該論理アドレス範囲に対応した暗号鍵とを設定する、
    請求項1記載のストレージサブシステム。
  4. 一つの前記論理アドレス範囲で表される記憶空間部分が一つの前記第一の論理ボリュームである、
    請求項3記載のストレージサブシステム。
  5. 二以上の前記論理アドレス範囲でそれぞれ表される二以上の記憶空間部分により、一つの前記第一の論理ボリュームが構成されている、
    請求項3記載のストレージサブシステム。
  6. 前記各第一のストレージ装置が、装置復号処理部を備え、該装置復号処理部が、該第一のストレージ装置の前記ストレージ媒体における或る物理アドレス範囲から読み出された暗号化済みデータを、前記暗号鍵記憶域で該物理アドレス範囲に対応付けられている暗号鍵で復号化するよう構成されており、
    前記コントローラが、前記第一のストレージサブシステムを管理するための管理情報を記憶する管理記憶域を有し、該管理情報は、前記複数の論理アドレス範囲の各々に対応付けられた暗号鍵を含み、
    前記アクセス制御部が、
    前記第一のストレージサブシステムの第一の論理アドレス範囲に格納されるライト対象データを、前記第二のストレージサブシステムの第二の論理アドレス範囲に格納するために該第二のストレージサブシステムに送信するように構成されており、
    前記第一の論理アドレス範囲に対応した、第一のストレージ装置のストレージ媒体における物理アドレス範囲から、暗号化済みデータを読み出して前記第二のストレージサブシステムに送信する場合には、該第一のストレージ装置の前記装置復号処理部による復号化をさせることなく、該暗号化済みデータを該第一のストレージ装置から読出し、前記コントローラ暗号処理部で暗号化することなく、該暗号化済みデータを送信し、
    前記第一の論理アドレス範囲に新たにライト対象データを書く場合に、該第一の論理アドレス範囲に対応した暗号鍵を前記管理情報から特定し、該特定された暗号鍵で前記コントローラ暗号処理部により該ライト対象データを暗号化し、該暗号化されたライト対象データを前記第二のストレージサブシステムに送信する、
    請求項3記載のストレージサブシステム。
  7. 前記複数の第一のストレージ装置を基に用意されたものではない仮想的な論理ボリュームである仮想ボリュームがあり、該仮想ボリュームには、前記一以上の第二の論理ボリュームが対応付けられており、
    前記アクセス制御部が、前記仮想ボリュームに対するライト要求を処理する場合、該ライト要求に従うライト対象データを、前記コントローラ暗号処理部によって暗号化し、一方、実体のある前記第一の論理ボリュームに対するライト要求を処理する場合、該ライト要求に従うライト対象データを、前記コントローラ暗号処理部で暗号化することなく、該実体のある第一の論理ボリュームに対応した第一のストレージ装置に送信する、
    請求項1記載のストレージサブシステム。
  8. 前記アクセス制御部が、前記書込み先となる第二の論理ボリュームを有する前記第二のストレージサブシステムに、データを暗号化する暗号処理部が備えられているか否かを判断し、備えられている場合には、前記ライト対象データを前記コントローラ暗号処理部で暗号化することなく該第二のストレージサブシステムに送信する、
    請求項1記載のストレージサブシステム。
  9. 前記各第一のストレージ装置が、装置復号処理部を備え、該装置復号処理部が、該第一のストレージ装置の前記ストレージ媒体から読み出された暗号化済みデータを復号化するよう構成されており、
    前記アクセス制御部が、或る第一の論理ボリュームをコピー元ボリュームとし或る第二の論理ボリュームをコピー先ボリュームとしたボリュームペアを形成し、該コピー元ボリュームに格納済みのデータを該コピー元ボリュームに対応した第一のストレージ装置から読み出して前記第二のストレージサブシステムに送信する第一のコピーを実行するように構成されている場合、該第一のコピーでは、前記コピー元ボリュームに対応した第一のストレージ装置に格納済みの暗号化されているライト対象データを、該第一のストレージ装置の前記装置復号処理部で復号化させることなく読出し、前記コントローラ暗号処理部で暗号化することなく、前記第二のストレージサブシステムに送信する、
    請求項1記載のストレージサブシステム。
  10. 前記アクセス制御部が、前記第一のコピーの後、前記コピー元ボリュームに新たにライト対象データが書込まれる場合に、該新たに書込まれるライト対象データを前記第二のストレージサブシステムに送信する第二のコピーを実行するように構成されている場合、該更新コピーでは、前記新たに書かれるライト対象データを、前記コントローラ暗号処理部で暗号化して前記第二のストレージサブシステムに送信する、
    請求項9記載のストレージサブシステム。
  11. 前記コントローラ暗号処理部は、前記コピー先ボリューム又は前記コピー元ボリュームに対応付けられている、データの暗号化に用いる暗号鍵で、前記新たに書かれるライト対象データを暗号化する、
    請求項9記載のストレージサブシステム。
  12. 前記コントローラが、データを復号化するコントローラ復号処理部を更に備え、
    前記アクセス制御部は、前記第二の論理ボリュームをコピー元ボリュームとし、前記第一の論理ボリュームをコピー先ボリュームとしてデータコピーを実行する場合、該コピー元ボリューム内のデータが暗号化済みの場合には、前記コントローラ復号処理部による復号化を行うことなく、且つ、前記装置暗号処理部による暗号化を行うことなく、該暗号済みデータをそのまま前記コピー先ボリュームに対応する第一のストレージ装置に書込む、
    請求項1記載のストレージサブシステム。
  13. 前記アクセス制御部が、或る第一の論理ボリュームをコピー元ボリュームとし或る第二の論理ボリュームをコピー先ボリュームとしたボリュームペアを形成し、該コピー元ボリュームにライト対象データを書く場合、該ライト対象データを含んだジャーナルデータを生成し、別の或る第一の論理ボリュームであるジャーナルボリュームに、該生成したジャーナルデータを書込み、該ジャーナルボリュームに格納されているジャーナルデータを、該ジャーナルデータのある第一のストレージ装置から読出し、該読み出したジャーナルデータ又は該ジャーナルデータ中のライト対象データを、前記第二のストレージサブシステムに送信することで、前記コピー元ボリューム内のライト対象データを前記コピー先ボリュームにコピーするように構成されており、
    前記各第一のストレージ装置が、物理アドレス範囲及び暗号鍵が設定される暗号鍵記憶域と、装置復号処理部とを有し、前記装置暗号処理部は、前記ストレージ媒体の或る物理アドレス範囲に書かれるライト対象データを、前記暗号鍵記憶域で該或る物理アドレス範囲に対応した暗号鍵を用いて暗号化するように構成されており、前記装置復号処理部が、該第一のストレージ装置の前記ストレージ媒体における或る物理アドレス範囲から読み出された暗号化済みデータを、前記暗号鍵記憶域で該或る物理アドレス範囲に対応付けられている暗号鍵で復号化するよう構成されており、
    前記コントローラが、前記第一のストレージサブシステムを管理するための管理情報を記憶する管理記憶域と、暗号鍵を前記暗号鍵記憶域に設定する暗号鍵設定部とを有し、
    前記管理情報は、複数のコピー元ボリュームの各々に対応付けられた暗号鍵を含み、
    前記暗号鍵設定部が、前記ジャーナルデータの書込み先に対応した物理アドレス範囲と、該ジャーナルデータ中のライト対象データが書かれるコピー元ボリュームに対応した暗号鍵とを、該物理アドレス範囲のある第一のストレージ装置の前記装置コントローラの記憶域に設定する、
    請求項1記載のストレージサブシステム。
  14. 前記アクセス制御部が、前記ジャーナルデータを前記第一のストレージ装置の前記装置復号処理部で復号化させることなく読出して前記第二のストレージサブシステムに送信する、
    請求項13記載のストレージサブシステム。
  15. 前記アクセス制御部が、仮想的な論理ボリュームである仮想ボリュームに、前記一以上の第一の論理ボリュームで構成される論理的な記憶空間を構成する複数の論理領域のうちの未割当ての論理領域を割り当てたり、割当て済みの論理領域の割当てを解除して未割当てにしたりするように構成されており、前記仮想ボリュームに対するライト要求で指定されている、前記仮想ボリュームにおける場所に、前記論理領域が未割当てであれば、前記複数の論理領域のうちの未割当ての論理領域を割り当て、該割り当てた論理領域に対応する物理アドレス範囲を有した第一のストレージ装置に、該ライト要求に従うライト対象データを送信するようになっており、
    前記各第一のストレージ装置が、物理アドレス範囲及び暗号鍵が設定される暗号鍵記憶域を有し、前記装置暗号処理部は、前記ストレージ媒体の或る物理アドレス範囲に書かれるライト対象データを、前記暗号鍵記憶域で該或る物理アドレス範囲に対応した暗号鍵を用いて暗号化するように構成されており、
    前記コントローラが、物理アドレス範囲及び暗号鍵を前記暗号鍵記憶域に設定する暗号鍵設定部を有し、
    前記仮想ボリュームは複数個あり、
    前記暗号鍵設定部が、割当てられた論理領域に対応した物理アドレス範囲と、該論理領域の割当て先の仮想ボリュームに対応した暗号鍵とを、該物理アドレス範囲のある第一のストレージ装置の前記暗号鍵記憶域に設定する、
    請求項1記載のストレージサブシステム。
  16. 前記各第一のストレージ装置が、装置復号処理部を備え、該装置復号処理部が、該第一のストレージ装置の前記ストレージ媒体における或る物理アドレス範囲から読み出された暗号化済みデータを、前記暗号鍵記憶域で該物理アドレス範囲に対応付けられている暗号鍵で復号化するよう構成されており、
    前記アクセス制御部が、前記上位装置から前記仮想ボリュームに対するリード要求を受信した場合、該リード要求で指定されている、前記仮想ボリュームにおける場所に、割当て済みの前記論理領域を特定し、該論理領域に対応した物理アドレス範囲を特定し、前記第一のストレージ装置の前記ストレージ媒体における該特定された物理アドレス範囲からデータを読み出し、前記上位装置に提供する、
    請求項15記載のストレージサブシステム。
  17. 前記各第一のストレージ装置が、装置復号処理部を備え、該装置復号処理部が、該第一のストレージ装置の前記ストレージ媒体から読み出された暗号化済みデータを復号化するよう構成されており、
    前記コントローラが、暗号化済みのデータを復号化するサブシステム復号処理部を有し、
    前記アクセス制御部が、
    前記上位装置からのリード要求を処理した場合の読み出し元がいずれかの前記第二の論理ボリュームとなる場合、前記第二の論理ボリュームから読み出された暗号化済みデータを前記サブシステム復号処理部により復号化して前記上位装置に送信するように構成されており、
    前記第一又は第二の論理ボリューム内のデータを読み出す処理を必要とするバックアップ要求を受信した場合には、前記装置復号処理部又は前記サブシステム復号処理部を実行させないことで、暗号化済みのデータを取得し、該取得した暗号化済みデータを、前記上位装置に送信する、
    請求項1記載のストレージサブシステム。
  18. 前記複数の第一のストレージ装置の各々の記憶空間の集合であるトータル記憶空間を区切ることにより複数の前記第一の論理ボリュームが形成され、一つの第一の論理ボリュームが、各第一のストレージ装置の記憶空間の一部分により構成されており、
    前記各第一のストレージ装置が、物理アドレス範囲及び暗号鍵が設定される暗号鍵記憶域を有し、前記装置暗号処理部は、前記ストレージ媒体の或る物理アドレス範囲に書かれるライト対象データを、前記暗号鍵記憶域で該或る物理アドレス範囲に対応した暗号鍵を用いて暗号化するように構成されており、
    前記コントローラが、前記ライト対象データを一時的に記憶するキャッシュ記憶域と、物理アドレス範囲及び暗号鍵を前記暗号鍵記憶域に設定する暗号鍵設定部とを備え、
    前記アクセス制御部が、該キャッシュ領域上のライト対象データを前記第二のストレージサブシステムに送信する場合に、該ライト対象データを前記コントローラ暗号処理部によって暗号化し、
    前記暗号鍵設定部が、前記各第一のストレージ装置の前記暗号鍵記憶域に、該第一のストレージ装置の記憶空間の複数の一部分をそれぞれ有する複数の第一の論理ボリュームにそれぞれ対応した複数の暗号鍵と、前記複数の一部分にそれぞれ対応した複数の物理アドレス範囲とを設定する、
    請求項1記載のストレージサブシステム。
  19. ライト対象データのライト要求を送信する上位装置と、複数の第二のストレージ装置を基に用意された一以上の第二の論理ボリュームを備える第二のストレージサブシステムと、前記上位装置及び前記第二のストレージサブシステムに接続され、複数の第一のストレージ装置を基に用意された一以上の第一の論理ボリュームを備える第一のストレージシステムとを備えた計算機システムで実現される記憶制御方法であって、
    前記上位装置から送信されたライト要求を前記第一のストレージサブシステムが受信し、
    該ライト要求を処理した場合の書込み先が、いずれかの前記第一の論理ボリュームであるか、或いは、いずれかの前記第二の論理ボリュームであるかを判断し、
    前記書き込み先が、前記第一の論理ボリュームであれば、該ライト要求に従うライト対象データを、前記第一のストレージサブシステムのコントローラに設けられた暗号処理部で暗号化することなく、前記書込み先の第一の論理ボリュームに対応した第一のストレージ装置に送信し、それにより、該第一のストレージ装置の暗号化処理部により該ライト対象データが暗号化され、
    前記書き込み先が、前記第二の論理ボリュームであれば、該ライト対象データを、前記コントローラに設けられた前記暗号処理部によって暗号化し、該暗号化されたライト対象データを、前記第二のストレージサブシステムに送信する、
    記憶制御方法。
  20. 前記第一の論理ボリュームをコピー元ボリュームとし前記第二の論理ボリュームをコピー先ボリュームとしたボリュームペアを形成し、
    該コピー元ボリュームに格納されている暗号済みデータを、前記第一のストレージ装置の復号処理部による復号化を行わせることなく読出し、
    該暗号済みデータを、前記コントローラに設けられた前記暗号処理部による暗号化をすることなく、前記第二の論理ボリュームに格納する、
    請求項19記載の記憶制御方法。
JP2006289725A 2006-10-25 2006-10-25 暗号化機能を備えたストレージサブシステム Expired - Fee Related JP4877962B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006289725A JP4877962B2 (ja) 2006-10-25 2006-10-25 暗号化機能を備えたストレージサブシステム
US11/638,380 US20080101605A1 (en) 2006-10-25 2006-12-14 Storage system provided with an encryption function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006289725A JP4877962B2 (ja) 2006-10-25 2006-10-25 暗号化機能を備えたストレージサブシステム

Publications (2)

Publication Number Publication Date
JP2008108039A true JP2008108039A (ja) 2008-05-08
JP4877962B2 JP4877962B2 (ja) 2012-02-15

Family

ID=39330194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006289725A Expired - Fee Related JP4877962B2 (ja) 2006-10-25 2006-10-25 暗号化機能を備えたストレージサブシステム

Country Status (2)

Country Link
US (1) US20080101605A1 (ja)
JP (1) JP4877962B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250393A (ja) * 2007-03-29 2008-10-16 Hitachi Ltd 暗号化機能を備えたストレージ仮想化装置
JP2010009306A (ja) * 2008-06-26 2010-01-14 Hitachi Ltd ストレージ装置及びストレージ装置のデータ処理方法
JP2010033319A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータ処理方法
JP2010271808A (ja) * 2009-05-20 2010-12-02 Fujitsu Ltd ストレージ装置及びデータコピー方法
JP2011070664A (ja) * 2009-09-22 2011-04-07 Samsung Electronics Co Ltd 暗号キー選択装置を具備するストレージ・システム及び暗号キー選択方法
JP2012221111A (ja) * 2011-04-06 2012-11-12 Kyocera Document Solutions Inc 情報処理装置及び情報処理方法
JP2012230620A (ja) * 2011-04-27 2012-11-22 Kyocera Document Solutions Inc 情報処理装置及び情報処理方法
JP2014507738A (ja) * 2011-03-06 2014-03-27 マイクロン テクノロジー, インク. 論理アドレス変換
WO2014118652A1 (en) * 2013-02-01 2014-08-07 International Business Machines Corporation Boosting remote direct memory access performance using cryptographic hash based approach
JP2014178815A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 業務支援システム、その制御装置及び制御方法
WO2014170984A1 (ja) * 2013-04-18 2014-10-23 株式会社日立製作所 ストレージシステム及び記憶制御方法
US8990588B2 (en) 2011-09-30 2015-03-24 Fujitsu Limited Storage system, storage control apparatus, and storage control method
WO2018008123A1 (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 計算機システム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155273A1 (en) * 2006-12-21 2008-06-26 Texas Instruments, Inc. Automatic Bus Encryption And Decryption
US20080244275A1 (en) * 2007-03-30 2008-10-02 Motorola, Inc. Instruction Transform for the Prevention and Propagation of Unauthorized Code Injection
WO2008149458A1 (ja) * 2007-06-08 2008-12-11 Fujitsu Limited 暗号化装置、暗号化方法および暗号化プログラム
JP2009157584A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd 計算機システム、ストレージシステム、及びリモートコピー方法
US8989388B2 (en) * 2008-04-02 2015-03-24 Cisco Technology, Inc. Distribution of storage area network encryption keys across data centers
US8442235B2 (en) 2010-04-14 2013-05-14 Microsoft Corporation Extensible management of self-encrypting storage devices
WO2012172602A1 (en) 2011-06-15 2012-12-20 Hitachi, Ltd. Storage control apparatus and storage control method
US9787522B1 (en) * 2011-06-29 2017-10-10 EMC IP Holding Company LLC Data processing system having failover between hardware and software encryption of storage data
US8176283B1 (en) * 2011-09-26 2012-05-08 Google Inc. Permissions of objects in hosted storage
KR101869059B1 (ko) * 2012-02-28 2018-06-20 삼성전자주식회사 저장 장치 및 그것의 메모리 컨트롤러
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US11843597B2 (en) * 2016-05-18 2023-12-12 Vercrio, Inc. Automated scalable identity-proofing and authentication process
US10747679B1 (en) * 2017-12-11 2020-08-18 Amazon Technologies, Inc. Indexing a memory region
US11604740B2 (en) * 2020-12-01 2023-03-14 Capital One Services, Llc Obfuscating cryptographic material in memory
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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2004341768A (ja) * 2003-05-15 2004-12-02 Fujitsu Ltd 磁気ディスク装置、暗号処理方法及びプログラム
JP2005309847A (ja) * 2004-04-22 2005-11-04 Sharp Corp データ処理装置
JP2005322201A (ja) * 2004-04-06 2005-11-17 Hitachi Ltd 暗号処理を行うストレージシステム
JP2006091952A (ja) * 2004-09-21 2006-04-06 Hitachi Ltd 記憶階層を有する計算機システムにおける暗号復号管理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3671595B2 (ja) * 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
JP2000181803A (ja) * 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
JP3781640B2 (ja) * 2001-06-05 2006-05-31 シャープ株式会社 暗号化処理装置,暗号化処理システム
WO2003027816A1 (en) * 2001-09-28 2003-04-03 High Density Devices As Method and device for encryption/decryption of data on mass storage device
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US8281152B2 (en) * 2004-06-18 2012-10-02 Emc Corporation Storage data encryption
US20060098818A1 (en) * 2004-11-10 2006-05-11 International Business Machines (Ibm) Corporation Encryption technique for asynchronous control commands and data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258977A (ja) * 1996-01-17 1997-10-03 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2004341768A (ja) * 2003-05-15 2004-12-02 Fujitsu Ltd 磁気ディスク装置、暗号処理方法及びプログラム
JP2005322201A (ja) * 2004-04-06 2005-11-17 Hitachi Ltd 暗号処理を行うストレージシステム
JP2005309847A (ja) * 2004-04-22 2005-11-04 Sharp Corp データ処理装置
JP2006091952A (ja) * 2004-09-21 2006-04-06 Hitachi Ltd 記憶階層を有する計算機システムにおける暗号復号管理方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250393A (ja) * 2007-03-29 2008-10-16 Hitachi Ltd 暗号化機能を備えたストレージ仮想化装置
JP2010009306A (ja) * 2008-06-26 2010-01-14 Hitachi Ltd ストレージ装置及びストレージ装置のデータ処理方法
JP2010033319A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータ処理方法
JP2010271808A (ja) * 2009-05-20 2010-12-02 Fujitsu Ltd ストレージ装置及びデータコピー方法
JP2011070664A (ja) * 2009-09-22 2011-04-07 Samsung Electronics Co Ltd 暗号キー選択装置を具備するストレージ・システム及び暗号キー選択方法
KR101601790B1 (ko) * 2009-09-22 2016-03-21 삼성전자주식회사 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
JP2014507738A (ja) * 2011-03-06 2014-03-27 マイクロン テクノロジー, インク. 論理アドレス変換
JP2015164044A (ja) * 2011-03-06 2015-09-10 マイクロン テクノロジー, インク. 論理アドレス変換
US9164701B2 (en) 2011-03-06 2015-10-20 Micron Technology, Inc. Logical address translation
KR101554084B1 (ko) * 2011-03-06 2015-09-17 마이크론 테크놀로지, 인크 논리적 어드레스 변환
JP2012221111A (ja) * 2011-04-06 2012-11-12 Kyocera Document Solutions Inc 情報処理装置及び情報処理方法
JP2012230620A (ja) * 2011-04-27 2012-11-22 Kyocera Document Solutions Inc 情報処理装置及び情報処理方法
US8990588B2 (en) 2011-09-30 2015-03-24 Fujitsu Limited Storage system, storage control apparatus, and storage control method
GB2525551B (en) * 2013-02-01 2016-02-17 Ibm Boosting remote direct memory access performance using cryptographic hash based approach
GB2525551A (en) * 2013-02-01 2015-10-28 Ibm Boosting remote direct memory access performance using cryptographic hash based approach
US9218314B2 (en) 2013-02-01 2015-12-22 International Business Machines Corporation Boosting remote direct memory access performance using cryptographic hash based approach
WO2014118652A1 (en) * 2013-02-01 2014-08-07 International Business Machines Corporation Boosting remote direct memory access performance using cryptographic hash based approach
US9930044B2 (en) 2013-02-01 2018-03-27 International Business Machines Corporation Boosting remote direct memory access performance using cryptographic hash based approach
JP2014178815A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 業務支援システム、その制御装置及び制御方法
US9122399B2 (en) 2013-04-18 2015-09-01 Hitachi, Ltd. Storage system and storage control method
WO2014170984A1 (ja) * 2013-04-18 2014-10-23 株式会社日立製作所 ストレージシステム及び記憶制御方法
US9465561B2 (en) 2013-04-18 2016-10-11 Hitachi, Ltd. Storage system and storage control method
WO2018008123A1 (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 計算機システム
JPWO2018008123A1 (ja) * 2016-07-07 2018-11-29 株式会社日立製作所 計算機システム

Also Published As

Publication number Publication date
JP4877962B2 (ja) 2012-02-15
US20080101605A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
JP4877962B2 (ja) 暗号化機能を備えたストレージサブシステム
JP5117748B2 (ja) 暗号化機能を備えたストレージ仮想化装置
US8423796B2 (en) Storage device and data processing method of storage device
US8990588B2 (en) Storage system, storage control apparatus, and storage control method
US8990581B2 (en) Preserving redundancy in data deduplication systems by encryption
JP4990066B2 (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US8301909B2 (en) System and method for managing external storage devices
US20060155944A1 (en) System and method for data migration and shredding
JP5367086B2 (ja) 計算機システムとそのデータ制御方法
JP4832862B2 (ja) ディスクアレイシステム及びセキュリティ方法
US20080320258A1 (en) Snapshot reset method and apparatus
JP2008077366A (ja) 記憶制御装置及び記憶制御装置の暗号化機能制御方法
JP2009151401A (ja) 暗号機能を有するストレージ装置におけるボリューム管理方法
JP2008130080A (ja) 動的チャンク割付けストレージシステムにおけるバックアップおよび復元のための方法および装置
JP2008269173A (ja) 計算機システム、ストレージシステムおよびデータ管理方法
JP5226126B2 (ja) ストレージシステム及びストレージシステムの運用方法
JP5007248B2 (ja) スナップショットを管理する記憶制御装置及び方法
JP2010009306A (ja) ストレージ装置及びストレージ装置のデータ処理方法
US20090177895A1 (en) Controller for controlling logical volume-related settings
WO2015118630A1 (ja) ストレージシステムおよびストレージシステム用キャッシュ制御装置
JP4848443B2 (ja) 暗号化/復号化機能を有するストレージシステムを制御する計算機
JP7354355B1 (ja) ストレージシステムおよび暗号演算方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110902

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: 20111122

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: 20111124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees