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