特許第6209646号(P6209646)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華邦電子股▲ふん▼有限公司の特許一覧

特許6209646不揮発性メモリのデータ管理方法およびシステム
<>
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000002
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000003
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000004
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000005
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000006
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000007
  • 特許6209646-不揮発性メモリのデータ管理方法およびシステム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6209646
(24)【登録日】2017年9月15日
(45)【発行日】2017年10月4日
(54)【発明の名称】不揮発性メモリのデータ管理方法およびシステム
(51)【国際特許分類】
   G06F 12/16 20060101AFI20170925BHJP
   G06F 11/14 20060101ALI20170925BHJP
   G11C 29/00 20060101ALI20170925BHJP
   G11C 13/00 20060101ALI20170925BHJP
   G06F 11/10 20060101ALI20170925BHJP
【FI】
   G06F12/16 310A
   G06F11/14 646
   G11C29/00 601B
   G11C13/00 340
   G06F11/10 668
【請求項の数】15
【全頁数】21
(21)【出願番号】特願2016-102269(P2016-102269)
(22)【出願日】2016年5月23日
(65)【公開番号】特開2016-224937(P2016-224937A)
(43)【公開日】2016年12月28日
【審査請求日】2016年5月23日
(31)【優先権主張番号】14/721,030
(32)【優先日】2015年5月26日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100094053
【弁理士】
【氏名又は名称】佐藤 隆久
(72)【発明者】
【氏名】連 存徳
(72)【発明者】
【氏名】謝 明輝
(72)【発明者】
【氏名】林 紀舜
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開2007−141170(JP,A)
【文献】 特開2013−065261(JP,A)
【文献】 米国特許出願公開第2010/0153628(US,A1)
【文献】 米国特許出願公開第2013/0268717(US,A1)
【文献】 特開2000−243093(JP,A)
【文献】 特開平7−84894(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/16
G06F 11/14
G06F 11/16
(57)【特許請求の範囲】
【請求項1】
第1の不揮発性メモリアレイ、
第2の不揮発性メモリアレイ、および
メモリコントローラを含むシステムであって、
前記メモリコントローラは、
インジケータビットを前記第2の不揮発性メモリアレイに書き込み、前記インジケータビットは、前記第2の不揮発性メモリアレイに保存されたデータが有効であるかどうかを示し、
前記インジケータビットが有効であるかどうかを、高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定し、
前記インジケータビットが有効であるとき、前記第2の不揮発性メモリアレイに保存された前記データを前記第1の不揮発性メモリアレイに書き込むように
構成されている
システム。
【請求項2】
前記第1の不揮発性メモリアレイは、抵抗型不揮発性メモリアレイを含み、前記抵抗型不揮発性メモリアレイは、相変化ランダムアクセスメモリ(RCRAM)、抵抗型ランダムアクセスメモリ(PRAM)、導電性ブリッジランダムアクセスメモリ(CBRAM)、または磁気ランダムアクセスメモリ(MRAM)の少なくとも1つによって形成されており、前記第2の不揮発性メモリアレイは、トランジスタベースの不揮発性メモリアレイを含み、前記トランジスタベースの不揮発性メモリアレイは、プログラマブル読み取り専用メモリ(PROM)、電気的プログラマブル読み取り専用メモリ(PROM)、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または電気的プログラム可能フューズ(eFUSE)メモリの少なくとも1つを含む、
請求項1に記載のシステム。
【請求項3】
前記第1の不揮発性メモリアレイは、先読みビットを保存するように更に構成され、
前記メモリコントローラは、
高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、あるいは、所定数のパワーアップに応じて先読みビットの中の不良ビットの数を判定し、
不良先読みビットの前記数を不良先読みビットの閾値数と比較し、
不良先読みビットの前記数が不良先読みビットの前記閾値数と等しい、または閾値数を超えたとき、前記第2の不揮発性メモリアレイに保存された前記データを前記第1の不揮発性メモリアレイに書き込むように
構成されている請求項1に記載のシステム。
【請求項4】
前記メモリコントローラは、前記第1の不揮発性メモリアレイに保存されたデータを読み出し、前記データを前記第2の不揮発性メモリアレイに書き込むように構成されている請求項1に記載のシステム。
【請求項5】
システムのデータを管理する方法であって、
第2の不揮発性メモリアレイのデータが有効であるかどうかを示すインジケータビットを第2の不揮発性メモリアレイに書き込む、ステップ、
前記インジケータビットが有効であるかどうかを、高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定するステップ、および
前記インジケータビットが有効であると判定されたとき、前記第2の不揮発性メモリアレイの前記データを第1の不揮発性メモリアレイに書き込むステップを含む方法。
【請求項6】
抵抗型不揮発性メモリアレイとして第1の不揮発性メモリアレイを提供するステップを含み、前記抵抗型不揮発性メモリアレイは、相変化ランダムアクセスメモリ(RCRAM)、抵抗型ランダムアクセスメモリ(PRAM)、導電性ブリッジランダムアクセスメモリ(CBRAM)、または磁気ランダムアクセスメモリ(MRAM)の少なくとも1つによって形成される請求項5に記載の方法。
【請求項7】
トランジスタベースの不揮発性メモリアレイとして前記第2の不揮発性メモリアレイを提供するステップを含み、前記トランジスタベースの不揮発性メモリアレイは、プログラマブル読み取り専用メモリ(PROM)、電気的プログラマブル読み取り専用メモリ(PROM)、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、または電気的プログラム可能フューズ(eFUSE)メモリの少なくとも1つを含む請求項5に記載の方法。
【請求項8】
前記第2の不揮発性メモリアレイの前記データを前記第1の不揮発性メモリアレイに書き込むステップは、前記第2の不揮発性メモリアレイのデータを前記システムのパワーアップに応じて、または前記システムのアイドルモード期間に応じて前記第1の不揮発メモリアレイに書き込むステップを含む請求項5に記載の方法。
【請求項9】
高温イベント後、前記インジケータビットが有効であるかどうかを判定するステップは、温度環境ストレススクリーニングサイクリング、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、または高加速寿命試験の少なくとも1つの後に、前記インジケータビットが有効であるかを判定するステップを含む請求項5に記載の方法。
【請求項10】
高温イベント後の前記システムのパワーアップ、高温イベント後の受信コマンド、または、所定数のパワーアップに応じて前記第1の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定するステップ、
不良先読みビットの前記数を不良先読みビットの閾値数と比較するステップ、および
不良先読みビットの前記数が不良先読みビットの前記閾値数と等しい、または閾値数を超えたとき、前記第2の不揮発性メモリアレイの前記データを前記第1の不揮発性メモリアレイに書き込むステップを更に含む請求項5に記載の方法。
【請求項11】
前記先読みビットの中の不良ビットの数を判定するステップは、誤り訂正符号を用いて、不良ビットの前記数を判定するステップを含み、前記誤り訂正符号は、ハミング符号、BCH符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、または畳み込み符号の中の1つを含む請求項10に記載の方法。
【請求項12】
前記インジケータビットが無効であると判定されたとき、前記第2の不揮発性メモリアレイの前記データを前記第1の不揮発性メモリアレイに書き込まない請求項5に記載の方法。
【請求項13】
前記インジケータビットを書き込むステップは、
複数のインジケータビットを前記第2の不揮発性メモリアレイに書き込むステップを含み、前記複数のインジケータビットの各々は、前記第2の不揮発性メモリアレイの前記データの一部と関連し、且つ前記第2の不揮発性メモリアレイの前記データの各一部は、ページ、セクタ、ワード、またはブロックの少なくとも1つを含み、
前記インジケータビットが有効であるかどうかを判定するステップは、前記複数のインジケータビットが有効であるかどうかを判定するステップを含む請求項5に記載の方法。
【請求項14】
前記第2の不揮発性メモリアレイの前記データを前記第1の不揮発性メモリアレイに書き込むステップは、
前記第2の不揮発性メモリアレイに保存されたデータの第1の部分と第2の部分と関連した前記インジケータビットが有効であるか無効であるかをそれぞれ判定するステップ、
前記第2の不揮発性メモリアレイの前記データの前記第1の部分を前記第1の不揮発性メモリアレイに書き込むステップ、および
前記第2の不揮発性メモリアレイの前記データの前記第2の部分を前記第1の不揮発性メモリアレイに書き込まないステップを含む請求項13に記載の方法。
【請求項15】
前記第1の不揮発性メモリアレイのデータを読み出し、前記データを前記第2の不揮発性メモリアレイに書き込むステップを更に含む請求項5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリに関し、特に、不揮発性メモリのデータ管理方法およびシステムに関するものである。
【背景技術】
【0002】
不揮発性半導体メモリは、電源オフ状態でも一般的に保存されたデータを保持する。トランジスタベースの不揮発性メモリは、1つ以上のトランジスタを記憶素子として用いて、データを保存する不揮発性メモリ、例えば、フラッシュメモリまたは電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)である。トランジスタベースの不揮発性メモリは、高速な読み出しアクセス時間と耐衝撃性を提供し、トランジスタベースの不揮発性メモリを各種のアプリケーションに用いることを可能にしている。不揮発性メモリのいくつかの用途は、コンピューティングデバイス、携帯電話、ポータブルオーディオプレーヤー、および他の消費者用電子製品におけるデータストレージを含む。
【0003】
新しい不揮発性メモリ技術は、トランジスタベースの不揮発性メモリと関連した各種の制限に対処するために開発されている。例えば、ほとんどの市販のフラッシュメモリは、書き換え耐性 (Write Endurance)が比較的低いという問題を有する。一般的なフラッシュメモリは、1×105までの書き込みサイクル(プログラム/消去サイクルともいう)に耐え得ることができる。また、いくつかの新しい不揮発性メモリ、例えば、磁気ランダムアクセスメモリ(MRAM)は、1×1012までの書き込みサイクルに耐え得ることができる。もう1つの例では、フラッシュメモリアレイは、例えば、読み出しディスターブ(disturb)(近隣セルを時間とともに変えさせる順次読み出しサイクル)と書き換え耐性の低下などのスケーリング問題を有する。
【0004】
しかしながら、新しい不揮発性メモリは、短所を有する。例えば、高温での動作は、抵抗型(resistive)不揮発性メモリなどのいくつかの新しい不揮発性メモリにおいてビット反転などのデータエラーを生じる可能性がある。このようなデータエラーは、システムクラッシュ、データ破損、および/または、セキュリティ上の脆弱性を招く可能性がある。また、新しい不揮発性メモリの製造と保存の温度が高温であると、システム的なデータドリフト、データ損失、大幅なデータ破損、およびデータ保持時間の減少などのデータ保持の問題を招く可能性がある。
【発明の概要】
【0005】
1つの例示的な実施形態に基づいて、システムは、第1の不揮発性メモリアレイ、第2の不揮発性メモリアレイ、およびメモリコントローラを含む。メモリコントローラは、インジケータビットを第2の不揮発性メモリアレイに書き込み、インジケータビットは、第2の不揮発性メモリアレイに保存されたデータが有効であるかどうかを示し、インジケータビットが有効であるかどうかを、高温イベント後のシステムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定し、インジケータビットが有効であるとき、第2の不揮発性メモリアレイに保存されたデータを第1の不揮発性メモリアレイに書き込むように構成される。
【0006】
もう1つの例示的な実施形態に基づいて、システムのデータを管理する方法は、インジケータビットを第2の不揮発性メモリアレイに書き込み、前記インジケータビットは、前記第2の不揮発性メモリアレイのデータが有効であるかどうかを示すステップ、インジケータビットが有効であるかどうかを、高温イベント後のシステムのパワーアップ、高温イベント後の受信コマンド、所定数のパワーアップ、または各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定するステップ、およびインジケータビットが有効であるとき、第2の不揮発性メモリアレイのデータを第1の不揮発性メモリアレイに書き込むステップを含む。
【0007】
本開示の特定の実施形態を詳細に説明する前に、実施形態はその用途又は使用において、添付の図及び説明に例示される部品の構成及び配列の詳細に限定されないことに留意すべきである。
【0008】
以上、当業者が本開示の態様をより理解できるように幾つかの実施の形態特徴を概説した。当業者は、本開示を、いくつかの目的を実行するために他の構造、方法、およびシステムを設計するための基礎として、容易に使用できることが分かる。また、本開示の精神及び範囲を逸脱しない限りにおいては、当業者であればそのような等価な構成を達成することが可能である。


本明細書に組み込まれて、その一部を形成する添付図面は、本発明の幾つかの実施態様を示しており、説明とともに本発明の原理を説明するに役立つ。
【図面の簡単な説明】
【0009】
図1】例示的なトランジスタベースの不揮発性メモリアレイの回路図である。
図2】本開示と一致する実施形態を実施する例示的なトランジスタベースの不揮発性メモリアレイのブロック図である。
図3】本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリアレイの回路図である。
図4】本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリのブロック図である。
図5】本開示と一致する実施形態を実施する例示的なメモリシステムのブロック図である。
図6】メモリシステムのデータを管理する方法の例示的なステップを示すフローチャートである。
図7】メモリシステムのデータを管理するもう1つの方法の例示的なステップを示すフローチャートである。
【発明を実施するための形態】
【0010】
本開示の実施形態は、新しい不揮発メモリを含むメモリシステムのデータ管理のための改善された方法およびシステムを提供する。多くの新しい不揮発メモリは、トランジスタベースの不揮発性メモリに対し、書き込み速度と書き換え耐性、電力消費、データ保持、データ保護、およびバイトレベルのランダムアクセスにおいて多くの利点を有する。しかしながら、抵抗型不揮発性メモリなどのいくつかの新しい不揮発性メモリは、高温および/または電磁妨害(EMI)により、データ保持とデータ破損の問題に影響されやすい可能性がある。抵抗型不揮発性メモリは、例えば、異なる抵抗状態を用いてデータを保存する任意の不揮発性メモリを含むことができる。抵抗型不揮発性メモリの例は、相変化ランダムアクセスメモリ(RCRAM)、磁気ランダムアクセスメモリ(MRAM)、導電性ブリッジランダムアクセスメモリ(CBRAM)などの プログラマブルメタライゼーションセル(PMC)メモリ、および抵抗型ランダムアクセスメモリ(PRAM)を含む。
【0011】
PCRAMは、カルコゲナイド系材料の非結晶相と結晶相との間の抵抗の違いを用いてデータを保存する。非結晶相は、高抵抗相に対応し、結晶相は、低抵抗相に対応する。MRAMは、2つの強磁性層間のトンネルバリア層を用いて、異なる抵抗状態を切り替えてデータを保存する。低抵抗状態は、2つの強磁性層の磁化方向が平行のとき、実現される。高抵抗状態は、2つの強磁性層の磁化方向が平行でないとき、実現される。CBRAMセルは、2つの固体金属電極間に電解質の薄膜を含む。CBRAMセルは、電解質膜の金属電極の間にナノワイヤーを形成することによって、異なる抵抗状態でデータを保存する。ナノワイヤーの欠如は、高抵抗状態に対応し、ナノワイヤーの存在は、低抵抗状態に対応する。PRAMは、遷移金属酸化物における抵抗スイッチングに基づいて2つ以上の抵抗状態としてデータを保存する。CBRAMセルと同様に、PRAMセルは、金属‐絶縁体‐金属構造を含む。異なる論理状態は、絶縁体層で1トレイルの導通不良(a trail of conducting defects)(フィラメント(filament)と呼ばれる)を生じることで示される。フィラメントの欠如は、高抵抗状態に対応し、フィラメントの存在は、低抵抗状態に対応する。各種の抵抗メモリの高抵抗状態と低抵抗状態は、第1と第2の論理値、例えば、「0」と「1」を示すデータを保存するように用いられる。
【0012】
不揮発性メモリは、各種の温度範囲内で動作されるように仕様が規定されることができる。例えば、不揮発性メモリは、0〜85℃(産業用仕様)、−40〜125℃(工業/自動車用仕様)、または−55〜125℃(軍用仕様)の環境温度内で動作されるように仕様規定されることができる。保存温度の定格は、一般的に150℃までの範囲である。不揮発性メモリは、基板にICチップを搭載するときにも高温になる。例えば、一般のウェーブはんだ付けプロセスは、250℃にまで温度が上昇する。抵抗型不揮発性メモリは、これらの範囲の上部分に近接したときに性能が劣化することになる可能性がある。例えば、ビット反転などのデータエラーは、高環境動作温度で抵抗型不揮発性メモリセルに生じる可能性がある。また、ウェーブはんだ付けプロセスによって引き起こされた高温に曝される前に、抵抗型不揮発性メモリに書き込まれたデータは、システム的なデータドリフトおよびデータ保持時間の減少などの重大なデータエラーになる可能性がある。
【0013】
本開示の実施形態は、抵抗型不揮発性メモリに対する高温の影響を緩和することによって、上述のメモリを含むシステムおよび/または集積回路(IC)の性能改善を可能にする改善方法を提供する。本開示の実施形態は、高温イベント前、および/または高温イベント後の抵抗型不揮発性メモリとトランジスタベースの不揮発性メモリとの間のデータを転送するように構成されたメモリシステムを提供する。抵抗型不揮発性メモリに保存されたデータは、高温イベント前にトランジスタベースの不揮発性メモリに書き込まれ、高温イベント後に抵抗型不揮発性メモリに書き戻される。従って、トランジスタベースの不揮発性メモリは、バックアップストレージとして用いられ、高温イベントにより抵抗型不揮発性メモリで損失した、または破損した任意のデータは、トランジスタベースの不揮発性メモリから修復される。
【0014】
ここで、本開示に基づいて実現された例示的な実施形態が詳細に参照され、その実施例は添付図面に例証されており、図中、同様の酸照番号は全体を通して同様の要素を指している。
【0015】
図1は、例示的なトランジスタベースの不揮発性メモリアレイ100の回路図を示している。トランジスタベースの不揮発性メモリアレイ100は、複数のトランジスタベースの不揮発性メモリセル110を含む。各トランジスタベースの不揮発性メモリセル110は、ワード線(例えば、WL0〜WLn)とビット線(例えば、BL0〜BLm)に関連する。トランジスタベースの不揮発性メモリアレイ100は、1つ以上のトランジスタを記憶素子として用いて、データを保存する不揮発性メモリによって形成されることができる。トランジスタベースの不揮発性メモリは、プログラマブル読み取り専用メモリ(PROM)、電気的プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、または電気的プログラム可能フューズ(eFUSE)メモリを含む。または、トランジスタベースの不揮発性メモリアレイ100は、2次元メモリアレイまたは3次元メモリアレイを含むことができる。
【0016】
図1に示されるように、トランジスタベースの不揮発性メモリアレイ100がEPROM、EEPROM、またはフラッシュメモリを用いて実施されたとき、各トランジスタベースの不揮発性メモリセル110は、フローティングゲート金属酸化物半導体電界効果トランジスタ(MOSFET)を含む。フローティングゲートMOSFET(FGMOS)は、電荷を電気的に絶縁されたフローティングゲートに保存することができる。この電気的絶縁は、フローティングゲートが電源のない延伸期間に電荷を保持するようにしている。完全に充電されたフローティングゲートは、論理「0」状態を示すことができ、充電されていないフローティングゲートは、論理「1」状態を示すことができ、またその逆も示すことができる。
【0017】
図2は、本開示と一致する実施形態を実施するトランジスタベースの不揮発性メモリアレイ100のブロック図を示している。図2に示されるように、トランジスタベースの不揮発性メモリアレイ100は、複数のセルタイプを含む。例えば、バックアップデータセル210は、バックアップデータビットを保存するように構成される。各バックアップデータセル210は、1つのバックアップデータビットを保存する。バックアップデータビットは、各種のストレージユニット、例えば、ページ、ブロック、セクタ、ワード、または当技術分野で知られている任意の他のストレージ構成に書き込まれ、アクセスされることができる。各ストレージユニットは、任意の数のバックアップデータビットを含むことができる。
【0018】
いくつかの実施形態では、トランジスタベースの不揮発性メモリアレイ100もインジケータセル220を含む。インジケータセル220は、バックアップデータがバックアップデータセル210にうまく書き込まれたかどうかを示すインジケータビットを保存するように構成される。各インジケータセル220は、1つのインジケータビットを保存する。インジケータビットの各種の構成は、バックアップデータがバックアップデータセル210にうまく書き込まれたかどうかを示すように用いられることができる。例えば、1つのインジケータビットは、全てのバックアップデータがバックアップデータセル210にうまく書き込まれたかどうかを示すように用いられることができる。もう1つの実施例では、1つのインジケータビットは、バックアップデータの各ストレージユニットがバックアップデータセル210にうまく書き込まれたかどうかを示すように用いられることができる。実施例に基づいて、3ページのバックアップデータがバックアップデータセル210に書き込まれた場合、インジケータセル220は、インジケータセル220当たり3つのインジケータビットを1つのインジケータビットとして保存する。
【0019】
図3は、本開示と一致する実施形態を実施する例示的な抵抗型不揮発性メモリアレイ300の回路図である。抵抗型不揮発性メモリアレイ300は、上述の任意の抵抗型不揮発性メモリ、例えばPCRAM、PRAM、MRAM、またはCBRAMなどを用いて形成されることができる。また、抵抗型不揮発性メモリアレイ300は、2次元メモリアレイまたは3次元メモリアレイを含むことができる。
【0020】
図3に示されるように、抵抗型不揮発性メモリアレイ300は、複数のワード線(WL0〜WLn)、ビット線(BL0〜BLm)、および抵抗型不揮発性メモリセル310を含む。各抵抗型不揮発性メモリセル310は、ワード線とビット線に関連する。各抵抗型不揮発性メモリセル310は、選択素子312と抵抗記憶素子314を含む。抵抗型不揮発性メモリセル310は、上述の任意の抵抗型不揮発性メモリ、例えばPCRAMセル、PRAMセル、MRAMセル、または導電性ブリッジRAMセルなどによって実施されることができる。選択素子312は、選択スイッチとして動作し、抵抗型不揮発性メモリセル310へのアクセスを制御する。選択素子312は、例えば、ダイオード、金属酸化物半導体電界効果トランジスタ(MOSFET)、またはバイポーラ接合トランジスタ(BJT)によって実施されることができる。いくつかの実施形態では、選択素子312は、任意であることができ、例えば、抵抗型不揮発性メモリセル310は、RPAMセルによって実施される。
【0021】
図4は、本開示と一致する実施形態を実施する抵抗型不揮発性メモリアレイ300のブロック図を示している。図4に示されるように、抵抗型不揮発性メモリアレイ300は、複数のセルタイプを含む。例えば、データセル410は、データビットを保存するように構成される。各データセル410は、1つのデータビットを保存する。データビットは、各種のストレージユニット、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージ構成に書き込まれ、アクセスされることができる。各ストレージユニットは、任意の数のデータビットを含むことができる。
【0022】
いくつかの実施形態では、抵抗型不揮発性メモリアレイ300は、先読み(look−ahead・ルック アヘッド)セル420も含む。先読みセル420は、データセル410に保存されたデータビットの実質的なデータ破損またはシステム的なデータドリフトを検出する先読みビットを保存するように構成される。各先読みセル420は、1つの先読みビットを保存するように構成される。先読みセル420に保存された先読みビットは、データ破損またはシステム的なデータドリフトのインジケータとなる。データ破損またはシステム的なデータドリフトの原因は、例えば、抵抗型不揮発性メモリアレイ300のEMIまたは高温イベント(例えば、温度環境ストレス・スクリーニング・サイクル(environmental stress screening thermal cycle)、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、高加速寿命試験、または高温保存)によるものである。抵抗型不揮発性メモリアレイ300に含まれた先読みセル420の数は、抵抗型不揮発性メモリアレイ300に含まれたメモリセルの総数、メモリシステムの信頼性の重要性、システム的なドリフト検出に割り当てできるメモリシステムスループットの量など、多くの要因によって決まる。先読みセル420に保存されたビットの総数の例は、16ビットまたは32ビットを含む。先読みセル420に保存された先読みビットの総数は、データセル410に保存されたデータビットの数と比べ、小さいことができる。従って、少量の先読みビットを多数のデータビットの品質の代用として用いることは、メモリシステムの効率を改善し、エラー検出に必要なメモリシステムリソースの量を減少する。
【0023】
いくつかの実施形態では、データセル410および/または先読みセル420は、セル当たり複数ビットを保存するように構成される。例えば、マルチレベルセルは、抵抗型不揮発性メモリアレイ300に用いられることができる。マルチレベルセルは、3つ以上の異なる抵抗状態を用いて2つ以上のデータビットを保存する。例えば、4つの異なる抵抗状態を有するマルチレベルセルは、2つのビットを保存することができ、各ビットは、2つの抵抗状態を用いて論理「0」と「1」を示す。セル当たりに保存されたビット数の増加は、より大きなビット誤り率となる可能性があるため、誤り訂正符号を用いてこれらのエラーを検出し、帝政する必要がある。
【0024】
図5は、本開示と一致する実施形態を実施する例示的なメモリシステム500のブロック図を示している。図5に示されるように、メモリシステム500は、トランジスタベースの不揮発性メモリセル110、抵抗型不揮発性メモリアレイ300、メモリコントローラ510、アナログ回路520、および論理回路530を含む。本開示から、これらの構成要素の数と配置は、例示的なものであるに過ぎず、説明する目的のために提供されるものであることが認識されるであろう。他の構成要素の数と配置は、本開示の教示および実施形態から逸脱せずに用いられることができる。一例では、トランジスタベースの不揮発性メモリセル110、抵抗型不揮発性メモリアレイ300、メモリコントローラ510、アナログ回路520、および論理回路530は、同一の半導体ダイ上に、同一のICパッケージに含まれた個別の半導体ダイ上に、個別のICパッケージに含まれた個別の半導体ダイ上に、または当業者に周知の任意の構成上に形成されることができる。他の実施例では、メモリコントローラ510は、複数の抵抗型不揮発性メモリアレイ300および/または複数のトランジスタベースの不揮発性メモリアレイ100を制御することができる。更なる実施例として、個別のメモリコントローラ510は、トランジスタベースの不揮発性メモリアレイ100と抵抗型不揮発性メモリアレイ300を制御することができる。
【0025】
いくつかの実施形態では、メモリコントローラ510は、入力/出力インターフェース(I/O)511、行デコーダ(ワード線デコーダとも呼ばれる)512、列デコーダ513、センスアンプと書き込みドライバ514、リフレッシュコントローラ515、および先読みコントローラ516を含む。メモリコントローラ510に含まれた構成要素511〜516は、ハードウェアとソフトウェアの組み合わせによって実施されることができる。例えば、構成要素511〜516は、マイクロプロセッサ、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイI(PGA)またはフィールドプログラマブルゲートアレイ(FPGA)、電気回路、複合プログラマブル論理デバイス(CPLD)またはカスタム論理回路、またはその任意の組み合わせによって実施されることができる。また、構成要素511〜516のいくつかの、または全ての機能は、同じハードウェア/ソフトウェアの組み合わせによって実行されることができる。例えば、リフレッシュコントローラ515と先読みコントローラ516の機能は、同じマイクロプロセッサ、ASIC、PGA、FPGA、CPLD、またはカスタム論理回路によって実行されることができ、全てのコントローラは同じ書き込みアルゴリズムをシェアする、またはシェアしないことができる。
【0026】
I/O511は、外部源から入力信号を受けて入力信号を変換するため、I/O511は、メモリコントローラ510に含まれた構成要素によって理解され受けられることができる。例えば、I/O511は、メモリセルアドレス、データ、コマンド(例えば、読み出しコマンドと書き込みコマンド)などを受けることができる。
【0027】
読み出し動作では、I/O511は、行座標と列座標を行デコーダ512と列デコーダ513にそれぞれ送信する。行デコーダ512は、行座標をデコードし、センス電圧をトランジスタベースの不揮発性メモリアレイ100または抵抗型不揮発性メモリアレイ300の対応するワード線に提供する。トランジスタベースの不揮発性メモリアレイ100から読み出すとき、センス電圧は、ワード線に接続された各トランジスタベースの不揮発性メモリセル110のFGMOS制御ゲートを活性化する。抵抗型不揮発性メモリアレイ300から読み出すとき、センス電圧は、ワード線に接続された各抵抗型不揮発性メモリセル310の選択素子312を活性化する。
【0028】
列デコーダ513は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ514に接続する。センスアンプと書き込みドライバ514は、読み出し回路と書き込み回路を含む。トランジスタベースの不揮発性メモリアレイ100から読み出したとき、読み出し回路は、適切なワード線/ビット線の交差にあるトランジスタベースの不揮発性メモリセル110のFGMOSドレイン−ソース経路に流れる電流を測定する。抵抗型不揮発性メモリアレイ300から読み出したとき、読み出し回路は、適切なワード線/ビット線の交差にある抵抗型不揮発性メモリセル310の抵抗記憶素子314に流れる電流を測定する。
【0029】
センスアンプと書き込みドライバ514は、測定された電流を増幅し、出力をI/O511に提供する。I/O511は、出力を外部送り先に送信するか、または外部ソースによって要求されるまで出力を保留する。
【0030】
いくつかの実施形態では、同一の活性化されたワード線と関連した 複数のトランジスタベースの不揮発性メモリセル110または抵抗型不揮発性メモリセル310は、単一の読み出し動作で読み出されることができる。行レコーダ512がセンス電圧を対応するワード線に提供したとき、ワード線上の各トランジスタベースの不揮発性メモリセル110または抵抗型不揮発性メモリセル310は、活性化される。次いで、読み出し回路は、これらのセルと関連したビット線上の各活性化されたトランジスタベースの不揮発性メモリセル110または抵抗型不揮発性メモリセル310によって電流を測定する。
【0031】
書き込み動作の1つの実施形態では、I/O511は、外部ソースからのデータ、およびトランジスタベースの不揮発性メモリセル110アドレスまたは抵抗型不揮発性メモリセル310アドレスが保存されるデータを受信する。I/O511は、アドレスを行と列座標に変換し、座標を行デコーダ512と列デコーダ513にそれぞれ送信する。行デコーダ512は、行座標をデコードし、書き込み電圧を対応するワード線に提供する。列デコーダ513は、列座標をデコードし、対応するビット線をセンスアンプと書き込みドライバ514に接続する。I/O511は、指示をセンスアンプと書き込みドライバ514に送信し、活性化されたワード線とビット線の交差部に位置したトランジスタベースの不揮発性メモリセル110または抵抗型不揮発性メモリセル310に「0」または「1」のいずれかを書き込む。トランジスタベースの不揮発性メモリセル110の中の1つに書き込むとき、センスアンプと書き込みドライバ514の書き込み回路は、「1」または「0」が保存されるかどうかに応じて、FGMOSフローティングゲート上の電荷を排出(drain)、または蓄積する。抵抗型不揮発性メモリセル310の中の1つに書き込むとき、センスアンプと書き込みドライバ514の書き込み回路は、「1」または「0」が保存されるかどうかに応じて、高抵抗状態または低抵抗状態に抵抗素子312の抵抗を変える。書き込み動作のもう1つの実施形態では、I/O511は、外部ソースからのデータ、およびトランジスタベースの不揮発性メモリセル110アドレスまたは抵抗型不揮発性メモリセル310アドレスが保存されるデータを受信する。従って、センスアンプと書き込みドライバ514は、受信したデータをトランジスタベースの不揮発性メモリアレイ100と抵抗型不揮発性メモリアレイ300に同時に書き込むことができる。
【0032】
書き込み動作のまたもう1つの実施形態では、センスアンプと書き込みドライバ514は、トランジスタベースの不揮発性メモリアレイ100に保存されたデータを抵抗型不揮発性メモリアレイ300に書き込み、および/またその逆も書き込むことができる。実施形態では、メモリコントローラ510は、リフレッシュコントローラ515を含む。リフレッシュコントローラ515は、データを読み出し、そのデータをトランジスタベースの不揮発性メモリアレイ100に書き込むことによって、抵抗型不揮発性メモリアレイ300に保存されたデータをバックアップする。抵抗型不揮発性メモリアレイ300に保存されたデータをパックアップするために、リフレッシュコントローラ515は、列座標と行座標を行デコーダ512と列デコーダ513にそれぞれ送信する。行デコーダ512と列デコーダ513は、行座標をデコードし、センスアンプと書き込みドライバ514の読み出し回路は、抵抗型不揮発性メモリアレイ300の対応するデータセル410に保存されたデータを読み出す。リフレッシュコントローラ515は、バックアップデータセル210アドレスをセンスアンプと書き込みドライバ514に送信する。センスアンプと書き込みドライバ514の書き込み回路は、抵抗型不揮発性メモリアレイ300から読み出されたデータをトランジスタベースの不揮発性メモリアレイ100の対応するバックアップデータセル210に書き込む。
【0033】
リフレッシュコントローラ515は、インジケータセル220アドレスとインジケータビットをセンスアンプと書き込みドライバ514に更に送信する。センスアンプと書き込みドライバ514の書き込み回路は、インジケータビットをトランジスタベースの不揮発性メモリアレイ100の対応するインジケータセル220に書き込む。インジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示している。論理値「0」を有するインジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたことを示すことができ、論理値「1」を有するインジケータビットは、バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれていないことを示すことができ、またその逆も示すことができる。インジケータビットの各種の構成は、バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示すように用いられることができる。例えば、1つのインジケータビットは、全てのバックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示すように用いられることができる。もう1つの実施例では、1つのインジケータビットは、各ストレージユニットに用いられ、バックアップデータのストレージユニットがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示すことができる。
【0034】
1つ以上のバックアップデータセル210が変えられることができないために、バックアップデータがトランジスタベースの不揮発性メモリアレイ100に書き込まれることができないとき、うまく書き込まれない書き込み動作が生じる可能性がある。変えられることができないバックアップデータセル210の例は、書き込み保護された、または摩耗したバックアップデータセル210を含む。メモリセルの摩耗は、繰り返された書き込みサイクルの動作により、トランジスタベースの不揮発性メモリセル110のFGMOSフローティングゲートを絶縁する酸化物層の破壊によって起こる。酸化物層の劣化に伴い、FGMOSが異なる電荷レベルを用いて論理状態を示すことができなくなるまで、フローティングゲートが長時間において電荷を保持する能力は減少する。うまく書き込まれない書き込み動作は、リフレッシュコントローラ515によって提供された1つ以上のバックアップデータセル210が無効なアドレスのために、バックアップデータがトランジスタベースの不揮発性メモリアレイ100に書き込まれることができないときも生じる可能性がある。
【0035】
いくつかの実施形態では、センスアンプと書き込みドライバ514は、リフレッシュコントローラ515にバックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかの 通知を提供する。バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれた場合、リフレッシュコントローラ515は、1つ以上のインジケータビットをセンスアンプと書き込みドライバ514に提供し、バックアップデータがうまく書き込まれたことを示し、且つこのため、抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュするのに用いられることができる。バックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれなかった場合、リフレッシュコントローラ515は、1つ以上のインジケータビットをセンスアンプと書き込みドライバ514に提供し、バックアップデータがうまく書き込まれなかったことを示し、且つこのため、抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュするのに用いられることができない。
【0036】
二者択一的に、または、リフレッシュコントローラ515は、トランジスタベースの不揮発性メモリアレイ100にうまく書き込まれなかったバックアップデータを再書き込みする。1つの実施例では、1つのインジケータビットが全てのバックアップデータがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示すのに用いられて、インジケータビットがバックアップデータは、トランジスタベースの不揮発性メモリアレイ100にうまく書き込まれていないと示した場合、リフレッシュコントローラ515は、抵抗型不揮発性メモリアレイ300に保存された全てのデータをトランジスタベースの不揮発性メモリアレイ100に再書き込みする。もう1つの実施例では、1つのインジケータビットがバックアップデータの各ストレージユニットがトランジスタベースの不揮発性メモリアレイ100にうまく書き込まれたかどうかを示すのに用いられた場合、リフレッシュコントローラ515は、データのストレージユニットがうまく書き込まれていないことを示しているインジケータビットを有するストレージユニットだけにデータを再書き込みする。
【0037】
リフレッシュコントローラ515は、トランジスタベースの不揮発性メモリアレイ100に保存されたバックアップデータを読み出すことによって抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュし、そのデータを抵抗型不揮発性メモリアレイ300に書き込む。抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュするために、リフレッシュコントローラ515は、行座標と列座標を行デコーダ512と列デコーダ513にそれぞれ送信する。行デコーダ512と列デコーダ513は、座標をデコードし、センスアンプと書き込みドライバ514の読み出し回路は、トランジスタベースの不揮発性メモリアレイ100の対応するバックアップデータセル210に保存されたデータを読み出す。リフレッシュコントローラ515は、データセル410アドレスをセンスアンプと書き込みドライバ514に送信する。センスアンプと書き込みドライバ514の書き込み回路は、トランジスタベースの不揮発性メモリアレイ100から読み出されたデータを抵抗型不揮発性メモリセル310の対応するデータセル210に書き込む。
【0038】
いくつかの実施形態では、リフレッシュコントローラ515は、抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュする前に、トランジスタベースの不揮発性メモリアレイ100のインジケータセル220に保存されたインジケータビットを読み出す。リフレッシュコントローラ515は、インジケータビットを読み出し、インジケータビットがまだ有効であるかどうかを判定する。インジケータビットが論理状態を反転(例えば、論理「0」から論理「1」、またその逆から反転)したとき、または破損したとき、インジケータビットは無効になる。反転した論理状態、または破損は、例えば、インジケータセル220を高温またはEMIに曝したために起こるものである。リフレッシュコントローラ515は、エラー検出技術を用いて、インジケータビットが論理状態を反転するか、または破損するかどうかを判定する。エラー検出技術は、巡回冗長検査(CRC)、反復コード、パリティビット、チェックサム、または誤り訂正符号などである。
【0039】
インジケータセル220に保存されたインジケータビットの有効性は、トランジスタベースの不揮発性メモリアレイ100に保存されたバックアップデータの品質の代用として用いる。有効なインジケータビットは、トランジスタベースの不揮発性メモリアレイ100に保存されたバックアップデータの品質が劣化しない可能性があることを示す。逆に、無効なインジケータビットは、トランジスタベースの不揮発性メモリアレイ100に保存されたバックアップデータの品質が劣化した可能性あり、抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュするように用いられるべきではない。従って、リフレッシュコントローラ515がインジケータビットを読み出し、1つ以上のインジケータビットが無効になった(即ち、反転した状態または破損した)と判定した場合、リフレッシュコントローラ515は、トランジスタベースの不揮発性メモリアレイ100に保存されたバックアップデータを使用せずに、抵抗型不揮発性メモリアレイ300に保存されたデータをリフレッシュする。インジケータセル220に保存されたインジケータビットの総数は、バックアップデータセル210に保存されたバックアップデータビットの数に比べ、小さいことができる。従って、少数のインジケータビットを多数のバックアップデータビットの品質の代用として用いることは、メモリシステムの効率を向上させ、エラー検出に必要なメモリシステムリソースの量を減少する。
【0040】
いくつかの実施形態では、メモリコントローラ510は、先読みコントローラ516を含む。先読みコントローラ516は、データセル410に保存されたデータの大幅なデータ破損および/またはシステム的なデータドリフトを検出する。例えば、先読みコントローラ516は、先読みセル420に保存された先読みビットを読み出し、先読みセル420に保存された不良先読みビットの数を判定する。先読みコントローラ516は、誤り訂正符号を用いて、どの先読みビットが不良であるかどうかを判定する。誤り訂正符号は、例えば、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号などである。不良先読みビットの数が不良先読みビットの閾値数と等しい、または閾値数を超える場合、先読みコントローラ516は、データセル410に保存されたデータのリフレッシュを初期化する。不良先読みビットの閾値数の実施例は、先読みセル420に保存された先読みビットの50%であることができる。従って、本実施例では、先読みセル420に保存された先読みビットが32個存在するとき、先読みコントローラ516は、先読みコントローラ516が不良先読みビットの数が16ビットと等しいまたは16ビットより大きいと判定したとき、リフレッシュを初期化する。
【0041】
先読みコントローラ516は、リフレッシュコマンドをリフレッシュコントローラ515に送信することによってデータフレッシュを初期化する。リフレッシュコントローラ515は、上述の各種のリフレッシュ動作に応じてデータセル410に保存されたデータのリフレッシュを実行する。
【0042】
アナログ回路520は、メモリコントローラ510の構成要素、例えば、行デコーダ512、列デコーダ513、およびセンスアンプと書き込みドライバ514などと接続する。アナログ回路520は、各種のタイプのアナログ回路素子、例えば、デバイダ、コンパレータ、カレントミラー、フィルター、アンプ、電流/電圧源または電流/電圧基準、電流制限器、電圧レギュレータ、チャージポンプ、および当業者に周知の他のアナログ回路などを含むことができる。アナログ回路520は、各種の機能、例えば、メモリセル110と310をプログラミングおよび消去する高電圧パルスを生成する、メモリセル読み出し電流を生成する、メモリシステム500の内蔵型セルフテストを実行する、基準電流を生成する、基準電流をメモリセルの読み出し電流と比較してメモリセル110と310の論理状態を判定する、などの機能を実行する。
【0043】
論理回路530は、メモリコントローラ510の構成要素、例えば、I/O511、列デコーダ513、およびセンスアンプと書き込みドライバ514などと接続する。論理回路530は、各種のタイプのデジタル回路素子、例えば、加算器、減算器、マルチプレクサ、非マルチプレクサ、エンコーダ、デコーダ、および当業者に周知の他のデジタル回路などを含むことができる。ロジック回路530は、各種の機能、例えば、メモリ読み出し書き込み論理(write logic)を制御する、メモリシステム500の内蔵型セルフテストを実行する、試験(test)技術者/エンジニアまたはメモリシステム500と接続している他のシステムから受けたコマンドおよび指示を解読し、メモリセル110と310アドレスを多重化および逆多重化する。
【0044】
図6は、本開示のいくつかの実施形態および態様と一致する例示的な方法600のフローチャートを示している。方法600は、例えばメモリシステムのデータを管理するように実施されることができる。いくつかの実施形態では、方法600は、例えば図5に示されたメモリシステム500のメモリシステムによって実施されることができる。
【0045】
いくつかの実施形態では、例示的な方法600は、第1の不揮発性メモリアレイに保存されたデータを読み出すステップを含む(610)。第1の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成された抵抗型不揮発性メモリアレイ(例えば、図3図5の抵抗型不揮発性メモリアレイ300)であることができる。メモリシステムに含まれたメモリコントローラ(例えば、図5のメモリコントローラ510)は、第1の不揮発性メモリアレイのデータセル(例えば、図4のデータセル410)に保存されたデータを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットのデータを読み出す。各ストレージユニットは、任意の数のデータビットを含むことができる。
【0046】
いくつかの実施形態では、メモリコントローラは、第1の不揮発メモリアレイに保存されたデータを読み出すリフレッシュコントローラ(例えば、図5のリフレッシュコントローラ515)を含む。例えば、リフレッシュコントローラは、受信したコマンドに応じて、メモリシステムのパワーアップに応じて、所定数のパワーアップに応じて、または所定数の受信したコマンドに応じて第1の不揮発性メモリアレイに保存されたデータを読み出す。また、リフレッシュコントローラは、高温イベント前に第1の抵抗型不揮発性メモリアレイに保存されたデータを読み出すことができる。
【0047】
いくつかの実施形態では、例示的な方法600は、第1の不揮発性メモリアレイからデータを読み出し(610)、インジケータビットを第2の不揮発性メモリアレイに書き込む(620)ステップを含む。第2の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成されたトランジスタベースの不揮発性メモリアレイ(例えば、図1図2、および図5のトランジスタベースの不揮発性メモリアレイ100)であることができる。メモリコントローラまたはリフレッシュコントローラは、バックアップデータセル(例えば、図2のバックアップデータセル210)のアドレスをメモリコントローラを含むセンスアンプと書き込みドライバ(例えば、図5のセンスアンプと書き込みドライバ514)に送信することによってデータを第2の不揮発メモリアレイに書き込む。センスアンプと書き込みドライバの書き込み回路は、第1の不揮発性メモリアレイのデータセルから読み出したデータを第2の不揮発性メモリアレイの対応するバックアップデータセルに書き込む。従って、第2の不揮発性メモリアレイに書き込まれたデータは、第1の不揮発性メモリアレイに保存されたデータ用のバックアップデータとなる。
【0048】
メモリコントローラまたはリフレッシュコントローラは、インジケータビットを第2の不揮発性メモリアレイに含まれたインジケータセル(図2のインジケータセル220)に書き込むことができる。インジケータビットは、バックアップデータが第2の不揮発性メモリアレイのバックアップデータセルにうまく書き込まれたかどうかを示す。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第2の不揮発性メモリアレイに含まれたインジケータセルに書き込む。各インジケータビットは、バックアップデータの各ストレージユニットが第2の不揮発性メモリアレイにうまく書き込まれたかどうかを示す。
【0049】
メモリコントローラまたはリフレッシュコントローラは、第2の不揮発性メモリアレイに書き込まれたインジケータビットが有効であるかどうかを判定し(630)、且つメモリシステムの動作のさまざまな段階でこのステップを行う。例えば、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、高温イベント後のメモリシステムのパワーアップ、高温イベントの後または所定数のパワーアップ後の受信コマンドに応じて、所定数の温度イベントの後の受信コマンドに応じて、または所定数の温度イベントの後のパワーアップに応じて判定する。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、各所定数の高温イベント後のパワーアップまたは受信コマンドに応じて判定する。従って、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であるかどうかを、各々の3つの高温イベント後のメモリシステムの各パワーアップに応じて判定し、例えば、次いでインジケータビットが有効であるかどうかを、後続のパワーアップに応じて判定するのを停止する。従って、例えば、生産または製造のテスト設定中にメモリシステムが受ける高温イベントの数を知った時、メモリコントローラまたはリフレッシュコントローラは、既に知った数の高温イベント後にパワーアップに対する判定を制限することによって、メモリシステムが生産/製造設備から出荷されるまで、インジケータビットが有効であるかどうかを判定するのに構成されることができる。高温イベントは、温度環境ストレススクリーニングサイクリング、ウェーブはんだ付けプロセス、リフローはんだ付けプロセス、高加速寿命試験、メモリシステムの高温保存、または当業者に周知の任意の他の高温イベントの少なくとも1つを含む。いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラが複数のインジケータビットをインジケータセルに書き込むとき、メモリコントローラまたはリフレッシュコントローラは、データの各ストレージユニットと関連したインジケータビットが有効であるかどうかを判定する。
【0050】
インジケータビットが有効であると判定されたとき(ステップ630の結果が有効である)、例示的な方法600は、抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップを含む(640)。抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップは、保存されたデータを第2の不揮発性メモリアレイに書き込まれたバックアップデータと置き換えるステップを含む(620)。メモリコントローラは、上述の例示的な書き込み動作の1つを用いて、一部のリフレッシュプロセスのように、第2の不揮発性メモリアレイに保存されたバックアップデータを読み込む。メモリコントローラは、上述の例示的な書き込み動作の1つを用いてバックアップデータを第1の不揮発メモリアレイに書き込む。メモリコントローラまたはリフレッシュコントローラは、メモリシステムの動作のさまざまな段階でデータをリフレッシュする。例えば、メモリコントローラまたはリフレッシュコントローラは、インジケータビットが有効であると判定した後(ステップ630の結果が有効である)、直ちにデータをリフレッシュすることができる。もう1つの実施形態では、メモリコントローラは、メモリシステムの後続のパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続のアイドルモード(例えば、次のアイドルモード)に応じてデータをリフレッシュすることができる。
【0051】
いくつかの実施形態では、メモリコントローラまたはリフレッシュコントローラは、第2の不揮発性メモリアレイに書き込まれた全てのバックアップデータ用に1つのインジケータビットを書き込み、メモリコントローラまたはリフレッシュコントローラは、全てのバックアップデータを第1の不揮発性メモリに書き込むことによって第1の不揮発メモリアレイに保存されたデータをリフレッシュする。他の実施形態では、メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第2の不揮発性メモリアレイに含まれたインジケータセルに書き込み、メモリコントローラまたはリフレッシュコントローラは、有効なインジケータビットを有するバックアップデータのストレージユニットだけを書き込むことによって第1の不揮発メモリアレイに保存されたデータをリフレッシュする。
【0052】
インジケータビットが無効であると判定されたとき(ステップ630の結果が有効でない)、メモリコントローラまたはリフレッシュコントローラは、第1の不揮発性メモリアレイに保存されたデータをリフレッシュしない(650)。インジケータビットは、例えば、高温イベントにより、インジケータビットが論理状態を反転、または破損したとき、無効になる。無効なインジケータビットは、第2の不揮発性メモリアレイに保存されたバックアップデータの品質が劣化した可能性あり、第1の不揮発性メモリアレイに保存されたデータをリフレッシュするように用いられるべきではない。従って、メモリコントローラまたはリフレッシュコントローラは、第2の不揮発性メモリアレイに書き込まれた全てのバックアップデータ用に1つのインジケータビットを書き込み、このインジケータビットが無効になったと判定したとき(ステップ630の結果が有効でない)、メモリコントローラまたはリフレッシュコントローラは、第2の不揮発性メモリアレイに保存された任意のバックアップデータを第1の不揮発性メモリアレイのデータセルに書き込まない。メモリコントローラまたはリフレッシュコントローラは、複数のインジケータビットを第2の不揮発性メモリアレイに含まれたインジケータセルに書き込み、メモリコントローラまたはリフレッシュコントローラは、無効のインジケータビットを有するバックアップデータのストレージユニットを書き込まない。
【0053】
図7は、本開示のいくつかの実施形態および態様と一致する例示的な方法700のフローチャートを示している。方法700は、例えばメモリシステムのデータを管理するように実施されることができる。いくつかの実施形態では、方法700は、例えば図5に示されたメモリシステム500のメモリシステムによって実施されることができる。また、いくつかの実施形態では、一部の方法600と方法700は、個別に、一緒に、またはそれらの組み合わせで実行されることができる。
【0054】
いくつかの実施形態では、第1の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定するステップを含む(710)。メモリシステムに含まれたメモリコントローラ(例えば、図5のメモリコントローラ510)は、第1の不揮発性メモリアレイ(図3図5の抵抗型不揮発性メモリアレイ300)の先読みセル(例えば、図4の先読みセル420)に保存された先読みビットを読み出す。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットのデータを読み出す。各ストレージユニットは、任意の数のデータビットを含むことができる。第1の不揮発性メモリアレイは、上述の任意の抵抗型不揮発性メモリによって形成された抵抗型不揮発性メモリアレイ(例えば、図3図5の抵抗型不揮発性メモリアレイ300)であることができる。メモリコントローラは、例えば、ページ、ブロック、セクタ、ワード、または当業者に周知の任意の他のストレージユニットなど、各種のストレージユニットの先読みビットを読み出す。各ストレージユニットは、任意の数の先読みビットを含むことができる。メモリコントローラは、第1のメモリアレイに保存された誤り訂正符号(ECC)を更に読み出し、保存されたECCビットを用いて、先読みビットのエラーを検出する。メモリコントローラは、どの先読みビットが高温またはEMIのために、論理状態を反転(例えば、論理「0」から論理「1」、またその逆から反転)させたかを判定することによってエラーを検出する。保存されたECCビットは、ハミング符号、ボーズチョドーリオッケンジェム(Bose-Chaudhuri-Hocquenghem;BCH)符号、パリティビット、リードソロモン符号、ターボ符号、低密度パリティ検査符号(LDPC)、畳み込み符号、または当業者に周知の任意の他の誤り訂正符号を含むことができる。いくつかの実施形態では、メモリコントローラは、各ストレージユニットの不良データビットの数を判定する。
【0055】
メモリコントローラは、メモリシステムの動作のさまざまな段階で不良先読みビットの数を判定する。例えば、メモリコントローラは、読み出しサイクル期間に、高温イベント後のメモリシステムのパワーアップ、高温イベント後のメモリシステムのアイドルモード期間に応じて、または高温イベントの後の受信コマンドに応じて、不良先読みビットの数を判定することができる。アイドルモードの場合では、メモリコントローラは、単一のアイドルモード期間または所定数のアイドルモード期間に不良先読みビットの数を判定することができる。従って、メモリコントローラは、システムの性能への影響が最小である時、エラー検出を実行する。パワーアップの場合では、メモリコントローラは、単一のパワーアップまたは所定数のパワーアップに応じて、不良先読みビットの数を判定することができる。パワーアップの所定数は、さまざまな基準を用いて決定されることができる。例えば、パワーアップの数は、生産または製造、または生産と製造の組み合わせのテスト期間中にメモリシステムが受ける、高温イベント後のパワーサイクルの予測数(expected number)に基づいて決定されることができる。従って、生産/製造期間中にメモリシステムに予めローディングされたデータ内の任意のシステマティックな欠陥は、生産設備から出荷される前に、自動的に修正される。受信コマンドの場合では、メモリシステムは、メモリシステムと通信可能に結合された処理システムから、システムオペレータまたは試験(test)技術者/エンジニアなどのユーザーから、および/または開発或いは生産試験システムなどの試験システムからコマンドを受信することができる。コマンドはエラー検出および修正を行うコマンド、読み込みコマンド、システムリセットコマンド、パワーオンリセットコマンド(POR)、またはウエイクアップコマンドであることができる。
【0056】
いくつかの実施形態では、メモリコントローラは、第1の不揮発性メモリアレイに保存された先読みビットの中の不良ビットの数を判定する先読みコントローラ(例えば、図5の先読みコントローラ516)を含む。例えば、先読みコントローラは、第1のメモリアレイから世先読みビットを読み出し、どの先読みビットが不良であるかを判定する。
【0057】
いくつかの実施形態では、例示的な方法700は、不良先読みビットの数を不良先読みビットの閾値数と比較するステップを含む(720)。この閾値数は、例えば、メモリシステム、安全要求、顧客要求、メモリシステムリソースの可用性、第1のメモリアレイのサイズなどを含む、いくつかの要素に基づいて決定されることができる。不良先読みビットの例示的な閾値数は、第1の不揮発性メモリアレイの先読みセルに保存された先読みビットの50%である。
【0058】
メモリコントローラまたは先読みコントローラは、不良先読みビットの数が不良先読みビットの閾値数と等しいか、または閾値数を超えるかどうかを判定する(730)。不良先読みビットの数が不良先読みビットの閾値数と等しい、または閾値数を超えたと判定したとき(ステップ630の結果が閾値数と等しい、または閾値数を超えたと判定)、例示的な方法700は、抵抗型不揮発性メモリアレイに保存されたデータをリフレッシュするステップを含む。従って、例えば、32個の先読みビットが抵抗型メモリアレイの先読みセルに保存され、且つ閾値数が保存された先読みビットの50%であるとき、メモリコントローラまたは先読みコントローラは、メモリコントローラまたは先読みコントローラが不良先読みビットの数が16ビットと等しいまたは16ビットより大きいと判定したとき、リフレッシュを初期化する。
【0059】
メモリコントローラまたは先読みコントローラは、例示的な方法600のステップ640に関連した上述のデータリフレッシュの態様に基づいてデータをリフレッシュすることができる。メモリコントローラまたは先読みコントローラは、メモリシステム動作のさまざまなステージでデータをリフレッシュすることができる。例えば、メモリコントローラまたは先読みコントローラは、不良先読みビットの数が閾値数と等しい、または閾値数を超えたと判定した後、直ちにデータをリフレッシュすることができる(730)。もう1つの実施形態では、メモリコントローラまたは先読みコントローラは、メモリシステムの後続のパワーアップ(例えば、次のパワーアップ)に応じて、またはメモリシステムの後続のアイドルモード(例えば、次のアイドルモード)に応じてデータをリフレッシュすることができる。
【0060】
不良先読みビットの数が不良先読みビットの閾値数より少ないと判定されたとき(ステップ730の結果が閾値数より少ないと判定)、メモリコントローラまたは先読みコントローラは、データのリフレッシュを行わず、且つ第2の不揮発性メモリアレイに保存されたデータを第1の不揮発性メモリアレイに書き込まない(750)。
【0061】
前述の記載では、種々の例示的実施形態および態様は、添付図面を参照して説明した。この発明のさまざまな修正及び変更を、この発明の範囲と精神とから外れることなく実施できることは、当業者には明白であろう。また、この発明は、ここに明らかにされた具体的な実施態様に限定されるものではないと理解されるべきである。
【符号の説明】
【0062】
100 トランジスタベースの不揮発性メモリアレイ
110 トランジスタベースの不揮発性メモリセル
210 バックアップデータセル
220 インジケータセル
300 抵抗型不揮発性メモリアレイ
310 抵抗型不揮発性メモリセル
312 選択素子
314 抵抗記憶素子
410 データセル
420 先読みセル
500 メモリシステム
510 メモリコントローラ
511 入力/出力インターフェース
512 行デコーダ
513 列デコーダ
514 センスアンプと書き込みドライバ
515 リフレッシュコントローラ
516 先読みコントローラ
520 アナログ回路
530 論理回路
600、700 方法
BL0〜BLm ビット線
WL0〜WLn ワード線
図1
図2
図3
図4
図5
図6
図7