(57)【要約】【解決手段】メモリシステムが提供される。このメモリシステムは、多くのバンクを有する揮発性メモリと、揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するように構成されたメモリコントローラとを含む。このメモリコントローラは更に、揮発性メモリに対して、目標バンクにおいて自動リフレッシュ動作を実行するよう命令するように構成されている。目標バンクにおいて自動リフレッシュ動作が実行されている間、残りのバンクはアクセスのための使用が可能である。【選択図】      図２
2008500679.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムであって、
複数のバンクを有する揮発性メモリと、
前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するように構成されたメモリコントローラであって、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するよう命令するように更に構成されたメモリコントローラとを備え、
前記目標バンクにおいて前記自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能であるメモリシステム。
【請求項２】
請求項１に記載のメモリシステムにおいて、
前記揮発性メモリは更に、バンクアドレスラッチ、リフレッシュトリガ、及びリフレッシュカウンタを含み、前記リフレッシュカウンタは更に、行アドレスカウンタと行インクリメントカウンタとを有し、
前記リフレッシュトリガは、前記リフレッシュカウンタ及び前記バンクアドレスラッチを制御するように構成され、
前記行インクリメントカウンタは、前記行アドレスカウンタをインクリメントするように構成され、
前記メモリカウンタは更に、前記目標バンクのためのバンクアドレスを前記バンクアドレスラッチにロードするように構成され、
前記バンクアドレスラッチに格納されたバンクアドレスは、前記自動リフレッシュ動作のための目標バンクを識別するために前記揮発性メモリによって使用されるメモリシステム。
【請求項３】
請求項２に記載のメモリシステムにおいて、
前記行インクリメントカウンタは、自動リフレッシュ動作が実行される毎にインクリメントされるように構成されたメモリシステム。
【請求項４】
請求項３に記載のメモリシステムにおいて、
前記行インクリメントカウンタは更に、予め定めた数の自動リフレッシュ動作が実行された後、前記行アドレスカウンタをインクリメントするように構成され、
前記行アドレスカウンタが、前記自動リフレッシュ動作のための前記目標バンクにおける行を識別するために使用可能な行アドレスを含むメモリシステム。
【請求項５】
請求項４に記載のメモリシステムにおいて、
前記メモリコントローラは更に、前記複数のバンクに対して連続的に自動リフレッシュ動作を実行するように前記揮発性メモリに命令するように構成されたメモリシステム。
【請求項６】
請求項５に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードに入ると、前記揮発性メモリは更に、前記バンクアドレスラッチに格納されたバンクアドレスを使用して、１つ又は複数の自己リフレッシュを生成するように構成され、
前記バンクアドレスラッチに格納された前記バンクアドレスは、前記揮発性メモリに対して、前記目標バンクに前記自動リフレッシュ動作を実行するよう命令するために予め前記メモリコントローラによって準備されるメモリシステム。
【請求項７】
請求項６に記載のメモリシステムにおいて、
前記揮発性メモリは更に、各自己リフレッシュの後に前記バンクアドレスラッチをインクリメントするように構成されたメモリシステム。
【請求項８】
請求項７に記載のメモリシステムにおいて、
前記自己リフレッシュモードを終えると、前記揮発性メモリは更に、前記行インクリメントカウンタをリセットし、もって、前記揮発性メモリと前記メモリコントローラとを再同期するメモリシステム。
【請求項９】
請求項８に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードを終えると、前記メモリコントローラは更に、１つの平均リフレッシュ期間内に予め定めた数のリフレッシュを発行するように構成されたメモリシステム。
【請求項１０】
請求項９に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードに入る前に、先行した多くのリフレッシュが既に行われている場合、前記揮発性メモリが前記自己リフレッシュモードを終えると、前記メモリコントローラは更に、１つの平均リフレッシュ期間内に前記予め定めた数のリフレッシュを発行することをやめるように構成されたメモリシステム。
【請求項１１】
請求項１に記載のメモリシステムにおいて、
前記揮発性メモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）あるいはシンクロナスＤＲＡＭのうちの１つであるメモリシステム。
【請求項１２】
メモリシステムであって、
複数のバンク、バンクアドレスラッチ、リフレッシュクロック、及びリフレッシュカウンタを有する揮発性メモリであって、前記リフレッシュカウンタは更に、行アドレスカウンタと行インクリメントカウンタとを有し、前記リフレッシュクロックは、前記リフレッシュカウンタ及び前記バンクアドレスラッチを制御するように構成され、前記行インクリメントカウンタは、前記行アドレスカウンタをインクリメントするように構成された揮発性メモリと、
前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するように構成されたメモリコントローラであって、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するよう命令するように更に構成され、前記目標バンクのためのバンクアドレスを前記バンクアドレスラッチへロードするように更に構成されたメモリコントローラとを備え、
前記バンクアドレスラッチに格納されたバンクアドレスは、前記自動リフレッシュ動作のための目標バンクを識別するために前記揮発性メモリによって使用可能であり、
前記目標バンクにおいて前記自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能であるメモリシステム。
【請求項１３】
請求項１２に記載のメモリシステムにおいて、
前記行インクリメントカウンタは、自動リフレッシュ動作が実行される毎にインクリメントされるように構成され、
前記行インクリメントカウンタは更に、予め定めた数の自動リフレッシュ動作が実行された後に、前記行アドレスカウンタをインクリメントするように構成され、
前記行アドレスカウンタは、前記自動リフレッシュ動作のための前記目標バンクにおける行を識別するために使用可能な行アドレスを含むメモリシステム。
【請求項１４】
請求項１３に記載のメモリシステムにおいて、
前記メモリコントローラは更に、前記複数のバンクに対して連続的に自動リフレッシュ動作を実行するよう前記揮発性メモリに命令するように構成されたメモリシステム。
【請求項１５】
請求項１４に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードに入ると、前記揮発性メモリは更に、前記バンクアドレスラッチに格納されたバンクアドレスを使用して、１つ又は複数の自己リフレッシュ動作を実行するように構成され、
前記バンクアドレスラッチに格納された前記バンクアドレスは、前記揮発性メモリに対して、前記目標バンクに前記自動リフレッシュ動作を実行するよう命令するために予め前記メモリコントローラによって準備されるメモリシステム。
【請求項１６】
請求項１５に記載のメモリシステムにおいて、
前記揮発性メモリは更に、各自己リフレッシュ動作後、前記バンクアドレスラッチをインクリメントするように構成されたメモリシステム。
【請求項１７】
請求項１６に記載のメモリシステムにおいて、
前記自己リフレッシュモードを終えると、前記揮発性メモリは更に、前記行インクリメントカウンタをリセットし、もって、前記揮発性メモリと前記メモリコントローラとを再同期するメモリシステム。
【請求項１８】
請求項１７に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードを終えると、前記メモリコントローラは更に、１つの平均リフレッシュ期間内に予め定めた数のリフレッシュを発行するように構成されたメモリシステム。
【請求項１９】
請求項１８に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードに入る前に、先行した多くのリフレッシュが既に行われている場合、前記揮発性メモリが前記自己リフレッシュモードを終えると、前記メモリコントローラは更に、１つの平均リフレッシュ期間内に前記予め定めた数のリフレッシュを発行することをやめるように構成されたメモリシステム。
【請求項２０】
請求項１２に記載のメモリシステムにおいて、
前記揮発性メモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）あるいはシンクロナスＤＲＡＭのうちの１つであるメモリシステム。
【請求項２１】
メモリシステムであって、
複数のバンク及びバンクアドレスラッチを有する揮発性メモリと、
前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するとともに、前記複数のバンクにおける目標バンクに対して自動リフレッシュ動作を実行するように前記揮発性メモリに対して命令する手段と、
前記目標バンクのバンクアドレスを前記バンクアドレスラッチへロードする手段とを備え、
前記バンクアドレスラッチに格納されたバンクアドレスは、前記自動リフレッシュ動作のための目標バンクを識別するために前記揮発性メモリによって使用可能であり、
前記目標バンクにおいて前記自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能であるメモリシステム。
【請求項２２】
請求項２１に記載のメモリシステムにおいて、
前記揮発性メモリは更に、行インクリメントカウンタ及び行アドレスカウンタを備え、前記メモリシステムは更に、
自動リフレッシュ動作が実行される毎に、前記行インクリメントカウンタをインクリメントする手段を備え、
前記行インクリメントカウンタは更に、予め定めた数の自動リフレッシュ動作が実行された後に、前記行アドレスカウンタをインクリメントするように構成され、
前記行アドレスカウンタは、前記自動リフレッシュ動作のための前記目標バンクにおける行を識別するために使用可能な行アドレスを含むメモリシステム。
【請求項２３】
請求項２２に記載のメモリシステムにおいて、
前記複数のバンクに対して連続的に自動リフレッシュ動作を実行するように前記揮発性メモリに命令する手段を更に備えたメモリシステム。
【請求項２４】
請求項２３に記載のメモリシステムにおいて、
前記揮発性メモリが前記自己リフレッシュモードに入ると、前記揮発性メモリは更に、前記バンクアドレスラッチに格納されたバンクアドレスを使用して、１つ又は複数の自己リフレッシュ動作を実行するように構成され、
前記バンクアドレスラッチに格納された前記バンクアドレスは、前記揮発性メモリに対して、前記目標バンクに前記自動リフレッシュ動作を実行するよう命令するために前記バンクアドレスをロードする手段によって予め準備されるメモリシステム。
【請求項２５】
請求項２４に記載のメモリシステムにおいて、
前記揮発性メモリは更に、各自己リフレッシュ動作後、前記バンクアドレスラッチをインクリメントするように構成されたメモリシステム。
【請求項２６】
請求項２５に記載のメモリシステムにおいて、
前記自己リフレッシュモードを終えると、前記揮発性メモリは更に、前記行インクリメントカウンタをリセットし、もって、前記揮発性メモリと前記揮発性メモリを制御する手段とを再同期するメモリシステム。
【請求項２７】
バンクアドレスラッチ及び複数のバンクを有する揮発性メモリのメモリリフレッシュを達成する方法であって、
目標バンクのバンクアドレスを前記バンクアドレスラッチにロードすることと、
前記バンクアドレスラッチに格納されたバンクアドレスを用いて、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するように命令することとを含み、
前記目標バンクにおいて前記自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能である方法。
【請求項２８】
請求項２７に記載の方法において、
自動リフレッシュ動作が実行される毎に行インクリメント値をインクリメントすることと、
前記行インクリメント値が予め定めた値にインクリメントされた後、行アドレス値をインクリメントすることであって、前記予め定めた値は、実行された自動リフレッシュ動作の予め定めた数に依存することと
を更に含む方法。
【請求項２９】
請求項２８に記載の方法において
前記複数のバンクに対して連続的に自動リフレッシュ動作を実行するように前記揮発性メモリに命令することを更に含む方法。
【請求項３０】
請求項２９に記載の方法において、
前記バンクアドレスラッチに格納されたバンクアドレスを用いて、前記揮発性メモリに対して、自己リフレッシュモードで動作するように、かつ１つ又は複数の自己リフレッシュ動作を実行するように命令することを更に含み、
前記バンクアドレスは、前記目標バンクに前記自動リフレッシュ動作を実行するために前記揮発性メモリによって既に使用されている方法。
【請求項３１】
請求項３０に記載の方法において、
各自己リフレッシュ動作後、前記バンクアドレスラッチをインクリメントすること
を更に含む方法。
【請求項３２】
請求項３１に記載の方法において、
前記揮発性メモリが前記自己リフレッシュモードを終えると、前記行インクリメント値をリセットすることを更に含む方法。
【請求項３３】
請求項３２に記載の方法において、
前記揮発性メモリが前記自己リフレッシュモードを終えると、１つの平均リフレッシュ期間内に、予め定めた数のリフレッシュを発行することを更に含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、メモリデバイスに関し、特に、揮発性メモリについて、指示されたバンクをリフレッシュする方法及びシステムに関する。
【背景技術】
【０００２】
揮発性メモリは、一般に、多くのアレイ（すなわちバンク）として構成されている記憶媒体である。各バンクは更に、行と列とからなる「メモリセル」のマトリックスとして構成されている。各列は更に、メモリの入力／出力（Ｉ／Ｏ）幅で分割されている。メモリ内の位置は、バンク、行、及び列によってユニークに指定される。メモリコントローラは、データのバンク、行及び列位置を示すことにより、メモリからデータを検索するために使用されうる。例えば、１６ビットの外部データバスを備えたカッドバンク１２８Ｍｂメモリの場合、可能な論理アドレスマップは、９ビットの列アドレス、２ビットのバンクアドレス、および１２ビットの行アドレスを含む。
【０００３】
記憶位置を読み書きする前に、先ず、対応する行が開かれねばならない。行を開くプロセスは、最少数のクロックサイクルｔＲＣＤを必要とする。これは、行から列への遅延を表わす。一旦行が開かれると、望まれるように、その行内の列アドレスが読み書きされる。シンクロナスＤＲＡＭ（ＳＤＲＡＭ）のようないくつかのダイナミックランダムアクセスメモリ（ＤＲＡＭ）の場合、１つのバンク当たり１度に１つの行のみが常に開かれている。そして、同じバンク内であるが、異なる行において実行されるその後のメモリアクセスは、現在の行を閉じ、新たな行を開くことを必要とする。
【０００４】
動的な揮発性メモリの場合には、データ整合性を維持するために、各セルは、平均間隔ｔＲＥＦＩで定期的にリフレッシュ、すなわち再印加（re-energized）されねばならない。各セルは、電気的なチャージを保持し、時間にわたって放電しうるコンデンサの周囲に設計されているので、リフレッシュを要する。リフレッシュは、メモリ内のセルを充電するプロセスである。セルは一般に、一度に１行ずつリフレッシュされる。現在、揮発性メモリをリフレッシュするように設計された多くの方法が存在する。これらの方法のうちの幾つかは、全てではないにしても、効率及び／又は電力において高コストを招く。例えば、モデムデジタルシステムにおける揮発性メモリのリフレッシュを制御するために一般に使用される２つの一般的な方法すなわち技術がある。１つの方法は、メモリを用いて、メモリで使用可能な内蔵式リフレッシュメカニズムを使用して、リフレッシュされる必要のある行及びバンクを追跡する。他の方法は、メモリコントローラを用いて、リフレッシュする必要のある行及びバンクを追跡する。
【０００５】
この一般に使用されている第１の方法は、揮発性メモリの自動リフレッシュ機能及び自己リフレッシュ機能を利用している。これら機能は、メモリの内蔵式リフレッシュアドレスを使用する。メモリの動作中、リフレッシュサイクルが要求されると、メモリコントローラは、全てのバンクをプレチャージし、自動リフレッシュコマンドを用いて、メモリに対して、内部リフレッシュサイクルとなるように命じる。メモリは、この自動リフレッシュコマンドを受け取ると、内部リフレッシュアドレスカウンタをインクリメントし、内部リフレッシュサイクルを実行する。自動リフレッシュモードにおいて、メモリは、自分の内部リフレッシュアドレスカウンタにおけるリフレッシュアドレスを用いて、どの行／バンクにリフレッシュサイクルを実行するのかを決定し、関連する行を循環する。１つの実施では、内部リフレシュアドレスカウンタは、行アドレスレジスタと、バンクアドレスレジスタとを含む。バンクアドレスレジスタは、バンクアドレスレジスタのキャリーアウトを用いて、メモリバンクの各々を循環するためにインクリメントされる。これによって、行アドレスレジスタをインクリメントする。他の実施は、全てのバンクが同時にリフレッシュされるので、バンクアドレスレジスタを持っていない。
【０００６】
現在の非同時バンク自動リフレッシュ実施の短所は、メモリコントローラは、どの内部バンクがリフレッシュされるか分からないので、自動リフレッシュコマンドを発行する前に、各バンク内の開いている全ての行を閉じる必要があることである。その結果、自動リフレッシュシーケンスの間、メモリデータバス利用率は０となる。最もよい場合でも、このシーケンスは、ｔＲＰ＋ｔＲＦＣ＋ｔＲＣＤサイクルを必要とする。ここで、ｔＲＰは行プレチャージ遅延、ｔＲＦＣはリフレッシュサイクル時間、ｔＲＣＤは行から列への遅延を表す。１３３ＭＨｚのメモリの場合、これは、１６クロックサイクル（１２０ｎｓ）となる。この間、メモリデータバスは使用可能ではないので、これらのサイクルはしばしばデッドサイクルと呼ばれる。
【０００７】
非使用期間中、メモリコントローラは、メモリを自己リフレッシュモードにする。自己リフレッシュモードにおいて、メモリは、自己の内部クロック及びリフレッシュアドレスカウンタを用いてリフレッシュを生成し、メモリの行をリフレッシュする。この方法は、自己リフレッシュモードを使用することができるので、アイドル状態中に電力を節電するのに好適である。自己リフレッシュ状態は、少量の電力を使用し、メモリをリフレッシュすることにより、メモリの内容を維持する。少量の電力しか必要とされないことにより、この方法は、一般に低電力用途に用いられる。
【０００８】
第２の方法は、上述したメモリデータバスに関するデッドサイクルを回避するためにしばしば使用される。この第２の方法によれば、リフレッシュの制御は、メモリコントローラ経由で達成される。この方法は、メモリで使用可能な内蔵式リフレッシュメカニズムのうちの何れをも使用しない。この方法では、規則的に与えられた間隔（ｔＲＥＦＩ）で、メモリコントローラが、バンクと行とのアドレスの組み合わせを用いて、連続的な方式で行を開閉することによってリフレッシュを明確に生成する。リフレッシュレートを決定するリフレッシュクロックと、バンクと行とのアドレスの組み合わせとは、メモリコントローラ内にある。この方法は、高速／高性能用途に最良である。この方法によって、メモリコントローラは、他のメモリバンクがアクセスのために開を維持することを許可しながら、特定のメモリバンクをリフレッシュすることが可能となる。これは高性能をもたらし、一般に、他のバンクへのリード及びライトが、並行して中断することなく継続することができる。この方法の欠点は、システム電源ダウン又は長いアイドル状態の間、メモリコントローラがメモリをリフレッシュしていない場合、メモリは、自己リフレッシュ状態を維持できないことである。上述したように、自己リフレッシュ状態は、ほとんどの揮発性メモリに組み込まれた機能である。メモリの自己リフレッシュ機能は、メモリコントローラとは独立して、メモリ内のリフレッシュアドレスカウンタに格納されたリフレッシュアドレス（すなわち、行／バンクアドレス）をインクリメントするので、メモリによって保持されるリフレッシュアドレスは、メモリコントローラと一致すなわち同期していない。
【０００９】
リフレッシュ動作は、メモリの性能を低下させうる。なぜなら、各リフレッシュサイクルは、メモリをアイドル状態にし、その間、データアクセスができなくなるからである。例えば、アクティブ状態にある特定のメモリバンクに対してリフレッシュサイクルが要求されるのであれば、このバンクは、リフレッシュ動作の実行を可能にするためにシャットダウンされねばならない。バンクをシャットダウンすることは、実行されるあらゆるデータ動作が遅れ、システム性能に悪影響を与えることを意味する。
【００１０】
幾つかのスキームは、リフレッシュ動作の性能インパクトを低減するために使用可能である。そのようなスキームは、一般に、必要とされるものよりも高いリフレッシュレートを使用することを含むので、予め定めたリフレッシュ期間内に、より多くのメモリバンクをリフレッシュすることができる。より多くのメモリバンクをリフレッシュすることによって、リフレッシュのために動作中のメモリバンクをシャットダウンしなければならない機会が減る。しかしながら、より高いリフレッシュレートを用いることには欠点もある。例えば、リフレッシュレートの増加は、メモリがアクセスに対してより頻繁に使用不可になることを意味する。これは、性能の低下をもたらす。また、より高いリフレッシュレートを使用することは、単に、リフレッシュが必要な場合に動作中のメモリバンクをシャットダウンする必要を必ずしも無くすとは限らない。それにも関わらず、いくつかの状況では、動作中のメモリバンクはシャットダウンされねばならない。これは、高いリフレッシュレートの使用から得られるあらゆる利益を打ち消す。
【００１１】
従って、揮発性メモリについて、指示されたバンクをリフレッシュする効率的な方法及びシステムを提供することが望まれる。
【発明の開示】
【００１２】
本出願は、２００４年５月２７日に出願された米国仮出願番号６０／５７５，３３４の優先権を主張する。
【００１３】
本発明の１つの局面では、メモリシステムは、複数のバンクを有する揮発性メモリと、前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するように構成されたメモリコントローラとを含む。前記メモリコントローラは更に、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するよう命令するように構成されている。また、前記目標バンクにおいて自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能である。
【００１４】
本発明の別の局面では、メモリシステムは、複数のバンク、バンクアドレスラッチ、リフレッシュクロック、及びフレッシュカウンタを有する揮発性メモリを含む。前記リフレッシュカウンタは更に、行アドレスカウンタと行インクリメントカウンタとを有している。リフレッシュクロックは、リフレッシュカウンタとバンクアドレスラッチとを制御するように構成されている。行インクリメントカウンタは、行アドレスカウンタをインクリメントするように構成されている。また、メモリシステムは、前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するよう制御するように構成されたメモリコントローラを含む。前記メモリコントローラは更に、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するよう命令するように構成されている。前記メモリコントローラは更に、前記目標バンクのバンクアドレスをバンクアドレスラッチにロードするように構成されている。前記バンクアドレスラッチに格納されたバンクアドレスは、自動リフレッシュ動作のため、目標バンクを識別するために揮発性メモリによって使用されることが可能である。また、前記目標バンクにおいて自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能である。
【００１５】
本発明の更に別の局面では、メモリシステムは、複数のバンク及びバンクアドレスラッチを有する揮発性メモリと、前記揮発性メモリを自動リフレッシュモード又は自己リフレッシュモードで動作するように制御し、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を実行するように命令する手段と、前記目標バンクのためのバンクアドレスを前記バンクアドレスラッチにロードする手段とを含む。前記バンクアドレスラッチに格納されたバンクアドレスは、自動リフレッシュ動作のため、目標バンクを識別するために揮発性メモリによって使用されることが可能である。また、前記目標バンクにおいて自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能である。
【００１６】
本発明の更なる局面では、バンクアドレスラッチ及び複数のバンクを有する揮発性メモリのためにメモリリフレッシュを実行する方法であって、目標バンクのためのバンクアドレスを、前記バンクアドレスラッチにロードすることと、前記バンクアドレスラッチに格納されたバンクアドレスを用いて、前記揮発性メモリに対して、前記複数のバンクのうちの目標バンクにおいて自動リフレッシュ動作を行なうように命令することとを含む。また、前記目標バンクにおいて自動リフレッシュ動作が実行されている間、前記複数のバンクのうちの残りのバンクは、アクセスのための使用が可能である。
【００１７】
本発明の他の実施例も、本発明の様々な実施例が例示によって説明されている以下の詳細記述から、当該技術分野における熟練者に明らかに容易になることが理解される。理解されるように、本発明は、本発明の精神及び範囲から逸脱することなく、その他及び異なる実施例となることができ、また、その幾つかの詳細は、様々な別の局面での変形が可能である。従って、図面及び詳細記述は、本質における一例として見なされるべきであり、限定的されるものではない。
【発明を実施するための最良の形態】
【００１８】
本発明の局面は、添付図面において、一例として説明され、限定されるものではない。
【００１９】
添付図面に関連して以下に述べる詳細記載は、本発明の様々な実施例の記載として意図されており、本発明が実施される実施例のみを表すようには意図されていない。この詳細記載は、本発明の完全な理解を提供する目的で具体的な詳細を含んでいる。しかしながら、本発明は、これら具体的な詳細無しで実施されうることは、当該技術分野における熟練者に明白であろう。いくつかの実例では、本発明の概念を不明確にしないように、周知の構成及びコンポーネントが、ブロック図形式で示される。
【００２０】
メモリシステムの種々の実施例について記載する。１つの実施例では、指示されるリフレッシュ方法が提供される。これは、リフレッシュ動作中、メモリ内のデータ利用度を高める。図１は、指示されるリフレッシュ方法を実現するために使用することが可能な構成１００を示す。図１に示すように、指示されるリフレッシュ方法は、揮発性メモリ１１０と、揮発性メモリ１１０を制御するように構成されたコントローラ１２０とで実現されうる。揮発性メモリ１１０は、例えばＤＲＡＭ（dynamic random access memory）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、及びその他様々なタイプのＤＲＡＭ等でありうる。ここで提供される開示及び教示に基づいて、当該技術分野における通常の熟練者であれば、本開示に関連する概念を、リフレッシュ動作を必要とする別のタイプのメモリを用いてどのように実現するかを理解するだろう。指示されるリフレッシュ方法は、メモリコントローラ１２０及び揮発性メモリ１１０を制御する制御ロジック又はプロセッサ（図示せず）によって達成されうる。この制御ロジック又はプロセッサは、独立したモジュールとして実装されるか、あるいは例えばメモリコントローラ１２０のような別のコンポーネントの一部として統合されうることが理解されるべきである。
【００２１】
図２は更に、指示されるリフレッシュ方法を実現するために使用することができる揮発性メモリ１１０の１つの実施例を示す。揮発性メモリ１１０は更に、行アドレスカウンタ２５０及び行インクリメントカウンタ２２０を有するリフレッシュカウンタ２００と、リフレッシュトリガ２４０と、バンクアドレスラッチ２３０と、多くのバンク２１０とを含む。
【００２２】
リフレッシュトリガ２４０は、リフレッシュカウンタ２００と、バンクアドレスラッチ２３０との両方を制御するために使用されうる。リフレッシュトリガ２４０は、自動リフレッシュモード又は自己リフレッシュモードの何れかでリフレッシュ動作を開始するために、揮発性メモリ１１０によって使用される。例えば、揮発性メモリ１１０は、メモリコントローラ１２０（図１参照）から自動リフレッシュコマンドを受け取ると、リフレッシュトリガ２４０に対して、自動リフレッシュ動作を開始するように指示する。リフレッシュトリガ２４０は、例えばクロックメカニズム又はその他のタイミングメカニズムでありうる。
【００２３】
行アドレスカウンタ２５０は、リフレッシュされる行の目標行アドレスを格納するために使用されうる。バンクアドレスラッチ２３０は、リフレッシュされる行を含む具体的なバンクの目標バンクアドレスを格納するために使用されうる。
【００２４】
メモリコントローラ１２０は、揮発性メモリ１１０に対して、他のメモリバンクがアクセスのための使用が可能であるまま、揮発性メモリ１１０内の具体的なメモリバンクを自動リフレッシュするように指示する。メモリコントローラ１２０によって開始される各自動リフレッシュサイクルに対し、メモリコントローラ１２０（図１参照）によって、バンクアドレス２７０がバンクアドレスラッチ２３０にロードされうる。バンクアドレス２７０は、バンク２１０のうち、リフレッシュされる１つを選択するために使用される。メモリコントローラ１２０（図１参照）は、リフレッシュされる具体的なバンクを知っているので、他の内部バンクへのアクセスは、中断することなく継続する。これは、メモリデータバス利用を最大にする傾向にあり、不必要な行閉／開シーケンスを回避することにより電力消費を低減し、転送レイテンシを最小にする。
【００２５】
行インクリメントカウンタ２２０は、電源投入又はリセットにより起動する。行インクリメントカウンタ２２０の初期値は任意でありうる。行インクリメントカウンタ２２０は、予め定めた数の自動リフレッシュ動作が実行された後、行アドレスカウンタ２５０がインクリメントされるようにする。行アドレスカウンタ２５０は、リフレッシュされる行の目標行アドレスを含んでいる。行アドレスカウンタ２５０は、全てのバンク２１０内の同じ行を指している。
【００２６】
メモリコントローラ１２０は、揮発性メモリ１１０へ自動リフレッシュコマンドを発行し、リフレッシュされるバンクのバンクアドレス２７０をバンクアドレスラッチ２３０へロードすることによって、各自動リフレッシュサイクルを開始する。揮発性メモリ１１０は、この自動リフレッシュコマンドを受け取ると、リフレッシュトリガ２４０を用いて、各自動リフレッシュ動作を開始する。リフレッシュトリガ２４０は、行インクリメントカウンタ２２０をインクリメントさせる。行アドレスカウンタ２５０は、行インクリメントカウンタ２２０からのキャリーアウト信号２６０によって定期的にインクリメントされる。例えば、行インクリメントカウンタ２２０は、２ビットカウンタかもしれない。それは、行インクリメントカウンタ２２０が、４つのリフレッシュクロックサイクル毎に繰り返す一方、行アドレスカウンタ２５０が、４番目の自動リフレッシュ動作後毎にインクリメントされることを意味する。行アドレスカウンタ２５０に格納された目標行アドレスと、バンクアドレスラッチ２３０に格納されたバンクアドレス２７０とは、次に、特定されたバンクにおける具体的な行をリフレッシュするために使用される。
【００２７】
目標行アドレスは、予め定めた数の自動リフレッシュ動作に基づいて定期的に変化し、メモリコントローラ１２０は、行アドレスカウンタ２５０がいつインクリメントされるか分からないので、メモリコントローラ１２０（図１参照）は、バンク２１０に関し、一貫して連続順に自動リフレッシュコマンドを発行する。言い換えれば、メモリコントローラ１２０は、各自動リフレッシュサイクル中、連続して、一度に１つずつ、バンク２１０のバンクアドレスをバンクアドレスラッチ２３０へロードする。その結果、バンク２１０は、連続した自動リフレッシュサイクルにおいて、連続してリフレッシュされる。例えば、図２中に示される４つのバンクの場合、リフレッシュバンク順は、「３−２−１−０−３−２−１−０」あるいは「０−１−２−３−０−１−２−３」のいずれかでありえる。一方の順は、他の順よりも優れている訳ではない。したがって、何れか一方を使用することができる。１つの実施では、シーケンス「０−１−２−３−０−１−２−３−・・・」が使用されうる。後に詳細に説明するように、シーケンスを選択することによって、自己リフレッシュモードへの移行を単純にする。
【００２８】
図２に示すような揮発性メモリ１１０の動作について、以下に示すような例を用いて更に説明する。この例では、行インクリメントカウンタ２２０の初期値はゼロ（０）であると仮定される。また、行インクリメントカウンタ２２０のキャリーアウト信号２６０は、４番目の自動リフレッシュ動作後毎に発せられる。メモリコントローラ１２０（図１参照）は、揮発性メモリ１１０へ自動リフレッシュコマンドを発行し、バンク２１０ａのバンクアドレス２７０をバンクアドレスラッチ２３０へロードして、１回目の自動リフレッシュサイクルを開始する。揮発性メモリ１１０は、この自動リフレッシュコマンドを受け取ると、リフレッシュトリガ２４０に対して、自動リフレッシュ動作を開始するように指示する。この自動リフレッシュ動作中、行インクリメントカウンタ２２０は、１の値にインクリメントされる。この例では、キャリーアウト信号２６０は発行されず、行アドレスカウンタ２５０はインクリメントされない。行アドレスカウンタ２５０及びバンクアドレスラッチ２３０にそれぞれ現在格納されている目標行アドレス及びバンクアドレスは、次に、バンク２１０ａにおける具体的な行をリフレッシュするために使用される。
【００２９】
次に、メモリコントローラ１２０（図１参照）は、揮発性メモリ１１０へ２回目の自動リフレッシュコマンドを発行し、バンク２１０ｂのバンクアドレス２７０をバンクアドレスラッチ２３０へロードして、２回目の自動リフレッシュサイクルを開始する。同様に、揮発性メモリ１１０は、この２回目の自動リフレッシュコマンドを受け取ると、リフレッシュトリガ２４０に対して、２回目の自動リフレッシュ動作を開始するように指示する。この自動リフレッシュ動作中、行インクリメントカウンタ２２０は、２の値にインクリメントされる。同様に、キャリーアウト信号２６０は発行されず、行アドレスカウンタ２５０はインクリメントされない。行アドレスカウンタ２５０及びバンクアドレスラッチ２３０にそれぞれ現在格納されている目標行アドレス及びバンクアドレスは、次に、バンク２１０ｂにおける具体的な行をリフレッシュするために使用される。行アドレスカウンタ２５０がインクリメントされないので、この自動リフレッシュ動作で使用される目標行アドレスは、前回の自動リフレッシュ動作で使用されたものと同じであることが注目されるべきである。しかしながら、この自動リフレッシュ動作については、バンクアドレスラッチ２３０に格納されたバンクアドレスは、異なるバンク２１０ｂが識別されるという点で異なる。その結果、（バンク２１０ａとは対照的に）異なるバンク２１０ｂ内の同じ行がリフレッシュされる。
【００３０】
同様に、３回目の自動リフレッシュサイクル、及び４回目の自動リフレッシュサイクルの場合、（行インクリメントカウンタ２２０のキャリーアウト信号２６０が発行されないので）行アドレスカウンタ２５０はインクリメントされないことが認識されるだろう。従って、別々のバンク２１０ｃ，２１０ｄにおける同じ行が、３回目及び４回目の自動リフレッシュサイクルの間にリフレッシュされる。
【００３１】
５回目の自動リフレッシュサイクルの場合、メモリコントローラ１２０（図１参照）によってバンクアドレスラッチ２３０へロードされたバンクアドレス２７０は、再びバンク２１０ａを指す。更に、４つの自動リフレッシュ動作が既に行なわれているので、行インクリメントカウンタ２２０のキャリーアウト信号２６０が発行される。キャリーアウト信号２６０は、行アドレスカウンタ２５０をインクリメントし、もって、目標行アドレスを、リフレッシュされる新たな行に移動する。そして、この同じ新たな行は、連続した自動リフレッシュサイクルの間、４つのバンク２１０全てについてリフレッシュされる。
【００３２】
揮発性メモリ１１０が、自己リフレッシュモードへ命じられる場合、揮発性メモリ１１０は、メモリコントローラ１２０が揮発性メモリ１１０へ最後の自動リフレッシュ命令を終了した点から、バンクアドレスラッチ２３０に現在格納されているバンクアアドレスを用いてリフレッシュを内部的に生成し始める。これは可能である。なぜなら、既に述べたように、メモリコントローラ１２０は、連続して自動リフレッシュコマンドを発行するからである。
【００３３】
続いて、自己リフレッシュモードにおける各リフレッシュの後、バンクアドレスラッチ２３０の出力がインクリメントされる。実質的に、バンクアドレスラッチ２３０は、カウンタとなる。従って、自己リフレッシュモードの場合、バンクアドレスラッチ２３０は定期的にインクリメントされ、バンク２１０を通じたサイクルのために使用される。また、行インクリメントカウンタ２２０も定期的にインクリメントされる。これは、リフレッシュされる行のための目標行アドレスを含む行アドレスカウンタ２５０をインクリメントする。これによって、行がバンク２１０内でサイクルすることが可能となる。
【００３４】
自己リフレッシュモードを出る場合、揮発性メモリ１１０は、行インクリメントカウンタ２２０を内部的にリセットするかクリヤする。これは揮発性メモリ１１０およびメモリコントローラ１２０を再度同期させて、現在の目標行アドレスによって表わされる行が、全てのバンク２１０でリフレッシュされることを保証する。行インクリメントカウンタ２２０をリセットすることによって、揮発性メモリ１１０は、行アドレスカウンタ２５０が予め定めた数の自動リフレッシュ動作が実行された後にのみインクリメントされることを保証する。これは、現在の目標行アドレスによって表わされる行が全てのバンク２１０でリフレッシュされることを意味する。
【００３５】
更に、揮発性メモリ１１０が自己リフレッシュモードを出た後、メモリコントローラ１２０は、１つの平均リフレッシュ期間（ｔＲＥＦＩ）内に多くの自動リフレッシュコマンドを発行する。自己リフレッシュモードを出る前に、揮発性メモリ１１０によってどのバンクが最後にリフレッシュされたかをメモリコントローラ１２０は知らないので、これらの自動リフレッシュコマンドは、全てのバンク２１０が１つの平均リフレッシュ期間（ｔＲＥＦＩ）内にリフレッシュされることを保証する。これは、逆に、データ整合性が維持され、データが失われないことを保証する。１つの平均リフレッシュ期間（ｔＲＥＦＩ）内に発行される自動リフレッシュコマンドの数は、揮発性メモリ１１０内のバンク２１０の数に依存する。例えば、自己リフレッシュモード終了後に続いて発行される自動リフレッシュコマンドの数は、図２に示す揮発性メモリ１１０の場合４である。平均リフレッシュ期間（ｔＲＥＦＩ）は、特定の揮発性メモリに依存して変わりうる。ここで提供された開示と教示に基づいて、当該技術における通常の熟練者は、本開示に従って、行インクリメントカウンタ２２０をどのように実施するかを認識し、自己リフレッシュモードの終了後に発行される自動リフレッシュコマンドの適切な数を決定するだろう。
【００３６】
メモリコントローラ１２０が、リフレッシュ前（refresh-ahead）スキームを実施するのであれば、自己リフレッシュモードからの終了後、１つの平均リフレッシュ期間（ｔＲＥＦＩ）内に自動リフレッシュコマンドを発行することはオプションであり、少なくとも、自己リフレッシュモードに入る前のリフレッシュの数であることが注目されるべきである。例えば、図２に示されるような揮発性メモリ１１０では、少なくとも４つのリフレッシュが自己リフレッシュモードに入る前に行なわれている場合、自己リフレッシュモードの終了後に１つの平均リフレッシュ期間（ｔＲＥＦＩ）内に自動リフレッシュコマンドを発行する必要はない。当該技術においては、多くのリフレッシュ前スキームが知られている。ここで提供された開示及び教示に基づいて、当該技術における通常の熟練者は、本開示に関して使用するリフレッシュ前スキームをどのように組み入れるのかを理解するであろう。
【００３７】
ここで開示された実施例に関連して記述された方法やアルゴリズムは、制御ロジック、プログラミング命令、又はその他の命令の形態で、ハードウェアや、プロセッサによって実行されるソフトウェアモジュールや、これらの組み合わせによって直接的に具現化される。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。または、記憶媒体はプロセッサに統合されうる。
【００３８】
開示された実施例における上述の記載は、当該技術分野におけるいかなる人であっても、本発明の活用または使用を可能とするように提供される。これらの実施例への様々な変形例もまた、当該技術分野における熟練者に対しては明らかであって、ここで定義された一般的な原理は、本発明の主旨または範囲を逸脱せずに他の実施例にも適用されうる。このように、本発明は、ここで示された実施例に制限されるものではなく、特許請求の範囲に一致した全範囲に相当するものを意図している。特許請求の範囲では、単数形の要素に対する参照は、具体的に述べられていないのであれば、「１つ及び１つのみ」ではなく、「１つ又は複数の」を意味するように意図されている。本開示の全体にわたって記載され、当該技術における通常の熟練者に知られているか、あるいは後に知られるようになる様々な実施例の要素への構造的及び機能的な全ての等価物は、参照によって本明細書に明らかに組み込まれ、特許請求の範囲によって包含されるように意図される。更に、本明細書に記載された何れも、特許請求の範囲で明示的に記載されているかに関わらず、公衆に放棄されるように意図されていない。特許請求の範囲の要素が、用語"means for"、又は方法特許の場合には、用語"step for"を用いて明確に記載されていないのであれば、どの要素も３５  Ｕ．Ｓ．Ｃ  １１２条、第６パラグラフのもとで解釈されるものではない。
【図面の簡単な説明】
【００３９】
【図１】図１は、本開示に従って命令されるリフレッシュ方法を実現するために使用することができる構成を例示する簡略ブロック図である。
【図２】図２は、本開示に従って命令されるリフレッシュ方法を実現するために使用することができる揮発性メモリを例示する簡略ブロック図である。
【図１】
2008500679.tif 000003
【図２】
2008500679.tif 000004
【国際調査報告】
2008500679.tif 000005
2008500679.tif 000006