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