(57)【特許請求の範囲】
【請求項１】
コマンドによるバーストリードまたはバーストライト処理に対して割り込んで、所定の全リフレッシュ期間内に所定回数のリフレッシュ処理を実行するＳＤＲＡＭリフレッシュ制御装置において、
所定の単位時間毎にリフレッシュ要求信号を発生するリフレッシュ要求生成手段と、
前記要求信号をカウントアップすると共に、リフレッシュの実行によりカウントダウンする保留カウンタと、
前記アイドル期間を監視して出力するアイドル監視手段と、
前記アイドル監視手段及び前記保留カウンタの出力値を取得し、アイドル期間中に前記前記保留カウンタの値が１以上であればリフレッシュを実行し、前記保留カウンタをカウントダウンする調停手段と、
前記全リフレッシュ期間で実行される総リフレッシュ時間がプリセットされると共に、前記要求信号を入力して前記プリセット値を減算し残時間でのリフレッシュ可能回数を算出する監視カウンタと、
前記保留カウンタの出力値と前記監視カウンタの出力値を比較し、前記保留カウンタの出力値が前記を監視カウンタの出力値と並ぶ前に残りのリフレッシュを強制的に実行する比較手段と、
を備え
前記バーストリードまたはバーストライト処理が実行されていないアイドル期間に、前記リフレッシュ処理を実行することを特徴とするＳＤＲＡＭリフレッシュ制御装置。
【請求項２】
前記監視カウンタは、前記プリセット値を外部アプリケーションより取得することを特徴とする請求項１に記載のＳＤＲＡＭリフレッシュ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドによるバーストリードまたはバーストライト処理に対して割り込んで、所定の全リフレッシュ期間内に所定回数のリフレッシュ処理を実行する、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）のリフレッシュ制御装置に関するものである。
【背景技術】
【０００２】
汎用のSDR(Single Data Rate)SDRAM及びこれを高速化したDDR（Double Data Rate）SDRAMやDDR2 SDRAMでは、コンデンサメモリの構造上、周期的なリフレッシュ処理を実施しなければならない。リフレッシュ処理は、所定の全リフレッシュ期間内(例64ms)に、所定の回数(例4096回)、実施しなければならない。
【０００３】
メモリコントローラは、その制限の単位時間(例64ms/4096回=15.6μs)を測るタイマカウンタを備え、カウントアップしたら(リフレッシュ要求が発生したら)、リフレッシュを実行する。
【０００４】
上位コマンドによるＳＤＲＡＭに対するバーストリードまたはバーストライトが連続して実行している最中に、リフレッシュ要求が発生したら、その動作をバーストの切れ目で止め、リフレッシュを強制的に割り込ませる。
【０００５】
図４は、従来のリフレッシュの手順を説明するタイムチャートである。図４（Ａ）は、リフレッシュ要求がない場合の対ＳＤＲＡＭ動作を示し、クロックＣＬＫに同期した上位コマンドによるバーストリード１とバーストリード２の連続アクセス及び所定のアイドル期間を経たバーストライトの処理パターンとなる。アイドル期間はリードとライトの関連で発生し、時間は不定である。
【０００６】
図４（Ｂ）は、リフレッシュ要求が発生した場合の対ＳＤＲＡＭ動作を示す。バーストリード１の途中でリフレッシュ要求が発生した場合には、バーストリード１の処理が終了するまで待機し、終了のタイミングで割り込み、リフレッシュ処理を実行する。
【０００７】
【特許文献１】特開２００２−１４０１２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図４（Ｂ）のタイムチャートで明らかなように、割り込みにより強制的に実施されるリフレッシュ処理により、メモリの転送時間が遅延される。リフレッシュに要する時間は無視できるものではなく、本来のリード、ライト動作を遅延させ、メモリのデータ転送効率を悪化させ、製品のパフォーマンスを低下させる。
【０００９】
本発明は上述した問題点を解決するためになされたものであり、リフレッシュ処理に起因するメモリのデータ転送効率低下を抑制できるＳＤＲＡＭリフレッシュ制御装置の実現を目的としている。
【課題を解決するための手段】
【００１０】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）コマンドによるバーストリードまたはバーストライト処理に対して割り込んで、所定の全リフレッシュ期間内に所定回数のリフレッシュ処理を実行するＳＤＲＡＭリフレッシュ制御装置において、
所定の単位時間毎にリフレッシュ要求信号を発生するリフレッシュ要求生成手段と、
前記要求信号をカウントアップすると共に、リフレッシュの実行によりカウントダウンする保留カウンタと、
前記アイドル期間を監視して出力するアイドル監視手段と、
前記アイドル監視手段及び前記保留カウンタの出力値を取得し、アイドル期間中に前記前記保留カウンタの値が１以上であればリフレッシュを実行し、前記保留カウンタをカウントダウンする調停手段と、
前記全リフレッシュ期間で実行される総リフレッシュ時間がプリセットされると共に、前記要求信号を入力して前記プリセット値を減算し残時間でのリフレッシュ可能回数を算出する監視カウンタと、
前記保留カウンタの出力値と前記監視カウンタの出力値を比較し、前記保留カウンタの出力値が前記を監視カウンタの出力値と並ぶ前に残りのリフレッシュを強制的に実行する比較手段と、
を備え
前記バーストリードまたはバーストライト処理が実行されていないアイドル期間に、前記リフレッシュ処理を実行することを特徴とするＳＤＲＡＭリフレッシュ制御装置。
【００１１】
（２）所定の単位時間毎にリフレッシュ要求信号を発生するリフレッシュ要求生成手段と、
前記要求信号をカウントアップすると共に、リフレッシュの実行によりカウントダウンする保留カウンタと、
前記アイドル期間を監視して出力するアイドル監視手段と、
前記アイドル監視手段及び前記保留カウンタの出力値を取得し、アイドル期間中に前記前記保留カウンタの値が１以上であればリフレッシュを実行し、前記保留カウンタをカウントダウンする調停手段と、
を備えることを特徴とする（１）に記載のＳＤＲＡＭリフレッシュ制御装置。
【発明の効果】
【００１４】
（２）前記監視カウンタは、前記プリセット値を外部アプリケーションより取得することを特徴とする（１）に記載のＳＤＲＡＭリフレッシュ制御装置。
【００１５】
（２）連続リフレッシュを実行することにより、バンクアクティブモードにおいて、周期的なリフレッシュで必要としていたプリチャージタイムというオーバヘッドを、最初の１回だけで済ませることができ、この点でも時間的使用効率の向上が可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を図面により詳細に説明する。図１は、本発明を適用したＳＤＲＡＭリフレッシュ制御装置の一実施形態を示す機能ブロック図である。ＣＰＵホスト１００からのリード／ライト指令により、メモリコントローラ２００のリード／ライト制御部２０１及び制御信号出力部２０２を介してＳＤＲＡＭ４００に対するリード／ライト及びリフレッシュ等が実行される。
【００１７】
メモリコントローラ２００内に、破線のブロック３００で示す、本発明の特徴部を構成するＳＤＲＡＭリフレッシュ制御装置が形成されている。ＳＤＲＡＭリフレッシュ制御装置３００は、リフレッシュ要求生成手段３０１、保留カウンタ３０２、アイドル監視手段３０３、調停手段３０４、監視カウンタ３０５、比較手段３０６を備えている。
【００１８】
リフレッシュ要求生成手段３０１は、クロックＣＬＫの分周回路３０１ａ及び分周信号をカウントする要求カウンタ３０１ｂよりなる。要求カウンタ３０１ｂは、リフレッシュ単位時間(例64ms/4096回=15.6us)を計測し、カウントアップしたら、リフレッシュ要求を発生し、保留カウンタ３０２及び監視カウンタ３０５に出力する。
【００１９】
保留カウンタ３０２は、リフレッシュ要求を受けると、自動的に保留カウント値を＋１すると共に、調停手段３０４によるリフレッシュが実行されると保留カウント値を−１する。この保留カウント値は、調停手段３０４及び比較手段３０６に出力される。
【００２０】
アイドル監視手段３０３は、リード／ライト制御部２０１の情報に基づいてアイドル状態を監視して、アイドル状態であればその情報を調停手段３０４に通知する。調停手段３０４は、アイドル状態でありかつ保留カウンタ３０２のカウント値が＋１であれば制御信号出力部２０２にアクセスしてリフレッシュを１回実行し、保留カウンタ３０２のカウント値を−１する。リード／ライト動作中であれば、リフレッシュを実行しない。
【００２１】
監視カウンタ３０５は、全リフレッシュ期間(例64ms)に対する、残時間での実行可能リフレッシュ回数を減算カウントする。例えば、１回のリフレッシュに必要な時間を100nsとすると、１回のリフレッシュ要求発生期間では、15.6μs/100ns =156回のリフレッシュが実行可能となる。
【００２２】
この監視カウンタ３０５は、ＣＰＵホスト１００よりプリセット値として、64ms/100ns
=640,000がスタート値としてセットされ、リフレッシュ要求生成手段３０１からのリフレッシュ要求を受けると、自動的に-100する。このプリセット値は、冗長的に大きくなっているが、最適化し、小さい数値で対応させても構わない。
【００２３】
比較手段３０６は、保留カウンタ３０３と、監視カウンタ３０５の出力値を入力して比較し、保留カウンタ３０２のカウント値が、監視カウンタ３０５の値を上回る(並ぶ)時点以降は、制御信号出力部２０２にアクセスしてリフレッシュを強制的に連続実行する。この連続強制実行は、保留カウンタ３０３のカウント値が０になるまで、（監視カウンタ３０５のカウント値も同時に０になる)行う。
【００２４】
ＳＤＲＡＭでは、ＳＤＲＡＭ内にあるセンスアンプをキャッシュのように使用し、高速化させたバンクアクティブモードにおいて、周期的なリフレッシュのスタートで、キャッシュの内容をメモリに書き戻す、プリチャージが実行されるが、リフレッシュを連続実行する場合には、最初の１回のみにプリチャージタイムをとればよいので、時間的な使用効率を向上させることが可能である。
【００２５】
図２は、本発明によるリフレッシュの手順を説明するタイムチャートである。従来手法との効果の差を明記するために、図４で示したタイムチャートを図２（Ａ），（Ｂ）に示している。図２（Ｃ）は、バーストリード２からバーストライトまでの期間に発生しているアイドル期間を検出してリフレッシュが１回実行されていることを示している。
【００２６】
図２（Ｄ）は、本発明によるリフレッシュ処理の全リフレッシュ期間内(例64ms)の遷移を示している。リフレッシュ要求の都度アイドル期間であればリフレッシュ処理が実行されている。保留カウンタ３０２のカウント値が、監視カウンタ３０５の値を上回る(並ぶ)時点以降は、リフレッシュが強制的に連続実行される。
【００２７】
以上説明したように、本発明によれば、全リフレッシュ期間内に所定の回数を実行するという条件範囲内で、可能な限り通常のリード、ライトを優先させ、かつ、アイドル期間にリフレッシュを重ね合わさせることが可能となる。
【００２８】
図３は、本発明を適用したＳＤＲＡＭリフレッシュ制御装置の他の実施形態を示す機能ブロック図である。アイドルの発生は、メモリを利用するアプリケーションに依存し、リード、ライトのアクセスが途切れなく行われ(アイドル状態なし)、そのアクセスを優先した結果、強制リフレッシュ期間が非常に長くなる問題がある。
【００２９】
図３の実施形態では、監視カウンタ３０５へのプリセット値をシステムから与えられる規定値ではなく、アプリケーションソフトウェア５００より任意に設定できるプリセット値としている。このような設定手法により、強制リフレッシュ期間及び回数を意図する値に制御でき、リフレッシュの分散化、周期性を保つことが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本発明を適用したＳＤＲＡＭリフレッシュ制御装置の一実施形態を示す機能ブロック図である。
【図２】本発明によるリフレッシュの手順を説明するタイムチャートである。
【図３】本発明を適用したＳＤＲＡＭリフレッシュ制御装置の他の実施形態を示す機能ブロック図である。
【図４】従来のリフレッシュの手順を説明するタイムチャートである。
【符号の説明】
【００３１】
１００  ホストＣＰＵ
２００  メモリコントローラ
２０１  リード／ライト制御部
２０２  制御信号出力部
３００  ＳＤＲＡＭリフレッシュ制御装置
３０１  リフレッシュ要求生成手段
３０１ａ  分周回路
３０１ｂ  要求カウンタ
３０２  保留カウンタ
３０３  アイドル監視手段
３０４  調停手段
３０５  監視カウンタ
３０６  比較手段
４００  ＳＤＲＡＭ
【図１】
0005145922.tif 000002
【図２】
0005145922.tif 000003
【図３】
0005145922.tif 000004
【図４】
0005145922.tif 000005