(57)【特許請求の範囲】
【請求項１】
高速フォーマット済み媒体をデータ記憶媒体アレイに統合する場合に、データ記憶媒体アレイ内にある、または該データ記憶媒体アレイに追加すべきデータ記憶媒体を所望のブロックフォーマットにブロックフォーマットする方法であって、
該方法は、以下の各ステップを実行するためのロジックを備えたコンピュータによって実行され、
前記高速フォーマットとは、ブロック書き込みのフォーマットテンプレートのみが変更され、ブロックに対して行われるフォーマットが最小であるか、またはないフォーマットを指すものであり、
高速フォーマットインジケータとは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すものであり、
前記高速フォーマットインジケータが前記データ記憶媒体に設定されているか否かを判断するステップと、
前記高速フォーマットインジケータが設定されている場合、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行うステップと、
を含む、方法。
【請求項２】
前記高速フォーマットインジケータが設定されており、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行うステップが行われた場合、その後、すべての書き込みが最大読み取りサイズ以上の書き込みサイズで行われるライト・ビフォア・リード・モデルに従う、請求項１に記載の方法。
【請求項３】
前記書き込みを行うステップが行われた後に、前記高速フォーマットインジケータを変更するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記データ記憶媒体アレイがＲＡＩＤデータ記憶媒体アレイを含む、請求項１に記載の方法。
【請求項５】
高速フォーマット済み媒体をデータ記憶媒体アレイに統合する場合に機能する自動データ記憶媒体ブロックフォーマット機能を有するデータ記憶媒体アレイであって、
前記高速フォーマットとは、ブロック書き込みのフォーマットテンプレートのみが変更され、ブロックに対して行われるフォーマットが最小であるか、またはないフォーマットを指すものであり、
高速フォーマットインジケータとは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すものであり、
複数のデータ記憶媒体と、
前記高速フォーマットインジケータが前記データ記憶媒体に設定されているか否かを判断し、前記高速フォーマットインジケータが設定されている場合、前記複数のデータ記憶媒体の初期化を行うトポロジマネージャシステムであって、該データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行う、トポロジマネージャシステムと、
を備えている、データ記憶媒体アレイ。
【請求項６】
前記高速フォーマットインジケータが設定されており、前記トポロジマネージャが、前記データ記憶媒体アレイの初期化が行われる間に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行なった場合、前記トポロジマネージャはその後、すべての書き込みが最大読み取りサイズ以上の書き込みサイズで行われるライト・ビフォア・リード・モデルに従う、請求項５に記載のデータ記憶媒体アレイ。
【請求項７】
高速フォーマット済み媒体をデータ記憶媒体アレイに統合する場合に、データ記憶媒体アレイ内にある、または該データ記憶媒体アレイに追加すべきデータ記憶媒体を所望のブロックフォーマットにブロックフォーマットするプログラムであって、
前記高速フォーマットとは、ブロック書き込みのフォーマットテンプレートのみが変更され、ブロックに対して行われるフォーマットが最小であるか、またはないフォーマットを指すものであり、
高速フォーマットインジケータとは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すものであり、
実行されると、
前記高速フォーマットインジケータが前記データ記憶媒体に設定されているか否かを判断するステップと、
前記高速フォーマットインジケータが設定されている場合、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行うステップと、
を含む方法を機械に実行させる機械可読プログラムコードを含む、プログラム。
【請求項８】
前記高速フォーマットインジケータが設定されており、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行うステップが行われた場合、その後、すべての書き込みが最大読み取りサイズ以上の書き込みサイズで行われるライト・ビフォア・リード・モデルに従う、請求項７に記載のプログラム。
【請求項９】
前記書き込みを行うステップが行われた後に、前記高速フォーマットインジケータを変更するプログラムコードをさらに含む、請求項７に記載のプログラム。
【請求項１０】
高速フォーマット済み媒体をデータ記憶媒体アレイに統合する場合に、データ記憶媒体アレイ内にある、または該データ記憶媒体アレイに追加すべきデータ記憶媒体を所望のブロックフォーマットにブロックフォーマットするシステムであって、
前記高速フォーマットとは、ブロック書き込みのフォーマットテンプレートのみが変更され、ブロックに対して行われるフォーマットが最小であるか、またはないフォーマットを指すものであり、
高速フォーマットインジケータとは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すものであり、
前記高速フォーマットインジケータが前記データ記憶媒体に設定されているか否かを判断する手段を備え、
前記高速フォーマットインジケータが設定されている場合、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行う、システム。
【請求項１１】
高速フォーマット済み媒体をデータ記憶媒体アレイに統合する場合に機能する自動データ記憶媒体ブロックフォーマット機能を有するデータ記憶媒体アレイであって、
前記高速フォーマットとは、ブロック書き込みのフォーマットテンプレートのみが変更され、ブロックに対して行われるフォーマットが最小であるか、またはないフォーマットを指すものであり、
高速フォーマットインジケータとは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すものであり、
複数のデータ記憶媒体と、
前記高速フォーマットインジケータが複数の前記データ記憶媒体のそれぞれに設定されているか否かを判断する手段と、
前記高速フォーマットインジケータが設定されている場合、前記データ記憶媒体アレイの初期化中に読み取られる前記データ記憶媒体のいずれのブロックにもまず書き込みを行う手段と、
を備えているデータ記憶媒体アレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはデータ記憶媒体アレイに関する。より詳細には、本発明は、データ記憶媒体アレイ内のデータ記憶媒体をフォーマットする方法に関する。より詳細には、本発明は、高速フォーマットされた媒体をデータ記憶媒体に包含する方法に関する。
【背景技術】
【０００２】
通常、従来のコンピュータネットワークは、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ社によるＨｐ  ＳｕｒｅＳｔｏｒｅ  Ｖｉｒｔｕａｌ  Ａｒｒａｙ  ７１００等、中央データ記憶用に少なくとも１つの共通データ記憶装置を有する。ＳｕｒｅＳｔｏｒｅ  ＶＡ  ７１００は、耐故障性およびパフォーマンス考慮事項のために組み合わせられた複数の独立したディスク（たとえば、ファイバチャネルハードドライブ）を採用する１つの例示的な独立ディスク冗長アレイ（ＲＡＩＤ）である。従来のＲＡＩＤアレイおよびデータ記憶媒体アレイを採用する他の装置は、アレイ内のデータ記憶媒体間の一貫しないブロックフォーマットに悩まされている。本明細書において利用するブロックフォーマットは、データ記憶媒体のブロックサイズおよび／またはブロックデータ内容のフォーマットを指し、区分化および／またはデータフォーマットを包含するように広く解釈することができることを理解されたい。
【０００３】
具体的には、データを記憶するデータ記憶媒体アレイはそれぞれ、所望のシステムブロックフォーマットを有する。データ記憶媒体アレイに記憶されているデータファイルが開始および終了する場所をオペレーティングシステムが適宜規定することができるような特定のブロックフォーマットが要求される。しかし、従来のデータ記憶媒体は通常、所望のシステムブロックフォーマットと異なり得る所定のブロックフォーマットを有して製造される。たとえば、Ｓｅａｇａｔｅ製の標準的な１８ＧＢハードドライブ（部品番号ＳＴ３１８４５１Ｆ）は、標準の５１２バイトブロックフォーマットを備えている。しかし、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ  ＳｕｒｅＳｔｏｒｅ  ＶＡ  ７１００には、様々な故障検出およびエラー訂正手順に使用される８バイトチェックサムを記憶データ５１２バイト毎に提供する５２０バイトブロックフォーマットが要求される。したがって、５２０バイトデータ記憶媒体は、非標準ブロックフォーマットを有するシステムに向けて特別に製造する必要があり、これはシステムを構築するコストを増大させる。この問題に対する従来の解決策（オートフォーマット）は、「Ｍｅｔｈｏｄ  ｆｏｒ  Ａｕｔｏｍａｔｉｃａｌｌｙ  Ｃｏｎｖｅｒｔｉｎｇ  Ｂｌｏｃｋ  Ｓｉｚｅ  ａｎｄ  Ｆｏｒｍａｔｔｉｎｇ  Ｂａｃｋｅｎｄ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｄｉｓｋｓ  ｉｎ  ａｎ  Ａｕｔｏ−Ｉｎｃｌｕｓｉｖｅ  Ｓｔｏｒａｇｅ  Ａｒｒａｙ  Ｅｎｖｉｒｏｎｍｅｎｔ」という名称の特許第６，６８１，３０８号に記載された。
【０００４】
ドライブのオートフォーマット（ＳＣＳＩフォーマット）に伴う冗長的なフォーマット時間を回避する１つの選択肢は、ブロック書き込みのフォーマットテンプレートのみが（本実施形態では、５１２から５２０に）変更され、ブロックに対して行われるフォーマットが最小であるか、またはない「高速フォーマット」として知られる方法を用いることである。具体的には、「書き込み」動作を所与のブロックに対して行うべきときまでブロックはリフォーマットされない。「書き込み」動作が呼び出されると、５２０フォーマットテンプレートが使用されて、特定のブロックがリフォーマットされる。高速フォーマット方法を実行可能にする仮定は、各ブロックが、読み取り前に書き込まれる（write before read：ライト・ビフォア・リード）というものである。１つの「高速フォーマット」方法がＳｅａｇａｔｅのドライブによって提供され、この方法では、ブロック書き込み境界のテンプレートのみが５１２から５２０に変更され、次いで、完全なフォーマットが完了したかのように戻されることにより、行われるドライブの準備は最小である。このような高速フォーマット動作は、各ブロックが記憶媒体の使用に先立って個々にフォーマットされている標準フォーマット技法を使用する新しい５１２バイトブロックドライブの導入と比較して、ＶＡ７１００／７４００／７４１０／７１１０等の記憶アレイが略瞬時にこのディスクを包含し使用することができることを意味する。不都合なことに、この高速フォーマットは、ディスクをドライブが５２０バイトブロックフォーマットとして報告する状態にするが、すべてのブロックは実際には５１２バイトブロックサイズにフォーマットされたままである。しかし、記憶アレイはこの新しい想定に気づかず、ブロックを書き込み前に読み取る場合がある。書き込み前に読み取ると、誤った故障予測に繋がり得る冗長的な再試行および累積エラーが発生し得る。
【０００５】
したがって、高速フォーマット済み媒体をデータ記憶媒体アレイに統合する方法が必要である。
【発明を実施するための最良の形態】
【０００６】
本発明の一態様による例示的なデータ記憶媒体アレイ（本明細書中以下、「アレイ」）２００を図２のブロック図に示す。アレイ２００は、一実施形態では、アレイ２００の一部であっても、またはリンク２３０（たとえば、ネットワークまたは他の都合のよいリンク）を介して接続されてもよいトポロジマネージャ２２０によって制御される。トポロジマネージャ２２０は、アレイ内の様々なデータ記憶媒体を初期化することができ、アレイ２００にデータを記憶することができ、かつ／またはブロックフォーマット制御信号を生成して、アレイ２００内のデータ記憶媒体（本明細書中以下、「ドライブ」）２１０のブロックフォーマットを開始することができる。図２は、例として８つのドライブ２１０を示す。当業者にとって容易に理解されるように、他のアレイ構成を実施することも可能である。したがって、図２のアレイは単なる例示にすぎず、本発明の範囲を限定するものではない。
【０００７】
本発明によるデータ記憶媒体という語は、テープおよびディスク等のデータ記憶媒体、および当業者にとって容易に理解される他のデータ記憶媒体を含むものとして広く解釈されることを意図し、したがって本発明の範囲の限定を意図するものではない。説明のみを目的とし、本発明を限定せず、本発明の実施形態について、ＲＡＩＤアレイにおいて一般に実施されるハードディスクドライブを参照して以下説明する。
【０００８】
図１を参照すると、ブロック１００において、本発明の方法の一実施形態の第１のステップは、高速フォーマットインジケータがデータ記憶媒体に設定されているか否かを判断することである。本発明の一実施形態は、ドライブの追加および「高速フォーマット」の直後に実施することができる。この実施形態では、フォーマットテンプレートが設定された後、高速フォーマットビット等の高速フォーマットインジケータを設定することができる。高速フォーマットインジケータは、書き込み用のフォーマットテンプレートのみが設定され、初期化中に読み取られるエリアにはまだ書き込まれていないことを示すために使用される。
【０００９】
ブロック１１０を参照すると、高速フォーマットインジケータが設定されている場合、データ記憶媒体アレイの初期化中に読み取られるデータ記憶媒体のいずれのブロックにもまず書き込みが行われる。記憶媒体アレイの初期化中に読み取られる記憶媒体のブロック領域としては、たとえば、ドライブのメンバーシップメタデータスタンプエリアを挙げることができる。「初期化」は、電源投入中またはディスクをアレイに包含する間のすべての動作として広く定義される。記憶媒体の初期化中に読み取るべきブロックは、経験的またはその他の方法で決定することができる。記憶媒体によっては、媒体内の固定エリアのごくわずかな部分が読み取られる。しかし、記憶媒体によっては、初期化中に読み取るエリアがはるかに大きいものもある。一実施形態では、トポロジマネージャシステムを使用して、ドライブサイズまたは他の或る基準に基づいて、メタデータスタンプをデータ記憶媒体に書き込むべき場所を回転立ち上げ中に求めることができる。初期化中に書き込むべきブロックを求める方法は本発明において限定されない。
【００１０】
上記書き込みステップが行われた後、本方法が行われたことを示すように高速フォーマットインジケータを変更することができる。
【００１１】
初期化後、データチャンクが書き込まれる際に、ブロックセット（チャンク）の書き込み動作の粒度は、最大読み取りサイズ以上であるべきである。たとえば、データ復元動作中、別のディスクに移すべきデータが８メガチャンクで読み取られる場合、書き込むべきブロック数は、その８メガチャンクのごくわずかな部分が実際に読み取られる場合であっても８メガチャンクの包含に十分なブロック数になる。したがって、高速フォーマットインジケータが設定され、データ記憶媒体アレイの初期化中に読み取られるデータ記憶媒体のいずれのブロックにもまず書き込みを行うステップが行われる場合、システムはその後、すべての書き込みが最大読み取りサイズ以上のサイズで行われるライト・ビフォア・リード・モデルに従う。本発明の一実施形態では、図２のトポロジマネージャ２２０は、ブロック１００および１１０のステップを実行するように設定することができる。上記例でのサイズ数は本発明を限定しないことに留意する。
【００１２】
一実施形態では、データ書き込みおよび読み取りを行う（初期化書き込みおよび読み出しとは対照的に）任意のファームウェア構成要素がライト・ビフォア・リード・モデルに従わないかどうかを経験的にまたは他の方法で判断する動作を提供することができる。このような動作は、まだ書き込まれていないため、正しいフォーマットにまだリフォーマットされていないブロックの読み取りを妨げる。このようなファームウェアが特定される場合、適正なブロックフォーマットに設定するために、このようなファームウェアによって読み取られるいずれの領域にも書き込みを行わなければならない。
【００１３】
一実施形態では、別個のステップを行って記憶システムの読み取りサイズを求めることができる。ステップは経験的に求めても、または他の或る都合のよい様式で求めてもよい。
【００１４】
図３は、本発明のさらなる実施形態のフローチャートである。ブロック３００は、記憶システムの最大読み取りサイズを求めるために行われるステップである。ブロック３１０において、高速フォーマットインジケータが設定されているか否かを判断する動作が行われる。ブロック３２０において、高速フォーマットインジケータが設定されている場合、データ記憶媒体アレイの初期化中に読み取られるデータ記憶媒体のいずれのブロック（ドライブのメンバーシップメタデータスタンプエリア等）にもまず書き込みを行うステップが行われる。ブロック３３０において、高速フォーマットインジケータを変更する動作が行われる。ブロック３４０において、その後、すべての書き込みが最大読み取りサイズ以上のサイズで行われるライト・ビフォア・リード・モデルに従う。
【００１５】
一実施形態では、データ記憶媒体アレイはＲＡＩＤデータ記憶媒体アレイを含むことができ、データ記憶媒体はハードドライブを含むことができる。所望のブロックフォーマットは５２０バイトであることができ、現在のブロックフォーマットは５１２バイトであることができる。
【００１６】
図４を参照して、一実施形態の動作の論理フローを説明する。ステップ４００において、システムに追加すべきドライブのブロックサイズが何であるかが求められる。ステップ４０２において、ブロックサイズが５１２である場合、高速ブロックフォーマットが設定されているか否かが判断される。設定されている場合、このビットは設定されていたが、フォーマットコマンドは送られていなかった、または失敗したため、ステップ４０４においてエラー状態が設定される。エラー状態は、一実施形態では、０バイトブロックサイズを報告して不首尾フォーマットを示すことができる。高速ブロックフォーマットが設定されていない場合、ステップ４０６において、高速フォーマットビットがイネーブルされる。ステップ４０８において、ブロックサイズテンプレートが５２０に設定される。ステップ４１０において、フォーマットユニットコマンドがドライブに送られる。ステップ４１２において、高速フォーマットが完了したか否かが判断される。完了している場合、メタデータが、書き込み前にまず読み取られるドライブのエリアに書き込まれる。次いで、ステップ４１６において、高速フォーマットビットがディセーブルされ、ドライブは５２０バイトブロックと併用する準備が整う。
【００１７】
別法として、アレイサイズがすでに５２０であると判断される場合、ステップ４２０において、高速フォーマットビットが設定されているか否かが判断される。設定されている場合、エラー状態がブロック４２４において設定され、書き込み前に読み取るべきメタデータがドライブに書き込まれていなかった、または高速フォーマットビットをリセット前にクリアすることができなかったことを示す。高速フォーマットビットが設定されていない場合、ステップ４２２において、ドライブが適宜フォーマットされ、メタデータを読み取ることができ、ドライブが５２０バイトブロックと併用する準備が整っていることが列挙される。
【００１８】
本発明の実施形態のいくつかの利点は時間の節減である。製造する際に、本発明を使用して、システムを出荷に向けて準備するのにかかる時間に影響を及ぼすことができる。たとえば、（製造時にシステムにオートフォーマットを準備する時間）−（システムに高速オートフォーマットを準備する時間）＝時間の節減、（時間の節減）×（１分当たりの動作コスト）＝総節減。
【００１９】
別法として、ドライブをフォーマットする際に実現される現場での節減は、以下のように説明することができる。（ディスクをオートフォーマットする時間）−（ディスクを高速オートフォーマットする時間）＝時間節減、（時間節減）×（１分当たりのカスタマーエンジニアコスト）＝総節減。
【００２０】
一例として、（７３ギガフォーマット４０分）−（７３ギガ高速フォーマット３分）〜＝３７分、（３７分）×（＄３００／６０分）＝（１訪問／取り付け）当たりの総節減＄１８５。いくつかの実施形態では、ディスクのフォーマットに必要な時間量は容量に伴って線形に増減することがわかっている。将来には、ドライブ容量が伸びるにつれ（たとえば、ディスク容量が２倍の１４６ＧＢになると、低速フォーマットに８０分、高速フォーマットに６分かかる）、本発明のいくつかの実施形態によって生み出される節減量は線形に増大することができる（１訪問当たり＄１８５から＄３７０に）。製品の寿命にわたり、ディスクを現場で交換する、または新しいディスクを追加する場合、１訪問当たりのこのコストは、総保証コストに対して大きな影響を有することができる。
【００２１】
本明細書に提供するフローチャートは特定の順序の方法ステップを示すが、これらステップの順序は図示の順序と異なってもよいことが理解されることに留意されたい。また、２つ以上のステップを同時に、または一部同時に行うことも可能である。このような変形は、主に設計者の選択で選択されるソフトウェアおよびハードウェアシステムに依存する。このような変形はすべて本発明の範囲内であることが理解される。同様に、本発明のソフトウェアおよびウェブ実施は、ルールベースの論理および他の論理を使用して様々なデータベース探索ステップ、相関付けステップ、比較ステップ、および判断ステップを実現する標準のプログラミング技法を使用して実現することができる。本明細書および特許請求の範囲において使用される「構成要素」という言葉は、ソフトウェアコードの１つまたは複数のライン、および／またはハードウェア実施態様、および／または手動入力を受け取る機器を使用する実施態様を包含することを意図することにも留意されたい。
【００２２】
本発明の好ましい実施形態の上記説明は、例示および説明を目的として提示された。網羅的である、すなわち本発明を開示された厳密な形態に限定する意図はなく、上記教示に鑑みて変更形態および変形形態が可能であるか、または本発明の実施から得ることができる。実施形態は、当業者が意図する特定の用途に適するように様々な実施形態で、また様々な変更を行って本発明を利用することができるように、本発明の原理および本発明の実際の応用を説明するために選択され説明された。本発明の範囲は本明細書に添付の特許請求の範囲およびその等価物に規定されることを意図する。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態によるデータ記憶媒体アレイ内にある、またはデータ記憶媒体アレイに追加すべきデータ記憶媒体をブロックフォーマットする方法のフローチャートである。
【図２】トポロジマネージャと併せて記憶媒体のブロックを示す概略ブロック図である。
【図３】本発明のさらなる一実施形態によるデータ記憶媒体アレイ内にある、またはデータ記憶媒体アレイに追加すべきデータ記憶媒体をブロックフォーマットする方法のフローチャートである。
【図４】本発明の全体的な動作の一実施形態のフローチャートである。
【符号の説明】
【００２４】
２００：データ記憶媒体アレイ
２１０：データ記憶媒体（ドライブ）
２２０：トポロジマネージャ
２３０：リンク
【図１】
0004669728.tif 000002
【図２】
0004669728.tif 000003
【図３】
0004669728.tif 000004
【図４】
0004669728.tif 000005