(57)【要約】データを記憶するために不揮発性集積回路ベースメモリ（１２６）を利用するデータ記憶システム（１１０）。いくつかの例において、不揮発性集積回路ベースメモリは磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）である。データ記憶システム（１１０）がハードディスクを含むいくつかの例においては、ハードディスクに対するマスタリスト（１２７）などのシステムデータを記憶するために、不揮発性集積回路ベースメモリを使用することができる。他の例においては、着脱自在媒体に関する動作データを記憶するために、着脱自在媒体記憶システム（１５１０）内に不揮発性集積回路ベースメモリを実現することができる。他の例においては、ユーザデータを記憶するために、不揮発性集積回路ベースメモリを使用することができる。
2005537609.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータを記憶するように構成されたハードディスクと、マスタリストが前記ユーザデータのファイルに関する少なくとも１つのデータブロックの物理的場所を特定するように構成可能であることと、
前記ハードディスクに関する前記マスタリストを記憶するように構成された不揮発性集積回路ベースメモリとを備えるハードディスクシステム。
【請求項２】
前記不揮発性集積回路ベースメモリは磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）からなる請求項１に記載のハードディスクシステム。
【請求項３】
前記マスタリストは、ユーザデータのファイルの第１番目のデータブロックを記憶しているセクタの物理的場所を備える請求項１に記載のハードディスクシステム。
【請求項４】
ハードディスクシステムを実施するための方法であって、
ユーザデータを記憶するためのハードディスクであって、前記ユーザデータの少なくとも１つのブロックが、マスタリストによって特定される前記ハードディスク内の物理的場所に記憶されるハードディスクを構成するステップと、
前記ハードディスクシステムの不揮発性集積回路ベースメモリに前記ハードディスクに関する前記マスタリストを記憶させるステップとを備える方法。
【請求項５】
不揮発性メモリ（ＮＶＭ）は５. ５ボルト以下の大きさのプログラミング電圧を必要とする請求項４に記載の方法。
【請求項６】
記憶システムに対するユーザデータを記憶するように構成され、集積されていない回路からなる媒体であって、システムデータが、記憶されているユーザデータのファイルに関する少なくとも１つのデータブロックの物理的場所を特定するように構成可能である集積されていない回路からなる媒体と、
不揮発性集積回路ベースメモリであって、前記集積されていない回路からなる媒体に関するシステムデータを記憶するように構成可能な不揮発性集積回路ベースメモリと、
を備える記憶システム。
【請求項７】
前記システムデータは前記場所を特定するものを含むマスタリストからなる請求項６に記載の記憶システム。
【請求項８】
前記集積されていない回路からなる媒体は、ハードディスク、光ベース媒体、または光磁気記憶装置の少なくとも１つからなる請求項６に記載の記憶システム。
【請求項９】
プロセッサと、
プログラムデータとユーザデータを不揮発的に記憶するための、前記プロセッサに動作可能に接続されたメモリアレイであって、前記プログラムデータとユーザデータを５. ５ボルト以下の大きさのプログラム電圧でプログラムすることができるメモリアレイとを備えるシステム。
【請求項１０】
前記メモリアレイは磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）からなる請求項９に記載のシステム。
【請求項１１】
情報源からユーザデータを受け取るように構成された入力と、
ユーザデータを記憶するように構成された集積されていない回路からなる記憶媒体と、
集積回路からなる不揮発性メモリ（ＮＶＭ）であって、ユーザデータをも記憶するよう
に構成された不揮発性メモリと、を備えるデータ記憶システム。
【請求項１２】
前記集積されていない回路からなる記憶媒体によって記憶されるユーザデータの少なくともいくつかは、前記集積回路からなる不揮発性メモリ（ＮＶＭ）によって記憶されるユーザデータと重複する請求項１１に記載のデータ記憶システム。
【請求項１３】
上記集積回路ベース不揮発性メモリ（ＮＶＭ）をプログラムするのに５. ５ボルト以下の大きさのプログラミング電圧を必要とする請求項１１に記載のデータ記憶システム。
【請求項１４】
前記集積回路からなる媒体には磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）が含まれる請求項１１に記載のデータ記憶システム。
【請求項１５】
ユーザデータを記憶するように構成され、集積されていない回路からなる記憶媒体と、
該集積されていない回路からなる媒体に動作可能に接続されたプロセッサと、
該プロセッサに動作可能に接続された集積回路からなる不揮発性メモリ（ＮＶＭ）であって、ユーザデータをも記憶するように構成された不揮発性メモリとを備えるデータ記憶システム。
【請求項１６】
情報源からユーザデータを受け取るステップと、
集積されていない回路からなる記憶媒体に前記ユーザデータの一部分を記憶させるステップと、
集積回路からなる不揮発性メモリ（ＮＶＭ）に前記ユーザデータの他の部分を記憶させるステップとを備えるデータ記憶方法。
【請求項１７】
前記他の部分の少なくとも一部分を前記集積されていない回路からなる記憶媒体に記憶させる請求項１６に記載の方法。
【請求項１８】
前記ユーザデータの最初の部分を前記集積回路からなる不揮発性メモリに記憶させ、
前記ユーザデータの残りの部分を前記集積されていない回路からなる記憶媒体に記憶させる、請求項１６に記載の方法。
【請求項１９】
着脱自在媒体記憶システムであって、
着脱自在媒体が当該着脱自在媒体記憶システムに接続されたときに、前記着脱自在媒体からユーザデータを読み取るためのアクセス回路部品と、
前記着脱自在媒体記憶システムに接続された着脱自在媒体に関する動作データを記憶するように構成された集積回路からなる不揮発性メモリと、
を備えたことを特徴とする着脱自在媒体記憶システム。
【請求項２０】
前記不揮発性集積回路からなるメモリには磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）が含まれることを特徴とする請求項１９に記載の着脱自在媒体記憶システム。
【請求項２１】
前記集積回路からなる不揮発性メモリは、５. ５ボルト以下の大きさのプログラミング電圧を有する半導体メモリからなる請求項１９に記載の着脱自在媒体記憶システム。
【請求項２２】
前記動作データは利用状況データを含む請求項１９に記載の着脱自在媒体記憶システム。
【請求項２３】
請求項２２に記載の着脱自在媒体記憶システムにおいて、前記利用状況データは前記着脱自在媒体が当該着脱自在媒体記憶システムによってアクセスされた回数を記載した情報を含む着脱自在媒体記憶システム。
【請求項２４】
前記利用状況データは前記着脱自在媒体上の最後にアクセスされた場所を含む請求項２２に記載の着脱自在媒体記憶システム。
【請求項２５】
前記集積回路からなる不揮発性メモリは、複数の着脱自在媒体に関する動作データを記憶するように構成され、
前記集積回路からなる不揮発性メモリは、前記複数の着脱自在媒体のそれぞれを識別するためのユニーク識別子を記憶するように構成されている請求項２２に記載の着脱自在媒体記憶システム。
【請求項２６】
着脱自在媒体記憶システムに情報を記憶させる方法であって、
着脱自在媒体が前記着脱自在媒体記憶システムに接続されたときに、前記着脱自在媒体からユーザデータを読み取るステップと、
前記着脱自在媒体記憶システムの集積回路からなる不揮発性メモリに、前記着脱自在媒体に関する動作データを記憶させるステップと、
を備える方法。
【請求項２７】
前記着脱自在媒体記憶システムへの電源が外された後に、その後の使用のために、前記集積回路からなる不揮発性メモリ内の前記動作データを維持するステップを更に備える請求項２６の方法。
【請求項２８】
前記着脱自在媒体が前記着脱自在媒体記憶システムから取り外された後に、その後の使用のために、前記集積回路からなる不揮発性メモリ内の前記動作データを維持するステップを更に備える請求項２６の方法。
【請求項２９】
前記不揮発性集積回路からなるメモリには磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）が含まれる請求項２６に記載の方法。
【請求項３０】
着脱自在媒体記憶システムであって、
着脱自在媒体アクセス回路部品であって、着脱自在媒体が、該着脱自在媒体上のユーザデータにアクセスするための当該着脱自在媒体記憶システムに接続されたときに、前記着脱自在媒体からユーザ情報を読み取るように構成された着脱自在媒体アクセス回路部品と、
当該システムに接続された着脱自在媒体に関する動作データを記憶する集積回路からなる不揮発性メモリとを備える着脱自在媒体記憶システム。
【請求項３１】
前記集積回路からなる不揮発性メモリは、前記着脱自在媒体に関する識別子と一致する可能性のある媒体識別番号を記憶する磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）であることを特徴とする請求項３０に記載の着脱自在媒体記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データの記憶に関し、より詳しくは、着脱自在媒体データ記憶装置におけるデータの記憶に関する。
【背景技術】
【０００２】
データ記憶媒体はデータの記憶のために使用される。データ記憶媒体の例としては、磁気抵抗式ランダム・アクセス・メモリ（ＭＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュメモリ、電気消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、およびプログラム可能読み出し専用メモリ（ＰＲＯＭ）などの集積回路をベースにした記憶媒体がある。集積回路をベースにしていない媒体の例としては、磁気ハードディスク、テープ、およびフロッピー（登録商標）ディスクなどの磁気による記憶媒体と、コンパクトディスク（ＣＤ）およびディジタルビデオディスク（ＤＶＤ）などの光によるシステムと、光磁気媒体がある。上述の非ＩＣベースメモリタイプは、データを取り出すために機械的動作（例えば、ディスクの回転、テープの動き）を必要とするので、本質的に機械的である。
【０００３】
ＩＣベース媒体に対するデータアクセス時間は、一般的に、非ＩＣベース媒体に対するアクセス時間よりも著しく速い。しかしながら、非ＩＣベース媒体に対するデータ記憶のビット当たりのコストは、一般的に、ＩＣベース媒体のそれよりも著しく少ない。従って、非ＩＣベース媒体は、一般的に、データの「大容量記憶」のために利用される。
【０００４】
非ＩＣベース媒体を利用するときのアクセス時間制限は、その媒体を利用するシステムの動作効率を減少させることがある。必要なものは、非ＩＣベース媒体の動作効率を改善するためのシステムである。
【０００５】
また、着脱自在媒体記憶装置に関しては、着脱自在媒体からデータを取り出すために使用されるデータは、一般的に、取り外し媒体が取り外されると、着脱自在媒体データ記憶システム内に不揮発的に記憶されない。従って、着脱自在媒体が最度挿入されたときにそのような情報に最度アクセスしなければならない。
【発明を実施するための最良の形態】
【０００６】
添付図面を参照することによって、当業者にとって、本発明はより良く理解されることができ、その多くの目的、特徴、および利点が明らかとなる。異なる図面における同一参照符号の使用は、特に注記されたものを除いては、同一品目を示す。
【０００７】
以下に、本発明を実施する方法を詳細に説明する。この説明は本発明を表すためのものであって、限定的なものととられるべきではない。
図１は、本発明によるデータ記憶システムのブロック図である。図示の実施態様において、データ記憶システム１１０は、非ＩＣベース媒体１１２と、媒体１１２へのデータアクセスを行うための回路部品を含んでいる。データ記憶システム１１０は、Ｉ／Ｏバス１２８を介して情報装置１４１に動作可能に接続されて、媒体１１２に記憶させるためのユーザデータを情報装置１４１から受け取り、媒体１１２から取り出したユーザデータを情報装置１４１に供給する。ユーザデータは情報装置１４１によって使用されるデータである。ユーザデータの例としては、実行可能プログラムファイル、データベースファイル、音楽・映像・写真などのマルチメディアデータファイル、ワープロ書類や表計算などの情
報ファイル、および、情報装置に対するコンピュータオペレータプロフィールなどがある。１つの例においては、情報装置１４１はパーソナルコンピュータシステムであり、データ記憶システム１１０は、そのコンピュータシステムのコンピュータシャーシ（図示せず）内に取り付けられたハードディスクシステム（ハードディスクドライブと呼ばれる場合もある）である。そのような例においては、バス１２８は、ＩＤＥ標準、拡張ＩＤＥ（Ｅ−ＩＤＥ）標準、またはスモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）標準などのコンピュータバス標準に従うバスである。他の実施態様においては、情報装置１４１は、例えば、ホームメディアサーバー、パーソナルビデオレコーダ、ケーブルまたはサテライト・セット・トップ・ボックス、ゲームコンソール、オーディオジュークボックス、ホームセキュリティシステム、自動車用電子部品、パーソナルディジタルアシスタント（ＰＤＡ）、ポケベル、携帯電話、オーディオプレイヤ、セントラルホーム通信ハブ、およびディジタルカメラであってもよい。他の実施態様においては、情報装置は、スピーカ、ディスプレイ、ヘッドフォン、マイクロフォン、または、データ記憶装置１１０内に記憶されているユーザデータを利用または供給する他の装置であってもよい。
【０００８】
図示の実施態様において、媒体１１２には、ユーザデータを記憶するためのハードディスクが含まれる。他の実施態様においては、媒体１１２には、複数ハードディスクや、例えば、光ディスク、テープ、光磁気記憶装置、または、データを記憶するために使用される別の媒体などの他の種類のメモリや、上述の種類の媒体の組み合せが含まれる。
【０００９】
データ記憶システム１１０は制御システム１１１を含んでいる。制御システム１１１は、データ記憶システム１１０の動作を制御するためのプロセッサ１１６を含んでいる。プロセッサ１１６は、バス１２８に動作可能に接続されて、情報装置１４１にユーザデータを供給すると共に、情報装置１４１からユーザデータを受け取る。プロセッサ１１６は、ヘッド制御信号ラインと増幅器１１９を介してアクチュエータ１３１にヘッド制御信号を供給して、読み書きヘッド１１３を媒体１１２の適当なトラックへ動かすことにより、データアクセスを行う。プロセッサ１１６はまた、モータ制御ラインと増幅器１２２を介してスピンドルモータ１１４にモータ制御信号を供給して、モータ１１４を一定速度に保つ。プロセッサ１１６は、書き込み信号ラインと増幅器１２０を介して読み書きヘッド１１３にデータを供給して、指定セクタにそのデータを書き込む。プロセッサ１１６は、読み書きヘッド１１３から読み出しラインと増幅器１１８を介してデータを受け取る。制御システム１１１は、プロセッサ１１６がその動作を行うために実行するプログラムコードを記憶するためのプログラムメモリ１２４を含んでいる。データ記憶システムが、図１に示されていない他の従来の回路部品と装置を含むことができることは、当業者にとって明らかであろう。また、他の種類のデータ記憶システムを構成して、本明細書の開示を実現することもできる。
【００１０】
制御システム１１１は、プロセッサ１１６に動作可能に接続された不揮発性メモリ１２６を含んでいる。一実施態様においては、メモリ１２６は、ＭＲＡＭなどのＩＣベースメモリ内に実現される。ＭＲＡＭは、磁気的にデータを記憶する不揮発性メモリである。ＭＲＡＭについては、ＭＲＡＭに記憶されているデータは、動作中変更可能である。いくつかのＭＲＡＭについては、メモリ内のデータは５. ５ボルト以下の電圧でプログラムすることができる。ほとんどのＭＲＡＭは２ボルト未満の電圧でプログラムすることができる。従って、制御システム１１１の電子部品に電力を供給するために必要な電圧を使用して、メモリ１２６をプログラムすることができる。一実施態様においては、メモリ１２４と１２６は、同じ集積回路内に実現される。他の実施態様においては、メモリ１２４と１２６は、同じメモリアレイ内に実現される。いくつかの実施態様においては、プログラムメモリ１２４とメモリ１２６とに割り当てることができるアレイの部分は、記憶システムの動作中変更可能である。もう一実施態様においては、マスタリストを、メモリ１２６内の可変場所に記憶することができる。一実施態様においては、プロセッサ１１６、プログラ
ムメモリ１２４、およびメモリ１２６を、制御システム１１１の他の電子装置（図示せず）と共に、回路基板（図示せず）上に実現することができる。
【００１１】
ハードディスク１１２に対するマスタリスト１２７は、メモリ１２６内に「不揮発的に」記憶される。マスタリストは、一般的に、記憶媒体１１２内に記憶されている各ファイルに対するエントリを含んでいる。各エントリは、そのファイルに対するデータの第１ブロックを記憶するセクタの媒体１１２上の物理的場所を含んでいる。
【００１２】
図２は、ハードディスク上にデータが従来どのように記憶されるかの例を示す、マスタリストと、ハードディスク表面の上面のシンボル表現である。図２の実施態様において、ファイルは、ハードディスク表面２１２上に、ＤＡＴＡ  Ａ、ＤＡＴＡ  Ｂ、およびＤＡＴＡ  Ｃとラベルが付されたユーザデータの三つのブロックで記憶され、それぞれハードディスク表面２１２のセクタ２１５、セクタ２１６、およびセクタ２１７に記憶される。セクタブロック２０６は、セクタ２１５に記憶されるデータを示し、セクタブロック２０８は、セクタ２１６に記憶されるデータを示し、セクタブロック２１０はセクタ２１７に記憶されるデータを示す。各セクタブロック（２０６，２０７，２０８）は、ヘッダーと、そのセクタに記憶されるユーザデータのブロック（例えば、セクタブロック２０６はブロックＤＡＴＡ  Ａを含んでいる）と、ファイルのユーザデータの次のブロックを記憶しているセクタの物理的場所を含む後続部とを含んでいる。例えば、セクタブロック２０６の後続部は、ブロックＤＡＴＡ  Ｂを記憶しているセクタ２１６の物理的場所を含んでいる。
【００１３】
ディスク表面２１２上に記憶されているファイルを取り出すために、データ記憶プロセッサ（例えば、１１６）は、最初にマスタリスト２０５にアクセスして、ユーザデータの第１ブロック（ＤＡＴＡ  Ａ）を記憶しているセクタ２１５の物理的場所を入手する。プロセッサはそれからセクタ２１５にあるデータにアクセスして、その場所にあるユーザデータとセクタ２１６の物理的場所（そこにユーザデータの次のブロック（ＤＡＴＡ  Ｂ）が記憶されている）を入手する。セクタ２１７の物理的場所は、セクタ２１６に記憶されているセクタブロック２０８の後続部に記憶されている。エンドオブファイル（ＥＯＦ）マーカーは、セクタ２１７に記憶されているセクタブロック２１０の後続部に記憶されている。ＥＯＦマーカーは、セクタブロック２１０がファイルのデータの後続部分を含んでいることを示す。
【００１４】
従来のハードディスクシステムにおいては、マスタリストはハードディスクの１つ（またはそれ以上の）セクタに記憶されている。ファイルにアクセスするために、ハードディスクシステムのプロセッサは、ハードディスク上のマスタリストにアクセスして、ファイルデータの第１セクタブロックの場所を入手する。新ファイルをハードディスクに書き込むときは、新エントリをマスタリスト内に作成する。新エントリは、ファイルのデータの第１ブロックを記憶しているセクタの物理的場所を含んでいる。
【００１５】
図１に戻って、データ記憶装置１１０のマスタリスト１２７は、ＩＣベース不揮発性メモリ内に記憶されているので、マスタリスト１２７にアクセスするためにハードディスク１１２にアクセスする必要がないために、マスタリストへのアクセス時間は著しく減少する。従って、ハードディスク１１２へのアクセスが少なくとも１回少なくなるので、ファイルに対するアクセス時間を減らすことができる。更に、マスタリスト１２７はメモリ１２６に不揮発的に記憶されているので、非常電源切断の場合においてさえ、自動的に最新状態にある。また、マスタリストをハードディスク１１２から取り出したのち新ファイルのためのエントリと共にマスタリストをハードディスクに再び書き込む必要がないために、新ファイルを書き込むための時間は減少する。
【００１６】
更に、ハードディスクシステムにおいては、一般的に、マスタリストはハードディスク表面のセクタ上に記憶される。もしハードディスクのそのセクタが壊れると、データ記憶システム全体が使用できなくなる。いくつかの非ＩＣベースメモリ（例えば、ハードディスクシステムやテープ駆動システム）については、非ＩＣベースメモリに記憶されているデータが壊れる可能性は、例えばＭＲＡＭメモリなどのＩＣベースメモリに記憶されているデータに対するよりも大きい。従って、これらのより信頼性の高いメモリを使用することにより、データ記憶システムをより信頼性の高いものにすることができる。更に、いくつかの実施態様においては、マスタリストのバックアップをハードディスクに記憶させることもできる。これらの実施態様のいくつかについては、マスタリストのバックアップは、ハードディスク１１２のどの場所にでも記憶させることができる。また、これらの実施態様については、プロセッサ１１６は、エラーに対して、バックアップマスタリストを元のリストと比較することができる。
【００１７】
図３は、本発明によるデータアクセスの一実施態様のフローチャートである。図３のフローチャートは、プログラムメモリ１２４に記憶されているコードを実行するプロセッサ１１６によって行われる。ステップ３０２において、プロセッサ１１６は情報装置１４１からアクセス要求を受け取る。ステップ３０４において、プロセッサ１１６は、アクセスが読み取りアクセスか書き込みアクセスかを判定する。アクセスが読み取りアクセスならば、プロセッサ１１６は、ステップ３０７において、メモリ１２６内のマスタリスト１２７にアクセスして、要求されたファイルのデータを記憶している第１セクタの場所を見つける。ステップ３１０において、プロセッサ１１６は、ハードディスク１１２のセクタからファイルを取り出す。ステップ３０４においてアクセスが書き込みアクセスであると判定したならば、プロセッサ１１６は、ステップ３０６において書き込みアクセスを実行し、ステップ３０８においてマスタリスト１２７を更新する。
【００１８】
図２の例において、マスタリスト２０５の各エントリは、そのエントリに関するファイルのデータのブロックを記憶しているハードディスク表面２１２の第１セクタのハードディスク表面２１２上の物理的場所を含んでいる。しかしながら、本発明のいくつかの実施態様においては、マスタリストは、各ファイルエントリに対して、他のデータと追加データまたはそのいずれかを含むことができる。例えば、図５において、マスタリスト内の各ファイルに対するエントリ５２０は、そのファイルのデータのブロックを記憶している各セクタの場所を含んでいる。以下の図５についての記述を参照のこと。
【００１９】
他の実施態様においては、プロセッサ１１６は、メモリ１２６に他の種類のシステムデータを記憶させるように構成することができる。例えば、メモリ１２６は、媒体１１２の欠陥セクタを特定するリストと、媒体１１２の使用可能なセクタのリストと、欠陥セクタとその欠陥セクタに対する代用セクタを特定するリスト（欠陥セクタ代用リスト）と、媒体１１２上の複製保護セクタとデータまたはそのいずれかのリストとを記憶することができる。メモリ１２６はまた、例えばヘッド利得などの読み書きチャンネルパラメータと、例えばトルク定数などのサーボパラメータとを記憶するように構成することができる。メモリ１２６は、媒体１１２の媒体種類と、媒体１１２におけるデータの記憶の仕方とによって決まる他の種類のシステムデータとを記憶することができる。不揮発性ＩＣベースメモリにシステムデータを記憶させることにより、データ記憶システムがシステムデータに更に速くアクセスできるので、データ記憶システムによるユーザデータの全アクセス時間を減らすことができる。
【００２０】
不揮発性メモリ１２６は、情報装置１４１から受け取ったユーザデータを記憶するために使用することもできる。ユーザデータを記憶するためにメモリ１２６を使用することにより、データ記憶システムの性能と速度と効率またはそのいずれかをよくすることができる。
【００２１】
図４は、データアクセスを扱う方法であって、メモリ１２６の一部分を利用してユーザデータを一時保存する方法のフローチャートである。図４の実施態様において、情報装置１４１から受け取ったユーザデータファイルは、メモリ１２６に記憶される。従って、ファイルに対するその後の要求があった場合、メモリ１２６に記憶されているファイルを、媒体１１２をアクセスしてデータを入手するよりも短い時間で、情報装置１４１に供給することができる。
【００２２】
図４において、プロセッサ１１６は、情報装置１４１からアクセス要求を受け取る。ステップ４１４においてアクセス要求が書き込みアクセスであると判定したならば、プロセッサ１１６は、ステップ４３０においてメモリ１２６が容量不足か否かを確かめる。メモリ１２６が容量不足でないなら、プロセッサ１１６は、受け取ったデータをステップ４３４においてメモリ１２６に書き込む。ステップ４３０においてメモリ１２６が容量不足であると判定したならば、プロセッサ１１６は、ステップ４３２において、キャッシュクリーニングアルゴリズムを実行して、メモリ１２６に現在記憶されているファイルを媒体１１２に書き込んで、受け取るデータのためにメモリ１２６内の場所を空ける。ステップ４３４において、情報装置１４１から受け取ったデータをメモリ１２６に書き込む。１つの例においては、キャッシュクリーニングアルゴリズムは、メモリ１２６内の最も早く書き込まれたデータを媒体１１２に移動することを含んでいる。もう一実施態様においては、キャッシュクリーニングアルゴリズムは、最近最も使われていないデータを除去することを含んでいる。もう１つのキャッシュクリーニングアルゴリズムは、一時保存されるべきデータと同じサイズの１つまたは複数のファイルを除去するようになっている。本明細書の開示に基づいて、他のキャッシュクリーニングアルゴリズムを実行できることは、当業者にとって明らかであろう。
【００２３】
ステップ４１４において、アクセスが読み取りアクセスであると判定したならば、プロセッサ１１６は、ステップ４１６において、要求データがメモリ１２６に一時保存されているかどうかを確かめる。要求データがメモリ１２６にあるならば、要求データをステップ４２２においてメモリ１２６から取り出し、情報装置１４１に供給する。ステップ４１６において判定したときに要求データがメモリ１２６になければ、プロセッサは媒体１１２から要求データを取り出す。
【００２４】
さらなる実施態様においては、プロセッサ１１６は、媒体１２内に記憶されているファイルが所定時間内に頻繁にアクセスされたことを知り、そのファイルをメモリ１２６に書き込む。従って、そのファイルを情報装置１４１に供給するのに必要な時間は大きく減少する。
【００２５】
データ記憶システムのＩＣベースメモリにユーザデータを一時保存することによって、そのデータを情報装置に供給するためのアクセス時間は大きく減少する。また、データを一時保存するために不揮発性メモリを利用することによって、メモリ１２６内に記憶されているデータは、電源がなくなった場合においても保存される。従って、媒体１１２内とメモリ１２６内にファイルのコピーが記憶されているならば、メモリ１２６内のファイルのコピーは、より最近のコピーであり、それらのコピーのうちどちらがより最近のコピーであるかを判定する必要がない。
【００２６】
また、メモリ１２６をデータ書き込み用キャッシュとして利用することにより、データ記憶システム１１０が、後続のデータアクセスを、データ書き込み後により速く実行することができる。いくつかの従来のデータ記憶システムについては、データ記憶システムは、データ書き込み後、そのデータ書き込みのデータを非ＩＣベース媒体（例えば、ハードディスク）に書き込むまで、データアクセスを処理することはできない。しかしながら、
メモリ１２６の一部分をデータ書き込みのための一時保存領域として利用するならば、データ記憶システム１１０は、第１データ書き込みのデータをＩＣベースメモリにすぐに書き込むので、データ書き込み後すぐに第２データアクセスを実行することができる。メモリ１２６は不揮発性メモリであるので、例え電源がデータ記憶システム１１０から外されたとしても、ユーザデータはメモリ１２６に留まる。従って、いくつかの実施態様においては、メモリ１２６に記憶されているデータをすぐに記憶システム１１０に書き込む必要はなく、情報装置１４１によるアクセスがない間に、媒体１１２にデータを書き込むことができる。
【００２７】
他の実施態様においては、データ記憶システムは、情報装置１４１から受け取った数多くのデータファイルをメモリ１２６に一時保存する。その場合、プロセッサ１１６は、それらのファイルを同時にハードディスク１１２に書き込むための書き込みバーストを行う。従って、複数ファイルのバースト書き込みに必要な電力を、それらのファイルのそれぞれに対する複数の単一書き込みに必要な電力よりも少なくすることができるために、ハードディスクシステム１１０によって消費される電力を減らすことができる。
【００２８】
一実施態様においては、上述の書き込み一時保存システムを図４のフローチャートの中へ組み込むために、ステップ４３２において使用されるようなキャッシュクリーニングアルゴリズムは、データ書き込みに対してメモリ１２６内に利用可能な適切な一時保存空間が常にあることを確実にするように構成される。従って、ステップ４１４においてアクセスがデータ書き込みであると判定したならば、プロセッサ１１６はデータをすぐにメモリ１２６に書き込む。
【００２９】
着脱自在媒体（例えば図１５の１５１２を参照のこと）を含むデータ記憶システムにおいて図４の方法が実行される場合、メモリ１５２６（図１５参照）に記憶されているデータは、媒体を取り外すための要求に呼応して、媒体１５１２に書き込まれる。
【００３０】
図５と６において、情報装置１４１からの読み取りアクセス要求に呼応して媒体１１２から取り出されるデータもまた、読み取りアクセスに必要な時間を減らすためにメモリ１２６内に一時保存することができる。図５において、ユーザデータのファイル５１９を、ハードディスク表面５０１の複数のセクタ（例えば５３１）に記憶させることができる。図５の例において、ファイル５１９は６つデータブロック（５２１，５２２，５２３，５２４，５２５，５２６）を含み、各ブロックはディスク表面５０１の異なるセクタに記憶される。例えば、ブロック５２１は、ディスク表面５０１のセクタ５３１に記憶される。
【００３１】
いくつかのデータ記憶システムについては、データブロックをディスク表面の非連続セクタに記憶させることができるが、データ記憶システムの読み書きヘッド（例えば１１３）を複数トラック間で前後に動かしてデータを検索することが必要となる。例えば、セクタ５３１（ファイル５１９の第１データブロック５２１を記憶している）はディスク表面５０１のトラック５５２にある。セクタ５３２（第２データブロック５２２を記憶している）はトラック５５１にある。セクタ５３３（第３データブロック５２３を記憶している）はトラック５５１にある。従来は、このファイルのデータを検索するために、読み取りヘッド（例えば１１３）をトラック５５２へ動かしてセクタ５３１に記憶されている第１データブロック５２１を検索し、それからトラック５５１へ動かしてセクタ５３２に記憶されている第２データブロック５２２を検索し、それからトラック５５２へ動かしてセクタ５３３に記憶されている第３データブロック５２３を検索する必要があった。従って、従来の方法における検索時間は、読み取りアクセス中のトラック間の読み取りヘッド（例えば１１３）の移動のために、長くなることがある。
【００３２】
本発明の実施態様は、データ検索時間を最適化するために不規則データ読み取りを実行
する。これらの実施態様においては、データは、不連続に検索され、情報装置１４１に供給される前にメモリ１２６に一時保存される。図５において、これらの実施態様においては、マスタリスト１２７の各ファイルエントリ（例えば５２０）は、そのファイルエントリに関するファイルのデータブロックを記憶しているディスク表面５０１の各セクタ（例えば５３１）の場所を含んでいる。例えば、マスタリストエントリ５２０は、セクタ５３１，５３２，５３３，５３４，５３５，５３６のそれぞれの場所Ｌ１，L ２，Ｌ３，Ｌ４，Ｌ５，Ｌ６を含んでいる。マスタリストのファイルエントリ内に、ファイルのデータを記憶している各セクタに対する場所を含むことによって、システムが有利に不連続にデータを検索することができる。従って、データファイルを検索するのに必要な時間を減らすことができる。
【００３３】
図６は、不規則データ検索を実行するデータ記憶システムによってデータアクセスを扱う方法の一実施態様のフローチャートである。プロセッサ１１６は、ステップ６０３において、情報装置１４１からファイルに対するデータアクセス要求を受け取り、ステップ６０５において、要求されたアクセスが読み取りアクセスであると判定した場合、ステップ６０７において、要求されたファイルに関するマスタリスト１２７のエントリにアクセスして、そのファイルに対するデータを記憶しているセクタの場所を検索する。この実施態様においては、マスタリスト１２７内の各エントリは、そのエントリに関するファイルのデータを記憶しているすべてのセクタの場所を含んでいるという点において、図５のエントリと類似している。
【００３４】
ステップ６０９において、プロセッサ１１６は、セクタ（例えば５３１，５３２）の場所（例えばＬ１，Ｌ２）をソートして、それらのセクタ内のデータを検索するための最適ルートを決定する。最適ルートを決定するための規則は、データ検索におけるデータ記憶システムの動作によって決まる。例えば、いくつかの従来のハードディスクシステムにおいては、トラックからトラックへ動くのは、トラック内の異なるセクタへ動くよりも時間がかかる。従って、１つのスキームは、１つのトラックのセクタに記憶されているファイルの全ブロックを、次のトラックへ進む前に検索することである。他の従来のハードディスクシステムにおいては、トラックのセクタ間を回転するのに必要な時間は、前のトラックから必要トラックへ動く時間よりも大きい。最適ルートは適宜決定される。
【００３５】
最適ルートを決定するもう１つの要因には、読み取り要求を受け取ったときのハードディスク上の読み書きヘッド（例えば１１３）の位置がある。最適ルートを決定するもう１つの要因は、要求されたデータを情報装置（例えば１４１）へ転送する場合のデータ記憶システムの動作である。一実施態様においては、最適スキームの目的は、データが情報装置によって要求されたときから要求されたデータをその情報装置へ供給するまでの総時間を最少にすることである。
【００３６】
図５の実施態様において、読み書きヘッド１１３が外側トラック上にある場合、データ記憶システムは最初にトラック５５１上のデータ（例えば、セクタ５３２，５３４，５３５上のデータ）を検索し、それからトラック５５２上のデータ（セクタ５３１，５３６，５３３上のデータ）を検索する。トラック内の検索されるデータの特定の順序は、トラックに入ったときの読み書きヘッドの場所によって決まる。１つの例においては、最適のセクタ検索ルートは、セクタ５３２，５３４，５３５，５３１，５３６，５３３の順である。
【００３７】
図６に戻って、ステップ６０９における最適検索ルートの決定後、プロセッサ１１６は、ステップ６１１において、そのルートの第１セクタ内のデータを検索し、ステップ６１５においてそのデータをメモリ１２６に一時保存する。上述の検索ルートに対して、プロセッサ１１６は最初に、セクタ５３２内のデータブロック５２２を検索し、そのデータブ
ロック５２２をメモリ１２６に書き込む（図５参照）。ステップ６１５において、プロセッサ１１６は、メモリ１２６内のデータが情報装置１４１へ転送されるべき次のデータブロックを含んでいるどうかを判定する。このときメモリ１２６は第２データブロック５２２だけを含んでいて、第１データブロック５２１は情報装置１４１へ転送されていないので、プロセッサ１１６はステップ６１１へ戻って、そのルートにおける次のセクタからデータ（ブロック５２４）を取り出した後、ステップ６１３へ進んでメモリ１２６にデータブロック５２４を書き込む。第１データブロック５２１はまだ取り出されていないので、プロセッサ１１６は、セクタ５３１からブロック５２１を取り出すまでステップ６１１へ戻る。このとき、データブロック５２１，５２２，５２４，５２５が、メモリ１２６内に記憶されている。従って、ステップ６１５において、プロセッサ１１６は、情報装置１４１へ転送すべき次のデータブロック（５２１）がメモリ１２６内にあることを知る。ステップ６２７において、データブロック５２１を情報装置１４１へ転送する。プロセッサ１１６はそれからステップ６１５へ戻り、転送すべき次のデータブロック（データブロック５２２）がメモリ１２６に一時保存されていることを知るので、データブロック５２２をステップ６２７において転送する。このとき、転送すべき次のデータブロックがメモリ１２６にないので、プロセッサ１１６はステップ６１１へ戻って、セクタ５３６から次のデータブロック５２６を取り出し、ブロック５２６をステップ６１３においてメモリ１２６に書き込む。ステップ６１５においてデータブロック５２３（転送すべき次のブロック）がメモリ１２６にないので、プロセッサ１１６はステップ６１１へ戻ってセクタ５３３からブロック５２３を取り出す。いまブロック５２３がメモリ１２６にあるので、プロセッサ１１６はブロック５２３を情報装置１４１へ転送する。残りのブロック５２４，５２５，５２６もメモリ１２６にあるので、プロセッサ１１６はステップ６１５と６２７を通るループを続け、残りのブロックを順に情報装置１４１へ転送する。ステップ６１５において、転送すべきデータが残っていない場合は、プロセッサ１１６はステップ６１９へ進む。ここでは、ファイルに対するすべてのブロックが取り出されたので、ステップ６２３において動作が終了する。
【００３８】
他の実施態様においては、データ記憶システムは、他の種類の不規則最適検索方法を使用する。例えば、プロセッサ１１６は、ファイルの第１データブロック、例えば５２１、を検索した後、第１データブロックを記憶しているセクタと同じトラック上のセクタに記憶されているすべてのブロックを一時保存するように、プログラムすることができる。プロセッサはそれから、転送すべき次のデータブロックを記憶しているセクタを有するトラックへ進んで（そのデータブロックが、第１ブロックを記憶しているセクタのトラックにない場合）、そのトラックのセクタに記憶されているそのファイルのすべてのデータブロックを検索し、一時保存する。従って、そのようなスキームのもとでは、読み書きヘッド１１３は検索ごとに一度トラックからデータを取り出す。他の実施態様においても、データを、例えばＤＲＡＭやＳＲＡＭなどの別の種類のメモリの中に一時保存することができる。
【００３９】
ファイルのデータを含んでいるすべてのセクタの場所を含むマスタリストを設けることによって、図６の実施態様におけるデータ記憶システムは不規則検索を実行することができる。すべてのファイルの場所がプロセッサに知られているので、プロセッサは順にデータを検索する必要はない。他の実施態様においては、マスタリストは、ファイルに対するデータを記憶しているセクタの場所を示すための他の情報を記憶することができる。例えば、いくつかの実施態様においては、マスタリストのファイルエントリの各セクタ場所領域は、ファイルの連続データブロックを含むセクタ場所エントリに関するセクタからのトラック内の連続セクタの数を示す連続番号領域を含むことができる。従って、データ記憶システムプロセッサ（例えば１１６）は、マスタリストから、一組の連続セクタがファイルに対するデータブロックを含んでいることを知ることができる。従って、そのようなマスタリストは、トラック毎に、そのトラックの連続セクタ内にある一組の連続的に並んだ
ブロックに対し、唯１つのセクタ場所領域を含むことができる。
【００４０】
いくつかの実施態様において、情報装置１４１から受け取ったユーザデータを、データ検索の時間を減らすためと、非ＩＣベース記憶媒体の容量を「有効に」増やすため、またはそのいずれかのために、メモリ１２６に不揮発的に記憶させることができる。
【００４１】
図７は、ハードディスク表面７１２に記憶されたファイルの検索時間を減らすために、ユーザデータを不揮発的に記憶するためのメモリ１２６を利用する実施態様のシンボル表現を示す。この実施態様において、メモリ１２６は、ハードディスク表面７１２に完全に記憶されたならば比較的長い検索時間を有するであろうファイルのユーザデータを不揮発的に記憶するために使用される。例えば、ユーザデータのファイルは最初、ハードディスク表面７１２のセクタＡに記憶されている第１データブロックＤＡＴＡ  Ａと、ディスク表面７１２のセクタＢに記憶されている第２データブロックＤＡＴＡ  Ｂと、ディスク表面７１２のセクタＣに記憶されているＤＡＴＡ  Ｃとで構成されている。３つのデータブロックＤＡＴＡ  Ａ，ＤＡＴＡ  Ｂ，ＤＡＴＡ  Ｃからなるファイルに対する検索時間は、それらのデータブロックが３つの連続的に並んだセクタＡ，Ｂ，Ｃに記憶されているために、比較的短い。セクタブロック７０６，７０８，７１０はそれぞれ、セクタＡ，Ｂ，Ｃに記憶されているデータを表す。
【００４２】
ファイル（ＤＡＴＡ  Ａ，ＤＡＴＡ  Ｂ，ＤＡＴＡ  Ｃからなる）が最初にディスク表面７１２に記憶された後、情報装置１４１は、データ記憶システム１１０にファイルの改訂版を供給する。この改訂版は追加のデータブロックＤＡＴＡ  Ｄ（セクタブロック７１４で示す）を含んでいる。セクタＡ，Ｂ，Ｃと同じディスク表面７１２のトラックには他の利用可能なセクタがないので、ディスク表面７１２にＤＡＴＡ  Ｄを記憶させると、ファイルを検索するのに読み取りヘッドを少なくとも２回二つの異なるトラック間を動かす必要があるために、ファイルを検索する時間が大幅に増大する。しかしながら、図７の実施態様においては、セクタブロック７１４をメモリ１２６に記憶させ、セクタブロック７０８の後続部は、データブロックＤＡＴＡ  Ｄが記憶されているメモリ１２６内の場所（ＬＯＣ  Ｄ）を表記する。セクタブロック７１４の後続部は、データブロックＤＡＴＡ  Ｃが記憶されているディスク表面７１２のセクタＣの場所（ＬＯＣ  Ｃ）を表記する。ＤＡＴＡ  ＤはＩＣベースメモリ１２６に記憶されるので、改訂版ファイル（データブロックＡ，Ｂ，Ｃ，Ｄからなる）を検索するのに必要な時間は、元のファイル（データブロックＡ，Ｂ，Ｃからなる）を検索するのに必要な時間とほぼ同じである。
【００４３】
メモリ１２６を別の方法で利用して、データ検索速度を増やすか、ユーザデータを不揮発的に記憶させるための媒体の有効容量を増やすことができる。例えば、ユーザデータのファイルが、ファイルの最後のデータブロックが数バイトの長さのものであるならば、媒体１１２のセクタ全体を占めるのではなく、その数バイトをメモリ１２６に記憶させることができる。一実施態様においては、プロセッサ１１６は、媒体１１２のセクタ当たりの価格と媒体１２６のバイト当たりの価格でプログラムされる。ファイルの末端ブロックのバイト数が十分少なくて、メモリ１２６にデータを記憶させるコストが媒体１１２のセクタ全体を利用するコストよりも少なければ、プロセッサ１１６はメモリ１２６に最後のブロックを記憶させる。さらなる実施態様においては、ファイルの中間ブロックだけが改訂されて、それが、セクタに記憶されるべきサイズを超えるならば、セクタのサイズを超える改訂データブロックの部分をメモリ１２６に記憶させることができる。
【００４４】
他の実施態様においては、欠陥があると判定されたセクタにそうでなければ記憶される予定であったデータを記憶させるためにメモリ１２６を利用することができる。１つのそのような例は、ＲＡＩＤ（リダンダント・アレイ・オブ・インエクスペンシブ・ディスク）システムを実行するデータ記憶システムによって行われる。図９は、ＲＡＩＤシステム
を実行するハードディスクシステムの一部分を表している。ハードディスクシステム９０１は二つのハードディスク９０４と９０５を含み、情報をハードディスク９０４と９０５の両面に記憶する。図８はハードディスク９０４と９０５の各面を示し、ハードディスク表面８０７はハードディスク９０５の底面にあり、ハードディスク表面８０８はディスク９０５の上面にあり、ハードディスク表面８０９はディスク９０４の底面にあり、ハードディスク表面８１０はハードディスク９０４の上面にある。
【００４５】
従来、ＲＡＩＤシステムについては、ユーザデータは複数ハードディスク表面上にあるブロック内に記憶される。ＲＡＩＤシステムを実行する記憶システムの駆動回路部品は、各表面に関する読み書きヘッドが、同じセクタ場所を有する表面のそれぞれに対するセクタの上にくるように、表面のそれぞれを同時に駆動する。各表面上の同じセクタ場所を有する各セクタ上のデータブロックを平行に読み取り、ファイルのデータを得る。複数ディスク表面にデータを記憶させるこの技術は、ときにはデータストリッピングと呼ばれる。
【００４６】
図８と図９において、ディスク９０４と９０５は、各ディスク表面上の同じセクタ（例えば８０７）へ同時に動かされるので、セクタの１つに欠陥があれば（例えば、表面８０８上の「Ｘ」によって示されたようにセクタ８２２に欠陥があれば）、ディスク表面のすべてに対するそのセクタ場所のセクタは使用不可能と考えられる。従って、セクタ場所の１つのセクタにおける欠陥は、平行に動作しているディスク表面の数だけ倍増される。
【００４７】
ハードディスク表面上でデータストリッピングを実行するシステム（例えばＲＡＩＤシステムを有するシステムなど）における一実施態様においては、ディスク表面の１つのセクタに欠陥があると判定したならば、その欠陥セクタに書き込む予定のデータブロックを、代わりにメモリ１２６に記憶させる。他のデータブロックは、同じセクタ場所を有する他のディスク表面の他のセクタに、あたかもそのセクタ場所に欠陥セクタがなかったかのように、記憶させる。例えば、図８において、セクタ８２２に欠陥があるので、そのセクタに書き込む予定のデータを、代わりにメモリ１２６に書き込み、データストライプの他のデータブロックを、セクタ８２１，８２３，８２４（セクタ８２２と同じセクタ場所を有するハードディスク表面８０７，８０９，８１０のセクタ）に書き込む。欠陥セクタに書き込まれる予定のデータを記憶させるためにメモリ１２６を利用することによって、欠陥セクタが、他のディスク表面上のそのセクタ場所を有する他のセクタを使用不可能にすることはない。
【００４８】
他の実施態様においては、ＩＣベースメモリをデータ記憶システムの中で利用して、データ記憶システムの非ＩＣベース媒体に記憶されるデータの量を増やすことができる。図１０において、従来のハードディスク表面（例えば１０１０）に対して、データは、ハードディスクのハブ１０２０を囲むトラック（例えばトラック１８）上にあるセクタ区画（例えばセクタ区画４）内のセクタ（例えば１０２９）に記憶される。セクタは一般的に、セクタ区画を規定するセクタライン（例えば、１０３１と１０３２）の間にある。いくつかの実施態様においては、サーボデータをセクタライン（例えば、１０３１と１０３２）上に記憶させることができる。サーボデータの例としては、トラック番号、セクタ番号、およびトラック内に読み書きヘッド１１３を位置付けるために使用されるアナログデータがある。従来、各セクタは、標準サイズのデータブロック（１つの例においては例えば５１２バイト）を保持するようにサイズが決められる。いくつかの例については、複数のセクタをセクタ区画のトラック内に置くことができる。
【００４９】
従来のハードディスクのセクタはトラック内にあり、各トラックはハブに対して異なる半径を有しているので、セクタ区画内のトラックのディスク表面スペースが、標準サイズのデータブロックを記憶するのに必要なスペースよりも小さいために、トラックの部分が使用できなくなることがある。例えば、トラック２３と２２の中の（セクタライン１０３
１，１０３２の間にある）セクタ区画内のディスクスペースの量は、標準的なサイズ（例えば５１２バイト）のデータブロックを記憶するのに必要な量よりも少ない。セクタ区画４のトラック２３上のスペース１０１２は、図１０に示されたものに比べて、セクタライン１０３２のすぐ右側にあるトラック２３内の点線で示されたスペース１０１６の量だけ足りない。セクタライン１０３２のすぐ右側にある点線で示された部分は、セクタライン１０３２のすぐ左側にあるディスク表面スペースが、標準サイズのデータブロックを記憶するのに不足しているスペースの量を表している。例えば、部分１０２３は、トラック２０のスペース１０２４が標準サイズのデータブロックを記憶するのに不足しているディスクスペースの量を表している。従って、従来のシステムについては、これらのスペースは使用されず、ディスク表面上に無駄な記憶スペースを生じる。
【００５０】
図１１は、本発明のいくつかの実施態様に従ってメモリ１２６内に記憶されるデータの一部分を示している。本発明のいくつかの実施態様においては、標準サイズのデータブロックを記憶するのに必要なものよりも使用可能記憶スペースの少ないハードディスク表面のスペースを、標準サイズのデータブロックの一部分を記憶するために使用することができ、標準サイズのデータブロックの他の部分をメモリ１２６に記憶させることができる。例えば、標準サイズのデータブロックの一部分を、トラック２３のスペース１０１２に記憶させる（図１０参照）。標準サイズのデータブロックの残り部分（そのサイズは図１０のスペース１０１６のそれである）を、場所１１１６に記憶させる。メモリ１２６はまた、他の部分がハードディスク表面１０１０に記憶されている標準サイズのデータブロックの残り部分を記憶することもできる。例えば、メモリ１２６のメモリ場所１１１５は、他の部分が場所１０１１（図１０参照）に記憶されている標準サイズのデータブロックの残り部分（そのサイズは部分１０１５によって示されている）を記憶する。
【００５１】
いくつかの実施態様においては、表面１０１０上の各不足スペースに関するメモリ１２６内の場所が、そのスペースのために空けられている。例えば、メモリ１２６のブロック１１３０は、トラック２３の全区画セクタの全ディスクスペースに対する不足部分を記憶するために空けられている。いくつかの実施態様については、データブロックの第１部分をメモリ１２６に記憶させ、残り部分をディスク表面１０１０に記憶させる。一実施態様においては、標準サイズのデータブロックの一部分を記憶するためにメモリ１２６を使用すべきかどうかの判定は、メモリ１２６にその部分を記憶させるコストに対する他の部分を記憶するハードディスク上のスペースの使用の節約量によって決まる。
【００５２】
図１０と図１１の実施態様においてデータブロックを取り出すために、プロセッサ１１６は、ディスクスペース（例えば１０１２）からそのデータの部分を取り出し、メモリ１２６内（例えば、場所１１１６）に記憶されているそのデータの部分を取り出す。図１４に関する記述を参照のこと。プロセッサ１１６は、情報装置１４１にそれらを供給する前にその部分を組み合わせる。データの残り部分はＩＣベースメモリ（例えば１２６）に記憶されているので、残り部分を含むブロックに対する検索時間は、ハードディスクのセクタに全体が記憶されているブロックに対する検索時間と本質的に同じである。従って、標準サイズのデータブロックの部分をＩＣベース不揮発性メモリに記憶させることによって、ハードディスク表面をより適切に有利に利用することができる。
【００５３】
いくつかの従来のハードディスクシステムは、１つのセクタをセクタライン（例えば１０３１）の両側に置くことができるように構成されている。これらのシステムについては、ハードディスクシステムは、セクタラインを横切るセクタからデータを抽出するためのプログラムコードを含んでいる（例えば、このシステムは、セクタのユーザデータからセクタライン内に記憶されているサーボデータを除去するためのコードを含んでいる）。ユーザデータの部分を記憶するためにメモリ１２６を利用することによって（例えば、図１０と図１１に示すように）、セクタブロックの残り部分がメモリ１２６に記憶されるので
、セクタがセクタラインを横切らないようにシステムを構成することができる。従って、上述のプログラムコードはそのような実施態様に対して必要とはならない。
【００５４】
いくつかの実施態様においては、データ記憶システム１１０に記憶されているユーザデータのファイルの検索時間をスピードアップするために、ファイルの一部分を不揮発性記憶用ＩＣベースメモリ１２６に書き込むと共に、そのデータの残りを非ＩＣベース媒体１１２に記憶させることができる。これらの実施態様のいくつかについては、どのデータをＩＣベースメモリ（例えば１２６）に書き込み、どのデータを非ＩＣベース媒体に書き込むかについての決定は、非ＩＣベース媒体に記憶されるデータの検索時間に依存している。これらの実施態様のいくつかについては、データ記憶システム（例えば１１０）からファイルを取り出す場合における情報装置（例えば１４１）から見たときのファイルの全検索時間を減らすことが望ましい。
【００５５】
図１２は、本発明に従ってファイルの検索時間をスピードアップするようにＩＣベース不揮発性メモリにユーザデータのファイルの部分を不揮発的に記憶させるためのシステムを実行するための書き込み動作の一実施態様を表している。図１２の実施態様においては、非ＩＣベース媒体１１２に書き込まれるべき次のデータの導入部は、そのデータの検索時間を減らすようにＩＣベースメモリ１２６に書き込まれる。図１２のフローチャートは、データ記憶システム１１０のプロセッサ１１６によって実行される。
【００５６】
ステップ１２０１において、プロセッサ１１６は、情報装置１４１から書き込みアクセス要求を受け取ったときに、図１２に記載された方法の実行を開始する。データ記憶システム１１０は、ユーザデータのファイルをブロック毎に記憶し、一実施態様においては、各ブロックを媒体１１２のディスク表面にあるセクタ内に記憶する。一実施態様においては、ファイルを記憶するために使用するセクタを、メモリ１２６に記憶された不使用セクタリスト（図示せず）から取得する。他の実施態様においては、書き込まれるべきファイルが改訂版である場合、第１セクタは、マスタリスト１２７によって示されるように、前版のデータを記憶している第１セクタである。ステップ１２０３において、セクタ番号（Ｎ）を１に設定し、ステップ１２０５において、データの第１ブロックを媒体１１２上のセクタ１（不使用セクタリストから得られた第１セクタ）に書き込む。
【００５７】
ステップ１２０７において、プロセッサ１１６は、第１セクタ（Ｎ）から次のセクタ（Ｎ＋１）までのシーク時間を決定する。次のセクタは、不使用セクタリストから得られた次のセクタである（新ファイルに対して）か、前版の次のデータブロックを記憶する次のセクタである。シーク時間は、読み書きヘッド１１３が第１セクタ（Ｎ）の末端から次のセクタ（Ｎ＋１）へ移動するのに必要な時間である。次のセクタが前のセクタと同じトラック内の次の連続セクタである場合（例えば、同じトラック上に連続してあるセクタＡ，Ｂ，Ｃを示す図７のディスク表面を参照のこと）、シーク時間は比較的短い。しかしながら、次のセクタ（Ｎ＋１）が前のセクタ（Ｎ）とは別のトラック上にある場合、シーク時間は比較的長くなる。
【００５８】
ステップ１２１０において、プロセッサ１１６は、メモリ１２６に記憶させるデータのサイズを決定する。メモリ１２６に記憶させるデータのサイズは、データが前に書き込まれたセクタ（Ｎ）と次のセクタ（Ｎ＋１）との間のシーク時間に基づいている。次のセクタが前のセクタからのトラック内の次の連続セクタである場合、プロセッサ１１６はステップ１２１０において、シーク時間が比較的短いためにデータをメモリ１２６に記憶させる必要がないと決定することができる。しかしながら、シーク時間が比較的長い場合、プロセッサ１１６はステップ１２１０において、メモリ１２６に記憶させるデータの量を決定する。
【００５９】
メモリ１２６に記憶させるデータは、次のセクタに記憶させるデータの導入部である。そのようなデータは、次のセクタのセクタブロックのヘッダーのみならず次のセクタに対するユーザデータの導入部を含む。ステップ１２１１において、導入部をメモリ１２６に書き込む。ステップ１２１３において、プロセッサ１１６は、マスタリスト１２７（またはメモリ１２６の他の部分）に、次のデータブロックの導入部がメモリ１２６にあるという表示を書き込む。
【００６０】
ステップ１２１５において、データを次のセクタ（Ｎ＋１）に書き込む。一実施態様においては、ユーザデータの次のデータブロック（前のセクタ（Ｎ）に書き込まれたデータブロックの後のデータ）の残り部分（メモリ１２６に書き込まれない部分）だけを次のセクタに書き込む。従って、５１２バイトの標準セクタブロックサイズを有するシステムに対して、最初の６２バイトをメモリ１２６に書き込んだならば、５１２バイトブロックの残りの４５０バイトを次のセクタ（Ｎ＋１）に書き込む。他の実施態様においては、ファイルの次の標準セクタブロックサイズのデータを、次のセクタ（Ｎ＋１）に書き込む。例えば、ファイルの６２バイトをメモリ１２６に書き込んだならば、ファイルの次の５１２バイトを次のセクタ（Ｎ＋１）に書き込む。他の実施態様においては、メモリ１２６に書き込まれたデータの導入部を含む次のブロックサイズのデータ全体を、次のセクタ（Ｎ＋１）に書き込む（例えば、メモリ１２６に書き込まれた６２バイトのデータを含む次の５１２バイトのデータ）。この実施態様については、ファイルのコピー全体を媒体１１２に記憶させる。いくつかの実施態様においては、メモリ１２６に書き込まれる部分を、データの標準サイズブロック（例えば５１２バイト）よりも大きくすることができる。更に他の実施態様においては、シーク時間が所定閾値よりも大きいならば、次のデータの標準サイズブロック（例えば、５０バイト、１００バイト、５１２バイト、または１０２４バイト）をメモリ１２６に記憶させる。次のセクタブロック（Ｎ＋１）に記憶させるデータをメモリ１２６にも記憶させる実施態様においては、プロセッサ１１６は、読み取りアクセスの間、セクタＮ＋１の読み取りを飛ばして、セクタＮ＋２に行くことができる。
【００６１】
ステップ１２１９において、ファイルのデータのすべてがデータ記憶システム１１０に記憶されたかどうかの判定を行う。ＹＥＳならば処理を終了する。ＮＯならば、ステップ１２２１においてＮはＮ＋１にインクリメントされ、プロセッサ１１６は、ステップ１２０７に戻って、ファイルのデータのすべてが記憶されるまでこの方法を繰り返す。図１２の実施態様については、ファイルのデータアクセスの間、プロセッサ１１６は、読み書きヘッド１１３が次のセクタへ動いている間に、メモリ１２６に記憶されている導入部データを情報装置１４１に供給することができる。
【００６２】
図１３は、本発明に従ってファイルの検索時間をスピードアップするようにデータ記憶システムのＩＣベース不揮発性メモリにユーザデータのファイルの部分を記憶させるためのシステムを実行するための書き込み動作のさらなる実施態様を表している。図１３の実施態様は、図１３の実施態様においては、非ＩＣベース媒体１１２のセクタに書き込まれるデータの後続部がＩＣベースメモリ１２６に書き込まれることを除き、図１２の実施態様と同じである。この方法においては、二つのセクタ間のシーク時間が長い場合は、読み書きヘッド（例えば１１３）を、第１セクタに記憶されたデータの読み取り終了前に、第１セクタから第２セクタへ動かすことができる。
【００６３】
ステップ１３０１において、プロセッサ１１６は、ユーザデータのファイルを記憶させるための情報装置１４１からの書き込み要求を受け取ったときに、図１３に記載した方法の実行を開始する。ステップ１３０３において、セクタ番号（Ｎ）を１に設定し、ステップ１３０４において、ファイルの第１データブロックを媒体１１２のセクタＮ（ファイルを記憶するために指定された媒体１１２の第１セクタ）に書き込む。ステップ１３０５において判定したときにエンドオブファイル（ＥＯＦ）に到達していなければ、ステップ１
３０７において、プロセッサ１１６は、媒体１１２にファイルを記憶するために指定された次のセクタ（Ｎ＋１）の場所を決定する。ステップ１３０９において、プロセッサ１１６は、現在のセクタ（Ｎ）（この方法のこのループの間はセクタ１）から次のセクタ（Ｎ＋１）までのシーク時間を計算する。
【００６４】
ステップ１３１０において、プロセッサ１１６は、ステップ１３０４において現在のセクタ（Ｎ）に書き込むデータの後続部（メモリ１２６に記憶される）のサイズを判定する。後続部は、セクタに書き込まれるデータの最後の部分である。いくつかの実施態様においては、後続部は次のセクタの場所を含んでいる。メモリ１２６に記憶されるべき後続部のサイズは、現在のセクタ（Ｎ）と次のセクタ（Ｎ＋１）の間のシーク時間に基づいている。次のセクタ（Ｎ＋１）が現在のセクタ（Ｎ）からのトラック内の次の連続セクタである場合、プロセッサ１１６はステップ１３１０において、シーク時間が比較的短いためにデータをメモリ１２６に記憶させる必要がないと判定することができる。しかしながら、シーク時間が比較的長い場合、プロセッサ１１６はステップ１３１０において、メモリ１２６に記憶させるデータの量を決定する。いくつかの実施態様においては、シーク時間が特定の閾値を満足するならば、標準サイズの後続部をメモリ１２６に記憶させる。いくつかの実施態様においては、セクタＮ＋１までのシーク時間が十分長いならば、セクタＮに書き込むデータブロック全体をメモリ１１２に書き込む。セクタブロック全体をメモリ１２６に記憶させる実施態様においては、プロセッサ１１６は、読み書きヘッド１１３を制御して、セクタＮ−１からセクタＮ＋１へ飛ばすことができる。
【００６５】
ステップ１３１１において、ステップ１３１０において決定したサイズを有する後続部をメモリ１２６に記憶させる。ステップ１３１４において、そのセクタに対する後続部がメモリ１２６にあるという表示をマスタリスト１２７に書き込む。しかしながら、いくつかの実施態様においては、データの後続部を、どのセクタブロックに個々の後続部が属しているかの表示と共に、メモリ１２６に順に記憶させる。従って、プロセッサ１１６は、後続部を記憶しているメモリ１２６内の場所を読み取ることによって、メモリ１２６内の後続部がどのセクタブロックに対して記憶されているかを知ることができる。ステップ１３１５において、Ｎは１だけインクリメントされ、プロセッサ１１６はステップ１３０４に戻って処理を繰り返す。
【００６６】
図１３の実施態様においては、メモリ１２６に書き込むデータを含む、ファイルのデータのすべてを、媒体１１２のセクタに書き込む。しかしながら、他の実施態様においては、メモリ１２６に書き込まないファイルのデータだけを媒体１１２に書き込む。
【００６７】
図１３の方法によって記憶されているファイルを検索するために、プロセッサ１１６は、セクタブロックの後続部がメモリ１２６に記憶されていることを知ったならば、そのセクタブロックを記憶しているセクタの読み取りの間、メモリ１２６に記憶されていないそのセクタブロックのデータのすべてを読み取った後に、読み書きヘッド１１３を動かす。プロセッサ１１６はそれから、メモリ１２６内の後続部データを媒体１１２のセクタから読み取ったデータと組み合わせ、そのデータを情報装置１４１に供給する。データのセクタブロックの後続部がメモリ１２６に記憶されているので、そのセクタブロックが記憶されているセクタのデータ読み取りの終了より前に読み書きヘッド１１３を動かすことができ、そのことによって、記憶システム１１０内のファイルを検索するのに必要な時間を減らすことができる。
【００６８】
いくつかの実施態様については、ファイルの最初の部分をメモリ１２６に記憶させることができ、ファイルの残り部分を媒体１１２に記憶させる。従って、ファイルに対する要求がなされると、プロセッサ１１６は、ファイルの最初の部分を情報装置１４１に供給する一方で、読み書きヘッド１１３を動かしてデータの残り部分を検索することができる。
一実施態様においては、ファイルの所定サイズの最初の部分（例えば、１００バイト、２００バイト、または２０データブロック）をメモリ１２６に記憶させる。最初の部分のサイズは、データ記憶システムが読み取り要求に呼応して媒体１１２からデータを取り出すのにかかる時間によって決まる。
【００６９】
図１４は、データ記憶システム１１０に記憶されているデータの読み取りアクセス動作の実施態様を示す。図１４に記載された方法を修正した上で用いて、例えば、図４，７，８，９，１０，１１，１２，１３の実施態様に関して本書に示され説明されたように、また、それらの図に関する文章の中で説明されたように、更に、本書では明確に説明されていない他の実施態様のように、媒体１１２とメモリ１２６の両方に記憶されたユーザデータを検索することができる。
【００７０】
ステップ１４００において、プロセッサ１１６は、情報装置１４１からファイルに対する読み取り要求を受け取ったときに、図１４に記載された方法の実行を開始する。ステップ１４０３において、プロセッサ１１６は、そのファイルの何らかのデータがメモリ１２６に記憶されているかどうかを判定する。いくつかの実施態様においては、ファイルのデータがメモリ１２６に記憶されているかどうかの表示は、マスタリスト１２７の中のそのファイルに対するエントリの中に見出される。他の実施態様においては、メモリ１２６は、ファイルに対する要求に呼応してプロセッサ１１６によってアクセスされるメモリ１２６内に一時保存されたファイルの一時保存リストを含んでいる。ステップ１４０３において、メモリ１２６にデータが記憶されていないと判断した場合は、ファイルを媒体１１２から取り出す。いくつかの実施態様については、ファイルの何らかのデータがメモリ１２６に記憶されているという一般的な表示はない。これらの実施態様については、ファイルの何らかのデータがメモリ１２６に記憶されているかどうかの表示はセクタ単位で判定される。例えば、図７の実施態様を参照のこと。
【００７１】
ステップ１４０３においてＹＥＳならば、プロセッサ１１６はファイルのデータのすべてがメモリ１２６に記憶されているかどうかを判定する。ファイル全体がメモリ１２６に記憶されているならば、ステップ１４０６において、プロセッサ１１６はそのファイルをメモリ１２６から取り出す。例えば、ファイルのデータのすべてをメモリ１２６に一時保存することができる図４の実施態様を参照のこと。しかしながら、ファイル全体がメモリ１２６に記憶されない実施態様に対しては、ステップ１４０４と１４０６は省略することができる。
【００７２】
ステップ１４０４においてＮＯならば、プロセッサ１１６はステップ１４０７において、ユーザデータの第１ブロックの何らかがメモリ１２６に記憶されているかどうかを判定する。もしＹＥＳならば、プロセッサ１１６は、ステップ１４１１においてメモリ１２６からデータのブロックのその部分を取り出した後、ステップ１４１２において媒体１１２のセクタからデータのブロックの他の部分（もしあれば）を取り出す。ステップ１４１３において、プロセッサ１１６はメモリ１２６から取り出した部分と媒体１１２から取り出した部分を組み合わせる。組み合わしたデータブロックがエンドオブファイル表示（ＥＯＦ）を含んでいなければ、プロセッサ１１６は、データのすべてを取得するまでステップ１４０７へ戻る。ステップ１４０７においてＮＯならば、プロセッサ１１６は媒体１１２内のセクタからデータを取得する。
【００７３】
図１４に記載されたデータ検索方法は、ユーザデータが媒体１１２とメモリ１２６の両方にどのように記憶されるかによって変更できることは、当業者にとって、本明細書の開示に基づき、明らかであろう。例えば、図７の実施態様においては、データのブロックに対してメモリ１２６にアクセスすべきかメモリ１１２にアクセスすべきかの決定は、セクタブロック（例えば７０６）の後続部の中の場所情報に基づいてなされる。図１０と１１
の実施態様、および、図８と９の実施態様においては、メモリ１２６にアクセスすべきかどうかの決定は、媒体１１２内のディスク表面上の実際のセクタ場所に基づいている。図１０と１１の実施態様については、媒体１１２からデータブロックを取り出すプログラムの一部には、セクタ場所を、不足スペースを有するセクタ場所（例えば１０１２）と、これらのセクタブロックに対するデータの残り部分を記憶しているメモリ１２６内のアドレス（例えば、場所１１１６）とを含むセクタ場所テーブル（図示せず）と比較することが含まれる。図８と９の実施態様については、プロセッサ１１６は、各欠陥セクタに対するデータブロックを記憶しているメモリ１２６内のアドレスを含む欠陥セクタテーブルにアクセスする。そのようなテーブルは、メモリ１２６、プログラムメモリ１２４、または、プロセッサ１１６によってアクセス可能な他のメモリ（図示せず）に記憶させることができる。
【００７４】
図１５は、本発明による着脱自在媒体データ記憶システムの一実施態様のブロック図である。着脱自在媒体データ記憶システム１５１０は、このデータ記憶システムに挿入された着脱自在媒体１５１２からユーザデータを取り出し（そして、いくつかの実施態様においては書き込み）、そのユーザデータを情報装置１５４１に供給する（そして、いくつかの実施態様においては、記憶のために情報装置１５４１からユーザデータを受け取る）。一実施態様においては、データ記憶システム１５１０は、読み取り専用または読み書き可能なコンパクトディスク（ＣＤ）ドライブである。他の実施態様においては、データ記憶システム１５１０は、例えば、ＤＶＤプレーヤー、ポータブルＤＶＤプレーヤー、ＣＤＲＯＭドライブ、テープドライブ、着脱自在フロッピー（登録商標）ディスクドライブ、着脱自在ハードディスクを備えたシステム、または着脱自在媒体を受け取ることができる別の記憶システムのうちのいずれかとすることができる。一般に、着脱自在媒体は、着脱自在媒体データ記憶システムから取り外すことができるようになっている何らかの媒体である。図示された実施態様においては、着脱自在媒体は、読み書きヘッド１５１３とスピンドルモータ１５１４を含むデータ記憶システム１５１０から取り外されるようになっており、他の着脱自在媒体をその場所に挿入することもできる。しかしながら、いくつかの実施態様においては、着脱自在媒体は、読み書きヘッドまたはドライブ回路部品（例えばスピンドルモータ）などの図１５に示す他の回路部品を含む（およびそれと共に取り外す）ことができる。
【００７５】
図１５に示す実施態様において、データ記憶システム１５１０は、記憶システム１５１０の動作を制御するための制御回路部品１５１１を含んでいる。制御回路部品１５１１は、プロセッサ１５１６と、プロセッサ１５１６によって実行されるコードを記憶するためのプログラムメモリ１５２４を含んでいる。制御回路部品１５１１はまた、着脱自在媒体（例えば１５１２）に関する動作データを記憶するための不揮発性ＩＣベースメモリ１５２６を含んでいる。いくつかの実施態様においては、メモリ１５２６はＭＲＡＭメモリによって実現される。一実施態様においては、制御回路部品１５１１は、データ記憶システム１５１０の筐体（図示せず）内に置かれた回路基板（図示せず）の上に実現される。いくつかの実施態様においては、メモリ１５２４とメモリ１５２６は同じメモリアレイ内に実現される。
【００７６】
図１５の実施態様において、メモリ１５２６は、各着脱自在媒体に関する、二種類の動作データ、即ち、システムデータ（システムデータ領域１５３２に記憶される）と利用状況データ（利用状況データ領域１５３３に記憶される）を記憶しているテーブル１５２７を含んでいる。システムデータ１５３２の例としては、マスタリスト、欠陥セクタリスト、不使用セクタリスト、欠陥セクタ代用リスト、コピー保護特徴、または、着脱自在媒体、例えば１５１２、の種類に対する具体的な他の同様な種類のシステムデータがある。他の実施態様においては、メモリ１５２６は、着脱自在媒体に対するシステムデータまたは利用状況データの１つだけを記憶するように構成することができる。
【００７７】
利用状況データは、データの記憶における媒体の使用に関する情報である。利用状況データの例としては、例えば、媒体にアクセスした回数、媒体に記憶されているファイルにアクセスした回数、媒体の特定のファイルにアクセスした回数、アクセスした媒体内の最後の場所、媒体がシステム１５１０によってアクセスされた回数、ファイルを要求したユーザ、ファイルに関するエラー検査・訂正データ、およびセキュリティーデータがある。例えば、ＤＶＤプレーヤーに対しては、利用状況データの種類は、ユーザがシステムを切る前にプレイされたディスクの最後の場所である。
【００７８】
図１５の実施態様において、テーブル１５２７は、データ記憶システム１５１０に以前に挿入された数多くの着脱自在媒体に対するシステムデータ（領域１５３２）と利用状況データ（領域１５３３）を記憶するように構成されている。従って、特定の着脱自在媒体がデータ記憶システム１５１０に再挿入された場合、プロセッサ１５１６は、テーブル１５２７からその媒体に関する動作データにアクセスすることができる。例えば、データ記憶システム１５１０がＤＶＤプレーヤーである場合、テーブル１５２７は、そのプレーヤーによってプレイされた最後の２０枚のＤＶＤのプレイされた最後の場所を記憶するために使用することができる。そのようなシステムについては、ユーザは映画の特定の時点でプレーヤーを止め、媒体を取り外すことができる。何日か後、ユーザはその媒体を再挿入することができ、プロセッサ１５１６は領域１５３３の利用状況データにアクセスして、その映画が停止されたその最後の場所を知ることができる。そのようなシステムについては、ＤＶＤプレーヤーは、最後に停止した場所からプレイを再開する選択肢をユーザに与えることができる。
【００７９】
テーブル１５２７の各エントリ（例えば１５４２）は、そのエントリ内のデータに関する着脱自在媒体の識別表示を記憶するＩＤ領域１５３１を含む。各エントリはまた、着脱自在媒体に関するシステムデータを記憶しているシステムデータ領域１５３２（例えば、エントリ１５４２に対しては「Ａ」によって表されている）と、着脱自在媒体に関する利用状況データを記憶している利用状況データ領域（例えば、エントリ１５４２に対しては「Ｍ」によって表されている）を含んでいる。プロセッサ１５１６はＩＤ領域１５３１を利用して、媒体が以前にシステム１５１０に挿入されたかどうかを判定する。媒体が挿入されていれば、プロセッサ１５１６は、その着脱自在媒体に対するその動作データを、そのＩＤに関するエントリから取り出す。
【００８０】
データ記憶システム１５１０は、着脱自在媒体１５１２へのデータアクセスのためのアクセス回路部品を含んでいる。図１５の実施態様においては、アクセス回路部品は、着脱自在媒体１５１２からデータを読み取るためと、着脱自在媒体１５１２へデータを書き込む（着脱自在媒体へ書き込むことができるシステムに対して）ための読み書きヘッド１５１３を含んでいる。読み書きヘッド１５１３は動作可能に接続されて、媒体１５１２からの検索データを読み出し信号ラインと増幅器１５１８を介してプロセッサ１５１６に供給し、媒体１５１２に書き込むべきデータを書き込み信号ラインと増幅器１５２０を介して受け取る。プロセッサ１５１６は、アクチュエータ１５３０へのヘッド制御信号ラインを介して読み書きヘッド１５１３の動きを制御する。プロセッサ１５１６はまた、モータ制御ラインと増幅器１５２２を介して送る信号によってスピンドルモータ１５１４の回転を制御する。
【００８１】
図１６は、データ記憶システム１５１０によって着脱自在媒体を利用する方法の一実施態様のフローチャートである。ステップ１６０３において着脱自在媒体（例えば１５１２）が挿入されたことに呼応して、プロセッサ１５１６は、ステップ１６０５において、着脱自在媒体から識別表示（ＩＤ）を取り出す。一実施態様においては、ＩＤは特定の着脱自在媒体に対して世界で唯一のものである。例えば、システム１５１０がハードディスク
ドライブならば、各着脱自在ハードディスクは、唯一の連続番号か、例えばロット番号などの媒体のグループに特有の番号を含んでいる。他の実施態様においては、識別情報は、ディスクに記憶されているユーザデータに関して特有のものである。例えば、一実施態様においては、ＩＤは、音楽タイトルか音楽ＣＤタイトルまたは音楽ＣＤに対するＵＰＣ番号とすることができる。他の実施態様においては、ＩＤは、ユーザによって付加された番号とすることができる。
【００８２】
ステップ１６０７において、プロセッサ１５１６は、挿入された着脱自在媒体からのＩＤを領域１５３１に記憶されているＩＤと比較して、テーブル１５２７が、挿入された着脱自在媒体に関する動作データを含んでいるかどうかを判定する。挿入された着脱自在媒体のＩＤがテーブル１５２７内にあれば、プロセッサ１５１６は、ステップ１６０９において、そのエントリに記憶されている動作データを取り出す。もしそのＩＤがテーブル１５２７内になければ、プロセッサ１５１６は、ステップ１５１２において、挿入された着脱自在媒体から、例えばマスタリスト、欠陥セクタ、および不使用ファイルなどのすべての動作データを取り出す。一実施態様においては、そのような情報は、着脱自在媒体のブートセクタ上に見出すことができる。
【００８３】
ステップ１６１２において、プロセッサ１５１６はテーブル１５２７にアクセスして、テーブル１５２７の中に、挿入された着脱自在媒体の動作データを記憶するための十分な空きがあるかどうかを判定する。一実施態様においては、テーブル１５２７は、データ記憶システム１５１０に挿入された所定数（例えば１００）の着脱自在媒体の動作データを保持するようにサイズが決められている。所定数の着脱自在媒体の動作データがすでにメモリ１５２６のテーブル１５２７に記憶されているならば、ステップ１６１３において、プロセッサ１５１６は、挿入された着脱自在媒体のＩＤと動作データとで上書きするためのテーブル１５２７内のテーブルエントリを選択する。一実施態様においては、プロセッサ１５１６は、最も使用されていない着脱自在媒体に対するテーブルエントリを選択する。さらに他の実施態様においては、プロセッサ１５１６は、最近最も使用されていない着脱自在媒体に対するテーブルエントリを上書きする。更に他の実施態様においては、上書きするために指定されるテーブルエントリは、着脱自在媒体の挿入頻度と挿入順の両方を含む種々の基準に基づいて選択される。ステップ１６１３の後か、ステップ１６１２においてＹＥＳの場合、プロセッサ１５１６は、ステップ１６１４において、挿入された媒体に対するＩＤと動作データを、メモリ１５２６のテーブル１５２７に記憶させる。
【００８４】
ステップ１６１５において、データ記憶システム１５１０は、テーブル１５２７に記憶された動作データを用いて動作する。一実施態様においては、動作データは、挿入された着脱自在媒体に記憶されているファイルのデータアクセスのためにプロセッサ１５１６がアクセスするマスタリストを含んでいる。図１のデータ記憶システム１１０の実施態様に対しては、マスタリストに関するこの適用における前述の記載を参照のこと。また、データ記憶システム１１０に関する記述と同様に、システムデータは、欠陥セクタリスト、不使用セクタリスト、欠陥セクタ代用リスト、コピー保護特徴、または、挿入された着脱自在媒体上のユーザデータにアクセスするためにプロセッサ１５１６によって使用される別のデータを含むことができる。テーブル１５２７に記憶されるシステムデータの種類は、ユーザデータが着脱自在媒体にどのように記憶されるかによることができることは、当業者にとって、本明細書の開示に基づき、明らかであろう。例えば、歌を記憶しているＣＤに対しては、マスタリストは、ある歌がどのトラックに記憶されているかを示す情報を含むことができる。
【００８５】
着脱自在媒体データ記憶システムの不揮発性ＩＣベースメモリにシステムデータを記憶させる利点は、そのことによってデータ記憶システムが着脱自在媒体からデータを一層速く取り出すことができることにある。また、メモリが不揮発性であるので、複数の着脱自
在媒体に対する動作データをテーブル１５２７に記憶させることができ、電源切断操作後にも利用可能である。従って、そのようなシステムによって生じる１つの利点は、プロセッサ１５１６が、いったん取り外し媒体のＩＤを認識すると、着脱自在媒体に対するシステムデータをロードする必要なしに、着脱自在媒体からユーザデータの入手を始めることができるために、データを入手するのに必要な時間を減らすことができることである。
【００８６】
メモリ１５２６にマスタリストを含むことから生じるもう１つの利点は、データ書き込みのために着脱自在媒体にアクセスする回数を減らすことができることである。一般的には、書き込み可能ないくつかの着脱自在媒体については、着脱自在媒体への書き込みアクセスの度ごとに、着脱自在媒体のマスタリストを更新する必要がある。しかしながら、データ記憶システム１５１０のいくつかの実施態様については、マスタリストをメモリ１５２６に記憶させることができるので、媒体１５１２に記憶されているマスタリストを必ずしも書き込みの度ごとに更新する必要はない。一実施態様においては、着脱自在媒体１５１２上のマスタリストは、着脱自在媒体１５１２がシステム１５１０から取り外される場合のみ更新される。
【００８７】
ステップ１６１６において、プロセッサ１５１６は、データ記憶システム１５１０の動作中、動作データを生成し、そのデータをメモリ１５２６のテーブル１５２７に記憶させる。例えば、プロセッサ１５１６は、媒体１５１２に記憶されたファイル（例えば、歌、映画、実行可能ファイル）がアクセスされた回数を、着脱自在媒体に対するテーブルエントリ（例えば１５４２）の利用領域１５３３に記憶させることができる。一実施態様においては、この情報を要求があり次第、情報装置１５４１に供給することができる。さらなる実施態様においては、動作データを用いて、最も多く取り出されたファイルを媒体１５１２からメモリ１５２６に一時保存し、情報装置１５４１にそのファイルを供給する場合のアクセス時間を減らすことができる。ステップ１６１６において生成される他の種類の利用状況データには、ファイルを利用した回数が含まれる。
【００８８】
ステップ１６１７において、媒体１５１２がデータ記憶システム１５１０から取り外されると判定された場合、プロセッサ１５１６は、着脱自在媒体１５１２の使用の終了に関する動作データをテーブル１５２７に記憶させる。一実施態様においては、データ記憶システム１５１０は、挿入された着脱自在媒体（例えば１５１２）がデータ記憶システム１５１０からいつ取り外されたかを検知するためのセンサー（図示せず）を含んでいる。そのような使用終了動作データの例としては、最後にアクセスされたファイル、アクセスされた最後の時、ファイルがアクセスされたという事実、着脱自在媒体が挿入されたという事実、システムの使用時間、およびデータにアクセスしたユーザがある。
【００８９】
本明細書の開示に基づいて、メモリ１５２６を、メモリ１２６に関して本書で述べたものと同様の方法で利用できることは、当業者にとって明らかであろう。例えば、図4 において、メモリ１５２６を利用して、着脱自在媒体１５１２に記憶されている最近アクセスされたファイルかあるいは最も頻繁にアクセスされたファイルを一時保存することができる。従って、そのファイルに対するアクセス時間は、よく使用されたファイルを検索するために媒体１５１２にアクセスする必要がないために、大幅に減らすことができる。更に、媒体１５１２が書き込まれた場合、媒体１５１２への書き込みをメモリ１５２６に一時保存することができるので、その後のデータアクセスを速くすることができる。そのような実施態様においては、媒体を取り外すための要求があった場合、すでに媒体１５１２内にないメモリ１５２６内のすべてのデータを、取り外し前に媒体１５１２へ書き込むことができる。
【００９０】
また、着脱自在媒体データ記憶システム１５１０の実施態様に関して述べられた特徴は、データ記憶システム１１０の実施態様によっても実現することができる。例えば、デー
タ記憶システム１１０は、メモリ１２６に利用状況データを記憶するように構成することができる。例えば、データ記憶システム１１０は、媒体１１２に記憶されているファイルがアクセスされ改訂されるかまたはそのいずれかが行われる回数を記憶するように構成することができる。
【００９１】
本発明の特定の実施態様が示され説明された一方で、本発明とそのより広範な態様とから逸脱しなければ、本明細書の開示に基づいて更なる変更及び修正が可能であることは、当業者にとって明白である。従って、添付特許請求の範囲は、そのようなすべての変更と修正を、本発明の真の精神と範囲内にあるように、その範囲内に含むものとする。
【図面の簡単な説明】
【００９２】
【図１】本発明によるデータ記憶システムの実施態様のブロック図である。
【図２】マスタリストの従来技術における実現を示すシンボル表現。
【図３】本発明によるデータアクセスを行うデータ記憶システムの一実施態様を示すフローチャート。
【図４】情報装置からのユーザデータを記憶するための一時保存を実行するデータ記憶システムの一実施態様を示すフローチャート。
【図５】本発明による媒体からの最適セクタ取り出しのためのシステムの一実施態様を示すシンボル図。
【図６】本発明による媒体からの最適セクタ取り出しの一実施態様を示すフローチャート。
【図７】本発明によるユーザデータを記憶するための不揮発性ＩＣベース媒体を利用するデータ記憶システムの一実施態様のシンボル表現。
【図８】本発明によるＲＡＩＤ（リダンダント・アレイ・オブ・インエクスペンシブ・ディスク）システムと共にユーザデータを記憶するために不揮発性ＩＣベース媒体を実現するデータ記憶システムのシンボル表示。
【図９】ＲＡＩＤを実現するデータ記憶システムのシンボル表現。
【図１０】本発明によるハードディスク表面上のセクタ配置の一実施態様の上面図。
【図１１】本発明によるデータ記憶システムの不揮発性ＩＣベース媒体内のユーザデータブロックの一部分の記憶を示す一実施態様の概念図。
【図１２】本発明によるデータ書き込みアクセスの一実施態様のフローチャート。
【図１３】本発明によるデータ書き込みアクセスのさらなる実施態様のフローチャート。
【図１４】本発明によるデータ読み取りアクセスの一実施態様のフローチャート。
【図１５】本発明による着脱自在媒体データ記憶システムの一実施態様のブロック図。
【図１６】本発明によるデータ記憶システムによって着脱自在媒体の動作データを利用するための実施態様のフローチャート。
【図１】
2005537609.tif 000003
【図２】
2005537609.tif 000004
【図３】
2005537609.tif 000005
【図４】
2005537609.tif 000006
【図５】
2005537609.tif 000007
【図６】
2005537609.tif 000008
【図７】
2005537609.tif 000009
【図８】
2005537609.tif 000010
【図９】
2005537609.tif 000011
【図１０】
2005537609.tif 000012
【図１１】
2005537609.tif 000013
【図１２】
2005537609.tif 000014
【図１３】
2005537609.tif 000015
【図１４】
2005537609.tif 000016
【図１５】
2005537609.tif 000017
【図１６】
2005537609.tif 000018
【国際調査報告】
2005537609.tif 000019
2005537609.tif 000020
2005537609.tif 000021