(57)【要約】  不揮発性メモリ・システム（２３０）は、複数の磁気抵抗メモリ・セルを含む磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）（２３２）と、複数のフローティングゲート・メモリ・セルを含むフローティングゲート不揮発性メモリ（２３４）と、ＭＲＡＭ（２３２）及びフローティングゲート不揮発性メモリ（２３４）に結合された制御器（２３６）とを含む。制御器（２３６）は、システム・バス（２２０）に結合されるよう適合され、且つシステム・バス（２２０）から開始されたアクセスに応答して、ＭＲＡＭ（２３２）及びフローティングゲート不揮発性メモリ（２３４）のうちの選択された１つを制御する。
2008546053.tif 000002
【特許請求の範囲】
【請求項１】
磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）と、
フラッシュ不揮発性メモリと、
前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリに結合され、且つシステム・バスに結合され、前記システム・バスから開始されたアクセス・サイクルに応答して、前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリのうちの選択されたものを制御するよう適合された制御器と
を備える不揮発性メモリ・システム。
【請求項２】
前記アクセス・サイクルが前記フラッシュ不揮発性メモリのメモリ空間内のアドレスへのデータ・エレメントの書き込みサイクルであるとき、前記制御器が、前記データ・エレメントを前記フラッシュ不揮発性メモリに書き込む代わりに前記ＭＲＡＭに書き込む請求項１記載の不揮発性メモリ・システム。
【請求項３】
前記制御器が更に、前記データ・エレメントを前記フラッシュ不揮発性メモリに書き込むことなしに前記データ・エレメントを前記ＭＲＡＭに書き込んだ後で前記書き込みサイクルを終了することにより、書き込み待ち時間を低減する請求項２記載の不揮発性メモリ・システム。
【請求項４】
前記制御器が、前記アクセス・サイクルのアドレスが前記ＭＲＡＭに割り当てられてしまった場合前記アクセス・サイクルを実行するため前記フラッシュ不揮発性メモリの代わりに前記ＭＲＡＭを制御する請求項１記載の不揮発性メモリ・システム。
【請求項５】
前記制御器が、チップ・イネーブル信号、出力イネーブル信号及び書き込みイネーブル信号を受け取るための入力を有するスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）インターフェースを含む請求項１記載の不揮発性メモリ・システム。
【請求項６】
前記ＳＲＡＭインターフェースが更に、クロック信号を受け取るための入力を有し、前記クロック信号と同期して前記アクセス・サイクルを実行する請求項５記載の不揮発性メモリ・システム。
【請求項７】
前記ＳＲＡＭインターフェースが、前記制御器が前記フラッシュ不揮発性メモリに対して前記アクセス・サイクルを実行するとき前記アクセス・サイクルが進行中であることを指示するためビジー信号を与えるための出力を有する請求項５記載の不揮発性メモリ・システム。
【請求項８】
複数のセクタとそれに対応の複数のタグとを有する磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）であって、前記複数のタグのそれぞれが前記複数のセクタのうちの対応のセクタのアドレスを指示する、前記磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）と、
フラッシュ不揮発性メモリと、
前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリに結合され、且つシステム・バスに結合されるよう適合された制御器とを備え、
前記制御器が、前記システム・バスから受け取られたアクセス・サイクルに応答して、前記アクセス・サイクルのアドレスが前記複数のタグのうちの１つのタグに格納されているかどうかを決定し、且つそのように格納されている場合、前記アクセス・サイクルを、前記フラッシュ不揮発性メモリに対してではなく代わりに前記ＭＲＡＭの前記複数のセクタのうちの対応のセクタに対して実行する、不揮発性メモリ・システム。
【請求項９】
前記アクセス・サイクルの前記アドレスが前記複数のタグのうちの１つのタグに格納されていない場合、前記制御器は、前記フラッシュ不揮発性メモリからのアドレスを前記ＭＲＡＭの前記複数のセクタのうちの選択されたセクタに割り当て、且つ前記アクセス・サイクルを前記フラッシュ不揮発性メモリに対してではなく前記選択されたセクタに対して実行する請求項８記載の不揮発性メモリ・システム。
【請求項１０】
前記制御器は、対応するセクタを前記フラッシュ不揮発性メモリから前記選択されたセクタへコピーし、且つ前記対応するセクタのアドレスを前記複数のタグのうちの対応するセクタに格納することにより、前記フラッシュ不揮発性からの前記アドレスを前記ＭＲＡＭの前記選択されたセクタへ割り当てる請求項９記載の不揮発性メモリ・システム。
【請求項１１】
前記制御器は、更に前記ＭＲＡＭの中の前記選択されたセクタに対応する有効ビットを設定することにより、前記対応するセクタを前記ＭＲＡＭに割り当てる請求項１０記載の不揮発性メモリ・システム。
【請求項１２】
前記制御器が、前記不揮発性メモリ・システムが前記アクセス・サイクルを受け取ったとき前記ＭＲＡＭの前記複数のセクタの全てが前に割り当てられ済みであった場合前記アドレスを割り当てる前に、古いデータを前記選択されたセクタから前記フラッシュ不揮発性メモリに書き戻す請求項９記載の不揮発性メモリ・システム。
【請求項１３】
前記アクセス・サイクルの前記アドレスを前記複数のタグのうちの１つのタグに格納しない書き込みサイクルに応答して、前記制御器は、書き込みデータを一時バッファに格納し、且つ前記アドレスを前記ＭＲＡＭに割り当てる前に前記システム・バスについての前記アクセス・サイクルを終了させる請求項８記載の不揮発性メモリ・システム。
【請求項１４】
消去サイクルに応答して、前記不揮発性メモリ・システムは、前記システム・バスについての前記消去サイクルを終了させ、続いて前記フラッシュ不揮発性メモリの中の対応のセクタを消去する請求項８記載の不揮発性メモリ・システム。
【請求項１５】
チップ・イネーブル信号、出力イネーブル信号及び書き込みイネーブル信号を受け取るための入力を有するスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）インターフェースを更に備える請求項８記載の不揮発性メモリ・システム。
【請求項１６】
磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）及びフラッシュ不揮発性メモリを含む不揮発性メモリ・システムを制御する方法であって、
アクセス・サイクルをシステム・バスから受け取るステップと、
前記アクセス・サイクルが書き込みサイクルかどうかを決定するステップと、
前記アクセス・サイクルが前記書き込みサイクルである場合、書き込みデータを一時バッファに格納し、前記システム・バスについての前記書き込みサイクルを終了させ、続いて前記書き込みデータを前記ＭＲＡＭに格納するステップと
を備える方法。
【請求項１７】
前記アクセス・サイクルと関連したアドレスが前記ＭＲＡＭに割り当てられてしまったかどうかを決定するステップと、
前記アクセス・サイクルと関連したアドレスが前記ＭＲＡＭに割り当てられてしまった場合、前記書き込みデータを前記ＭＲＡＭに格納するステップと、
前記アクセス・サイクルと関連したアドレスが前記ＭＲＡＭに格納されていなかった場合、前記フラッシュ不揮発性メモリからの前記アドレスを前記ＭＲＡＭへ割り当て、次いで前記書き込みデータを前記ＭＲＡＭに格納するステップと
を更に備える請求項１６記載の方法。
【請求項１８】
前記アクセス・サイクルと関連した前記アドレスが前記ＭＲＡＭに格納されてなく、且つ前記ＭＲＡＭの全てのセクタが割り当てられてしまった場合、古いデータを含む選択されたセクタを前記フラッシュ不揮発性メモリに書き戻し、続いて前記書き込みデータを前記選択されたセクタに格納するステップを更に備える請求項１７記載の方法。
【請求項１９】
前記古いデータを含む前記選択されたセクタを前記フラッシュ不揮発性メモリに書き戻す前記ステップが、最も多い更新したものを前記選択されたセクタとして含む前記ＭＲＡＭのセクタを選択するステップを備える請求項１８記載の方法。
【請求項２０】
前記アクセス・サイクルが消去サイクルであるどうかを決定するステップと、
前記アクセス・サイクルが前記消去サイクルである場合、前記システム・バスについての前記消去サイクルを終了させ、続いて前記フラッシュ不揮発性メモリの対応のセクタを消去するステップと
を更に備える請求項１６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にメモリ装置に関し、より詳細には不揮発性メモリ・システムに関する。
【背景技術】
【０００２】
コンピュータ・システムは、通常、３つの主ブロック、即ち、中央処理装置（ＣＰＵ）、記憶装置、及び入力／出力装置を有するものとして定義される。過去半世紀ぐらいにわたり、集積回路技術の開発は、コンピュータを安価にし、従って、デスクトップ・パーソナル・コンピュータ、セルラ電話器、自動車エンジン制御器、及び類似のものを含む全てのタイプの使用に関して、コンピュータを日常生活の中に普及させてきた。
【０００３】
集積回路技術は、コンピュータ・システムの全ての部品のコストを著しく低減してきた。例えば、ＣＰＵは、今や、単一のチップのマイクロプロセッサを用いて実現される。最近のマイクロプロセッサは、まさに一世代前のスーパーコンピュータにとってのみ利用可能であった計算性能を達成することができる。
【０００４】
集積回路の大変革はまた、コンピュータ・メモリのコストを低減してきた。図１は、従来技術で知られているコンピュータ・システム１００を示す。コンピュータ・システム１００は、マイクロプロセッサ１１０、メモリ１２０、及び入力／出力システム１３０を含み、これら全ては、システム・バス１４０により一緒に接続されている。図１に示されるように、メモリ１２０は、読み出し専用メモリ（ＲＯＭ）１２２、フラッシュ電気的消去可能プログラマブルＲＯＭ（ＦＬＡＳＨ）１２４、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）１２６及びダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）１２８を含む幾つかの異なるタイプのメモリ装置（メモリ・デバイス）を含む。コンピュータ・システム１００は、集積回路技術がこれまでコンピュータ・システム１００の全ての要望を満たす単一のタイプのメモリ・デバイスを生産することに失敗してきたので、これらの異なるタイプのメモリ・デバイスの一部又は全部を要求する。
【０００５】
ＲＯＭ１２２は、安価であるがしかし再書き込みすることができない不揮発性の恒久的記憶装置である。ＲＯＭ１２２は、マスクプログラマブルの単一トランジスタ・メモリ・セルを用いて実現され、そしてカスタム・マスクを必要とするが、製造するのが安価である。ＲＯＭ１２２は、マイクロプロセッサ１１０により実行可能であるプログラムであってコンピュータ・システム１００の生存期間にわたり変わらないことを思われるプログラムを格納する。ＲＯＭ１２２の典型的な使用は、デスクトップ・コンピュータのベーシック入力／出力システム（ＢＩＯＳ）を格納することである。
【０００６】
ＦＬＡＳＨ１２４は、フローティングゲート・トランジスタを用いてメモリ・セルの状態を指示する電荷を蓄積し得る不揮発性メモリである。ＦＬＡＳＨ１２４の比較的大きい部分又はセクタは、「フラッシュで」消去されることができる。しかしながら、ＦＬＡＳＨ１２４は、ＲＯＭ１２２よりやや高価であり、そして新しいデータを書き込むプログラム動作は、読み出し動作より遙かに長くかかる。更に、ＦＬＡＳＨ１２４は、それが多数の消去及びプログラム・サイクルを実行した後では時が経つにつれて再プログラムする能力を失う点で、耐久性として知られている信頼性の問題を有する。これらの特性のため、ＦＬＡＳＨ１２４は、比較的一定のままに留まるパラメータ及びユーザ・セッティングを格納するために用いられている。例えば、コンピュータ・システム１００がセルラ電話器に用いられる場合、ＦＬＡＳＨ１２４は、電話番号を電子的「電話帳」に記憶するのに用いられる。
【０００７】
ＳＲＡＭ１２６は、読み出し及び書き込みの両方に対して高速でランダムにアクセス可能であるが、しかしそれは、揮発性でそして比較的高価である。ＳＲＡＭ１２６は、アドレス可能な静的ラッチとして実行されるメモリ・セルを含む。従って、それは、通常、マイクロプロセッサ１１０用の高速スクラッチパッド・メモリ又はキャッシュとして使用のため確保されている。
【０００８】
ＤＲＡＭ１２８は、ランダムにアクセス可能であり、そして安価であるが、しかしＳＲＡＭ１２６より遅く、そして揮発性である。ＤＲＡＭ１２８は、それぞれがキャパシタ及び単一のトランジスタを含む記憶セルを用いて通常実現され、従って、高密度、及び１ビット当たり価格を低価格にすることを達成することができる。しかしながら、メモリ・セルに蓄積された電荷がダイナミック（動的）であるので、メモリ・セルは、周期的にリフレッシュされねばならない。ＤＲＡＭは、通常、コンパクト・ディスク（ＣＤ）及びハード・ディスク・ドライブのような入力／出力装置からロードされる大きいプログラムの記憶のために用いられる。
【０００９】
実際のコンピュータ・システムは図１に示される全てのタイプのメモリ・デバイスを必ずしも用いるわけではないことは明らかである筈である。
【００１０】
近年になって、半導体製造業者は、複数の利用可能なタイプのメモリ・デバイスをいつか一体化し得る磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）として知られている新しいタイプのメモリを開発した。ＭＲＡＭは、磁界を用いて状態を格納する小さい記憶セルに基づいている。ＭＲＡＭは、不揮発性で、ランダムにアクセス可能で、そして高密度集積化が可能である。しかしながら、今までのところ、ＦＬＡＳＨ又はＤＲＡＭに匹敵する密度でこれらに匹敵するコストでＭＲＡＭを生産するための製造技術が、開発されていなかった。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従って、必要とされるものは、ＭＲＡＭが他のタイプのメモリより高価のままでありながらＭＲＡＭの特性を利用することが可能である新しいメモリ・システムである。
【課題を解決するための手段】
【００１２】
従って、一形式において、本発明は、複数の磁気抵抗メモリ・セルを含む磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）と、フラッシュ不揮発性メモリと、前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリに結合された制御器とを備える不揮発性メモリ・システムを提供する。前記制御器は、システム・バスに結合されるよう適合され、そして前記システム・バスから開始されたアクセス・サイクルに応答して、前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリのうちの選択されたものを制御する。
【００１３】
別の形式で、本発明は、磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）と、フラッシュ不揮発性メモリと、前記ＭＲＡＭ及び前記フラッシュ不揮発性メモリに結合された制御器とを備える不揮発性メモリ・システムを提供する。前記ＭＲＡＭは、ＭＲＡＭの複数のセクタと、それに対応の複数のタグとを有する。前記複数のタグのそれぞれが、前記複数のセクタのうちの対応のセクタのアドレスを指示する。前記フラッシュ不揮発性メモリは、第２の複数の記憶場所のセクタを有する。前記制御器が、前記ＭＲＡＭ及び前記不揮発性メモリに結合され、そして前記システム・バスに結合されるよう適合されている。前記システム・バスから受け取られたアクセス・サイクルに応答して、前記制御器は、前記アクセス・サイクルのアドレスが前記複数のタグのうちの１つのタグに格納されているかどうかを決定し、そしてそのように格納されている場合、前記アクセス・サイクルを、前記フラッシュ不揮発性メモリに対してではなく代わりに前記ＭＲＡＭの前記複数のセクタのうちの対応のセクタに対して実行する。
【００１４】
別の形式で、本発明は、磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）及びフラッシュ不揮発性メモリを含む不揮発性メモリ・システムを制御する方法を提供する。アクセス・サイクルが、システム・バスから受け取られる。前記アクセス・サイクルが書き込みサイクルかどうかが、決定される。前記アクセス・サイクルが前記書き込みサイクルである場合、書き込みデータが一時バッファに格納され、前記書き込みサイクルが前記システム・バスについて終了され、続いて前記書き込みデータが前記ＭＲＡＭに格納される。
【００１５】
添付図面を参照することにより、当業者により本開示がより良く理解され、そして当業者に対してその多数の特徴及び利点が明らかにされる。なお、類似の参照番号は、類似又は同一の構成要素を示す。
【発明を実施するための最良の形態】
【００１６】
図２は、本発明に従ったコンピュータ・システム２００をブロック図形式で示す。コンピュータ・システム２００は、マイクロプロセッサ２１０、及び不揮発性メモリ・システム２３０を含み、これら両方は、システム・バス２２０に接続されている。システム・バス２２０は、アドレス信号、データ信号及び制御信号を伝えて、マイクロプロセッサ２１０が不揮発性メモリ・システム２３０、及び図２に示されていない他のメモリ及び入力／出力装置への読み出し及び書き込みアクセスを実行することを可能にする。
【００１７】
不揮発性メモリ・システム２３０は、磁気抵抗ランダム・アクセス・メモリ（ＭＲＡＭ）２３２、フラッシュ電気的消去可能プログラマブル読み出し専用メモリ（ＦＬＡＳＨ）２３４、及びＭＲＡＭ２３２及びＦＬＡＳＨ２３４の両方に双方向に接続され、それらの動作を制御する制御器２３６を含む。ＭＲＡＭ２３２及びＦＬＡＳＨ２３４の両方を含み、且つそれらを以下で十分に説明されるであろうように制御することにより、不揮発性メモリ・システム２３０は、ＭＲＡＭ２３２の特徴及び能力を活用して、長い書き込み及び消去待ち時間及び制限された耐久性を含むＦＬＡＳＨ２３４と通常関連した問題を克服する。
【００１８】
図３は、本発明を理解するのに重要であるＭＲＡＭ２３２及びＦＬＡＳＨ２３４の詳細を含む図２の不揮発性メモリ・システム２３０のブロック図３００を示す。図２におけるように、制御器２３６は、ＭＲＡＭ２３２及びＦＬＡＳＨ２３４の両方への双方向接続を含む。ＭＲＡＭ２３２は、「ＭＳ１」から「ＭＳｎ」までのラベルを付された一群のｎ個のＭＲＡＭセクタ３１０、及び「ＴＡＧ１」から「ＴＡＧｎ」までのラベルを付され且つそれぞれＭＲＡＭセクタＭＳ１からＭＳｎまでと関連した対応の一群のタグ３２０を含むように、一層詳細に示されている。ＦＬＡＳＨ２３４はまた、「ＦＳ１」から「ＦＳｍ」までのラベルを付された一群のＦＬＡＳＨセクタ３３０を含むように一層詳細に示されている。
【００１９】
制御器２３６は、マイクロプロセッサ２１０のようなデバイスによりシステム・バス２２０上に開始されたアクセス・サイクルに応答して、要求されたメモリ転送を実行し、又はシステム・バス２２０上の制御信号により指示された動作を実行する。制御器２３６は、ＭＲＡＭ２３２を用いて、ＭＲＡＭ２３２を書き込み及び消去アクセス用バッファにすることによりＦＬＡＳＨ２３４のメモリ空間へのアクセスの明らかな待ち時間を低減する。この動作は、本発明の一実施形態に従った図３の制御器２３６の動作のフロー・チャート４００を示す図４を参照してより良く理解される。この実施形態においては、ＭＲＡＭ２３２及びＦＬＡＳＨ２３４のセクタのサイズは、任意である。このフローは、ステップ４０２で開始し、制御器２３６は、判断ボックス４０４で新しいアクセス・サイクルをチェックする。新しいアクセス・サイクルが受け取られたとき、制御器２３６は、次に、判断ボックス４０６で、読み出しデータ又は書き込みデータがＭＲＡＭ２３２に対して割り当てられたセクタにあるかどうかを決定する。データがＭＲＡＭ２３２に対して割り当てられていた場合、制御器２３６は、次に、判断ボックス４０８で、アクセス・サイクルが読み出しサイクル及び書き込みサイクルのいずれかであるかを決定する。アクセス・サイクルが書き込みサイクルである場合、制御器２３６は、ステップ４１０で、上記データをＭＲＡＭ２３２に書き込み、そしてＭＲＡＭ２３２の対応のセクタが変更されたデータを含むことを指示するため内部テーブルを更新する。アクセス・サイクルが読み出しサイクルである場合、ＭＲＡＭ２３２がデータの最も最近のコピーを含むので、データは、ステップ４１２で、ＭＲＡＭ２３２から読み出される。
【００２０】
データがＭＲＡＭ２３２に存在しない場合、制御器２３６は、次に、判断ボックス４１４で、アクセス・サイクルが読み出しサイクル及び書き込みサイクルのうちのいずれかであるかを決定する。アクセス・サイクルが書き込みサイクルである場合、制御器２３６は、ステップ４１６で、ＭＲＡＭ２３２の中のデータの割り当てを待つ間にデータを受け取り、そしてその書き込みアクセスを明らかな待ち時間なしで完了する。アクセス・サイクルが書き込みサイクルでないことを決定した後か、又はステップ４１６で書き込みデータを一時バッファに格納した後かのいずれかで、制御器２３６は、アクセスされたセクタに対応させるため、ＭＲＡＭ２３２のセクタを割り当て、必要ならば（全てのセクタが前に割り当てられてしまっている場合）別のＭＲＡＭセクタからー２３４への書き戻しを実行する。次いで、ステップ４２０で、データは、ＦＬＡＳＨ２３４のセクタからＭＲＡＭ２３２の選択されたセクタの中にコピーされ、そして書き込みサイクルの場合には、それを一時バッファからの書き込みデータと組み合わせる。
【００２１】
図５は、本発明の別の実施形態に従った図３の制御器の動作のフロー・チャート５００を示す。この実施形態においては、セクタのサイズは同じである。フローは、ステップ５０２で開始し、そして制御器２３６は、ステップ５０４で新しいアクセス・サイクルをチェックする。図５に示されるように、アクセス・サイクルは、ＦＬＡＳＨタイプの指令の形式で、読み出し、書き込み及び消去のいずれかである。制御器２３６は、アクセス・サイクルが読み出しサイクル、消去サイクル、及び書き込みサイクルのうちのいずれであるかに応じて、サブフロー５１０、５２０及び５３０のうちのいずれかを実行する。
【００２２】
アクセス・サイクルが読み出しサイクルである場合、制御器２３６は、サブフロー５１０に進む。制御器２３６は、判断ボックス５１２で、読み出しデータがＭＲＡＭ２３２に既に割り当てられたセクタにあるかどうかを決定する。読み出しデータがＭＲＡＭ２３２に割り当てられていないセクタにある場合、制御器２３６は、ステップ５１４で、アクセス・サイクルのアドレスをタグ（ＴＡＧ）に格納し、データをＦＬＡＳＨ２３４からＭＲＡＭ２３２へコピーし、且つ対応の有効ビットをタグ（ＴＡＧ）に設定することにより、データをＭＲＡＭ２３２に割り当てる。ＭＲＡＭ２３２のセクタのいずれかが空である場合、即ち、それがその有効ビット・セットを有しない場合、制御器２３６は、割り当てられてないセクタのうちの１つを選択して、当該選択されたセクタに対して割り当てることに注目されたい。全てのセクタが前に割り当てられてしまった場合、制御器２３６は、上記選択されたセクタ・データをコピーする前に、前に割り当てられたセクタのうちの１つのセクタのデータをＦＬＡＳＨ２３４に書き戻す。通常のように、ＦＬＡＳＨ２３４への書き込み（プログラム）サイクルの前に、消去サイクルが起こることに注目されたい。従って、データが割り当てられたかどうかに拘わらず、制御器２３６は、ステップ５１８で、データをＭＲＡＭ２３２からシステム・バス２２０へ与えて、読み出しサイクルを完了する。
【００２３】
アクセス・サイクルが消去サイクルである場合、制御器２３６は、サブフロー５２０に進む。制御器２３６は、最初に、消去指令についての情報を一時バッファに格納し、そして消去サイクルを終了する。従って、消去サイクルは、システム・バス２２０に対して待ち時間を有しないように見える。次に、ステップ５２４で、制御器２３６は、適宜ＭＲＡＭ２３２のセクタを管理することを続けながら、ＦＬＡＳＨ２３４における消去サイクルを開始する。
【００２４】
アクセス・サイクルが書き込みサイクルである場合、制御器２３６は、サブフロー５３０に進む。制御器２３６は、判断ボックス５３２で、アクセスされたデータがＭＲＡＭ２３２に存在するかどうかを決定する。それが存在しない場合、制御器２３６は、ステップ５３４で書き込みデータを一時バッファに格納し、そしてシステム・バス２２０についてのサイクルを終了する。次いで、ステップ５３６で、制御器２３６は、ＭＲＡＭ２３２のセクタを割り当て、そして必要ならば古いデータを含むセクタを書き戻す。次いで、ステップ５３８で、制御器２３６は、ＦＬＡＳＨ２３４を読み出し、そのように読み出されたデータをＭＲＡＭ２３２の中へ移動し、且つ必要に応じてそれを一時バッファからの書き込みデータと組み合わせることにより、上記セクタをＭＲＡＭ２３２の選択されたセクタにコピーする。次いで、制御器２３６は、ＭＲＡＭ２３２の中のタグ（ＴＡＧ）をＦＬＡＳＨ２３４の中の対応のセクタでもって更新し、そしてセクタが割り当てられたことを示すビットを更新する。
【００２５】
図６は、本発明の別の局面に従った図２の不揮発性メモリ・システムの追加の詳細をブロック図形式で示す。図６に示されるように、制御器２３６は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）インターフェース６１０、及びＦＬＡＳＨ指令インターフェース６２０を含む。ＳＲＡＭインターフェース６１０は、ＳＲＡＭと正常に関連した１組の制御信号、即ち、チップ・イネーブル出力信号（ＣＥ￣（なお、以下記号「Ｘ￣」はは、記号「Ｘ」の上に「￣」を付した記号を表す。）、出力イネーブル信号（ＯＥ￣）、書き込みイネーブル信号（ＷＥ￣）、入力クロック信号（ＣＬＫ）、及び「ＢＵＳＹ￣」のラベルを付された制御信号によりシステム・バスに接続される。アドレス信号及びデータ信号は、図６には示されていない。ＳＲＡＭインターフェース６１０は、標準ＳＲＡＭ制御信号ＣＥ、ＯＥ及びＷＥを認識し、そしてその上前述したように読み出し及び書き込みアクセスを実行するため同期クロック信号ＣＬＫを認識する。次いで、ＳＲＡＭインターフェース６１０は、情報をＦＬＡＳＨ指令インターフェース６２０に与えて、ＭＲＡＭ２３２及びＦＬＡＳＨ２３４を前述したように制御する。ＳＲＡＭインターフェース６１０を含むことにより、制御器２３６は、不揮発性メモリ・システム６００がシステムに対して高速の低い又はゼロの待ち時間のＳＲＡＭとして見えることを可能にし、それは、電力が取り去られたときその内容を保持することが可能である。
【００２６】
ＦＬＡＳＨ２３４が、ＮＯＲ ＦＬＡＳＨ、ＮＡＮＤ ＦＬＡＳＨを含むいずれの既知のＦＬＡＳＨ技術により実現されることができ、そしてセル当たり単一又は複数のビットを有することができるであろうことに注目されたい。
【００２７】
少なくとも１つの例示的実施形態が前述の詳細な説明で提示されたが、多くの変形が存在することが認められる筈である。また、１又は複数の例示的実施形態は、単なる例示であり、本発明の範囲、適用性又は構成をいずれにしても制限することを意図するものではないことが認められる筈である。むしろ、前述の詳細な説明は、１又は複数の例示的実施形態を実行するための便利なロード・マップを当業者に与えるであろう。様々な変化が、添付の特許請求の範囲及びその法的均等物から逸脱することなしに構成要素の機能及び構成において行うことができることが理解される筈である。
【図面の簡単な説明】
【００２８】
【図１】図１は、従来技術で知られているコンピュータ・システムをブロック図で示す。
【図２】図２は、本発明に従ったコンピュータ・システムをブロック図で示す。
【図３】図３は、図２の不揮発性メモリ・システムのブロック図を示す。
【図４】図４は、本発明の一実施形態に従った図３の制御器の動作のフロー・チャートを示す。
【図５】図５は、本発明の別の実施形態に従った図３の制御器の動作のフロー・チャートを示す。
【図６】図６は、本発明の別の局面に従った図２の不揮発性メモリ・システムの追加の詳細をブロック図形式で示す。
【図１】
2008546053.tif 000003
【図２】
2008546053.tif 000004
【図３】
2008546053.tif 000005
【図４】
2008546053.tif 000006
【図５】
2008546053.tif 000007
【図６】
2008546053.tif 000008
【国際調査報告】
2008546053.tif 000009
2008546053.tif 000010