広域予備化した分散記憶システム
【課題】記憶の広域配置能力を持つ分散記憶システムにおいて、ネットワークのインテリジェント記憶要素(ISE)が行ったデータの移動や変更をホストに提示する装置および方法を提供する。
【解決手段】アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続可能な仮想エンジンを備える装置および方法を提供する。データ記憶システムは、アクセス・コマンドを渡すために仮想エンジンがユニークにアドレス指定できる複数のISEを有する。アクセス・コマンドが同時に仮想エンジンと第1のISEとの間で渡されていることとは独立に、データを第1のISEから第2のISEに移す。
【解決手段】アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続可能な仮想エンジンを備える装置および方法を提供する。データ記憶システムは、アクセス・コマンドを渡すために仮想エンジンがユニークにアドレス指定できる複数のISEを有する。アクセス・コマンドが同時に仮想エンジンと第1のISEとの間で渡されていることとは独立に、データを第1のISEから第2のISEに移す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に分散データ記憶システムの分野に関するものであって、より詳しくはデータの移動の目的で分散記憶システム内に記憶容量を広域に配置するための機器および方法に関するが、これに限定するものではない。
【背景技術】
【0002】
産業標準構造のデータ転送速度がインテル(登録商標)社製の80386プロセッサのデータ・アクセス速度に追いつかなくなると、コンピュータ・ネットワーク化が急速に広まった。ネットワーク内のデータ記憶容量を強化することにより、ローカル・エリア・ネットワーク(LAN)は記憶エリア・ネットワーク(SAN)に発展した。SAN内の設備と、この設備が処理する関連するデータとを強化することにより、例えば直接付属する記憶装置より一回り大きな記憶を妥当なコストで処理することができるなどの非常に大きな利益をユーザは実現した。
最近の動向は、データ記憶サブシステムを制御するというネットワーク中心方式に移ってきた。すなわち、記憶を強化したのと同じようにして、記憶の機能を制御するシステムもサーバからネットワーク自身に移されている。例えば、ホスト・ベースのソフトウエアは、保全および管理の仕事をインテリジェント・スイッチにまたは専用のネットワーク記憶サービス・プラットフォームに任せる。機器ベースの方式を用いるのでホスト内で走るソフトウエアは必要でなくなり、またこの方式は企業内のノードとして設けられたコンピュータ内で動作する。いずれにしても、インテリジェント・ネットワーク方式は、記憶割当てルーチン、バックアップ・ルーチン、および耐故障性設計などの仕事をホストから独立して集中化することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願番号10/884,605号
【特許文献2】米国特許出願番号10/817,378号
【特許文献3】米国特許出願番号10/817,264号
【特許文献4】米国特許出願番号10/817,617号
【特許文献5】米国特許出願番号11/040,410号
【特許文献6】米国特許出願番号11/145,404号
【特許文献7】米国特許出願番号11/145,403号
【発明の概要】
【発明が解決しようとする課題】
【0004】
知能をホストからネットワークに移すことにより問題の一部は解決されるが、ホストへの仮想記憶の提示を変更することが一般に困難であるという固有の問題は解決されない。例えば、信頼性を高めるためには記憶されたデータを移す必要があり、また成長するネットワークに適応するためには記憶容量を追加する必要がある。このような場合は、新しいまたは変更された記憶空間が存在することが分かるようにホストまたはネットワークを変更しなければならない。必要なのは、それぞれのデータ記憶容量を自発的に決定して割当て、管理し、保護して、その容量を仮想記憶空間としてネットワークに提示して広域の記憶要求に適応するインテリジェント・データ記憶サブシステムである。この仮想記憶空間は多重記憶ボリュームとして配置することができる。分散計算環境では、かかるインテリジェント記憶装置を広域配置ならびに故障時の広域予備として用いる。本発明の実施の形態はこの方式に関するものである。
【課題を解決するための手段】
【0005】
本発明の実施の形態は、一般に広域配置能力を持つ分散記憶システムに関するものである。
或る実施の形態では、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続可能な仮想エンジンを備えるデータ記憶システムを提供する。またこのデータ記憶システムは、アクセス・コマンドを渡すために仮想エンジンはユニークにアドレス指定できる複数のインテリジェント記憶要素を有する。インテリジェント記憶要素は、アクセス・コマンドが同時に仮想エンジンと第1のインテリジェント記憶要素との間で渡されていることとは独立に、データを第1のインテリジェント記憶要素から第2のインテリジェント記憶要素に移す。
或る実施の形態では、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移す方法を提供する。
或る実施の形態では、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、インテリジェント記憶要素の間でデータを移す手段とを備えるデータ記憶装置を提供する。
本発明の特徴を示すこれらの機能や利点は以下の詳細な説明を読みまた関連する図面を参照すれば明らかになる。
【図面の簡単な説明】
【0006】
【図1】図1は、本発明の実施の形態が有用であるコンピュータ・システムの線図である。
【図2】図2は、図1のコンピュータ・システムの簡単な線図である。
【図3】図3は、本発明の実施の形態に従って構築されたインテリジェント記憶要素の組立分解等角図である。
【図4】図4は、図3のインテリジェント記憶要素の多重ディスク・アレイの部分的組立分解等角図である。
【図5】図5は、図4の多重ディスク・アレイに用いられる例示のデータ記憶装置である。
【図6】図6は、図3のインテリジェント記憶要素の機能的ブロック図である。
【図7】図7は、図3のインテリジェント記憶要素のインテリジェント記憶プロセッサ回路板の機能的ブロック図である。
【図8】図8は、図3のインテリジェント記憶要素のインテリジェント記憶プロセッサの機能的ブロック図である。
【図9】図9は、図3のインテリジェント記憶要素が行うコマンド取出しおよび関連するメモリ・マッピング・サービスの機能的ブロック図表現である。
【図10】図10は、図3のインテリジェント記憶要素が行う別の例示のデータ・サービスの機能的ブロック図である。
【図11】図11は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図12】図12は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図13】図13は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図14】図14は、本発明の実施の形態に係る広域予備化の方法を実行するステップの流れ図である。
【図15】図15は、図3と同様であるが、密閉された容器の中にデータ記憶装置および回路板を収めるものを示す図である。
【発明を実施するための形態】
【0007】
図1は本発明の実施の形態が有用である例示のコンピュータ・システム100である。1台以上のホスト102が、ローカル・エリア・ネットワーク(LAN)および/またはワイド・エリア・ネットワーク(WAN)106を介して1台以上のネットワーク付属のサーバ(NAS)104にネットワーク接続されている。好ましくは、LAN/WAN106は、ワールド・ワイド・ウェブにより通信するためにインターネット・プロトコル(IP)ネットワーキング・インフラストラクチャを用いる。ホスト102は、サーバ104内に常駐して多数のインテリジェント記憶要素(ISE)108の1台以上に記憶されたデータを日常的に必要とするアプリケーションにアクセスする。このため、記憶されたデータにアクセスできるようにSAN110はサーバ104をISE108に接続する。ISE108は直列ATAやファイバ・チャネルなどの種々の選択された通信プロトコルによりデータを記憶するデータ記憶容量109のブロックを備え、その中に企業クラスまたはデスクトップ・クラスの記憶媒体を含む。
【0008】
図2は、図1のコンピュータ・システム100の簡単な線図である。ホスト102は、ネットワークまたは構造110を介して相互におよび1対のISE108(それぞれAおよびBで示す)と情報を交換する。各ISE108は二重冗長コントローラ112(A1,A2およびB1,B2で示す)を含む。好ましくはコントローラ112は、独立ドライブの冗長アレイ(RAID)として特徴づけられる一組のデータ記憶装置であるデータ記憶容量109に作用する。コントローラ112およびデータ記憶容量109は好ましくは耐故障性配置を用いるので、種々のコントローラ112は並列の冗長なリンクを用い、システム100内に記憶されるユーザ・データの少なくとも一部はデータ記憶容量109の少なくとも一組内に冗長形式で記憶される。
【0009】
更に、Aホスト・コンピュータ102およびA−ISE108は物理的に第1のサイトにあり、Bホスト・コンピュータ102およびB−ISE108は物理的に第2のサイトにあり、Cホスト・コンピュータ102は更に第3のサイトにあってよい。ただしこれは単なる例であって、限定するものではない。分散コンピュータ・システム上の全てのエンティティは或るタイプのコンピュータ・ネットワークにより接続される。
【0010】
図3は本発明の実施の形態に従って構築されたISE108を示す。棚114は、コントローラ112を受けて係合して中央板116と電気的に接続するための空洞を定義する。棚114はキャビネット(図示しない)内に支持される。棚114は1対の多重ディスク組立体(MDA)118を中央板116の同じ側に受けて係合する。中央板116の反対側には、緊急電源である二重電池122、二重交流電源124、および二重インターフェース・モジュール126が接続する。好ましくは、二重構成要素ではMDA118の一方または両方が同時に動作するので、1つの構成要素が故障した場合はバックアップ保護を行うことができる。
【0011】
図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を収めてよい。
【0012】
図5は、本発明の実施の形態で用いるのに適した、回転する媒体ディスク・ドライブの形の例示のデータ記憶装置128の等角図である。以下の説明のために、動くデータ記憶媒体と共に回転するスピンドルを用いるが、別の同等の実施の形態では、固体メモリ装置などの非回転媒体装置を用いる。データ記憶ディスク140はモータ142により回転して、ディスク140のデータ記憶位置を読取り/書込みヘッド(単に「ヘッド」と呼ぶ)143に提示する。ヘッド143は、ディスク140の内側と外側のトラックの間にヘッド143を半径方向に動かす回転アクチュエータ144の先端に支持される。ヘッド143は可撓回路146により回路板145に電気的に接続する。回路板145はデータ記憶装置128の機能を制御する制御信号を受けたり送ったりする。コネクタ148は回路板145に電気的に接続し、データ記憶装置128とMDA118の回路板134(図4)とを接続する。
【0013】
図6は本発明の実施の形態に従って構築されたISE108の線図である。コントローラ112はインテリジェント記憶プロセッサ(ISP)150と共に動作してデータの完全性の信頼性を管理する。ISP150は、コントローラ112内、MDA118内、またはISE108内のどこか別のところに常駐してよい。
【0014】
管理された信頼性の態様はRAID方式などの信頼できるデータ記憶フォーマットを作ることを含む。例えば、複数の異なるRAIDフォーマットの選択された1つを選択的に用いるシステムを形成することによりデータ記憶のための比較的強いシステムを作り、またMDA118を管理するのに用いるソフトウエアの複雑さを軽減すると共に記憶の故障状態から比較的速く回復できるようにファームウエア・アルゴリズムを最適にすることができる。この多重RAIDフォーマット・システムのこれらの態様は、特許出願10/817,264、「記憶媒体データ構造および方法(Storage Media Data Structure and Method)」に記述されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
【0015】
管理された信頼性は、システムを監視して使用することに基づく診断および訂正ルーチンのスケジューリングも含んでよい。データ回復の方法はデータをコピーしまた再構築することで行う。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)」に開示されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
【0016】
図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と通信する。
【0017】
図8は、本発明の実施の形態に従って構築された例示のISPサブシステム154の線図である。ISP150は、クロス・ポイント・スイッチ(CPS)186メッセージ・クロスバーを介してリスト・マネージャ182,184と通信する多数の機能コントローラ(170−180)を含む。このように、機能コントローラ(170−180)は所定の条件に応じてそれぞれCPSメッセージを生成し、CPS186を通してこのメッセージをリスト・マネージャ182,184に送り、メモリ・モジュールにアクセスしたりISP150の活動を起こしたりしてよい。同様に、リスト・マネージャ182,184からの応答はCPS186を介して機能コントローラ(170−180)のどれかに送ってよい。図8の配置および関連する説明は例であって、本発明の考えられる実施の形態を制限するものでなない。
【0018】
ポリシー・プロセッサ164は、ISP150を介して望ましい動作を実行するようプログラムすることができる。例えば、ポリシー・プロセッサ164はCPS186を介してリスト・マネージャ182,184と通信して(すなわち、メッセージを送りまた受けて)よい。ポリシー・プロセッサ164への応答は、メモリ168レジスタの読取りを知らせる割込みとして働いてよい。
【0019】
図9は、インテリジェント・コントローラ112により、予め選択された複数の通信プロトコル(FC、iSCSI、またはSASなど)のどれかでホスト102と通信するISE108の優れた柔軟性を示す線図である。ISE108は、ホスト・コマンドの取出しレベルを確認し、これに従ってコマンドに関連する物理的記憶109に仮想記憶ボリュームをマップするようプログラムしてよい。
【0020】
本発明の目的では、「仮想記憶ボリューム」という用語は、物理的記憶の論理的取出しに一般に対応する論理エンティティを意味する。「仮想記憶ボリューム」は、例えば、固定のブロック構造内の連続的にアドレス指定されたアドレス・ブロックまたはカウント・キー・データ(count−key−data)構造内の記録であるかのように(論理的に)扱われるエンティティを含んでよい。仮想記憶ボリュームは物理的に2台以上の記憶要素上にあってよい。
【0021】
図10は、任意のホスト102と独立にISE108が行ってよいデータ管理サービスのタイプを示す線図である。例えば、耐故障性のデータの完全性のためにRAID管理を局所で制御して、データのストライピングを望ましい数のデータ記憶装置1281,1282,1283,...,128n内で行ってよい。仮想化サービスを局所で制御して、メモリ容量を論理エンティティに割り当てたり割り当てを外したりしてよい。上に説明した管理された信頼性方式や同じISE108内の論理ボリュームの間のデータの移動などのアプリケーション・ルーチンも同様に局所で制御してよい。この記述およびクレームの目的では、「移動」という用語はデータを原始から宛先に移すことにより、移動完了の一部として原始のデータをなくすことを指す。これはデータを「コピーする」こととは逆で、コピーの場合はデータを原始から宛先に複写する。ただし、宛先では別の名前になる。
【0022】
図11は、アクセス・コマンド(I/Oコマンド)をホスト装置102と複数のISE108との間で渡すために仮想エンジン200がSAN106により遠隔ホスト装置102と通信する、というデータ記憶システム100の実施の形態を示す。各ISE108は、アクセス・コマンドを渡すために仮想エンジン200がユニークにアドレス指定できる2つのポート202,204および206,208を有する。データ転送ボトルネックを作らずにデータ移動を促進するため、以下にこの実施の形態が、ホスト・アクセス・コマンドの処理とは独立に、同時にISE108の間でデータを移す方法を説明する。また、データを移すときのデータ転送速度を変えることにより、システム100のアプリケーション性能への影響を最適にすることができる。
【0023】
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%を割り当てたと仮定する。
【0024】
仮想エンジン200は論理ディスク214から論理ボリューム224を作成し、またホストからの記憶空間の要求に応じて論理ディスク226を作成してこれをホスト102にマップした。
【0025】
上に述べたように、各ISE108内のISP150は、記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始する。例えば、ISE108−1はデータ・パック212内の記憶装置128の故障を検出すると、故障した記憶装置128を直ちにラインから外す。故障した記憶装置128からのデータはデータ・パック212の予備容量の最初の10%上にコピーするかまたは再構築して、冗長性が働く状態を回復する。次にISE108−1は、故障した記憶装置128の中に自発的な再較正または再製作により回復できる部分があるかどうか判断する。
【0026】
最初の故障した記憶装置128が全く回復不可能であると仮定して、更にISE108−1の第2の記憶装置128の故障が発生した場合は、これもラインから外してそのデータをデータ・パック212の予備容量の最後の10%上にコピーするかまたは再構築する。
【0027】
第2の故障した記憶装置128が第1と同様に回復不可能であると仮定して、更にISE108−1の第3の記憶装置128の故障が発生した場合は、ISE108−1が必要とする予備容量の割当ては20%を超える。この条件でISE108−1の運転を続けると冗長性が部分的に失われる恐れがある。好ましくは、完全に冗長性を回復するようにISE108−1の運転を落として、適当なときに取り替えるよう計画する。
【0028】
一方で、この実施の形態はISE108−1が内部だけでなく異なる仮想記憶ボリュームにわたって割り当てることを考える。この場合は、好ましくはISE108−1は割当て可能な空間があるかどうか内部の他方のデータ・パック216を調べる。しかしこの場合は、データ・パック216はすでに93%が割り当てられているのでデータ・パック212の予備とするのに必要な容量はない。しかしISE108−2内のデータ・パック220,222は共にデータ・パック212の予備とするのに必要な利用可能な容量を有する。
【0029】
図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を取り替えることができる。
【0030】
図14は、本発明の実施の形態に係る広域予備化の方法250のステップの流れ図である。方法250はブロック252で開始し、ISE108は通常のI/Oモードで処理中である。ブロック254で、最後のI/Oコマンドの処理が終わったかどうか判定する。終わった場合はこの方法は終了する。終わらない場合は制御はブロック256に進み、ISE108がデータ・パックの故障を検出したかどうか判定する。ブロック256の判定がノーの場合は、ブロック252で通常のI/O処理を続ける。以下同じである。
【0031】
ブロック256の判定がイエスの場合は制御はブロック258に進み、故障のデータ・パック内に十分な予備容量が存在するかどうか判定する。データ・パック212の記憶装置が故障した上の例の場合は、ブロック258ではデータ・パック212自身を調べる。言い換えると、予備容量があるかどうか「局所で」調べる。ブロック258の判定がイエスの場合は、ブロック260でISP150は局所のLUNを割り当て、ブロック262で故障のデータ・パックから局所のLUNにデータを移し、制御はブロック252に戻る。
【0032】
ブロック258の判定がノーの場合は制御はブロック264に進み、同じISE108内の別のデータ・パック内に予備容量が存在するかどうか、言い換えると、予備容量が「内部に」存在するかどうか、判定する。ブロック264の判定がイエスの場合は、ブロック266でISPは内部のLUNを割り当て、ブロック268で故障のデータ・パックから内部のLUNにデータを移し、制御はブロック252に戻る。
【0033】
ブロック264の判定がノーの場合は制御はブロック270に進み、別のISE108内のデータ・パック内に予備容量が存在するかどうか、言い換えると予備容量が「外部に」存在するかどうか、判定する。ブロック270の判定がイエスの場合はブロック272でISPは外部のLUNを割り当て、ブロック274で故障のデータ・パックから外部のLUNにデータを移し、制御はブロック252に戻る。
【0034】
しかしブロック270の判定がノーの場合は予備容量が存在せず、制御はブロック276に進んで、データ・パックの運転を落とし、保全計画をたてる。次に制御はブロック252に戻る。
【0035】
最後に、図15は図4と同様の図であるが、複数のデータ記憶装置128および回路板134は、ベース190とこれに付属する密閉カバー192とで形成される密閉容器内に収められる。MDA118Aを形成するデータ記憶装置128を密閉して係合すると、データ記憶装置128の配置が予め選択された最適配置から変わることがないなどの種々の利点がある。またデータ記憶装置128の数、サイズ、タイプを明確に定義できる場合は、かかる配置によりMDA118Aの製作者は最適性能になるようにシステムを調整することができる。
【0036】
またMDA118Aを密閉すると、製作者は内部の記憶媒体のグループの信頼性および耐故障性を最大にすることができると同時に、MDA118Aの寿命がある限りほとんどサービスをしなくてよい。これは、多スピンドル配置のドライブを最適化することにより行う。設計の最適化により、コストが下がり、性能が向上し、信頼性が向上し、MDA118A内のデータの寿命が一般に延びる。更に、MDA118A自体の設計により回転振動がほとんどなくなり、冷却効率の高い環境が得られる。これは出願中の米国特許出願11/145,404、「強化されたRVIを持つ記憶アレイ(Storage Array with Enhanced RVI)」の主題である。これは本出願の被譲渡人に譲渡されている。これにより、MDA118の信頼性、性能、または容量を落とさずに内部の記憶媒体を低コストで製作することができる。このようにMDA118Aを密閉すると、単点故障がなくなり、回転振動の除去と冷却効率がほとんど完全になる。これにより、ディスク媒体特性が最適になるようにMDA118Aを設計し、コストを下げ、同時に信頼性および性能を高めることができる。
【0037】
要約すると、複数の回転可能なスピンドルを含む分散記憶システム用の内蔵のISEを提供する。各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。ISEは更に、分散記憶システムの遠隔装置が用いるように仮想記憶ボリュームを複数の媒体にマップするISPを含む。
【0038】
或る実施の形態では、ISEは共通の密閉されたハウジング内に収められた複数のスピンドルおよび媒体を有する。好ましくは、ISPはRAID方式などの故障に耐える方法でデータを記憶するために仮想記憶ボリューム内にメモリを割り当てる。更にISPはデータ記憶プロセス中に、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始するなどの管理された信頼性方式を実行することができる。好ましくは、ISEは、それぞれが2個以上のディスクのデータ記憶媒体から形成されディスク・スタックを有する複数のデータ記憶装置で形成する。
【0039】
別の実施の形態では、ISEは、内蔵の複数の離散的データ記憶装置と、データ記憶装置と通信して遠隔装置から受信したコマンドを取り出してこれに関係するメモリを関連付けるISPとを備える分散記憶システムに用いる。好ましくは、分散記憶システムの1つ以上の遠隔装置が用いるために、ISPは仮想記憶ボリュームを複数のデータ記憶装置にマップする。前と同様に、複数のデータ記憶装置および媒体は共通の密閉されたハウジング内に収めてよい。好ましくは、RAID方式などの故障に耐える方法でデータを記憶するために、ISPは仮想記憶ボリューム内にメモリを割り当てる。更にISPは、予測された記憶の故障を検出するとデータ記憶装置内で決定論的な予防的回復ステップを自発的に開始する。
【0040】
別の実施の形態では、ホストと、ネットワークによりホストと通信する後部記憶サブシステムと、ホストに無関係に内蔵の記憶容量を仮想化する手段とを備える分散記憶システムを提供する。
【0041】
仮想化する手段は、複数の離散的で個別にアクセス可能なデータ記憶ユニットを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットに関連する記憶容量の仮想ブロックをマップすることを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットおよび関連する制御を密閉して収めることを特徴としてよい。仮想化する手段は、限定されないがRAID方式などの故障に耐える方法でデータを記憶することを特徴としてよい。仮想化する手段は、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始することを特徴としてよい。仮想化する手段は、多重スピンドル・データ記憶アレイを特徴としてよい。
【0042】
ここの目的では、「仮想化する手段」という用語は、それぞれのデータ記憶サブシステム以外のどこかにデータ記憶空間をマップするためのシステム知能を含む前に試みた解決策を明白には考えない。例えば、「仮想化する手段」は記憶マネージャを用いてデータ記憶サブシステムの機能を制御することは考えないし、またSAN構造内またはホスト内にマネージャまたはスイッチを置くことも考えない。
【0043】
またはこの実施の形態は、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続する仮想エンジンを備えるデータ記憶システムを特徴とする。データ記憶システムは更に、アクセス・コマンドを渡すために仮想エンジンがユニークにアドレス指定できる複数のインテリジェント記憶要素(ISE)を有する。仮想エンジンと第1のISEとの間でアクセス・コマンドが渡されていることとは独立に、同時にISEは第1のISEから第2のISEにデータを移す。
【0044】
或る実施の形態では、各ISEは複数の回転可能なスピンドルを有し、各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。複数のスピンドルおよび媒体は共通の密閉されたハウジング内に収めてよい。
【0045】
各ISEは仮想記憶ボリュームを複数の媒体にマップして管理するためのプロセッサを有する。各ISEプロセッサは、好ましくは複数の異なる独立ドライブの冗長アレイ(RAID)方式の選択された1つなどの故障に耐える方法でデータを記憶するために仮想記憶容量内にメモリを割り当てる。
【0046】
各ISEプロセッサは記憶の故障を検出すると決定論的な予防的回復ステップを自発的に行ってよい。これを行うとき、各ISEプロセッサは記憶の故障を検出すると第2の仮想記憶容量を割り当ててよい。或る実施の形態では、各ISEプロセッサは異なるISE内に第2の仮想記憶容量を割り当てる。
【0047】
この実施の形態は更に、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移すための方法として特徴づけられる。
【0048】
処理するステップは、インテリジェント記憶要素が仮想記憶ボリュームを内蔵の物理的記憶にマップして管理することを特徴としてよい。好ましくは移すステップは、記憶の故障を検出するとインテリジェント記憶要素が決定論的な予防的回復ステップを自発的に開始することを特徴とする。
【0049】
移すステップは、記憶の故障を検出するとインテリジェント記憶要素が第2の仮想記憶ボリュームを割り当てることを特徴としてよい。或る実施の形態では、移すステップは、処理するステップで仮想エンジンが異なるアドレスを指定した物理的記憶に関して第2の仮想記憶ボリュームを割り当てることを特徴とする。例えば、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の内部に割り当てることを特徴としてよい。または、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の外部に割り当てることを特徴としてよい。すなわち、移すステップは、第2のインテリジェント記憶要素内に第2の仮想記憶ボリュームを割り当てることを特徴としてよい。
【0050】
処理するステップは、メモリを割り当てて故障に耐える方法でデータを記憶することを特徴としてよい。また処理するステップは、共通の密閉されたハウジング内でデータを転送しながらデータ転送要素および記憶媒体を互いに動かすことを特徴としてよい。
【0051】
またはこの実施の形態は、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、データをインテリジェント記憶要素の間で移す手段とを備えるデータ記憶システム特徴とする。この記述およびクレームの目的では、ここに説明した構造およびその同等物に関して「移す手段」という用語は、ホストのアクセス・コマンドに関連する通常のI/Oコマンド処理を中断せずにデータを或る論理ユニットから別の論理ユニットに移すことを意味する。
【0052】
理解されるように、これまでの記述で本発明の種々の実施の形態の多くの特徴および利点を、本発明の種々の実施の形態の構造および機能の詳細と共に述べたが、この詳細な記述は単なる例示であって、詳細に関しては、特に本発明の原理内の部分の構造および配置に関してクレームを表現する用語の広い一般的な意味で示す範囲で、変更を行ってよい。例えば、本発明の精神と範囲から逸れない限り特定の要素を特定の処理環境に従って変えてよい。
【0053】
更に、ここに述べた実施の形態はデータ記憶アレイに関するものであるが、当業者が認識するように、クレームされた主題はこれに限定されるものではなく、本発明の精神および範囲から逸れない限り種々の他の処理システムを用いてよい。
【0054】
本出願は2005年6月3日に出願されて本出願の被譲渡人に譲渡された米国出願番号11/145,403の一部継続出願である。
【符号の説明】
【0055】
102 遠隔装置(ホスト)
108 インテリジェント記憶要素(ISE)
109 記憶空間
200 仮想エンジン
【技術分野】
【0001】
本発明は一般に分散データ記憶システムの分野に関するものであって、より詳しくはデータの移動の目的で分散記憶システム内に記憶容量を広域に配置するための機器および方法に関するが、これに限定するものではない。
【背景技術】
【0002】
産業標準構造のデータ転送速度がインテル(登録商標)社製の80386プロセッサのデータ・アクセス速度に追いつかなくなると、コンピュータ・ネットワーク化が急速に広まった。ネットワーク内のデータ記憶容量を強化することにより、ローカル・エリア・ネットワーク(LAN)は記憶エリア・ネットワーク(SAN)に発展した。SAN内の設備と、この設備が処理する関連するデータとを強化することにより、例えば直接付属する記憶装置より一回り大きな記憶を妥当なコストで処理することができるなどの非常に大きな利益をユーザは実現した。
最近の動向は、データ記憶サブシステムを制御するというネットワーク中心方式に移ってきた。すなわち、記憶を強化したのと同じようにして、記憶の機能を制御するシステムもサーバからネットワーク自身に移されている。例えば、ホスト・ベースのソフトウエアは、保全および管理の仕事をインテリジェント・スイッチにまたは専用のネットワーク記憶サービス・プラットフォームに任せる。機器ベースの方式を用いるのでホスト内で走るソフトウエアは必要でなくなり、またこの方式は企業内のノードとして設けられたコンピュータ内で動作する。いずれにしても、インテリジェント・ネットワーク方式は、記憶割当てルーチン、バックアップ・ルーチン、および耐故障性設計などの仕事をホストから独立して集中化することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願番号10/884,605号
【特許文献2】米国特許出願番号10/817,378号
【特許文献3】米国特許出願番号10/817,264号
【特許文献4】米国特許出願番号10/817,617号
【特許文献5】米国特許出願番号11/040,410号
【特許文献6】米国特許出願番号11/145,404号
【特許文献7】米国特許出願番号11/145,403号
【発明の概要】
【発明が解決しようとする課題】
【0004】
知能をホストからネットワークに移すことにより問題の一部は解決されるが、ホストへの仮想記憶の提示を変更することが一般に困難であるという固有の問題は解決されない。例えば、信頼性を高めるためには記憶されたデータを移す必要があり、また成長するネットワークに適応するためには記憶容量を追加する必要がある。このような場合は、新しいまたは変更された記憶空間が存在することが分かるようにホストまたはネットワークを変更しなければならない。必要なのは、それぞれのデータ記憶容量を自発的に決定して割当て、管理し、保護して、その容量を仮想記憶空間としてネットワークに提示して広域の記憶要求に適応するインテリジェント・データ記憶サブシステムである。この仮想記憶空間は多重記憶ボリュームとして配置することができる。分散計算環境では、かかるインテリジェント記憶装置を広域配置ならびに故障時の広域予備として用いる。本発明の実施の形態はこの方式に関するものである。
【課題を解決するための手段】
【0005】
本発明の実施の形態は、一般に広域配置能力を持つ分散記憶システムに関するものである。
或る実施の形態では、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続可能な仮想エンジンを備えるデータ記憶システムを提供する。またこのデータ記憶システムは、アクセス・コマンドを渡すために仮想エンジンはユニークにアドレス指定できる複数のインテリジェント記憶要素を有する。インテリジェント記憶要素は、アクセス・コマンドが同時に仮想エンジンと第1のインテリジェント記憶要素との間で渡されていることとは独立に、データを第1のインテリジェント記憶要素から第2のインテリジェント記憶要素に移す。
或る実施の形態では、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移す方法を提供する。
或る実施の形態では、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、インテリジェント記憶要素の間でデータを移す手段とを備えるデータ記憶装置を提供する。
本発明の特徴を示すこれらの機能や利点は以下の詳細な説明を読みまた関連する図面を参照すれば明らかになる。
【図面の簡単な説明】
【0006】
【図1】図1は、本発明の実施の形態が有用であるコンピュータ・システムの線図である。
【図2】図2は、図1のコンピュータ・システムの簡単な線図である。
【図3】図3は、本発明の実施の形態に従って構築されたインテリジェント記憶要素の組立分解等角図である。
【図4】図4は、図3のインテリジェント記憶要素の多重ディスク・アレイの部分的組立分解等角図である。
【図5】図5は、図4の多重ディスク・アレイに用いられる例示のデータ記憶装置である。
【図6】図6は、図3のインテリジェント記憶要素の機能的ブロック図である。
【図7】図7は、図3のインテリジェント記憶要素のインテリジェント記憶プロセッサ回路板の機能的ブロック図である。
【図8】図8は、図3のインテリジェント記憶要素のインテリジェント記憶プロセッサの機能的ブロック図である。
【図9】図9は、図3のインテリジェント記憶要素が行うコマンド取出しおよび関連するメモリ・マッピング・サービスの機能的ブロック図表現である。
【図10】図10は、図3のインテリジェント記憶要素が行う別の例示のデータ・サービスの機能的ブロック図である。
【図11】図11は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図12】図12は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図13】図13は、本発明の実施の形態に係る広域予備化の方法を示す線図である。
【図14】図14は、本発明の実施の形態に係る広域予備化の方法を実行するステップの流れ図である。
【図15】図15は、図3と同様であるが、密閉された容器の中にデータ記憶装置および回路板を収めるものを示す図である。
【発明を実施するための形態】
【0007】
図1は本発明の実施の形態が有用である例示のコンピュータ・システム100である。1台以上のホスト102が、ローカル・エリア・ネットワーク(LAN)および/またはワイド・エリア・ネットワーク(WAN)106を介して1台以上のネットワーク付属のサーバ(NAS)104にネットワーク接続されている。好ましくは、LAN/WAN106は、ワールド・ワイド・ウェブにより通信するためにインターネット・プロトコル(IP)ネットワーキング・インフラストラクチャを用いる。ホスト102は、サーバ104内に常駐して多数のインテリジェント記憶要素(ISE)108の1台以上に記憶されたデータを日常的に必要とするアプリケーションにアクセスする。このため、記憶されたデータにアクセスできるようにSAN110はサーバ104をISE108に接続する。ISE108は直列ATAやファイバ・チャネルなどの種々の選択された通信プロトコルによりデータを記憶するデータ記憶容量109のブロックを備え、その中に企業クラスまたはデスクトップ・クラスの記憶媒体を含む。
【0008】
図2は、図1のコンピュータ・システム100の簡単な線図である。ホスト102は、ネットワークまたは構造110を介して相互におよび1対のISE108(それぞれAおよびBで示す)と情報を交換する。各ISE108は二重冗長コントローラ112(A1,A2およびB1,B2で示す)を含む。好ましくはコントローラ112は、独立ドライブの冗長アレイ(RAID)として特徴づけられる一組のデータ記憶装置であるデータ記憶容量109に作用する。コントローラ112およびデータ記憶容量109は好ましくは耐故障性配置を用いるので、種々のコントローラ112は並列の冗長なリンクを用い、システム100内に記憶されるユーザ・データの少なくとも一部はデータ記憶容量109の少なくとも一組内に冗長形式で記憶される。
【0009】
更に、Aホスト・コンピュータ102およびA−ISE108は物理的に第1のサイトにあり、Bホスト・コンピュータ102およびB−ISE108は物理的に第2のサイトにあり、Cホスト・コンピュータ102は更に第3のサイトにあってよい。ただしこれは単なる例であって、限定するものではない。分散コンピュータ・システム上の全てのエンティティは或るタイプのコンピュータ・ネットワークにより接続される。
【0010】
図3は本発明の実施の形態に従って構築されたISE108を示す。棚114は、コントローラ112を受けて係合して中央板116と電気的に接続するための空洞を定義する。棚114はキャビネット(図示しない)内に支持される。棚114は1対の多重ディスク組立体(MDA)118を中央板116の同じ側に受けて係合する。中央板116の反対側には、緊急電源である二重電池122、二重交流電源124、および二重インターフェース・モジュール126が接続する。好ましくは、二重構成要素ではMDA118の一方または両方が同時に動作するので、1つの構成要素が故障した場合はバックアップ保護を行うことができる。
【0011】
図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を収めてよい。
【0012】
図5は、本発明の実施の形態で用いるのに適した、回転する媒体ディスク・ドライブの形の例示のデータ記憶装置128の等角図である。以下の説明のために、動くデータ記憶媒体と共に回転するスピンドルを用いるが、別の同等の実施の形態では、固体メモリ装置などの非回転媒体装置を用いる。データ記憶ディスク140はモータ142により回転して、ディスク140のデータ記憶位置を読取り/書込みヘッド(単に「ヘッド」と呼ぶ)143に提示する。ヘッド143は、ディスク140の内側と外側のトラックの間にヘッド143を半径方向に動かす回転アクチュエータ144の先端に支持される。ヘッド143は可撓回路146により回路板145に電気的に接続する。回路板145はデータ記憶装置128の機能を制御する制御信号を受けたり送ったりする。コネクタ148は回路板145に電気的に接続し、データ記憶装置128とMDA118の回路板134(図4)とを接続する。
【0013】
図6は本発明の実施の形態に従って構築されたISE108の線図である。コントローラ112はインテリジェント記憶プロセッサ(ISP)150と共に動作してデータの完全性の信頼性を管理する。ISP150は、コントローラ112内、MDA118内、またはISE108内のどこか別のところに常駐してよい。
【0014】
管理された信頼性の態様はRAID方式などの信頼できるデータ記憶フォーマットを作ることを含む。例えば、複数の異なるRAIDフォーマットの選択された1つを選択的に用いるシステムを形成することによりデータ記憶のための比較的強いシステムを作り、またMDA118を管理するのに用いるソフトウエアの複雑さを軽減すると共に記憶の故障状態から比較的速く回復できるようにファームウエア・アルゴリズムを最適にすることができる。この多重RAIDフォーマット・システムのこれらの態様は、特許出願10/817,264、「記憶媒体データ構造および方法(Storage Media Data Structure and Method)」に記述されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
【0015】
管理された信頼性は、システムを監視して使用することに基づく診断および訂正ルーチンのスケジューリングも含んでよい。データ回復の方法はデータをコピーしまた再構築することで行う。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)」に開示されている。これは本発明の被譲渡人に譲渡されたものであって、ここに援用する。
【0016】
図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と通信する。
【0017】
図8は、本発明の実施の形態に従って構築された例示のISPサブシステム154の線図である。ISP150は、クロス・ポイント・スイッチ(CPS)186メッセージ・クロスバーを介してリスト・マネージャ182,184と通信する多数の機能コントローラ(170−180)を含む。このように、機能コントローラ(170−180)は所定の条件に応じてそれぞれCPSメッセージを生成し、CPS186を通してこのメッセージをリスト・マネージャ182,184に送り、メモリ・モジュールにアクセスしたりISP150の活動を起こしたりしてよい。同様に、リスト・マネージャ182,184からの応答はCPS186を介して機能コントローラ(170−180)のどれかに送ってよい。図8の配置および関連する説明は例であって、本発明の考えられる実施の形態を制限するものでなない。
【0018】
ポリシー・プロセッサ164は、ISP150を介して望ましい動作を実行するようプログラムすることができる。例えば、ポリシー・プロセッサ164はCPS186を介してリスト・マネージャ182,184と通信して(すなわち、メッセージを送りまた受けて)よい。ポリシー・プロセッサ164への応答は、メモリ168レジスタの読取りを知らせる割込みとして働いてよい。
【0019】
図9は、インテリジェント・コントローラ112により、予め選択された複数の通信プロトコル(FC、iSCSI、またはSASなど)のどれかでホスト102と通信するISE108の優れた柔軟性を示す線図である。ISE108は、ホスト・コマンドの取出しレベルを確認し、これに従ってコマンドに関連する物理的記憶109に仮想記憶ボリュームをマップするようプログラムしてよい。
【0020】
本発明の目的では、「仮想記憶ボリューム」という用語は、物理的記憶の論理的取出しに一般に対応する論理エンティティを意味する。「仮想記憶ボリューム」は、例えば、固定のブロック構造内の連続的にアドレス指定されたアドレス・ブロックまたはカウント・キー・データ(count−key−data)構造内の記録であるかのように(論理的に)扱われるエンティティを含んでよい。仮想記憶ボリュームは物理的に2台以上の記憶要素上にあってよい。
【0021】
図10は、任意のホスト102と独立にISE108が行ってよいデータ管理サービスのタイプを示す線図である。例えば、耐故障性のデータの完全性のためにRAID管理を局所で制御して、データのストライピングを望ましい数のデータ記憶装置1281,1282,1283,...,128n内で行ってよい。仮想化サービスを局所で制御して、メモリ容量を論理エンティティに割り当てたり割り当てを外したりしてよい。上に説明した管理された信頼性方式や同じISE108内の論理ボリュームの間のデータの移動などのアプリケーション・ルーチンも同様に局所で制御してよい。この記述およびクレームの目的では、「移動」という用語はデータを原始から宛先に移すことにより、移動完了の一部として原始のデータをなくすことを指す。これはデータを「コピーする」こととは逆で、コピーの場合はデータを原始から宛先に複写する。ただし、宛先では別の名前になる。
【0022】
図11は、アクセス・コマンド(I/Oコマンド)をホスト装置102と複数のISE108との間で渡すために仮想エンジン200がSAN106により遠隔ホスト装置102と通信する、というデータ記憶システム100の実施の形態を示す。各ISE108は、アクセス・コマンドを渡すために仮想エンジン200がユニークにアドレス指定できる2つのポート202,204および206,208を有する。データ転送ボトルネックを作らずにデータ移動を促進するため、以下にこの実施の形態が、ホスト・アクセス・コマンドの処理とは独立に、同時にISE108の間でデータを移す方法を説明する。また、データを移すときのデータ転送速度を変えることにより、システム100のアプリケーション性能への影響を最適にすることができる。
【0023】
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%を割り当てたと仮定する。
【0024】
仮想エンジン200は論理ディスク214から論理ボリューム224を作成し、またホストからの記憶空間の要求に応じて論理ディスク226を作成してこれをホスト102にマップした。
【0025】
上に述べたように、各ISE108内のISP150は、記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始する。例えば、ISE108−1はデータ・パック212内の記憶装置128の故障を検出すると、故障した記憶装置128を直ちにラインから外す。故障した記憶装置128からのデータはデータ・パック212の予備容量の最初の10%上にコピーするかまたは再構築して、冗長性が働く状態を回復する。次にISE108−1は、故障した記憶装置128の中に自発的な再較正または再製作により回復できる部分があるかどうか判断する。
【0026】
最初の故障した記憶装置128が全く回復不可能であると仮定して、更にISE108−1の第2の記憶装置128の故障が発生した場合は、これもラインから外してそのデータをデータ・パック212の予備容量の最後の10%上にコピーするかまたは再構築する。
【0027】
第2の故障した記憶装置128が第1と同様に回復不可能であると仮定して、更にISE108−1の第3の記憶装置128の故障が発生した場合は、ISE108−1が必要とする予備容量の割当ては20%を超える。この条件でISE108−1の運転を続けると冗長性が部分的に失われる恐れがある。好ましくは、完全に冗長性を回復するようにISE108−1の運転を落として、適当なときに取り替えるよう計画する。
【0028】
一方で、この実施の形態はISE108−1が内部だけでなく異なる仮想記憶ボリュームにわたって割り当てることを考える。この場合は、好ましくはISE108−1は割当て可能な空間があるかどうか内部の他方のデータ・パック216を調べる。しかしこの場合は、データ・パック216はすでに93%が割り当てられているのでデータ・パック212の予備とするのに必要な容量はない。しかしISE108−2内のデータ・パック220,222は共にデータ・パック212の予備とするのに必要な利用可能な容量を有する。
【0029】
図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を取り替えることができる。
【0030】
図14は、本発明の実施の形態に係る広域予備化の方法250のステップの流れ図である。方法250はブロック252で開始し、ISE108は通常のI/Oモードで処理中である。ブロック254で、最後のI/Oコマンドの処理が終わったかどうか判定する。終わった場合はこの方法は終了する。終わらない場合は制御はブロック256に進み、ISE108がデータ・パックの故障を検出したかどうか判定する。ブロック256の判定がノーの場合は、ブロック252で通常のI/O処理を続ける。以下同じである。
【0031】
ブロック256の判定がイエスの場合は制御はブロック258に進み、故障のデータ・パック内に十分な予備容量が存在するかどうか判定する。データ・パック212の記憶装置が故障した上の例の場合は、ブロック258ではデータ・パック212自身を調べる。言い換えると、予備容量があるかどうか「局所で」調べる。ブロック258の判定がイエスの場合は、ブロック260でISP150は局所のLUNを割り当て、ブロック262で故障のデータ・パックから局所のLUNにデータを移し、制御はブロック252に戻る。
【0032】
ブロック258の判定がノーの場合は制御はブロック264に進み、同じISE108内の別のデータ・パック内に予備容量が存在するかどうか、言い換えると、予備容量が「内部に」存在するかどうか、判定する。ブロック264の判定がイエスの場合は、ブロック266でISPは内部のLUNを割り当て、ブロック268で故障のデータ・パックから内部のLUNにデータを移し、制御はブロック252に戻る。
【0033】
ブロック264の判定がノーの場合は制御はブロック270に進み、別のISE108内のデータ・パック内に予備容量が存在するかどうか、言い換えると予備容量が「外部に」存在するかどうか、判定する。ブロック270の判定がイエスの場合はブロック272でISPは外部のLUNを割り当て、ブロック274で故障のデータ・パックから外部のLUNにデータを移し、制御はブロック252に戻る。
【0034】
しかしブロック270の判定がノーの場合は予備容量が存在せず、制御はブロック276に進んで、データ・パックの運転を落とし、保全計画をたてる。次に制御はブロック252に戻る。
【0035】
最後に、図15は図4と同様の図であるが、複数のデータ記憶装置128および回路板134は、ベース190とこれに付属する密閉カバー192とで形成される密閉容器内に収められる。MDA118Aを形成するデータ記憶装置128を密閉して係合すると、データ記憶装置128の配置が予め選択された最適配置から変わることがないなどの種々の利点がある。またデータ記憶装置128の数、サイズ、タイプを明確に定義できる場合は、かかる配置によりMDA118Aの製作者は最適性能になるようにシステムを調整することができる。
【0036】
またMDA118Aを密閉すると、製作者は内部の記憶媒体のグループの信頼性および耐故障性を最大にすることができると同時に、MDA118Aの寿命がある限りほとんどサービスをしなくてよい。これは、多スピンドル配置のドライブを最適化することにより行う。設計の最適化により、コストが下がり、性能が向上し、信頼性が向上し、MDA118A内のデータの寿命が一般に延びる。更に、MDA118A自体の設計により回転振動がほとんどなくなり、冷却効率の高い環境が得られる。これは出願中の米国特許出願11/145,404、「強化されたRVIを持つ記憶アレイ(Storage Array with Enhanced RVI)」の主題である。これは本出願の被譲渡人に譲渡されている。これにより、MDA118の信頼性、性能、または容量を落とさずに内部の記憶媒体を低コストで製作することができる。このようにMDA118Aを密閉すると、単点故障がなくなり、回転振動の除去と冷却効率がほとんど完全になる。これにより、ディスク媒体特性が最適になるようにMDA118Aを設計し、コストを下げ、同時に信頼性および性能を高めることができる。
【0037】
要約すると、複数の回転可能なスピンドルを含む分散記憶システム用の内蔵のISEを提供する。各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。ISEは更に、分散記憶システムの遠隔装置が用いるように仮想記憶ボリュームを複数の媒体にマップするISPを含む。
【0038】
或る実施の形態では、ISEは共通の密閉されたハウジング内に収められた複数のスピンドルおよび媒体を有する。好ましくは、ISPはRAID方式などの故障に耐える方法でデータを記憶するために仮想記憶ボリューム内にメモリを割り当てる。更にISPはデータ記憶プロセス中に、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始するなどの管理された信頼性方式を実行することができる。好ましくは、ISEは、それぞれが2個以上のディスクのデータ記憶媒体から形成されディスク・スタックを有する複数のデータ記憶装置で形成する。
【0039】
別の実施の形態では、ISEは、内蔵の複数の離散的データ記憶装置と、データ記憶装置と通信して遠隔装置から受信したコマンドを取り出してこれに関係するメモリを関連付けるISPとを備える分散記憶システムに用いる。好ましくは、分散記憶システムの1つ以上の遠隔装置が用いるために、ISPは仮想記憶ボリュームを複数のデータ記憶装置にマップする。前と同様に、複数のデータ記憶装置および媒体は共通の密閉されたハウジング内に収めてよい。好ましくは、RAID方式などの故障に耐える方法でデータを記憶するために、ISPは仮想記憶ボリューム内にメモリを割り当てる。更にISPは、予測された記憶の故障を検出するとデータ記憶装置内で決定論的な予防的回復ステップを自発的に開始する。
【0040】
別の実施の形態では、ホストと、ネットワークによりホストと通信する後部記憶サブシステムと、ホストに無関係に内蔵の記憶容量を仮想化する手段とを備える分散記憶システムを提供する。
【0041】
仮想化する手段は、複数の離散的で個別にアクセス可能なデータ記憶ユニットを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットに関連する記憶容量の仮想ブロックをマップすることを特徴としてよい。仮想化する手段は、複数のデータ記憶ユニットおよび関連する制御を密閉して収めることを特徴としてよい。仮想化する手段は、限定されないがRAID方式などの故障に耐える方法でデータを記憶することを特徴としてよい。仮想化する手段は、予測される記憶の故障を検出すると決定論的な予防的回復ステップを自発的に開始することを特徴としてよい。仮想化する手段は、多重スピンドル・データ記憶アレイを特徴としてよい。
【0042】
ここの目的では、「仮想化する手段」という用語は、それぞれのデータ記憶サブシステム以外のどこかにデータ記憶空間をマップするためのシステム知能を含む前に試みた解決策を明白には考えない。例えば、「仮想化する手段」は記憶マネージャを用いてデータ記憶サブシステムの機能を制御することは考えないし、またSAN構造内またはホスト内にマネージャまたはスイッチを置くことも考えない。
【0043】
またはこの実施の形態は、アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークにより遠隔装置に接続する仮想エンジンを備えるデータ記憶システムを特徴とする。データ記憶システムは更に、アクセス・コマンドを渡すために仮想エンジンがユニークにアドレス指定できる複数のインテリジェント記憶要素(ISE)を有する。仮想エンジンと第1のISEとの間でアクセス・コマンドが渡されていることとは独立に、同時にISEは第1のISEから第2のISEにデータを移す。
【0044】
或る実施の形態では、各ISEは複数の回転可能なスピンドルを有し、各スピンドルはそれぞれ独立に動くアクチュエータに近接して記憶媒体を支持し、アクチュエータは記憶媒体との間でデータを記憶しまた検索する。複数のスピンドルおよび媒体は共通の密閉されたハウジング内に収めてよい。
【0045】
各ISEは仮想記憶ボリュームを複数の媒体にマップして管理するためのプロセッサを有する。各ISEプロセッサは、好ましくは複数の異なる独立ドライブの冗長アレイ(RAID)方式の選択された1つなどの故障に耐える方法でデータを記憶するために仮想記憶容量内にメモリを割り当てる。
【0046】
各ISEプロセッサは記憶の故障を検出すると決定論的な予防的回復ステップを自発的に行ってよい。これを行うとき、各ISEプロセッサは記憶の故障を検出すると第2の仮想記憶容量を割り当ててよい。或る実施の形態では、各ISEプロセッサは異なるISE内に第2の仮想記憶容量を割り当てる。
【0047】
この実施の形態は更に、仮想エンジンとインテリジェント記憶要素との間のアクセス・コマンドを処理し、同時にインテリジェント記憶要素から別の記憶空間にデータを移すための方法として特徴づけられる。
【0048】
処理するステップは、インテリジェント記憶要素が仮想記憶ボリュームを内蔵の物理的記憶にマップして管理することを特徴としてよい。好ましくは移すステップは、記憶の故障を検出するとインテリジェント記憶要素が決定論的な予防的回復ステップを自発的に開始することを特徴とする。
【0049】
移すステップは、記憶の故障を検出するとインテリジェント記憶要素が第2の仮想記憶ボリュームを割り当てることを特徴としてよい。或る実施の形態では、移すステップは、処理するステップで仮想エンジンが異なるアドレスを指定した物理的記憶に関して第2の仮想記憶ボリュームを割り当てることを特徴とする。例えば、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の内部に割り当てることを特徴としてよい。または、移すステップは、第2の仮想記憶ボリュームをインテリジェント記憶要素の外部に割り当てることを特徴としてよい。すなわち、移すステップは、第2のインテリジェント記憶要素内に第2の仮想記憶ボリュームを割り当てることを特徴としてよい。
【0050】
処理するステップは、メモリを割り当てて故障に耐える方法でデータを記憶することを特徴としてよい。また処理するステップは、共通の密閉されたハウジング内でデータを転送しながらデータ転送要素および記憶媒体を互いに動かすことを特徴としてよい。
【0051】
またはこの実施の形態は、仮想エンジンが個別にアドレス指定できる複数のインテリジェント記憶要素と、データをインテリジェント記憶要素の間で移す手段とを備えるデータ記憶システム特徴とする。この記述およびクレームの目的では、ここに説明した構造およびその同等物に関して「移す手段」という用語は、ホストのアクセス・コマンドに関連する通常のI/Oコマンド処理を中断せずにデータを或る論理ユニットから別の論理ユニットに移すことを意味する。
【0052】
理解されるように、これまでの記述で本発明の種々の実施の形態の多くの特徴および利点を、本発明の種々の実施の形態の構造および機能の詳細と共に述べたが、この詳細な記述は単なる例示であって、詳細に関しては、特に本発明の原理内の部分の構造および配置に関してクレームを表現する用語の広い一般的な意味で示す範囲で、変更を行ってよい。例えば、本発明の精神と範囲から逸れない限り特定の要素を特定の処理環境に従って変えてよい。
【0053】
更に、ここに述べた実施の形態はデータ記憶アレイに関するものであるが、当業者が認識するように、クレームされた主題はこれに限定されるものではなく、本発明の精神および範囲から逸れない限り種々の他の処理システムを用いてよい。
【0054】
本出願は2005年6月3日に出願されて本出願の被譲渡人に譲渡された米国出願番号11/145,403の一部継続出願である。
【符号の説明】
【0055】
102 遠隔装置(ホスト)
108 インテリジェント記憶要素(ISE)
109 記憶空間
200 仮想エンジン
【特許請求の範囲】
【請求項1】
データ記憶システムであって、
アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークを介して前記遠隔装置に接続可能な仮想エンジンと、
複数のインテリジェント記憶要素(ISE)であって、各々の該ISEが、協調して前記記憶空間を定義するデータ記憶装置を有し、各々の前記ISEが、第1の論理的な記憶位置から異なる第2の論理的な記憶位置へとデータを選択的に移動させるように構成され、選択的な前記移動は、前記遠隔装置や任意のネットワーク装置に基づくものではなく、全て各々の前記ISEに存在するコントローラによって実行される処理命令に基づくものであり、各々の前記ISE内の記憶装置の検出された故障に応答して、予備の記憶容量が存在するか否かを決定し、該決定の結果に基づいて、記憶されたデータを前記第1の論理的な記憶位置から前記第2の論理的な記憶位置へ移動する、前記ISEと、
を含む、前記データ記憶システム。
【請求項2】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、前記第1のISEの内部にマップされる、請求項1記載のデータ記憶システム。
【請求項3】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、前記第1のISEの外部にマップされる、請求項1記載のデータデータ記憶システム。
【請求項4】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、異なる第2のISEへマップされる、請求項1記載のデータ記憶システム。
【請求項5】
記憶空間に対するアクセス・コマンドを、ネットワークを介して、遠隔装置から複数のインテリジェント記憶要素(ISE)へと処理するステップであって、各々の該ISEが、協調して前記記憶空間を定義するデータ記憶装置を有する、前記処理するステップと、
前記処理するステップの間に、各々の前記ISEが個々に、前記記憶装置の1つの故障を予測する予防的回復ステップを自発的に開始し、前記予測に応じて、各々の前記ISEの別の記憶装置に予備の記憶容量が存在するか否かを決定するステップと、
前記決定するステップに応じて、前記ネットワークを介する各々の前記ISEに対するコマンドであって、移すステップを実行することを決定する前記コマンドがない場合に、各々の前記ISEが、データを前記記憶空間の第1の論理的な記憶位置から前記記憶空間の異なる第2の論理的な記憶位置へ移すステップと、
を含む、方法。
【請求項1】
データ記憶システムであって、
アクセス・コマンドを遠隔装置と記憶空間との間で渡すための、ネットワークを介して前記遠隔装置に接続可能な仮想エンジンと、
複数のインテリジェント記憶要素(ISE)であって、各々の該ISEが、協調して前記記憶空間を定義するデータ記憶装置を有し、各々の前記ISEが、第1の論理的な記憶位置から異なる第2の論理的な記憶位置へとデータを選択的に移動させるように構成され、選択的な前記移動は、前記遠隔装置や任意のネットワーク装置に基づくものではなく、全て各々の前記ISEに存在するコントローラによって実行される処理命令に基づくものであり、各々の前記ISE内の記憶装置の検出された故障に応答して、予備の記憶容量が存在するか否かを決定し、該決定の結果に基づいて、記憶されたデータを前記第1の論理的な記憶位置から前記第2の論理的な記憶位置へ移動する、前記ISEと、
を含む、前記データ記憶システム。
【請求項2】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、前記第1のISEの内部にマップされる、請求項1記載のデータ記憶システム。
【請求項3】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、前記第1のISEの外部にマップされる、請求項1記載のデータデータ記憶システム。
【請求項4】
前記第1の論理的な記憶位置は、第1のISEへマップされ、前記第2の論理的な記憶位置は、異なる第2のISEへマップされる、請求項1記載のデータ記憶システム。
【請求項5】
記憶空間に対するアクセス・コマンドを、ネットワークを介して、遠隔装置から複数のインテリジェント記憶要素(ISE)へと処理するステップであって、各々の該ISEが、協調して前記記憶空間を定義するデータ記憶装置を有する、前記処理するステップと、
前記処理するステップの間に、各々の前記ISEが個々に、前記記憶装置の1つの故障を予測する予防的回復ステップを自発的に開始し、前記予測に応じて、各々の前記ISEの別の記憶装置に予備の記憶容量が存在するか否かを決定するステップと、
前記決定するステップに応じて、前記ネットワークを介する各々の前記ISEに対するコマンドであって、移すステップを実行することを決定する前記コマンドがない場合に、各々の前記ISEが、データを前記記憶空間の第1の論理的な記憶位置から前記記憶空間の異なる第2の論理的な記憶位置へ移すステップと、
を含む、方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−157257(P2010−157257A)
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願番号】特願2010−30428(P2010−30428)
【出願日】平成22年2月15日(2010.2.15)
【分割の表示】特願2007−173121(P2007−173121)の分割
【原出願日】平成19年6月29日(2007.6.29)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願日】平成22年2月15日(2010.2.15)
【分割の表示】特願2007−173121(P2007−173121)の分割
【原出願日】平成19年6月29日(2007.6.29)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】
[ Back to top ]