(57)【特許請求の範囲】
【請求項１】
遊技機用データを記憶する不揮発性メモリと、
前記遊技機用データを格納するキャッシュメモリと、
遊技機のホスト装置からのコマンドに基づき前記不揮発性メモリまたは前記キャッシュメモリに記憶された遊技機用データを読み出し、読み出された遊技機用データを前記ホスト装置に転送し、前記不揮発性メモリから読み出された遊技機用データが第１サイズ未満のとき前記読み出された遊技機用データが前記第１サイズ以上のときより優先的に前記読み出された遊技機用データを前記キャッシュメモリに登録する制御部と、
を具備し、
前記遊技機用データは、前記遊技機の表示装置に表示する画像の画像データと、前記遊技機の音声出力装置から出力される音声のデータである音声データと、の少なくとも一方を含み、
前記不揮発性メモリは、複数の領域を含み、
前記複数の領域に対応し、前記第１サイズが設定され、
前記複数の領域のうち少なくとも２つの領域に対応する前記第１サイズは異なることを特徴とする遊技機用記憶装置。
【請求項２】
前記制御部は、
前記読み出された遊技機用データが前記第１サイズ以上のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録せず、
前記読み出された遊技機用データが前記第１サイズ未満のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録することを特徴とする請求項１記載の遊技機用記憶装置。
【請求項３】
前記制御部は、前記キャッシュメモリに登録される前記第１サイズ以上の遊技機用データの個数を所定個数以下に制限することを特徴とする請求項１記載の遊技機用記憶装置。
【請求項４】
前記制御部は、前記読み出された遊技機用データが前記第１サイズ以上でありかつ前記キャッシュメモリに登録されている前記第１サイズ以上の遊技機用データの個数が前記所定個数のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録されている前記第１サイズ以上の遊技機用データの少なくとも１つと置換することを特徴とする請求項３記載の遊技機用記憶装置。
【請求項５】
前記制御部は、前記キャッシュメモリに登録される前記第１サイズ未満かつ前記第１サイズより小さい第２サイズ以上の遊技機用データの個数を所定個数以下に制限することを特徴とする請求項２記載の遊技機用記憶装置。
【請求項６】
前記制御部は、前記読み出された遊技機用データが前記第１サイズ未満かつ前記第２サイズ以上でありかつ前記キャッシュメモリに登録されている前記第１サイズ未満かつ前記第２サイズ以上の遊技機用データの個数が前記所定個数のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録されている前記第１サイズ未満かつ前記第２サイズ以上の遊技機用データの少なくとも１つと置換することを特徴とする請求項５記載の遊技機用記憶装置。
【請求項７】
遊技機用データを記憶する不揮発性メモリと、
前記遊技機用データを格納するキャッシュメモリと、
前記不揮発性メモリに記憶された遊技機用データを読み出し、読み出された遊技機用データが第１サイズ未満のとき前記読み出された遊技機用データが前記第１サイズ以上のときより優先的に前記読み出された遊技機用データを前記キャッシュメモリに登録する制御部と、
を具備し、
前記不揮発性メモリは、複数の領域を含み、
前記複数の領域に対応し、前記第１サイズが設定され、
前記複数の領域のうち少なくとも２つの領域に対応する前記第１サイズは異なることを特徴とする遊技機用記憶装置。
【請求項８】
前記制御部は、前記不揮発性メモリから読み出された画像データが前記第１サイズ未満のとき前記読み出された画像データが前記第１サイズ以上のときより優先的に前記読み出された画像データを前記キャッシュメモリに登録することを特徴とする請求項１から７のいずれか一項記載の遊技機用記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機用記憶装置に関し、例えば遊技機用データを記憶する不揮発性メモリを備える遊技機用記憶装置に関する。
【背景技術】
【０００２】
パチンコやパチスロ等の遊技機には、遊技機用データを記憶する不揮発性メモリが用いられている。例えば特許文献１には、遊技機のキャラクタデータをＮＡＮＤ型の不揮発性メモリに記憶することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３７０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
遊技機では、特定の遊技機用データにアクセスが集中することがある。アクセスが集中するデータがキャッシュメモリに格納されていないと、不揮発性メモリの特定のアドレスのリード回数が多くなり、不揮発性メモリのリード制限回数を超過してしまうことがある。また、サイズの小さなデータがサイズの大きなデータに置き換わると、アクセス時間が遅くなる。このように、遊技機用記憶装置において、キャッシュメモリを適切に制御することが求められている。
【０００５】
本遊戯機用記憶装置は、遊技機用データを格納するキャッシュメモリを適切に制御することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、遊技機用データを記憶する不揮発性メモリと、前記遊技機用データを格納するキャッシュメモリと、遊技機のホスト装置からのコマンドに基づき前記不揮発性メモリまたは前記キャッシュメモリに記憶された遊技機用データを読み出し、読み出された遊技機用データを前記ホスト装置に転送し、前記不揮発性メモリから読み出された遊技機用データが第１サイズ未満のとき前記読み出された遊技機用データが前記第１サイズ以上のときより優先的に前記読み出された遊技機用データを前記キャッシュメモリに登録する制御部と、を具備し、前記遊技機用データは、前記遊技機の表示装置に表示する画像の画像データと、前記遊技機の音声出力装置から出力される音声のデータである音声データと、の少なくとも一方を含み、前記不揮発性メモリは、複数の領域を含み、前記複数の領域に対応し、前記第１サイズが設定され、前記複数の領域のうち少なくとも２つの領域に対応する前記第１サイズは異なることを特徴とする遊技機用記憶装置である。
【０００７】
上記構成において、前記制御部は、前記読み出された遊技機用データが前記第１サイズ以上のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録せず、前記読み出された遊技機用データが前記第１サイズ未満のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録する構成とすることができる。
【０００８】
上記構成において、前記制御部は、前記キャッシュメモリに登録される前記第１サイズ以上の遊技機用データの個数を所定個数以下に制限する構成とすることができる。
【０００９】
上記構成において、前記制御部は、前記読み出された遊技機用データが前記第１サイズ以上でありかつ前記キャッシュメモリに登録されている前記第１サイズ以上の遊技機用データの個数が前記所定個数のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録されている前記第１サイズ以上の遊技機用データの少なくとも１つと置換する構成とすることができる。
【００１０】
上記構成において、前記制御部は、前記キャッシュメモリに登録される前記第１サイズ未満かつ前記第１サイズより小さい第２サイズ以上の遊技機用データの個数を所定個数以下に制限する構成とすることができる。
【００１１】
上記構成において、前記制御部は、前記読み出された遊技機用データが前記第１サイズ未満かつ前記第２サイズ以上でありかつ前記キャッシュメモリに登録されている前記第１サイズ未満かつ前記第２サイズ以上の遊技機用データの個数が前記所定個数のとき、前記読み出された遊技機用データを前記キャッシュメモリに登録されている前記第１サイズ未満かつ前記第２サイズ以上の遊技機用データの少なくとも１つと置換する構成とすることができる。
【００１２】
本発明は、遊技機用データを記憶する不揮発性メモリと、前記遊技機用データを格納するキャッシュメモリと、前記不揮発性メモリに記憶された遊技機用データを読み出し、読み出された遊技機用データが第１サイズ未満のとき前記読み出された遊技機用データが前記第１サイズ以上のときより優先的に前記読み出された遊技機用データを前記キャッシュメモリに登録する制御部と、を具備し、前記不揮発性メモリは、複数の領域を含み、前記複数の領域に対応し、前記第１サイズが設定され、前記複数の領域のうち少なくとも２つの領域に対応する前記第１サイズは異なることを特徴とする遊技機用記憶装置である。
【００１３】
上記構成において前記制御部は、前記不揮発性メモリから読み出された画像データが前記第１サイズ未満のとき前記読み出された画像データが前記第１サイズ以上のときより優先的に前記読み出された画像データを前記キャッシュメモリに登録する構成とすることができる。
【発明の効果】
【００１４】
本遊戯機用記憶装置によれば、遊技機用データを格納するキャッシュメモリを適切に制御することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る遊技機用記憶装置が用いられる遊技機を示すブロック図である。
【図２】図２は、実施例１に係る記憶装置を示すブロック図である。
【図３】図３（ａ）から図３（ｃ）は、比較例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。
【図４】図４（ａ）および図４（ｂ）は、データのサイズと転送時間との関係を説明する図である。
【図５】図５は、実施例１におけるキャッシュ制御部の制御を示すフローチャートである。
【図６】図６（ａ）から図６（ｃ）は、実施例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。
【図７】図７は、実施例１の変形例１におけるキャッシュ制御部の制御を示すフローチャートである。
【図８】図８（ａ）から図８（ｃ）は、実施例１の変形例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。
【図９】図９（ａ）は、実施例１の変形例２における不揮発性メモリを示す模式図、図９（ｂ）は各領域における閾値Ｓ１、Ｓ２およびＮを示す図である。
【図１０】図１０は、実施例１の変形例２におけるキャッシュ制御部の制御を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照し本発明の実施例について説明する。
【実施例１】
【００１７】
図１は、実施例１に係る遊技機用記憶装置が用いられる遊技機を示すブロック図である。図１に示すように、遊技機１００は、記憶装置１０、周辺制御部１１、メイン制御部１２、払い出し制御部１３、音声出力装置１４、ランプ１５、表示装置１６、入賞センサ１７およびハンドル１８を備える。記憶装置１０は遊技機用データを記憶する。周辺制御部１１は記憶装置１０、音声出力装置１４、ランプ１５および表示装置１６等の周辺機器を制御する。メイン制御部１２は、記憶装置１０に記憶されたプログラムデータの一部を周辺制御部１１を介し取得する。メイン制御部１２は、入賞センサ１７およびハンドル１８からの信号に基づき、周辺制御部１１および払い出し制御部１３を制御する。例えば遊技機１００がパチスロ装置の場合、メイン制御部１２は抽選結果を図柄の停止位置で表示するリールを制御する。払い出し制御部１３は、メイン制御部１２の指示に基づき払い出しを制御する。例えば遊技機１００がパチスロ装置の場合、払い出し制御部１３はメイン制御部１２の指示に基づきホッパーにコインの払い出しを行なわせる。入賞センサ１７は入賞を検知する。メイン制御部１２は入賞センサ１７から入賞検知の情報を取得すると、払い出し制御部１３に払い出しを指示する。ハンドル１８はユーザのハンドル操作の信号を出力する。メイン制御部１２は、ハンドル１８からの信号に基づき、周辺制御部１１に音声出力装置１４、ランプ１５および表示装置１６を操作させる。
【００１８】
音声出力装置１４は例えばスピーカであり、記憶装置１０に記憶された音声データに基づき音声を出力する。ランプ１５は例えばＬＥＤ（Light Emitting Diode）であり、記憶装置１０に記憶された点灯データに基づき点灯する。表示装置１６は例えば液晶表示装置であり、記憶装置１０に記憶された画像データに基づき画像を表示する。周辺制御部１１は、記憶装置１０に記憶されたプログラムデータに基づき記憶装置１０から画像データ、点灯データおよび音声データを読み出す。
【００１９】
図２は、実施例１に係る記憶装置を示すブロック図である。図２に示すように、記憶装置１０は、キャッシュメモリ２０、不揮発性メモリ２１，ＲＡＭ（Random Access Memory）制御部２２、ＲＯＭ（Read Only Memory）制御部２３、キャッシュ制御部２４、プロセッサ２５およびＩ／Ｆ（インターフェース）制御部２６を備える。記憶装置１０はホスト装置２８と接続されている。ホスト装置２８は、例えば図１の周辺制御部１１である。キャッシュメモリ２０は、例えばＳＲＡＭ（Static ＲＡＭ）であり、不揮発性メモリ２１に記憶された遊技機用データのうち、アクセス頻度の高いデータを格納する。不揮発性メモリ２１は、例えばＮＡＮＤ型フラッシュメモリ等のＲＯＭであり、遊技機用データを記憶する。
【００２０】
ＲＡＭ制御部２２は、キャッシュメモリ２０にデータの格納および読み出しを行なう。ＲＯＭ制御部２３は、不揮発性メモリ２１にデータの記憶および読み出しを行なう。Ｉ／Ｆ制御部２６は、ホスト装置２８から出力されたコマンドをプロセッサ２５またはキャッシュ制御部２４に出力する。Ｉ／Ｆ制御部２６は、キャッシュ制御部２４から出力されたデータをホスト装置２８に出力する。プロセッサ２５は、ホスト装置２８からのコマンドに基づきキャッシュ制御部２４にコマンドを出力する。キャッシュ制御部２４は、プロセッサ２５が出力したコマンドまたはＩ／Ｆ制御部２６が出力したコマンドを受信する。キャッシュ制御部２４は、ＲＯＭ制御部２３を用い不揮発性メモリ２１からデータの読み出し、ＲＡＭ制御部２２を用いキャッシュメモリ２０にデータの格納および読み出しを行なう。
【００２１】
まず、比較例の課題について説明する。図３（ａ）から図３（ｃ）は、比較例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。図３（ａ）に示すように、不揮発性メモリ２１内に大きなサイズのコンテンツのデータ３０、小さいサイズのコンテンツのデータ３２が記憶されている。不揮発性メモリ２１は様々なサイズのデータが記憶されているが、簡略化して大きなサイズのデータ３０と小さなサイズのデータ３２を用い説明する。データ３０および３２は、例えば画像データ、音声データ、点灯データおよびプログラムデータである。画像データは、表示装置１６に表示される画像のデータである。画像データは、例えば表示する画像内の部品ごとに記憶されている。音声データは、音声出力装置１４から出力される音声のデータである。点灯データは、ランプ１５を点灯させるためのデータである。プログラムデータは、メイン制御部１２および周辺制御部１１において実行されるＯＳ（Operating System）またはアプリケーションのプログラムの一部である。すなわち、プログラムデータは、ホスト装置２８を制御するためのデータである。
【００２２】
遊技機用データでは、データ３０および３２のように、同じデータ種別内にサイズの異なるデータが混在する。例えば、画像データでは、背景の画像データのサイズが大きい。背景の画像データはアクセス頻度が低い。特に、背景の画像データが動画の場合、画像データは、データサイズが大きく、かつアクセス頻度が低い。一方、背景の上に表示されている小さな画像パーツの動画用の画像データのサイズは小さい。画像パーツは、フレームごと（例えば１／６０秒ごと）にアクセスされる場合が多い。このため、画像パーツはアスセス頻度が高い。音声データでは、背景に再生する音声データはサイズが大きくかつアクセス頻度が低い、効果音の音声データはサイズが小さくかつアクセス頻度が高い。このように、サイズの大きいデータ３０はアクセス頻度が低く、サイズの小さいデータ３２はアクセス頻度が高い。
【００２３】
キャッシュ制御部２４はキャッシュ制御を行なう。ＬＦＵ（Least Frequently Used）制御では、キャッシュメモリ２０内にはアクセス頻度の高いデータが格納され、アクセス頻度の低いデータと置き換わる。ＬＲＵ（Least Recently Used）制御では、最も長くアクセスされていないデータが新しいデータに置き換わる。データ３２が頻繁にアクセスされているとき、キャッシュメモリ２０に格納されている遊技機用データは、ほとんど小さなサイズのデータ３２である。例えばデータ３２として、”１”から”８”の８個のデータがキャッシュメモリ２０に格納されている。
【００２４】
図３（ｂ）に示すように、大きなサイズのデータ３０として“１０”がアクセスされると、キャッシュ制御部２４は不揮発性メモリ２１から”１０”のデータ３０を読み出し、矢印５０のようにデータ３０をホスト装置２８に転送する。同時に、キャッシュ制御部２４は、キャッシュメモリ２０内のデータ３２を読み出した”１０”のデータ３０と置き換える。このとき、データ３０のサイズが大きいため、１つのデータ３０が多くのデータ３２と置き換わる。例えば、データ３０のサイズがデータ３２のほぼ４倍とする。このとき、キャッシュ制御部２４は、矢印５４のように”１“から“４”の４個のデータ３２をキャッシュメモリ２０から消去し、矢印５２のように“１０”のデータ３０をキャッシュメモリ２０に格納する。
【００２５】
その後、ホスト装置２８がデータ３０である“１０”にアクセスするとき、キャッシュ制御部２４は、キャッシュメモリ２０内の”１０”のデータ３０を読み出し、矢印５６のようにホスト装置２８に転送する。ホスト装置２８が”１”から”４”のいずれかのデータ３２にアクセスするとき、キャッシュ制御部２４は、不揮発性メモリ２１内の”１“から”４”のいずれかのデータ３２を読み出し、矢印５８のようにホスト装置２８に転送する。キャッシュ制御部２４は、キャッシュ登録を行なう。
【００２６】
図３（ｃ）に示すように、図３（ｂ）の状態で、大きなサイズのデータ３０として”１１”がアクセスされると、キャッシュ制御部２４は不揮発性メモリ２１から”１１”のデータ３０を読み出し、矢印５０のように”１１”のデータ３０をホスト装置２８に転送する。同時に、矢印５２および５４のように、キャッシュ制御部２４は、キャッシュメモリ２０内の”５”から”８”の４個のデータ３２を読み出した”１１”のデータ３０と置き換える。
【００２７】
その後、ホスト装置２８がデータ３０である“１１”にアクセスするとき、キャッシュ制御部２４は、キャッシュメモリ２０内の”１１”のデータ３０を読み出し、矢印５６のようにホスト装置２８に転送する。ホスト装置２８が”５”から”８”のいずれかのデータ３２にアクセスするとき、キャッシュ制御部２４は、不揮発性メモリ２１内の”５“から”８”のいずれかのデータ３２を読み出し、矢印５６のようにホスト装置２８に転送する。キャッシュ制御部２４は、キャッシュ制御を行なう。
【００２８】
図３（ｂ）の後に”１”から”４”のデータ３２、図３（ｃ）の後に”１”から”８”のデータ３２にアクセスする場合、データ３２を不揮発性メモリ２１にアクセスすることになる。このように、アクセス頻度の高いデータ３２を頻繁に不揮発性メモリ２１にアクセスすることにより、不揮発性メモリ２１のリード制限回数を短時間で超過することがある。不揮発性メモリ２１のリード制限回数を超過すると、例えばフラッシュメモリにおいて生じるリードディスターブ（電気ストレスにより保持データが変化する現象）のような問題が生じる。
【００２９】
また、キャッシュメモリ２０内において、複数の小さなサイズのデータ３２が１個の大きなサイズのデータ３０置き換わると、データの転送が遅くなる。以下に説明する。
【００３０】
図４（ａ）および図４（ｂ）は、データのサイズと転送時間との関係を説明する図である。横軸は時間である。図４（ａ）は、小さいサイズのデータ３２と大きいサイズのデータ３０を不揮発性メモリ２１から読み出す場合を比較している。ＮＡＮＤフラッシュメモリ等の不揮発性メモリ２１にアクセスするときは、レイテンシ３５に要する時間が長い。例えば時間ｔ０にホスト装置２８が記憶装置１０にリードコマンドを送信する。記憶装置１０からホスト装置２８へのデータ転送が始まる時間はｔ１である。時間ｔ１以降のデータ転送時間は、データ３０および３２のサイズにほぼ比例する。例えばデータ３２では時間ｔ２にホスト装置２８へのデータ転送が終了する。データ３０では時間ｔ３にデータ転送が終了する。
【００３１】
図４（ｂ）は、４個のサイズの小さいデータ３２と１個のサイズの大きさデータ３２を転送する場合を示している。データ３２のサイズがデータ３０の４倍とすると、４個のデータ３２と１個のデータ３０を転送する時間は同じである。キャッシュメモリ２０にアクセスするときにはレイテンシに要する時間は非常に短く、ほぼ無視できるとする。データ３０がキャッシュメモリ２０に格納され、データ３２が不揮発性メモリ２１に記憶されている場合、４個のデータ３２を転送する前にそれぞれレイテンシ３５の時間を要する。データ３２がキャッシュメモリ２０に格納され、データ３０が不揮発性メモリ２１に記憶されている場合、レイテンシ３５の時間はデータ３０の転送の前の１回である。１個のデータ３０が４個のデータ３２に置き換わると、同じデータのサイズである４個のデータ３２と１個のデータ３０の転送時間は、３回のレイテンシに相当する時間Ｔ０遅くなる。このように、大きなサイズのデータ３０がキャッシュメモリ２０に格納され、複数の小さなサイズのデータ３２に置換されると、データの転送が遅くなってしまう。
【００３２】
実施例１では、上記のように、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまう課題を解決する。
【００３３】
以下、実施例１に係る記憶装置の動作を説明する。図５は、実施例におけるキャッシュ制御部の制御を示すフローチャートである。図５に示すように、キャッシュ制御部２４は、不揮発性メモリ２１内のデータを読み出すリードコマンドを受け付ける（ステップＳ１０）。例えば、プロセッサ２５がＩ／Ｆ制御部２６からホスト装置２８が出力したリードコマンドを受け付けると、プロセッサ２５はキャッシュ制御部２４に不揮発性メモリ２１内のデータを読み出させるコマンドを出力する。
【００３４】
キャッシュ制御部２４は、読み出すデータがキャッシュメモリ２０に登録済みかを判断する（ステップＳ１２）。Ｙｅｓの場合、キャッシュ制御部２４はキャッシュメモリ２０内のデータをホスト装置に転送する（ステップＳ１４）。例えば、キャッシュ制御部２４はＲＡＭ制御部２２にデータをキャッシュメモリ２０内から読み出させ、読み出したデータをＩ／Ｆ制御部２６を介しホスト装置２８に転送する。その後終了する。
【００３５】
ステップＳ１２においてＮｏの場合、キャッシュ制御部２４は不揮発性メモリ２１からデータを読み出す（ステップＳ１６）。キャッシュ制御部２４は読み出したデータをホスト装置２８に転送する（ステップＳ１８）。キャッシュ制御部２４は、読み出したデータのサイズが閾値Ｓ１以上かを判定する（ステップＳ２０）。Ｙｅｓのとき、キャッシュ制御部２４はキャッシュ登録せずに終了する。Ｎｏのとき、キャッシュ制御部２４は読み出したデータをキャッシュメモリ２０に登録する（ステップＳ２２）。例えば、キャッシュ制御部２４は読み出したデータと置換するキャッシュメモリ２０内のデータを選択する。キャッシュ制御部２４はＲＡＭ制御部２２に選択したデータをキャッシュメモリ２０から消去させる。キャッシュ制御部２４はＲＡＭ制御部２２にキャッシュメモリ２０に読み出したデータを格納させる。キャッシュ制御部２４の制御は例えばＬＦＵ制御またはＬＲＵ制御を用いる。ステップＳ１８とＳ２０およびＳ２２との順番は逆でもよく、ステップＳ１８とＳ２０およびＳ２２とは同時に実行してもよい。その後終了する。
【００３６】
図６（ａ）から図６（ｃ）は、実施例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。図６（ａ）に示すように、不揮発性メモリ２１内に大きなサイズのコンテンツのデータ３０、小さいサイズのコンテンツのデータ３２が記憶されている。データ３０から３２は、例えば画像データ、音声データ、点灯データおよびプログラムデータである。キャッシュメモリ２０にはデータ３２が格納されている。
【００３７】
図６（ｂ）に示すように、ホスト装置２８が大きいサイズのデータ３０を読み出すとき、図５のステップＳ１２において、データ３０はキャッシュメモリ２０に登録されていないためキャッシュ制御部２４はＮｏと判定する。ステップＳ１６およびＳ１８において、キャッシュ制御部２４は不揮発性メモリ２１内のデータ３０を読み出し、矢印５０のようにホスト装置２８に転送する。ステップＳ２０において、キャッシュ制御部２４は、データ３０のサイズは閾値Ｓ１以上と判定する。よって、データ３０はキャッシュメモリ２０に格納されずに終了する。その後、ホスト装置２８が”１”から”８”のいずれかのデータ３２にアクセスするとき、データ３２はキャッシュメモリ２０に登録されている。よって、ステップＳ１２において、キャッシュ制御部２４はＹｅｓと判定する。ステップＳ１４のように、キャッシュ制御部２４は、キャッシュメモリ２０内の”１“から”８”のいずれかのデータ３２を読み出し、矢印５６のようにホスト装置２８に転送する。
【００３８】
図６（ｃ）のように、次にホスト装置２８がキャッシュメモリ２０に格納されていないデータ３２として“９”を読み出すとき、図５のステップＳ１２においてキャッシュ制御部２４はＮｏと判定する。ステップＳ１６およびＳ１８において、キャッシュ制御部２４は不揮発性メモリ２１内の”９”のデータ３２を読み出し、矢印５８のようにホスト装置２８に転送する。ステップＳ２０において、キャッシュ制御部２４は、データ３２のサイズを閾値Ｓ１未満と判定する。ステップＳ２２において、キャッシュ制御部２４はキャッシュ登録を行なう。例えば、キャッシュ制御部２４は矢印５４のように”１“のデータ３２をキャッシュメモリ２０から消去し、矢印６０のように“９”のデータ３２をキャッシュメモリ２０に格納する。
【００３９】
以上のように、実施例１では、大きなサイズのデータ３０がキャッシュメモリ２０に登録されないため、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまうことを抑制できる。
【００４０】
［実施例１の変形例１］
図７は、実施例１の変形例１におけるキャッシュ制御部の制御を示すフローチャートである。図７に示すように、ステップＳ１８の後、キャッシュ制御部２４は、読み出したデータのサイズが閾値Ｓ２以上かを判定する（ステップＳ２４）。Ｎｏのとき、キャッシュ制御部２４は読み出したデータをキャッシュメモリ２０に登録する（ステップＳ２２）。
【００４１】
Ｙｅｓのとき、キャッシュ制御部２４は、キャッシュメモリ２０に登録するサイズが閾値Ｓ２以上のデータの個数を閾値Ｎに制限し、読み出したデータをキャッシュ登録する（ステップＳ２６）。例えば、キャッシュ制御部２４は、キャッシュメモリ２０に格納されたサイズが閾値Ｓ２以上のデータの個数が閾値Ｎ未満のとき、読み出されたデータのサイズに関係なくＬＦＵ制御またはＬＲＵ制御等のキャッシュ制御を行なう。キャッシュメモリ２０に格納されたサイズが閾値Ｓ２以上のデータの個数が閾値Ｎのとき、キャッシュ制御部２４は、サイズが閾値Ｓ２以上のデータ内でＬＦＵ制御またはＬＲＵ制御等のキャッシュ制御を行なう。例えば、キャッシュ制御部２４は読み出したサイズが閾値Ｓ２以上のデータと置換するキャッシュメモリ２０内のサイズが閾値Ｓ２以上のデータを選択する。キャッシュ制御部２４はＲＡＭ制御部２２に選択したデータをキャッシュメモリ２０から消去させる。キャッシュ制御部２４はＲＡＭ制御部２２にキャッシュメモリ２０に読み出したデータを格納させる。ステップＳ１８とＳ２２からＳ２６との順番は逆でもよく、ステップＳ１８とＳ２２からＳ２６とは同時に実行してもよい。その後終了する。その他のフローは実施例１と同じであり説明を省略する。
【００４２】
図８（ａ）から図８（ｃ）は、実施例１の変形例１における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。図８（ａ）は図６（ａ）と同じである。
【００４３】
図８（ｂ）に示すように、ホスト装置２８が大きいサイズのデータ３０を読み出すとき、図５のステップＳ１２において、データ３０はキャッシュメモリ２０に登録されていないためキャッシュ制御部２４はＮｏと判定する。ステップＳ１６およびＳ１８において、キャッシュ制御部２４は不揮発性メモリ２１内のデータ３０を読み出し、矢印５０のようにホスト装置２８に転送する。ステップＳ２０において、キャッシュ制御部２４は、データ３２のサイズを閾値Ｓ２以上と判定する。キャッシュメモリ２０内に大きいサイズのデータ３０は格納されていない。そこで、ステップＳ２６において、キャッシュ制御部２４は、キャッシュ登録されているデータ３０が閾値Ｎ未満と判定する。ステップＳ２２において、キャッシュ制御部２４はキャッシュ登録を行なう。例えば、キャッシュ制御部２４は矢印５４のように”１”から“４”のデータ３２をキャッシュメモリ２０から消去し、矢印５２のように“１０”のデータ３０をキャッシュメモリ２０に格納する。
【００４４】
図８（ｃ）に示すように、次に、ホスト装置２８が大きいサイズのデータ３０を読み出すとき、ステップＳ１８のように、キャッシュ制御部２４は、読み出した”１１”のデータ３０を矢印５０のようにホスト装置２８に転送する。ステップＳ２０において、キャッシュ制御部２４は、データ３２のサイズを閾値Ｓ２以上と判定する。キャッシュメモリ２０内に大きいサイズのデータ３０は閾値Ｎ個格納されている。そこで、ステップＳ２６において、キャッシュ制御部２４は、大きいサイズのデータ３０のうち１つを選択する。矢印５４のように選択した”１０”のデータ３０をキャッシュメモリ２０から消去し、矢印５２のように”１１”のデータ３０をキャッシュメモリ２０に格納する。
【００４５】
実施例１の変形例１では、大きなサイズのデータ３０のうちＮ個より多くはキャッシュメモリ２０に登録されない。このため、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまうことを抑制できる。さらに、頻繁にアクセスされる大きなサイズのデータ３０はキャッシュメモリ２０に登録されているため、実施例１に比べ、頻繁にアクセスされる大きなデータ３０を高速に読み出すことができる。
【００４６】
［実施例１の変形例２］
図９（ａ）は、実施例１の変形例２における不揮発性メモリを示す模式図、図９（ｂ）は各領域における閾値Ｓ１、Ｓ２およびＮを示す図である。図９（ａ）に示すように、不揮発性メモリ２１内は複数の領域ＡからＣに分かれている。領域ＡからＣは例えばデータの種別により分かれている。例えば領域Ａは画像データ、領域Ｂは音声データ、領域Ｃはプログラムデータを記憶する。領域ＡからＣはその他の種別により分かれていてもよい。
【００４７】
図９（ｂ）に示すように、領域ＡからＣにより、閾値Ｓ１、Ｓ２およびＮが異なるように設定する。領域ＡからＣのＳ１は、それぞれ１２８ＫＢ、３２ＫＢおよび３２ＫＢである。領域ＡからＣのＳ２は、それぞれ６４ＫＢ、１６ＫＢおよび１６ＫＢである。領域ＡからＣのＮは、それぞれ４、１６および３２である。
【００４８】
図１０は、実施例１の変形例２におけるキャッシュ制御部の制御を示すフローチャートである。図１０に示すように、ステップＳ１８の後、キャッシュ制御部２４は、読み出したデータの領域を選択する（ステップＳ２８）。キャッシュ制御部２４は、読み出したデータのサイズが閾値Ｓ１以上か判定する（ステップＳ２０）。Ｙｅｓのとき終了する。Ｎｏのとき、実施例１の変形例１の図８のステップＳ２２からＳ２６と同じ動作を行なう。ステップＳ１８とＳ２０から２６との順番は逆でもよく、ステップＳ１８とＳ２０からＳ２６とは同時に実行してもよい。その後終了する。その他の制御は実施例１および実施例１の変形例１と同じであり説明を省略する。
【００４９】
実施例１の変形例２では、サイズが閾値Ｓ１以上のデータがキャッシュメモリ２０に格納されると、小さいサイズのデータが多く置換されてしまう。そこで、閾値Ｓ１以上のデータはキャッシュメモリ２０に格納しない。サイズが閾値Ｓ１未満かつＳ２以上のデータは、サイズが閾値Ｓ１以上のデータに比べアクセス頻度の高いデータが含まれる。そこで、キャッシュメモリ２０に格納される個数を制限し、キャッシュメモリ２０にデータを格納する。これにより、アクセス頻度の高いデータを高速に読み出すことができる。
【００５０】
さらに、領域ＡからＣごとに閾値Ｓ１、Ｓ２およびＮを設定できる。遊技機用データは、例えば画像データ、音声データ、点灯データおよびプログラムデータ等のデータ種別により、データとサイズとアクセス頻度の関係が異なる。そこで、データの種別ごとに、閾値Ｓ１、Ｓ２およびＮを設定する。これにより、データの種別より適切にキャッシュ制御を行うことができる。
【００５１】
例えば、画像データは１６Ｋバイト以下のデータのアクセス頻度が高く、音声データは４Ｋバイト以下のデータのアクセス頻度が高い場合を考える。この場合、キャッシュ制御部２４は、画像データに対しては１６Ｋバイト以下のデータを優先的にキャッシュメモリ２０に格納し、音声データは４Ｋバイト以下のデータを優先的にキャッシュメモリ２０に格納することができる。このように、データの種別ごとにサイズの異なる閾値を設け、データサイズが閾値以下の場合、キャッシュメモリ２０にデータを格納することもできる。
【００５２】
また、別の例として、領域ＡからＣは、遊技機のシーンごとに設定してもよい。シーンとは、例えば、背景と背景の上に表示されている小さな画像パーツとのセットであり、シーンが異なれば、データのサイズとアクセス頻度の関係が異なる。そこで、シーンごとに、閾値Ｓ１、Ｓ２およびＮを設定する。これにより、シーンにより適切にキャッシュ制御を行うことができる。領域ＡからＣに含まれるデータは画像データのみでもよいし、領域ＡからＣ内に画像データ、音声データおよび点灯データ等が混在していてもよい。
【００５３】
実施例１およびその変形例によれば、図５、図７および図１０のステップＳ１６のように、キャッシュ制御部２４（制御部）は、不揮発性メモリ２１に記憶された遊技機用データを読み出す。ステップＳ２０からＳ２６のように、読み出したデータのサイズが閾値Ｓ１またはＳ２（第１サイズ）未満のときデータのサイズが閾値Ｓ１またはＳ２以上のときより優先的にデータをキャッシュメモリ２０に登録する。これにより、キャッシュメモリ２０には、比較的サイズの小さなデータが登録される。よって、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまうことを抑制できる。
【００５４】
また、実施例１の図５におけるステップＳ２０およびＳ２２のように、キャッシュ制御部２４は、読み出されたサイズが閾値Ｓ１（第１サイズ）以上のとき、データをキャッシュメモリ２０に登録しない。キャッシュ制御部２４は、読み出されたデータのサイズが閾値Ｓ１未満のとき、データをキャッシュメモリ２０に登録する。これにより、閾値Ｓ１以上のデータはキャッシュメモリ２０に登録されない。よって、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまうことを抑制できる。
【００５５】
さらに、実施例１の変形例１の図７におけるステップＳ２２、Ｓ２４およびＳ２６のように、キャッシュ制御部２４は、キャッシュメモリ２０に登録するサイズが閾値Ｓ２（第１サイズ）以上のデータの個数を閾値Ｎ（所定個数）以下に制限する。これにより、大きなサイズのデータがＮ個より多くキャッシュメモリ２０に登録されないため、不揮発性メモリ２１のリード制限回数を短時間で超過すること、および／またはデータ転送が遅くなってしまうことを抑制できる。
【００５６】
さらに、実施例１の変形例１のように、キャッシュ制御部２４は、読み出されたデータのサイズが閾値Ｓ２以上でありかつキャッシュメモリ２０に登録されているサイズが閾値Ｓ２以上のデータの個数が閾値Ｎ個のとき、読み出されたデータをキャッシュメモリ２０に登録されているサイズが閾値Ｓ２以上のデータの少なくとも１つと置換し、サイズが閾値Ｓ２未満のデータと置換しない。これにより、キャッシュメモリ２０に格納されるサイズが閾値Ｓ２以上のデータの個数を閾値Ｎに制限できる。これにより、大きなサイズのデータのうち、アクセス頻度の高いデータをキャッシュメモリ２０に格納できる。このため、データ転送速度を向上できる。
【００５７】
実施例１のキャッシュ制御は、大きなサイズのデータのアクセス頻度が低い場合有利である。一方、実施例１の変形例１のキャッシュ制御は、大きなサイズのデータの中にアクセス頻度の高いデータがある場合、有利である。閾値Ｓ１、Ｓ２およびＮは、データのサイズとアクセス頻度の相関に基づき設定できる。例えば、閾値Ｓ１およびＳ２は、データのサイズが大きくなるにしたがい、アクセス頻度が急激に減少する前後のサイズとする。例えば、大きなサイズのデータにおいてアクセス頻度が高いデータが多い場合は閾値Ｎを大きくし、少ない場合は閾値Ｎを小さくする。なお、閾値Ｎは１以上である。
【００５８】
さらに、実施例１の変形例２の図１０におけるステップＳ２０からＳ２６のように、キャッシュ制御部２４は、読み出したデータのサイズが閾値Ｓ１以上のとき、読み出したデータをキャッシュ登録しない。かつ、キャッシュ制御部２４は、キャッシュメモリ２０に登録するサイズが閾値Ｓ１未満かつ閾値Ｓ２（第２サイズ）以上の遊技機用データの個数を閾値Ｎ個以下に制限する。これにより、サイズが閾値Ｓ１以上であり、かつアクセス頻度の最も低いデータは、キャッシュメモリ２０に登録されない。サイズがＳ１未満かつＳ２以上のデータには、アクセス頻度の高いデータが含まれることがある。このようなサイズが中程度でアクセス頻度の高いデータをキャッシュメモリ２０に格納できる。このため、データ転送速度を向上できる。
【００５９】
さらに、キャッシュ制御部２４は、読み出されたデータのサイズが閾値Ｓ１未満かつ閾値Ｓ２以上でありかつキャッシュメモリ２０に登録されているサイズが閾値Ｓ１未満かつ閾値Ｓ２以上のデータの個数が閾値Ｎのとき、読み出されたデータをキャッシュメモリ２０に登録されているサイズが閾値Ｓ１未満かつ閾値Ｓ２以上のデータの少なくとも１つと置換し、閾値Ｓ２未満のデータと置換しない。これにより、キャッシュメモリ２０に格納されるサイズが閾値Ｓ１未満かつ閾値Ｓ２以上のデータ３０の個数を閾値Ｎに制限できる。これにより、中程度のサイズのデータのうち、アクセス頻度の高いデータをキャッシュメモリ２０に格納できる。このため、データ転送速度を向上できる。
【００６０】
また、図９（ａ）および図９（ｂ）のように、不揮発性メモリ２１は、複数の領域ＡからＣを含み、複数の領域ＡからＣに対応し、閾値Ｓ１またはＳ２が設定されている。このように、複数の領域ＡからＣのうち少なくとも２つの領域ＡおよびＢに対応するＳ１またはＳ２は異なる。これにより、領域ＡからＣごとに適切にキャッシュ制御を行なうことができる。
【００６１】
実施例１の変形例２では、領域ＡからＣのうち少なくとも２つ領域において閾値Ｓ１、Ｓ２およびＮの少なくとも１つが異なる例を説明した。実施例１において、複数の領域のうち少なくとも２つの領域において閾値Ｓ１が異なっていてもよい。実施例１の変形例１において、複数の領域のうち少なくとも２つの領域において閾値Ｓ２およびＮの少なくとも１つが異なっていてもよい。
【００６２】
実施例１およびその変形例においては、不揮発性メモリ２１の例としてフラシュメモリを例に説明したが不揮発性メモリ２１はフラッシュメモリ以外のメモリでもよい。不揮発性メモリ２１がフラッシュメモリの場合、同じデータが高頻度にアクセスすることにより生じるリードディスターブを抑制できる。データの種別として画像データ、音声データおよびプログラムデータを例に説明したが、データの種別はこれらに限られない。
【００６３】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６４】
１０        記憶装置
２０        キャッシュメモリ
２１        不揮発性メモリ
３０        大きなサイズのデータ
３２        小さなサイズのデータ
【図１】
0006757128.tif 000002
【図２】
0006757128.tif 000003
【図３】
0006757128.tif 000004
【図４】
0006757128.tif 000005
【図５】
0006757128.tif 000006
【図６】
0006757128.tif 000007
【図７】
0006757128.tif 000008
【図８】
0006757128.tif 000009
【図９】
0006757128.tif 000010
【図１０】
0006757128.tif 000011