(57)【要約】【課題】記憶デバイス上の制御方法の異なる複数の領域に対する複数のタスクからのアクセスを、リアルタイム性を保ちながら並行して動作させる。【解決手段】タスク１０１、１０２が記憶デバイス１１０の制御方法の異なる２つのデータ領域１０９、１０７に、ファイルシステム１０３、１０５を通してアクセスを行う場合に、アクセス調停部１０６が２つのファイルシステムからのアクセス要求の調停を行い、さらに、アクセス調停部１０６がアクセス要求のあったデータを動作中のタスクのリアルタイム性が確保できるサイズのアクセスセクタ単位に分割し、分割したアクセス要求を順次切り換えて、それぞれのデータ領域に対応するデバイス制御部１０８、１０４に対してデバイスアクセス要求を発行する。【選択図】  図１
2004213414.tif 000002
【特許請求の範囲】
【請求項１】
制御方法の異なる複数のデータ領域を持つ記憶デバイスにアクセスするための記憶デバイス制御装置であって、
前記複数のデータ領域の各々に対応して設けられ前記データ領域内のファイルへのアクセス要求を含むタスクを制御する複数のファイルシステムと、
前記複数のデータ領域の各々に対応して設けられ前記アクセス要求を受付け前記記憶デバイスへアクセスする複数のデバイス制御部と、
前記アクセス要求を含む複数のタスクが同時に実行されたときに前記アクセス要求の調停を行うアクセス要求調停部と、
を備えることを特徴とする記憶デバイス制御装置。
【請求項２】
前記アクセス要求調停部は、前記アクセス要求を部分要求に分割し、前記部分要求毎にアクセス調停を行うことを特徴とする請求項１記載の記憶デバイス制御装置。
【請求項３】
前記アクセス要求を部分要求に分割するときは、予め与えられた分割サイズに分割することを特徴とする請求項２記載の記憶デバイス制御装置。
【請求項４】
前記分割サイズのセクタ数Ｓは、同時実行可能な最大タスク数Ｎ（Ｎは２以上の整数）、予め与えられた許容最大アクセス遅延時間Ｔｍａｘ、１セクタのアクセスに要する見積もり時間Ｃ１、１アクセスのオーバーヘッドに要する見積もり時間Ｃ２を用いて、
Ｔｍａｘ／Ｎ＝Ｃ１×Ｓ＋Ｃ２
の式により求められることを特徴とする請求項３記載の記憶デバイス制御装置。
【請求項５】
前記アクセス要求を部分要求に分割するときは、タスク毎に設定された許容アクセス遅延時間を参照して計算した分割サイズに分割することを特徴とする請求項２記載の記憶デバイス制御装置。
【請求項６】
前記分割サイズのセクタ数Ｓは、同時に実行されているタスク数Ｍ（Ｍは２以上の整数）、前記Ｍ個のタスク毎に設定された許容アクセス遅延時間の最小値Ｌ、１セクタのアクセスに要する見積もり時間Ｃ１、１アクセスのオーバーヘッドに要する見積もり時間Ｃ２を用いて、
Ｌ／Ｍ＝Ｃ１×Ｓ＋Ｃ２
の式により求められることを特徴とする請求項５記載の記憶デバイス制御装置。
【請求項７】
前記アクセス要求を部分要求に分割するときは、前記アクセス要求調停部が前記データ領域毎に前記１セクタのアクセスに要する見積もり時間Ｃ１の値を取得し、前記取得されたＣ１の値を用いて前記分割サイズＳを計算することを特徴とする請求項４又は６記載の記憶デバイス制御装置。
【請求項８】
前記アクセス要求を部分要求に分割するときは、予め与えられた時間単位に前記アクセス要求を分割することを特徴とする請求項２記載の記憶デバイス制御装置。
【請求項９】
前記アクセス要求を部分要求に分割するときは、タスク毎に設定されたアクセスサイズに分割することを特徴とする請求項２記載の記憶デバイス制御装置。
【請求項１０】
前記アクセス要求調停部は、タスク毎に与えられた優先度順に記憶デバイスへのアクセスを行うことを特徴とする請求項１から９のいずれか一項記載の記憶デバイス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御方法の異なる複数のデータ領域を持つ記憶デバイスにアクセスするための記憶デバイス制御装置に関するものである。
【０００２】
【従来の技術】
従来、１つの記憶デバイスは全ての領域が同一の制御方法で動作していたので、ファイルシステムは１つであった。このような記憶デバイスにおいては、アクセス処理を行う２つ以上のタスクが並列に動作する環境であっても、ファイルシステムが１つであるので、１つの記憶デバイスに並列にアクセスするための調停処理はこの１つのファイルシステムで行われるのが一般的な方法であった。
【０００３】
ところが、近年、制御方法の異なる複数のデータ領域を持つ記憶デバイスが採用されるようになっている。例えば、組み込み機器においてメモリカードなどの記憶デバイスを用いる場合、メモリカードのセキュリティ強化を図るため、メモリカード上に制御方法の異なるセキュアなデータ領域と非セキュアなデータ領域を持たせるようになってきた。
【０００４】
セキュアなデータ領域と非セキュアなデータ領域では制御方法が異なるために、メモリカードへのアクセス処理を実現するには２つのファイルシステムを用いる必要がある。このように、制御方法の異なる複数のデータ領域を持つ記憶デバイスに対してアクセスする際には、異なるデータ領域ごとにファイルシステムをそれぞれ用意してアクセス処理を行うことが必要になる。
【０００５】
１つの記憶デバイスに２つ以上のファイルシステムからアクセスする技術として、異なるファイルシステムの差異を吸収するファイル管理方式がある（特許文献１参照）。これによれば、複数のＯＳからのプロトコルが異なるファイルアクセスを特定のＯＳのプロトコルに変換することで、その差異を吸収している。
【０００６】
【特許文献１】
特開平９−１２８２７７号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、特許文献１記載の技術では、例えば、制御方法の異なる複数のデータ領域への同時アクセスができない１つの記憶デバイスに対して複数のタスクがアクセスする場合、複数のファイルシステムへのアクセス要求全てを考慮した調停を行う必要があるため、その調停はタスクレベルで行う必要があった。
【０００８】
複数のタスクが並列に動作し、複数のファイルシステムを通して異なるデータ領域へ同時にアクセスしようとする場合、タスクレベルでの調停では、１つのタスクがデータ領域へアクセスしている間に他のタスクが別のデータ領域へアクセスすることは全くできない。
【０００９】
実際に、タスクレベルでの調停を行った場合には記憶デバイスにアクセスする処理単位をファイルシステムに依存することになり、異なるファイルシステムを用いて複数のタスクを並行して動作させることができず、結果として、異なるデータ領域に格納されたデータを用いて複数のタスクを同時に動作させることができなかった。
【００１０】
一例を挙げると、マルチタスクシステムにおいて、メディアプレーヤタスクがメモリカードのセキュアなデータ領域内に格納されている音楽ファイルを随時読み出して音楽出力する場合、音楽出力は１つのタスクとして行われるため、音楽再生中はファイルビューアタスクがメモリカードの非セキュアなデータ領域内に格納されているテキストファイルの中身を表示できないといった問題があった。
【００１１】
本発明は上記問題点を解決するもので、マルチタスクシステムにおいて、制御方法の異なる複数の領域を持つ記憶デバイスに対して複数のタスクが制御方法の異なる領域にアクセスする場合に、複数のタスクを並行させてリアルタイム性を保ちながら効率良く動作させる記憶デバイス制御装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
この課題を解決するために、請求項１に係る記憶デバイス制御装置は、制御方法の異なる複数のデータ領域を持つ記憶デバイスにアクセスするための記憶デバイス制御装置であって、前記複数のデータ領域の各々に対応して設けられ、前記データ領域内のファイルへのアクセス要求を含むタスクを制御する複数のファイルシステムと、前記複数のデータ領域の各々に対応して設けられ、前記アクセス要求を受付け前記記憶デバイスへアクセスする複数のデバイス制御部と、前記アクセス要求を含む複数のタスクが同時に実行されたときに前記アクセス要求の調停を行うアクセス要求調停部と、を備えるものである。
【００１３】
上記構成によれば、アクセス要求調停部が異なるデータ領域へのアクセス要求を調停するため、複数のデータ領域の各々へのアクセス要求を含む複数のタスクがそれぞれ制御方法の異なるファイルシステムを使用しても、これらのタスクを同時に実行させることができる。
【００１４】
請求項２に係る記憶デバイス制御装置は、請求項１記載の記憶デバイス制御装置において、前記アクセス要求調停部は、前記アクセス要求を部分要求に分割し、前記部分要求毎にアクセス調停を行うものである。
【００１５】
上記構成によれば、アクセス要求調停部がタスクに含まれるアクセス要求を部分要求単位に分割してデバイス制御部へ発行するため、１つのタスクの記憶デバイスアクセスの終了を待たずに他のタスクの記憶デバイスアクセスに切り換えることが可能となる。これにより、異なるデータ領域へのアクセス要求を含む複数のタスクを並列に実行させることができる。
【００１６】
請求項３に係る記憶デバイス制御装置は、請求項２記載の記憶デバイス制御装置において、前記アクセス要求を部分要求に分割するときは、予め与えられた分割サイズに分割するものである。
【００１７】
上記構成によれば、アクセス要求が予め与えられた分割サイズの部分要求に分割されるため、適切な分割サイズを与えることにより、簡単な構成で複数のアクセス要求の分割調停を実現することができる。
【００１８】
請求項４に係る記憶デバイス制御装置は、請求項３記載の記憶デバイス制御装置において、前記分割サイズのセクタ数Ｓは、同時実行可能な最大タスク数Ｎ（Ｎは２以上の整数）、予め与えられた許容最大アクセス遅延時間Ｔｍａｘ、１セクタのアクセスに要する見積もり時間Ｃ１、１アクセスのオーバーヘッドに要する見積もり時間Ｃ２を用いて、Ｔｍａｘ／Ｎ＝Ｃ１×Ｓ＋Ｃ２の式により求められるものである。
【００１９】
上記構成によれば、マルチタスクシステムで動作させるタスクの中で許容できるアクセス間隔時間が最も短いタスクを選択し、そのアクセス間隔時間を許容最大アクセス遅延時間Ｔｍａｘとして予め分割サイズＳを計算式から求めておくことにより、例えばメディア処理などのリアルタイム性を持つ処理を妨げることなく、全てのタスクを並行して動作させることが可能となる。
【００２０】
請求項５に係る記憶デバイス制御装置は、請求項２記載の記憶デバイス制御装置において、前記アクセス要求を部分要求に分割するときは、タスク毎に設定された許容アクセス遅延時間を参照して計算した分割サイズに分割するものである。
【００２１】
上記構成によれば、現在動作中の各タスクの許容アクセス遅延時間を参照して分割サイズを動的に計算して求めることができるため、現在動作中のタスクに合わせて分割サイズを変更することが可能となり、さらに効率的に複数のタスクを並行して動作させることができる。
【００２２】
請求項６に係る記憶デバイス制御装置は、請求項５記載の記憶デバイス制御装置において、前記分割サイズのセクタ数Ｓは、同時に実行されているタスク数Ｍ（Ｍは２以上の整数）、前記Ｍ個のタスク毎に設定された許容アクセス遅延時間の最小値Ｌ、１セクタのアクセスに要する見積もり時間Ｃ１、１アクセスのオーバーヘッドに要する見積もり時間Ｃ２を用いて、Ｌ／Ｍ＝Ｃ１×Ｓ＋Ｃ２の式により求められるものである。
【００２３】
上記構成によれば、現在動作中のＭ個のタスク毎に設定された許容アクセス遅延時間の最小値Ｌを用いて分割サイズＳを計算式から求めることにより、現在同時実行されているタスクのリアルタイム性を維持するように分割サイズを決定することが可能となり、効率的に複数のタスクを並行して動作させることができる。
【００２４】
請求項７に係る記憶デバイス制御装置は、請求項４又は６記載の記憶デバイス制御装置において、前記アクセス要求を部分要求に分割するときは、前記アクセス要求調停部が前記データ領域毎に前記１セクタのアクセスに要する見積もり時間Ｃ１の値を取得し、前記取得されたＣ１の値を用いて前記分割サイズＳを計算するものである。
【００２５】
上記構成によれば、データ領域毎にアクセススピードが異なる場合に、そのアクセススピードに合わせて分割サイズが計算されるため、記憶デバイスの特性に対応して、さらにきめ細かなアクセス制御を行うことが可能となる。
【００２６】
本発明の請求項８に係る記憶デバイス制御装置は、請求項２記載の記憶デバイス制御装置において、前記アクセス要求を部分要求に分割するときは、予め与えられた時間単位に前記アクセス要求を分割するものである。
【００２７】
上記構成によれば、タイマを用いて予め与えられた時間単位にアクセス要求の切換えを行うことにより、一定の時間で確実にタスクの切換えを行うことが可能となる。
【００２８】
請求項９に係る記憶デバイス制御装置は、請求項２記載の記憶デバイス制御装置において、前記アクセス要求を部分要求に分割するときは、タスク毎に設定されたアクセスサイズに分割するものである。
【００２９】
上記構成によれば、分割サイズがタスク毎に指定されることにより、さらに効率的に記憶デバイスへアクセスすることが可能となる。また、タスクの用途に応じた分割サイズの指定が可能となり、より自由度の高いタスク設計を行うことができる。
【００３０】
請求項１０に係る記憶デバイス制御装置は、請求項１から９のいずれか一項記載の記憶デバイス制御装置において、前記アクセス要求調停部は、タスク毎に与えられた優先度順に記憶デバイスへのアクセスを行うものである。
【００３１】
上記構成によれば、アクセス要求を受け付けるタスクに優先度を付けることにより、個々のタスクの特性に応じた記憶デバイスアクセスの優先処理が可能となる。例えば、絶対的にアクセスを優先したいタスクが存在する場合にそのタスクを常に優先させることが可能となる。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。まず、本発明の第１の実施形態における複数領域を持つ記憶デバイス制御装置について図１から図７を用いて説明する。
【００３３】
図１は複数のデータ領域を持つ記憶デバイス及び記憶デバイス制御装置の全体構成を示すブロック図である。図１において、１１０は記憶デバイスであり、制御方法の異なる２つのデータ領域１０９と１０７を持つ。１０１と１０２はタスクであり、それぞれ異なる２つのデータ領域１０９と１０７へのアクセスを同時に実行する。
【００３４】
記憶デバイス制御装置においては、１０３と１０５は２つの異なるファイルシステムであり、それぞれ対応するデータ領域１０９と１０７内のファイルにアクセスする。１０６はアクセス要求調停部であり、異なるデータ領域１０９と１０７へのアクセスが発生した場合に、ファイルシステム１０３又はファイルシステム１０５から発行されるアクセス要求の付加情報を用いてアクセス調停を行う。１０８と１０４はデバイス制御部であり、実際に記憶デバイス１１０にアクセスしデバイスの制御を行う。
【００３５】
図２は、図１の記憶デバイス制御装置の全体構成において、第１の実施形態におけるアクセス要求調停部１０６の構成を詳細に示したブロック図である。図１と同様の構成要素については同一符号を付して説明する。
【００３６】
図２において、ファイルシステム１０３及びファイルシステム１０５は、それぞれアクセス要求２０６及び２０７をアクセス要求調停部１０６に対して発行する。２０９と２１０は、それぞれアクセス要求調停部１０６からデバイス制御部１０８と１０４へのデバイスアクセス要求である。２０８は処理終了信号であり、デバイス制御部１０８又は１０４の処理が終了した場合にアクセス要求調停部１０６に渡される。
【００３７】
このような構成により、１つの記憶デバイス１１０上の制御方法の異なる２つの領域に対して、２つのタスク１０１と１０２が同時にそれぞれ異なる領域内のファイル１０９とファイル１０７へアクセスしようとした場合に、デバイス制御部１０８と１０４の上に設けたアクセス要求調停部１０６がデバイスアクセス要求２０９と２１０を切り換えることで、デバイスへの同時アクセスを防ぎ、２つのタスクの並行動作を可能にする。
【００３８】
アクセス要求調停部１０６は、アクセス情報部２０１とアクセス処理部２０２から構成されている。さらに、アクセス情報部２０１は、アクセス情報テーブル２０３、タスクカウンタ２０４、アクセスポインタテーブル２０５から構成されている。
【００３９】
アクセス情報テーブル２０３はファイルシステム１０３及びファイルシステム１０５からの情報を管理するテーブルである。アクセス要求調停部１０６は、アクセス要求のあったデータ量を最小１セクタにまで任意に細分化し、デバイスアクセス要求２０９と２１０を切り換えてデバイス制御部１０８又は１０４へ発行する機能を有する。
【００４０】
この機能により、異なるタスク１０１と１０２の動作のリアルタイム性を高めて両立させる。すなわち、タスクによる記憶デバイスアクセスの終了を待たなくとも、タスクにおける記憶デバイスアクセスを細分化し、細分化した１単位の終了を待てばアクセスを異なるファイルシステムへと切り換えることができるため、２つのファイルシステムからのアクセスをリアルタイムに受け付けているように見せることができる。この細分化したアクセスセクタ単位数の決め方については後述する。
【００４１】
図３は第１の実施形態におけるアクセス要求２０６、２０７の付加情報の構成を示す図であり、３０１はアクセス開始セクタ番号、３０２はアクセスセクタ数である。アクセス開始セクタ番号３０１はアクセス要求２０６又は２０７がアクセスしたい記憶デバイス１１０上のセクタブロックの先頭セクタ番号であり、アクセスセクタ数３０２はアクセス要求２０６又は２０７がアクセスしたいセクタブロックのセクタ数である。
【００４２】
図４は第１の実施形態におけるアクセス情報テーブル２０３の構成を示す図である。図４において、４０４はアクセス要求元情報であり、アクセス要求２０６、２０７を発行したファイルシステム情報を保持する。
【００４３】
４０２はアクセス開始セクタ番号であり、アクセス要求２０６、２０７の発生時に初期値としてアクセス開始セクタ番号３０１が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４へ発行する度に後述するアクセスセクタ単位数分が加算される。
【００４４】
４０３は残りアクセスセクタ数であり、アクセス要求２０６、２０７の発生時には初期値としてアクセスセクタ数３０２が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４へ発行する度に後述するアクセスセクタ単位数分が減算される。システム起動時にはこの値を０に初期化しておく。
【００４５】
図２のアクセス情報部２０１において、タスクカウンタ２０４は現在アクセス要求を受け付けているタスク数を管理する。システムの起動時には値を０に初期化しておく。新しいタスクのアクセス要求を受け付ける度にインクリメントし、アクセス情報テーブル２０３の残りアクセスセクタ数４０３が０になった場合にデクリメントするカウンタである。
【００４６】
アクセスポインタテーブル２０５は、アクセス要求のあった各タスクのアクセス情報テーブル２０３へのポインタを管理する。図５は第１の実施形態のアクセス要求調停部におけるアクセスポインタテーブル２０５の構成を示す図である。ここで、５０１は処理順序の管理に用いるタスク番号であり、５０２はアクセス情報テーブルへのポインタである。
【００４７】
アクセス情報部２０１は、新たなアクセス要求２０６又は２０７を受け取ると、アクセス情報テーブル２０３の最初の空き場所（残りアクセスタスク数４０３が０の場所）に対して、新たに受け付けたタスクのアクセス要求２０６又は２０７に含まれるアクセス開始セクタ番号３０１をアクセス開始セクタ番号４０２に、アクセスセクタ数３０２を残りアクセスセクタ数４０３に、また、アクセス要求元のファイルシステムの種類をアクセス要求元情報４０４に格納する。
【００４８】
さらに、アクセス情報部２０１はタスクカウンタ２０４をインクリメントし、アクセスポインタテーブル２０５の空き場所に対して、現在のタスクカウンタ２０４の値をタスク番号５０１に、アクセス情報テーブル２０３に格納したタスク情報へのポインタをアクセス情報テーブルへのポインタ５０２に格納する。よってタスクカウンタ２０４の値と、アクセスポインタテーブル２０５で列が埋まっているタスク番号５０１の最大値は一致する。
【００４９】
アクセス処理部２０２は、アクセス開始セクタ番号４０２とアクセスセクタ単位情報とを含むデバイスアクセス要求２０９、２１０を、デバイス制御部１０８、１０４に対して発行する機能を持つ。アクセスセクタ単位は、デバイス制御部１０８、１０４を通して実際に記憶デバイス１１０にアクセスするセクタ数である。アクセス処理部２０２は予めこの値を図６に示す計算式で求めておく。
【００５０】
図６はアクセスセクタ単位の計算式を説明する概念図である。マルチタスクシステム上でリアルタイム性を保持しながら実行可能な最大タスク数をＮ、システムが許容できる最大のアクセス間隔をＴｍａｘ、予め定められた１セクタのアクセスに要する時間をＣ１、１回のアクセスに要する準備処理や後処理などのオーバーヘッド時間をＣ２とすると、アクセスセクタ単位は次式により求まる。ここで、ｔは実際にアクセスセクタ単位分のアクセスに必要な時間である。
Ｎ×ｔ＝Ｔｍａｘ
ｔ＝Ｃ１×アクセスセクタ単位＋Ｃ２
【００５１】
アクセス処理部２０２は、タスクからアクセス要求２０６又は２０７を受け取ると、アクセスポインタテーブル２０５からアクセス情報テーブルへのポインタ５０２を取得し、アクセス情報テーブル２０３へアクセスして該当するタスクのアクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４を取得する。
【００５２】
これにより、アクセス処理部２０２は、アクセス要求元情報４０４に対応するデバイス制御部１０８又はデバイス制御部１０４に対して、アクセス開始セクタ番号４０２と前記決定したアクセスセクタ単位の情報を含んだデバイスアクセス要求２０９又は２１０を発行する。
【００５３】
デバイス制御部１０８、１０４が実際に記憶デバイス１１０へのアクセスを実行すると、アクセス処理の終了時にアクセス要求調停部１０６へ処理終了信号２０８が返ってくる。アクセス要求調停部１０６は処理終了信号２０８を受け取ると、次のデバイスアクセス要求を２０９又は２１０を発行する処理を繰り返す。
【００５４】
ここで、アクセス処理部２０２がアクセスポインタテーブル２０５から取得するアクセス情報テーブルへのポインタ５０２は、タスク番号５０１の最小値に対応するポインタから順番に取得し、取得するポインタが格納されているタスク番号５０１が最大になれば、再び最小値に戻ることにする。
【００５５】
また、取得した残りアクセスセクタ数４０３がアクセスセクタ単位より小さければ、アクセスセクタ単位を残りアクセスセクタ数４０３とする。アクセス情報テーブル２０３の残りアクセスセクタ数４０３が０になると、タスクカウンタ２０４をデクリメントし、アクセスポインタテーブル２０５のタスク番号に空きができないように順次空きを埋める処理を行う。
【００５６】
図７は、この処理におけるアクセス情報テーブル２０３とアクセスポインタテーブル２０５の状態変化を説明する図である。図７においてはタスクＡとタスクＢの２つのタスクが動作しているとする。また、符号は図４及び図５に準ずる。
【００５７】
アクセス情報テーブル２０３においてタスクＡの残りアクセスセクタ数４０３が０になると、アクセスポインタテーブル２０５においてタスク番号５０１の１番に格納されていたタスクＡのアクセス情報テーブルへのポインタ７０１をクリアする。そしてタスク番号５０１の２番に格納されていたタスクＢのアクセス情報テーブルへのポインタ７０２をタスク番号５０１の１番へ移す。このようにしてアクセスポインタテーブル２０５のタスク番号５０１に空きができないようにする。そして、残りのタスクのアクセス要求を順次処理していく。
【００５８】
ただし、本発明はタスクのアクセス要求の管理方法を上記アクセスポインタテーブルを用いた方法に限定するものではなく、同様な管理ができる他の方法であってもよい。
【００５９】
以上のように、記憶デバイスに対する１つのタスクのアクセスをアクセスセクタ単位に分割して処理することにより、異なるファイルシステムで動作する複数のデータ領域を有する記憶デバイスの異なる領域へのアクセスが競合した場合においても、１つのタスクのアクセスが終了するのを待つことなくタスクを切り換えていくので、複数のファイルシステムを通したデータ処理を並行して行うことができる。また、メディア処理などのリアルタイム性を必要とするタスクを共存させることもできる。
【００６０】
また、本実施形態において、予めマルチタスクシステムで動作させるタスクの中で許容できるアクセス間隔時間が最も短いタスクを選択し、そのタスクの許容できるアクセス間隔をＴｍａｘとすることにより、全てのタスクの動作、例えばメディア処理などを妨げることなく全てのタスクを並行動作させることができる。
【００６１】
なお、以上説明した本実施形態では、タスクが２つで記憶デバイスの制御方法の異なる領域が２つの場合を示したが、本発明はタスク数や領域の数をこれらに限定するものではない。以降の実施形態の説明においても同様である。
【００６２】
次に、本発明の第２の実施形態における複数領域を持つ記憶デバイス制御装置について図８から図１２を用いて説明する。また、図１から図５と同じ働きをする構成要素については同一符号を付して説明する。
【００６３】
図８は、図１の記憶デバイス制御装置の全体構成において、第２の実施形態におけるアクセス要求調停部１０６の構成を詳細に示したブロック図である。図８において、アクセス要求調停部１０６は、アクセス情報部８０１とアクセス処理部８０２から構成されている。さらに、アクセス情報部８０１は、アクセス情報テーブル８０３、タスクカウンタ２０４、アクセスポインタテーブル２０５、最小遅延バッファ８０５から構成されている。また、アクセス処理部８０２には現在のアクセスセクタ単位を格納するアクセス単位バッファ８０６が置かれる。
【００６４】
アクセス情報テーブル８０３は、アクセス要求２０６、２０７の付加情報を管理するテーブルである。図９は、第２の実施形態におけるアクセス要求２０６、２０７の付加情報の構成を示す図であり、アクセス開始セクタ番号３０１、アクセスセクタ数３０２に加えて、新たに許容遅延値９０３を設けている。許容遅延値９０３は、そのタスクが問題なく動作するための、記憶デバイス１１０へのアクセス間隔の最大許容時間を示す。
【００６５】
最小遅延バッファ８０５には、現在アクセス要求が発行されているタスクの許容遅延値９０３の最小値が格納される。システム起動時には予め定められた初期値が設定される。
【００６６】
図１０は第２の実施形態におけるアクセス情報テーブル８０３の構成を示す図である。アクセス情報テーブル８０３は、アクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４、各タスクの許容遅延値９０３を保持する許容遅延値１００５からなる。
【００６７】
アクセス開始セクタ番号４０２には、アクセス要求２０６、２０７の発生時に初期値としてアクセス開始セクタ番号３０１が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４へ発行する度にアクセスセクタ単位数分が加算される。
【００６８】残りアクセスセクタ数４０３には、アクセス要求２０６、２０７の発生時には初期値としてアクセスセクタ数３０２が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４へを発行する度にアクセスセクタ単位数分が減算される。システム起動時にはこの値を０に初期化しておく。
【００６９】
アクセス情報部８０１は、アクセス要求２０６又は２０７を受け取ると、アクセス情報テーブル８０３に対して、新たに受け付けたタスクのアクセス要求２０６又は２０７に付加されている情報であるアクセス開始セクタ番号３０１をアクセス開始セクタ番号４０２に、アクセスセクタ数３０２を残りアクセスセクタ数４０３に、許容遅延値９０３を許容遅延値１００５に、また、アクセス要求元のファイルシステムの種類をアクセス要求元情報４０４に格納する。
【００７０】
また、アクセス情報部８０１はタスクカウンタ２０４をインクリメントし、アクセスポインタテーブル２０５の最初の空き場所に対して、現在のタスクカウンタ２０４の値をタスク番号５０１に、アクセス情報テーブル８０３に格納したタスク情報へのポインタをアクセス情報テーブルへのポインタ５０２に格納する。
【００７１】
さらに、アクセス情報部８０１は、そのアクセス要求２０６又は２０７の付加情報に含まれる許容遅延値９０３を最小遅延バッファ８０５の値と比較し、前者が後者より小さければ最小遅延バッファ８０５の値をその許容遅延値９０３に更新する。
【００７２】
アクセス要求を受けた後は、アクセス処理部８０２は、アクセス開始セクタ番号４０２とアクセスセクタ単位情報を含むデバイスアクセス要求２０９、２１０をデバイス制御部１０８、１０４に対して発行する。アクセスセクタ単位は、デバイス制御部１０８、１０４を通して実際に記憶デバイス１１０にアクセスするセクタ数である。アクセス処理部８０２では、最小遅延バッファ８０５の値が更新されていれば、図１２に示す計算式でアクセスセクタ単位を計算し更新する。
【００７３】
図１２はアクセスセクタ単位の計算式を説明する概念図である。現在動作中のタスク数をＭ、最小遅延バッファ８０５の値をＬ、予め定められた１セクタのアクセスに要する時間をＣ１、１回のアクセスに要する準備処理や後処理などのオーバーヘッド時間をＣ２とすると、アクセスセクタ単位は次式により求まる。
【００７４】
Ｍ×ｔ＝Ｌ
ｔ＝Ｃ１×アクセスセクタ単位＋Ｃ２
【００７５】
アクセス処理部８０２は、タスクからアクセス要求２０６又は２０７を受け取ると、アクセスポインタテーブル２０５からアクセス情報テーブルへのポインタ５０２を取得し、アクセス情報テーブル８０３へアクセスして該当するタスクのアクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４を取得する。
【００７６】
これにより、アクセス処理部８０２は、アクセス要求元情報４０４に対応するデバイス制御部１０８又は１０４に対して、アクセス開始セクタ番号４０２とアクセスセクタ単位の情報を含んだデバイスアクセス要求２０９又は２１０を発行する。ここで、取得した残りアクセスセクタ数４０３が図１２の計算で求めたアクセスセクタ単位より小さければ、アクセスセクタ単位は残りアクセスセクタ数４０３となる。
【００７７】
デバイス制御部１０８、１０４が実際に記憶デバイス１１０へのアクセスを実行すると、アクセス処理の終了時にアクセス要求調停部１０６へ処理終了信号２０８が返ってくる。アクセス要求調停部１０６は処理終了信号２０８を受け取ると、次のデバイスアクセス要求２０９又は２１０を発行する処理を繰り返す。
【００７８】
アクセス情報テーブル８０３の残りアクセスセクタ数４０３が０になると、タスクカウンタ２０４をデクリメントし、アクセスポインタテーブル２０５のタスク番号に空きができないように順次空きを埋める処理を行う。
【００７９】
図１１は、この処理におけるアクセス情報テーブル８０３とアクセスポインタテーブル２０５の状態変化を説明する図である。図１１においてはタスクＡとタスクＢの２つのタスクが動作しているとする。また、符号は図１０及び図５に準ずる。
【００８０】
アクセス情報テーブル８０３においてタスクＡの残りアクセスセクタ数４０３が０になると、アクセスポインタテーブル２０５においてタスク番号５０１の１番に格納されていたタスクＡのアクセス情報テーブルへのポインタ１１０１をクリアする。そしてタスク番号５０１の２番に格納されていたタスクＢのアクセス情報テーブルへのポインタ１１０２をタスク番号５０１の１番へ移す。このようにしてアクセスポインタテーブル２０５のタスク番号５０１に空きができないようにする。
【００８１】
そのとき、アクセス処理が終了したタスクの許容遅延値１００５が最小遅延バッファ８０５の値と同じなら、残りのタスクのうちで最小の許容遅延値１００５をアクセス情報テーブル８０３から新たに抜き出し、その値を最小遅延バッファ８０５に格納する。そして、残りのタスクのアクセス要求を順次処理していく。全てのタスクのアクセス処理が終了し、有効な情報がアクセス情報テーブル８０３内に無ければ、最小遅延バッファ８０５を初期値に更新する。
【００８２】
以上のように、第２の実施形態においては第１の実施形態と同様の効果を得ることができるとともに、アクセスセクタ単位を現在動作中の全タスクの許容遅延値１００５から動的に求めることにより、現在動作中のタスクに合わせてアクセスセクタ単位を変更することができ、さらに効率的に２つのタスクを並行して動作させることが可能となる。
【００８３】
なお、以上説明した第１及び第２の実施形態それぞれにおいて、記憶デバイス１１０のデータ領域に対する１セクタあたりのアクセス時間Ｃ１をアクセスセクタ単位を計算するときに取得し、計算時に取得したＣ１を使用してアクセスセクタ単位をそれぞれの計算式から導くようにすることもできる。アクセス先の記憶デバイス１１０のデータ領域が変わると、再びそのデータ領域における１セクタあたりのアクセス時間Ｃ１を取得し、アクセスセクタ単位を計算式から導くようにする。
【００８４】
すなわち、１セクタあたりのアクセス時間Ｃ１は予め与えられず、アクセスするデータ領域が変わる毎にデバイスから取得するようにする。この方法により、記憶デバイスにより、あるいは記憶デバイスのデータ領域により、１セクタ当たりのアクセススピードが異なる場合も、そのアクセススピードに合わせてアクセスセクタ単位を計算することにより、より効率的で無駄のない記憶デバイスの制御を行うことが可能となる。
【００８５】
次に、本発明の第３の実施形態における複数領域を持つ記憶デバイス制御装置について図１３から図１６を用いて説明する。また、図１から図５と同じ働きをする構成要素については同一符号を付して説明する。
【００８６】
図１３は、図１の記憶デバイス制御装置の全体構成において、第３の実施形態におけるアクセス要求調停部１０６の構成を詳細に示したブロック図である。図１３において、アクセス要求調停部１０６は、アクセス情報部１３０１とアクセス処理部１３０２から構成されている。さらに、アクセス情報部１３０１は、アクセス情報テーブル１３０３、アクセスポインタテーブル２０５、タスクカウンタ２０４、優先度バッファ１３０４から構成されている。
【００８７】
アクセス情報テーブル１３０３は、アクセス要求２０６、２０７の付加情報を管理するテーブルである。図１４は、第３の実施形態におけるアクセス要求２０６、２０７の付加情報の構成を示す図であり、アクセス開始セクタ番号３０１、アクセスセクタ数３０２に加えて、新たに優先度情報１４０３を設けている。
【００８８】
優先度情報１４０３は、そのタスクのアクセス要求２０６、２０７の優先度を示すものであり、優先度として０〜２５５までの段階を設定でき、０が最も優先度が高いものとする。優先度バッファ１３０４には、現在記憶デバイス１１０へアクセス中のタスクの優先度情報を格納するバッファであり、システム起動時には初期値が設定される。
【００８９】
図１５は第３の実施形態におけるアクセス情報テーブル１３０３の構成を示す図である。アクセス情報テーブル１３０３は、アクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４、各タスクの優先度情報１４０３を保持する優先度情報１５０５からなる。
【００９０】
アクセス情報部１３０１は、アクセス要求２０６又は２０７を受け取ると、アクセス情報テーブル１３０３に対して、新たに受け付けたタスクのアクセス要求に含まれるアクセス開始セクタ番号３０１をアクセス開始セクタ番号４０２に、アクセスセクタ数３０２を残りアクセスセクタ数４０３に、優先度情報１４０３を優先度情報１５０５に、また、アクセス要求元のファイルシステムの種類をアクセス要求元情報４０４に格納する。
【００９１】
また、アクセス情報部１３０１はタスクカウンタ２０４をインクリメントし、アクセスポインタテーブル２０５の最初の空き場所に対して、現在のタスクカウンタ２０４の値をタスク番号５０１に、アクセス情報テーブル１３０３に格納したタスク情報へのポインタをアクセス情報テーブルへのポインタ５０２に格納する。
【００９２】
さらに、アクセス情報部１３０１は、ファイルシステム１０３、１０５からアクセス要求２０６、２０７を受け取ると、そのアクセス要求２０６又は２０７の付加情報に含まれる優先度情報１４０３を優先度バッファ１３０４の値と比較し、前者が後者より小さければ優先度バッファ１３０４の値をその優先度情報１４０３に更新する。
【００９３】
アクセス処理部１３０２は、デバイス制御部１０８、１０４に対してアクセスセクタ単位情報を含むデバイスアクセス要求２０９、２１０を発行する。アクセス処理部１３０２は、優先度バッファ１３０４の値と同じ優先度１５０５を持つタスクを、アクセス情報テーブル１３０３から選択し、デバイス制御部１０８又は１０４へデバイスアクセス要求を発行する。アクセス情報テーブル１３０３上に同じ優先度１５０５を持つタスクが存在すれば、アクセスポインタテーブル２０５のタスク番号５０１の小さいタスクを選択する。
【００９４】
アクセスセクタ単位は、デバイス制御部１０８、１０４を通して実際に記憶デバイス１１０にアクセスするセクタ数であり、選択されたタスクのアクセス要求の残りアクセスセクタ数４０３の値をアクセスセクタ単位としてデバイスアクセス要求２０９又は２１０を発行する。アクセス要求後には、対応するタスクの残りアクセスセクタ数４０３の値は０にする。
【００９５】
デバイス制御部１０８、１０４が実際に記憶デバイス１１０へのアクセスを実行すると、アクセス処理の終了時にアクセス要求調停部１０６へ処理終了信号２０８が返ってくる。アクセス要求調停部１０６は処理終了信号２０８を受け取ると、次のデバイスアクセス要求２０９又は２１０を発行する処理を繰り返す。
【００９６】
アクセス情報テーブル１３０３の残りアクセスセクタ数４０３が０になると、タスクカウンタ２０４をデクリメントし、アクセスポインタテーブル２０５のタスク番号に空きができないように順次空きを埋める処理を行う。
【００９７】
図１６は、この処理におけるアクセス情報テーブル１３０３とアクセスポインタテーブル２０５の状態変化を説明する図である。図１６においてはタスクＡとタスクＢの２つのタスクが動作しているとする。また、符号は図１５及び図５に準ずる。
【００９８】
アクセス情報テーブル１３０３においてタスクＡの残りアクセスセクタ数４０３が０になると、アクセスポインタテーブル２０５においてタスク番号５０１の１番に格納されていたタスクＡのアクセス情報テーブルへのポインタ１６０１をクリアする。そしてタスク番号５０１の２番に格納されていたタスクＢのアクセス情報テーブルへのポインタ１６０２をタスク番号５０１の１番へ移す。このようにしてアクセスポインタテーブル２０５のタスク番号５０１に空きができないようにする。
【００９９】
そのとき、有効なアクセス情報テーブル１３０３から次に高い優先度を新たに抜き出し、優先度バッファ１３０４に格納する。そして、残りのタスクのアクセス要求を順次処理していく。全てのタスクのアクセス処理が終了し、有効な情報がアクセス情報テーブル１３０３に無ければ、優先度バッファ１３０４を初期値に更新する。
【０１００】
以上のように、第３の実施形態においては第１及び第２の実施形態のようなタスク細分化の効果はないものの、アクセス要求を受け付けるタスクに優先度を付けることで、絶対的にアクセスを優先したいタスクが存在する場合に、そのタスクのアクセスを常に優先的に処理することが可能となる。もちろん、第１、第２の実施形態と組み合わせることにより、タスク細分化の効果も得つつ優先度の高いタスクを優先的に処理することが可能となる。
【０１０１】
次に、本発明の第４の実施形態における複数領域を持つ記憶デバイス制御装置について図１７を用いて説明する。また、図１及び図２と同じ働きをする構成要素については同一符号を付して説明する。
【０１０２】
図１７は、図１の記憶デバイス制御装置の全体構成において、第４の実施形態におけるアクセス要求調停部１０６の構成を詳細に示したブロック図である。図１７において、アクセス要求調停部１０６は、アクセス情報部２０１、アクセス処理部１７０２、タイマ処理部１７０４、アクセス指定フラグ１７０５から構成されている。アクセス情報部２０１は第１の実施形態と同じであり、アクセス情報テーブル２０３、アクセスポインタテーブル２０５、タスクカウンタ２０４から構成されている。
【０１０３】
アクセス情報部１７０１は、アクセス要求２０６又は２０７を受け取ると、アクセス情報テーブル２０３に対して、新たに受け付けたタスクのアクセス要求に含まれるアクセス開始セクタ番号３０１をアクセス開始セクタ番号４０２に、アクセスセクタ数３０２を残りアクセスセクタ数４０３に、また、アクセス要求元のファイルシステムの種類をアクセス要求元情報４０４に格納する。
【０１０４】
タイマ処理部１７０４は予め指定されたタイムスライス値ｔ時間ごとに起動される処理部である。アクセス指定フラグ１７０５は次にアクセスするタスクのタスク番号５０１を格納する。タイマ処理部１７０４は、ｔ時間ごとに起動すると、アクセスポインタテーブル２０５からタスク番号５０１を取得し、そのタスク番号５０１をアクセス指定フラグ１７０５に格納する。
【０１０５】
ここで、アクセスポインタテーブル２０５から取得するアクセス情報テーブルへのポインタ５０２は、タスク番号５０１の最小値に対応するポインタから順番に取得し、ポインタが格納されているタスク番号５０１が最大になれば、再び最小値に戻ることにする。
【０１０６】
アクセス処理部１７０２は、アクセス指定フラグ１７０５に格納されたタスク番号５０１に対応するアクセスポインタテーブル２０５より、アクセス情報テーブルへのポインタ５０２を取得し、アクセス情報テーブル２０３より、アクセス開始セクタ番号４０２と残りアクセスセクタ数４０３、アクセス要求元情報４０４を取得する。
【０１０７】
アクセスセクタ単位はデバイス制御部１０８、１０４を通して実際に記憶デバイス１１０にアクセスするセクタ数である。アクセスセクタ単位は１セクタずつとし、ｔ時間経過してアクセス指定フラグが変更されたときには、処理終了信号２０８を受け取った後に直ちに次のタスクのアクセスを開始できるようにしておく。
【０１０８】
そして、アクセス処理部１７０２は、アクセス要求元情報４０４に対応するデバイス制御部１０８又は１０４に対して、アクセス開始セクタ番号４０２と前記アクセスセクタ単位の情報を含むデバイスアクセス要求２０９、又は２１０を発行する。
【０１０９】
デバイス制御部１０８、１０４が実際に記憶デバイス１１０へのアクセスを実行すると、アクセス処理の終了時にアクセス要求調停部１０６へ処理終了信号２０８が返ってくる。アクセス要求調停部１０６は処理終了信号２０８を受け取ると、アクセス指定フラグ１７０５を見て、格納されたタスク番号５０１に対応するデバイスアクセス要求２０９又は２１０を発行する処理を繰り返す。
【０１１０】
以上のように、タスクの切換えにタイマを利用することで、タスクの切換えを一定時間で確実に行うことが可能となる。例えば、あるタスクの記憶デバイスへのアクセス中に、ＣＰＵが他の処理に取られるなどの影響で、記憶デバイスへのアクセスが一時中断されたとしても、一定の時間が経過すれば強制的に次のタスクの処理に移行させることが可能となる。
【０１１１】
次に、本発明の第５の実施形態における複数領域を持つ記憶デバイス制御装置について図１８から図２０を用いて説明する。また、図１から図５と同じ働きをする構成要素については同一符号を付して説明する。
【０１１２】
図１８は、図１の記憶デバイス制御装置の全体構成において、第５の実施形態におけるアクセス要求調停部１０６の構成を詳細に示したブロック図である。図１８において、アクセス要求調停部１０６は、アクセス情報部２００１とアクセス処理部２００２から構成されている。さらに、アクセス情報部２００１は、アクセス情報テーブル２００３、タスクカウンタ２０４、アクセスポインタテーブル２０５から構成されている。
【０１１３】
アクセス情報テーブル２００３は、アクセス要求２０６、２０７の付加情報を管理するテーブルである。図１９は、第５の実施形態におけるアクセス要求２０６、２０７の付加情報の構成を示す図であり、アクセス開始セクタ番号３０１、アクセスセクタ数３０２に加えて、新たにアクセスセクタ単位数２１０３を設けている。アクセスセクタ単位数２１０３はそのタスクが指定するアクセスセクタ単位を示す。
【０１１４】
図２０は、第５の実施形態におけるアクセス情報テーブル２００３の構成を示す図である。アクセス情報テーブル２００３は、アクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４、各タスクが指定したアクセスセクタ単位数２１０３を保持するアクセスセクタ単位数２２０４からなる。
【０１１５】
アクセス開始セクタ番号４０２には、アクセス要求２０６、２０７の発生時に初期値としてアクセス開始セクタ番号３０１が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４へ発行する度にアクセスセクタ単位数分が加算される。
【０１１６】
残りアクセスセクタ数４０３には、アクセス要求２０６、２０７の発生時には初期値としてアクセスセクタ数３０２が設定され、そのタスクからのデバイスアクセス要求２０９又は２１０をデバイス制御部１０８、１０４を発行する度にアクセスセクタ単位数分が減算される。システム起動時にはこの値を０に初期化しておく。
【０１１７】
アクセス情報部２００１は、アクセス要求２０６又は２０７を受け取ると、アクセス情報テーブル２００３に対して、新たに受け付けたタスクのアクセス要求に含まれるアクセス開始セクタ番号３０１をアクセス開始セクタ番号４０２に、アクセスセクタ数３０２を残りアクセスセクタ数４０３に、アクセスセクタ単位数２１０３をアクセスセクタ単位数２２０４に、また、アクセス要求元のファイルシステムの種類をアクセス要求元情報４０４に格納する。
【０１１８】
また、アクセス情報部２００１はタスクカウンタ２０４をインクリメントし、アクセスポインタテーブル２０５の最初の空き場所に対して、現在のタスクカウンタ２０４の値をタスク番号５０１に、アクセス情報テーブル２０３に格納したタスク情報へのポインタをアクセス情報テーブルへのポインタ５０２に格納する。
【０１１９】
アクセス処理部２００２は、タスクからアクセス要求２０６、２０７を受け取ると、アクセスポインタテーブル２０５からアクセス情報テーブルへのポインタ５０２を取得し、アクセス情報テーブル２００３へアクセスして、該当するアクセス要求のアクセス開始セクタ番号４０２、残りアクセスセクタ数４０３、アクセス要求元情報４０４、アクセスセクタ単位数２２０４を取得する。取得した残りアクセスセクタ数４０３が取得したアクセスセクタ単位数２２０４より小さければ、アクセスセクタ単位は残りアクセスセクタ数４０３となる。
【０１２０】
ここで、アクセス処理部２００２がアクセスポインタテーブル２０５から取得するアクセス情報テーブルへのポインタ５０２は、タスク番号５０１の最小値に対応するポインタから順番に取得し、取得するポインタが格納されているタスク番号５０１が最大になれば、再び最小値に戻ることにする。
【０１２１】
これにより、アクセス処理部２００２は、アクセス要求元情報４０４に対応するデバイス制御部１０８又は１０４に対して、アクセス開始セクタ番号４０２とアクセスセクタ単位の情報を含んだデバイスアクセス要求２０９又は２１０を発行する。
【０１２２】
デバイス制御部１０８、１０４が実際に記憶デバイス１１０へのアクセスを実行すると、アクセス処理の終了時にアクセス要求調停部１０６へ処理終了信号２０８が返ってくる。アクセス要求調停部１０６は処理終了信号２０８を受け取ると、次のデバイスアクセス要求２０９又は２１０を発行する処理を繰り返す。
【０１２３】
以上のように、タスク毎にアクセスタスク単位を指定することにより、タスクの用途別によるアクセスセクタ単位の指定が可能となり、より自由度の高いタスク設計が可能となる。
【０１２４】
【発明の効果】
以上説明したように、本発明によれば、制御方法の異なる複数のデータ領域の各々に対してアクセスを行う複数のタスクが並列に動作し、ほぼ同時にアクセス要求が発生しても、アクセス要求調停部でタスクに含まれるアクセス要求を部分要求単位に分割し、アクセス要求を切り換えるように制御することにより、記憶デバイスへの同時アクセスを防ぐとともに、複数のタスクのリアルタイム性を保ちながら並行して動作させることが可能になるという優れた効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る複数のデータ領域を持つ記憶デバイス及び記憶デバイス制御装置の全体構成を示すブロック図。
【図２】本発明の第１の実施形態に係るアクセス要求調停部の構成を示すブロック図。
【図３】本発明の第１の実施形態におけるアクセス要求の付加情報の構成を示す図。
【図４】本発明の第１の実施形態におけるアクセス情報テーブルの構成を示す図。
【図５】本発明の各実施形態におけるアクセスポインタテーブルの構成を示す図。
【図６】本発明の第１の実施形態におけるアクセスセクタ単位の計算式の概念図。
【図７】本発明の第１の実施形態におけるアクセス情報テーブルとアクセスポインタテーブルの状態変化を説明する図。
【図８】本発明の第２の実施形態に係るアクセス要求調停部の構成を示すブロック図。
【図９】本発明の第２の実施形態におけるアクセス要求の付加情報の構成を示す図。
【図１０】本発明の第２の実施形態におけるアクセス情報テーブルの構成を示す図。
【図１１】本発明の第２の実施形態におけるアクセス情報テーブルとアクセスポインタテーブルの状態変化を説明する図。
【図１２】本発明の第２の実施形態におけるアクセスセクタ単位の計算式の概念図。
【図１３】本発明の第３の実施形態に係るアクセス要求調停部の構成を示すブロック図。
【図１４】本発明の第３の実施形態におけるアクセス要求の付加情報の構成を示す図。
【図１５】本発明の第３の実施形態におけるアクセス情報テーブルの構成を示す図。
【図１６】本発明の第３の実施形態におけるアクセス情報テーブルとアクセスポインタテーブルの状態変化を説明する図。
【図１７】本発明の第４の実施形態に係るアクセス要求調停部の構成を示すブロック図。
【図１８】本発明の第５の実施形態に係るアクセス要求調停部の構成を示すブロック図。
【図１９】本発明の第５の実施形態におけるアクセス要求の付加情報の構成を示す図。
【図２０】本発明の第５の実施形態におけるアクセス情報テーブルの構成を示す図。
【符号の説明】
１０１、１０２  タスク
１０３、１０５  ファイルシステム
１０４、１０８  デバイス制御部
１０６  アクセス要求調停部
１０７、１０９  データ領域
１１０  記憶デバイス
２０１、８０１、１３０１、２００１  アクセス情報部
２０２、８０２、１３０２、１７０２、２００２  アクセス処理部
２０３、８０３、１３０３、２００３  アクセス情報テーブル
２０４  タスクカウンタ
２０５  アクセスポインタテーブル
２０６、２０７  アクセス要求
２０８  処理終了信号
２０９、２１０  デバイスアクセス要求
３０１  アクセス開始セクタ番号
３０２  アクセスセクタ数
４０２  アクセス開始セクタ番号
４０３  残りアクセスセクタ数
４０４  アクセス要求元情報
５０１  タスク番号
５０２  アクセス情報テーブルへのポインタ
７０１、７０２  アクセス情報テーブルへのポインタ
８０５  最小遅延バッファ
８０６  アクセス単位バッファ
９０３  付加情報の許容遅延値
１００５  許容遅延値
１１０１、１１０２  アクセス情報テーブルへのポインタ
１３０４  優先度バッファ
１４０３  付加情報の優先度情報
１５０５  優先度情報
１６０１、１６０２  アクセス情報テーブルへのポインタ
１７０４  タイマ処理部
１７０５  アクセス指定フラグ
２１０３  付加情報のアクセスセクタ単位数
２２０４  アクセスセクタ単位数
【図１】
2004213414.tif 000003
【図２】
2004213414.tif 000004
【図３】
2004213414.tif 000005
【図４】
2004213414.tif 000006
【図５】
2004213414.tif 000007
【図６】
2004213414.tif 000008
【図７】
2004213414.tif 000009
【図８】
2004213414.tif 000010
【図９】
2004213414.tif 000011
【図１０】
2004213414.tif 000012
【図１１】
2004213414.tif 000013
【図１２】
2004213414.tif 000014
【図１３】
2004213414.tif 000015
【図１４】
2004213414.tif 000016
【図１５】
2004213414.tif 000017
【図１６】
2004213414.tif 000018
【図１７】
2004213414.tif 000019
【図１８】
2004213414.tif 000020
【図１９】
2004213414.tif 000021
【図２０】
2004213414.tif 000022