JP2007179089A - 情報処理装置、アクセス制御方法、及びプログラム - Google Patents
情報処理装置、アクセス制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2007179089A JP2007179089A JP2005373351A JP2005373351A JP2007179089A JP 2007179089 A JP2007179089 A JP 2007179089A JP 2005373351 A JP2005373351 A JP 2005373351A JP 2005373351 A JP2005373351 A JP 2005373351A JP 2007179089 A JP2007179089 A JP 2007179089A
- Authority
- JP
- Japan
- Prior art keywords
- data
- access
- read
- memory
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【課題】高速なリードアクセスを効率的に行えるようにする。
【解決手段】フィルタドライバ55は、オペレーティングシステムのブートの際に生じるHDD121への一連のリードアクセスの内容を示すアクセスパターン61を収集する。また、フィルタドライバ55は、アクセスパターン61に基づき、オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータをHDD121から先読みしてメモリ上の先読みバッファ63にロードし、リードアクセスにより要求されるデータが先読みバッファ63の中に存在する場合、該当するデータをオペレーティングシステムへ送る。
【選択図】 図3
【解決手段】フィルタドライバ55は、オペレーティングシステムのブートの際に生じるHDD121への一連のリードアクセスの内容を示すアクセスパターン61を収集する。また、フィルタドライバ55は、アクセスパターン61に基づき、オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータをHDD121から先読みしてメモリ上の先読みバッファ63にロードし、リードアクセスにより要求されるデータが先読みバッファ63の中に存在する場合、該当するデータをオペレーティングシステムへ送る。
【選択図】 図3
Description
本発明は、オペレーティングシステムを備えた情報処理装置、アクセス制御方法、及びプログラムに関する。
パーソナルコンピュータ(PC)などの情報処理装置においては、電源が投入されてオペレーティングシステム(OS)が起動(ブート)されると、OSはファイルシステムや各種ドライバを通じてハードディスクドライブ(HDD)へリードアクセスし、当該HDDから必要なデータを取得する。しかし、OSのブート時におけるHDDへのリードアクセスは時間がかかる。こうしたことから、アクセス時間の短縮化を図るために種々な技術が提案されている。
例えば、特許文献1には、記憶装置内において、計算機毎にデータ読み出し等のアクセス履歴を取得してキャッシュ制御部に格納し、そのアクセス履歴に基づいてディスク群からキャッシュメモリへのデータの先読みを行うことが開示されている。
特開2005−157711号公報
しかしながら、特許文献1の技術によれば、データの先読みを実現するために記憶装置内に新たなハードウェア(キャッシュ制御部、キャッシュメモリなど)を設けなければならないため、記憶装置のサイズや実装面積が増大するばかりか、製造コスト等の増大を招いてしまう。
本発明は上記実情に鑑みてなされたものであり、高速なリードアクセスを効率的に実現する情報処理装置、アクセス制御方法、及びプログラムを提供することを目的とする。
本発明に係る情報処理装置は、オペレーティングシステムのブートの際に生じる記憶装置への一連のリードアクセスの内容を示すアクセスパターンを収集するパターン収集手段と、前記アクセスパターンに基づき、前記オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータを前記記憶装置から先読みしてメモリ上にロードするデータ先読み手段と、前記リードアクセスにより要求されるデータが前記メモリ上にロードされたデータの中に存在する場合、該当するデータを前記オペレーティングシステムへ送るアクセス処理手段とを具備することを特徴とする。
本発明に係るアクセス制御方法は、オペレーティングシステムのブートの際に生じる記憶装置への一連のリードアクセスの内容を示すアクセスパターンを収集し、前記アクセスパターンに基づき、前記オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータを前記記憶装置から先読みしてメモリ上にロードし、前記リードアクセスにより要求されるデータが前記メモリ上にロードされたデータの中に存在する場合、該当するデータを前記オペレーティングシステムへ送ることを特徴とする。
本発明によれば、高速なリードアクセスを効率的に実現することができる。
以下、図面を参照して、本発明の実施形態を説明する。
まず、図1および図2を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ10として実現されている。
まず、図1および図2を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ10として実現されている。
図1はノートブック型パーソナルコンピュータ10のディスプレイユニットを開いた状態における正面図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12にはLCD(Liquid Crystal Display)17から構成される表示装置が組み込まれており、そのLCD17の表示画面はディスプレイユニット12のほぼ中央に位置されている。
ディスプレイユニット12は、コンピュータ本体11に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体11は薄い箱形の筐体を有しており、その上面にはキーボード13、本コンピュータ1を電源オン/オフするためのパワーボタン14、入力操作パネル15、およびタッチパッド16などが配置されている。
入力操作パネル15は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、TV起動ボタン15A、DVD(Digital Versatile Disc)起動ボタン15Bも含まれている。TV起動ボタン15Aは、デジタルTV放送番組のような放送番組データの再生及び記録を行うためのTV機能を起動するためのボタンである。TV起動ボタン15Aがユーザによって押下された時、TV機能を実行するためのアプリケーションプログラムが自動的に起動される。DVD起動ボタン15Bは、DVDに記録されたビデオコンテンツを再生するためのボタンである。DVD起動ボタン15Bがユーザによって押下された時、ビデオコンテンツを再生するためのアプリケーションプログラムが自動的に起動される。
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
本コンピュータ10は、図2に示されているように、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ119、BIOS−ROM120、ハードディスクドライブ(HDD)121、光ディスクドライブ(ODD)122、デジタルTV放送チューナ123、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124、およびネットワークコントローラ125等を備えている。
CPU111は本コンピュータ10の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ(HDD)121から主メモリ113にロードされる、オペレーティングシステム(OS)や、ファイルシステム、各種ドライバ、各種アプリケーションなどを実行する。
また、CPU111は、BIOS−ROM120に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ119との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ113をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ112は、AGP(Accelerated Graphics Port)バスなどを介してグラフィクスコントローラ114との通信を実行する機能も有している。
グラフィクスコントローラ114は本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このグラフィクスコントローラ114はビデオメモリ(VRAM)114Aに書き込まれた画像データからLCD17に送出すべき表示信号を生成する。
サウスブリッジ119は、LPC(Low Pin Count)バス上の各デバイス、およびPCI(Peripheral Component Interconnect)バス上の各デバイスを制御する。また、サウスブリッジ119は、HDD121、ODD122を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ119は、デジタルTV放送チューナ123を制御する機能、およびBIOS−ROM120をアクセス制御するための機能も有している。
HDD121は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ(ODD)123は、ビデオコンテンツが格納されたDVDなどの記憶メディアを駆動するためのドライブユニットである。デジタルTV放送チューナ123は、デジタルTV放送番組のような放送番組データを外部から受信するための受信装置である。
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。さらに、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)124は、ユーザによるTV起動ボタン15A、DVD起動ボタン15Bの操作に応じて、本コンピュータ10をパワーオンすることもできる。ネットワークコントローラ125は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
図3は、本コンピュータ10に搭載されるOSがブートされた際に発生するHDD121へのリードアクセスを介在する各種のソフトウェアの構成を示すブロック図である。
本実施形態では、HDD121へのリードアクセスを介在するソフトウェアとして、OSカーネル51、ファイルシステム52、HDDドライバ53、IDEドライバ54のほかに、フィルタドライバ55が備えられる。
OSカーネル51は、OSの基本機能を実行するプログラムに相当するものである。ファイルシステム52は、各種のデータをファイル形式で管理するプログラムである。HDDドライバ53は、HDD121を制御するためのプログラムである。IDEドライバ54は、IDEインタフェースを通じてHDDを制御するためのプログラムである。
フィルタドライバ55は、例えばHDDドライバ53とIDEドライバ54との間に介在するプログラムであり、OSのブートの際に生じるHDDへの一連のリードアクセスの内容を示すアクセスパターン61を収集するパターン収集機能と、アクセスパターン61に基づき、OSの次のブートの際にリードアクセスの対象となるデータをHDDから先読みして先読みバッファ62にロードするデータ先読み機能と、OSカーネル51からのリードアクセスにより要求されるデータが先読みバッファ62内のデータの中に存在する場合、該当するデータをOSカーネル51へ送るアクセス処理機能とを有する。上記パターン収集機能は、収集されたアクセスパターンに基づき、データ先読み機能によって先読みされるべきデータ及び順序を示す先読みパターン63を作成する機能を備えていてもよい。
なお、上記先読みにおいては、前記収集されたアクセスパターンに示される個々のデータの中に物理アドレスが連続するものが含まれている場合、当該連続するデータ群が一括して読み出されるようになっている。また、上記先読みにおいては、過去に収集された個々のアクセスパターンに共通に示されるデータを先読みの対象とするようにしてもよい。また、リードアクセスの回数が過去のブートの際のリードアクセス回数に達した場合、先読みバッファ62はメモリ113から解放されるようになっている。
次に、図4〜図6を参照して、フィルタドライバ55の各種機能により実現される処理について説明する。
(アクセスパターンの収集)
図4は、フィルタドライバ55のパターン収集機能により実現される処理を示す図である。
図4は、フィルタドライバ55のパターン収集機能により実現される処理を示す図である。
フィルタドライバ55は、OSのブート時に発生するHDD121への個々のリードアクセスの内容をファイルシステム52およびHDDドライバ53を通じて収集し(ステップS1)、これらをアクセスパターンとして所定の記憶領域(メモリ113上)に記憶させる(ステップS2)。アクセスパターンには、以下の情報が含まれる。
・データ開始アドレス(論理ブロックアドレス(LBA: Logical Block Address))
・データサイズ(ブロック数)
・アクセス回数
・アクセス順序
なお、フィルタドライバ55は、OSブート完了後、収集したアクセスパターンを過去に収集したアクセスパターンと合わせて所定のファイルに保存する。また、OSブート完了後に、次回のOSブート時に先読みすべきデータ及び順序を算出し、その結果を先読みパターンとして、上記アクセスパターンと組み合わせて保存しておく。作成されたファイルは、HDD121などに記憶される。
・データサイズ(ブロック数)
・アクセス回数
・アクセス順序
なお、フィルタドライバ55は、OSブート完了後、収集したアクセスパターンを過去に収集したアクセスパターンと合わせて所定のファイルに保存する。また、OSブート完了後に、次回のOSブート時に先読みすべきデータ及び順序を算出し、その結果を先読みパターンとして、上記アクセスパターンと組み合わせて保存しておく。作成されたファイルは、HDD121などに記憶される。
(先読みパターンの作成)
先読みパターンは、先に読み込まれるべきデータのアクセス順序を保ちつつ、物理アドレスが連続するデータをまとめて読み込むように決定される。
先読みパターンは、先に読み込まれるべきデータのアクセス順序を保ちつつ、物理アドレスが連続するデータをまとめて読み込むように決定される。
例えば、図7(a)において、データ1、データ2、データ3、データ4、データ5の順に読み込みが通常行われている場合に、データ1とデータ5とが連続し、データ3とデータ4とが連続していれば、図7(b)のように、データ1とデータ5とを1つにまとめて読み込むとともに、データ3とデータ4とを1つにまとめて読み込むようにする。
すなわち、論理ブロックアドレス「Address」から始まるデータサイズ「Size」分のデータを読み込む処理をRead(Address, Size)と表現すると、従来Read(n1,s1)、Read(n2,s2) 、Read(n3,s3) 、Read(n4,s4) 、Read(n5,s5)のように5回で読み込まれていたものを、Read(n1,s1+s5)、Read(n2,s2) 、Read(n3,s3+s4)のように3回で読み込むようにする。
(先読み処理)
図5は、フィルタドライバ55のデータ先読み機能により実現される処理を示す図である。
図5は、フィルタドライバ55のデータ先読み機能により実現される処理を示す図である。
フィルタドライバ55は、OSのブート時に必要なドライバの1つとしてロードされ、起動されると、先読みバッファ63を確保し、あらかじめ先読みパターン61に基づいて作成しておいた先読みパターン62に従って(ステップS3)、先読みを開始する(ステップS4)。
従来は図8(a)のようにOSブート時の一連の処理(処理1,処理2,…)において先読みは行われていなかったため全体として時間がかかっていたが、本例では図8(b)のように各処理におけるリード要求が発生する前に先読みがそれぞれ開始されるために全体としての処理時間が短縮されることになる。
なお、先読みバッファ63は、過去のOSブート時のアクセス単位で確保される。必要なアクセス回数に達したら先読みバッファ63をメモリ113から開放できるようにするためである。また、先読みバッファ63をアクセス単位で確保せずに、連続するアドレスのデータのために一括して確保してしまうと、所定のアクセス回数に達するまでの間、全ての領域が開放できなくなってしまうからである。複数のアクセスが要求するデータを一括して読み込む必要がある場合、読み込みバッファを別に確保して、一旦その読み込みバッファに読み込み、アクセス単位に確保した先読みバッファに転送するようにすればよい。
(OSからのリード要求に対する処理)
図6は、フィルタドライバ55のアクセス処理機能により実現される処理を示す図である。
図6は、フィルタドライバ55のアクセス処理機能により実現される処理を示す図である。
フィルタドライバ55は、先読みパターン62に含まれるデータに対するリード要求があったとき(ステップS5)、既に該当するデータが先読みバッファ63に読み込まれていれば、先読みバッファ63内のデータをOSカーネル51側に返す(ステップS6)。まだ読み込みが完了していない状態であれば、読み込み完了を待ってから読み込んだデータを返し、読み込み要求を完了する。一方、先読みパターン62に含まれないデータに対するリード要求があったときは、通常のHDDアクセスシーケンスに処理を委ね、HDD121から読み出されるデータをOS51側へ返す(ステップS7,S8)。
(先読みバッファの開放)
フィルタドライバ55は、実際のアクセス回数が過去のOSブート時のアクセス回数に達したら、先読みバッファ63をメモリ113から開放する。
フィルタドライバ55は、実際のアクセス回数が過去のOSブート時のアクセス回数に達したら、先読みバッファ63をメモリ113から開放する。
なお、これまでの説明では先読みするデータを記憶させるために先読みバッファ63を用いる場合を例示したが、例えば本コンピュータが図9のような不揮発性の高速な記憶装置71(フラッシュメモリなど)を備えているのであれば、先読みバッファ63を用いた先読みを行う代わりに、その記憶装置71に先読みデータを保持しておき、OSブート時にはその記憶装置71からの読み込みを行うようにしてもよい。
また、これまでの説明ではフィルタドライバ55がHDDドライバ53とIDEドライバ54との間に介在するものとして説明したが、この構成だけに限定されるものではない。フィルタドライバ55は、例えば、図10のようにHDDドライバ53に備えられるものとして構成してもよいし、図11のようにIDEドライバ54に備えられるものとして構成してもよい。
次に、図12のフローチャートを参照して、フィルタドライバ55によるアクセスパターン収集処理の動作について説明する。
OSが起動されると、当該OSのブート処理において、HDDドライバ53やIDEドライバ54のほかにフィルタドライバ55がメモリ113上にロードされる(ステップS11)。次いで、フィルタドライバ55は、OSカーネル51から発生するアクセスのパターンを収集する(ステップS12)。OSブート完了後、フィルタドライバ55は、そのアクセスパターンをHDD121などに保存する(ステップS13)。また、フィルタドライバ55は、次回のOSブート時に先読みすべきデータ及び順序を決定し(ステップS14)、その結果を先読みパターンとして、上記アクセスパターンと組み合わせて保存する(ステップS15)。
次に、図13のフローチャートを参照して、フィルタドライバ55による先読み処理の動作について説明する。
図12の処理が行われた後、再びOSが起動されると、当該OSのブート処理において、HDDドライバ53やIDEドライバ54のほかにフィルタドライバ55がメモリ113上にロードされる(ステップS21)。次いで、フィルタドライバ55は、先読みバッファ63を確保し(ステップS22)、あらかじめ先読みパターン61に基づいて作成しておいた先読みパターン62に従って先読みを実行する(ステップS23)。先読みバッファ63への全てのデータ読み込みが完了したことを確認したら(ステップS24)、当該先読み処理を終了する。
次に、図14のフローチャートを参照して、フィルタドライバ55によるOSに対する処理の動作について説明する。
図13の処理において起動されたフィルタドライバ55は、前述の先読み処理を行うだけでなく、OSカーネル51からのリード要求に応じた処理を行う。すなわち、フィルタドライバ55は、ファイルシステム52およびHDDドライバ53を通じてOSカーネル51からのリード要求を検出すると(ステップS31)、そのリード要求に示されるアドレス範囲が先読みパターン62に含まれるものであるか否かを判定する(ステップS32)。該当しない場合は、通常のHDDアクセスシーケンスに処理を委ねる(ステップS33)。一方、該当する場合は、そのアドレス範囲のデータが既に先読みバッファ63に読み込まれているか否かを判定する(ステップS34)。まだ読み込みが完了していない状態であれば、直ちに先読みバッファへの読み込みを行い(ステップS35)、該当するデータをOSカーネル51側に送る(ステップS36)。そして、フィルタドライバ55は、実際のアクセス回数が過去のOSブート時のアクセス回数に達したか否かを判定する(ステップS37)。該当する場合は、先読みバッファ63をメモリ113から解放し(ステップS38)、一方、該当しない場合は、まだ先読みバッファ63の解放は行わない。最後に、OSカーネル51からの要求を全て処理したことを確認し(ステップS39)、処理を終了する。
このように本実施形態では、OSのブートは毎回、同じアドレスの同じデータが読み込まれる場合が多いという点に着目し、OSのブート時には先読みを行うようにしている。すなわち、OSからリード要求されるデータを過去のアクセスパターンに基づいて予想できるため、そのデータを先読みバッファ63に先読みしておくことにより、OSのブートに要する時間を短縮することが可能となる。
また、本実施形態では、OSのブートにおいては物理的に連続するデータが複数回に分かれて読み込みが行われることがある点に着目し、これらの連続するデータの読み込みを1回のリード処理で一括して行うようにしているので、全体として読み込みにかかる時間を短縮することができる。
また、本実施形態の先読みバッファ63は、新たに設けられたハードウェアのバッファではなく、ソフトウェアにより既存のメモリ113上に確保されるものであるため、コストの増大を招くことがなく、また設計変更なども行いやすい。
また、本実施形態では、OSブートの期間中に先読みバッファ63を確保し続けるとその記憶領域を他のドライバやアプリケーションが使用できなくなる可能性があるという点を考慮し、過去のアクセスパターンに示されるアクセス回数分アクセスされたバッファについては順次バッファを開放するようにしている。このため、ブート処理が進むにつれてドライバやアプリケーションが開始され使用される記憶領域が増えていく一方で、先読みバッファは順次開放されていくことになるので、メモリ113の空き容量を確保することができる。
上述した実施形態で述べた本発明に係る各種の処理手順は、コンピュータプログラムとして、コンピュータにより読み取り可能な記憶媒体(例えば磁気ディスク,光ディスク,半導体メモリ)に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10…コンピュータ、51…OSカーネル、52…ファイルシステム、53…HDDドライバ、54…IDEドライバ、55…フィルタドライバ、61…アクセスパターン、62…先読みパターン、63…先読みバッファ、111…CPU、121…HDD。
Claims (15)
- オペレーティングシステムのブートの際に生じる記憶装置への一連のリードアクセスの内容を示すアクセスパターンを収集するパターン収集手段と、
前記アクセスパターンに基づき、前記オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータを前記記憶装置から先読みしてメモリ上にロードするデータ先読み手段と、
前記リードアクセスにより要求されるデータが前記メモリ上にロードされたデータの中に存在する場合、該当するデータを前記オペレーティングシステムへ送るアクセス処理手段と
を具備することを特徴とする情報処理装置。 - 前記収集されたアクセスパターンに基づき、前記データ先読み手段によって先読みされるべきデータ及び順序を示す先読みパターンを作成する手段を具備することを特徴とする請求項1記載の情報処理装置。
- 前記データ先読み手段は、前記収集されたアクセスパターンに示される個々のデータの中に物理アドレスが連続するものが含まれている場合、当該連続するデータ群を一括して読み出すことを特徴とする請求項1記載の情報処理装置。
- 前記データ先読み手段は、過去に収集された個々のアクセスパターンに共通に示されるデータを先読みの対象とすることを特徴とする請求項1記載の情報処理装置。
- 前記データ先読み手段は、前記記憶装置から先読みするデータを保持するためのバッファを前記メモリ上に確保することを特徴とする請求項1記載の情報処理装置。
- 前記アクセス処理手段は、リードアクセスの回数が過去のブートの際のリードアクセス回数に達した場合、前記バッファを前記メモリから解放することを特徴とする請求項5記載の情報処理装置。
- 前記パターン収集手段と前記データ先読み手段と前記アクセス処理手段とは、HDD(Hard Disk Drive)ドライバとIDE(Integrated Drive Electronics)ドライバとの間に介在するドライバとして実現されることを特徴とする請求項1記載の情報処理装置。
- 前記パターン収集手段と前記データ先読み手段と前記アクセス処理手段とは、HDD(Hard Disk Drive)ドライバとIDE(Integrated Drive Electronics)ドライバのいずれかに搭載されるドライバとして実現されることを特徴とする請求項1記載の情報処理装置。
- オペレーティングシステムのブートの際に生じる記憶装置への一連のリードアクセスの内容を示すアクセスパターンを収集し、
前記アクセスパターンに基づき、前記オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータを前記記憶装置から先読みしてメモリ上にロードし、
前記リードアクセスにより要求されるデータが前記メモリ上にロードされたデータの中に存在する場合、該当するデータを前記オペレーティングシステムへ送る
ことを特徴とするアクセス制御方法。 - 前記収集されたアクセスパターンに基づき、前記データ先読み手段によって先読みされるべきデータ及び順序を示す先読みパターンを作成する手段を具備することを特徴とする請求項9記載のアクセス制御方法。
- 前記先読みにおいては、前記収集されたアクセスパターンに示される個々のデータの中に物理アドレスが連続するものが含まれている場合、当該連続するデータ群を一括して読み出すことを特徴とする請求項9記載のアクセス制御方法。
- 前記先読みにおいては、過去に収集された個々のアクセスパターンに共通に示されるデータを先読みの対象とすることを特徴とする請求項9記載のアクセス制御方法。
- 前記先読みにおいては、前記記憶装置から先読みするデータを保持するためのバッファを前記メモリ上に確保することを特徴とする請求項9記載のアクセス制御方法。
- リードアクセスの回数が過去のブートの際のリードアクセス回数に達した場合、前記バッファを前記メモリから解放することを特徴とする請求項13記載のアクセス制御方法。
- オペレーティングシステムを備えたコンピュータにおいて生じるリードアクセスの制御を行うためのプログラムであって、
前記オペレーティングシステムのブートの際に生じる記憶装置への一連のリードアクセスの内容を示すアクセスパターンを収集する機能と、
前記アクセスパターンに基づき、前記オペレーティングシステムの次のブートの際にリードアクセスの対象となるデータを前記記憶装置から先読みしてメモリ上にロードする機能と、
前記リードアクセスにより要求されるデータが前記メモリ上にロードされたデータの中に存在する場合、該当するデータを前記オペレーティングシステムへ送る機能と
をコンピュータに実現させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005373351A JP2007179089A (ja) | 2005-12-26 | 2005-12-26 | 情報処理装置、アクセス制御方法、及びプログラム |
US11/413,397 US20070150661A1 (en) | 2005-12-26 | 2006-04-28 | Information processing apparatus, information processing apparatus, and access control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005373351A JP2007179089A (ja) | 2005-12-26 | 2005-12-26 | 情報処理装置、アクセス制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007179089A true JP2007179089A (ja) | 2007-07-12 |
Family
ID=38195270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005373351A Pending JP2007179089A (ja) | 2005-12-26 | 2005-12-26 | 情報処理装置、アクセス制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070150661A1 (ja) |
JP (1) | JP2007179089A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009245405A (ja) * | 2008-04-01 | 2009-10-22 | Lenovo Singapore Pte Ltd | コンピュータおよびブート方法 |
JP2010140165A (ja) * | 2008-12-10 | 2010-06-24 | Tokyo Electric Power Co Inc:The | 情報処理装置、方法、およびモニタリング用フィルタドライバとしてのプログラム |
JP2010176306A (ja) * | 2009-01-28 | 2010-08-12 | Toshiba Corp | 情報処理装置およびデータ記憶装置 |
JP2010250822A (ja) * | 2009-04-20 | 2010-11-04 | Intel Corp | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート |
JP2012226586A (ja) * | 2011-04-20 | 2012-11-15 | Nec Corp | リブート、ブート、シャットダウン高速化装置並びにリブート、ブート、シャットダウン高速化方法 |
JP2018190405A (ja) * | 2017-05-10 | 2018-11-29 | 慧榮科技股▲分▼有限公司 | 記憶装置、記録方法、およびプリフェッチ方法 |
JP2021174495A (ja) * | 2019-04-30 | 2021-11-01 | アクロニス・インターナショナル・ゲーエムベーハー | コンピュータシステムを動作可能状態に選択的に復元するシステムおよび方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152490B2 (en) * | 2013-04-02 | 2015-10-06 | Western Digital Technologies, Inc. | Detection of user behavior using time series modeling |
CN105653684B (zh) * | 2015-12-29 | 2020-03-03 | 曙光云计算集团有限公司 | 分布式文件***的预读方法和装置 |
CN112559055B (zh) * | 2019-09-25 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 一种计算机***的启动方法及装置、电子设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047363A (en) * | 1997-10-14 | 2000-04-04 | Advanced Micro Devices, Inc. | Prefetching data using profile of cache misses from earlier code executions |
US6317818B1 (en) * | 1999-03-30 | 2001-11-13 | Microsoft Corporation | Pre-fetching of pages prior to a hard page fault sequence |
US6633968B2 (en) * | 1999-03-30 | 2003-10-14 | Microsoft Corporation | Pre-fetching of pages prior to a hard page fault sequence |
US7103724B2 (en) * | 2002-04-01 | 2006-09-05 | Intel Corporation | Method and apparatus to generate cache data |
US7035979B2 (en) * | 2002-05-22 | 2006-04-25 | International Business Machines Corporation | Method and apparatus for optimizing cache hit ratio in non L1 caches |
US7231496B2 (en) * | 2003-09-15 | 2007-06-12 | International Business Machines Corporation | Method, system and program product for caching data objects |
JP4117656B2 (ja) * | 2003-11-26 | 2008-07-16 | 株式会社日立製作所 | アクセスパターンを学習する記憶装置 |
-
2005
- 2005-12-26 JP JP2005373351A patent/JP2007179089A/ja active Pending
-
2006
- 2006-04-28 US US11/413,397 patent/US20070150661A1/en not_active Abandoned
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8151102B2 (en) | 2008-04-01 | 2012-04-03 | Lenovo (Singapore) Pte. Ltd. | System and methods for booting electronic devices |
JP2009245405A (ja) * | 2008-04-01 | 2009-10-22 | Lenovo Singapore Pte Ltd | コンピュータおよびブート方法 |
JP2010140165A (ja) * | 2008-12-10 | 2010-06-24 | Tokyo Electric Power Co Inc:The | 情報処理装置、方法、およびモニタリング用フィルタドライバとしてのプログラム |
JP2010176306A (ja) * | 2009-01-28 | 2010-08-12 | Toshiba Corp | 情報処理装置およびデータ記憶装置 |
US9015461B2 (en) | 2009-04-20 | 2015-04-21 | Intel Corporation | Booting an operating system of a system using a read ahead technique |
JP2013033491A (ja) * | 2009-04-20 | 2013-02-14 | Intel Corp | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート |
JP2015064898A (ja) * | 2009-04-20 | 2015-04-09 | インテル・コーポレーション | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、プログラム及びコンピュータシステム |
JP2010250822A (ja) * | 2009-04-20 | 2010-11-04 | Intel Corp | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート |
JP2016105299A (ja) * | 2009-04-20 | 2016-06-09 | インテル・コーポレーション | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、ストレージデバイス、システム、方法、プログラム、及び、コンピュータ可読記録媒体 |
JP2016106304A (ja) * | 2009-04-20 | 2016-06-16 | インテル・コーポレーション | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、プリフェッチコントローラ、ストレージデバイス、方法、プログラム、及び、コンピュータ可読記録媒体 |
JP2016119108A (ja) * | 2009-04-20 | 2016-06-30 | インテル・コーポレーション | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、プリフェッチコントローラ、方法、ストレージデバイス、ブートファイルプリフェッチシステム、プログラム、及び、コンピュータ可読記録媒体 |
US10073703B2 (en) | 2009-04-20 | 2018-09-11 | Intel Corporation | Booting an operating system of a system using a read ahead technique |
JP2012226586A (ja) * | 2011-04-20 | 2012-11-15 | Nec Corp | リブート、ブート、シャットダウン高速化装置並びにリブート、ブート、シャットダウン高速化方法 |
JP2018190405A (ja) * | 2017-05-10 | 2018-11-29 | 慧榮科技股▲分▼有限公司 | 記憶装置、記録方法、およびプリフェッチ方法 |
US10635601B2 (en) | 2017-05-10 | 2020-04-28 | Silicon Motion, Inc. | Flash memory devices and prefetch methods thereof |
JP2021174495A (ja) * | 2019-04-30 | 2021-11-01 | アクロニス・インターナショナル・ゲーエムベーハー | コンピュータシステムを動作可能状態に選択的に復元するシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070150661A1 (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007179089A (ja) | 情報処理装置、アクセス制御方法、及びプログラム | |
JP4988007B2 (ja) | 情報処理装置およびドライバ | |
JP4988008B2 (ja) | 情報処理装置およびドライバ | |
EP2538337B1 (en) | Command resequencing in memory operations | |
TW200830097A (en) | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state | |
JP5492156B2 (ja) | 情報処理装置およびキャッシュ方法 | |
JP4791286B2 (ja) | ディスク装置および電子装置 | |
JP5860543B2 (ja) | ブートデータのロード | |
JP4327585B2 (ja) | 記憶装置 | |
JP4635092B2 (ja) | 情報処理装置および記憶装置制御方法 | |
JP2008276555A (ja) | 情報処理装置、およびファームウェア更新方法 | |
JP2006079628A (ja) | ユーザデータをパーティションファイルに記憶する、又はユーザデータを含むパーティションファイルを使用するシステム及び方法 | |
US20090087168A1 (en) | Method and apparatus for reproducing media contents using non-volatile storage medium | |
JP2008090477A (ja) | 情報記録装置、情報処理装置および書き込み制御方法 | |
JP5175953B2 (ja) | 情報処理装置およびキャッシュ制御方法 | |
JP2012053572A (ja) | 情報処理装置およびキャッシュの制御方法 | |
JP5232033B2 (ja) | 情報処理装置、情報操作方法およびプログラム | |
US20070025196A1 (en) | Information processing apparatus, information processing method, and computer program product | |
JP5025670B2 (ja) | 情報処理装置およびデータ記憶装置 | |
JP2007293604A (ja) | 情報処理装置およびプログラムロード方法 | |
JP5085493B2 (ja) | 情報処理装置及びそのブート制御方法 | |
US20090109804A1 (en) | Information processing apparatus and reading control method | |
US8060685B2 (en) | Electronic device data access system and method | |
US20140351604A1 (en) | Electronic device and encryption control method | |
JP2009211170A (ja) | 情報処理装置および起動制御方法 |