(57)【要約】  本発明の実施の形態は、ディスク媒体に記憶されるデータの信頼性を改善するための方法およびシステムを提供する。論理的冗長性が前記データに導入され、論理記憶ユニットのデータが複数のセクタに分割され、これらのセクタは、他の論理記憶ユニットのセクタとインターリーブされることによって空間的に分離されたものである。前記論理的冗長性および空間的分離は、指紋またはひっかき傷によって生じる損傷のような記憶ディスクに対する局部的な損傷の影響を減少または最小化する。このようにして、データは、１つのセクタが正しく読み取られることを阻止するエラーの存在にもかかわらず該データが修復される可能性を向上するレイアウトでディスクに記憶される。【選択図】図１Ａ
2010500698.tif 000002
【特許請求の範囲】
【請求項１】
エラー保護のために論理的冗長性および空間的分離をもたせた状態に、データをディスク記憶媒体に記録するためのコンピュータによって実現される方法であって、
記録すべきデータを、各々が少なくとも２つのセクタからなる少なくとも１つの論理記憶ユニットに分割するステップと、
各前記論理記憶ユニットごとのチェックサムを決定するステップと、
各前記セクタおよび各前記論理記憶ユニットごとのチェックサムを、少なくとも１０個のセクタの間隔でディスク記憶媒体に記録するステップと、
を具備した方法。
【請求項２】
前記ディスク記憶媒体への記録がUDFに準拠したものである請求項１に記載の方法。
【請求項３】
各前記論理記憶ユニットが少なくとも１０個のセクタからなる請求項１に記載の方法。
【請求項４】
各前記セクタが２キロバイトのデータからなる請求項１に記載の方法。
【請求項５】
前記ディスク記憶媒体が一層のディスクである請求項１に記載の方法。
【請求項６】
前記ディスク記憶媒体が二層のディスクである請求項１に記載の方法。
【請求項７】
前記論理記憶ユニットがインターリーブされている請求項１に記載の方法。
【請求項８】
各前記論理記憶ユニットが、前記ディスク記憶媒体上における該論理記憶ユニットの半径方向位置に応じた数のセクタからなる請求項１に記載の方法。
【請求項９】
各前記論理記憶ユニットのセクタおよびチェックサムは、少なくとも３２個のセクタの間隔でディスク記憶媒体に記録される請求項１に記載の方法。
【請求項１０】
所望のエラー率を満足させるようディスク記憶媒体におけるデータレイアウトを作成する方法であって、
基準エラー特性を決定するステップと、
前記ディスク記憶媒体のディスク容量を含むパラメータを決定するステップと、
所望のエラー率を決定するステップと、
エラー保護のための、前記ディスク記憶媒体の許容可能容量損失を決定するステップと、
決定された前記基準エラー特性、ディスク記憶媒体のパラメータ、所望のエラー率、および、前記ディスク記憶媒体の許容可能容量損失に基づいて、１論理記憶ユニットあたりのデータ量を算出するステップと、
前記１論理記憶ユニットあたりのデータ量に従ってデータのレイアウトを作成するステップと、
を具備した方法。
【請求項１１】
前記基準エラー特性が、基準エラーのサイズおよび分布の特性からなる請求項１０に記載の方法。
【請求項１２】
前記基準エラー特性が、指紋の特性からなる請求項１１に記載の方法。
【請求項１３】
前記基準エラー特性が、ひっかき傷の特性からなる請求項１１に記載の方法。
【請求項１４】
前記ディスク記憶媒体のパラメータが、記憶容量のパラメータからなる請求項１０に記載の方法。
【請求項１５】
前記ディスク記憶媒体のパラメータが、該ディスク記憶媒体の物理的寸法のパラメータからなる請求項１０に記載の方法。
【請求項１６】
前記所望のエラー率が、標準化機構によって指定されるものである請求項１０に記載の方法。
【請求項１７】
前記ディスク記憶媒体の許容可能容量損失が約１０%である。
【請求項１８】
前記作成されたデータのレイアウトに従ってディスクにデータを記録するステップを更に具備した方法。
【請求項１９】
エラー保護のために論理的冗長性および空間的分離をもたせた状態に、データをディスク記憶媒体に記録するためのコンピュータプログラム製品であって、コンピュータによって読み取り可能な媒体に記憶され、
記録すべきデータを、各々が少なくとも２つのセクタからなる少なくとも１つの論理記憶ユニットに分割し、
各前記論理記憶ユニットごとのチェックサムを決定し、
各前記セクタおよび各前記論理記憶ユニットごとのチェックサムを、少なくとも１０個のセクタの間隔でディスク記憶媒体に記録する、
処理を行うよう構成されたコンピュータプログラム製品。
【請求項２０】
所望のエラー率を満足させるようディスク記憶媒体におけるデータレイアウトを作成するためのコンピュータプログラム製品であって、コンピュータによって読み取り可能な媒体に記憶され、
基準エラー特性を決定し、
前記ディスク記憶媒体のディスク容量を含むパラメータを決定し、
所望のエラー率を決定し、
エラー保護のための、前記ディスク記憶媒体の許容可能容量損失を決定し、
決定された前記基準エラー特性、ディスク記憶媒体のパラメータ、所望のエラー率、および、前記ディスク記憶媒体の許容可能容量損失に基づいて、１論理記憶ユニットあたりのデータ量を算出し、
前記１論理記憶ユニットあたりのデータ量に従ってデータのレイアウトを作成する、
処理を行うよう構成されたコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶に関し、特に、光ディスクまたはその他のディスク記憶媒体に記憶されたデータのためのエラー訂正システムおよび方法に関する。
【０００２】
関連出願の説明
本出願は、２００６年８月１０日に出願された米国特許仮出願No.６０/８２２,０２４および２００７年８月８日に出願された米国特許出願No.１１/８３５,９７１(これらは、その出典を記載することによって本明細書の一部とする)に対する米国特許法１１９条(c)に基づく優先権を主張するものである。
【背景技術】
【０００３】
近年、ますます多くの人々がコンピュータを毎日のビジネスおよび個人的活動の一部としてきているのに伴い、コンピュータに記憶されるデータの量は飛躍的に増大している。コンピュータシステムは、膨大な音楽およびビデオライブラリ、貴重なディジタル写真、大事なビジネス契約、重要な会計データベース、ならびに、大量のドキュメントおよびその他のデータを記憶する。一般的な記憶手段としては、光ディスクまたはその他のディスク記憶媒体がある。
【０００４】
しかし、不幸にも、コンピュータの出現以来、コンピュータによって読み取り可能な媒体に記憶されたデータを消失するという危険が絶えず存在している。このような消失の結果は悲惨なものであるので、修復不能なエラーが発生する可能性を減少させるための方法が開発されている。例えば、ディスクの故障から発生するおそれのあるデータ消失からのより高いレベルの保護(耐故障性)を提供するRedundant Array of Independent Disks(RAID)技術が開発された。０から５までのRAIDレベルを有するRAID技術は、多数のディスクを使用して１つの論理記憶ユニットを形成する。このようなRAID技術の実現にもかかわらず、記憶媒体の読み取りを行う際には極めて高い修復不能エラー率が生じており、このようなエラー率は、娯楽コンテンツ配信以外では特に問題となっている。
【０００５】
現在必要とされているのは、指紋や引っかき傷のような日常的なエラー原因による機械的な損傷が発生しているディスクから読み出されたデータを修復するための方法およびシステムである。
【発明の概要】
【０００６】
本発明の実施の形態は、ディスク媒体に記録(記憶)されるデータの信頼性を改善するための方法およびシステムを提供する。論理的冗長性が前記データに導入され、論理記憶ユニットのデータが複数のセクタに分割され、これらのセクタは、他の論理記憶ユニットのセクタとインターリーブされることによって空間的に分離されたものである。前記論理的冗長性および空間的分離は、指紋またはひっかき傷によって生じる損傷のような記憶ディスクに対する局部的な損傷の影響を減少または最小化する。このようにして、データは、１つのセクタが正しく読み取られることを阻止するようなエラーの存在にもかかわらず、該データが修復される可能性を向上するようなレイアウトでディスクに記憶される。
【０００７】
一実施の形態において、特定の性能目標を実現するための１ストライプあたりのセクタの数を算出するための方法が提供される。他の実施の形態において、信頼性向上のために、許容可能ディスク容量損失に基づいて、記憶ディスクのエラー率を調整するための方法が提供される。さらに他の実施の形態において、前記論理的冗長性および空間的分離の方式が、ディスク媒体の区分されたレイアウトに従って実行される。
【０００８】
他の実施の形態において、本発明の方法は、光媒体ライブラリ内において１つまたは複数のジュークボックスとして構成された１つまたは複数のディスクドライブを使用して一群の光ディスクにデータを記憶する永久記憶装置によって実行される。追加的な媒体ライブラリを接続することによって、追加的な記憶スペースまたは記憶位置が付加され得る。
【０００９】
本発明は、汎用または専用のプロセッサを介してコンピュータによって実行される処理、コンピュータ装置、コンピュータプログラム製品を含む様々な実施の形態を有する。この発明の開示部分および以下の詳細説明部分に記載された特徴および利点が、本発明の特徴および利点のすべてではない。多くの他の特徴および利点は、図面、詳細な説明および特許請求の範囲から、当業者に明白であろう。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の一実施の形態に従う、ディスク記憶媒体に記録されたデータの論理的冗長性および空間的分離を示す図。
【００１１】
【図１Ｂ】本発明の一実施の形態に従う、UDFディスクに記録されたデータの論理的冗長性および空間的分離を示す図。
【００１２】
【図２】エラー発生確率、対、ディスクにおいて影響された連続したセクタの数の関係を示すグラフを示す図。
【００１３】
【図３】本発明の一実施の形態に従う、ディスク上の様々な放射状バンドにおける１回転あたりのセクタ数を示す図。
【００１４】
【図４】本発明の一実施の形態に従う、ディスク上の１つのストライプ内のセクタの物理的分離を示す図。
【００１５】
【図５】本発明の一実施の形態に従ってデータを記憶するシステムを示す図。
【００１６】
【図６】本発明の一実施の形態に従う、１ストライプあたりのセクタの数を算出する方法を示すフローチャート図。
【００１７】
【図７】本発明の一実施の形態に従う論理的冗長性および空間的分離を使用してデータをディスクに記憶する方法を示すフローチャート図。
【００１８】
図は、例示目的でのみ本発明の実施の形態を図示するものである。当業者に容易に理解されるように、以下の説明から、ここに例示する構成および方法の他の実施の形態が本発明の原理を逸脱することなく使用可能である。
【発明を実施するための形態】
【００１９】
図１Aは、本発明の一実施の形態に従う、ディスク記憶媒体に記録されたデータの論理的冗長性１０１および空間的分離１５１を示す。図示したデータ配置は、論理的損傷による影響を減少または最少化することを目的としている。前記ディスク記憶媒体１００は、被保護データ１６２を有するディスクエリアを含む。該被保護データ１６２は、ユーザデータ１６３および“ヘッダデータ”１６１と称されるディスクの初め部分のデータのようなオーバヘッドの１つまたは複数からなる組合せまたは、または、これらのデータのサブパート(副部品)であってよい。当業者に認識されるように、前記ヘッダデータ１６１の内容は、前記ディスク記憶媒体１００の種類、フォーマットおよび構成に応じて決まる。図１Aに示す例において、前記被保護データ１６２は、ユーザデータ１６３およびヘッダデータ１６１を含む。他の例において、前記被保護データ１６２は、ユーザデータのみを含むものであってもよく、１つのセッションのようなユーザデータの一部を含むもの、または、ユーザデータの一部とオーバヘッドの一部を含むもの、または、前記ユーザデータおよびオーバヘッドのその他の組合せからなるものであってもよい。さらに、前記ディスク記憶媒体１００は、オーバヘッド１６４、エラー訂正コード(ECC: Error Correction Code)データ１２０、および、“トレーラデータ"１６５と称するディスクの終わり部分のデータを含む。さらに、当業者に認識されるように、前記オーバヘッド１６４およびトレーラデータ１６５もまた、前記ディスク記憶媒体１００の種類、フォーマットおよび構成に応じて決まる。前記エラー訂正コード１２０は、ECCアルゴリズムを使用することによって、前記被保護データ１６２から算出された冗長データである。換言すれば、以下にのべるように、前記ECCデータは前記被保護データ１６２の関数である。
【００２０】
図１Aは、いかに論理的冗長性１０１が前記ディスク記憶媒体１００に記憶されたデータに導入され得るかの一般例を示す図である。ユーザデータ１６３を含む前記被保護データ１６２は、以下“セクタ”と称される基本データブロックに分割されている。各前記セクタは、本実施の形態では２KB(キロバイト)〜３２KBであるサイズS(B)を有する。論理記憶ユニットはストライプ１１０と称される。１つのストライプ１１０は、１つ以上のセクタS(１), S(２), ... S(M)を含む。多数のストライプ１１０が、前記被保護データ１６２内に存在可能であり、インターリーブ(交互配置)可能である。一実施の形態において、すべてのストライプ１１０は同一数のセクタを含んでいる。代替案として、ストライプのサイズは、ディスクの半径方向の位置に応じて変化してもよい。後述するように、一般的なエラーの相対的なサイズは、ディスク記憶媒体における半径方向の位置の関数として変化する。ストライプサイズが大きければ、ECCデータを格納するのに必要なスペースを小さくし、従って、ユーザデータ１６３を記憶するのに利用可能なスペースを大きくし、該記憶媒体の効率を向上できる。
【００２１】
各ストライプ１１０は、対応する冗長データを前記ECCデータ１２０に記憶している。前記ECCデータ１２０は、ECCアルゴリズムを使用することによって、前記被保護データ１６２から算出された冗長データである。例えばチェックサムを含む(しかしチェックサムを含むものに限定されない)当技術分野において公知の任意のECCアルゴリズムが使用されてよい。従って、前記ECCデータ１２０またはストライプ１１０いずれかのセクタS(１), S(２), ... S(M)がエラーに影響された場合、該データは他のセクタを使用して修復可能である。
【００２２】
さらに、図１Aは、いかにして空間的分離１５１が実現され得るかについての一般例を示す。図１Aに示すように、１つのストライプ１１０のセクタS(１), S(２), ... S(M)は、ユーザデータ１６３の全体にわたって分散している。従って、同一のストライプ１１０のセクタは、互いに極めて近接して出現することはない。ストライプ１１０のセクタの空間的分離１５１は、指紋やひっかき傷のような一般的なエラー原因がストライプ１１０の２つ以上のセクタを損傷させる可能性を低くするので有益である。ストライプ１１０のセクタの配置およびECCデータ１２０の配置は、図１Aに示したものに限定されない。他の実施の形態において、ECCデータ１２０およびストライプ１１０のセクタは当該ディスクの他の箇所にあってよいが、ストライプ１１０のセクタと対応するECCデータ１２０とは、互いに空間的に分離される。
【００２３】
図１Bは、本発明の一実施の形態に従う、UDFディスク１８０に記録されたデータの論理的冗長性１０１および空間的分離１５１を示す。この実施の形態において、前記データのレイアウト(配置)は、UDFに準拠しており、いずれの標準的なシステムでも読み取り可能である。前記UDFディスク１８０は、UDFヘッダ１８１によって一括されたUDFデータパーティション１８２と、UDFトレイラ１８５とを備えている。当業者に理解されるように、“UDFヘッダ”１８１および“UDFトレイラ”１８５とは、UDFに準拠するための標準的UDF情報および/または他のデータを含んでいてよいUDFディスク１８０のそれぞれの部分を示す。図１Bの例において、被保護データ１８２は、UDFヘッダ１８１と、ユーザデータを含むUDFデータパーティション１８２の一部とを含む。一実施例において、前記UDFトレイラ１８５は、前記UDFヘッダ１８１の情報のコピーを含むので被保護データ１８２にも含まれていない。前記被保護データ１８２は複数のストライプ１１０に分割され、ECCデータ１２０は、ECCアルゴリズムを使用することによって、被保護データ１８２から算出された冗長データである。この例においては、後述のように、チェックサムCsum(S)１２２が使用される。
【００２４】
各ストライプ１１０ごとに、当該技術分野で公知のディスクRAIDサブシステムに使用されているチェックサム算出方法と同様なCsum(S)=S(１) XOR S(２), ・ XOR S(M)を使用して算出される。各ストライプ１１０ごとのチェックサム１２２は、UDFディスク１８０上のECCデータ１２０内のセクタに書き込まれる。１つの実施の形態において、前記チェックサムのセクタ１２２は、ストライプ１１０のセクタと同じサイズである。前記チェックサムまたはいずれかのセクタS(１), S(２), ... S(M)がエラーによる影響を受けた場合、当該データは、他のセクタを使用することによって修復可能である。
【００２５】
前記論理的冗長性１０１の実施において、データ記憶容量とエラー率との間のトレードオフがある。１つの実施の形態において、約１０%のエラー率改善を実現するために、１０%の容量上のペナルティ(犠牲)が支払われる。ここで、説明の便宜のために、UDFディスク記録媒体１８０の記録エリア全体にわたってエラー率が一様であると仮定する。信頼性改善度を算出するために、１つのセクタS(B)サイズのブロックが判読不能である確率はPS1であると仮定する。業界指定されたDVDの修復不能読み取りエラー率による推定によると、PS1=１０-12 xNビットである。S(B)=２KBである場合、Nビットは約２×８×１０3または約１０4である。故に、１つのエラーあたり、PS1=約１０-8である。上記エラー保護方法が失敗するには、一番目のエラーが発生したM+１セクタ(ストライプ１１０のセクタまたは対応するチェックサムCsum(S)セクタ１２２)のうちの１つに影響する二番目のエラーがなければならない。前記一番目のエラーおよび二番目のエラーが互いに独立したイベントであり、従って、前記二番目のエラー単独での確率がPS2= PS1×(M+１)であると仮定する。M>６の場合、説明を簡単にするために、M+１=１０と仮定する。このため、PS2はPS1より大きい桁である。前記エラー保護方法が失敗する合計確率は、PS1×PS2= (PS1)2×１０=１０-15である。同じブロックサイズを使用するテープ記憶媒体と等価の値は、１０-17×１０4=１０-13である。従って、本発明の実施の形態を使用することによって、少なくとも２桁の改善が実現される。
【００２６】
上述した演算における最も重要な前提は、合計エラー確率の推定である。ここで、それが正しいと仮定して、様々なパラメータの効果を説明する。Mの値を大きくすることにより、チェックサムのオーバーヘッドの減少が可能になる。ディスクRAIDとは異なり、XOR Csumの計算は焼き付けのための光イメージを作成する時にのみ行われるので、前記CPUの消費はそれほど重要ではない。さらに、RAIDとは異なり、CPUに対する要求がMの増加と共に大きくなることによる影響に対する感度不足が存在する。１つのストライプ１１０におけるセクタの数に関わらず、XOR機能は、前記保護データ１８２の全内容に対して一度適用されることになる。しかしながら、１つのストライプ１１０におけるセクタの数が大きくなるほど、信頼性改善度が小さくなる。従って、信頼性改善度を最大化するために、最小のS(B)の値および最小のMの値が使用され、これらは、信頼性のために犠牲にされる記憶量に応じて決定される。例えば、UDFディスクのわずか１５%のECCデータ記憶スペースのうちの７%がディスク外縁における高いエラー率のために失われた場合、約８%がECCデータ１２０のために利用可能であり、このため、M=１２のストライプサイズとなる。また、ディスクの外縁がECCデータ１２０のために利用される場合、保護データ１８２の残りの部分とは異なるECCデータ１２０におけるエラー率を得るために、上記演算が調節されなければならない。
【００２７】
上述の如く、本発明は、論理的冗長性および空間的分離を使用して、指紋や引っかき傷によって生じた損傷のような記憶媒体に対する局部的な損傷による影響を最少化することによって、ディスク媒体に記憶されるデータの信頼度を完全する。対照的に、標準的なDVDエラー訂正は、表面における製造上の欠陥からディスクを保護する。本発明の方法およびシステムは、標準的なDVDエラー訂正の作用以上の作用を実現するものであり、異なるエラー発生源および異なるエラーパターンに対する保護を実現する。上記２つの技術は、相補的なものであり、記憶されたデータについてより大きな保護を実現するために一緒に使用されることができる。上述の如く、論理的冗長性および空間的分離は、１つのディスクについて使用される。しかしながら、さらに追加的なディスクまたはディスク媒体が利用可能である場合、当業者に理解されるように、論理的冗長性および空間的分離は複数の媒体にわたって拡張されることができる。最適なストライプ長またはその他の要因が異なるエラーパターンに対応するよう変更されてもよいが、ここに説明するシステムおよび方法は、１グループのディスク全体にわたる許容可能なエラー率および効率レベルを対象にしてもよい。
【００２８】
図２は、エラー発生確率、対、ディスクにおける影響された連続したセクタの数の関係を示すグラフを示す。図２は、これらの変数間には逆の関係がある。一般的に、少数の連続したセクタに影響するエラーは比較的多数あるが、多数の連続したセクタに影響するエラーは比較的少ない。DVD+R DL(Double Layer)技術から本発明者が学んだデータに基づき、次の２つのポイントが特に注目される。１０個の連続したセクタについてはエラーの発生確率が大きく減少するように思え、３２個を超える連続するセクタについては感知できるほどの確率減少は無いように思える。この関係は、１つのエラーがストライプにおける１つ以上のセクタに影響する可能性を減少させるよう、ストライプのセクタを配置すべきことを示すために使用されている。一実施の形態において、１つのストライプのセクタは、少なくとも１０個のセクタの間隔で配置される。他の実施の形態において、１つのストライプのセクタは、少なくとも３２個のセクタの間隔で配置される。
【００２９】
図３は、本発明の一実施の形態における、ディスク３４０の様々な放射状バンドにおける１回転あたりのセクタ数を示す。図示の如く、ディスク３４０の表面は、１回転を構成セクタ数に基づいて、バンド３３１, ３３２, ３３３に分けられている。図示すように、それぞれの１回転あたりセクタ数を有する３つのバンド３３１, ３３２, ３３３が存在するが、図３に示したバンドは単なる一例である。１回転あたりのセクタ数および該ディスク上におけるバンドの数は、記憶媒体の表面の寸法およびセクタの物理的長さに応じて決まる。該媒体の半径が大きくなるのに伴い、１回転あたりセクタ数が増加する。また、この関係は、１つのエラーがストライプの２つ以上のセクタに影響する可能性を減少させるよう、ストライプのセクタを配置すべきことを示すために使用されている。例えば、１つの配置例によると、該ストライプにおける前のセクタから２回転プラス３セクタ離れてセクタが配置され、前記セクタは２つの軸に沿って互いにオフセットされる。１回転あたりセクタ数が増加するのに伴い、当該ストライプにおけるセクタの配置間隔が大きくなる。
【００３０】
一実施の形態において、ディスク３４０の表面が複数のゾーンに分割され、該ゾーンは１つまたは複数のバンドに対応してよい。例えば、３ゾーンECC設計では前記３つのバンド３３１, ３３２, ３３３の各々について１つのゾーンを有してもよいが、他の実施の形態においては、前記ゾーンは前記バンドに必ずしも対応していない。ゾーン形式のECCの設計は、ディスク表面のリングの円周に対するエラーサイズ、すなわちエラーの湾曲範囲が、半径方向位置の関数として減少するという事実を利用するものである。例えば、親指の指紋は、５.２５インチの光ディスクの記憶エリアの内径においては約４５°をカバーするが、該ディスクの外径においては約２２°のみをカバーする。故に、１つの簡単な実施の形態においては、１つのゾーンにおけるストライプ長さは、１回転プラスECCデータの１セクタに入るセクタの数となるよう算出されてよく、この場合、前記１回転におけるセクタ同士、は２つ以上のセクタを損傷することになる親指の指紋を回避できる程度に十分相互離隔される。この実施例において、前記内径における１つのゾーンにおけるストライプ長さは、３６０°÷ ４５°プラス１、すなわち９と算出されてよい。前記外径における１つのゾーンにおけるストライプ長さは、３６０°÷ ２２°プラス１、すなわち１７と算出されてよい。この例において、エラー率は内径および外径の両方において同じになると見込まれるが、外径の方が効率が高くなる。この原理は、内径のゾーンと外径のゾーンとの間のその他のゾーンにも適用可能である。
【００３１】
図４は、一実施の形態に従う、ディスク４４０上における１つのストライプ内のセクタ４０１〜４０５の物理的分離を示す。図示のように、前記ストライプは、前記ディスク４４０上における利用可能データ記憶スペースの螺旋に沿ってディスク４４０に書き込まれた５つのセクタ４０１〜４０５を含む。図４に示すように、データは螺旋トラックフォーマットで書き込まれるが、他の実施の形態において、データは、使用されているディスク媒体の種類によって決定される同心トラックフォーマットで書き込まれてもよい。図４はセクタ４０１〜４０５の物理的分離の概念を示すが、他の実施の形態において、ディスク４４０上におけるデータ記憶スペースの螺旋にはより多くの回転があってもよく、１つのストライプ内にはより多くのセクタがあってもよい。前記セクタ４０１〜４０５は、該セクタ４０１〜４０５の物理空間的分離を保つよう、ディスク４４０上の他のデータまたは空スペースとインターリーブされることができる。このようにして、指紋４４４のようなエラーの一般的な機械的原因は、２つ以上のセクタ４０１〜４０５に影響を与える可能性は低いことになる。図４に示すように、親指の指紋４４４は、セクタ４０２を傷つけているが、他のセクタ４０１、４０３〜４０５は傷つけていない。その結果、セクタ４０２に書き込まれたデータは前記他のセクタ４０１、４０３〜４０５から修復可能である。同様に。前記ディスク４４０の表面における同様なサイズの機械的エラーの他の配置も、前記セクタ４０１〜４０５の１つのみに影響するだけである。
【００３２】
本発明者によって分析された実験データは、いくつかの設計においてディスクの外側の５〜７%を除くことによって、データ損失確率を半桁減少できることを示している。他の設計において、ディスクの外側の５〜７%を除くことによる結果は、より小さいが、該ディスクの外縁が標準的な使用により特に変形、ひっかき傷等を生じやすい場合、依然として価値のあるものである。ディスクの外側の７%より内側では、エラー率は、UDFディスクの残部の記録エリアの全体にわたって略均一である。
【００３３】
図５は、一実施の形態に従ってデータを記憶するシステム５００を示す。該システム５００は、１つまたは複数の媒体ライブラリ５１０に接続された永久記憶装置５０４にネットワーク１０１を介して接続された少なくとも１つの主記憶装置５０２を含んでいる。本実施の形態の要部をぼやかさないために、図５では、多数の、従来より公知の構成要素(例えば、クライアントコンピュータ、ファイアウォール、ルータ等)が示されていない。
【００３４】
前記主記憶装置５０２は、ネットワーク接続されたハードディスク、フロッピー（登録商標）ディスク、CD-ROM、テープドライブまたはメモリカード等の任意のデータ記憶装置であってよい。該主記憶装置５０２は、ネットワーク上のクライアントコンピュータ内の記憶装置、または、ネットワークに接続されたスタンドアローン記憶装置であってよい。図５に示すように、前記主記憶装置５０２は、たとえばネットワーク１０１を介して前記永久記憶装置５０４に接続されている。ネットワーク１０１は、インターネット、LAN、MAN、WAN、有線または無線のネットワーク、私的ネットワークまたは仮想私的ネットワーク等の任意のネットワークであってよい。
【００３５】
前記永久記憶装置５０４は、前記媒体ライブラリ５１０の制御および管理を行うものであり、標準的なネットワークファイルアクセスプロトコルによって前記媒体ライブラリ５１０に対するアクセスを可能にする。前記永久記憶装置５０４は、インターフェース５０３と、データキャッシュ５０６と、データ移行ユニット５０８とを含む。前記インターフェース５０３は、ネットワーク１０１を介して、永久記憶装置５０４からアーカイブされたファイルに対するネットワーク１０１を介したアクセスを可能にする。一実施の形態において、ネットワークファイルシステム(NFS)プロトコルは、ネットワークを介してファイルにアクセスするために使用される。NFSが使用される場合、前記永久記憶装置５０４は、NFSデーモンを実行することができる。一実施例において、ネットワークファイルシステムのバージョン３およびバージョン４がサポートされる。その代わりに、または、その追加として、Common Internet File System (CIFS:共通インタネットファイルシステム)またはServer Message Block(SMB:サーバメッセージブロック)プロトコルを使用して、ネットワークを介してファイルにアクセスできる。その代わりに、または、その追加として、他のプロトコルを使用してネットワークを介してファイルにアクセスでき、当業者に理解されるように、相補的なインターフェース５０３が実現され得る。
【００３６】
一実施の形態において、前記データキャッシュ５０６ファイルシステムは、UNIX（登録商標）での実施のためにSilicon Graphics Inc.によって作製されたジャーナリングファイルであるXFS(商標)である。該XFS(商標)は、アプリケーションが、例えばハードディスクドライブのような高速記憶装置から、光ディスクおよびテープドライブのような低速装置にデータを自動的に移送することを可能にするデータ記憶技術であるHierarchical Storage Management (HSM:階層型ストーレジ管理)をサポートするためにData Management Application Program Interface (DMAPI:データ管理アプリケーション)を実行する。前記HSMシステムは、低速装置においてデータの大部分を記憶し、必要な場合より高速のディスクドライブにデータをコピーする。一実施の形態において、前記データキャッシュ５０６は、RAIDレベル５をサポートし、ここに説明する論理的冗長性および空間的分離を実行する。一実施の形態において、前記永久記憶装置５０４に移送されるデータの安全性および完全性についての信頼度を向上させるために、他のRAIDレベルがサポートされてよく、および/または、他のデータ冗長性が前記データキャッシュ５０６内において実行されてよい。一実施の形態において、前記データキャッシュ５０６は、最も最近アクセスされたデータに高速アクセスできるようディスクに基づくものである。キャッシュされたデータは、必要に応じて、より最近アクセスされたデータに置換可能である。
【００３７】
前記永久記憶装置５０４内の前記データ移行ユニット５０８は、前記媒体ライブラリ５１０にデータをコピーし、該媒体ライブラリ５１０からデータを読み取るために使用される。前記データ移行ユニット５０８は、ステージングエリア５０９を含む。１つの媒体イメージ全体が利用可能になると、前記データ移行ユニット５０８は、前記データキャッシュ５０６から媒体ライブラリ５１０にデータをコピーする。前記データ移行ユニット５０８は、媒体イメージを媒体ライブラリ５１０に書き込んでしまうまで、ステージングエリア５０９を使用して前記媒体イメージを一時記憶する。また、前記データ移行ユニット５０８は、媒体ライブラリ５１０から媒体を読み出したり、ネットワーク１０１を介して要求側クライアントにファイルを伝送する前に該ファイルをデータキャッシュ５０６にキャッシュすることができる。
【００３８】
前記媒体ライブラリ５１０は、例えば、１つまたは複数のジュークボックスとして構成された光ディスクの一群、および、１つまたは複数のディスクドライブからなるものであってよい。一実施の形態において、媒体ライブラリ５１０は、当業者に知られている他の任意のディスク記憶装置に記憶されたデータを記憶することができる。
【００３９】
任意に、前記永久記憶装置５０４は、グラフィカル・ユーザ・インターフェイス(GUI)(図示せず)を含んでいてよい。前記GUIは、ユーザが前記永久記憶装置５０４の任意のおよび/またはカスタマイズ可能な特徴にアクセスできるようにし、管理者が永久記憶装置５０４の動作についての方針を設定することを可能にする。一実施の形態において、前記永久記憶装置５０４は、前記GUIと共働して、ユーザが永久記憶装置５０４の任意のおよび/またはカスタマイズ可能な特徴にアクセスできるようにするApache(アパッチ)ウェブサーバのようなウェブサーバを含む。GUIの代わりに、または、GUIの追加として、前記永久記憶装置５０４は、コマンドラインインターフェースを含んでいてよい。
【００４０】
図６は、特定の性能目標を実現するために使用する１ストライプあたりのセクタの数を算出する方法６００を示すフローチャート図である。ステップ６６１では、基準エラー特性、すなわち基準となるエラーのサイズおよび分布が決定される。例えば一実施例において、記憶媒体がその取扱いにより指紋によって発生するエラーに特に弱いということが判定されてよい。この例において、指紋のサイズおよび分布が判定される。例えば、１つの測定例によると、平均的な指紋は、長さが１５mmである。他の例においては、記憶媒体が、該媒体の環境条件により、特にひっかき傷に弱いということが判定される。このようにして、ステップ６６１において、基準となるひっかき傷のサイズおよび分布が決定されてよい。場合によっては、エラーが均等に分布していると仮定されてよい。他の場合においては、エラーは、例えばディスクの外縁に向けてグループ化されてよい。基準となるエラーの特性はエラー率に影響し、従って、エラーから保護するために使用される１ストライプあたりのセクタ数に影響する。
【００４１】
ステップ６６２において、ディスクパラメータが決定される。一実施の形態において、ディスクパラメータはユーザによって入力される。他の実施の形態において、ユーザはディスクのタイプを選択し、該ディスクのタイプに対応するディスクパラメータが、記憶装置のデータベースからアクセスされる。一実施例において、前記ディスクパラメータは、記憶容量、物理的サイズおよび記憶メディアのレイアウトを含む。ここで求められる他のディスクパラメータとしては、ディスクセクタ長さ、１インチあたりのトラック、報告されたエラーの最小長さ、ディスク技術に固有の最少ECCエラーの長さ、レイヤ(層)の数、総容量、セッションサイズ、半径の関数としての１回転あたりの物理的セクタ、および、スペアリングエリアがある。
【００４２】
ステップ６６３では、所望のエラー率が決定される。一実施の形態において、標準化機構の要求に従い所望のエラー率が入力される。他の実施の形態において、該エラー率は、ユーザによって許可された、または保険業者によって指定された最大のエラー率である。
【００４３】
ステップ６６４において、信頼性改善のための、ディスク容量の許容可能損失が求められる。一実施の形態においては、ディスク容量のわずか１０%のみがECCデータ１２０に利用可能である。他の実施例では、信頼性改善のために犠牲となるディスク容量は、１０%超または１０%未満であってよい。図１Bを参照して上述したように、エラー率と記憶容量との間にはトレードオフがある。一般的に、より低いエラー率を実現するためには、エラー発生の際にデータ修復に使用される冗長データのためのスペースを空けるために、より多くの記憶容量が犠牲となる。
【００４４】
ステップ６６５において、１ストライプあたりのセクタ数が、前記基準エラー特性、ディスクパラメータ、所望のエラー率およびディスク容量の許容可能損失から算出される。上述の如く、１ストライプ１１０あたりのセクタ数が大きいほど、信頼性の改善が小さくなる。このようにして、信頼性の改善を最大化するために、１ストライプあたりのセクタ数は、信頼性の改善のためにディスク容量の許容可能損失の量に応じて決定される１ストライプあたりのセクタ数の最小値が使用される。RAID５ディスクアレイとは異なり、容量犠牲(ペナルティ)対エラー率の改善は調節可能である。より高い信頼性改善を実現するためにより多くの容量を犠牲にでき、また、より大きなデータ記憶容量を実現するために信頼性を犠牲にできる。
【００４５】
例えば、ステップ６６１において前記基準エラー特性が直径１５mmの指紋であると決定され、当該ディスク媒体上のランダムな位置においてただ１つの指紋が発生する可能性があると決定され、ステップ６６２において前記ディスクパラメータが直径５.２５インチの光ディスクであると決定され、ステップ６６３において前記所望のエラー率が１/１E１５であると決定された場合、ステップ６６５において、上述の等式法に従って、１ストライプあたりのセクタ数は８と算出されることができる。
【００４６】
図７は、一実施の形態に従うデータ冗長性および空間分離を使用してデータをディスクに記憶するための方法７００のフローチャート図である。ステップ７７１では、記憶すべきデータが受け取られる。例えば、前記永久記憶装置５０４が、ネットワーク１０１を介して主記憶装置５０２からデータを受け取る。
【００４７】
ステップ７７２では、前記データが、前記１ストライプあたりのセクタ数に従って複数のストライプに分けられる。一実施の形態において、前記１ストライプあたりのセクタ数は、図６を参照して説明した方法６００に従って算出された。他の実施の形態では、前記１ストライプあたりのセクタ数は、予め固定された数、例えば１５セクタである。
【００４８】
ステップ７７３では、前記１ストライプあたりのセクタ数に従って、データ冗長性が作成される。一実施例において、当該技術において公知のディスクRAIDサブシステムについて使用されるチェックサム計算と同様なCsum(S) = S(１) XOR S(２) ... XOR S(M)を使用してチェックサムが計算される。各ストライプ１１０ごとのチェックサムは、UDFペイロード１６２のチェックサムデータ部１６４内のセクタ１２０に書き込まれる。代案として、ステップ７７３において、当該技術において公知の他のECCアルゴリズムを使用して、前記データ冗長性を作成してよい。
【００４９】
ステップ７７４では、ストライプのセクタの空間的分離を実現するために、ストライプがインターリーブされる。このようにして、同一のストライプ１１０のセクタは、互いにすぐ近接して出現しないことになる。むしろ、ある１つのストライプのセクタは、他のストライプの他のセクタを間に挟んで、例えば少なくとも１０セクタの相互間隔で配置される。１つのストライプ１１０のセクタの空間的分離は、親指指紋または引っかき傷等のいくつかの連続したセクタに影響する共通エラー原因が１つのストライプ１１０の２つ以上のセクタを傷つける可能性を小さくするので有利である。一実施例において、前記セクタの長さは約５mmであり、最も多い共通エラー原因は指紋であり、該指紋の直径は約１５mmである。従って、一実施の形態において、１つの指紋が同じストライプの２つのセクタを損なうことがないよう、１つのストライプの各セクタを該ストライプの前のセクタから２回転プラス３セクタだけ離して配置することによって、前記セクタの空間的分離が実現される。
【００５０】
一実施の形態において、例えば永久記憶装置５０４のデータ移行ユニット５０８による改善されたアクセス速度についての所望のエラー率が要求する最小の距離で、同一のストライプのセクタを配置することが有利である。前記データ移行ユニットは、前記媒体ライブラリ５１０から媒体を読み取り、ネットワーク１０１を介してファイルを要求側であるクライアントに伝送する前に、該ファイルをキャッシュする。速度を高めるために、前記媒体ライブラリ５１０のディスク５４０からデータを順次読み出されてよい。このようにして、ストライプのセクタのグループ化が堅固であればあるほど、データのアクセスが速くなる。
【００５１】
ステップ７７５において、インターリーブされたストライプの決定されたレイアウトに従って前記記憶媒体に書き込まれる。例えば、永久記憶装置５０４は、媒体ライブラリ５１０の記憶媒体５４０に前記データを書き込む。このようにして、前記データは、１つのセクタが正しく読み取られることを阻止するエラーの存在にもかかわらず該データが修復される可能性を向上できるよう、論理的冗長性および空間的分離をもった状態に記憶される。
【００５２】
上述の説明は、様々な実施の形態の作用を説明するためのものであり、本発明の範囲を限定するものではない。上述の説明から、本発明の精神および範囲に包含される多くの変更例が可能であることが当業者に明らかであろう。また、本発明が他の実施の形態で実施可能であることが当業者に理解されるであろう。まず、上記構成要素の特定の命名、用語の大文字化、属性、データ構造またはその他のプログラミングもしくは構造的な特徴は必須または重要ではなく、本発明またはその特徴を実現するメカニズムは、上記とは異なる名前、フォーマットまたはプロトコルを有するものであってよい。さらに、上記システムは、上述のようなハードウエアおよびソフトウエアの組合わせ、または、ハードウエア要素だけで実現されてよい。さらに、上述したさまざまなシステム構成要素間の特定の機能区分は単に一例であって必須ではなく、１つのシステム要素によって実行されるものとして説明された機能は多数のシステム要素によって実行されてよく、また、多数のシステム要素によって実行されるものとして説明された機能は１つのシステム要素によって実行されてよい。
【００５３】
上述の説明のうちのいくつかの部分は、本発明の特徴を方法および情報に関する処理についての記号的表現として説明している。これらの説明および表現は、データ処理技術における当業者によって、かれらの研究成果を当該技術の他の当業者に対して最も効果的に使用される手段である。上記の処理は、機能的または論理的に説明されたが、コンピュータプログラムによって実施されることが理解されよう。さらに、一般性を喪失することなく、モジュールとしてまたは機能的な名前によってこれらの処理構成に言及することが時に応じて好都合であるというが分かった。
【００５４】
上述の説明から明らかなように、そうでない旨明記しないかぎり、上述の説明全体にわたり、“コピー”等の用語を使用した説明は、前記コンピュータシステムのメモリ、レジスタもしくはその他の情報記憶装置、伝送装置または表示装置内で物理的(電子的)な数量として表現されたデータを操作し変換するコンピュータシステムまたは同様な電子計算装置の動作および処理に言及するものであることが理解されよう。
【００５５】
本発明のある特徴は、ここで方法の形態で説明された処理ステップおよび命令を含むものである。なお、本発明の上記処理ステップおよび命令は、ソフトウエア、ファームウエアまたはハードウエアで実施可能であり、ソフトウエアで実施される場合、リアルタイムネットワークオペレーティングによって使用される異なるプラットフォームに存在するようダウンロードされ、且つ、該異なるプラットフォームから操作可能である。
【００５６】
本発明は、さらに、上記処理を実行する装置に関する。この発明は前記要求される目的に特化して構成されてもよく、または、コンピュータによってアクセス可能なコンピュータによって読取り可能な記憶媒体に記憶されたコンピュータプログラムによって選択的に作動または再構成される汎用コンピュータからなっていてよい。このようなコンピュータプログラムは、各々がコンピュータシステムバスに接続された、フロッピー（登録商標）ディスク、光ディスク、CD-ROM、光磁気ディスク、リードオンリーメモリ(ROM)、ランダムメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)または電子命令を記憶するのに適した任意タイプの媒体のような(しかし、これに限らない) コンピュータによって読取り可能な記憶媒体に記憶されてよい。さらに、この明細書に言及されているコンピュータは、単一のプロセッサを備えるものでよく、または、向上した計算能力を実現するためのマルチプロセッサ設計を使用するアーキテクチャであってもよい。
【００５７】
ここに説明した方法および処理は、本質的に特定のコンピュータまたはその他の装置に関連するものではない。ここでの教示内容に従うプログラムと共に様々な汎用システムが使用されてもよく、必要な方法ステップを実行するためにより特化された装置を構成することが便利であることが分かるであろう。これらの様々なシステムに必要な構成は、均等な変更例と共に当業者に明確に理解されるであろう。さらに、本発明は、特定のプログラミング言語に関して説明されたものではない。なお、ここでの教示内容を実施するために様々なプログラミング言語が使用されてよく、また、本発明の実施可能性および最良実施態様について任意の特定言語に対する言及がなされてよい。
【００５８】
本発明は、多数の接続形態を介した様々なコンピュータネットワークシステムに好適である。当該技術分野において、大規模なネットワークの構成および管理は、記憶装置と、インターネットのようなネットワークを介して異種のコンピュータおよび記憶装置に通信可能に接続されたコンピュータとからなる。
【００５９】
最後に、この明細書に使用された言語が主に読み易さおよび教育目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。従って、ここでの本発明の開示は、以下の特許請求の範囲に記載した本発明の範囲を例示的に説明するものであって限定的なものではない。
【図１Ａ】
2010500698.tif 000003
【図１Ｂ】
2010500698.tif 000004
【図２】
2010500698.tif 000005
【図３】
2010500698.tif 000006
【図４】
2010500698.tif 000007
【図５】
2010500698.tif 000008
【図６】
2010500698.tif 000009
【図７】
2010500698.tif 000010
【国際調査報告】
2010500698.tif 000011