JP5068309B2 - ストレージ・システムにおけるデータの暗号化/復号化のための方法、システム、およびコンピュータ・プログラム - Google Patents

ストレージ・システムにおけるデータの暗号化/復号化のための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP5068309B2
JP5068309B2 JP2009505822A JP2009505822A JP5068309B2 JP 5068309 B2 JP5068309 B2 JP 5068309B2 JP 2009505822 A JP2009505822 A JP 2009505822A JP 2009505822 A JP2009505822 A JP 2009505822A JP 5068309 B2 JP5068309 B2 JP 5068309B2
Authority
JP
Japan
Prior art keywords
data
controller
cache
encrypted
storage unit
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.)
Active
Application number
JP2009505822A
Other languages
English (en)
Other versions
JP2009534726A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009534726A publication Critical patent/JP2009534726A/ja
Application granted granted Critical
Publication of JP5068309B2 publication Critical patent/JP5068309B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Description

本開示は、ストレージ・システムにおけるデータの暗号化/復号化に関する。
ネットワークにおけるデータの暗号化は、「動作中のデータ」の暗号化および「静止中のデータ」の暗号化という、2つの異なるタイプに分類することができる。「動作中のデータ」の暗号化は、データがネットワーク全体にわたって送信側と受信側の間で移動している場合に、データにセキュリティを提供する。「動作中のデータ」は、「伝送中(in flight)のデータ」と呼ばれる場合もある。「静止中のデータ」の暗号化とは、ストレージ媒体内に格納されている、伝送中でないデータの暗号化である。たとえば、ディスクに格納されたデータの暗号化またはデータベース内のデータの暗号化は、「静止中のデータ」の暗号化と呼ばれる場合がある。
「静止中のデータ」の暗号化は、ディスクに格納されたデータを保護するために望ましい。ハードウェアを介して実行されるデータの暗号化はハードウェア暗号化と呼ばれ、ソフトウェアを介して実行されるデータの暗号化はソフトウェア暗号化と呼ばれる。ハードウェア暗号化はソフトウェア暗号化に比べて高速であって、こうしたハードウェア暗号化は多くの状況で使用できない場合があり、たとえばハードウェア暗号化は特定のディスク・ファイバ・チャネル・インターフェースでは使用できない場合がある。多くの場合、ソフトウェア暗号化は「静止中のデータ」の暗号化に使用される。
特定のディスク・ステージング・アルゴリズムは、キャッシュ上での読み取りヒット率を向上させるために、2次ストレージからキャッシュへのデータの投機的(speculative)プリフェッチを実行する。投機的にプリフェッチされたデータで復号化を実行すると、性能の低下につながる可能性がある。投機的にプリフェッチされるデータの量を削減することで、実行される復号化の量を削減することができる。しかしながら、投機的にプリフェッチされるデータの量を削減することは、読み取りヒット率を低下させ、性能を低下させる可能性がある。いったんディスク・ヘッドが所望のデータ上に配置されると、所望のデータと共に追加のデータをキャッシュに転送するために要する時間は、所望のデータ上にヘッドを配置するために要する時間に比べて、ほんのわずかな追加のみでよいことから、投機的プリフェッチは、ストレージ・システム内でしばしば使用される。
コントローラが、コントローラに結合された第1のストレージ・ユニットから暗号化されたデータを受信する、方法、システム、および製品を提供することである。
受信した暗号化されたデータは、コントローラに結合された第2のストレージ・ユニットに格納され、このコントローラは、第1のストレージ・ユニットに比べて高速で第2のストレージ・ユニットにアクセスすることができる。暗号化されたデータは、少なくとも1つの条件が満たされるまで、第2のストレージ・ユニット内で維持される。
他の実施形態では、コントローラは、第2のストレージ・ユニット内で維持される暗号化されたデータにアクセスするための要求を受信し、第2のストレージ・ユニット内で維持される暗号化されたデータにアクセスするための要求を受信すると同時に、少なくとも1つの条件が満たされる。第2のストレージ・ユニット内で維持される暗号化されたデータは、第2のストレージ・ユニット内で維持される暗号化されたデータにアクセスするための要求の受信に応答して、復号される。
さらに他の実施形態では、第2のストレージ・ユニットに関連付けられた暗号化インジケータ・データ構造が維持され、この暗号化インジケータ・データ構造は、第2のストレージ・ユニット内で維持されるデータが暗号化されているかどうかを示すことができる。暗号化インジケータ・データ構造は、第2のストレージ・ユニット内で維持される暗号化されたデータの復号化に応答して、第2のストレージ・ユニット内で維持される暗号化されたデータが暗号化されていないことを示すように更新される。
追加の実施形態では、コントローラによって、コントローラ上のロードが所定のしきい値未満であることが決定され、コントローラ上のロードが所定のしきい値未満であることがコントローラによって決定されると同時に、少なくとも1つの条件が満たされる。コントローラ上のロードが所定のしきい値未満であるというコントローラによる決定に応答して、第2のストレージ・ユニット内で維持される暗号化されたデータが復号される。
他の追加の実施形態では、第1のストレージ・ユニットはディスクからなり、第2のストレージ・ユニットはキャッシュである。
次に本発明の諸実施形態について、単なる例として、添付の図面を参照しながら説明する。
以下の説明では、本明細書の一部を形成し、いくつかの諸実施形態を例示する、添付の図面が参照される。他の諸実施形態が使用可能であること、ならびに構造上および動作上の変更が可能であることを理解されよう。
特定の実施形態では、ストレージ・システムのキャッシュに格納されたデータを維持し、これにアクセスするための、「オン・デマンド復号化」ソリューションを提供する。「オン・デマンド復号化」では、読み取りヒット率を向上させるために投機的プリフェッチが実行される。しかしながら、キャッシュ内に保持される投機的にプリフェッチされたデータは、暗号化されたままである。特定の実施形態では、投機的にプリフェッチされたデータは、データがアクセスされない限り、およびアクセスされるまで、復号されない。他の実施形態では、投機的にプリフェッチされたデータは、ストレージ・システム上のロードが所定のしきい値未満の場合に復号される。
図1は、特定の実施形態に従った、コンピューティング環境100を示すブロック図である。コンピューティング環境100は、サーバ104およびストレージ106に結合された、コントローラとも呼ばれるストレージ・コントローラ102を含む。ストレージ・コントローラ102およびサーバ104は、パーソナル・コンピュータ、ワークステーション、メインフレーム、ハンド・ヘルド・コンピュータ、パーム・トップ・コンピュータ、電話デバイス、ネットワーク機器、ブレード・コンピュータなどの、当分野で現在知られたデバイスを含む、任意の好適な計算デバイスとすることができる。ストレージ106は、磁気または光ディスク、テープなどの、当分野で現在知られた媒体を含む、任意の好適なストレージ媒体を含むことができる。
ストレージ・コントローラ102は、キャッシュ108、コントローラ・アプリケーション110、および暗号化インジケータ・データ構造112を含む。キャッシュ108は、投機的にプリフェッチされたデータ114がアクセスされない限り、およびアクセスされるまで、暗号化されたままとすることができる、投機的にプリフェッチされたデータ114と、暗号化されていないデータ116とを含むことができる。ストレージ106は静止中のデータを暗号化し、ストレージ106に格納されたデータは、図1では暗号化されたデータ118として示される。コントローラ・アプリケーション110は、暗号化されたデータ118を、ストレージ106からキャッシュ108へステージング120、すなわちコピーすることができる。暗号化されたデータ118がサーバ104によって特に要求されていないが、暗号化されたデータ118のサーバ104からの将来の要求を見越してステージング120される場合、暗号化されたデータ118は、キャッシュ108に格納された際に、投機的にプリフェッチされたデータ114と呼ぶことができる。データは、コントローラ・アプリケーション110によって、キャッシュ108からストレージ106へとデステージ122、すなわち移動することも可能である。暗号化インジケータ・データ構造112は、ストレージ・コントローラ102のキャッシュ108に格納されたデータが暗号化されたデータまたは復号されたデータであるかどうかを識別する情報を格納する。たとえば特定の実施形態では、暗号化インジケータ・データ構造112を実装するビット・マップを使用して、キャッシュ108内のどちらのデータが暗号化されるかを識別することができる。
特定の実施形態では、サーバ104は、データに関する読み取りあるいは書き込みまたはその両方の要求124をストレージ・コントローラ102に送信する。コントローラ・アプリケーション110は、第1にキャッシュ108から要求124を満たすように試行し、要求124がキャッシュ108を介して満たされることができない場合、コントローラ・アプリケーション110は、ストレージ106を使用し、ステージ120およびデステージ122を介して要求を満たす。
図2は、特定の実施形態に従った、オン・デマンドでデータを復号するための第1の動作を示す図である。図2に示された動作は、ストレージ・コントローラ102のコントローラ・アプリケーション110内で実装することができる。
制御はブロック200で開始され、コントローラ・アプリケーション110がストレージ106からキャッシュ108へとデータを投機的にプリフェッチする。データの投機的プリフェッチは、多くの異なる方法で実行することができる。たとえば特定の実施形態では、キャッシュ108内ではみつからないサーバ104によって要求されたデータがストレージ106からキャッシュ108へとステージング120された場合、追加のデータもストレージ106からキャッシュ108へとステージング可能であり、こうした追加のデータを投機的にプリフェッチされたデータ114と呼ぶことができる。ストレージ106に格納されたデータが暗号化された静止中のデータであるため、投機的にプリフェッチされたデータ114は暗号化されたデータである。
コントローラ・アプリケーションは(ブロック202で)、キャッシュ内に格納された投機的にプリフェッチされたデータ114が暗号化されていると示されるように、キャッシュ108に関連付けられた暗号化インジケータ・データ構造112を更新する。
コントローラ・アプリケーション110は(ブロック204で)、データにアクセスするために、コマンド124、すなわち要求をサーバ104から受信し、コントローラ・アプリケーション110は、アクセスされることになるデータがキャッシュ108内で使用可能であることを決定する。コントローラ・アプリケーション110は(ブロック206)で、暗号化インジケータ・データ構造112から、アクセスされることになるデータが暗号化されているかどうかを判別する。暗号化されている場合、制御はブロック208へと進み、コントローラ・アプリケーション110はアクセスされることになるデータを復号し、データが復号されたデータであることを示すように、暗号化インジケータ・データ構造112を更新する。その後、コントローラ・アプリケーション110は(ブロック210で)、復号されたデータへのアクセスをサーバ104に許可する。
ブロック206で、コントローラ・アプリケーションが、暗号化インジケータ・データ構造112から、アクセスされることになるデータがキャッシュ内で暗号化されていないことを決定した場合、制御はブロック210に進み、コントローラ・アプリケーション110は復号されたデータへのアクセスをサーバ104に許可する。
したがって図2は、コントローラ・アプリケーション110がデータをストレージ106からキャッシュ108へと投機的にプリフェッチし、データにアクセスするための要求がサーバ104から受信されない限り、および受信されるまで、プリフェッチされたデータを暗号化された状態で維持する、特定の実施形態を示す。投機的にプリフェッチされたデータ114は、データにアクセスするためのサーバ104からの要求に応答して復号される。サーバ104によってアクセスされない投機的にプリフェッチされたデータ114は暗号化されたままであり、キャッシュ108からストレージ106へと後でデステージ122することが可能であるため、ストレージ・コントローラにかかる処理オーバヘッドは削減される。
図3は、特定の実施形態に従った、オン・デマンドでデータを復号するための第2の動作を示す図である。図3に示された動作は、ストレージ・コントローラ102のコントローラ・アプリケーション110内で実装可能である。
制御はブロック300で開始され、コントローラ・アプリケーション110は、ストレージ106からキャッシュ108へとデータを投機的にプリフェッチする。コントローラ・アプリケーション110は(ブロック302で)、キャッシュ108内に格納された投機的にプリフェッチされたデータ114が暗号化されていると示されるように、キャッシュ108に関連付けられた暗号化インジケータ・データ構造112を更新する。
制御はブロック304に進み、コントローラ・アプリケーション110は、コントローラ102上のロードが所定のしきい値未満であるかどうかを判別する。所定のしきい値は、プログラムを介して設定可能である、あるいはコントローラ102の管理者によって設定可能である、またはその両方である。コントローラ102上のロードは、プロセッサ使用率が高いほど、コントローラ上のロードが大きいことに対応する可能性がある、コントローラ102上でのプロセッサ使用率の測定値を含むことができる。
コントローラ・アプリケーション110が、コントローラ102上のロードが所定のしきい値未満であることを決定した場合、コントローラ・アプリケーション110は(ブロック306で)、暗号化インジケータ・データ構造112から、投機的にプリフェッチされたデータ114が暗号化されているかどうかを判別する。暗号化されている場合、コントローラ・アプリケーションは投機的にプリフェッチされたデータ114を復号し、投機的にプリフェッチされたデータが暗号化されていないことを示すように、暗号化インジケータ・データ構造112を更新する。
ブロック304で、コントローラ・アプリケーション110が、コントローラ102上のロードが所定のしきい値未満でないことを決定した場合、コントローラ・アプリケーション110は(ステップ300で)、ストレージ106からキャッシュ108へのデータの投機的プリフェッチを続行する。ブロック306で、コントローラ・アプリケーション110が、暗号化インジケータ・データ構造112から、投機的にプリフェッチされたデータ114がキャッシュ108内で暗号化されていないことを決定した場合、コントローラ・アプリケーション110は(ステップ300で)、ストレージ106からキャッシュ108へのデータの投機的プリフェッチを続行する。
したがって図3は、ストレージ・コントローラ102上のロードが所定のしきい値未満である場合、キャッシュ内の投機的にプリフェッチされたデータ114が復号される、特定の実施形態を示す。
図4は、特定の実施形態に従った、暗号化されたデータを維持するためのコントローラ102内で実装される第3の動作を示す図である。図4に示された動作は、コントローラ102のコントローラ・アプリケーション110内で実装可能である。
制御はブロック400で開始され、コントローラ102は、コントローラ102に結合された第1のストレージ・ユニット106から暗号化されたデータを受信することができる。特定の実施形態では、第1のストレージ・ユニット106はディスクからなる。
受信した暗号化されたデータは(ブロック402で)、コントローラ102に結合された第2のストレージ・ユニット108に格納され、コントローラ102は、第1のストレージ・ユニット106に比べて高速で第2のストレージ・ユニット108にアクセスすることができる。特定の実施形態では、第2のストレージ・ユニット108はキャッシュである。
暗号化されたデータは(ブロック404で)、少なくとも1つの条件が満たされるまで、第2のストレージ・ユニット108内で維持される。特定の実施形態では、コントローラ102上のロードが所定のしきい値未満であることがコントローラ102によって決定されると同時に、少なくとも1つの条件が満たされる。特定の他の実施形態では、第2のストレージ・ユニット108内で維持される暗号化されたデータにアクセスするための要求を受信すると同時に、少なくとも1つの条件が満たされる。
特定の実施形態は、たとえハードウェアの暗号化/復号化がストレージ・コントローラ102内で使用できない場合であっても、ディスク106からキャッシュ108への暗号化されたデータの投機的プリフェッチを可能にする。投機的にプリフェッチされたデータ114は、データにアクセスするための要求が受信されるまで、暗号化された状態で維持される。代替実施形態では、ストレージ・コントローラ上のデータが所定のしきい値未満である場合、投機的にプリフェッチされたデータ114は復号される。ストレージ106からキャッシュ108へのデータの投機的なプリフェッチの結果として、キャッシュ上の読み取りヒット率が向上する。暗号化された投機的にプリフェッチされたデータ114にアクセスするための要求が受信された場合、または、コントローラ102上のロードが所定のしきい値未満の場合、投機的にプリフェッチされたデータ114が復号されるため、性能の低下は減少する。
追加の実施形態の詳細
説明された技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、あるいはそれらの任意の組み合わせ、またはそれらすべてを含む、方法、装置、または製品として実装可能である。本明細書で使用される「製品」という用語は、媒体内に実装されるコードまたは論理を言い表し、こうした媒体は、ハードウェア論理(たとえば集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)、あるいは、磁気ストレージ媒体(たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなど)、光ストレージ(CD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、電気的消去再書き込み可能読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、再書き込み可能読み取り専用メモリ(PROM)、ランダム・アクセス・メモリ(RAM)、動的ランダム・アクセス・メモリ(DRAM)、静的ランダム・アクセス・メモリ(SRAM)、フラッシュ、ファームウェア、再書き込み可能論理など)などの、コンピュータ読み取り可能媒体を備えることができる。コンピュータ読み取り可能媒体内のコードは、プロセッサによってアクセスおよび実行される。コードまたは論理が内部で符号化された媒体は、空間、または光ファイバ、銅線などの伝送媒体を介して伝播される、伝送信号を含むこともできる。コードまたは論理が内部で符号化された伝送信号は、無線信号、衛星伝送、電波、赤外線信号、ブルートゥースなどをさらに含むことができる。コードまたは論理が内部で符号化された伝送信号は、送信局による送信および受信局による受信が可能であり、伝送信号内部で符号化されたコードまたは論理は、受信側および送信側の局または装置にあるハードウェアまたはコンピュータ読み取り可能媒体内に復号および格納することができる。加えて「製品」は、内部でコードが具体化、処理、および実行される、ハードウェアおよびソフトウェアの構成要素の組み合わせを含むこともできる。もちろん、当業者であれば、諸実施形態の範囲を逸脱することなく多くの修正が実行可能であること、および製品が任意の情報担持媒体を含むことが可能であることを、理解されよう。たとえば製品は、マシンによって実行された場合に結果として動作が実行される、内部に命令を格納したストレージ媒体を含む。
特定の実施形態は、全体としてハードウェアの実施形態、全体としてソフトウェアの実施形態、またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されることのない、ソフトウェア内で実装される。
さらに特定の実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれらに関連して使用するための、プログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能の媒体からアクセス可能な、コンピュータ・プログラム製品の形を取ることができる。この説明では、コンピュータ使用可能またはコンピュータ読み取り可能の媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するための、プログラムの包含、格納、通信、伝播、または移送が可能な、任意の装置とすることができる。媒体は、電子、磁気、光、電磁、赤外線、または半導体のシステム(あるいは装置またはデバイス)、あるいは伝播媒体とすることができる。コンピュータ読み取り可能媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛性磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)、コンパクト・ディスク−読み取り/書き込み(CD−R/W)、およびDVDが含まれる。
「特定の実施形態」、「ある実施形態」、「実施形態」、「諸実施形態」、「その実施形態」、「その諸実施形態」、「1つまたは複数の実施形態」、「何らかの実施形態」、および「一実施形態」という用語は、特に明示されていない限り、(すべてではないが)1つまたは複数の実施形態を意味する。「含む」、「備える」、「有する」、およびそれらの変形の用語は、特に明示されていない限り、「含むがしかし限定されない」ことを意味する。列挙されたアイテムのリストは、特に明示されていない限り、任意またはすべてのアイテムが相互に排他的であることを示唆するものではない。「ある(a)」および「その(the)」という用語は、特に明示されていない限り、「1つまたは複数」を意味する。
互いに通信しているデバイスは、特に明示されていない限り、互いに連続して通信しているとは限らない。加えて、互いに通信しているデバイスは、直接、あるいは1つまたは複数の中継を介して間接的に、通信することができる。さらに、互いに通信しているいくつかの構成要素を備えた実施形態の説明は、こうした構成要素のすべてが必要であることを示唆するものではない。これに対して、多種多様な可能な実施形態を例示するために、多様なオプションの構成要素について説明している。
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、一連の順序で説明されている場合があるが、こうしたプロセス、方法、およびアルゴリズムは、代替の順序で動作するように構成することができる。言い換えれば、説明されている場合のあるステップのいかなるシーケンスまたは順序も、必ずしもステップがその順序で実行される旨の要件を示すものではない。本明細書で説明されたプロセスのステップは、任意の実際の順序で実行可能である。さらにいくつかのステップは、同時に、並行して、または一斉に実行可能である。
本明細書で単一のデバイスまたは製品について説明されている場合、単一のデバイス/製品の代わりに、複数のデバイス/製品が(それらが協働するか否かにかかわらず)使用可能であることが明らかとなろう。同様に、本明細書で複数のデバイスまたは製品(それらが協働するか否かにかかわらず)について説明されている場合、複数のデバイスまたは製品の代わりに、単一のデバイス/製品が使用可能であることが明らかとなろう。デバイスの機能あるいは機構は、別の方法として、こうした機能/機構を有するものとして明示的に説明されていない1つまたは複数の他のデバイスによって具体化することが可能である。したがって他の諸実施形態は、必ずしもデバイス自体を含むとは限らない。
図5は、特定の実施形態において、図1のコンピューティング環境100のストレージ・コントローラ102およびサーバ104がコンピュータ・システム500のコンピュータ・アーキテクチャに従って実装可能な、例示的コンピュータ・システム500を示す図である。コンピュータ・システム500はシステムと呼ばれる場合もあり、特定の実施形態ではプロセッサ504を含むことが可能な回路502を含むことが可能である。システム500は、メモリ506(たとえば揮発性メモリ・デバイス)およびストレージ508も含むことができる。システム500の特定の要素は、図1のストレージ・コントローラ102およびサーバ104内に見られる場合または見られない場合がある。ストレージ508は、不揮発性メモリ・デバイス(たとえばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、ファームウェア、再書き込み可能論理など)、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ508は、内部ストレージ・デバイス、取り付け型ストレージ・デバイス、あるいはネットワーク・アクセス可能ストレージ・デバイス、またはそれらすべてを備えることができる。システム500は、メモリ506内にロード可能であり、プロセッサ504または回路502によって実行可能な、コード512を含む、プログラム論理510を含むことができる。特定の実施形態では、コード512を含むプログラム論理510はストレージ508に格納することができる。特定の他の実施形態では、プログラム論理510は回路502内に実装可能である。したがって、図5ではプログラム論理510を他の要素と別に示しているが、プログラム論理510はメモリ506あるいは回路502またはそれら両方の内部に実装可能である。
特定の実施形態は、コンピュータ読み取り可能コードをコンピューティング・システムに統合する、人または自動化された処理によって、コンピューティング命令を展開するための方法を対象とすることが可能であり、コードとコンピューティング・システムとがあいまって、説明された実施形態の動作を実行することが可能となる。
図2、図3および図4に示された少なくとも特定の動作は、並行して、ならびに順次、実行することができる。代替の実施形態では、特定の動作は、異なる順序での実行、修正、または除去が可能である。
さらに、ソフトウェアおよびハードウェア構成要素の多くは、例示の目的で別々のモジュール内に記載されている。こうした構成要素は、より少数の構成要素に統合するか、またはより多数の構成要素に分割することができる。加えて、特定構成要素によって実行されるように記載された特定の動作は、他の構成要素による実行が可能である。
図1〜図5で図示または言及されたデータ構造および構成要素は、特定タイプの情報を有するように記載されている。代替の実施形態では、このデータ構造および構成要素を異なるように構造化すること、ならびに、図面で図示または言及されたものよりも少ない、多い、または異なるフィールド、あるいは異なる機能を有することが可能である。
したがって、諸実施形態の前述の記載は、例示および説明の目的で提示されたものである。諸実施形態を網羅すること、または開示された精密な形に限定することは意図されていない。上記教示に照らして、多くの修正および変形が可能である。
特定の実施形態に従った、コンピューティング環境を示すブロック図である。 特定の実施形態に従った、オン・デマンドでデータを復号するための第1の動作を示す図である。 特定の実施形態に従った、オン・デマンドでデータを復号するための第2の動作を示す図である。 特定の実施形態に従った、暗号化されたデータを維持するためのコントローラ内で実装される第3の動作を示す図である。 特定の実施形態において、図1のコンピューティング環境のコントローラがコンピューティング・システムのアーキテクチャに従って実装可能な、コンピューティング・システムのアーキテクチャを示す図である。

Claims (6)

  1. コントローラ内で実装される方法であって、
    コントローラに結合された第1のストレージ・ユニットに格納された暗号化されたデータを前記コントローラに結合されたキャッシュへ前記データの復号処理のため、前記データがアクセスされるか、されないかに関わらず、投機的にプリフェッチするステップと、
    前記キャッシュに関連付けられ、かつ前記キャッシュ内で維持されるデータが暗号化されているかどうかを示す暗号化インジケータ・データ構造を維持するステップと、
    前記キャッシュにプリフェッチした前記暗号化されたデータを、該暗号化されたデータにアクセスするための要求を受信するまで、暗号化された状態で維持するステップと、
    前記キャッシュ内で維持される前記暗号化されたデータにアクセスするための要求の受信に応答して、該暗号化されたデータを復号するステップと、
    を含む方法。
  2. 前記暗号化インジケータ・データ構造を、前記キャッシュ内で維持される前記暗号化されたデータの復号化に応答して、前記キャッシュ内で維持される前記暗号化されたデータが暗号化されていないことを示すように更新するステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記第1のストレージ・ユニットはディスクからなる、請求項1に記載の方法。
  4. 第1のストレージ・ユニットと通信するシステムであって、
    前記第1のストレージ・ユニットに結合されたコントローラと、
    前記コントローラに結合された第2のストレージ・ユニットと、
    前記コントローラに含まれるプロセッサと、
    前記プロセッサに結合されたメモリであって、前記プロセッサは請求項1から3のいずれかに記載のステップを実行するように動作可能である、メモリと、
    を備えるシステム。
  5. コンピュータに請求項1から3のいずれかに記載のステップを実行させるためのコンピュータ実行可能なプログラム。
  6. コンピュータ読み取り可能コードをコントローラ内に統合するステップを有し、前記コードが前記コントローラと組み合わせて請求項1から3のいずれかに記載のステップを実行するように動作可能な、コンピューティング・インフラストラクチャを活用するための方法。
JP2009505822A 2006-04-18 2007-03-28 ストレージ・システムにおけるデータの暗号化/復号化のための方法、システム、およびコンピュータ・プログラム Active JP5068309B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/407,182 2006-04-18
US11/407,182 US7681047B2 (en) 2006-04-18 2006-04-18 Decryption of data in storage systems
PCT/EP2007/052980 WO2007118776A1 (en) 2006-04-18 2007-03-28 Encryption/decryption of data in storage systems

Publications (2)

Publication Number Publication Date
JP2009534726A JP2009534726A (ja) 2009-09-24
JP5068309B2 true JP5068309B2 (ja) 2012-11-07

Family

ID=38236453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009505822A Active JP5068309B2 (ja) 2006-04-18 2007-03-28 ストレージ・システムにおけるデータの暗号化/復号化のための方法、システム、およびコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US7681047B2 (ja)
EP (1) EP2011050B1 (ja)
JP (1) JP5068309B2 (ja)
CN (1) CN101410849B (ja)
TW (1) TWI397008B (ja)
WO (1) WO2007118776A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782433B2 (en) * 2008-09-10 2014-07-15 Inside Secure Data security
US8352679B2 (en) * 2009-04-29 2013-01-08 Empire Technology Development Llc Selectively securing data and/or erasing secure data caches responsive to security compromising conditions
US8726043B2 (en) * 2009-04-29 2014-05-13 Empire Technology Development Llc Securing backing storage data passed through a network
US8799671B2 (en) * 2009-05-06 2014-08-05 Empire Technology Development Llc Techniques for detecting encrypted data
US8924743B2 (en) * 2009-05-06 2014-12-30 Empire Technology Development Llc Securing data caches through encryption
US8751830B2 (en) 2012-01-23 2014-06-10 International Business Machines Corporation Memory address translation-based data encryption/compression
US8954755B2 (en) 2012-01-23 2015-02-10 International Business Machines Corporation Memory address translation-based data encryption with integrated encryption engine
US20140082324A1 (en) * 2012-09-14 2014-03-20 Reuven Elhamias Method and Storage Device for Using File System Data to Predict Host Device Operations
US9244840B2 (en) 2012-12-12 2016-01-26 International Business Machines Corporation Cache swizzle with inline transposition
US10476846B2 (en) * 2016-08-05 2019-11-12 The Boeing Company Data-at-rest (DAR) encryption for integrated storage media
CN113268456B (zh) * 2021-05-20 2023-12-08 济南浪潮数据技术有限公司 一种文件处理方法、系统、设备及计算机可读存储介质
CN117940910A (zh) * 2021-08-18 2024-04-26 美光科技公司 选择性高速缓存行存储器加密

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276898A (en) 1990-07-26 1994-01-04 International Business Machines Corporation System for selectively compressing data frames based upon a current processor work load identifying whether the processor is too busy to perform the compression
US5991753A (en) 1993-06-16 1999-11-23 Lachman Technology, Inc. Method and system for computer file management, including file migration, special handling, and associating extended attributes with files
US5544342A (en) * 1993-06-30 1996-08-06 International Business Machines Corporation System and method for prefetching information in a processing system
US5444781A (en) 1993-08-23 1995-08-22 Apple Computer Inc. Method and apparatus for decryption using cache storage
US5943421A (en) 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
US6175896B1 (en) 1997-10-06 2001-01-16 Intel Corporation Microprocessor system and method for increasing memory Bandwidth for data transfers between a cache and main memory utilizing data compression
US6523118B1 (en) * 1998-06-29 2003-02-18 Koninklijke Philips Electronics N.V. Secure cache for instruction and data protection
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
KR100320183B1 (ko) * 1999-03-17 2002-01-10 구자홍 디지탈데이터 플레이어의 파일 암호화 장치
US6438664B1 (en) * 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
DE50014893D1 (de) 2000-01-18 2008-02-14 Infineon Technologies Ag Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
US6983374B2 (en) * 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US20040015687A1 (en) 2000-07-21 2004-01-22 Luca Chiarabini Dual level encrypted cache for secure document print on demand
US6584549B2 (en) * 2000-12-29 2003-06-24 Intel Corporation System and method for prefetching data into a cache based on miss distance
US20020194133A1 (en) 2001-04-19 2002-12-19 Didier Castueil System and method for distributing digital content in a secure manner
US6996725B2 (en) * 2001-08-16 2006-02-07 Dallas Semiconductor Corporation Encryption-based security protection for processors
US7051201B2 (en) 2002-03-15 2006-05-23 International Business Machines Corporation Securing cached data in enterprise environments
US8135962B2 (en) * 2002-03-27 2012-03-13 Globalfoundries Inc. System and method providing region-granular, hardware-controlled memory encryption
JP3503638B1 (ja) 2002-09-26 2004-03-08 日本電気株式会社 暗号装置及び暗号プログラム
JP2004350152A (ja) * 2003-05-23 2004-12-09 Matsushita Electric Ind Co Ltd 映像再生装置および映像再生方法
JP2005274833A (ja) * 2004-03-24 2005-10-06 Matsushita Electric Ind Co Ltd 携帯型信号再生装置
TWI261447B (en) * 2004-08-30 2006-09-01 Rdc Semiconductor Co Ltd Security system for data processing
US7360027B2 (en) * 2004-10-15 2008-04-15 Intel Corporation Method and apparatus for initiating CPU data prefetches by an external agent

Also Published As

Publication number Publication date
US20070245160A1 (en) 2007-10-18
WO2007118776A1 (en) 2007-10-25
TWI397008B (zh) 2013-05-21
US7681047B2 (en) 2010-03-16
CN101410849B (zh) 2012-06-27
TW200817995A (en) 2008-04-16
EP2011050B1 (en) 2014-06-04
EP2011050A1 (en) 2009-01-07
JP2009534726A (ja) 2009-09-24
CN101410849A (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
JP5068309B2 (ja) ストレージ・システムにおけるデータの暗号化/復号化のための方法、システム、およびコンピュータ・プログラム
US7617345B2 (en) Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts
US8555019B2 (en) Using a migration cache to cache tracks during migration
US7752676B2 (en) Encryption of data in storage systems
US9619167B2 (en) System and method for computing message digests
US8954753B2 (en) Encrypting data in volatile memory
US20170317991A1 (en) Offloading storage encryption operations
KR102093105B1 (ko) 액티브 드라이브 api
US20100287385A1 (en) Securing data caches through encryption
US9075726B2 (en) Conflict resolution of cache store and fetch requests
US7469303B2 (en) Method and apparatus for protecting data during storage/retrieval
US7613860B2 (en) Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts
EP2165264B1 (en) Prioritization of interrupts in a storage controller
US20150212951A1 (en) Low-latency, low-overhead hybrid encryption scheme
CN111859225B (zh) 程序文件的访问方法、装置、计算设备和介质
KR20140058380A (ko) 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120618

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120625

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120731

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

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5068309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150