(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5816987
(24)【登録日】2015年10月9日
(45)【発行日】2015年11月18日
(54)【発明の名称】メモリ格納情報読出し方法及びメモリインターフェース
(51)【国際特許分類】
G06F 12/02 20060101AFI20151029BHJP
G06F 12/00 20060101ALI20151029BHJP
【FI】
G06F12/02 580A
G06F12/00 597U
G06F12/00 560A
【請求項の数】6
【全頁数】8
(21)【出願番号】特願2013-57073(P2013-57073)
(22)【出願日】2013年3月19日
(65)【公開番号】特開2014-182626(P2014-182626A)
(43)【公開日】2014年9月29日
【審査請求日】2015年3月31日
【早期審査対象出願】
(73)【特許権者】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100106426
【弁理士】
【氏名又は名称】山田 賢二
(72)【発明者】
【氏名】小川 丈博
【審査官】
塩澤 如正
(56)【参考文献】
【文献】
特開2010−026584(JP,A)
【文献】
特開2008−009874(JP,A)
【文献】
特開2007−241576(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00 − G06F 12/06
(57)【特許請求の範囲】
【請求項1】
メモリにおける格納場所を表すアドレス情報と、読み出すデータ長に係る情報とを含む指令を順次受けるメモリインターフェースを介して、前記メモリに格納されたデータを読み出す際に、前記読み出すデータ長に係る情報で指定できる最大データ長が、前記メモリに格納されたデータに対するランダムアクセスが生ずる際の局所性の範囲として見込まれる所定領域範囲よりも小さいような指令を伴うメモリ格納情報読出し方法であって、
前記メモリインターフェースは、前記指令単位で、前記メモリに格納されたデータの読出し制御を行うに際して、
前記アドレス情報と前記読み出すデータ長に係る情報とに基づき、今回受け付けた指令が、読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求しているか否かを判定し、
前記読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求していると判定した場合には、前記読出し処理中に係る指令に含まれるデータ長に係る情報に、今回受け付けた指令に含まれるデータ長に係る情報を加算し、その加算の結果が、前記所定領域範囲を超えているか否か判定し、
前記加算結果が、前記所定領域範囲を超えている場合には、今回受け付けた指令が対象とする領域からの読出しは連続的には行わないことを特徴とするメモリ格納情報読出し方法。
【請求項2】
前記メモリインターフェースは、内部バスから前記指令を順次受けることを特徴とする請求項1に記載のメモリ格納情報読出し方法。
【請求項3】
前記メモリに格納されたデータは、局所的にランダムアクセスされないデータであることを特徴とする請求項1に記載のメモリ格納情報読出し方法。
【請求項4】
前記メモリに格納されたデータは、画像データであることを特徴とする請求項3に記載のメモリ格納情報読出し方法。
【請求項5】
前記メモリは、NAND型フラッシュメモリであることを特徴とする請求項1に記載のメモリ格納情報読出し方法。
【請求項6】
メモリにおける格納場所を表すアドレス情報と、読み出すデータ長に係る情報とを含む指令であって、前記メモリに格納されたデータを読み出す際に、前記読み出すデータ長に係る情報で指定できる最大データ長が、前記メモリに格納されたデータに対するランダムアクセスが生ずる際の局所性の範囲として見込まれる所定領域範囲よりも小さいような指令を順次受け付け、前記指令単位で、前記メモリに格納されたデータの読出し制御を行うメモリインターフェースであって、
前記アドレス情報と前記読み出すデータ長に係る情報とに基づき、今回受け付けた指令が、読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求しているか否かを判定し、
前記読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求していると判定した場合には、前記読出し処理中に係る指令に含まれるデータ長に係る情報に、今回受け付けた指令に含まれるデータ長に係る情報を加算し、その加算の結果が、前記所定領域範囲を超えているか否か判定し、
前記加算結果が、前記所定領域範囲を超えている場合には、今回受け付けた指令が対象とする領域からの読出しは連続的には行わないことを特徴とするメモリインターフェース。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ格納情報読出し方法及びメモリインターフェースに関し、特に、局所的なランダムアクセスが行われないようなデータが格納されたメモリに対するメモリ格納情報読出し方法及びその方法に採用されるメモリインターフェースに関する。
【背景技術】
【0002】
ゲーム機やパチンコ機等の遊技機においては、画像、特に動画像、の表示は欠かすことのできない機能となっており、それらの画像は予め読出し専用メモリに格納され、必要に応じて読み出し、必要な画像処理を行ったのち、液晶等の表示部に表示するようになっている。特に最近では、それらの画像情報の大容量化に伴って、大容量で低価格のメモリが好んで使用される傾向にある。かかるメモリとして典型的なものが、NAND型フラッシュメモリである。反面、そのNAND型フラッシュメモリは、例えばNOR型フラッシュメモリやDRAM(Dynamic Random Access Memory)等と比較して、処理速度の点では劣っている。
【0003】
ところで、画像表示の態様によっては、メモリに対して局所的にランダムにアクセスし、繰り返して画像データを読み出してくるような機器もある。かかる場合、上述のような速度の遅いNAND型フラッシュメモリでは、以前に一度読み出したにも拘らず再度読み出したのでは、処理時間が無意味にかかり効率的ではない。そこで、メモリの局所参照性を前提としたこのような欠点を解決するため、画像メモリから、最初のアクセスで、読み出すべき画像を含めて所定範囲(典型的にはページ単位(8kバイトや16kバイト))の画像を比較的高速なメモリに読み出しておき、以後のアクセスでは、その高速メモリに格納されているのであれば、そこから読み出すようにして、NAND型フラッシュメモリのアクセス処理速度に係る欠点を補う技術が開発されている。
【0004】
かかる技術は例えば特許文献1が開示している。当該文献においては、上述の高速メモリとして、例えば、SRAM(Static Random Access Memory)で構成されたキャッシュ110(データキャッシュ12+ページバッファ11)が採用されており、それらのメモリはそれぞれページ単位でデータを記憶するように構成されている(段落[0020]、[0021]及び
図1,2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2012−133416号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
NAND型フラッシュメモリ等の画像格納メモリに対する読出し制御としては、通常、画像プロセッサにおける当該メモリに対するフロントエンドに位置するメモリインターフェースが、格納アドレスとデータ長の情報を含むコマンド(例えば、AXIプロトコルインターフェースにおいては「トランザクション」と称される)を内部バスから順次受け取り、そのコマンドにより特定されたデータが高速メモリに格納されているか否かを判定している。
【0007】
ところで、機器によっては、画像メモリに対する局所的なランダムアクセスが起こらず、いわゆるシーケンシャルなアクセスのみで画像を表示する態様もある。あるいは、当該読出し処理の上位において、メモリに対してシーケンシャルアクセスのみを行うように補償的な処理が行われている場合がある。かかる場合、上述のような高速メモリとしてのバッファを設けておき、当該バッファに対するヒット/ミス判定でのミス判定時に、その都度例えばページ単位の画像を読み出していたのでは、原則再度使用されることのない画像を格納しておくことになり、高速メモリ自体が無駄である。また、シーケンシャルなアクセスと言えども、所定単位(ページ単位)の区切りとは関係がないので、必要なデータ以降の不必要がデータをも読み出してきてしまうことになり、処理時間の無駄となる。
【0008】
本発明は上述のような事情から為されたものであり、本発明の目的は、回路構成を簡略化でき、処理時間を浪費することのないメモリ格納情報読出し方法及びメモリインターフェースを提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明のメモリ格納情報読出し方法は、メモリにおける格納場所を表すアドレス情報と、読み出すデータ長に係る情報とを含む指令を順次受けるメモリインターフェースを介して、前記メモリに格納されたデータを読み出す際に、前記読み出すデータ長に係る情報で指定できる最大データ長が、前記メモリに格納されたデータに対するランダムアクセスが生ずる際の局所性の範囲として見込まれる所定領域範囲よりも小さいような指令を伴うメモリ格納情報読出し方法であって、前記メモリインターフェースは、前記指令単位で、前記メモリに格納されたデータの読出し制御を行う
に際して、前記アドレス情報と前記読み出すデータ長に係る情報とに基づき、今回受け付けた指令が、読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求しているか否かを判定し、前記読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求していると判定した場合には、前記読出し処理中に係る指令に含まれるデータ長に係る情報に、今回受け付けた指令に含まれるデータ長に係る情報を加算し、その加算の結果が、前記所定領域範囲を超えているか否か判定し、前記加算結果が、前記所定領域範囲を超えている場合には、今回受け付けた指令が対象とする領域からの読出しは連続的には行わないことを要旨とする。
【0012】
また、典型的には、前記メモリインターフェースは、内部バスから前記指令を順次受ける。
【0013】
また、前記メモリに格納されたデータは、局所的にランダムアクセスされないデータである場合に好適である。ここで、前記メモリに格納されたデータは、画像データであることが典型的である。
【0014】
また、前記メモリは、NAND型フラッシュメモリであることが典型的である。
【0015】
また、上記目的を達成するため、本発明のメモリインターフェースは、メモリにおける格納場所を表すアドレス情報と、読み出すデータ長に係る情報とを含む指令であって、前記メモリに格納されたデータを読み出す際に、前記読み出すデータ長に係る情報で指定できる最大データ長が、前記メモリに格納されたデータに対するランダムアクセスが生ずる際の局所性の範囲として見込まれる所定領域範囲よりも小さいような指令を順次受け付け、前記指令単位で、前記メモリに格納されたデータの読出し制御を行う
メモリインターフェースであって、前記アドレス情報と前記読み出すデータ長に係る情報とに基づき、今回受け付けた指令が、読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求しているか否かを判定し、前記読出し処理中に係る指令によりデータが読み出されている前記メモリの領域に連続する領域からの読出しを要求していると判定した場合には、前記読出し処理中に係る指令に含まれるデータ長に係る情報に、今回受け付けた指令に含まれるデータ長に係る情報を加算し、その加算の結果が、前記所定領域範囲を超えているか否か判定し、前記加算結果が、前記所定領域範囲を超えている場合には、今回受け付けた指令が対象とする領域からの読出しは連続的には行わないことを要旨とする。
【発明の効果】
【0016】
本発明によれば、最初に所定領域範囲に一括して読み込むのではなく、指令単位で読出し・転送を実行し、指令単位で読出し要求が途切れた時点で読出しを終了するので、回路構成を簡略化でき、処理時間を浪費することがない。
【図面の簡単な説明】
【0017】
【
図1】本発明のメモリ格納情報読出し方法の一実施形態が採用される読出し制御システムの主要部を示すブロック図である。
【
図2】メモリインターフェース11内の読出しリクエスト処理部111における処理手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
図1(a)は、本発明のメモリ格納情報読出し方法の一実施形態が採用される読出し制御システムの主要部を示すブロック図である。同図において、画像プロセッサ1は、NAND型フラッシュメモリ2に格納された情報(特に画像情報)を読み出し、図示しないLCD(Liquid Crystal Display)等の表示部に表示するように制御を行うものである。ここで、メモリとしてのNAND型フラッシュメモリ2は、大容量で安価であるため典型的に採用されるものであるが、メモリとしてはこれに限られることはない。
【0019】
画像プロセッサ1は、NAND型フラッシュメモリ2に対するフロントエンドにメモリインターフェース11を備えており、そのメモリインターフェース11は、内部バス12を介して、画像プロセッサ1内の上位回路と接続されている。メモリインターフェース11は、内部バス12を介して上位回路から所定間隔(例えば5ns)で複数の連続する読出しリクエストコマンドRRCを受け取る。個々の読出しリクエストコマンドRRCは、NAND型フラッシュメモリ2における読出し位置の情報である“アドレス”情報と、“読出しデータ長”に係る情報を少なくとも含んでいる。ここで、読出しデータ長で指定できる最大データ長は、格納データに対するランダムアクセスが生ずる際の局所性の範囲として見込まれるページ単位(例えば16kバイト)よりも小さいものとする。この“読出しデータ長”を、メモリとの間のバスのデータ線数との兼ね合いで、メモリに対するアクセス回数で規定するものもある。つまり、“読出しデータ長”を0〜15の値で規定し、例えばメモリ間バスが64ビットのシステムであるとすると、1つの読出しリクエストコマンドRRCで規定される最大データ長は、64ビット×16で、128バイトとなる。なお、このときメモリへの1回のアクセス所要時間が例えば40nsとすると、1つのリクエストによるデータ、すなわち128バイトのデータを獲得するのに必要なアクセス時間は、640nsとなる。内部バス12の例としては、AXIがあり、上述の読出しリクエストコマンドRRCに相当するものを“トランザクション”と称している。
【0020】
ここで、メモリインターフェース11は、少なくとも、読出しリクエスト処理部111及びメモリ制御部112を備えている。また、読出しリクエスト処理部111は、
図1(b)に示すように、リクエスト判定部1111とリクエスト保持部1112とで構成されている。
【0021】
リクエスト判定部1111は、内部バス12から読出しリクエストコマンドRRCを受け取ると、リクエスト保持部1112に保持されたリクエスト情報を参照し、処理中の有効なリクエストRQが存在しない場合や、存在していてもアドレスが連続する読出しに係るものではない場合に当該読出し終了を待って、受け付けた読出しリクエストコマンドRRCに係るリクエストRQをリクエスト保持部1112に新規に格納する。あるいは、リクエスト判定部1111は、内部バス12から読出しリクエストコマンドRRCを受け取ると、リクエスト保持部1112に保持されたリクエスト情報を参照し、処理中の有効なリクエストがあって、かつ、読出し箇所に係るアドレスが連続していると判定すると、リクエスト保持部1112に格納されているデータ長に係る情報に今回のリクエストRQに係るデータ長に係る情報を加算し、その結果をリクエスト保持部1112に格納することにより、リクエスト保持部1112のリクエスト情報を更新する。
【0022】
リクエスト保持部1112は、自身に格納されているリクエストRQのアドレス情報に基づき、メモリ制御部112に対して、NAND型フラッシュメモリ2に対する読出しリクエストに係る指令を行う。指令を受けたメモリ制御部112は、アドレス情報に基づき、例えば64ビット単位で、NAND型フラッシュメモリ2の連続する領域に順次アクセスし、リクエストに係る画像データを取得する。メモリ制御部112は、一回のアクセスごとにデータカウント値DCを更新(例えばインクリメント)してリクエスト保持部1112に送る。リクエスト保持部1112は、メモリ制御部112からのデータカウント値DCが保持するデータ長に係る情報に達したら、必要な読出しが終了したと判断して、自身が格納しているリクエストRQを無効化する。例えばこのようにして、内部バス12から読出しリクエストコマンドRRCを受けたメモリインターフェース11は、NAND型フラッシュメモリ2に対する読出し処理を行う。なお、
図1においては、読み出された画像データに係る転送経路については省略している。また、画像プロセッサは、通常、デコーダ等の他の構成を含んでいるが、
図1に示した画像プロセッサ
1についてはそれらについて省略している。
【0023】
次に、本発明のメモリ格納情報読出し方法の一実施形態の処理手順について説明する。
図2は、メモリインターフェース11内の読出しリクエスト処理部111における処理手順を示すフローチャートである。
まず、読出しリクエスト処理部111のリクエスト判定部1111が、内部バス12を介して読出しリクエストコマンドRRCを受け付けたか否かを判定する(ステップS1)。受け付けていない場合は待機し、受け付けた場合は、リクエスト判定部1111は、リクエスト保持部1112に保持されているリクエスト情報(アドレス情報と読出しデータ長に係る情報)を参照し、処理中の有効なリクエストRQが存在しているか否かを判定する(ステップS2)。このステップにおいて、リクエスト判定部1111が、処理中の有効なリクエストRQが存在していないと判定した場合には、処理はステップS7に移行する。一方、処理中の有効なリクエストRQが存在していると判定した場合には、リクエスト判定部1111は、次に、今回の読出しリクエストコマンドRRCに係るリクエストRQが、シーケンシャル読出しであるか否かを判定する(ステップS3)。具体的には、リクエスト判定部1111は、リクエスト保持部1112からのリクエスト情報と、今回のリクエストRQを比較し、今回のリクエストRQが、前回と連続する領域(アドレスが連続)からの読出しを要求しているか否かを判定する。そこで、シーケンシャル読出しではない場合には、ステップS7に移行する。
【0024】
ステップS7においては、リクエスト判定部1111は、受け付けた読出しリクエストコマンドRRCに係るリクエストRQの情報をリクエスト保持部1112に新規に格納する。新たなリクエストRQに係る情報が格納されたリクエスト保持部1112は、メモリ制御部112に対して、格納されたアドレス情報に基づき、NAND型フラッシュメモリ2に対する読出し指令を行う(ステップS8)。
【0025】
一方、ステップS3において、シーケンシャル読出しに係るリクエストRQ、すなわち前回と連続する領域(アドレスが連続)からの読出しを要求していると判定した場合には、リクエスト判定部1111は、参照したリクエスト情報内のデータ長に係る情報に今回のリクエストRQにおけるデータ長に係る情報を加算し(ステップS4)、その加算結果がページサイズ(例えば16kバイト)を超えたか否かを判定する(ステップS5)。ページサイズを超えない場合は、リクエスト判定部1111は、その加算結果を新たなデータ長としてリクエスト保持部1112に格納して更新する(ステップS6)。一方、ページサイズを超えた場合にはステップS6をスキップする。
【0026】
リクエスト保持部1112は、メモリ制御部112から送られてくる更新されるデータカウント値DCを常時参照し、データカウント値DCが保持するデータ長に係る情報に達したか否かにより、要求された画像データの読出しが終了したか否かを判定する(ステップS9)。メモリ制御部112から送られてくる更新されるデータカウント値DCが、保持するデータ長に係る情報に達した場合には、リクエスト保持部1112は、要求された画像データの一連の読出しが終了したと判断して、自身が格納しているリクエストRQを無効化する。
【0027】
なお、上述の実施形態にあっては、1つのNAND型フラッシュメモリ2からの読出しを制御する場合で説明したが、特許文献1のように、論理的に複数のメモリが並列接続されているような場合でも、それぞれで同様の処理が行われる。
【0028】
以上のように、上述の一実施形態によれば、主にいわゆるシーケンシャルアクセスだけの場合には、最初にページバッファに一括して読み込むのではなく、読出しリクエストコマンドRRC単位で読出し・転送を実行し、読出しリクエストコマンドRRC単位で読出し要求が途切れた時点で読出しを終了するので、回路構成を簡略化でき、処理時間を浪費することがない。
【産業上の利用可能性】
【0029】
本発明のメモリ格納情報読出し方法及びメモリインターフェースは、ランダムアクセスされず専らシーケンシャルアクセスのみが行われる画像データが格納されたメモリからその画像データを読み出す際に有効に採用される。
【符号の説明】
【0030】
1 画像プロセッサ
11 メモリインターフェース
111 読出しリクエスト処理部
1111 リクエスト判定部
1112 リクエスト保持部
12 内部バス
2 NAND型フラッシュメモリ
RRC 読出しリクエストコマンド
RQ リクエスト
DC データカウント値