JP6757127B2 - 遊技機用記憶装置 - Google Patents

遊技機用記憶装置 Download PDF

Info

Publication number
JP6757127B2
JP6757127B2 JP2015188886A JP2015188886A JP6757127B2 JP 6757127 B2 JP6757127 B2 JP 6757127B2 JP 2015188886 A JP2015188886 A JP 2015188886A JP 2015188886 A JP2015188886 A JP 2015188886A JP 6757127 B2 JP6757127 B2 JP 6757127B2
Authority
JP
Japan
Prior art keywords
data
control unit
game machine
cache
volatile memory
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.)
Active
Application number
JP2015188886A
Other languages
English (en)
Other versions
JP2017060673A (ja
Inventor
晋太郎 河野
晋太郎 河野
嘉樹 奥村
嘉樹 奥村
Original Assignee
富士通デバイス株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 富士通デバイス株式会社 filed Critical 富士通デバイス株式会社
Priority to JP2015188886A priority Critical patent/JP6757127B2/ja
Publication of JP2017060673A publication Critical patent/JP2017060673A/ja
Application granted granted Critical
Publication of JP6757127B2 publication Critical patent/JP6757127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Slot Machines And Peripheral Devices (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、遊技機用記憶装置に関し、例えば遊技機用データを記憶する不揮発性メモリを備える遊技機用記憶装置に関する。
パチンコやパチスロ等の遊技機には、遊技機用データを記憶する不揮発性メモリが用いられている。例えば特許文献1には、遊技機のキャラクタデータをNAND型の不揮発性メモリに記憶することが記載されている。
特開2010−137019号公報
遊技機には、例えば画像データ、音声データおよびプログラムデータ等の複数の種別のデータが用いられる。例えば画像データはアクセスが集中する時期がある。このため、アクセスが集中する時期にプログラムデータがキャッシュメモリの登録から外れてしまうことがある。このように、遊技機用データはデータ種別ごとにアクセス頻度およびアクセスが集中する時期が異なる。このような遊技機用データをキャッシュメモリに格納する場合、重要なデータがキャッシュに登録されていないことが生じてしまう。また、不揮発性メモリ内の同じデータが高頻度にアクセスされることが生じる。同じデータが高頻度にアクセスされると、例えばフラッシュメモリのリードディスターブのような問題が生じる場合がある。
本遊戯機用記憶装置は、遊技機用データを格納するキャッシュメモリを適切に制御することを目的とする。
本発明は、遊技機用データを記憶する不揮発性メモリと、前記遊技機用データの種別に応じた複数の領域を有するキャッシュメモリと、遊技機のホスト装置からのコマンドに基づき前記不揮発性メモリまたは前記キャッシュメモリに記憶された遊技機用データを読み出し、読み出された遊技機用データを前記ホスト装置に転送し、前記不揮発性メモリ内の前記遊技機用データを読み出すときに、前記遊技機用データの種別に基づき前記複数の領域のいずれかに読み出したデータを格納し、前記複数の領域毎に格納されたデータの置換の制御を行なう制御部と、を具備し、前記遊技機用データの種別は、遊技機の表示装置に表示する画像のデータである画像データと、前記遊技機の周辺機器を制御するためのプログラムの一部であるプログラムデータと、を含み、前記複数の領域は、前記画像データを格納する領域と、前記プログラムデータを格納する領域と、を含み、前記制御部は、前記画像データを前記複数の領域のうち第1領域に格納し、音声データを前記複数の領域のうち第2領域に格納し、前記第1領域において第1サイズ以下の画像データを前記第1サイズより大きい画像データより優先的に格納し、前記第2領域において前記第1サイズより小さい第2サイズ以下の音声データを前記第2サイズより大きい音声データより優先的に格納することを特徴とする遊技機用記憶装置。である。
上記構成において、前記制御部は、前記読み出したデータの前記不揮発性メモリにおけるアドレスに基づき、前記複数の領域のいずれかに前記読み出したデータを格納する構成とすることができる。
上記構成において、前記制御部は、ホスト装置から受信したデータを読み出すためのリードコマンドに付加された情報に基づき、前記複数の領域のいずれかに前記読み出したデータを格納する構成とすることができる。
本発明は、遊技機用データを記憶する不揮発性メモリと、前記遊技機用データの種別に応じた複数の領域を有するキャッシュメモリと、前記不揮発性メモリ内の前記遊技機用データを読み出すときに、前記遊技機用データの種別に基づき前記複数の領域のいずれかに読み出したデータを格納し、前記複数の領域毎に格納されたデータの置換の制御を行なう制御部と、を具備し、前記制御部は、前記不揮発性メモリ内に前記遊技機用データと関連付けて記憶された情報に基づき、前記複数の領域のいずれかに前記読み出したデータを格納することを特徴とする遊技機用記憶装置である
上記構成において、前記制御部は、前記複数の領域毎に格納されたデータの置換の異なる制御を行なう構成とすることができる。
本遊戯機用記憶装置によれば、遊技機用データを格納するキャッシュメモリを適切に制御することができる。
図1は、実施例1に係る遊技機用記憶装置が用いられる遊技機を示すブロック図である。 図2は、実施例1に係る記憶装置を示すブロック図である。 図3(a)から図3(d)は、比較例1における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。 図4は、比較例1および実施例1における時間に対する読み出されるデータを示す図である。 図5(a)から図5(d)は、実施例1における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。 図6は、実施例1の変形例1におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。 図7は、実施例1の変形例1における不揮発性メモリおよびキャッシュメモリ内の各領域のアドレスを示す図である。 図8は、実施例1の変形例1におけるキャッシュ制御部の制御を示すフローチャートである。 図9は、実施例1の変形例2におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。 図10は、実施例1の変形例2における付加情報とキャッシュメモリ内の各領域のアドレスを示す図である。 図11は、実施例1の変形例2におけるキャッシュ制御部の制御を示すフローチャートである。 図12は、実施例1の変形例3におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。 図13は、実施例1の変形例3におけるキャッシュ制御部の制御を示すフローチャートである。 図14(a)および図14(b)は、実施例1の変形例3においてデータを不揮発性メモリに記憶するときの処理を示すフローチャートである。 図15(a)および図15(b)は、データのサイズと転送時間との関係を説明する図である。 図16は、実施例1の変形例4におけるキャッシュ制御部の制御を示すフローチャートである。 図17(a)および図17(b)は、実施例1の変形例4における閾値SおよびNの例を示す図である。
以下、図面を参照し本発明の実施例について説明する。
図1は、実施例1に係る遊技機用記憶装置が用いられる遊技機を示すブロック図である。図1に示すように、遊技機100は、記憶装置10、周辺制御部11、メイン制御部12、払い出し制御部13、音声出力装置14、ランプ15、表示装置16、入賞センサ17およびハンドル18を備える。記憶装置10は遊技機用データを記憶する。周辺制御部11は記憶装置10、音声出力装置14、ランプ15および表示装置16等の周辺機器を制御する。メイン制御部12は、記憶装置10に記憶されたプログラムデータの一部を周辺制御部11を介し取得する。メイン制御部12は、入賞センサ17およびハンドル18からの信号に基づき、周辺制御部11および払い出し制御部13を制御する。例えば遊技機100がパチスロ装置の場合、メイン制御部12は抽選結果を図柄の停止位置で表示するリールを制御する。払い出し制御部13は、メイン制御部12の指示に基づき払い出しを制御する。例えば遊技機100がパチスロ装置の場合、払い出し制御部13はメイン制御部12の指示に基づきホッパーにコインの払い出しを行なわせる。入賞センサ17は入賞を検知する。メイン制御部12は入賞センサ17から入賞検知の情報を取得すると、払い出し制御部13に払い出しを指示する。ハンドル18はユーザのハンドル操作の信号を出力する。メイン制御部12は、ハンドル18からの信号に基づき、周辺制御部11に音声出力装置14、ランプ15および表示装置16を操作させる。
音声出力装置14は例えばスピーカであり、記憶装置10に記憶された音声データに基づき音声を出力する。ランプ15は例えばLED(Light Emitting Diode)であり、記憶装置10に記憶された点灯データに基づき点灯する。表示装置16は例えば液晶表示装置であり、記憶装置10に記憶された画像データに基づき画像を表示する。周辺制御部11は、記憶装置10に記憶されたプログラムデータに基づき記憶装置10から画像データ、点灯データおよび音声データを読み出す。
図2は、実施例1に係る記憶装置を示すブロック図である。図2に示すように、記憶装置10は、キャッシュメモリ20、不揮発性メモリ21,RAM(Random Access Memory)制御部22、ROM(Read Only Memory)制御部23、キャッシュ制御部24、プロセッサ25およびI/F(インターフェース)制御部26を備える。記憶装置10はホスト装置28と接続されている。ホスト装置28は、例えば図1の周辺制御部11である。キャッシュメモリ20は、例えばSRAM(Static RAM)であり、不揮発性メモリ21に記憶された遊技機データのうち、アクセス頻度の高いデータを格納する。不揮発性メモリ21は、例えばNAND型フラッシュメモリ等のROMであり、遊技機用データを記憶する。
RAM制御部22は、キャッシュメモリ20にデータの格納および読み出しを行なう。ROM制御部23は、不揮発性メモリ21にデータの記憶および読み出しを行なう。I/F制御部26は、ホスト装置28から出力されたコマンドをプロセッサ25またはキャッシュ制御部24に出力する。I/F制御部26は、キャッシュ制御部24から出力されたデータをホスト装置28に出力する。プロセッサ25は、ホスト装置28からのコマンドに基づきキャッシュ制御部24にコマンドを出力する。キャッシュ制御部24は、プロセッサ25が出力したコマンドまたはI/F制御部26が出力したコマンドを受信する。キャッシュ制御部24は、ROM制御部23を用い不揮発性メモリ21からデータの読み出し、RAM制御部22を用いキャッシュメモリ20にデータの格納および読み出しを行なう。
まず、比較例の課題について説明する。図3(a)から図3(d)は、比較例1における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。図3(a)に示すように、不揮発性メモリ21内に画像データ30、音声データ31およびプログラムデータ32が記憶されている。画像データ30は、表示装置16に表示される画像のデータである。画像データ30は、例えば表示する画像内の部品ごとに記憶されている。音声データ31は、音声出力装置14から出力される音声のデータである。プログラムデータ32は、メイン制御部12および周辺制御部11において実行されるOS(Operating System)またはアプリケーションのプログラムの一部である。すなわち、プログラムデータ32は、ホスト装置28を制御するためのデータである。このように、データの種別はデータの種類により区別されたものである。
図3(b)に示すように、LFU(Least Frequently Used)制御では、キャッシュメモリ20内にはアクセス頻度の高いデータが格納され、アクセス頻度の低いデータと置き換わる。LRU(Least Recently Used)制御では、最も長くアクセスされていないデータが新しいデータに置き換わる。キャッシュメモリ20内はデータの種別に分かれておらず、画像データ30、音声データ31およびプログラムデータ32が混在して格納されている。画像データ30は例えば数バイトから32Mバイトである。音声データ31は例えば数バイトから5Kバイトである。プログラムデータ32は例えば数バイトである。図3(b)では、データの大きさに関係なくデータを同じ大きさで図示している。
図4は、比較例1および実施例1における時間に対する読み出されるデータを示す図である。図4では、読み出されるデータの大きさに関係なく同じ大きさで図示している。図4に示すように、プログラムデータ32は時間によらずほぼ一定量のデータが読み出される。画像データ30および音声データ31は、時間により読み出されるデータ量が大きく異なる。遊技機100では、遊技機100の制御は期間に関係なく行なわれるため、プログラムデータ32は周期的に読み出される。一方、入賞またはリーチ等の特別な期間35において、表示装置16に多くの画像を表示し、音声出力装置14より音声を出力する。このため、特別な期間35では、多くの画像データ30および音声データ31を用いる。例えば、特別な期間35では同じ部品(例えば星の画像)の画像データ30が何度も読み出される。また、異なる部品(例えば大きさや色の異なる星の画像)の画像データ30が多く読み出される。
図3(c)に示すように、特別な期間35において、キャッシュメモリ20内のプログラムデータ32が画像データ30および音声データ31で置換されてしまう。特にデータサイズの大きい画像データ30は少ない個数でキャッシュメモリ20を占めてしまう。よって、プログラムデータ32はキャッシュメモリ20から追い出されやすくなる。図3(d)に示すように、特別な期間35が過ぎると、プログラムデータ32が読み出されるため、キャッシュメモリ20内を占めていた画像データ30および音声データ31の一部はプログラムデータ32に置換される。しかしながら、図3(c)から図3(d)に移行するときに、プログラムデータ32がキャッシュメモリ20に格納されておらず、高頻度でアクセスされるプログラムデータ32のホスト装置28への転送が遅くなってしまう。また、高頻度でアクセスされるプログラムデータ32が不揮発性メモリ21内にアクセスされることが多くなる。これにより、不揮発性メモリ21内の同じデータが高頻度でアクセスすることになる。このため、例えばフラッシュメモリにおいて生じるリードディスターブ(電気ストレスにより保持データが変化する現象)のような問題が生じる。
図3(a)から図4での説明は一例であり、遊技機では、データ種別により、データサイズが大きく異なる。また、データ種別によりアクセスの多い特別な期間がある。このため、キャッシュメモリ20のデータの置換の制御が適切に行なわれないことがある。
図5(a)から図5(d)は、実施例1における不揮発性メモリおよびキャッシュメモリ内のデータを示す模式図である。図5(a)は、図3(a)と同じであり説明を省略する。
図5(b)から図5(d)に示すように、キャッシュメモリ20は、複数の領域40から42を備える。領域40には画像データ30が格納され、領域41には音声データ31が格納され、領域42にはプログラムデータ32が格納されている。キャッシュ制御部24は、領域40から42ごとにデータの置換の制御を行なう。
図5(b)では領域40から42にそれぞれ画像データ30、音声データ31およびプログラムデータ32として、データ”1”から“4”が格納されている。図5(c)では、領域40のデータ”1“および”3”がデータ“5”および”7”に置換されている。領域41のデータ“1”および”4”がデータ”6”および”9”に置換されている。領域42のデータ”3“がデータ“5”に置換されている。図5(d)では、領域40のデータ“4”および”7”がデータ“1”および“3”に置換されている。領域41のデータ”6“および”9”がデータ“1”および”5”に置換されている。領域42のデータ“1”、“4”および”5“がデータ”6“、”7”および”8”に置換されている。このデータの置換の制御は領域40から42毎に行なう。
このように、キャッシュ制御部24(制御部)は、不揮発性メモリ21内のデータを読み出すときに、データの種別に基づき複数の領域40から42のいずれかに読み出したデータを格納する。そして、複数の領域40から42毎に格納されたデータの置換の制御を行なう。これにより、キャッシュメモリ20のデータの置換を適切に行なうことができる。例えば、比較例1のように、プログラムデータ32がキャッシュメモリ20から占め出されることを抑制できる。これにより、リードディスターブのような問題を抑制できる。
また、データの種別ごとに異なる方式の置換制御を行なうことができる。例えば、データの種別によって、LRU制御またはLFU制御を行なうことができる。また、画像データ30は16Kバイト以下のデータのアクセス頻度が高く、音声データ31は4KB以下のデータのアクセス頻度が高い場合を考える。この場合、キャッシュ制御部24は、画像データ30に対しては16Kバイト以下のデータを優先的にキャッシュメモリ20に格納し、音声データ31は4Kバイト以下のデータを優先的にキャッシュメモリ20に格納することができる。このように、データの種別ごとにサイズの異なる閾値を設け、データサイズが閾値以下の場合、キャッシュメモリ20にデータを格納することもできる。
キャッシュ制御部24は、画像データとプログラムデータとをキャッシュメモリ20の異なる領域40および42に格納する。これにより、図4の特別な期間35の画像データに大量にアクセスされ、図3(c)のように、キャッシュメモリ20からプログラムデータが追い出されてしまうことを抑制できる。
[実施例1の変形例1]
以下、キャッシュ制御部24の制御の具体例を実施例1の変形例として説明する。実施例1の変形例1は不揮発性メモリ21内の領域をデータの種別に対応させる例である。図6は、実施例1の変形例1におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。図6に示すように、キャッシュメモリ20は複数の領域40から42が設けられている。不揮発性メモリ21には複数の領域45から48が設けられている。キャッシュメモリ20の領域40から42には、それぞれ画像データ30、音声データ31およびプログラムデータ32が格納されている。不揮発性メモリ21の領域45から47には、それぞれ画像データ30、音声データ31およびプログラムデータ32が記憶されている。領域48には、キャッシュメモリ20に格納しないキャッシュ対象外のデータ33が記憶されている。
図7は、実施例1の変形例1における不揮発性メモリおよびキャッシュメモリ内の各領域のアドレスを示す図である。図7に示すように、画像データ30、音声データ31、プログラムデータ32およびキャッシュ対象外のデータ33記憶される不揮発性メモリ21の領域45から48のアドレスは0000_0000hから2FFF_FFFF、3000_0000hから7FFF_FFFF、8000_0000hから8FFF_FFFF、および9000_0000hからFFFF_FFFFである。このように、データの種別に応じ、不揮発性メモリ21内のアドレスを設定しておく。画像データ30、音声データ31およびプログラムデータ32を格納するキャッシュメモリ20の領域40から42のアドレスは0000_0000hから03FF_FFFF、0400_0000hから07FF_FFFF、および0800_0000hから0FFF_FFFFである。
図8は、実施例1の変形例1におけるキャッシュ制御部の制御を示すフローチャートである。図8に示すように、キャッシュ制御部24は、不揮発性メモリ21内のデータを読み出すリードコマンドを受け付ける(ステップS10)。例えば、プロセッサ25がI/F制御部26からホスト装置28が出力したリードコマンドを受け付けると、プロセッサ25はキャッシュ制御部24に不揮発性メモリ21内のデータを読み出させるコマンドを出力する。キャッシュ制御部24は、読み出すデータの不揮発性メモリ21内のアドレスを取得する(ステップS12)。例えば、キャッシュ制御部24は、I/F制御部26またはプロセッサ25からアドレスを取得する。
キャッシュ制御部24は、読み出すデータの不揮発性メモリ21内のアドレスに基づき、読み出すデータがキャッシュ対象のデータかを判断する(ステップS14)。例えば、読み出すデータが図6の領域48内に記憶されているとき、キャッシュ制御部24はNoと判断する。読み出すデータが領域48内に記憶されたデータD−1またはD−2のとき、キャッシュ制御部24はNoと判断する。読み出すデータが領域45から47に記憶されているとき、キャッシュ制御部24はYesと判断する。読み出すデータが領域45内に記憶されているデータA−1からA−5、領域46内のデータB−1からB−5、領域47内のデータC−1からC−3のとき、キャッシュ制御部24はYesと判断する。
Noの場合、キャッシュ制御部24は不揮発性メモリ21からデータを読み出す(ステップS16)。例えば、キャッシュ制御部24は、ROM制御部23に不揮発性メモリ21内の指定されたアドレスからデータ(例えばデータD−1)を読み出させる。キャッシュ制御部24は読み出したデータ(例えばデータD−1)をI/F制御部26を介しホスト装置28に転送する(ステップS18)。その後終了する。
ステップS14においてYesの場合、キャッシュ制御部24は、読み出すアドレスに基づきキャッシュ領域を選択する(ステップS20)。例えば、読み出すデータ(例えばデータA−2)が図6の不揮発性メモリ21内の領域45内に記憶されているとき、キャッシュ制御部24はキャッシュ領域として領域40を選択する。読み出すデータ(例えばデータB−1またはC−3)が図6の領域46または47に記憶されているとき、キャッシュ制御部24はキャッシュ領域として領域41または42を選択する。
キャッシュ制御部24は、読み出すデータがキャッシュメモリ20に登録済みかを判断する(ステップS22)。Yesの場合、キャッシュ制御部24はキャッシュメモリ20内のデータをホスト装置に転送する(ステップS24)。例えば、キャッシュ制御部24はRAM制御部22にデータ(例えばデータA−2)をキャッシュメモリ20内の選択した領域40から42(例えば領域40)から読み出させ、読み出したデータをI/F制御部26を介しホスト装置28に転送する。その後終了する。
ステップS22においてNoの場合、キャッシュ制御部24は不揮発性メモリ21からデータ(例えばデータB−1)を読み出す(ステップS26)。キャッシュ制御部24は読み出したデータ(例えばデータB−1)をホスト装置28に転送する(ステップS28)。キャッシュ制御部24は、読み出したデータ(例えばデータB−1)をキャッシュメモリ20内の選択された領域40から42(例えば領域41)に登録する(ステップS30)。例えば、キャッシュ制御部24は読み出したデータと置換する選択した領域40から42(例えば領域41)内のデータを選択する。キャッシュ制御部24はRAM制御部22に選択したデータを選択した領域40から42(例えば領域41)から消去させる。キャッシュ制御部24はRAM制御部22に選択した領域40から42(例えば領域41)に読み出したデータ(例えばデータB−1)を格納させる。ステップS26とS28の順番は逆でもよく、ステップS28とS30は同時に実行してもよい。その後終了する。
このような制御により、図6に示すように、不揮発性メモリ21内の領域45内のデータA−2およびA−5は、キャッシュメモリ20内の領域40に格納される。不揮発性メモリ21内の領域46内のデータB−1およびB−3は、キャッシュメモリ20内の領域41に格納される。不揮発性メモリ21内の領域47内のデータC−3は、キャッシュメモリ20内の領域42に格納される。
実施例1の変形例1によれば、不揮発性メモリ21内に複数の領域45から47を設け、データの種別により記憶する領域45から47を定めておく。図8のステップS20およびS30のようにキャッシュ制御部24は、読み出したデータの不揮発性メモリ21におけるアドレスに基づき、複数の領域40から42のいずれかに読み出したデータを格納する。これにより、データの種別に応じキャッシュ制御を行なうことができる。実施例1の変形例2および3のように付加情報を付加しなくともよいため、キャッシュ制御部24の制御が容易となる。
[実施例1の変形例2]
実施例1の変形例2はリードコマンドにデータの種類を示す付加情報を付加する例である。図9は、実施例1の変形例2におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。図9に示すように、不揮発性メモリ21は複数の領域が分割されておらず、画像データ30、音声データ31、プログラムデータ32およびキャッシュ対象外のデータ33がランダムに格納されている。
図10は、実施例1の変形例2における付加情報とキャッシュメモリ内の各領域のアドレスを示す図である。図10に示すように、データの種別を示す付加情報を定義する。例えば、画像データ、音声データおよびプログラムデータを示す付加情報をそれぞれAからCとする。キャッシュ対象外のデータの付加情報をDとする。
図11は、実施例1の変形例2におけるキャッシュ制御部の制御を示すフローチャートである。図11に示すように、ステップS10の後、キャッシュ制御部24は、ホスト装置28から読み出すデータの付加情報を取得する(ステップS32)。例えば、付加情報はホスト装置28が出力するリードコマンドに付加されている。キャッシュ制御部24は、I/F制御部26またはプロセッサ25からリードコマンドに付加された付加情報を取得する。
ステップS14において、キャッシュ制御部24は、付加情報に基づき、読み出すデータがキャッシュ対象のデータかを判断する(ステップS14)。例えば、キャッシュ制御部24は、付加情報がAからCのときYesと判断し、付加情報がDのときNoと判断する。ステップS20において、キャッシュ制御部24は、付加情報に基づきキャッシュ領域を選択する。付加情報がAからCのとき、キャッシュ制御部24はキャッシュ領域としてそれぞれ領域40から42を選択する。その他の構成および制御は、実施例1の変形例1と同じであり説明を省略する。
実施例1の変形例2によれば、ホスト装置28から受信したデータを読み出すためのリードコマンドに付加された付加情報(情報)に基づき、キャッシュメモリ20内の複数の領域40から42のいずれかに不揮発性メモリ21から読み出したデータを格納する。これにより、データの種別に応じキャッシュ制御を行なうことができる。実施例1の変形例1では不揮発性メモリ21内の領域45から48が固定されているため、不揮発性メモリ21の領域を有効に使えない場合もある。また、実施例1の変形例2では不揮発性メモリ21内に付加情報を記憶することなり、不揮発性メモリ21内のデータを記憶する容量が減少する。実施例1の変形例2では、不揮発性メモリ21に記憶するデータ量の減少を抑制できる。
[実施例1の変形例3]
実施例1の変形例3は不揮発性メモリ21に付加情報を記憶させる例である。図12は、実施例1の変形例3におけるキャッシュメモリおよび不揮発性メモリ内を示す模式図である。図12に示すように、不揮発性メモリ21にデータに関連付けて付加情報34が記憶されている。付加情報34は不揮発性メモリ21内の冗長領域36またはユーザデータ領域37に記憶されている。
図13は、実施例1の変形例3におけるキャッシュ制御部の制御を示すフローチャートである。図13に示すように、ステップS10の後、キャッシュ制御部24は、不揮発性メモリ21から読み出すデータの付加情報を取得する(ステップS34)。例えば、キャッシュ制御部24は、I/F制御部26またはプロセッサ25から読み出すデータの不揮発性メモリ21内のアドレスを取得する。キャッシュ制御部24は、アドレスに基づき、ROM制御部23に読み出すデータの付加情報を不揮発性メモリ21から読み出させる。
ステップS14において、キャッシュ制御部24は、不揮発性メモリ21から読み出した付加情報に基づき、読み出すデータがキャッシュ対象のデータかを判断する(ステップS14)。ステップS20において、キャッシュ制御部24は、読み出した付加情報に基づきキャッシュ領域を選択する。付加情報がAからCのとき、キャッシュ制御部24はキャッシュ領域としてそれぞれ領域40から42を選択する。その他の構成および制御は実施例1の変形例2と同じであり説明を省略する。
図14(a)および図14(b)は、実施例1の変形例3においてデータを不揮発性メモリに記憶するときの処理を示すフローチャートである。図14(a)は、ライターが行なう処理のフローチャートであり、図14(b)は、図14(a)のステップS44に対応しキャッシュ制御部24が行なう処理のフローチャートである。ライターは、不揮発性メモリ21にデータを書き込むコンピュータまたはプロセッサである。
図14(a)に示すように、ライターは、不揮発性メモリ21に書き込むデータを準備する(ステップS40)。書き込むデータには、画像データ30、音声データ31、プログラムデータ32およびキャッシュ対象外のデータ33が含まれる。ライターは、書き込むデータに対応する付加情報を作成する(ステップS42)。ライターは記憶装置10にデータの書き込みを指示する(ステップS44)。ライターは終了するか判断する(ステップS46)。例えば、ライターは、書き込むデータが最後のときYes、書き込むデータが残っているときNoと判断する。Yesのとき終了し、NoのときステップS40に戻る。
図14(b)に示すように、キャッシュ制御部24はライターからライトコマンドを受け付ける(ステップS50)。例えば、プロセッサ25がI/F制御部26からライターが出力したライトコマンドを受け付けると、プロセッサ25はキャッシュ制御部24に不揮発性メモリ21内にデータを書き込ませるコマンドを出力する。キャッシュ制御部24は、書き込むデータの付加情報を取得する(ステップS52)。例えば、付加情報はライターが出力するライトコマンドに付加されている。キャッシュ制御部24は、I/F制御部26またはプロセッサ25からライトコマンドに付加された付加情報を取得する。
キャッシュ制御部24は不揮発性メモリ21にデータを書き込む(ステップS54)。例えば、キャッシュ制御部24は、ROM制御部23に指定されたアドレスにデータを書き込ませる。キャッシュ制御部24は不揮発性メモリ21に付加情報を書き込ませる(ステップS56)。例えば、キャッシュ制御部24はROM制御部23に指定されたアドレスに付加情報を書き込ませる。その後終了する。
実施例1の変形例3によれば、キャッシュ制御部24は、不揮発性メモリ21内にデータと関連付けて記憶された付加情報34(情報)に基づき、キャッシュメモリ20内の複数の領域40から42のいずれかに読み出したデータを格納する。これにより、データの種別に応じキャッシュ制御を行なうことができる。実施例1の変形例2では、ホスト装置28がデータを読み出すときに、毎回リードコマンドに付加情報を付加する。実施例1の変形例3では、リードコマンドへの付加情報の付加が不要となる。
[実施例1の変形例4]
実施例1の変形例4は、データ種別ごとに異なるキャッシュ制御を行なう例である。
遊技機用データでは、同じデータ種別内にサイズの異なるデータが混在する。例えば、画像データ30では、背景の画像データのサイズが大きい。背景の画像データはアクセス頻度が低い。一方、背景の上に表示されている小さな画像パーツの動画用の画像データのサイズは小さい。画像パーツは、フレームごと(例えば1/60秒ごと)にアクセスされる場合が多い。このため、画像パーツはアスセス頻度が高い。音声データ31では、背景に再生する音声データはサイズが大きくかつアクセス頻度が低い、効果音の音声データはサイズが小さくかつアクセス頻度が高い。このように、サイズの大きいデータはアクセス頻度が低く、サイズの小さいデータはアクセス頻度が高い。
領域40から42内で、大きいサイズのデータがキャッシュメモリ20に格納されると、複数の小さいサイズのデータがキャッシュメモリ20から消去される。この後、小さいデータにアクセスする場合、データを不揮発性メモリ21にアクセスすることになる。このように、アクセス頻度の高い小さいサイズのデータを頻繁に不揮発性メモリ21にアクセスすることにより、不揮発性メモリ21のリード制限回数を短時間で超過することがある。例えばフラッシュメモリにおいて生じるリードディスターブのような問題が生じる。
また、キャッシュメモリ20内において、複数の小さなサイズのデータが1個の大きなサイズのデータに置き換わると、データの転送が遅くなる。以下に説明する。
図15(a)および図15(b)は、データのサイズと転送時間との関係を説明する図である。横軸は時間である。図15(a)は、小さいサイズのデータ62と大きいサイズのデータ60を不揮発性メモリ21から読み出す場合を比較している。NANDフラッシュメモリ等の不揮発性メモリ21にアクセスするときは、レイテンシ65に要する時間が長い。例えば時間t0にホスト装置28が記憶装置10にリードコマンドを送信する。記憶装置10からホスト装置28へのデータ転送が始まる時間はt1である。時間t1以降のデータ転送時間は、データ60および62のサイズにほぼ比例する。例えばデータ62では時間t2にホスト装置28へのデータ転送が終了する。データ60では時間t3にデータ転送が終了する。
図15(b)は、4個のサイズの小さいデータ62と1個のサイズの大きさデータ60を転送する場合を示している。データ60のサイズがデータ62の4倍とすると、4個のデータ62と1個のデータ60を転送する時間は同じである。キャッシュメモリ20にアクセスするときにはレイテンシに要する時間は非常に短く、ほぼ無視できるとする。データ60がキャッシュメモリ20に格納され、データ62が不揮発性メモリ21に記憶されている場合、4個のデータ62を転送する前にそれぞれレイテンシ65の時間を要する。データ62がキャッシュメモリ20に格納され、データ60が不揮発性メモリ21に記憶されている場合、レイテンシ65の時間はデータ60の転送の前の1回である。1個のデータ60が4個のデータ62に置き換わると、同じデータのサイズである4個のデータ62と1個のデータ60を転送時間は、3回のレイテンシ65に相当する時間T0遅くなる。このように、大きなサイズのデータ60がキャッシュメモリ20に格納され、複数の小さなサイズのデータ62に置換されると、データの転送が遅くなってしまう。
さらに、画像データ30は音声データ31に比べデータのサイズが大きい。また、データサイズとアクセス頻度の相関も画像データ30と音声データ31とで異なる。このように、データ種別により、データサイズおよび/またはアクセス頻度の傾向が異なる場合、データ種別ごとに異なるキャッシュ制御することが好ましい。
図16は、実施例1の変形例4におけるキャッシュ制御部の制御を示すフローチャートである。図16に示すように、実施例1の変形例1から3のステップS20において、キャッシュ制御部24はキャッシュ領域を選択する。ステップS28の後、キャッシュ制御部24は、不揮発性メモリ21から読み出したデータのサイズが閾値S以上か判定する(ステップS60)。Noのとき、キャッシュ制御部24は読み出したデータをキャッシュ登録する(ステップS30)。
Yesのとき、キャッシュ制御部24は、キャッシュメモリ20に登録するサイズが閾値S以上のデータの個数を閾値Nに制限し、読み出したデータをキャッシュ登録する(ステップS62)。例えば、キャッシュ制御部24は、キャッシュメモリ20に格納されたサイズが閾値S以上のデータの個数が閾値N未満のとき、読み出されたデータのサイズに関係なくLFU制御またはLRU制御等のキャッシュ制御を行なう。キャッシュメモリ20に格納されたサイズが閾値S以上のデータの個数が閾値Nのとき、キャッシュ制御部24は、サイズが閾値S以上のデータ内でLFU制御またはLRU制御等のキャッシュ制御を行なう。例えば、キャッシュ制御部24は読み出したサイズが閾値S以上のデータと置換するキャッシュメモリ20内のサイズが閾値S以上のデータを選択する。キャッシュ制御部24はRAM制御部22に選択したデータをキャッシュメモリ20から消去させる。キャッシュ制御部24はRAM制御部22にキャッシュメモリ20に読み出したデータを格納させる。
図17(a)および図17(b)は、実施例1の変形例4における閾値SおよびNの例を示す図である。図17(a)に示すように、データ種別が画像データ30のとき、閾値Sを16Kバイトとする。ステップS62の動作は行なわない。すなわち、キャッシュ制御部24は、画像データ30の領域40のキャッシュ制御において、データサイズが16Kバイト以上のデータはキャッシュ登録しない。データ種別が音声データ31のとき、閾値Sを4Kバイトとする。ステップS62の動作は行なわない。すなわち、キャッシュ制御部24は、音声データ31の領域41のキャッシュ制御において、データサイズが4Kバイト以上のデータはキャッシュ登録しない。データ種別がプログラムデータ32のとき、閾値Sおよび閾値Nを設けない。このとき、キャッシュ制御部24は、プログラムデータ32の領域42のキャッシュ制御において、データサイズに基づく制御は行なわない。
このように、図17(a)の例では、大きなサイズのデータが領域40および41に登録されないため、不揮発性メモリ21のリード制限回数を短時間で超過すること、および/またはデータ転送が遅くなってしまうことを抑制できる。さらに、画像データ30の閾値Sを音声データ31より大きくしている。このため、データ種別ごとに適切なキャッシュ制御を行なうことができる。
図17(b)に示すように、データ種別が画像データ30のとき、閾値Sを16Kバイト、閾値Nを4個とする。このとき、キャッシュ制御部24は、画像データ30の領域40のキャッシュ制御において、データサイズが16Kバイト以上のデータを4個以上領域40に格納しない。データ種別が音声データ31のとき、閾値Sを4Kバイト、閾値Nを16個とする。このとき、キャッシュ制御部24は、音声データ31の領域41のキャッシュ制御において、データサイズが4KB以上のデータを16個以上領域41に格納しない。データ種別がプログラムデータ32のときは図17(a)の例と同じである。
このように、図17(b)の例では、大きなサイズのデータが所定個数以上領域40および41に登録されないため、不揮発性メモリ21のリード制限回数を短時間で超過すること、および/またはデータ転送が遅くなってしまうことを抑制できる。また、大きなサイズのデータのうち、アクセス頻度の高いデータをキャッシュメモリ20に格納できる。このため、データ転送速度を向上できる。遊技機用データにおいては、画像データ30のサイズは音声データ31より大きい。図17(a)および図17(b)では、画像データ30の閾値SおよびNを音声データ31より大きくしている。これにより、画像データ30および音声データ31ごとに適切なキャッシュ制御を行なうことができる。
実施例1の変形例4によれば、キャッシュ制御部24は、複数の領域40から42毎に格納されたデータの置換の異なる制御を行なう。これにより、データ種別ごとに適切なキャッシュ制御を行なうことができる。
実施例1の変形例4では、キャッシュ制御部24が複数の領域40から42毎にデータサイズに基づきキャッシュ制御を行なう例を説明したが、キャッシュ制御部24は、複数の領域40から42毎にLFU制御およびLRU制御等を異ならせてもよい。
また、キャッシュ制御部24は、領域40(第1領域)において閾値S(第1サイズ)以下の画像データを閾値S(第1サイズ)より大きい画像データより優先的に格納し、領域に41(第2領域)において閾値S(第2サイズ)以下の音声データを閾値S(第2サイズ)より大きい画像データより優先的に格納する。これにより、遊技機様データにおける画像データ30および音声データ31を適切にキャッシュ制御することができる。
実施例1およびその変形例においては、不揮発性メモリ21に例としてフラシュメモリを例に説明したが不揮発性メモリ21はフラッシュメモリ以外のメモリでもよい。不揮発性メモリ21がフラッシュメモリの場合、同じデータが高頻度にアクセスすることにより生じるリードディスターブを抑制できる。データの種別として画像データ、音声データおよびプログラムデータを例に説明したが、データの種別はこれらに限られない。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 記憶装置
20 キャッシュメモリ
21 不揮発性メモリ
30 画像データ
31 音声データ
32 プログラムデータ
40−42、45−48 領域

Claims (5)

  1. 遊技機用データを記憶する不揮発性メモリと、
    前記遊技機用データの種別に応じた複数の領域を有するキャッシュメモリと、
    遊技機のホスト装置からのコマンドに基づき前記不揮発性メモリまたは前記キャッシュメモリに記憶された遊技機用データを読み出し、読み出された遊技機用データを前記ホスト装置に転送し、前記不揮発性メモリ内の前記遊技機用データを読み出すときに、前記遊技機用データの種別に基づき前記複数の領域のいずれかに読み出したデータを格納し、前記複数の領域毎に格納されたデータの置換の制御を行なう制御部と、
    を具備し、
    前記遊技機用データの種別は、遊技機の表示装置に表示する画像のデータである画像データと、前記遊技機の周辺機器を制御するためのプログラムの一部であるプログラムデータと、を含み、
    前記複数の領域は、前記画像データを格納する領域と、前記プログラムデータを格納する領域と、を含み、
    前記制御部は、前記画像データを前記複数の領域のうち第1領域に格納し、音声データを前記複数の領域のうち第2領域に格納し、前記第1領域において第1サイズ以下の画像データを前記第1サイズより大きい画像データより優先的に格納し、前記第2領域において前記第1サイズより小さい第2サイズ以下の音声データを前記第2サイズより大きい音声データより優先的に格納することを特徴とする遊技機用記憶装置。
  2. 前記制御部は、前記読み出したデータの前記不揮発性メモリにおけるアドレスに基づき、前記複数の領域のいずれかに前記読み出したデータを格納することを特徴とする請求項1記載の遊技機用記憶装置。
  3. 前記制御部は、ホスト装置から受信したデータを読み出すためのリードコマンドに付加された情報に基づき、前記複数の領域のいずれかに前記読み出したデータを格納することを特徴とする請求項1記載の遊技機用記憶装置。
  4. 遊技機用データを記憶する不揮発性メモリと、
    前記遊技機用データの種別に応じた複数の領域を有するキャッシュメモリと、
    前記不揮発性メモリ内の前記遊技機用データを読み出すときに、前記遊技機用データの種別に基づき前記複数の領域のいずれかに読み出したデータを格納し、前記複数の領域毎に格納されたデータの置換の制御を行なう制御部と、
    を具備し、
    前記制御部は、前記不揮発性メモリ内に前記遊技機用データと関連付けて記憶された情報に基づき、前記複数の領域のいずれかに前記読み出したデータを格納することを特徴とする遊技機用記憶装置。
  5. 前記制御部は、前記複数の領域毎に格納されたデータの置換の異なる制御を行なうことを特徴とする請求項1からのいずれか一項記載の遊技機用記憶装置。
JP2015188886A 2015-09-25 2015-09-25 遊技機用記憶装置 Active JP6757127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015188886A JP6757127B2 (ja) 2015-09-25 2015-09-25 遊技機用記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015188886A JP6757127B2 (ja) 2015-09-25 2015-09-25 遊技機用記憶装置

Publications (2)

Publication Number Publication Date
JP2017060673A JP2017060673A (ja) 2017-03-30
JP6757127B2 true JP6757127B2 (ja) 2020-09-16

Family

ID=58429768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015188886A Active JP6757127B2 (ja) 2015-09-25 2015-09-25 遊技機用記憶装置

Country Status (1)

Country Link
JP (1) JP6757127B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01159746A (ja) * 1987-12-16 1989-06-22 Fujitsu Ltd ディスクキャッシュ制御方式
JP4186509B2 (ja) * 2002-05-10 2008-11-26 株式会社日立製作所 ディスクシステムとそのキャッシュ制御方法
JP4305778B2 (ja) * 2006-12-28 2009-07-29 コニカミノルタビジネステクノロジーズ株式会社 メモリ装置、キャッシュ制御方法、およびキャッシュ制御プログラム
JP4160625B1 (ja) * 2007-04-04 2008-10-01 シャープ株式会社 誤り検出制御システム
JP2009211349A (ja) * 2008-03-04 2009-09-17 Nec Corp ディスクアレイ制御装置
JP5552808B2 (ja) * 2009-12-25 2014-07-16 株式会社三洋物産 遊技機
JP2014221257A (ja) * 2014-06-10 2014-11-27 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
JP2017060673A (ja) 2017-03-30

Similar Documents

Publication Publication Date Title
US7930484B2 (en) System for restricted cache access during data transfers and method thereof
JP2017501504A5 (ja)
JP2013505488A (ja) 読み取り及び書き込みアウェア・キャッシュを制御する方法、装置、プログラム、キャッシュ・コントローラ
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
US10474389B2 (en) Write tracking for memories
US20170083444A1 (en) Configuring fast memory as cache for slow memory
JP5901787B2 (ja) 半導体装置及びキャッシュメモリへのデータ先読み方法
US20170109277A1 (en) Memory system
US9904622B2 (en) Control method for non-volatile memory and associated computer system
US9990311B2 (en) Peripheral interface circuit
US10635614B2 (en) Cooperative overlay
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
JP6757127B2 (ja) 遊技機用記憶装置
US20170109072A1 (en) Memory system
US20170109074A1 (en) Memory system
JP4266900B2 (ja) 画像処理システム
JP6757128B2 (ja) 遊技機用記憶装置
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
US10802712B2 (en) Information processing apparatus and method of processing information
JP6424330B2 (ja) 情報処理装置、及び情報処理方法
US11294821B1 (en) Write-back cache device
GB2533768A (en) Cleaning a write-back cache
CN103810117A (zh) 处理器用指令存储系统
JP6680497B2 (ja) 遊技機用記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200714

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200828

R150 Certificate of patent or registration of utility model

Ref document number: 6757127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250