(57)【特許請求の範囲】
【請求項１】
複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、
前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、
前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、
上位ＣＰＵからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、
前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、
前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御部のアドレス空間のアドレスを指定し、前記インターフェース制御部は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成し、
前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御したことを特徴とする情報処理装置。
【請求項２】
前記データ種別情報は、
前記リードコマンドに含まれる通信データ量単位であることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データ種別情報は、
前記リードコマンドに含まれるセクターカウント値であることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記データ種別は画像データ、音声データ、及び発光データであることを特徴とする請求項１ないし３の何れか一項記載の情報処理装置。
【請求項５】
前記画像データとその他のデータとで区分けして２以上の一時記憶領域を設けたことを特徴とする請求項１ないし４の何れか一項記載の情報処理装置。
【請求項６】
複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、
前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、
前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、
上位ＣＰＵからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置による情報処理方法であって、
前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、
前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御ステップのアドレス空間のアドレスを指定し、前記インターフェース制御ステップは指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成するステップを実行し、
前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御するステップを実行したことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライフタイム及びデータサイズが異なる複数種類のデータを扱うのに好適な情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
パチンコ機やパチスロ機等の遊技機においては、静止画や動画の画像、スピーカーからの音、ＬＥＤによる発光等により、遊技中の遊技者に対して、多彩な演出を提供することにより、高い遊興感を味わえるように緻密に構成されている。
【０００３】
遊技中のこれらの画像、音、光の出力は、それらの出力のためのデータを予め遊技機内に格納しておき、遊技の際、遊技の進行に応じて、それらのデータを読み出してきて、所定のデータ変換により画像、光、音として出力することにより行われている。更に詳細には、それらの画像データ、音声データ、及び発光データは、遊技機の製造時に、読出し専用メモリに圧縮符号化して書き込んでおき、遊技の際には、それらのデータを専用で処理するプロセッサが、随時、その読出し専用メモリから読み出して復号して、データに応じて液晶表示器、スピーカー、ＬＥＤ（Light Emitting Diode）等に出力するようにしている。
【０００４】
ところで、上記の専用のデータ処理プロセッサが、読出し専用メモリから所望のデータを読み出す際においては、特に遊技機にあっては液晶表示器等への多彩で変化の激しい出力要求に応ずべく、高速に読み出せることが要求される。従って、この読出し専用メモリからのデータの読み出しにおいても、キャッシュの技術を採用することが多い。具体的には、読出し専用メモリにおいて、画像データ、音声データ、及び発光データを格納する主たるメモリ（典型的にはフラッシュメモリ）に加えて、キャッシュ（リードキャッシュ）として機能させるメモリ（例えば、ＤＲＡＭ（Dynamic Random Access Memory））を備え、キャッシュ機能を実現している。
【０００５】
特許文献１においては、ＨＤＤ（８）の前段にキャッシュメモリ（６）がある構成であり、ＨＤＤ（８）に記録するデータも映像信号と音声信号の２種類の信号であるものの、当該文献に記載の技術の目的は、一纏まり（１ファイル）のサイズがＨＤＤ（８）の容量を越えるようなサイズの映像・音声信号であっても、複数のＨＤＤ（８）に渡ってうまく記録できるようにすることであり、その目的を達成するための構成は、１ファイルの映像・音声信号を、その映像・音声信号の切り替わり箇所で複数に分割して、その各所で分割可能なファイルに構成する、というものである。
また、特許文献２においては、容量の異なる２つのキャッシュメモリによる階層化の技術と、命令とデータ（オペランド）とでキャッシュを分ける技術とを組み合わせる技術の更なる応用が開示されており、その具体的構成は、オペランドアクセス時及び分岐命令の分岐先命令アクセス時に比較的小容量の第１キャッシュメモリをアクセスし、不在のときに大容量の第２キャッシュメモリにアクセスする、というものである。
また、特許文献３においては、複数のプロセッサで処理する処理において、各プロセッサが時々において自身が担当処理するプロセスがない場合に効率的に低電力モードに切り替わる工夫について開示しており、その前提として、各プロセッサには１対１でキャッシュメモリが備わっている（図１、図５）というものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１１５１６８公報
【特許文献２】特開昭６４−１８８４３号公報
【特許文献３】特表２００５−５３１８６０公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の画像データ、音声データ、及び発光データのように多種のデータを扱う場合、それらのデータ種別に応じてライフタイム（データが利用される時間長）やデータサイズ（通信データ量単位）が異なることが多く、その場合、基本的にデータサイズが大きくライフタイムの長い種別のデータが偏ってキャッシュメモリを占めてしまい、必要なデータを所望のタイミングで処理できない状況に陥ることがある。
特に、パチンコ機等の遊技機においては、音声データ及び発光データが画像データと比較して処理の遅延が許容されないにも拘わらず、データサイズの大きい画像データのみがキャッシュメモリを占めてしまうので、音や光の出力が許容量を超えて遅れてしまうといった問題があった。これは、画像データが音声データや発光データよりデータ量が大きいため、キャッシュメモリにおける占有率が高くなり、音声データや発光データのデータがキャッシュメモリにキャッシュされにくく、処理遅延が生じるためである。
本発明は、上記に鑑みてなされたもので、その目的は、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１記載の発明は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、上位ＣＰＵからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御部のアドレス空間のアドレスを指定し、前記インターフェース制御部は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成し、前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御したことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、データ種別に応じて一時記憶部の一時記憶領域を選択するので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る情報処理装置の構成を説明するための機能ブロック図である。
【図２】本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の構成を説明するための機能ブロック図である。
【図３】本発明の実施形態に係るリードコマンドパケットの構成を示す図である。
【図４】本発明の実施形態に係る補助記憶装置に設けられた領域制御部の構成を説明するための機能ブロック図である。
【図５】本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の動作について説明するためのフローチャートである。
【図６】本発明の実施形態に係る補助記憶装置に設けられた領域制御部の動作について説明するためのフローチャートである。
【図７】本発明の実施形態に係る情報処理装置のデータ処理プロセッサと補助記憶装置との間のデータの流れ及び一時記憶部の複数の一時記憶領域について説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明を図面に示した実施の形態により詳細に説明する。
本発明は、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避するために、以下の構成を有する。
すなわち、本発明の情報処理装置は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、記憶部から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、記憶部、及び一時記憶部を制御する制御部と、を備えた補助記憶装置と、上位ＣＰＵからの要求に基づいて、補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、補助記憶装置の制御部は、データ処理プロセッサからのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したことを特徴とする。
以上の構成を備えることにより、データ種別に応じて一時記憶部の一時記憶領域を選択するので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することができる。
上記の本発明の特徴に関して、以下、図面を用いて詳細に説明する。
【００１２】
＜情報処理装置＞
図１を参照して、本発明の実施形態に係る情報処理装置の構成について説明する。図１は、本発明の実施形態に係る情報処理装置の構成を説明するための機能ブロック図である。
情報処理装置１は、データ処理プロセッサ１０、補助記憶装置４０、を備えている。
図１に示す上位ＣＰＵ２は、遊技機等を構成する情報処理装置１に対して上位に配置されたＣＰＵである。
データ処理プロセッサ１０は、画像、音声、発光等のデータを処理するプロセッサであり、ＣＰＵ１２、画像処理部１４、表示出力部１６、サウンド処理部１８、サウンド出力部２０、発光処理部２２、発光出力部２４、インターフェース制御部２６、バス２８を備えている。
【００１３】
ＣＰＵ１２は、データ処理プロセッサの全体を制御する。
画像処理部１４は、表示すべき画像を処理するものであり、補助記憶装置４０に格納されたデータを取得して復号し、画像として描画することで画像データを生成する。
表示出力部１６は、画像処理部１４が生成した画像データをディスプレイ３０等の表示部に出力する。ディスプレイ３０は、ＬＣＤ等の表示デバイスである。
サウンド処理部１８は、出力すべき音声信号を処理するものであり、補助記憶装置４０に格納されたデータを取得して復号し、サウンドデータを生成する。
サウンド出力部２０は、生成されたサウンドデータに基づき、スピーカー３２等に音声信号を出力する。
【００１４】
発光処理部２２は、演出に基づき、補助記憶装置４０に格納されたデータを復号して、ＬＥＤ３４等の発光体を駆動するためのデータを生成する。
発光出力部２４は、発光処理部が生成したデータに基づき、ＬＥＤ等の発光体を駆動する。
ＬＥＤ（light emitting diode）３４は、順方向に電圧を加えた際に発光する半導体素子であり、発光体の一例である。
インターフェース制御部２６は、補助記憶装置４０との間のインターフェースを制御するもので、本実施形態においては、画像処理部１４、サウンド処理部１８、発光処理部２２、その他（ＣＰＵ）のいずれか１つが要求するリードリクエストがどの処理部またはＣＰＵから行われたものかをリードリクエストに含まれるデータアドレスに基づいて判別し、判別結果に応じてリードリクエストであるリードコマンドに含ませるセクターカウント値（Sector Count）を設定する。
【００１５】
補助記憶装置４０は、記憶部（フラッシュメモリ）４２、一時記憶部（ＤＲＡＭ）４４、メモリコントローラ４６、バス４８を備えている。
補助記憶装置４０は、いわゆるＮＡＮＤフラッシュメモリを含むＳＳＤ（Solid State Drive）である。ただし、通常のＳＳＤでは一時記憶部４４が書き込み用のキャッシュメモリとして用いられるが、本発明において用いるＳＳＤはＳＳＤのファームウェアを変更し、一時記憶部４４を読み出し用のキャッシュメモリとして利用している。なお、書き込み用に利用されるＤＲＡＭを読み出し用に変更せず、読み出し用として別途ＤＲＡＭを用意しても良い。
記憶部４２は、例えば、ＮＡＮＤフラッシュメモリアレイからなる記憶部である。
一時記憶部４４は、例えば、ＤＤＲ  ＤＲＡＭからなる一時記憶部であって、読み出しデータをキャッシュする。
【００１６】
メモリコントローラ４６は、全体制御部５０、シーケンス制御部５２、ＥＣＣ（Error Check and Correct）制御部５４、ホストＩ／Ｆ制御部５６、メモリＩ／Ｆ制御部５８、領域制御部６０を備え、補助記憶装置４０を制御する。
全体制御部５０は、ＲＡＭ、ＲＯＭ等を内蔵し（図示省略）、メモリコントローラ４６全体を制御する。
シーケンス制御部５２は、メモリコントローラ４６から記憶部４２に与えられる内部コマンド信号に基づき、記憶部４２の動作を制御する。
ＥＣＣ制御部５４は、読み出しデータに付加されたエラーコレクションコードに基づき、読み出したデータに含まれる誤りを検出し、且つ誤りを検出した場合に当該データの誤りを訂正する。
ホストＩ／Ｆ制御部５６は、ホスト（データ処理プロセッサ）との間のインターフェースを制御する。
メモリＩ／Ｆ制御部５８は、記憶部４２であるＮＡＮＤアレイや一時記憶部４４であるＤＲＡＭ等とのインターフェースを制御する。
領域制御部６０は、一時記憶部４４を用いてキャッシュするデータ種別（画像、音声、発光、他）に応じて、当該一時記憶部４４におけるデータを格納する一時記憶領域を制御する。
なお、メモリコントローラ４６の各構成は、メモリコントローラ４６のマイクロプロセッサにより実現する。
また、バス２８とバス４８との接続は、シリアル高速通信バスや、ＰＣＩｅ（ＰＣＩエクスプレス）等を利用することができ、各バス２８、４８は説明を簡単にするためデータバス及びレジスタバスを区別せずに記載している。
【００１７】
＜インターフェース制御部＞
図２を参照して、図１に示すインターフェース制御部の機能ブロックの構成について説明する。図２は、本発明の本実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の構成を説明するための機能ブロック図である。
インターフェース制御部２６は、要求データアドレス判定部２６ａ、リードコマンドセクターカウント設定部２６ｂ、修正リードコマンド生成部２６ｃ、修正リードコマンド出力部２６ｄ、を備えている。
要求データアドレス判定部２６ａは、データ処理プロセッサ１０に設けられた画像処理部１４、サウンド処理部１８、発光処理部２２、ＣＰＵ１２の何れか１つから出力されるリードコマンドを入力し、リードコマンドによって要求されたデータのアドレスからどの処理部（又はＣＰＵ）からのリクエストであるかを判定する。
例えば、図７に示すように、データ処理プロセッサ１０側のアドレス空間のうち０ギガバイト（以下、ＧＢという）〜８ＧＢまでを他データ、８ＧＢ〜１６ＧＢを音声・発光データ、１６ＧＢ〜２４ＧＢを画像データとして割り当てた場合に、リクエストされたデータのアドレスが１６ＧＢ〜２４ＧＢの領域のものであれば、画像データの読み出しリクエストと判定する。
すなわち、データ処理プロセッサ１０において、リードコマンドを３５ビットで表現し、データ処理プロセッサ１０が他データのアドレスを指定する場合には最上位の２ビットを“００”とし、残り３３ビットでフラッシュメモリの実アドレス空間である８ＧＢ分のアドレスを指定する。また、データ処理プロセッサ１０が音声・発光データを指定する場合には最上位の２ビットを“０１”とすることでデータ処理プロセッサのアドレス空間は８ＧＢ〜１６ＧＢとなり、残り３３ビットでフラッシュメモリの実アドレス空間である８ＧＢ分のアドレスを指定する。更に、データ処理プロセッサ１０が画像データを指定する場合には最上位の２ビットを“１０”とすることでデータ処理プロセッサのアドレス空間は１６ＧＢ〜２４ＧＢとなり、残り３３ビットでフラッシュメモリの実アドレス空間である８ＧＢ分のアドレスを指定する。このように上位２ビットでデータ種別を指定し、インターフェース制御部２６は上位２ビットを除く残りの３３ビットでフラッシュメモリの実アドレスを指定し、データの読み出しを行うことができる。
【００１８】
リードコマンドセクターカウント設定部２６ｂは、要求データアドレス判定部２６ａにて判定したデータ種別（画像データ、音声・発光データ、他データ）に応じてリードコマンドに含めるセクターカウント値をレジスタに設定する。なお、本実施形態では、一例として、画像データは１６キロバイト（以下、ＫＢという）ずつの読み出し、音声・発光データは５１２バイトずつの読み出し、他データは１ＫＢずつの読み出しとして設定しているので、リードコマンドセクターカウント設定部２６ｂは、それぞれセクターカウント値をレジスタに１６、１、２と設定する。
修正リードコマンド生成部２６ｃは、リードコマンドセクターカウント設定部２６ｂのレジスタに設定したセクターカウント値をリードコマンドに含め、修正した修正リードコマンドを生成する。
修正リードコマンド出力部２６ｄは、データ処理プロセッサ１０の画像処理部１４、サウンド処理部１８、発光処理部２２、ＣＰＵ１２から発行された３５ビットのリードリクエストの上位２ビットを削除し、残りのリクエストデータをフラッシュメモリの実アドレスであるＬＢＡ（Logical Block Addressing）とし、図３に示すようなＳＡＴＡ規格のコマンドパケット（ＦＩＳ：Frame Information Structure）のＬＢＡに設定し、更に修正リードコマンド生成部２６ｃで決定したセクターカウントをコマンドパケットのフィーチャーズ（Features）に割り当てられたレジスタに設定し、新たなリードコマンドとして補助記憶装置４０へ出力する。
なお、シリアル高速通信バスの一規格であるＳＡＴＡ（Serial ATA）の規格では、コマンドパケットとして読み出しのデータ量単位を設定するセクターカウントやＬＢＡ以外にも設定する項目が存在すると共に、フラッシュメモリの読み出し単位に応じてフラッシュメモリの実アドレスを指定するための下位ビットの切り捨て処理等が行われるが、それらの詳細な説明は省略する。
【００１９】
＜領域制御部＞
図４を参照して、図１に示す領域制御部の機能ブロックの構成について説明する。図４は、本発明の実施形態に係る補助記憶装置に設けられた領域制御部の構成を説明するための機能ブロック図である。
領域制御部６０は、一時記憶部領域設定部６０ａ、セクターカウント判定部６０ｂ、一時記憶部書込み制御部６０ｃ、を備えている。
一時記憶部領域設定部６０ａは、一時記憶部４４にキャッシュするデータ種別（画像、音声、発光、他）に応じて、キャッシュするＤＲＡＭの領域をレジスタに設定する。領域設定は任意に行うことができ、例えば、ＤＲＡＭの容量が２ＧＢの場合、１ＧＢを画像データ用、５１２ＭＢを音声・発光データ用、５１２ＭＢを他データ用等に割り当てることで、画像データに対しては大きいキャッシュを確保し、音声・発光データに対しては、画像データの一時記憶領域（キャッシュ領域）に対して相対的に小さいキャッシュを確保することができる。なお、音声・発光データは一つの領域を共用して使用しているが、それぞれのデータに領域を割り当てても良いし、音声・発光データ及び他データが一つの領域を共用し、画像データが利用する領域と異なる領域に割り当てても良い。
【００２０】
セクターカウント判定部６０ｂは、リードコマンドに含まれるセクターカウント値を判定することにより、リードコマンドにより求められているデータ種別（画像データ、音声・発光データ、他データ）を判定する。
一時記憶部書き込み制御部６０ｃは、セクターカウント判定部６０ｂによって判別されたデータ種別に応じ、一時記憶部領域設定部６０ａのレジスタに設定された一時記憶部４４の一時記憶領域に記憶部４２から読み出したデータをキャッシュ（書き込み）する。
なお、領域制御部６０は、メモリコントローラ４６に含まれるマイクロプロセッサにより実現するものであり、全体制御部５０やシーケンス制御部５２と協働し、データ処理プロセッサ１０から受け付けたリードコマンドに応じて記憶部４２からデータを読み出し、また一時記憶部４４に読み出したデータをキャッシュとして格納する。
【００２１】
＜インターフェース制御部の動作フロー＞
図５を参照して、図２に示すインターフェース制御部の動作フローについて説明する。図５は、本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の動作について説明するためのフローチャートである。
ステップＳ５では、要求データアドレス判定部２６ａは、画像処理部１４やサウンド処理部１８等からのリードコマンドを受け付けたか否かを判定する。リードコマンドを受け付けた場合、ステップＳ１０に進む。
ステップＳ１０では、要求データアドレス判定部２６ａは、データ処理プロセッサ１０に設けられた画像処理部１４、サウンド処理部１８、発光処理部２２、ＣＰＵ１２から出力されるリードコマンドを入力し、リードコマンドによって要求されたデータのアドレスからどの処理部（又はＣＰＵ）からのリクエストであるかを判定する。
【００２２】
ここで、データ処理プロセッサ１０がアクセス可能なアドレス空間について詳しく説明する。なお、以下で説明するアドレスは、表１に示す「要求されたデータのアドレス」を意味する。
（１）０ＧＢ〜８ＧＢのアドレスは、３５ビットの二進法で表現すると、０００  ００００  ００００  ００００  ００００  ００００  ００００  ００００  ００００  〜００１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１となる。
【００２３】
（２）８ＧＢ〜１６ＧＢのアドレスは、二進法で表現すると、０１０  ００００  ００００  ００００  ００００  ００００  ００００  ００００  ００００  〜０１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１となる。
【００２４】
（３）１６ＧＢ〜２４ＧＢのアドレスは、二進法で表現すると、１００  ００００  ００００  ００００  ００００  ００００  ００００  ００００  ００００  〜１０１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１  １１１１となる。
【００２５】
指定されているアドレスの３４ビット目及び３５ビット目を見ると、（１）０ＧＢ〜８ＧＢは００、（２）８ＧＢ〜１６ＧＢは０１、（３）１６ＧＢ〜２４ＧＢは１０となり、どの桁に“１”が立っているかを判別することで、どのアドレス空間を指定したものか判別できる。
すなわち、上位２ビットの１ビット目が“１”なら（３）、上位２ビットの１ビット目が“０”で、かつ２ビット目が“１”なら（２）、上位２ビットの１ビット目及び２ビット目が“０”なら（１）と、データ処理プロセッサ１０のインターフェース制御部２６に設けられた要求データアドレス判定部２６ａが判定する。そして、要求データアドレス判定部２６ａは、表１に示す変換テーブルと照合して、要求されたデータのアドレスに対応したデータ種別と、データ種別に対応したセクターカウント値を求める。
【００２６】
表１は、要求されたデータのアドレスに対応したデータ種別、データ種別に対応したセクターカウント値を示す表であり、変換テーブルとしてインターフェース制御部２６に記憶されている。
【００２７】
【表１】
0006424330.tif 000002
【００２８】
要求データのアドレスが画像データを指定する場合に、ステップＳ１５に進み、リードコマンドセクターカウント設定部２６ｂは、要求データアドレス判定部２６ａにて判定したデータ種別（画像データ）をキーとして表１に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば１６をレジスタに設定する。
要求データのアドレスが音声・発光データを指定する場合に、ステップＳ２０に進み、リードコマンドセクターカウント設定部２６ｂは、要求データアドレス判定部２６ａにて判定したデータ種別（音声・発光データ）をキーとして表１に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば１をレジスタに設定する。
要求データのアドレスが他データを指定する場合に、ステップＳ２５に進み、リードコマンドセクターカウント設定部２６ｂは、要求データアドレス判定部２６ａにて判定したデータ種別（他データ）をキーとして表１に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば２をレジスタに設定する。
ステップＳ３０では、修正リードコマンド生成部２６ｃは、リードコマンドセクターカウント設定部２６ｂにて定めたセクターカウント値をＳＡＴＡ規格のコマンドパケット（ＦＩＳ：Frame Information Structure）のフィーチャーズ（Features）に割り当てられたレジスタに設定すると共に、リクエストデータをフラッシュメモリの実アドレスであるＬＢＡ（Logical Block Addressing）に設定し、修正リードコマンドを生成する。
ステップＳ３５では、修正リードコマンド出力部２６ｄは、修正リードコマンド生成部２６ｃにて生成した修正リードコマンドを新たなリードコマンドとして補助記憶装置４０へ出力する。
【００２９】
＜領域制御部の動作フロー＞
図６を参照して、領域制御部の動作フローについて説明する。図６は、本発明の実施形態に係る補助記憶装置に設けられた領域制御部の動作について説明するためのフローチャートである。
ステップＳ５５では、一時記憶部領域設定部６０ａは、インターフェース制御部２６からリードリクエストを受け付けたか否かを判断する。一時記憶部領域設定部６０ａは、インターフェース制御部２６からリードリクエストを受け付けた場合にステップＳ６０に進む。
ステップＳ６０では、セクターカウント判定部６０ｂは、リードコマンドに含まれるセクターカウント値によりデータ種別（画像データ、音声・発光データ、他データ）を判定して、データ種別を認識する。すなわち、セクターカウント判定部６０ｂは、リードコマンドに含まれるセクターカウント値をキーとして表２に示す変換テーブルと照合して、セクターカウント値に対応するデータ種別を求める。
【００３０】
表２は、セクターカウント値に対応したデータ種別と、データ種別に対応した一時記憶領域（アドレス空間）を示す表であり、変換テーブルとして領域制御部６０に記憶されている。
【００３１】
【表２】
0006424330.tif 000003
【００３２】
ステップＳ６５では、一時記憶部書き込み制御部６０ｃは、求められたデータ種別をキーとして表２に示す変換テーブルと照合して、当該データ種別に対応する一時記憶領域を求め、データ種別に割り当てられた一時記憶部４４（キャッシュ）の一時記憶領域にデータがあるか否かを判定する。
データ種別に割り当てられた一時記憶部４４（キャッシュ）の一時記憶領域にデータがある場合（Ｓ６５、Ｙｅｓ）には、ステップＳ７０に進み、一時記憶部書き込み制御部６０ｃは、データ種別に割り当てられた一時記憶部４４（キャッシュ）の一時記憶領域からデータを読み出す。同時に、ステップＳ７５では、一時記憶部書き込み制御部６０ｃは、データ処理プロセッサ１０へデータを出力する。
【００３３】
一方、データ種別に割り当てられた一時記憶部４４（キャッシュ）の一時記憶領域にデータがない場合（Ｓ６５、Ｎｏ）には、ステップＳ８０に進み、一時記憶部書き込み制御部６０ｃは、記憶部４２からデータを読み出す。次いで、ステップＳ８５では、一時記憶部書き込み制御部６０ｃは、セクターカウント判定部６０ｂによって判別されたデータ種別に応じ、一時記憶部領域設定部６０ａのレジスタに設定された一時記憶部４４（ＤＲＡＭ）の領域に記憶部４２から読み出したデータをキャッシュ（書き込み）する。
この際、ステップＳ８０では、一時記憶部書き込み制御部６０ｃは、記憶部４２からデータを読み出す。同時に、ステップＳ７５では、一時記憶部書き込み制御部６０ｃは、データ処理プロセッサ１０へデータを出力する。
なお一時記憶部書き込み制御部６０ｃは、一時記憶部４４（キャッシュ）の一時記憶領域へのデータ書き込みの際に、割り当てられた一時記憶領域に空きがあれば、空いている一時記憶領域に格納し、空きがなければ最も古いデータを破棄し、そこにキャッシュする（ＬＲＵアルゴリズム（Least Recently Used））を用いることができる。また、一時記憶部書き込み制御部６０ｃは、ＬＦＵ（Least Frequently Used）アルゴリズムを用いてデータをキャッシュすることも可能である。
【００３４】
＜一時記憶領域＞
図７を参照して、一時記憶部４４の一時記憶領域について説明する。
図７に示す例において、一時記憶部４４には、画像データ用領域、音声及び発光データ用領域、及び他データ用領域の３つを確保している。同図に示すように、一時記憶部のアドレス空間としてはフラッシュメモリの実アドレス空間と等しく等分であることが好ましい。なお、領域の分け方は、一時記憶部４４に用いるＤＤＲ  ＤＲＡＭの物理的構成に依存せず、論理的に分けられていることが認識できればよい。またアドレス空間の各データ領域は記憶部４２の実アドレスと同一量を確保しているが、実際に一時記憶部４４（キャッシュ）として利用する領域は補助記憶装置４０により制限されている。
【００３５】
ところで、高速データ通信においては、予め決めたデータ量単位であるセクターカウント値を用いて複数回（複数リクエスト）に分けてデータの読み出しが行われる。しかも、データ種別に応じて、そのセクターカウント値は異なる。例えば、比較的大容量の画像データについては、音声データや発光データと比較して、セクターカウント値を大きく設定する。
例えば、シリアル高速通信バスの一例であるＳＡＴＡ  Ｉ／Ｆでは、セクターカウント値が定義されているので、一度に読み出すデータ量が制限されている。最少読み出しデータ量は５１２バイトであり、最大読み出しデータ量は３２メガバイト（以下、ＭＢという）である。なお、書き込みデータ量についても同様である。
【００３６】
ここで、画像データと音声・発光データのデータ量単位が異なることの技術的理由について説明する。
まず、画像データは、音声データや発光データと比較して容量が大きいので、単位時間当たりでリクエストされるデータ量も音声・発光データより大きくなることが一般的である。そのため、画像データを読み出す場合には、読み出しデータ量単位を大きくすることでホスト装置であるデータ処理プロセッサ１０から補助記憶装置４０の一例であるＳＡＴＡ  ＳＳＤへのアクセス回数を低減し、データ処理プロセッサ１０における処理の高速化を図っている。
一方、音声や発光データは、画像データに比べてデータサイズが小さいので、画像データの読み出し単位と同じ単位で読み出しを行うと、不要なデータも読み出す可能性があり、不要なデータ読み出しにかかる処理時間が無駄になる。このため、読み出し単位を小さく設定することで、データ処理プロセッサ１０における処理の高速化を図っている。
なお、ＳＡＴＡ  Ｉ／Ｆの場合、上記のように読み出しデータ量単位は５１２バイト〜３２ＭＢまで設定することが可能であるが、取り扱うデータの種別に応じ、各処理部（画像処理部、サウンド処理部、発光処理部等）が最適に処理を行うことができるように、読み出し時のデータ量単位は設定される。したがって、設定された読み出し時のデータ量単位以上のデータ量を取り扱う必要がある場合には、複数回に分けてリードコマンドが発行される。
【００３７】
本実施形態によれば、データ処理プロセッサ１０は、読み出すデータ種別に応じてインターフェース制御部２６のアドレス空間を設定し、インターフェース制御部２６では要求されたアドレス空間によってデータ種別を判定し、リードコマンドに含めるセクターカウントを設定し、該セクターカウントを含むリードコマンドを補助記憶装置に出力する。一方、リードコマンドを受け付けた補助記憶装置４０のメモリコントローラ４６では、リードコマンドに含まれるセクターカウント値に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【００３８】
＜本発明の実施態様例の構成、作用、効果＞
＜第１態様＞
本態様の情報処理装置１は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部４２と、記憶部４２から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部４４と、記憶部４２、及び一時記憶部４４を制御するメモリコントローラ４６（制御部）と、を備えた補助記憶装置４０と、上位ＣＰＵ２からの要求に基づいて、補助記憶装置４０から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサ１０と、を備えた情報処理装置１であって、データ処理プロセッサ１０は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部２６を備え、補助記憶装置４０のメモリコントローラ４６は、データ処理プロセッサ１０からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したことを特徴とする。
本態様によれば、データ処理プロセッサ１０は、インターフェース制御部２６が読み出し要求するデータ種別に応じてデータ種別情報を設定する。補助記憶装置４０のメモリコントローラ４６は、データ処理プロセッサ１０からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したので、データ種別に応じて一時記憶部４４の一時記憶領域を選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【００３９】
＜第２態様＞
本態様のデータ処理プロセッサ１０は、データ種別に応じてインターフェース制御部２６のアドレス空間のアドレスを指定し、インターフェース制御部２６は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成したことを特徴とする。
本態様によれば、データ処理プロセッサ１０は、データ種別に応じてインターフェース制御部２６のアドレス空間のアドレスを指定し、そして、インターフェース制御部２６は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成したので、データ種別に応じて一時記憶部４４の一時記憶領域を選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【００４０】
＜第３態様＞
本態様のデータ種別情報は、リードコマンドに含まれる通信データ量単位であることを特徴とする。
本態様によれば、データ種別情報は、リードコマンドに含まれる通信データ量単位であるので、一時記憶部４４の一時記憶領域を通信データ量単位に応じて選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【００４１】
＜第４態様＞
本態様のデータ種別情報は、リードコマンドに含まれるセクターカウント値であることを特徴とする。
本態様によれば、データ種別情報は、リードコマンドに含まれるセクターカウント値であるので、一時記憶部４４の一時記憶領域をセクターカウント値に応じて選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【００４２】
＜第５態様＞
本態様の情報処理装置１は、データ種別として、画像データ、音声データ、及び発光データとする。
本態様によれば、キャッシュメモリを占有しやすい画像データとそれ以外とを判別することができ、処理遅延の許容量が少ない音声データや発光データの読み出しにもキャッシュを用いて行うことができ、音や光の出力を適切に行うことができる。
【００４３】
＜第６態様＞
本態様の情報処理装置１は、画像データとその他のデータとで区分けして２以上の一時記憶領域を設ける。
本態様によれば、キャッシュメモリを占有しやすい画像データとそれ以外の音声データ、発光データのキャッシュする領域を分けて利用するので、処理遅延の許容量が少ない音声データや発光データの読み出しにもキャッシュを用いて行うことができ、音や光の出力を適切に行うことができる。
【００４４】
＜第７態様＞
本態様の情報処理方法は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部４２と、記憶部４２から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部４４と、記憶部４２、及び一時記憶部４４を制御するメモリコントローラ４６（制御部）と、を備えた補助記憶装置４０と、上位ＣＰＵからの要求に基づいて、補助記憶装置４０から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサ１０と、を備えた情報処理装置１による情報処理方法であって、データ処理プロセッサ１０は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、補助記憶装置４０のメモリコントローラ４６（制御部）は、データ処理プロセッサ１０からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御するステップを実行したことを特徴とする。
本態様によれば、データ処理プロセッサ１０は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、一方、補助記憶装置４０のメモリコントローラ４６（制御部）は、データ処理プロセッサ１０からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御するステップを実行したので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部４４を占めてしまうことを回避することができる。
【符号の説明】
【００４５】
１…情報処理装置、２…上位ＣＰＵ、１０…データ処理プロセッサ、１２…ＣＰＵ、１４…画像処理部、１６…表示出力部、１８…サウンド処理部、２６…インターフェース制御部、２６ａ…要求データアドレス判定部、２６ｂ…リードコマンドセクターカウント設定部、２６ｃ…修正リードコマンド生成部、２６ｄ…修正リードコマンド出力部、４０…補助記憶装置、４２…記憶部、４４…一時記憶部、４６…メモリコントローラ、６０…領域制御部、６０ａ…一時記憶部領域設定部、６０ｂ…セクターカウント判定部、６０ｃ…一時記憶部書き込み制御部
【図１】
0006424330.tif 000004
【図２】
0006424330.tif 000005
【図３】
0006424330.tif 000006
【図４】
0006424330.tif 000007
【図５】
0006424330.tif 000008
【図６】
0006424330.tif 000009
【図７】
0006424330.tif 000010