(57)【特許請求の範囲】
【請求項１】
抵抗メモリのデータ書込み方法において、
書込みデータを受け取って反転書込みデータを生成するステップと、
複数個の選択されたメモリセルにおける現在データを読み出すステップと、
前記現在データを前記書込みデータ及び前記反転書込みデータと比較するステップと、
比較結果に従って、最終データを生成するよう前記書込みデータ及び前記反転書込みデータのうち一方を選択するステップと、
前記最終データを前記選択されたメモリセルに書き込むステップと、
前記書込みデータが前記最終データとして選択されるとき、データ反転フラグを第１論理値にセットするステップと、及び
前記反転書込みデータが前記最終データとして選択されるとき、前記データ反転フラグを第２論理値にセットするステップと、を備え、
前記現在データを前記書込みデータ及び前記反転書込みデータと比較するステップは、
優先度選択フラグに対応するモードに従って、前記現在データを前記書込みデータ及び前記反転書込みデータと比較するステップ
を含む、データ書込み方法。
【請求項２】
請求項１記載のデータ書込み方法において、前記書込みデータが第１特別データ若しくは第２特別データであるとき、又は前記抵抗メモリが消去コマンドを受け取るとき、特別データフラグを第３論理値にセットすることによって、前記最終データを生成するステップを備える、データ書込み方法。
【請求項３】
請求項１記載のデータ書込み方法において、前記書込みデータが第１特別データであるとき、前記データ反転フラグを前記第１論理値にセットし、かつ特別データフラグを第３論理値にセットすることによって、前記最終データを生成するステップと、並びに
前記書込みデータが第２特別データであるとき、前記データ反転フラグを前記第２論理値にセットし、かつ前記特別データフラグを第３論理値にセットすることによって、前記最終データを生成するステップと、
を備える、データ書込み方法。
【請求項４】
請求項１記載のデータ書込み方法において、前記優先度選択フラグに対応するモードに従って、前記現在データを前記書込みデータ及び前記反転書込みデータと比較するステップは、
前記優先度選択フラグが第４論理値であるとき、相応的に、前記現在データを前記書込みデータ及び前記反転書込みデータと比較するための変更レスモードを選択するステップと、並びに
前記優先度選択フラグが第５論理値であるとき、相応的に、前記現在データを前記書込みデータ及び前記反転書込みデータと比較するためのリセットレスモードを選択するステップと、
を含む、データ書込み方法。
【請求項５】
請求項１記載のデータ書込み方法において、前記最終データを前記選択されたメモリセルに書き込むステップは、
前記選択されたメモリセル内で前記選択されたメモリセルの少なくとも１つの第１部分に対してリセット手順を実施するステップ
を含み、前記リセット手順は、
リセット電圧修正フラグに従ってリセット電圧を設定するステップ、及び
前記選択されたメモリセル内で前記選択されたメモリセルの少なくとも１つの第１部分に対し、前記リセット電圧に従ってリセット操作を実施するステップ、
を有するものとし、
前記リセット電圧修正フラグに従って前記リセット電圧を設定するステップは、
前記リセット電圧修正フラグが第６論理値であるとき、前記リセット電圧を所定リセット電圧に等しくするステップ、及び
前記リセット電圧修正フラグが第７論理値であるとき、前記リセット電圧を調整したリセット電圧に等しくするステップ、
を有するものとし、
前記所定リセット電圧の電圧絶対値は、前記調整したリセット電圧の電圧絶対値よりも大きいものである、データ書込み方法。
【請求項６】
請求項４記載のデータ書込み方法において、前記最終データを前記選択されたメモリセルに書き込むステップは、
前記選択されたメモリセル内で前記選択されたメモリセルの少なくとも１つの第２部分に対してセット手順を実施するステップ
を含むものである、データ書込み方法。
【請求項７】
請求項６記載のデータ書込み方法において、前記セット手順は、
前記選択されたメモリセルの前記少なくとも１つの第２部分に対し、セット電圧に従ってセット操作を実施するステップと、及び
前記セット操作が失敗であるとき、反転セット電圧に従って前記選択されたメモリセルの失敗した前記少なくとも１つの第２部分に対しリカバー操作を実施するステップと
を有し、
前記セット電圧の電圧絶対値は、前記反転セット電圧の電圧絶対値よりも大きいものである、データ書込み方法。
【請求項８】
請求項７記載のデータ書込み方法において、前記セット手順は、さらに、
前記リカバー操作を実施する前記選択されたメモリセルの前記少なくとも１つの第２部分を検証して検証結果を得るステップと、及び
前記検証結果に従って、前記優先度選択フラグを更新するステップと
を有するものである、データ書込み方法。
【請求項９】
請求項８記載のデータ書込み方法において、前記検証結果が合格であるとき前記優先度選択フラグを前記第４論理値にセットし、また
前記検証結果が不合格であるとき、前記優先度選択フラグを前記第５論理値にセットする、データ書込み方法。
【請求項１０】
請求項２記載のデータ書込み方法において、前記特別データフラグが第３論理値であるとき、対応する読出しデータを前記第１特別データにするステップを備える、データ書込み方法。
【請求項１１】
請求項３記載のデータ書込み方法において、前記特別データフラグが第３論理値であり、かつ前記データ反転フラグが第１論理値であるとき、対応する読出しデータを前記第１特別データにするステップと、及び
前記特別データフラグが第３論理値であり、かつ前記データ反転フラグが第２論理値であるとき、前記対応する読出しデータを前記第２特別データにするステップと、
を備える、データ書込み方法。
【請求項１２】
抵抗メモリにおいて、
メモリセルアレイと、
前記メモリセルアレイに接続されるコントローラであって、
書込みデータを受け取って反転書込みデータを生成すること、
複数個の選択されたメモリセルにおける現在データを読み出すこと、
前記現在データを前記書込みデータ及び前記反転書込みデータと比較して、最終データを生成するよう前記書込みデータ及び前記反転書込みデータのうち一方を選択することを行うよう構成されている、該コントローラと、
前記コントローラ及び前記メモリセルアレイに接続されるデータ変更回路であって、前記書込みデータを前記最終データに変更し、また前記最終データを前記選択されたメモリセルに書き込むよう構成されている、該データ変更回路と、
を備え、
前記コントローラは、
前記書込みデータが前記最終データとして選択されるとき、データ反転フラグを第１論理値にセットすること、
前記反転書込みデータが前記最終データとして選択されるとき、前記データ反転フラグを第２論理値にセットすること、及び
優先度選択フラグに対応するモードに従って、前記現在データを前記書込みデータ及び前記反転書込みデータと比較することを行うよう構成されている、抵抗メモリ。
【請求項１３】
請求項１２記載の抵抗メモリにおいて、前記コントローラは、前記優先度選択フラグを第３論理値又は第４論理値にセットするよう構成されている、優先度選択フラグ設定回路を有する、抵抗メモリ。
【請求項１４】
請求項１３記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記最終データに従って、前記選択されたメモリセル内で前記選択されたメモリセルの少なくとも１つの第１部分に対してリセット手順を実施するよう構成されており、
前記リセット手順を実施するとき、前記コントローラは、さらに、
リセット電圧修正フラグに従ってリセット電圧を設定すること、及び
前記選択されたメモリセルの少なくとも１つの第１部分に対し、前記リセット電圧に従ってリセット操作を実施すること
を行うよう構成されているものであり、
前記抵抗メモリは、さらに、
前記コントローラに接続されたセット／リセット電圧発生器であって、リセットパルス電圧を供給するよう構成された、該セット／リセット電圧発生器を備え、
前記セット／リセット電圧発生器は、前記リセット電圧修正フラグが第５論理値であるとき、前記リセット電圧を所定リセット電圧に等しくし、また
前記セット／リセット電圧発生器は、前記リセット電圧修正フラグが第６論理値であるとき、前記リセット電圧を調整リセット電圧に等しくするものであり、
前記所定リセット電圧の電圧絶対値は、前記調整したリセット電圧の電圧絶対値よりも大きいものである、抵抗メモリ。
【請求項１５】
請求項１３記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記最終データに従って、前記選択されたメモリセル内で前記選択されたメモリセルの少なくとも１つの第２部分に対してセット手順を実施するよう構成されている、抵抗メモリ。
【請求項１６】
請求項１５記載の抵抗メモリにおいて、前記セット手順を実施するとき、前記コントローラは、さらに、
前記選択されたメモリセルの前記少なくとも１つの第２部分に対し、セット電圧に従ってセット操作を実施すること、及び
前記セット操作が失敗であるとき、反転セット電圧に従って前記選択されたメモリセルの失敗した前記少なくとも１つの第２部分に対しリカバー操作を実施すること
を行うよう構成されており、
前記セット電圧の電圧絶対値は、前記反転セット電圧の電圧絶対値よりも大きいものである、抵抗メモリ。
【請求項１７】
請求項１６記載の抵抗メモリにおいて、前記コントローラは、
前記リカバー操作を実施する前記選択されたメモリセルの前記少なくとも１つの第２部分を検証して検証結果を得ること、及び
前記検証結果に従って、前記優先度選択フラグを更新することを行うよう構成されている、抵抗メモリ。
【請求項１８】
請求項１７記載の抵抗メモリにおいて、前記検証結果が合格であるとき、前記コントローラは前記優先度選択フラグを前記第３論理値にセットし、また
前記検証結果が不合格であるとき、前記コントローラは前記優先度選択フラグを前記第４論理値にセットする、抵抗メモリ。
【請求項１９】
請求項１７記載の抵抗メモリにおいて、さらに、
前記メモリセルアレイ及び前記データ変更回路に接続され、また前記書込みデータ及び前記現在データをラッチするよう構成されている、データラッチと、及び
前記データ反転フラグに従って、前記現在データに対する反転動作を実施することによって読出しデータを生成する読出しデータ生成器と
を備える、抵抗メモリ。
【請求項２０】
請求項１２記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記書込みデータが特別データである、又は前記抵抗メモリが消去コマンドを受け取るとき特別データフラグを第７論理値にセットすることによって前記最終データを生成するよう構成されている、抵抗メモリ。
【請求項２１】
請求項２０記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記特別データフラグが第７論理値であると決定するとき、読出しデータを第１特別データにするよう構成されている、抵抗メモリ。
【請求項２２】
請求項１２記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記書込みデータが第１特別データであるとき、特別データフラグを第７論理値にセットし、またデータ反転フラグを第１論理値にセットすることによって、前記最終データを生成し、
前記書込みデータが第２特別データであるとき、特別データフラグを前記第７論理値にセットし、またデータ反転フラグを第２論理値にセットすることによって、前記最終データを生成するよう構成されている、抵抗メモリ。
【請求項２３】
請求項２２記載の抵抗メモリにおいて、前記コントローラは、さらに、
前記特別データフラグが前記第７論理値であり、かつ前記データ反転フラグが第１論理値であることを決定するとき、読出しデータを前記第１特別データにし、また
前記特別データフラグが前記第７論理値であり、かつ前記データ反転フラグが第２論理値であることを決定するとき、前記読出しデータを前記第２特別データにするよう構成されている、抵抗メモリ。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抵抗メモリ及びそのデータ書込み方法に関し、またとくに、抵抗メモリ及び書き込まれるビット数を減らすことができるデータ書込み方法に関する。
【背景技術】
【０００２】
半導体技術の進歩とともに、異なるタイプの様々なメモリが提案されてきた。近年、不揮発性メモリ媒体として使用できる抵抗メモリも提案されている。
【０００３】
抵抗メモリのサイクル動作の耐久性を改善するため、従来技術は２Ｔ２Ｒ（２トランジスタ、２抵抗）を有する抵抗メモリセルを提案している。このような抵抗メモリセルはサイクル動作の耐久性を向上させることができるが、比較的大きな回路面積を必要とし、この結果としてコストが増大する。したがって、コスト及びサイクル動作の双方を考慮した抵抗メモリの設計を完成する方法を見出すことが、従来対処すべき重要課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、書込みサイクル動作耐久性及び書込み性能を効果的に改善するとともに、電力消費を低減することができる抵抗メモリ並びにデータ書込み方法を提供する。
【課題を解決するための手段】
【０００５】
本発明抵抗メモリのデータ書込み方法は、書込みデータを受け取って反転書込みデータを生成するステップと、複数個の選択されたメモリセルにおける現在データを読み出すステップと、現在データを前記書込みデータ及び前記反転書込みデータと比較するステップと、比較結果に従って、最終データを生成するよう前記書込みデータ及び前記反転書込みデータのうち一方を選択するステップと、並びに前記最終データを選択されたメモリセルに書き込むステップと、を備える。
【０００６】
本発明抵抗メモリは、メモリセルアレイ、コントローラ及びデータ変更回路を備える。コントローラは、メモリセルアレイに接続し、また書込みデータを受け取って反転書込みデータを生成するステップ、複数個の選択されたメモリセルにおける現在データを読み出すステップ、現在データを書込みデータ及び反転書込みデータと比較するステップ、比較結果により最終データを生成するよう書込みデータ及び反転書込みデータのうち一方を選択するステップ、並びに最終データを選択されたメモリセルに書き込むステップを行うよう、構成される。
【発明の効果】
【０００７】
上述したことに基づいて、本発明実施形態においては、書込みデータと現在データとの間における変更が決定され、この決定結果に従って、優先度選択フラグがセットされる。次に、優先度選択フラグに従って、比較的少ない数の変更ビット又は比較的少ない数のリセットビットを有するモードを選択することによって書込みデータの書込み操作が実施される。このようにして、書込み動作が実際に実施されるメモリセルの数を効果的に低減することができる。この結果として、電力消費を低減することの他に、メモリセルのサイクル動作耐久性も改善して、メモリセルのライフサイクルを延ばすことができる。
【０００８】
本開示の上述の特徴及び利点をよりよく理解できるよう、添付図面とともに、以下に幾つかの実施形態を詳細に説明する。
【０００９】
添付図面は、本開示を一層理解してもらうために設けたものであり、また本明細書の一部を構成する。図面は、本開示の実施形態を示し、また本明細書とともに本開示の原理を説明するのに供される。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。
【図１Ｂ】セット手順の遂行詳細を示す概略図である。
【図２Ａ】本発明実施形態におけるデータ書込み方法の遂行を示すフローチャートである。
【図２Ｂ】本発明実施形態におけるデータ書込み方法の他の遂行を示すフローチャートである。
【図２Ｃ】本発明実施形態におけるデータ書込み方法の他の遂行を示すフローチャートである。
【図３】本発明実施形態におけるデータ書込み方法の他の遂行を示すフローチャートである。
【図４】図４Ａは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｂは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｃは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｄは、本発明の実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｅは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｆは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｇは、本発明の実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。図４Ｈは、本発明実施形態におけるデータ書込み方法の遂行詳細を示す概略図である。
【図５Ａ】本発明実施形態におけるデータ読出し方法の遂行を示すフローチャートである。
【図５Ｂ】本発明実施形態におけるデータ読出し方法の遂行を示すフローチャートである。
【図５Ｃ】本発明実施形態におけるデータ読出し方法の遂行を示すフローチャートである。
【図６】本発明実施形態における抵抗メモリを示す概略図である。
【図７】本発明実施形態における抵抗メモリの比較動作を実施する回路の概略図である。
【図８Ａ】本発明の異なる実施形態でのデータ変更回路を示す概略図である。
【図８Ｂ】本発明の異なる実施形態でのデータ変更回路を示す概略図である。
【図９】図９Ａは、明の異なる実施形態での読出しデータジェネレータを示す概略図である。図９Ｂは、発明の異なる実施形態での読出しデータジェネレータを示す概略図である。
【図１０】本発明実施形態におけるリセット電圧を調整する方法を示す概略図である。
【発明を実施するための形態】
【００１１】
添付図面に例を示す本開示の好適な実施形態を詳細に参照する。どの図面であろうとも、図面及び説明で同一参照符号を使用して同一又は類似部分に言及する。
【００１２】
図１Ａにつき説明すると、図１Ａは本発明実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。図１ＡのステップＳ１１０で、書込みデータを受け取って反転書込みデータを生成し、ここで反転書込みデータは書込みデータに対して反転されている。次にステップＳ１２０で、複数個の選択されたメモリセルにおける現在データを読み出す。ここで選択されたメモリセルは、書込み動作における書込みアドレスに従って取得される。とくに、選択されたメモリセルは
書込み動作によってデータが書き込まれるメモリセルである。さらに、現在データは、元々選択されたメモリセル内に記憶されていたデータである。
【００１３】
ステップＳ１３０で、現在データを書込みデータ及び反転書込みデータと比較して、最終データを生成する。書込みデータが２値で０１０１００００である場合、反転書込みデータは１０１０１１１１である。選択されたメモリセルにおける現在データが２値で１０１０００００である場合、ステップＳ１３０において書込みデータを現在データとビット毎に比較し、また反転書込みデータを現在データとビット毎に比較することによって、比較結果に従って最終データを生成することができる。
【００１４】
本発明遂行のうち最終データ生成の遂行詳細は、２つのモード、すなわち、変更レスモード及びリセットレスモードに分割することができる。優先度選択フラグの論理値に従って、どちらのモードを採用すべきかを決定することができる。ここで変更レスモードは、優先度選択フラグが第１論理値（例えば、０）であるとき、相応的に採用することができ、またリセットレスモードは優先度選択フラグが第２論理値（例えば、１）であるとき、相応的に採用することができる。この実施形態において、優先度選択フラグのプリセット値は０である。しかし、本発明はこれに限定されない。本発明は異なるモード（例えば、セットレスモード）にも適用可能である、又は３つより多いフラグ値及び他の異なるモードを有することもできる。
【００１５】
変更レスモードにおいては、書込みデータ及び現在データにおけるビット間の相違を表している第１数値を計算し、また反転書込みデータ及び現在データにおけるビット間の相違を表している第２数値を計算することによって、第１数値及び第２数値のサイズに従う最終データを生成するよう、最小相違を有する書込みデータ又は反転書込みデータを選択することができる。
【００１６】
リセットレスモードにおいては、現在データを書込みデータ及び反転書込みデータに変更するときリセットするのに必要なビット数を決定することができ、最終データを生成するよう、書込みデータ又は反転書込みデータのうちより少ないビット数を有する方を選択することができる。
【００１７】
さらに、最終データは、一般データ、優先度選択フラグ及びデータ反転フラグを含む。最終データは、書込みデータ及び反転書込みデータとすることができ、データ反転フラグは、一般データが書込みデータか又は反転書込みデータかを示すよう構成される。ここで、一般データが書込みデータであるとき、データ反転フラグは第１論理値（例えば、０）とすることができ、一般データが反転書込みデータであるとき、データ反転フラグは第２論理値（例えば、１）とすることができる。
【００１８】
ステップＳ１４０においては、選択されたメモリセルにおける１つ又はそれ以上の第１部分に対してリセット手順が実施され、この１つ又はそれ以上の第１部分は、最終データに従って、選択されたメモリセル内でデータ１（例えば、論理１）に変更するのが必要な部分である。ステップＳ１５０においては、選択されたメモリセルにおける１つ又はそれ以上の第２部分に対してセット手順が実施され、この１つ又はそれ以上の第２部分は、最終データに従って、選択されたメモリセル内でデータ０（例えば、論理０）に変更するのが必要な部分である。この実施形態において、書込みデータ（例えば、０１０１００００に等しい）に従って、最終データを生成するよう選択される場合、選択されたメモリセルにおける書込みデータの第２番目及び第４番目のビット（第１ビットとしての最高ビット）に対応するメモリセルの部分（第１部分）に対してリセット手順を実施することができ、また選択されたメモリセルにおける書込みデータの第１番目及び第３番目のビット（第１ビットとしての最高ビット）に対応するメモリセルの部分（第２部分）に対してセット手順を実施することができる。本発明において、リセット手順（Ｓ１４０）及びセット手順（Ｓ１５０）を実施する順番は特別限定されない。他の実施形態において、リセット手順はセット手順を実施した後に実施することができる。
【００１９】
セット操作が抵抗メモリで実施された後に、導電性フィラメントの接続表面及び抵抗メモリの電極層に若干量の酸素イオンが付着する場合があるため、抵抗メモリのセット電流が増加しないことがあり得る。本発明のセット手順において、セット操作が失敗したことが検証された後にはリカバー操作を実施することができる。酸素イオンを押し出して、抵抗メモリセルのセット電流を効果的に増大させることができるようこのリカバー操作を使用する。しかし、リカバー操作を実施した後に、抵抗メモリの電流を検出することによって抵抗メモリのセット電流が依然として増加できない又は減少さえもしていることが分かった場合、抵抗メモリは劣化の兆候を示し始めている可能性が高い。
【００２０】
以下の内容は、セット手順の遂行詳細を示す概略図である図１Ｂに言及するものである。本発明のセット手順（Ｓ１５０）において、選択されたメモリセルにおける劣化状態に従って優先度選択フラグをセットするステップＳ１５１〜Ｓ１５３を随意的に設けることができる。とくに、ステップＳ１５１において、非反転セット電圧を選択されたメモリセルの１つ又はそれ以上の第２部分に供給し、そこでのセット操作を実施する。選択されたメモリセルにおける１つ又はそれ以上の第２部分でのセット操作が失敗したとき、セット操作が失敗したメモリセルに対してリカバー操作を実施するよう反転セット電圧を供給するステップＳ１５２を実施し、次にこのメモリセルを検証して検証結果を取得する。検証結果がセット失敗である場合、すなわち、選択されたメモリセルが劣化を示していると表示する場合、ステップＳ１５３における検証結果に従って、優先度選択フラグを更新する（例えば、１に変更する）。
【００２１】
他の実施形態において、優先度選択フラグはユーザーが直接セットすることもできる。
【００２２】
図２Ａは、本発明実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。図２Ａが示すデータ書込み方法において、抵抗メモリ装置は、直接書込みモード又はフラッシュメモリ互換モードで操作することができる。ここで、選択されたメモリセルによって記憶された現在データOdataは、一般データ、データ反転フラグＤＦＢ及び優先度選択フラグＰＳＢを含む。データ反転フラグＤＦＢは一般データが反転データか否かを示すのに使用される。データ反転フラグＤＦＢが第１論理値（例えば、０）であるとき、一般データは通常データであり、逆にデータ反転フラグＤＦＢが第２論理値（例えば、１）であるとき一般データは反転データである。この実施形態において、データ反転フラグＤＦＢのプリセット値０である。優先度選択フラグＰＳＢを使用して、データ書込み動作がアドレスに対応するメモリセルで実施されるとき使用するのに必要なデータ比較モードを示す。設計上の要件に従って、多重データ比較モードに対応するよう、ユーザーは優先度選択フラグＰＳＢを複数の論理値にセットすることができる。この実施形態において、優先度選択フラグＰＳＢは２つの論理値（０及び１）を有し、優先度選択フラグＰＳＢのプリセット値は０である。
【００２３】
図２Ａにつき説明すると、先ず、ステップＳ２１０で、書込みコマンド又はプログラミングコマンドを受け取り、またアドレス及び書込みデータUdataを受け取る。上述のアドレスは、データ書込み動作が実施される選択されたメモリセルのアドレスを示す。
【００２４】
次に、ステップＳ２３０で、選択されたメモリセルに記憶された現在データOdataをロードし、また書込みデータUdataに従って、一時データTdata及び反転一時データ/Tdataを生成する。ここで、一時データTdata =｛Udata, 0｝（０はデータ反転フラグＤＦＢ）であり、反転一時データ/Tdata =｛/Udata, 1｝（１はデータ反転フラグＤＦＢ）；及び反転書込みデータ/Udata は書込みデータUdataに対して反転したものである。
【００２５】
ステップＳ２３１で、現在データOdataにおける優先度選択フラグＰＳＢの状態を決定する。優先度選択フラグＰＳＢが第１論理値（例えば、０）を有する場合、ステップＳ２３２を実施する。そうではなく、優先度選択フラグＰＳＢが第２論理値（例えば、１）を有する場合、ステップＳ２３３を実施する。
【００２６】
ステップＳ２３２で、現在データOdataにおける一般データを一時データTdataにおける書込みデータUdata及び反転一時データ/Tdataにおける反転書込みデータ/Udataと比較し、また変更レスビットモードにより最終データFdataを生成するよう一時データTdata及び反転一時データ/Tdataのうち一方を選択する。次に、優先度選択フラグＰＳＢ（＝０）を最終データFdataに追加し、またこの後最終データFdataを選択されたメモリセルに書き込む。
【００２７】
ステップＳ２３３で、現在データOdataにおける一般データを一時データTdataにおける書込みデータUdata及び反転一時データ/Tdataにおける反転書込みデータ/Udataと比較し、またリセットレスビットモードにより最終データFdataを生成するよう一時データTdata及び反転一時データ/Tdataのうち一方を選択する。次に、優先度選択フラグＰＳＢ（＝１）を最終データFdataに追加し、またこの後最終データFdataを選択されたメモリセルに書き込む。
【００２８】
注目すべきことに、本発明実施形態において、ステップＳ２３２及びＳ２３３を実施するとき、ＥＣＣ動作は最終データFdataに対して実施することができ、また最終データFdataは対応して生成されたエラー訂正コードを含む。
【００２９】
図２Ｂは、本発明の他の実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。図２Ｂが示すデータ書込み方法においては、抵抗メモリ装置は、直接書込みモードで操作することができる。ここで、図２Ｂが示すデータ書込み方法は、図２Ａの方法とほぼ類似しており、また図２Ｂにおける選択されたメモリセルによって記憶された現在データOdataにはさらに特別データフラグＳＦが含まれており、特別データを決定するステップＳ２２０及び高速書込みを行うステップＳ２４０〜Ｓ２４１をさらに含むという大きな相違点がある。特別データフラグＳＦが第１論理値（例えば、０）である場合、現在データOdataが読み出されるときには、データは、一般データ及びデータ反転フラグＤＦＢに従って読み出す必要がある。そうではなく、特別データフラグＳＦが第２論理値（例えば、１）である場合、現在データOdataが読み出されるときには、現在データOdataは、特別データ（例えば、＃ＦＦ）として直接読み出すことができ、一般データ及びデータ反転フラグＤＦＢは無視される。
【００３０】
図２Ｂにつき説明すると、先ず、ステップＳ２１０で、書込みコマンドを受け取り、またアドレス及び書込みデータUdataを受け取る。上述のアドレスは、データ書込み動作が実施される選択されたメモリセルのアドレスを示す。
【００３１】
次に、ステップＳ２２０が実施されて、書込みデータUdataが特別データ（例えば、１６進数で＃ＦＦ）に等しいか否かを決定する。上述の決定結果がいいえである場合、ステップＳ２３０〜Ｓ２３１及びＳ２３２′〜Ｓ２３３′が実施される。ここで、ステップＳ２３０〜Ｓ２３１は図２Ａの実施形態におけるのと同一であり、ここでは説明を繰り返さない。ステップＳ２３２′〜Ｓ２３３′は図２Ａの実施形態に類似するが、この実施形態のステップＳ２３２′〜Ｓ２３３′においては、さらに特別データフラグＳＦ＝０が最終データに追加され、またこの後最終データが選択されたメモリセル内に書き込まれる点で相違する。
【００３２】
ステップＳ２２０に戻って説明すると、上述の決定結果がはいである場合、書込みデータUdataが特別データに等しいため、現在データOdataにおけるすべてのデータ及び最終データFdataは特別データフラグＳＦを除いて無視される（X）。その代わり、現在データ内の特別データフラグＳＦを第２論理値（１）に変更する必要があるか否かを決定するよう高速書込みを行うためのステップＳ２４０〜Ｓ２４１を実施するだけが必要となる。換言すれば、現在データOdataを読み出すとき、一般データ及びデータ反転フラグＤＦＢを無視することができ、また現在データOdataを特別データとして直接読み出すことができる。とくに、ステップＳ２４０で、特別データフラグＳＦの状態が現在データ内で１であるか否かが決定される。はいである場合、現在データOdataを変更する必要はなく、データ書込みプロセスは直接終了する。いいえである場合、ステップＳ２４１が実施され、現在データOdata内の特別データフラグＳＦを１に変更するだけで、現在データOdata内の他の部分を変更することはない。
【００３３】
図２Ｃは、本発明の他の実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。図２Ｃに示すデータ書込み方法においては、抵抗メモリ装置は、直接書込みモードで操作することができる。ここで、図２Ｃが示すデータ書込み方法は、図２Ｂの方法とほぼ類似しており、また図２Ｃにおける特別データを決定するためのステップがステップＳ２２１〜Ｓ２２２を含み、高速書込みのためのステップがステップＳ２５０〜Ｓ２５１及びＳ２６０〜Ｓ２６１を含むという大きな相違点がある。図２Ｂの実施形態と同様に、特別データフラグＳＦが第１論理値（例えば、０）である場合、現在データOdataが読み出されるときには、データは、一般データ及びデータ反転フラグＤＦＢに従って読み出す必要がある。しかし、この実施形態においては、特別データフラグＳＦが第２論理値（例えば、１）でありかつデータ反転フラグＤＦＢが第１論理値（０）である場合、現在データOdataは、第１特別データ（例えば、１６進法で＃００）として直接読み出すことができ、一般データは無視され、他方で、特別データフラグＳＦが第２論理値（１）でありかつデータ反転フラグＤＦＢが第２論理値（１）である場合、現在データOdataは、第２特別データ（例えば、１６進法で＃ＦＦ）として直接読み出すことができ、一般データは無視される。
【００３４】
図２Ｃにつき説明すると、先ず、ステップＳ２１０で、書込みコマンドを受け取り、またアドレス及び書込みデータUdataを受け取る。上述のアドレスは、データ書込み動作が実施される選択されたメモリセルのアドレスを示す。
【００３５】
次に、ステップＳ２２０が実施されて、書込みデータUdataが第１特別データ（例えば、１６進数で＃００）に等しいか否かを決定する。上述の決定結果がはいである場合、高速書込みを行うためのステップＳ２５０〜Ｓ２５１が実施される。ステップＳ２５０で、現在データOdata内の特別データフラグＳＦが１であるか否か、及びデータ反転フラグＤＦＢが０であるか否かが決定される。はいである場合、現在データOdataを変更する必要はなく、またデータ書込みプロセスは直接終了する。いいえである場合、ステップＳ２５１が実施され、現在データOdata内の特別データフラグＳＦを１に更新し、またデータ反転フラグＤＦＢを０に更新し、現在データOdata内の他の部分を変更することなく、データ書込みプロセスを終了する。
【００３６】
ステップＳ２２１に戻って説明すると、書込みデータUdataが第１特別データに等しくない場合、ステップＳ２２１がさらに実施され、書込みデータUdataが第２特別データ（例えば、１６進法で＃ＦＦ）に等しいか否かが決定される。上述の決定結果がはいである場合、高速書込みを行うステップＳ２６０〜２６１が実施される。上述の決定結果がいいえである場合、ステップＳ２３０〜Ｓ２３１及びＳ２３２′〜Ｓ２３３′が実施される。ここで、ステップＳ２３０〜Ｓ２３１及びＳ２３２′〜Ｓ２３３′は図２Ｂの実施形態におけるのと同一であり、ここでは説明を繰り返さない。
【００３７】
ステップＳ２６０で、特別データフラグＳＦが１であるか否か、及びデータ反転フラグＤＦＢが１であるか否かが決定される。はいである場合、現在データOdataを変更する必要はなく、データ書込みプロセスを直接終了する。いいえである場合、ステップＳ２６１を実施し、現在データOdata内の特別データフラグＳＦを１に更新し、またデータ反転フラグＤＦＢを１に更新し、現在データOdata内の他の部分は変更せず、またデータ書込みプロセスを終了する。
【００３８】
図３につき説明すると、図３は本発明の他の実施形態における抵抗メモリのデータ書込み方法を示すフローチャートである。図３に示すデータ書込み方法においては、抵抗メモリ装置はフラッシュメモリ互換モードで操作することができる。この実施形態において、抵抗メモリは、フラッシュメモリの消去コマンドに従って、データ書込み動作を実施することができる。ここで、図３における選択されたメモリセルによって記憶された現在データOdataはさらに、特別データフラグＳＦを含む。ここで、特別データフラグＳＦが第１論理値（例えば、０）である場合、現在データOdataを読み出すとき、現在データOdata内の一般データを１６進法の＃ＦＦに置換する必要はない。ここで、特別データフラグＳＦが第２論理値（例えば、１）である場合、現在データOdataを読み出すとき、現在データOdata内の一般データを１６進法の＃ＦＦに置換する必要がある。
【００３９】
先ず、ステップＳ３１０で、消去コマンド及びアドレスを受け取り、またアドレスは、データ消去動作を実施すべき選択されたメモリセルのアドレスを示す（すなわち、この動作実施は、１６進法の＃ＦＦをすべての選択されたメモリセル内に書き込むことにより行う）。ステップＳ３２０で、現在データOdata内の特別データフラグＳＦが１であるか否かを決定する。はいである場合、現在データOdataを変更する必要はなく、データ書込みプロセスを直接終了する。いいえである場合、ステップＳ３３０が実施され、現在データOdata内の特別データフラグＳＦを１に更新するだけで、現在データOdata内の他の部分は変更することなく、データ書込みプロセスを終了する。
【００４０】
複数の実用例を提示し、以下にさらに本発明実施形態におけるデータ書込み方法を説明する。図４Ａ〜図４Ｄは、図２Ａによるデータ書込み方法の遂行詳細を示す概略図である。図４Ｅ〜図４Ｆは、図２Ｂによるデータ書込み方法の遂行詳細を示す概略図である。図４Ｇ〜図４Ｈは、図２Ｃによるデータ書込み方法の遂行詳細を示す概略図である。ここで、図４Ａ〜図４Ｈにおけるデータは１６進法のデータで例示する。
【００４１】
図４Ａ〜図４Ｄにつき説明すると、図４Ａにおいて現在データOdataは＃Ｆ９であり、書込みデータUdataは＃００であり、書込みデータUdataにより生成される一時データTdata及び反転一時データ/Tdataはそれぞれ＃００及び＃ＦＦである。現在データOdataから読み出される優先度選択フラグＰＳＢが０であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎に変更レスビットモード（モードＩ）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、０から１に変更されるのは０ビット、１から０に変更されるのは６ビットが存在し、変更したビット総数は６である。現在データOdata及び反転一時データ/Tdataの間で、０から１に変更されるのは２ビット、１から０に変更されるのは０ビットが存在し、また変更したビット総数は２である。したがって、変更レス原理に基づくと、反転一時データ/Tdataが選択され、データ反転フラグＤＦＢ＝１及び優先度選択フラグＰＳＢ＝０が追加されて最終データを生成することができる。
【００４２】
現在データOdataから読み出される優先度選択フラグＰＳＢが１であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎にリセットレスビットモード（モードII）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、リセットする（０から１に変更する）必要があるのは０ビットである。現在データOdata及び反転一時データ/Tdataの間で、リセットする（０から１に変更する）必要があるのは２ビットである。したがって、リセットレス原理に基づくと、一時データTdataが選択され、データ反転フラグＤＦＢ＝０及び優先度選択フラグＰＳＢ＝１が追加されて最終データを生成することができる。
【００４３】
図４Ｂにおいて現在データOdataは＃Ｆ９であり、書込みデータUdataは＃ＦＦであり、書込みデータUdataにより生成される一時データTdata及び反転一時データ/Tdataはそれぞれ＃ＦＦ及び＃００である。現在データOdataから読み出される優先度選択フラグＰＳＢが０であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎に変更レスビットモード（モードＩ）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、０から１に変更されるのは２ビット、１から０に変更されるのは０ビットが存在し、また変更したビット総数は２である。現在データOdata及び反転一時データ/Tdataの間で、０から１に変更されるのは０ビット、１から０に変更されるのは６ビットが存在し、また変更したビット総数は６である。したがって、変更レス原理に基づくと、一時データTdataが選択され、データ反転フラグＤＦＢ＝０及び優先度選択フラグＰＳＢ＝０が追加されて最終データを生成することができる。
【００４４】
現在データOdataから読み出される優先度選択フラグＰＳＢが１であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎にリセットレスビットモード（モードII）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、リセットする（０から１に変更する）必要があるのは２ビットである。現在データOdata及び反転一時データ/Tdataの間で、リセットする（０から１に変更する）必要があるのは０ビットである。したがって、リセットレス原理に基づくと、反転一時データ/Tdataが選択され、データ反転フラグＤＦＢ＝１及び優先度選択フラグＰＳＢ＝１が追加されて最終データを生成することができる。
【００４５】
図４Ｃにおいて現在データOdataは＃Ｆ９であり、書込みデータUdataは＃０３であり、書込みデータUdataにより生成される一時データTdata及び反転一時データ/Tdataはそれぞれ＃０３及び＃ＦＣである。現在データOdataから読み出される優先度選択フラグＰＳＢが０であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎に変更レスビットモード（モードＩ）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、０から１に変更されるのは１ビット、１から０に変更されるのは５ビットが存在し、また変更したビット総数は６である。現在データOdata及び反転一時データ/Tdataの間で、０から１に変更されるのは１ビット、１から０に変更されるのは１ビットが存在し、また変更したビット総数は２である。したがって、変更レス原理に基づくと、反転一時データ/Tdataが選択され、データ反転フラグＤＦＢ＝１及び優先度選択フラグＰＳＢ＝０が追加されて最終データを生成することができる。
【００４６】
現在データOdataから読み出される優先度選択フラグＰＳＢが１であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎にリセットレスビットモード（モードII）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、リセットする（０から１に変更する）必要があるのは１ビットである。現在データOdata及び反転一時データ/Tdataの間で、リセットする（０から１に変更する）必要があるのは１ビットである。リセットすべきビット数が同一である場合、現在データOdata及び一時データTdataの間で１から０に変更されるビット数（この場合、５）を、さらに、現在データOdata及び反転一時データ/Tdataの間で１から０に変更されるビット数（この場合、１）と比較することができる。したがって、反転一時データ/Tdataが選択され、データ反転フラグＤＦＢ＝１及び優先度選択フラグＰＳＢ＝１が追加されて最終データを生成することができる。
【００４７】
図４Ｄにおいて現在データOdataは＃Ｆ９であり、書込みデータUdataは＃ＡＡであり、書込みデータUdataにより生成される一時データTdata及び反転一時データ/Tdataはそれぞれ＃ＡＡ及び＃５５である。現在データOdataから読み出される優先度選択フラグＰＳＢが０であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎に変更レスビットモード（モードＩ）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、０から１に変更されるのは１ビット、１から０に変更されるのは３ビットが存在し、また変更したビット総数は４である。現在データOdata及び反転一時データ/Tdataの間で、０から１に変更されるのは１ビット、１から０に変更されるのは３ビットが存在し、また変更したビット総数は４である。したがって、変更レス原理に基づくと、反転一時データ/Tdata又は一時データTdataのいずれかが選択され、それに対応するデータ反転フラグＤＦＢ＝１又は０及び優先度選択フラグＰＳＢ＝０が追加されて最終データを生成することができる。
【００４８】
現在データOdataから読み出される優先度選択フラグＰＳＢが１であるとき、現在データOdataを一時データTdata及び反転一時データ/Tdataとビット毎にリセットレスビットモード（モードII）で比較することによって、抵抗メモリは以下の結果を得ることができる。現在データOdata及び一時データTdataの間で、リセットする（０から１に変更する）必要があるのは１ビットである。現在データOdata及び反転一時データ/Tdataの間で、リセットする（０から１に変更する）必要があるのは１ビットである。さらに、現在データOdata及び一時データTdataの間で１から０に変更されるビット数及び現在データOdata及び反転一時データ/Tdataの間で１から０に変更されるビット数は、双方ともに３である。したがって、一時データTdata又は反転一時データ/Tdataのいずれかが選択され、それに対応するデータ反転フラグＤＦＢ＝０又は１及び優先度選択フラグＰＳＢ＝１が追加されて最終データを生成することができる。
【００４９】
図２Ｂの実施形態で説明したような図４Ｅ及び図４Ｆにつき説明すると、選択されたメモリセルが記憶する現在データOdataはさらに特別データフラグＳＦを含み、また高速書込みを行うステップＳ２４０〜Ｓ２４１がさらに含まれている。したがって、書込みデータUdataが特別データと同一であるか否かが先ず決定される。図４Ｅの実施形態において、例えば、特別データは＃００であり、書込みデータUdataは＃００である。この場合、書込みデータUdataは特別データと同一であるため、現在データOdata及び最終データFdata内のすべてのデータは特別データフラグＳＦを除いて無視（Ｘ）することができる。その代わり、現在データ内の特別データフラグＳＦは第２論理値（１）に変更する必要があるか否かを決定することのみが必要となる。換言すれば、現在データOdataが読み出されるとき、現在データOdataは特別データ（＃００）として直接読み出され、一般データ及びデータ反転フラグＤＦＢは無視される。この実施形態において、現在データOdata内の特別データフラグＳＦが第２論理値（１）である場合、データ書込みプロセスは直接終了することができる。現在データOdata内の特別データフラグＳＦが第２論理値でない場合、最終データFdataは、単に特別データフラグＳＦを第２論理値（１）に更新することによって生成することができる。
【００５０】
図４Ｆの実施形態は図４Ｅの実施形態に類似するが、この実施形態においては、特別データが＃ＦＦであり、書込みデータUdataも＃ＦＦである。同様に、書込みデータUdataは特別データと同一であるため、現在データ内の特別データフラグＳＦは第２論理値（１）に変更する必要があるか否かを決定することのみが必要となる。
【００５１】
図２Cの実施形態で説明したような図４G及び図４Hにつき説明すると、選択されたメモリセルが記憶する現在データOdataはさらに特別データフラグＳＦを含み、また高速書込みを行うステップＳ２２０〜Ｓ２２１及びステップＳ２５０〜Ｓ２５１及びステップＳ２６０〜Ｓ２６１及びがさらに含まれている。したがって、書込みデータUdataが第１特別データ（例えば、＃００）又は第２特別データ（例えば、＃ＦＦ）と同一であるか否かが先ず決定される。
【００５２】
図４Ｇの実施形態において、書込みデータUdataは＃００である。この場合、書込みデータUdataは第１特別データと同一であるため、現在データOdata及び最終データFdata内のすべてのデータは特別データフラグＳＦ及びデータ反転フラグＤＦＢを除いて無視（Ｘ）することができる。その代わり、現在データ内の特別データフラグＳＦは第２論理値（１）に更新する必要があるか否か、及びデータ反転フラグＤＦＢは第１論理値（０）に更新する必要があるか否かを決定することのみが必要となる。換言すれば、現在データOdataが読み出されるとき、現在データOdataは第１特別データとして直接読み出され、一般データは無視される。この実施形態において、現在データOdata内の特別データフラグＳＦが第２論理値であり、データ反転フラグＤＦＢが第１論理値である場合、データ書込みプロセスは直接終了することができる。現在データOdata内の特別データフラグＳＦが第２論理値でない、又はデータ反転フラグＤＦＢが第１論理値でない場合、最終データFdataは、単に特別データフラグＳＦを第２論理値に更新し、またデータ反転フラグＤＦＢを第１論理値に更新することによって生成することができる。
【００５３】
図４Ｈの実施形態において、書込みデータUdataは＃ＦＦである。この場合、書込みデータUdataは第２特別データと同一であるため、現在データOdata及び最終データFdata内のすべてのデータは特別データフラグＳＦ及びデータ反転フラグＤＦＢを除いて無視（Ｘ）することができる。その代わり、現在データ内の特別データフラグＳＦは第２論理値（１）に更新する必要があるか否か、及びデータ反転フラグＤＦＢは第２論理値（１）に更新する必要があるか否かを決定することのみが必要となる。
【００５４】
図５Ａ〜５Ｃは、本発明の異なる実施形態によるデータ読出し方法を示すフローチャートである。図２Ａの実施形態による選択されたメモリセルに対する書き込み後に、書込みデータは図５Ａの方法に従って読み出すことができる。図２Ｂの実施形態による選択されたメモリセルに対する書き込み後に、書込みデータは図５Ｂの方法に従って読み出すことができる。図２Ｃの実施形態による選択されたメモリセルに対する書き込み後に、書込みデータは図５Ｃの方法に従って読み出すことができる。
【００５５】
図５Ａにつき説明すると、先ずステップＳ５１０において、読出しコマンドを受け取り、またアドレスを受け取る。次に、選択されたメモリセル内の現在データOdataを読み出し（ステップＳ５２０）、またその現在データ内のデータ反転フラグＤＦＢのデータを決定する（ステップＳ５４０）。ここで、データ反転フラグＤＦＢが第１論理値（０）であるとき、ステップＳ５４１を実施する。そうでなく、データ反転フラグＤＦＢが第２論理値（１）であるとき、ステップＳ５４２を実施する。
【００５６】
ステップＳ５４１で、読出しデータは、現在データOdata内の一般データに対して反転動作を実施しないことによって、直接生成する。他方、ステップＳ５４２では、読出しデータは、現在データOdata内の一般データに対して反転動作を実施することによって、生成する。注目すべきこととして、現在データOdataがエラー訂正コードを含む実施形態においては、読出しデータをステップＳ５４１又はステップＳ５４２によって生成する前に、ＥＣＣ操作をエラー訂正コードに従って実施して、エラー訂正読出しデータを生成する。
【００５７】
図５Ｂの実施形態は図５Ａの実施形態に類似するが、この実施形態においては現在データOdataが特別データフラグＳＦを含む点で相違する。したがって、この実施形態において、現在データOdataが特別データか否かを決定するためのステップＳ５３０〜Ｓ５３１がステップＳ５４０の前に含まれる。説明を簡潔にするため、ステップＳ５３０〜Ｓ５３１のみ記載し、残りのステップについてはここで繰り返さない。
【００５８】
図５Ｂにつき説明すると、ステップＳ５３０で現在データOdata内の特別データフラグＳＦのデータを決定する。ここで特別データフラグＳＦが第１論理値（０）を有するとき、ステップＳ５４０を実施する。そうでなく、特別データフラグＳＦが第２論理値（１）を有するとき、ステップＳ５３１を実施する。ステップＳ５３１においては、特別データフラグＳＦが第２論理値（１）を有しているため、読出しデータを直接特別データに等しくすることができ（例えば、読出しデータを１６進法の＃ＦＦに等しくすることによって）、読出し動作を終了する。
【００５９】
図５Ｃにつき説明すると、図５Ｂと比べると、ステップＳ５３０で特別データフラグＳＦを第２論理値（１）として決定するとき、ステップＳ５５１がさらに実施されて、データ反転フラグＤＦＢのデータを決定する。ステップＳ５５１でデータ反転フラグＤＦＢが第１論理値（０）として決定されるとき、ステップＳ５５２が実施され、読出しデータを第１特別データ（例えば、１６進法で＃ＦＦ）に等しくする。他方、ステップＳ５５１でデータ反転フラグＤＦＢが第２論理値（１）として決定されるとき、ステップＳ５５３が実施され、読出しデータを第２特別データ（例えば、１６進法で＃００）に等しくする。
【００６０】
図６につき説明すると、図６は本発明実施形態における抵抗メモリの概略図を示す。抵抗メモリは、メモリセルアレイ６１０、コントローラ６２０、データ変更回路６３０、読出しデータ生成器６４０、データラッチ６５０、入力／出力バッファ６６０、セット／リセット電圧発生器６７０、論理回路６８０、アドレスラッチ６８１、Ｙデコーダ６８２、Ｘデコーダ６８３、及びＹゲート回路６１１を備える。入力／出力バッファ６６０は、書込みデータUdataを受け取る又は読出しデータRDOUTを出力するよう構成される。入力／出力バッファ６６０は、読出しデータ生成器６４０、コントローラ６２０、及びデータラッチ６５０に接続する。読出しデータ生成器６４０は、データラッチ６５０によって読み出されたデータを受け取ることができ、またデータ反転フラグＤＦＢに従って受け取ったデータを反転することによって読出しデータRDOUTを生成するか否かを決定することができる。読出しデータRDOUTは、コントローラ６２０に伝送されるべき現在データOdataとして供することができる。さらに、書込みデータUdataをコントローラ６２０に伝送することができる。特別データフラグＳＦが含まれている実施形態において、読出しデータ生成器は、特別データフラグに従って、特別データを読出しデータRDOUTとして直接使用するか否かを決定することもできる。
【００６１】
コントローラ６２０は優先度選択フラグ設定回路６２１を有する。この優先度選択フラグ設定回路６２１は、優先度選択フラグＰＳＢの状態を設定（セット）するよう構成する。コントローラ６２０は、データ反転フラグＤＦＢ及び特別データフラグＳＦの状態を設定し、また優先度選択フラグＰＳＢ、データ反転フラグＤＦＢ及び特別データフラグＳＦの状態をデータ変更回路６３０に伝送するのにも使用することができる。
【００６２】
データ変更回路６３０は、優先度選択フラグＰＳＢ、データ反転フラグＤＦＢ及び特別データフラグＳＦの状態に従って、最終データを生成することができ、またＹゲート回路６１１を介してメモリセルアレイ６１０における選択されたメモリセル内に最終データを書き込むことができる。
【００６３】
他方、アドレスラッチ６８１はアドレスADDを受け取り、またアクセス動作のためメモリセルアレイ６１０における選択されるメモリセルを選択するよう、Ｙデコーダ６８２及びＸデコーダ６８３によりアドレスADDに対してデコーダ動作を実施する。論理回路６８０は、イネーブル信号ENを受け取り、またこのイネーブル信号ENに従って、抵抗メモリ６００の内部動作を有効にする。
【００６４】
この実施形態において、メモリセルは、固定数に従ってグループ分けすることができる。例えば、１バイトのグループ、２バイトのグループ又は１ワードのグループを特別な限定なく設定することができる。さらに、メモリセルの各グループは、１つのデータ反転フラグＤＦＢ及び１つの優先度選択フラグＰＳＢに対応することができる。他の実施形態において、メモリセルの各グループは、少なくとも１つの特別データフラグＳＦに対応することができる。さらに他の実施形態においては、メモリセルの各グループにおけるデータはデータ訂正コードを含むことができる。
【００６５】
抵抗メモリ６００は、さらに、エラー訂正回路（図示せず）を備えることができ、このエラー訂正回路を使用してデータ訂正コードを計算することができる、又はエラー訂正回路を備える実施形態においては、受け取ったデータ訂正コードに従って読出しデータに対して訂正動作を実施することができる。
【００６６】
注目すべきことには、セット／リセット電圧発生器６７０をコントローラ６２０及びアドレスラッチ６８１に接続する。抵抗メモリがデータ書込み動作を実施するプロセスにあることをコントローラ６２０が決定した後、リセット手順を実施するとき、セット／リセット電圧発生器６７０は、優先度選択フラグＰＳＢに従ってリセット電圧を調整して、抵抗メモリ６００に対してリセット操作を実施するのに使用することができる第１電圧Ｖ１又は第２電圧Ｖ２を有するリセットパルス信号を供給することができる。これに関連する動作の詳細は図１０の実施形態でさらに説明する。
【００６７】
リセット電圧を調整するためのセット／リセット電圧発生器６７０の動作、コントローラ６２０が実施する優先度選択フラグＰＳＢ、データ反転フラグＤＦＢ及び特別データフラグＳＦを設定する動作並びに最終書込みデータを生成する動作は、何らの特別な限定もなく、同時又は別個に実施することができる。
【００６８】
図７につき説明すると、図７は、本発明実施形態における抵抗メモリの比較動作を実施する回路の概略図である。比較回路７００は、コントローラに配置され、またＸＯＲゲートXOR1、ＮＯＲゲートNOR1及びNOR2、並びに符号変換器IV1及びIV2を含むことができる。ＸＯＲゲートXOR1及び符号変換器IV1は、現在データOdata内の一般データAdataを、一時データTdata内の書込みデータUdata及び反転一時データ/Tdata内の反転書込みデータ/Udataとビット毎に比較する動作を実施し、また書込みデータUdata及び反転書込みデータ/Udataに対する一般データAdataの変更ビットカウントＣＣ及び反転信号ＣＣＢを生成するよう構成する。ＮＯＲゲートNOR2は、書込みデータUdata及び一般データAdataに対してＮＯＲ論理操作を実施し、またＮＯＲゲートNOR１は、書込みデータUdataの反転及び一般データAdataに対してＮＯＲ論理操作を実施し、それぞれリセットビットカウントＣＲ及びその反転信号ＣＲＢを生成する。
【００６９】
図８Ａ〜８Ｂは、それぞれ本発明の異なる実施形態におけるデータ変更回路を示す概略図である。図８Ａにつき説明すると、データ変更回路６３０はセレクタAOIに接続する。セレクタAOIは、優先度選択フラグＰＳＢに従って出力すべき、変更レスビットモード信号ＣＬＣ及びリセットレスビットモード信号ＣＬＲのうち一方を選択する。データ変更回路６３０はＸＯＲゲートXOR2を有する。ＸＯＲゲートXOR2は、書込みデータUdata及びセレクタAOIの出力信号を受け取り、またセレクタAOIの出力信号に従って、書込みデータUdataに対するＸＯＲ（排他的ｏｒ）操作を実施することによって最終データFdataを生成するか否かを決定する。
【００７０】
図８Ｂにつき説明すると、図８Ａの実施形態と比較して、データ変更回路６３０は、現在データOdataが特別データフラグＳＦを含む実施形態においてトランジスタＭ１を有する。トランジスタＭ１は特別データフラグＳＦによって制御される。特別データフラグＳＦが論理値１に等しいとき、トランジスタＭ１は遮断され、最終データFdataを生成しない（すなわち、現在データOdata内の一般データAdataを変更しない）。他方、特別データフラグＳＦが論理値０に等しいとき、トランジスタＭ１はオン状態になり、またＸＯＲゲートXOR2の出力が最終データFdataになり得る。
【００７１】
図９Ａ〜９Ｂは、それぞれ本発明実施形態における読出しデータ生成器の概略図である。図９Ａにつき説明すると、読出しデータ生成器６４０はＸＯＲゲートXOR3を有する。このＸＯＲゲートXOR3はデータラッチ６５０からデータDFLを受け取る。ＸＯＲゲートXOR3はさらにデータ反転フラグＤＦＢを受け取り、またデータ反転フラグＤＦＢに従って、読出しデータRDOUTとしてデータDFLを反転して出力すべきか否かを決定する。
【００７２】
図９Bにつき説明すると、図９Ａの実施形態に比較して、読出しデータ生成器６４０は、さらに、現在データOdataが特別データフラグＳＦを含む実施形態において、特別データ生成回路６４１を有する。特別データ生成回路６４１はＸＯＲゲートXOR3の出力信号を受け取り、また特別データフラグＳＦに従って、データDFLに基づいて読出しデータRDOUTを生成するか否かを決定する。特別データが１６進法の＃ＦＦである実施例では、この実施形態の特別データ生成回路６４１はＯＲゲートOR1を有することができる。このＯＲゲートOR1は、ＸＯＲゲートXOR3の出力信号を受け取り、また特別データフラグＳＦに従って、データDFLに基づいて読出しデータRDOUTを生成するか否かを決定する。特別データフラグＳＦが１に等しいとき、読出しデータ生成器６４０は、１に等しい読出しデータRDOUTを強制的に生成する。他方、特別データフラグＳＦが０に等しいとき、読出しデータ生成器６４０は、データDFLに等しい読出しデータRDOUTを生成する（データ反転フラグＤＦＢが０に等しいとき）、又はデータDFLに反転された読出しデータRDOUTを生成する（データ反転フラグＤＦＢが１に等しいとき）。この実施形態における回路は例として１６進法の＃ＦＦによって例示したが、本発明はこれに限定されない。異なる特別データに基づいて、当業者であれば、特別データフラグＳＦに従って特別データを生成する所望の回路を設計することができるであろう。
【００７３】
図１０につき説明すると、図１０は本発明実施形態におけるデータ書込み方法を示す概略図である。図１０は、リセットプロセスRSETP及びセットプロセスSETPを含む。図１０のフローチャートによれば、ステップＳ１００１で、書込みコマンドを受け取り、また書込みアドレス及び書込みデータを受け取る。ステップＳ１００２で、書込みアドレスにおける現在データ及びリセット電圧修正フラグFlagがメモリセルアレイから読み出される。実施形態において、リセット電圧修正フラグFlagの初期値は０にセットされる。他の実施形態において、優先度選択フラグＰＳＢはリセット電圧修正フラグFlagとして使用することができる。
【００７４】
次に、ステップＳ１００３で、現在データを書込みデータと比較して、書込みアドレスに対応する各メモリセルに対してセット操作又はリセット操作を実施する必要があるか否かを決定する。或る実施形態においては、現在データは、ステップＳ１００３で、さらに、書込みデータ及び反転書込みデータとそれぞれ比較して、書込みアドレスに対応する各メモリセルに対してセット操作又はリセット操作を実施する必要があるか否かは、優先度選択フラグＰＳＢに従って、決定することができる。
【００７５】
次に、比較結果に基づいてデータ１に変更する必要があるメモリセルに対してリセットプロセスRSETPを実施する。先ず、ステップＳ１００４で、リセット電圧修正フラグFlagが０であるか否かを決定する。リセット電圧修正フラグFlagが０である場合、リセット電圧を現在電圧値のサイズに応じて設定する（ステップＳ１００６）。そうではなく、リセット電圧修正フラグFlagが０でない場合、リセット電圧を現在電圧値のサイズはより低い電圧に更新する（ステップＳ１００５）。
【００７６】
次に、ステップＳ１００７で、比較結果に従って、データ１に変更する必要があるメモリセルの第２部分にリセット電圧を印加し、１回又は複数回リセット操作を実施し、またこの後、リセット済みメモリセルのすべてのリセットが成功しているか否かを検証する。この実施形態において、メモリセルのリセットが成功しているか否かは、リセット済みメモリセルの電流Icellがプリセット閾値Ivfy1未満であるか否かに関して検証することによって、検証することができる。ステップＳ１００８において、メモリセルのリセット済み第２部分が検証に合格しているか否かを決定する。上述の決定結果がはいである場合、方法はセットプロセスSETPに進む。そうではなく、上述の決定結果がいいえである場合、方法はステップＳ１００９を実施して、メモリセルの第２部分すべてが検証に合格するまで、又は所定リセット手順が終了するときに検証不合格として決定されるメモリセルが依然として存在するまで、検証に不合格であるメモリセルに対して所定リセット手順を継続する。
【００７７】
リセットプロセスRSETPが終了した後、比較結果に従って、データを０に変更する必要があるメモリセルの第１部分に対してセットプロセスSETPを実施する。ステップＳ１０１０で、比較結果に従って、データを０に変更する必要があるメモリセルの第１部分に対してセット電圧を印加し、セット操作を実施し、またすべてのセット済みメモリセルのセットが成功しているか否かを検証する。メモリセルのセットが成功しているか否かは、セット済みメモリセルの電流Icellがプリセット閾値Ivfy2より大きいか否かに関して検証することによって、検証することができる。或る実施形態においては、プリセット閾値Ivfy2は２５μＡ、３０μＡ、３５μＡ、又は任意の適当な値にすることができる。
【００７８】
次に、ステップＳ１０１１で、すべてのセット済みメモリセルが検証に合格しているか否かを決定する。上述の決定結果がはいである場合、データ書込みプロセスは終了する。そうではなく、上述の決定結果がいいえである場合、ステップＳ１０１２を実施する。
【００７９】
ステップＳ１０１２で、検証に不合格であるメモリセルに対してリカバー操作を実施し、またその後に、検証に不合格であるすべてのメモリセルがセットに成功しているか否かを再び決定する。とくに、リカバー操作は、検証に不合格であるメモリセルに対して反転セット電圧（SIRP）を印加することによって実施することができる。この実施形態において、反転セット電圧は、セット電圧の位相とは逆位相の電圧であり、その電圧サイズの絶対値はリセット電圧の絶対値の約１／３〜３／４である。
【００８０】
次に、ステップＳ１０１３で、すべてのリカバー済みメモリセルが検証に合格するか否かを決定する。上述の決定結果がはいのとき、データ書込みプロセスは終了する。そうではなく、上述の決定結果がいいえのとき、ステップＳ１０１４を実施する。
【００８１】
ステップＳ１０１４で、リセット電圧修正フラグFlagを１に更新し、また所定セット手順を、メモリセルのすべての第１部分が合格するまで、又は所定セット手順が終了するときに検証不合格として決定されるメモリセルが依然として存在するまで、リカバー操作に不合格であるメモリセルに対して所定セット手順を継続する（ステップＳ１０１５）。
【００８２】
留意されたいのは、この実施形態において、リセットプロセスRSETPを実施した後に、セットプロセスSETPを実施することである。しかし、本発明はこれに限定するものではない。本発明が提供するデータ書込み方法においては、リセットプロセスRSETPは、セットプロセスSETPを実施した後に実施することもできる。
【００８３】
要約すれば、本発明実施形態による抵抗メモリのデータ書込み方法によれば、データ書込みプロセスで実際に書き込まれるメモリセルの数を減少するよう、優先度選択フラグを用いて書込みデータの書込み様式を指示することによって、電力消費を低減することができ、またメモリセルのサイクル動作の耐久性を改善することができる。
【００８４】
当業者であれば、本発明の範囲又は精神から逸脱することなく本発明の構造に対して様々な変更及び改変できることは明らかであろう。上述のことを考慮して、本発明は、特許請求の範囲及びその均等物の範囲内に納まる本発明の変更及び改変をカバーすることを意図するものである。
【産業上の利用可能性】
【００８５】
本開示は、データ書込みプロセスで実際に書き込まれるメモリセルの数を減少するためデータ反転フラグ、特別データフラグ及び優先度選択フラグを提供する。すなわち、電力消費を低減することができ、またメモリセルのサイクル動作の耐久性を改善することができる。
【符号の説明】
【００８６】
S110〜S150、S151〜S153、S210〜S233、S310〜S380、S510〜S553、S1001〜S1015       ステップ
600         抵抗メモリ
610         メモリセルアレイ
620         コントローラ
630         データ変更回路
640         読出しデータ生成器
650         データラッチ
660         入力／出力バッファ
670         セット／リセット電圧発生器
680         論理回路
681         アドレスラッチ
682         Ｙデコーダ
683         Ｘデコーダ
611         Ｙゲート回路
621         優先度選択フラグ設定回路
641         特別データ生成回路
700         比較回路
Adata       一般データ
ADD         アドレス
AOI         セレクタ
CC          変更ビットカウント
CLC         変更レスビットモード信号
CLR         リセットレスビットモード信号
CR          リセットビットカウント
CRB, CCB    反転信号
DFB         データ反転フラグ
DFL         データ
EN          イネーブル信号
Fdata       最終データ
IV1, IV2      符号変換器
M1          トランジスタ
NOR1, NOR2  ＮＯＲゲート
Odata       現在データ
OR1         ＯＲゲート
PSB         優先度選択フラグ
RDOUT       読出しデータ
RSETP, SETP フロー
SF            特別データフラグ
V1, V2         電圧
XOR1〜XOR3  排他的ＯＲゲート
Udata         書込みデータ
/Udata        反転書込みデータ
【図１Ａ】
0006893535.tif 000002
【図１Ｂ】
0006893535.tif 000003
【図２Ａ】
0006893535.tif 000004
【図２Ｂ】
0006893535.tif 000005
【図２Ｃ】
0006893535.tif 000006
【図３】
0006893535.tif 000007
【図４−１】
0006893535.tif 000008
【図４−２】
0006893535.tif 000009
【図４−３】
0006893535.tif 000010
【図５Ａ】
0006893535.tif 000011
【図５Ｂ】
0006893535.tif 000012
【図５Ｃ】
0006893535.tif 000013
【図６】
0006893535.tif 000014
【図７】
0006893535.tif 000015
【図８Ａ】
0006893535.tif 000016
【図８Ｂ】
0006893535.tif 000017
【図９】
0006893535.tif 000018
【図１０】
0006893535.tif 000019