(57)【要約】 【課題】データエラーを改善した不揮発性メモリのデータ管理方法およびシステムを提供する。【解決手段】  第１の不揮発性メモリアレイ、第２の不揮発性メモリアレイ、およびメモリコントローラを含むシステムであって、メモリコントローラは、インジケータビットを第２の不揮発性メモリアレイに書き込み、インジケータビットは、第２の不揮発性メモリアレイに保存されたデータが有効であるかどうかを示し、インジケータビットが有効であるかどうかを、高温イベント後のシステムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定し、且つインジケータビットが有効であるとき、第２の不揮発性メモリアレイに保存されたデータを第１の不揮発性メモリアレイに書き込むように構成されるシステム。【選択図】  図５
2016224937.tif 000002
【特許請求の範囲】
【請求項１】
第１の不揮発性メモリアレイ、
第２の不揮発性メモリアレイ、および
メモリコントローラを含むシステムであって、
前記メモリコントローラは、
インジケータビットを前記第２の不揮発性メモリアレイに書き込み、前記インジケータビットは、前記第２の不揮発性メモリアレイに保存されたデータが有効であるかどうかを示し、
前記インジケータビットが有効であるかどうかを、高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定し、
前記インジケータビットが有効であるとき、前記第２の不揮発性メモリアレイに保存された前記データを前記第１の不揮発性メモリアレイに書き込むように
構成されている
システム。
【請求項２】
前記第１の不揮発性メモリアレイは、抵抗型不揮発性メモリアレイを含み、前記抵抗型不揮発性メモリアレイは、相変化ランダムアクセスメモリ（ＲＣＲＡＭ）、抵抗型ランダムアクセスメモリ（ＰＲＡＭ）、導電性ブリッジランダムアクセスメモリ（ＣＢＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）の少なくとも１つによって形成されており、前記第２の不揮発性メモリアレイは、トランジスタベースの不揮発性メモリアレイを含み、前記トランジスタベースの不揮発性メモリアレイは、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、電気的プログラマブル読み取り専用メモリ（ＰＲＯＭ）、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、または電気的プログラム可能フューズ（ｅＦＵＳＥ）メモリの少なくとも１つを含む、
請求項１に記載のシステム。
【請求項３】
前記第１の不揮発性メモリアレイは、先読みビットを保存するように更に構成され、
前記メモリコントローラは、
高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または所定数の受信コマンドに応じて先読みビットの中の不良ビットの数を判定し、
不良先読みビットの前記数を不良先読みビットの閾値数と比較し、
不良先読みビットの前記数が不良先読みビットの前記閾値数と等しい、または閾値数を超えたとき、前記第２の不揮発性メモリアレイに保存された前記データを前記第１の不揮発性メモリアレイに書き込むように構成されている請求項１に記載のシステム。
【請求項４】
前記メモリコントローラは、前記第１の不揮発性メモリアレイに保存されたデータを読み出し、前記データを前記第２の不揮発性メモリアレイに書き込むように構成されている請求項１に記載のシステム。
【請求項５】
システムのデータを管理する方法であって、
第２の不揮発性メモリアレイのデータが有効であるかどうかを示すインジケータビットを第２の不揮発性メモリアレイに書き込む、ステップ、
前記インジケータビットが有効であるかどうかを、高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定するステップ、および
前記インジケータビットが有効であると判定されたとき、前記第２の不揮発性メモリアレイの前記データを前記第１の不揮発性メモリアレイに書き込むステップを含む方法。
【請求項６】
抵抗型不揮発性メモリアレイとして第１の不揮発性メモリアレイを提供するステップを含み、前記抵抗型不揮発性メモリアレイは、相変化ランダムアクセスメモリ（ＲＣＲＡＭ）、抵抗型ランダムアクセスメモリ（ＰＲＡＭ）、導電性ブリッジランダムアクセスメモリ（ＣＢＲＡＭ）、または磁気ランダムアクセスメモリ（ＭＲＡＭ）の少なくとも１つによって形成される請求項５に記載の方法。
【請求項７】
トランジスタベースの不揮発性メモリアレイとして前記第２の不揮発性メモリアレイを提供するステップを含み、前記トランジスタベースの不揮発性メモリアレイは、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、電気的プログラマブル読み取り専用メモリ（ＰＲＯＭ）、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、または電気的プログラム可能フューズ（ｅＦＵＳＥ）メモリの少なくとも１つを含む請求項５に記載の方法。
【請求項８】
前記第２の不揮発性メモリアレイの前記データを前記第１の不揮発性メモリアレイに書き込むステップは、前記第２の不揮発性メモリアレイのデータを前記メモリデバイスのパワーアップに応じて、または前記メモリデバイスのアイドルモード期間に応じて前記第１の不揮発メモリアレイに書き込むステップを含む請求項５に記載の方法。
【請求項９】
高温イベント後、前記インジケータビットが有効であるかどうかを判定するステップは、温度環境ストレススクリーニングサイクリング、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、または高加速寿命試験の少なくとも１つの後に、前記インジケータビットが有効であるかを判定するステップを含む請求項５に記載の方法。
【請求項１０】
高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または所定数の受信コマンドに応じて前記第１の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定するステップ、
不良先読みビットの前記数を不良先読みビットの閾値数と比較するステップ、および
不良先読みビットの前記数が不良先読みビットの前記閾値数と等しい、または閾値数を超えたとき、前記第２の不揮発性メモリアレイの前記データを前記第１の不揮発性メモリアレイに書き込むステップを更に含む請求項５に記載の方法。
【請求項１１】
前記先読みビットの中の不良ビットの数を判定するステップは、誤り訂正符号を用いて、不良ビットの前記数を判定するステップを含み、前記誤り訂正符号は、ハミング符号、ＢＣＨ符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号（ＬＤＰＣ）、または畳み込み符号の中の１つを含む請求項１０に記載の方法。
【請求項１２】
前記インジケータビットが無効であると判定されたとき、前記第２の不揮発性メモリアレイの前記データを前記第１の不揮発性メモリアレイに書き込まない請求項５に記載の方法。
【請求項１３】
前記インジケータビットを書き込むステップは、
複数のインジケータビットを前記第２の不揮発性メモリアレイに書き込むステップを含み、前記複数のインジケータビットの各々は、前記第２の不揮発性メモリアレイの前記データの一部と関連し、且つ前記第２の不揮発性メモリアレイの前記データの各一部は、ページ、セクタ、ワード、またはブロックの少なくとも１つを含み、
前記インジケータビットが有効であるかどうかを判定するステップは、前記複数のインジケータビットが有効であるかどうかを判定するステップを含む請求項５に記載の方法。
【請求項１４】
前記第２の不揮発性メモリアレイの前記データを前記第１の不揮発性メモリアレイに書き込むステップは、
前記第２の不揮発性メモリアレイに保存されたデータの第１の部分と第２の部分と関連した前記インジケータビットが有効であるか無効であるかをそれぞれ判定するステップ、
前記第２の不揮発性メモリアレイの前記データの前記第１の部分を前記第１の不揮発性メモリアレイに書き込むステップ、および
前記第２の不揮発性メモリアレイの前記データの前記第１の部分を前記第１の不揮発性メモリアレイに書き込まないステップを含む請求項１３に記載の方法。
【請求項１５】
前記第１の不揮発性メモリアレイのデータを読み出し、前記データを前記第２の不揮発性メモリアレイに書き込むステップを更に含む請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに関し、特に、不揮発性メモリのデータ管理方法およびシステムに関するものである。
【背景技術】
【０００２】
不揮発性半導体メモリは、電源オフ状態でも一般的に保存されたデータを保持する。トランジスタベースの不揮発性メモリは、１つ以上のトランジスタを記憶素子として用いて、データを保存する不揮発性メモリ、例えば、フラッシュメモリまたは電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）である。トランジスタベースの不揮発性メモリは、高速な読み出しアクセス時間と耐衝撃性を提供し、トランジスタベースの不揮発性メモリを各種のアプリケーションに用いることを可能にしている。不揮発性メモリのいくつかの用途は、コンピューティングデバイス、携帯電話、ポータブルオーディオプレーヤー、および他の消費者用電子製品におけるデータストレージを含む。
【０００３】
新しい不揮発性メモリ技術は、トランジスタベースの不揮発性メモリと関連した各種の制限に対処するために開発されている。例えば、ほとんどの市販のフラッシュメモリは、書き換え耐性 （Write Endurance）が比較的低いという問題を有する。一般的なフラッシュメモリは、１×１０５までの書き込みサイクル（プログラム／消去サイクルともいう）に耐え得ることができる。また、いくつかの新しい不揮発性メモリ、例えば、磁気ランダムアクセスメモリ（ＭＲＡＭ）は、１×１０１２までの書き込みサイクルに耐え得ることができる。もう1つの例では、フラッシュメモリアレイは、例えば、読み出しディスターブ（ｄｉｓｔｕｒｂ）（近隣セルを時間とともに変えさせる順次読み出しサイクル）と書き換え耐性の低下などのスケーリング問題を有する。
【０００４】
しかしながら、新しい不揮発性メモリは、短所を有する。例えば、高温での動作は、抵抗型（ｒｅｓｉｓｔｉｖｅ）不揮発性メモリなどのいくつかの新しい不揮発性メモリにおいてビット反転などのデータエラーを生じる可能性がある。このようなデータエラーは、システムクラッシュ、データ破損、および／または、セキュリティ上の脆弱性を招く可能性がある。また、新しい不揮発性メモリの製造と保存の温度が高温であると、システム的なデータドリフト、データ損失、大幅なデータ破損、およびデータ保持時間の減少などのデータ保持の問題を招く可能性がある。
【発明の概要】
【０００５】
１つの例示的な実施形態に基づいて、システムは、第１の不揮発性メモリアレイ、第２の不揮発性メモリアレイ、およびメモリコントローラを含む。メモリコントローラは、インジケータビットを第２の不揮発性メモリアレイに書き込み、インジケータビットは、第２の不揮発性メモリアレイに保存されたデータが有効であるかどうかを示し、インジケータビットが有効であるかどうかを、高温イベント後のシステムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定し、インジケータビットが有効であるとき、第２の不揮発性メモリアレイに保存されたデータを第１の不揮発性メモリアレイに書き込むように構成される。
【０００６】
もう１つの例示的な実施形態に基づいて、システムのデータを管理する方法は、インジケータビットを第２の不揮発性メモリアレイに書き込み、前記インジケータビットは、前記第２の不揮発性メモリアレイのデータが有効であるかどうかを示すステップ、インジケータビットが有効であるかどうかを、高温イベント後のシステムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定するステップ、およびインジケータビットが有効であるとき、第２の不揮発性メモリアレイのデータを第１の不揮発性メモリアレイに書き込むステップを含む。
【０００７】
本開示の特定の実施形態を詳細に説明する前に、実施形態はその用途又は使用において、添付の図及び説明に例示される部品の構成及び配列の詳細に限定されないことに留意すべきである。
【０００８】
以上、当業者が本開示の態様をより理解できるように幾つかの実施の形態特徴を概説した。当業者は、本開示を、いくつかの目的を実行するために他の構造、方法、およびシステムを設計するための基礎として、容易に使用できることが分かる。また、本開示の精神及び範囲を逸脱しない限りにおいては、当業者であればそのような等価な構成を達成することが可能である。
本明細書に組み込まれて、その一部を形成する添付図面は、本発明の幾つかの実施態様を示しており、説明とともに本発明の原理を説明するに役立つ。
【図面の簡単な説明】
【０００９】
【図１】例示的なトランジスタベースの不揮発性メモリアレイの回路図である。
【図２】本開示と一致する実施形態を実施する例示的なトランジスタベースの不揮発性メモリアレイのブロック図である。
【図３】本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリアレイの回路図である。
【図４】本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリのブロック図である。
【図５】本開示と一致する実施形態を実施する例示的なメモリシステムのブロック図である。
【図６】メモリシステムのデータを管理する方法の例示的なステップを示すフローチャートである。
【図７】メモリシステムのデータを管理するもう１つの方法の例示的なステップを示すフローチャートである。
【発明を実施するための形態】
【００１０】
本開示の実施形態は、新しい不揮発メモリを含むメモリシステムのデータ管理のための改善された方法およびシステムを提供する。多くの新しい不揮発メモリは、トランジスタベースの不揮発性メモリに対し、書き込み速度と書き換え耐性、電力消費、データ保持、データ保護、およびバイトレベルのランダムアクセスにおいて多くの利点を有する。しかしながら、抵抗型不揮発性メモリなどのいくつかの新しい不揮発性メモリは、高温および／または電磁妨害（ＥＭＩ）により、データ保持とデータ破損の問題に影響されやすい可能性がある。抵抗型不揮発性メモリは、例えば、異なる抵抗状態を用いてデータを保存する任意の不揮発性メモリを含むことができる。抵抗型不揮発性メモリの例は、相変化ランダムアクセスメモリ（ＲＣＲＡＭ）、磁気ランダムアクセスメモリ（ＭＲＡＭ）、導電性ブリッジランダムアクセスメモリ（ＣＢＲＡＭ）などの    プログラマブルメタライゼーションセル（ＰＭＣ）メモリ、および抵抗型ランダムアクセスメモリ（ＰＲＡＭ）を含む。
【００１１】
ＰＣＲＡＭは、カルコゲナイド系材料の非結晶相と結晶相との間の抵抗の違いを用いてデータを保存する。非結晶相は、高抵抗相に対応し、結晶相は、低抵抗相に対応する。ＭＲＡＭは、２つの強磁性層間のトンネルバリア層を用いて、異なる抵抗状態を切り替えてデータを保存する。低抵抗状態は、２つの強磁性層の磁化方向が平行のとき、実現される。高抵抗状態は、２つの強磁性層の磁化方向が平行でないとき、実現される。ＣＢＲＡＭセルは、2つの固体金属電極間に電解質の薄膜を含む。ＣＢＲＡＭセルは、電解質膜の金属電極の間にナノワイヤーを形成することによって、異なる抵抗状態でデータを保存する。ナノワイヤーの欠如は、高抵抗状態に対応し、ナノワイヤーの存在は、低抵抗状態に対応する。ＰＲＡＭは、遷移金属酸化物における抵抗スイッチングに基づいて２つ以上の抵抗状態としてデータを保存する。ＣＢＲＡＭセルと同様に、ＰＲＡＭセルは、金属‐絶縁体‐金属構造を含む。異なる論理状態は、絶縁体層で１トレイルの導通不良（ａ  ｔｒａｉｌ  ｏｆ  ｃｏｎｄｕｃｔｉｎｇ  ｄｅｆｅｃｔｓ）（フィラメント（ｆｉｌａｍｅｎｔ）と呼ばれる）を生じることで示される。フィラメントの欠如は、高抵抗状態に対応し、フィラメントの存在は、低抵抗状態に対応する。各種の抵抗メモリの高抵抗状態と低抵抗状態は、第１と第２の論理値、例えば、「０」と「１」を示すデータを保存するように用いられる。
【００１２】
不揮発性メモリは、各種の温度範囲内で動作されるように仕様が規定されることができる。例えば、不揮発性メモリは、０〜８５℃（産業用仕様）、−４０〜１２５℃（工業／自動車用仕様）、または−５５〜１２５℃（軍用仕様）の環境温度内で動作されるように仕様規定されることができる。保存温度の定格は、一般的に１５０℃までの範囲である。不揮発性メモリは、基板にＩＣチップを搭載するときにも高温になる。例えば、一般のウェーブはんだ付けプロセスは、２５０℃にまで温度が上昇する。抵抗型不揮発性メモリは、これらの範囲の上部分に近接したときに性能が劣化することになる可能性がある。例えば、ビット反転などのデータエラーは、高環境動作温度で抵抗型不揮発性メモリセルに生じる可能性がある。また、ウェーブはんだ付けプロセスによって引き起こされた高温に曝される前に、抵抗型不揮発性メモリに書き込まれたデータは、システム的なデータドリフトおよびデータ保持時間の減少などの重大なデータエラーになる可能性がある。
【００１３】
本開示の実施形態は、抵抗型不揮発性メモリに対する高温の影響を緩和することによって、上述のメモリを含むシステムおよび／または集積回路（ＩＣ）の性能改善を可能にする改善方法を提供する。本開示の実施形態は、高温イベント前、および／または高温イベント後の抵抗型不揮発性メモリとトランジスタベースの不揮発性メモリとの間のデータを転送するように構成されたメモリシステムを提供する。抵抗型不揮発性メモリに保存されたデータは、高温イベント前にトランジスタベースの不揮発性メモリに書き込まれ、高温イベント後に抵抗型不揮発性メモリに書き戻される。従って、トランジスタベースの不揮発性メモリは、バックアップストレージとして用いられ、高温イベントにより抵抗型不揮発性メモリで損失した、または破損した任意のデータは、トランジスタベースの不揮発性メモリから修復される。
【００１４】
ここで、本開示に基づいて実現された例示的な実施形態が詳細に参照され、その実施例は添付図面に例証されており、図中、同様の酸照番号は全体を通して同様の要素を指している。
【００１５】
図１は、例示的なトランジスタベースの不揮発性メモリアレイ１００の回路図を示している。トランジスタベースの不揮発性メモリアレイ１００は、複数のトランジスタベースの不揮発性メモリセル１１０を含む。各トランジスタベースの不揮発性メモリセル１１０は、ワード線（例えば、ＷＬ０〜ＷＬｎ）とビット線（例えば、ＢＬ０〜ＢＬｍ）に関連する。トランジスタベースの不揮発性メモリアレイ１００は、１つ以上のトランジスタを記憶素子として用いて、データを保存する不揮発性メモリによって形成されることができる。トランジスタベースの不揮発性メモリは、プログラマブル読み取り専用メモリ（ＰＲＯＭ）、電気的プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、または電気的プログラム可能フューズ（ｅＦＵＳＥ）メモリを含む。または、トランジスタベースの不揮発性メモリアレイ１００は、２次元メモリアレイまたは３次元メモリアレイを含むことができる。
【００１６】
図１に示されるように、トランジスタベースの不揮発性メモリアレイ１００がＥＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリを用いて実施されたとき、各トランジスタベースの不揮発性メモリセル１１０は、フローティングゲート金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ）を含む。フローティングゲートＭＯＳＦＥＴ（ＦＧＭＯＳ）は、電荷を電気的に絶縁されたフローティングゲートに保存することができる。この電気的絶縁は、フローティングゲートが電源のない延伸期間に電荷を保持するようにしている。完全に充電されたフローティングゲートは、論理「０」状態を示すことができ、充電されていないフローティングゲートは、論理「１」状態を示すことができ、またその逆も示すことができる。
【００１７】
図２は、本開示と一致する実施形態を実施するトランジスタベースの不揮発性メモリアレイ１００のブロック図を示している。図２に示されるように、トランジスタベースの不揮発性メモリアレイ１００は、複数のセルタイプを含む。例えば、バックアップデータセル２１０は、バックアップデータビットを保存するように構成される。各バックアップデータセル２１０は、１つのバックアップデータビットを保存する。バックアップデータビットは、各種のストレージユニット、例えば、ページ、ブロック、セクタ、ワード、または当技術分野で知られている任意の他のストレージ構成に書き込まれ、アクセスされることができる。各ストレージユニットは、任意の数のバックアップデータビットを含むことができる。
【００１８】
いくつかの実施形態では、トランジスタベースの不揮発性メモリアレイ１００もインジケータセル２２０を含む。インジケータセル２２０は、バックアップデータがバックアップデータセル２１０にうまく書き込まれたかどうかを示すインジケータビットを保存するように構成される。各インジケータセル２２０は、１つのインジケータビットを保存する。インジケータビットの各種の構成は、バックアップデータがバックアップデータセル２１０にうまく書き込まれたかどうかを示すように用いられることができる。例えば、１つのインジケータビットは、全てのバックアップデータがバックアップデータセル２１０にうまく書き込まれたかどうかを示すように用いられることができる。もう１つの実施例では、１つのインジケータビットは、バックアップデータの各ストレージユニットがバックアップデータセル２１０にうまく書き込まれたかどうかを示すように用いられることができる。実施例に基づいて、３ページのバックアップデータがバックアップデータセル２１０に書き込まれた場合、インジケータセル２２０は、インジケータセル２２０当たり３つのインジケータビットを１つのインジケータビットとして保存する。
【００１９】
図３は、本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリアレイ３００の回路図である。抵抗型不揮発性メモリアレイ３００は、上述の任意の抵抗型不揮発性メモリ、例えばＰＣＲＡＭ、ＰＲＡＭ、ＭＲＡＭ、またはＣＢＲＡＭなどを用いて形成されることができる。また、抵抗型不揮発性メモリアレイ３００は、２次元メモリアレイまたは３次元メモリアレイを含むことができる。
【００２０】
図３に示されるように、抵抗型不揮発性メモリアレイ３００は、複数のワード線（ＷＬ０〜ＷＬｎ）、ビット線（ＢＬ０〜ＢＬｍ）、および抵抗型不揮発性メモリセル３１０を含む。各抵抗型不揮発性メモリセル３１０は、ワード線とビット線に関連する。各抵抗型不揮発性メモリセル３１０は、選択素子３１２と抵抗記憶素子３１４を含む。抵抗型不揮発性メモリセル３１０は、上述の任意の抵抗型不揮発性メモリ、例えばＰＣＲＡＭセル、ＰＲＡＭセル、ＭＲＡＭセル、または導電性ブリッジＲＡＭセルなどによって実施されることができる。選択素子３１２は、選択スイッチとして動作し、抵抗型不揮発性メモリセル３１０へのアクセスを制御する。選択素子３１２は、例えば、ダイオード、金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ）、またはバイポーラ接合トランジスタ（ＢＪＴ）によって実施されることができる。いくつかの実施形態では、選択素子３１２は、任意であることができ、例えば、抵抗型不揮発性メモリセル３１０は、ＲＰＡＭセルによって実施される。
【００２１】
図４は、本開示と一致する実施形態を実施する抵抗型不揮発性メモリアレイ３００のブロック図を示している。図４に示されるように、抵抗型不揮発性メモリアレイ３００は、複数のセルタイプを含む。例えば、データセル４１０は、データビットを保存するように構成される。各データセル４１０は、１つのデータビットを保存する。データビットは、各種のストレージユニット、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージ構成に書き込まれ、アクセスされることができる。各ストレージユニットは、任意の数のデータビットを含むことができる。
【００２２】
いくつかの実施形態では、抵抗型不揮発性メモリアレイ３００は、先読み（ｌｏｏｋ−ａｈｅａｄ・ルック  アヘッド）セル４２０も含む。先読みセル４２０は、データセル４１０に保存されたデータビットの実質的なデータ破損またはシステム的なデータドリフトを検出する先読みビットを保存するように構成される。各先読みセル４２０は、１つの先読みビットを保存するように構成される。先読みセル４２０に保存された先読みビットは、データ破損またはシステム的なデータドリフトのインジケータとなる。データ破損またはシステム的なデータドリフトの原因は、例えば、抵抗型不揮発性メモリアレイ３００のＥＭＩまたは高温イベント（例えば、温度環境ストレス・スクリーニング・サイクル（ｅｎｖｉｒｏｎｍｅｎｔａｌ ｓｔｒｅｓｓ ｓｃｒｅｅｎｉｎｇ ｔｈｅｒｍａｌ ｃｙｃｌｅ）、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、高加速寿命試験、または高温保存）によるものである。抵抗型不揮発性メモリアレイ３００に含まれた先読みセル４２０の数は、抵抗型不揮発性メモリアレイ３００に含まれたメモリセルの総数、メモリシステムの信頼性の重要性、システム的なドリフト検出に割り当てできるメモリシステムスループットの量など、多くの要因によって決まる。先読みセル４２０に保存されたビットの総数の例は、１６ビットまたは３２ビットを含む。先読みセル４２０に保存された先読みビットの総数は、データセル４１０に保存されたデータビットの数と比べ、小さいことができる。従って、少量の先読みビットを多数のデータビットの品質の代用として用いることは、メモリシステムの効率を改善し、エラー検出に必要なメモリシステムリソースの量を減少する。
【００２３】
いくつかの実施形態では、データセル４１０および／または先読みセル４２０は、セル当たり複数ビットを保存するように構成される。例えば、マルチレベルセルは、抵抗型不揮発性メモリアレイ３００に用いられることができる。マルチレベルセルは、３つ以上の異なる抵抗状態を用いて２つ以上のデータビットを保存する。例えば、４つの異なる抵抗状態を有するマルチレベルセルは、２つのビットを保存することができ、各ビットは、２つの抵抗状態を用いて論理「０」と「１」を示す。セル当たりに保存されたビット数の増加は、より大きなビット誤り率となる可能性があるため、誤り訂正符号を用いてこれらのエラーを検出し、帝政する必要がある。
【００２４】
図５は、本開示と一致する実施形態を実施する例示的なメモリシステム５００のブロック図を示している。図５に示されるように、メモリシステム５００は、トランジスタベースの不揮発性メモリセル１１０、抵抗型不揮発性メモリアレイ３００、メモリコントローラ５１０、アナログ回路５２０、および論理回路５３０を含む。本開示から、これらの構成要素の数と配置は、例示的なものであるに過ぎず、説明する目的のために提供されるものであることが認識されるであろう。他の構成要素の数と配置は、本開示の教示および実施形態から逸脱せずに用いられることができる。一例では、トランジスタベースの不揮発性メモリセル１１０、抵抗型不揮発性メモリアレイ３００、メモリコントローラ５１０、アナログ回路５２０、および論理回路５３０は、同一の半導体ダイ上に、同一のＩＣパッケージに含まれた個別の半導体ダイ上に、個別のＩＣパッケージに含まれた個別の半導体ダイ上に、または当業者に周知の任意の構成上に形成されることができる。他の実施例では、メモリコントローラ５１０は、複数の抵抗型不揮発性メモリアレイ３００および／または複数のトランジスタベースの不揮発性メモリアレイ１００を制御することができる。更なる実施例として、個別のメモリコントローラ５１０は、トランジスタベースの不揮発性メモリアレイ１００と抵抗型不揮発性メモリアレイ３００を制御することができる。
【００２５】
いくつかの実施形態では、メモリコントローラ５１０は、入力／出力インターフェース（Ｉ／Ｏ）５１１、行デコーダ（ワード線デコーダとも呼ばれる）５１２、列デコーダ５１３、センスアンプと書き込みドライバ５１４、リフレッシュコントローラ５１５、および先読みコントローラ５１６を含む。メモリコントローラ５１０に含まれた構成要素５１１〜５１６は、ハードウェアとソフトウェアの組み合わせによって実施されることができる。例えば、構成要素５１１〜５１６は、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイＩ（ＰＧＡ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、電気回路、複合プログラマブル論理デバイス（ＣＰＬＤ）またはカスタム論理回路、またはその任意の組み合わせによって実施されることができる。また、構成要素５１１〜５１６のいくつかの、または全ての機能は、同じハードウェア／ソフトウェアの組み合わせによって実行されることができる。例えば、リフレッシュコントローラ５１５と先読みコントローラ５１６の機能は、同じマイクロプロセッサ、ＡＳＩＣ、ＰＧＡ、ＦＰＧＡ、ＣＰＬＤ、またはカスタム論理回路によって実行されることができ、全てのコントローラは同じ書き込みアルゴリズムをシェアする、またはシェアしないことができる。
【００２６】
Ｉ／Ｏ５１１は、外部源から入力信号を受けて入力信号を変換するため、Ｉ／Ｏ５１１は、メモリコントローラ５１０に含まれた構成要素によって理解され受けられることができる。例えば、Ｉ／Ｏ５１１は、メモリセルアドレス、データ、コマンド（例えば、読み出しコマンドと書き込みコマンド）などを受けることができる。
【００２７】
読み出し動作では、Ｉ／Ｏ５１１は、行座標と列座標を行デコーダ５１２と列デコーダ５１３にそれぞれ送信する。行デコーダ５１２は、行座標をデコードし、センス電圧をトランジスタベースの不揮発性メモリアレイ１００または抵抗型不揮発性メモリアレイ３００の対応するワード線に提供する。トランジスタベースの不揮発性メモリアレイ１００から読み出すとき、センス電圧は、ワード線に接続された各トランジスタベースの不揮発性メモリセル１１０のＦＧＭＯＳ制御ゲートを活性化する。抵抗型不揮発性メモリアレイ３００から読み出すとき、センス電圧は、ワード線に接続された各抵抗型不揮発性メモリセル３１０の選択素子３１２を活性化する。
【００２８】
列デコーダ５１３は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ５１４に接続する。センスアンプと書き込みドライバ５１４は、読み出し回路と書き込み回路を含む。トランジスタベースの不揮発性メモリアレイ１００から読み出したとき、読み出し回路は、適切なワード線／ビット線の交差にあるトランジスタベースの不揮発性メモリセル１１０のＦＧＭＯＳドレイン−ソース経路に流れる電流を測定する。抵抗型不揮発性メモリアレイ３００から読み出したとき、読み出し回路は、適切なワード線／ビット線の交差にある抵抗型不揮発性メモリセル３１０の抵抗記憶素子３１４に流れる電流を測定する。
【００２９】
センスアンプと書き込みドライバ５１４は、測定された電流を増幅し、出力をＩ／Ｏ５１１に提供する。Ｉ／Ｏ５１１は、出力を外部送り先に送信するか、または外部ソースによって要求されるまで出力を保留する。
【００３０】
いくつかの実施形態では、同一の活性化されたワード線と関連した      複数のトランジスタベースの不揮発性メモリセル１１０または抵抗型不揮発性メモリセル３１０は、単一の読み出し動作で読み出されることができる。行レコーダ５１２がセンス電圧を対応するワード線に提供したとき、ワード線上の各トランジスタベースの不揮発性メモリセル１１０または抵抗型不揮発性メモリセル３１０は、活性化される。次いで、読み出し回路は、これらのセルと関連したビット線上の各活性化されたトランジスタベースの不揮発性メモリセル１１０または抵抗型不揮発性メモリセル３１０によって電流を測定する。
【００３１】
書き込み動作の１つの実施形態では、Ｉ／Ｏ５１１は、外部ソースからのデータ、およびトランジスタベースの不揮発性メモリセル１１０アドレスまたは抵抗型不揮発性メモリセル３１０アドレスが保存されるデータを受信する。Ｉ／Ｏ５１１は、アドレスを行と列座標に変換し、座標を行デコーダ５１２と列デコーダ５１３にそれぞれ送信する。行デコーダ５１２は、行座標をデコードし、書き込み電圧を対応するワード線に提供する。列デコーダ５１３は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ５１４に接続する。Ｉ／Ｏ５１１は、指示をセンスアンプと書き込みドライバ５１４に送信し、活性化されたワード線とビット線の交差部に位置したトランジスタベースの不揮発性メモリセル１１０または抵抗型不揮発性メモリセル３１０に「０」または「１」のいずれかを書き込む。トランジスタベースの不揮発性メモリセル１１０の中の１つに書き込むとき、センスアンプと書き込みドライバ５１４の書き込み回路は、「１」または「０」が保存されるかどうかに応じて、ＦＧＭＯＳフローティングゲート上の電荷を排出（ｄｒａｉｎ）、または蓄積する。抵抗型不揮発性メモリセル３１０の中の１つに書き込むとき、センスアンプと書き込みドライバ５１４の書き込み回路は、「１」または「０」が保存されるかどうかに応じて、高抵抗状態または低抵抗状態に抵抗素子３１２の抵抗を変える。書き込み動作のもう１つの実施形態では、Ｉ／Ｏ５１１は、外部ソースからのデータ、およびトランジスタベースの不揮発性メモリセル１１０アドレスまたは抵抗型不揮発性メモリセル３１０アドレスが保存されるデータを受信する。従って、センスアンプと書き込みドライバ５１４は、受信したデータをトランジスタベースの不揮発性メモリアレイ１００と抵抗型不揮発性メモリアレイ３００に同時に書き込むことができる。
【００３２】
書き込み動作のまたもう１つの実施形態では、センスアンプと書き込みドライバ５１４は、トランジスタベースの不揮発性メモリアレイ１００に保存されたデータを抵抗型不揮発性メモリアレイ３００に書き込み、および／またその逆も書き込むことができる。実施形態では、メモリコントローラ５１０は、リフレッシュコントローラ５１５を含む。リフレッシュコントローラ５１５は、データを読み出し、そのデータをトランジスタベースの不揮発性メモリアレイ１００に書き込むことによって、抵抗型不揮発性メモリアレイ３００に保存されたデータをバックアップする。抵抗型不揮発性メモリアレイ３００に保存されたデータをパックアップするために、リフレッシュコントローラ５１５は、列座標と行座標を行デコーダ５１２と列デコーダ５１３にそれぞれ送信する。行デコーダ５１２と列デコーダ５１３は、行座標をデコードし、センスアンプと書き込みドライバ５１４の読み出し回路は、抵抗型不揮発性メモリアレイ３００の対応するデータセル４１０に保存されたデータを読み出す。リフレッシュコントローラ５１５は、バックアップデータセル２１０アドレスをセンスアンプと書き込みドライバ５１４に送信する。センスアンプと書き込みドライバ５１４の書き込み回路は、抵抗型不揮発性メモリアレイ３００から読み出されたデータをトランジスタベースの不揮発性メモリアレイ１００の対応するバックアップデータセル２１０に書き込む。
【００３３】
リフレッシュコントローラ５１５は、インジケータセル２２０アドレスとインジケータビットをセンスアンプと書き込みドライバ５１４に更に送信する。センスアンプと書き込みドライバ５１４の書き込み回路は、インジケータビットをトランジスタベースの不揮発性メモリアレイ１００の対応するインジケータセル２２０に書き込む。インジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示している。論理値「０」を有するインジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたことを示すことができ、論理値「１」を有するインジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれていないことを示すことができ、またその逆も示すことができる。インジケータビットの各種の構成は、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示すように用いられることができる。例えば、１つのインジケータビットは、全てのバックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示すように用いられることができる。もう１つの実施例では、１つのインジケータビットは、各ストレージユニットに用いられ、バックアップデータのストレージユニットがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示すことができる。
【００３４】
１つ以上のバックアップデータセル２１０が変えられることができないために、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００に書き込まれることができないとき、うまく書き込まれない書き込み動作が生じる可能性がある。変えられることができないバックアップデータセル２１０の例は、書き込み保護された、または摩耗したバックアップデータセル２１０を含む。メモリセルの摩耗は、繰り返された書き込みサイクルの動作により、トランジスタベースの不揮発性メモリセル１１０のＦＧＭＯＳフローティングゲートを絶縁する酸化物層の破壊によって起こる。酸化物層の劣化に伴い、ＦＧＭＯＳが異なる電荷レベルを用いて論理状態を示すことができなくなるまで、フローティングゲートが長時間において電荷を保持する能力は減少する。うまく書き込まれない書き込み動作は、リフレッシュコントローラ５１５によって提供された１つ以上のバックアップデータセル２１０が無効なアドレスのために、バックアップデータがトランジスタベースの不揮発性メモリアレイ１００に書き込まれることができないときも生じる可能性がある。
【００３５】
いくつかの実施形態では、センスアンプと書き込みドライバ５１４は、リフレッシュコントローラ５１５にバックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかの  通知を提供する。バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれた場合、リフレッシュコントローラ５１５は、１つ以上のインジケータビットをセンスアンプと書き込みドライバ５１４に提供し、バックアップデータがうまく書き込まれたことを示し、且つこのため、抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュするのに用いられることができる。バックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれなかった場合、リフレッシュコントローラ５１５は、１つ以上のインジケータビットをセンスアンプと書き込みドライバ５１４に提供し、バックアップデータがうまく書き込まれなかったことを示し、且つこのため、抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュするのに用いられることができない。
【００３６】
二者択一的に、または、リフレッシュコントローラ５１５は、トランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれなかったバックアップデータを再書き込みする。１つの実施例では、１つのインジケータビットが全てのバックアップデータがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示すのに用いられて、インジケータビットがバックアップデータは、トランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれていないと示した場合、リフレッシュコントローラ５１５は、抵抗型不揮発性メモリアレイ３００に保存された全てのデータをトランジスタベースの不揮発性メモリアレイ１００に再書き込みする。もう１つの実施例では、１つのインジケータビットがバックアップデータの各ストレージユニットがトランジスタベースの不揮発性メモリアレイ１００にうまく書き込まれたかどうかを示すのに用いられた場合、リフレッシュコントローラ５１５は、データのストレージユニットがうまく書き込まれていないことを示しているインジケータビットを有するストレージユニットだけにデータを再書き込みする。
【００３７】
リフレッシュコントローラ５１５は、トランジスタベースの不揮発性メモリアレイ１００に保存されたバックアップデータを読み出すことによって抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュし、そのデータを抵抗型不揮発性メモリアレイ３００に書き込む。抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュするために、リフレッシュコントローラ５１５は、行座標と列座標を行デコーダ５１２と列デコーダ５１３にそれぞれ送信する。行デコーダ５１２と列デコーダ５１３は、座標をデコードし、センスアンプと書き込みドライバ５１４の読み出し回路は、トランジスタベースの不揮発性メモリアレイ１００の対応するバックアップデータセル２１０に保存されたデータを読み出す。リフレッシュコントローラ５１５は、データセル４１０アドレスをセンスアンプと書き込みドライバ５１４に送信する。センスアンプと書き込みドライバ５１４の書き込み回路は、トランジスタベースの不揮発性メモリアレイ１００から読み出されたデータを抵抗型不揮発性メモリセル３１０の対応するデータセル２１０に書き込む。
【００３８】
いくつかの実施形態では、リフレッシュコントローラ５１５は、抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュする前に、トランジスタベースの不揮発性メモリアレイ１００のインジケータセル２２０に保存されたインジケータビットを読み出す。リフレッシュコントローラ５１５は、インジケータビットを読み出し、インジケータビットがまだ有効であるかどうかを判定する。インジケータビットが論理状態を反転（例えば、論理「０」から論理「１」、またその逆から反転）したとき、または破損したとき、インジケータビットは無効になる。反転した論理状態、または破損は、例えば、インジケータセル２２０を高温またはＥＭＩに曝したために起こるものである。リフレッシュコントローラ５１５は、エラー検出技術を用いて、インジケータビットが論理状態を反転するか、または破損するかどうかを判定する。エラー検出技術は、巡回冗長検査（ＣＲＣ）、反復コード、パリティビット、チェックサム、または誤り訂正符号などである。
【００３９】
インジケータセル２２０に保存されたインジケータビットの有効性は、トランジスタベースの不揮発性メモリアレイ１００に保存されたバックアップデータの品質の代用として用いる。有効なインジケータビットは、トランジスタベースの不揮発性メモリアレイ１００に保存されたバックアップデータの品質が劣化しない可能性があることを示す。逆に、無効なインジケータビットは、トランジスタベースの不揮発性メモリアレイ１００に保存されたバックアップデータの品質が劣化した可能性あり、抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュするように用いられるべきではない。従って、リフレッシュコントローラ５１５がインジケータビットを読み出し、１つ以上のインジケータビットが無効になった（即ち、反転した状態または破損した）と判定した場合、リフレッシュコントローラ５１５は、トランジスタベースの不揮発性メモリアレイ１００に保存されたバックアップデータを使用せずに、抵抗型不揮発性メモリアレイ３００に保存されたデータをリフレッシュする。インジケータセル２２０に保存されたインジケータビットの総数は、バックアップデータセル２１０に保存されたバックアップデータビットの数に比べ、小さいことができる。従って、少数のインジケータビットを多数のバックアップデータビットの品質の代用として用いることは、メモリシステムの効率を向上させ、エラー検出に必要なメモリシステムリソースの量を減少する。
【００４０】
いくつかの実施形態では、メモリコントローラ５１０は、先読みコントローラ５１６を含む。先読みコントローラ５１６は、データセル４１０に保存されたデータの大幅なデータ破損および／またはシステム的なデータドリフトを検出する。例えば、先読みコントローラ５１６は、先読みセル４２０に保存された先読みビットを読み出し、先読みセル４２０に保存された不良先読みビットの数を判定する。先読みコントローラ５１６は、誤り訂正符号を用いて、どの先読みビットが不良であるかどうかを判定する。誤り訂正符号は、例えば、ハミング符号、ボーズチョドーリオッケンジェム（Ｂｏｓｅ-Ｃｈａｕｄｈｕｒｉ-Ｈｏｃｑｕｅｎｇｈｅｍ；ＢＣＨ）符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号（ＬＤＰＣ）、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号などである。不良先読みビットの数が不良先読みビットの閾値数と等しい、または閾値数を超える場合、先読みコントローラ５１６は、データセル４１０に保存されたデータのリフレッシュを初期化する。不良先読みビットの閾値数の実施例は、先読みセル４２０に保存された先読みビットの５０％であることができる。従って、本実施例では、先読みセル４２０に保存された先読みビットが３２個存在するとき、先読みコントローラ５１６は、先読みコントローラ５１６が不良先読みビットの数が１６ビットと等しいまたは１６ビットより大きいと判定したとき、リフレッシュを初期化する。
【００４１】
先読みコントローラ５１６は、リフレッシュコマンドをリフレッシュコントローラ５１５に送信することによってデータフレッシュを初期化する。リフレッシュコントローラ５１５は、上述の各種のリフレッシュ動作に応じてデータセル４１０に保存されたデータのリフレッシュを実行する。
【００４２】
アナログ回路５２０は、メモリコントローラ５１０の構成要素、例えば、行デコーダ５１２、列デコーダ５１３、およびセンスアンプと書き込みドライバ５１４などと接続する。アナログ回路５２０は、各種のタイプのアナログ回路素子、例えば、デバイダ、コンパレータ、カレントミラー、フィルター、アンプ、電流／電圧源または電流／電圧基準、電流制限器、電圧レギュレータ、チャージポンプ、および当業者に周知の他のアナログ回路などを含むことができる。アナログ回路５２０は、各種の機能、例えば、メモリセル１１０と３１０をプログラミングおよび消去する高電圧パルスを生成する、メモリセル読み出し電流を生成する、メモリシステム５００の内蔵型セルフテストを実行する、基準電流を生成する、基準電流をメモリセルの読み出し電流と比較してメモリセル１１０と３１０の論理状態を判定する、などの機能を実行する。
【００４３】
論理回路５３０は、メモリコントローラ５１０の構成要素、例えば、Ｉ／Ｏ５１１、列デコーダ５１３、およびセンスアンプと書き込みドライバ５１４などと接続する。論理回路５３０は、各種のタイプのデジタル回路素子、例えば、加算器、減算器、マルチプレクサ、非マルチプレクサ、エンコーダ、デコーダ、および当業者に周知の他のデジタル回路などを含むことができる。ロジック回路５３０は、各種の機能、例えば、メモリ読み出し書き込み論理（ｗｒｉｔｅ  ｌｏｇｉｃ）を制御する、メモリシステム５００の内蔵型セルフテストを実行する、試験（ｔｅｓｔ）技術者／エンジニアまたはメモリシステム５００と接続している他のシステムから受けたコマンドおよび指示を解読し、メモリセル１１０と３１０アドレスを多重化および逆多重化する。
【００４４】
図６は、本開示のいくつかの実施形態および態様と一致する例示的な方法６００のフローチャートを示している。方法６００は、例えばメモリシステムのデータを管理するように実施されることができる。いくつかの実施形態では、方法６００は、例えば図５に示されたメモリシステム５００のメモリシステムによって実施されることができる。
【００４５】
いくつかの実施形態では、例示的な方法６００は、第１の不揮発性メモリアレイに保存されたデータを読み出すステップを含む（６１０）。第１の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成された抵抗型不揮発性メモリアレイ（例えば、図３〜図５の抵抗型不揮発性メモリアレイ３００）であることができる。メモリシステムに含まれたメモリコントローラ（例えば、図５のメモリコントローラ５１０）は、第１の不揮発性メモリアレイのデータセル（例えば、図４のデータセル４１０）に保存されたデータを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットのデータを読み出す。各ストレージユニットは、任意の数のデータビットを含むことができる。
【００４６】
いくつかの実施形態では、メモリコントローラは、第１の不揮発メモリアレイに保存されたデータを読み出すリフレッシュコントローラ（例えば、図５のリフレッシュコントローラ５１５）を含む。例えば、リフレッシュコントローラは、受信したコマンドに応じて、メモリシステムのパワーアップに応じて、所定数のパワーアップに応じて、または所定数の受信したコマンドに応じて第１の不揮発性メモリアレイに保存されたデータを読み出す。また、リフレッシュコントローラは、高温イベント前に第１の抵抗型不揮発性メモリアレイに保存されたデータを読み出すことができる。
【００４７】
いくつかの実施形態では、例示的な方法６００は、第１の不揮発性メモリアレイからデータを読み出し（６１０）、インジケータビットを第２の不揮発性メモリアレイに書き込む（６２０）ステップを含む。第２の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成されたトランジスタベースの不揮発性メモリアレイ（例えば、図１、図２、および図５のトランジスタベースの不揮発性メモリアレイ１００）であることができる。メモリコントローラまたはリフレッシュコントローラは、バックアップデータセル（例えば、図２のバックアップデータセル２１０）のアドレスをメモリコントローラを含むセンスアンプと書き込みドライバ（例えば、図５のセンスアンプと書き込みドライバ５１４）に送信することによってデータを第２の不揮発メモリアレイに書き込む。センスアンプと書き込みドライバの書き込み回路は、第１の不揮発性メモリアレイのデータセルから読み出したデータを第２の不揮発性メモリアレイの対応するバックアップデータセルに書き込む。従って、第２の不揮発性メモリアレイに書き込まれたデータは、第１の不揮発性メモリアレイに保存されたデータ用のバックアップデータとなる。
【００４８】
メモリコントローラまたはリフレッシュコントローラは、インジケータビットを第２の不揮発性メモリアレイに含まれたインジケータセル（図２のインジケータセル２２０）に書き込むことができる。インジケータビットは、バックアップデータが第２の不揮発性メモリアレイのバックアップデータセルにうまく書き込まれたかどうかを示す。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第２の不揮発性メモリアレイに含まれたインジケータセルに書き込む。各インジケータビットは、バックアップデータの各ストレージユニットが第２の不揮発性メモリアレイにうまく書き込まれたかどうかを示す。
【００４９】
メモリコントローラまたはリフレッシュコントローラは、第２の不揮発性メモリアレイに書き込まれたインジケータビットが有効であるかどうかを判定し（６３０）、且つメモリシステムの動作のさまざまな段階でこのステップを行う。例えば、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、高温イベント後のメモリシステムのパワーアップ、高温イベントの後または所定数のパワーアップ後の受信コマンドに応じて、所定数の温度イベントの後の受信コマンドに応じて、または所定数の温度イベントの後のパワーアップに応じて判定する。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定する。従って、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、各々の３つの高温イベント後のメモリシステムの各パワーアップに応じて判定し、例えば、次いでインジケータビットが有効であるかどうかを、後続のパワーアップに応じて判定するのを停止する。従って、例えば、生産または製造のテスト設定中にメモリシステムが受ける高温イベントの数を知った時、メモリコントローラまたはリフレッシュコントローラは、既に知った数の高温イベント後にパワーアップに対する判定を制限することによって、メモリシステムが生産／製造設備から出荷されるまで、インジケータビットが有効であるかどうかを判定するのに構成されることができる。高温イベントは、温度環境ストレススクリーニングサイクリング、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、高加速寿命試験、メモリシステムの高温保存、または当業者に周知の任意の他の高温イベントの少なくとも１つを含む。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラが複数のインジケータビットをインジケータセルに書き込むとき、メモリコントローラまたはリフレッシュコントローラは、データの各ストレージユニットと関連したインジケータビットが有効であるかどうかを判定する。
【００５０】
インジケータビットが有効であると判定されたとき（ステップ６３０の結果が有効である）、例示的な方法６００は、抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップを含む（６４０）。抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップは、保存されたデータを第２の不揮発性メモリアレイに書き込まれたバックアップデータと置き換えるステップを含む（６２０）。メモリコントローラは、上述の例示的な書き込み動作の１つを用いて、一部のリフレッシュプロセスのように、第２の不揮発性メモリアレイに保存されたバックアップデータを読み込む。メモリコントローラは、上述の例示的な書き込み動作の１つを用いてバックアップデータを第１の不揮発メモリアレイに書き込む。メモリコントローラまたはリフレッシュコントローラは、メモリシステムの動作のさまざまな段階でデータをリフレッシュする。例えば、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であると判定した後（ステップ６３０の結果が有効である）、直ちにデータをリフレッシュすることができる。もう１つの実施形態では、メモリコントローラは、メモリシステムの後続のパワーアップ（例えば、次のパワーアップ）に応じて、またはメモリシステムの後続のアイドルモード（例えば、次のアイドルモード）に応じてデータをリフレッシュすることができる。
【００５１】
いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、第２の不揮発性メモリアレイに書き込まれた全てのバックアップデータ用に１つのインジケータビットを書き込み、メモリコントローラまたはリフレッシュコントローラは、全てのバックアップデータを第１の不揮発性メモリに書き込むことによって第１の不揮発メモリアレイに保存されたデータをリフレッシュする。他の実施形態では、メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第２の不揮発性メモリアレイに含まれたインジケータセルに書き込み、メモリコントローラまたはリフレッシュコントローラは、有効なインジケータビットを有するバックアップデータのストレージユニットだけを書き込むことによって第１の不揮発メモリアレイに保存されたデータをリフレッシュする。
【００５２】
インジケータビットが無効であると判定されたとき（ステップ６３０の結果が有効でない）、メモリコントローラまたはリフレッシュコントローラは、第１の不揮発性メモリアレイに保存されたデータをリフレッシュしない（６５０）。インジケータビットは、例えば、高温イベントにより、インジケータビットが論理状態を反転、または破損したとき、無効になる。無効なインジケータビットは、第２の不揮発性メモリアレイに保存されたバックアップデータの品質が劣化した可能性あり、第１の不揮発性メモリアレイに保存されたデータをリフレッシュするように用いられるべきではない。従って、メモリコントローラまたはリフレッシュコントローラは、第２の不揮発性メモリアレイに書き込まれた全てのバックアップデータ用に１つのインジケータビットを書き込み、このインジケータビットが無効になったと判定したとき（ステップ６３０の結果が有効でない）、メモリコントローラまたはリフレッシュコントローラは、第２の不揮発性メモリアレイに保存された任意のバックアップデータを第１の不揮発性メモリアレイのデータセルに書き込まない。メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第２の不揮発性メモリアレイに含まれたインジケータセルに書き込み、メモリコントローラまたはリフレッシュコントローラは、無効のインジケータビットを有するバックアップデータのストレージユニットを書き込まない。
【００５３】
図７は、本開示のいくつかの実施形態および態様と一致する例示的な方法７００のフローチャートを示している。方法７００は、例えばメモリシステムのデータを管理するように実施されることができる。いくつかの実施形態では、方法７００は、例えば図５に示されたメモリシステム５００のメモリシステムによって実施されることができる。また、いくつかの実施形態では、一部の方法６００と方法７００は、個別に、一緒に、またはそれらの組み合わせで実行されることができる。
【００５４】
いくつかの実施形態では、第１の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定するステップを含む（７１０）。メモリシステムに含まれたメモリコントローラ（例えば、図５のメモリコントローラ５１０）は、第１の不揮発性メモリアレイ（図３〜図５の抵抗型不揮発性メモリアレイ３００）の先読みセル（例えば、図４の先読みセル４２０）に保存された先読みビットを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットのデータを読み出す。各ストレージユニットは、任意の数のデータビットを含むことができる。第１の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成された抵抗型不揮発性メモリアレイ（例えば、図３〜図５の抵抗型不揮発性メモリアレイ３００）であることができる。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットの先読みビットを読み出す。各ストレージユニットは、任意の数の先読みビットを含むことができる。メモリコントローラは、第１のメモリアレイに保存された誤り訂正符号（ＥＣＣ）を更に読み出し、保存されたＥＣＣビットを用いて、先読みビットのエラーを検出する。メモリコントローラは、どの先読みビットが高温またはＥＭＩのために、論理状態を反転（例えば、論理「０」から論理「１」、またその逆から反転）させたかを判定することによってエラーを検出する。保存されたＥＣＣビットは、ハミング符号、ボーズチョドーリオッケンジェム（Ｂｏｓｅ-Ｃｈａｕｄｈｕｒｉ-Ｈｏｃｑｕｅｎｇｈｅｍ；ＢＣＨ）符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号（ＬＤＰＣ）、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。いくつかの実施形態では、メモリコントローラは、各ストレージユニットの不良データビットの数を判定する。
【００５５】
メモリコントローラは、メモリシステムの動作のさまざまな段階で不良先読みビットの数を判定する。例えば、メモリコントローラは、読み出しサイクル期間に、高温イベント後のメモリシステムのパワーアップ、高温イベント後のメモリシステムのアイドルモード期間に応じて、または高温イベントの後の受信コマンドに応じて、不良先読みビットの数を判定することができる。アイドルモードの場合では、メモリコントローラは、単一のアイドルモード期間または所定数のアイドルモード期間に不良先読みビットの数を判定することができる。従って、メモリコントローラは、システムの性能への影響が最小である時、エラー検出を実行する。パワーアップの場合では、メモリコントローラは、単一のパワーアップまたは所定数のパワーアップに応じて、不良先読みビットの数を判定することができる。パワーアップの所定数は、さまざまな基準を用いて決定されることができる。例えば、パワーアップの数は、生産または製造、または生産と製造の組み合わせのテスト期間中にメモリシステムが受ける、高温イベント後のパワーサイクルの予測数（ｅｘｐｅｃｔｅｄ  ｎｕｍｂｅｒ）に基づいて決定されることができる。従って、生産／製造期間中にメモリシステムに予めローディングされたデータ内の任意のシステマティックな欠陥は、生産設備から出荷される前に、自動的に修正される。受信コマンドの場合では、メモリシステムは、メモリシステムと通信可能に結合された処理システムから、システムオペレータまたは試験（ｔｅｓｔ）技術者／エンジニアなどのユーザーから、および／または開発或いは生産試験システムなどの試験システムからコマンドを受信することができる。コマンドはエラー検出および修正を行うコマンド、読み込みコマンド、システムリセットコマンド、パワーオンリセットコマンド（ＰＯＲ）、またはウエイクアップコマンドであることができる。
【００５６】
いくつかの実施形態では、メモリコントローラは、第１の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定する先読みコントローラ（例えば、図５の先読みコントローラ５１６）を含む。例えば、先読みコントローラは、第１のメモリアレイから世先読みビットを読み出し、どの先読みビットが不良であるかを判定する。
【００５７】
いくつかの実施形態では、例示的な方法７００は、不良先読みビットの数を不良先読みビットの閾値数と比較するステップを含む（７２０）。この閾値数は、例えば、メモリシステム、安全要求、顧客要求、メモリシステムリソースの可用性、第１のメモリアレイのサイズなどを含む、いくつかの要素に基づいて決定されることができる。不良先読みビットの例示的な閾値数は、第１の不揮発性メモリアレイの先読みセルに保存された先読みビットの５０％である。
【００５８】
メモリコントローラまたは先読みコントローラは、不良先読みビットの数が不良先読みビットの閾値数と等しいか、または閾値数を超えるかどうかを判定する（７３０）。不良先読みビットの数が不良先読みビットの閾値数と等しい、または閾値数を超えたと判定したとき（ステップ６３０の結果が閾値数と等しい、または閾値数を超えたと判定）、例示的な方法７００は、抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップを含む。従って、例えば、３２個の先読みビットが抵抗型メモリアレイの先読みセルに保存され、且つ閾値数が保存された先読みビットの５０％であるとき、メモリコントローラまたは先読みコントローラは、メモリコントローラまたは先読みコントローラが不良先読みビットの数が１６ビットと等しいまたは１６ビットより大きいと判定したとき、リフレッシュを初期化する。
【００５９】
メモリコントローラまたは先読みコントローラは、例示的な方法６００のステップ６４０に関連した上述のデータリフレッシュの態様に基づいてデータをリフレッシュすることができる。メモリコントローラまたは先読みコントローラは、メモリシステム動作のさまざまなステージでデータをリフレッシュすることができる。例えば、メモリコントローラまたは先読みコントローラは、不良先読みビットの数が閾値数と等しい、または閾値数を超えたと判定した後、直ちにデータをリフレッシュすることができる（７３０）。もう１つの実施形態では、メモリコントローラまたは先読みコントローラは、メモリシステムの後続のパワーアップ（例えば、次のパワーアップ）に応じて、またはメモリシステムの後続のアイドルモード（例えば、次のアイドルモード）に応じてデータをリフレッシュすることができる。
【００６０】
不良先読みビットの数が不良先読みビットの閾値数より少ないと判定されたとき（ステップ７３０の結果が閾値数より少ないと判定）、メモリコントローラまたは先読みコントローラは、データのリフレッシュを行わず、且つ第２の不揮発性メモリアレイに保存されたデータを第１の不揮発性メモリアレイに書き込まない（７５０）。
【００６１】
前述の記載では、種々の例示的実施形態および態様は、添付図面を参照して説明した。この発明のさまざまな修正及び変更を、この発明の範囲と精神とから外れることなく実施できることは、当業者には明白であろう。また、この発明は、ここに明らかにされた具体的な実施態様に限定されるものではないと理解されるべきである。
【符号の説明】
【００６２】
１００  トランジスタベースの不揮発性メモリアレイ
１１０  トランジスタベースの不揮発性メモリセル
２１０  バックアップデータセル
２２０  インジケータセル
３００  抵抗型不揮発性メモリアレイ
３１０  抵抗型不揮発性メモリセル
３１２  選択素子
３１４  抵抗記憶素子
４１０  データセル
４２０  先読みセル
５００  メモリシステム
５１０  メモリコントローラ
５１１  入力／出力インターフェース
５１２  行デコーダ
５１３  列デコーダ
５１４  センスアンプと書き込みドライバ
５１５  リフレッシュコントローラ
５１６  先読みコントローラ
５２０  アナログ回路
５３０  論理回路
６００、７００  方法
ＢＬ０〜ＢＬｍ  ビット線
ＷＬ０〜ＷＬｎ  ワード線
【図１】
2016224937.tif 000003
【図２】
2016224937.tif 000004
【図３】
2016224937.tif 000005
【図４】
2016224937.tif 000006
【図５】
2016224937.tif 000007
【図６】
2016224937.tif 000008
【図７】
2016224937.tif 000009