JP4615337B2 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP4615337B2 JP4615337B2 JP2005074375A JP2005074375A JP4615337B2 JP 4615337 B2 JP4615337 B2 JP 4615337B2 JP 2005074375 A JP2005074375 A JP 2005074375A JP 2005074375 A JP2005074375 A JP 2005074375A JP 4615337 B2 JP4615337 B2 JP 4615337B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- block set
- update
- host computer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
前記更新処理において、前記制御部は、前記ブロック対応関係を参照して、前記更新対象第1ブロックセットに含まれる全ての第1ブロックの更新が要求されているか否かを判定し、全ての第1ブロックの更新が要求されていない場合には、前記更新対象第1ブロックセットに対応付けられた第2ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、得られたデータに前記要求された第1ブロックのデータを上書きしてから前記変換処理を実行して更新対象第2ブロックセットを生成するとともに、前記更新対象第2ブロックセットを前記記憶領域に格納し、さらに、前記ブロック対応関係に、前記更新対象第1ブロックセットと前記更新対象第2ブロックセットとの対応関係を書き込むこととしてもよい。
前記制御部は、前記ホストコンピュータから特定の第1ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行し、前記バージョン読み出し処理において、前記制御部は、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第2ブロックセットを認識し、前記認識した第2ブロックセットを読み出して前記データ変換処理の逆変換処理を実行し、前記要求された第1ブロックのデータを前記ホストコンピュータに送信することとしてもよい。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.変形例:
A1.装置の構成:
図1は、本発明の一実施例としてのストレージシステムの構成を示す説明図である。このストレージシステム200は、ホストインターフェイス210と、管理インターフェイス220と、ディスクインターフェイス230と、各インターフェイス210、220、230に接続されたディスクアレイ制御部300と、ディスクインターフェイス230に接続されたディスクアレイ250と、を有している。ディスクアレイ250は、複数のディスク装置を有している。
図3は、管理端末120に表示される設定画面の一例を示す説明図である。この設定画面は、論理ボリュームの圧縮マイグレーションを行うための設定画面である。圧縮マイグレーションとは、論理ボリュームに格納されたデータを圧縮して格納し直す処理を意味している。第1実施例では、1つの論理ボリューム全体のデータを、圧縮させつつ他の論理ボリュームに移行させることとしている。オペレータは、図3に示す設定画面を操作することによって、処理対象(移行元)の論理ボリュームと、処理内容と、処理のアルゴリズムと、を選択することができる。図3の例では、「第0論理ボリュームLDEV0」が選択されている。また、移行時の処理として「圧縮」が選択され、圧縮処理のアルゴリズムとして「LHA」が選択されている。移行時の処理としては、圧縮以外にも「暗号化」を選択することが可能である(後述)。圧縮処理のアルゴリズムとしては、LHA以外にもZIPを選択することが可能である。オペレータが、「OKボタン」を操作すると、ディスクアレイ制御部300(図1)は、圧縮マイグレーション処理を開始する。なお、移行先の論理ボリュームについては、データ中継モジュール600が、空いている論理ボリュームの中から自動的に選択する。図3の例では、第1論理ボリュームLDEV1が選択されている。ただし、オペレータが選択できることとしてもよい。
図7は、ストレージシステム200に対するデータ読み出し処理の手順を示すフローチャートである。上述したように、ホスト計算機110は、ストレージシステム200に対して、LUNとLBAとを指定して、データの読み出し要求を行う。以下、第1論理ボリュームLDEV1(LUN=0)が指定されたものとして説明を行う。
図9は、ストレージシステム200に対するデータ書き込み処理の手順を示すフローチャートである。読み出し処理と同様に、ホスト計算機110は、ストレージシステム200に対して、LUNとLBAとを指定して、データの書き込み要求を行う。以下、第1論理ボリュームLDEV1(LUN=0)が指定されたものとして説明を行う。
図12は、圧縮解除処理の手順を示すフローチャートである。圧縮解除処理とは、論理ボリュームに格納された圧縮データを伸長して格納し直す処理を意味している。第1実施例では、論理ボリューム1つ分のデータを、伸長させつつ他の論理ボリュームに移行させることとしている。圧縮解除処理は、管理端末120(図1)からの指示に従って、ディスクアレイ制御部300が実行する。以下、第1論理ボリュームLDEV1を第2論理ボリュームLDEV2に移行させることとして説明を行う。なお、伸長先(移行先)の論理ボリュームについては、データ中継モジュール600が、空いている論理ボリュームの中から自動的に選択する。ただし、オペレータが選択できることとしてもよい。
図13は、第2実施例におけるストレージシステム200bの構成を示す説明図である。図1に示すストレージシステム200との差異は、データ中継モジュール600bが、データの更新履歴を保存するとともに、その更新履歴を世代管理する点である。また、ローカルメモリ344bは、圧縮LBA管理テーブル500の代わりに、更新状態管理テーブル530と、世代・圧縮管理テーブル540と、を格納している。これらのテーブル530、540は、世代管理に用いられる。他の構成は、図1、図2のストレージシステム200と同じである。なお、図13では、ストレージシステム200bの構成要素として、ディスクアレイ制御部300bのローカルメモリ344bのみが示されており、他の構成要素は図示が省略されている。
図14は、更新状態管理テーブル530と世代・圧縮管理テーブル540との一例を示す説明図である。これらのテーブル530、540は、図14の下側に示したステップS1からS7の手順に従ってデータの更新が行われた場合の例を示している。
時点コピーの作成指示を送信する。このような指示は、オペレータの操作によって送信される。また、ディスクアレイ制御部300b、あるいは、管理端末120が、予め設定されたタイミングで自発的に指示を行ってもよく、また、他の任意の条件に従って自発的に指示を行うこととしてもよい。
ステップS7では、ホスト計算機110が、ストレージシステム200bに対してデータの書き込み要求を行う。上述のステップS2、S5、S6との差異は、過去の世代を指定した書き込み要求を行っている点である。
ケースA:指定世代のデータが退避されていない場合:
ケースB:指定世代のデータが退避済みであり、
かつ、退避データは他世代との共有データではない:
ケースC:指定世代のデータが退避済みであり、
かつ、退避データは他世代との共有データである:
図21は、ケースAにおける更新状態管理テーブル530と世代・圧縮管理テーブル540との一例を示す説明図である。図21には、図14のステップS7の後のテーブル530、540の内容の一部が示されている。
図22は、ケースBにおける更新状態管理テーブル530と世代・圧縮管理テーブル540との一例を示す説明図である。図22には、図14のステップS7の後に、さらに、ホスト計算機110が、ステップS7と同じ指定ブロックセットと指定世代とを対象とする書き込み要求を行った場合の一例が示されている。
図23は、ケースCにおける更新状態管理テーブル530と世代・圧縮管理テーブル540との一例を示す説明図である。図23には、図14のステップS7の後に、さらに、ホスト計算機110が、第1世代のLBA「00100(h)」を対象とする書き込み要求を行った場合の一例が示されている。図14のテーブル530、540に示すように、「00100(h)」を含むブロックセットBS110については、ブロックセットBS220cに、「0〜2」世代のデータが既に退避済みである。図23の例では、ホスト計算機110は、この中の第1世代のみについて、新たなデータの書き込みを要求している。
図24は、第3実施例におけるストレージシステム200cの構成を示す説明図である。図1に示すストレージシステム200との差異は、データ中継モジュール600cが、圧縮マイグレーション処理の後のデータの更新を、ログ方式で管理している点である。他の構成は、図1、図2に示すストレージシステム200と同じである。なお、図24では、ストレージシステム200cの構成要素として、ディスクアレイ制御部300cのローカルメモリ344cのみが示されており、他の構成要素は図示が省略されている。
図25は、第3実施例における書き込み処理の概要を示す説明図である。この書き込み処理は、圧縮マイグレーションの後の処理である。ここでは、指定LBAが「7990〜7995」であることとしている。
データ中継モジュール600cは、ホスト計算機110からの読み出し要求に対しては、図7、図8に示した第1実施例と同様に、データ転送を行う。ただし、データ中継モジュール600cは、空き領域A13のログ情報の中から、指定LBAを含むログ情報(以下「指定ログ情報」と呼ぶ)を検索する。指定ログ情報を見つけたら、指定ログ情報の実LBAが表すブロックセットからデータを読み出し、読み出したデータをデータ伸長回路330(図1)に伸長させる。データ中継モジュール600cは、伸長によって生成されたデータを用いて、指定LBAのデータをホスト計算機110に転送する。
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
図3〜図6に示す圧縮マイグレーション処理において、移行先の論理ボリュームを、移行元の論理ボリュームと同じとしてもよい。この場合には、圧縮後のデータを、圧縮前のデータを格納していた論理ブロックに上書きすればよい。
図4、図8に示す第1実施例では、非圧縮領域A11に関しても、ブロックセットを単位とするデータの読み書きを行っていたが、1個の論理ブロックを単位とする読み書きを行ってもよい。これは、他の処理や他の実施例についても同様である。
図6に示す第1実施例では、圧縮処理の単位の大きさが「10ブロック」で固定されている。従って、圧縮前のブロックセットに関しては、先頭LBAを特定すればブロックセットを特定することが可能である。そこで、圧縮LBA管理テーブル500における圧縮前のサイズデータを省略してもよい。さらに、非圧縮領域A1(非圧縮領域A11)に関しては、圧縮前(移行前)LBAと、圧縮後(移行後)LBAとが同じであるので、圧縮LBA管理テーブル500の、非圧縮領域A1(非圧縮領域A11)に関するデータを省略してもよい。一方、図14に示す第2実施例においても、圧縮処理の単位の大きさが「100(h)ブロック」に固定されている。従って、更新状態管理テーブル530における終端LBAデータを省略してもよい。なお、圧縮後のブロックセットに関しては、大きさが可変値であるので、サイズデータや、終端LBAデータを省略せずに用いることが好ましい。
上述の第2実施例では、更新前のデータを圧縮して退避(格納)することとしていたが、この代わりに、更新後のデータを圧縮して退避(格納)することとしてもよい。この場合も、図14の例と同様に、圧縮管理テーブル540に、更新後のデータを格納するブロックセットの情報を格納すればよい。
図24、図25に示す第3実施例では、圧縮マイグレーション処理を実行することとしているが、実行しないこととしてもよい。この場合も、更新後のデータを圧縮してログ情報とともに格納すればよい。この際、更新後のデータとログ情報とを、元のデータの論理ボリュームとは異なる論理ボリュームに格納すればよい。
上記各実施例において、ストレージシステム200、200b、200cからホスト計算機110へデータを読み出す場合には、論理ボリュームから読み出した指定LBAのデータを、一旦、キャッシュメモリ342に格納しておき、後でまとめてホスト計算機110に送信することとしてもよい。同様に、ホスト計算機110からストレージシステム200、200b、200cへデータを書き込む場合には、ホスト計算機110から送信されたデータを、一旦、キャッシュメモリ342に格納しておき、ホスト計算機110にデータ書き込み終了の通知を送信した後に、論理ボリュームに実際に書き込むこととしてもよい。
上述の各実施例では、ホスト計算機110が指定するLBA(指定LBA)と、圧縮前(移行前、退避前)の論理ボリューム上のLBA(以下「物理的LBA」とも呼ぶ)と、が一致しているが、一致していなくてもよい。この場合には、ストレージシステムに設定記憶部(例えば、メモリ部340やディスクアレイ250)を設け、設定記憶部に、指定LBAと物理的LBAとのLBA対応関係を格納しておくことが好ましい。
上記各実施例において、ストレージシステム200、200b、200cが、複数のホスト計算機に論理ボリュームを提供する場合がある。このような場合には、ホスト計算機毎に論理ボリューム管理テーブル510(図6(C))を設けることが好ましい。ここで、あるホスト計算機用の論理ボリューム管理テーブル510に登録されていない論理ボリュームについては、そのホスト計算機との間のデータ転送を禁じることが好ましい。こうすれば、意図しないホスト計算機との間のデータ転送を防止することができる。
上述の各実施例では、論理ボリュームの形成方法として、RAIDシステムを用いる方法を採用しているが、他の任意の方法を採用可能である。例えば、1つのディスク装置によって提供される記憶領域を、そのまま1つの論理ボリュームとして用いてもよい。
上記各実施例では、データの圧縮処理を行うこととしていたが、データ変換処理としては、データ自体の大きさが変わる任意の処理を採用することができる。例えば、暗号化処理を行うこととしてもよい。暗号化処理としては、DES暗号化処理等の周知の種々の処理を採用することができる。また、パスワードを用いる暗号化処理を採用する場合には、パスワードを、管理端末120やホスト計算機110から指定することとすればよい。また、圧縮処理と暗号化処理との両方を実行してもよい。
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、データ圧縮回路320(図1)とデータ伸長回路330との機能を、プログラムによって実現することとしてもよい。
120...管理端末
200、200b、200c...ストレージシステム
210...ホストインターフェイス
220...管理インターフェイス
230...ディスクインターフェイス
250...ディスクアレイ
300、300b、300c...ディスクアレイ制御部
310...CPU
320...データ圧縮回路
330...データ伸長回路
340...メモリ部
342...キャッシュメモリ
344、344b、344c...ローカルメモリ
390...バス
500...圧縮LBA管理テーブル
510...論理ボリューム管理テーブル
520...ボリューム状態管理テーブル
530...更新状態管理テーブル
540...世代・圧縮管理テーブル
600、600b、600c...データ中継モジュール
Claims (16)
- データを記憶する記憶領域をホストコンピュータに提供するストレージシステムであって、
少なくとも1つのディスク装置を含み、前記ディスク装置により構成される論理的な記憶領域を有するデータ記憶部と、
前記ホストコンピュータと前記記憶領域との間のデータ転送を制御する制御部と、
を備え、
前記制御部は、
前記ホストコンピュータとの間では、所定サイズの第1ブロックを最小単位として前記ホストコンピュータから指定された前記記憶領域における第1ブロックの論理的な位置に従ってデータの受信及び送信を実行し、
前記記憶領域との間では、所定サイズの第2ブロックを最小単位としてデータの格納と読み出しとを実行するとともに、
前記記憶領域にデータを格納する際には、前記記憶領域におけるN個(Nは1以上の整数)の第1ブロックで構成される第1ブロックセットに格納されたデータに対して、データ自体の大きさが変わるデータ変換処理を実行して1以上の第2ブロックで構成される第2ブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の第2ブロックセットへ格納する変換格納モードを有し、
前記ストレージシステムは、さらに、
前記記憶領域における各前記第1ブロックセットと、各前記第1ブロックセットに格納されたデータに対応するデータを格納する前記記憶領域における各前記第2ブロックセットと、の対応関係を示すブロック対応関係を記憶する対応関係記憶部を備え、
前記制御部は、前記ホストコンピュータから特定の第1ブロックのデータ読み出し要求を受信したときに、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットに対応付けられた読出第2ブロックセットを認識し、前記読出第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記制御部は、さらに、前記ホストコンピュータから特定の第1ブロックに関するデータ更新格納要求を受けたときに、前記要求された第1ブロックを含む更新対象第1ブロックセットの更新処理を実行し、
前記更新処理において、前記制御部は、前記ブロック対応関係を参照して、前記更新対象第1ブロックセットに含まれる全ての第1ブロックの更新が要求されているか否かを判定し、全ての第1ブロックの更新が要求されていない場合には、
前記更新対象第1ブロックセットに対応付けられた第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、得られたデータに前記要求された第1ブロックのデータを上書きしてから前記変換処理を実行するとともに、生成されたデータを前記記憶領域の更新対象第2ブロックセットに格納し、さらに、
前記ブロック対応関係に、前記更新対象第1ブロックセットと前記更新対象第2ブロックセットとの対応関係を書き込む、
ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記記憶領域は、特定の第1ブロックセットに格納されたデータに対応付けられているとともにバージョンが異なる複数の異バージョンの第2ブロックセットのサイズのデータを格納することが可能であり、
前記ブロック対応関係は、前記特定の第1ブロックセットと、前記複数の異バージョンのデータを格納する第2ブロックセット及びバージョンとの対応関係を含んでおり、
前記制御部は、前記ホストコンピュータから特定の第1ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行し、
前記バージョン読み出し処理において、前記制御部は、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第2ブロックセットを認識し、前記認識した第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。 - 請求項3に記載のストレージシステムであって、
前記制御部は、前記第1ブロックセットに格納されたデータから前記データ変換処理を実行せずに1以上の第2ブロックで構成されるブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の未変換ブロックセットに格納する未変換格納モードを有し、
前記制御部は、前記未変換ブロックセットへのデータの格納の後に前記ホストコンピュータから特定の第1ブロックに関するデータ更新要求を受けたときには、変換更新処理を実行し、
前記変換更新処理において、前記制御部は、
(i)前記要求された第1ブロックを含む対象第1ブロックセットの更新後のデータについては、前記変換格納モードと前記未変換格納モードとの一方に従って前記記憶領域に格納し、
(ii)前記対象第1ブロックセットの更新前のデータについては、前記対象第1ブロックセットに対応付けられた未変換ブロックセットに格納されたデータを読み出し、前記データ変換処理を実行してデータを生成するとともに、生成されたデータを前記記憶領域の更新前第2ブロックセットへ格納し、さらに、前記ブロック対応関係に、前記対象第1ブロックセットと、前記更新前第2ブロックセットと、所定の規則に従って定められるバージョンと、の3者の対応関係を追加する、
ストレージシステム。 - 請求項4に記載のストレージシステムであって、
前記制御部は、前記変換更新処理において、前記対象第1ブロックセットの更新後のデータから前記データ変換処理を実行せずに1以上の第2ブロックで構成されるブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の更新後未変換ブロックセットに格納し、
さらに、前記ホストコンピュータからバージョン指定無しのデータ読み出し要求を受けたときには、前記更新後未変換ブロックセットに格納されたデータを読み出して、前記要求された第1ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記記憶領域は、特定の第1ブロックセットに格納されたデータに対応付けられているとともにバージョンが異なる複数の異バージョンの第2ブロックセットのサイズのデータを格納することが可能であり、
前記ブロック対応関係は、前記特定の第1ブロックセットと前記第2ブロックセット及びバージョンとの対応関係を含んでおり、
前記制御部は、前記ホストコンピュータから特定の第1ブロックに関するデータ更新要求を受けたときには、ログ更新処理を実行し、
前記ログ更新処理において、前記制御部は、前記要求された第1ブロックで構成される更新対象第1ブロックセットの更新後のデータに前記データ変換処理を実行して、生成されたデータを前記記憶領域の更新後第2ブロックセットへ格納し、さらに、前記ブロック対応関係に、前記更新対象第1ブロックセットと、前記更新後第2ブロックセットと、所定の規則に従って定められるバージョンと、の3者の対応関係を追加し、
前記制御部は、前記ホストコンピュータから特定の第1ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行し、
前記バージョン読み出し処理において、前記制御部は、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第2ブロックセットを認識し、前記認識した第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する、
ストレージシステム。 - 請求項1ないし請求項5のいずれかに記載のストレージシステムであって、
前記第1ブロックセットのブロック数Nは可変値である、
ストレージシステム。 - 請求項1ないし請求項7のいずれかに記載のストレージシステムであって、
前記第2ブロックのデータサイズは、前記第1ブロックのデータサイズよりも小さい、
ストレージシステム。 - ストレージシステムが有する少なくとも1つのディスク装置により構成される論理的な記憶領域をホストコンピュータに提供する方法であって、
(A)前記ホストコンピュータと前記ストレージシステムとの間で、所定サイズの第1ブロックを最小単位として前記ホストコンピュータから指定された前記記憶領域における第1ブロックの論理的な位置に従ってデータの受信及び送信を実行する工程と、
(B)前記記憶領域に対して、所定サイズの第2ブロックを最小単位としてデータの格納と読み出しとを実行する工程と、
を備え、
前記工程(B)は、前記記憶領域にデータを格納する際には、前記記憶領域におけるN個(Nは1以上の整数)の第1ブロックで構成される第1ブロックセットに格納されたデータに対して、データ自体の大きさが変わるデータ変換処理を実行して1以上の第2ブロックで構成される第2ブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の第2ブロックセットへ格納する変換格納モードでデータの格納を実行する工程を含み、
前記提供方法は、さらに、
(C)前記記憶領域における複数の前記第1ブロックセットと、各前記第1ブロックセットに格納されたデータに対応するデータを格納する前記記憶領域における各前記第2ブロックセットと、の対応関係を示すブロック対応関係を生成する工程を備え、
前記工程(B)は、前記ホストコンピュータから特定の第1ブロックのデータ読み出し要求を受信したときに、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットに対応付けられた読出第2ブロックセットを認識し、前記読出第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。 - 請求項9に記載の提供方法であって、
前記工程(B)は、さらに、前記ホストコンピュータから特定の第1ブロックに関するデータ更新格納要求を受けたときに、前記要求された第1ブロックを含む更新対象第1ブロックセットの更新処理を実行する更新工程を含み、
前記更新工程は、前記ブロック対応関係を参照して、前記更新対象第1ブロックセットに含まれる全ての第1ブロックの更新が要求されているか否かを判定し、全ての第1ブロックの更新が要求されていない場合には、
前記更新対象第1ブロックセットに対応付けられた第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、得られたデータに前記要求された第1ブロックのデータを上書きしてから前記変換処理を実行するとともに、生成されたデータを前記記憶領域の更新対象第2ブロックセットに格納し、さらに、
前記ブロック対応関係に、前記更新対象第1ブロックセットと前記更新対象第2ブロックセットとの対応関係を書き込む工程を含む、
提供方法。 - 請求項9に記載の提供方法であって、
前記記憶領域は、特定の第1ブロックセットに格納されたデータに対応付けられているとともに、バージョンが異なる複数の異バージョンの第2ブロックセットのサイズのデータを格納することが可能であり、
前記ブロック対応関係は、前記特定の第1ブロックセットと、前記複数の異バージョンのデータを格納する第2ブロックセット及びバージョンとの対応関係を含んでおり、
前記工程(B)は、前記ホストコンピュータから特定の第1ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行するバージョン読み出し工程を含み、
前記バージョン読み出し工程は、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第2ブロックセットを認識し、前記認識した第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。 - 請求項11に記載の提供方法であって、
前記工程(B)は、前記第1ブロックセットに格納されたデータから前記データ変換処理を実行せずに1以上の第2ブロックで構成されるブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の未返還ブロックセットに格納する未変換格納モードでデータの格納を実行する工程を含み、
前記工程(B)は、前記未変換ブロックセットへのデータの格納の後に前記ホストコンピュータから特定の第1ブロックに関するデータ更新要求を受けたときには、変換更新処理を実行する変換更新工程を含み、
前記変換更新工程は、
(i)前記要求された第1ブロックを含む対象第1ブロックセットの更新後のデータについては、前記変換格納モードと前記未変換格納モードとの一方に従って前記記憶領域に格納し、
(ii)前記対象第1ブロックセットの更新前のデータについては、前記対象第1ブロックセットに対応付けられた未変換ブロックセットに格納されたデータを読み出し、前記データ変換処理を実行してデータを生成するとともに、生成されたデータを前記記憶領域の更新前第2ブロックセットへ格納し、さらに、前記ブロック対応関係に、前記対象第1ブロックセットと、前記更新前第2ブロックセットと、所定の規則に従って定められるバージョンと、の3者の対応関係を追加する工程を含む、
提供方法。 - 請求項12に記載の提供方法であって、
前記変換更新工程は、前記対象第1ブロックセットの更新後のデータから前記データ変換処理を実行せずに1以上の第2ブロックで構成されるブロックセットのサイズのデータを生成するとともに、生成されたデータを前記記憶領域の更新後未変換ブロックセットに格納する工程を含み、
前記工程(B)は、前記ホストコンピュータからバージョン指定無しのデータ読み出し要求を受けたときには、前記更新後未変換ブロックセットに格納されたデータを読み出して、前記要求された第1ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。 - 請求項9に記載の提供方法であって、
前記記憶領域は、特定の第1ブロックセットに格納されたデータに対応付けられているとともにバージョンが異なる複数の異バージョンの第2ブロックセットのサイズのデータを格納することが可能であり、
前記ブロック対応関係は、前記特定の第1ブロックセットと前記第2ブロックセット及びバージョンとの対応関係を含んでおり、
前記工程(B)は、前記ホストコンピュータから特定の第1ブロックに関するデータ更新要求を受けたときには、ログ更新処理を実行するログ更新工程を含み、
前記ログ更新工程は、前記要求された第1ブロックで構成される更新対象第1ブロックセットの更新後のデータに前記データ変換処理を実行して、生成されたデータを前記記憶領域の更新後第2ブロックセットへ格納し、さらに、前記ブロック対応関係に、前記更新対象第1ブロックセットと、前記更新後第2ブロックセットと、所定の規則に従って定められるバージョンと、の3者の対応関係を追加する工程を含み、
前記工程(B)は、前記ホストコンピュータから特定の第1ブロックと特定のバージョンとに関するデータ読み出し要求を受けたときには、バージョン読み出し処理を実行するバージョン読み出し工程を含み、
前記バージョン読み出し工程は、前記ブロック対応関係を参照して、前記要求された第1ブロックを含む第1ブロックセットと、前記要求されたバージョンと、の双方に対応付けられた第2ブロックセットを認識し、前記認識した第2ブロックセットに格納されたデータを読み出して前記データ変換処理の逆変換処理を実行し、生成されたデータの内の前記要求された第1ブロックのデータを前記ホストコンピュータに送信する工程を含む、
提供方法。 - 請求項9ないし請求項13のいずれかに記載の提供方法であって、
前記第1ブロックセットのブロック数Nは可変値である、
提供方法。 - 請求項9ないし請求項15のいずれかに記載の提供方法であって、
前記第2ブロックのデータサイズは、前記第1ブロックのデータサイズよりも小さい、
提供方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005074375A JP4615337B2 (ja) | 2005-03-16 | 2005-03-16 | ストレージシステム |
| US11/129,552 US20060212625A1 (en) | 2005-03-16 | 2005-05-16 | Storage system |
| US12/123,148 US7747799B2 (en) | 2005-03-16 | 2008-05-19 | Storage system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005074375A JP4615337B2 (ja) | 2005-03-16 | 2005-03-16 | ストレージシステム |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2006259962A JP2006259962A (ja) | 2006-09-28 |
| JP2006259962A5 JP2006259962A5 (ja) | 2007-12-13 |
| JP4615337B2 true JP4615337B2 (ja) | 2011-01-19 |
Family
ID=37011702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005074375A Expired - Fee Related JP4615337B2 (ja) | 2005-03-16 | 2005-03-16 | ストレージシステム |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US20060212625A1 (ja) |
| JP (1) | JP4615337B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014061067A1 (en) | 2012-10-18 | 2014-04-24 | Hitachi, Ltd. | Method for generating data in storage system having compression function |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7606954B2 (en) * | 2005-09-29 | 2009-10-20 | Intel Corporation | Data storage using compression |
| JP4764701B2 (ja) * | 2005-11-01 | 2011-09-07 | 株式会社日立製作所 | ログ情報を管理する計算機システム及びログ情報の管理方法 |
| KR101345386B1 (ko) * | 2007-09-19 | 2013-12-24 | 삼성전자주식회사 | 멀티미디어 데이터 편집 방법 및 장치 |
| US8131927B2 (en) | 2007-11-30 | 2012-03-06 | Hitachi, Ltd. | Fast accessible compressed thin provisioning volume |
| US20090150477A1 (en) * | 2007-12-07 | 2009-06-11 | Brocade Communications Systems, Inc. | Distributed file system optimization using native server functions |
| US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
| JP5203762B2 (ja) * | 2008-03-24 | 2013-06-05 | 日立メディカルコンピュータ株式会社 | 医用画像診断支援装置及び医用画像診断支援プログラム |
| JP4607981B2 (ja) | 2008-03-27 | 2011-01-05 | 富士通株式会社 | コピー制御装置、コピー制御方法およびコピー制御プログラム |
| US8261015B2 (en) * | 2008-09-12 | 2012-09-04 | Lsi Corporation | Utilizing more capacity of a physical disk through multiple logical drives on the physical disk |
| US8359444B2 (en) | 2008-09-24 | 2013-01-22 | Hitachi, Ltd. | System and method for controlling automated page-based tier management in storage systems |
| EP2391937A1 (en) | 2009-01-30 | 2011-12-07 | Hitachi, Ltd. | Storage system and storage control method that compress and store data elements |
| CN103838525B (zh) * | 2009-01-30 | 2017-08-08 | 株式会社日立制作所 | 存储系统 |
| US8396835B2 (en) * | 2009-05-25 | 2013-03-12 | Hitachi, Ltd. | Computer system and its data control method |
| US8706727B2 (en) * | 2009-06-19 | 2014-04-22 | Sybase, Inc. | Data compression for reducing storage requirements in a database system |
| JP2011128792A (ja) * | 2009-12-16 | 2011-06-30 | Toshiba Corp | メモリ管理装置 |
| US8566540B2 (en) | 2010-02-02 | 2013-10-22 | International Business Machines Corporation | Data migration methodology for use with arrays of powered-down storage devices |
| US8751828B1 (en) | 2010-12-23 | 2014-06-10 | Emc Corporation | Sharing encryption-related metadata between multiple layers in a storage I/O stack |
| US8798262B1 (en) * | 2010-12-23 | 2014-08-05 | Emc Corporation | Preserving LBA information between layers of a storage I/O stack for LBA-dependent encryption |
| US9609060B2 (en) * | 2011-08-02 | 2017-03-28 | Nec Corporation | Distributed storage system and method |
| US9098202B2 (en) | 2012-04-27 | 2015-08-04 | Hitachi, Ltd. | Storage apparatus and data management method |
| US9769241B2 (en) * | 2012-08-07 | 2017-09-19 | Nec Corporation | Data transfer device, data transfer method, and program storage medium |
| JP6212996B2 (ja) * | 2013-07-05 | 2017-10-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
| US10120601B2 (en) * | 2014-03-24 | 2018-11-06 | Hitachi, Ltd. | Storage system and data processing method |
| US9612770B2 (en) * | 2014-07-03 | 2017-04-04 | Infinidat Ltd. | Snapshot management using extended data units |
| JP6298932B2 (ja) * | 2015-06-18 | 2018-03-20 | 株式会社日立製作所 | ストレージ装置 |
| US9946462B1 (en) * | 2016-02-15 | 2018-04-17 | Seagate Technology Llc | Address mapping table compression |
| WO2018061161A1 (ja) * | 2016-09-29 | 2018-04-05 | 株式会社日立製作所 | ストレージ装置およびその制御方法 |
| US10346064B1 (en) * | 2016-12-30 | 2019-07-09 | EMC IP Holding Company LLC | Managing compression based on a compression profile of host data initially residing on a source storage array |
| US10481806B2 (en) * | 2017-03-21 | 2019-11-19 | International Business Machines Corporation | Method of enhancing the performance of storage system through optimization in compressed volume migration |
| US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
| JP6933809B2 (ja) * | 2017-12-07 | 2021-09-08 | 富士通株式会社 | ストレージ制御装置およびプログラム |
| JP6608468B2 (ja) | 2018-01-26 | 2019-11-20 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
| CN110427340B (zh) | 2018-04-28 | 2023-08-04 | 伊姆西Ip控股有限责任公司 | 用于文件存储的方法、装置和计算机存储介质 |
| US11244008B1 (en) * | 2019-08-30 | 2022-02-08 | Quantcast Corporation | Accelerated operations on compressed data stores |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5410671A (en) * | 1990-05-01 | 1995-04-25 | Cyrix Corporation | Data compression/decompression processor |
| EP0489227B1 (en) * | 1990-12-06 | 1998-12-23 | Tandberg Data Asa | Data storage system having removable media and equipped to download a control program from the removable media |
| DE69435146D1 (de) | 1993-06-03 | 2008-11-13 | Network Appliance Inc | Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems |
| JPH0772981A (ja) | 1993-07-07 | 1995-03-17 | Hitachi Ltd | 記憶制御装置及びその制御方法 |
| US5555389A (en) * | 1993-07-07 | 1996-09-10 | Hitachi, Ltd. | Storage controller for performing dump processing |
| JP2932920B2 (ja) * | 1993-11-30 | 1999-08-09 | 富士ゼロックス株式会社 | 情報格納装置 |
| US5649152A (en) * | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
| US5812817A (en) * | 1994-10-17 | 1998-09-22 | International Business Machines Corporation | Compression architecture for system memory application |
| US5623701A (en) * | 1995-06-06 | 1997-04-22 | International Business Machines Corporation | Data compression method and structure for a direct access storage device |
| JP2000010844A (ja) * | 1998-06-22 | 2000-01-14 | Nec Corp | 更新ログ出力方式および出力方法 |
| US6374266B1 (en) * | 1998-07-28 | 2002-04-16 | Ralph Shnelvar | Method and apparatus for storing information in a data processing system |
| JP4252139B2 (ja) * | 1998-12-16 | 2009-04-08 | 株式会社日立製作所 | 記憶装置システム |
| US6757699B2 (en) * | 2000-10-06 | 2004-06-29 | Franciscan University Of Steubenville | Method and system for fragmenting and reconstituting data |
| US7127619B2 (en) * | 2001-06-06 | 2006-10-24 | Sony Corporation | Decoding and decryption of partially encrypted information |
| US7039769B2 (en) * | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
| JP4220726B2 (ja) * | 2002-06-05 | 2009-02-04 | 株式会社日立製作所 | 外部記憶装置システム及び記憶制御装置 |
| US7334099B2 (en) * | 2002-06-28 | 2008-02-19 | Microsoft Corporation | Method and system for managing image files |
| US6956507B2 (en) * | 2002-12-12 | 2005-10-18 | International Business Machines Corporation | Method and apparatus for morphing memory compressed machines |
| JP2004206269A (ja) * | 2002-12-24 | 2004-07-22 | Sony Corp | 情報処理装置および方法 |
| JP3953986B2 (ja) * | 2003-06-27 | 2007-08-08 | 株式会社日立製作所 | ストレージ装置、及びストレージ装置の制御方法 |
| JP2005293224A (ja) * | 2004-03-31 | 2005-10-20 | Hitachi Computer Peripherals Co Ltd | バックアップシステム及びバックアップ方法 |
| US7474750B2 (en) * | 2004-06-16 | 2009-01-06 | Nec Laboratories America, Inc. | Dynamic content-aware memory compression and encryption architecture |
| US7302543B2 (en) * | 2004-06-16 | 2007-11-27 | Nec Laboratories America, Inc. | Compressed memory architecture for embedded systems |
| US7428642B2 (en) * | 2004-10-15 | 2008-09-23 | Hitachi, Ltd. | Method and apparatus for data storage |
-
2005
- 2005-03-16 JP JP2005074375A patent/JP4615337B2/ja not_active Expired - Fee Related
- 2005-05-16 US US11/129,552 patent/US20060212625A1/en not_active Abandoned
-
2008
- 2008-05-19 US US12/123,148 patent/US7747799B2/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014061067A1 (en) | 2012-10-18 | 2014-04-24 | Hitachi, Ltd. | Method for generating data in storage system having compression function |
| US9183217B2 (en) | 2012-10-18 | 2015-11-10 | Hitachi, Ltd. | Method for decompressing data in storage system for write requests that cross compressed data boundaries |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006259962A (ja) | 2006-09-28 |
| US20080288678A1 (en) | 2008-11-20 |
| US7747799B2 (en) | 2010-06-29 |
| US20060212625A1 (en) | 2006-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4615337B2 (ja) | ストレージシステム | |
| US8843716B2 (en) | Computer system, storage apparatus and data transfer method | |
| CN101571822B (zh) | 存储控制装置及其数据管理方法 | |
| US7827368B2 (en) | Snapshot format conversion method and apparatus | |
| JP5320557B2 (ja) | ストレージシステム | |
| US20030225972A1 (en) | Storage system | |
| JP2008217209A (ja) | 差分スナップショット管理方法、計算機システム及びnas計算機 | |
| US6912632B2 (en) | Storage system, storage system control method, and storage medium having program recorded thereon | |
| US8850148B2 (en) | Data copy management for faster reads | |
| JP2007226347A (ja) | 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法 | |
| US10430292B2 (en) | Snapshot deletion in a distributed storage system | |
| US9026754B2 (en) | Storage apparatus and data management method | |
| JP2016126632A (ja) | ストレージ装置、ストレージシステム、データ読み出し方法、及びストレージプログラム | |
| US7945749B2 (en) | Data mirroring method | |
| JP5272185B2 (ja) | 計算機システム及びストレージシステム | |
| US20180307565A1 (en) | Storage control apparatus and storage control method | |
| JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
| JP4518485B2 (ja) | データベースの再編成方法、ストレージ装置及びストレージシステム | |
| US7676644B2 (en) | Data processing system, storage apparatus and management console | |
| CN119473124A (zh) | 存储装置 | |
| JP2023007601A (ja) | ストレージシステム制御方法及びストレージシステム | |
| JP6369069B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
| JP5441791B2 (ja) | 検索機能付きファイルストレージ装置及びプログラム | |
| JP3559571B2 (ja) | データ処理装置およびデータ処理方法 | |
| JP2001056775A (ja) | 計算機システム及びプログラム記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071025 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071025 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100714 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100922 |
|
| 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: 20101019 |
|
| 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: 20101020 |
|
| 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: 20131029 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |