JP2007249837A - メモリ制御装置、メモリ制御方法及び携帯機器 - Google Patents
メモリ制御装置、メモリ制御方法及び携帯機器 Download PDFInfo
- Publication number
- JP2007249837A JP2007249837A JP2006075369A JP2006075369A JP2007249837A JP 2007249837 A JP2007249837 A JP 2007249837A JP 2006075369 A JP2006075369 A JP 2006075369A JP 2006075369 A JP2006075369 A JP 2006075369A JP 2007249837 A JP2007249837 A JP 2007249837A
- Authority
- JP
- Japan
- Prior art keywords
- command
- memory
- read
- access
- issued
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
【課題】メモリの消費電力をできるだけ低く維持しつつ、メモリアクセスのレイテンシを小さくすることができるメモリ制御装置、メモリ制御方法及びそのようなメモリ制御装置を搭載した携帯機器を提供すること。
【解決手段】メモリコントローラ20は、メモリ14に対するアクセス要求を最大2つまで格納するキュー21と、キュー21に格納されたアクセス要求に基づきメモリ14へコマンドを発行するコマンド発行部22とを有する。コマンド発行部22は、キュー21に格納されたアクセス要求が、メモリ14への同一ページへのアクセス要求か否かを判定するアドレス比較器22を有し、コマンド発行器22は、同一ページへのアクセス要求であれば、連続してリード/ライトコマンドを連続して発行し、異なるページへのアクセスである場合には、一のリードコマンド発行後にプリチャージコマンドを発行する。
【選択図】 図1
【解決手段】メモリコントローラ20は、メモリ14に対するアクセス要求を最大2つまで格納するキュー21と、キュー21に格納されたアクセス要求に基づきメモリ14へコマンドを発行するコマンド発行部22とを有する。コマンド発行部22は、キュー21に格納されたアクセス要求が、メモリ14への同一ページへのアクセス要求か否かを判定するアドレス比較器22を有し、コマンド発行器22は、同一ページへのアクセス要求であれば、連続してリード/ライトコマンドを連続して発行し、異なるページへのアクセスである場合には、一のリードコマンド発行後にプリチャージコマンドを発行する。
【選択図】 図1
Description
本発明は、SDRAMなどのメモリを制御するメモリ制御装置及びメモリ制御方法、並びにメモリ制御装置を搭載した携帯機器に関する。
図10は、従来のメモリコントローラを示す図である。バス103に接続されたDMA(Direct Memory Access)101、CPU(Central Processing Unit)102などは、メモリコントローラ110を介してメモリ104へアクセスする。メモリコントローラ110は、DMA101、CPU102等からのアクセス要求に対して、メモリ104へのコマンドを発行するコマンド発行器111を有する。
メモリコントローラ110へDMA101、CPU102などからアクセス要求が発行されると、メモリコントローラ110のコマンド発行器111は、メモリ104からデータを読み出し、又は書き込みするためのコマンドを生成し、メモリ104へ当該コマンドを発行する。
図11は、メモリ104の一例として128Mビット(2Mワード×16ビット×4バンク)のSDRAM(Synchronous Dynamic Random Access Memory)を示すブロック図である(例えば、非特許文献1参照)。SDRAM200は、4つのバンク2010〜2013と、アドレスバッファ202と、リフレッシュカウンタ203と、I/Oバッファ204とを有する。各バンク2010〜2013は同様に構成される。例えばバンク2010は、メモリセルアレイ2110と、アドレスデコーダ(ロウ(Row)デコーダ2120、カラム(Column)デコーダ2130)、及びセンスアンプ2140から構成される。なお、以下の説明において特に区別の必要がない場合、バンク201、メモリセルアレイ211、ロウデコーダ212、カラムデコーダ213、センスアンプ214ということとする。
SDRAM200は、外部インタフェースをすべてクロックに同期させることで、リード/ライトのアクセス時間を固定化し、高速動作を実現したものである。SDRAMの特徴の1つとして、メモリセルを独立して動作可能なブロック(バンク)に分けていることが挙げられ、これをマルチ・バンク・オペレーションという。バンクは多いほど1つのセルアレイにおけるドライブ能力が向上し高速アクセスが可能となるが、センスアンプの数とドライブ性能、消費電力、集積度などが考慮された結果、4バンク構成が標準となっている。
このバンク201は、並列動作が可能なようにメモリセル群を例えば4つのメモリセルアレイに分割したものである。メモリセルアレイ201のメモリセルは、1トランジスタ及び1コンデンサにより構成される。ロウデコーダ212は、後述するACTの際に、バンクを選択するためのバンクセレクト信号及びロウ・アドレスを取り込み、ロウ(ワード線)を選択する。カラムデコーダ213は、READ/WRITE動作時にバンクセレクト信号及びカラム・アドレスを取り込み、該当するカラム(ビット線、ディジット線)を選択する。リフレッシュカウンタ203は、自動的にロウ・アドレスをメモリ内部にてカウントするカウンタである。I/Oバッファ204は、データの入出力用のバッファである。ここで、特定のバンクと特定のロウによりページが構成される。アドレスバッファ202に入力される例えばA0〜A11のアドレスにより特定のカラム及びロウが選択され、BA0〜BA1のバンクアドレスによりバンクが選択される。特定のバンク及びロウによりページが選択されると、選択されたページが活性化され、当該活性化されたページについてカラム・アドレスにより指定することで所望のデータを読み出す又は書き込むことができる。
次に、SDRAMの動作について説明する。SDRAMは、図12に示すような状態遷移をする(例えば、非特許文献2参照)。アイドル状態(IDLE)は、全ての動作開始の起点となる状態であり、各種コマンドの入力は、選択するバンクがアイドル状態であることが条件となる。また、アクティブ状態(ACTIVE)は、ロウ・アドレスが選択され、かつリードコマンドやライトコマンドなどの動作要求が行なわれていない状態を示す。選択したロウ・アドレスに対してアクティブコマンド(ACT)を入力することで、アクティブ状態となる。プリチャージ状態(PRE−CHARGE)は、現在のロウ・アドレスに対する動作を終了して別のロウ・アドレスに対して動作を開始するまでの状態を示し、プリチャージコマンド(PRE)を入力することで、デバイスは自動的にプリチャージ状態に戻る。リード・ライト状態(RIED/WRITE)は、リード動作、ライト動作を実行している状態であり、アクティブ(ロウ・アクティブ)から、選択したカラム・アドレスに対してリードコマンド、ライトコマンドを入力することで当該状態に遷移する。
ところで、SDRAMでは各入出力信号はすべてCLKに同期している。行アドレスを指定してから列アドレスを指定するまでに必要とされる時間をRAS−CASレイテンシ、列アドレスを指定してからデータが確定するまでの時間をCASレイテンシ(CL)と呼ぶ。
このようにSDRAMは、レイテンシを有するためリード動作、ライト動作にはある程度の時間を要する。そこで、従来のSDRAM200は、このレイテンシをできる限りなくしたスピード重視の状態遷移をするものと、低消費電力で動作させることを目的とした状態遷移をするものとの2種類が存在する(例えば、非特許文献3参照)。
すなわち、スピード重視のSDRAMにおいては、メモリへのアクセス要求をメモリコントローラ110が受け取ると、メモリ104の該当ページをアクティブにし、アクセス時のレイテンシを抑えるため、READ/WRITEコマンドを発行しアクティブ状態(READ WAIT/WRITE WAIT)を保つ(図12参照)。アクティブ状態を保つことで、アイドル状態からアクティブ状態へ遷移するための時間を節約することができる。よって、アクティブ状態を維持しているときにリード/ライト動作の要求があれば直ちにリード/ライト動作を実行できる。そして、規定の時間が経過するのを待ってプリチャージを行ない、アイドル状態に戻る。
一方、消費電力重視のSDRAMにおいては、リード/ライト動作後、自動的にプリチャージを行なうオートプリチャージ付きリード/ライトコマンドREADA/WRITEAにより、リード/ライト動作実行後、直ちにプリチャージを開始し、アイドル状態に戻る。すなわち、アクティブ状態を維持することで必要になる消費電力を節約する。
なお、以下の説明については、リード動作を例にとって説明するが、ライト動作も同様である。図13は、リード動作の後、プリチャージを行なわず、連続リードを行なった場合のタイミングチャートを示す図である。また、図14は、オートプリチャージ付きリードコマンドREADAを実施した場合のタイミングチャートを示す図である。
図13に示すように、オートプリチャージをせずに連続READを行なうことで、1回目のREADのデータ(Qa0〜Qa3)と2回目のREADのデータ(Qb0〜Qb3)は連続して出力される。このことにより、1回目のリード動作の後プリチャージを行なう場合と比べ、アクティブ状態とするためのサイクル分(本例においては6サイクル)短くすることができる。
また、図14に示すように、オートプリチャージ付きリードコマンドREADAを実行すると、リード動作後のT5のタイミングで自動的にプリチャージが行なわれ、T8のタイミングでアイドル状態に戻り、アクティブ状態を維持しないため、消費電力を低減することができる。なお、T8のタイミングでACTを入力することができ、これにより再びアクティブ状態に遷移させることができる。このオートプリチャージ付きリードコマンドREADAにより連続リードを行なった場合、T8のACTの後に次のREADAコマンドが発行されるので、2回目のデータが出力されるT13のタイミング(図示せず)となる。
ELPIDA,SDRAMの使い方−ユーザーズマニュアル,Document No. J0123N60 (Ver.6.0),日本,2005年2月,P20−22,[平成17年2月2日検索] インターネット<http://www.elpida.com/pdfs/J0234E40.pdf> XILINX, DDR SDRAM Controller Using Virtex-4 FPGA Devices, XAPP709(v1.3),2005年8月27日,P11[平成17年2月2日検索] インターネット<http://www.xilinx.com/bvdocs/appnotes/xapp709.pdf> ELPIDA,DDR SDRAMの使い方−ユーザーズマニュアル,Document No. J0234E30 (Ver.3.0),日本,2002年4月,P50,62,72,[平成17年2月2日検索] インターネット<http://www.elpida.com/pdfs/J0123N60.pdf>
ELPIDA,SDRAMの使い方−ユーザーズマニュアル,Document No. J0123N60 (Ver.6.0),日本,2005年2月,P20−22,[平成17年2月2日検索] インターネット<http://www.elpida.com/pdfs/J0234E40.pdf> XILINX, DDR SDRAM Controller Using Virtex-4 FPGA Devices, XAPP709(v1.3),2005年8月27日,P11[平成17年2月2日検索] インターネット<http://www.xilinx.com/bvdocs/appnotes/xapp709.pdf> ELPIDA,DDR SDRAMの使い方−ユーザーズマニュアル,Document No. J0234E30 (Ver.3.0),日本,2002年4月,P50,62,72,[平成17年2月2日検索] インターネット<http://www.elpida.com/pdfs/J0123N60.pdf>
しかしながら、上述のSDRAMの動作において、スピードを重視した場合には、アクティブ状態での待機時間が長いため消費電力が大きくなってしまうという問題点がある。特に、携帯機器等に搭載される場合、できるだけ消費電力を低くする必要があるが、アクティブ状態では、メモリの消費電力がアイドル状態と比べて10倍程度大きくなるためである。一方、低消費電力を重視した場合には、毎回アクティブ状態に遷移させるため、メモリアクセスのレイテンシが大きくなってしまうという問題点がある。
本発明に係るメモリ制御装置は、メモリに対する2以上のアクセス要求を格納するキューと、前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、前記コマンド発行部は、前記キューに格納された2以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するものである。
本発明においては、コマンド発行部がメモリへの同一ページへのアクセス要求であるか否かを判定するため、低消費電力とするか高速動作とするかを判断してメモリアクセスのためのコマンドを発行することができる。
本発明にかかる携帯機器は、メモリと、前記メモリを制御するメモリ制御部と、前記メモリ制御装置を介して前記メモリにアクセスする制御部とを備え、前記メモリ制御部は、前記メモリに対する2以上のアクセス要求を格納するキューと、前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、前記コマンド発行部は、前記キューに格納された2以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するものである。
本発明においては、低消費電力とするか高速動作とするかを判断してメモリアクセスのためのコマンドを発行することができるメモリ制御部を備える。このことにより、携帯機器にとって重要な低消費電力を維持しつつ動作特性を向上する。
本発明によれば、メモリの消費電力をできるだけ低く維持しつつ、メモリアクセスのレイテンシを小さくすることができるメモリ制御装置、メモリ制御方法及びそのようなメモリ制御装置を搭載した携帯機器を提供することができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、低消費電力を維持しつつできるだけレイテンシを小さくしたSDRAMのメモリコントローラに適用したものである。
図1は、本発明の実施の形態にかかるメモリコントローラ及びその周辺回路を示すブロック図である。また、図2は、このような構成を有する装置の一例としての携帯電話を示す模式図である。携帯電話や携帯通信装置などの携帯機器は、できるだけ低消費電力とすることが望まれ、一方で高速動作が可能であるこが好ましい。よって、本実施の形態にかかるメモリコントローラを搭載することで、低消費電力かつメモリアクセスの高速化を図った携帯機器が実現されうる。
なお、図2に示すように、一般的な携帯電話300は、筐体307に覆われ、ダイアル用ボタン301、操作ボタン302、液晶表示装置303、マイク304、スピーカ305、アンテナ306等を有する。図示せぬカメラにより撮影した画像や、通信手段により受信したメールなどを保存し、又は読出すなどするため、図1に示すような装置が搭載される。
図1に示すように、DMA11、CPU12がバス13を介してメモリコントローラ20と接続される。メモリコントローラ20は、メモリ14と接続される。メモリコントローラ20は、DMA11やCPU12からのメモリへのアクセス要求を保持するコマンドキュー21と、キュー21に保持されたコマンドに基づきメモリ14に対するコマンドを発行するコマンド発行器22とを有する。ここで、本実施の形態にかかるコマンド発行器22は、メモリ14の書き込み又は読出しアドレスを比較するアドレス比較器23を有している。このアドレス比較器23は、キューに格納された2以上のアクセス要求がメモリへ14への同一ページへのアクセス要求か否かを判断するものである。
メモリ14は、例えば上述の図11に示すSDRAMである。メモリ14におけるページとは、特定のバンクの、特定のロウで示されるアドレスを示す。上記同一ページへのアクセスとは、連続するアクセス要求が、共通のバンク及びロウ・アドレスを指定するものである場合を示す。例えば図11に示す例では、アドレスバッファ202に入力される例えばA0〜A11のアドレスにより特定のカラム及びロウが選択され、BA0〜BA1のバンクアドレスによりバンクが選択される。特定のバンク及びロウにより、一のページが選択されると、選択されたページが活性化され、当該活性化されたページにおける任意のカラム・アドレスからデータを読み出すことができる。
そして、本実施の形態にかかるメモリコントローラ20は、同一ページへのアクセス要求である場合に限って、リード/ライト動作後にプリチャージを行なわず、連続リード/ライト動作を実施することでレイテンシを削減する。すなわち、アクセス要求に従って特定のバンク及びロウを指定して一のページを活性化させ、所定のカラム・アドレスにアクセスする際、次のアクセス要求も当該ページと同一ページ(同一バンクで同一のロウ)へのアクセス要求である場合には、当該ページを活性化させたままとし、次のアクセス要求を処理する。このことにより、ページを再び活性化させることなく、直ちに所定のカラム・アドレスにアクセスすることができ。一方で、同一ページへのアクセス要求でない場合には、リード/ライト動作後にプリチャージを行なうことで低消費電力化を図る。
図3は、メモリ14の状態遷移図を示す図である。メモリ14は、アイドル状態(IDLE)31からアクティブコマンドACTの入力により、アクティブ状態(ACTIVE)32に遷移する。同一ページへのアクセス要求である場合には、リード/ライトコマンドREAD/WRITEが発行されリード/ライト状態(READ/WRITE)33となり、リード/ライト動作を実行し、アクティブ状態32に戻る。
一方、同一ページ以外へのアクセスである場合には、オートプリチャージ付きリード/ライトコマンドREADA/WRITEAが発行されリード/ライト状態(READA/WRITEA)34となり、リード/ライト動作を実行し、自動的にプリチャージ状態(PRE−CHAGE)35に遷移し、アイドル状態31に戻る。すなわち、本実施の形態におけるメモリ14は、メモリコントローラ20により、同一ページへのアクセスが続く限りプリチャージ状態35とはならず、リード/ライト動作の後、アクティブ状態32に遷移するよう制御される。
次に、動作について説明するが、以下の説明においてはリード動作を例にとって説明する。なお、ライト動作であっても同様である。バス13に接続されたDMA11、CPU12などはメモリコントローラ20を介してメモリ14へアクセスする。メモリコントローラ20のコマンドキュー21は、メモリアクセスに対するアクセス要求(コマンド)を2以上保持する。コマンド発行器22は、このアクセス要求を実行するため、メモリの状態を遷移させる各種コマンド、例えばアクティブ状態とするコマンドACT、プリチャージさせるコマンドPRE、リード動作を実行するコマンドREAD、リード動作実行後自動的にプリチャージするオートプリチャージ付きリードコマンドREADAなどを発行する。
ここで、リード動作後にプリチャージを行なわせるか否かはアドレス比較器23の比較結果に基づく。すなわち、アドレス比較器23により、連続する2つのアクセス要求のリードするアドレスが同一ページであるか否かを判定し、同一ページである場合には、リード動作後にプリチャージを行なわず、続けてリードを実行する。
また、リード動作後にプリチャージを行なわせる方法としては、2つの方法がある。すなわち、READコマンド発行後にプリチャージコマンドを発行する場合A1と、オートプリチャージ付きリードコマンドREADAにより、リード動作後に自動的にプリチャージを行なわせる場合A2とである。
また、アドレス比較器23がアドレスを比較するタイミングは2種類ある。すなわち、コマンドキュー21に2つのアクセス要求がキューされた時点B1と、1つのアクセス要求を処理後、次のコマンドを発行するまでの間にキュー21にアクセス要求が格納された時点B2とである。キュー21にアクセス要求が格納されコマンドを発行する時点B1でアドレス比較することで、当該アクセス要求が同一ページである場合にレイテンシを削減できる。また、一のコマンドREADを発行してから次のコマンドを発行するまでの間にキューにアクセス要求が格納された時点B2でアドレス比較する場合は、現在実行中のリードコマンドと同一ページのアクセスか否かを比較することとなる。この場合、2つのアクセス要求がキューされた時点でなく、一のRIEADコマンド発行後から次のコマンド発行までの間にキューされたアクセス要求についてのアドレス比較を行なうことができるため、比較時間を長くとることができる。
以上の各場合について、場合を分けて、本実施の形態にかかるメモリコントローラの動作について詳細に説明する。図4乃至図6は、メモリコントローラの動作を示すタイミングチャートである。ここで、上記B1の場合、すなわち、キュー21に2つのメモリアクセス要求がキューされ、1つ目のリードコマンドを発行するまでに、もう一方のリードコマンドが同一ページへのアクセスが否かを判断する場合、図3に示すタイミングT3までにアドレス比較器23の比較結果を終了させる。一方、上記B2の場合、すなわち、一のリードコマンド発行後、次のコマンド(PRE又はREAD)を発行するタイミングT5までにアドレス比較器23の比較結果を終了させる。先ず、タイミングT3においてアドレス比較する場合について説明する。
図7は、タイミングT3においてアドレス比較する場合のメモリコントローラ20の動作を示すフローチャートである。図7に示すように、キュー21にメモリ14へのアクセス要求が格納されたら(ステップS1)、コマンド発行器22は、図4のタイミングT0に示すように、アクティブコマンドACTを発行する。すなわち、アイドル状態から、アクセス要求が指定するアドレスのバンク及びロウを指定して、該当ページを活性化し、データの読み書きができるアクティブ状態へ遷移させる(ステップS2)。
そして、キュー21が一杯か否かを判断する(ステップS3)。本実施の形態におけるキュー21は、DRAM11、又はCPU12からのアクセス要求を2つまでキューイングすることができる。よって、一杯、すなわちアクセス要求が2つある場合には、アドレス比較器23が、両アクセス要求が同一ページへのアクセスか否かをアドレスにより比較する(ステップS4)。ここでは、最初に発行するリードコマンドをREADα又はREADAα、次に発行するリードコマンドをREADβ又はREADAβとする。
そして、同一ページへのアクセスであった場合(ステップS4:YES)、連続リード動作を実行するため、オートプリチャージを使用せず、図4に示すようにタイミングT3にREADαを発行する。この際、カラム・アドレスを指定することで、活性化されているページの所定のカラムデータをリードすることができる。READαの発行により、所定の時間経過後(CL=2)、データQα0〜Qα3が読み出される。上記ステップS4の判定は、タイミングT3までになされる。
なお、SDRAMはバースト転送機能を有する。バースト転送とは、1つのアドレスを指定するだけで、次に続くアドレスのデータを連続して転送することで、例えばプログラムのように、基本的に連続した命令を取り出して実行する場合は、マイクロプロセッサ側でのアドレッシングが省略できるため、高速にデータを取り出すことができる。本例においては、1回のリード動作で4ビットのデータを読み出すものとして説明するが、読出しデータのビット数はこれに限るものではない。
図7に戻って、READαの発行後、キュー21に次のアクセス要求があるか否か、すなわちキュー21が一杯であるか否かを判断し(ステップS3)、アクセス要求があればステップS4の判定を行なう。一方、次のアクセス要求がない場合(ステップS3:NO)、又はステップS4において、READ/READAβと次のアクセス要求とが同一ページへのアクセスではない場合(ステップS4:NO)、ステップS6に進む。そして、この場合は、オートプリチャージ付きリードコマンドREADAβを発行する(ステップS6、図4のタイミングT5)。上記ステップS4の判定は、タイミングT5までになされる。
メモリ14は、図3に示すように、リード状態33となってREADαを実行した後、アクティブ状態32に戻るので、そのまま次のREADAβによるリード動作コマンド実行することができる。タイミングT5のREADAβの発行後、所定の時間経過度(CL=2)、データQβ0〜Qβ3が読み出される。オートプリチャージ付きリードコマンドREADAβは、リード動作後にプリチャージが自動的に行なわれ、ロウの活性化を解除してアイドル状態に戻る。
そして、例えば次のアクセス要求がない場合には、メモリはアイドル状態31で待機する。また、次のアクセス要求がある場合には、所定時間(tRP)の経過後、アクティブコマンドACTを発行してアクティブ状態とし、リード動作等を実行することとなる。
なお、本例においては、同一ページにアクセスするか否かを判断して同一ページへのアクセスであればREADを発行する。そして、同一ページ以外のアクセスであれば、図5に示すように、オートプリチャージ付きリードコマンドREADAを発行するものとして説明したが、この場合にもREADを発行し、PREを発行するようにしてもよい。オートプリチャージは、オートプリチャージ付きリードコマンドREADAを発行後、本例においては、(バースト長/2)クロック後に自動的にプリチャージが実行される。このタイミングでプリチャージPREを発行するようにしてもよいことは勿論である。
ところで、同一ページへのアクセスではない場合、すなわち異なるページへのアクセスには、以下の2つがある。
1.同一バンクで異なるロウ・アドレスへのアクセス
2.異なるバンクへのアクセス
1.同一バンクで異なるロウ・アドレスへのアクセス
2.異なるバンクへのアクセス
この場合、READAβの次のアクセス要求が同一バンクで異なるロウ・アドレスへのアクセスの場合は、READAβのプリチャージが終わった図4のタイミングT10で、次のアクセス要求である異なるページをアクティブにするアクティブコマンドACTを発行することとなる。
一方、READAβの次のアクセス要求が異なるバンクへのアクセスである場合には、オートプリチャージ付きのリードコマンドREADAを発行しておくことで次に説明する効果を奏する。図6は、異なるバンクへのアクセスにおけるREADとREADAの動作の違いを説明するタイミングチャートである。
バンクが異なる場合、READAβに続く次のリードコマンドに先行して発行するアクティブコマンドACTを予め発行しておくことができる。ここで、READβに先行して発行するアクティブコマンドをACTβ、READAβに続く異なるバンクへのリードコマンドをREADγ、READγに先行して発行するアクティブコマンドをACTγとして説明する。
図6に示すように、READβのためにACTβをタイミングT0で発行するとする。次のアクセス要求が異なるバンクへのアクセスの場合、アクティブコマンドACTγを発行することができる。よって、タイミングT2でACTγを発行する。そして、ACTβの所定時間(tRCD)の経過後であるタイミングT3にてREADAβが発行され、タイミングT5からデータQβ0〜Qβ3が読み出される。
一方、次のコマンドについても、ACTγが発行されて所定時間(tRCD)の経過後であるタイミングT5に発行可能である。ここで、先のリードコマンドREADAβがオートプリチャージ付きであるため、タイミングT5でプリチャージコマンドPREを発行する必要がなく、READγを発行することができる。これにより、異なるバンクへのアクセスであればデータはタイミングT7から読み出されることとなり、連続してデータが読み出されることとなる。
これに対し、READβを使用した場合は、図6(b)のようになる。すなわち、ACTγの所定時間経過後であるT5のタイミングでREADγを発行することは可能であるが、プリチャージコマンドPREを発行する必要があるためタイミングT5では、プリチャージコマンドPREを発行する。よって、READγを発行するタイミングが図6(a)に比して1サイクル分遅いタイミングT6となる。
以上のように、同一アドレスへのアクセスではないと判断された場合、リードコマンドREADではなく、オートプリチャージ付きのリードコマンドREADAを発行しておくことで、次のアクセス要求が異なるバンクへのアクセスであった場合の読出しタイミングを早くすることができる。
次に、タイミングT5においてアドレス比較する場合について説明する。図8は、タイミングT5においてアドレス比較する場合のメモリコントローラ20の動作を示すフローチャートである。また、図9は、そのタイミングチャートを示す図である。
先ずキュー21にアクセス要求が格納されたら(ステップS11:YES)、アイドル状態から、アクセス要求が指定するアドレスのバンク及びロウを指定して、該当ページを活性化し、データの読み書きができるアクティブ状態へ遷移させる(ステップS12、タイミングT0のACT)。そして、リードコマンドREADを発行する(ステップS13、タイミングT3のREAD)。
リードコマンドREADの発行後、タイミングT5において、次のアクセス要求が同一ページへのアクセスであれば続けてリードコマンドREADを発行することになり、一方、異なるページへのアクセスである場合はプリチャージコマンドPREを発行することになる。よって、アドレス比較器23は、このタイミングT5までに、発行済みのREADと次のアクセス要求が同一ページであるか否かを判定する必要がある。まず、キュー21にアクセス要求がない場合(ステップS14:NO)は、プリチャージコマンドPREを発行する(ステップS17)。また、キュー21にアクセス要求がある場合(ステップS14:YES)、同一ページへのアクセスか否かを判定する(ステップS15)。異なるページへのアクセスであればプリチャージコマンドPREを発行する(ステップS18)。一方、同一ページへのアクセスであれば、タイミングT5においてリードコマンドREADを発行する。以上の動作により、タイミングT3、T5の連続リードコマンドにより、データQ0〜Q7が読み出される。
READを発行したら、ステップS14からの処理を繰り返す。また、ステップS17、S18にてプリチャージコマンドPREを発行する。これにより、メモリ14のロウの活性化を解除し、メモリ14は、アイドル状態に戻る。
本実施の形態においては、キューに格納されたアクセス要求のうち、連続する2つのアクセス要求が同一ページへのアクセスか否かを判定する。そして、同一ページへのアクセスである場合には、アクティブ状態を維持したまま連続リード/ライト動作を行なわせることで不要なレイテンシを削減する。また、上記判定を、2つのアクセス要求がキューイングされた時点で行なうことで、より早い時点でレイテンシをなくすことができる。一方、上記判定を、一のアクセス要求の処理中に次のアクセス要求がキューイングされた時点で行なうことで、判定時間を長くとることも可能である。また、異なるページへのアクセスの場合には、オートプリチャージ付きリード/ライトコマンドREADA/WRITEAを使用することで、異なるバンクへのアクセスの場合のレイテンシを削減するこが可能となる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
11 DMA
12 CPU
13 バス
14 メモリ
20 メモリコントローラ
21 キュー
22 コマンド発行器
23 アドレス比較器
31 アイドル状態
32 アクティブ状態
33 リード状態
34 リード/ライト状態
35 プリチャージ状態
300 携帯電話
301 ダイアル用ボタン
302 操作ボタン
303 液晶表示装置
304 マイク
305 スピーカ
306 アンテナ
307 筐体
12 CPU
13 バス
14 メモリ
20 メモリコントローラ
21 キュー
22 コマンド発行器
23 アドレス比較器
31 アイドル状態
32 アクティブ状態
33 リード状態
34 リード/ライト状態
35 プリチャージ状態
300 携帯電話
301 ダイアル用ボタン
302 操作ボタン
303 液晶表示装置
304 マイク
305 スピーカ
306 アンテナ
307 筐体
Claims (14)
- メモリに対する2以上のアクセス要求を格納するキューと、
前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、
前記コマンド発行部は、前記キューに格納された2以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、
前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行するメモリ制御装置。 - 前記コマンド発行部は、連続するアクセス要求が前記メモリの同一ページへのアクセス要求である場合には連続してリード/ライトコマンドを発行し、異なるページへのアクセス要求である場合にはプリチャージするためのコマンドを発行する
ことを特徴とする請求項1記載のメモリ制御装置。 - 前記コマンド発行部は、異なるページへのアクセス要求である場合には、コマンドの発行後、自動的にプリチャージをするオートプリチャージ付きリード/ライトコマンドを発行する
ことを特徴とする請求項2記載のメモリ制御装置。 - 前記コマンド発行部は、異なるページへのアクセス要求である場合には、プリチャージコマンドを発行する
ことを特徴とする請求項2記載のメモリ制御装置。 - 前記判定部は、前記キューに2つの前記アクセス要求を格納した場合当該2つのアクセス要求が、同一ページへのアクセス要求か否かを判定し、
前記コマンド発行部は、前記2つのアクセス要求が異なるページへのアクセス要求である場合には、コマンドを発行すると自動的にプリチャージをするオートプリチャージ付きリード/ライトコマンドを発行する
ことを特徴とする請求項1記載のメモリ制御装置。 - 前記判定部は、前記リード/ライトコマンドの発行乃至プリチャージコマンドの発行までの間に前記キューに前記アクセス要求を格納した場合に、当該発行したリード/ライトコマンドが示すアドレスと、当該アクセス要求が示すアドレスとが、同一ページへのものであるか否かを判定し、
前記コマンド発行部は、同一ページへのアクセス要求である場合に前記リード/ライトコマンドに連続して前記リード/ライトコマンドを発行する
ことを特徴とする請求項1記載のメモリ制御装置。 - 前記キューは最大2つのアクセス要求を格納する
ことを特徴とする請求項1記載のメモリ制御装置。 - メモリに対する2以上のアクセス要求を格納するキューを有するメモリ制御装置のメモリ制御方法であって、
前記キューに格納された2以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定し、
前記判定結果に基づき前記コマンドを発行するメモリ制御方法。 - 前記コマンドの発行では、連続するアクセス要求が前記メモリの同一ページへのアクセス要求である場合には連続してリード/ライトコマンドを発行し、異なるページへのアクセス要求である場合には前記メモリをプリチャージするためのコマンドを発行する
ことを特徴とする請求項8記載のメモリ制御方法。 - 前記異なるページへのアクセス要求である場合には、コマンドの発行後、自動的にプリチャージをするオートプリチャージ付きリード/ライトコマンドを発行する
ことを特徴とする請求項9記載のメモリ制御方法。 - 前記異なるページへのアクセス要求である場合には、プリチャージコマンドを発行する
ことを特徴とする請求項9記載のメモリ制御方法。 - 前記キューに2つの前記アクセス要求を格納した場合は、当該2つのアクセス要求が、同一ページへのアクセス要求か否かを判定し、
前記2つのアクセス要求が異なるページへのアクセス要求である場合には、コマンドを発行すると自動的にプリチャージするオートプリチャージ付きリード/ライトコマンドを発行する
ことを特徴とする請求項9記載のメモリ制御方法。 - 前記メモリがアクティブ状態であるときに前記キューにアクセス要求が格納された場合は、前回発行したリード/ライトコマンドが示すアドレスと、当該アクセス要求が示すアドレスとが、同一ページへのものであるか否かを判定し、
同一ページへのアクセス要求であれば当該前回発行したリード/ライトコマンドに連続してリード/ライトコマンドを発行し、異なるページへのアクセス要求であればプリチャージコマンドを発行する
ことを特徴とする請求項9記載のメモリ制御方法。 - メモリと、
前記メモリを制御するメモリ制御部と、
前記メモリ制御装置を介して前記メモリにアクセスする制御部とを備え、
前記メモリ制御部は、前記メモリに対する2以上のアクセス要求を格納するキューと、
前記キューに格納されたアクセス要求に基づき前記メモリへコマンドを発行するコマンド発行部とを有し、
前記コマンド発行部は、前記キューに格納された2以上の前記アクセス要求が、前記メモリへの同一ページへのアクセス要求か否かを判定する判定部を有し、
前記コマンド発行部は、前記判定結果に基づき前記コマンドを発行する携帯機器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006075369A JP2007249837A (ja) | 2006-03-17 | 2006-03-17 | メモリ制御装置、メモリ制御方法及び携帯機器 |
US11/714,749 US20070220218A1 (en) | 2006-03-17 | 2007-03-07 | Apparatus and method for memory control, and mobile device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006075369A JP2007249837A (ja) | 2006-03-17 | 2006-03-17 | メモリ制御装置、メモリ制御方法及び携帯機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007249837A true JP2007249837A (ja) | 2007-09-27 |
Family
ID=38519311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006075369A Pending JP2007249837A (ja) | 2006-03-17 | 2006-03-17 | メモリ制御装置、メモリ制御方法及び携帯機器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070220218A1 (ja) |
JP (1) | JP2007249837A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010134628A (ja) * | 2008-12-03 | 2010-06-17 | Renesas Technology Corp | メモリコントローラおよびデータ処理装置 |
JP2010286899A (ja) * | 2009-06-09 | 2010-12-24 | Canon Inc | メモリ制御回路 |
JP2011060162A (ja) * | 2009-09-14 | 2011-03-24 | Ricoh Co Ltd | メモリ制御装置 |
US9336163B2 (en) | 2012-10-31 | 2016-05-10 | Canon Kabushiki Kaisha | Precharge control for memory bank commands |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5481428B2 (ja) * | 2011-05-26 | 2014-04-23 | 株式会社東芝 | 半導体記憶装置およびメモリシステム |
US9336167B2 (en) * | 2012-12-13 | 2016-05-10 | Texas Instruments Incorporated | I2C controller register, control, command and R/W buffer queue logic |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1116339A (ja) * | 1997-06-25 | 1999-01-22 | Kofu Nippon Denki Kk | メモリコマンド制御回路 |
JPH11328007A (ja) * | 1998-01-23 | 1999-11-30 | Motorola Inc | 連続ペ―ジ・モ―ドを有するメモリ・コントロ―ラおよびその方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418518B1 (en) * | 1998-09-18 | 2002-07-09 | National Semiconductor Corporation | Decoupled address and data access to an SDRAM |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US7133995B1 (en) * | 2002-12-16 | 2006-11-07 | Advanced Micro Devices, Inc. | Dynamic page conflict prediction for DRAM |
US7069399B2 (en) * | 2003-01-15 | 2006-06-27 | Via Technologies Inc. | Method and related apparatus for reordering access requests used to access main memory of a data processing system |
US8151030B2 (en) * | 2004-05-26 | 2012-04-03 | Ocz Technology Group, Inc. | Method of increasing DDR memory bandwidth in DDR SDRAM modules |
-
2006
- 2006-03-17 JP JP2006075369A patent/JP2007249837A/ja active Pending
-
2007
- 2007-03-07 US US11/714,749 patent/US20070220218A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1116339A (ja) * | 1997-06-25 | 1999-01-22 | Kofu Nippon Denki Kk | メモリコマンド制御回路 |
JPH11328007A (ja) * | 1998-01-23 | 1999-11-30 | Motorola Inc | 連続ペ―ジ・モ―ドを有するメモリ・コントロ―ラおよびその方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010134628A (ja) * | 2008-12-03 | 2010-06-17 | Renesas Technology Corp | メモリコントローラおよびデータ処理装置 |
JP2010286899A (ja) * | 2009-06-09 | 2010-12-24 | Canon Inc | メモリ制御回路 |
JP2011060162A (ja) * | 2009-09-14 | 2011-03-24 | Ricoh Co Ltd | メモリ制御装置 |
US9336163B2 (en) | 2012-10-31 | 2016-05-10 | Canon Kabushiki Kaisha | Precharge control for memory bank commands |
Also Published As
Publication number | Publication date |
---|---|
US20070220218A1 (en) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3957469B2 (ja) | 半導体記憶装置 | |
KR100618070B1 (ko) | 리프레시를 자동으로 행하는 동적 메모리 회로 | |
US8122186B2 (en) | Memory device, memory system and dual port memory device with self-copy function | |
US9824742B1 (en) | DRAM access in self-refresh state | |
JP2018137034A (ja) | 有向自動リフレッシュ同期 | |
US20120246401A1 (en) | In-memory processor | |
JP2002063069A (ja) | メモリ制御装置、データ処理システム及び半導体装置 | |
US7995409B2 (en) | Memory with independent access and precharge | |
JP2007249837A (ja) | メモリ制御装置、メモリ制御方法及び携帯機器 | |
JP2016218721A (ja) | メモリ制御回路およびメモリ制御方法 | |
JP4229958B2 (ja) | メモリ制御システムおよびメモリ制御回路 | |
US6091667A (en) | Semiconductor memory device and a data reading method and a data writing method therefor | |
KR20170093053A (ko) | 리프레시 정보 생성기를 포함하는 휘발성 메모리 장치 및 전자 장치, 그것의 정보 제공 방법, 그리고 그것의 리프레시 제어 방법 | |
US20020136079A1 (en) | Semiconductor memory device and information processing system | |
KR100667724B1 (ko) | 반도체 기억 장치 및 메모리 시스템 | |
US7778103B2 (en) | Semiconductor memory device for independently selecting mode of memory bank and method of controlling thereof | |
KR20150020477A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그 동작 방법 | |
JP3800164B2 (ja) | 情報処理装置、情報記憶装置、情報処理方法、及び情報処理プログラム | |
JP4455433B2 (ja) | 半導体記憶装置 | |
US10768859B1 (en) | History-based memory control system and method | |
KR20050081498A (ko) | 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 | |
WO2009093548A1 (ja) | 半導体記憶装置 | |
JP3489497B2 (ja) | メモリコントローラ | |
EP4379721A1 (en) | Address decoding method, and memory controller and semiconductor memory system using the same | |
JP2003151273A (ja) | 記憶装置、記憶装置の内部制御方法、システム、及びシステムにおける記憶手段の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111025 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120306 |