(57)【要約】  ディスク援用動的データベースの使用を最適化する。この目的のため、古いデータのストックを更新するための新しいデータのために、新しいデータに関連する第二のインデックスを新しいデータ用に生成させ（Ｓ３）、古いデータのストックに関連する第一のインデックス（Ｓ１）に対する補足として、第二のインデックスをディスク記憶媒体に記憶（Ｓ４）するようにしておく。これにより、ディスク記憶媒体に対するライト・アクセス動作の回数を低減できる。これにより、光媒体では、結果として有効寿命を延長可能であり、特に有利となる。
2007518203.tif 000002
【特許請求の範囲】
【請求項１】
ディスク記憶媒体において、関連する第一のインデックスを有する第一のデータを更新する方法であって、
前記ディスク記憶媒体において、前記第一のデータ内のデータのストックを更新する第二のデータを記憶するステップと、
第二のインデックスを作成するステップと、
前記ディスク記憶媒体において、前記第二のインデックスを記憶するステップと、
を含み、
前記第二のインデックスは、前記第二のデータのみに関連し、前記第一のインデックスに対する補足として、前記ディスク記憶媒体に記憶される、前記方法。
【請求項２】
前記ディスク記憶媒体は、記憶サイクル数が限定された書き換え可能な光ディスクである、請求項１記載の方法。
【請求項３】
前記第二のインデックスは、半径方向で、可能な限り前記第一のインデックスの近くに記憶される、請求項１または２記載の方法。
【請求項４】
前記第二のインデックスは、断片化していない形態で記憶される、請求項１乃至請求項３に記載の方法。
【請求項５】
前記第二のデータ内のデータのストックを更新する第三のデータは、前記ディスク記憶媒体に記憶され、前記第二および第三のデータに関連する第三のインデックスは、前記第二のインデックスに上書きされる、請求項１乃至請求項４に記載の方法。
【請求項６】
前記ディスク記憶媒体の特性、および／または、その前記第二または第三のデータとの関係を特徴付ける識別番号を決定し、所定の閾値と比較して、前記比較により、第二または第三のインデックスを使用するか、或いは、前記ディスク記憶媒体に記憶された前記データの全てに関連する新しいインデックスを作成するかが定義されるようにする、請求項１乃至請求項５に記載の方法。
【請求項７】
前記所定の閾値を上回らないように、前記第二および第三のインデックスの要素を組み合わせる、請求項６記載の方法。
【請求項８】
前記所定の閾値は、前記ディスク記憶媒体の状態に依存する、請求項６または７記載の方法。
【請求項９】
ディスク記憶媒体にデータを記憶するための装置であって、
第一のデータと前記第一のデータ内のデータのストックを更新する第二のデータとを前記ディスク記憶媒体に対して書き込み、前記第一のデータに関連する第一のインデックスを前記ディスク記憶媒体に対して書き込むための書き込みデバイスと、
前記第一のインデックスを作成するための信号処理デバイスと、
を有し、
前記信号処理デバイスは、前記第二のデータのみに関連する第二のインデックスを作成するために使用してもよく、
前記書き込みデバイスは、前記第二のインデックスを前記第一のインデックスに対する補足として前記ディスク記憶媒体に対して書き込むために使用してもよい、前記装置。
【請求項１０】
前記ディスク記憶媒体は、書き換え可能な光ディスクである、請求項９記載の装置。
【請求項１１】
前記第二のデータ内のデータのストックを更新する第三のデータは、前記ディスク記憶媒体に記憶され、前記第二および第三のデータに関連する第三のインデックスは、前記第二のインデックスに上書きされる、請求項９または１０記載の装置。
【請求項１２】
前記ディスク記憶媒体の特性、および／または、その前記第二または第三のデータとの関係を特徴付ける識別番号を決定する識別番号決定デバイスと、前記識別番号を所定の閾値と比較し、比較を利用して、第二または第三のインデックスを使用する必要があるか、或いは、前記ディスク記憶媒体に記憶された前記データの全てに関連する新しい全体的なインデックスを作成する必要があるかを設定し得るようにする比較デバイスとを有する、請求項９乃至１１記載の装置。
【請求項１３】
前記信号処理デバイスを利用して、前記所定の閾値を上回らないように、前記第二および第三のインデックスの要素を組み合わせ得る、請求項１２記載の装置。
【請求項１４】
前記比較デバイス内の前記所定の閾値は、前記ディスク記憶媒体の状態に依存する形態である、請求項１２または１３記載の装置。
【請求項１５】
ディスク記憶媒体であって、
記憶された第一のデータと、
前記第一のデータ内のデータのストックを更新する記憶された第二のデータと、
前記第一のデータに関連する記憶された第一のインデックスと、
を有し
前記第二のデータのみに関連し、前記第一のインデックスに対する補足として前記ディスク記憶媒体に記憶された第二のインデックスを特徴とする、前記ディスク記憶媒体。
【請求項１６】
前記ディスク記憶媒体は、書き換え可能な光ディスクである、請求項９記載のディスク記憶媒体。
【請求項１７】
前記第二のインデックスは、半径方向で前記第一のインデックスの近くまたはすぐ隣に記憶される、請求項１５または１６記載のディスク記憶媒体。
【請求項１８】
前記第二のインデックスは、断片化していない形態で記憶される、請求項１５乃至１７記載のディスク記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク記憶媒体において、第一のデータ内のデータのストック（ｓｔｏｃｋ）、すなわち記憶されているデータ、を更新する第二のデータを記憶し、第二のインデックスを作成し、ディスク記憶媒体に第二のインデックスを記憶することで、ディスク記憶媒体において、関連する第一のインデックスを有する第一のデータを更新する方法に関する。本発明は、更に、データを記憶するための対応する装置と、対応するディスク記憶媒体とに関する。
【背景技術】
【０００２】
データベース・システム（ＤＢＭＳ：データベース管理システム）は、データのストックにアクセスする。このデータのストックは、通常、ハード・ディスクに記憶される。多くの場合、データは、例えば、移動無線電話用の音声データベースＴ９の場合のように、ＲＯＭにも記憶される。加えて、一例として、電話帳は、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭ等の光ディスクに、ある程度まで記憶されている。
【０００３】
しかしながら、動的なデータベースを光媒体に記憶することは、現在のところ、回避されている。その理由は、特に開始点とスキップ目的地点とが互いに大きな半径距離を置いている時、光媒体用の読み取りヘッドが非常に長いスキップ時間を有し、光媒体では、ハード・ディスクと比較して、可能となるリライト・サイクル（ｒｅｗｒｉｔｅ）数（書き換え可能回数）が制限されるためである。
【０００４】
データベース内のデータのストックには、検索動作を最適化するために、インデックスが設けられる場合が多い。インデックスへのアクセスについては、多数の選択肢が存在する。
１．インデックスをメインメモリ（例えば、ＤＲＡＭ）にロードし、そこでアクセスする。
２．インデックスをディスクに残し、必要な時にメイン・メモリ（主記憶）にロードして使用する。
３．ディスク上でインデックスを検索する。
４．ハード・ディスク上でインデックスをバッファに記憶し、必要な時に対応するインデックスをメイン・メモリにロードして検索する。
５．ハード・ディスク上でインデックスをバッファに記憶し、必要な時に対応するインデックスをハード・ディスク上で直接検索する。
【０００５】
第一の変形例では、高価なメイン・メモリを非常に大量に必要とする。そのため、この変形例は、殆ど実現不可能である。第二の変形例は、特に多数のインデックス・リストまたはインデックスが存在する場合に、より現実的となる。第三の変形例は、メイン・メモリを節約するが、最も低速でもある。
【０００６】
第四の変形例は、より高速なアクセスを確保するために、適切なインデックス・リストを（存在する場合）一時的にハード・ディスクに記憶する有効な変形例である。同様に、第五の変形例は、ハード・ディスク全体での検索の実施を可能にする。
【０００７】
ハード・ディスクと比較して、書き込み可能な光ディスクには、以下のような特定の制限がある。
−  光ディスクは、任意のセクタから他の任意のセクタへスキップするのに、非常に長い時間を要する（最大一秒）。しかしながら、セクタの連続的な読み込みは、現在のハード・ディスクと同様の規模である。
−  セクタへリライト可能な回数は、限定される（媒体の種類に応じて、１０００回乃至１０００００回）。
−ＤＶＤおよびＢｌｕ−ｒａｙ等のディスクは、「ＥＣＣ」（エラー訂正コード）を用いてセクタを保護する。この場合、１６（ＤＶＤ）または３２（Ｂｌｕ−ｒａｙ：ブルー・レイ）セクタを組み合わせ、ブロック（ＥＣＣブロック）を形成して、対応する追加コードを提供する。これは、アクセス対象がセクタの１バイトのみか、或いはＥＣＣブロック全体かに関係なく、ＥＣＣブロック全体での読み取りおよび書き込みのみが可能となることを意味する。
【発明の開示】
【０００８】
従って、本発明の目的は、ディスク記憶媒体におけるデータベースの使用を最適化することである。
【０００９】
本発明は、ディスク記憶媒体において、第一のデータ内のデータのストックを更新する第二のデータを記憶し、第二のインデックスを作成し、ディスク記憶媒体に第二のインデックスを記憶することで、ディスク記憶媒体において、関連する第一のインデックスを有する第一のデータを更新する方法を用いて、この目的を達成し、第二のインデックスは、第二のデータのみに関連し、第一のインデックスに対する補足として、ディスク記憶媒体に記憶される。
【００１０】
本発明は、更に、第一のデータと第一のデータ内のデータのストックを更新する第二のデータとをディスク記憶媒体に対して書き込み、第一のデータに関連する第一のインデックスをディスク記憶媒体に対して書き込むための書き込みデバイスと、第一のインデックスを作成するための信号処理デバイスとを有する、ディスク記憶媒体にデータを記憶するための装置を提供し、信号処理デバイスは、第二のデータのみに関連する第二のインデックスを作成するために使用してもよく、書き込みデバイスは、第二のインデックスを第一のインデックスに対する補足としてディスク記憶媒体に対して書き込むために使用してもよい。
【００１１】
上記の目的は、記憶された第一のデータと、第一のデータ内のデータのストックを更新する記憶された第二のデータと、第一のデータに関連する記憶された第一のインデックスと、を有するディスク記憶媒体、および第二のデータのみに関連し、第一のインデックスに対する補足としてディスク記憶媒体に記憶された第二のインデックスによっても達成される。
【００１２】
これは、光媒体上の動的データベース用に動的インデックスを有効に実施する方法も提供する。有利なことに、動的データベース用のインデックスは、変更毎に置換されるのではなく、小さな変更の場合は、その変更によって単に延長される。特定のレベルの改変が存在する場合のみ、インデックス全体が置換される。これにより、光媒体へのライト（書ｗｒｉｔｅ：込み）アクセス動作の回数が低減され、即ち、光ディスクの有効寿命を延長できる。
【００１３】
好ましくは、ディスク記憶媒体は、書き込み可能なＣＤまたはＤＶＤといった、書き換え可能な光ディスクを含んでいる。これらは、高記憶容量の記憶媒体として安価に入手できる。
【００１４】
第二のインデックスは、半径方向で可能な限り第一のインデックスの近くに記憶するべきである。理想的には、第一のインデックスのすぐ隣に書き込まれる。しかしながら、その間にディスクへの書き込み動作が行われた場合には、第二のまたは更新データを、第一のインデックスの後に書き込んでしまってもよい。この場合、第二のインデックスは、十分なサイズを有する次の空き記憶位置に書き込むべきであり、即ち、第一のインデックスから第二のインデックスへのスキップを可能な限り小さくする。これは、光ディスク上での短いスキップが長いスキップより遙かに迅速に実行できるためである。通常、両インデックスは検索動作中に探索する必要があるため、二種類のインデックス間の小さな間隔、或いは、互いのすぐ隣にインデックスが書き込まれる事実により、インデックスに対するアクセス速度を増加できる。記憶スペースが利用可能で有れば、第二のインデックスを第一のインデックスの手前に記憶してもよいことは言うまでもない。これは、特定の検索ストラテジにおいて、変更または更新のために第二のインデックスのみを検索する必要がある時に特に有利である。
【００１５】
加えて、第二のインデックスは、断片化しない形態で記憶されるべきである。これには更に、読み出しの際にスキップが回避されるため、アクセス速度を増加できるという利点がある。
【００１６】
データのストックは、通常、定期的な間隔で更新される。具体的には、これは、第二のデータが第三のデータによって更新されることを意味する。この場合、第二のデータにおけるデータのストックを更新する第三のデータは、ディスク記憶媒体に記憶してよく、第二および第三のデータに関連する第三のインデックスは、第二のインデックスに上書きしてよい。これは、第二のインデックスが廃棄され、全く新しい変更インデックスが作成および記憶されることを意味する。第三のインデックスが第二のインデックスの隣に記憶されるストラテジ（ｓｔｒａｔｅｇｙ：方針、方法）と比較して、これには、使用する必要のあるインデックスが二種類のみであるため、検索速度が増加するという利点がある。
【００１７】
第一のデータにおけるデータのストックに対する変更が非常に包括的である時には、変更を含むデータのストック全体のために、新しい全体的なインデックスを作成および記憶するのが有効である場合がある。判断の基準を設けるためには、ディスク記憶媒体の特性および／またはその第二または第三のデータとの関係を特徴付け、所定の閾値と比較される識別番号を導入できる。その後、比較を利用して、第二または第三のインデックスを作成する必要があるか、或いはディスク記憶媒体に記憶された全データに関連する新しい全体的インデックスを作成する必要があるかを定めてよい。これは、メモリ要件、読み込み時間、リライト・サイクル数等を考慮し得ることを意味する。
【００１８】
特定の場合には、識別番号が所定の閾値に達しないように、第二および第三のインデックスの要素を組み合わせることが有効となり得る。これは、特に、二種類のインデックスの一方が非常に小さいため、組み合わせることで、リード（読込み）ヘッドのスキップを回避できる場合に当てはまる。
【００１９】
好ましくは、閾値は可変であり、ディスク記憶媒体の状態に自動的に一致させる。これにより、依然として利用可能なリライト・サイクル数を考慮できる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明について、データベースを更新するための本発明の方法に対するフローチャートを概略的に示す添付図面を使用して、更に詳細に説明する。
【００２１】
以下に更に詳細に概略を示した例示的な実施形態は、本発明の好適な実施形態を表す。
【００２２】
最初に提示した五種類のインデックス処理の変形例では、必ずしもインデックスを結合した状態で記憶する必要はない。しかしながら、全変形例、特に第三の変形例では、少なくとも基本的には、ディスク上で結合した状態でインデックスを利用可能にするべきである。これは、ディスクからのインデックス・リストの読み込みまたはスキャンを不必要に低速にしないためである。この原則は、本発明の方法にも当てはまる。
【００２３】
データのストックを更新するには、特別なインデックス生成プロセスが必要となる。インデックス生成プロセスは、インデックスが起点として既にディスク上に存在し、結合した状態でディスク上に記憶される時（図のステップＳ１を参照）、基本的には次のように進む。
【００２４】
データの（実際の）ストックは、例えば、ユーザが新しいデータまたは第二のデータをデータベースに入力することで変化する（ステップＳ２参照）。これは、インデックス・リストに含める必要のある新しいデータが利用可能であることを意味する。これにより、インデックス・リストは変更される。この時点でインデックス・リスト全体を再び作成して記憶しなくてもよいように、現在のリストに対する変更のみを記憶する（ステップＳ３およびＳ７参照）。従って、インデックスに対する次のリード・アクセス動作の際には、古いインデックス・リスト（第一のインデックス）が読み込まれ、更に、インデックス・リストにおける変更情報（第二のインデックス）も読み込まれる。
【００２５】
変更情報（第二のインデックス）が小さい場合（例えば、＜１ＭＢ）、追加的な読み込みには、僅かな時間のみを要する。この状況において重要なことは、第一に、変更情報（第二のインデックス）が古いインデックス・リスト（第一のインデックス）の近くにあることと、光媒体上でのスキップ数を抑えるために、この変更情報も可能な限り結合した状態で記憶することである。一例として、更なるインデックスの変更（第三のインデックス）の記憶には、単に以前のインデックス変更（第二のインデックス）を置き換えることが伴ってもよく、即ち、新しい変更は、既に行われた変更も網羅する。これにより、インデックス・リストと、その変更とを読み込む時に、スキップ数が低減される。
【００２６】
識別番号を決定し（ステップＳ４）、閾値と比較することで（ステップＳ５）、どのポイント以降で、変更によって完全に新しく、結合した状態で（可能な限り結合した状態で）記憶されるインデックス・リストを発生させるべきかを確認できる。
【００２７】
識別番号を決定する時には（ステップＳ４）、例えば、以下の基準を含めることができる。
−  それぞれのインデックス・リストについて、既に行われた変更と、新しい（第二、第三のインデックス等）変更との全てに対するメモリ要件。
−  全ての変更（第二、第三のインデックス等）に対する推定読み込み時間：それぞれについて、変更セクタをスキップおよび読み込む時間および変更をスキャンする予想時間。
−  ディスク上で依然として利用可能な合計空きメモリ。
−  現在既に空いているセクタのリライトを行った回数、即ち、この回数が大きいほど、閾値の限界を高く設定するべきである。
【００２８】
ステップＳ５でのチェックにより、識別番号が閾値を上回る場合には、以下の手順が推奨される。
−  例えば、一つ以上の既存の変更（第二のインデックス）を新しい変更（第三のインデックス）に組み合わせ、導入済みの古い変更（第二のインデックス）が占有しているメモリを解放することで、閾値の限界未満にすることが可能か？  可能である場合、この手順を選択する（図示なし）。
【００２９】
閾値未満にする方法が見つからない場合には、インデックス・リストを再び生成し（ステップＳ６）、古いインデックス・リスト（第一のインデックス）のためのメモリを、全ての変更（第二および第三のインデックス）のためのメモリと共に解放する。次に、新しいインデックス・リストを可能な限り結合した状態で記憶する（ステップＳ７）。
【００３０】
閾値は、固定変数にしてよく、或いは、プレートの状態に基づいて、識別番号と同様の方法で決定される。一例として、識別番号では、インデックスまたはインデックス群を読み込む時間を評価してよく、閾値は、代わりに、媒体が既に上書きされた回数と、ディスク上で依然として利用可能なメモリと、ディスクの断片化の度合いとから計算してよい。代替例として、変更のみを記憶する状況に比べて、インデックス・リストを再び記憶した場合の利得（媒体に対する読み込み／リライトのストレスのための時間節約）の大きさを比較してもよい。
【００３１】
本発明に従って、変更インデックスを記憶することで、インデックス・リストの特別な記憶により、必要な場合にディスクへのライト・アクセス動作の数を最小化できる方法が提供される。これにより、光ディスクの有効寿命の増加、具体的には大幅な増加が可能となる。この場合の検索速度の僅かな低下は、一般には取るに足りないものである。
【図面の簡単な説明】
【００３２】
【図１】データベースを更新する方法を示したフローチャート
【図１】
2007518203.tif 000003
【国際調査報告】
2007518203.tif 000004
2007518203.tif 000005