(57)【要約】【課題】メモリの消費電力をできるだけ低く維持しつつ、メモリアクセスのレイテンシを小さくすることができるメモリ制御装置、メモリ制御方法及びそのようなメモリ制御装置を搭載した携帯機器を提供すること。【解決手段】メモリコントローラ２０は、メモリ１４に対するアクセス要求を最大２つまで格納するキュー２１と、キュー２１に格納されたアクセス要求に基づきメモリ１４へコマンドを発行するコマンド発行部２２とを有する。コマンド発行部２２は、キュー２１に格納されたアクセス要求が、メモリ１４への同一ページへのアクセス要求か否かを判定するアドレス比較器２２を有し、コマンド発行器２２は、同一ページへのアクセス要求であれば、連続してリード／ライトコマンドを連続して発行し、異なるページへのアクセスである場合には、一のリードコマンド発行後にプリチャージコマンドを発行する。【選択図】  図１
2007249837.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対する２以上のアクセス要求を格納するキューと、
前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、
前記コマンド発行部は、前記キューに格納された２以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、
前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するメモリ制御装置。
【請求項２】
前記コマンド発行部は、連続するアクセス要求が前記メモリの同一ページへのアクセス要求である場合には連続してリード／ライトコマンドを発行し、異なるページへのアクセス要求である場合にはプリチャージするためのコマンドを発行する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記コマンド発行部は、異なるページへのアクセス要求である場合には、コマンドの発行後、自動的にプリチャージをするオートプリチャージ付きリード／ライトコマンドを発行する
ことを特徴とする請求項２記載のメモリ制御装置。
【請求項４】
前記コマンド発行部は、異なるページへのアクセス要求である場合には、プリチャージコマンドを発行する
ことを特徴とする請求項２記載のメモリ制御装置。
【請求項５】
前記判定部は、前記キューに２つの前記アクセス要求を格納した場合当該２つのアクセス要求が、同一ページへのアクセス要求か否かを判定し、
前記コマンド発行部は、前記２つのアクセス要求が異なるページへのアクセス要求である場合には、コマンドを発行すると自動的にプリチャージをするオートプリチャージ付きリード／ライトコマンドを発行する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項６】
前記判定部は、前記リード／ライトコマンドの発行乃至プリチャージコマンドの発行までの間に前記キューに前記アクセス要求を格納した場合に、当該発行したリード／ライトコマンドが示すアドレスと、当該アクセス要求が示すアドレスとが、同一ページへのものであるか否かを判定し、
前記コマンド発行部は、同一ページへのアクセス要求である場合に前記リード／ライトコマンドに連続して前記リード／ライトコマンドを発行する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項７】
前記キューは最大２つのアクセス要求を格納する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項８】
メモリに対する２以上のアクセス要求を格納するキューを有するメモリ制御装置のメモリ制御方法であって、
前記キューに格納された２以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定し、
前記判定結果に基づき前記コマンドを発行するメモリ制御方法。
【請求項９】
前記コマンドの発行では、連続するアクセス要求が前記メモリの同一ページへのアクセス要求である場合には連続してリード／ライトコマンドを発行し、異なるページへのアクセス要求である場合には前記メモリをプリチャージするためのコマンドを発行する
ことを特徴とする請求項８記載のメモリ制御方法。
【請求項１０】
前記異なるページへのアクセス要求である場合には、コマンドの発行後、自動的にプリチャージをするオートプリチャージ付きリード／ライトコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御方法。
【請求項１１】
前記異なるページへのアクセス要求である場合には、プリチャージコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御方法。
【請求項１２】
前記キューに２つの前記アクセス要求を格納した場合は、当該２つのアクセス要求が、同一ページへのアクセス要求か否かを判定し、
前記２つのアクセス要求が異なるページへのアクセス要求である場合には、コマンドを発行すると自動的にプリチャージするオートプリチャージ付きリード／ライトコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御方法。
【請求項１３】
前記メモリがアクティブ状態であるときに前記キューにアクセス要求が格納された場合は、前回発行したリード／ライトコマンドが示すアドレスと、当該アクセス要求が示すアドレスとが、同一ページへのものであるか否かを判定し、
同一ページへのアクセス要求であれば当該前回発行したリード／ライトコマンドに連続してリード／ライトコマンドを発行し、異なるページへのアクセス要求であればプリチャージコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御方法。
【請求項１４】
メモリと、
前記メモリを制御するメモリ制御部と、
前記メモリ制御装置を介して前記メモリにアクセスする制御部とを備え、
前記メモリ制御部は、前記メモリに対する２以上のアクセス要求を格納するキューと、
前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、
前記コマンド発行部は、前記キューに格納された２以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、
前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行する携帯機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭなどのメモリを制御するメモリ制御装置及びメモリ制御方法、並びにメモリ制御装置を搭載した携帯機器に関する。
【背景技術】
【０００２】
図１０は、従来のメモリコントローラを示す図である。バス１０３に接続されたＤＭＡ（Direct Memory Access）１０１、ＣＰＵ（Central Processing Unit）１０２などは、メモリコントローラ１１０を介してメモリ１０４へアクセスする。メモリコントローラ１１０は、ＤＭＡ１０１、ＣＰＵ１０２等からのアクセス要求に対して、メモリ１０４へのコマンドを発行するコマンド発行器１１１を有する。
【０００３】
メモリコントローラ１１０へＤＭＡ１０１、ＣＰＵ１０２などからアクセス要求が発行されると、メモリコントローラ１１０のコマンド発行器１１１は、メモリ１０４からデータを読み出し、又は書き込みするためのコマンドを生成し、メモリ１０４へ当該コマンドを発行する。
【０００４】
図１１は、メモリ１０４の一例として１２８Ｍビット(２Ｍワード×１６ビット×４バンク)のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）を示すブロック図である（例えば、非特許文献１参照）。ＳＤＲＡＭ２００は、４つのバンク２０１０〜２０１３と、アドレスバッファ２０２と、リフレッシュカウンタ２０３と、Ｉ／Ｏバッファ２０４とを有する。各バンク２０１０〜２０１３は同様に構成される。例えばバンク２０１０は、メモリセルアレイ２１１０と、アドレスデコーダ（ロウ（Row）デコーダ２１２０、カラム（Column）デコーダ２１３０）、及びセンスアンプ２１４０から構成される。なお、以下の説明において特に区別の必要がない場合、バンク２０１、メモリセルアレイ２１１、ロウデコーダ２１２、カラムデコーダ２１３、センスアンプ２１４ということとする。
【０００５】
ＳＤＲＡＭ２００は、外部インタフェースをすべてクロックに同期させることで、リード／ライトのアクセス時間を固定化し、高速動作を実現したものである。ＳＤＲＡＭの特徴の１つとして、メモリセルを独立して動作可能なブロック（バンク）に分けていることが挙げられ、これをマルチ・バンク・オペレーションという。バンクは多いほど1つのセルアレイにおけるドライブ能力が向上し高速アクセスが可能となるが、センスアンプの数とドライブ性能、消費電力、集積度などが考慮された結果、４バンク構成が標準となっている。
【０００６】
このバンク２０１は、並列動作が可能なようにメモリセル群を例えば４つのメモリセルアレイに分割したものである。メモリセルアレイ２０１のメモリセルは、１トランジスタ及び１コンデンサにより構成される。ロウデコーダ２１２は、後述するＡＣＴの際に、バンクを選択するためのバンクセレクト信号及びロウ・アドレスを取り込み、ロウ（ワード線）を選択する。カラムデコーダ２１３は、ＲＥＡＤ／ＷＲＩＴＥ動作時にバンクセレクト信号及びカラム・アドレスを取り込み、該当するカラム（ビット線、ディジット線）を選択する。リフレッシュカウンタ２０３は、自動的にロウ・アドレスをメモリ内部にてカウントするカウンタである。Ｉ／Ｏバッファ２０４は、データの入出力用のバッファである。ここで、特定のバンクと特定のロウによりページが構成される。アドレスバッファ２０２に入力される例えばＡ０〜Ａ１１のアドレスにより特定のカラム及びロウが選択され、ＢＡ０〜ＢＡ１のバンクアドレスによりバンクが選択される。特定のバンク及びロウによりページが選択されると、選択されたページが活性化され、当該活性化されたページについてカラム・アドレスにより指定することで所望のデータを読み出す又は書き込むことができる。
【０００７】
次に、ＳＤＲＡＭの動作について説明する。ＳＤＲＡＭは、図１２に示すような状態遷移をする（例えば、非特許文献２参照）。アイドル状態（ＩＤＬＥ）は、全ての動作開始の起点となる状態であり、各種コマンドの入力は、選択するバンクがアイドル状態であることが条件となる。また、アクティブ状態（ＡＣＴＩＶＥ）は、ロウ・アドレスが選択され、かつリードコマンドやライトコマンドなどの動作要求が行なわれていない状態を示す。選択したロウ・アドレスに対してアクティブコマンド（ＡＣＴ）を入力することで、アクティブ状態となる。プリチャージ状態（ＰＲＥ−ＣＨＡＲＧＥ）は、現在のロウ・アドレスに対する動作を終了して別のロウ・アドレスに対して動作を開始するまでの状態を示し、プリチャージコマンド（ＰＲＥ）を入力することで、デバイスは自動的にプリチャージ状態に戻る。リード・ライト状態（ＲＩＥＤ／ＷＲＩＴＥ）は、リード動作、ライト動作を実行している状態であり、アクティブ（ロウ・アクティブ）から、選択したカラム・アドレスに対してリードコマンド、ライトコマンドを入力することで当該状態に遷移する。
【０００８】
ところで、ＳＤＲＡＭでは各入出力信号はすべてＣＬＫに同期している。行アドレスを指定してから列アドレスを指定するまでに必要とされる時間をＲＡＳ−ＣＡＳレイテンシ、列アドレスを指定してからデータが確定するまでの時間をＣＡＳレイテンシ（ＣＬ）と呼ぶ。
【０００９】
このようにＳＤＲＡＭは、レイテンシを有するためリード動作、ライト動作にはある程度の時間を要する。そこで、従来のＳＤＲＡＭ２００は、このレイテンシをできる限りなくしたスピード重視の状態遷移をするものと、低消費電力で動作させることを目的とした状態遷移をするものとの２種類が存在する（例えば、非特許文献３参照）。
【００１０】
すなわち、スピード重視のＳＤＲＡＭにおいては、メモリへのアクセス要求をメモリコントローラ１１０が受け取ると、メモリ１０４の該当ページをアクティブにし、アクセス時のレイテンシを抑えるため、ＲＥＡＤ／ＷＲＩＴＥコマンドを発行しアクティブ状態（ＲＥＡＤ  ＷＡＩＴ／ＷＲＩＴＥ  ＷＡＩＴ）を保つ（図１２参照）。アクティブ状態を保つことで、アイドル状態からアクティブ状態へ遷移するための時間を節約することができる。よって、アクティブ状態を維持しているときにリード／ライト動作の要求があれば直ちにリード／ライト動作を実行できる。そして、規定の時間が経過するのを待ってプリチャージを行ない、アイドル状態に戻る。
【００１１】
一方、消費電力重視のＳＤＲＡＭにおいては、リード／ライト動作後、自動的にプリチャージを行なうオートプリチャージ付きリード／ライトコマンドＲＥＡＤＡ／ＷＲＩＴＥＡにより、リード／ライト動作実行後、直ちにプリチャージを開始し、アイドル状態に戻る。すなわち、アクティブ状態を維持することで必要になる消費電力を節約する。
【００１２】
なお、以下の説明については、リード動作を例にとって説明するが、ライト動作も同様である。図１３は、リード動作の後、プリチャージを行なわず、連続リードを行なった場合のタイミングチャートを示す図である。また、図１４は、オートプリチャージ付きリードコマンドＲＥＡＤＡを実施した場合のタイミングチャートを示す図である。
【００１３】
図１３に示すように、オートプリチャージをせずに連続ＲＥＡＤを行なうことで、１回目のＲＥＡＤのデータ（Ｑａ０〜Ｑａ３）と２回目のＲＥＡＤのデータ（Ｑｂ０〜Ｑｂ３）は連続して出力される。このことにより、１回目のリード動作の後プリチャージを行なう場合と比べ、アクティブ状態とするためのサイクル分（本例においては６サイクル）短くすることができる。
【００１４】
また、図１４に示すように、オートプリチャージ付きリードコマンドＲＥＡＤＡを実行すると、リード動作後のＴ５のタイミングで自動的にプリチャージが行なわれ、Ｔ８のタイミングでアイドル状態に戻り、アクティブ状態を維持しないため、消費電力を低減することができる。なお、Ｔ８のタイミングでＡＣＴを入力することができ、これにより再びアクティブ状態に遷移させることができる。このオートプリチャージ付きリードコマンドＲＥＡＤＡにより連続リードを行なった場合、Ｔ８のＡＣＴの後に次のＲＥＡＤＡコマンドが発行されるので、２回目のデータが出力されるＴ１３のタイミング（図示せず）となる。
【非特許文献１】ELPIDA，ＳＤＲＡＭの使い方−ユーザーズマニュアル，Document No. J0123N60 (Ver.6.0)，日本，２００５年２月，Ｐ２０−２２，[平成１７年２月２日検索]  インターネット＜http://www.elpida.com/pdfs/J0234E40.pdf＞
【非特許文献２】XILINX, DDR SDRAM Controller Using Virtex-4 FPGA Devices, XAPP709(v1.3)，２００５年８月２７日,Ｐ１１[平成１７年２月２日検索]  インターネット＜http://www.xilinx.com/bvdocs/appnotes/xapp709.pdf＞
【非特許文献３】ELPIDA，ＤＤＲ  ＳＤＲＡＭの使い方−ユーザーズマニュアル，Document No. J0234E30 (Ver.3.0)，日本，２００２年４月，Ｐ５０，６２，７２，[平成１７年２月２日検索]  インターネット＜http://www.elpida.com/pdfs/J0123N60.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述のＳＤＲＡＭの動作において、スピードを重視した場合には、アクティブ状態での待機時間が長いため消費電力が大きくなってしまうという問題点がある。特に、携帯機器等に搭載される場合、できるだけ消費電力を低くする必要があるが、アクティブ状態では、メモリの消費電力がアイドル状態と比べて１０倍程度大きくなるためである。一方、低消費電力を重視した場合には、毎回アクティブ状態に遷移させるため、メモリアクセスのレイテンシが大きくなってしまうという問題点がある。
【課題を解決するための手段】
【００１６】
本発明に係るメモリ制御装置は、メモリに対する２以上のアクセス要求を格納するキューと、前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、前記コマンド発行部は、前記キューに格納された２以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するものである。
【００１７】
本発明においては、コマンド発行部がメモリへの同一ページへのアクセス要求であるか否かを判定するため、低消費電力とするか高速動作とするかを判断してメモリアクセスのためのコマンドを発行することができる。
【００１８】
本発明にかかる携帯機器は、メモリと、前記メモリを制御するメモリ制御部と、前記メモリ制御装置を介して前記メモリにアクセスする制御部とを備え、前記メモリ制御部は、前記メモリに対する２以上のアクセス要求を格納するキューと、前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、前記コマンド発行部は、前記キューに格納された２以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するものである。
【００１９】
本発明においては、低消費電力とするか高速動作とするかを判断してメモリアクセスのためのコマンドを発行することができるメモリ制御部を備える。このことにより、携帯機器にとって重要な低消費電力を維持しつつ動作特性を向上する。
【発明の効果】
【００２０】
本発明によれば、メモリの消費電力をできるだけ低く維持しつつ、メモリアクセスのレイテンシを小さくすることができるメモリ制御装置、メモリ制御方法及びそのようなメモリ制御装置を搭載した携帯機器を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、低消費電力を維持しつつできるだけレイテンシを小さくしたＳＤＲＡＭのメモリコントローラに適用したものである。
【００２２】
図１は、本発明の実施の形態にかかるメモリコントローラ及びその周辺回路を示すブロック図である。また、図２は、このような構成を有する装置の一例としての携帯電話を示す模式図である。携帯電話や携帯通信装置などの携帯機器は、できるだけ低消費電力とすることが望まれ、一方で高速動作が可能であるこが好ましい。よって、本実施の形態にかかるメモリコントローラを搭載することで、低消費電力かつメモリアクセスの高速化を図った携帯機器が実現されうる。
【００２３】
なお、図２に示すように、一般的な携帯電話３００は、筐体３０７に覆われ、ダイアル用ボタン３０１、操作ボタン３０２、液晶表示装置３０３、マイク３０４、スピーカ３０５、アンテナ３０６等を有する。図示せぬカメラにより撮影した画像や、通信手段により受信したメールなどを保存し、又は読出すなどするため、図１に示すような装置が搭載される。
【００２４】
図１に示すように、ＤＭＡ１１、ＣＰＵ１２がバス１３を介してメモリコントローラ２０と接続される。メモリコントローラ２０は、メモリ１４と接続される。メモリコントローラ２０は、ＤＭＡ１１やＣＰＵ１２からのメモリへのアクセス要求を保持するコマンドキュー２１と、キュー２１に保持されたコマンドに基づきメモリ１４に対するコマンドを発行するコマンド発行器２２とを有する。ここで、本実施の形態にかかるコマンド発行器２２は、メモリ１４の書き込み又は読出しアドレスを比較するアドレス比較器２３を有している。このアドレス比較器２３は、キューに格納された２以上のアクセス要求がメモリへ１４への同一ページへのアクセス要求か否かを判断するものである。
【００２５】
メモリ１４は、例えば上述の図１１に示すＳＤＲＡＭである。メモリ１４におけるページとは、特定のバンクの、特定のロウで示されるアドレスを示す。上記同一ページへのアクセスとは、連続するアクセス要求が、共通のバンク及びロウ・アドレスを指定するものである場合を示す。例えば図１１に示す例では、アドレスバッファ２０２に入力される例えばＡ０〜Ａ１１のアドレスにより特定のカラム及びロウが選択され、ＢＡ０〜ＢＡ１のバンクアドレスによりバンクが選択される。特定のバンク及びロウにより、一のページが選択されると、選択されたページが活性化され、当該活性化されたページにおける任意のカラム・アドレスからデータを読み出すことができる。
【００２６】
そして、本実施の形態にかかるメモリコントローラ２０は、同一ページへのアクセス要求である場合に限って、リード／ライト動作後にプリチャージを行なわず、連続リード／ライト動作を実施することでレイテンシを削減する。すなわち、アクセス要求に従って特定のバンク及びロウを指定して一のページを活性化させ、所定のカラム・アドレスにアクセスする際、次のアクセス要求も当該ページと同一ページ（同一バンクで同一のロウ）へのアクセス要求である場合には、当該ページを活性化させたままとし、次のアクセス要求を処理する。このことにより、ページを再び活性化させることなく、直ちに所定のカラム・アドレスにアクセスすることができ。一方で、同一ページへのアクセス要求でない場合には、リード／ライト動作後にプリチャージを行なうことで低消費電力化を図る。
【００２７】
図３は、メモリ１４の状態遷移図を示す図である。メモリ１４は、アイドル状態（ＩＤＬＥ）３１からアクティブコマンドＡＣＴの入力により、アクティブ状態（ＡＣＴＩＶＥ）３２に遷移する。同一ページへのアクセス要求である場合には、リード／ライトコマンドＲＥＡＤ／ＷＲＩＴＥが発行されリード／ライト状態（ＲＥＡＤ／ＷＲＩＴＥ）３３となり、リード／ライト動作を実行し、アクティブ状態３２に戻る。
【００２８】
一方、同一ページ以外へのアクセスである場合には、オートプリチャージ付きリード／ライトコマンドＲＥＡＤＡ／ＷＲＩＴＥＡが発行されリード／ライト状態（ＲＥＡＤＡ／ＷＲＩＴＥＡ）３４となり、リード／ライト動作を実行し、自動的にプリチャージ状態（ＰＲＥ−ＣＨＡＧＥ）３５に遷移し、アイドル状態３１に戻る。すなわち、本実施の形態におけるメモリ１４は、メモリコントローラ２０により、同一ページへのアクセスが続く限りプリチャージ状態３５とはならず、リード／ライト動作の後、アクティブ状態３２に遷移するよう制御される。
【００２９】
次に、動作について説明するが、以下の説明においてはリード動作を例にとって説明する。なお、ライト動作であっても同様である。バス１３に接続されたＤＭＡ１１、ＣＰＵ１２などはメモリコントローラ２０を介してメモリ１４へアクセスする。メモリコントローラ２０のコマンドキュー２１は、メモリアクセスに対するアクセス要求（コマンド）を２以上保持する。コマンド発行器２２は、このアクセス要求を実行するため、メモリの状態を遷移させる各種コマンド、例えばアクティブ状態とするコマンドＡＣＴ、プリチャージさせるコマンドＰＲＥ、リード動作を実行するコマンドＲＥＡＤ、リード動作実行後自動的にプリチャージするオートプリチャージ付きリードコマンドＲＥＡＤＡなどを発行する。
【００３０】
ここで、リード動作後にプリチャージを行なわせるか否かはアドレス比較器２３の比較結果に基づく。すなわち、アドレス比較器２３により、連続する２つのアクセス要求のリードするアドレスが同一ページであるか否かを判定し、同一ページである場合には、リード動作後にプリチャージを行なわず、続けてリードを実行する。
【００３１】
また、リード動作後にプリチャージを行なわせる方法としては、２つの方法がある。すなわち、ＲＥＡＤコマンド発行後にプリチャージコマンドを発行する場合Ａ１と、オートプリチャージ付きリードコマンドＲＥＡＤＡにより、リード動作後に自動的にプリチャージを行なわせる場合Ａ２とである。
【００３２】
また、アドレス比較器２３がアドレスを比較するタイミングは２種類ある。すなわち、コマンドキュー２１に２つのアクセス要求がキューされた時点Ｂ１と、１つのアクセス要求を処理後、次のコマンドを発行するまでの間にキュー２１にアクセス要求が格納された時点Ｂ２とである。キュー２１にアクセス要求が格納されコマンドを発行する時点Ｂ１でアドレス比較することで、当該アクセス要求が同一ページである場合にレイテンシを削減できる。また、一のコマンドＲＥＡＤを発行してから次のコマンドを発行するまでの間にキューにアクセス要求が格納された時点Ｂ２でアドレス比較する場合は、現在実行中のリードコマンドと同一ページのアクセスか否かを比較することとなる。この場合、２つのアクセス要求がキューされた時点でなく、一のＲＩＥＡＤコマンド発行後から次のコマンド発行までの間にキューされたアクセス要求についてのアドレス比較を行なうことができるため、比較時間を長くとることができる。
【００３３】
以上の各場合について、場合を分けて、本実施の形態にかかるメモリコントローラの動作について詳細に説明する。図４乃至図６は、メモリコントローラの動作を示すタイミングチャートである。ここで、上記Ｂ１の場合、すなわち、キュー２１に２つのメモリアクセス要求がキューされ、１つ目のリードコマンドを発行するまでに、もう一方のリードコマンドが同一ページへのアクセスが否かを判断する場合、図３に示すタイミングＴ３までにアドレス比較器２３の比較結果を終了させる。一方、上記Ｂ２の場合、すなわち、一のリードコマンド発行後、次のコマンド（ＰＲＥ又はＲＥＡＤ）を発行するタイミングＴ５までにアドレス比較器２３の比較結果を終了させる。先ず、タイミングＴ３においてアドレス比較する場合について説明する。
【００３４】
図７は、タイミングＴ３においてアドレス比較する場合のメモリコントローラ２０の動作を示すフローチャートである。図７に示すように、キュー２１にメモリ１４へのアクセス要求が格納されたら（ステップＳ１）、コマンド発行器２２は、図４のタイミングＴ０に示すように、アクティブコマンドＡＣＴを発行する。すなわち、アイドル状態から、アクセス要求が指定するアドレスのバンク及びロウを指定して、該当ページを活性化し、データの読み書きができるアクティブ状態へ遷移させる（ステップＳ２）。
【００３５】
そして、キュー２１が一杯か否かを判断する（ステップＳ３）。本実施の形態におけるキュー２１は、ＤＲＡＭ１１、又はＣＰＵ１２からのアクセス要求を２つまでキューイングすることができる。よって、一杯、すなわちアクセス要求が２つある場合には、アドレス比較器２３が、両アクセス要求が同一ページへのアクセスか否かをアドレスにより比較する（ステップＳ４）。ここでは、最初に発行するリードコマンドをＲＥＡＤα又はＲＥＡＤＡα、次に発行するリードコマンドをＲＥＡＤβ又はＲＥＡＤＡβとする。
【００３６】
そして、同一ページへのアクセスであった場合（ステップＳ４：ＹＥＳ）、連続リード動作を実行するため、オートプリチャージを使用せず、図４に示すようにタイミングＴ３にＲＥＡＤαを発行する。この際、カラム・アドレスを指定することで、活性化されているページの所定のカラムデータをリードすることができる。ＲＥＡＤαの発行により、所定の時間経過後（ＣＬ＝２）、データＱα０〜Ｑα３が読み出される。上記ステップＳ４の判定は、タイミングＴ３までになされる。
【００３７】
なお、ＳＤＲＡＭはバースト転送機能を有する。バースト転送とは、１つのアドレスを指定するだけで、次に続くアドレスのデータを連続して転送することで、例えばプログラムのように、基本的に連続した命令を取り出して実行する場合は、マイクロプロセッサ側でのアドレッシングが省略できるため、高速にデータを取り出すことができる。本例においては、１回のリード動作で４ビットのデータを読み出すものとして説明するが、読出しデータのビット数はこれに限るものではない。
【００３８】
図７に戻って、ＲＥＡＤαの発行後、キュー２１に次のアクセス要求があるか否か、すなわちキュー２１が一杯であるか否かを判断し（ステップＳ３）、アクセス要求があればステップＳ４の判定を行なう。一方、次のアクセス要求がない場合（ステップＳ３：ＮＯ）、又はステップＳ４において、ＲＥＡＤ／ＲＥＡＤＡβと次のアクセス要求とが同一ページへのアクセスではない場合（ステップＳ４：ＮＯ）、ステップＳ６に進む。そして、この場合は、オートプリチャージ付きリードコマンドＲＥＡＤＡβを発行する（ステップＳ６、図４のタイミングＴ５）。上記ステップＳ４の判定は、タイミングＴ５までになされる。
【００３９】
メモリ１４は、図３に示すように、リード状態３３となってＲＥＡＤαを実行した後、アクティブ状態３２に戻るので、そのまま次のＲＥＡＤＡβによるリード動作コマンド実行することができる。タイミングＴ５のＲＥＡＤＡβの発行後、所定の時間経過度（ＣＬ＝２）、データＱβ０〜Ｑβ３が読み出される。オートプリチャージ付きリードコマンドＲＥＡＤＡβは、リード動作後にプリチャージが自動的に行なわれ、ロウの活性化を解除してアイドル状態に戻る。
【００４０】
そして、例えば次のアクセス要求がない場合には、メモリはアイドル状態３１で待機する。また、次のアクセス要求がある場合には、所定時間（ｔＲＰ）の経過後、アクティブコマンドＡＣＴを発行してアクティブ状態とし、リード動作等を実行することとなる。
【００４１】
なお、本例においては、同一ページにアクセスするか否かを判断して同一ページへのアクセスであればＲＥＡＤを発行する。そして、同一ページ以外のアクセスであれば、図５に示すように、オートプリチャージ付きリードコマンドＲＥＡＤＡを発行するものとして説明したが、この場合にもＲＥＡＤを発行し、ＰＲＥを発行するようにしてもよい。オートプリチャージは、オートプリチャージ付きリードコマンドＲＥＡＤＡを発行後、本例においては、（バースト長／２）クロック後に自動的にプリチャージが実行される。このタイミングでプリチャージＰＲＥを発行するようにしてもよいことは勿論である。
【００４２】
ところで、同一ページへのアクセスではない場合、すなわち異なるページへのアクセスには、以下の２つがある。
１．同一バンクで異なるロウ・アドレスへのアクセス
２．異なるバンクへのアクセス
【００４３】
この場合、ＲＥＡＤＡβの次のアクセス要求が同一バンクで異なるロウ・アドレスへのアクセスの場合は、ＲＥＡＤＡβのプリチャージが終わった図４のタイミングＴ１０で、次のアクセス要求である異なるページをアクティブにするアクティブコマンドＡＣＴを発行することとなる。
【００４４】
一方、ＲＥＡＤＡβの次のアクセス要求が異なるバンクへのアクセスである場合には、オートプリチャージ付きのリードコマンドＲＥＡＤＡを発行しておくことで次に説明する効果を奏する。図６は、異なるバンクへのアクセスにおけるＲＥＡＤとＲＥＡＤＡの動作の違いを説明するタイミングチャートである。
【００４５】
バンクが異なる場合、ＲＥＡＤＡβに続く次のリードコマンドに先行して発行するアクティブコマンドＡＣＴを予め発行しておくことができる。ここで、ＲＥＡＤβに先行して発行するアクティブコマンドをＡＣＴβ、ＲＥＡＤＡβに続く異なるバンクへのリードコマンドをＲＥＡＤγ、ＲＥＡＤγに先行して発行するアクティブコマンドをＡＣＴγとして説明する。
【００４６】
図６に示すように、ＲＥＡＤβのためにＡＣＴβをタイミングＴ０で発行するとする。次のアクセス要求が異なるバンクへのアクセスの場合、アクティブコマンドＡＣＴγを発行することができる。よって、タイミングＴ２でＡＣＴγを発行する。そして、ＡＣＴβの所定時間（ｔＲＣＤ）の経過後であるタイミングＴ３にてＲＥＡＤＡβが発行され、タイミングＴ５からデータＱβ０〜Ｑβ３が読み出される。
【００４７】
一方、次のコマンドについても、ＡＣＴγが発行されて所定時間（ｔＲＣＤ）の経過後であるタイミングＴ５に発行可能である。ここで、先のリードコマンドＲＥＡＤＡβがオートプリチャージ付きであるため、タイミングＴ５でプリチャージコマンドＰＲＥを発行する必要がなく、ＲＥＡＤγを発行することができる。これにより、異なるバンクへのアクセスであればデータはタイミングＴ７から読み出されることとなり、連続してデータが読み出されることとなる。
【００４８】
これに対し、ＲＥＡＤβを使用した場合は、図６（ｂ）のようになる。すなわち、ＡＣＴγの所定時間経過後であるＴ５のタイミングでＲＥＡＤγを発行することは可能であるが、プリチャージコマンドＰＲＥを発行する必要があるためタイミングＴ５では、プリチャージコマンドＰＲＥを発行する。よって、ＲＥＡＤγを発行するタイミングが図６（ａ）に比して１サイクル分遅いタイミングＴ６となる。
【００４９】
以上のように、同一アドレスへのアクセスではないと判断された場合、リードコマンドＲＥＡＤではなく、オートプリチャージ付きのリードコマンドＲＥＡＤＡを発行しておくことで、次のアクセス要求が異なるバンクへのアクセスであった場合の読出しタイミングを早くすることができる。
【００５０】
次に、タイミングＴ５においてアドレス比較する場合について説明する。図８は、タイミングＴ５においてアドレス比較する場合のメモリコントローラ２０の動作を示すフローチャートである。また、図９は、そのタイミングチャートを示す図である。
【００５１】
先ずキュー２１にアクセス要求が格納されたら（ステップＳ１１：ＹＥＳ）、アイドル状態から、アクセス要求が指定するアドレスのバンク及びロウを指定して、該当ページを活性化し、データの読み書きができるアクティブ状態へ遷移させる（ステップＳ１２、タイミングＴ０のＡＣＴ）。そして、リードコマンドＲＥＡＤを発行する（ステップＳ１３、タイミングＴ３のＲＥＡＤ）。
【００５２】
リードコマンドＲＥＡＤの発行後、タイミングＴ５において、次のアクセス要求が同一ページへのアクセスであれば続けてリードコマンドＲＥＡＤを発行することになり、一方、異なるページへのアクセスである場合はプリチャージコマンドＰＲＥを発行することになる。よって、アドレス比較器２３は、このタイミングＴ５までに、発行済みのＲＥＡＤと次のアクセス要求が同一ページであるか否かを判定する必要がある。まず、キュー２１にアクセス要求がない場合（ステップＳ１４：ＮＯ）は、プリチャージコマンドＰＲＥを発行する（ステップＳ１７）。また、キュー２１にアクセス要求がある場合（ステップＳ１４：ＹＥＳ）、同一ページへのアクセスか否かを判定する（ステップＳ１５）。異なるページへのアクセスであればプリチャージコマンドＰＲＥを発行する（ステップＳ１８）。一方、同一ページへのアクセスであれば、タイミングＴ５においてリードコマンドＲＥＡＤを発行する。以上の動作により、タイミングＴ３、Ｔ５の連続リードコマンドにより、データＱ０〜Ｑ７が読み出される。
【００５３】
ＲＥＡＤを発行したら、ステップＳ１４からの処理を繰り返す。また、ステップＳ１７、Ｓ１８にてプリチャージコマンドＰＲＥを発行する。これにより、メモリ１４のロウの活性化を解除し、メモリ１４は、アイドル状態に戻る。
【００５４】
本実施の形態においては、キューに格納されたアクセス要求のうち、連続する２つのアクセス要求が同一ページへのアクセスか否かを判定する。そして、同一ページへのアクセスである場合には、アクティブ状態を維持したまま連続リード／ライト動作を行なわせることで不要なレイテンシを削減する。また、上記判定を、２つのアクセス要求がキューイングされた時点で行なうことで、より早い時点でレイテンシをなくすことができる。一方、上記判定を、一のアクセス要求の処理中に次のアクセス要求がキューイングされた時点で行なうことで、判定時間を長くとることも可能である。また、異なるページへのアクセスの場合には、オートプリチャージ付きリード／ライトコマンドＲＥＡＤＡ／ＷＲＩＴＥＡを使用することで、異なるバンクへのアクセスの場合のレイテンシを削減するこが可能となる。
【００５５】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施の形態にかかるメモリコントローラ及びその周辺回路を示すブロック図である。
【図２】本発明の実施の形態にかかるメモリコントローラを搭載した装置の一例としての携帯電話を示す模式図である。
【図３】本発明の実施の形態にかかるメモリコントローラにより制御されるメモリの状態遷移図を示す図である。
【図４】本発明の実施の形態にかかるメモリコントローラがタイミングＴ３においてアドレス比較する場合の動作を示すタイミングチャートである。
【図５】リードコマンドＲＥＡＤ及びオートプリチャージ付きリードコマンドＲＥＡＤＡを説明するタイミングチャートである。
【図６】連続するアクセス要求が異なるバンクへのアクセスである場合におけるＲＥＡＤとＲＥＡＤＡの動作の違いを説明するタイミングチャートである。
【図７】本発明の実施の形態にかかるメモリコントローラがタイミングＴ３においてアドレス比較する場合の動作を示すフローチャートである。
【図８】本発明の実施の形態にかかるメモリコントローラがタイミングＴ５においてアドレス比較する場合の動作を示すフローチャートである。
【図９】本発明の実施の形態にかかるメモリコントローラがタイミングＴ５においてアドレス比較する場合の動作を示すタイミングチャートである。
【図１０】従来のメモリコントローラを示す図である。
【図１１】従来のメモリの一例として１２８Ｍビット(２Ｍワード×１６ビット×４バンク)のＳＤＲＡＭを示すブロック図である。
【図１２】従来のメモリの状態遷移を示す図である。
【図１３】従来のスピード重視のメモリ制御動作を説明する図であって、リード動作の後、プリチャージを行なわず、連続リードを行なった場合のタイミングチャートを示す図である。
【図１４】従来の消費電力重視のメモリ制御動作を説明する図であって、オートプリチャージ付きＲＥＡＤＡコマンドを実施した場合のタイミングチャートを示す図である。
【符号の説明】
【００５７】
１１  ＤＭＡ
１２  ＣＰＵ
１３  バス
１４  メモリ
２０  メモリコントローラ
２１  キュー
２２  コマンド発行器
２３  アドレス比較器
３１  アイドル状態
３２  アクティブ状態
３３  リード状態
３４  リード／ライト状態
３５  プリチャージ状態
３００  携帯電話
３０１  ダイアル用ボタン
３０２  操作ボタン
３０３  液晶表示装置
３０４  マイク
３０５  スピーカ
３０６  アンテナ
３０７  筐体
【図１】
2007249837.tif 000003
【図２】
2007249837.tif 000004
【図３】
2007249837.tif 000005
【図４】
2007249837.tif 000006
【図５】
2007249837.tif 000007
【図６】
2007249837.tif 000008
【図７】
2007249837.tif 000009
【図８】
2007249837.tif 000010
【図９】
2007249837.tif 000011
【図１０】
2007249837.tif 000012
【図１１】
2007249837.tif 000013
【図１２】
2007249837.tif 000014
【図１３】
2007249837.tif 000015
【図１４】
2007249837.tif 000016