(57)【特許請求の範囲】
【請求項１】
シンクロナスＤＲＡＭをアクセス制御するメモリ制御装置において、
前記シンクロナスＤＲＡＭに対するアクセス要求の発行に応答してクロックイネーブル信号ＣＫＥをインアクティブ状態からアクティブ状態に設定する手段と、
前記シンクロナスＤＲＡＭのアクセス処理に要する期間の終了からカウント動作を開始し、そのカウント値によって前記アクセス処理に要する期間が終了してから所定時間経過したことを検知したときに前記クロックイネーブル信号ＣＫＥをアクティブ状態からインアクティブ状態に設定し、前記アクセス処理に要する期間の終了から前記所定時間経過する前に次のアクセス要求が発行されたときは前記クロックイネーブル信号ＣＫＥがアクティブ状態に維持されるように前記カウント動作を中止する手段とを具備することを特徴するメモリ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はシンクロナスＤＲＡＭをアクセス制御するメモリ制御装置に関し、特にシンクロナスＤＲＡＭの低消費電力化を実現するためのクロックイネーブル信号ＣＫＥ制御機能を有するメモリ制御装置に関する。
【０００２】
【従来の技術】
近年、非同期ＤＲＡＭに代わる高速ＤＲＡＭとして、シンクロナスＤＲＡＭが注目されている。シンクロナスＤＲＡＭは、外部クロックに同期した入出力回路構成、コマンド形式のアクセス、バースト転送による連続アクセス、２バンク構成などの特徴を持つ。
【０００３】
このシンクロナスＤＲＡＭを利用すれば、例えばＣＰＵとシンクロナスＤＲＡＭのクロックの共通化によりアクセス時のロスを少なくでき、またバースト転送を利用することによってＣＰＵをノーウエイトで動作させること等を実現できる。
【０００４】
従来の非同期ＤＲＡＭへのアクセスを行う場合、ＲＡＳ＃信号をアサートしローアドレスをＤＲＡＭに与えた後、ＣＡＳ＃信号をアサートしカラムアドレスをＤＲＡＭに与える事でアクセスを行った。
【０００５】
これに対し、シンクロナスＤＲＡＭへのアクセスを行う場合は、クロックイネーブルとなるＣＫＥ信号をアクティブにした状態で、ＡＣＴ（バンク・アクティブ）コマンドにより、ローアドレスをシンクロナスＤＲＡＭに与えた後、リード／ライトコマンドによりカラムアドレスをシンクロナスＤＲＡＭに与える事でアクセスを行なう。シンクロナスＳＤＲＡＭの上記コマンド受け取りは、そのシンクロナスＤＲＡＭに入力されたクロックＣＬＫに同期して行われる。
【０００６】
ＡＣＴ（バンク・アクティブ）コマンドは非同期ＤＲＡＭにおけるＲＡＳ＃信号の立ち下がりに相当し、リード／ライトコマンドは非同期ＤＲＡＭにおけるＣＡＳ＃信号の立ち下がりに相当する。シンクロナスＤＲＡＭは、ＡＣＴ（バンク・アクティブ）コマンドの入力に応答してアクティブ状態となり、以降、プリチャージコマンドが入力されるまでそのアクティブ状態を維持する。
【０００７】
しかしながら、このようなシンクロナスＤＲＡＭをアクセス制御する従来のメモリコントローラは、シンクロナスＤＲＡＭの低消費電力化のための制御機能は有しておらず、シンクロナスＤＲＡＭがアクティブ状態のときは常にクロックイネーブル信号ＣＫＥはアクティブ状態に維持され、またプリチャージ後にインアクティブ状態に変化した場合でも、ｔＲＡＳ時間経過後のプリチャージ（ＲＡＳタイムアウトによるプリチャージ）が発生するまでは、クロックイネーブル信号ＣＫＥをアクティブ状態に維持していた。このため、シンクロナスＤＲＡＭの消費電力が大きくなるという問題があった。
【０００８】
【発明が解決しようとする課題】
上述したように、シンクロナスＤＲＡＭをアクセス制御する従来のメモリコントローラにおいては、シンクロナスＤＲＡＭの低消費電力化のための制御機能は設けられておらず、シンクロナスＤＲＡＭの消費電力が大きくなるという問題があった。
【０００９】
この発明はこのような点に鑑みてなされたものであり、クロックイネーブル信号ＣＫＥの発生／非発生を適切に制御できるようにし、シンクロナスＤＲＡＭの低消費電力化を図ることができるメモリ制御装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
この発明は、シンクロナスＤＲＡＭをアクセス制御するメモリ制御装置において、前記シンクロナスＤＲＡＭに対するアクセス要求の発行に応答してクロックイネーブル信号ＣＫＥをインアクティブ状態からアクティブ状態に設定する手段と、前記シンクロナスＤＲＡＭのアクセス処理に要する期間の終了からカウント動作を開始し、そのカウント値によって前記アクセス処理に要する期間が終了してから所定時間経過したことを検知したときに前記クロックイネーブル信号ＣＫＥをアクティブ状態からインアクティブ状態に設定し、前記アクセス処理に要する期間の終了から前記所定時間経過する前に次のアクセス要求が発行されたときは前記クロックイネーブル信号ＣＫＥがアクティブ状態に維持されるように前記カウント動作を中止する手段とを具備することを特徴する。
【００１１】
このメモリ制御装置においては、シンクロナスＤＲＡＭに対するリード／ライト、リフレッシュ、プリチャージなどのアクセス要求の発行に応答してクロックイネーブル信号ＣＫＥがインアクティブ状態からアクティブ状態に設定され、そして、アクセスが終了すると、カウント動作が開始され、そのカウント値によってアクセス処理に要する期間が終了してから所定時間経過したことが検知されたときにクロックイネーブル信号ＣＫＥがアクティブ状態からインアクティブ状態に設定され、またアクセス処理に要する期間の終了から所定時間経過する前に次のアクセス要求が発行されたときはクロックイネーブル信号ＣＫＥがアクティブ状態に維持されるようにカウント動作が中止される。
【００１３】
一般に、シンクロナスＤＲＡＭがアクティブスタンバイ時、すなわちシンクロナスＤＲＡＭがアクティブ状態で、且つそのシンクロナスＤＲＡＭのアクセス動作が行われてない期間においては、シンクロナスＤＲＡＭの消費電流は、クロックイネーブル信号ＣＫＥがアクティブ状態ならば２５ｍＡ、クロックイネーブル信号ＣＫＥがインアクティブ状態ならば３ｍＡ程度となる。
【００１４】
よって、シンクロナスＤＲＡＭのクロックイネーブル信号ＣＫＥをインアクティブ状態に保持することにより、シンクロナスＤＲＡＭの低消費電力化を実現できる。
【００１６】
また、前記所定期間内に次のアクセス要求が発行されたときは前記クロックイネーブル信号ＣＫＥがアクティブ状態に維持されるので、例えばリード／ライトコマンドが連続して発行される場合にはクロックイネーブル信号ＣＫＥをアクティブ状態に再設定する必要がなくなり、高速アクセスを実現することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係るシンクロナスＤＲＡＭコントローラの構成が示されている。このシンクロナスＤＲＡＭコントローラ１２は、コンピュータシステムに主記憶またはビデオメモリ等として設けられたシンクロナスＤＲＡＭ１０（以下、ＳＤＲＡＭと称する）をアクセス制御するためのものである。ここでは、シンクロナスＤＲＡＭ１０に与えるクロックイネーブル信号ＣＫＥを制御するＣＫＥ制御ロジック１４とその周辺の回路構成についてのみ説明する。
【００２０】
すなわち、シンクロナスＤＲＡＭコントローラ１２には、コマンド制御ロジック１３と、ＣＫＥ制御ロジック１４が含まれている。
コマンド制御ロジック１３は、ＳＤＲＡＭ１０に各種コマンド（リード／ライトコマンド、リフレッシュコマンド、プリチャージコマンド、バンクアクティブコマンド等）を与えてＳＤＲＡＭ１０にそのコマンドに対応するアクセス動作を実行させる。これらコマンドは、チップセレクト信号ＣＳ＃、ローアドレスストローブ信号ＲＡＳ＃、カラムアドレスストローブ信号ＣＡＳ＃、ライトイネーブル信号ＷＥ＃、クロックイネーブル信号ＣＫＥ等の組み合わせによって規定される。
【００２１】
リード／ライトコマンド、バンクアクティブコマンド等は、ＣＰＵや他のバスマスタ等の外部デバイスからのリード／ライトアクセス要求に応答して発行される。また、リフレッシュコマンドは外部のリフレッシュタイマからのリフレッシュ要求に応答して発行され、プリチャージコマンドはリード／ライトアクセスの終了時や外部デバイスからのプリチャージ要求等に応答して発行される。
【００２２】
また、コマンド制御ロジック１３は、次に発行すべきコマンドの種類を示すアクセス要求信号（リード／ライト要求信号、リフレッシュ要求信号、プリチャージ要求信号、バンクアクティブ信号）をＣＫＥ制御ロジック１４に送る。さらに、コマンド制御ロジック１３は、リード／ライトアクセスのバースト長、アドレスのラップタイプ、ＣＡＳレイテンシなどのモード情報をＳＤＲＡＭ１０のモードレジスタに設定する機能を有している。このモード情報は、ＣＫＥ制御ロジック１４にも送られる。
【００２３】
ＣＫＥ制御ロジック１４は、シンクロナスＤＲＡＭ１０に与えるクロックイネーブル信号ＣＫＥを制御するためのものであり、ＣＫＥ発生回路３、ステート制御回路４、カウンタレジスタ５、カウンタ６、コンパレータ７、ＡＮＤ回路８，１０、ＯＲ回路９、およびクロックイネーブル信号線ドライバ１１を備えている。
【００２４】
ＣＫＥ発生回路３は、コマンド制御ロジック１３からのアクセス要求信号（リード／ライト要求信号、リフレッシュ要求信号、プリチャージ要求信号、バンクアクティブ信号）に応答してクロックイネーブル信号ＣＫＥをアクティブ状態（Ｈ）にする。
【００２５】
ステート制御回路４は、ＣＫＥ発生回路３に与えられるアクセス要求信号（リード／ライト要求信号、リフレッシュ要求信号、プリチャージ要求信号、バンクアクティブ信号）等に基づいてＳＤＲＡＭ１０に対するアクセスの状態遷移を管理し、ＳＤＲＡＭ１０がアクティブ状態であるか否かを判定する。ＳＤＲＡＭ１０へのリード／ライトアクセスが開始されてから、その後にプリチャージが行われるまでの期間は、ＳＤＲＡＭ１０はアクティブ状態にある。このアクティブ状態においては、ＳＤＲＡＭ１０の入出力回路にデータが存在する。
【００２６】
ステート制御回路４は、３つの動作モードを有しており、モード１では、シンクロナスＤＲＡＭ１０がアクティブ状態の期間においてシンクロナスＤＲＡＭ１０のアクセス期間中以外はクロックイネーブル信号ＣＫＥがインアクティブ状態（Ｌ）に保持されるように、ＳＤＲＡＭ１０のアクセス処理に要する期間が経過した時に第１のマスク信号（Ｈ）を発生する。この第１のマスク信号は、ＯＲ回路９を介してＡＮＤ回路１０の一方の入力に反転入力される。これにより、クロックイネーブル信号ＣＫＥがアクティブ状態（Ｈ）からインアクティブ状態（Ｌ）に変化される。
【００２７】
プリチャージやリフレッシュの場合にはそれを実行するためのアクセス処理に要する時間は固定（例えば、１クロックまたは２クロック）であるが、リード／ライトアクセスの場合には、アクセス処理に要する期間は、モード情報によって指定されたバースト長などによって異なる。このため、リード／ライトアクセスの場合には、ステート制御回路４は、モード情報によって指定されるバースト長等の情報を使用してシンクロナスＤＲＡＭ１０からの最後のデータ出力、またはシンクロナスＤＲＡＭ１０への最後のデータ入力が行われるタイミングを検出し、その時に第１のマスク信号を発生する。
【００２８】
図２には、リード／ライトアクセスが行われる場合のタイミングチャートが示されている。ここでは、バースト長は１に設定されている。
図２のタイミングチャートから分かるように、ＳＤＲＡＭ１０への書き込み、もしくは読みだし要求時にそれまでインアクティブにしておいたクロックイネーブル信号ＣＫＥがアクティブにされ、ＳＤＲＡＭ１０へのアクセスが行われる。最後のデータの受け渡しを行うサイクルでクロックイネーブル信号ＣＫＥがインアクティブにされ、その状態が次のアクセスが行われるまで保持される。そして、ＳＤＲＡＭ１０への次のアクセス要求が来た時点で、クロックイネーブル信号ＣＫＥが再びアクティブにされる。
【００２９】
また、プリチャージ、リフレッシュ動作を行う場合も、図３および図４のタイミングチャートにそれぞれ示されているように、アクセス処理が実行される期間だけクロックイネーブル信号ＣＫＥがアクティブにされる。なお、図３のコマンドＰＲＣはＣＢＲリフレッシュコマンド、ＢＳはバンクセレクトアドレスである。また、図４のコマンドＲＦＣは、シングルバンクプリチャージコマンド、またはオールバンクスプリチャージコマンドである。
【００３０】
モード２は、連続アクセスの高速化のための制御を前述のモード１に加えたものであり、このモード２では、ステート制御回路４は、アクセス処理に要する期間経過した時に直ぐにクロックイネーブル信号ＣＫＥをインアクティブ状態に切り替えるのではなく、アクセス処理に要する期間経過してから所定期間経過するまでに次のアクセス要求が発行されるか否かを監視し、発行されれば、クロックイネーブル信号ＣＫＥをアクティブ状態に保持する。このモード２の制御では、カウンタレジスタ５、カウンタ６、コンパレータ７、ＡＮＤ回路８が利用される。また、ステート制御回路４は、第１のマスク信号は発生せず、その代わりに、第２のマスク信号を発生する。第２のマスク信号の発生タイミングは、前述した第１のマスク信号の発生タイミングと同じである。
【００３１】
すなわち、モード２においては、ＳＤＲＡＭ１０がアクティブ状態にある時、リードもしくはライト動作が終了した時点でステート制御回路４は、カウンタ６に動作指示を送り、これによりカウンタ６はカウントアップを開始する。カウンタレジスタ５には、ＳＤＲＡＭアクセス１０のアクセス終了から何クロック経過後にクロックイネーブル信号ＣＫＥをインアクティブにするかを指定するパラメタ値が設定されている。このカウンタレジスタ５はＣＰＵによって書き換え可能に構成されており、そのパラメタ値は自由に変更することができる。
【００３２】
コンパレータ７は、レジスタ５のパラメタ値とカウンタ６のカウント値の比較を行い、一致した時に一致信号（Ｈ）を発生する。この時、第２のマスク信号がＯＲ回路９を介してＡＮＤ回路１０の一方の入力に反転入力される。これにより、クロックイネーブル信号ＣＫＥがアクティブ状態（Ｈ）からインアクティブ状態（Ｌ）に変化される。
【００３３】
また、一致信号が出力された時点で、ステート制御回路４は、カウンタ６のカウントアップ動作を停止する。次のＳＤＲＡＭ１０へのアクセス要求が発生すると、カウンタ６はリセットされ、アクセス中はカウントアップ動作は行われない。
【００３４】
図５および図６には、リード／ライトアクセスが行われる場合のタイミングチャートが示されている。ここで、図５はパラメタ値で指定された期間内に次のアクセス要求が発行されなかった場合に対応し、図６はパラメタ値で指定された期間内に次のアクセス要求が発行された場合に対応している。
【００３５】
図５のタイミングチャートから分かるように、ＳＤＲＡＭ１０への書き込み、もしくは読みだし要求時にそれまでインアクティブにしておいたクロックイネーブル信号ＣＫＥがアクティブにされ、ＳＤＲＡＭ１０へのアクセスが行われる。最後のデータの受け渡しを行うサイクルでカウンタ６のカウント動作が開始され、パラメタ値で指定された時間（カウント期間）経過するまではクロックイネーブル信号ＣＫＥがアクティブ状態に保持される。そして、カウント期間経過した時点で次のＳＤＲＡＭ１０へのアクセス要求の有無が調べられ、アクセス要求が無ければ、図示のようにクロックイネーブル信号ＣＫＥがインアクティブにされ、その状態が次のアクセスが行われるまで保持される。そして、ＳＤＲＡＭ１０への次のアクセス要求が来た時点で、クロックイネーブル信号ＣＫＥが再びアクティブにされる。
【００３６】
一方、カウント期間経過時点までに次のＳＤＲＡＭ１０へのアクセス要求が発行された場合には、図６に示されているように、クロックイネーブル信号ＣＫＥはそのままアクティブ状態に維持され続ける。そして、現在のアクセス処理の最後のデータの受け渡しを行うサイクルでカウンタ６のカウント動作が再び開始され、パラメタ値で指定された時間（カウント期間）経過するまではクロックイネーブル信号ＣＫＥがアクティブ状態に保持される。
【００３７】
このような制御により、クロックイネーブル信号ＣＫＥの立ち下がり、立ち上がりに要する時間だけ連続したアクセス要求に対するアクセス処理を高速化することができる。
【００３８】
モード３は、モード１およびモード２のようにクロックイネーブル信号ＣＫＥをＳＤＲＡＭ１０のアクティブ期間にインアクティブにするのではなく、ＳＤＲＡＭ１０のアクティブ／インアクティブ状態に連動してクロックイネーブル信号ＣＫＥをアクティブ／インアクティブに設定するモードである。
【００３９】
すなわち、ステート制御回路４は、図７のようなステートマシンでＳＤＲＡＭ１０のアクティブ／インアクティブ状態を管理している。ＳＤＲＡＭ１０は、前述したように、バンクアクティブコマンドの入力、すなわちインアクティブ状態で最初のリード／ライトアクセスが行われるときにアクティブ状態に遷移され、そしてプリチャージコマンドの入力に応答してインアクティブ状態に戻る。したがって、ステート制御回路４は、ＳＤＲＡＭ１０がアクティブ状態からインアクティブ状態に移行するときに前述の第１のマスク信号を発生してクロックイネーブル信号ＣＫＥをアクティブ状態からインアクティブ状態に設定する。
【００４０】
図８には、リード／ライトアクセスが行われる場合のタイミングチャートが示されている。
図８のタイミングチャートから分かるように、ＳＤＲＡＭ１０への書き込み、もしくは読みだし要求時にそれまでインアクティブにしておいたクロックイネーブル信号ＣＫＥがアクティブにされ、ＳＤＲＡＭ１０へのアクセスが行われる。この場合、ＳＤＲＡＭ１０にバンクアクティブコマンドが入力された段階でＳＤＲＡＭ１０はアクティブ状態となる。この以降、プリチャージコマンドが入力されるまでＳＤＲＡＭ１０はアクティブ状態を維持し、その間、クロックイネーブル信号ＣＫＥもアクティブ状態に維持される。
【００４１】
プリチャージ要求に応じてプリチャージコマンドが入力された時は、図９に示されているように、そのアクセス処理後にＳＤＲＡＭ１０はインアクティブ状態となる。これに応答して、クロックイネーブル信号ＣＫＥもインアクティブ状態に設定される。
【００４２】
以上のように、この実施形態においては、ＳＤＲＡＭ１０のクロックイネーブル信号ＣＫＥをできる限りインアクティブ状態に保持するための制御が、外部からのアクセス要求つまりＳＤＲＡＭ１０に与えるコマンドの種類や、ＳＤＲＡＭ１０の状態遷移に基づいて行われ、これによってＳＤＲＡＭ１０の低消費電力化を図ることが可能となる。よって、ＳＤＲＡＭコントローラ１２をノートＰＣ等のバッテリ動作が要求される携帯情報機器に搭載することにより、バッテリ動作可能時間の延長を実現することができる。
【００４３】
【発明の効果】
以上説明したように、この発明のメモリ制御装置によれば、クロックイネーブル信号ＣＫＥの発生／非発生を適切に制御できるようになり、シンクロナスＤＲＡＭの低消費電力化を図ることが可能となる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るＳＤＲＡＭコントローラの構成を示すブロック図。
【図２】同実施形態のＳＤＲＡＭコントローラがモード１のときに実行するリード／ライトアクセス時のＣＫＥ制御動作を示すタイミングチャート。
【図３】同実施形態のＳＤＲＡＭコントローラがモード１のときに実行するプリチャージ時のＣＫＥ制御動作を示すタイミングチャート。
【図４】同実施形態のＳＤＲＡＭコントローラがモード１のときに実行するリフレッシュ時のＣＫＥ制御動作を示すタイミングチャート。
【図５】同実施形態のＳＤＲＡＭコントローラがモード２のときに実行するリード／ライトアクセス時のＣＫＥ制御動作を示すタイミングチャート。
【図６】同実施形態のＳＤＲＡＭコントローラがモード２のときに実行するリード／ライトアクセス時のＣＫＥ制御動作を示すタイミングチャート。
【図７】同実施形態のＳＤＲＡＭコントローラによるＳＤＲＡＭの状態管理の原理を示す図。
【図８】同実施形態のＳＤＲＡＭコントローラがモード３のときに実行するリード／ライトアクセス時のＣＫＥ制御動作を示すタイミングチャート。
【図９】同実施形態のＳＤＲＡＭコントローラがモード３のときに実行するプリチャージ時のＣＫＥ制御動作を示すタイミングチャート。
【符号の説明】
３…ＣＫＥ発生回路、４…ステート制御回路、５…カウンタレジスタ、６…カウンタ、７…コンパレータ、１０…シンクロナスＤＲＡＭ、１２…シンクロナスＤＲＡＭコントローラ、１３…コマンド制御ロジック、１４…ＣＫＥ制御ロジック。
【図１】
0003728468.tif 000002
【図２】
0003728468.tif 000003
【図３】
0003728468.tif 000004
【図４】
0003728468.tif 000005
【図５】
0003728468.tif 000006
【図６】
0003728468.tif 000007
【図７】
0003728468.tif 000008
【図８】
0003728468.tif 000009
【図９】
0003728468.tif 000010