(57)【要約】【課題】各メモリデバイスのアクセス効率を損なうことなくシステムとしての省電力化を実現することを目的とする。【解決手段】複数のメモリアクセスコマンドを保持するコマンドキューと、複数のメモリデバイスを制御する複数のチップセレクトと、を有するメモリ制御回路であって、メモリデバイスをチップセレクト毎に省電力モードに移行させる省電力制御手段を有し、省電力制御手段は、コマンドキューに対象となるメモリデバイスに対するアクセスコマンドが入力された場合にメモリデバイスを省電力モードから復帰させる処理を開始することによって課題を解決する。【選択図】図１
2010286899.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリアクセスコマンドを保持するコマンドキューと、複数のメモリデバイスを制御する複数のチップセレクトと、を有するメモリ制御回路であって、
前記メモリデバイスを前記チップセレクト毎に省電力モードに移行させる省電力制御手段を有し、
前記省電力制御手段は、前記コマンドキューに対象となるメモリデバイスに対するアクセスコマンドが入力された場合に前記メモリデバイスを省電力モードから復帰させる処理を開始する、メモリ制御回路。
【請求項２】
前記省電力制御手段は、対象であるメモリデバイスでのアクセスが完了した時点で前記メモリデバイスに対するアクセスコマンドが存在しない場合、前記メモリデバイスを省電力モードに移行させる、請求項１記載のメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路に関する。
【背景技術】
【０００２】
近年のシステムＬＳＩ（ＳＯＣ）化はチップ上にＣＰＵ以外にも多数のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）を搭載し高機能化が進んでいる。また、個々のＩＰが同時にデータ処理を行おうとするためＳＯＣと同時にシステム基板上に搭載されるメモリデバイスも高速、大容量のものが多数必要となってきている。この要求を満たすため、昨今ではＳＤＲＡＭデバイスがメモリデバイスとして用いられている。更に高速アクセスのためにはＤＤＲＳＤＲＡＭ或いはＤＤＲ２ＳＤＲＡＭといった高速なメモリデバイスが複数個用いられている。
このようなシステム、特にバッテリー駆動を前提とするシステムにおいては、システム全体での消費電力が無視できなくなってきており、特にＤＲＡＭを多数使用することからＤＲＡＭの消費電力削減は重要な課題となってきている。
この解決方法として、特許文献１が既に公知となっている。
特許文献１では、メモリデバイスのアイドル状態時間を計測し、所定時間アイドル状態が継続した場合にメモリデバイスを省電力状態に移行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１１５９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、アイドル状態となった後、所定時間を経過しないと省電力状態となれない。よって、省電力化という面では不十分であった。
一方、一度省電力状態となった場合は通常の動作状態となるために要する時間が多く必要であり、高速メモリアクセスが必要なデバイスに対しては不向きであった。
また、システム内で複数のメモリデバイスが複数のチップ選択信号で時分割に制御されるシステムでは、チップ選択信号毎にアイドル時間を検出していたとしてもメモリアクセスが一部のチップ選択信号に集中することは稀である。よって、結果的に省電力状態となりえないことがあった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、各メモリデバイスのアクセス効率を損なうことなくシステムとしての省電力化を実現することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、複数のメモリアクセスコマンドを保持するコマンドキューと、複数のメモリデバイスを制御する複数のチップセレクトと、を有するメモリ制御回路であって、前記メモリデバイスを前記チップセレクト毎に省電力モードに移行させる省電力制御手段を有し、前記省電力制御手段は、前記コマンドキューに対象となるメモリデバイスに対するアクセスコマンドが入力された場合に前記メモリデバイスを省電力モードから復帰させる処理を開始する。
【発明の効果】
【０００７】
本発明によれば、各メモリデバイスのアクセス効率を損なうことなくシステムとしての省電力化を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】メモリ制御回路の一例を示す図である。
【図２】メモリ制御回路が実際のシステムにおいてどのようにメモリデバイスと接続されるかを示す図である。
【図３】図２の接続を行ったときのチップ内部からメモリデバイスを識別するためのメモリマップの一例を示す図である。
【図４】該当するチップセレクトに対するアクセスがあるかないかの判断処理の一例を示す図である。
【図５】チップセレクト毎のＣＫＥ信号を制御する処理の一例を示すフローチャートである。
【図６】ＣＫＥ駆動回路のより具体的な回路の一例を示す図である。
【図７】動作タイミングチャートである。
【図８】Ｃｌｏｓｅページモードに適したＣＫＥ制御判断処理の一例を示すフローチャートである。
【図９】Ｃｌｏｓｅページモードで図８のＣＫＥ制御処理を用いた場合の動作タイミングチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
以下、図１〜図９に基づき、本実施形態によるメモリ制御回路を説明する。
図１は、メモリ制御回路の一例を示す図である。図１において、１は、チップ内部のメモリアクセスを要求するマスターモジュールとのインターフェースを行うバスインターフェースモジュールである。図１では３つの同一或いは異なる種類のバスに接続可能な構成を図示してある。２は、バスインターフェース１が受け取ったメモリデバイスへのアクセスコマンドを調停、順序化するアービターである。３は、アービター２で順序化されたメモリアクセスコマンドを一時的に保持するキューバッファである。４は、データ制御部であり、アービター２が選択したメモリアクセスコマンドがメモリデバイスへのデータ書き込みであった場合にバスインターフェース１から書き込みデータを取り込む。また、データ制御部４は、実際のデータ書き込みタイミングまで保存、或いはコマンドが読み出しであった場合にはメモリデバイスから読み出されたデータを読み出しコマンドを発行したバスインターフェースに出力する。５は、キューバッファ３に保存されたメモリアクセスコマンドを順に取り出すコマンド選択部である。６は、各チップセレクトに接続されたデバイス状況を管理するアクセス管理部である。アクセス管理部６は、チップセレクトに接続されたメモリデバイスの各バンクの状態を記憶、管理、またクロックイネーブルに関する制御、状態保持を行う。７は、コマンド選択部が選択したメモリアクセスコマンドを実際のメモリデバイスにコマンドとして発行するコマンド生成部である。８は、コマンド生成部７が発行したアクセスコマンドに応じてメモリデバイスに対してデータを出力或いはデータを取り込むデータインターフェースである。９は、各チップセレクトに接続されたメモリデバイスのクロックイネーブル（ＣＫＥ）をアクセス管理部６の指示に基づき駆動するＣＫＥ駆動部である。
【００１１】
図２は、メモリ制御回路が実際のシステムにおいてどのようにメモリデバイスと接続されるかを示す図である。図２において、２１は、本実施形態のメモリ制御回路を含むチップである。２２は、各々がメモリデバイスもしくはメモリデバイスユニットである。図２ではメモリデバイスが４つ接続されている例を図示してある。図２に示されるように本実施形態は複数のメモリデバイス（或いはユニット）毎に独立したチップセレクト（ＣＳ０−ＣＳ３）及びクロック制御信号（ＣＫＥ０−ＣＫＥ３）が接続される構成で用いられる。
図３は、図２の接続を行ったときのチップ内部からメモリデバイスを識別するためのメモリマップの一例を示す図である。
これらの図を用いて本実施形態の動作の説明を行う。
【００１２】
図１において、図示されていないメモリアクセスを要求するマスターモジュールがバスインターフェース１を介してメモリアクセス要求を行う。バスインターフェース１は、要求があることをアービター２に伝える。アービター２は、複数のバスインターフェース１からの要求を調停し、１つずつ順に受け付けて受け付けた内容をキューバッファ３に出力する。受け付けた要求が書き込み要求であった場合には同時にデータ制御部４に対して書き込み要求があったことを出力することでデータ制御部４は、対応するバスインターフェース１から必要な書き込みデータの取り込みと保持を行う。キューバッファ３に保持されたアクセスコマンドはコマンド選択部５により取り出され、コマンド生成部７に出力される。コマンド生成部７は、アクセス管理部６が保持している各チップセレクトに接続されたデバイスの各々のバンク状態情報を参照し、必要なコマンドをメモリデバイスに発行する。このとき、コマンド生成部７は、発行するコマンドが書き込みである場合にはデータ出力タイミングを満たすタイミングでデータ出力ができるようにデータインターフェース８に対して指示を行う。また、コマンド生成部７は、発行するコマンドが読み込みである場合には、データの取り込みタイミングと取り込まれたデータを戻すべきマスターモジュールが判別できるデータをデータインターフェースに対して指示する。
アクセス管理部６は、コマンド生成部７が参照する、各チップセレクト信号に接続されたメモリデバイスの各々のバンクの状態を保持する。そして、アクセス管理部６は、コマンド生成部７が発行するコマンド内容によって保持している内容の更新を行う。同時に、アクセス管理部６は、キューバッファ３に保持されているアクセス対象のチップセレクト、コマンド生成部７がコマンドを発行しようとしているチップセレクトとその状態、データインターフェース８がデータの転送を行っているチップセレクトを把握する。アクセス管理部６は、これらに基づき、該当するチップセレクトに接続されたメモリデバイスに対するアクセスがあるかないかを示す信号を生成する。アクセス管理部６の内部で行われる該当するチップセレクトに対するアクセスがあるかないかの判断処理の一例を図４に示す。
【００１３】
図４において、４１は、ＣＳにアクセスがない状態で、初期の状態である。４２は、選択待ち状態である。４３は、該当するＣＳに対するアクセスがある状態である。キューに入力されたアクセスコマンドが該当するチップセレクトへのアクセスであった場合には、対象であるチップセレクトのデバイスの状態が参照され、キューに入力されたアクセスコマンドがヒットであった場合には状態４２に移行する。状態４２は、省電力状態の時間を長くさせるために用意されている状態で、メモリアクセスコマンドの発行に際してＲｄないしＷｒコマンドのみを発行すればよい場合に省電力状態の解除を遅らせるための状態である。その後、コマンド選択回路が該当するチップセレクトへのコマンドを選択した時点で省電力状態からの復帰を開始させるために状態４３に移行する。一方、キューに入力されたアクセスコマンドがヒットミスであった場合には、ＲｄないしＷｒコマンドの発行前にいくつかのコマンドを発行する必要が生じるため即座に状態４３に移行し、省電力状態からの復帰を行わせる。一連のアクセスが完了し、キュー内部にも、コマンド選択回路にも該当するチップセレクトへのアクセスが存在しない状態で、チップセレクトに接続されたメモリデバイスを省電力状態とするために状態４３から初期状態である４１に移行を行う。
【００１４】
この判断結果に基づき、実際にチップセレクト毎のＣＫＥ信号を制御する処理を図５に示す。図５は、チップセレクト毎のＣＫＥ信号を制御する処理の一例を示すフローチャートである。図５にてまずアクセス管理部６は、該当するチップセレクト接続先に対するアクセスがあるかないかを判断する（５１）、アクセスがない場合（Ｎ）はそのままの状態で待機となり、アクセスがある場合（Ｙ）はＣＫＥを有効にする（５２）。アクセス管理部６は、ＣＫＥを有効にした後、デバイス初期化時に設定したモードでのデバイス毎に決められた最小クロック数だけ待つ（５３）。併せて、アクセス管理部６は、コマンド発行回路が参照するチップセレクト毎のアクセス可能信号をＯｎ（５４）とし、その後アクセスが完了するのを待つ（５５）。アクセスが完了したならば（Ｙ）、アクセス管理部６は、アクセスがＲｅａｄであったかどうかを確認する（５６）。アクセスがＷｒｉｔｅであったならば（Ｎ）、アクセス管理部６は、デバイス固有の待ち時間（ｔＷＴＲもしくはｔＷＲ）に相当するクロック数だけ待ち（５７）、アクセスがＲｅａｄであったならばすぐに、新たなアクセスがあるかどうかを確認する（５８）。新たなアクセスがあるならば（Ｙ）、アクセス管理部６は、ＣＫＥを有効としたままでアクセスの終了を待つ５５の判断に戻り、新たなアクセスがなければ（Ｎ）チップセレクト毎のアクセス可能信号をＯｆｆ（５９）とし、ＣＫＥを無効とする（６０）。ＣＫＥを無効とした後は、アクセス管理部６は、デバイス毎に決められたｔＣＫＥの最小クロック数だけ待った後（６１）次のアクセスの有無を判断する５１の判断処理に戻る。
【００１５】
図５に示される処理に基づき生成されたＣＫＥ制御信号を実際にデバイスに供給するＣＫＥ駆動回路のより具体的な回路例を図６に示す。図６には実際にデバイスに供給されるクロック（ＣＫ及びその論理反転信号ＣＫ＃とＣＫＥ）との位相関係がわかるようにＣＫ及びＣＫ＃信号の出力バッファも合わせて図示してある。図６において、６５は、ＤＦＦ、６６は、インバータ回路、６７は、チップ外部に信号を出力するＩＯバッファである。
【００１６】
上記構成を用いた場合の動作タイミングチャートを図７に示す。図７では条件としてコマンドキューは、２つのコマンドを保持できる。メモリアクセスでは、４つのＣＳ全てが用いられ、かつ、アクセスは、全てＷｒｉｔｅコマンドの４ビートで２回連続して発行されるものとし、全ての書き込みコマンドは、ヒットしているものとして図示してある。また、メモリデバイスの特性としてｔＣＫＥ＝３、ＣＬ＝３、クロック周期でのｔＷＴＲ＝３として図示してある。また、最初のアクセス対象であるＣＳ０に接続されたデバイスのみ省電力モードになっていないものとする。
図７において、ｔ０でコマンドキュー０にはＣＳ０への１回目及び２回目の書き込みコマンドが保持されており、コマンド選択回路は、キュー０の内容を選択している。ｔ１にてコマンド発行回路は１つ目のＣＳへの書き込みコマンドを発行している、このコマンド発行に対応するＣＳ０への書き込みに対応するデータ出力は、ｔ３からデバイスに対して出力されている。一方、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ０への２回目の書き込みコマンドが移動し、キュー１は、空となる。ｔ２にて、ｔ１で空となったキュー１に、新たにＣＳ１への１回目の書き込みコマンドが入力される。
ｔ３にてＣＳ０への２回目の書き込みコマンドが発行され、このコマンド発行に対応するＣＳ０への書き込みに対応するデータ出力は、ｔ５からデバイスに対して出力されている。ｔ１と同様に、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ１への１回目の書き込みコマンドが移動し、キュー１は、空となる。ＣＳ１への書き込みアクセスはヒットであると仮定しているので、この時点でＣＳ１への省電力状態からの復帰が開始される。ｔ４にてｔ３で空となったキュー１に新たにＣＳ１への２回目の書き込みコマンドが入力される。
ｔ６にてＣＳ１への１回目の書き込みコマンドが発行され、このコマンド発行に対応するＣＳ１への書き込みに対応するデータ出力は、ｔ８からデバイスに対して出力されている。ｔ１と同様に、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ１への２回目の書き込みコマンドが移動し、キュー１は、空となる。ｔ７にて、ｔ６で空となったキュー１に新たにＣＳ２への１回目の書き込みコマンドが入力される。
ｔ８にてＣＳ１への２回目の書き込みコマンドが発行され、このコマンド発行に対応するＣＳ１への書き込みに対応するデータ出力は、ｔ１０からデバイスに対して出力されている。ｔ１と同様に、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ２への１回目の書き込みコマンドが移動し、キュー１は、空となる。ＣＳ２への書き込みアクセスはヒットであると仮定しているので、この時点でＣＳ２への省電力状態からの復帰が開始される。ｔ９にてｔ８で空となったキュー１に新たにＣＳ２への２回目の書き込みコマンドが入力される。
ｔ１１にてＣＳ２への１回目の書き込みコマンドが発行され、このコマンド発行に対応するＣＳ２への書き込みに対応するデータ出力は、ｔ１３からデバイスに対して出力されている。ｔ１と同様に、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ１への２回目の書き込みコマンドが移動し、キュー１は、空となる。一方、ＣＳ０に対するアクセスコマンドが存在せず、かつ、デバイスが必要とするサイクル期間を経過したので、この時点でＣＳ０に対して省電力状態への移行指示が発行される。ｔ１２にてｔ１１で空となったキュー１に新たにＣＳ３への１回目の書き込みコマンドが入力される。
ｔ１３にてＣＳ２への２回目の書き込みコマンドが発行され、このコマンド発行に対応するＣＳ２への書き込みに対応するデータ出力は、ｔ１５からデバイスに対して出力されている。ｔ１と同様に、コマンドが１つ発行されたのでキューの内容がシフトされ、キュー０にはＣＳ３への１回目の書き込みコマンドが移動し、キュー１は、空となる。ＣＳ３への書き込みアクセスはヒットであると仮定しているので、この時点でＣＳ３への省電力状態からの復帰が開始される。ｔ１４にてｔ１３で空となったキュー１に新たにＣＳ３への２回目の書き込みコマンドが入力される。
【００１７】
図８にＣｌｏｓｅページモードに適したＣＫＥ制御判断処理の一例を示すフローチャートを、図９にＣｌｏｓｅページモードで図８のＣＫＥ制御処理を用いた場合の本実施形態の動作タイミングチャートを示す。図９では条件としてコマンドキューは２つのコマンドを保持できるものとし、メモリアクセスでは４つのＣＳ全てが用いられ、かつ、アクセスは全てＷｒｉｔｅコマンドの８ビートであるものとして図示してある。また、メモリデバイスの特性としてｔＣＫＥ＝３、ＣＬ＝３、クロック周期でのｔＷＴＲ＝３として図示してある。
図８のフローチャートは図５のフローチャートをクローズページモードに適するように操作タイミングを修正しただけである。
図９にて、ｔ０時点で既にＣＳ０に対する書き込みのアクティベートコマンドが完了していて、かつ、ＣＳ０に対する書き込みコマンドの発行タイミング待ちであり、また、コマンドキューにはＣＳ１に対する書き込みコマンドのみが存在するとする。
ｔ１にてＣＳ０に対する書き込みコマンドが発行され、この書き込みコマンドに対応する出力データは、ｔ３からｔ７付近まで出力される。
ｔ２にて新たな書き込みコマンドとしてＣＳ２に対する書き込みコマンドがコマンドキューに入力される。
ｔ３にてＣＳ１への書き込みコマンドのためのアクティベートコマンドが発行され、これに伴いコマンド選択回路からコマンドが選択されたためキューの中身が一つ減少し、コマンドキュー内にはＣＳ２への書き込みコマンドのみとなる。一方、ｔ２でＣＳ２への書き込みコマンドがコマンドキューに入力されたのでｔ３のタイミングでＣＳ２への省電力状態からの復帰が開始される。
ｔ４にてｔ３時点でコマンドキューに空きができたため、新たな書き込みコマンドとしてＣＳ３に対する書き込みコマンドがコマンドキューに入力される。
ｔ５にて先にコマンドキューに入力されたＣＳ３に対する書き込みコマンドに対する省電力状態からの復帰が開始される。
ｔ６にてＣＳ１への書き込みコマンドが発行される。このコマンドに対応する出力データはｔ８からｔ１２付近まで出力される。
ｔ７にて最初に発行されたＣＳ０への書き込みコマンドのデータ出力が完了する。この時点でＣＳ０へのアクセスはコマンドキュー内に存在しないので、図８の処理に従い、デバイス固有待ち時間が経過するｔ１１時点でＣＳ０は省電力状態に移行するための準備を開始する。
ｔ８にてＣＳ２への書き込みコマンドのためのアクティベートコマンドが発行され、これに伴いコマンド選択回路からコマンドが選択されたためキューの中身が一つ減少し、コマンドキュー内にはＣＳ３への書き込みコマンドのみとなる。
ｔ９にてｔ８３時点でコマンドキューに空きができたため、新たな書き込みコマンドとしてＣＳ０に対する書き込みコマンドがコマンドキューに入力される。この新たな書き込みコマンドに対応するＣＳ０の省電力状態からの復帰が開始されるのは図８の処理に従い省電力状態となるｔ１１から更にｔＣＫＥが経過したｔ１５となる。
ｔ１１にてＣＳ２への書き込みコマンドが発行される。このコマンドに対応する出力データはｔ１３からｔ１７付近まで出力される。また、先に予定されたＣＳ０の省電力状態への移行ＣＫＥ０の'０'レベルへの遷移がこのタイミングで開始される。
ｔ１２にてＣＳ１への書き込みコマンドのデータ出力が完了する。この時点でＣＳ１へのアクセスはコマンドキュー内に存在しないので、図８の処理に従い、デバイス固有待ち時間が経過するｔ１６時点でＣＳ１は省電力状態に移行するための準備を開始する。
ｔ１３にてＣＳ３への書き込みコマンドのためのアクティベートコマンドが発行され、これに伴いコマンド選択回路からコマンドが選択されたためキューの中身が一つ減少し、コマンドキュー内にはＣＳ０への書き込みコマンドのみとなる。
ｔ１４にてｔ１３で空きのできたコマンドキューにＣＳ１に対する新たな書き込みコマンドが入力される。この新たな書き込みコマンドに対応するＣＳ１の省電力状態からの復帰が開始されるのは図８の処理に従い省電力状態となるｔ１６から更にｔＣＫＥが経過したｔ２０となる。また、ＣＳ０のＣＫＥ信号の制御に必要な最小時間が経過したのでこの時点でＣＫＥ制御フローはアクセス判断回路出力を参照し、新たなアクセスがあるためＣＳ０のメモリデバイスを省電力状態から解除する準備を開始する。
ｔ１５にて実際にＣＳ０に対するＣＫＥ信号ＣＳＥ０が'１'にアサートされ、ＣＳ０のメモリデバイスは省電力状態から復帰する。
ｔ１６にて、ＣＳ３への書き込みコマンドが発行される。このコマンドに対応する出力データはｔ１８からｔ２２付近まで出力される。また、先に予定されたＣＳ１の省電力状態への移行ＣＫＥ１の'０'レベルへの遷移がこのタイミングで開始される。
【００１８】
以上、上述したように本実施形態によれば、複数のＣＳ信号を有するメモリ制御回路にて各ＣＳに接続されたメモリデバイス毎のアクセス状況に基づき、省電力制御を行うので、各デバイスのアクセス効率を損なうことなくシステムとしての省電力化が実現できる。つまり、本実施形態によれば、各メモリデバイスのアクセス効率を損なうことなくシステムとしての省電力化を実現することができる。
【００１９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００２０】
６  アクセス管理部
【図１】
2010286899.tif 000003
【図２】
2010286899.tif 000004
【図３】
2010286899.tif 000005
【図４】
2010286899.tif 000006
【図５】
2010286899.tif 000007
【図６】
2010286899.tif 000008
【図７】
2010286899.tif 000009
【図８】
2010286899.tif 000010
【図９】
2010286899.tif 000011