JP4662548B2 - スナップショット管理装置及び方法並びにストレージシステム - Google Patents

スナップショット管理装置及び方法並びにストレージシステム Download PDF

Info

Publication number
JP4662548B2
JP4662548B2 JP2005279208A JP2005279208A JP4662548B2 JP 4662548 B2 JP4662548 B2 JP 4662548B2 JP 2005279208 A JP2005279208 A JP 2005279208A JP 2005279208 A JP2005279208 A JP 2005279208A JP 4662548 B2 JP4662548 B2 JP 4662548B2
Authority
JP
Japan
Prior art keywords
snapshot
volume
differential
management
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005279208A
Other languages
English (en)
Other versions
JP2007094472A (ja
Inventor
幸二 帆波
元章 里山
直大 藤井
尚人 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005279208A priority Critical patent/JP4662548B2/ja
Priority to US11/285,203 priority patent/US7519625B2/en
Publication of JP2007094472A publication Critical patent/JP2007094472A/ja
Priority to US12/379,635 priority patent/US8533157B2/en
Application granted granted Critical
Publication of JP4662548B2 publication Critical patent/JP4662548B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、スナップショット管理装置及び方法並びにストレージシステムに関し、例えば複数の外部ストレージを接続することで、より大規模なスナップショット環境を提供し得るようになされたストレージシステムに適用して好適なものである。
従来、NAS(Network Attached Storage)サーバやディスクアレイ装置の機能の1つとして、スナップショット生成指示を受けた時点における指定された運用ボリューム(上位装置からのデータを読み書きする論理的なボリューム(論理ボリューム))のイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに運用ボリュームを復元するために用いられる。
かかるスナップショット機能により保持される運用ボリュームのイメージでなるスナップショット(仮想ボリュームとも呼ばれる)は、スナップショット生成指示を受けた時点における運用ボリューム全体のデータそのものではなく、現在の運用ボリュームのデータと、スナップショットの生成指示を受けた時点における運用ボリューム及び現在の運用ボリューム間の差分である差分データとから構成される。そしてこれらの差分データと現在の運用ボリュームのデータとに基づいて、かかるスナップショット生成指示が与えられた時点における運用ボリュームの内容が復元される。従って、スナップショット機能によれば、運用ボリューム全体をそのまま記憶する場合に比べて、より小さい記憶容量で運用ボリュームのイメージを維持できるという利点がある。
また、近年では、複数世代のスナップショットを維持する方法も提案されている(特許文献1参照)。例えば、下記特許文献1では、運用ボリュームの各ブロックと、各世代のスナップショットの差分データが格納された差分ボリュームのブロックとを対応付けたマッピングテーブルを用いて、複数世代のスナップショットを管理することが提案されている。
さらに、近年では、下記特許文献2において、新たにストレージ装置を導入する際に古いストレージ装置を改造することなく有効利用を図る方法が開示されており、これら特許文献1に開示された方法と特許文献2に開示された方法とを組み合わせることで、複数の外部ストレージ装置を用いてより大規模なスナップショット環境を容易に構築できるようになった。
特開2004−342050号公報 特開2004−005370号公報
ところが、かかる特許文献1に開示されたスナップショット管理方式では、単一のマッピングテーブルで一元的にすべてのスナップショットを管理することとしているために、生成するスナップショット数が増加するにつれてマッピングテーブルの規模も大きくなり、これに伴ってデータ書き込み処理におけるテーブルアクセス量が増え、さらにマッピングテーブルの規模の拡大に伴ってマッピングテーブルに対するアクセス性が悪くなるという問題がある。
また、サーバ再起動後もスナップショットを復元できるようにストレージ装置にマッピングテーブルを保存する場合、当該ストレージ装置に障害が発生すると、すべてのスナップショットが失われてしまうという弱点がある。この問題は、ネットワークを介して接続する外部ストレージ装置を利用する場合に発生し易く、回線トラブルでマッピングテーブルを保持するストレージ装置にアクセスできなくなっただけで、スナップショットの運用を継続できなくなる。
かかる問題を解決するための手法として、スナップショットの維持に必要なマッピングテーブルのコピーを複数のストレージ装置において保持する方法が挙げられる。この方法によれば、一部のストレージ装置で障害が発生してもスナップショット運用を継続することができるという利点がある。
しかしながら、マッピングテーブルは運用ボリュームの全ブロックをカバーするエントリを備えるためにサイズが大きく、それを複数保持するためには多くの記憶容量を要するという問題がある。また、各ストレージ装置において保持しているマッピングテーブルの更新処理の同期も課題となる。
また上述したいずれの方法においても、運用ボリュームへのデータ書き込み時、差分データを差分ボリュームに退避させる際に、すべてのスナップショットを対象にしたマッピングテーブルへのアクセスを必要とするため、スナップショットを多数保持する場合はそのオーバヘッドにより書込み速度が低下して、システム全体としての性能が劣化するという問題が残る。
本発明は以上の点を考慮してなされたもので、性能及び信頼性の高いスナップショット管理装置及び方法並びにストレージシステムを提案しようとするものである。
かかる課題を解決するため本発明においては、上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理装置において、第1のストレージが提供する記憶領域上に前記運用ボリュームを設定すると共に、第2のストレージが提供する記憶領域上に差分ボリュームを設定するボリューム設定部と、前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させる差分データ退避部と、前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理するスナップショット管理部とを備え、前記スナップショット管理部は、前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引き継ぎ情報を格納することを特徴とする。
また本発明においては、上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理方法において、第1のストレージが提供する記憶領域上に前記運用ボリュームを設定すると共に、第2のストレージが提供する記憶領域上に差分ボリュームを設定する第1のステップと、前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させると共に、前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理する第2のステップとを備え、前記第2のステップでは、前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引継ぎ情報を格納することを特徴とする。
さらに本発明においては、上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理装置に、それぞれ1又は複数の第1及び第2のストレージ装置が通信自在に接続されたストレージシステムにおいて、前記スナップショット管理装置は、前記第1のストレージ装置が提供する記憶領域上に前記運用ボリュームを設定すると共に、前記第2のストレージが提供する記憶領域上に差分ボリュームを設定するボリューム設定部と、前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させる差分データ退避部と、前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理するスナップショット管理部とを備え、前記スナップショット管理部は、前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引継ぎ情報を格納することを特徴とする。
本発明によるスナップショット管理装置及び方法並びにストレージシステムによれば、最新の管理テーブルにアクセスすることで現在のスナップショットに関する差分データの退避とその管理情報の記録を行うことができる。この場合において、かかる管理テーブルの規模を、保持するスナップショット数に拘わりなく、所望の大きさに抑えることができるため、管理テーブルへのアクセスについてのオーバヘッドが少なく、当該オーバヘッドによる書込み速度の低下及びこれに起因するシステム全体の性能劣化を有効に防止することができる。
また、かかるスナップショット管理装置及び方法並びにストレージシステムによれば、2番目以降の各管理テーブルに前の管理テーブルの内容を引き継ぐための引継ぎ情報を格納するようにしているため、管理テーブル単位でのスナップショットの管理が可能となり、例えば回線障害などにより現在のスナップショットに不整合が生じた場合においても、その影響が他の管理テーブルにより管理されている他のスナップショットにまで及ばないようにすることができる。
本発明によれば、性能及び信頼性の高いスナップショット管理装置及び方法並びにストレージシステムを実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態によるスナップショット管理方法の概要
本実施の形態によるスナップショット管理方式は、図1のように単一のマッピングテーブル1によって複数のスナップショットV−VOL1〜V−VOL10を管理する従来方式に対して、図2に示すように、例えばスナップショットV−VOL1〜V−VOL10の生成時刻などに応じてマッピングテーブル2A〜2Cを分割し、それ以前のマッピングテーブル2A〜2Cの情報を集約して新しいマッピングテーブル2B,2Cに保持する点を特徴の1つとしている。
かくして本実施の形態によるスナップショット管理方法によれば、分割されたマッピングテーブル2A〜2Cのうちの最新のマッピングテーブル2Cにアクセスすることで差分データの退避とその管理情報の記録を行えるようになり、書込み性能の低下を防ぐことができる。また、かかる本実施の形態によるスナップショット管理方式によれば、必要に応じてマッピングテーブル2A〜2Cを追加することで保持可能なスナップショット数を増やすことができるため、運用規模の動的な拡張も容易に実現できる。
また本実施の形態によるスナップショット管理方式は、複数の差分ボリュームD−VOL1〜D−VOL3を設け、スナップショットV−VOL1〜V−VOL9の生成時に得られる差分データをこれら差分ボリュームD−VOL1〜D−VOL3に分散して格納する点をもう1つの特徴とする。これにより、本実施の形態によるスナップショット管理方法によれば、例えば図3に示すように、スナップショット単位で差分データを差分ボリュームD−VOL1〜D−VOL3に振り分けると共に、差分ボリュームD−VOL1〜D−VOL3毎のマッピングテーブル2A〜2Cを生成することで、差分ボリュームD−VOL1〜D−VOL3単位でのスナップショットV−VOL1〜V−VOL10の管理が可能となる。
この結果、本実施の形態によるスナップショット管理方法によれば、スナップショットV−VOL1〜V−VOL10毎に対応する差分ボリュームD−VOL1〜D−VOL3が明確化されるため、障害により一部の差分ボリュームD−VOL1〜D−VOL3にアクセスできなくなった場合においても、残りの差分ボリュームD−VOL1〜D−VOL3を利用してスナップショット運用を継続できる。また参照しない古いスナップショットV−VOL1〜V−VOL9の差分データが格納された差分ボリュームD−VOL1〜D−VOL3については、ランニングコストの軽減と保存性の確保のために運転を停止させ、必要となったときに運転を再開させるといったことも可能になる。
以下、本実施の形態によるスナップショット管理方法を適用したストレージシステムについて説明する。なお、以下においては、運用ボリュームの符号としてP−VOL、差分ボリュームの符号としてD−VOL、スナップショットの符号としてV−VOLを用いるものとする。
(2)本実施の形態によるストレージシステムの構成
図4は、上述の本実施の形態によるスナップショット管理方法を適用したストレージシステム10を示す。このストレージシステム10は、複数のクライアント装置11が上位側ネットワーク12を介してNASサーバ装置13と接続され、このNASサーバ装置13に下位側ネットワーク14を介して複数のストレージ装置15(151〜15n+m)及び運転制御装置16が接続されることにより構成されている。
上位装置としてのクライアント装置11は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。クライアント装置11は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
上位側ネットワーク12は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。この上位側ネットワーク12を介したクライアント装置11及びNASサーバ装置13間の通信は、例えば上位側ネットワーク12がSANである場合にはファイバーチャネルプロトコルに従って行われ、上位側ネットワーク12がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
NASサーバ装置13は、バス20を介して相互に接続されたCPU21、メモリ22、第1のネットワークインタフェース23及び第2のネットワークインタフェース24を備えて構成される。このNASサーバ装置13は、クライアント装置11に対してファイル共有サービスや、スナップショットサービスを提供するための処理を行う。そのための各種制御プログラムがメモリ22に格納されている。NASサーバ装置13のCPU21は、これらメモリ22に格納された制御プログラムに従って各種処理を実行する。
第1の外部インタフェース23は、クライアント装置11との通信時におけるプロトコル制御を行うインタフェースである。第1の外部インタフェース23は、複数のポートを備えており、いずれかのポートを介して上位側ネットワーク12と接続される。各ポートには、それぞれを上位側ネットワーク12上において識別するためのWWN(World Wide Name)やIP(Internet Protocol)アドレスなどのネットワークアドレスが付与される。
第2の外部インタフェース24は、NASサーバ装置13に接続されたストレージ装置15や運転制御装置16との通信時におけるプロトコル制御を行うインタフェースである。第2の外部インタフェース24は、第1のインタフェース23と同様に、複数のポートを備えており、いずれかのポートを介して下位側ネットワーク14と接続される。第2の外部インタフェース24の各ポートに対しても下位側ネットワーク14上において識別するためのWWNやIPアドレスなどのネットワークアドレスが付与される。
下位側ネットワーク14は、上位側ネットワーク12と同様に、例えばSAN、LAN、インターネット、公衆回線又は専用回線などから構成される。この下位側ネットワーク12を介したNASサーバ装置13及び各ストレージ装置15間の通信と、NASサーバ装置13及び運転制御装置16間の通信とは、例えば下位側ネットワーク14がSANである場合にはファイバーチャネルプロトコルに従って行われ、下位側ネットワーク14がLANである場合にはTCP/IPプロトコルに従って行われる。
各ストレージ装置15は、それぞれデータを記憶する複数のディスクユニット30と、このディスクユニット30に対するデータの入出力を制御するコントローラ31とから構成される。
各ディスクユニット30は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスク、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクを内蔵して構成される。これら各ディスクユニット30は、コントローラ31によりRAID方式で運用される。1又は複数のディスクユニット30により提供される物理的な記憶領域上に、1又は複数の論理ボリュームが設定され、これら論理ボリュームにデータが所定大きさのブロックを単位として格納される。
各論理ボリュームには、それぞれ固有の識別子(LUN:Logical Unit Number)が付与される。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ付与されるそのブロックに固有の番号(LBA:Logical Block Address)との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
なお、本実施の形態によるストレージシステム10においては、NASサーバ装置13に接続された複数のストレージ装置15のうちの一部がファイル共有サービス用に用いられる。ファイル共有サービス用の各ストレージ装置151〜15nが提供する記憶領域はNASサーバ装置13により仮想化され、これら仮想化された記憶領域上に、NASサーバ装置13のCPU21により、1又は複数の運用ボリュームP−VOL(図3)が定義される。そして、この運用ボリュームP−VOLにクライアント装置11からのデータが格納される。また、残りのストレージ装置15n〜15mはスナップショットサービス用として用いられ、これらストレージ装置15n〜15mがそれぞれ提供する記憶領域上に、NASサーバ装置13のCPU21により、1つのストレージ装置15n〜15mにつき1つの差分ボリュームD−VOL(図3)がそれぞれ定義される。そして、これら差分ボリュームD−VOLに、それぞれ対応するスナップショットV−VOL(図3)の生成時に得られた差分データが順次退避(格納)される。
コントローラ31は、例えば下位側ネットワーク14を介してNASサーバ装置13と通信を行うためのネットワークインタフェースや、各ディスクユニット30と通信を行うためのディスクインタフェース、運用ボリュームP−VOLや差分ボリュームD−VOLに読み書きするデータを一時的に保持するキャッシュメモリなどを備えて構成され、NASサーバ装置13及びディスクユニット30間のデータの入出力を制御する。
運転制御装置16は、CPUやメモリ等の情報処理資源を備えたコンピュータ装置であり、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。運転制御装置16は、NASサーバ装置13から下位側ネットワーク14を介して与えられる指示を受けて、指定されたストレージ装置15を運転させ又は停止させる制御処理を実行する。
ここで、NASストレージ装置13のメモリ22に格納された各種制御プログラムについて説明する。図1からも明らかなように、NASストレージ装置13のメモリ22には、ファイルサーバプログラム40、データ保護プログラム41、ファイルシステム処理プログラム42及びスナップショット管理プログラム43等の制御プログラムが格納されている。
ファイルサーバプログラム40は、クライアント装置11からのファイルアクセス要求に応じて、ファイルシステム処理プログラム42に対してファイルやディレクトリの読出し処理要求や書込み処理要求を発行し、その結果をクライアント装置11に送信するためのプログラムである。
またファイルシステム処理プログラム42は、ファイルサーバプログラム40から与えられるファイルやディレクトリの読出し処理要求や書込み処理要求に応じて、それらを格納している論理ボリューム(運用ボリュームP−VOL)のLUN、対応するブロックのLBA及びデータサイズを指定したデータ読出し要求やデータ書込み要求をスナップショット管理プログラム43に発行するためのプログラムである。さらにデータ保護プログラム41は、スナップショットV−VOLの生成や削除、差分ボリュームD−VOLの割り当てや、接続状態の変更をスナップショット管理プログラム43に要求するためのプログラムである。
スナップショット管理プログラム43は、ファイルシステムなどを格納する運用ボリュームP−VOL及びスナップショットV−VOLの維持に必要な差分データを格納する差分ボリュームD−VOLを管理し、ファイルシステム処理プログラム42及びデータ保護プログラム41からの要求に応じた処理や、スナップショットV−VOLを維持する処理及びスナップショットV−VOLを利用可能にする処理などを行うためのプログラムである。スナップショット管理プログラム43は、それぞれの要求に応じて起動するサブプログラムとそれらが利用する管理テーブルとから構成される。
図5は、かかるスナップショット管理プログラム43の具体的な構成を示している。この図5に示すように、スナップショット管理プログラム43は、書込み処理サブプログラム50、読出し処理サブプログラム51、スナップショット生成サブプログラム52、スナップショット削除サブプログラム53、差分ボリューム切替え処理プログラム54、差分ボリューム停止サブプログラム55及び差分ボリューム起動サブプログラム56と、CoW(Copy on Write)要求管理テーブル57、空きブロック管理テーブル58及びスナップショット配置テーブル59とを備える。
このうち書込み処理サブプログラム50は、ファイルシステム処理プログラム42からの書込み要求に応じて運用ボリュームP−VOLに対するデータ書込み処理を実行するためのプログラムであり、読出し処理サブプログラム51は、ファイルシステム処理プログラム42からの読出し要求に応じて運用ボリュームP−VOLからのデータの読出し処理を実行するためのプログラムである。またスナップショット生成サブプログラム52及びスナップショット削除サブプログラム53は、データ保護プログラム41からの要求に応じて、新たなスナップショットV−VOLを生成し又は既に生成されたスナップショットV−VOLを削除する処理を実行するためのプログラムである。
さらに差分ボリューム切替えサブプログラム54は、後述のようにスナップショットV−VOLの生成時に得られた差分データを退避させる差分ボリュームD−VOLを切り替えるためのプログラムであり、差分ボリューム停止サブプログラム55及び差分ボリューム起動サブプログラム56は、それぞれ対応する差分ボリュームD−VOLを保持するストレージ装置15n+1〜15n+mの運行を停止させ又は起動させるためのプログラムである。
一方、CoW要求管理テーブル57は、運用ボリュームP−VOLへのデータ書き込み時に当該運用ボリュームP−VOLの各ブロックに対するCoW要求(そのブロックに格納されたデータを差分ボリュームD−VOLに退避させろという要求)の有無を判定するためのテーブルである。
このCoW要求管理テーブル57には、図6に示すように、運用ボリュームP−VOLの各ブロックにそれぞれ対応させてCoW要求フィールド57Aが設けられている。各CoW要求フィールド57Aには、それぞれ運用ボリュームP−VOL内の対応するブロックに対してCoW要求がある場合に「1」が格納され、CoW要求がない場合に「0」が格納される。従って、初期時には、各CoW要求フィールド57Aに「0」が格納されることとなる。これらCoW要求フィールド57Aに格納される値は、後述するマッピングテーブル60,61のCoWビットマップについてブロック毎に論理和をとったものと等しい。
空きブロック管理テーブル58は、現在の差分ボリュームD−VOLの使用状況を表すテーブルであり、差分ボリュームD−VOL毎に設けられる。この空きブロック管理テーブル58は、図7に示すように、対応する差分ボリュームD−VOLの各ブロックにそれぞれ対応させて利用状況フィールド58Aが設けられている。各利用状況フィールド58Aには、対応する差分ボリュームD−VOL内の対応するブロックが空き状態、つまりそのブロックに未だ差分データが退避されていないときには「1」が格納され、そのブロックに既に差分データが退避されているときには「0」が格納される。従って、初期時には、各利用状況フィールド58Aに「1」が格納されることとなる。
スナップショット配置テーブル59は、各世代のスナップショットV−VOLの差分データがそれぞれどの差分ボリュームD−VOLに格納されているかを表すテーブルである。このスナップショット配置テーブル59は、図8に示すように、各世代のスナップショットV−VOLにそれぞれ対応させて差分ボリューム番号格納フィールド59Aが設けられ、これら差分ボリューム番号格納フィールド59Aに、それぞれ対応するスナップショットV−VOLと対応付けられた差分ボリュームD−VOLの識別番号でなる差分ボリューム番号が格納される。この差分ボリューム番号は、各差分ボリュームD−VOLにそれぞれ付与される通し番号である。この図8の例では、第1及び第2世代のスナップショットV−VOLの差分データが1番の差分ボリュームD−VOLに格納され、第3世代のスナップショットV−VOLの差分データが2番の差分ボリュームD−VOLに格納されていることを示している。
他方、図9は、複数世代のスナップショットV−VOLを維持・管理するためのマッピングテーブル60を示しており、このマッピングテーブル60に当該マッピングテーブル60と対応付けられたスナップショットV−VOLの管理情報が格納される。マッピングテーブル60は、差分ボリュームD−VOL毎(ストレージ装置15n〜15n+m毎)にそれぞれ用意され、当該差分ボリュームD−VOL内に格納されて保持される。
このマッピングテーブル60には、運用ボリュームP−VOLの各ブロックとそれぞれ対応させて、CoWビットマップフィールド60Aと、複数のブロックアドレスフィールド60Bとが設けられている。
このうち各CoWビットマップフィールド60Aには、それぞれ対応する運用ボリュームP−VOLのブロックに対してCoW要求があるか否かを表すCoWビットマップが格納される。CoWビットマップは、複数のビットから構成され、左端の先頭ビットから順に古い世代のスナップショットV−VOLとそれぞれ対応する。そしてCoWビットマップでは、スナップショットV−VOLにおいてCoW要求があるときに、対応するビットが「1」に設定され、CoW要求がないとき、つまり対応するブロックの差分データが既に差分ボリュームD−VOLに退避されているときに、対応するビットが「0」に設定される。例えばm番目のスナップショットV−VOLにCoW要求があるときにはCoWビットマップ60Aの左からm番目のビットが「1」に設定されることとなる。
ブロックアドレスフィールド60Bは、その差分ボリュームD−VOL(ストレージ装置15n+1〜15n+m)と対応付けられた各スナップショットV−VOLにそれぞれ対応させて複数設けられる。例えば図9の例では、その差分ボリュームD−VOLに1番目からm番目までのスナップショットV−VOLが対応付けられ、これらのスナップショットV−VOLの差分データがその差分ボリュームD−VOLに格納されていることが示されている。
各ブロックアドレスフィールド60Bには、それぞれ運用ボリュームP−VOL内の対応するブロックの対応する世代のナップショットV−VOLの差分データを退避させた差分ボリュームD−VOLのブロックのブロックアドレスが格納される。ただし、対応する差分データが未だ退避されていない状態のときには、退避先のブロックアドレスがないことを表す「なし」のコードが格納される。
差分ボリュームD−VOLを提供するストレージ装置15n+1〜15n+mが複数存在する場合、図10に示すように、2番目以降のストレージ装置15n+1〜15n+mにより保持されるマッピングテーブル61には、CoWビットマップフィールド61A及び複数のブロックアドレスフィールド61Bに加えて、運用ボリュームP−VOLの各ブロックにそれぞれ対応させて引継ぎフィールド61Cが追加的に設けられる。
この引継ぎフィールド61Cは、1つ前のマッピングテーブル60,61の内容を引き継ぐための所定の引継ぎ情報を格納するためのフィールドであり、当該1つ前のマッピングテーブル60,61における最後のスナップショットV−VOL(図9におけるスナップショットMや図10におけるスナップショットN)と対応付けられたブロックアドレスフィールド(以下、これを最終ブロックアドレスフィールドと呼ぶ)60B,61Bに「なし」のコードが格納されている場合に、これと対応する差分データが格納された差分ボリュームD−VOLのブロックのブロックアドレスが上記引継ぎ情報として格納される。
具体的に、引継ぎフィールド61Cには、かかる最終ブロックアドレスフィールド60B,61Bに「なし」のコードが格納されている場合、つまりそのスナップショットV−VOLにおいて運用ボリュームP−VOLの対応するブロックの差分データが退避されていない場合に、そのマッピングテーブル61における対応する各ブロックアドレスフィールド61B(図10において対象とする引継ぎフィールド61Cと同じ列の各ブロックアドレスフィールド61C)のいずれかに最初に格納されたブロックアドレスと同じブロックアドレスが格納され、かかる最終ブロックアドレスフィールド60,61に「なし」以外のブロックアドレスが格納されている場合に「なし」が格納される。
そして、1つ前のマッピングテーブル60,61における最終ブロックフィールド60B,61Bに「なし」のコードが格納されているブロックの差分データを読み出す場合に、この引継ぎフィールド61Cが参照される。例えば図9及び図10の例では、図9のマッピングテーブル60の最後のスナップショットV−VOLである「スナップショットm」のブロックアドレスが「2」のブロックの差分データを読み出す場合、最終ブロックフィールド60Bに「なし」が格納されているため、次のマッピングテーブルである図10のマッピングテーブル61の引継ぎフィールド61Cが参照され、このマッピングテーブル61と対応する差分ボリュームD−VOLのブロックアドレスが「100」のブロックからデータを読み出すこととなる。
(3)NASサーバ装置における各種処理
次に、このストレージシステム10(図4)において、運用ボリュームP−VOLへのデータの書込み処理、運用ボリューP−VOLからのデータの読出し処理、新たなスナップショットV−VOLの生成処理、生成したスナップショットV−VOLの削除処理、差分ボリュームD−VOLの切替え処理、差分ボリュームD−VOLの切断処理及び停止した差分ボリュームD−VOLの運転再開である接続処理を行う場合のNASサーバ装置13(図4)のCPU21(図4)の処理内容について説明する。
(3−1)データ書込み処理
まず運用ボリュームP−VOLへのデータの書込み処理に関するCPU21の処理内容について説明する。
図11は、上述のような構成を有するNASサーバ装置13に対して、クライアント装置11(図4)から運用ボリュームP−VOLへのデータの書込み要求が与えられた場合におけるNASサーバ装置13のCPU21の処理内容を示すフローチャートである。また図12は、かかるストレージシステム10のある時点を基準とした初期状態の様子を示し、図13は、その後クライアント装置11からの要求に応じて運用ボリュームP−VOLにデータの書込み処理を行う場合の処理の流れを示している。CPU21は、このデータの書込み処理をスナップショットプログラム43(図5)の書込み処理サブプログラム50(図5)に基づいて実行する。
すなわち、CPU21は、かかる書込み要求を受信すると書込み処理を開始し(SP0)、まず、スナップショット管理プログラム43のCoW要求管理テーブル57(図5,図6)における、運用ボリュームP−VOLのデータの書込み先として指定されたブロック(以下、これをデータ書込み先ブロックと呼ぶ)と対応するCoW要求フィールド57Aに「1」が格納されているか否かを判断する(SP1)。
CPU21は、この判断において否定結果を得るとステップSP13に進み(SP1:NO)、これに対して肯定結果を得ると(SP1:YES)、スナップショット管理プログラム43の空きブロック管理テーブル58(図5,図7)を参照して、現在使用している差分ボリュームD−VOL(図13のD1)に、データ書込み先ブロックに格納されている差分データを退避させ得るだけの空きブロックが存在するか否かを判断する(SP2)。
CPU21は、この判断において肯定結果を得ると(SP2:YES)、かかる差分ボリュームD−VOL内のこれから差分データを退避させようとするブロックと対応付けられた空きブロック管理テーブル58上の利用状態フィールド58Aに「0」を格納し(SP6)、その後、データ書込み先ブロックのデータをデータ書込み要求と共に対応するストレージ装置15n+1〜15n+mに差分データとして送信することにより、この差分データをその差分ボリュームD−VOL上の対応するブロックにコピー(退避)させる(SP7)。
続いてCPU21は、そのストレージ装置15n+1〜15n+mにマッピングテーブル60,61の読出し要求を発行するようにして、かかる差分ボリュームD−VOLに格納されたマッピングテーブル60,61を読み出させる(SP8)。またCPU21は、この後このマッピングテーブル60,61における現在のスナップショットV−VOLと対応するブロックアドレスフィールド60B,61Bであって、運用ボリュームP−VOLのデータ書込み先ブロックと対応するブロックアドレスフィールド60B,61Bに格納されたアドレスを、ステップSP7において差分データをコピーした差分ボリュームD−VOL上のブロックのブロックアドレスに更新する(SP9)。
この際、CPU21は、そのマッピングテーブル60B,61Bにおける対応するCoWビットマップフィールド60A,61Aを参照して、現在のスナップショットV−VOLよりも前のスナップショットV−VOLであってCoWビットマップの対応するビットが「1」であるスナップショットV−VOLがある場合には、かかるマッピングテーブル60B,61BにおけるそのスナップショットV−VOLと対応するブロックアドレスフィールド60B,61Bであって、運用ボリュームP−VOLのデータ書込み先ブロックと対応するブロックアドレスフィールド60B,61Bに格納されたブロックアドレスについても、ステップSP7において差分データをコピーした差分ボリュームD−VOLのブロックのブロックアドレスに更新する(SP9)。
続いてCPU21は、そのマッピングテーブル60,61における運用ボリュームP−VOLのデータ書込み先ブロックと対応するCoWビットマップのすべてのビットを「0」に更新し(SP10)、この後このマッピングテーブル60,61を元の差分ボリュームD−VOLに書き戻す(SP11)。
その後CPU21は、スナップショット管理プログラム43のCoW要求管理テーブル57における該当するCoW要求フィールド57Aに格納されたビットの値を「0」に更新し(SP12)、さらにその後書込み対象のデータを運用ボリュームP−VOL上の対応するブロックに書き込む(SP13)。そしてCPU21は、この後この書込み処理を終了する(SP14)。
一方、CPU21は、ステップSP2の判断において否定結果を得ると(SP2:NO)、スナップショットサービス用の次のストレージ装置15n+1〜15n+mが存在するか否かを判断し(SP3)、否定結果を得ると(SP3:NO)、かかる書込み要求を送信してきたクライアント装置11に対してエラーを通知する等の所定のエラー処理を実行した後この書込み処理を終了(エラー終了)する(SP4)。この場合、スナップショットV−VOLの運用を継続することはできない。
これに対してCPU21は、ステップSP3の判断において肯定結果を得ると(SP3:YES)、スナップショット管理プログラム43の差分ボリューム切替えサブプログラム54に基づき、図14及び図15に示す手順に従って、その後使用する差分ボリュームD−VOLを次の差分ボリュームD−VOL(図13のD2)に切り替える。
すなわちCPU21は、書込み処理(図11)のステップSP3において肯定結果を得ると、差分ボリューム切替え処理を開始し(SP20)、まず、図10について上述した引継ぎフィールド61Cを有する初期状態のマッピングテーブル61を用意する(SP21)。
次いで、CPU21は、そのマッピングテーブル61の各CoWビットマップフィールド61Aにそれぞれ格納されたCoWビットマップの先頭ビットに、そのときのCoW要求管理テーブル57における対応するCoW要求フィールド57Aに格納された値をそれぞれコピーする(SP22)。
その後CPU21は、かかるマッピングテーブル61を、スナップショットサービスを提供する次のストレージ装置15n+1〜15n+mの差分ボリュームD−VOLに格納し(SP23)、その後空きブロック管理テーブル58を初期化する(SP24)。
さらにCPU21は、この後ステップSP23においてマッピングテーブル61を格納したストレージ装置15n+1〜15n+mの差分ボリュームD−VOLを次に使用する差分ボリュームD−VOLとして設定し(SP25)、この後この差分ボリューム切替え処理を終了する(SP26)。
そしてCPU21は、この後書込み処理(図11)に戻り、さらにこの後書込み処理のステップSP6〜ステップSP14を上述のように処理する。従って、差分ボリューム切替え処理の終了以降における差分データの退避は、図16に示すように、切り替えられた新たな差分ボリュームD−VOL(図16のD2)に行われることとなる。
(3−2)データの読出し処理
次に、データの読出し処理に関するCPU21の処理内容について説明する。
図17は、クライアント装置11(図4)から、データの読出し要求が与えられた場合におけるNASサーバ装置13のCPU21の処理内容を示すフローチャートである。また図18は、読出し対象のデータがスナップショットV−VOLのデータであった場合の処理の流れを示している。CPU21は、このデータの読出し処理をスナップショット管理プログラム43(図5)の読出し処理プログラム51(図5)に基づいて実行する。
すなわち、CPU21は、かかる読出し要求を受信すると該当するデータの読出し処理を開始し(SP30)、まず、かかる読出し要求がいずれかのスナップショットV−VOLからのデータの読出し要求であるか否かを判断する(SP31)。
CPU21は、この判断において否定結果を得ると(SP31:NO)、ステップSP40に進み、これに対して肯定結果を得ると(SP31:YES)、現在、そのスナップショットV−VOLに対するアクセスが可能であるか否かを、内部設定や障害の有無等に基づいて判断する(SP32)。
CPU21は、この判断において否定結果を得ると(SP32:NO)、この読出し処理をエラー終了し(SP33)、これに対して肯定結果を得ると(SP32:YES)、スナップショット管理プログラム43のスナップショット配置テーブル59(図8)を用いて対象となる差分ボリュームをV−VOL検索する(SP34)。またCPU21は、この後この検索により得られた差分ボリュームV−VOLを保持するストレージ装置15n+1〜15n+mに対して、当該差分ボリュームV−VOLに格納されたマッピングテーブル60,61(図9,図10)の読出し要求を発行するようにして、そのマッピングテーブル60を読み出させる(SP35)。
その後CPU21は、このようにして取得したマッピングテーブル60,61における、対象とするデータが格納されている運用ボリュームP−VOL内のブロックと対応付けられたブロックアドレスフィールド60B,61Bに格納されているデータが「なし」であるか否かを判断する(SP36)。
この判断において否定結果を得ることは(SP36:NO)、対応するスナップショットV−VOLの生成時において、指定されたデータがステップSP34において検索した差分ボリュームD−VOLに差分データとして退避されていることを意味する。かくして、このときCPU21は、対応するストレージ装置15n+1〜15n+mにデータ読出し要求を発行することにより、そのブロックアドレスフィールド60B,61Bに格納されたブロックアドレスが付与された差分ボリュームD−VOL上のブロックからデータを読み込み(SP37)、その後この読出し処理を終了する(SP41)。
これに対して、ステップSP36の判断において肯定結果を得ることは(SP36:YES)、対応するスナップショットV−VOLの生成時において、指定されたデータがステップSP34において検索した差分ボリュームD−VOLに退避されていないことを意味する。かくして、このときCPU21は、例えばスナップショット配置テーブル59(図8)に基づいて、次の差分ボリュームD−VOLが存在するか否かを判断する(SP38)。
そしてCPU21は、この判断において肯定結果を得ると(SP38:YES)、対象とする差分ボリュームD−VOLを次の差分ボリュームD−VOLに変更し(SP39)、この後ステップSP35に戻る。従って、このときCPU21は、ステップSP36又はステップSP38において否定結果を得るまで、同様の処理を繰り返すこととなる(SP35−SP36−SP38−SP39−SP35)。
一方、ステップSP38の判断において否定結果を得ることは(SP38:YES)、対応するスナップショットV−VOLの生成開始時点から現在のスナップショットV−VOLの生成作成時点までの間、対応するデータが格納されている運用ボリュームP−VOL内のブロックにユーザからのデータの書き込みがなかった、つまり運用ボリュームP−VOL上の対応するブロックからデータが未だ退避されていないことを意味する。かくして、このときCPU21は、対応するストレージ装置151〜15nに対して運用ボリュームP−VOL内の対応するブロックからデータを読み出すべき旨のデータ読出し要求を発行することにより当該データを取得し(SP40)、この後このデータ読出し処理を終了する(SP41)。
なお、この読出し処理のステップSP37において差分ボリュームD−VOLから読み出された差分データ及びステップSP40において運用ボリュームP−VOLから読み出されたデータは、この後ファイルサーバプログラム40に基づくCPU21の処理により、対応するクライアント装置11に送信される。
(3−3)スナップショット生成処理
図19は、スナップショットV−VOLの生成処理に関するCPU21の処理内容を示すフローチャートであり、図20はこのときの処理の流れを示している。CPU21は、このデータの書込み処理をスナップショットプログラム43(図5)の書込み処理サブプログラム50(図5)に基づいて実行する。
すなわちCPU21は、クライアント装置11からスナップショットV−VOLの生成指示が与えられると、このスナップショット生成処理を開始し(SP50)、まず、現在の差分ボリュームD−VOL(図20のD1)を保持するストレージ装置15n+1〜15n+mにマッピングテーブル60,61(図9,図10)の読出し要求を発行するようにして、その差分ボリュームD−VOLからマッピングテーブル60,61を読み出させる(SP51)。
続いてCPU21は、読み込んだマッピングテーブル60,61の空きフィールドに新たなスナップショットV−VOLを登録する(SP52)。具体的には、運用ボリュームP−VOLの各ブロックとそれぞれ対応させてマッピングテーブル60,61上にブロックアドレスフィールド60B,61Bを確保する。
次いでCPU21は、マッピングテーブル60,61の各CoWビットマップフィールド60A,61Aにそれぞれ格納されたCoWビットマップにおけるその新たなスナップショットV−VOLと対応するビットをすべて「1」に設定し(SP53)、この後このマッピングテーブル60,61を対応するストレージ装置15n+1〜15n+mに送信して、当該マッピングテーブル60,61を元の差分ボリュームD−VOLに書き戻させる(SP54)。
続いてCPU21は、スナップショット管理プログラム43のCoW要求管理テーブル57の各CoW要求フィールド57Aに格納された値を「1」に設定し(SP55)、この後スナップショット管理プログラム43のスナップショット配置テーブル59(図8)における対応する差分ボリューム番号フィールド59Aに、現在の差分ボリュームD−VOLの差分ボリューム番号を設定する(SP56)。そしてCPU21は、この後このスナップショット生成処理を終了する(SP57)。
(3−4)スナップショット削除処理
一方、図21は、スナップショットの削除処理に関するCPU21の処理内容を示すフローチャートである。CPU21は、クライアント装置11(図4)からスナップショットV−VOLの削除指示が与えられると、スナップショット管理プログラム43(図5)のスナップショット削除処理サブプログラム53(図5)に基づき、このフローチャートに示す処理手順に従って、指定されたスナップショットV−VOLの削除処理を実行する。
すなわちCPU21は、スナップショットV−VOLの削除指示が与えられると、このスナップショット削除処理を開始し(SP60)、まず、スナップショット管理プログラム43内のスナップショット配置テーブル59(図8)を参照して、そのスナップショットV−VOLの差分データが格納されている対応する差分ボリュームD−VOLを検出する(SP61)。
続いてCPU21は、検出した差分ボリュームD−VOLを提供するストレージ装置15n+1〜15n+mにマッピングテーブル60,61(図9,図10)の読出し要求を発行して、これを差分ボリュームD−VOLから読み出させ(SP62)、この後この読み出させたマッピングテーブル60,61上から削除対象のスナップショットV−VOLの登録を解除する(SP63)。具体的に、CPU21は、かかるマッピングテーブル60,61から削除対象のスナップショットV−VOLに関するデータをすべて削除する。
次いでCPU21は、そのマッピングテーブル60,61における各CoWビットマップフィールド60A,61Aにそれぞれ格納された各CoWビットマップについて、削除対象のスナップショットV−VOLと対応するビットをそれぞれ「0」に設定し(SP64)、この後このマッピングテーブル60,61を対応するストレージ装置15n+1〜15n+mに送信することにより元の差分ボリュームD−VOLに書き戻させる(SP65)。
その後CPU21は、スナップショット配置テーブル59に基づいて、より新しい差分ボリュームD−VOLである次の差分ボリュームD−VOLが存在するか否かを判断する(SP66)。そして、削除対象のスナップショットV−VOLが最新のものでない場合には、この判断において肯定結果が得られる(SP66:YES)。そこで、このときCPU21は、かかる次の差分ボリュームD−VOLを保持するストレージ装置15n+1〜15n+mにマッピングテーブル61の読出し要求を発行して、差分ボリュームD−VOLからこのマッピングテーブル61を読み出させる(SP67)。
続いてCPU21は、このマッピングテーブル61の引継ぎフィールド61Cに格納されたブロックアドレスを必要に応じて更新し(SP68)、その後対応するストレージ装置15n+1〜15n+mにこのマッピングテーブル61を送信することにより、当該マッピングテーブル61を元の差分ボリュームD−VOLに書き戻させる(SP69)。そしてCPU21は、この後関連するすべてのマッピングテーブル61を更新し終えるまで、より新しい差分ボリュームD−VOLに対して同様の処理を順次繰り返す(SP66〜SP69−SP66)。
そしてCPU21は、やがて関連するすべてのマッピングテーブル60,61を更新し終えることにより、ステップSP66において肯定結果を得ると(SP66:YES)、スナップショット管理プログラム43のCoW要求管理テーブル57及び空きブロック管理テーブル58を更新する(SP70)。具体的に、CPU21は、CoW要求管理テーブル57については、運用ボリュームP−VOL上のブロック毎に、更新後の各マッピングテーブル60,61上のCoWビットマップのすべてのビットの論理和をとり、その結果をCoW要求管理テーブル57の対応するCoW要求フィールド57Aにそれぞれ格納する。またCPU21は、空きブロック管理テーブル58については、削除対象のスナップショットV−VOLの差分データが格納されていた差分ボリュームD−VOL上のブロックと対応する利用状況フィールド58Aに格納された値を「0」から「1」に変更する。
続いてCPU21は、スナップショット配置テーブル59から削除対象のスナップショットV−VOLのエントリを削除し(SP71)、この後このスナップショット削除処理を終了する(SP72)。
(3−5)差分ボリューム切断処理
本実施の形態によるストレージシステム10の場合、差分ボリュームD−VOLに一定時間アクセスがない場合や、サーバ管理者が指示した場合又は障害発生時などに、対象となる差分ボリュームD−VOLとそれ以前の差分ボリュームD−VOLとに対応付けられているスナップショットV−VOLがすべてアクセス不能に設定され、その後これらの差分ボリュームD−VOLを提供する各ストレージ装置15n+1〜15n+mの運転が停止される。この場合において、運用ボリュームP−VOLや現在の差分データの退避先となっている差分ボリュームD−VOLは切断の対象とすることはできない。
図22は、このような差分ボリューム切断処理に関するNASサーバ装置13のCPU21の処理内容を示すフローチャートである。また図23は、差分ボリューム切断処理の流れを示す。CPU21は、スナップショット管理プログラム43(図5)の差分ボリューム停止サブプログラム55に基づき、このフローチャートに示す処理手順に従って、かかる差分ボリューム切断処理を実行する。
すなわちCPU21は、差分ボリュームD−VOLに一定時間アクセスがない場合や、サーバ管理者が指示した場合又は障害が発生した場合などの現在の差分ボリュームD−VOL以外の差分ボリュームD−VOLを切断(その差分ボリュームD−VOLを提供するストレージ装置15n+1〜15n+mの稼働を停止)すべき所定状態となると、この差分ボリューム切断処理を開始し(SP80)、まず、スナップショット管理プログラム43におけるスナップショット配置テーブル59(図8)の先頭のエントリを選択し(SP81)、その後このエントリのスナップショットV−VOLをアクセス不能な状態に内部的に設定する(SP82)。
続いてCPU21は、アクセス不能な状態に設定したスナップショットV−VOLと対応付けられている差分ボリュームD−VOLの差分ボリューム番号が、そのとき対象とする差分ボリュームD−VOLの差分ボリューム番号よりも大きいか否かを判断する(SP83)。ここで言う「対象とする差分ボリュームD−VOL」とは、例えば一定時間アクセスがなかったスナップショットV−VOLと対応付けられた差分ボリュームD−VOLや、サーバ管理者が切断を指示した差分ボリュームD−VOL又は障害が発生したストレージ装置15n+1〜15n+mが提供する差分ボリュームD−VOLなどを指す。
そしてCPU21は、かかる判断において否定結果を得ると(SP83:NO)、スナップショット管理テーブル43上の次のエントリを選択し(SP84)、この後このエントリやこれ以降のエントリについて同様の処理を繰り返す(SP82〜SP84−SP82)。
そしてCPU21は、やがてスナップショット配置テーブル59上において、最初に登録されたエントリから対象とする差分ボリュームD−VOLと対応付けられたエントリまでのすべてのエントリのスナップショットV−VOLをアクセス不能な状態に設定し終えることによりステップSP83において肯定結果を得ると(SP83:YES)、運転制御装置16(図4)に対して、差分ボリューム番号が1番の差分ボリュームD−VOLから対象とする差分ボリュームD−VOLまでのすべての差分ボリュームD−VOLを切断するように、つまりこれらの差分ボリュームD−VOLをそれぞれ提供する各ストレージ装置15n+1〜15n+mの運転を停止させるように指示を与える(SP85)。
この結果、運転制御装置16は、これらのストレージ装置15n+1〜15n+mを制御してその運転を停止させる。なお、ここで言う「運転の停止」とは、物理的な電源停止だけでなく、パスの接続の有無などによる停止も含まれる。例えば、各ストレージ装置15n+1〜15n+mがそれぞれ異なる筐体に配置されている場合には、各筐体の電源オフによる停止や、接続の有無などがある。また各ストレージ装置15n+1〜15n+mが1筐体内にまとめて配置されている場合であって、ブレードサーバのように電源が個々に配置される場合は、上記各ストレージ装置15n+1〜15n+mがそれぞれ異なる筐体に配置されている場合と同様であり、電源を共有しているような場合には、パスの接続の有無等によるアクセス不可能な状態などがある。
そしてCPU21は、この後この差分ボリューム切断処理を終了する(SP86)。
(3−6)差分ボリューム起動処理
例えば、上述のように切断した差分ボリュームD−VOLに対してアクセスがあった場合や、サーバ管理者が指示した場合などに、かかる切断した差分ボリュームD−VOLの運転を再開する場合は、差分ボリューム切断処理と逆に運転制御装置16にその差分ボリュームD−VOLの起動を指示して当該差分ボリュームD−VOLの運転を再開させた後に、対象とする差分ボリュームD−VOLと対応付けられているスナップショットV−VOLをアクセス可能にする差分ボリューム起動処理を実行する。対象とする差分ボリュームD−VOLよりも新しい差分ボリュームD−VOLが停止している場合には、スナップショットV−VOLは引き続きアクセス不能のままとなる。
図24は、このような差分ボリューム起動処理に関するNASサーバ装置13のCPU21の処理内容を示すフローチャートである。また図25は、このような差分ボリューム起動処理の流れを示している。CPU21は、スナップショット管理プログラム43(図5)の差分ボリューム起動サブプログラム56に基づき、このフローチャートに示す処理手順に従って、かかる差分ボリューム起動処理を実行する。
すなわちCPU21は、差分ボリュームD−VOLにアクセスがあった場合や、サーバ管理者が指示した場合又は障害が回復した場合など、上述のように切断している差分ボリュームD−VOLを起動(その差分ボリュームD−VOLを提供するストレージ装置15n+1〜15n+mの稼働を再開)すべき所定状態となると、この差分ボリューム起動処理を開始し(SP90)、まず、運転制御装置16(図4)に対象とする差分ボリュームD−VOLの運転を再開すべき指示を与える(SP91)。
続いてCPU21は、スナップショット管理プログラム43におけるスナップショット配置テーブル59(図8)の最後のエントリを選択し(SP92)、このエントリのスナップショットV−VOLと対応付けられた差分ボリュームD−VOLの差分ボリューム番号が、対象とする差分ボリュームD−VOLよりも小さいか否かを判断する(SP93)。
CPU21は、この判断において否定結果を得ると(SP93:NO)、ステップSP92において選択したエントリの差分ボリュームD−VOLが運転状態であるか否かを判断する(SP94)。そしてCPU21は、この判断において肯定結果を得ると(SP94:YES)、ステップSP92において選択したエントリのスナップショットV−VOLをアクセス可能な状態に内部的に設定する(SP95)。
続いてCPU21は、スナップショット管理テーブル43上の次のエントリを選択し(SP96)、この後このエントリやこれ以前のエントリについて同様の処理を繰り返す(SP93〜SP96−SP93)。
そしてCPU21は、やがてスナップショット配置テーブル59上において、最後に登録されたエントリから対象とする差分ボリュームD−VOLと対応付けられたエントリまでのすべてのエントリのスナップショットV−VOLをアクセス可能に内部的に設定し終えることにより、ステップSP93において肯定結果を得(SP93:YES)、又はステップSP92において選択したエントリの差分ボリュームD−VOLが運転していないことによりステップSP94において否定結果を得ると(SP94:NO)、この差分ボリューム切断処理を終了する(SP97)。
(4)本実施の形態の効果
以上の構成において、NASサーバ装置13は、スナップショットサービス用のストレージ装置15n+1〜15n+m毎にそれぞれ1つの差分ボリュームD−VOLを設定すると共に、差分ボリュームD−VOL毎にマッピングテーブル60,61を作成し、これらマッピングテーブル60,61に基づいて、それぞれ対応する差分ボリュームD−VOLと対応付けられたスナップショットV−VOLを管理する。
従って、このストレージシステム10では、最新のマッピングテーブル60,61にアクセスすることで、現在のスナップショットV−VOLに関する差分データの退避とその管理情報の記録とを行うことができる。
この場合において、このストレージシステム10では、保持するスナップショット数に拘わりなく、個々のマッピングテーブル60,61の規模を常に所望の大きさに抑えることができるため、マッピングテーブルへのアクセスについてのオーバヘッドが少なく、当該オーバヘッドによる書込み速度の低下及びこれに起因するシステム全体の性能劣化を有効に防止することができる。
また、このストレージシステム10では、2番目以降の各マッピングテーブル61に、前のマッピングテーブル60,61の内容を引き継ぐための引継ぎフィールド61Cを設け、この引継ぎフィールド61Cに必要な情報(ブロックアドレス)を格納するようにしているため、マッピングテーブル単位でのスナップショットV−VOLの管理が可能となり、例えば回線障害などにより現在のスナップショットV−VOLに不整合が生じた場合においても、その影響が他のマッピングテーブル60,61により管理されている他のスナップショットV−VOLにまで及ばず、従ってスナップショットの運用を継続することができる。
従って、このストレージシステム10によれば、スナップショットを多数保持する場合においても、マッピングテーブル60,61にアクセスする際のオーバヘッドによる性能劣化を防止し得、またストレージシステムとして高い信頼性を得ることができる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明をNASサーバ装置13に適用するようにした場合について述べたが、本発明はこれに限らず、スナップショットを管理するこの他種々のスナップショット管理装置に広く適用することができる。
また上述の実施の形態においては、スナップショットサービス用のストレージ装置15n+1〜15n+mの1つにつき1つの差分ボリュームD−VOLを設定するようにした場合について述べたが、本発明はこれに限らず、1つのストレージ装置15n+1〜15n+mに対して複数の差分ボリュームD−VOLを設定すると共に、これら差分ボリュームD−VOL毎にマッピングテーブル60,61をそれぞれ作成するようにしても良い。
さらに上述の実施の形態においては、差分ボリューム切断処理時において、単に該当する差分ボリュームD−VOLを保持するストレージ装置15n+1〜15n+mの運転を停止させるようにした場合について述べたが、本発明はこれに限らず、例えば、この際にそのストレージ装置15n+1〜15n+mが保持している差分ボリュームD−VOL内の差分データのコピーをNASサーバ装置13や運転を停止させないストレージ装置15n+1〜15n+mにおいて一時的に保持するようにするようにしても良い。このようにすることによって、必要時に運転を再開させるストレージ装置15n+1〜15n+mの数を減らすことができる。その場合、かかる差分データのコピーは、スナップショットV−VOLの参照が完了した時点で廃棄するようにすれば良い。
本発明はNASサーバ装置のほか、スナップショットを管理するこの他種々のスナップショット管理装置に広く適用することができる。
従来のスナップショット管理方式の説明に供する概念図である。 本実施の形態によるスナップショット管理方式の概略説明に供する概念図である。 本実施の形態によるスナップショット管理方式の概略説明に供する概念図である。 本実施の形態によるストレージシステムの構成を示すブロック図である。 スナップショット管理プログラムの説明に供する概念図である。 CoW要求管理テーブルの説明に供する図表である。 空きブロック管理テーブルの説明に供する図表である。 スナップショット配置テーブルの説明に供する図表である。 マッピングテーブルの説明に供する図表である。 マッピングテーブルの説明に供する図表である。 書込み処理の説明に供するフローチャートである。 書込み処理の説明に供する概念図である。 書込み処理の説明に供する概念図である。 差分ボリューム切替え処理の説明に供するフローチャートである。 差分ボリューム切替え処理の説明に供する概念図である。 差分ボリューム切替え処理の説明に供する概念図である。 読出し処理の説明に供するフローチャートである。 読出し処理の説明に供する概念図である。 スナップショット生成処理の説明に供するフローチャートである。 スナップショット生成処理の説明に供する概念図である。 スナップショット削除処理の説明に供するフローチャートである。 差分ボリューム切断処理の説明に供するフローチャートである。 差分ボリューム切断処理の説明に供する概念図である。 差分ボリューム起動処理の説明に供するフローチャートである。 差分ボリューム起動処理の説明に供する概念図である。
符号の説明
10……ストレージシステム、11……クライアント装置、13……NASサーバ装置、15,15n+1〜15n+m……ストレージ装置、16……運転制御装置、21……CPU、22……メモリ、30……ディスクユニット、40……ファイルサーバプログラム、41……データ保護プログラム、42……ファイルシステム処理プログラム、43……スナップショット管理プログラム、50……書込み処理サブプログラム、51……読出し処理サブプログラム、52……スナップショット生成サブプログラム、53……スナップショット削除サブプログラム、54……差分ボリューム切替えサブプログラム、55……差分ボリューム停止サブプログラム、56……差分ボリューム起動サブプログラム、57……CoW要求管理テーブル、58……空きブロック管理テーブル、59……スナップショット配置テーブル、D−VOL……差分ボリューム、P−VOL……運用ボリューム、V−VOL……スナップショット。

Claims (18)

  1. 上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理装置において、
    第1のストレージが提供する記憶領域上に前記運用ボリュームを設定すると共に、第2のストレージが提供する記憶領域上に差分ボリュームを設定するボリューム設定部と、
    前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させる差分データ退避部と、
    前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理するスナップショット管理部と
    を備え、
    前記スナップショット管理部は、
    前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引き継ぎ情報を格納する
    ことを特徴とするスナップショット管理装置。
  2. 前記ボリューム設定部は、
    前記第2のストレージが提供する前記記憶領域上に複数の前記差分ボリュームを設定し、
    前記差分データ退避部は、
    各前記スナップショットの前記差分データを対応する前記差分ボリュームに退避させ、
    前記スナップショット管理部は、
    各前記差分ボリュームにそれぞれ対応させて前記管理テーブルを作成する
    ことを特徴とする請求項1に記載のスナップショット管理装置。
  3. 前記スナップショット管理部は、
    各前記管理テーブルを、それぞれ対応する前記第2のストレージに送信し、対応する前記差分ボリュームに格納させて保持させる
    ことを特徴とする請求項2に記載のスナップショット管理装置。
  4. 前記ボリューム設定部は、
    1つの前記第2のストレージにつき1つの前記差分ボリュームを設定する
    ことを特徴とする請求項2に記載のスナップショット管理装置。
  5. 前記スナップショット管理部は、
    必要時、対象とする前記差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームにそれぞれ対応付けられた各前記スナップショットについてアクセス不能に設定した後、当該対象とする差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームをそれぞれ保持する各前記第2のストレージの運転を停止させる
    ことを特徴とする請求項4に記載のスナップショット管理装置。
  6. 前記スナップショット管理部は、
    必要時、運転を停止させた各前記第2のストレージの運転を再開させた後、各前記第2のストレージにそれぞれ保持された各前記差分ボリュームに対応付けられた各前記スナップショットをアクセス可能に設定する
    ことを特徴とする請求項5に記載のスナップショット管理装置。
  7. 上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理方法において、
    第1のストレージが提供する記憶領域上に前記運用ボリュームを設定すると共に、第2のストレージが提供する記憶領域上に差分ボリュームを設定する第1のステップと、
    前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させると共に、前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理する第2のステップと
    を備え、
    前記第2のステップでは、
    前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引継ぎ情報を格納する
    ことを特徴とするスナップショット管理方法。
  8. 前記第1のステップでは、
    前記第2のストレージが提供する前記記憶領域上に複数の前記差分ボリュームを設定し、
    前記第2のステップでは、
    各前記スナップショットの前記差分データを対応する前記差分ボリュームに退避させると共に、各前記差分ボリュームにそれぞれ対応させて前記管理テーブルを作成する
    ことを特徴とする請求項7に記載のスナップショット管理方法。
  9. 前記第3のステップでは、
    各前記管理テーブルを、それぞれ対応する前記第2のストレージに送信し、対応する前記差分ボリュームに格納させて保持させる
    ことを特徴とする請求項8に記載のスナップショット管理方法。
  10. 前記第1のステップでは、
    1つの前記第2のストレージにつき1つの前記差分ボリュームを設定する
    ことを特徴とする請求項8に記載のスナップショット管理方法。
  11. 前記第2のステップでは、
    必要時、対象とする前記差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームにそれぞれ対応付けられた各前記スナップショットについてアクセス不能に設定した後、当該対象とする差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームをそれぞれ保持する各前記第2のストレージの運転を停止させる
    ことを特徴とする請求項10に記載のスナップショット管理方法。
  12. 前記第2のステップでは、
    必要時、運転を停止させた各前記第2のストレージの運転を再開させた後、各前記第2のストレージにそれぞれ保持された各前記差分ボリュームに対応付けられた各前記スナップショットをアクセス可能に設定する
    ことを特徴とする請求項11に記載のスナップショット管理方法。
  13. 上位装置からのデータを読み書きする運用ボリュームの所定時点でのイメージでなる1又は複数世代のスナップショットを生成して管理するスナップショット管理装置に、それぞれ1又は複数の第1及び第2のストレージ装置が通信自在に接続されたストレージシステムにおいて、
    前記スナップショット管理装置は、
    前記第1のストレージ装置が提供する記憶領域上に前記運用ボリュームを設定すると共に、前記第2のストレージが提供する記憶領域上に差分ボリュームを設定するボリューム設定部と、
    前記運用ボリュームに対する前記データの書き込みに応じて、前記スナップショットの生成時点の前記運用ボリュームと現在の前記運用ボリュームとの差分でなる差分データを前記差分ボリュームに退避させる差分データ退避部と、
    前記スナップショットの管理情報が当該スナップショットの作成順に格納された管理テーブルを作成し、当該管理テーブルに基づいて各前記スナップショットを管理するスナップショット管理部と
    を備え、
    前記スナップショット管理部は、
    前記管理テーブルを、作成順の複数の前記スナップショットを単位として分割して生成すると共に、2番目以降の各前記管理テーブルに、前の前記管理テーブルの内容を引き継ぐための所定の引継ぎ情報を格納する
    ことを特徴とするストレージシステム。
  14. 前記スナップショット管理装置の前記ボリューム設定部は、
    前記第2のストレージ装置が提供する前記記憶領域上に複数の前記差分ボリュームを設定し、
    前記差分データ退避部は、
    各前記スナップショットの前記差分データを対応する前記差分ボリュームに退避させ、
    前記スナップショット管理部は、
    各前記差分ボリュームにそれぞれ対応させて前記管理テーブルを作成する
    ことを特徴とする請求項13に記載のストレージシステム。
  15. 前記スナップショット管理装置の前記スナップショット管理部は、
    各前記管理テーブルを、それぞれ対応する前記第2のストレージ装置に送信し、
    前記第2のストレージ装置は、
    前記管理テーブルを、前記対応する前記差分ボリュームに格納して保持する
    ことを特徴とする請求項14に記載のストレージシステム。
  16. 前記ボリューム設定部は、
    1つの前記第2のストレージ装置につき1つの前記差分ボリュームを設定する
    ことを特徴とする請求項14に記載のストレージシステム。
  17. 前記スナップショット管理部は、
    必要時、対象とする前記差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームにそれぞれ対応付けられた各前記スナップショットについてアクセス不能に設定した後、当該対象とする差分ボリューム及び当該差分ボリュームよりも前の前記差分ボリュームをそれぞれ保持する各前記第2のストレージ装置の運転を停止させる
    ことを特徴とする請求項16に記載のストレージシステム。
  18. 前記スナップショット管理部は、
    必要時、運転を停止させた各前記第2のストレージ装置の運転を再開させた後、各前記第2のストレージにそれぞれ保持された各前記差分ボリュームに対応付けられた各前記スナップショットをアクセス可能に設定する
    ことを特徴とする請求項17に記載のストレージシステム。
JP2005279208A 2005-09-27 2005-09-27 スナップショット管理装置及び方法並びにストレージシステム Expired - Fee Related JP4662548B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005279208A JP4662548B2 (ja) 2005-09-27 2005-09-27 スナップショット管理装置及び方法並びにストレージシステム
US11/285,203 US7519625B2 (en) 2005-09-27 2005-11-23 Snapshot management apparatus and method, and storage system
US12/379,635 US8533157B2 (en) 2005-09-27 2009-02-26 Snapshot management apparatus and method, and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005279208A JP4662548B2 (ja) 2005-09-27 2005-09-27 スナップショット管理装置及び方法並びにストレージシステム

Publications (2)

Publication Number Publication Date
JP2007094472A JP2007094472A (ja) 2007-04-12
JP4662548B2 true JP4662548B2 (ja) 2011-03-30

Family

ID=37895431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005279208A Expired - Fee Related JP4662548B2 (ja) 2005-09-27 2005-09-27 スナップショット管理装置及び方法並びにストレージシステム

Country Status (2)

Country Link
US (2) US7519625B2 (ja)
JP (1) JP4662548B2 (ja)

Families Citing this family (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239477B2 (en) * 2005-07-08 2012-08-07 Cisco Technology, Inc. Apparatus and methods for controlling a data tapping session in a storage area network
US7539924B1 (en) 2005-11-15 2009-05-26 Western Digital Technologies, Inc. Disk drive implementing data path protection by encoding large host blocks into sub blocks
US7774565B2 (en) * 2005-12-21 2010-08-10 Emc Israel Development Center, Ltd. Methods and apparatus for point in time data access and recovery
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7849361B2 (en) * 2005-12-22 2010-12-07 Emc Corporation Methods and apparatus for multiple point in time data access
JP2007219609A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd スナップショット管理装置及び方法
US7860836B1 (en) 2007-12-26 2010-12-28 Emc (Benelux) B.V., S.A.R.L. Method and apparatus to recover data in a continuous data protection environment using a journal
US8041940B1 (en) 2007-12-26 2011-10-18 Emc Corporation Offloading encryption processing in a storage area network
US7840536B1 (en) 2007-12-26 2010-11-23 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for dynamic journal expansion
US9501542B1 (en) 2008-03-11 2016-11-22 Emc Corporation Methods and apparatus for volume synchronization
JP5156518B2 (ja) * 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
US8037156B2 (en) * 2008-09-08 2011-10-11 International Business Machines Corporation Host discovery in multi-blade server chassis
US8499297B2 (en) * 2008-10-28 2013-07-30 Vmware, Inc. Low overhead fault tolerance through hybrid checkpointing and replay
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US8397107B1 (en) * 2009-12-11 2013-03-12 Western Digital Technologies, Inc. Data storage device employing data path protection using both LBA and PBA
US8392680B1 (en) 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
WO2011132227A1 (en) * 2010-04-22 2011-10-27 Hitachi, Ltd. System and method of controlling migration of data based on deduplication efficiency
US8332687B1 (en) 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US10803066B2 (en) * 2010-06-29 2020-10-13 Teradata Us, Inc. Methods and systems for hardware acceleration of database operations and queries for a versioned database based on multiple hardware accelerators
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US8433869B1 (en) 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8478955B1 (en) 2010-09-27 2013-07-02 Emc International Company Virtualized consistency group using more than one data protection appliance
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8694700B1 (en) 2010-09-29 2014-04-08 Emc Corporation Using I/O track information for continuous push with splitter for storage device
US8335761B1 (en) 2010-12-02 2012-12-18 Emc International Company Replicating in a multi-copy environment
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
CN103415843B (zh) * 2011-03-08 2016-12-21 国际商业机器公司 删除多目标体系结构中的源和省空间的目标之间的关系
US9256605B1 (en) 2011-08-03 2016-02-09 Emc Corporation Reading and writing to an unexposed device
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8793467B2 (en) * 2011-09-30 2014-07-29 Pure Storage, Inc. Variable length encoding in a storage system
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8788788B2 (en) * 2011-08-11 2014-07-22 Pure Storage, Inc. Logical sector mapping in a flash storage array
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
US8650359B2 (en) 2011-08-26 2014-02-11 Vmware, Inc. Computer system accessing object storage system
US8775774B2 (en) 2011-08-26 2014-07-08 Vmware, Inc. Management system and methods for object storage system
US8775773B2 (en) 2011-08-26 2014-07-08 Vmware, Inc. Object storage system
US8769174B2 (en) 2011-08-29 2014-07-01 Vmware, Inc. Method of balancing workloads in object storage system
US8677085B2 (en) * 2011-08-29 2014-03-18 Vmware, Inc. Virtual machine snapshotting in object storage system
US8898112B1 (en) 2011-09-07 2014-11-25 Emc Corporation Write signature command
US8527716B2 (en) 2011-09-20 2013-09-03 Hitachi, Ltd. Volume sharing method and storage system using the same
US9390147B2 (en) * 2011-09-23 2016-07-12 Red Lambda, Inc. System and method for storing stream data in distributed relational tables with data provenance
JP5776474B2 (ja) 2011-09-29 2015-09-09 富士通株式会社 ストレージ装置、ストレージ制御装置およびコピー先データアクセス方法
US9063768B2 (en) 2011-10-10 2015-06-23 Vmware, Inc. Method and apparatus for comparing configuration and topology of virtualized datacenter inventories
US8671250B2 (en) 2011-12-15 2014-03-11 Western Digital Technologies, Inc. Data storage device generating redundancy for data path protection of a parity sector
US8725971B2 (en) * 2012-02-20 2014-05-13 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus involving snapshots
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US9223659B1 (en) 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system
US9336094B1 (en) 2012-09-13 2016-05-10 Emc International Company Scaleout replication of an application
US10235145B1 (en) 2012-09-13 2019-03-19 Emc International Company Distributed scale-out replication
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US9298372B2 (en) * 2013-03-06 2016-03-29 Dell Products, L.P. System and method for managing storage system snapshots
US8996460B1 (en) 2013-03-14 2015-03-31 Emc Corporation Accessing an image in a continuous data protection using deduplication-based storage
US9383937B1 (en) 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US9696939B1 (en) 2013-03-14 2017-07-04 EMC IP Holding Company LLC Replicating data using deduplication-based arrays using network-based replication
US9152339B1 (en) 2013-03-15 2015-10-06 Emc Corporation Synchronization of asymmetric active-active, asynchronously-protected storage
US9081842B1 (en) 2013-03-15 2015-07-14 Emc Corporation Synchronous and asymmetric asynchronous active-active-active data access
US9244997B1 (en) 2013-03-15 2016-01-26 Emc Corporation Asymmetric active-active access of asynchronously-protected data storage
US9087112B1 (en) 2013-06-24 2015-07-21 Emc International Company Consistency across snapshot shipping and continuous replication
US9069709B1 (en) 2013-06-24 2015-06-30 Emc International Company Dynamic granularity in data replication
US9146878B1 (en) 2013-06-25 2015-09-29 Emc Corporation Storage recovery from total cache loss using journal-based replication
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US9690791B1 (en) * 2013-11-18 2017-06-27 EMC IP Holding Company LLC Snapshot history map
US9367260B1 (en) 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9405765B1 (en) 2013-12-17 2016-08-02 Emc Corporation Replication of virtual machines
US9158630B1 (en) 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US9189339B1 (en) 2014-03-28 2015-11-17 Emc Corporation Replication of a virtual distributed volume with virtual machine granualarity
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9274718B1 (en) 2014-06-20 2016-03-01 Emc Corporation Migration in replication system
US10082980B1 (en) 2014-06-20 2018-09-25 EMC IP Holding Company LLC Migration of snapshot in replication system using a log
US9619543B1 (en) 2014-06-23 2017-04-11 EMC IP Holding Company LLC Replicating in virtual desktop infrastructure
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
TWI512467B (zh) 2014-09-02 2015-12-11 Silicon Motion Inc 實體儲存對照表維護方法以及使用該方法的裝置
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US10101943B1 (en) 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
US10324798B1 (en) 2014-09-25 2019-06-18 EMC IP Holding Company LLC Restoring active areas of a logical unit
US10437783B1 (en) 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device
US9910621B1 (en) 2014-09-29 2018-03-06 EMC IP Holding Company LLC Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US9529885B1 (en) 2014-09-29 2016-12-27 EMC IP Holding Company LLC Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US10496487B1 (en) 2014-12-03 2019-12-03 EMC IP Holding Company LLC Storing snapshot changes with snapshots
US9600377B1 (en) 2014-12-03 2017-03-21 EMC IP Holding Company LLC Providing data protection using point-in-time images from multiple types of storage devices
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US9405481B1 (en) 2014-12-17 2016-08-02 Emc Corporation Replicating using volume multiplexing with consistency group file
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
TWI545433B (zh) 2015-03-04 2016-08-11 慧榮科技股份有限公司 實體儲存對照表維護方法以及使用該方法的裝置
US9632881B1 (en) 2015-03-24 2017-04-25 EMC IP Holding Company LLC Replication of a virtual distributed volume
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US9411535B1 (en) 2015-03-27 2016-08-09 Emc Corporation Accessing multiple virtual devices
US10296419B1 (en) 2015-03-27 2019-05-21 EMC IP Holding Company LLC Accessing a virtual device using a kernel
US9678680B1 (en) 2015-03-30 2017-06-13 EMC IP Holding Company LLC Forming a protection domain in a storage architecture
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10853181B1 (en) 2015-06-29 2020-12-01 EMC IP Holding Company LLC Backing up volumes using fragment files
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US9684576B1 (en) 2015-12-21 2017-06-20 EMC IP Holding Company LLC Replication using a virtual distributed volume
US10133874B1 (en) 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
US10235196B1 (en) 2015-12-28 2019-03-19 EMC IP Holding Company LLC Virtual machine joining or separating
US10067837B1 (en) 2015-12-28 2018-09-04 EMC IP Holding Company LLC Continuous data protection with cloud resources
US10419537B1 (en) 2016-03-24 2019-09-17 EMC IP Holding Company LLC Architecture for a converged compute and file system within network-attached storage clusters
US10331630B1 (en) 2016-03-24 2019-06-25 EMC IP Holding Company LLC Systems and methods for file triggers in a converged compute and file system
US10235087B1 (en) 2016-03-30 2019-03-19 EMC IP Holding Company LLC Distributing journal data over multiple journals
US10579282B1 (en) 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
US10152267B1 (en) 2016-03-30 2018-12-11 Emc Corporation Replication data pull
US10235060B1 (en) 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10241713B2 (en) 2016-09-01 2019-03-26 Red Hat Israel, Ltd. Snapshot management with an external storage service
US10146961B1 (en) 2016-09-23 2018-12-04 EMC IP Holding Company LLC Encrypting replication journals in a storage system
US10235090B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Validating replication copy consistency using a hash function in a storage system
US10235091B1 (en) 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
US10019194B1 (en) 2016-09-23 2018-07-10 EMC IP Holding Company LLC Eventually consistent synchronous data replication in a storage system
US10210073B1 (en) 2016-09-23 2019-02-19 EMC IP Holding Company, LLC Real time debugging of production replicated data with data obfuscation in a storage system
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10331374B2 (en) * 2017-06-30 2019-06-25 Oracle International Corporation High-performance writable snapshots in data storage systems
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US10921986B2 (en) 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11468381B1 (en) * 2019-12-02 2022-10-11 Sallen Llc System and method for virtual cloud-based facilitation of homelessness reduction through secure, scalable, real-time need assessment and resource availability tracking and allocation
US11640371B2 (en) * 2020-03-12 2023-05-02 Western Digital Technologies, Inc. Snapshot management in partitioned storage
US11921670B1 (en) * 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051882A (ja) * 1999-08-04 2001-02-23 Fujitsu Ltd スナップショット参照方法、及び記憶装置
JP2002207642A (ja) * 2001-01-12 2002-07-26 Toshiba Corp データバックアップシステム、データバックアップ方法およびコンピュータプログラム
JP2004013786A (ja) * 2002-06-11 2004-01-15 Toshiba Corp データ記憶方法およびデータ記憶制御装置
JP2004342050A (ja) * 2003-03-18 2004-12-02 Hitachi Ltd 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2005157710A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd ドライブの稼働時間を抑止するディスクアレイ
JP2005250676A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
JP3868708B2 (ja) * 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
KR20020017558A (ko) * 2000-08-31 2002-03-07 김종민 가상 공간 상에서의 북마킹 시스템 및 방법
US6594744B1 (en) * 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
US7346623B2 (en) * 2001-09-28 2008-03-18 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US6799189B2 (en) * 2001-11-15 2004-09-28 Bmc Software, Inc. System and method for creating a series of online snapshots for recovery purposes
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US7007046B2 (en) * 2002-03-19 2006-02-28 Network Appliance, Inc. Format for transmission file system information between a source and a destination
US7240239B2 (en) * 2002-03-20 2007-07-03 National Institute Of Advanced Industrial Science And Technology Input and output control means for computer system storage and a software execution method using same
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7353305B2 (en) * 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
JP4199993B2 (ja) * 2002-11-27 2008-12-24 株式会社日立製作所 スナップショット取得方法
US7185071B2 (en) * 2002-12-24 2007-02-27 International Business Machines Corporation Self-healing version and configuration model for an application server
WO2005003963A2 (en) * 2003-07-07 2005-01-13 Red Bend Ltd. Method and system for updating versions of content stored in a storage device
US7467266B2 (en) * 2003-08-05 2008-12-16 International Business Machines Corporation Snapshot management method apparatus and system
US20050049814A1 (en) * 2003-08-26 2005-03-03 Ramchandani Mahesh A. Binding a GUI element to a control in a test executive application
US20060100981A1 (en) * 2004-11-04 2006-05-11 International Business Machines Corporation Apparatus and method for quorum-based power-down of unresponsive servers in a computer cluster
US7478251B1 (en) * 2004-12-23 2009-01-13 Cisco Technology, Inc. Methods and apparatus for provisioning uninterruptible power for power over Ethernet applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051882A (ja) * 1999-08-04 2001-02-23 Fujitsu Ltd スナップショット参照方法、及び記憶装置
JP2002207642A (ja) * 2001-01-12 2002-07-26 Toshiba Corp データバックアップシステム、データバックアップ方法およびコンピュータプログラム
JP2004013786A (ja) * 2002-06-11 2004-01-15 Toshiba Corp データ記憶方法およびデータ記憶制御装置
JP2004342050A (ja) * 2003-03-18 2004-12-02 Hitachi Ltd 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2005157710A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd ドライブの稼働時間を抑止するディスクアレイ
JP2005250676A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法

Also Published As

Publication number Publication date
US20070073783A1 (en) 2007-03-29
US7519625B2 (en) 2009-04-14
US8533157B2 (en) 2013-09-10
US20090172039A1 (en) 2009-07-02
JP2007094472A (ja) 2007-04-12

Similar Documents

Publication Publication Date Title
JP4662548B2 (ja) スナップショット管理装置及び方法並びにストレージシステム
US11249857B2 (en) Methods for managing clusters of a storage system using a cloud resident orchestrator and devices thereof
US10002048B2 (en) Point-in-time snap copy management in a deduplication environment
US20180165026A1 (en) System and method for hijacking inodes based on replication operations received in an arbitrary order
US9378096B1 (en) System and method for cache management
JP5461216B2 (ja) 論理ボリューム管理の為の方法と装置
US8204858B2 (en) Snapshot reset method and apparatus
JP5603941B2 (ja) 計算機システム及びデータ移行方法
US11231989B2 (en) Object format resilient to remote object store errors
JP4903461B2 (ja) 記憶システム及びデータ移行方法並びにサーバ装置
WO2013030893A1 (en) Computer system and data access control method
JP2007087036A (ja) スナップショット維持装置及び方法
EP1818795A2 (en) Storage system, data processing method and storage apparatus
US7424497B1 (en) Technique for accelerating the creation of a point in time prepresentation of a virtual file system
EP1535161B1 (en) Storage services and systems
US20100042791A1 (en) Data storage with snapshot-to-snapshot recovery
US10620843B2 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
WO2012066594A1 (en) Computer system and storage migration method
WO2010106694A1 (en) Data backup system and data backup method
US8977827B1 (en) System, method and computer program product for recovering stub files
JP2007219611A (ja) バックアップ装置及びバックアップ方法
JP4857055B2 (ja) 記憶システム及びその制御方法並びに記憶制御装置
US10684918B2 (en) Granular dump backup restart
US11481335B2 (en) Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof
US11269539B2 (en) Methods for managing deletion of data objects by utilizing cold storage and devices thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees