(57)【特許請求の範囲】
【請求項１】
揮発性メモリと、
前記揮発性メモリにおいて定期的にスケジュールされたリフレッシュの前に行われたオートリフレッシュの回数を監視するように構成されたリフレッシュカウンタと、ここにおいて、前記リフレッシュカウンタは、前記オートリフレッシュが行われるたびに１ずつインクリメントされる、
前記揮発性メモリを制御するように構成されたメモリ制御装置と、
制御論理であって、前記定期的にスケジュールされたリフレッシュを検出し、前記リフレッシュカウンタが０より大きい数を示すかどうかを判断し、前記リフレッシュカウンタが０より大きい数を示すことに応答して前記メモリ制御装置がアイドルであることを判断し、そして前記メモリ制御装置がアイドルであることに応答して前記リフレッシュカウンタがその最大値に達するまでオートリフレッシュを行うように構成された制御論理と、を含み、
前記リフレッシュカウンタは、前記定期的にスケジュールされたリフレッシュを検出すること、前記リフレッシュカウンタが０より大きい数を示すこと、および前記メモリ制御装置がアイドルでないことに応答してディクリメントされる、メモリシステム。
【請求項２】
前記制御論理は、さらに前記定期的にスケジュールされたリフレッシュをスキップすることができないことに応答して、前記定期的にスケジュールされたリフレッシュを行うように前記揮発性メモリに指示するように構成されている請求項１記載のシステム。
【請求項３】
前記制御論理は、さらに、前記定期的にスケジュールされたリフレッシュを行うことに加えて、次の定期的にスケジュールされたリフレッシュよりも前に１または複数のオートリフレッシュを行うように前記揮発性メモリに指示するように構成されている請求項２記載のシステム。
【請求項４】
行われるべきオートリフレッシュの回数が１つ以上の条件に応じて変わる請求項３記載のシステム。
【請求項５】
行われたオートリフレッシュの最大回数が前記揮発性メモリの行の数に基づく請求項１記載のシステム。
【請求項６】
前記制御論理は、さらに前記メモリ制御装置がアクティブであってかつ前記リフレッシュカウンタが０より大きい数を示すことに応答して、前記定期的にスケジュールされたリフレッシュを行わないように前記揮発性メモリに指示するように構成されている請求項１記載のシステム。
【請求項７】
前記メモリ制御装置は、さらに前記リフレッシュカウンタが最大値に達したかどうかを判断するように構成されている請求項１記載のシステム。
【請求項８】
前記リフレッシュカウンタは、ビットカウンタを含む請求項１記載のシステム。
【請求項９】
前記揮発性メモリは、ダイナミック ランダム アクセス メモリ（dynamic random access memory, DRAM)および同期ＤＲＡＭ(synchronous DRAM, SDRAM)の一方を含む請求項１記載のシステム。
【請求項１０】
揮発性メモリと、
前記揮発性メモリにおいて定期的にスケジュールされたリフレッシュの前に行われたオートリフレッシュの回数に関する情報を維持するように構成されたリフレッシュカウンタと、ここにおいて、前記リフレッシュカウンタは、前記オートリフレッシュが行われるたびに１ずつインクリメントされる、
前記揮発性メモリを制御するように構成されたメモリ制御装置と、
前記メモリ制御装置、前記揮発性メモリおよび前記リフレッシュカウンタ間の相互作用を管理するように構成されたプロセッサであって、さらに
前記定期的にスケジュールされたリフレッシュを検出し、前記リフレッシュカウンタが０より大きい数を示すかどうかを判断し、前記リフレッシュカウンタが０より大きい数を示すことに応答して前記メモリ制御装置がアイドルであることを判断し、そして前記メモリ制御装置がアイドルであることに応答して前記リフレッシュカウンタがその最大値に達するまでオートリフレッシュを行うように構成されたプロセッサと、を含み、
前記リフレッシュカウンタは、前記定期的にスケジュールされたリフレッシュを検出すること、前記リフレッシュカウンタが０より大きい数を示すこと、および前記メモリ制御装置がアイドルでないことに応答してディクリメントされる、メモリシステム。
【請求項１１】
前記プロセッサは、さらに前記定期的にスケジュールされたリフレッシュをスキップすることができないことに応答して、前記定期的にスケジュールされたリフレッシュを行うように構成されている請求項１０記載のシステム。
【請求項１２】
前記プロセッサは、さらに、前記定期的にスケジュールされたリフレッシュを実行することに加えて、次の定期的にスケジュールされたリフレッシュよりも前の１または複数のオートリフレッシュの実行を制御するように構成されている請求項１１記載のシステム。
【請求項１３】
実行されるべきオートリフレッシュの回数が１つ以上の条件に応じて変わる請求項１２記載のシステム。
【請求項１４】
前記プロセッサは、さらに前記メモリ制御装置がアクティブであってかつ前記リフレッシュカウンタが０より大きい数を示すことに応答して、前記リフレッシュカウンタをディクリメントするように構成されている請求項１０記載のシステム。
【請求項１５】
前記プロセッサは、さらに前記リフレッシュカウンタが最大値かどうかを判断するように構成されている請求項１０記載のシステム。
【請求項１６】
前記リフレッシュカウンタは、ビットカウンタである請求項１０記載のシステム。
【請求項１７】
前記揮発性メモリは、ダイナミック ランダム アクセス メモリ（ＤＲＡＭ)および同期ＤＲＡＭ(ＳＤＲＡＭ)の一方を含む請求項１０記載のシステム。
【請求項１８】
データアクセスの開始に先立って少なくとも１回のオートリフレッシュを行うことが可能な揮発性メモリと、
前記揮発性メモリにおいて定期的にスケジュールされたリフレッシュの前に行われたオートリフレッシュの回数を監視するように構成されたリフレッシュカウンタと、ここにおいて、前記リフレッシュカウンタは、前記オートリフレッシュが行われるたびに１ずつインクリメントされる、
前記定期的にスケジュールされたリフレッシュを検出する手段と、
前記リフレッシュカウンタが０より大きい数を示すことを判断する手段と、
前記リフレッシュカウンタが０より大きい数を示すことに応答してメモリ制御装置がアイドルであることを判断する手段と、
前記メモリ制御装置がアイドルであることに応答して前記リフレッシュカウンタがその最大値に達するまでオートリフレッシュを行う手段と、を含み、
前記リフレッシュカウンタは、前記定期的にスケジュールされたリフレッシュを検出すること、前記リフレッシュカウンタが０より大きい数を示すこと、および前記メモリ制御装置がアイドルでないことに応答してディクリメントされる、メモリシステム。
【請求項１９】
揮発性メモリにおいてリフレッシュ動作を行う方法であって、
定期的にスケジュールされたリフレッシュを検出することと、
前記揮発性メモリにおいて定期的にスケジュールされたリフレッシュの前に行われたオートリフレッシュの回数を監視するように構成されたリフレッシュカウンタが０より大きい数を示すことを判断することと、ここにおいて、前記リフレッシュカウンタは、前記オートリフレッシュが行われるたびに１ずつインクリメントされる、
前記リフレッシュカウンタが０より大きい数を示すことに応答してメモリ制御装置がアイドルであることを判断することと、
前記メモリ制御装置がアイドルであることに応答して前記リフレッシュカウンタがその最大値に達するまでオートリフレッシュを行うことと、を含み、
前記リフレッシュカウンタは、前記定期的にスケジュールされたリフレッシュを検出すること、前記リフレッシュカウンタが０より大きい数を示すこと、および前記メモリ制御装置がアイドルでないことに応答してディクリメントされる、方法。
【請求項２０】
行われるべきオートリフレッシュの回数が１つ以上の条件に応じて変わる請求項１９記載の方法。
【請求項２１】
前記定期的にスケジュールされたリフレッシュをスキップすることができないことに応答して、前記定期的にスケジュールされたリフレッシュを行うことをさらに含む請求項１９記載の方法。
【請求項２２】
前記制御論理は、さらに前記メモリ制御装置がアクティブでありかつ前記リフレッシュカウンタが０より大きい数を示すことに応答して、前記リフレッシュカウンタをディクリメントするように構成されている請求項１記載のシステム。
【請求項２３】
前記１つ以上の条件は、前記リフレッシュカウンタのサイズを含む条件のグループから選択される請求項４記載のシステム。
【請求項２４】
前記１つ以上の条件は、前記リフレッシュカウンタのサイズを含む条件のグループから選択される請求項１３記載のシステム。
【請求項２５】
前記１つ以上の条件は、前記リフレッシュカウンタのサイズを含む条件のグループから選択される請求項２０記載の方法。
【請求項２６】
前記リフレッシュカウンタの値は、前記メモリ制御装置がアクティブであることに応答してディクリメントされる請求項６記載のシステム。
【請求項２７】
前記リフレッシュカウンタの値は、前記リフレッシュカウンタが前記最大値に到達しないことに応答してインクリメントされる請求項７記載のシステム。
【請求項２８】
前記リフレッシュカウンタの値は、前記リフレッシュカウンタが前記最大値に到達したことに応答して一定値を維持する請求項７記載のシステム。
【請求項２９】
前記プロセッサは、前記リフレッシュカウンタを制御するように構成され、さらに前記揮発性メモリにリフレッシュ動作を行うように指示するように構成されている請求項１０記載のシステム。
【請求項３０】
前記リフレッシュカウンタの値は、前記メモリ制御装置がアクティブであることに応答してディクリメントされる請求項１０記載のシステム。
【請求項３１】
前記リフレッシュカウンタの値は、前記リフレッシュカウンタが前記最大値に到達しないことに応答してインクリメントされる請求項１５記載のシステム。
【請求項３２】
前記リフレッシュカウンタの値は、前記リフレッシュカウンタが前記最大値に到達したことに応答して一定値を維持する請求項１５記載のシステム。
【請求項３３】
前記リフレッシュカウンタが前記最大値に達したかどうかを判断することをさらに含む請求項１９記載の方法。
【請求項３４】
前記リフレッシュカウンタが前記最大値でないことに応答して、前記リフレッシュカウンタをインクリメントすることさらに含む請求項１９記載の方法。
【請求項３５】
データアクセスを開始する前に少なくとも１回のオートリフレッシュを実行するように動作可能な揮発性メモリに結合されたメモリシステムによって実行されたときに、前記メモリシステムに動作を実施させる、命令が記憶されたコンピュータ読み取り可能な記憶媒体であって、前記命令が、
定期的にスケジュールされたリフレッシュを検出するためのプログラムコードと、
前記揮発性メモリにおいて定期的にスケジュールされたリフレッシュの前に行われたオートリフレッシュの回数を監視するように構成されたリフレッシュカウンタが０より大きい数を示すかどうかを判断するためのプログラムコードと、ここにおいて、前記リフレッシュカウンタは、前記オートリフレッシュが行われるたびに１ずつインクリメントされる、
前記リフレッシュカウンタが０より大きい数を示すことに応答してメモリ制御装置がアイドルであることを判断するためのプログラムコードと、
前記メモリ制御装置がアイドルであることに応答して前記リフレッシュカウンタがその最大値に達するまでオートリフレッシュを行うためのプログラムコードと、を含み、
前記リフレッシュカウンタは、前記定期的にスケジュールされたリフレッシュを検出すること、前記リフレッシュカウンタが０より大きい数を示すこと、および前記メモリ制御装置がアイドルでないことに応答してディクリメントされる、コンピュータ読み取り可能な記憶媒体。
【請求項３６】
前記制御論理は、前記メモリ制御装置と一体化される、請求項１記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概ね、メモリデバイス、より具体的には、揮発性メモリの性能へのリフレッシュ動作の影響を最小化する方法およびシステムに関する。
【背景技術】
【０００２】
揮発性メモリは、通常、多数の配列(または、バンク)として構成されている記憶媒体である。さらに、各バンクは、“メモリセル”のマトリックスとして行（row）および列(column)で配置され、さらに、各列は、メモリの入出力(input/output, I/O)の幅によって分割されている。メモリ内の位置は、バンク、行、および列によって一意に特定される。メモリ制御装置は、データのバンク、行、および列の位置を示すことによって、メモリからデータを検索するのに使用され得る。
【０００３】
動的揮発性メモリの場合、各セルは、データの保全性を維持するために、周期的にリフレッシュ、すなわち、再印加（re-energize）されなければならない。セルは、電荷を蓄積するコンデンサを中心として設計され、電荷は時間にしたがって放電し得るので、セルはリフレッシュされなければならない。リフレッシュは、メモリ内のセルを再充電、すなわち、再印加するプロセスである。セルは、通常、一度に、１行ずつリフレッシュされる。現在、揮発性メモリをリフレッシュするために考案された多数の方法が存在する。これらの方法の全てではないが、幾つかは、性能または電力、あるいはこの両者におけるコストを高くする。例えば、現代のディジタルシステムにおいて揮発性メモリのリフレッシュを制御するのに通常使用されている一般的な方法または技術は、２つある。一方の方法では、メモリに依存して、メモリ上で使用可能な内蔵リフレッシュ機構を使用して、リフレッシュされる必要のある行およびバンクを追跡し続け、他方の方法では、メモリ制御装置に依存して、リフレッシュされる必要のある行およびバンクを追跡し続ける。
【０００４】
第１の一般的に使用されている方法は、揮発性メモリのオートリフレッシュおよびセルフリフレッシュ機能を使用する。これらの機能は、メモリのリフレッシュアドレスおよび内蔵リフレッシュクロックを使用する。メモリのアクティブな使用中に、リフレッシュサイクルが要求されると、メモリ制御装置は、全バンクをプリチャージし、次に、オートリフレッシュ コマンドを使用して、内部リフレッシュサイクルを起こすように、メモリに伝える。オートリフレッシュモードでは、メモリは、その内部リフレシュ アドレス カウンタ内のリフレッシュアドレスを使用して、何れの行／バンクがリフレッシュサイクルを行うかを判断し、該当する行をサイクルさせる。メモリ制御装置は、何れのバンクがメモリによってリフレッシュされることになるかについて知らないので、メモリがオートリフレッシュ状態に入ると、全てのバンクを閉じなければならない。
【０００５】
非使用期間中、メモリ制御装置は、メモリをセルフ リフレッシュ モードに置き得る。セルフ リフレッシュ モードでは、メモリは、自分自身の内部クロックおよびリフレシュアドレス カウンタを使用して、リフレッシュを起こし、メモリの行をリフレッシュする。この方法は、セルフ リフレッシュ モードを使用することができるので、アイドル状態中に電力を節約するのに適している。セルフリフレッシュ状態は、少量の電力を使用し、メモリをリフレッシュすることによって、メモリの内容を維持する。必要とされる電力が少量であるので、この方法は、一般に、低電力の応用に使用される。
【０００６】
第２の方法にしたがうと、リフレッシュの制御は、メモリ制御装置によって行われる。この方法は、メモリ上で使用可能な内蔵リフレッシュ機構を全く使用しない。この方法のもとでは、定期的に与えられる間隔(すなわち、リフレッシュレート)において、メモリ制御装置は、バンク／行アドレスの組合せを使用して、行を連続的に開閉することによって、リフレッシュを明確に起こす。リフレッシュレートを判断するリフレッシュクロック、およびバンク／行アドレスの組合せは、メモリ制御装置の内部にある。この方法は、高速／高性能の応用に最適である。この方法は、メモリ制御装置が特定のメモリバンクをリフレッシュすることを可能にする一方で、他のメモリバンクが、アクセスのために開き続けることを許し、より高い性能をもたらし、他のバンクに対する読み出しおよび書き込みを、概ね、並列に、中断されずに、行い続けることができる。この方法の欠点は、システムが電源を切っているか、または長いアイドル状態である間、メモリ制御装置がメモリをリフレッシュしていないとき、メモリがセルフリフレッシュ状態を維持できないことである。既に記載したように、セルフリフレッシュ状態は、ほとんどの揮発性メモリの内蔵機能である。メモリのセルフリフレッシュ機能は、メモリ制御装置と無関係に、メモリ内のリフレシュ アドレス カウンタに記憶されているリフレッシュアドレス(すなわち、列／バンクアドレス)をインクリメントするので、メモリによって維持されているリフレッシュアドレスは、メモリ制御装置と一致または同期しない。
【０００７】
各リフレッシュサイクルは、メモリをアイドル状態へ強制し、その間、データへのアクセスは有効ではないので、リフレッシュ動作は、メモリサブシステムの性能を低減し得る。例えば、特定のメモリバンクがアクティブ状態である間に、リフレッシュサイクルがそのバンクに対して要求されると、リフレッシュ動作が行われるのを可能にするために、そのバンクを閉鎖しなければならない。バンクを閉鎖することは、行われることになっていたデータの操作を、どのようなものであっても、遅らせなければならず、したがって、システムの性能に影響を及ぼすことを意味する。
【０００８】
リフレッシュ動作の性能への影響を軽減するために、幾つかの既存の方式が使用可能である。そのような方式は、通常、要求されるリフレッシュレートよりも高いリフレッシュレートを使用することを必要とし、したがって、より多くのメモリバンクを所定のリフレッシュ期間内でリフレッシュすることができる。より多くのメモリバンクをリフレッシュさせることによって、リフレッシュのためにアクティブなメモリバンクを閉鎖させなければならない機会は低減される。しかしながら、より高いリフレッシュレートを使用することには、欠点がある。例えば、リフレッシュレートが高くなると、より多くの電力が必要とされ、その結果、性能がより低くなることを意味する。さらに加えて、単に、より高いリフレッシュレートを使用するだけでは、リフレッシュが要求されるときに、アクティブなメモリバンクを閉鎖する必要を必ずしも無くすとは限らず、幾つかの状況では、アクティブなメモリバンクを何れにしても閉鎖しなければならず、したがって、より高いリフレッシュレートを使用することによる恩恵が打ち消される。
【発明の概要】
【０００９】
したがって、揮発性メモリの性能へのリフレッシュ動作の影響を最小化するための、より効果的な方法およびシステムを提供することが望ましい。
【課題を解決するための手段】
【００１０】
本発明の１つの態様では、メモリシステムは、揮発性メモリと、揮発性メモリにおいて行われた先行リフレッシュの回数を監視するように構成されたリフレッシュカウンタと、定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、リフレッシュカウンタを検査して、定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断するように構成された制御装置とを含む。
【００１１】
本発明の別の態様では、メモリシステムは、揮発性メモリと、揮発性メモリにおいて行われた先行リフレッシュの回数に関係する情報を維持するように構成されたリフレッシュカウンタと、制御装置、揮発性メモリ、およびリフレッシュカウンタ間の相互作用を管理するように構成されたプロセッサであって、定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、リフレッシュカウンタを検査して、定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断するようにも構成されたプロセッサとを含む。
【００１２】
本発明のさらに別の態様では、メモリシステムは、揮発性メモリと、揮発性メモリにおいて行われた先行リフレッシュの回数を監視する手段と、定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、行われた先行リフレッシュの回数を検査して、定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断する手段とを含む。
【００１３】
本発明の１つの態様では、揮発性メモリにおいてリフレッシュ動作を行う方法は、揮発性メモリにおいて行われた先行リフレッシュの回数を監視することと、定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、行われた先行リフレッシュの回数を検査して、定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断することとを含む。
【００１４】
本発明の種々の実施形態が例示的に示され、記載されている次の詳細な説明から、本発明の他の実施形態が、当業者には容易に明らかになることが分かる。理解されることになるように、本発明は、他の、および異なる実施形態が可能であり、その幾つかの細部は、種々の他の点において、全てが本発明の意図および範囲から逸脱することなく、変更することができる。したがって、図面および詳細な記述は、本質的に例示的であって、限定的ではないと考えられる。
【図面の簡単な説明】
【００１５】
【図１】本開示にしたがって、リフレッシュ方法を実行するのに使用することができる配置を示す単純化されたブロック図。
【図２】本開示の１つの態様にしたがって、リフレッシュ方法の動作の流れを示すフローチャート。
【図３】本開示の別の態様にしたがって、リフレッシュ方法の動作の流れを示すフローチャート。
【発明を実施するための形態】
【００１６】
本発明の態様は、添付の図面において、制限によってではなく、例示によって示されている。
【００１７】
添付の図面に関連して後述される詳細な記述は、本発明の種々の実施形態の記述として意図されており、本発明が実行され得る唯一の実施形態を表わすことを意図していない。詳細な記述は、本発明を完全に理解させるために、具体的な詳細を含んでいる。しかしながら、当業者には、本発明が、これらの具体的な詳細がなくても実行され得ることが明らかになるだろう。幾つかの例において、本発明の概念を不明瞭にするのを避けるために、周知の構造および構成要素がブロック図の形で示されている。
【００１８】
ここで、本開示を１つ以上の例示的な実施形態の形で記載する。１つの態様において、リフレッシュ動作による性能への影響を低減するリフレッシュ方法を与える。図１は、リフレッシュ方法を実行するのに使用することができる配置100を示している。図１に示されているように、リフレッシュ方法は、揮発性メモリ110と、揮発性メモリおよびリフレッシュカウンタ130を制御するように構成された制御装置120とで実施され得る。揮発性メモリ110は、例えば、ダイナミック ランダム アクセス メモリ（dynamic random access memory, DRAM)、同期ＤＲＡＭ(synchronous DRAM, SDRAM)、および種々の他のタイプのＤＲＡＭ、等であり得る。本明細書に与えられている開示および教示に基づいて、当業者には、リフレッシュ動作を必要とする他のタイプのメモリに対して、本開示をどのように実施するかが分かるであろう。
【００１９】
さらに詳しく別途記載されるように、リフレッシュカウンタ130は、行われた先行リフレッシュの回数を追跡し続け、それによって、定期的にスケジュールされたリフレッシュをスキップすることを可能にするのに使用される。１つの実施において、リフレッシュカウンタ130は、３ビットのカウンタであり、これは、スケジュールより前に、７回までの先行リフレッシュを行うことができることを意味する。リフレッシュカウンタ130のサイズは、システムまたは設計、あるいはこの両者の制約に応じて変わり得る。本明細書に与えられている開示および教示に基づいて、当業者は、本開示にしたがって、リフレッシュカウンタをどのように実施するかが分かるであろう。
【００２０】
リフレッシュ方法の１つの態様において、（例えば、起動順序の後で）データトランザクションが制御装置120にアクセスし、メモリ110を操作し始める前に、制御装置120は、リフレッシュカウンタ130がその最大値に達するまで、多数のリフレッシュを行うようにメモリ110に指示する。リフレッシュが行われるたびに、リフレッシュカウンタ130は、１ずつインクリメントされる。これらのリフレッシュは、スケジュールより前に行われる先行リフレッシュである。定期的にスケジュールされたリフレッシュは、メモリ110と関係付けられた内部リフレッシュクロックまたはフラグ(図示されない)によって開始される。３ビットのカウンタでは、リフレッシュカウンタ130の最大値は、７であり、したがって、７回の先行リフレッシュを行うことができる。
【００２１】
図２は、本開示の１つの態様にしたがうリフレッシュ方法の動作の流れを示すフローチャートである。１つの実施において、リフレッシュ方法は、制御装置120、メモリ110、およびリフレッシュカウンタ130を制御する制御論理またはプロセッサによって行われる。制御論理またはプロセッサは、独立モジュールとして実施されるか、または制御装置120のような別の構成要素の一部として一体化され得ることが理解されるはずである。本明細書に与えられている開示および教示に基づいて、当業者は、本開示を実施する他のやり方または方法、あるいはこの両者が分かるであろう。
【００２２】
ブロック200において、メモリ110によって要求された定期的にスケジュールされたリフレッシュが、検出される。定期的にスケジュールされたリフレッシュに対する要求を検出すると、リフレッシュカウンタ130が検査され、その値を判断する。ブロック210において、リフレッシュカウンタ130がその最低値である(例えば、ゼロである)と判断されると、ブロック230において、１回以上のオートリフレッシュがメモリ110上で行われる。これらの１回以上のオートリフレッシュは、スケジュールより前に行われる先行リフレッシュである。行われるオートリフレッシュの回数は、リフレッシュカウンタ130のサイズ、設計基準、および／または性能基準、等のような、１つ以上の条件に応じて変わり得る。本明細書に与えられている開示および教示に基づいて、当業者は、本開示にしたがって行われるオートリフレッシュの回数をどのように判断するかが分かるであろう。行うことができるオートリフレッシュの最大回数は、リフレッシュカウンタ130のサイズに等しい。先行オートリフレッシュが行われるたびに、リフレッシュカウンタ130は、１ずつインクリメントされる。論理的に、リフレッシュカウンタ130の値がその最低値(例えば、ゼロ)に達しているとき、これは、それまでに行われた先行リフレッシュが全て使用されたか、または、逆に、定期的にスケジュールされたリフレッシュをこれ以上スキップできないことを意味する。したがって、リフレッシュカウンタ130がその最低値に達しているとき、データの損失を防ぐために、オートリフレッシュをメモリ110上で行わなければならない。
【００２３】
リフレッシュカウンタ130がその最低値でない（例えば、ゼロ以外の値である）と判断されると、ブロック220において、制御装置120が検査され、それがアイドルである(これは、メモリ110もアイドルであることを意味する)かどうかを判断する。制御装置120がアイドルでない（すなわち、逆に言えば、制御装置120はアクティブである）ときは、ブロック240において、リフレッシュカウンタ130は１ずつディクリメントされ、定期的にスケジュールされたリフレッシュは行われない。論理的に、リフレッシュカウンタ130をディクリメントすることは、定期的にスケジュールされたリフレッシュを行わないことと交換に、先行リフレッシュを使い果たしていくことを意味する。
【００２４】
制御装置120が実際にアイドルであると判断されると、ブロック250において、オートリフレッシュがメモリ110上で行われる。オートリフレッシュが行われた後で、ブロック260において、リフレッシュカウンタ130の値が検査される。リフレッシュカウンタ130がその最大値にまだ達していないと判断されると、ブロック270において、リフレッシュカウンタ130がインクリメントされる。リフレッシュカウンタ130をインクリメントすることは、追加の先行オートリフレッシュが行われ、したがって、後の時間において、定期的にスケジュールされたリフレッシュをスキップできることを意味する。
【００２５】
リフレッシュカウンタ130が、その最大値に達したと判断されると、ブロック280において、リフレッシュカウンタ130の値は変わらないままである。
【００２６】
図３は、本開示の別の態様にしたがうリフレッシュ方法の動作の流れを示している。制御装置120は、それがアイドルであるときは必ず、リフレッシュカウンタ130がその最大値に達するまで、定期的にスケジュールされたオートリフレッシュが検出されないときでさえ、オートリフレッシュを行うようにメモリ110に指示し続ける。ブロック300において、制御装置120がアイドルであり、定期的にスケジュールされたオートリフレッシュが検出されないとき、リフレッシュカウンタ130の値が検査され、それがその最大値に達しているかどうかを判断する。リフレッシュカウンタ130がその最大値に達しているときは、ブロック310において、先行リフレッシュは行われない。しかしながら、リフレッシュカウンタ130がその最大値にまだ達していないときは、ブロック320において、オートリフレッシュが行われ、それにしたがって、リフレッシュカウンタ130がインクリメントされる。制御装置120がアイドルのままであり、定期的にスケジュールされたリフレッシュが検出されないと仮定すると、リフレッシュカウンタ130が、その最大値に達するまで、すなわち、最大数または何か他の所定値の許容先行リフレッシュが行われるまで、プロセスは続く。所定値は、リフレッシュカウンタ130のサイズ、設計基準、および／または性能基準、等のような１つ以上の条件に応じて変わり得る。先行リフレッシュを行うことによって、制御装置120は、定期的にスケジュールされたリフレッシュより先に行き続けることができる。先に行き続けることによって、後で、制御装置120が、システムの他の部分からのコマンドを処理するのにビジーであるとき、制御装置120は、１つ以上の定期的にスケジュールされたリフレッシュをスキップすることができる。
【００２７】
上述のリフレッシュ方法を使用することによって、当業者には、メモリの性能へのリフレッシュ動作の影響が軽減されることが分かるであろう。例えば、先行リフレッシュを行い、定期的にスケジュールされたリフレッシュより先に行き続けることによって、メモリの性能は最適化される。別の見方では、定期的にスケジュールされたリフレッシュは、必要に応じて、それまでに行われた先行リフレッシュを優先して、遅らされ、したがって、メモリ資源をより効率的に使用することを可能にする。さらに加えて、定期的にスケジュールされたリフレッシュを遅らせることによって、リフレッシュ間隔が延ばされ、これは、より少ない電力が消費され、その結果として、より良い性能をもたらすことを意味する。
【００２８】
本明細書に開示されている実施形態に関連して記載された方法またはアルゴリズムは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または両者の組合せにおいて、制御論理、プログラミング命令、または他の指示の形で、直接的に具体化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、または当技術において知られている記憶媒体の任意の他の形態の中に存在し得る。記憶媒体はプロセッサに接続され、プロセッサが記憶媒体から情報を読み出し、かつそこへ情報を書き込みことができるようにする。その代りに、記憶媒体は、プロセッサと一体構成であってもよい。
【００２９】
開示されている実施形態のこれまでの記述は、当業者が本発明を作成または使用できるようにするために与えられている。これらの実施形態に対する種々の変更は、当業者には容易に明らかになり、本明細書に定められている一般的な原理は、本発明の範囲の意図から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示されている実施形態に制限されることを意図されず、特許請求項に矛盾しない全範囲にしたがい、要素を単数形で記載していることは、“１つ、しかも１つのみ”であると具体的に記載されていないならば、“１つ、しかも１つのみ”であることを意味することを意図しているのではなく、むしろ、“１つ以上”であることを意味することを意図している。当業者に知られている、または知られることになる本開示の全体を通して記載されている種々の実施形態の要素に対する構造的および機能的に同等のもの全ては、参照によって本明細書に明示的に取り入れられ、特許請求項によって含まれることを意図されている。さらに加えて、本明細書に開示されていることは、そのような開示が特許請求項に明示的に記載されているかどうかに関わらず、公に供されることを意図されていない。特許請求項の要素は、その要素が“〜のための手段（means for）”という語句を使用して、または方法の特許請求項の場合は、“〜のためのステップ（step for）”という語句を使用して明示的に記載されていないならば、米国特許法第１１２条第６項の条項のもとで解釈されない。
以下に、本願の出願当初請求項に記載された発明を付記する。
［１］
揮発性メモリと、
前記揮発性メモリにおいて行われた先行リフレッシュの回数を監視するように構成されたリフレッシュカウンタと、
定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、リフレッシュカウンタを検査して、前記定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断するように構成された制御装置と、を含むメモリシステム。
［２］
前記制御装置は、さらに前記定期的にスケジュールされたリフレッシュをスキップすることができないと判断すると、前記定期的にスケジュールされたリフレッシュを行うように前記揮発性メモリに指示するように構成されている上記［１］記載のシステム。
［３］
前記制御装置は、さらに前記定期的にスケジュールされたリフレッシュを行うことに加えて、１回以上の先行リフレッシュを行うように前記揮発性メモリに指示するように構成されている上記［２］記載のシステム。
［４］
行われるべき先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［３］記載のシステム。
［５］
前記制御装置は、さらに前記揮発性メモリへのデータアクセスを開始する前に、１回以上の先行リフレッシュを行うように前記揮発性メモリに指示するように構成されている上記［１］記載のシステム。
［６］
行われた先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［５］記載のシステム。
［７］
前記制御装置は、さらに前記定期的にスケジュールされたリフレッシュをスキップすることができると判断すると、前記制御装置の動作状態を検査して前記定期的にスケジュールされたリフレッシュを行うかどうかを判断するように構成されている上記［１］記載のシステム。
［８］
前記制御装置は、さらに前記動作状態が、前記制御装置がアクティブであることを示すとき、前記定期的にスケジュールされたリフレッシュを行わないように揮発性メモリに指示し、行われた先行リフレッシュの低減された回数を反映するように前記リフレッシュカウンタを更新するように構成されている上記［７］記載のシステム。
［９］
前記制御装置は、さらに前記動作状態が、前記制御装置がアイドルであることを示すとき、前記定期的にスケジュールされたリフレッシュを行うように前記揮発性メモリに指示し、それにしたがって前記リフレッシュカウンタを更新するように構成されている上記［７］記載のシステム。
［１０］
前記制御装置は、さらにアイドルであるとき、１回以上の先行リフレッシュを行うように前記揮発性メモリに指示し、それにしたがって前記リフレッシュカウンタを更新するように構成されている上記［１］記載のシステム。
［１１］
前記制御装置がアイドルであるときに行われるべき先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［１０］記載のシステム。
［１２］
前記リフレッシュカウンタは、ビットカウンタを含む上記［１］記載のシステム。
［１３］
前記揮発性メモリは、ダイナミック ランダム アクセス メモリ（dynamic random access memory, DRAM)および同期ＤＲＡＭ(synchronous DRAM, SDRAM)の一方を含む上記［１］記載のシステム。
［１４］
揮発性メモリと、
前記揮発性メモリにおいて行われた先行リフレッシュの回数に関する情報を維持するように構成されたリフレッシュカウンタと、
前記揮発性メモリを制御するように構成された制御装置と、
前記制御装置、前記揮発性メモリおよび前記リフレッシュカウンタ間の相互作用を管理するように構成されたプロセッサであって、さらに定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、前記リフレッシュカウンタを検査して、前記定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断するように構成されているプロセッサと、を含むメモリシステム。
［１５］
前記プロセッサは、前記揮発性メモリへのデータアクセスを開始する前に、前記揮発性メモリに多数の先行リフレッシュを実行させるように前記制御装置に指示するように構成されており、
実行される先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［１４］記載のシステム。
［１６］
前記プロセッサは、さらに前記定期的にスケジュールされたリフレッシュをスキップすることができないと判断すると、前記定期的にスケジュールされたリフレッシュを実行させるように構成されている上記［１４］記載のシステム。
［１７］
前記プロセッサは、さらに前記定期的にスケジュールされたリフレッシュを実行することに加えて、１回以上の先行リフレッシュを実行させるように構成されている上記［１６］記載のシステム。
［１８］
実行されるべき先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［１７］記載のシステム。
［１９］
前記プロセッサは、前記定期的にスケジュールされたリフレッシュをスキップすることができると判断すると、前記制御装置の動作状態を検査して、前記定期的にスケジュールされたリフレッシュを実行するかどうかを判断するように構成されている上記［１４］記載のシステム。
［２０］
前記プロセッサは、前記制御装置がアクティブであることを前記動作状態が示すとき、前記定期的にスケジュールされたリフレッシュを実行させないように構成されており、前記プロセッサは、さらに実行された先行リフレッシュの低減された回数を反映するように、前記リフレッシュカウンタを更新するように構成されている上記［１９］記載のシステム。
［２１］
前記プロセッサは、さらに前記制御装置がアイドルであることを前記動作状態が示すとき、前記定期的にスケジュールされたリフレッシュを実行させ、それにしたがって前記リフレッシュカウンタを更新するように構成されている上記［１９］記載のシステム。
［２２］
前記プロセッサは、さらに前記制御装置がアイドルであるとき、１回以上の先行リフレッシュを実行させ、それにしたがって前記リフレッシュカウンタを更新するように構成されている上記［１４］記載のシステム。
［２３］
前記制御装置がアイドルであるときに実行される先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［２２］記載のシステム。
［２４］
前記リフレッシュカウンタは、ビットカウンタである上記［１４］記載のシステム。
［２５］
前記揮発性メモリは、ダイナミック ランダム アクセス メモリ（ＤＲＡＭ)および同期ＤＲＡＭ(ＳＤＲＡＭ)の一方を含む上記［１４］記載のシステム。
［２６］
揮発性メモリと、
前記揮発性メモリにおいて行われた先行リフレッシュの回数を監視する手段と、
定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、行われた先行リフレッシュの回数を検査し、前記定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断する手段と、を含むメモリシステム。
［２７］
揮発性メモリにおいてリフレッシュ動作を行う方法であって、
前記揮発性メモリにおいて行われた先行リフレッシュの回数を監視することと、
定期的にスケジュールされたリフレッシュに対する要求を検出することに応答して、行われた先行リフレッシュの回数を検査し、前記定期的にスケジュールされたリフレッシュをスキップすることができるかどうかを判断することと、を含む方法。
［２８］
前記揮発性メモリへのデータアクセスを開始する前に、前記揮発性メモリにおいて１回以上の先行リフレッシュを行うことをさらに含む上記［２７］記載の方法。
［２９］
行われる先行リフレッシュの回数が１つ以上の条件に応じて変わる上記［２８］記載の方法。
［３０］
前記定期的にスケジュールされたリフレッシュをスキップすることができないという判断に応答して、前記定期的にスケジュールされたリフレッシュを行うことをさらに含む上記［２７］記載の方法。
［３１］
前記定期的にスケジュールされたリフレッシュを行うことに加えて、１回以上の先行リフレッシュを行い、リフレッシュカウンタを更新することをさらに含む上記［３０］記載の方法。
［３２］
前記定期的にスケジュールされたリフレッシュをスキップすることができるという判断に応答して、動作状態を検査して前記定期的にスケジュールされたリフレッシュを行うかどうかを判断することをさらに含む上記［２７］記載の方法。
［３３］
前記動作状態がアクティブであるとき、前記定期的にスケジュールされたリフレッシュの実行を妨げ、行われた先行リフレッシュの低減された回数を反映するように、前記リフレッシュカウンタを更新することさらに含む上記［３２］記載の方法。
［３４］
前記動作状態がアイドルであるとき、前記定期的にスケジュールされたリフレッシュを実行し、それにしたがって前記リフレッシュカウンタを更新することをさらに含む上記［３２］記載の方法。
［３５］
揮発性メモリがアイドルであるかどうかを判断することと、
前記揮発性メモリがアイドルであるとき、１回以上の先行リフレッシュを行い、それにしたがって前記リフレッシュカウンタを更新することと、をさらに含む上記［２７］記載の方法。
【図１】
0005627953.tif 000002
【図２】
0005627953.tif 000003
【図３】
0005627953.tif 000004