JP5150947B2 - Widespread distributed storage system - Google Patents
Widespread distributed storage system Download PDFInfo
- Publication number
- JP5150947B2 JP5150947B2 JP2010030428A JP2010030428A JP5150947B2 JP 5150947 B2 JP5150947 B2 JP 5150947B2 JP 2010030428 A JP2010030428 A JP 2010030428A JP 2010030428 A JP2010030428 A JP 2010030428A JP 5150947 B2 JP5150947 B2 JP 5150947B2
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- ise
- ises
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は一般に分散データ記憶システムの分野に関するものであって、より詳しくはデータの移動の目的で分散記憶システム内に記憶容量を広域に配置するための機器および方法に関するが、これに限定するものではない。 The present invention relates generally to the field of distributed data storage systems, and more particularly to, but not limited to, devices and methods for allocating storage capacity over a wide area within a distributed storage system for the purpose of data movement. is not.
産業標準構造のデータ転送速度がインテル(登録商標)社製の80386プロセッサのデータ・アクセス速度に追いつかなくなると、コンピュータ・ネットワーク化が急速に広まった。ネットワーク内のデータ記憶容量を強化することにより、ローカル・エリア・ネットワーク(LAN)は記憶エリア・ネットワーク(SAN)に発展した。SAN内の設備と、この設備が処理する関連するデータとを強化することにより、例えば直接付属する記憶装置より一回り大きな記憶を妥当なコストで処理することができるなどの非常に大きな利益をユーザは実現した。
最近の動向は、データ記憶サブシステムを制御するというネットワーク中心方式に移ってきた。すなわち、記憶を強化したのと同じようにして、記憶の機能を制御するシステムもサーバからネットワーク自身に移されている。例えば、ホスト・ベースのソフトウエアは、保全および管理の仕事をインテリジェント・スイッチにまたは専用のネットワーク記憶サービス・プラットフォームに任せる。機器ベースの方式を用いるのでホスト内で走るソフトウエアは必要でなくなり、またこの方式は企業内のノードとして設けられたコンピュータ内で動作する。いずれにしても、インテリジェント・ネットワーク方式は、記憶割当てルーチン、バックアップ・ルーチン、および耐故障性設計などの仕事をホストから独立して集中化することができる。
When the data transfer speed of the industry standard structure could not keep up with the data access speed of the 80386 processor manufactured by Intel (registered trademark), computer networking spread rapidly. By enhancing the data storage capacity in the network, the local area network (LAN) has evolved into a storage area network (SAN). By strengthening the equipment in the SAN and the associated data that this equipment processes, the user has the tremendous benefit of being able to process, for example, a memory that is a little larger than the storage device directly attached at a reasonable cost. Realized.
Recent trends have shifted to a network-centric approach to controlling the data storage subsystem. That is, the system for controlling the storage function is also moved from the server to the network itself in the same way as the storage is strengthened. For example, host-based software delegates maintenance and management tasks to intelligent switches or dedicated network storage service platforms. Since the device-based method is used, software running in the host is not necessary, and this method operates in a computer provided as a node in the enterprise. In any case, the intelligent network scheme can centralize tasks such as storage allocation routines, backup routines, and fault tolerant design independent of the host.
知能をホストからネットワークに移すことにより問題の一部は解決されるが、ホストへの仮想記憶の提示を変更することが一般に困難であるという固有の問題は解決されない。例えば、信頼性を高めるためには記憶されたデータを移す必要があり、また成長するネットワークに適応するためには記憶容量を追加する必要がある。このような場合は、新しいまたは変更された記憶空間が存在することが分かるようにホストまたはネットワークを変更しなければならない。必要なのは、それぞれのデータ記憶容量を自発的に決定して割当て、管理し、保護して、その容量を仮想記憶空間としてネットワークに提示して広域の記憶要求に適応するインテリジェント・データ記憶サブシステムである。この仮想記憶空間は多重記憶ボリュームとして配置することができる。分散計算環境では、かかるインテリジェント記憶装置を広域配置ならびに故障時の広域予備として用いる。本発明の実施の形態はこの方式に関するものである。 While moving the intelligence from the host to the network solves some of the problems, it does not solve the inherent problem that it is generally difficult to change the presentation of virtual memory to the host. For example, stored data needs to be transferred to increase reliability, and storage capacity needs to be added to adapt to a growing network. In such cases, the host or network must be changed so that a new or changed storage space exists. What is needed is an intelligent data storage subsystem that voluntarily determines, allocates, manages, and protects each data storage capacity and presents that capacity as a virtual storage space to the network to accommodate wide-area storage demands. is there. This virtual storage space can be arranged as a multiple storage volume. In a distributed computing environment, such an intelligent storage device is used as a wide area reserve and a wide area spare in case of failure. The embodiment of the present invention relates to this method.
本発明の実施の形態は、一般に広域配置能力を持つ分散記憶システムに関するものである。
或る実施の形態では、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続可能な仮想エンジンを備えるデータ記憶システムを提供する。またこのデータ記憶システムは、アクセス・コマンドを渡すために仮想エンジンはユニークにアドレス指定できる複数のインテリジェント記憶要素を有する。インテリジェント記憶要素は、アクセス・コマンドが同時に仮想エンジンと第1のインテリジェント記憶要素との間で渡されていることとは独立に、データを第1のインテリジェント記憶要素から第2のインテリジェント記憶要素に移す。
或る実施の形態では、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移す方法を提供する。
或る実施の形態では、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、インテリジェント記憶要素の間でデータを移す手段とを備えるデータ記憶装置を提供する。
本発明の特徴を示すこれらの機能や利点は以下の詳細な説明を読みまた関連する図面を参照すれば明らかになる。
Embodiments of the present invention generally relate to a distributed storage system having a wide area allocation capability.
In one embodiment, a data storage system is provided that includes a virtual engine connectable to a remote device over a network for passing access commands between the remote device and a storage space. The data storage system also has a plurality of intelligent storage elements that the virtual engine can uniquely address to pass access commands. The intelligent storage element moves data from the first intelligent storage element to the second intelligent storage element independently of the access commands being simultaneously passed between the virtual engine and the first intelligent storage element. .
In one embodiment, a method is provided for processing access commands between a virtual engine and an intelligent storage element and simultaneously transferring data from the intelligent storage element to another storage space.
In one embodiment, a data storage device is provided that includes a plurality of intelligent storage elements that can be individually addressed by a virtual engine and means for moving data between the intelligent storage elements.
These features and advantages which characterize the present invention will become apparent upon reading the following detailed description and upon reference to the associated drawings.
図1は本発明の実施の形態が有用である例示のコンピュータ・システム100である。1台以上のホスト102が、ローカル・エリア・ネットワーク(LAN)および/またはワイド・エリア・ネットワーク(WAN)106を介して1台以上のネットワーク付属のサーバ(NAS)104にネットワーク接続されている。好ましくは、LAN/WAN106は、ワールド・ワイド・ウェブにより通信するためにインターネット・プロトコル(IP)ネットワーキング・インフラストラクチャを用いる。ホスト102は、サーバ104内に常駐して多数のインテリジェント記憶要素(ISE)108の1台以上に記憶されたデータを日常的に必要とするアプリケーションにアクセスする。このため、記憶されたデータにアクセスできるようにSAN110はサーバ104をISE108に接続する。ISE108は直列ATAやファイバ・チャネルなどの種々の選択された通信プロトコルによりデータを記憶するデータ記憶容量109のブロックを備え、その中に企業クラスまたはデスクトップ・クラスの記憶媒体を含む。
FIG. 1 is an
図2は、図1のコンピュータ・システム100の簡単な線図である。ホスト102は、ネットワークまたは構造110を介して相互におよび1対のISE108(それぞれAおよびBで示す)と情報を交換する。各ISE108は二重冗長コントローラ112(A1,A2およびB1,B2で示す)を含む。好ましくはコントローラ112は、独立ドライブの冗長アレイ(RAID)として特徴づけられる一組のデータ記憶装置であるデータ記憶容量109に作用する。コントローラ112およびデータ記憶容量109は好ましくは耐故障性配置を用いるので、種々のコントローラ112は並列の冗長なリンクを用い、システム100内に記憶されるユーザ・データの少なくとも一部はデータ記憶容量109の少なくとも一組内に冗長形式で記憶される。
FIG. 2 is a simplified diagram of the
更に、Aホスト・コンピュータ102およびA−ISE108は物理的に第1のサイトにあり、Bホスト・コンピュータ102およびB−ISE108は物理的に第2のサイトにあり、Cホスト・コンピュータ102は更に第3のサイトにあってよい。ただしこれは単なる例であって、限定するものではない。分散コンピュータ・システム上の全てのエンティティは或るタイプのコンピュータ・ネットワークにより接続される。
In addition, A
図3は本発明の実施の形態に従って構築されたISE108を示す。棚114は、コントローラ112を受けて係合して中央板116と電気的に接続するための空洞を定義する。棚114はキャビネット(図示しない)内に支持される。棚114は1対の多重ディスク組立体(MDA)118を中央板116の同じ側に受けて係合する。中央板116の反対側には、緊急電源である二重電池122、二重交流電源124、および二重インターフェース・モジュール126が接続する。好ましくは、二重構成要素ではMDA118の一方または両方が同時に動作するので、1つの構成要素が故障した場合はバックアップ保護を行うことができる。
FIG. 3 shows an ISE 108 constructed in accordance with an embodiment of the present invention. The
図4は本発明の或る実施の形態に従って構築されたMDA118の拡大部分組立分解等角図である。MDA118は上部130と下部132とを有し、それぞれは5個のデータ記憶装置128を支持する。区画130,132は、中央板116(図3)と係合するコネクタ136を有する共通回路板134と接続できるようにデータ記憶装置128を揃える。カバー138は電磁妨害を遮蔽する。MDA118のこの例示の実施の形態は、特許出願10/884,605、「多重ディスク・アレイの搬送装置および方法(Carrier Device and Method for a Multiple Disc Array)」の主題である。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。MDAの別の例示の実施の形態は同じタイトルの特許出願10/817,378の主題である。これも本発明の被譲渡人に譲渡されたものであって、ここに援用する。後で説明するが、別の同等の実施の形態では、密閉された容器内にMDA118を収めてよい。
FIG. 4 is an enlarged partial exploded isometric view of
図5は、本発明の実施の形態で用いるのに適した、回転する媒体ディスク・ドライブの形の例示のデータ記憶装置128の等角図である。以下の説明のために、動くデータ記憶媒体と共に回転するスピンドルを用いるが、別の同等の実施の形態では、固体メモリ装置などの非回転媒体装置を用いる。データ記憶ディスク140はモータ142により回転して、ディスク140のデータ記憶位置を読取り/書込みヘッド(単に「ヘッド」と呼ぶ)143に提示する。ヘッド143は、ディスク140の内側と外側のトラックの間にヘッド143を半径方向に動かす回転アクチュエータ144の先端に支持される。ヘッド143は可撓回路146により回路板145に電気的に接続する。回路板145はデータ記憶装置128の機能を制御する制御信号を受けたり送ったりする。コネクタ148は回路板145に電気的に接続し、データ記憶装置128とMDA118の回路板134(図4)とを接続する。
FIG. 5 is an isometric view of an exemplary
図6は本発明の実施の形態に従って構築されたISE108の線図である。コントローラ112はインテリジェント記憶プロセッサ(ISP)150と共に動作してデータの完全性の信頼性を管理する。ISP150は、コントローラ112内、MDA118内、またはISE108内のどこか別のところに常駐してよい。
FIG. 6 is a diagram of
管理された信頼性の態様はRAID方式などの信頼できるデータ記憶フォーマットを作ることを含む。例えば、複数の異なるRAIDフォーマットの選択された1つを選択的に用いるシステムを形成することによりデータ記憶のための比較的強いシステムを作り、またMDA118を管理するのに用いるソフトウエアの複雑さを軽減すると共に記憶の故障状態から比較的速く回復できるようにファームウエア・アルゴリズムを最適にすることができる。この多重RAIDフォーマット・システムのこれらの態様は、特許出願10/817,264、「記憶媒体データ構造および方法(Storage Media Data Structure and Method)」に記述されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
Managed reliability aspects include creating a reliable data storage format such as a RAID scheme. For example, creating a relatively strong system for data storage by forming a system that selectively uses a selected one of a plurality of different RAID formats, and reduces the complexity of the software used to manage the
管理された信頼性は、システムを監視して使用することに基づく診断および訂正ルーチンのスケジューリングも含んでよい。データ回復の方法はデータをコピーしまた再構築することで行う。ISP150は、データを失わずにデータ記憶容量全体を「自己治癒」しやすくするようにしてMDA118と共に組み込む。ここで考えた管理された信頼性のこれらの態様は、特許出願10/817,617、「管理された信頼性の記憶システムおよび方法(Managed Reliability Storage System and Method)」に開示されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。管理された信頼性の他の態様は、予め決められた規則に関する予測的故障表示への応答の速さを含む。これは例えば、特許出願11/040,410、「分散記憶システムにおける予測された故障からの決定論的な予防的回復(Deterministic Preventive Recovery From a Predicted Failure in a Distributed Storage System)」に開示されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
Managed reliability may also include diagnostic and correction routine scheduling based on monitoring and using the system. Data recovery is performed by copying and reconstructing data.
図7は1対の冗長なISP150が常駐するISP回路板152を示す線図である。ISP150は、データ記憶容量109とSAN構造110とをインターフェースする。各ISP150は、経路選択、ボリューム管理、およびデータ移動および複製などの種々の記憶サービスを管理してよい。ISP150はISP回路板152を、バス158により結合される2つのISPサブシステム154,156に分割する。ISPサブシステム154は「B」で示すISP150を含む。これはリンク160によりSAN構造110に、またリンク162によりデータ記憶容量109に接続する。ISPサブシステム154は実時間オペレーティング・システムを実行するポリシー・プロセッサ164も含む。ISP150とポリシー・プロセッサ164とはバス166により通信し、また両者はメモリ168と通信する。
FIG. 7 is a diagram illustrating an
図8は、本発明の実施の形態に従って構築された例示のISPサブシステム154の線図である。ISP150は、クロス・ポイント・スイッチ(CPS)186メッセージ・クロスバーを介してリスト・マネージャ182,184と通信する多数の機能コントローラ(170−180)を含む。このように、機能コントローラ(170−180)は所定の条件に応じてそれぞれCPSメッセージを生成し、CPS186を通してこのメッセージをリスト・マネージャ182,184に送り、メモリ・モジュールにアクセスしたりISP150の活動を起こしたりしてよい。同様に、リスト・マネージャ182,184からの応答はCPS186を介して機能コントローラ(170−180)のどれかに送ってよい。図8の配置および関連する説明は例であって、本発明の考えられる実施の形態を制限するものでなない。
FIG. 8 is a diagram of an
ポリシー・プロセッサ164は、ISP150を介して望ましい動作を実行するようプログラムすることができる。例えば、ポリシー・プロセッサ164はCPS186を介してリスト・マネージャ182,184と通信して(すなわち、メッセージを送りまた受けて)よい。ポリシー・プロセッサ164への応答は、メモリ168レジスタの読取りを知らせる割込みとして働いてよい。
図9は、インテリジェント・コントローラ112により、予め選択された複数の通信プロトコル(FC、iSCSI、またはSASなど)のどれかでホスト102と通信するISE108の優れた柔軟性を示す線図である。ISE108は、ホスト・コマンドの取出しレベルを確認し、これに従ってコマンドに関連する物理的記憶109に仮想記憶ボリュームをマップするようプログラムしてよい。
FIG. 9 is a diagram illustrating the superior flexibility of the
本発明の目的では、「仮想記憶ボリューム」という用語は、物理的記憶の論理的取出しに一般に対応する論理エンティティを意味する。「仮想記憶ボリューム」は、例えば、固定のブロック構造内の連続的にアドレス指定されたアドレス・ブロックまたはカウント・キー・データ(count−key−data)構造内の記録であるかのように(論理的に)扱われるエンティティを含んでよい。仮想記憶ボリュームは物理的に2台以上の記憶要素上にあってよい。 For the purposes of the present invention, the term “virtual storage volume” means a logical entity that generally corresponds to the logical retrieval of physical storage. A “virtual storage volume” is, for example, a record in a continuously addressed address block or count-key-data structure in a fixed block structure (logical May include the entity being handled). A virtual storage volume may physically reside on more than one storage element.
図10は、任意のホスト102と独立にISE108が行ってよいデータ管理サービスのタイプを示す線図である。例えば、耐故障性のデータの完全性のためにRAID管理を局所で制御して、データのストライピングを望ましい数のデータ記憶装置1281,1282,1283,...,128n内で行ってよい。仮想化サービスを局所で制御して、メモリ容量を論理エンティティに割り当てたり割り当てを外したりしてよい。上に説明した管理された信頼性方式や同じISE108内の論理ボリュームの間のデータの移動などのアプリケーション・ルーチンも同様に局所で制御してよい。この記述およびクレームの目的では、「移動」という用語はデータを原始から宛先に移すことにより、移動完了の一部として原始のデータをなくすことを指す。これはデータを「コピーする」こととは逆で、コピーの場合はデータを原始から宛先に複写する。ただし、宛先では別の名前になる。
FIG. 10 is a diagram showing the types of data management services that the
図11は、アクセス・コマンド(I/Oコマンド)をホスト装置102と複数のISE108との間で渡すために仮想エンジン200がSAN106により遠隔ホスト装置102と通信する、というデータ記憶システム100の実施の形態を示す。各ISE108は、アクセス・コマンドを渡すために仮想エンジン200がユニークにアドレス指定できる2つのポート202,204および206,208を有する。データ転送ボトルネックを作らずにデータ移動を促進するため、以下にこの実施の形態が、ホスト・アクセス・コマンドの処理とは独立に、同時にISE108の間でデータを移す方法を説明する。また、データを移すときのデータ転送速度を変えることにより、システム100のアプリケーション性能への影響を最適にすることができる。
FIG. 11 illustrates an implementation of the
ISE108−1では、ISP150はデータ記憶装置128の物理的データ・パック212に関する論理ボリューム210を作成する。説明のために、データ・パック212の記憶容量の40%を論理ボリューム210内の論理ディスク214に割り当てたと仮定する。やはり説明のために、データ・パック212および以下の全ての他のデータ・パックは、データ記憶のための8個のデータ記憶装置128と2個の予備データ記憶装置128とを含むと仮定する。更に図11から認識されるように、ISE108−1では他方のデータ・パック216は93%を論理ディスク218に割り当て、ISE108−2ではデータ・パック220,222は論理ディスク224,226にそれぞれ30%および40%を割り当てたと仮定する。
In ISE 108-1, the
仮想エンジン200は論理ディスク214から論理ボリューム224を作成し、またホストからの記憶空間の要求に応じて論理ディスク226を作成してこれをホスト102にマップした。
The
上に述べたように、各ISE108内のISP150は、記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始する。例えば、ISE108−1はデータ・パック212内の記憶装置128の故障を検出すると、故障した記憶装置128を直ちにラインから外す。故障した記憶装置128からのデータはデータ・パック212の予備容量の最初の10%上にコピーするかまたは再構築して、冗長性が働く状態を回復する。次にISE108−1は、故障した記憶装置128の中に自発的な再較正または再製作により回復できる部分があるかどうか判断する。
As noted above, the
最初の故障した記憶装置128が全く回復不可能であると仮定して、更にISE108−1の第2の記憶装置128の故障が発生した場合は、これもラインから外してそのデータをデータ・パック212の予備容量の最後の10%上にコピーするかまたは再構築する。
Assuming that the first failed
第2の故障した記憶装置128が第1と同様に回復不可能であると仮定して、更にISE108−1の第3の記憶装置128の故障が発生した場合は、ISE108−1が必要とする予備容量の割当ては20%を超える。この条件でISE108−1の運転を続けると冗長性が部分的に失われる恐れがある。好ましくは、完全に冗長性を回復するようにISE108−1の運転を落として、適当なときに取り替えるよう計画する。
Assuming that the second failed
一方で、この実施の形態はISE108−1が内部だけでなく異なる仮想記憶ボリュームにわたって割り当てることを考える。この場合は、好ましくはISE108−1は割当て可能な空間があるかどうか内部の他方のデータ・パック216を調べる。しかしこの場合は、データ・パック216はすでに93%が割り当てられているのでデータ・パック212の予備とするのに必要な容量はない。しかしISE108−2内のデータ・パック220,222は共にデータ・パック212の予備とするのに必要な利用可能な容量を有する。
On the other hand, this embodiment considers that ISE 108-1 allocates not only inside but also across different virtual storage volumes. In this case, preferably ISE 108-1 checks the other internal data pack 216 for space available for allocation. However, in this case, since 93% of the
図12は、ISE108−1内のISP150が外部に論理ディスク230を作成して、運転を落とした記憶装置128に関連する論理ディスク214からここにデータを移したことを示す。認識されるように、データの移動によりホスト102とISE108−1との間のアクセス・コマンドI/Oは必ずしも中断されない。データ移動が完了すると、論理ディスク230のデータ経路を仮想エンジン200に変更する間ホスト102との通信を一時的に凍結し、次に図13に示すように仮想エンジン200はI/O経路を切り換えて、ISE108−2内の新たに移動したデータにI/O経路を導く。こうすれば、I/Oサービスを中断せずにデータ・パック212を取り替えることができる。
FIG. 12 shows that the
図14は、本発明の実施の形態に係る広域予備化の方法250のステップの流れ図である。方法250はブロック252で開始し、ISE108は通常のI/Oモードで処理中である。ブロック254で、最後のI/Oコマンドの処理が終わったかどうか判定する。終わった場合はこの方法は終了する。終わらない場合は制御はブロック256に進み、ISE108がデータ・パックの故障を検出したかどうか判定する。ブロック256の判定がノーの場合は、ブロック252で通常のI/O処理を続ける。以下同じである。
FIG. 14 is a flowchart of the steps of a wide
ブロック256の判定がイエスの場合は制御はブロック258に進み、故障のデータ・パック内に十分な予備容量が存在するかどうか判定する。データ・パック212の記憶装置が故障した上の例の場合は、ブロック258ではデータ・パック212自身を調べる。言い換えると、予備容量があるかどうか「局所で」調べる。ブロック258の判定がイエスの場合は、ブロック260でISP150は局所のLUNを割り当て、ブロック262で故障のデータ・パックから局所のLUNにデータを移し、制御はブロック252に戻る。
If the determination at
ブロック258の判定がノーの場合は制御はブロック264に進み、同じISE108内の別のデータ・パック内に予備容量が存在するかどうか、言い換えると、予備容量が「内部に」存在するかどうか、判定する。ブロック264の判定がイエスの場合は、ブロック266でISPは内部のLUNを割り当て、ブロック268で故障のデータ・パックから内部のLUNにデータを移し、制御はブロック252に戻る。
If the determination at
ブロック264の判定がノーの場合は制御はブロック270に進み、別のISE108内のデータ・パック内に予備容量が存在するかどうか、言い換えると予備容量が「外部に」存在するかどうか、判定する。ブロック270の判定がイエスの場合はブロック272でISPは外部のLUNを割り当て、ブロック274で故障のデータ・パックから外部のLUNにデータを移し、制御はブロック252に戻る。
If the determination in
しかしブロック270の判定がノーの場合は予備容量が存在せず、制御はブロック276に進んで、データ・パックの運転を落とし、保全計画をたてる。次に制御はブロック252に戻る。
However, if the determination at
最後に、図15は図4と同様の図であるが、複数のデータ記憶装置128および回路板134は、ベース190とこれに付属する密閉カバー192とで形成される密閉容器内に収められる。MDA118Aを形成するデータ記憶装置128を密閉して係合すると、データ記憶装置128の配置が予め選択された最適配置から変わることがないなどの種々の利点がある。またデータ記憶装置128の数、サイズ、タイプを明確に定義できる場合は、かかる配置によりMDA118Aの製作者は最適性能になるようにシステムを調整することができる。
Finally, FIG. 15 is a view similar to FIG. 4, but a plurality of
またMDA118Aを密閉すると、製作者は内部の記憶媒体のグループの信頼性および耐故障性を最大にすることができると同時に、MDA118Aの寿命がある限りほとんどサービスをしなくてよい。これは、多スピンドル配置のドライブを最適化することにより行う。設計の最適化により、コストが下がり、性能が向上し、信頼性が向上し、MDA118A内のデータの寿命が一般に延びる。更に、MDA118A自体の設計により回転振動がほとんどなくなり、冷却効率の高い環境が得られる。これは出願中の米国特許出願11/145,404、「強化されたRVIを持つ記憶アレイ(Storage Array with Enhanced RVI)」の主題である。これは本出願の被譲渡人に譲渡されている。これにより、MDA118の信頼性、性能、または容量を落とさずに内部の記憶媒体を低コストで製作することができる。このようにMDA118Aを密閉すると、単点故障がなくなり、回転振動の除去と冷却効率がほとんど完全になる。これにより、ディスク媒体特性が最適になるようにMDA118Aを設計し、コストを下げ、同時に信頼性および性能を高めることができる。
Sealing the
要約すると、複数の回転可能なスピンドルを含む分散記憶システム用の内蔵のISEを提供する。各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。ISEは更に、分散記憶システムの遠隔装置が用いるように仮想記憶ボリュームを複数の媒体にマップするISPを含む。 In summary, a built-in ISE for a distributed storage system including a plurality of rotatable spindles is provided. Each spindle supports a storage medium in proximity to the independently moving actuator, which stores and retrieves data from and to the storage medium. The ISE further includes an ISP that maps virtual storage volumes to multiple media for use by remote devices in a distributed storage system.
或る実施の形態では、ISEは共通の密閉されたハウジング内に収められた複数のスピンドルおよび媒体を有する。好ましくは、ISPはRAID方式などの故障に耐える方法でデータを記憶するために仮想記憶ボリューム内にメモリを割り当てる。更にISPはデータ記憶プロセス中に、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始するなどの管理された信頼性方式を実行することができる。好ましくは、ISEは、それぞれが2個以上のディスクのデータ記憶媒体から形成されディスク・スタックを有する複数のデータ記憶装置で形成する。 In some embodiments, the ISE has a plurality of spindles and media housed in a common sealed housing. Preferably, the ISP allocates memory in the virtual storage volume for storing data in a manner that is resistant to failure, such as a RAID scheme. In addition, during the data storage process, the ISP can implement a managed reliability scheme, such as voluntarily initiating a deterministic preventive recovery step upon detecting a predicted storage failure. Preferably, the ISE is formed of a plurality of data storage devices each having a disk stack formed from two or more disk data storage media.
別の実施の形態では、ISEは、内蔵の複数の離散的データ記憶装置と、データ記憶装置と通信して遠隔装置から受信したコマンドを取り出してこれに関係するメモリを関連付けるISPとを備える分散記憶システムに用いる。好ましくは、分散記憶システムの1つ以上の遠隔装置が用いるために、ISPは仮想記憶ボリュームを複数のデータ記憶装置にマップする。前と同様に、複数のデータ記憶装置および媒体は共通の密閉されたハウジング内に収めてよい。好ましくは、RAID方式などの故障に耐える方法でデータを記憶するために、ISPは仮想記憶ボリューム内にメモリを割り当てる。更にISPは、予測された記憶の故障を検出するとデータ記憶装置内で決定論的な予防的回復ステップを自発的に開始する。 In another embodiment, the ISE includes a distributed storage comprising a plurality of built-in discrete data storage devices and an ISP that communicates with the data storage devices to retrieve commands received from remote devices and associate memory associated therewith. Used in the system. Preferably, the ISP maps a virtual storage volume to a plurality of data storage devices for use by one or more remote devices of the distributed storage system. As before, a plurality of data storage devices and media may be contained in a common sealed housing. Preferably, the ISP allocates memory in the virtual storage volume to store the data in a manner that resists failures, such as a RAID scheme. In addition, the ISP voluntarily initiates a deterministic preventive recovery step within the data storage device when it detects a predicted storage failure.
別の実施の形態では、ホストと、ネットワークによりホストと通信する後部記憶サブシステムと、ホストに無関係に内蔵の記憶容量を仮想化する手段とを備える分散記憶システムを提供する。 In another embodiment, a distributed storage system is provided that includes a host, a rear storage subsystem that communicates with the host over a network, and means for virtualizing built-in storage capacity regardless of the host.
仮想化する手段は、複数の離散的で個別にアクセス可能なデータ記憶ユニットを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットに関連する記憶容量の仮想ブロックをマップすることを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットおよび関連する制御を密閉して収めることを特徴としてよい。仮想化する手段は、限定されないがRAID方式などの故障に耐える方法でデータを記憶することを特徴としてよい。仮想化する手段は、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始することを特徴としてよい。仮想化する手段は、多重スピンドル・データ記憶アレイを特徴としてよい。 The means for virtualizing may feature a plurality of discrete and individually accessible data storage units. The means for virtualizing may map virtual blocks of storage capacity associated with a plurality of data storage units. The means for virtualizing may be characterized by enclosing a plurality of data storage units and associated controls. The means for virtualizing is not limited, but may be characterized in that data is stored in a method that can withstand failures such as a RAID system. The means for virtualizing may be characterized by voluntarily initiating a deterministic preventive recovery step upon detecting a predicted memory failure. The means for virtualizing may feature multiple spindle data storage arrays.
ここの目的では、「仮想化する手段」という用語は、それぞれのデータ記憶サブシステム以外のどこかにデータ記憶空間をマップするためのシステム知能を含む前に試みた解決策を明白には考えない。例えば、「仮想化する手段」は記憶マネージャを用いてデータ記憶サブシステムの機能を制御することは考えないし、またSAN構造内またはホスト内にマネージャまたはスイッチを置くことも考えない。 For the purposes here, the term “means to virtualize” does not explicitly consider previously attempted solutions, including system intelligence to map the data storage space somewhere other than the respective data storage subsystem. . For example, “virtualizing means” does not consider using a storage manager to control the functions of the data storage subsystem, nor does it consider placing a manager or switch in the SAN structure or in the host.
またはこの実施の形態は、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続する仮想エンジンを備えるデータ記憶システムを特徴とする。データ記憶システムは更に、アクセス・コマンドを渡すために仮想エンジンがユニークにアドレス指定できる複数のインテリジェント記憶要素(ISE)を有する。仮想エンジンと第1のISEとの間でアクセス・コマンドが渡されていることとは独立に、同時にISEは第1のISEから第2のISEにデータを移す。 Alternatively, this embodiment features a data storage system that includes a virtual engine connected to the remote device over a network for passing access commands between the remote device and the storage space. The data storage system further includes a plurality of intelligent storage elements (ISEs) that the virtual engine can uniquely address to pass access commands. Independently of the access command being passed between the virtual engine and the first ISE, the ISE simultaneously transfers data from the first ISE to the second ISE.
或る実施の形態では、各ISEは複数の回転可能なスピンドルを有し、各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。複数のスピンドルおよび媒体は共通の密閉されたハウジング内に収めてよい。 In one embodiment, each ISE has a plurality of rotatable spindles, each spindle supporting a storage medium proximate to an independently moving actuator, and the actuator stores data to and from the storage medium. Search. Multiple spindles and media may be contained in a common sealed housing.
各ISEは仮想記憶ボリュームを複数の媒体にマップして管理するためのプロセッサを有する。各ISEプロセッサは、好ましくは複数の異なる独立ドライブの冗長アレイ(RAID)方式の選択された1つなどの故障に耐える方法でデータを記憶するために仮想記憶容量内にメモリを割り当てる。 Each ISE has a processor for mapping and managing virtual storage volumes to a plurality of media. Each ISE processor preferably allocates memory within the virtual storage capacity to store data in a manner that tolerates failures, such as a selected one of a plurality of different independent drive redundant array (RAID) schemes.
各ISEプロセッサは記憶の故障を検出すると決定論的な予防的回復ステップを自発的に行ってよい。これを行うとき、各ISEプロセッサは記憶の故障を検出すると第2の仮想記憶容量を割り当ててよい。或る実施の形態では、各ISEプロセッサは異なるISE内に第2の仮想記憶容量を割り当てる。 Each ISE processor may voluntarily perform a deterministic preventive recovery step upon detecting a memory failure. When doing this, each ISE processor may allocate a second virtual storage capacity upon detecting a memory failure. In some embodiments, each ISE processor allocates a second virtual storage capacity in a different ISE.
この実施の形態は更に、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移すための方法として特徴づけられる。 This embodiment is further characterized as a method for processing access commands between a virtual engine and an intelligent storage element and simultaneously transferring data from the intelligent storage element to another storage space.
処理するステップは、インテリジェント記憶要素が仮想記憶ボリュームを内蔵の物理的記憶にマップして管理することを特徴としてよい。好ましくは移すステップは、記憶の故障を検出するとインテリジェント記憶要素が決定論的な予防的回復ステップを自発的に開始することを特徴とする。 The processing step may be characterized in that the intelligent storage element maps and manages the virtual storage volume to the built-in physical storage. Preferably the transferring step is characterized in that upon detecting a memory failure, the intelligent storage element spontaneously initiates a deterministic preventive recovery step.
移すステップは、記憶の故障を検出するとインテリジェント記憶要素が第2の仮想記憶ボリュームを割り当てることを特徴としてよい。或る実施の形態では、移すステップは、処理するステップで仮想エンジンが異なるアドレスを指定した物理的記憶に関して第2の仮想記憶ボリュームを割り当てることを特徴とする。例えば、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の内部に割り当てることを特徴としてよい。または、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の外部に割り当てることを特徴としてよい。すなわち、移すステップは、第2のインテリジェント記憶要素内に第2の仮想記憶ボリュームを割り当てることを特徴としてよい。 The transferring step may be characterized in that the intelligent storage element allocates a second virtual storage volume upon detecting a storage failure. In one embodiment, the transferring step is characterized in that the virtual engine allocates a second virtual storage volume for physical storage that has specified a different address in the processing step. For example, the transferring step may be characterized by allocating a second virtual storage volume within the intelligent storage element. Alternatively, the transferring step may be characterized by allocating the second virtual storage volume outside of the intelligent storage element. That is, the transferring step may be characterized by allocating a second virtual storage volume within the second intelligent storage element.
処理するステップは、メモリを割り当てて故障に耐える方法でデータを記憶することを特徴としてよい。また処理するステップは、共通の密閉されたハウジング内でデータを転送しながらデータ転送要素および記憶媒体を互いに動かすことを特徴としてよい。 The processing step may be characterized by allocating memory and storing the data in a manner that resists failure. The processing step may also be characterized by moving the data transfer element and the storage medium relative to each other while transferring the data within a common sealed housing.
またはこの実施の形態は、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、データをインテリジェント記憶要素の間で移す手段とを備えるデータ記憶システム特徴とする。この記述およびクレームの目的では、ここに説明した構造およびその同等物に関して「移す手段」という用語は、ホストのアクセス・コマンドに関連する通常のI/Oコマンド処理を中断せずにデータを或る論理ユニットから別の論理ユニットに移すことを意味する。 Alternatively, this embodiment features a data storage system comprising a plurality of intelligent storage elements that can be individually addressed by a virtual engine and means for moving data between intelligent storage elements. For the purposes of this description and claims, the term “means of transferring” with respect to the structures described herein and the like is used to refer to data without interrupting normal I / O command processing associated with host access commands. This means moving from one logical unit to another.
理解されるように、これまでの記述で本発明の種々の実施の形態の多くの特徴および利点を、本発明の種々の実施の形態の構造および機能の詳細と共に述べたが、この詳細な記述は単なる例示であって、詳細に関しては、特に本発明の原理内の部分の構造および配置に関してクレームを表現する用語の広い一般的な意味で示す範囲で、変更を行ってよい。例えば、本発明の精神と範囲から逸れない限り特定の要素を特定の処理環境に従って変えてよい。 As will be appreciated, while the foregoing description has set forth many features and advantages of various embodiments of the invention, along with details of the structure and function of the various embodiments of the invention, this detailed description Are merely exemplary, and modifications may be made in details, particularly within the broad general meaning of the terms expressing the claims, regarding the structure and arrangement of portions within the principles of the invention. For example, certain elements may be varied according to a particular processing environment without departing from the spirit and scope of the present invention.
更に、ここに述べた実施の形態はデータ記憶アレイに関するものであるが、当業者が認識するように、クレームされた主題はこれに限定されるものではなく、本発明の精神および範囲から逸れない限り種々の他の処理システムを用いてよい。 Further, although the embodiments described herein relate to data storage arrays, as those skilled in the art will recognize, the claimed subject matter is not so limited and does not depart from the spirit and scope of the invention. Various other processing systems may be used as long as they are.
本出願は2005年6月3日に出願されて本出願の被譲渡人に譲渡された米国出願番号11/145,403の一部継続出願である。 This application is a continuation-in-part of US Application No. 11 / 145,403, filed June 3, 2005 and assigned to the assignee of the present application.
102 遠隔装置(ホスト)
108 インテリジェント記憶要素(ISE)
109 記憶空間
200 仮想エンジン
102 Remote device (host)
108 Intelligent Storage Element (ISE)
109
Claims (4)
アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークを介して前記遠隔装置に接続可能な仮想エンジンと、
複数のインテリジェント記憶要素(ISE)であって、各々の該ISEが、協調して前記記憶空間を定義するデータ記憶装置を有し、各々の前記ISEが、第1の論理的な記憶位置から異なる第2の論理的な記憶位置へとデータを選択的に移動させるように構成され、選択的な前記移動は、前記遠隔装置や任意のネットワーク装置に基づくものではなく、全て各々の前記ISEに存在するコントローラによって実行される処理命令に基づくものであり、各々の前記ISE内の記憶装置の検出された故障に応答して、予備の記憶容量が存在するか否かを決定し、該決定の結果に基づいて、記憶されたデータを前記第1の論理的な記憶位置から前記第2の論理的な記憶位置へ移動する、前記ISEと、
を含む、前記データ記憶システム。 A data storage system,
A virtual engine connectable to the remote device over a network for passing access commands between the remote device and the storage space;
A plurality of intelligent storage elements (ISEs), each of the ISEs having a data storage device that cooperatively defines the storage space, each of the ISEs differing from a first logical storage location Configured to selectively move data to a second logical storage location, wherein the selective movement is not based on the remote device or any network device, but is present in each of the ISEs. In response to a detected failure of a storage device in each of the ISEs, and determining whether there is a spare storage capacity and the result of the determination Moving the stored data from the first logical storage location to the second logical storage location based on:
The data storage system comprising:
前記処理するステップの間に、各々の前記ISEが個々に、前記記憶装置の1つの故障を予測する予防的回復ステップを自発的に開始し、前記予測に応じて、各々の前記ISEの別の記憶装置に予備の記憶容量が存在するか否かを決定するステップと、
前記決定するステップに応じて、前記ネットワークを介する各々の前記ISEに対するコマンドであって、移すステップを実行することを決定する前記コマンドがない場合に、各々の前記ISEが、データを前記記憶空間の第1の論理的な記憶位置から前記記憶空間の異なる第2の論理的な記憶位置へ移すステップと、
を含む、方法。 Processing an access command to a storage space over a network from a remote device to a plurality of intelligent storage elements (ISEs), each of the ISEs cooperating to define the storage space Said processing step comprising an apparatus;
During the processing step, each of the ISEs individually initiates a proactive recovery step that predicts one failure of the storage device, and in response to the prediction, Determining whether there is spare storage capacity in the storage device;
In response to the step of determining, if there is no command for each of the ISEs over the network that determines to perform the step of transferring, each of the ISEs stores data in the storage space. Moving from a first logical storage location to a different second logical storage location in the storage space;
Including a method.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/478,028 | 2006-06-29 | ||
US11/478,028 US7984258B2 (en) | 2005-06-03 | 2006-06-29 | Distributed storage system with global sparing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007173121A Division JP4530372B2 (en) | 2006-06-29 | 2007-06-29 | Widespread distributed storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010157257A JP2010157257A (en) | 2010-07-15 |
JP5150947B2 true JP5150947B2 (en) | 2013-02-27 |
Family
ID=39117959
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007173121A Expired - Fee Related JP4530372B2 (en) | 2006-06-29 | 2007-06-29 | Widespread distributed storage system |
JP2010030428A Expired - Fee Related JP5150947B2 (en) | 2006-06-29 | 2010-02-15 | Widespread distributed storage system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007173121A Expired - Fee Related JP4530372B2 (en) | 2006-06-29 | 2007-06-29 | Widespread distributed storage system |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP4530372B2 (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2923702B2 (en) * | 1991-04-01 | 1999-07-26 | 株式会社日立製作所 | Storage device and data restoration method thereof |
US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
JP2005018193A (en) * | 2003-06-24 | 2005-01-20 | Hitachi Ltd | Interface command control method for disk device, and computer system |
JP2005115506A (en) * | 2003-10-06 | 2005-04-28 | Hitachi Ltd | Storage system |
JP4426262B2 (en) * | 2003-11-26 | 2010-03-03 | 株式会社日立製作所 | Disk array device and failure avoiding method for disk array device |
JP2005266933A (en) * | 2004-03-16 | 2005-09-29 | Fujitsu Ltd | Storage management system and storage management method |
US7065611B2 (en) * | 2004-06-29 | 2006-06-20 | Hitachi, Ltd. | Method for controlling storage policy according to volume activity |
US7058731B2 (en) * | 2004-08-03 | 2006-06-06 | Hitachi, Ltd. | Failover and data migration using data replication |
US7062624B2 (en) * | 2004-09-29 | 2006-06-13 | Hitachi, Ltd. | Method for managing volume groups considering storage tiers |
US7689767B2 (en) * | 2004-09-30 | 2010-03-30 | Symantec Operating Corporation | Method to detect and suggest corrective actions when performance and availability rules are violated in an environment deploying virtualization at multiple levels |
-
2007
- 2007-06-29 JP JP2007173121A patent/JP4530372B2/en not_active Expired - Fee Related
-
2010
- 2010-02-15 JP JP2010030428A patent/JP5150947B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008027437A (en) | 2008-02-07 |
JP2010157257A (en) | 2010-07-15 |
JP4530372B2 (en) | 2010-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7984258B2 (en) | Distributed storage system with global sparing | |
JP4986045B2 (en) | Failover and failback of write cache data in dual active controllers | |
US7966449B2 (en) | Distributed storage system with global replication | |
US7133967B2 (en) | Storage system, controller, control method and program product therefor | |
JP3714613B2 (en) | Storage device, information processing device including the storage device, and information storage system recovery method | |
JP4294142B2 (en) | Disk subsystem | |
US6571354B1 (en) | Method and apparatus for storage unit replacement according to array priority | |
US7181578B1 (en) | Method and apparatus for efficient scalable storage management | |
US7913038B2 (en) | Distributed storage system with accelerated striping | |
JP5057741B2 (en) | Storage device | |
US6880101B2 (en) | System and method for providing automatic data restoration after a storage device failure | |
US7600152B2 (en) | Configuring cache memory from a storage controller | |
JP4939205B2 (en) | Apparatus and method for reconfiguring a storage array located in a data storage system | |
US8745326B2 (en) | Request priority seek manager | |
US10572188B2 (en) | Server-embedded distributed storage system | |
US8381027B1 (en) | Determining alternate paths in faulted systems | |
JPH09269871A (en) | Data re-redundancy making system in disk array device | |
JP2005190036A (en) | Storage controller and control method for storage controller | |
US10915405B2 (en) | Methods for handling storage element failures to reduce storage device failure rates and devices thereof | |
JP5594942B2 (en) | Preferred zone scheduling | |
JPH07261945A (en) | Disk array device and disk array dividing method | |
JP5150947B2 (en) | Widespread distributed storage system | |
JP2006344218A (en) | Computer system centering on storage | |
JP2008016028A (en) | Distributed storage system with wide area replication | |
JP2007018539A (en) | Disk array control device, and disk array control unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100618 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120523 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5150947 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |