JP5813375B2 - ストレージシステムにおける要求に対する応答に関連した待ち時間削減 - Google Patents

ストレージシステムにおける要求に対する応答に関連した待ち時間削減 Download PDF

Info

Publication number
JP5813375B2
JP5813375B2 JP2011121870A JP2011121870A JP5813375B2 JP 5813375 B2 JP5813375 B2 JP 5813375B2 JP 2011121870 A JP2011121870 A JP 2011121870A JP 2011121870 A JP2011121870 A JP 2011121870A JP 5813375 B2 JP5813375 B2 JP 5813375B2
Authority
JP
Japan
Prior art keywords
storage
type
host device
data
read
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
JP2011121870A
Other languages
English (en)
Other versions
JP2012104097A (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.)
LSI Corp
Original Assignee
LSI Logic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2012104097A publication Critical patent/JP2012104097A/ja
Application granted granted Critical
Publication of JP5813375B2 publication Critical patent/JP5813375B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

この開示は、一般的にストレージシステムに関するものであり、とりわけ、ストレージシステムにおける書き込み要求および/または読み取り要求への応答に関連した待ち時間削減の方法、装置、および/またはシステムに関するものである。
ストレージシステムは、ストレージプールに格納されたエンティティ(例えば、組織)に属する1人または複数のユーザーに関連したデータを含むことが可能である。データの一部は、上記1人または複数のユーザーによって頻繁にアクセスされる場合があり、データの別の部分は、上記1人または複数のユーザーによってアクセスされる頻度が低い場合がある。さらにストレージシステムは、上記1人または複数のユーザーに関連したデータをバックアップするように構成される場合もある。
アクセスの頻度が高いデータが、低い性能を提供するハードウェアに格納されている場合、読み取り/書き込みの要求に対処するための応答時間が増加する場合がある。さらに、低い性能を提供するハードウェアがその最大容量に近く格納されているデータを含む場合、応答時間はさらに増加され得る。ある想定例では、ハードウェアが、クラウドストレージ環境でのサービスとして提供されるリモートストレージと関連した場合、上記1人または複数のユーザーは読み取り/書き込みのタイムアウトに遭遇し、人間の労力の無駄および/または生産性の損失につながり得る。
ここに開示されるのは、ストレージシステムにおける書き込み要求および/または読み取り要求への応答に関連した待ち時間削減の方法、装置および/またはシステムである。
1つの局面においては、方法は、ストレージ仮想化エンジンによって、第1のタイプのストレージにマップするように構成されたアクティブエリアと、第2のタイプのストレージにマップするように構成された非アクティブエリアに、仮想ボリュームをセグメント化するステップを含む。第2のタイプのストレージは、ホスト機器に関連したデータを含むように構成され、第1のタイプのストレージは、ホスト機器に関連したデータに対応するポイントインタイムイメージを含むように構成されている。第1のタイプのストレージは、第2のタイプのストレージよりも高い性能を提供し、ストレージ仮想化エンジンは、第1のタイプのストレージおよび第2のタイプのストレージ内の格納場所に仮想ボリュームをマップするように構成されている。
この方法は、また、ホスト機器を通じて対応する書き込み要求および/または読み取り要求に対する応答における書き込み動作および/または読み取り動作の間に、キャッシュメモリとして機能する、第1のタイプのストレージ内の一部のスペースを割り当てるステップと、第1のタイプのストレージを通じて、対応する書き込み動作および/または読み取り動作を実行することを通じて書き込み要求および/または読み取り要求への応答に関連した待ち時間を削減するステップとを含む。書き込み動作は、第2のタイプのストレージに書き込むデータを第1のタイプのストレージでキャッシュすることを含み、読み取り動作は、第1のタイプのストレージにキャッシュされた最近書き込まれたデータまたは第2のタイプのストレージからのデータの一部を、そこから読み取る第1のタイプのストレージ内の適切なキャッシュ場所へ取り出すことを含む。
もう一つの局面においては、方法は、第1のタイプのストレージにおいてホスト機器に関連したデータに対応するポイントインタイムイメージを格納するステップと、第2のタイプのストレージにおいてホスト機器に関連したデータを格納するステップとを含む。第2のタイプのストレージは、第1のタイプのストレージに比べて低い性能を提供する。この方法は、また、ポイントインタイムイメージで占有されたメモリがしきい値を超えた際に、第2のタイプのストレージに、ホスト機器と関連した最も以前にアクセスされたデータに対応する1つ以上のポイントインタイムイメージを再同期、または移送するステップと、ストレージ仮想化エンジンによって、第1のタイプのストレージにマップするように構成されたアクティブエリアと、第2のタイプのストレージにマップするように構成された非アクティブエリアに、仮想ボリュームをセグメント化するステップとを含む。
ストレージ仮想化エンジンは、第1のタイプのストレージと第2のタイプのストレージ内の格納場所に仮想ボリュームをマップするように構成される。さらに、この方法は、ホスト機器を通じて、対応する書き込み要求および/または読み取り要求に対する応答における書き込み動作および/または読み取り動作の間に、キャッシュメモリとして機能する、第1のタイプのストレージ内の一部のスペースを割り当てるステップと、第1のタイプのストレージを通じて、上記書き込み動作および/または読み取り動作を実行するステップとを含む。書き込み動作は、第2のタイプのストレージに書き込むデータを第1のタイプのストレージでキャッシュすることを含み、読み取り動作は、第1のタイプのストレージにキャッシュされた最近書き込まれたデータまたは第2のタイプのストレージからのデータの一部を、そこから読み取る第1のタイプのストレージ内の適切なキャッシュ場所へ取り出すことを含む。
更にもう一つの局面では、ストレージシステムは、書き込み要求および/または読み取り要求を生成するように構成されたホスト機器と、ホスト機器に関連した第1のタイプのストレージと、ホスト機器に関連した第2のタイプのストレージとを含む。第2のタイプのストレージは、第1のタイプのストレージよりも低い性能を提供する。このストレージシステムは、また、第1のタイプのストレージにマップするように構成されたアクティブエリアと、第2のタイプのストレージにマップするように構成された非アクティブエリアへの、第1のタイプのストレージと第2のタイプのストレージの仮想ボリュームセグメント化を実行するように構成されたストレージシステムにおけるストレージ管理に関連したストレージ仮想化エンジンを含む。第2のタイプのストレージは、ホスト機器に関連したデータを含むように構成され、第1のタイプのストレージは、ホスト機器に関連したデータに対応するポイントインタイムイメージを含むように構成されている。
ホスト機器のユーザーは、ホスト機器を通じて、対応する書き込み要求および/または読み取り要求に対する応答における書き込み動作および/または読み取り動作の間に、キャッシュメモリとして機能する、第1のタイプのストレージ内の一部のスペースを割り当てるように構成されている。ストレージ仮想化エンジンは、対応する書き込み要求および/または読み取り要求への応答に関連した待ち時間を減らすために、第1のタイプのストレージを通じて、書き込み動作および/または読み取り動作を実行することを可能にするように構成されている。書き込み動作中に、第2のタイプのストレージに書き込まれるデータは、第1のタイプのストレージにキャッシュされる。読み取り動作中には、第1のタイプのストレージでキャッシュされた最近書き込まれたデータ、または第2のタイプのストレージからのデータの一部は、そこから読み取る第1のタイプのストレージ内の適切なキャッシュ場所へ取り出される。
ここに開示されている方法およびシステムは、さまざまな局面を達成するために、いかなる手段をも使って実現することでき、機器によって実行された時に機器がここに開示されている動作のいずれかを実行することを引き起こす一連の命令を具体化する機械可読の媒体の形態において実行することが可能である。その他の特徴については、付属の図面と以下の詳細な説明により明らかとなる。
この発明の実施例は付属の図面において、例として示されるものであり、限定としてではない。図面においては類似した参照は類似の要素を示す。
1つ以上の実施例におけるストレージシステムの概略図である。 1つ以上の実施例における、分割された仮想ボリュームと、仮想ボリュームがマップされるストレージの種類とを示す図である。 1つ以上の実施例における、データの書き込みプロセスを示す図である。 1つ以上の実施例における、図3のデータの書き込みプロセスの後で、ライトバックキャッシュから適切なタイプのストレージへのデータの書き込みを示す図である。 1つ以上の実施例における、データ読み取りプロセスを示す図である。 1つ以上の実施例における、図2のイメージデータボリュームに関連した、最も以前に使われた(LRU)キャッシュの実現に関連する動作を詳細に示すフローチャートである。 1つ以上の実施例における、図1のストレージ システムの書き込み要求および/または読み取り要求に関連した待ち時間軽減の方法に関連する動作を詳細に示すプロセスフロー図である。 1つ以上の実施例における、図1のストレージシステムで書き込み動作および/または読み取り動作の実行に関連する動作を詳細に示すプロセスのフロー図である。
本願の実施例におけるその他の特徴については、付属の図面と以下の詳細な説明により明らかとなる。
ここに開示されるのは、ストレージ システムにおける書き込み要求および/または読み取り要求への応答に関連した待ち時間削減の方法、装置および/またはシステムである。本願の実施例は、特定の例によって記述されてはいるが、様々な実施例のより広範な趣旨と範囲から逸脱することなく、様々な修正および変更をこれらの実施例に行なうことができることは明らかであろう。
図1は、1つ以上の実施例における、ストレージシステム100を示す。1つ以上の実施例において、ストレージシステム100は、それに関連したデータを、1つ以上の「ストレージプール」に外部的に格納および/またはバックアップさせるように構成された1つ以上のホスト機器(例えば、ホスト機器1021−N)を含み得る。1つ以上の実施例においては、上記1つ以上のストレージプールの各々は、ソリッドステートドライブ(SSD)に基づくもの、ハードディスクドライブ(HDD)に基づくもの(HDDへのアクセスは、例えば、ファイバーチャネル(FC)プロトコル、シリアルアタッチドスモールコンピューターシステムインターフェイス(SAS)プロトコル、または、シリアルアドバンストテクノロジーアタッチメント(SATA)プロトコルに基づく)、リモートのインターネットスモールコンピューターシステムインターフェイス(iSCSI)ボリュームに基づくもの、リモートオブジェクトストレージに基づくもの、またはこれらの組み合わせであり得る。1つ以上の実施例においては、前記のドライブは、直接接続ディスク104またはローカルストレージアレイ106であり得る。
図1は、説明のための例としてドライブベースのストレージを構成する直接接続ディスク104とローカルストレージアレイ106の両方を示す。1つ以上の実施例においては、直接接続ディスク104およびローカルストレージアレイ106は、1つ以上のホスト機器(例えば、ホスト機器1021−N)と同じ場所にあり得る。図1は、また、1つ以上のホスト機器(例えば、ホスト機器1021−N)からリモートの場所にあるものとして、リモートiSCSIボリューム108とリモートオブジェクトストレージ110の両方を示す。1つ以上の実施例においては、リモートオブジェクトストレージ110は、ブロック機器としてのその表示を可能にするそれに関連したエミュレーションドライバーを必要とすることがある。
1つ以上の実施例においては、1つ以上のホスト機器(例えば、ホスト機器1021−N)は、それと関連したリモートストレージ(例えば、リモートiSCSIボリューム108、リモートオブジェクトストレージ110)とコンピューターネットワーク120を介して通信するように構成することができる。1つ以上の実施例においては、コンピューターネットワーク120は、ストレージエリアネットワーク(SAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、例えばインターネットなどの通信リンクを使用する仮想プライベート ネットワーク(VPN)、またはこれらの任意の組み合わせであり得る。1つ以上の実施例においては、1つ以上ホスト機器(例えば、ホスト機器1021−N)に関連したストレージ(例えば、直接接続ディスク104、ローカルストレージアレイ106)は、ネットワーク接続ストレージ(NAS)機器、または直接接続ストレージ(DAS)機器として1つ以上のホスト機器(例えば、ホスト機器1021−N)と直接通信することができる。
図1の実施例においては、ストレージ仮想化エンジン132は、コンピューターネットワーク120に結合することが可能であり、1つ以上のホスト機器(例えば、ホスト機器1021−N)に関連した記憶域をフレキシブルに、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、およびリモートオブジェクトストレージ110および/またはストレージアプリケーションに割り当てるように構成することが可能である。LSI(R)ストレージ仮想化マネージャーTM(SVMTM)は、ストレージ仮想化エンジン132の例であり得る。1つ以上の実施例においては、ストレージ仮想化エンジン132は、ストレージシステム100におけるストレージプールや、そこにおける仮想ボリュームの割り当ての一元管理を可能にすることができる。1つ以上の実施例においては、ストレージ仮想化エンジン132は、コンピューターネットワーク120と結合した物理装置を監視できることがある。1つ以上の実施例においては、物理装置は、ホスト機器(例えば、1つ以上のホスト機器1021−N)、および/または、1つ以上のストレージプールとして構成されたストレージ(例えば、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、および/または、リモートオブジェクトストレージ110)であり得る。本願にて用いられるストレージ仮想化エンジン132という用語は、ハードウェアまたはソフトウェアを意味し得る。
したがって、図1の実施例においては、ストレージ仮想化エンジン132は、それと関連したエージェントを通じてコンピューターネットワーク120に結合した、1つ以上のホスト機器(例えば、ホスト機器1021−N)、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、および/またはリモートオブジェクトストレージ110を監視するように構成することが可能である。1つの実施例においては、ストレージ仮想化エンジン132と関連したエージェントは、1つ以上のホスト機器(例えば、ホスト機器1021−N)にインストールされたグラフィカルユーザーインターフェイス(GUI)のツールであり得る。1つ以上の実施例においては、すべてのホスト機器(例えば、ホスト機器1021−N)ではないが、ある台数のホスト機器に、エージェントをインストールし得る。別の例では、エージェントは、ストレージシステム100の管理者に関連付けられるように構成されたホスト機器(例えば、ホスト機器1021−N)にのみインストールされ得る。さらにもう一つの例では、エージェントは、ストレージシステム100がその一部であるところのクラウドコンピューティング環境に関連したストレージサービスのカスタマーとして構成された1つ以上のホスト機器(例えば、ホスト機器1021−N)にインストールされ得る。
1つ以上の実施例においては、ストレージ仮想化エンジン132は、ストレージシステム100に関連したストレージプール、および/または、仮想ボリュームの割り当ての一元管理を可能にするように構成され得る。さらに、1つ以上の実施例においては、ストレージ仮想化エンジン132は、それと関連したホスト機器(例えば、ホスト機器1021−N)からボリューム情報を検索することと、読み取り/書き込み要求に応答して、1つ以上のホスト機器(例えば、ホスト機器1021−N)から入出力(I/O)をそれと関連したストレージ機器に直接ルーティングすることとを可能にするように構成され得る。
1つ以上の実施例においては、1つ以上のホスト機器(例えば、ホスト機器1021−N)は、ネットワークファイルシステム(NFS)プロトコル、共通インターネットファイルシステム(CIFS)プロトコル、およびiSCSIプロトコルを含む(ただしそれらに限定されない)プロトコルに関連したデータセットをサポートすることが可能である。図1の実施例においては、コンピューターネットワーク120は、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108およびリモートオブジェクトストレージ110と互換性のある適切なコントローラーを所有し得る。たとえば、独立ディスクの周辺コンポーネントインターコネクト(PCI)の重複配列(RAID)コントローラーは、直接接続ディスク104と互換性があり、FC/iSCSIコントローラーは、ローカルストレージアレイ106および/またはリモートiSCSIボリューム108と互換性があり得る。
上記で説明したように、リモートオブジェクトストレージ110は、それに関連したエミュレーションドライバーを有し得る。1つの実施例においては、エミュレーションドライバと、リモートオブジェクトストレージ110を含むクラウドと関連した、アプリケーションプログラミングインターフェイス(API)とを使用して、ローカルのブロック機器をエミュレートすることができる。従来のブロックストレージがクラウドに関連している別の実施例においては、クラウドと関連したベンダーはiSCSI論理ユニット番号(LUN)を有効化し、そのための適切なソフトウェアをインストールすることが可能である。
ストレージ仮想化エンジン132は、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108およびリモートオブジェクトストレージ110と関連したストレージアレイコントローラー上で実行するように構成することも可能であるということは明らかである。上述の修正は、実施例の範囲内にある。
1つ以上の実施例においては、1つ以上のストレージプール(例えば、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、リモートオブジェクトストレージ110)と関連したストレージアレイの仮想ボリュームのセグメント化は、ストレージ仮想化エンジン132を介して行うことが可能である。1つ以上の実施例においては、仮想ボリュームは、ストレージプール(例えば、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、リモートオブジェクトストレージ110)の1つ以上の構成要素の容量から派生することが可能である。1つ以上の実施例においては、仮想ボリュームのセグメント化に続いて、ストレージプール(例えば、直接接続ディスク104、ローカルストレージアレイ106、リモートiSCSIボリューム108、リモートオブジェクトストレージ110)の1つ以上の構成要素の格納場所への仮想ボリュームのマッピングを行うことができる。
1つ以上の実施例においては、ストレージ仮想化エンジン132は、仮想ボリュームを、ストレージプールに関連した第1のタイプのストレージにマップするように構成されたアクティブエリアと、ストレージプールに関連した第2のタイプのストレージにマップするように構成された非アクティブエリアとに分割するように構成することが可能である。1つ以上の実施例においては、ストレージ仮想化エンジン132は、基本データボリュームがストレージプールの1構成要素上に存在し得るとともに、イメージデータボリュームがストレージプールの別の構成要素上に存在し得るようにストレージプールに関連したデータボリュームを分割するように構成することが可能である。1つ以上の実施例においては、そこにエージェントをインストールした1つ以上のホスト機器(例えば、ホスト機器1021−N)におけるユーザーは、ストレージプールの上記1構成要素、および/または、上記別の構成要素を選択することができる。1つ以上の実施例においては、イメージデータボリュームは、基本データボリュームに関連したポイントインタイムイメージ(例えば、スナップショット)を含み得る。
図2は、1つ以上の実施例による、上記の分割された仮想ボリューム202と、仮想ボリューム202がマップされたタイプのストレージ(例えば、第1のタイプのストレージ204、第2のタイプのストレージ206)とを示す。1つ以上の実施例においては、上記に説明したように、仮想ボリューム202は、アクティブエリア212と非アクティブエリア214に分割されることができ、ストレージプールに関連したデータボリューム(図示せず)を、イメージデータボリューム222と基本データボリューム224に分割することが可能である。1つ以上の実施例においては、基本データボリューム224は、ホスト機器(例えば、ホスト機器1021−N)と関連したデータを含むことが可能である。上述のように、1つ以上の実施例においては、イメージデータボリューム222は、ホスト機器(例えば、ホスト機器1021−N)と関連したデータに対応するポイントインタイムイメージを含むことが可能である。
上述のように、1つ以上の実施例においては、アクティブエリア212を第1のタイプのストレージ204にマップすることができ、非アクティブエリア214を第2のタイプのストレージ206にマップすることが可能である。1つ以上の実施例においては、ストレージ仮想化エンジン132は、ストレージプールの第1のタイプのストレージ204でのイメージデータボリューム222の記憶と、第2のタイプのストレージ206での基本データボリューム224の記憶を可能にするように構成され得る。1つ以上の実施例においては、第1のタイプのストレージ204に常駐のイメージデータボリューム222は、データボリュームに関連したポイントインタイムイメージを格納するように構成することが可能である。1つ以上の実施例においては、上述のように、前記の格納場所は、ユーザーがアクセスすることができる。
1つ以上の実施例においては、ホスト機器(例えば、ホスト機器1021−N)のユーザーは、キャッシュの目的のためにそこに関連したローカルのストレージのスペースをいくらか割り当てることができる。リモートストレージは、クラウドサービスとしてユーザーに提供され得る。したがって、1つ以上の実施例においては、第1のタイプのストレージ204(イメージデータボリューム222を含む)は、キャッシュの目的に割り当てられたいくらかのスペースを含めることができ、第2のタイプのストレージ206は、リモートストレージであり得る。1つ以上の実施例においては、ユーザーは、それに関連したホスト機器(例えば、ホスト機器1021−N)からのデータ書き込み要求を開始することができる。図3は、1つ以上の実施例による、データ書き込み処理を図示する。1つ以上の実施例において、図3に示すように、ホスト機器(例えば、ホスト機器1021−N)で発生したデータ書き込み要求(例えば、書き込み要求302)がアクティブエリア212に関連付けられ得るとき、書き込み動作は、第1のタイプのストレージ204上で実行することができる。1つ以上の実施例においては、第1のタイプのストレージ204が第2のタイプのストレージ206よりも高い性能に関連している場合には、(例えば、ユーザーによって)そこに割り当てられたキャッシュは、ライトバックキャッシュとして利用されることが可能である。
図3に示されているように、1つ以上の実施例においては、書き込み動作(例えば、書き込み304)は、高い性能を持つ第1のタイプのストレージ204上で実行することが可能である。したがって、1つ以上の実施例においては、すべての書き込み要求(例えば、書き込み要求302)は、書き込み動作(例えば、書き込み304)が高速ストレージ(例えば、第1のタイプのストレージ204)上で実行されることによって、迅速に処理されることができる。1つ以上の実施例においては、キャッシュする目的のための高速ストレージ上のスペースをユーザー割り当てすることによって、最近書き込まれたデータに簡単にアクセスすることができる。
1つ以上の実施例においては、上述のように、第1のタイプのストレージ204は、ライトバックキャッシュを含むことが可能である。1つ以上の実施例においては、最近書き込まれたデータは、ライトバックキャッシュに格納され得て、そこを通じてアクセスすることが可能である。1つ以上の実施例においては、ホスト機器(例えば、ホスト機器1021−N)のアイドルサイクル中に、最近書き込まれたデータは、第2のタイプのストレージ206(例えば、基本データボリューム224)に書き込まれ得る。1つ以上の実施例においては、第2のタイプのストレージ206がリモートストレージであり、ホスト機器がコンピューターネットワーク120を介してそれと通信するように構成されている場合に、最近書き込まれたデータは、コンピュータネットワーク120に関連した状況(例えば、帯域幅の可用性が高い、トラフィックが少ない等、最適な状況において)も考慮に入れ、第2のタイプのストレージ206に書き込むことができる。1つ以上の実施例においては、ライトバックキャッシュにおける最近書き込まれたデータのポイントインタイムイメージは、第2のタイプのストレージ206に書き込む前に、ストレージ仮想化エンジン132を通過させることが可能である。図4は、第2のタイプのストレージ206へのライトバックキャッシュからのデータの書き込みを示す。
1つ以上の実施例においては、上述のように、ホスト機器(例えば、ホスト機器1021−N)のユーザーは、キャッシュの目的のためにそれに関連したローカルのストレージ内にスペースをいくらか割り当てることができる。リモートストレージは、ユーザーに提供されるクラウドサービスであり得る。したがって、1つ以上の実施例においては、第1のタイプのストレージ204(イメージデータボリューム222を含む)は、キャッシュの目的に割り当てられたいくらかスペースを含めることができ、第2のタイプのストレージ206は、リモートストレージであり得る。1つ以上の実施例においては、ユーザーは、それに関連したホスト機器(例えば、ホスト機器1021−N)からデータ読み込み要求を開始することができる。
図5は、1つ以上の実施例による、データ読み取りプロセスを図示する。1つ以上の実施例においては、少なくとも読み取り要求(例えば、読み取り要求502)への応答として、「読み取り専用」の代わりに、「不許可」状態を示すイメージデータボリューム222に格納されているポイントインタイムイメージに関連したマップを初期化するように、ストレージ仮想化エンジン132を構成することが可能である。したがって、1つ以上の実施例においては、読み取り要求502は、上述の「不許可」状態のためにフォールトすることがあり得る。1つ以上の実施例においては、読み取り要求502は、基本データボリューム224からの読み取り(例えば、読み取り504)、または、イメージデータボリューム222のキャッシュに最近書き込まれたデータの読み取りを行なうように指示されることができる。1つ以上の実施例においては、読み取り要求がフォールトすると、ストレージ仮想化エンジン132は、上述の部分が仮想ボリューム202のアクティブエリア212にマッピングされるか、非アクティブエリア214にマッピングされるかにかかわらず、基本データボリューム224またはイメージデータボリューム222からのデータの適切な部分のコピーを可能にするように構成され得る。
次に、1つ以上の実施例においては、データの適切な部分がコピーされる基本データボリューム224またはイメージデータボリューム222内のスペースは、使用されていないとマークされ得る。したがって、1つ以上の実施例においては、データの適切な部分が基本データボリューム224からコピーされる場合、データの適切な部分が基本データボリューム224から第1のタイプのストレージ204内のキャッシュ場所へ取り出され得る。1つ以上の実施例においては、データの適切な部分がイメージデータボリューム222からコピーされる場合、データの適切な部分がイメージデータボリューム222から第1のタイプのストレージ204の適切なキャッシュ場所へ取り出され得る。1つ以上の実施例においては、ポイントインタイムイメージは、ストレージ仮想化エンジン132を通じて作成/データアクセスの最近度の順で、イメージデータボリューム222内で上から下へ配列することが可能である。最も最近アクセスされたデータは、イメージデータボリューム222内で一番上の場所に対応し、最も以前にアクセスされたデータは、イメージデータボリューム222内で一番下の場所に対応する。
1つ以上の実施例においては、したがって、キャッシュに割り当てられた場所は読み取りキャッシュとして利用することが可能である。1つ以上の実施例においては、読み取られるデータの場所(例えば、基本データボリューム224、イメージデータボリューム222の下の部分)に関わらず、データは、イメージデータボリューム222の一番上に置かれて読み込まれることが可能である。したがって、1つ以上の実施例においては、ストレージプール上で最近読み込まれたエリア(例えば、データ部分)は、第2のタイプのストレージ206よりも高い性能を持ち得る、第1のタイプのストレージ204の性能をもって、アクセスすることが可能である。1つ以上の実施例においては、同じエリアへ繰り返しアクセスすると、リードキャッシュによって更に性能が強化され得る。1つ以上の実施例においては、第1のタイプのストレージ204においてキャッシュされた最近書き込まれたデータの部分、または第2のタイプのストレージ206からのデータは、読み取り動作の完了が成功した後、元の場所に解放することができる。
したがって、1つ以上の実施例においては、ストレージプール内の最近アクセスされたエリアは、その場所に関係なく第1のタイプのストレージ204へマップすることができる。1つ以上の実施例においては、ポイントインタイムイメージが頻繁に(例えば、定期的に)作成される場合には、イメージデータボリューム222の一番下の場所は、最も以前に使用されたデータのポイントインタイムイメージを保持することが可能であり、イメージデータボリューム222の一番上の場所は、最も最近使用されたデータのポイントインタイムイメージを保持することが可能である。したがって、1つ以上の実施例においては、下部のポイントインタイムイメージに関連した削除(または再同期)は、イメージデータボリューム222から最も以前のデータを破棄することになり得る。1つ以上の実施例においては、イメージデータボリューム222内の破棄されたポイントインタイムイメージに関連したデータは、基本データボリューム224において、そこに対応する元のデータに再同期することが可能である。
1つ以上の実施例においては、最も以前のポイントインタイムイメージは、イメージデータボリューム222において削除される代わりに、基本データボリューム224に移送することができる。図6は、1つ以上の実施例による、イメージデータボリューム222に関連した、最も以前に使われた(LRU)キャッシュの実行に関連する動作を詳細に示すフローチャートを示す。1つ以上の実施例においては、動作602は、データのポイントインタイムイメージを頻繁に(例えば、定期的に)イメージデータボリューム222内に作成することを伴うことがあり得る。1つ以上の実施例においては、動作604は、イメージデータボリューム222に関連したキャッシュメモリがしきい値を超えるかどうかをチェックすることを伴うことがあり得る。1つ以上の実施例において、しきい値を超える場合は、動作606は、基本データボリューム224内の空きスペースに下部のポイントインタイムイメージを再同期/移送することを伴うことがあり得る。1つ以上の実施例においては、しきい値を超えない場合は、制御は、動作602に進むことが可能である。
したがって、1つ以上の実施例においては、2つのストレージプール上のボリュームを、高速ストレージ容量(例えば、第1のタイプのストレージ204)がキャッシュの目的に利用され得る一方で、低速ストレージ容量(例えば、第2のタイプのストレージ206)がほとんどのデータを格納するために利用され得るように、割り当てる(例えば、ホスト機器(例えば、ホスト機器1021−N)におけるユーザーによって)ことができる。1つ以上の実施例においては、上記の手法を取り入れたストレージシステム100における読み取り要求と書き込み要求に関連した待ち時間を削減することができる。1つ以上の実施例においては、仮想ボリューム202は、あるストレージスペース上のストレージ仮想化エンジン132を通じて規定され、ポイントインタイムイメージは、より良い性能を持つ別のストレージスペースに格納されることがあり得る。したがって、1つ以上の実施例においては、ポイントインタイムイメージに関連したストレージは、データの残りの部分に対するキャッシュとして利用されることが可能である。1つ以上の実施例においては、ストレージ仮想化エンジン132は、性能を向上するために、上述のキャッシュにおけるデータの出入りを管理することができる。
図7は、1つ以上の実施例による、ストレージシステム100における書き込み要求および/または読み取り要求への応答に関連した待ち時間を削減する方法に伴う動作を詳細に示すプロセスフロー図を示す。1つ以上の実施例においては、動作702は、仮想ボリューム202を第1のタイプのストレージ204にマップするように構成されたアクティブエリア212と、第2のタイプのストレージ206にマップするように構成された非アクティブエリア214とに、ストレージ仮想化エンジン132を通じてセグメント化することを含む。1つ以上の実施例においては、第2のタイプのストレージ206は、ホスト機器に関連したデータを含むように構成することができ、第1のタイプのストレージ204は、ホスト機器に関連したデータに対応するポイントインタイムイメージを含むように構成することができる。1つ以上の実施例においては、第1のタイプのストレージ204は、第2のタイプのストレージ206よりも高い性能を提供することができ、また、ストレージ仮想化エンジン132は、仮想ボリューム202を第1のタイプのストレージ204と第2のタイプのストレージ206における格納場所にマップするように構成することができる。
1つ以上の実施例においては、動作704は、ホスト機器を通じた対応する書き込み要求および/または読み取り要求への応答としての書き込み動作および/または読み取り動作の際に、第1のタイプのストレージ204におけるスペースの一部をキャッシュメモリとして動作するように割り当てることを含み得る。1つ以上の実施例においては、動作706は、第1のタイプのストレージ204を通じた対応する書き込み動作および/または読み取り動作の実行を通じて、書き込み要求および/または読み取り要求への応答に関連した待ち時間を削減することを含み得る。
1つ以上の実施例においては、書き込み動作は、第1のタイプのストレージ204において、第2のタイプのストレージ206に書き込まれるデータをキャッシュすることを含み、読み取り動作は、第1のタイプのストレージ204でキャッシュされた最近書き込まれたデータまたは第2のタイプのストレージ206からのデータの一部を、そこから読み取る第1のタイプのストレージ204内の適切なキャッシュ場所へ取り出すことを含む。
図8は、1つ以上の実施例による、ストレージシステム100における読み取り動作および/または書き込み動作を実行することに伴う動作を詳細に示すプロセスフロー図を示す。1つ以上の実施例においては、動作802は、第1のタイプのストレージ204に、ホスト機器に関連したデータに対応するポイントインタイムイメージを格納することを伴い得る。1つ以上の実施例においては、動作804は、第2のタイプのストレージ206にホスト機器に関連したデータを格納することを伴い得る。1つ以上の実施例においては、第2のタイプのストレージ206は、第1のタイプのストレージ204よりも低い性能を提供することがある。
1つ以上の実施例においては、動作806は、ポイントインタイムイメージによって占有されたメモリがしきい値を超えた際に、第2のタイプのストレージ206に、ホスト機器と関連した最も以前にアクセスされたデータに対応する1つ以上のポイントインタイムイメージを再同期、または、移送することを伴い得る。1つ以上の実施例においては、動作808は、ストレージ仮想化エンジン132によって、第1のタイプのストレージ204にマップするように構成されたアクティブエリア212と、第2のタイプのストレージ206にマップするように構成された非アクティブエリア214に、仮想ボリューム202をセグメント化することを伴い得る。1つ以上の実施例においては、ストレージ仮想化エンジン132は、第1のタイプのストレージ204と第2のタイプのストレージ206内の格納場所へ、仮想ボリューム202をマップするように構成することが可能である。
1つ以上の実施例においては、動作810は、第1のタイプのストレージ204内の一部のスペースを、ホスト機器を通じた対応する書き込み要求および/または読み取り要求への応答としての書き込み動作および/または読み取り動作の際に、キャッシュメモリとして動作するように割り当てることを伴い得る。次に、1つ以上の実施例においては、動作812は、第1のタイプのストレージ204を通じて、書き込み動作および/または読み取り動作を実行することを伴い得る。1つ以上の実施例においては、書き込み動作は、第1のタイプのストレージ204において、第2のタイプのストレージ206に書き込まれるデータをキャッシュすることを含み、読み取り動作は、第1のタイプのストレージ204でキャッシュされた最近書き込まれたデータまたは第2のタイプのストレージ206からのデータの一部、そこから読み取る第1のタイプのストレージ204内の適切なキャッシュ場所へ取り出すことを含む。
本願の実施例は、特定の例によって記述されてはいるが、様々な実施例の広範な趣旨と範囲から逸脱することなく、様々な修正および変更をこれらの実施例に行なうことができることは明らかであろう。また、例えば、ここに記述された様々な機器およびモジュールは、ハードウェア回路(例えば、CMOSベースのロジック回路)、ファームウェア、ソフトウェア、または、ハードウェア、ファームウェアおよびソフトウェアの任意の組み合わせ(例えば、機械読み取り可能なメディアで具体化された)を使って、有効化し、動作することができる。
さらに、ここで開示された様々な動作、プロセス、および方法は、機械読み取り媒体および/またはデータ処理システム(例えば、コンピュータ装置)と互換性のあるマシンアクセス可能な媒体において具体化され得るとともに、任意の順序で実行することが可能である(たとえば様々な動作を実現するための手段を用いることを含む)ことが理解されるであろう。したがって、明細書および図面は、限定的なものとしてではなく、例示的ものとしてみなされるべきである。
100 ストレージシステム、102〜102N ホスト機器、104 直接接続ディスク、106 ローカルストレージアレイ、108 リモートISCSI ボリューム、110 リモートオブジェクトストレージ、132 ストレージ仮想化エンジン、202 仮想ボリューム、204 第1のタイプのストレージ、206 第2のタイプのストレージ、212 アクティブエリア、214 非アクティブエリア、222 イメージデータボリューム、224 基本データボリューム。

Claims (24)

  1. ・ストレージ仮想化エンジンによって、第1のタイプのストレージにマップするように構成されたアクティブエリアと、第2のタイプのストレージにマップするように構成された非アクティブエリアに、仮想ボリュームをセグメント化するステップであって、前記第2のタイプのストレージは、ホスト機器に関連したデータを含むように構成され、前記第1のタイプのストレージは、前記ホスト機器に関連したデータに対応するポイントインタイムイメージを含むように構成されており、前記第1のタイプのストレージは、前記第2のタイプのストレージよりも速いタイプであり、前記第1のタイプのストレージと前記第2のタイプのストレージは、共にアクティブ状態にあり、及び、前記ストレージ仮想化エンジンは、前記第1のタイプのストレージと前記第2のタイプのストレージ内の格納場所に前記仮想ボリュームをマップするように構成される、ステップと、
    ・前記第1のタイプのストレージ内のスペースの一部を、書き込み動作または読み取り動作の間に、前記ホスト機器を通じた対応する書き込み要求または読み取り要求に応答して、キャッシュメモリとして機能するように割り当てるステップと、
    ・前記読み取り要求がフォールトするような読み取り要求に応答して「不許可」状態を示すために、前記ストレージ仮想化エンジンによって、前記第1のタイプのストレージ内のポイントインタイムイメージに関連した読み取り専用マップを初期化するステップと、
    ・前記ストレージ仮想化エンジンによって、前記読み取り要求のフォールトに続いて、マッピングがアクティブエリアか非アクティブエリアかには関係なく、前記第1のタイプのストレージと前記第2のタイプのストレージの両方から、いずれか1つに存在するデータの適切な部分をコピーすることを可能にするステップと、
    ・前記書き込み要求または前記読み取り要求への応答に関連した待ち時間を、前記第1のタイプのストレージのみを通じて前記書き込み動作または前記読み取り動作を実行することにより削減するステップであって、前記データの適切な部分が前記第2のタイプのストレージまたは前記第1のタイプのストレージのいずれからコピーされるかには関係なく、前記書き込み動作は、前記第2のタイプのストレージに書き込まれるデータを、前記第1のタイプのストレージにキャッシュすることを含み、前記読み取り動作は、前記データの適切な部分を、前記第1のタイプのストレージ内の適切なキャッシュ場所に取り出すことで、前記キャッシュ場所から読み取ることを含む、ステップと、を備える、方法。
  2. さらに、前記ストレージ仮想化エンジンを通じて、前記第1のタイプのストレージに定期的に、前記ホスト機器に関連したデータに対応するポイントインタイムイメージを作成するステップを備える、請求項1に記載の方法。
  3. さらに、前記第1のタイプのストレージにおける前記ポイントインタイムイメージをデータアクセスの新しい順序に配置するステップを備える、請求項1に記載の方法。
  4. さらに、前記ポイントインタイムイメージによって占有されたメモリがしきい値を超えた際に、前記第2のタイプのストレージへ、前記ホスト機器に関連した最も以前にアクセスしたデータに対応する少なくとも1つのポイントインタイムイメージを再同期するステップおよび移送するステップのうちの1つのステップを備える、請求項3に記載の方法。
  5. さらに、前記適切なデータの一部を、前記読み取り動作の完了に成功した後で、元の場所に解放するステップを備える、請求項1に記載の方法。
  6. さらに、第1のタイプのストレージにキャッシュされたデータを、前記第2のタイプのストレージに前記ホスト機器のアイドルサイクル中に書き込むステップを備える、請求項1に記載の方法。
  7. 前記第1のタイプのストレージは、前記ホスト機器に関連したローカルストレージであり、前記第2のタイプのストレージは、前記ホスト機器に関連したリモートストレージである、請求項1に記載の方法。
  8. 前記第1のタイプのストレージは、直接接続ディスクおよびローカルストレージアレイのうちの1つであり、前記第2のタイプのストレージは、直接接続ディスク、ローカルストレージアレイ、リモートのインターネットスモールコンピューターシステムインターフェイス(iSCSI)ボリュームおよびリモートオブジェクトストレージのうちの1つである、請求項7に記載の方法。
  9. 前記ホスト機器は、コンピューターネットワークを介して前記第2のタイプのストレージに結合している、請求項7に記載の方法。
  10. ・ホスト機器に関連したデータに対応するポイントインタイムイメージを第1のタイプのストレージに格納するステップと、
    ・前記ホスト機器に関連したデータを、第2のタイプのストレージに格納するステップであって、前記第2のタイプのストレージは、前記第1のタイプのストレージより遅いタイプであり、前記第1のタイプのストレージと前記第2のタイプのストレージは、共にアクティブ状態にある、ステップと、
    ・前記ポイントインタイムイメージによって占有されたメモリがしきい値を超えた際に、前記第2のタイプのストレージへ、前記ホスト機器に関連した最も以前にアクセスしたデータに対応する少なくとも1つのポイントインタイムイメージを再同期するステップおよび移送するステップのうちの1つのステップと、
    ・ストレージ仮想化エンジンによって、前記第1のタイプのストレージにマップするように構成されたアクティブエリアと、前記第2のタイプのストレージにマップするように構成された非アクティブエリアに、仮想ボリュームをセグメント化するステップであって、前記ストレージ仮想化エンジンは、前記第1のタイプのストレージと前記第2のタイプのストレージ内の格納場所に、前記仮想ボリュームをマップするように構成される、ステップと、
    ・書き込み動作または読み取り動作の間に、前記ホスト機器による対応する書き込み要求または読み取り要求に応答して、前記第1のタイプのストレージ内のスペースの一部を、キャッシュメモリとして機能するように割り当てるステップと、
    ・前記読み取り要求がフォールトするような読み取り要求に応答して「不許可」状態を示すために、前記ストレージ仮想化エンジンによって、前記第1のタイプのストレージ内のポイントインタイムイメージに関連した読み取り専用マップを初期化するステップと、
    ・前記ストレージ仮想化エンジンによって、前記読み取り要求のフォールトに続いて、マッピングがアクティブエリアか非アクティブエリアかには関係なく、前記第1のタイプのストレージと前記第2のタイプのストレージの両方から、いずれか1つに存在するデータの適切な部分をコピーすることを可能にするステップと、
    ・前記書き込み動作または読み取り動作を前記第1のタイプのストレージのみを通じて実行するステップであって、前記データの適切な部分が前記第2のタイプのストレージまたは前記第1のタイプのストレージのいずれからコピーされるかには関係なく、前記書き込み動作は、前記第2のタイプのストレージに書き込むデータを前記第1のタイプのストレージにおいてキャッシュすることを含み、前記読み取り動作は、前記データの適切な部分を、前記第1のタイプのストレージの適切なキャッシュ場所へ取り出すことで、前記キャッシュ場所から読み取ることを含む、ステップと、を備える、方法。
  11. 前記ホスト機器は、コンピューターネットワークを介して前記第2のタイプのストレージに結合している、請求項10に記載の方法。
  12. さらに、前記第1のタイプのストレージにおける前記ポイントインタイムイメージをデータアクセスの新しい順序に配置するステップを備える、請求項10に記載の方法。
  13. さらに、前記適切なデータの一部を、前記読み取り動作の完了に成功した後で、元の場所に解放するステップを備える、請求項10に記載の方法。
  14. さらに、前記第1のタイプのストレージにキャッシュされたデータを、前記第2のタイプのストレージに前記ホスト機器のアイドルサイクル中に書き込むステップを備える、請求項10に記載の方法。
  15. 前記第1のタイプのストレージは、前記ホスト機器に関連したローカルストレージであり、前記第2のタイプのストレージは、前記ホスト機器に関連したリモートストレージである、請求項10に記載の方法。
  16. ・書き込み要求と読み取り要求を生成するように構成されたホスト機器と、
    ・前記ホスト機器に関連した第1のタイプのストレージと、
    ・前記ホスト機器に関連した第2のタイプのストレージであって、前記第2のタイプのストレージは、前記第1のタイプのストレージよりも遅いタイプであり、前記第1のタイプのストレージと前記第2のタイプのストレージは、共にアクティブ状態にある、第2のタイプのストレージと、及び、
    ・前記第1のタイプのストレージにマップするように構成されたアクティブエリア、および、前記第2のタイプのストレージにマップするように構成された非アクティブエリアに、前記第1のタイプのストレージと前記第2のタイプのストレージとの仮想ボリュームセグメント化を実行するように構成された、ストレージシステムにおけるストレージ管理に関連したストレージ仮想化エンジンであって、前記第2のタイプのストレージは、前記ホスト機器に関連したデータを含むように構成され、前記第1のタイプのストレージは、前記ホスト機器に関連したデータに対応するポイントインタイムイメージを含むように構成される、ストレージ仮想化エンジンと、を備えるストレージシステムであって、
    前記ホスト機器のユーザーは、書き込み動作または読み取り動作の間に、前記ホスト機器による前記書き込み要求および前記読み取り要求に応答して、前記第1のタイプのストレージ内のスペースの一部を、キャッシュメモリとして機能するように割り当てるように構成され、
    前記ストレージ仮想化エンジンは、
    ・前記読み取り要求がフォールトするような読み取り要求に応答して「不許可」状態を示すために、前記第1のタイプのストレージ内のポイントインタイムイメージに関連した読み取り専用マップを初期化するステップと、
    ・前記読み取り要求のフォールトに続いて、マッピングがアクティブエリアか非アクティブエリアかには関係なく、前記第1のタイプのストレージと前記第2のタイプのストレージの両方から、いずれか1つに存在する前記データの適切な部分をコピーすることを可能にするステップと、
    ・前記第1のタイプのストレージのみによって前記書き込み動作または前記読み取り動作の実行を可能にすることによって、対応する前記書き込み要求または前記読み取り要求への応答に関連した待ち時間を削減するステップと、を含むように構成され、
    前記書き込み動作中に、前記第2のタイプのストレージに書き込まれるデータは、前記第1のタイプのストレージにキャッシュされ、前記読み取り動作中に、前記第2のタイプのストレージ及び前記第1のタイプのストレージのいずれのタイプのストレージからコピーされるかには関係なく、前記データの適切な部分が、前記第1のタイプのストレージ内の適切なキャッシュ場所へ取り出すことで、前記キャッシュ場所から読み取られる、ストレージシステム。
  17. さらに、前記ストレージ仮想化エンジンを通じて、前記第1のタイプのストレージに定期的に、前記ホスト機器に関連したデータに対応するポイントインタイムイメージを作成するステップを備える、請求項16に記載のストレージシステム
  18. 前記ストレージ仮想化エンジンは、さらに、前記第1のタイプのストレージ内のポイントインタイムイメージをデータアクセスの新しい順序で配置するように構成される、請求項16に記載のストレージシステム。
  19. 前記ストレージ仮想化エンジンが、さらに、前記ポイントインタイムイメージによって占有されたメモリがしきい値を超えた際に、前記第2のタイプのストレージへ、前記ホスト機器に関連した最も以前にアクセスしたデータに対応する少なくとも1つのポイントインタイムイメージを再同期するステップおよび移送するステップのうちの1つのステップを備える、請求項18に記載のストレージシステム。
  20. 前記適切なデータの一部は、前記読み取り動作の完了が成功した後に、その元の場所に解放される、請求項16に記載のストレージシステム。
  21. 前記ホスト機器のアイドルサイクル中に、前記第1のタイプのストレージにキャッシュされたデータは、前記第2のタイプのストレージに書き込まれる、請求項16に記載のストレージシステム。
  22. 前記第1のタイプのストレージは、前記ホスト機器に関連したローカルストレージであり、前記第2のタイプのストレージは、前記ホスト機器に関連したリモートストレージである、請求項16に記載のストレージシステム。
  23. 前記第1のタイプのストレージは、直接接続ディスクおよびローカルストレージアレイの1つであり、前記第2のタイプのストレージは、直接接続ディスク、ローカルストレージアレイ、リモートiSCSIボリューム、およびリモートオブジェクトストレージの1つである、請求項22に記載のストレージシステム。
  24. 前記ストレージシステムは、さらに、前記第2のタイプのストレージを前記ホスト機器に結合するように構成されたコンピューターネットワークを含む、請求項22に記載のストレージシステム。
JP2011121870A 2010-11-08 2011-05-31 ストレージシステムにおける要求に対する応答に関連した待ち時間削減 Expired - Fee Related JP5813375B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/941,112 2010-11-08
US12/941,112 US8782335B2 (en) 2010-11-08 2010-11-08 Latency reduction associated with a response to a request in a storage system

Publications (2)

Publication Number Publication Date
JP2012104097A JP2012104097A (ja) 2012-05-31
JP5813375B2 true JP5813375B2 (ja) 2015-11-17

Family

ID=45062899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011121870A Expired - Fee Related JP5813375B2 (ja) 2010-11-08 2011-05-31 ストレージシステムにおける要求に対する応答に関連した待ち時間削減

Country Status (6)

Country Link
US (1) US8782335B2 (ja)
EP (1) EP2450784B1 (ja)
JP (1) JP5813375B2 (ja)
KR (1) KR20120050891A (ja)
CN (1) CN102467352B (ja)
TW (1) TWI488044B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2661678A1 (en) * 2011-05-31 2013-11-13 Hitachi, Ltd. Storage system and storage control method
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9811531B2 (en) 2013-08-26 2017-11-07 Vmware, Inc. Scalable distributed storage architecture
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US10747475B2 (en) 2013-08-26 2020-08-18 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network, wherein virtual disk objects are created from local physical storage of host computers that are running multiple virtual machines
US9887924B2 (en) 2013-08-26 2018-02-06 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
CN104516827B (zh) * 2013-09-27 2018-01-30 杭州信核数据科技股份有限公司 一种读缓存的方法及装置
JP2015166963A (ja) * 2014-03-04 2015-09-24 富士通株式会社 情報提供方法、装置及びプログラム
CN104503924B (zh) * 2014-12-16 2018-02-13 华为技术有限公司 一种分层存储系统中的区域分配方法及装置
KR102317787B1 (ko) 2015-02-11 2021-10-26 삼성전자주식회사 메시지 전송 플로우 관리 방법 및 이를 적용하는 스토리지 디바이스
US9747040B1 (en) * 2015-06-30 2017-08-29 EMC IP Holding Company LLC Method and system for machine learning for write command selection based on technology feedback
US10082963B2 (en) * 2016-04-18 2018-09-25 Super Micro Computer, Inc. Low capacity latency storage enclosure with expander
KR102546474B1 (ko) * 2016-04-25 2023-06-22 삼성전자주식회사 모바일 장치의 동작 방법 및 모바일 장치
CN107515723B (zh) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 用于管理存储系统中的存储器的方法和系统
US20220214946A1 (en) * 2021-01-04 2022-07-07 EMC IP Holding Company LLC Provider-agnostic management of backup data stored on a cloud-based object storage
KR102636910B1 (ko) * 2023-11-21 2024-02-15 주식회사 인텔렉투스 가상 머신을 이용한 엣지 디바이스 및 이를 이용한 데이터 처리 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875478A (en) * 1996-12-03 1999-02-23 Emc Corporation Computer backup using a file system, network, disk, tape and remote archiving repository media system
JP3033736B2 (ja) * 1998-06-18 2000-04-17 長野日本電気ソフトウェア株式会社 リモートディスク装置アクセスシステム
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
US20060013222A1 (en) 2002-06-28 2006-01-19 Brocade Communications Systems, Inc. Apparatus and method for internet protocol data processing in a storage processing device
JP2004334463A (ja) * 2003-05-07 2004-11-25 Sony Corp 情報処理装置、リソース提供システム、および情報処理方法、並びにコンピュータ・プログラム
US8627489B2 (en) * 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
JP2006155202A (ja) * 2004-11-29 2006-06-15 Toshiba Corp 遠隔バックアップシステム及び方法
US8171246B2 (en) * 2008-05-31 2012-05-01 Lsi Corporation Ranking and prioritizing point in time snapshots
CN101325610B (zh) * 2008-07-30 2011-12-28 杭州华三通信技术有限公司 虚拟磁带库备份系统以及磁盘电源控制方法
CN102177496A (zh) * 2008-08-07 2011-09-07 康佩伦特科技公司 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
US8301852B2 (en) * 2008-11-13 2012-10-30 International Business Machines Corporation Virtual storage migration technique to minimize spinning disks
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate

Also Published As

Publication number Publication date
EP2450784A2 (en) 2012-05-09
US8782335B2 (en) 2014-07-15
EP2450784B1 (en) 2018-05-02
JP2012104097A (ja) 2012-05-31
CN102467352A (zh) 2012-05-23
TW201220060A (en) 2012-05-16
US20120117320A1 (en) 2012-05-10
KR20120050891A (ko) 2012-05-21
CN102467352B (zh) 2016-04-13
TWI488044B (zh) 2015-06-11
EP2450784A3 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
JP5813375B2 (ja) ストレージシステムにおける要求に対する応答に関連した待ち時間削減
JP6709245B2 (ja) 適応持続性システム、方法、インタフェース
JP6564082B6 (ja) バーチャル環境におけるダイナミックストレージ階層化
US10248566B2 (en) System and method for caching virtual machine data
US9448728B2 (en) Consistent unmapping of application data in presence of concurrent, unquiesced writers and readers
US9697130B2 (en) Systems and methods for storage service automation
US10372371B2 (en) Dynamic data relocation using cloud based ranks
US9262097B2 (en) System and method for non-volatile random access memory emulation
US9778847B2 (en) Techniques for surfacing host-side storage capacity to virtual machines when performing VM suspend or snapshot operations
US11086535B2 (en) Thin provisioning using cloud based ranks
US11513849B2 (en) Weighted resource cost matrix scheduler
JP7495191B2 (ja) I/o性能を最適化するためのメモリ・コピーおよびメモリ・マッピング間の動的な切り替え
US11315028B2 (en) Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system
US11740928B2 (en) Implementing crash consistency in persistent memory

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130329

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150330

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20150408

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150916

R150 Certificate of patent or registration of utility model

Ref document number: 5813375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees