(57)【要約】  コンピュータシステムにおけるブートアップ速度を向上させる方法が提供される。本システムは、データを処理する計算装置と、それに接続され、当該装置にデータを提供し、それからデータを受け付けるデータストアとを有する。当該ストアは、データ媒体の複数の領域においてデータを読み書きするよう動作可能である。各領域間のアクセスは、関連するジャンプ遅延に従う。ストアは、媒体から読み出されるデータを一時的に格納し、当該媒体にデータを書き込むキャッシュを有する。システムの初期的なブートアップにより、上記領域がアクセスされるシーケンスのログが生成される。さらに、システムの以降のブートアップにより、以降のブートアップを迅速化するため上記領域にアクセスするより効率的なシーケンスを提供するため、キャッシュに一時的に媒体から読み出されたデータを格納するのに、ログが使用される。
2007526556.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおけるブートアップ速度を向上させる方法であって、
（ａ）前記システムが、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有するよう構成するステップと、
（ｂ）前記格納手段が、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有するよう構成するステップと、
（ｃ）前記システムの初期的なブートアップにより、前記少なくとも１つのデータ媒体の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するステップと、
（ｄ）前記システムの１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するステップと、
を有することを特徴とする方法。
【請求項２】
請求項１記載の方法であって、さらに、
前記１以上の以降のブートアップにより、前記計算手段により指示される前記空間的に配置された領域にアクセスするシーケンスが、前記少なくとも１つのログに記録されるものから乖離するとき、前記システムが前記空間的に配置される領域にアクセスするためにヒューリスティックアプローチを採用するよう構成するステップを有することを特徴とする方法。
【請求項３】
請求項１記載の方法であって、
複数の時間シーケンスに対応する複数のログが存在し、
当該方法は、前記システムがブートアップにより採用するよう選択する前記時間シーケンスの何れかに応じて、前記ログの間の切り替えを行うよう構成するステップを有する、
ことを特徴とする方法。
【請求項４】
請求項３記載の方法であって、
前記システムは、ブートアップ実行時、前記ログの間の動的な切り替えを行うよう構成されることを特徴とする方法。
【請求項５】
請求項１記載の方法であって、
前記格納手段は、前記データキャッシュ処理手段を実現し、前記１以上のログの記録を監視し、前記システムのブートアップに応答して、その１以上のシーケンスを実行する関連するローカル計算手段が備えられた少なくとも１つのハードディスクドライブとして実現されることを特徴とする方法。
【請求項６】
より迅速なブートアップを提供するよう構成されるコンピュータシステムであって、
（ａ）当該システムは、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有し、
（ｂ）前記格納手段は、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有し、
（ｃ）当該システムは、その初期的なブートアップにより、前記少なくとも１つのデータ媒体の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するよう動作可能であり、
（ｄ）当該システムは、１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するよう動作可能である、
ことを特徴とするシステム。
【請求項７】
請求項６記載のシステムであって、
当該システムはさらに、前記１以上の以降のブートアップにより、前記計算手段により指示される前記空間的に配置された領域にアクセスするシーケンスが、前記少なくとも１つのログに記録されるものから乖離するとき、前記システムが前記空間的に配置される領域にアクセスするためにヒューリスティックアプローチを採用するよう動作可能であることを特徴とするシステム。
【請求項８】
請求項６記載のシステムであって、
複数の時間シーケンスに対応する複数のログを記録し、
当該システムがブートアップにより採用するよう選択する前記時間シーケンスの何れかに応じて、前記ログの間の切り替えを行うよう構成される、
ことを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
ブートアップ実行時、前記ログの間の動的な切り替えを行うよう構成されることを特徴とするシステム。
【請求項１０】
請求項６記載のシステムであって、
前記格納手段は、前記データキャッシュ処理手段を実現し、前記１以上のログの記録を監視し、当該システムのブートアップに応答して、その１以上のシーケンスを実行する関連するローカル計算手段が備えられた少なくとも１つのハードディスクドライブとして実現されることを特徴とするシステム。
【請求項１１】
より迅速なブートアップを提供するため、コンピュータシステムにおいて利用されるハードディスクドライブであって、
（ａ）前記システムは、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有し、
（ｂ）当該ディスクドライブは、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有し、
（ｃ）前記システムは、その初期的なブートアップにより、前記少なくとも１つのデータ媒体の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するよう動作可能であり、
（ｄ）前記システムは、１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するよう動作可能である、
ことを特徴とするハードディスクドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおけるブートアップ速度を向上させる方法に関し、限定するものではないが特に、本発明は、コンピュータシステムのスタートアップ時にファイルリクエストのレコードをコンパイルし、ファイルリクエスト及び抽出シーケンスを最適化するため、当該レコードを用いてコンピュータシステムの以降のスタートアップ中にリードシーケンスを予測することによるブートアップ速度を向上させる方法及び先進的なキャッシュ処理方法に関する。さらに、本発明はまた、本発明の方法に従って機能するよう構成されるコンピュータ装置及び／又はそのサブコンポーネントに関する。
【背景技術】
【０００２】
現在のコンピュータシステムは、通常、１以上のプロセッサ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及び不揮発性メモリを有する。不揮発性メモリはしばしば、１以上のメカニカルに作動するピックアップ装置を利用して、１以上のピックアップ装置に対して動作中に回転可能な１以上のディスク状の磁気平面データキャリアからのデータにアクセスし、及び／又はその上にデータを記録する磁気ハードディスクドライブ（ＨＤＤ）などの１以上の電子機械的装置として実現される。このようなＨＤＤドライブは、１以上のディスク状データキャリアを１以上のピックアップ装置に対して要求される回転速度に加速し、データの抽出及び／又はデータ記録データ記録のために所望のブロックを特定するため、１以上のデータキャリアに対して適切な位置に１以上のピックアップ装置を作動させる必要を考慮して、相対的に長いデータアクセス時間を提供する可能性がある。このようなアクセス遅延の結果として、現在のコンピュータシステムはしばしば、オペレーティングシステム（ＯＳ）及び所望のソフトウェアアプリケーションをＲＡＭにロードするのに初期起動時及び／又はリセット後、すなわち、「ブートアップ」毎に数十秒間を要する。
【０００３】
現在のコンピュータシステムにおけるブートアップ時間の低減は、既知の問題であり、複数の戦略が提案されてきた。米国特許出願２００２／０１５６９７０には、ブートアッププログラムを格納するディスクドライブとディスクコントローラとの間に配置される不揮発性メモリを有するコンピュータシステムが記載されている。例えば、コンピュータが初めて起動されたときなど、初期的なブートアップシーケンスにより、ブートアッププログラムが不揮発性メモリのキャッシュにロードされる。以降のブートアップシーケンスは、ディスクドライブ自体よりかなり高速なデータアクセスを提供するキャッシュからブートアッププログラムを抽出し、これにより、ブートアップが高速化される。さらに、キャッシュに格納されるデータの有効性は、キャッシュに保持されているディスクのセクタへの書き込みが、ディスクドライブからキャッシュなどの時間が更新されるまで、当該セクタが無効にされるキャッシュラインを生じさせるように、キャッシュミスをモニタリングし、及び／又はディスクへの書き込みをモニタリングすることによって維持される。ディスクへの書き込み処理をモニタリングするため、フィルタドライバが設けられ、これにより、キャッシュラインが無効にされるか否か判断する。
【０００４】
従って、現在のハードディスクドライブ（ＨＤＤ）は、「ブートアップ」などデータを読み出すためのヒューリスティックなキャッシュ処理戦略を利用するよう構成される。例えば、現在のＨＤＤは、
（ａ）それが受け付けるリードリクエストにおいてパターンを検索し、
（ｂ）どの情報が次にリクエストされるか予測しようとし、
（ｃ）ＨＤＤのデータ記憶媒体からＨＤＤ内部キャッシュバッファに予測された情報を読み込む、
よう構成される。
【０００５】
従って、大部分の時間、ＨＤＤは、ＨＤＤにおいて受け付けたデータに対する現在のリクエストのものを介しいくつかの連続するデータを、当該連続するデータに対するリクエストがまもなく到着するであろうと予想して迅速に先読みする。
【０００６】
現在のオペレーティングシステム（ＯＳ）は、ＨＤＤデータトラフィックが最小化されるように、システムメモリ内のデータを構成し、そこからのデータのリクエストがより迅速にサービス可能となるように、ＨＤＤ内のデータを構成しようとするよう構成される。しかしながら、このようなデータの構成は、データ抽出をより迅速化するのに実際には単なる部分的な成功であるということがわかっている。従って、ブートアップ中、現在のコンピュータシステムは依然として、ブートアップ処理を完了させ、それのオペレーティングシステム（ＯＳ）を初期化するのにかなりの時間を要するであろう。
【０００７】
従って、発明者は、ブートアップ速度の問題に対するより効果的な手段を考え、ブートアップ速度を向上させる他の方法を考案した。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、コンピュータシステムにおいてより迅速なブートアップを提供することである。
【０００９】
本発明のさらなる課題は、マルチブートの可能性があるより複雑なコンピュータシステムにおけるより迅速なブートアップを提供することである。
【００１０】
本発明のさらなる課題は、より迅速なブートアップを提供するよう構成可能なハードディスクドライブデータ記憶装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明の第１の特徴によると、コンピュータシステムにおけるブートアップ速度を向上させる方法であって、
（ａ）前記システムが、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有するよう構成するステップと、
（ｂ）前記格納手段が、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有するよう構成するステップと、
（ｃ）前記システムの初期的なブートアップにより、前記少なくとも１つのデータ媒体（２００）の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するステップと、
（ｄ）前記システムの１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するステップと、
を有することを特徴とする方法が提供される。
【００１２】
本発明は、コンピュータシステムがより迅速なブートアップを示すことを可能にするという点で効果的である。
【００１３】
ログは、以降のデータコンテンツリクエストを予測し、これにより、キャッシュ処理戦略を向上させるのに利用可能であるという点で効果的である。
【００１４】
好ましくは、本方法はさらに、前記１以上の以降のブートアップにより、前記計算手段により指示される前記空間的に配置された領域にアクセスするシーケンスが、前記少なくとも１つのログに記録されるものから乖離するとき、前記システムが前記空間的に配置される領域にアクセスするために当該技術において知られているようなヒューリスティックアプローチを採用するよう構成するステップを有する。このようなヒューリスティックアプローチの利用は、システムが複雑であるが繰り返しのファイルアクセスシーケンスを効率的に処理するだけでなく、複雑なより予測不可能なファイルアクセスシーケンスが直面する状況をより最適に処理することを可能にする。
【００１５】
好ましくは、本方法では、複数の時間シーケンスに対応する複数のログが存在し、当該方法は、前記システムがブートアップにより採用するよう選択する前記時間シーケンスの何れかに応じて、前記ログの間の切り替えを行うよう構成するステップを有する。より好ましくは、本システムは、ブートアップ実行時、前記ログの間の動的な切り替えを行うよう構成される。すなわち、システムは、好ましくは、計算手段からのデータに対する要求と予想される初期的な採用されたシーケンスとの間に生じる相違に応答して、システムは、ブートアップ中に動的に時間シーケンス間でジャンプすることが可能である。
【００１６】
好ましくは、本方法では、前記格納手段は、前記データキャッシュ処理手段を実現し、前記１以上のログの記録を監視し、前記システムのブートアップに応答して、その１以上のシーケンスを実行する関連するローカル計算手段が備えられた少なくとも１つのハードディスクドライブ（ＨＤＤ）として実現される。本方法のこのような実現形態は、本方法が少なくとも１つのディスクドライブ内にローカルに実現されることを可能にし、これにより、本発明の方法を実行するよう構成されていない以前のディスクドライブとの互換性を達成することが可能である。
【００１７】
本発明の第２の特徴によると、より迅速なブートアップを提供するよう構成されるコンピュータシステムであって、
（ａ）当該システムは、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有し、
（ｂ）前記格納手段は、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有し、
（ｃ）当該システムは、その初期的なブートアップにより、前記少なくとも１つのデータ媒体の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するよう動作可能であり、
（ｄ）当該システムは、１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するよう動作可能である、
ことを特徴とするシステムが提供される。
【００１８】
好ましくは、当該システムはさらに、前記１以上の以降のブートアップにより、前記計算手段により指示される前記空間的に配置された領域にアクセスするシーケンスが、前記少なくとも１つのログに記録されるものから乖離するとき、前記システムが前記空間的に配置される領域にアクセスするためにヒューリスティックアプローチを採用するよう動作可能である。
【００１９】
好ましくは、本システムは、複数の時間シーケンスに対応する複数のログを記録し、当該システムがブートアップにより採用するよう選択する前記時間シーケンスの何れかに応じて、前記ログの間の切り替えを行うよう構成される。
【００２０】
好ましくは、本システムは、ブートアップ実行時、前記ログの間の動的な切り替えを行うよう構成される。
【００２１】
好ましくは、本システムにおいて、前記格納手段は、前記データキャッシュ処理手段を実現し、前記１以上のログの記録を監視し、当該システムのブートアップに応答して、その１以上のシーケンスを実行する関連するローカル計算手段が備えられた少なくとも１つのハードディスクドライブとして実現される。
【００２２】
本発明の第３の特徴によると、より迅速なブートアップを提供するため、コンピュータシステムにおいて利用されるハードディスクドライブであって、
（ａ）前記システムは、データを処理する計算手段と、該計算手段に接続され、計算手段にデータを提供し、該計算手段からデータを受け付け、当該空間領域の間のアクセスが１以上の関連するジャンプ遅延を受ける、少なくとも１つのデータ媒体の複数の空間的に配置された領域におけるデータを読み書きするよう動作可能なデータ格納手段とを有し、
（ｂ）当該ディスクドライブは、前記少なくとも１つのデータ媒体から読み出されるデータを一時的に格納し、及び／又はデータを前記少なくとも１つのデータ媒体に書き込むデータキャッシュ処理手段を有し、
（ｃ）前記システムは、その初期的なブートアップにより、前記少なくとも１つのデータ媒体の１以上の空間的に配置される領域がアクセスされる時間シーケンスの少なくとも１つのログを生成するよう動作可能であり、
（ｄ）前記システムは、１以上の以降のブートアップにより、前記１以上の以降のブートアップを迅速化するため、前記空間的に配置される領域へのアクセスのより時間的に効率的なシーケンスを提供するため、前記データキャッシュ処理手段に前記少なくとも１つのデータ媒体から読み出されたデータを一時的に格納するよう前記少なくとも１つのログを利用するよう動作可能である、
ことを特徴とするハードディスクドライブが提供される。
【００２３】
本発明の特徴は、本発明の範囲から逸脱することなく何れかの組み合わせにより組み合わせることが可能であるということは理解されるであろう。
【発明を実施するための最良の形態】
【００２４】
実験により、発明者は、付属のハードディスクドライブ（ＨＤＤ）メモリによってサポートされる現在のパーソナルコンピュータ（ＰＣ）環境において、ＨＤＤメモリへの大部分のリクエストが比較的小さく、すなわち、大変しばしば４キロバイトであることを認識していた。このような環境は、他の環境も知られているが、例えば、Ｌｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ及びＷｉｎｄｏｗｓ（登録商標）  ＸＰを含む。少量のデータに対するリクエストは、一般にはＨＤＤドライブが予測することを極めて困難にする。発明者は、上記少量のデータに対するリクエストが、例えば、現在のＦＡＴ（ＤＯＳタイプシステム）、ＮＴＦＳ（Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ及びより最近のＷｉｎｄｏｗｓ（登録商標）の変形）及びＥＸＴ２（ＵＮＩＸ（登録商標）／ＬＩＮＵＸ）など、コンピュータホストのオンデマンドページング及びファイルシステム管理への頻繁なアクセスによるものである。この結果、発明者は、ＨＤＤ読み出しパフォーマンスが、例えば、当該ＨＤＤの回転するデータ搬送ディスク状媒体に対する読み出しピックアップ装置を移動させるためのシーク時間と、このディスク状データ媒体を加速させる時間などの回転遅延によって実質的に完全に支配され、ＨＤＤドライブに対するデータ転送時間は比較すると実質的には無視できるということを認識していた。現在のコンピュータのオペレーティングシステム（ＯＳ）をブートアップ及び初期化する期間は、最初のＨＤＤ回転加速、すなわち、１０秒のオーダである「スピンアップ」と、その後のデータ読みだしリクエストの時間遅延によってほとんど支配される。
【００２５】
発明者は、コンピュータシステムのＨＤＤドライブが、電源オン直後の初期的なシステムスタートアップ処理中にＨＤＤドライブによって受付されるデータリクエストシーケンスを記録する、すなわち、ログをとるよう構成することができる。このような状況において、システムはしばしば、それのＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）ソフトウェア、それのオペレーティングシステム（ＯＳ）及びそれに従属する任意のソフトウェアアプリケーションをロードしていない。上記ログは、コンピュータシステムに比較的オーバヘッドなく効果的に実現される。システムがブートアップされる以降の期間中、ＨＤＤドライブは、データリクエストシーケンスの記録を利用して、高い信頼度によりデータに対するリクエストを予測することが可能であり、これにより、ＨＤＤドライブのパフォーマンスを最適化するため、データキャッシュ処理を最適化する。
【００２６】
発明者は、ブートアップ中のデータリクエストシーケンスとオペレーティングシステム（ＯＳ）の初期化がしばしば、その性質上複雑であるが、高い再生可能性を有することを理解していた。データリクエストシーケンスの上記ログに依存することによって、ＨＤＤドライブは、当該装置のディスク状データ媒体から抽出されるデータの先進的な指標を有する。さらに、発明者はまた、ＨＤＤドライブからのデータに対する多数のリクエストが、ＨＤＤドライブ上に一緒になって空間的にクラスタリングされ、ベストなＨＤＤドライブのパフォーマンスを保証するため順序付けされているいくつかの小さなエリアに記録されているデータに関連するということを特定した。従って、ＨＤＤドライブは、ベストパフォーマンスを達成するような方法により、それの内部リクエストを順序付けすることによって、かなりのシーク及び回転時間遅延を節約することが可能となる。
【００２７】
従って、発明者は、実現するのが容易であり、それが現在のコンピュータシステムのプラクティスの拡張を表すとき、適度なリソースにより潜在的に実現可能なブートアップ速度を向上させる方法を提案する。さらに、本方法は、コンピュータシステムのオペレーティングシステム（ＯＳ）とＢＩＯＳから独立して実現可能である。さらに、本方法は、ローカルに実現可能であり、コンピュータシステムのＯＳ及びＢＩＯＳとの特別な協調を必要としない。
【００２８】
さらに、本方法はロウバストであり、コンピュータシステムの他の部分の動作に損害を与えない。例えば、マルチブートタイプのコンピュータシステム、又はしばしば構成を変更することが要求されるコンピュータシステムでは、本方法は必ずしもコンピュータシステムのブートアップ速度を向上させることができるとは限らず、その反対に、マルチブート動作モードに切り替えられると、コンピュータシステムの動作を実質的にスローダウンさせないかもしれない。好ましくは、マルチブートシナリオでは、ブートアップのリクエストシーケンスが予想されるデータリクエストシーケンスから大きく乖離するとすぐに、例えば、上述のログに記録されるとき、ＨＤＤドライブは、このような状況においてより従来のものに近いヒューリスティックな動作モードに単に戻るよう構成可能である。
【００２９】
発明者は、本発明の方法がブートアップ速度を向上させる既知のアプローチより容易に実現されることを理解していた。このような既知の方法は、スタートアップ中、すなわち、ブートアップ中のデータに対する大部分のリクエストが隣接するように、ＨＤＤディスク上のデータの再割当てを含む。ＨＤＤディスク上のデータの再割当ては、実行可能なアプローチであるが、潜在的に大きなデータ量と関連するブックキーピングデータの物理的移動を必要とすることを考慮して、より技術的に関係するものであり、マルチブートコンピュータシステムにあまり適していない。
【００３０】
本発明をさらに説明するため、その実施例が図１〜５を参照して説明される。
【００３１】
図１をまず参照するに、１０によって全体的に示されるコンピュータシステムが示される。システム１０は、プロセッサのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納されるなどのＢＩＯＳ３０を有するプロセッサ（ＣＰＵ）２０を有する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０と。他の外部装置（ＥＤ）に接続可能な入出力（Ｉ／Ｏ）ユニット５０とが、プロセッサ２０に接続される。さらに、プロセッサ２０はまた、不揮発性データの格納及び抽出を提供するよう動作可能なハードディスクドライブ（ＨＤＤ）６０に接続される。ディスクドライブ６０は、プロセッサ２０上で実行可能であり、オペレーティングシステム７０と互換性を有する１以上のソフトウェアアプリケーションと共にオペレーティングシステム（ＯＳ）７０を格納するよう構成される。
【００３２】
図１を参照して、コンピュータシステム１０の動作が概略的に説明される。システム１０の初期的なブートアップにより、又はシステム１０のリセット後、プロセッサ２０は、まず、オペレーティングシステム７０にアクセスするアドレス参照及びそのレジスタのステータスなど、プロセッサ２０のハードウェアの基本的構成を規定するＢＩＯＳソフトウェア３０にアクセスする。ＢＩＯＳソフトウェア３０へのアクセスは、プロセッサ２０にディスクドライブ６０からオペレーティングシステムソフトウェア７０を抽出させ、それをＲＡＭ４０にロードさせる。オペレーティングシステムソフトウェア７０は、ディスクドライブ６０にドライブ６０に存在する記憶媒体の様々な領域からデータブロックをシークさせる。その後、プロセッサ２０は、プロセッサ２０がドライブ６０からメモリ４０にロードするためアクセスするよう動作可能であって、その後、プロセッサ２０において実行されるドライブ６０上に格納される１以上のユーザにより選択されたソフトウェアアプリケーションを実行するための環境をプロセッサ２０に生成されるオペレーティングシステム（ＯＳ）７０のソフトウェアの実行を開始する。
【００３３】
ドライブ６０からオペレーティングシステム（ＯＳ）ソフトウェアをロードする処理において、ドライブ６０は、システム１０がブートアップされる毎に、それの複雑さにもかかわらず、実質的に同様の複雑なデータ検索シーケンスに従うこととなる。
【００３４】
次に図２を参照するに、システム１０のハードウェア１００と、上述のＢＩＯＳ３０、オペレーティングシステム（ＯＳ）ソフトウェア７０及びソフトウェアアプリケーションＡＰ１〜ＡＰｎ（ただし、ｎは整数である）との間の動作相関関係が示される。オペレーティングシステム（ＯＳ）ソフトウェア７０は、１以上のソフトウェアアプリケーションＡＰ１〜ＡＰｎのための環境を提供し、オペレーティングシステム７０自体は、システム１０のハードウェアに機能させるようＢＩＯＳソフトウェアに従属している。ハードウェア１００は、プロセッサ２０と、メモリ（ＲＡＭ）４０と、入出力（Ｉ／Ｏ）ユニット５０と、ディスクドライブ６０とを有する。
【００３５】
図３を参照するに、ドライブ６０のディスク状データ記憶媒体２００が示される。好ましくは、ドライブは、システム１０に望まれるデータ格納容量に応じて、このような媒体２００を１以上有する。媒体２００は実質的に、リード／ライトピックアップ装置２２０に対して→２１０により示されるような回転方向への使用において、媒体２００を回転させるためのドライブモータ（図示せず）に接続するための中心取り付け開口を有する比較的薄い平面の丸いディスク状のコンポーネントである。ピックアップ装置は、例えば、媒体２００上のデータ記録特性に応じて、磁気タイプピックアップ及び／又は光タイプピックアップなどとして実現することが可能である。媒体２００の１以上の平面上に、トラックＴ１、Ｔ２及びＴ３などのデータシーケンスを有するデータトラックが記録される。しかしながら、媒体２００は、本発明を例示するために説明されるこれら３つのトラックより多くのトラックを有することが可能である。データブロックは、トラックＴ１、Ｔ２及びＴ３の角セクションに対応する。
【００３６】
ピックアップ装置２２０自体は、矢印２４０により示されるような実質的な半径方向に媒体に対して可動する作動されるサポート２３０上に搭載される。
【００３７】
一例となるシナリオでは、ドライブ６０からのオペレーティングシステム（ＯＳ）７０の読み出しにおいて、ピックアップ装置２２０は、媒体２００の周近傍のトラックＴ１から読み出し、その後、媒体２００の中心領域の近傍のトラックＴ２にジャンプし、最後に、トラックＴ１とＴ２の空間的に中間にあるトラックＴ３にジャンプするようプロセッサ２０により求められる。トラックＴ１、Ｔ２及びＴ３との間のジャンプは、リクエストされたデータブロックに対応する角セクションがピックアップ装置２２０のそばを通過するまで、媒体２００として実質的な回転遅延を伴う。
【００３８】
図４において、時間の進行を表す軸（ｔ）３００を含む時間ダイアグラムが提供される。この図は、ピックアップ装置２２０が期間ＲＴ１中にトラックＴ１からデータを読み出し、当該データをプロセッサ２０に出力し、その後、ピックアップ装置２２０がトラックＴ１からトラックＴ２へのジャンプ期間ＳＫ１／２の間に作動され、その後、ピックアップ装置２２０は期間ＲＴ２中にトラックＴ２からデータを読み出し、当該データをプロセッサ２０に出力し、その後、ピックアップ装置は期間ＲＴ３中にトラックＴ３からデータを読み出し、当該データをプロセッサ２０に出力するという第１のシナリオＳＣ１を示す。第１シナリオＳＣ１は、当該技術において知られている標準タイプのアクセスシーケンスを表す。
【００３９】
発明者は、ブートアップ時などには、第２のシナリオＳＣ２が第１のシナリオより好ましいことを理解している。第２のシナリオＳＣ２では、ピックアップ装置２２０は、期間ＲＴ１中にトラックＴ１からデータを読み出し、当該データをプロセッサに出力し、その後、ピックアップ装置２２０は期間ＳＫ１／３中にトラックＴ３に作動され、その後、ピックアップ装置２２０は期間ＲＴ３中にトラックＴ３からデータを読み出し、当該データを出力し、期間ＢＳＴ３中にドライブ６０のメモリキャッシュに格納し、その後、ピックアップ装置２２０は期間ＲＴ２中にトラックＴ２からデータを読み出し、当該データをプロセッサ２０に出力し、その後、ドライブ６０はトラックＴ３に対応するメモリキャッシュに格納されているデータをプロセッサ２０に出力する。
【００４０】
実際、期間ＲＴ１、ＲＴ２及びＲＴ３は、ジャンプ期間ＳＫ１／２、ＳＫ２／３、ＳＫ１／３及びＳＫ３／２よりかなり短い期間である。さらに、ジャンプ期間ＳＫ１／３は、第１のシナリオＳＣ１と比較して、実行中の第２のシナリオＳＣ２より迅速化する期間ＳＫ１／２よりかなり短い。
【００４１】
上述のように、ドライブ６０は、第１のシナリオＳＣ１に従って、アクセスされたトラック、各トラックにおいて抽出されるデータ量、ジャンプ期間及びトラックの相対的な空間並列のログを記録するよう初期的なブートアップにおいて動作可能である。好ましくは、当該ログは、例えば、コンピュータシステム１０のダウン中にそれのデータ内容を保持する電池バックアップ起動されるＲＡＭなど、メモリキャッシュの不揮発性メモリに格納される。必要に応じて、ドライブ６０がアイドル状態にあり、プロセッサ２０からのデータに対する使用要求においてサービスを提供するとき、ログはドライブ６０のプライベートアドレスエリアに転送することが可能である。システム１０の以降のブートアップにより、ドライブ６０は不揮発性メモリからのログにアクセスし、第２のシナリオＳＣ２が適切であり、当該シナリオを採用すると判断し、これによって、コンピュータシステム１０がより迅速にブートアップすることが可能となる。第２のシナリオＳＣ２は、媒体２００上のデータの再構成を伴わないということが理解されるであろう。
【００４２】
第２のシナリオＳＣ２を実現するため、ディスクドライブ６０は、好ましくは図５において実現される。ドライブ６０は、媒体２００と、それに関連するピックアップ装置２２０と、プロセッサ２０との間のデータを処理するディスクドライブコントローラ（ＫＮＴ）３１０を有し、当該コントローラ３１０は、システム１０におけるブートアップ時間を低減するため、第２のシナリオＳＣ２においてトラックＴ３などから、データブロックを格納するため接続されるデータキャッシュ（ＤＫ）３２０を有する。
【００４３】
ドライブ６０は、好ましくは、図４に示されるものと同様のキャッシュ処理アプローチを利用するようブートアップ時に構成される。しかしながら、例えば、複数の異なるブートアップシーケンスのうちブートアップが可変とされるマルチブートアップタイプのシナリオでは、ドライブ６０は、好ましくは、従来のヒューリスティックタイプのトラックアクセスアプローチを利用するため戻されるよう構成される。
【００４４】
コントローラ３１０がログから与えられたトラックシーケンスを予想し、例えば、ブートアップ中にアクセスされるべき以降のトラックのアドレスを記録するトラックＴ１に照会すると、異なるシーケンスが求められていることを検出する場合、コントローラ３１０はこのような状況において、ログを無視し、この異なるシーケンスを採用するようログを更新するために異なるシーケンスをモニタリングするよう構成可能である。
【００４５】
任意的には、コントローラ３１０は、例えば、トラックＴ１に格納されるようなプロセッサ２０によって発行されるような実際のリードシーケンスを格納せず、図４に示されるようなキャッシュ処理された方法により媒体２００について自らのアクセスシーケンスを内部的に最適化することが可能である。このようなアプローチは、最適化に必要とされる処理が、重要なブートアップ時ではなくアイドルタイム時に実行可能であるという点において、効果的である。
【００４６】
さらなる任意的な精緻化として、上記ログは、データに対するリクエストの間にプロセッサ２０によって示される時間遅延を考慮するよう構成可能である。このような時間遅延は、コントローラが媒体２００からの予想されるリードリクエストによりデータキャッシュ３２０を充填することを可能にするのに効果的に利用可能である。
【００４７】
さらなる任意的な精緻化は、例えば、マルチブートコンピュータシステムにおいて発生するような複数の異なるブートアップシーケンスの複数のログに対するものである。この精緻化では、トラックシーケンスの異なる構成への変更が、コントローラ３１０によって採用されるコントローラ３１０の１つのログに従ってトラックアクセスシーケンスを中断し、大きなパフォーマンスの低下なく他のログの間で切り替えを行う。ログ間のこのような切り替えを提供するため。ログには、好ましくは、コントローラ３１０が遅延及びデータロスを引き起こすことなく、それらの間で効果的かつ確実にジャンプすることを可能にするため、規定されたジャンプポイントが設けられる。
【００４８】
上記に説明される本発明の実施例は、発明の範囲から逸脱することなく変更可能であるということが理解されるであろう。
【００４９】
上記説明される発明の方法は、既知の状態からスタートする繰り返しのアクセスパターンに拡張可能である。例えば、本方法は、パワーダウン状態からだけでなく、アイドル、スリープ又はハイバネーション状態からのコンピュータシステム１０の「ウェイクアップ」に関する。本方法は、特徴的なアプリケーションスタートアップ及びシャットダウンシーケンスなどの任意の繰り返しのアクセスパターンに拡張することが可能である。従って、本発明は、コンピュータシステムのブートアップのみに限定されるものではない。
【００５０】
好ましくは、本方法は、実質的にハードディスクドライブ６０内に埋め込まれ、これにより、プロセッサ２０に効果的に透過となるよう実現され、これにより、本発明の方法を実現しない以前のタイプのディスクドライブとの互換性を維持することが可能である。本方法の利用は、実際には、システム１０が上記ログが最初に確立された以前のブートアップと比較して、以降のブートアップについてより迅速にブートアップ可能であるという点から決定可能となるであろう。
【００５１】
また、ブートアップの性質が、限られた知識とインテリジェントのみがブートアップの初期の段階においてコンピュータシステム１０内で利用可能であることを意味するため、このような実現形態がより困難であると認識されているが、プロセッサ２０を利用することによって少なくとも部分的に本方法を実現することが可能であるということは、発明者によって想定されている。
【００５２】
本発明は、ブートアッププロセスが可能なコンピュータシステムの形式を含む何れかのタイプの装置における利用に適している。このような装置は、複雑なオーディオ／ビジュアル表示をそのユーザに提供するインタラクティブなおもちゃなど、パーソナルオーディオエンターテイメント装置などにおいて、小型光ディスクストレージメモリ及び形態オーディオビジュアル表示装置を利用するデジタルカメラにおける小型光ディスクデータストレージ装置を有する携帯電話を含む。
【００５３】
上記では、また添付された請求項に関して、「含む」、「内蔵する」、「有する」、「である」などの表現は、非排他的に解釈されるべきであり、明示的に開示されていない他のアイテム又はコンポーネントがまた存在することを可能であると解釈されるべきである。
【図面の簡単な説明】
【００５４】
【図１】図１は、ＢＩＯＳソフトウェアを有するプロセッサ（ＣＰＵ）を有し、当該プロセッサ（ＣＰＵ）が関連するＲＡＭ、入出力（Ｉ／Ｏ）ユニット及び不揮発性データの格納及び抽出のためのハードディスクドライブ（ＨＤＤ）と接続され、当該ドライブがオペレーティングシステムソフトウェア（ＯＳ）と当該オペレーティングシステム（ＯＳ）と互換性を有し、プロセッサ（ＣＰＵ）上で実行可能な１以上のソフトウェアアプリケーションを収容するコンピュータシステムの図である。
【図２】図２は、図１のコンピュータシステム上でソフトウェアが実行可能な方法の図である。
【図３】図３は、図１のハードディスクドライブ（ＨＤＤ）のディスク状データ記憶媒体と共に、それの関連するリード／ライトピックアップ装置とその作動機構であって、ピックアップ装置を介しアクセス可能な複数のデータトラックを有する媒体の図である。
【図４】図４は、図１に示されるハードディスクドライブ（ＨＤＤ）の異なる動作シナリオ（ＳＣ１，ＳＣ２）についての図３に示された複数のデータトラックへのアクセス時間を示す時間フローチャートである。
【図５】図５は、図１に示されるハードディスクドライブのコンポーネント部分の内部構成の図である。
【図１】
2007526556.tif 000003
【図２】
2007526556.tif 000004
【図３】
2007526556.tif 000005
【図４】
2007526556.tif 000006
【図５】
2007526556.tif 000007
【国際調査報告】
2007526556.tif 000008
2007526556.tif 000009
2007526556.tif 000010