(57)【要約】ソフトウェアリフレッシュメモリ装置は、データを損失するのを避けるために周期的にリフレッシュされなければならない複数のメモリセルを具える。好適には、前記メモリセルは、ＤＲＡＭのような慣例的な揮発性メモリ装置における連続するメモリリフレッシュ動作間の期間に比べて、連続するメモリリフレッシュ動作間の期間が比較的長くても、データを損失するのを避けることができる。プロセッサは、ハードウェアではなくソフトウェアにおいて実装される一組のメモリリフレッシュ命令を実行することによって、周期的なメモリリフレッシュ動作を行うことができる。したがって、メモリリフレッシュ回路網の及びユニークなリフレッシュ制御信号の必要性が有利に取り除かれるため、前記メモリ装置は有利に単純化されることができる。さらに、前記メモリリフレッシュ命令を実行する前記プロセッサは、メモリリフレッシュ動作を行うときを決定するために、ハードウェアにおいて実装されるメモリリフレッシュ回路網と比較してより洗練されたアルゴリズムを代表的に実行することができる。例えば、前記プロセッサは、各々の単一メモリセルがリフレッシュされる必要があるかどうかを決定することができ、これによって、リフレッシュされる必要がないメモリセルにおける不必要なリフレッシュ動作を行うことを有利に避けることができる。
2005537598.tif 000002
【特許請求の範囲】
【請求項１】
メモリアレイのメモリセルをリフレッシュする方法において、
前記メモリアレイの複数のメモリセルの各々に関して、各々の前記セルがリフレッシュを必要とするかどうかを決定するステップと、
リフレッシュを必要とする所定のセルが書き込み状態又は消去状態のいずれにあるかを決定するステップと、
前記所定のセルが前記書き込み状態にあるならば、リフレッシュ書き込み命令を前記セルに発することによって前記セルをリフレッシュするステップとを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記セルが前記消去状態にあるならば、リフレッシュ消去命令を前記セルに発することによって前記セルをリフレッシュするステップをさらに含むことを特徴とする方法。
【請求項３】
複数のメモリセルを有する揮発性メモリ装置に格納されたデータを保持する方法において、
前記複数のメモリセルの第１単一メモリセルをアドレスするステップと、
前記第１単一メモリセルがアドレスされてから第１期間待機するステップと、
前記第１単一メモリセルがリフレッシュされる必要があるかどうかを決定するステップと、
前記第１単一メモリセルがリフレッシュされる必要があるならば、システムリソースが前記第１単一メモリセルをリフレッシュするために利用可能であるかどうかを決定するステップと、
前記第１単一メモリセルがリフレッシュされる必要があり、前記システムリソースが利用可能でないならば、前記第１単一メモリセルがアドレスされてから第２期間内に前記システムリソースが前記第１単一メモリセルをリフレッシュするために利用可能になるかどうかを監視するステップと、
前記第１単一メモリセルがリフレッシュされる必要があり、前記システムリソースが前記第２期間内に利用可能にならないならば、前記リソースを譲渡させ、前記リソースが前記第１単一メモリセルをリフレッシュするために利用可能になるようにするステップと、
前記第１単一メモリセルがリフレッシュされる必要があるならば、前記利用可能なシステムリソースを使用して前記第１単一メモリセルをリフレッシュするステップとを含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記第１期間は、約１秒から約１週間までの範囲内であることを特徴とする方法。
【請求項５】
請求項３に記載の方法において、前記第２期間は、約１週間から約２ヶ月までの範囲内であることを特徴とする方法。
【請求項６】
揮発性メモリセルのアレイにおいてデータの損失を避ける方法において、
一度前記メモリセルがリフレッシュされたら所定の単一メモリセルに関するリフレッシュタイマをリセットするステップであって、前記タイマは、前記メモリセルが再びリフレッシュされなければならない前に残っている時間をカウントダウンする、ステップと、
リソースが前記所定のメモリセルをリフレッシュするために利用可能であるかどうかを監視するステップと、
前記残っている時間内の第１のあらかじめ決められた期間内にリソースが前記所定のメモリセルをリフレッシュするために利用可能にならないならば、前記リソースを譲渡させ、前記リソースが前記所定のメモリセルをリフレッシュするために利用可能になるようにするステップと、
前記利用可能なリソースを使用し、前記残っている時間内に前記所定のメモリセルをリフレッシュするステップとを含むことを特徴とするステップ。
【請求項７】
周期的にリフレッシュされなければならない複数のセルを具えるメモリ装置において、前記複数のセルは、プロセッサから受けた書き込み命令及び消去命令によってリフレッシュされるように構成され、前記書き込み命令は、第１リフレッシュ動作中及び書き込み動作中で同じ命令であり、前記消去命令は、第２リフレッシュ動作中及び消去動作中で同じ命令であることを特徴とするメモリ装置。
【請求項８】
請求項７に記載のメモリ装置において、該メモリ装置はプログラム可能導体ランダムアクセスメモリセルを具えることを特徴とするメモリ装置。
【請求項９】
請求項７に記載のメモリ装置において、前記複数のメモリセルの各々はプログラム可能メタライゼーションセルを具えることを特徴とするメモリ装置。
【請求項１０】
請求項８に記載のメモリ装置において、前記プログラム可能導体ランダムアクセスメモリセルは、
上部表面を有し、カルコゲナイド金属イオンガラスを具えるセルボディと、
前記上部表面において配置され、互いにある距離だけ離された２つの電極とを具えることを特徴とするメモリ装置。
【請求項１１】
請求項１０に記載のメモリ装置において、前記カルコゲナイド金属イオンガラスは、溶解されたＩＶ族金属を有するセレン化ゲルマニウムを具えることを特徴とするメモリ装置。
【請求項１２】
請求項１１に記載のメモリ装置において、前記カルコゲナイド金属イオンガラスはＡｇ／Ｇｅ３Ｓｅ７を具えることを特徴とするメモリ装置。
【請求項１３】
複数のメモリセルを有する揮発性メモリ装置において格納されたデータを保持する方法において、
前記複数のメモリセルの第１単一メモリセルにアクセスするステップと、
前記第１単一メモリセルがアドレスされてから第１期間待機するステップと、
前記第１単一メモリセルはリフレッシュされる必要があるかどうかを決定するステップと、
前記第１単一メモリセルがリフレッシュされる必要があることが決定されるならば、前記第１期間後に前記第１単一メモリセルをリフレッシュするステップとを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータメモリ装置に関し、より特には、データを損失するのを避けるために周期的にリフレッシュされなければならないメモリ装置に関する。
【背景技術】
【０００２】
特定のメモリ装置は、該メモリ装置への電力がターンオフされても、該メモリに格納された情報を無期限に保持することができる。これらのメモリ装置は不揮発性メモリ装置として知られている。非揮発性メモリ装置のいくつかの例は、磁気ランダムアクセスメモリ（ＭＲＡＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）及びこれらのバリエーションを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
他のメモリ装置は、該メモリに格納された情報を保持するのに電力を必要とする。揮発性メモリ装置として知られるこれらのメモリ装置は、データを損失するのを避けるために周期的にリフレッシュされなければならない。揮発性メモリ装置のある一般的な例は、キャパシタに格納された電圧が情報のデジタルビットを表わすダイナミックランダムアクセスメモリ（ＤＲＡＭ）である。キャパシタに格納された電圧は時間が経つにつれて消散するため、ＤＲＡＭのキャパシタは、該ＤＲＡＭに格納された情報を保持するために周期的に再充電されなければならない。
【０００４】
慣例的な揮発性メモリ装置は、交差する行及び列の構成を代表的に具えるアレイにおいて構成された複数の個々のメモリセルを含む。慣例的な揮発性メモリに格納された情報を保持するために、前記アレイにおける各々のメモリセルは、代表的に、一秒当たり少なくとも数回リフレッシュされる。例えば、いくつかの慣例的なＤＲＡＭにおいて、各々のメモリセルは、該ＤＲＡＭに格納された情報を損失するのを避けるために、６４ミリ秒ごとに約１回リフレッシュされなければならない。したがって、慣例的な揮発性メモリ装置は、代表的に、すべてのメモリセルが、一般に１秒当たり少なくとも数回である少なくともデータを損失するのを避けるのに必要な頻度においてリフレッシュされるのを保証するリフレッシュ回路網を含む。
【課題を解決するための手段】
【０００５】
一実施例において、メモリ装置におけるセルをリフレッシュする方法は、前記セルが書き込まれた状態か又は消去された状態かを決定するステップと、前記セルが前記書き込まれた状態であるならば、リフレッシュ書き込み命令を前記セルに出すことによって前記セルをリフレッシュするステップとを含む。
【０００６】
他の実施例において、複数のメモリセルを具える揮発性メモリセルに格納されたデータを保持する方法は、前記複数のセルの各々に関して、該セルがリフレッシュされる必要があるかどうかを決定するステップと、該セルがリフレッシュされる必要があるならば、該セルをリフレッシュするステップとを含む。
【０００７】
他の実施例において、複数のメモリセルを具える揮発性メモリセルに格納されたデータを保持する方法は、前記複数のセルをリフレッシュするステップと、少なくとも約１秒間持続する予め決められた期間中待機するステップであって、前記複数のセルのいずれも前記期間中にはリフレッシュされないステップとを含む。
【０００８】
他の実施例において、複数のメモリセルを有する揮発性メモリセルにおいて格納されたデータを保持する方法は、第１メモリセルをアドレスするステップと、前記第１メモリセルがアドレスされてから第１期間中待機するステップと、前記第１メモリセルがリフレッシュされる必要があるかどうかを決定するステップとを含む。前記第１メモリセルがリフレッシュされる必要があるならば、前記方法は、システムリソースが前記第１メモリセルをリフレッシュするのに利用可能であるかどうかを決定するステップと、前記第１メモリセルがリフレッシュされる必要があり、前記システムリソースが利用可能でないならば、前記第１メモリセルがアドレスされてから第２期間内に前記システムリソースが前記第１メモリセルをリフレッシュするのに利用可能になるかどうかを監視するステップとを含む。前記第１メモリセルがリフレッシュされる必要があり、前記システムリソースが前記第２期間内に利用可能にならないならば、前記方法は、前記リソースを譲渡させ、前記リソースが前記第１メモリセルをリフレッシュするのに利用可能にするステップと、前記第１メモリセルがリフレッシュされる必要がある場合、前記第１メモリセルを前記利用可能なシステムリソースを使用してリフレッシュするステップとをさらに含む。前記方法は、第２メモリセルをアドレスするステップをさらに含む。
【０００９】
他の実施例において、揮発性メモリ装置においてデータの損失を避ける方法は、前記揮発性メモリ装置がリフレッシュされなければならない最終期限を確立するステップと、リソースが前記揮発性メモリ装置をリフレッシュするのに利用可能であるかどうかを監視するステップとを含む。リソースが前記最終期限前の第１の予め決められた期間内に前記揮発性メモリ装置をリフレッシュするのに利用可能にならないならば、前記方法は、前記リソースを譲渡させ、前記リソースが前記揮発性メモリ装置をリフレッシュするのに利用可能になるようにするステップをさらに含む。前記方法は、前記利用可能なリソースを、前記最終期限前に前記揮発性メモリ装置をリフレッシュするのに使用するステップをさらに含む。
【００１０】
他の実施例において、コンピュータシステムは、プロセッサと、前記プロセッサに結合され、周期的にリフレッシュされなければならない複数のセルを具えるメモリ装置と、前記プロセッサによって実行される場合、前記複数のセルをリフレッシュするソフトウェアモジュールとを具える。
【００１１】
他の実施例において、メモリ装置は、周期的にリフレッシュされなければならない複数のセルを具え、前記複数のセルは、プロセッサから受けた書き込み命令又は消去命令に応じてリフレッシュされるように構成され、該メモリ装置は、前記書き込み命令又は前記消去命令とは異なるリフレッシュ制御信号を発生又は受信するように構成されない。
【００１２】
他の実施例において、メモリ装置は、周期的にリフレッシュされなければならない複数のセルを具え、前記複数のセルは、プロセッサから受けた書き込み命令又は消去命令に応じてリフレッシュされるように構成され、該メモリ装置は、前記書き込み命令又は前記消去命令とは異なるリフレッシュ制御信号を発生又は受信するように構成されない。前記複数のメモリセルの各々は、上部表面を有するセルボディを具えるプログラム可能メタライゼーションセルを具え、前記セルボディは、カルコゲナイド金属ガラスと、前記上部表面において配置された２つの電極とを具え、前記電極は、互いにある距離だけ離される。
【００１３】
他の実施例において、メモリ装置は、周期的にリフレッシュされなければならない複数のセルを具え、前記複数のセルは、プロセッサから受けた書き込み命令又は消去命令に応じてリフレッシュされるように配置される。
【発明を実施するための最良の形態】
【００１４】
図１は、慣例的な不揮発性メモリ１１０を含むコンピュータシステム１００を例示する。コンピュータシステム１００は、バス１３０を介してメモリ装置１１０に結合されるプロセッサ１２０も具える。メモリ装置１１０は、アドレス／データ／制御モジュール１４０及びメモリリフレッシュ回路網１５０を具え、これらの双方はバス１３０を経てプロセッサ１２０に結合される。メモリ装置１１０は、ライン２００を介してアドレス／データ／制御モジュール１４０に結合されると共にライン２１０を介してメモリリフレッシュ回路網１５０に結合されるメモリアレイ１６０も具える。当業者は、ライン２００及び２１０がメモリ装置１１０において単一の物理的バスの一部として実装されてもよいことを理解するであろう。メモリアレイ１６０は複数のメモリセル１７０を具え、複数のメモリセル１７０は複数の互いに交差する行１８０及び列１９０によって相互接続される。
【００１５】
メモリ装置１１０における動作を行うために、プロセッサ１２０は、バス１３０を経て特定の信号をメモリ装置１１０に伝送する。例えば、特定のメモリアドレスにおいて格納されたデータを読み出すために、プロセッサ１２０は、読み出しコマンドを前記メモリアドレスと共にバス１３０に発する。アドレス／データ／制御モジュール１４０は、前記読み出しコマンドを受け、ライン２００を経てメモリアレイ１６０にアクセスすることによってこの読み出しコマンドを処理する。特に、アドレス／データ／制御モジュール１４０は、読み出し制御信号をライン２００において発生し、適切な行１８０及び列１９０を活性化することによって所望のメモリセル１７０にアドレスする。アドレス／データ／制御モジュール１４０は、次に、アドレスされたメモリセル１７０に格納されたデータを、ライン２００を経て受け、前記データを、バス１３０を経てプロセッサ１２０に送る。
【００１６】
加えて、特定のメモリアドレスにデータを書き込むために、プロセッサ１２０は、書き込みコマンドを、前記メモリアドレスと、格納されるべき前記データと共に、バス１３０に発する。アドレス／データ／制御モジュール１４０は、前記書き込みコマンドを受け、上述したように、書き込み制御信号をライン２００において発生し、所望のメモリセル１７０をアドレスすることによって前記書き込みコマンドを処理する。アドレス／データ／制御モジュール１４０は、次に、書き込まれるべき前記データを、ライン２００を経て、アドレスされたメモリセル１７０に送る。
【００１７】
メモリセル１７０に格納されたデータは、時間が経つにつれて消散するため、メモリセル１７０は、メモリ装置１１０に格納されたデータを損失するのを防ぐために、周期的にリフレッシュされなければならない。メモリリフレッシュ回路網１５０の主要な機能は、これらの周期的なメモリリフレッシュ動作を行うことである。メモリリフレッシュ回路網１５０が、メモリリフレッシュ動作を行うことが必要であると決定する場合、メモリ装置１１０は、プロセッサ１２０が読み出し動作又は書き込み動作のような他の動作を行うのに利用不可能にされる。
【００１８】
メモリリフレッシュ動作を行うために、メモリリフレッシュ回路網１５０は、代表的に、メモリアレイ１６０の行１８０を順次にアドレスする。アレイ１６０の所定の行１８０がアドレスされた場合、前記メモリリフレッシュ回路網は、リフレッシュ制御信号をライン２１０において発生し、このリフレッシュ制御信号は、アドレスされた行１８０におけるメモリセル１７０のすべてを同時にリフレッシュさせる。多くの数のメモリセル１７０を同時にリフレッシュすることによって、メモリリフレッシュ回路網１５０は、メモリリフレッシュ動作を行うのに必要な時間量を有利に減少し、これによって、プロセッサ１２０が他の動作を行うのにメモリ装置１１０が利用不可能な時間量を減少する。
【００１９】
メモリ装置１１０は、メモリリフレッシュ動作中、他の動作を行うのに利用不可能であるため、メモリリフレッシュ動作がプロセッサ１２０からの要求と衝突しない時間において生じるように、メモリリフレッシュ動作の時間を定めるのが望ましい。したがって、メモリリフレッシュ回路網１５０は、プロセッサ１２０がメモリ装置１１０に要求を出しそうになく、メモリリフレッシュ動作を行いそうにない期間を指定するようにしばしば構成される。他方において、電力はメモリリフレッシュ動作を行うのに必要とされるため、行われるメモリリフレッシュ動作の回数を最少にすることが望ましい。したがって、メモリリフレッシュ回路網１５０は、メモリ装置１１０に格納されたデータを保持しながらできるだけ少なくメモリリフレッシュ動作を行うようにもしばしば構成される。
【００２０】
それにもかかわらず、慣例的な揮発性メモリ装置１１０に格納されたデータを損失するのを防ぐために、メモリリフレッシュ回路網１５０は、メモリリフレッシュ動作を頻繁に、しばしば一秒当たり多くの回数行わなければならない。例えば、いくつかの実施例において、各々のメモリセル１７０は、データを損失するのを防ぐために、６４ミリ秒あたり少なくとも約１回リフレッシュされなければならない。これらの実施例において、メモリ装置１１０に格納された情報を損失するのを防ぐために、メモリリフレッシュ回路網１５０は、すべてのメモリセル１７０が１秒当たり少なくとも約１５回より頻繁にリフレッシュされることを保証しなければならない。
【００２１】
図２は、本発明の一実施例によるソフトウェアリフレッシュメモリ装置２６０を有するコンピュータシステム２５０を例示する。コンピュータシステム２５０は、バス２８０を介してメモリ装置２６０に結合されるプロセッサ２７０も具える。コンピュータシステム２５０は、さらに、プロセッサ２７０によって実行されることができるソフトウェアにおいて実装される一組のメモリリフレッシュ命令２９０を具える。メモリ装置２６０は、バス２８０を介してプロセッサ２７０に結合されるアドレス／データ／制御モジュール３００を具える。メモリ装置２６０は、ライン３５０を介してアドレス／データ／制御モジュール３００に結合されるメモリアレイ３１０も具える。メモリアレイ３１０は、複数の交差する行３３０及び列３４０によって相互接続される複数のメモリセル３２０を具える。
【００２２】
図２において例示されたコンピュータシステム２５０は、図１に関して上述された同じ方法を使用する読み出し及び書き込み動作を行うことができる。しかしながら、これらの方法に加えて、コンピュータシステム２５０は、当業者に既知の種々の他の方法におけるメモリ読み出し及び書き込み動作を行うことができる。
【００２３】
いくつかの実施例において、ソフトウェアリフレッシュメモリ装置２６０は、好適には慣例的なＤＲＡＭメモリセルより安定した不揮発性メモリセルを具える。例えば、一実施例において、メモリセル３２０は、連続するメモリリフレッシュ動作間の期間が約０．１秒だとしても、データを損失するのを避けることができる。他の実施例において、連続するメモリリフレッシュ動作間の期間は、約１秒であってもよい。依然として他の実施例において、連続するメモリリフレッシュ動作間の期間は、約１時間であってもよい。依然として他の実施例において、連続するメモリリフレッシュ動作間の期間は、約１日ないし１週間であってもよい。
【００２４】
いくつかの実施例において、ソフトウェアリフレッシュメモリ装置２６０のメモリセル３２０は、プログラム可能導体ランダムアクセスメモリ
コジッキ（Ｋｏｚｉｃｋｉ）等への米国特許明細書第５７６１１１５号、第５８９６３１２号、第５９１４８９３号、第６０８４７９６号（コジッキ特許）と、ムーア（Ｍｏｏｒｅ）等への米国特許明細書第６３４８３６５号（ムーア特許）及びそれに続く同時係属中の米国特許出願、すなわち、２００２年４月１０日に出願された“プログラム可能導体メモリの製造方法”というタイトルのシリアル番号第１０／１２１７９２号、２００２年４月１０日に出願された“プログラム可能導体メモリセル構造及びその方法”というタイトルのシリアル番号第１０／１２１７９０号、及び、２００２年４月１０日に出願された“カルコゲナイドメモリセルと集積された薄膜ダイオード”というタイトルのシリアル番号第１０／１２１７９４号とにおいて記載されている。前記コジッキ特許、ムーア特許及びこれらの同時係属特許出願は、この参照によってこれら全体において個々に含まれる。これらの参照においてより詳細に考察されているように、ＰＣＲＡＭセルは、１対の電極を具え、２つの可能な状態のうちの一方において存在することができる。第１状態において、電気的短絡が前記ＰＣＲＡＭの２つの電極間に存在する。第２状態において、開回路が前記ＰＣＲＡＭの電極間に存在する。
【００２５】
ＰＣＲＡＭのいくつかの実施例は、カルコゲナイド金属イオンガラスのようなガラスイオン導体と、前記ガラスイオン導体の表面において配置され、他方からある距離だけ離して分離される２つの電極とを具える。一実施例において、ＰＣＲＡＭセルは、Ａｇ／Ｇｅ３Ｓｅ７のようにＩＶ属金属（例えば銀）と共に該ＰＣＲＡＭセルに溶解されたセレン化ゲルマニウムを具える。好適には、これらの電極のうち一方はＩＶ族金属を具え、前記ＰＣＲＡＭセルのガラス要素は、同じ金属を含む。
【００２６】
動作において、第１極性を有する電圧がＰＣＲＡＭセルの電極の両端間に印加される場合、導通経路は、前記ガラス要素が形成されるビアの側壁に沿って前記電極間に形成される。反対極性を有する電圧が前記電極の両端間に印加される場合、前記セルボディ中に再溶解し、これによって、前記導通経路を消滅させる。ＰＣＲＡＭセル内の導通経路の存在又は不在は、前記電極間の電気抵抗を測定することによって検出されることができる。導通経路が存在する場合、電気的短絡が前記電極間に存在し、前記電極間の抵抗は低い（例えばミリオームのオーダにおける）。他方において、導通経路が存在しない場合、開回路が前記電極間に存在し、前記電極間の抵抗は高い（例えばメガオームのオーダにおける）。
【００２７】
図２の特徴は、以下の動作プロセスの考察を通じて参照される。
【００２８】
代表的に、メモリ装置２６０のメモリセル３２０は、２つの状態、すなわち、“書き込み”状態又は“消去”状態のうち一方のおいて存在することができる。例えば、メモリセル３２０がある電荷を保持することができるキャパシタを具えるならば、前記キャパシタにおける電荷の存在は前記書き込み状態に対応し、前記キャパシタにおける電荷の不在は前記消去状態に対応する。同様に、ＰＣＲＡＭセルがメモリセル３２０として作用する場合、前記電極間の導通経路の存在は前記書き込み状態に対応し、前記電極間の導通経路の不在は前記消去状態に対応する。当業者は、一般に、メモリセル３２０内の興味がある要素の存在が前記書き込み状態に対応し、興味ある要素の不在が前記消去状態に対応することを理解するであろう。
【００２９】
図１に関して上述したように、慣例的な揮発性メモリ装置１１０のメモリセル１７０は特定の状態におかれる場合、メモリセル１７０は、例えば約６４ミリ秒のような比較的短い期間の間、前記所定の状態のままである。このような慣例的なメモリセル１７０は、このような短い期間中、これらの割り当てられた状態を保持するため、各々のメモリセル１７０は、例えば、少なくとも一秒当たり約１５回より頻繁なように、頻繁にリフレッシュされなければならない。
【００３０】
対照的に、図２に例示されたソフトウェアリフレッシュメモリ装置２６０のメモリセル３２０は特定の状態におかれる場合、メモリセル３２０は、比較的長い期間中、有利に前記所定の状態のままである。例えば、いくつかの実施例において、各々のメモリセル３２０は、数秒、数分、数時間、数日、数週間、又はより長い期間中、所定の状態を保持することができる。したがって、メモリ装置２６０に格納されたデータは、例えば、一秒当たり数回でなく、数週間ごとに１回のような、あまり頻繁でないメモリリフレッシュ動作を行いながら、保持されることができる。
【００３１】
メモリリフレッシュ動作はあまり頻繁に生じなくてもよいため、コンピュータシステム２５０は、ハードウェアでなく、ソフトウェアにおいて実装される一組のメモリリフレッシュ命令２９０を実行することによって、これらのメモリリフレッシュ動作を有利に行うことができる。例えば、いくつかの実施例において、メモリリフレッシュ命令２９０は、コンピュータシステム２５０のオペレーティングシステムの一部を構成する。
【００３２】
ハードウェアでなく、ソフトウェアにおいてメモリリフレッシュ命令２９０を実装することによって、メモリ装置２６０は、有利に単純化されることができる。例えば、図１において例示されたような、メモリリフレッシュ回路網１５０と、ライン２１０におけるユニークなリフレッシュ制御信号とに関する必要性は、有利に取り除かれる。メモリリフレッシュ命令２９０をハードウェアでなくソフトウェアにおいて実装することの他の利点は、プロセッサ２７０（図２）が、メモリリフレッシュ動作を行うときを決定するために、メモリリフレッシュ回路網１５０（図１）より洗練されたアルゴリズムを実行することができることである。
【００３３】
図３は、本発明の一実施例によるメモリセル３２０（図２）をリフレッシュする方法を例示する。第１ステップ４００において、本プロセスは開始する。次のステップ４０２において、プロセッサ２７０はメモリセル３２０の状態を読み出す。メモリセル３２０の状態には、データのデジタルビットに対応する論理値が割り当てられている。例えば、いくつかの実施例において、メモリセル３２０の書き込み状態は論理“１”に対応してもよく、メモリセル３２０の消去状態は論理“０”に対応する。いくつかの実施例において、他方において、メモリセルの書き込み状態は論理“０”に対応してもよく、メモリセル３２０の消去状態は論理“１”に対応する。
【００３４】
ステップ４０２において、プロセッサ２７０は、メモリセル３２０に格納されたデータビットが“１”又は“０”のいずれであるかを決定する。前記データビットが“１”ならば、ステップ４０６において、プロセッサ２７０は“１”をメモリセル３２０に書き込む。例えば、“１”が前記書き込み状態に対応するならば、ステップ４０６中、プロセッサ２７０は“書き込み命令”を前記メモリセルに発し、すなわち、書き込みコマンドが発せられ、メモリセル３２０は前記書き込み状態に置かれる。ステップ４０４中、プロセッサ２７０が、メモリセル３２０に格納されたデータビットが“０”であることを決定するならば、ステップ４０８において、プロセッサ２７０は“０”をメモリセル３２０に書き込む。例えば、“０”が前記消去状態に対応するならば、ステップ４０８中、プロセッサ２７０は“消去命令”を前記メモリセルに発し、すなわち、書き込みコマンドが発せられ、メモリセル３２０は前記消去状態に置かれる。
【００３５】
メモリリフレッシュ動作中に発せられる書き込み命令は、メモリ装置２６０への標準的な書き込み動作中に発せられる書き込み命令と同じでよい。同様に、メモリリフレッシュ動作中に発せられる消去命令は、メモリ装置２６０への標準的な書き込み動作中に発せられる消去命令と同じでよい。したがって、上述したように、メモリリフレッシュ動作中にのみ使用されるユニークなリフレッシュ制御信号に関する必要性は、有利に取り除かれる。プロセッサ２７０がステップ４０６又はステップ４０８を完了した後、最終ステップ４１０において本プロセスは終了する。
【００３６】
図３において例示された方法において、メモリセル３２０（図２）は、いずれも適切である書き込み命令又は消去命令をメモリセル３２０に発することによって周期的にリフレッシュされない限り、前記書き込み状態又は前記消去状態のままにはならないと仮定される。しかしながら、いくつかの実施例において、メモリセル３２０は時間が経つにつれて１つの特定の状態に戻る傾向がある。これらの実施例において、メモリセルが前記書き込み状態に置かれている場合、メモリセル３２０は、メモリセル３２０において書き込み動作を行うことによって周期的にリフレッシュされない限り、無期限に前記書き込み状態のままにはならない。他方において、メモリセル３２０の自然の傾向は前記消去状態に戻ることであるため、前記消去状態に置かれたメモリセル３２０は、リフレッシュされる必要なく、無期限にこの状態のままである。これらの実施例において、図３において例示された方法は、いずれも前記消去状態に対応するステップ４０６又はステップ４０８のいずれかを取り除くことによって、有利に単純化されることができる。
【００３７】
さらに、図３において例示された方法において、各々のメモリセル３２０（図２）は２つのみの状態のうち一方において存在することができることが仮定される。それにもかかわらず、本開示の観点から、当業者は、メモリセル３２０が３つ以上の状態において存在することができるならば、図３において例示された方法がどのように変更されることができればよいかを理解するであろう。
【００３８】
メモリリフレッシュ動作が図３に例示された方法を含むならば、各々のメモリセル３２０（図２）は、図１に関して上述したように多数のメモリセル３２０を同時にリフレッシュするのではなく、別々にリフレッシュされる。各々のメモリセル３２０を別々に評価することによって、プロセッサ２７０は、各々の個々のメモリセル３２０がリフレッシュされる必要があるかどうかを決定することができ、これによって、リフレッシュされる必要がないメモリセル３２０における不必要なリフレッシュ動作を行うことを避ける。
【００３９】
図４は、本発明の一実施例による複数のメモリセル３２０（図２）をリフレッシュする方法を例示する。この方法を行うため、コンピュータシステム２５０は、メモリアレイ１９０における特定のアドレスに対応する値を有するカウンタを保持する。第１ステップ４５０において、前記カウンタの現在の値に対応するアドレスにおけるメモリセル３２０は、図３において例示された方法又は他の好適な方法を使用してリフレッシュされる。次のステップ４５２において、前記カウンタの値は増加され、次のステップ４５４において、タイマはリセットされ開始される。
【００４０】
ステップ４５６において、プロセッサ２７０は前記タイマが予め決められた最小待機時間を越えたかどうかを決定する。前記最小待機時間に適切な値は、例えば、メモリセル３２０がその割り当てられた状態を保持できる最大時間、メモリセル３２０をリフレッシュするのに必要な時間、リフレッシュされるべきメモリセル３２０の数、等のような多数の因子を考慮することによって決定されることができる。上述したように、この予め決められた最小待機時間は、有利に、例えば、数秒、数分、数時間、数日、又はより長い期間のような比較的長い期間とされることができる。一実施例において、前記予め決められた最小待機時間は約１分の期間である。他の実施例において、前記最小待機時間は約１日ないし１週間の期間である。
【００４１】
前記最小待機時間にまだ達していなければ、ステップ４５８において、プロセッサ２７０は、前記カウンタの現在の値に対応するアドレスにおけるメモリセル３２０がリフレッシュされる必要があるかどうかを決定する。多数の異なった条件が、前記現在のアドレスにおけるメモリセル３２０がリフレッシュされる必要がないことを示すかもしれない。例えば、上述したように、いくつかの実施例において、メモリセル３２０が前記消去状態にある場合、メモリセル３２０はリフレッシュされる必要がない。さらに、プロセッサ２７０が、ステップ４５４中に前記タイマがリセットされ開始された後のいつかに、メモリセル３２０への書き込み動作を行うならば、メモリセル３２０は、次のメモリリフレッシュサイクルまで、リフレッシュされる必要がない。
【００４２】
前記タイマが前記最小待機時間に達するのを待つ間、プロセッサ２７０が、前記現在のアドレスにおけるメモリセル３２０がリフレッシュされる必要がないのを決定するならば、前記プロセッサはステップ４５２に戻り、前記現在のメモリアドレスに対応する前記カウンタの値は増加され、本プロセスは上述したように続く。他方において、一度前記タイマが前記最小待機時間に達し、前記現在のアドレスにおけるメモリセル３２０は依然としてリフレッシュされる必要があるならば、前記プロセッサはステップ４６０に進み、プロセッサ２７０は、システムリソースがメモリセル３２０をリフレッシュするために利用可能であるかどうかを決定する。この決定を行うことにおいて、プロセッサ２７０は、例えば、プロセッサ２７０における要求、メモリ装置２６０又はコンピュータシステム２５０における他の装置における要求等のようなさまざまな要素を評価してもよい。
【００４３】
システムリソースが利用可能ならば、本プロセスはステップ４５０に戻り、前記現在のアドレスにおけるメモリセル３２０はリフレッシュされ、本プロセスは上述したように続く。他方において、システムリソースがメモリセル３２０をリフレッシュするために利用可能でないならば、ステップ４６２において、プロセッサ２７０は、前記タイマが予め決められた最大待機時間を越えたかどうかを決定する。前記最小待機時間に関するように、前記最大待機時間に関する適切な値は、例えば、メモリセル３２０がその割り当てられた状態を保持できる最大時間、メモリセル３２０をリフレッシュするために必要な時間、リフレッシュされるべきメモリセル３２０の数、等のような多数の要素を考慮することによって決定されることができる。上述したように、この予め決められた最大待機時間は、有利に、例えば、数秒、数分、数時間、数日、数週間、又はより長い期間のような、比較的長い期間とすることができる。一実施例において、前記最大待機時間は約１時間の期間である。他の実施例において、前記最大待機時間は約１週間の期間である。依然として他の実施例において、前記最大待機時間は約１ヶ月の期間である。
【００４４】
前記最大待機時間にまだ達していないならば、ステップ４６４において、プロセッサ２７０は、前記カウンタの現在の値に対応するアドレスにおけるメモリセル３２０がリフレッシュされる必要があるかどうかを決定する。ステップ４５８に関して上述したように、多数の異なった条件が、前記現在のアドレスにおけるメモリセル３２０はリフレッシュされる必要がないことを示すかもしれない。
【００４５】
前記現在のアドレスにおけるメモリセル３２０がリフレッシュされる必要がないならば、本プロセスはステップ４５２に戻り、前記現在のメモリアドレスに対応する前記カウンタの値が増加され、本プロセスは上述したように続く。他方において、前記現在のアドレスにおけるメモリセル３２０がリフレッシュされる必要があるならば、プロセッサ２７０は、システムリソースがメモリセル３２０をリフレッシュするために利用可能になったかどうかを監視し続ける。
【００４６】
一度前記タイマが前記あらかじめ決められた最大待機時間に達すると、システムリソースが利用可能になっておらず、前記現在のアドレスにおけるメモリセル３２０が依然としてリフレッシュされる必要があるならば、本プロセスはステップ４６６に進み、プロセッサ２７０は、特定のシステムリソースを他のプロセスによって譲渡させ、前記必要なリソースがメモリセル３２０をリフレッシュするために利用可能になるようにする。次に本プロセスはステップ４５０に戻り、前記現在のアドレスにおけるメモリセル３２０はリフレッシュされ、前記プロセッサは上述したように続く。
【００４７】
一実施例において、図４に例示されたプロセスはプロセッサ２７０によって絶え間なく繰り返し行われる。この実施例において、前記メモリリフレッシュ動作は前進プロセスであり、これは、プロセッサ２７０によって実行されている他のプロセスのバックグラウンドにおいて絶え間なく生じている。前記最小待機時間及び前記最大待機時間は、メモリ装置１１０に格納された情報を保持しながら、各々のメモリセル３２０ができるだけ少なリフレッシュされるように有利に選択及び調節されることができる。
【００４８】
図５は、本発明の一実施例による複数のメモリセルをリフレッシュする他の方法を例示する。第１ステップ５００において、本プロセスは開始し、ステップ５０２において、タイマはリセットされ開始される。図４において例示された方法に関するように、図２のコンピュータシステム２５０は、メモリアレイ３１０における特定のアドレスに対応する値を有するカウンタを保持し、図５において例示された方法を行う。ステップ５０４において、前記カウンタの現在の値に対応するアドレスにおけるメモリセル３２０は、図３において例示された方法又は他の好適な方法を使用してリフレッシュされる。次のステップ５０６において、前記カウンタの値は増加される。
【００４９】
ステップ４０８において、プロセッサ２７０は、前記メモリリフレッシュ動作が完了したかどうかを決定する。多数の条件が、前記メモリリフレッシュ動作が完了したことを示すかもしれない。例えば、前記メモリリフレッシュ動作は、メモリ装置３１０における各々のメモリセル３２０がリフレッシュされた場合、又は、メモリの特定のブロックにおける各々のメモリセル３２０がリフレッシュされた場合、完了とみなされてもよい。
【００５０】
前記メモリリフレッシュ動作がまだ完了していなければ、ステップ５１０において、プロセッサ２７０は、システムリソースが前記カウンタの現在の値に対応するアドレスにおけるメモリセル３２０をリフレッシュするために利用可能であるかどうかを決定する。システムリソースが利用可能ならば、本プロセスはステップ５０４に戻り、前記現在のアドレスにおけるメモリセル３２０はリフレッシュされ、本プロセスは上述したように続く。
【００５１】
他方において、システムリソースがメモリセル３２０をリフレッシュするために利用可能でないならば、ステップ５１２において、プロセッサ２７０は、前記タイマがあらかじめ決められた最大待機時間を越えたかどうかを決定する。図４に関して上述したように、前記最大待機時間に関する適切な値は、例えば、メモリセル３２０がその割り当てられた状態を保持できる最大時間、メモリセル３２０をリフレッシュするのに必要な時間、リフレッシュすべきメモリセル３２０の数、等のような多数の要素を考慮することによって決定されることができる。
【００５２】
一実施例において、図４に関して上述した最大待機時間は、プロセッサ２７０がシステムリソースを個々のメモリセル３２０をリフレッシュするために利用可能になるようにする前にプロセッサ２７０が待つことができる最大時間に対応する。図５に例示されたプロセスにおいて、他方において、前記最大待機時間は、プロセッサ２７０がシステムリソースをリフレッシュされているメモリアレイ３１０又はメモリのブロックにおける残りのメモリセル３２０のすべてをリフレッシュするために利用可能になるようにする前にプロセッサ２７０が待つことができる最大時間に対応する。したがって、一実施例において、前記最大待機時間は約一日の期間である。他の実施例において、前記最大待機時間は約１週間の期間である。依然として他の実施例において、前記最大待機時間は約１月ないし２月の期間である。
【００５３】
前記最大待機時間にまだ達していないならば、プロセスはステップ５１０に戻り、上述したように、プロセッサ２７０は、システムリソースがメモリセル３２０をリフレッシュするために利用可能になったかどうかを監視し続ける。一度前記タイマが前記あらかじめ決められた最大待機時間に達したら、システムリソースが利用可能になっていないなら、本プロセスはステップ５１４に進み、プロセッサ２７０は、特定のシステムリソースを他のプロセスによって譲渡させ、前記必要なリソースがメモリセル３２０をリフレッシュするために利用可能になるようにする。次に本プロセスはステップ５０４に戻り、前記現在のアドレスにおけるメモリセル３２０はリフレッシュされ、前記プロセッサは上述したように続く。
【００５４】
このプロセスは、ステップ５０８中、プロセッサ２７０が、前記メモリリフレッシュ動作が完了したことを決定するまで繰り返す。一度この決定がなされたら、本プロセスはステップ５１６に進み、前記メモリアドレスカウンタはリセットされる。最終ステップ５１８において、本プロセスは終了する。
【００５５】
一実施例において、図５に例示されたプロセスは、プロセッサ２７０によって周期的に繰り返される。この実施例において、前記メモリリフレッシュ動作は、図４に関して上述したような一定の前進プロセスではなく、周期的に行われる。プロセッサ２７０は、コンピュータシステム２５０の要求とメモリセル３２０に格納されたデータの寿命とに応じて、規則的な時間間隔又は不規則な時間間隔において、有利にこのプロセスを呼び出し実行することができる。
【００５６】
図３、４及び５に例示されたプロセスは、メモリリフレッシュ命令２９０において実装されることができるアルゴリズムの単なる例である。当業者は、これらの好例のアルゴリズムが、特定のステップを追加、除去又は変形することによって、容易に変更されることができることを理解するであろう。さらに、本開示の観点から、当業者は、さまざまな代わりのアルゴリズムをどのように開発するかを理解するであろう。
【図面の簡単な説明】
【００５７】
【図１】揮発性メモリ装置を含むコンピュータシステムを例示する。
【図２】本発明の一実施例によるソフトウェアリフレッシュメモリ装置を有するコンピュータシステムを例示する。
【図３】本発明の一実施例によるメモリセルをリフレッシュする方法を例示する。
【図４】本発明の一実施例による複数のメモリセルをリフレッシュする方法を例示する。
【図５】本発明の一実施例による複数のメモリセルをリフレッシュする方法を例示する。
【図１】
2005537598.tif 000003
【図２】
2005537598.tif 000004
【図３】
2005537598.tif 000005
【図４】
2005537598.tif 000006
【図５】
2005537598.tif 000007
【国際調査報告】
2005537598.tif 000008
2005537598.tif 000009
2005537598.tif 000010
2005537598.tif 000011
2005537598.tif 000012