(57)【要約】  不揮発メモリセルを備えた半導体装置において、信頼性の向上や、使い勝手の向上を実現する。そこで、上書き可能な複数のメモリセル（ＣＬ）を含む不揮発性メモリ部と、当該不揮発性メモリ部へのアクセスを制御する制御回路とを備え、制御回路は、例えば不揮発性メモリ部内のチェインメモリアレイＣＹに対して１個の物理アドレスを割り当てる。制御回路は、当該物理アドレスを対象とした１回目の書き込み命令に応じてチェインメモリアレイＣＹの一部のメモリセル（例えばＣＬ０）に書き込みを行い、当該物理アドレスを対象とした２回目の書き込み命令に応じて他の一部のメモリセル（例えばＣＬ１）に書き込みを行う。
2014013595.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含む不揮発性メモリ部と、
外部から入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路とを有し、
前記不揮発性メモリ部は、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群とを有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線とを有し、
前記制御回路は、第１物理アドレスへの第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＭ個（Ｍ＜Ｎ）となる第１部分にデータを書き込み、前記第１書き込み命令の後に生じる前記第１物理アドレスへの第２書き込み命令に応じて、前記第１〜第Ｎメモリセルの中の前記第１部分を除くＭ個となる第２部分にデータを書き込む半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記制御回路は、第１動作モードと第２動作モードを備え、前記第１動作モード時には、前記第１書き込み命令に応じた前記第１部分へのデータの書き込みと、前記第２書き込み命令に応じた前記第２部分へのデータの書き込みとを行い、前記第２動作モード時には、第２物理アドレスへの第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込み、前記第３書き込み命令の後に生じる前記第２物理アドレスへの第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込む半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記制御回路は、前記物理アドレス毎に前記第１〜第Ｎメモリセル選択線の内のどれを選択するかを保持する第１記憶部を有する半導体装置。
【請求項４】
請求項１記載の半導体装置において、
前記第１〜第Ｎメモリセルは、半導体基板の垂直方法へ順に積層搭載され、順に直列に接続される半導体装置。
【請求項５】
請求項４記載の半導体装置において、
前記制御回路は、前記第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、第１論理レベルを一括して書き込んだのち、前記第１部分内の必要な箇所に前記第１論理レベルと異なる第２論理レベルを書き込み、前記第２書き込み命令に応じて、前記第２部分内の必要な箇所に前記第２論理レベルを書き込む半導体装置。
【請求項６】
請求項４記載の半導体装置において、
前記第１〜第Ｎメモリセルのそれぞれは、選択トランジスタと抵抗性記憶素子とを有し、
前記選択トランジスタと前記抵抗性記憶素子は、並列に接続される半導体装置。
【請求項７】
請求項１記載の半導体装置において、
前記Ｍの値は、任意に設定可能である半導体装置。
【請求項８】
複数のメモリセルを含む不揮発性メモリ部と、
外部から入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路とを有し、
前記不揮発性メモリ部は、
複数のワード線と、
前記複数のワード線と交差する複数のビット線と、
前記複数のワード線と前記複数のビット線の交点に配置される複数のメモリセル群とを有し、
前記複数のメモリセル群のそれぞれは、
直列に接続される第１〜第Ｎメモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線とを有し、
前記第１〜第Ｎメモリセルのそれぞれは、選択トランジスタと抵抗性記憶素子とを有し、
前記選択トランジスタと前記抵抗性記憶素子は並列に接続されており、
前記第１〜第Ｎメモリセルにおける前記選択トランジスタのゲート電極は、それぞれ第１〜第Ｎメモリセル選択線に接続され、
前記制御回路は、前記不揮発性メモリ部に対して第１アドレス領域と第２アドレス領域とを設定でき、
前記制御回路は、前記第１アドレス領域では、第１物理アドレスへの第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＭ個（Ｍ＜Ｎ）となる第１部分にデータを書き込み、前記第１書き込み命令の後に生じる前記第１物理アドレスへの第２書き込み命令に応じて、前記第１〜第Ｎメモリセルの中の前記第１部分を除くＭ個となる第２部分にデータを書き込み、
前記制御回路は、前記第２アドレス領域では、第２物理アドレスへの第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込み、前記第３書き込み命令の後に生じる前記第２物理アドレスへの第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込む半導体装置。
【請求項９】
請求項８記載の半導体装置において、
前記制御回路は、前記第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、第１論理レベルを一括して書き込んだのち、前記第１部分内の必要な箇所に前記第１論理レベルと異なる第２論理レベルを書き込み、前記第２書き込み命令に応じて、前記第２部分内の必要な箇所に前記第２論理レベルを書き込み、
前記制御回路は、前記第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、前記第１論理レベルを一括して書き込んだのち、前記Ｎ個内の必要な箇所に前記第２論理レベルを書き込み、前記第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、前記第１論理レベルを一括して書き込んだのち、前記Ｎ個内の必要な箇所に前記第２論理レベルを書き込む半導体装置。
【請求項１０】
請求項９記載の半導体装置において、
前記抵抗性記憶素子は、カルコゲナイド材料で形成され、
前記第１論理レベルは、低抵抗状態であり、
前記第２論理レベルは、高抵抗状態である半導体装置。
【請求項１１】
請求項８記載の半導体装置において、
前記第１アドレス領域と前記第２アドレス領域の大きさは、それぞれ任意に設定可能である半導体装置。
【請求項１２】
直列に接続されるＮ（Ｎは２以上の整数）ビットのメモリセルを持つ不揮発性メモリ部と、
前記不揮発性メモリ部を制御する制御回路とを有し、
前記メモリセルは、抵抗性記憶素子の抵抗値によって第１論理レベルか第２論理レベルの一方を記憶し、
前記制御回路は、前記第Ｎビットのメモリセルの全てを一旦前記第１論理レベルに書き込んだのち、前記Ｎビットのメモリセルの中のＪ番目のみを前記第２論理レベルに書き込む制御を行う半導体装置。
【請求項１３】
請求項１２記載の半導体装置において、
前記制御回路は、前記Ｊ番目の値を保持する第１記憶部を有し、前記Ｎビットのメモリセルに対して１個の物理アドレスと１ビットのデータを割り当て、前記物理アドレスを対象とする書き込み命令が入力される度に前記Ｊ番目の値を１〜Ｎの範囲で巡回させながら前記第１記憶部を更新し、前記Ｊ番目の値が前記１〜Ｎの範囲で１回巡回する毎に前記第Ｎビットのメモリセルの全てを前記第１論理レベルに書き込む制御を行う半導体装置。
【請求項１４】
請求項１３記載の半導体装置において、
前記抵抗性記憶素子は、カルコゲナイド材料で形成され、
前記第１論理レベルは、低抵抗状態であり、
前記第２論理レベルは、高抵抗状態である半導体装置。
【請求項１５】
請求項１４記載の半導体装置において、
前記メモリセルは、前記抵抗性記憶素子と前記抵抗性記憶素子に並列に接続される選択トランジスタとを有し、
前記Ｎビットのメモリセルは、半導体基板の垂直方向へ順に積層搭載される半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、例えば、不揮発性メモリ装置を含む半導体装置の技術に関する。
【背景技術】
【０００２】
近年、複数のＮＡＮＤ型フラッシュメモリと、コントローラから構成されるＳＳＤ（Solid State Drive）がサーバー機器、Ｌａｐｔｏｐ  ＰＣおよびＮｅｔｂｏｏｋ等に利用されている。ＮＡＮＤ型フラッシュメモリには、消去回数に上限があり、データ書き込みサイズとデータ消去サイズが大きく異なることが広く知られている。特許文献１、特許文献２、特許文献３および特許文献４には、このようなＮＡＮＤ型フラッシュメモリの制御方法が開示されている。例えば、特許文献１には、フラッシュメモリのアドレス上を規定の順序で循環しながら書き込みアドレスを順次設定するライトポインタを備え、当該ライトポンタと論理アドレスとの対応関係や、当該ライトポインタの循環回数を用いてウエアレベリングを行う方法が示されている。また、特許文献５には、３次元構造のＮＡＮＤ型フラッシュメモリが開示されている。【０００３】
さらに、本発明者が検討した技術には、例えば相変化メモリを含む半導体装置がある。この種のメモリは、少なくともアンチモン（Ｓｂ）とテルル（Ｔｅ）を含むＧｅ−Ｓｂ−Ｔｅ系、Ａｇ−Ｉｎ−Ｓｂ−Ｔｅ系などのカルコゲナイド材料（または、相変化材料）を記録層の材料に使用する。また、その選択素子にはダイオードが用いられる。このように、カルコゲナイド材料とダイオードを用いた相変化メモリの特性は、例えば非特許文献１に開示されている。【０００４】
図２９は相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。縦軸は温度、横軸は時間である。この記憶素子に記憶情報“０”を書き込む場合、図２９に示すように、素子をカルコゲナイド材料の融点Ｔａ以上に熱してから急冷するようなリセットパルスを印加する。冷却時間ｔ１を短くすることにより（例えば約１ｎｓに設定することにより）、カルコゲナイド材料は高抵抗のアモルファス（非晶質）状態となる。【０００５】
逆に、記憶情報“１”を書き込む場合、記憶素子を融点Ｔａよりも低いが、結晶化温度Ｔｘ（ガラス転移点と同じかそれよりも高い）より高い温度領域に保つようなセットパルスを印加する。これにより、カルコゲナイド材料は低抵抗の多結晶状態となる。結晶化に要する時間ｔ２はカルコゲナイド材料の組成によって異なる。図２９に示した素子の温度は、記憶素子自身が発するジュール熱、および周囲への熱拡散に依存する。【０００６】
また、非特許文献２に記載されているように、相変化メモリは抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電力が小さくなる。このため、相変化メモリは、原理上、微細化に向いており、研究が盛んに行われている。また、非特許文献３には、カルコゲナイド材料の低抵抗化に１２０ｎｓ、高抵抗化に５０ｎｓ程度の時間を要する相変化メモリが記載されている。【０００７】
さらに、特許文献６および特許文献７には、３次元構造の不揮発性メモリが開示されている。特許文献６には、可変抵抗素子とこれに並列接続されるトランジスタとを備えたメモリセルを積層方向に向けて直列に接続した構成が示されている。特許文献７には、可変抵抗素子とこれに直列接続されるダイオードとを備えたメモリセルを積層方向に向けて導電線を挟んで直列に接続した構成が示されている。当該構成では、例えば２個のメモリセルの間の導電線と、２個のメモリセルの外側の２本の導電線との間に電位差を与えることで、当該２個のメモリセルに対して一括して書き込み動作が行われる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１４６２５５号公報
【特許文献２】特開平０７−１５３２８５号公報
【特許文献３】特許第３９２６９８５号公報
【特許文献４】特開２００４−２４０５７２号公報
【特許文献５】国際公開第２０１１／１１４５０３号
【特許文献６】国際公開第２０１１／０７４５４５号
【特許文献７】特開２０１１−１４２１８６号公報
【非特許文献】
【０００９】
【非特許文献１】「アイ・イー・イー・イー、インターナショナル・ソリッド・ステート・サーキット・カンフアレーンス、ダイジェスト・オブ・テクニカル・ペーパーズ（IEEE International Solid-State Circuits Conference、Digest of Technical Papers）」、（米国）、２００７年、ｐ．４７２−４７３
【非特許文献２】「アイ・イー・イー・イー、インターナショナル・エレクトロン・デバイシズ・ミーティング、テクニカル・ダイジェスト（IEEE International Electron Devices meeting、TECHNICAL DIGEST）」、（米国）、２００１年、ｐ．８０３−８０６
【非特許文献３】「アイ・イー・イー・イー、ジャーナル・オブ・ソリッド・ステート・サーキット（IEEE JOURNAL OF SOLID-STATE CIRCUIT）」、ＶＯＬ．４０、Ｎｏ．１、（米国）、２００５年、ｐ．２９３−３００
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明者らは、本願に先立ち、ＳＳＤ（Solid State Drive）やメモリカードなどのストレージへ利用されているＮＡＮＤ型フラッシュメモリの制御方法について検討した。さらに、本発明者らは、カルコゲナイド材料からなる記録層とダイオードを用いた相変化メモリの抵抗値の特性について検討した。以下、検討内容を説明する。【００１１】
《ＮＡＮＤ型フラッシュメモリの制御方法に対する検討》
例えば、４ＧｂｉｔのＮＡＮＤ型フラッシュメモリは、（２１１２＝２０４８＋６４）バイトからなるページと、６４個のページからなるブロック（１３５１６８＝１３１０７２＋４０９６バイト）と、４０９６ブロックからなるチップとで構成される。ＳＳＤは、複数のＮＡＮＤ型フラッシュメモリと、これらフラッシュメモリを制御するコントローラとで構成される。ホストコントローラとＳＳＤは、例えばＳＡＴＡ（Serial Advanced Technology Attachment）インターフェースによって接続される。【００１２】
このようなＳＳＤに向けてホストコントローラから１ページ分のデータ書込み命令が生じた場合の書込み動作について説明する。ＮＡＮＤ型フラッシュメモリへのデータの書き込みはページ単位で行われ、データの書き込みは以下の手順により実行される。まず、コントローラは、ＮＡＮＤ型フラッシュメモリから１ブロック分のデータ（１３５１６８バイト）を読み出す。次に、この１ブロック分のデータ（１３５１６８バイト）が格納されていたメモリ領域のデータを消去する。その後、新たに１ページ分のデータ（２１１２バイト）をメモリ領域に書き込む。【００１３】
ここで、ＮＡＮＤ型フラッシュメモリには、最大消去可能回数（ＥＲＡＳＥｍａｘ）がある。この最大消去可能回数（ＥＲＡＳＥｍａｘ）を超えると、ＮＡＮＤ型フラッシュメモリに保存されているデータは保証されなくなり、ＳＳＤは寿命を迎える。従って、ＳＳＤの寿命を延ばすには、効率の良いデータ消去方法が必要である。【００１４】
しかし、ＮＡＮＤ型フラッシュメモリは、データの書込み単位と、データの消去単位が大きく異なっている。ＮＡＮＤ型フラッシュメモリは、１ページ分のデータ（２１１２バイト）を書き込む際、６４倍のデータサイズ（１３５１６８バイト）を消去する必要があり、データ消去方法が非常に非効率的と言える。その結果、ＮＡＮＤ型フラッシュメモリを利用したＳＳＤでは、寿命の低下が生じ易くなる。そこで、例えば、特許文献１〜特許文献４のように、寿命を向上させるための各種技術が知られているが、この場合、制御の複雑化に伴い実効的な書き込み時間等が増大する恐れがある。【００１５】
このように、ＮＡＮＤ型フラッシュメモリを利用したＳＳＤでは、ＮＡＮＤ型フラッシュメモリの書き込み速度や消去速度が元々低速であることに加えて、このような制御の複雑化に伴うオーバヘッドが加わるため、寿命の拡大と高速化を両立させることは容易でない。さらに、１ページ分のデータ（２１１２バイト）を書き込む際、１ブロック分のデータ（１３５１６８バイト）を消去する前に、この１ブロック分のデータを読み出す必要があるため、これにより書込み性能がさらに低下することも懸念される。【００１６】
《抵抗変化型不揮発性メモリの制御方法に対する検討》
抵抗変化型メモリとして、相変化メモリ（Phase Change Memory）、ＲｅＲＡＭ（Resistive RAM）などが開発されている。このような抵抗変化型メモリを用いると、ＮＡＮＤ型フラッシュメモリを用いる場合と比べて大幅に書き込み速度を向上させることが可能になる。また、抵抗変化型メモリはデータを上書きでき、その最小単位は１バイトと小さい。つまり必要なデータサイズ分のみを書き換え可能である。ただし、このようなメモリには、書込み回数の上限値があり、この上限値が抵抗変化型メモリの寿命をきめる。このため、例えば特定のメモリセルへの書き込みが集中すると、その寿命が短くなってしまう恐れがある。【００１７】
一方、不揮発性メモリへの要求性能（速度、寿命、容量）は、不揮発性メモリを利用するシステムによって異なり得る。抵抗変化型メモリは、前述したように、ＮＡＮＤ型フラッシュメモリと比べて書き込み速度が早く、また書き換えの最小単位が小さいため、これらの特性を利用して、速度、寿命、容量等の性能をバランスよく確保するための制御方法が求められる。【００１８】
また、例えば相変化メモリへの書き込みは、図２９で述べたように、電流により発生するジュール熱を制御し、これによってメモリセルの抵抗値を制御することで行われる。この際に、このジュール熱による熱履歴のために生じたメモリセルの電気特性の差によって、書き換え動作後の抵抗値にばらつきが発生する恐れがある。具体的には、例えば、あるメモリセルで生じたジュール熱がその周辺のメモリセルに影響を及ぼすことにより、周辺のメモリセルの抵抗値にばらつきが生じる場合がある。さらに、このメモリセルの抵抗値のばらつき量は、書き込み情報や周辺のメモリセルの記憶情報がセットかリセットかによっても変動する恐れがある。例えば特許文献７のような単純な書き込み方法を用いた場合にはこのようなばらつきの問題が生じ得るため、書き込み方法の適正化を含めて前述した不揮発性メモリへの要求性能を確保するための制御方法を実現することが望まれる。【００１９】
本発明は、このようなことを鑑みてなされたものであり、本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２０】
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。【００２１】
本実施の形態による半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、外部から入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路とを有する。不揮発性メモリ部は、複数の第１信号線と、複数の第１信号線と交差する複数の第２信号線と、複数の第１信号線と複数の第２信号線の交点に配置される複数のメモリセル群とを有する。複数のメモリセル群のそれぞれは、第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線とを有する。ここで、制御回路は、第１物理アドレスへの第１書き込み命令に応じて、第１〜第Ｎメモリセルの中のＭ個（Ｍ＜Ｎ）となる第１部分にデータを書き込み、第１書き込み命令の後に生じる第１物理アドレスへの第２書き込み命令に応じて、第１〜第Ｎメモリセルの中の第１部分を除くＭ個となる第２部分にデータを書き込む。
【発明の効果】
【００２２】
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、不揮発性メモリセルを備えた半導体装置において、信頼性の向上等が実現可能になる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。
【図２】図１における制御回路の構成例を示すブロック図である。
【図３Ａ】図１における不揮発性メモリ装置の構成例を示すブロック図である。
【図３Ｂ】図３Ａにおけるチェインメモリアレイの構成例を示す回路図である。
【図４】図３Ｂのチェインメモリアレイの動作例を示す説明図である。
【図５】図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。
【図６】図３Ａの不揮発性メモリ装置において、その概略的な書き込み動作のタイミングの一例を示す説明図である。
【図７】図３Ａの不揮発性メモリ装置において、その概略的な読み出し動作のタイミングの一例を示す説明図である。
【図８Ａ】図１の情報処理システムにおいて、電源投入時の初期シーケンスの一例を示す図である。
【図８Ｂ】図１の情報処理システムにおいて、電源投入時の初期シーケンスの他の一例を示す図である。
【図９】図１のランダムアクセスメモリに格納される物理アドレステーブルの構成例を示す図である。
【図１０Ａ】図１のランダムアクセスメモリに格納される物理セグメントテーブルの構成例を示す図である。
【図１０Ｂ】図１のランダムアクセスメモリに格納される物理セグメントテーブルの他の構成例を示す図である。
【図１１Ａ】図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。
【図１１Ｂ】図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。
【図１２Ａ】図１のランダムアクセスメモリに格納されるアドレス変換テーブルの構成例およびその初期設定後の状態例を示す図である。
【図１２Ｂ】図１の不揮発性メモリ装置における初期設定後の状態例を示す図である。
【図１３Ａ】図１におけるブート用の不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の一例を示す図である。
【図１３Ｂ】図１におけるブート用の不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の他の一例を示す図である。
【図１３Ｃ】図１におけるブート用の不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の更に他の一例を示す図である。
【図１４Ａ】図１のメモリモジュールにおいて、制御回路から不揮発性メモリ装置に書き込まれるデータの構成例を示す図である。
【図１４Ｂ】図１４Ａにおけるデータ書き込みレイヤ情報の構成例を示す図である。
【図１４Ｃ】図１４Ａにおけるデータ書き込みレイヤ情報の構成例を示す図である。
【図１５】図１のランダムアクセスメモリに格納されるアドレスマップ範囲の一例を示す図である。
【図１６】図１５の補足図であり、制御回路が図１３ＡのＳＳＤコンフィグレーション情報と図１５のアドレスマップ範囲に基づいて設定した書き込み可能なメモリセルの配置例を模式的に示した図である。
【図１７】図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書き込み方式の一例を示す説明図である。
【図１８】図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書き込み方式の他の一例を示す説明図である。
【図１９】図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書き込み方式の更に他の一例を示す説明図である。
【図２０】図１の情報処理装置からメモリモジュールへライトリクエストが入力された際に、メモリモジュール内で行われる詳細な書き込み処理手順の一例を示すフロー図である。
【図２１】図１１Ａおよび図１１Ｂの書き込み物理アドレステーブルにおいて、その更新方法の一例を示すフロー図である。
【図２２Ａ】図１５等の第１物理アドレス領域に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【図２２Ｂ】図１５等の第２物理アドレス領域に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【図２２Ｃ】図２の情報処理回路が不揮発性メモリ装置にデータ書き込みやデータ読み出しを行う際の物理アドレスの変化の様子の一例を示す図である。
【図２３Ａ】図１の制御回路が不揮発性メモリ装置の第１物理アドレス領域へデータを書き込む際のアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図２３Ｂ】図２３Ａに続くアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図２４Ａ】図１の制御回路が不揮発性メモリ装置の第２物理アドレス領域へデータを書き込む際のアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図２４Ｂ】図２３Ａに続くアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図２５】図１の情報処理装置からメモリモジュールへリードリクエストが入力された際に、メモリモジュールが行うデータ読み出し動作の一例を示すフロー図である。
【図２６】図１３Ｂに示されるＳＳＤコンフィグレーション情報を例として、ライト方法選択情報に応じたメモリモジュールの書き込み動作の一例を示すフロー図である。
【図２７】図２１の場合に加えて図２の情報処理回路が実行するウエアレベリング方法の一例を示すフロー図である。
【図２８】図１の情報処理装置からメモリモジュールへ連続してライトリクエストが発生した際に、メモリモジュール内部でパイプライン的に実行されるデータ書き込み動作の一例を示す図である。
【図２９】相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。
【発明を実施するための形態】
【００２４】
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。特に明示した場合を除き、それらは互いに無関係ではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００２５】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００２６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
【００２７】
実施の形態において各ブロックを構成する回路素子は特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。さらに、これらのメモリセルには、相変化メモリ、ＲｅＲＡＭ（Resistive Random Access Memory）のような抵抗性記憶素子を用いるものとする。
【００２８】
《情報処理システムの概要》
図１は、本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。図１に示す情報処理システムは、情報処理装置（プロセッサ）ＣＰＵ＿ＣＰとメモリモジュール（半導体装置）ＮＶＭＭＤ０とを備える。情報処理装置ＣＰＵ＿ＣＰは、特に限定しないがメモリモジュールＮＶＭＭＤ０へ保存されているデータを最小５１２バイト単位の論理アドレス（ＬＡＤ）にて管理するホストコントローラである。情報処理装置ＣＰＵ＿ＣＰは、インターフェース信号ＨＤＨ＿ＩＦを通じ、このメモリモジュールＮＶＭＭＤ０に対してデータの読み出しや書込みを行う。メモリモジュールＮＶＭＭＤ０は、特に限定しないが、例えばＳＳＤ（Solid State Drive）等に該当するものである。
【００２９】
情報処理装置ＣＰＵ＿ＣＰとメモリモジュール（半導体装置）ＮＶＭＭＤ０を接続する信号方式には、シリアルインターフェース信号方式、パラレルインターフェース信号方式、光インターフェース信号方式などがある。いうまでもなく、全ての方式を利用することができる。情報処理装置ＣＰＵ＿ＣＰとメモリモジュールＮＶＭＭＤ０を動作させるクロック方式には、基準クロック信号ＲＥＦ＿ＣＬＫを用いるコモンクロック方式およびソースシンクロナスクロック方式や、データ信号にクロック情報を埋め込むエンベデッドクロック方式などがある。いうまでもなく、全てのクロック方式を利用することができる。本実施の形態では、一例としてシリアルインターフェース信号方式ならびにエンベデッドクロック方式を用いるものとし、以下に動作を説明する。
【００３０】
情報処理装置ＣＰＵ＿ＣＰから、クロック情報が埋め込まれ、シリアルデータへ変換されたリードリクエスト（ＲＱ）やライトリクエスト（ＷＱ）などがインターフェース信号ＨＤＨ＿ＩＦを通じてメモリモジュールＮＶＭＭＤ０へ入力される。リードリクエスト（ＲＱ）には論理アドレス（ＬＡＤ）、データ読み出し命令（ＲＤ）、セクタカウント（ＳＥＣ）などが含まれ、また、ライトリクエスト（ＷＱ）には論理アドレス（ＬＡＤ）、データ書込み命令（ＷＲＴ）、セクタカウント（ＳＥＣ）および書込みデータ（ＷＤＡＴＡ）などが含まれる。
【００３１】
メモリモジュール（半導体装置）ＮＶＭＭＤ０は、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、これら不揮発性メモリ装置およびランダムアクセスメモリを制御する制御回路ＭＤＬＣＴ０を備える。不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、例えば同じ構成および性能を備えている。不揮発性メモリ装置ＮＶＭ１０は〜ＮＶＭ１７には、データ、ＯＳ、アプリケーションプログラム、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を格納し、さらに情報処理装置ＣＰＵ＿ＣＰのブートプログラム等が格納されている。ランダムアクセスメモリＲＡＭは、特に限定しないが、例えばＤＲＡＭ等である。
【００３２】
電源投入直後に、メモリモジュールＮＶＭＭＤ０は、内部の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０の初期化の動作（所謂パワーオンリセット）を行う。さらに、メモリモジュールＮＶＭＭＤ０は、情報処理装置ＣＰＵ＿ＣＰからのリセット信号ＲＳＴＳＩＧを受けた際にも、内部の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０の初期化を行う。
【００３３】
図２は、図１における制御回路の構成例を示すブロック図である。図２に示す制御回路ＭＤＬＣＴ０は、インターフェース回路ＨＯＳＴ＿ＩＦと、バッファＢＵＦ０〜ＢＵＦ３と、書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２と、調停回路ＡＲＢと、情報処理回路ＭＮＧＥＲと、メモリ制御回路ＲＡＭＣ，ＮＶＣＴ１０〜ＮＶＣＴ１７と、マップレジスタＭＡＰＲＥＧと、レジスタＲＥＧ１，ＲＥＧ２を備える。メモリ制御回路ＲＡＭＣは、図１のランダムアクセスメモリＲＡＭを直接制御し、メモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７は、図１の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７をそれぞれ直接制御する。
【００３４】
バッファＢＵＦ０〜ＢＵＦ３は、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７の書き込みデータや読み出しデータを一時的に蓄える。書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２は、詳細は図１１等で後述するが、次に情報処理装置ＣＰＵ＿ＣＰより論理アドレスを伴う書き込み命令を受けた際に、当該論理アドレスに対して割り当てを行う物理アドレスを蓄えたテーブルであり、特に限定しないが、ＳＲＡＭやレジスタ等によって実現される。マップレジスタＭＡＰＲＥＧおよびレジスタＲＥＧ１，ＲＥＧ２は、詳細は図１３等で後述するが、メモリ空間の全体的な領域に関する情報を保持するレジスタである。なお、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）やブートプログラムは、メモリモジュールＮＶＭＭＤ０の初期設定の高速化を図るため、例えば、図２の情報処理回路ＭＮＧＥＲに直接接続される形で制御回路ＭＤＬＣＴ０内に配置することも可能である。
【００３５】
《不揮発性メモリ装置の全体構成および動作》
図３Ａは、図１における不揮発性メモリ装置の構成例を示すブロック図であり、図３Ｂは、図３Ａにおけるチェインメモリアレイの構成例を示す回路図である。図３Ａに示す不揮発性メモリ装置は、図１の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のそれぞれに該当するものであり、ここでは、一例として相変化型の不揮発性メモリ（相変化メモリ）が用いられている。当該不揮発性メモリ装置は、クロック生成回路ＳＹＭＤ、ステータスレジスタＳＴＲＥＧ、イレースサイズ指定レジスタＮＶＲＥＧ、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦ、ＩＯバッファＩＯＢＵＦ、制御回路ＣＴＬＯＧ、温度センサＴＨＭＯ、データ制御回路ＤＡＴＣＴＬ、メモリバンクＢＫ０〜ＢＫ３を備える。
【００３６】
各メモリバンクＢＫ０〜ＢＫ３は、メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）と、各メモリアレイにそれぞれ対応して設けられる読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）と、これらを制御する各種周辺回路を備える。当該各種周辺回路の中には、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴ、ロウデコーダＲＯＷＤＥＣ、カラムデコーダＣＯＬＤＥＣ、チェイン選択アドレスラッチＣＨＬＴ、チェインデコーダＣＨＤＥＣ、データ選択回路ＤＳＷ１、データバッファＤＢＵＦ０，ＤＢＵＦ１が含まれる。
【００３７】
各メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）は、複数のワード線ＷＬ０〜ＷＬｋと複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘの交点に配置される複数のチェインメモリアレイＣＹと、複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘのいずれかを選択してデータ線ＤＴｘに接続するビット線選択回路ＢＳＷｘを備える。各読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）は、データ線ＤＴｘに接続されるセンスアンプＳＡｘおよびライトドライバＷＤＲｘと、書き込み動作時に、これらを用いてデータの検証を行う書込みデータ検証回路ＷＶｘを備える。
【００３８】
各チェインメモリアレイＣＹは、図３Ｂに示すように、複数の相変化メモリセルＣＬ０〜ＣＬｎが直列に接続された構成を備え、その一端はダイオードＤを介してワード線ＷＬに接続され、他端はチェイン選択トランジスタＴｃｈを介してビット線ＢＬに接続される。複数の相変化メモリセルＣＬ０〜ＣＬｎは、図示は省略するが、半導体基板に対して高さ方向に積層配置される。また、各相変化メモリセルＣＬは、可変抵抗型の記憶素子Ｒと、それに並列接続されるメモリセル選択トランジスタＴｃｌを備える。記憶素子Ｒは、例えばカルコゲナイド材料で形成される。
【００３９】
図３Ｂの例では、２個のチェインメモリアレイＣＹがダイオードＤを共有しており、チェインメモリアレイ選択線ＳＬ０，ＳＬ１によって各チェインメモリアレイ内のチェイン選択トランジスタＴｃｈがそれぞれ制御され、これによっていずれか一方のチェインメモリアレイが選択される。また、メモリセル選択線ＬＹ（ＬＹ０〜ＬＹｎ）によって、相変化メモリセルＣＬ０〜ＣＬｎ内のメモリセル選択トランジスタＴｃｌがそれぞれ制御され、これによって各相変化メモリセルが適宜選択される。なお、チェインメモリアレイ選択線ＳＬ０，ＳＬ１およびメモリセル選択線ＬＹ０〜ＬＹｎは、チェイン制御線ＣＨとして、図１のチェイン選択アドレスラッチＣＨＬＴおよびチェインデコーダＣＨＤＥＣを介して適宜駆動される。
【００４０】
次に、図３Ａの不揮発性メモリ装置の動作について簡単に説明する。図３Ａにおいて、まず、制御回路ＣＴＬＯＧは、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦ介して制御信号ＣＴＬを受ける。制御信号ＣＴＬは、特に限定しないが、例えば、コマンド・ラッチイネーブル信号（ＣＬＥ）、チップイネーブル信号（ＣＥＢ）、アドレス・ラッチ信号（ＡＬＥ）、ライトイネーブル信号（ＷＥＢ）、リードイネーブル信号（ＲＥＢ）、レディビジー信号（ＲＢＢ）を含み、これらの組み合わせによって、書き込み命令又は読み出し命令が発行される。また、制御回路ＣＴＬＯＧは、制御信号ＣＴＬと共に、ＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯを受ける。入出力信号ＩＯには、アドレス信号が含まれており、制御回路ＣＴＬＯＧは、当該アドレス信号からロウアドレスおよびカラムアドレスを抽出する。制御回路ＣＴＬＯＧは、当該ロウアドレス、カラムアドレス、ならびに予め定められる書き込み・読み出し単位等に基づいて、適宜内部アドレスを生成し、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴならびにチェイン選択アドレスラッチＣＨＬＴにそれぞれ伝送する。
【００４１】
ロウデコーダＲＯＷＤＥＣは、ロウアドレスラッチＲＡＤＬＴの出力を受けてワード線ＷＬ０〜ＷＬｋの選択を行い、カラムデコーダＣＯＬＤＥＣは、カラムアドレスラッチＣＡＤＬＴの出力を受けてビット線ＢＬ０〜ＢＬｉの選択を行う。また、チェインデコーダＣＨＤＥＣは、チェイン選択アドレスラッチＣＨＬＴの出力を受けて、チェイン制御線ＣＨの選択を行う。制御信号ＣＴＬによって読み出し命令が入力された際、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹからビット線選択回路ＢＳＷ０〜ＢＳＷｍを介してデータが読み出される。当該読み出されたデータは、センスアンプＳＡ０〜ＳＡｍで増幅され、データ選択回路ＤＳＷ１を介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に伝送される。そして、データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータは、データ制御回路ＤＡＴＣＴＬおよびＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯに順次伝送される。
【００４２】
一方、制御信号ＣＴＬによって書き込み命令が入力された際、入出力信号ＩＯには、前述したアドレス信号に続いてデータ信号が伝送され、当該データ信号は、データ制御回路ＤＡＴＣＴＬを介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に入力される。データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータ信号は、データ選択回路ＤＳＷ１、ライトドライバＷＤＲ０〜ＷＤＲｍおよびビット線選択回路ＢＳＷ０〜ＢＳＷｍを介して、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹに書き込まれる。また、この際に、書込みデータ検証回路ＷＶ０〜ＷＶｍは、書き込みを行ったデータをセンスアンプＳＡ０〜ＳＡｍを介して適宜読み出しながら書き込みレベルが十分なレベルに達したかを検証し、十分なレベルに達するまでライトドライバＷＤＲ０〜ＷＤＲｍを用いて再度の書き込み動作を行う。
【００４３】
図４は、図３Ｂのチェインメモリアレイの動作例を示す説明図である。この図４を用いて、例えば、チェインメモリアレイＣＹ１内の相変化メモリセルＣＬ０における可変抵抗型記憶素子Ｒ０を高抵抗や低抵抗にする際の動作について説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０のみが非活性化（ＬＹ０＝Ｌｏｗ、ＬＹ１〜ＬＹｎ＝Ｈｉｇｈ）され、相変化メモリセルＣＬ０のメモリセル選択トランジスタＴｃｌ０はカットオフ状態となり、残りのメモリセルＣＬ１〜ＣＬｎのメモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎは導通状態となる。
【００４４】
次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ０がワード線ＷＬ０から、ダイオードＤ０、可変抵抗型記憶素子Ｒ０、メモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ０が図２９に示したＲｅｓｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は高抵抗となる。また、この電流Ｉ０が図２９に示したＳｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は低抵抗となる。可変抵抗型記憶素子Ｒ０〜Ｒｎの抵抗値の違いによってデータ“１”と“０”が区別される。特に限定しないが、可変抵抗型記憶素子が低抵抗になった場合に、データ“１”が記録され、高抵抗になった場合にデータ“０”が記録されるものとする。
【００４５】
なお、可変抵抗型記憶素子Ｒ０に記録されたデータを読み出す場合は、可変抵抗型記憶素子Ｒ０の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加される。この場合、可変抵抗型記憶素子Ｒ０の抵抗値に応じた電圧値がセンスアンプ（この例では図３ＡのＳＡ０）で検出され、データ“０”および“１”が判定される。
【００４６】
図５は、図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。この図５を用いて、１チェインメモリアレイＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが非活性化（ＬＹ０〜ＬＹｎ＝Ｌｏｗ）され、メモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎはカットオフ状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ１がワード線ＷＬ０から、ダイオードＤ０、可変抵抗型記憶素子Ｒ０〜Ｒｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ１が図２９に示したＳｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。
【００４７】
《チェインメモリアレイの詳細動作方式》
ここで、本実施の形態の主要な特徴の一つとなるチェインメモリアレイの動作方式について説明する。図１７〜図１９は、図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書き込み方式の一例を示す説明図である。本実施の形態による不揮発性メモリ装置は、例えば、ホスト（図１のＣＰＵ＿ＣＰ）側からの１回の書き込み命令に応じて、チェインメモリアレイを構成する（ｎ＋１）ビットの相変化メモリセルに対して（ｎ＋１）ビットの書き込みを行う第２動作モードと、ｊビット（ｊ＜（ｎ＋１））の書き込みを行う第１動作モードとを備える。以降、各動作モード時の書き込み動作について説明する。なお、当該書き込み動作に伴うワード線、ビット線、チェイン制御線等の詳細な制御方法は、図４および図５の場合と同様である。
【００４８】
図１７は、前述した第１動作モードでｊ＝１とした場合の書き込み動作に伴うチェインメモリアレイの変化の様子の一例を示すものである。図１７において、例えば、チェインメモリアレイＣＹ００００とＣＹ００１０は同一の物理アドレス［１］に割り当てられるものとする。ここで、当該物理アドレス［１］を対象とする書き込み命令［１］が入力された場合、チェインメモリアレイＣＹ００００，ＣＹ００１０では、まず最初に、メモリセル選択線ＬＹ０が用いられる。
【００４９】
ここで、メモリセル選択線ＬＹ０を対象とする書き込み動作が行われる際には、それに先だって、チェインメモリアレイＣＹ００００，ＣＹ００１０では、その中の全ての相変化メモリセルを対象として一旦“１”（セット状態）の書き込み（初期書き込み又は消去と称す）が行われる。具体的には、チェインメモリアレイ選択線ＳＬ０が活性化され（ＳＬ０＝Ｈｉｇｈ、ＳＬ１＝Ｌｏｗ）、メモリセル選択線ＬＹ０〜ＬＹｎが全て非活性化（Ｌｏｗ）された状態で、ワード線ＷＬ０とビット線ＢＬ０＿０の間、ならびにワード線ＷＬ０とビット線ＢＬ０＿１の間にそれぞれ図２９のＳｅｔ電流パルスが印加される。そして、その後に、メモリセル選択線ＬＹ０に対応する相変化メモリセルを対象として、当該書き込み命令［１］に伴う所定のデータが書き込まれる。
【００５０】
この例では、当該書き込み命令［１］に伴うチェインメモリアレイＣＹ００００用およびチェインメモリアレイＣＹ００１０用の１ビットデータが共に“０”であるものとして、チェインメモリアレイＣＹ００００，ＣＹ００１０では、共にメモリセル選択線ＬＹ０に対応する相変化メモリセル（前述したセット状態の初期書き込み（消去）に伴い“１”を保持）を対象として“０”（リセット状態）が書き込まれる。具体的には、チェインメモリアレイ選択線ＳＬ０が活性化（ＳＬ０＝Ｈｉｇｈ、ＳＬ１＝Ｌｏｗ）され、メモリセル選択線ＬＹ０のみが非活性化（ＬＹ０＝Ｌｏｗ、ＬＹ１〜ＬＹｎ＝Ｈｉｇｈ）された状態で、ワード線ＷＬ０とビット線ＢＬ０＿０の間、ならびにワード線ＷＬ０とビット線ＢＬ０＿１の間にそれぞれ図２９のＲｅｓｅｔ電流パルスが印加される。
【００５１】
その後、再び当該物理アドレス［１］を対象とする書き込み命令［２］が入力された場合、今度はメモリセル選択線ＬＹ１が用いられる。この例では、当該書き込み命令［２］に伴うチェインメモリアレイＣＹ００００用の１ビットデータが“１”であり、チェインメモリアレイＣＹ００１０用の１ビットデータが“０”であるものとする。ここで、チェインメモリアレイＣＹ００００，ＣＹ００１０におけるメモリセル選択線ＬＹ１に対応する相変化メモリセルのデータは、前述したメモリセル選択線ＬＹ０での初期書き込み（消去）に伴い予め“１”となっている。したがって、当該書き込み命令［２］に伴う１ビットデータが“１”であるチェインメモリアレイＣＹ００００では、特に書き込み動作は行われず、チェインメモリアレイＣＹ００１０内のメモリセル選択線ＬＹ１に対応する相変化メモリセルを対象として“０”（リセット状態）が書き込まれる。具体的には、チェインメモリアレイ選択線ＳＬ０が活性化（ＳＬ０＝Ｈｉｇｈ、ＳＬ１＝Ｌｏｗ）され、メモリセル選択線ＬＹ１のみが非活性化（ＬＹ１＝Ｌｏｗ、ＬＹ０，ＬＹ２〜ＬＹｎ＝Ｈｉｇｈ）された状態で、ワード線ＷＬ０とビット線ＢＬ０＿１の間に図２９のＲｅｓｅｔ電流パルスが印加される。この際に、ワード線ＷＬ０とビット線ＢＬ０＿０の間には、特に電流パルスは印加されない。
【００５２】
図１７のチェインメモリアレイＣＹ００００，ＣＹ００１０内にはこのような書き込み動作が行われたあとの状態が示されている。以降も同様にして、当該物理アドレス［１］を対象として書き込み命令が入力される度に、使用するメモリセル選択線がＬＹ２→ＬＹ３→…→ＬＹｎと遷移していき、その後、ＬＹｎからＬＹ０に戻る際に、再度、前述した初期書き込み（消去）が行われる。
【００５３】
同様に、図１７において、例えば、チェインメモリアレイＣＹｋ００１とＣＹｋ０１１は同一の物理アドレス［２］に割り当てられるものとする。図１７のチェインメモリアレイＣＹｋ００１，ＣＹｋ０１１内には、当該物理アドレス［２］を対象として、チェインメモリアレイＣＹｋ００１，ＣＹｋ０１１用の１ビットデータを共に“１”とする書き込み命令がｎ回入力されたのち、更に、当該物理アドレス［２］を対象とする書き込み命令［ｎ＋１］が入力されたあとの状態が示されている。当該書き込み命令［ｎ＋１］では、チェインメモリアレイＣＹｋ００１用の１ビットデータは“１”であり、チェインメモリアレイＣＹｋ０１１用の１ビットデータは“０”である。チェインメモリアレイＣＹｋ００１，ＣＹｋ０１１では、当該ｎ回の書き込み命令に応じて、一旦最初に初期書き込み（消去）が行われたのち、メモリセル選択線をＬＹ０→ＬＹ１→…→ＬＹ（ｎ−１）と推移しながら「１」の書き込みが行われる（ただし実際には初期書き込み以外の書き込み動作は行われない）。その後、チェインメモリアレイＣＹｋ０１１では、前述した１ビットデータ“０”の書き込み命令［ｎ＋１］に応じて、メモリセル選択線ＬＹｎに対応する相変化メモリセルを対象として“０”（リセット状態）が書き込まれる。
【００５４】
図１８は、前述した第２動作モード時の書き込み動作に伴うチェインメモリアレイの変化の様子の一例を示すものである。図１８において、例えば、チェインメモリアレイＣＹｋ０００とＣＹｋ０１０は同一の物理アドレス［１］に割り当てられるものとする。ここで、当該物理アドレス［１］を対象とする書き込み命令［１］が入力された場合、チェインメモリアレイＣＹｋ０００，ＣＹｋ０１０では、まず、最初にその中の全ての相変化メモリセルを対象として一旦“１”（セット状態）の書き込み（すなわち前述した初期書き込み（消去））が行われる。そして、その後に、チェインメモリアレイＣＹｋ０００，ＣＹｋ０１０内の全ての相変化メモリセルを対象として、当該書き込み命令［１］に伴う所定のデータが書き込まれる。
【００５５】
この例では、当該書き込み命令［１］に伴うチェインメモリアレイＣＹｋ０００用の（ｎ＋１）ビットデータが“０…００”であり、チェインメモリアレイＣＹｋ０１０用の（ｎ＋１）ビットデータが“０…１０”となっている。ここで、チェインメモリアレイＣＹｋ０００，ＣＹｋ０１０における全相変化メモリセルのデータは、前述した初期書き込み（消去）に伴い予め“１”となっている。したがって、当該書き込み命令［１］に伴うデータが“１”のビットに対応する相変化メモリセル（ここではＣＹｋ０１０内のＬＹ１に対応する相変化メモリセル）では、特に書き込み動作が行われず、それ以外の相変化メモリセルを対象として“０”（リセット状態）が書き込まれる。具体的には、例えば、非活性化するメモリセル選択線をＬＹ０→ＬＹ１→…→ＬＹｎのように順次シフトさせながら、その都度、ワード線ＷＬｋとビット線ＢＬ０＿０の間と、ワード線ＷＬｋとビット線ＢＬ０＿１の間のそれぞれに図２９のＲｅｓｅｔ電流パルスを印加するか否かが選択される。この例では、メモリセル選択線ＬＹ１が非活性化された際のワード線ＷＬｋとビット線ＢＬ０＿１の間を除いた場合でＲｅｓｅｔ電流パルスが印加されることになる。
【００５６】
その後、再び当該物理アドレス［１］を対象とする書き込み命令［２］が入力された場合、書き込み命令［１］の場合と同様に、最初に初期書き込み（消去）が行われたのち、当該書き込み命令［２］に伴うチェインメモリアレイＣＹｋ０００，ＣＹｋ０１０用の各（ｎ＋１）ビットデータに基づいて適宜“０”（リセット状態）の書き込みが行われる。なお、ここでは、非活性化するメモリセル選択線を順次シフトさせながら“０”（リセット状態）の書き込みを行ったが、場合によっては、メモリセル選択線をシフトさせずに一括して書き込みを行うことも可能である。すなわち、例えば、メモリセル選択線ＬＹ０〜ＬＹｎを全て非活性状態とした状態で、ワード線ＷＬｋとビット線ＢＬ０＿０の間にＲｅｓｅｔ電流パルスを印加し、その後、メモリセル選択線ＬＹ０〜ＬＹｎをＬＹ１を除いて全て非活性状態とした状態で、ワード線ＷＬｋとビット線ＢＬ０＿１の間にＲｅｓｅｔ電流パルスを印加すればよい。
【００５７】
図１９は、前述した第１動作モードでｊ＝２とした場合の書き込み動作に伴うチェインメモリアレイの変化の様子の一例を示すものである。図１９において、例えば、チェインメモリアレイＣＹ００００とＣＹ００１０は同一の物理アドレス［１］に割り当てられるものとする。ここで、当該物理アドレス［１］を対象とする書き込み命令［１］が入力された場合、チェインメモリアレイＣＹ００００，ＣＹ００１０では、まず最初に、２本のメモリセル選択線ＬＹ０，ＬＹ１が用いられる。
【００５８】
ここで、メモリセル選択線ＬＹ０，ＬＹ１を対象とする書き込み動作が行われる際には、それに先だって、チェインメモリアレイＣＹ００００，ＣＹ００１０では、その中の全ての相変化メモリセルを対象として前述した初期書き込み（消去）が行われる。そして、その後に、メモリセル選択線ＬＹ０，ＬＹ１に対応する相変化メモリセルを対象として、当該書き込み命令［１］に伴う所定のデータが書き込まれる。ここでは、当該書き込み命令［１］に伴うチェインメモリアレイＣＹ００００用の２ビットデータが“００”であり、チェインメモリアレイＣＹ００１０用の２ビットデータが“１０”である場合を例としている。具体的な書き込み動作は、非活性化するメモリセル選択線をＬＹ０→ＬＹ１のようにシフトさせ、その都度、ワード線ＷＬ０とビット線ＢＬ０＿０の間と、ワード線ＷＬ０とビット線ＢＬ０＿１の間のそれぞれに図２９のＲｅｓｅｔ電流パルスを印加するか否かを選択することで行われる。
【００５９】
その後、再び当該物理アドレス［１］を対象とする書き込み命令［２］が入力された場合、今度はメモリセル選択線ＬＹ２，ＬＹ３が用いられる。この例では、当該書き込み命令［２］に伴うチェインメモリアレイＣＹ００００用の２ビットデータが“１１”であり、チェインメモリアレイＣＹ００１０用の２ビットデータが“１０”である場合を例としている。図１９のチェインメモリアレイＣＹ００００，ＣＹ００１０内にはこのような書き込み動作が行われたあとの状態が示されている。以降も同様にして、当該物理アドレス［１］を対象として書き込み命令が入力される度に、使用するメモリセル選択線がＬＹ４，ＬＹ５→ＬＹ６，ＬＹ７→…と遷移していき、その後、ＬＹｎ−１，ＬＹｎからＬＹ０，ＬＹ１に戻る際に、再度、前述した初期書き込み（消去）が行われる。
【００６０】
以上、図１７〜図１９に示すようなメモリアレイの動作方式を用いることで、例えば次のような効果が得られる。
【００６１】
（１）前述した第１動作モード時には、（ｎ＋１）ビットのチェインメモリアレイがｊ（＜（ｎ＋１））ビットの記憶容量を持つものとして使用されると共に、当該ｊビットは当該チェインメモリアレイ内で循環するように制御されるため、前述した第２動作モード時と比べて高速化と寿命の拡大が図れる。すなわち、例えば図１７の場合、図１８の場合と比較して、“０”（リセット状態）の書き込み対象となる最大ビット数が１／（ｎ＋１）に減るため、これに伴う書込みデータ検証動作（ベリファイ動作）も含めて書き込みに要する最大時間を短縮することができる。また、チェインメモリアレイ内の全ビットは、図１７の場合には（ｎ＋１）回の書き込み命令によって１回使用されるのに対して、図１８の場合には１回の書き込み命令によって１回使用されるため、図１７の場合は図１８の場合に比べて寿命が約（ｎ＋１）倍程度に延びる。
【００６２】
一方、第２動作モード時には、第１動作モード時と比べて、大容量化や低コスト化が図れる。すなわち、例えば、図１７の場合には１個のチェインメモリアレイが１ビットの記憶容量を持つものとして使用されるのに対して、図１８の場合には、１個のチェインメモリアレイが（ｎ＋１）ビットの記憶容量を持つものとして使用されるため、単位面積当たりの容量値が大きくなり、ビットコストを低く設定できる。これらの結果、例えば不揮発性メモリ装置内において第１動作モードで使用される領域と第２動作モードで使用される領域を設けるなど、第１動作モードと第２動作モードを適宜組み合わせることで、速度、寿命、容量等の性能をバランスよく確保することでき、ユーザの要求性能に対して柔軟に対応することが可能になる。
【００６３】
（２）前述した第１および第２動作モードの双方において、チェインメモリアレイ内の全てのメモリセルに対して、一旦、セット状態およびリセット状態の中の一方の状態を一括して書き込んだのち（初期書き込み（消去）ののち）、他方の状態を特定のメモリセルに書き込むような方式を用いることで、安定した書き込み動作が実現可能になる。すなわち、チェインメモリアレイ内では、まず、一括して一方の状態を書き込むことでチェインメモリアレイ内の各メモリセルの状態（抵抗値）をほぼ均一に保つことが可能になる。そして、その後に特定のメモリセルに対して他方の状態を書き込む際に、当該書き込みに伴う発熱によって当該特定のメモリセルの周辺に配置された各メモリセルは、同様の初期状態から同様の影響を受けるため、結果として、チェインメモリアレイ内における各メモリセル間の抵抗値のばらつき量を低減することができる。これによって、安定した書き込み動作が実現可能になる。特に、図１７〜図１９に示すような積層構造のチェインメモリアレイを用いる場合には、積層構造を用いない場合と比べて各メモリセル間がより近接配置される可能性が高いため、このような方式によってばらつき量を低減することがより有益となる。
【００６４】
また、さらに、ここでは、初期書き込み（消去）時にセット状態を用い、その後の特定のメモリセルに対する書き込み時にリセット状態を用いている。これによって、より安定した書き込み動作が実現可能になる。例えば、相変化メモリセルでは、通常、リセット状態よりもセット状態の方が安定している。また、図２９に示したように、セット状態を書き込む際のパルス幅は、リセット状態を書き込む際のパルス幅に比べて広いため、セット状態を書き込む際には、その分だけ当該書き込み動作に伴う発熱が周辺に広がり易く、周辺の相変化メモリセルの記憶状態に影響を及ぼす可能性が高くなる。これらを鑑みると、本実施の形態の書き込み方式のように、特定の相変化メモリセルを対象としてセット状態の書き込みが生じないような方式を用いることが有益となる。本実施の形態の書き込み方式を用いると、特定の相変化メモリセルにリセット状態を書き込む際に、その周辺の相変化メモリセルは初期書き込み（消去）に伴いセット状態で安定しており、更に、リセット状態の書き込みに伴うパルス幅が狭いことから、当該書き込みに伴う熱の広がりも抑制される。
【００６５】
（３）前述した第１動作モードと、前述したチェインメモリアレイ内の各メモリセルに対する具体的な書き込み方式を組み合わせることで、メモリセルの寿命の向上と共に安定した書き込み動作が実現でき、信頼性の向上が図れる。
【００６６】
なお、図１７〜図１９および図３Ｂ等では、例えばｎ＝７等とし、積層される（ｎ＋１）個の相変化メモリセルを１個のチェインメモリアレイに対応させたが、必ずしもこれに限定されるものではなく、適宜対応関係を変更することも可能である。例えば、図１７において、ｎ＝３とし、順に積層される４個の相変化メモリセル（例えばＣＹ００００に該当）と、この隣で順に積層されると共にダイオードおよびビット線を共有する４個の相変化メモリセル（例えばＣＹ０００１に該当）とを、１個のチェインメモリアレイに対応させることも可能である。この場合、当該チェインメモリアレイの初期書き込み（消去）は、チェインメモリアレイ選択線ＳＬ０，ＳＬ１を順に活性化することで２回に分けて行われる。あるいは、例えば書き込み電流を２倍の大きさに設定できるような場合には、チェインメモリアレイ選択線ＳＬ０，ＳＬ１を共に活性化することで１回で行うことも可能である。また、例えば、図１７では、書き込み命令が入力される毎にメモリセル選択線を順次シフトさせたが、例えば、当該書き込み命令に伴うデータがオール“１”の場合には、当該シフトを行わないような機能を付加することも可能である。
【００６７】
《不揮発性メモリ装置への書き込み動作》
図６は、図３Ａの不揮発性メモリ装置において、その概略的な書き込み動作のタイミングの一例を示す説明図である。ここでは、図１の不揮発性メモリ装置ＮＶＭ１ｘ（ｘ＝０〜７）のいずれかに対応する図３Ａの不揮発性メモリ装置を対象に、ＭバイトのデータをデータバッファＤＢＵＦ０を介してメモリアレイＡＲＹ０〜ＡＲＹｍ内の相変化メモリセルに書き込む場合を例とする。なお、図６における「ｍ＊ｎ」等の「＊」は「×」（乗算）を意味するものである。
【００６８】
図６において、ロウ・レベルとなっているコマンド・ラッチイネーブル信号ＣＬＥをハイ・レベルに駆動し、ハイ・レベルとなっているチップイネーブル信号ＣＥＢ及びアドレス・ラッチイネーブル信号ＡＬＥをロウ・レベルに駆動する。この後、書き込みコマンドＷ１０を入出力線Ｉ／Ｏｘ（ｘ＝０〜７）（図３ＡのＩＯ［７：０］）を介して入力すると、ライトイネーブル信号ＷＥＢの立ち上がりエッジによって書き込みコマンドＷ１０が図３Ａのアドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦへ取り込まれ、解読される。また、書き込みコマンドＷ１０には、データバッファＤＢＵＦ０あるいはＤＢＵＦ１を指定する情報も含まれており、図６の例ではデータバッファＤＢＵＦ０が指定されている。
【００６９】
次に、ハイ・レベルとなっているコマンド・ラッチイネーブル信号ＣＬＥをロウ・レベルへ、ロウ・レベルとなっているアドレス・ラッチイネーブル信号ＡＬＥをハイ・レベルに夫々駆動して、カラムアドレスを２回（ＣＡ１、ＣＡ２）、ロウアドレスを３回（ＲＡ１、ＲＡ２、ＲＡ３）に分けて順に入力する。これらのアドレスは、ライトイネーブル信号ＷＥＢの立ち上がりエッジによって、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦへ取り込まれ、解読される。アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦにてアドレスおよび書き込みコマンドＷ１０を解読した結果、メモリバンクＢＫ０への書き込み命令であることが制御回路ＣＴＬＯＧに伝えられると、制御回路ＣＴＬＯＧは、メモリバンクＢＫ０にデータを書き込むため、メモリバンクＢＫ０を活性化する。
【００７０】
アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦへ入力されたロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）およびカラムアドレス（ＣＡ１、ＣＡ２）は、制御回路ＣＴＬＯＧを通じて、それぞれ、活性化されたメモリバンクＢＫ０のロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴおよびチェイン選択アドレスラッチＣＨＬＴへ転送される。ここで書き込み動作は、最初に入力されたカラムアドレスから開始される。ロウアドレスラッチＲＡＤＬＴからロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）がロウデコーダＲＯＷＤＥＣへ転送され、ロウデコーダＲＯＷＤＥＣによってロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）に対応したワード線ＷＬｋ（ワード線ＷＬｋ＝Ｈｉｇｈ）が選択される。次に、チェイン選択アドレスラッチＣＨＬＴからチェインアドレス（ＣＨＡＤ）およびセルアドレス（ＣＬＡＤ）がチェインデコーダＣＨＤＥＣへ転送され、チェインデコーダＣＨＤＥＣによって、チェインアドレス（ＣＨＡＤ）およびセルアドレス（ＣＬＡＤ）に対応したチェインメモリアレイ選択線ＳＬおよびメモリセル選択線ＬＹが選択される。
【００７１】
続いて、カラムアドレスラッチＣＡＤＬＴからカラムアドレス（ＣＡ１、ＣＡ２）がカラムデコーダＣＯＬＤＥＣへ転送され、解読される。カラムデコーダＣＯＬＤＥＣからの解読結果は、各メモリアレイＡＲＹ０〜ＡＲＹｍのビット線選択回路ＢＳＷ０〜ＢＳＷｍへ入力され、メモリアレイＡＲＹ０〜ＡＲＹｍ毎に一つのビット線ＢＬｉ＿ｘ（ｘ＝０〜ｍ）が選択され、データ線ＤＴ０〜ＤＴｍを介して書き込み（ライト）ドライバＷＤＲ０〜ＷＤＲｍへ接続される。このような状態から、書き込みドライバＷＤＲ０〜ＷＤＲｍは、データ線ＤＴ０〜ＤＴｍを介して選択されたビット線ＢＬｉ＿ｘをＬｏｗ状態とし、図４および図５に示したように、相変化メモリセルＣＬの可変抵抗型記憶素子Ｒに所定の電流を流すことでこの可変抵抗型記憶素子Ｒを低抵抗状態や高抵抗状態にする。
【００７２】
相変化メモリセルＣＬの可変抵抗型記憶素子Ｒを低抵抗状態にする、すなわち記憶情報“１”を書き込む場合には、データ線ＤＴ０〜ＤＴｍを介して印加するメモリセル電流Ｉｃｌはセット動作に必要な値（Ｉｓｅｔ）に制御される。相変化メモリセルＣＬを高抵抗状態にする、すなわち記憶情報“０”を書き込む場合には、データ線ＤＴ０〜ＤＴｍを介して印加するメモリセル電流Ｉｃｌはリセット動作に必要な値（Ｉｒｅｓｅｔ）に制御される。例えば、一つのメモリバンクの中に、書き込みドライバＷＤＲが合計（ｍ＋１）個存在し、各メモリアレイＡＲＹ０〜ＡＲＹｍ内で８ビットの記憶容量を持つチェインメモリアレイＣＹが１個ずつ選択されるものとすると、メモリバンクの中で、（ｍ＋１）バイトを単位とした書き込みを行うことができる。
【００７３】
次に、ハイ・レベルとなっているアドレス・ラッチイネーブル信号ＡＬＥをロウ・レベルに駆動して、ライトイネーブル信号ＷＥＢの立ち上がりエッジに同期して、記憶情報ＤＩ（１），ＤＩ（２），…，ＤＩ（Ｍ）が、入出力線Ｉ／Ｏｘ（ｘ＝０〜７）を介してそれぞれ１バイトずつ入力される。この各記憶情報ＤＩ（１），ＤＩ（２），…，ＤＩ（Ｍ）は、順次、データバッファＤＢＵＦ０へ入力される。データバッファＤＢＵＦ０へｎバイト分のデータが入力されるたびに、ｎ×８個分の書き込みドライバＷＤＲを通じて、ｎバイト分のデータが書き込まれる。以下に、その動作を示す。
【００７４】
先ず、最初のｎバイト分のデータの書き込み動作を説明する。
【００７５】
データバッファＤＢＵＦ０への最初のｎバイト分のデータの中で、最初の１バイト分のデータが入力された時点で、書き込みドライバＷＤＲを通じて、カラムアドレス｛ＣＡ１、ＣＡ２｝によって選択された最初のｎバイト分のメモリセルが低抵抗状態（消去：ＥＲＳ１（１））に書き込まれる。次に、データバッファＤＢＵＦ０に最初のｎバイト分のデータがすべて入力された時点で、データバッファＤＢＵＦ０に保持されているデータの中で“０”のデータに対応する相変化メモリセルが、書き込みドライバＷＤＲを通じて、高抵抗状態（プログラム：ＰＲＯＧ０（１））に書き込まれる。最後に、書込みデータ検証回路ＷＶｘ（ｘ＝０〜ｍ）は、相変化メモリセルへ書き込まれた“０”のデータを読み出し、正しく“０”が書き込まれたかを確認する（ベリファイ：ＶＲＦ０（１））。これによって、最初のｎバイト分のデータ書き込みが行われる。
【００７６】
次に、２番目のｎバイト分のデータの書き込み動作を説明する。
【００７７】
データバッファＤＢＵＦ０への２番目のｎバイト分のデータの中で、最初の１バイト分のデータが入力した時点で、書き込みドライバＷＤＲを通じて、カラムアドレス｛｛ＣＡ１、ＣＡ２｝＋（ｎ）｝によって選択された２番目のｎバイト分のメモリセルが低抵抗状態（消去：ＥＲＳ１（２））に書き込まれる。次に、データバッファＤＢＵＦ０に２番目のｎバイト分のデータがすべて入力された時点で、データバッファＤＢＵＦ０に保持されているデータの中で“０”のデータに対応する相変化メモリセルが、書き込みドライバＷＤＲを通じて、高抵抗状態（プログラム：ＰＲＯＧ０（２））に書き込まれる。最後に、書込みデータ検証回路ＷＶｘ（ｘ＝０〜ｍ）は、相変化メモリセルへ書き込まれた“０”のデータを読み出し、正しく“０”が書き込まれたかを確認する（ベリファイ：ＶＲＦ０（２））。これによって、２番目のｎバイト分のデータ書き込みが行われる。
【００７８】
３番目のｎバイト分のデータの書き込み動作も、上記の動作と同様に行われ、その際のカラムアドレスは｛｛ＣＡ１、ＣＡ２｝＋（２ｎ）｝となる。このように、開始カラムアドレス｛ＣＡ１、ＣＡ２｝に対して順にｎの倍数を加算しながらカラムアドレスを生成し、当該カラムアドレスによってｎバイト分の相変化メモリセルＣＬが選択される毎に、消去（ＥＲＳ１）、プログラム（ＰＲＯＧ０）およびベリファイ（ＶＲＦ０）が実行される。なお、当該カラムアドレスの加算は、例えば、図３Ａの制御回路ＣＴＬＯＧによって行われる。
【００７９】
このような動作により、Ｍバイトのデータを書き込む際は、消去（ＥＲＳ１）とプログラム（ＰＲＯＧ０）およびベリファイ（ＶＲＦ０）がＭ／ｎ回生じることになる。また、書き込みコマンドＷ１０にてデータバッファＤＢＵＦ１を指定した場合は、入出力線Ｉ／Ｏｘ（ｘ＝０〜７）を介してデータバッファＤＢＵＦ１へ入力され、データバッファＤＢＵＦ１に保持されたデータが相変化メモリセルＣＬへ書き込まれる。なお、図６において、書き込み実行コマンドＷ１１は、記憶情報ＤＩ（１）〜ＤＩ（Ｍ）の入力が終わり、メモリアレイに対して実施の書き込み動作を行わせる旨を指示するための命令フォーマット上のコマンドである。ただし、図６の例では、当該書き込み実行コマンドＷ１１を受ける前の段階で、データバッファに所定量のデータが蓄えられる度に実際の書き込み動作を行っており、これによって高速化を図っている。
【００８０】
また、特に限定しないが、第２動作モード時のＭバイトの書き込みは、例えば１本のワード線に対して各メモリアレイＡＲＹ０〜ＡＲＹｍ毎に１本のビット線を活性化し、これによりＡＲＹ０〜ＡＲＹｍからそれぞれ１個ずつチェインメモリアレイＣＹを選択し、当該ＣＹ内の全メモリセルを書き込み対象とすることで行われる。当該メモリアレイ構成を前提とする場合、第１動作モード時のＭバイトの書き込みは、例えば各メモリアレイＡＲＹ０〜ＡＲＹｍ毎の１本のビット線に対して複数本のワード線を順に活性化し、これによりＡＲＹ０〜ＡＲＹｍの中からそれぞれ複数個ずつチェインメモリアレイＣＹを選択し、当該ＣＹ内の１個のメモリセルを書き込み対象とすることで行われる。あるいは、例えば１本のワード線に対して各メモリアレイＡＲＹ０〜ＡＲＹｍ毎に複数本のビット線を順に活性化し、これによりＡＲＹ０〜ＡＲＹｍの中からそれぞれ複数個ずつチェインメモリアレイＣＹを選択し、当該ＣＹ内の１個のメモリセルを書き込み対象とすることで行われる。
【００８１】
以上説明したように、不揮発性メモリ装置ＮＶＭ１ｘ（ｘ＝０〜７）はＭバイトのデータを書き込む際には、要求されたＭバイトデータサイズだけの消去（ＥＲＳ１）とプログラム（ＰＲＯＧ０）およびベリファイ（ＶＲＦ０）動作を行う。つまり、消去（ＥＲＳ１）のデータサイズとプログラム（ＰＲＯＧ０）のデータサイズは等しいため、余分なアドレスのデータを消去（ＥＲＳ１）する必要な無いため、高速な書き込みを実現できる。また、この書き込み動作において、図１７〜図１９で述べたように、上書きはせず、一旦、対象となる相変化メモリセルＣＬを消去状態とすることで、相変化メモリセルの抵抗値の均一化を図ることができ、安定した書き込み動作が実現できる。さらに、プログラム（ＰＲＯＧ０）後、ベリファイ（ＶＲＦ０）を行うことで、高い信頼性を保つことができる。
【００８２】
《不揮発性メモリ装置からの読み出し動作》
図７は、図３Ａの不揮発性メモリ装置において、その概略的な読み出し動作のタイミングの一例を示す説明図である。ここでは、図１の不揮発性メモリ装置ＮＶＭ１ｘ（ｘ＝０〜７）のいずれかに対応する図３Ａの不揮発性メモリ装置を対象に、指定されたデータサイズ分のデータを、メモリアレイＡＲＹ０〜ＡＲＹｍ内の相変化メモリセルからデータバッファＤＢＵＦ０を介して読み出す場合を例とする。なお、図７における「ｋ＊ｎ」等の「＊」は「×」（乗算）を意味するものである。
【００８３】
図７において、ロウ・レベルとなっているコマンド・ラッチイネーブル信号ＣＬＥをハイ・レベルに駆動し、ハイ・レベルとなっているチップイネーブル信号ＣＥＢ及びアドレス・ラッチイネーブル信号ＡＬＥをロウ・レベルに駆動する。次に、読み出しコマンドＲＤ４が入出力線Ｉ／Ｏｘ（ｘ＝０〜７）（図３ＡのＩＯ［７：０］）を介して入力されると、ライトイネーブル信号ＷＥＢの立ち上がりエッジによって、第１の読み出しコマンドＲＤ４がアドレス・コマンドインターフェース回路ＡＤＣＯＭＩＦへ取り込まれ、解読される。
【００８４】
次に、ハイ・レベルとなっているコマンド・ラッチイネーブル信号ＣＬＥをロウ・レベルへ、ロウ・レベルとなっているアドレス・ラッチイネーブル信号ＡＬＥをハイ・レベルに夫々駆動して、カラムアドレスを２回（ＣＡ１、ＣＡ２）、ロウアドレスを３回（ＲＡ１、ＲＡ２、ＲＡ３）に分けて順に入力する。これらのアドレスは、ライトイネーブル信号ＷＥＢの立ち上がりエッジによって、アドレス・コマンドインターフェース回路ＡＤＣＯＭＩＦへ取り込まれ、解読される。
【００８５】
次にロウ・レベルとなっているコマンド・ラッチイネーブル信号ＣＬＥをハイ・レベルに駆動し、ハイ・レベルとなっているチップイネーブル信号ＣＥＢ及びアドレス・ラッチイネーブル信号ＡＬＥをロウ・レベルに駆動する。続いて、第２の読み出しコマンドＲＤ４１を入出力線Ｉ／Ｏｘ（ｘ＝０〜７）を介して入力すると、ライトイネーブル信号ＷＥＢの立ち上がりエッジによって、第２の読み出しコマンドＲＤ４１がアドレス・コマンドインターフェース回路ＡＤＣＯＭＩＦへ取り込まれ、解読される。
【００８６】
コマンドＲＤ４およびＲＤ４１には、データバッファＤＢＵＦ０あるいはＤＢＵＦ１を指定する情報も含まれており、図７の例ではデータバッファＤＢＵＦ０を指定している。アドレス・コマンドインターフェース回路ＡＤＣＯＭＩＦにてアドレス、コマンドＲＤ４およびコマンドＲＤ４１を解読した結果、メモリバンクＢＫ０への読み出し命令であることが制御回路ＣＴＬＯＧに伝えられると、制御回路ＣＴＬＯＧは、メモリバンクＢＫ０からデータを読み出すため、メモリバンクＢＫ０を活性化する。
【００８７】
アドレス・コマンドインターフェース回路ＡＤＣＯＭＩＦへ入力されたロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）およびカラムアドレス（ＣＡ１、ＣＡ２）は、制御回路ＣＴＬＯＧを通じて、それぞれ、活性化されたメモリバンクＢＫ０のロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴおよびチェイン選択アドレスラッチＣＨＬＴへ転送される。ここで読み出し動作は、最初に入力されたカラムアドレスから開始される。ロウアドレスラッチＲＡＤＬＴからロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）がロウデコーダＲＯＷＤＥＣへ転送され、ロウデコーダＲＯＷＤＥＣによってロウアドレス（ＲＡ１、ＲＡ２、ＲＡ３）に対応したワード線ＷＬｋ（ワード線ＷＬｋ＝Ｈｉｇｈ）が選択される。次に、チェイン選択アドレスラッチＣＨＬＴからチェインアドレス（ＣＨＡＤ）およびセルアドレス（ＣＬＡＤ）がチェインデコーダＣＨＤＥＣへ転送され、チェインデコーダＣＨＤＥＣによって、チェインアドレス（ＣＨＡＤ）およびセルアドレス（ＣＬＡＤ）に対応したチェインメモリアレイ選択線ＳＬおよびメモリセル選択線ＬＹが選択される。
【００８８】
続いて、カラムアドレスラッチＣＡＤＬＴからカラムアドレス（ＣＡ１、ＣＡ２）がカラムデコーダＣＯＬＤＥＣへ転送され、解読される。カラムデコーダＣＯＬＤＥＣからの解読結果は、各メモリアレイＡＲＹ０〜ＡＲＹｍのビット線選択回路ＢＳＷ０〜ＢＳＷｍへ入力され、メモリアレイＡＲＹ０〜ＡＲＹｍ毎に一つのビット線ＢＬｉ＿ｘ（ｘ＝０〜ｍ）が選択され、データ線ＤＴ０〜ＤＴｍを介してセンスアンプＳＡ０〜ＳＡｍへ接続される。これにより、メモリアレイＡＲＹ０〜ＡＲＹｍ毎に１ビットの相変化メモリセルＣＬが選択されるため、一つのメモリバンクの中で同時に合計（ｍ＋１）ビットの相変化メモリセルＣＬ（０ビット目からｍビット目）が選択される。
【００８９】
メモリアレイ毎に選択された相変化メモリセルＣＬ（０ビット目からｍビット目）を対象に、ワード線からビット線（データ線ＤＴ０〜ＤＴｍ）に向けて所定の読み出し電流を流すと、記憶状態に応じた電圧が生成される。センスアンプＳＡ０〜ＳＡｍは、この際の電圧を計測し、参照電圧と比較することにより、相変化メモリセルＣＬへ記録された（ｍ＋１）ビット分のデータＤｎｂｙｔｅを検出する。つまり、カラムアドレス｛ＣＡ１、ＣＡ２｝によって選択された最初のｎバイト（＝（ｍ＋１）／８）分のデータＤｎｂｙｔｅが相変化メモリセルＣＬから同時に検出される。
【００９０】
例えばメモリアレイＡＲＹ０において、ワード線ＷＬ０とビット線ＢＬ０＿０の交点に位置するチェインメモリアレイＣＹ内の所定の相変化メモリセルＣＬがデータ“１”を記憶しており、低抵抗状態にある場合は、ビット線ＢＬ０＿０及びデータ線ＤＴ０が充電され、センスアンプＳＡ０はその電圧からデータ“１”を検出する。一方、メモリアレイＡＲＹ１において、ワード線ＷＬ０とビット線ＢＬ０＿１の交点に位置するチェインメモリアレイＣＹ内の所定の相変化メモリセルＣＬがデータ“０”を記憶しており、高抵抗状態にある場合は、ビット線ＢＬ０＿１及びデータ線ＤＴ１は、ほぼ接地電圧ＶＳＳに保持され、センスアンプＳＡ１はその電圧からデータ“０”を検出する。
【００９１】
検出された１番目のｎバイト（＝（ｍ＋１）／８）分のデータＤｎｂｙｔｅはデータ選択回路ＤＳＷ１を介して、コマンドＲＤ４およびＲＤ４１によって指定されたデータバッファＤＢＵＦ０へ転送される。次のｎバイト分のデータは、カラムアドレス｛｛ＣＡ１、ＣＡ２｝＋（ｎ）｝によって選択され、データバッファＤＢＵＦ０へ転送される。このように、開始カラムアドレス｛ＣＡ１、ＣＡ２｝に対して順にｎの倍数を加算しながらカラムアドレスが選択され、当該選択されたカラムアドレスに対応する相変化メモリセルＣＬからｎバイト分のデータが読み出され、データバッフＤＢＵＦ０へ順次転送される。このｎの倍数の加算は、例えば、図３Ａの制御回路ＣＴＬＯＧによって行われる。指定したデータサイズがｋ＊ｎバイトの時、メモリアレイＡＲＹからデータバッファＤＢＵＦ０へのデータ転送がｋ回生じる。
【００９２】
相変化メモリセルＣＬからデータバッファＤＢＵＦ０へデータ転送が行われている期間は、ハイ・レベルとなっているレディー／ビジー信号ＲＢＢはロウ・レベルとなる。このデータ転送が終了した時点で、ロウ・レベルとなっているレディー／ビジー信号ＲＢＢがハイ・レベルとなる。ここで、例えば入出力信号ＩＯが８ビット（１バイト）の場合、データバッファＤＢＵＦ０へ格納されたｋ＊ｎバイト分のデータは、読み出しイネーブル信号ＲＥＢの立ち下がりエッジに同期して、入出力信号ＩＯを介してＤＯ（１）〜ＤＯ（ｋ＊ｎ）の順に出力される。例えば指定されたデータサイズが５１２バイトで、同時に選択される相変化メモリセルＣＬのデータサイズが１６バイトで、入出力信号ＩＯが８ビット（１バイト）の場合は、相変化メモリセルＣＬからデータバッファＤＢＵＦ０へは合計３２回（＝５１２／１６）のデータ転送が行われ、データバッファＤＢＵＦ０から入出力信号ＩＯを介してデータを出力する回数は５１２回となる。
【００９３】
また、コマンドＲＤ４およびＲＤ４１にてデータバッファＤＢＵＦ１を指定した場合は、同様に、不揮発性メモリ装置ＮＶＭ１ｘ（ｘ＝０〜７）のメモリアレイから、指定したデータサイズ（ｋ＊ｎバイト）分のデータが、データバッファＤＢＵＦ１を介して読み出される。このように、任意のデータサイズを指定した読み出し動作では、必要なサイズ分のデータのみを効率的に読み出しことができるため、高速読み出しが実現できる。
【００９４】
《電源投入時の初期シーケンス》
図８Ａおよび図８Ｂは、図１の情報処理システムにおいて、電源投入時のそれぞれ異なる初期シーケンスの一例を示す図である。図８Ａは、図１のメモリモジュール（半導体装置）ＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に格納されているＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を利用した場合における電源投入時の初期シーケンスを示すものである。図８Ｂは、図１の情報処理装置ＣＰＵ＿ＣＰから送信されたＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を利用した場合における電源投入時の初期シーケンスを示すものある。
【００９５】
まず、図８Ａに示す初期シーケンスを説明する。Ｔ１の期間（ＰｗＯｎ）で情報処理装置ＣＰＵ＿ＣＰと、メモリモジュールＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０へ電源投入を行い、Ｔ２の期間（ＲＳＴ）でリセットを行う。リセットの方法は、特に限定されないが、例えばそれぞれの内蔵回路で自動的にリセットを行う方法でも、外部にリセット端子（リセット信号ＲＳＴＳＩＧ）を有し、このリセット信号によってリセット動作を行う方法でもよい。また、例えば情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じて、リセット命令を制御回路ＭＤＬＣＴ０へ入力し、リセットを行う方法でもよい。
【００９６】
Ｔ２のリセット期間（ＲＳＴ）では、情報処理装置ＣＰＵ＿ＣＰ、制御回路ＭＤＬＣＴ０、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７、ランダムアクセスメモリＲＡＭの内部状態が初期化される。この際に、制御回路ＭＤＬＣＴ０は、ランダムアクセスメモリＲＡＭへ格納されているアドレス範囲マップ（ＡＤＭＡＰ）および各種テーブルを初期化する。各種テーブルの中には、アドレス変換テーブル（ＬＰＴＢＬ）、物理セグメントテーブル（ＰＳＥＧＴＢＬ１，ＰＳＥＧＴＢＬ２）、物理アドレステーブル（ＰＡＤＴＢＬ）、および書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）が含まれる。
【００９７】
なお、当該アドレス範囲マップ（ＡＤＭＡＰ）および各種テーブルは、詳細に関しては後述するが、簡単に説明すると次のようなものである。アドレス範囲マップ（ＡＤＭＡＰ）は、前述した第１動作モードで使用されるアドレス領域と第２動作モードで使用されるアドレス領域の区画割りを示すものである。アドレス変換テーブル（ＬＰＴＢＬ）は、現在の論理アドレスと物理アドレスの対応関係を示すものである。物理セグメントテーブル（ＰＳＥＧＴＢＬ１，ＰＳＥＧＴＢＬ２）は、各物理アドレスでの消去回数等をセグメント単位で管理するものであり、ウエアレベリング等で使用されるものである。物理アドレステーブル（ＰＡＤＴＢＬ）は、現在の各物理アドレスの状態を詳細に管理するものである。書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）は、ウエアレベリングに基づいて、論理アドレスに対して次に割り当てるべき物理アドレスを定めたものである。ここで、当該書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）は、書き込み速度の高速化を図るため、その情報の一部又は全てが図２に示した書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２にコピーされている。
【００９８】
Ｔ２の期間が終了した後のＴ３の期間（ＭＡＰ）では、制御回路ＭＤＬＣＴ０は、不揮発性メモリＮＶＭ１０〜ＮＶＭ１７へ格納されているＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を読み出し、図２のマップレジスタＭＡＰＲＥＧへ転送する。次に、マップレジスタＭＡＰＲＥＧ内のＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を読み出し、このＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を利用して、前述したアドレス範囲マップ（ＡＤＭＡＰ）を生成し、ランダムアクセスメモリＲＡＭへ格納する。すなわち、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）には、前述した第１動作モードで使用されるアドレス領域と第２動作モードで使用されるアドレス領域の情報が含まれている。
【００９９】
さらに、制御回路ＭＤＬＣＴ０は、マップレジスタＭＡＰＲＥＧ内のＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）の中で２個の論理アドレス領域（ＬＲＮＧ１とＬＲＮＧ２）が設定されていれば、これに応じた書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）を構築する。具体的には、例えば書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）内を、論理アドレス領域（ＬＲＮＧ１）用の書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ１）と、論理アドレス領域（ＬＲＮＧ２）用の書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ２）とに切り分ける。例えば、論理アドレス領域（ＬＲＮＧ１）は前述した第１動作モード用の領域に対応し、論理アドレス領域（ＬＲＮＧ２）は前述した第２動作モード用の領域に対応する。
【０１００】
特に限定しないが、書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）が０エントリー目から（Ｎ−１）エントリー目までのＮ個分のエントリーで構成されている場合、０エントリー目から（Ｎ／２−１）エントリー目までのＮ／２個分を書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とすることができる。そして、残りのＮ／２エントリー目からＮエントリー目までの、Ｎ／２個分を書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ２）とすることもできる。
【０１０１】
Ｔ３の期間が終了した後のＴ４の期間（ＳｅｔＵｐ）では、情報処理装置ＣＰＵ＿ＣＰは、メモリモジュールＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ０へ格納されているブートプログラムを読み出し、情報処理装置ＣＰＵ＿ＣＰを立ち上げる。Ｔ４の期間が終了した後のＴ５の期間（Ｉｄｌｅ）以降では、メモリモジュールＮＶＭＭＤ０はアイドル状態となり、情報処理装置ＣＰＵ＿ＣＰからのリクエストを待つ状態となる。
【０１０２】
次に、図８Ｂに示す初期シーケンスを説明する。Ｔ１１の期間（ＰｗＯｎ）と、Ｔ２１の期間（ＲＳＴ）では、それぞれ、図８ＡのＴ１の期間及びＴ２の期間と同様の動作を行う。Ｔ２１の期間が終了した後のＴ３１の期間（Ｈ２Ｄ）では、情報処理装置ＣＰＵ＿ＣＰは、メモリモジュールＮＶＭＭＤ０へＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を送信し、これを受けた制御回路ＭＤＬＣＴ０は、このＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に格納する。Ｔ３１の期間が終了した後のＴ４１の期間（ＭＡＰ）、Ｔ５１の期間（ＳｅｔＵｐ）、Ｔ６１の期間（Ｉｄｌｅ）では、それぞれ、図８ＡのＴ３、Ｔ４、Ｔ５の期間と同様の動作を行う。
【０１０３】
このような初期シーケンスにおいて、図８Ａに示したように、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）がメモリモジュールＮＶＭＭＤ０（不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７）へ予め格納されていれば、高速に電源投入時の初期シーケンスを実行することができる。一方、図８Ｂに示したように、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ伝送する場合には、情報処理システムの動作目的等に応じて、適宜、メモリモジュールＮＶＭＭＤ０の構成（使い方）をカスタマイズすることができる。
【０１０４】
《物理アドレステーブルの詳細》
図９は、図１のランダムアクセスメモリに格納される物理アドレステーブルの構成例を示す図である。物理アドレステーブルＰＡＤＴＢＬは、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）と、この各物理アドレスＰＡＤに対応した有効フラグＰＶＬＤ、消去回数ＰＥＲＣ、レイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣから構成され、図１のランダムアクセスメモリＲＡＭに格納されている。有効フラグＰＶＬＤ値が１の場合は、対応する物理アドレスＰＡＤが有効であることを示し、０の場合は無効であることを示す。例えば、論理アドレスに割り当てられる物理アドレスが書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）に基づいて変更された際に、変更後に割り当てられる物理アドレスＰＡＤの有効フラグＰＶＬＤ値が１となり、変更前に割り当てられていた物理アドレスＰＡＤの有効フラグＰＶＬＤ値が０となる。
【０１０５】
消去回数ＰＥＲＣは、前述した初期書き込み（消去）が行われた回数を表す。ここで、例えば、有効フラグＰＶＬＤ値が０であり、初期書き込み（消去）が行われた回数が少ない物理アドレスＰＡＤを優先的に論理アドレスに割り当てれば、消去回数ＰＥＲＣの値を平準化（ウエアレベリング）することができる。また、図２の情報処理回路ＭＮＧＥＲは、図９の例では、物理アドレスＰＡＤが“００００００００”〜“０２７ＦＦＦＦＦ”までを第１物理アドレス領域ＰＲＮＧ１として、物理アドレスＰＡＤが“０２８０００００”〜“０７ＦＦＦＦＦＦ”までを第２物理アドレス領域ＰＲＮＧ２として認識し、物理アドレステーブルＰＡＤＴＢＬを管理する。また、特に限定しないが、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）と、セグメント別の物理オフセットアドレスＰＰＡＤ（ＰＡＤ［１５：０］）とから構成される。
【０１０６】
また、レイヤモード番号ＬＹＭが“０”の場合は、チェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎに書き込みが行われることを示す（すなわち前述した第２動作モードであることを示す）。また、レイヤモード番号ＬＹＭが“１”の場合は、チェインメモリアレイＣＹ内の１個の相変化メモリセルに書き込みが行われることを示す（すなわち前述した第１動作モードであることを示す）。
【０１０７】
また、レイヤ番号ＬＹＣの値ｘは、図４等で示すチェインメモリアレイＣＹ内のメモリセル選択線ＬＹｘに対応している。例えば、レイヤ番号ＬＹＣが“１”の場合、物理アドレスＰＡＤに対応するデータが、図４等で示すチェインメモリアレイＣＹ内のメモリセル選択線ＬＹ１に選択された相変化メモリセルＣＬ１に保持されており、有効であることを示す。
【０１０８】
《物理セグメントテーブルの詳細》
図１０Ａおよび図１０Ｂは、図１のランダムアクセスメモリに格納される物理セグメントテーブルの構成例を示す図である。図１０Ａは無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１を示し、図１０Ｂは有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２を示している。特に限定しないが、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）の上位ＰＡＤ［３１：１６］は、物理セグメントアドレスＳＧＡＤを示す。また、特に限定しないが、１つの物理アドレスのメインデータサイズは５１２バイトで、１セグメントのメインデータサイズは６５５３６個の物理アドレスが集まって３２Ｍバイトとなっている。
【０１０９】
まず、図１０Ａを説明する。物理セグメントテーブルＰＳＥＧＴＢＬ１は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）毎に、無効物理アドレス総数ＴＮＩＰＡと、最大消去回数ＭＸＥＲＣおよびそれに対応する無効物理オフセットアドレスＭＸＩＰＡＤと、最小消去回数ＭＮＥＲＣおよびそれに対応する無効物理オフセットアドレスＭＮＩＰＡＤとを含んでいる。無効物理アドレス総数ＴＮＩＰＡは、対応する物理セグメントアドレスＳＧＡＤ内で無効状態となっている物理アドレスの総数であり、最大消去回数ＭＸＥＲＣおよびその無効物理オフセットアドレスＭＸＩＰＡＤと、最小消去回数ＭＮＥＲＣおよびその無効物理オフセットアドレスＭＮＩＰＡＤは、当該無効状態となっている物理アドレスの中から抽出される。そして、当該物理セグメントテーブルＰＳＥＧＴＢＬ１は、図１のランダムアクセスメモリＲＡＭに格納される。
【０１１０】
次に、図１０Ｂを説明する。物理セグメントテーブルＰＳＥＧＴＢＬ２は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）毎に、有効物理アドレス総数ＴＮＶＰＡと、最大消去回数ＭＸＥＲＣおよびそれに対応する有効物理オフセットアドレスＭＸＶＰＡＤと、最小消去回数ＭＮＥＲＣおよびそれに対応する有効物理オフセットアドレスＭＮＶＰＡＤとを含んでいる。有効物理アドレス総数ＴＮＶＰＡは、対応する物理セグメントアドレスＳＧＡＤ内で有効状態となっている物理アドレスの総数であり、最大消去回数ＭＸＥＲＣおよびその有効物理オフセットアドレスＭＸＶＰＡＤと、最小消去回数ＭＮＥＲＣおよびその有効物理オフセットアドレスＭＮＶＰＡＤは、当該有効状態となっている物理アドレスの中から抽出される。そして、当該物理セグメントテーブルＰＳＥＧＴＢＬ２は、図１のランダムアクセスメモリＲＡＭに格納される。当該物理セグメントテーブルＰＳＥＧＴＢＬ１，ＰＳＥＧＴＢＬ２は、後述するダイナックウエアレベリングやスタティックウエアレベリングを行う際に使用される。
【０１１１】
《書込み物理アドレステーブルの詳細》
図１１Ａおよび図１１Ｂは、図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。図１１Ａには、装置使用開始時の初期状態における書込み物理アドレステーブルＮＸＰＡＤＴＢＬの状態が示され、図１１Ｂには、内容が適宜更新された後の書込み物理アドレステーブルＮＸＰＡＤＴＢＬの状態が示される。書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、ホスト（図１のＣＰＵ＿ＣＰ）側からの論理アドレスを伴う書き込み命令を受けて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７の物理アドレスにデータを書き込む際に、当該論理アドレスに対してどの物理アドレスを優先的に割り当てるかを決めるテーブルである。
【０１１２】
当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、ここでは、複数（Ｎ）個の物理アドレスを登録できる構成となっている。ここで、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬ（ＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２）は、実際に書き込み対象となる物理アドレスを定めるものであり、論理アドレスを受けてから当該テーブルを用いて物理アドレスを決定するまでの時間は、書き込み速度に影響を及ぼすことになる。そこで、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬ（ＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２）の情報は、図２の制御回路ＭＤＬＣＴ０内の書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２において保持され、そのバックアップとして図１のランダムアクセスメモリＲＡＭ内で保持される。
【０１１３】
書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、エントリー番号ＥＮＵＭと、書き込み物理アドレスＮＸＰＡＤと、この書き込み物理アドレスＮＸＰＡＤに対応する有効フラグＮＸＰＶＬＤ、消去回数ＮＸＰＥＲＣ、レイヤモード番号ＮＸＬＹＭ、および書き込みレイヤ番号ＮＸＬＹＣから構成される。図２の制御回路ＭＤＬＣＴ０は、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）の中で２個の論理アドレス領域（ＬＲＮＧ１とＬＲＮＧ２）が定められている場合、これに対応して書込み物理アドレステーブルＮＸＰＡＤＴＢＬの中も２個に分割する。ここでは、エントリー番号０から（Ｎ／２−１）のＮ／２個分が書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１として管理され、エントリー番号（Ｎ／２）から（Ｎ−１）までの残りのＮ／２個分が書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理される。そして、論理アドレス領域（ＬＲＮＧ１）への書き込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１が利用され、論理アドレス領域（ＬＲＮＧ２）への書き込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２が利用される。
【０１１４】
エントリー番号ＥＮＵＭは、複数（Ｎ）組の書き込み物理アドレスＮＸＰＡＤにおけるＮ値（０番〜（Ｎ−１）番）を示し、このＮ値は書込み優先度（登録数）を示す。論理アドレス領域（ＬＲＮＧ１）への書き込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１の中のＮ値が小さい順から優先して使用され、論理アドレス領域（ＬＲＮＧ２）への書き込み要求に対しては書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２の中のＮ値が小さい順から優先して使用される。また、有効フラグＮＸＰＶＬＤの値が０の場合は、対象となる物理アドレスは無効であることを意味し、１の場合は対象となる物理アドレスは有効であることを意味する。例えば、エントリー番号ＥＮＵＭの０番が使用された場合、当該０番の有効フラグＮＸＰＶＬＤの値が１となるため、次に当該テーブルが参照される際にエントリー番号ＥＮＵＭの０番は使用済みであることが判別でき、次は１番を使用すればよいことが分かる。
【０１１５】
ここで、図１１Ａにおいて、Ｎ＝３２の場合を例として、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの初期設定（例えば図８のＴ１からＴ３）について説明する。
【０１１６】
まず、論理アドレス領域（ＬＲＮＧ１）に対応して物理アドレス領域（ＰＲＮＧ１）が設定され、当該物理アドレス領域（ＰＲＮＧ１）内の“００００００００”番地から“０００００００Ｆ”番地までの連続した書き込み物理アドレスＮＸＰＡＤが、エントリー番号ＥＮＵＭ＝０番から（（３２／２）−１）番までにそれぞれ登録される。また、レイヤモード番号ＮＸＬＹＭは“１”に設定され、書き込みレイヤ番号ＮＸＬＹＣは“０”に設定され、これは、図９にて説明したレイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣと同様に、第１動作モードであり、使用するメモリセル選択線はＬＹ０であることを意味する。
【０１１７】
同様に、論理アドレス領域（ＬＲＮＧ２）に対応して物理アドレス領域（ＰＲＮＧ２）が設定され、当該物理アドレス領域（ＰＲＮＧ２）内の“０２８０００００”番地から“０２８００００Ｆ”番地までの連続した書き込み物理アドレスＮＸＰＡＤが、エントリー番号ＥＮＵＭ＝（３２／２）番から（３２−１）番までにそれぞれ登録される。また、レイヤモード番号ＮＸＬＹＭは“０”に設定され、書き込みレイヤ番号ＮＸＬＹＣは“０”に設定され、これは、図９にて説明したレイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣと同様に、第２動作モードであることを意味する。そして、これらの書き込み物理アドレスＮＸＰＡＤに対応する有効フラグＮＸＰＶＬＤ及び消去回数ＮＸＰＥＲＣはすべて０に設定される。
【０１１８】
次に、この図１１Ａに示す状態で、情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュール（半導体装置）ＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ１）へ、セクタカウント（ＳＥＣ）値が１（５１２バイト）のライトリクエスト（ＷＱ）が（Ｎ／２）回入力された場合を想定する。この場合、それぞれのライトリクエスト（ＷＱ）に含まれるデータは、図１１Ａに基づいて、不揮発性メモリ装置内の物理アドレスＰＡＤ（ＮＸＰＡＤ）の“００００００００”番地から“００００００Ｆ”番地までの連続した番地に対応する箇所に書き込まれる。
【０１１９】
さらに、情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ２）へ、セクタカウント（ＳＥＣ）値が１（５１２バイト）のライトリクエスト（ＷＱ）が（Ｎ／２）回入力された場合を想定する。この場合、それぞれのライトリクエスト（ＷＱ）に含まれるデータは、図１１Ａに基づいて、不揮発性メモリ装置内の物理アドレスＰＡＤ（ＮＸＰＡＤ）の“０２８０００００”番地から“０２８００００Ｆ”番地までの連続した番地に対応する箇所に書き込まれる。
【０１２０】
また、別の動作例を挙げれば次のようになる。情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ１）へ、セクタカウント（ＳＥＣ）値が１６（８Ｋバイト）のライトリクエスト（ＷＱ）が１回入力された場合を想定する。この場合、このライトリクエスト（ＷＱ）に含まれるデータは、５１２バイト毎の１６個の物理アドレスＰＡＤへ分解され、物理アドレスＰＡＤの“００００００００”番地から“０００００００Ｆ”番地までの連続した番地にて、不揮発性メモリ装置へ書き込まれる。
【０１２１】
また、情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じて、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ２）へ、セクタカウント（ＳＥＣ）値が１６（８Ｋバイト）のライトリクエスト（ＷＱ）が１回入力された場合を想定する。この場合、このライトリクエスト（ＷＱ）に含まれるデータは、５１２バイト毎の１６個の物理アドレスＰＡＤへ分解され、物理アドレスＰＡＤの“０２８０００００”番地から“０２８００００Ｆ”番地までの、連続した番地にて、不揮発性メモリ装置へ書き込まれる。
【０１２２】
また、このような書き込み動作の進行と共に、書込み物理アドレステーブルＮＸＰＡＤＴＢＬは適宜更新され、その結果、図１１Ｂに示すように、書き込み物理アドレスＮＸＰＡＤ、消去回数ＮＸＰＥＲＣ、書き込みレイヤ番号ＮＸＬＹＣ等の値は適宜変更される。この際に、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１内の書き込みレイヤ番号ＮＸＬＹＣの値は、図１７等で述べた第１動作モードに伴いメモリセル選択線ＬＹが順次シフトするためこれに応じて変更される。一方、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２内の書き込みレイヤ番号ＮＸＬＹＣの値は、図１８等で述べた第２動作モードに伴い特に変更はされない。なお、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新は、例えば、実際にメモリアレイ内の相変化メモリセルに書き込みを行っている期間を利用して行うことが可能である。
【０１２３】
《アドレス変換テーブルおよび不揮発性メモリ装置の初期設定》
図１２Ａは、図１のランダムアクセスメモリに格納されるアドレス変換テーブルの構成例およびその初期設定後の状態例を示す図であり、図１２Ｂは、図１の不揮発性メモリ装置における初期設定後の状態例を示す図である。当該初期設定は、例えば、図８のＴ１（電源投入直後）の期間で制御回路ＭＤＬＣＴ０によって行われる。
【０１２４】
図１２Ａに示すアドレス変換テーブルＬＰＴＢＬは、全ての論理アドレスＬＡＤを対象として、各論理アドレスＬＡＤ毎に、現在割り当てている物理アドレスＰＡＤと、その物理アドレスの有効フラグＣＰＶＬＤと、その物理アドレスのレイヤ番号ＬＹＣとを管理する。初期設定後には、全論理アドレスＬＡＤに対する全物理アドレスＰＡＤは０に設定され、有効フラグＣＰＶＬＤは０（無効）に設定され、レイヤ番号ＬＹＣは“０”に設定される。また、図１２Ｂに示すように、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７では、各物理アドレスＰＡＤに格納されるデータＤＡＴＡは０に設定され、各物理アドレスＰＡＤに対応する論理アドレスＬＡＤおよびデータ有効フラグＤＶＦも０に設定される。また、各物理アドレスＰＡＤに対応するレイヤ番号ＬＹＣは“０”に設定される。なお、論理アドレスＬＡＤ、データ有効フラグＤＶＦ、およびレイヤ番号ＬＹＣは、例えば不揮発性メモリ装置内に予め設けられた冗長領域を用いて記憶される。
【０１２５】
《ＳＳＤコンフィグレーション情報の詳細》
図１３Ａ、図１３Ｂおよび図１３Ｃは、図１におけるブート用の不揮発性メモリ装置ＮＶＭ０に格納されるＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）のそれぞれ異なる一例を示す図である。各図において、ＬＲＮＧは論理アドレス領域であり、セクタ単位（５１２バイト）の論理アドレスＬＡＤでの範囲を示す。ＣＡＰは論理アドレス領域ＬＲＮＧにて定められた範囲の論理データの容量値を示す。論理アドレス領域ＬＲＮＧ１は、１６進数で“００００＿００００”〜“００７Ｆ＿ＦＦＦＦ”の論理アドレスＬＡＤ空間を占め、４Ｇバイトの容量を持つ。また、論理アドレス領域ＬＲＮＧ２は、１６進数で“００８０＿００００”〜“０３７Ｆ＿ＦＦＦＦ”の論理アドレス空間を占め、３２Ｇバイトの大きさをもつ。
【０１２６】
また、図中のＣＨＮＣＥＬＬは、例えば図３Ｂ等に示したチェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎの内、データの書き込み対象となるメモリセルの数を示す。例えば、図１３Ａおよび図１３Ｂに示すように、ＣＨＮＣＥＬＬが“１８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「１」個に対して書き込みを行うことを示し、ＣＨＮＣＥＬＬが“８８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「８」個に書き込みを行うことを示す。また、例えば、図１３Ｃに示すように、ＣＨＮＣＥＬＬが“２８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「２」個に書き込みを行うことを示す。
【０１２７】
また、図中のＮＶＭＭＯＤＥが“０”の場合は、不揮発性メモリ装置ＮＶＭへデータを書き込む際に、最小消去データサイズと最小プログラムデータサイズを等しいサイズにして、書き込み動作を行えることを示し、“１”の場合は、最小消去データサイズと最小プログラムデータサイズが異なることを前提した書込み動作を行えることを示す。図中のＥＲＳＳＩＺＥは、最小消去データサイズ［バイト］を示し、ＰＲＧＳＩＺＥは最小プログラムデータサイズ［バイト］を示す。例えば、不揮発性メモリ装置ＮＶＭが抵抗変化型記憶素子であれば、図１３Ａまたは図１３Ｂに示すように、ＮＶＭＭＯＤＥを“０”とし、最小消去データサイズ（ＥＲＳＳＩＺＥ）と最小プログラムデータサイズ（ＰＲＧＳＩＺＥ）を共に５１２バイトのように等しいサイズにする。この場合には、高速に書き込み動作を行うことができる。
【０１２８】
一方、不揮発性メモリ装置ＮＶＭが例えばＮＡＮＤ型フラッシュメモリであり、このＮＡＮＤ型フラッシュメモリのブロック消去サイズが５１２キロバイト、ページサイズが４キロバイトである場合、図１３Ｃに示すように、ＮＶＭＭＯＤＥを“１”とする。さらに、ＮＡＮＤ型フラッシュメモリの仕様にあわせて、最小消去データサイズ（ＥＲＳＳＩＺＥ）を５１２キロバイトとし、最小プログラムデータサイズ（ＰＲＧＳＩＺＥ）を４キロバイトとすることで、従来型のＮＡＮＤ型フラッシュメモリへの書込み動作にも対応できる。このように、利用する不揮発性メモリ装置の仕様を反映し、柔軟に対応できる。
【０１２９】
また、図中のＴＥＳＴＭＯＤＥが“１”の場合は、電源投入直後に、物理的に隣接するメモリセルに保存されているデータの保持性能を確認するテスト動作を行う。このテスト動作は、このテストを行うために予め用意した、物理的に隣接した複数のチェインメモリアレイＣＹから構成されるテスト領域（ＴＥＳＴＡＲＥＡ）を用いて行われる。以下に、テスト動作について説明する。
【０１３０】
このテスト領域（ＴＥＳＴＡＲＥＡ）内の物理的に隣接した複数のチェインメモリアレイＣＹは、特に限定しないが２５個（５チェインｘ５チェイン）あり、ＣＹ［１，１］〜ＣＹ［５，５］に［Ｘ，Ｙ］配列されるものとする。先ず、その２５個のチェインメモリアレイＣＹ［１，１］〜ＣＹ［５，５］内の全相変化メモリセルの可変抵抗型記憶素子Ｒを高抵抗状態にする（“０”を書く）。次に、２５個のチェインメモリアレイＣＹ［１，１］〜ＣＹ［５，５］に囲まれた真ん中の１つのチェインメモリアレイＣＹ［３，３］の全相変メモリセルの可変抵抗素子Ｒを低抵抗状態にする（“１”を書く）。
【０１３１】
次に、チェインメモリアレイＣＹ［３，３］を囲むチェインメモリアレイの中で最も隣接しているチェインメモリアレイＣＹ［２，２］〜ＣＹ［２，４］，ＣＹ［３，２］，ＣＹ［３，４］，ＣＹ［４，２］〜ＣＹ［４，４］の全相変化メモリセルに保持されているデータを読み出す。これら読み出したデータが、全て“０”であれば、“１”を書き込んだことによって、最も隣接するメモリセルに保持されている“０”のデータが失われないことが確認できる。
【０１３２】
次に、チェインメモリアレイＣＹ［３，３］を囲むチェインメモリアレイの中で、２番目に隣接しているチェインメモリアレイの全相変化メモリセルに保持されているデータを読み出す。すなわち、チェインメモリアレイＣＹ［１，１］〜ＣＹ［１，５］，ＣＹ［２，１］，ＣＹ［２，５］，ＣＹ［３，１］，ＣＹ［３，５］，ＣＹ［４，１］，ＣＹ［４，５］，ＣＹ［５，１］〜ＣＹ［５，５］のデータを読み出す。これら２番目に隣接しているチェインメモリアレイ内の全相変化メモリセルから読み出したデータが、全て“０”であれば、“１”を書き込んだことによって、２番目に隣接するメモリセルに保持されている“０”のデータが失われないことが確認できる。
【０１３３】
続いて、これと同様な動作を“０”と“１”を反転した状態で行う。すなわち、２５個のチェインメモリアレイＣＹ［１，１］〜ＣＹ［５，５］に“１”を書いた状態で、真ん中の１つのチェインメモリアレイＣＹ［３，３］に“０”を書き込み、その周辺のチェインメモリアレイＣＹのデータを読み出す。なお、テスト領域（ＴＥＳＴＡＲＥＡ）内の物理的に隣接した複数のチェインメモリアレイＣＹの数は、勿論この値に限定されるものではなく、データの保持性能を確認するために適した数値であれば良い。
【０１３４】
図１３Ａ、図１３Ｂおよび図１３Ｃにおいて、ＴＥＳＴＣＥＬＬ情報は、テスティングを行うための連続したメモリセル領域（ＴＡＲＥＡ）を定めるために必要な情報である。ＴＥＳＴＣＥＬＬが５の場合は、メモリセル領域（ＴＡＲＥＡ）の大きさは、５つの物理的に隣接した複数のチェインメモリアレイＣＹとなる。ＴＥＳＴＣＥＬＬ情報の値は、データの保持性能を確認するために適した数値にプログラムすると良い。
【０１３５】
図中のＥＣＣＦＬＧは、ＥＣＣ（Error Check and Correct）を行う際のデータの単位を示している。特に限定しないが、ＥＣＣＦＬＧが０の場合は５１２バイトデータを単位としてＥＣＣが行われ、ＥＣＣＦＬＧが１の場合は２０４８バイトデータを単位としてＥＣＣが行われ、同様に、ＥＣＣＦＬＧの２、３、４の場合にはそれぞれ４０９６バイト、８１９２バイト、１６３８４バイトのデータを単位としてＥＣＣが行われる。また、ＥＣＣＦＬＧが５、６、７、８の場合は、それぞれ、３２バイト、６４バイト、１２８バイト、２５６バイトのデータを単位としてＥＣＣが行われる。
【０１３６】
記憶装置には、ハードディスク、ＳＳＤ（Solid State Drive）、キャッシュメモリ及びメインメモリなど様々な記憶装置があり、データの読み出しや書き込みの単位が異なる。例えばハードディスクやＳＳＤなどのストレージでは、５１２バイト以上のデータ単位で読み出しや書き込みが行われる。また、キャッシュメモリでは、そのラインサイズ単位（３２バイトや６４バイトなど）でメインメモリとの間でデータ読み出しやデータ書込みが行われる。このように、データ単位が異なる場合においても、ＥＣＣＦＬＧによって、異なるデータ単位でＥＣＣを行うことができ、メモリモジュール（半導体装置）ＮＶＭＭＤ０への要求に対して柔軟に対応できる。
【０１３７】
また、図中のライト方法選択情報ＷＲＴＦＬＧは、書き込み時の書き込み方法を示している。特に限定しないが、ライト方法選択情報ＷＲＴＦＬＧが０の場合は通常方法にて書き込みを行い、ＷＲＴＦＬＧが１の場合は反転データを書込み、ライト方法選択情報ＷＲＴＦＬＧが２の場合は、データの書き込み前に一旦データを読み出し、その後、データを書込むことを示す。
【０１３８】
このように、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）は適宜プログラム可能となっているため、メモリモジュール（半導体装置）ＮＶＭＭＤ０に要求される機能、性能及び信頼性のレベル等に合わせて柔軟に対応することができる。
【０１３９】
《書き込みデータの構成例》
図１４Ａは、図１のメモリモジュールＮＶＭＭＤ０において、制御回路ＭＤＬＣＴ０から不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込まれるデータの構成例を示す図である。図１４Ｂおよび図１４Ｃは、図１４Ａにおけるデータ書き込みレイヤ情報の構成例を示す図である。図１４Ａにおいて、特に限定しないが、書き込みデータ（ページデータ）ＰＧＤＡＴは、メインデータＤＡｒｅａ（５１２バイト）と、冗長データＲＡｒｅａ（１６バイト）から構成される。冗長データＲＡｒｅａには、データ反転フラグＩＮＶＦＬＧ、ライトフラグＷＴＦＬＧ、ＥＣＣフラグＥＣＣＦＬＧ、ステート情報ＳＴＡＴＥ、エリア情報ＡＲＥＡ、データ書き込みレイヤ情報ＬＹＮ、ＥＣＣコードＥＣＣ、バッドブロック情報ＢＡＤＢＬＫ、予備領域ＲＳＶが含まれる。
【０１４０】
データ反転フラグＩＮＶＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込んだメインデータＤＡｒｅａが元の書き込みデータの各ビットを反転させたデータかどうかを示す。データ反転フラグＩＮＶＦＬＧに０が書き込まれた場合、元のメインデータの各ビットを反転させずにデータが書き込まれたことを示し、１が書き込まれた場合、元のメインデータの各ビットを反転させたデータが書き込まれたことを示す。
【０１４１】
ライトフラグＷＴＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＤＡｒｅａを書き込む際に実行した書き込み方法を示している。特に限定しないが、ＷＴＦＬＧに０が書き込まれた場合、通常方法にてメインデータＤＡｒｅａが書き込まれたことを示し、ＷＴＦＬＧに１が書き込まれた場合、元のメインデータの各ビットを反転させたデータが書き込まれたことを示す。ＷＴＦＬＧに２が書き込まれた場合、データを書き込む前にデータを一旦読み出し、その後、書き換える必要のあるデータのみが書き込まれたことを示す。
【０１４２】
ＥＣＣフラグＥＣＣＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＤＡｒｅａを書込む際に、どの程度のメインデータＤＡｒｅａのサイズに対して、ＥＣＣコードを生成したかを示している。特に限定しないが、ＥＣＣＦＬＧに０が書き込まれた場合、５１２バイトのデータサイズに対してコードを生成したことを示し、ＥＣＣＦＬＧに１が書き込まれた場合、１０２４バイトのデータサイズに対してコードを生成したことを示す。ＥＣＣＦＬＧに２が書き込まれた場合、２０４８バイトのデータサイズに対してコードを生成したことを示し、ＥＣＣＦＬＧに３が書き込まれた場合、３２バイトのデータサイズに対してコードを生成したことを示す。
【０１４３】
ＥＣＣコードＥＣＣは、メインデータＤＡｒｅａのエラーを検出し修正するために必要なデータである。ＥＣＣは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＤＡｒｅａを書き込む際に、制御回路ＭＤＬＣＴ０によってメインデータＤＡｒｅａに対応して生成され、冗長データＲＡｒｅａへ書き込まれる。ステート情報ＳＴＡＴＥは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込まれたメインデータＤＡｒｅａが、有効状態か、無効状態か、消去状態かを示す。特に限定しないが、ステート情報ＳＴＡＴＥに０が書き込まれた場合、メインデータＤＡｒｅａは無効状態であることを示し、ステート情報ＳＴＡＴＥに１が書き込まれた場合、メインデータＤＡｒｅａは有効状態であることを示し、ステート情報ＳＴＡＴＥに３が書き込まれた場合、メインデータＤＡｒｅａは消去状態であることを示す。
【０１４４】
エリア情報ＡＲＥＡは、後述する図１５に示すアドレスマップ範囲（ＡＤＭＡＰ）の中で、メインデータＤＡｒｅａが書き込まれたデータが、第１物理アドレス領域ＰＲＮＧ１へ書き込まれたのか、第２物理アドレス領域ＰＲＮＧ２へ書き込まれたのかを示す情報である。特に限定しないが、エリア情報ＡＲＥＡ値が１であれば、メインデータＤＡｒｅａが第１物理アドレス領域ＰＲＮＧ１へ書き込まれたことを示し、エリア情報ＡＲＥＡ値が２であれば、メインデータＤＡｒｅａが第２物理アドレス領域ＰＲＮＧ２へ書き込まれたことを示す。
【０１４５】
また、図１４Ｂおよび図１４Ｃにおいて、データ書き込みレイヤ情報ＬＹＮ［ｎ：０］は、チェインメモリアレイＣＹ内の相変化メモリセルＣＬ０〜ＣＬｎの中で、どのメモリセルのデータが有効に書き込まれているかを示す情報である。初期設定では、ＬＹＮ［ｎ：０］は０に設定される。この例では、チェインメモリアレイＣＹには、８個の相変化メモリセルＣＬ０〜ＣＬ７が含まれている場合について示している。
【０１４６】
データ書き込みレイヤ情報ＬＹＮは、ＬＹＮ［７：０］の８ビットから構成され、ＬＹＮ［７］〜ＬＹＮ［０］はそれぞれ相変化メモリセルＣＬ７〜ＣＬ０に対応している。例えば、相変化メモリセルＣＬ０に有効なデータが書き込まれた場合は、ＬＹＮ［０］に“１”が書き込まれ、それ以外は“０”が書き込まれる。また、例えば、相変化メモリセルＣＬ１に有効なデータが書き込まれた場合は、ＬＹＮ［１］に“１”が書き込まれ、それ以外は“０”が書き込まれる。以降、相変化メモリセルＣＬ２〜ＣＬ７とＬＹＮ［２］〜ＬＹＮ［７］との関係についても同様である。
【０１４７】
図１４Ｂの例では、ＬＹＮ［０］に“１”が書き込まれ、ＬＹＮ［７：１］に“０”が書き込まれているので、チェインメモリアレイＣＹの相変化メモリセルＣＬ０へ有効なデータが書き込まれたことを示す。図１４Ｃの例では、ＬＹＮ［０］およびＬＹＮ［４］に“１”が書き込まれ、ＬＹＮ［７：５］およびＬＹＮ［３：１］に“０”が書き込まれているので、チェインメモリアレイＣＹの相変化メモリセルＣＬ０およびＣＬ４へ有効なデータが書き込まれたことを示す。
【０１４８】
図１４Ａにおいて、バッドブロック情報ＢＡＤＢＬＫは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込まれたメインデータＤＡｒｅａが利用可能かどうかを示す。特に限定しないが、バッドブロック情報ＢＡＤＢＬＫに０が書き込まれた場合、メインデータＤＡｒｅａは利用可能であり、１が書き込まれた場合、メインデータＤＡｒｅａは利用不可能であることを示す。例えば、ＥＣＣによるエラー訂正が可能である場合、バッドブロック情報ＢＡＤＢＬＫは０となり、エラー訂正が不可能である場合、バッドブロック情報ＢＡＤＢＬＫは１となる。予備領域ＲＳＶは、制御回路ＭＤＬＣＴ０が自由に定義できる領域として存在する。
【０１４９】
《アドレスマップ範囲の詳細》
図１５は、図１のランダムアクセスメモリに格納されるアドレスマップ範囲（ＡＤＭＡＰ）の一例を示す図である。当該アドレスマップ範囲（ＡＤＭＡＰ）は、図８等でも述べたように、制御回路ＭＤＬＣＴ０が、ＮＶＭ１０〜ＮＶＭ１７へ格納されている例えば図１３Ａに示すＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を利用して生成し、ランダムアクセスメモリＲＡＭへ格納したものである。
【０１５０】
図１６は、図１５の補足図であり、制御回路ＭＤＬＣＴ０が図１３ＡのＳＳＤコンフィグレーション情報と図１５のアドレスマップ範囲（ＡＤＭＡＰ）に基づいて設定した書き込み可能なメモリセルの配置例を模式的に示したものである。図１６には、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの例として、その配置例が示されている。図１６では、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に図４等で示されたチェインメモリアレイＣＹが配置されている。ここで、ワード線ＷＬ０〜ＷＬｐとビット線ＢＬ０〜ＢＬｉからなる範囲が第１物理アドレス領域ＰＲＮＧ１として設定され、その交点の「●」は、チェインメモリアレイに含まれる複数のメモリセルの中で、例えば１個のメモリセルに書き込みが行われることを示す。また、ワード線ＷＬｐ＋１〜ＷＬｋとビット線ＢＬ０〜ＢＬｉからなる範囲が第２物理アドレス領域ＰＲＮＧ２として設定され、その交点の「◎」は、チェインメモリアレイに含まれる複数のメモリセルの全てに書き込みが行われることを示す。
【０１５１】
図１６におけるテスティング領域ＴＡＲＥＡは、ビット線ＢＬｊ＋１からＢＬｊ＋５に接続されるメモリセル領域を示し、５×ワード線数（ｋ＋１）分のメモリセルを含む。制御回路ＭＤＬＣＴ０は、図１３Ａ等に示したＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）のＴＥＳＴＣＥＬＬ情報値“５”とアドレスマップ範囲（ＡＤＭＡＰ）の情報により、テスティング領域ＴＡＲＥＡを定める。テスティング領域ＴＡＲＥＡには、例えば２つのモニタリング用のメモリセルＭＯＮＩ１およびＭＯＮＩ２が設定される。
【０１５２】
図１５において、ＬＡＤは、情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ入力される５１２バイトデータを単位とした論理アドレスである。また、ＰＡＤは物理アドレスであり、制御回路ＭＤＬＣＴ０から不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ入力されるアドレスである。図１５の例では、１個の物理アドレスＰＡＤ内に、５１２バイトのメインデータＤＡｒｅａと１６バイト冗長データＲＡｒｅａが備わっている。制御回路ＭＤＬＣＴ０は、論理アドレスＬＡＤを物理アドレスＰＡＤへ変換し、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へデータを書き込む。
【０１５３】
論理アドレス領域ＬＲＮＧ１は、１６進数で“００００＿００００”〜“００７Ｆ＿ＦＦＦＦ”の論理アドレスＬＡＤ空間を占め、４Ｇバイトの容量を持つ。一方、論理アドレス領域ＬＲＮＧ１に対応する第１物理アドレス領域ＰＲＮＧ１は、１６進数で“００００＿００００”〜“０４ＦＦ＿ＦＦＦＦ”の物理アドレスＰＡＤ空間を持っている。この第１物理アドレス領域ＰＲＮＧ１に対応する物理アドレスＰＡＤ空間内に存在する全メモリセルの容量は、メインデータＤＡｒｅａが３２Ｇバイト＋８Ｇバイトで、冗長データＲＡｒｅａが１Ｇバイト＋２５６Ｍバイトである。このように、第１物理アドレス領域ＰＲＮＧ１内の物理アドレスＰＡＤ空間は、論理アドレスＬＡＤ空間より大きな空間を持ち、図１７等で述べた第１動作モードによって動作する。
【０１５４】
また、論理アドレス領域ＬＲＮＧ２は、１６進数で“００８０＿００００”〜“０３７Ｆ＿ＦＦＦＦ”の論理アドレスＬＡＤ空間を占め、３２Ｇバイトの大きさをもつ。論理アドレス領域ＬＲＮＧ２へ対応する第２物理アドレス領域ＰＲＮＧ２は、１６進数で“０５００＿００００”〜“０９ＦＦ＿ＦＦＦＦ”の物理アドレスＰＡＤ空間を持っている。この第２物理アドレス領域ＰＲＮＧ２に対応する物理アドレスＰＡＤ空間内に存在する全メモリセルの容量はメインデータＤＡｒｅａが３２Ｇバイト＋８Ｇバイトで、冗長データＲＡｒｅａが１Ｇバイト＋２５６Ｍバイトである。このように、第２物理アドレス領域ＰＲＮＧ２内の物理アドレスＰＡＤ空間は、論理アドレスＬＡＤ空間より大きな空間を持ち、図１８等で述べた第２動作モードによって動作する。
【０１５５】
また、論理ブート領域ＬＢｏｏｔは、１６進数で“０３８Ｆ＿００００”〜“０３８Ｆ＿００１Ｆ”の論理アドレスＬＡＤ空間を占め、この論理ブート領域ＬＢｏｏｔへ対応する物理ブート領域ＰＢｏｏｔは、１６進数で“０Ａ００＿００００”〜“０ＡＦＦ＿００１Ｆ”の物理アドレスＰＡＤ空間を持っている。この物理ブート領域ＰＢｏｏｔ領域へはブートプログラムが格納される。さらに、ブートプログラムは情報処理装置ＣＰＵ＿ＣＰによって適宜、書換え可能である。
【０１５６】
また、論理コンフィグレーション領域ＬＣｆｇは、１６進数で“０３８Ｆ＿００２０”〜“０３８Ｆ＿００３Ｆ”の論理アドレスＬＡＤ空間を占め、この論理コンフィグレーション領域ＬＣｆｇへ対応する物理コンフィグレーション領域ＰＣｆｇは、１６進数で“０Ａ００＿００２０”〜“０ＡＦＦ＿００３Ｆ”の物理アドレスＰＡＤ空間を持っている。この物理コンフィグレーション領域ＰＣｆｇへはＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）が格納される。さらに、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）は情報処理装置ＣＰＵ＿ＣＰによって、適宜、書換え可能である。
【０１５７】
以上説明したように、メモリモジュール（半導体装置）ＮＶＭＭＤ０の第１物理アドレス領域ＰＲＮＧ１は、その論理アドレス領域ＬＲＮＧ１の１０倍の大きさを持つため、論理アドレス領域ＬＲＮＧ１を用いた書き換えの許容回数は、論理アドレス領域ＬＲＮＧ２を用いた書き換えの許容回数の１０倍となり、長寿命化が図れる。さらに、チェインメモリアレイに含まれる８つメモリセルの内、一部（例えば１つ）のメモリセルのみへ書き込みを行うため、高速書込みが実現できる。一方、メモリモジュール（半導体装置）ＮＶＭＭＤ０の第２物理アドレス領域ＰＲＮＧ２は、その論理アドレス領域ＬＲＮＧ２と同等の大きさを持つため、論理アドレス領域ＬＲＮＧ１を用いる場合と比べて大容量化が図れる。さらに、ブートプログラムやＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）は適宜プログラム可能であるため、メモリモジュールＮＶＭＭＤ０が要求される寿命や性能に合わせて柔軟に対応することができる。
【０１５８】
《メモリモジュール（半導体装置）の書き込み動作フロー》
図２０は、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へライトリクエスト（ＷＲＥＱ０１）が入力された際に、メモリモジュールＮＶＭＭＤ０内で行われる詳細な書き込み処理手順の一例を示すフロー図である。ここでは、主に図２の情報処理回路ＭＮＧＥＲの処理内容が示され、情報処理回路ＭＮＧＥＲは、特に限定しないが５１２バイトのメインデータＤＡｒｅａと１６バイトの冗長データＲＡｒｅａのサイズ毎に、１個の物理アドレスを対応させ、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込みを行っている。
【０１５９】
まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（例えばＬＡＤ＝０）、データ書き込み命令（ＷＲＴ）、セクタカウント値（例えばＳＥＣ＝１）、および５１２バイトの書き込みデータ（ＷＤＡＴＡ０）が含まれる書き込みリクエスト（ＷＱ０１）が制御回路ＭＤＬＣＴ０へ入力される。図２のインターフェース回路ＨＯＳＴ＿ＩＦは、ライトリクエスト（ＷＱ０１）に埋め込まれているクロック情報を取り出し、シリアルデータ化されたライトリクエスト（ＷＱ０１）をパラレルデータに変換し、バッファＢＵＦ０および情報処理回路ＭＮＧＥＲへ転送する（Ｓｔｅｐ１）。
【０１６０】
次に、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）、データ書き込み命令（ＷＲＴ）及びセクタカウント値（ＳＥＣ＝１）を解読し、ランダムアクセスメモリＲＡＭ内のアドレス変換テーブルＬＰＴＢＬ（図１２Ａ）を検索する。これにより、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）の番地に格納されている現在の物理アドレス値（例えばＰＡＤ＝０）と、この物理アドレス値（ＰＡＤ＝０）に対応した有効フラグＣＰＶＬＤの値と、レイヤ番号ＬＹＣを読み出す。さらに、情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭ内の物理アドレステーブルＰＡＤＴＢＬ（図９）から物理アドレス値（ＰＡＤ＝０）に対応する消去回数値（例えばＰＥＲＣ＝４００）および有効フラグＰＶＬＤ値を読み出す（Ｓｔｅｐ２）。
【０１６１】
次に、情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭへ格納したアドレスマップ範囲（ＡＤＭＡＰ）（図１５）を利用し、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力された論理アドレス値（ＬＡＤ＝０）が、論理アドレス領域ＬＲＮＧ１内の論理アドレス値であるか、又は、論理アドレス領域ＬＲＮＧ２内の論理アドレス値であるかを判断する。
【０１６２】
ここで、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）が論理アドレス領域ＬＲＮＧ１内の論理アドレス値の場合は、図１１の書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を参照し、論理アドレス値（ＬＡＤ＝０）が論理アドレス領域ＬＲＮＧ２内の論理アドレス値の場合は、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２を参照する。なお、実際には、前述したように、当該テーブルは、図２の書き込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２に格納されている。情報処理回路ＭＮＧＥＲは、いずれか一方の書き込み物理アドレステーブルから、書き込み優先度の高い順（すなわちエントリー番号ＥＮＵＭが小さい順）に、セクタカウント値（ＳＥＣ＝１）で指定された個数分だけ必要なデータを読み出す。この場合は、１個分だけの書き込み物理アドレス（例えばＮＸＰＡＤ＝１００）と、この書き込み物理アドレス（ＮＸＰＡＤ＝１００）に対応した有効フラグＮＸＰＶＬＤ値と、消去回数ＮＸＰＥＲＣ値と、書き込みレイヤ番号ＮＸＬＹＣが読み出される（Ｓｔｅｐ３）。
【０１６３】
次に、情報処理回路ＭＮＧＥＲは、現在の物理アドレス値（ＰＡＤ＝０）と次に書き込み対象となる書き込み物理アドレス値（ＮＸＰＡＤ＝１００）とが等しいかを判別し（Ｓｔｅｐ４）、等しい場合にはＳｔｅｐ５を実行し、異なる場合にはＳｔｅｐ１１を実行する。Ｓｔｅｐ５では、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７における物理アドレス値（ＮＸＰＡＤ＝１００）に対応する番地に各種データを書き込む。ここでは、図１４Ａに示したメインデータＤＡｒｅａとして書き込みデータ（ＷＤＡＴＡ０）が書き込まれ、冗長データＲＡｒｅａとして、データ反転フラグＩＮＶＦＬＧ、ライトフラグＷＴＦＬＧ、ＥＣＣフラグＥＣＣＦＬＧ、ステート情報ＳＴＡＴＥ、データ書き込みレイヤ情報ＬＹＮ、ＥＣＣコードＥＣＣが書き込まれる。さらに、図１２Ｂに示したように、物理アドレス値（ＮＸＰＡＤ＝１００）に対応する論理アドレス値（ＬＡＤ＝０）と、有効フラグ値（ＤＶＦ＝１）と、レイヤ番号ＬＹＣが書き込まれる。
【０１６４】
この際に、例えば、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１から読み出した書き込みレイヤ番号ＮＸＬＹＣが、“１０”の場合、メインデータＤＡｒｅａ（書き込みデータ（ＷＤＡＴＡ０））と、冗長データＲＡｒｅａは、各チェインメモリアレイＣＹの中の１個の相変化メモリセルＣＬ０に書き込まれる。これに伴い、図１４における冗長データＲＡｒｅａの中のデータ書き込みレイヤ情報ＬＹＮ［７：１］には“０”が書き込まれ、データ書き込みレイヤ情報ＬＹＮ［０］には“１”が書き込まれる。一方、例えば、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２から読み出した書き込みレイヤ番号ＮＸＬＹＣが、“００”の場合、メインデータＤＡｒｅａ（書き込みデータ（ＷＤＡＴＡ０））と、冗長データＲＡｒｅａは、各チェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎに書き込まれる。また、冗長データＲＡｒｅａの中のデータ書き込みレイヤ情報ＬＹＮ［７：０］へは“１”が書き込まれる。
【０１６５】
図２０において、Ｓｔｅｐ１１では、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬ（図１２Ａ）から読み出した物理アドレス値（ＰＡＤ＝０）に対応した有効フラグＣＰＶＬＤ値が０であるかを判定する。有効フラグＣＰＶＬＤ値が０の場合、論理アドレス値（ＬＡＤ＝０）に対応する現在の物理アドレス値（ＰＡＤ＝０）は無効であることを示し、これは論理アドレス値（ＬＡＤ＝０）に対応する物理アドレスは新しい物理アドレス値（ＮＸＰＡＤ＝１００）しか存在しないことを示す。言い換えれば、新しい物理アドレス値（ＮＸＰＡＤ＝１００）を論理アドレス値（ＬＡＤ＝０）に対してそのまま割り当てても、論理アドレス値（ＬＡＤ＝０）に対して重複した物理アドレス値が割り当てられることは無い。そこで、この場合、情報処理回路ＭＮＧＥＲは、前述したＳｔｅｐ５を実行する。
【０１６６】
これに対して、Ｓｔｅｐ１１において有効フラグＣＰＶＬＤ値が１の場合、論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）が未だに有効であることを示す。したがって、新しい物理アドレス値（ＮＸＰＡＤ＝１００）を論理アドレス値（ＬＡＤ＝０）に対してそのまま割り当てた場合、論理アドレス値（ＬＡＤ＝０）に対して重複した物理アドレス値が存在することになる。そこで、Ｓｔｅｐ１３において、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬ内で論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）の有効フラグＣＰＶＬＤ値を０（無効）に変更する。加えて、物理アドレステーブルＰＡＤＴＢＬ内の物理アドレス値（ＰＡＤ＝０）に対応する有効フラグＰＶＬＤも０（無効）にする。情報処理回路ＭＮＧＥＲは、このようにして、論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）を無効にした後に、前述したＳｔｅｐ５を実行する。
【０１６７】
Ｓｔｅｐ５に続くＳｔｅｐ６において、情報処理回路ＭＮＧＥＲおよび／または不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、書き込みデータ（ＷＤＡＴＡ０）が正しく書き込まれたかをチェックする。正しく書き込まれた場合は、Ｓｔｅｐ７を実行し、正しく書き込まれなかったらＳｔｅｐ１２を実行する。Ｓｔｅｐ１２では、情報処理回路ＭＮＧＥＲおよび／または不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、書き込みデータ（ＷＤＡＴＡ０）が正しく書き込まれたかをチェックするベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）以下であるかをチェックする。ベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）以下であれば、再度Ｓｔｅｐ５およびＳｔｅｐ６を実行する。ベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）より多い場合は、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２から読み出した書き込み物理アドレス値（ＮＸＰＡＤ＝１００）へは書き込みデータ（ＷＤＡＴＡ０）を書き込めないと判断し（Ｓｔｅｐ１４）、再度Ｓｔｅｐ３を実行する。なお、このようなデータ検証処理は、図３Ａに示した不揮発性メモリ装置内の書込みデータ検証回路ＷＶ０〜ＷＶｍを用いて行われ、不揮発性メモリ装置の内部回路のみで行われる場合や、あるいはその外部（情報処理回路ＭＮＧＥＲ）と適宜連動しながら行われる場合がある。
【０１６８】
Ｓｔｅｐ６に続いてＳｔｅｐ７では、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬを更新する。具体的には、例えば論理アドレス値（ＬＡＤ＝０）の番地へ新たな物理アドレス値（ＮＸＰＡＤ＝１００）を書き込み、有効フラグＣＰＶＬＤ値を１とし、レイヤ番号ＬＹＣに書き込みレイヤ番号ＮＸＬＹＣを書き込む。次のＳｔｅｐ８では、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬを更新する。具体的には、例えば、書込み物理アドレステーブルで示される書き込み物理アドレス値（ＮＸＰＡＤ＝１００）の消去回数（ＮＸＰＥＲＣ）値に１を加算した新たな消去回数値を生成し、当該新たな消去回数値を物理アドレステーブルＰＡＤＴＢＬ内の対応箇所（物理アドレス値（ＮＸＰＡＤ＝１００）の消去回数（ＰＥＲＣ））に書き込み。また、物理アドレステーブルＰＡＤＴＢＬ内の有効フラグＰＶＬＤを１とし、レイヤ番号ＬＹＣに書き込みレイヤ番号ＮＸＬＹＣを書き込む。
【０１６９】
Ｓｔｅｐ９では、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書き込み物理アドレスＮＸＰＡＤへの書き込みが完了したかどうかを判定する。書き込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書き込み物理アドレスＮＸＰＡＤへの書き込みが完了した場合はＳｔｅｐ１０を行い、未完了の場合は情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ向けた新たなライトリクエストを待つ。
【０１７０】
Ｓｔｅｐ１０では、例えば書き込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書き込み物理アドレスＮＸＰＡＤに対する書き込みが完了した時点で、情報処理回路ＭＮＧＥＲは、物理セグメントテーブルＰＳＥＧＴＢＬ（図１０）を更新する。すなわち、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ内のエントリーを全て使い切った際に物理セグメントテーブルＰＳＥＧＴＢＬを更新し、これを用いて詳細は図２１で述べるが書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新も行う。
【０１７１】
物理セグメントテーブルＰＳＥＧＴＢＬの更新に際し、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬにおける物理アドレスの有効フラグＰＶＬＤと消去回数ＰＥＲＣを参照する。そして、物理アドレステーブルＰＡＤＴＢＬ内で有効フラグＰＶＬＤが０（無効）となっている物理アドレスを対象として、各物理セグメントアドレスＳＧＡＤ毎に、無効物理アドレス総数ＴＮＩＰＡ、最大消去回数ＭＸＥＲＣおよびその無効物理オフセットアドレスＭＸＩＰＡＤ、最小消去回数ＭＮＥＲＣおよびその無効物理オフセットアドレスＭＮＩＰＡＤを更新する。また、物理アドレステーブルＰＡＤＴＢＬ内で有効フラグＰＶＬＤが１（有効）となっている物理アドレスを対象として、各物理セグメントアドレスＳＧＡＤ毎に、有効物理アドレス総数ＴＮＶＰＡ、最大消去回数ＭＸＥＲＣおよびその有効物理オフセットアドレスＭＸＶＰＡＤ、最小消去回数ＭＮＥＲＣおよびその有効物理オフセットアドレスＭＮＶＰＡＤを更新する。
【０１７２】
さらに、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新する。書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新が終了した場合、情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へのライトリクエストを待つ。
【０１７３】
このように、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書き込みを行う際に、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを用いて行うため、例えば、書き込みの度に物理アドレステーブルＰＡＤＴＢＬから消去回数が少ない物理アドレスを探索するような場合と比べて高速な書き込み動作が実現可能となる。また、図２に示したように、複数個の書き込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２を搭載した場合、各テーブルを独立に管理・更新することができるので、これによっても高速な書き込み動作が実現可能となる。例えば、書き込み物理アドレステーブルＮＸＰＴＢＬ１を使っている間に書き込み物理アドレステーブルＮＸＰＴＢＬ２を更新し、ＮＸＰＴＢＬ１を使い切った際にはＮＸＰＴＢＬ２に移行し、ＮＸＰＴＢＬ２を使っている間にＮＸＰＴＢＬ１の更新を行うようなことが可能となる。
【０１７４】
《書き込み物理アドレステーブルの更新方法（ウエアレベリング方法［１］）》
図２１は、図１１Ａおよび図１１Ｂの書き込み物理アドレステーブルにおいて、その更新方法の一例を示すフロー図である。図１１Ａおよび図１１Ｂに示すように、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの中において、エントリー番号ＥＮＵＭが０から（Ｎ／２−１）までのＮ／２個分を、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とし、エントリー番号ＥＭＵＭが（Ｎ／２）から（Ｎ−１）までのＮ／２個分を書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理する。
【０１７５】
また、図１５のアドレス範囲マップ（ＡＤＭＡＰ）の例では、物理アドレスＰＡＤが“００００＿００００”から“０４ＦＦ＿ＦＦＦＦ”までは、第１物理アドレス領域ＰＲＮＧ１を示し、物理アドレスＰＡＤが“０５００＿００００”から“０９ＦＦ＿ＦＦＦＦ”までは、第２物理アドレス領域ＰＲＮＧ２を示す。従って、第１物理アドレス領域ＰＲＮＧ１の物理セグメントアドレスＳＧＡの範囲は“００００”から“０４ＦＦ”となり、第２物理アドレス領域ＰＲＮＧ２の物理セグメントアドレスＳＧＡの範囲は“０５００”から“０９ＦＦ”となる。
【０１７６】
情報処理回路ＭＮＧＥＲは、第１物理アドレス領域ＰＲＮＧ１の範囲内の物理アドレスＰＡＤに対して書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を利用し、これを更新し、第２物理アドレス領域ＰＲＮＧ２の範囲内の物理アドレスＰＡＤに対して書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２を利用し、これを更新する。書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新するために、まず物理セグメントアドレスを決定し、次に決定された物理セグメントアドレス内の物理オフセットアドレスを決定する。図１０Ａに示すように、ランダムアクセスメモリＲＡＭ内の物理セグメントテーブルＰＳＥＧＴＢＬ１には、物理セグメントアドレスＳＧＡＤ毎に、無効状態の物理アドレスの総数（ＴＮＩＰＡ）と、無効状態の物理アドレスの中で最小の消去回数を持つ物理オフセットアドレス（ＭＮＩＰＡＤ）ならびにその消去回数（ＭＮＥＲＣ）が格納されている。
【０１７７】
そこで、図２１に示すように、情報処理回路ＭＮＧＥＲは、まず、ランダムアクセスメモリＲＡＭの物理セグメントテーブルＰＳＥＧＴＢＬ１を参照し、物理セグメントアドレスＳＧＡＤ毎に、前述した無効状態の物理アドレスの総数（ＴＮＩＰＡ）、最小の消去回数を持つ物理オフセットアドレス（ＭＮＩＰＡＤ）ならびにその消去回数（ＭＮＥＲＣ）を読み出す（Ｓｔｅｐ２１）。次に、物理セグメントアドレスＳＧＡＤ毎の無効状態の物理アドレスの総数（ＴＮＩＰＡ）が書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの登録数Ｎより大きな物理セグメントアドレスＳＧＡＤを選択する（Ｓｔｅｐ２２）。さらに、この選択された物理セグメントアドレスＳＧＡＤ毎の最小消去回数値（ＭＮＥＲＣ）を比較し、その最小消去回数値の中の最小値（ＭＮＥＲＣｍｎ）を求める（Ｓｔｅｐ２３）。
【０１７８】
次に、当該最小値（ＭＮＥＲＣｍｎ）を持つ物理セグメントアドレス（ＳＧＡＤｍｎ）とその物理オフセットアドレス（ＭＮＩＰＡＤｍｎ）を、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬに登録する第１候補として決定する（Ｓｔｅｐ２４）。なお、Ｓｔｅｐ２２で選択される物理セグメントアドレスＳＧＡＤを存在させるには、物理アドレス空間の大きさを論理アドレス空間の大きさより、少なくとも書き込み物理アドレステーブルＮＸＰＡＤＴＢＬが登録できるアドレス分の大きさ以上にすると良い。
【０１７９】
次に、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬ（図９）を参照し、前述した物理セグメントアドレス（ＳＧＡＤｍｎ）内の現在候補となっている物理オフセットアドレスＰＰＡＤに対応する消去回数ＰＥＲＣ値をランダムアクセスメモリＲＡＭから読み出し、消去回数閾値ＥＲＣｔｈと比較する（Ｓｔｅｐ２５）。当該Ｓｔｅｐ２５はループ処理の一部であり、その１回目には、前述した物理オフセットアドレス（ＭＮＩＰＡＤｍｎ）が物理オフセットアドレスＰＰＡＤの候補となる。消去回数ＰＥＲＣ値が消去回数閾値ＥＲＣｔｈ以下の場合、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤを登録対象として確定し、Ｓｔｅｐ２６を行う。
【０１８０】
一方、消去回数ＰＥＲＣ値が消去回数閾値ＥＲＣｔｈより大きい場合、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤを一旦候補から除外し、Ｓｔｅｐ３２を行う。Ｓｔｅｐ３２で、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬを参照し、前述した物理セグメントアドレス（ＳＧＡＤｍｎ）内で消去回数閾値ＥＲＣｔｈ以下の消去回数を持つ無効状態の物理オフセットアドレスの数（Ｎｉｎｖ）が、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬが登録できるアドレス数Ｎより小さいか（Ｎｉｎｖ＜Ｎ）を判定する。小さい場合はＳｔｅｐ３３を行い、大きい場合はＳｔｅｐ３４を行う。
【０１８１】
Ｓｔｅｐ３４において、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤへ演算を行い、新たな候補となる物理オフセットアドレスＰＰＡＤを生成し、Ｓｔｅｐ２５を再度実行する。Ｓｔｅｐ３４では、現在の物理オフセットアドレスＰＰＡＤへｐ値を加算し、新たな候補となる物理オフセットアドレスＰＰＡＤを求める。Ｓｔｅｐ３４のｐ値はプログラム可能であり、情報処理回路ＭＮＧＥＲが管理する最小データサイズや、不揮発性メモリの構成によって、最適な値を選ぶと良い。本実施の形態では例えばｐ＝８を用いている。Ｓｔｅｐ３３では、情報処理回路ＭＮＧＥＲは、消去回数閾値ＥＲＣｔｈへ、ある値アルファα分だけ加算した新たな消去回数閾値ＥＲＣｔｈを生成し、Ｓｔｅｐ２５を再度実行する。
【０１８２】
Ｓｔｅｐ２６では、Ｓｔｅｐ２５を介して登録対象となった物理オフセットアドレスＰＰＡＤが第１物理アドレス領域ＰＲＮＧ１内のアドレスかどうかをチェックする。登録対象となった物理オフセットアドレスＰＰＡＤが第１物理アドレス領域ＰＲＮＧ１内のアドレスであれば、Ｓｔｅｐ２７を実行し、第１物理アドレス領域ＰＲＮＧ１内のアドレスでなければ（すなわち第２物理アドレス領域ＰＲＮＧ２内のアドレスであれば）Ｓｔｅｐ２８を実行する。
【０１８３】
Ｓｔｅｐ２７では、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１に対して、登録対象となった物理オフセットアドレスＰＰＡＤに前述した物理セグメントアドレス（ＳＧＡＤｍｎ）を含めたアドレスを書き込み物理アドレスＮＸＰＡＤとして登録する。また、加えて、当該書き込み物理アドレスＮＸＰＡＤの有効フラグＮＸＰＶＬＤ値（ここでは０となる）を登録し、当該書き込み物理アドレスＮＸＰＡＤの消去回数（ＰＥＲＣ）値を消去回数ＮＸＰＥＲＣとして登録し、さらに、当該書き込み物理アドレスＮＸＰＡＤの現レイヤ番号ＬＹＣに１を加算した値を新レイヤ番号ＮＸＬＹＣとして登録する。書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１には、特に限定しないが、Ｎ／２組の登録が可能であり、エントリー番号ＥＮＵＭの小さな番号から順に登録される。
【０１８４】
レイヤ番号ＬＹＣ（ＮＸＬＹＣ）の最大値は、図３Ｂ等に示すように、チェインメモリアレイＣＹ内に（ｎ＋１）個の相変化メモリセルがＣＬ０〜ＣＬｎが含まれる場合、ｎとなる。なお、図１１の書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの例では、レイヤ番号ＮＸＬＹＣ＝“ｎ”となる。レイヤ番号ＬＹＣ（ＮＸＬＹＣ）が最大値ｎに達した際、新しいレイヤ番号ＬＹＣ（ＮＸＬＹＣ）の値は０となる。不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書き込みは、この書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを用いて行われるため、このように、当該テーブルの更新時にレイヤ番号ＬＹＣ（ＮＸＬＹＣ）を順次シフトさせることで、図１７等で述べた第１動作モードを実現できる。
【０１８５】
Ｓｔｅｐ２８では、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２に対して、登録対象となった物理オフセットアドレスＰＰＡＤに前述した物理セグメントアドレス（ＳＧＡＤｍｎ）を含めたアドレスを書き込み物理アドレスＮＸＰＡＤとして登録する。また、加えて、当該書き込み物理アドレスＮＸＰＡＤの有効フラグＮＸＰＶＬＤ値（ここでは０となる）を登録し、当該書き込み物理アドレスＮＸＰＡＤの消去回数（ＰＥＲＣ）および現在のレイヤ番号ＬＹＣを、消去回数ＮＸＰＥＲＣおよびレイヤ番号ＮＸＬＹＣとして登録する。書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２には、特に限定しないが、Ｎ／２組の登録が可能であり、エントリー番号ＥＮＵＭの小さな番号から順に登録される。なお、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２の登録組数は、情報処理回路ＭＮＧＥＲによって任意に設定可能であり、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書き込み速度が最大となるように設定すると良い。
【０１８６】
次のＳｔｅｐ２９では、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１の全組（全エントリー番号）に対して登録が完了したか否かをチェックする。全組の登録が完了していなければ、Ｓｔｅｐ３２を実行し、全組の登録が完了していれば、Ｓｔｅｐ３０を実行する。次のＳｔｅｐ３０では、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２への全組の登録が完了したか否かをチェックする。全組の登録が完了していなければ、Ｓｔｅｐ３２を実行し、全組の登録が完了していれば、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新を完了する（Ｓｔｅｐ３１）。
【０１８７】
このような更新フローを用いると、概略的には、消去回数が最小の物理アドレスを持つ物理アドレスセグメントが定められ（Ｓｔｅｐ２１〜２４）、当該物理アドレスセグメントの中で、当該最小の物理アドレスを起点として、消去回数が所定の閾値以下である物理アドレスが順次抽出される（Ｓｔｅｐ２５、Ｓｔｅｐ３２〜３４）。この際に、抽出数が所定の登録数に満たない場合には（Ｓｔｅｐ３２）、消去回数の閾値を段階的に上げながら（Ｓｔｅｐ３３）、抽出数が所定の登録数を満たすまで（Ｓｔｅｐ３２、Ｓｔｅｐ２９，３０）、同様にして物理アドレスが順次抽出される（Ｓｔｅｐ２５，３４）。これによって、無効状態となっている物理アドレス（すなわち論理アドレスに対して現在割り当てが行われていない物理アドレス）を対象として、消去回数を平準化するためのウエアレベリング（ダイナミックウエアレベリング）が実現可能となる。
【０１８８】
《不揮発性メモリ装置のアドレス割り付けの詳細》
図２２Ａは、図１５等の第１物理アドレス領域ＰＲＮＧ１に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。図２２Ｂは、図１５等の第２物理アドレス領域ＰＲＮＧ２に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【０１８９】
図２２Ａおよび図２２Ｂには、論理アドレスＬＡＤと、物理アドレスＰＡＤと、物理アドレスＣＰＡＤと、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のチップアドレスＣＨＩＰＡ［２：０］と、各チップ内のバンクアドレスＢＫ［１：０］、ロウアドレスＲＯＷおよびカラムアドレスＣＯＬとの対応関係が示されている。さらに、レイヤ番号ＬＹＣとカラムアドレスＣＯＬとの対応関係、ロウアドレスＲＯＷとワード線ＷＬとの対応関係、カラムアドレスＣＯＬとビット線ＢＬ、チェインメモリアレイ選択線ＳＬおよびメモリセル選択線ＬＹとの対応関係がそれぞれ示されている。
【０１９０】
特に限定しないが、不揮発性メモリＮＶＭ１０〜ＮＶＭ１７は８チップあり、１チップの不揮発性メモリ装置には２本のチェインメモリアレイ選択線ＳＬがあり、１個のチェインメモリアレイＣＹには８個のメモリセルと８本のメモリセル選択線ＬＹがあるものとする。また、１個のメモリバンクＢＫには５２８個のメモリアレイＡＲＹがあり、１個のメモリアレイＡＲＹにて選択されるチェインメモリアレイＣＹは１個であるものとする。つまり、１個のメモリバンクＢＫの中で同時に５２８個のチェインメモリアレイＣＹが選択される。また、メモリバンクは４個である。図２２Ａの第１物理アドレス領域ＰＲＮＧ１では、１個のチェインメモリアレイＣＹ内の８個のメモリセルの中で１個のメモリセルにのみデータを保持するものとし、図２２Ｂの第２物理アドレス領域ＰＲＮＧ２では、１個のチェインメモリアレイＣＹ内の８個のメモリセルの中の８個のメモリセルにデータを保持するものとする。
【０１９１】
図２２Ａおよび図２２Ｂに示すアドレス割り付けは、例えば、図２の情報処理回路ＭＮＧＥＲによって行われる。図２２Ａにおいて、図２の情報処理回路ＭＮＧＥＲは、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込む際には、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１（図１１）に格納されているレイヤ番号ＮＸＬＹＣ（ＬＹＣ［２：０］）と物理アドレスＮＸＰＡＤ（ＰＡＤ［３１：０］）と、物理アドレスＣＰＡＤ［２：０］を対応付ける。また、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７から読み出す際は、アドレス変換テーブルＬＰＴＢＬ（図１２Ａ）に格納されている物理アドレスＰＡＤ［３１：０］と、物理アドレスＰＡＤのレイヤ番号ＬＹＣ［２：０］と、物理アドレスＣＰＡＤ［２：０］とを対応付ける。
【０１９２】
レイヤ番号ＬＹＣ［２：０］は、カラムアドレスＣＯＬ［２：０］へ対応しており、さらに、カラムアドレスＣＯＬ［２：０］はメモリセル選択線ＬＹ［２：０］へ対応している。レイヤ番号ＬＹＣ［２：０］の値が、メモリセル選択線ＬＹ［２：０］の値となり、レイヤ番号ＬＹＣ［２：０］で指定されたメモリセルへデータが書き込まれ、また、レイヤ番号ＬＹＣ［２：０］で指定されたメモリセルからデータが読み出される。
【０１９３】
物理アドレスＣＰＡＤ［０］は、カラムアドレスＣＯＬ［３］へ対応し、さらに、カラムアドレスＣＯＬ［３］はチェインメモリアレイ選択線ＳＬ［０］へ対応している。物理アドレスＣＰＡＤ［２：１］はカラムアドレスＣＯＬ［５：４］へ対応し、さらに、カラムアドレスＣＯＬ［５：４］はビット線ＢＬ［１：０］へ対応している。物理アドレスＰＡＤ［ｃ＋０：０］はカラムアドレスＣＯＬ［ｃ＋６：６］へ対応し、さらに、カラムアドレスＣＯＬ［ｃ＋６：６］はビット線ＢＬ［ｃ：２］へ対応している。
【０１９４】
物理アドレスＰＡＤ［ｄ＋ｃ＋１：ｃ＋１］はロウアドレスＲＯＷ［ｄ＋ｃ＋７：ｃ＋７］へ対応し、さらに、ロウアドレスＲＯＷ［ｄ＋ｃ＋７：ｃ＋７］はワード線ＷＬ［ｄ：０］へ対応している。物理アドレスＰＡＤ［ｄ＋ｃ＋３：ｄ＋ｃ＋２］はバンクアドレスＢＫ［ｄ＋ｃ＋９：ｄ＋ｃ＋８］へ対応し、さらに、バンクアドレスＢＫ［ｄ＋ｃ＋９：ｄ＋ｃ＋８］はバンクアドレスＢＫ［１：０］へ対応している。物理アドレスＰＡＤ［ｄ＋ｃ＋６：ｄ＋ｃ＋４］はチップアドレスＣＨＩＰＡ［ｄ＋ｃ＋１２：ｄ＋ｃ＋１０］へ対応し、さらに、チップアドレスＣＨＩＰＡ［ｄ＋ｃ＋１２：ｄ＋ｃ＋１０］はチップアドレスＣＨＩＰＡ［２：０］へ対応している。
【０１９５】
ここで、例えば、５１２バイトのメインデータと１６バイトの冗長データを書き込む場合を想定する。前提として、物理アドレスＰＡＤ［ｄ＋ｃ＋６：ｄ＋ｃ＋４］は３、物理アドレスＰＡＤ［ｄ＋ｃ＋３：ｄ＋ｃ＋２］は２、物理アドレスＰＡＤ［ｄ＋ｃ＋１：ｃ＋１］は８、物理アドレスＣＰＡＤ［ｃ＋０：０］は０、物理アドレスＣＰＡＤ［２：１］は０、物理アドレスＣＰＡＤ［０］は０、レイヤ番号ＬＹＣ［２：０］は０であるものとする。
【０１９６】
この場合、図２の情報処理回路ＭＮＧＥＲは、レイヤ番号ＬＹＣの値および物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスへ５２８ビットずつデータを書き込み、合計５２８バイトのデータを書き込む。また、同様の前提で、５１２バイトのメインデータと１６バイトの冗長データを読み出す際、図２の情報処理回路ＭＮＧＥＲは、レイヤ番号ＬＹＣの値および物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスから５２８ビットずつデータを読み出し、合計５２８バイトのデータを読み出す。
【０１９７】
すなわち、この例の場合、図３Ａにおいて、各メモリアレイＡＲＹ０〜ＡＲＹ５２７毎に１本のワード線ＷＬに対して４本のビット線ＢＬが順に選択されると共に、図３Ｂに示すように、ワード線ＷＬとビット線ＢＬの各交点に位置し、チェインメモリアレイ選択線ＳＬによって選択される２個のチェインメモリアレイＣＹが選択されることになる。ただし、この際に、各チェインメモリアレイＣＹ内で選択される相変化メモリセルは１個である。
【０１９８】
一方、図２２Ｂにおいて、図２の情報処理回路ＭＮＧＥＲは、データを不揮発性メモリＮＶＭ１０〜ＮＶＭ１７へ書き込む際は、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２に格納されている物理アドレスＮＸＰＡＤ（ＰＡＤ［３１：０］）および物理アドレスＣＰＡＤ［２：０］と不揮発性メモリＮＶＭ１０〜ＮＶＭ１７のアドレスとを対応付ける。また、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７から読み出す際は、アドレス変換テーブルＬＰＴＢＬに格納されている物理アドレスＰＡＤ［３１：０］および物理アドレスＣＰＡＤ［２：０］と不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のアドレスとを対応つける。
【０１９９】
物理アドレスＣＰＡＤ［２：０］はカラムアドレスＣＯＬ［２：０］へ対応しており、さらに、カラムアドレスＣＯＬ［２：０］はメモリセル選択線ＬＹ［２：０］へ対応している。物理アドレスＣＰＡＤ［２：０］の値はメモリセル選択線ＬＹ［２：０］の値となり、物理アドレスＣＰＡＤ［２：０］で指定されたメモリセルへデータが書き込まれ、また、物理アドレスＣＰＡＤ［２：０］で指定されたメモリセルからデータが読み出される。
【０２００】
物理アドレスＰＡＤ［０］はカラムアドレスＣＯＬ［３］へ対応し、さらに、カラムアドレスＣＯＬ［３］はチェインメモリアレイ選択線ＳＬ［０］へ対応している。物理アドレスＰＡＤ［ａ＋１：１］はカラムアドレスＣＯＬ［ａ＋４：４］へ対応し、さらに、カラムアドレスＣＯＬ［ａ＋４：４］はビット線ＢＬ［ａ：０］へ対応している。物理アドレスＰＡＤ［ｂ＋ａ＋２：ａ＋２］はロウアドレスＲＯＷ［ｂ＋ａ＋５：ａ＋５］へ対応し、さらに、ロウアドレスＲＯＷ［ｂ＋ａ＋５：ａ＋５］はワード線ＷＬ［ｂ：０］へ対応している。
【０２０１】
物理アドレスＰＡＤ［ｂ＋ａ＋４：ｂ＋ａ＋３］はバンクアドレスＢＫ［ｂ＋ａ＋７：ｂ＋ａ＋６］へ対応し、さらに、バンクアドレスＢＫ［ｂ＋ａ＋７：ｂ＋ａ＋６］はバンクアドレスＢＫ［１：０］へ対応している。物理アドレスＰＡＤ［ｂ＋ａ＋７：ｂ＋ａ＋５］はチップアドレスＣＨＩＰＡ［ｂ＋ａ＋１０：ｂ＋ａ＋８］へ対応し、さらに、チップアドレスＣＨＩＰＡ［ｂ＋ａ＋１０：ｂ＋ａ＋８］はチップアドレスＣＨＩＰＡ［２：０］へ対応している。
【０２０２】
ここで、例えば、５１２バイトのメインデータと１６バイトの冗長データを書き込む場合を想定する。前提として、物理アドレスＰＡＤ［ｂ＋ａ＋７：ｂ＋ａ＋５］は３、物理アドレスＰＡＤ［ｂ＋ａ＋４：ｂ＋ａ＋３］は２、物理アドレスＰＡＤ［ｂ＋ａ＋２：ａ＋２］は８、物理アドレスＰＡＤ［ａ＋１：１］は０、物理アドレスＰＡＤ［０］は０、物理アドレスＣＰＡＤ［２：０］は０であるものとする。
【０２０３】
この場合、図２の情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスへ５２８ビットずつデータを書き込み、合計５２８バイトのデータを書き込む。同様の前提で５１２バイトのメインデータと１６バイトの冗長データを読み出す際、図２の情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスから５２８ビットずつデータを読み出し、合計５２８バイトのデータを読み出す。
【０２０４】
すなわち、この例の場合、図３Ａにおいて、各メモリアレイＡＲＹ０〜ＡＲＹ５２７毎に１本のワード線ＷＬに対して１本のビット線ＢＬが選択されると共に、図３Ｂに示すように、ワード線ＷＬとビット線ＢＬの各交点に位置し、チェインメモリアレイ選択線ＳＬによって選択される２個のチェインメモリアレイＣＹ中の１個が選択されることになる。ただし、この際に、各チェインメモリアレイＣＹ内で選択される相変化メモリセルは８個である。
【０２０５】
図２２Ｃは、図２の情報処理回路ＭＮＧＥＲが不揮発性メモリ装置にデータ書き込みやデータ読み出しを行う際の物理アドレスＰＡＤおよび物理アドレスＣＰＡＤの変化の様子の一例を示す図である。まず、情報処理回路ＭＮＧＥＲは、セクタカウントＳＥＣ、物理アドレスＰＡＤおよび物理アドレスＣＰＡＤ（＝０）を決定し、変数ｑを０に設定したのち（Ｓｔｅｐ４１）、この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスかどうかをチェックする（Ｓｔｅｐ４２）。この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスではない場合は、Ｓｔｅｐ４８を実行する。また、この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスであれば、図２２Ａで示すアドレス変換を行い（Ｓｔｅｐ４３）、不揮発性メモリ装置へのデータ書き込みやデータ読み出しを行う（Ｓｔｅｐ４４）。
【０２０６】
次に、情報処理回路ＭＮＧＥＲは、変数ｑの値がｎ以上であるかをチェックし（Ｓｔｅｐ４５）、変数ｑの値がｎより小さい場合は、物理アドレスＣＰＡＤへ１を加算した新たな物理アドレスＣＰＡＤを求め（Ｓｔｅｐ４７）、再度、Ｓｔｅｐ４３を実行し、その後Ｓｔｅｐ４４を実行する。変数ｑの値がｎ以上の場合は、セクタカウントＳＥＣを１つずつ減少させ、さらに変数ｑの値を０に設定し（Ｓｔｅｐ４６）、次にＳｔｅｐ５１を実行する。Ｓｔｅｐ５１では、セクタカウントＳＥＣ値が０以下であるかをチェックし、セクタカウントＳＥＣ値が０以下では無い場合、物理アドレスＰＡＤへ１を加算した新たな物理アドレスＰＡＤを求め（Ｓｔｅｐ５２）、再度、Ｓｔｅｐ４２へ戻り、処理を続ける。セクタカウントＳＥＣ値が０以下であればデータ書き込みやデータ読み出しを完了する（Ｓｔｅｐ５３）。
【０２０７】
Ｓｔｅｐ４７で物理アドレスＣＰＡＤへ１を加算した場合には、図２２Ａから分かるように、チェインメモリアレイ選択線ＳＬまたはビット線ＢＬ（すなわちチェインメモリアレイＣＹの位置）が変わることになる。Ｓｔｅｐ４８では、情報処理回路ＭＮＧＥＲは、図２２Ｂで示すアドレス変換を行い（Ｓｔｅｐ４８）、不揮発性メモリ装置へのデータ書き込みやデータ読み出しを行う（Ｓｔｅｐ４９）。次に、変数ｑの値がｒ以上であるかをチェックし（Ｓｔｅｐ５０）、変数ｑの値がｒより小さい場合は、物理アドレスＣＰＡＤへ１を加算した新たな物理アドレスＣＰＡＤを求め（Ｓｔｅｐ４７）、再度、Ｓｔｅｐ４８を実行し、その後Ｓｔｅｐ４９を実行する。変数ｑの値がｒ以上の場合は、Ｓｔｅｐ４６以降を実行する。Ｓｔｅｐ４７で物理アドレスＣＰＡＤへ１を加算した場合には、図２２Ｂから分かるように、メモリセル選択線ＬＹ（すなわちチェインメモリアレイＣＹ内のメモリセルの位置）が変わることになる。
【０２０８】
なお、Ｓｔｅｐ４５のｎ値や、Ｓｔｅｐ５０のｒ値は、プログラム可能であり、情報処理回路ＭＮＧＥＲが管理する最小データサイズや、不揮発性メモリ装置の構成によって、最適な値を選ぶと良い。本実施の形態では例えばｎ＝ｒ＝７を用いている。
【０２０９】
《アドレス変換テーブルおよび不揮発性メモリ装置の更新動作例》
図２３Ａおよび図２３Ｂは、図１の制御回路ＭＤＬＣＴ０が不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へデータを書き込む際のアドレス変換テーブルＬＰＴＢＬの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。アドレス変換テーブルＬＰＴＢＬは、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力された論理アドレスＬＡＤを不揮発性メモリ装置の物理アドレスＰＡＤへ転換するためのテーブルである。
【０２１０】
アドレス変換テーブルＬＰＴＢＬは、論理アドレスＬＡＤに対応した物理アドレスＰＡＤと、当該物理アドレスの有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣから構成される。また、このアドレス変換テーブルＬＰＴＢＬはランダムアクセスメモリＲＡＭへ格納される。不揮発性メモリ装置には、物理アドレスＰＡＤに対応したデータＤＡＴＡと、論理アドレスＬＡＤと、データ有効フラグＤＶＦと、レイヤ番号ＬＹＣが格納される。
【０２１１】
図２３Ａには、時間Ｔ０より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ論理アドレス領域ＬＲＮＧ１へのライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３が入力されたあとの状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へ書き込まれた後の時間Ｔ１におけるアドレス変換テーブルＬＰＴＢＬ及び不揮発性メモリ装置が格納するアドレス、データおよび有効フラグおよびレイヤ番号ＬＹＣが示されている。
【０２１２】
ライトリクエストＷＱ０には論理アドレス値（ＬＡＤ＝０）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ０）が含まれる。ライトリクエストＷＱ１には論理アドレス値（ＬＡＤ＝１）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ１）が含まれる。ライトリクエストＷＱ２には論理アドレス値（ＬＡＤ＝２）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ２）が含まれる。ライトリクエストＷＱ３には論理アドレス値（ＬＡＤ＝３）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ３）が含まれる。ライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３が制御回路ＭＤＬＣＴ０へ入力された際は、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。
【０２１３】
次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３の論理アドレス値（ＬＡＤ）がそれぞれ０、１、２および３であるため、これらに応じた情報を、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬからそれぞれ読み出す。すなわち、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの０番地、１番地、２番地および３番地から物理アドレス（ＰＡＤ）値、有効フラグ（ＣＰＶＬＤ）値およびレイヤ番号ＬＹＣを読みだす。
【０２１４】
最初は、図１２Ａに示したように、読み出された全ての有効フラグ（ＣＰＶＬＤ）値は０であるため、論理アドレスＬＡＤの０番地、１番地、２番地および３番地には物理アドレスＰＡＤが割り当てられていないことがわかる。次に、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１のエントリー番号ＥＮＵＭの０番から３番までに格納されている書き込み物理アドレス値（ＮＸＰＡＤ）およびレイヤ番号ＮＸＬＹＣを読み出し、論理アドレスＬＡＤの０番地、１番地、２番地および３番地にそれぞれ割り当てる。この例では、エントリー番号ＥＮＵＭの０番から３番までに格納された書き込み物理アドレス値（ＮＸＰＡＤ）は、それぞれ１０進数で０、１、２、３であり、レイヤ番号ＮＸＬＹＣは、それぞれ０、０、０、０であるものとする。
【０２１５】
次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、１、２および３のそれぞれの書き込みデータＤＡＴＡ０、１、２および３に対するＥＣＣコードＥＣＣ０、１、２および３を生成し、図１４に示すデータフォーマットに従い不揮発性メモリ装置への書き込みデータＷＤＡＴＡ０、１、２および３を生成する。すなわち、書き込みデータＷＤＡＴＡ０は、書き込みデータ（ＤＡＴＡ０）からなるメインデータＤＡｒｅａ０とそれに対応する冗長データＲＡｒｅａ０から構成され、書き込みデータＷＤＡＴＡ１は、書き込みデータ（ＤＡＴＡ１）からなるメインデータＤＡｒｅａ１とそれに対応する冗長データＲＡｒｅａ１から構成される。同様に、書き込みデータＷＤＡＴＡ２は、書き込みデータ（ＤＡＴＡ２）からなるメインデータＤＡｒｅａ２とそれに対応する冗長データＲＡｒｅａ２から構成され、書き込みデータＷＤＡＴＡ３は、書き込みデータ（ＤＡＴＡ３）からなるメインデータＤＡｒｅａ３とそれに対応する冗長データＲＡｒｅａ３から構成される。
【０２１６】
情報処理回路ＭＮＧＥＲにより、書き込みデータＷＤＡＴＡ０、１、２および３は、不揮発性メモリ装置の４つの物理アドレスへそれぞれ書き込まれる。冗長データＲＡｒｅａ０、１、２および３には、それぞれＥＣＣコードＥＣＣ０、１、２および３が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、データ書き込みレイヤ情報値（ＬＹＮ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２１７】
なお、論理アドレス領域ＬＲＮＧ１へのライトリクエストであれば、エリア情報値（ＡＲＥＡ）は１となり、論理アドレス領域ＬＲＮＧ２へのライトリクエストであれば、エリア情報値（ＡＲＥＡ）は２となる。また、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１から読み出したレイヤ番号ＮＸＬＹＣ値が０の場合、データ書き込みレイヤ情報ＬＹＮ［ｎ：０］の中の、ＬＹＮ［ｎ：１］が０、ＬＹＮ［０］が１となり、チェインメモリアレイＣＹ内の相変化メモリセルＣＬ０へデータが書きこまれることを示す。
【０２１８】
さらに、情報処理回路ＭＮＧＥＲは、書き込み物理アドレス値（ＮＸＰＡＤ）の１０進数で０、１、２および３に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込みを行う。すなわち、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの０番地へは、ライトリクエストＷＱ０に対応する書き込みデータＷＤＡＴＡ０、論理アドレス値（ＬＡＤ＝０）、およびレイヤ番号（ＬＹＣ＝０）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの１番地へは、ライトリクエストＷＱ１に対応する書き込みデータＷＤＡＴＡ１、論理アドレス値（ＬＡＤ＝１）、およびレイヤ番号（ＬＹＣ＝０）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、物理アドレスＰＡＤの２番地へは、書き込みデータＷＤＡＴＡ２、論理アドレス値（ＬＡＤ＝２）、データ有効フラグ（ＤＶＦ＝１）、レイヤ番号（ＬＹＣ＝０）を書き込み、物理アドレスＰＡＤの３番地へは、書き込みデータＷＤＡＴＡ３、論理アドレス値（ＬＡＤ＝３）、データ有効フラグ（ＤＶＦ＝１）、レイヤ番号（ＬＹＣ＝０）を書き込む。
【０２１９】
最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを更新する。すなわち、論理アドレスＬＡＤの０番地へは割り当て後の物理アドレス（ＰＡＤ＝０）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込み、論理アドレスＬＡＤの１番地へは割り当て後の物理アドレス（ＰＡＤ＝１）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込む。論理アドレスＬＡＤの２番地へは割り当て後の物理アドレス（ＰＡＤ＝２）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込み、論理アドレスＬＡＤの３番地へは割り当て後の物理アドレス（ＰＡＤ＝３）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込む。
【０２２０】
図２３Ｂには、時間Ｔ１より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が入力された後の状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へ書き込まれた後の時間Ｔ２において、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２２１】
ライトリクエストＷＱ４には、論理アドレス値（ＬＡＤ＝０）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ４）が含まれる。ライトリクエストＷＱ５には、論理アドレス値（ＬＡＤ＝１）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ５）が含まれる。ライトリクエストＷＱ６には、論理アドレス値（ＬＡＤ＝４）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ６）が含まれる。ライトリクエストＷＱ７には、論理アドレス値（ＬＡＤ＝５）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ７）が含まれる。ライトリクエストＷＱ８には、論理アドレス値（ＬＡＤ＝２）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ８）が含まれる。ライトリクエストＷＱ９には、論理アドレス値（ＬＡＤ＝３）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ９）が含まれる。ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が制御回路ＭＤＬＣＴ０へ入力された際には、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。
【０２２２】
次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、図１４に示すデータフォーマットに従い、ライトリクエストＷＱ４、５、６、７、８および９にそれぞれ対応する書き込みデータＷＤＡＴＡ４、５、６、７、８および９を生成する。書き込みデータＷＤＡＴＡ４は、書き込みデータＤＡＴＡ４からなるメインデータＤＡｒｅａ４と冗長データＲＡｒｅａ４から構成され、書き込みデータＷＤＡＴＡ５は書き込みデータＤＡＴＡ５からなるメインデータＤＡｒｅａ５と冗長データＲＡｒｅａ５から構成される。書き込みデータＷＤＡＴＡ６は書き込みデータＤＡＴＡ６からなるメインデータＤＡｒｅａ６と冗長データＲＡｒｅａ６から構成され、書き込みデータＷＤＡＴＡ７は書き込みデータＤＡＴＡ７からなるメインデータＤＡｒｅａ７と冗長データＲＡｒｅａ７から構成される。書き込みデータＷＤＡＴＡ８は書き込みデータＤＡＴＡ８からなるメインデータＤＡｒｅａ８と冗長データＲＡｒｅａ８から構成され、書き込みデータＷＤＡＴＡ９は書き込みデータＤＡＴＡ９からなるメインデータＤＡｒｅａ９と冗長データＲＡｒｅａ９から構成される。
【０２２３】
冗長データＲＡｒｅａ４、５、６、７、８および９には、それぞれ、書き込みデータＤＡＴＡ４、５、６、７、８および９を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ４、５、６、７、８および９が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２２４】
情報処理回路ＭＮＧＥＲにより、書き込みデータＷＤＡＴＡ４、５、６、７、８および９は、不揮発性メモリ装置の６つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ４、５、６、７、８および９の論理アドレス値（ＬＡＤ）がそれぞれ０、１、４、５、２および３であるため、これらに応じた情報を、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬからそれぞれ読み出す。すなわち、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの０番地、１番地、４番地、５番地、２番地および３番地から、それぞれ物理アドレス値（ＰＡＤ）、有効フラグ値（ＣＰＶＬＤ）およびレイヤ番号ＬＹＣを読みだす。
【０２２５】
図２３Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの０番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの０番地へのライトリクエストＷＱ４に伴い既に書き込まれている物理アドレスＰＡＤの０番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置における物理アドレスＰＡＤの０番地の有効フラグ値（ＤＶＦ）を０に設定する（図２３Ａの１０１→図２３Ｂの１１１）。同様に、図２３Ａにおいて、論理アドレスＬＡＤの１番地の物理アドレス値（ＰＡＤ）は１、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、ライトリクエストＷＱ５に伴い物理アドレスＰＡＤの１番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの１番地の有効フラグ値（ＤＶＦ）を０に設定する（図２３Ａの１０２→図２３Ｂの１１２）。
【０２２６】
また、図２３Ａのアドレス変換テーブルＬＰＴＢＬにおいて、ライトリクエストＷＱ６に伴う論理アドレスＬＡＤの４番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの４番地には、物理アドレスＰＡＤが割り当てられていないことがわかる。同様に、図２３Ａにおいて、ライトリクエストＷＱ７に伴う論理アドレスＬＡＤの５番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの５番地には、物理アドレスＰＡＤが割り当てられていないことがわかる。
【０２２７】
一方、図２３のアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの２番地の物理アドレス値（ＰＡＤ）は２、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの２番地へのライトリクエストＷＱ８に伴い既に書き込まれている物理アドレスＰＡＤの２番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの２番地の有効フラグ値（ＤＶＦ）を０に設定する（図２３Ａの１０３→図２３Ｂの１１３）。同様に、図２３Ａにおいて、論理アドレスＬＡＤの３番地の物理アドレス値（ＰＡＤ）は３、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、ライトリクエストＷＱ９に伴い物理アドレスＰＡＤの３番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの６番地の有効フラグ値（ＤＶＦ）を０に設定する（図２３Ａの１０４→図２３Ｂの１１４）。
【０２２８】
次に、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１のエントリー番号ＥＮＵＭの４番から９番までに格納されている書き込み物理アドレス値（ＮＸＰＡＤ）およびレイヤ番号ＮＸＬＹＣを読み出し、論理アドレスＬＡＤの０番地、１番地、４番地、５番地、２番地および３番地にそれぞれ割り当てる。この例では、エントリー番号ＥＮＵＭの４番から９番までに格納された書き込み物理アドレス値（ＮＸＰＡＤ）は、それぞれ４、５、６、７、８および９であり、レイヤ番号ＮＸＬＹＣは、それぞれ１、１、１、１、１および１であるものとする。
【０２２９】
続いて、情報処理回路ＭＮＧＥＲは、書き込み物理アドレス値（ＮＸＰＡＤ）の４、５、６、７、８および９に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込みを行う。すなわち、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの４番地へは、ライトリクエストＷＱ４に対応する書き込みデータＷＤＡＴＡ４、論理アドレス値（ＬＡＤ＝０）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの５番地へは、ライトリクエストＷＱ５に対応する書き込みデータＷＤＡＴＡ５、論理アドレス値（ＬＡＤ＝１）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２３０】
また、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの６番地へは、ライトリクエストＷＱ６に対応する書き込みデータＷＤＡＴＡ６、論理アドレス値（ＬＡＤ＝４）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの７番地へは、ライトリクエストＷＱ７に対応する書き込みデータＷＤＡＴＡ７、論理アドレス値（ＬＡＤ＝５）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２３１】
さらに、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの８番地へは、ライトリクエストＷＱ８に対応する書き込みデータＷＤＡＴＡ８、論理アドレス値（ＬＡＤ＝２）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの９番地へは、ライトリクエストＷＱ９に対応する書き込みデータＷＤＡＴＡ９、論理アドレス値（ＬＡＤ＝３）、およびレイヤ番号（ＬＹＣ＝１）を書き込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２３２】
図２４Ａおよび図２４Ｂは、図１の制御回路ＭＤＬＣＴ０が不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へデータを書き込む際のアドレス変換テーブルＬＰＴＢＬの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。ここでは、図２３Ａおよび図２３Ｂの場合と同様に、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置ＮＶＭの状態が示されている。
【０２３３】
アドレス変換テーブルＬＰＴＢＬは、論理アドレスＬＡＤに対応した物理アドレスＰＡＤと、当該物理アドレスの有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣから構成される。また、このアドレス変換テーブルＬＰＴＢＬはランダムアクセスメモリＲＡＭへ格納される。不揮発性メモリ装置には、物理アドレスＰＡＤに対応したデータＤＡＴＡと、論理アドレスＬＡＤと、データ有効フラグＤＶＦと、レイヤ番号ＬＹＣが格納される。ここでは、レイヤ番号ＬＹＣは、全て“０”であるため図面からは省略している。
【０２３４】
図２４Ａは、時間Ｔ０より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ、論理アドレス領域ＬＲＮＧ２へのライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３が入力された後の状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へ書き込まれた後の時間Ｔ１における、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２３５】
ライトリクエストＷＱ０には、１６進数で論理アドレス値（ＬＡＤ＝“８０００００”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ０）が含まれる。ライトリクエストＷＱ１には、１６進数で論理アドレス値（ＬＡＤ＝“８００００１”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ１）が含まれる。ライトリクエストＷＱ２には、１６進数で論理アドレス値（ＬＡＤ＝“８００００２”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ２）が含まれる。ライトリクエストＷＱ３には、１６進数で論理アドレス値（ＬＡＤ＝“８００００３”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ３）が含まれる。
【０２３６】
ライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３が制御回路ＭＤＬＣＴ０へ入力された際、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３を順に読み出す。この際に、情報処理回路ＭＮＧＥＲは、メモリ制御装置ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬを参照し、ライトリクエストＷＱ０、１、２および３に対応する各種情報を読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地からそれぞれ物理アドレス値（ＰＡＤ）および有効フラグＣＰＶＬＤを読み出す。
【０２３７】
最初は、図１２Ａのように読み出された全ての有効フラグＣＰＶＬＤは０であるため、論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地には物理アドレスＰＡＤが割り当てられていないことが分かる。次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、１、２および３に対応して、図１４に示すデータフォーマットに従い、不揮発性メモリ装置への書き込みデータＷＤＡＴＡ０、１、２および３を生成する。書き込みデータＷＤＡＴＡ０は、書き込みデータＤＡＴＡ０からなるメインデータＤＡｒｅａ０とその冗長データＲＡｒｅａ０から構成され、書き込みデータＷＤＡＴＡ１は書き込みデータＤＡＴＡ１からなるメインデータＤＡｒｅａ１とその冗長データＲＡｒｅａ１から構成される。書き込みデータＷＤＡＴＡ２は書き込みデータＤＡＴＡ２からなるメインデータＤＡｒｅａ２とその冗長データＲＡｒｅａ２から構成され、書き込みデータＷＤＡＴＡ３は書き込みデータＤＡＴＡ３からなるメインデータＤＡｒｅａ３とその冗長データＲＡｒｅａ３から構成される。
【０２３８】
冗長データＲＡｒｅａ０、１、２および３には、それぞれ、書き込みデータＤＡＴＡ０、１、２および３を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ０、１、２および３が含まれる。さらに共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２３９】
情報処理回路ＭＮＧＥＲにより、書き込みデータＷＤＡＴＡ０、１、２および３は、不揮発性メモリ装置の４つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０〜ＷＱ３に応じて書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２のエントリー番号ＥＮＵＭの例えば１６番から１９番までに格納されている書き込み物理アドレスＮＸＰＡＤを読み出し、それらを各論理アドレスに割り当てる。ここでは、当該書き込み物理アドレス値（ＮＸＰＡＤ）が、それぞれ、“２８０００００”、“２８００００１”、“２８００００２”および“２８００００３”であるものとして、情報処理回路ＭＮＧＥＲは、これらを、論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地にそれぞれ割り当てる。
【０２４０】
さらに、情報処理回路ＭＮＧＥＲは、当該書き込み物理アドレス値（ＮＸＰＡＤ）に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込みを行う。具体的には、不揮発性メモリ装置の物理アドレスＰＡＤの“２８０００００”番地へはライトリクエストＷＱ０に対応する書き込みデータＷＤＡＴＡ０、論理アドレス値（ＬＡＤ＝“８０００００”）を書き込み、データ有効フラグＤＶＦとして１を書き込む。不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００１”番地へはライトリクエストＷＱ１に対応する書き込みデータＷＤＡＴＡ１、論理アドレス値（ＬＡＤ＝“８００００１”）を書き込み、データ有効フラグＤＶＦとして１を書き込む。
【０２４１】
また、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００２”番地へはライトリクエストＷＱ２に対応する書き込みデータＷＤＡＴＡ２、論理アドレス値（ＬＡＤ＝“８００００２”）を書き込み、データ有効フラグＤＶＦとして１を書き込む。同様に、不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００３”番地へはライトリクエストＷＱ３に対応する書き込みデータＷＤＡＴＡ３、論理アドレス値（ＬＡＤ＝“８００００３”）を書き込み、データ有効フラグＤＶＦとして１を書き込む。
【０２４２】
最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じ、ランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを更新する。具体的には、アドレス変換テーブルＬＰＴＢＬにおける論理アドレスＬＡＤの“８０００００”番地へは、物理アドレス値（ＰＡＤ＝“２８０００００”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。また、論理アドレスＬＡＤの“８００００１”番地へは物理アドレス値（ＰＡＤ＝“２８００００１”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。同様に、論理アドレスＬＡＤの“８００００２”番地へは物理アドレス値（ＰＡＤ＝“２８００００２”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込み、論理アドレスＬＡＤの“８００００３”番地へは物理アドレス値（ＰＡＤ＝“２８００００３”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。
【０２４３】
図２４Ｂには、時間Ｔ１より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ、ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が入力された後の状態が示される。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へ書き込まれた後の時間Ｔ２における、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２４４】
ライトリクエストＷＱ４には、論理アドレス値（ＬＡＤ＝“８０００００”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ４）が含まれる。ライトリクエストＷＱ５には、論理アドレス値（ＬＡＤ＝“８００００１”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ５）が含まれる。ライトリクエストＷＱ６には、論理アドレス値（ＬＡＤ＝“８００００４”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ６）が含まれる。ライトリクエストＷＱ７には論理アドレス値（ＬＡＤ＝“８００００５”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ７）が含まれる。ライトリクエストＷＱ８には、論理アドレス値（ＬＡＤ＝“８００００２”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ８）が含まれる。ライトリクエストＷＱ９には、論理アドレス値（ＬＡＤ＝“８００００３”）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書き込みデータ（ＤＡＴＡ９）が含まれる。
【０２４５】
ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が制御回路ＭＤＬＣＴ０へ入力された際、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、図１４に示すデータフォーマットに従い、ライトリクエストＷＱ４、５、６、７、８および９にそれぞれ対応する不揮発性メモリ装置への書き込みデータＷＤＡＴＡ４、５、６、７、８および９を生成する。
【０２４６】
書き込みデータＷＤＡＴＡ４は、書き込みデータＤＡＴＡ４からなるメインデータＤＡｒｅａ４とその冗長データＲＡｒｅａ４から構成され、書き込みデータＷＤＡＴＡ５は、書き込みデータＤＡＴＡ５からなるメインデータＤＡｒｅａ５とその冗長データＲＡｒｅａ５から構成される。書き込みデータＷＤＡＴＡ６は、書き込みデータＤＡＴＡ６からなるメインデータＤＡｒｅａ６とその冗長データＲＡｒｅａ６から構成され、書き込みデータＷＤＡＴＡ７は、書き込みデータＤＡＴＡ７からなるメインデータＤＡｒｅａ７とその冗長データＲＡｒｅａ７から構成される。書き込みデータＷＤＡＴＡ８は、書き込みデータＤＡＴＡ８からなるメインデータＤＡｒｅａ８とその冗長データＲＡｒｅａ８から構成され、書き込みデータＷＤＡＴＡ９は、書き込みデータＤＡＴＡ９からなるメインデータＤＡｒｅａ９とその冗長データＲＡｒｅａ９から構成される。
【０２４７】
冗長データＲＡｒｅａ４、５、６、７、８および９には、それぞれ、書き込みデータＤＡＴＡ４、５、６、７、８および９を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ４、５、６、７、８および９が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２４８】
情報処理回路ＭＮＧＥＲにより、書き込みデータＷＤＡＴＡ４、５、６、７、８および９は、不揮発性メモリ装置の６つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを参照し、ライトリクエストＷＱ４、５、６、７、８および９に対応する各種情報をそれぞれ読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００４”番地、“８００００５”番地、“８００００２”番地および“８００００３”番地から、それぞれ物理アドレスＰＡＤおよび有効フラグＣＰＶＬＤを読み出す。
【０２４９】
図２４Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの“８０００００”番地の物理アドレス値（ＰＡＤ）は“２８０００００”、有効フラグ値（ＣＰＶＬＤ）は１であり、論理アドレスＬＡＤの“８０００００”番地へのライトリクエストＷＱ４に伴い、既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８０００００”番地の有効フラグＤＶＦを０に設定する（図２４Ａの２０１→図２４Ｂの２１１）。同様に、図２４Ａの論理アドレスＬＡＤの“８００００１”番地の物理アドレス値（ＰＡＤ）は“２８００００１”、有効フラグ値（ＣＰＶＬＤ）は１であり、ライトリクエストＷＱ５に伴い、既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００１”番地の有効フラグＤＶＦを０に設定する（図２４Ａの２０２→図２４Ｂの２１２）。
【０２５０】
一方、図２４Ａのアドレス変換テーブルＬＰＴＢＬにおいて、ライトリクエストＷＱ６に伴う論理アドレスＬＡＤの“８００００４”番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０であり、論理アドレスＬＡＤ“８００００４”番地には、物理アドレスＰＡＤが割り当てられていないことが分かる。同様に、ライトリクエストＷＱ７に伴う論理アドレスＬＡＤの“８００００５”番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０であり、論理アドレスＬＡＤの“８００００５”番地には、物理アドレスＰＡＤが割り当てられていないことが分かる。
【０２５１】
また、図２４Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの“８００００２”番地の物理アドレス値（ＰＡＤ）は“２８００００２”、有効フラグ値（ＣＰＶＬＤ）は１であり、論理アドレスＬＡＤの“８００００２”番地へのライトリクエストＷＱ８に伴い既に書き込まれている物理アドレスを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００２”番地の有効フラグ値（ＤＶＦ）を０に設定する（図２４Ａの２０３→図２４Ｂの２１３）。同様に、図２４Ａにおける論理アドレスＬＡＤの“８００００３”番地の物理アドレス値（ＰＡＤ）は“２８００００３”、有効フラグ値（ＣＰＶＬＤ）は１であり、ライトリクエストＷＱ９に伴い既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００３”番地の有効フラグ値（ＤＶＦ）を０に設定する（図２４Ａの２０４→図２４Ｂの２１４）。
【０２５２】
次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ４〜ＷＱ９に応じて書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２のエントリー番号ＥＮＵＭの２０番から２５番までに格納されている書き込み物理アドレスＮＸＰＡＤを読み出し、それらを各論理アドレスに割り当てる。ここでは、当該書き込み物理アドレス値（ＮＸＰＡＤ）が、それぞれ“２８００００４”、“２８００００５”、“２８００００６”、“２８００００７”、“２８００００８”および“２８００００９”であるものとする。そして、それらが論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００４”番地、“８００００５”番地、“８００００２”番地および“８００００３”番地にそれぞれ割り当てられる。
【０２５３】
続いて、情報処理回路ＭＮＧＥＲは、これらの物理アドレスの割り当てに従って、調停回路ＡＲＢおよびメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込みを行う。具体的には、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの“２８００００４”番地へはライトリクエストＷＱ４に対応する書き込みデータＷＤＡＴＡ４、論理アドレス値（ＬＡＤ＝“８０００００”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００５”番地へはライトリクエストＷＱ５に対応する書き込みデータＷＤＡＴＡ５、論理アドレス値（ＬＡＤ＝“８００００１”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。
【０２５４】
同様にして、物理アドレスＰＡＤの“２８００００６”番地へは、ライトリクエストＷＱ６に対応する書き込みデータＷＤＡＴＡ６、論理アドレス値（ＬＡＤ＝“８００００４”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００７”番地へは、ライトリクエストＷＱ７に対応する書き込みデータＷＤＡＴＡ７、論理アドレス値（ＬＡＤ＝“８００００５”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００８”番地へは、ライトリクエストＷＱ８に対応する書き込みデータＷＤＡＴＡ８、論理アドレス値（ＬＡＤ＝“８００００２”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００９”番地へは、ライトリクエストＷＱ９に対応する書き込みデータＷＤＡＴＡ９、論理アドレス値（ＬＡＤ＝“８００００３”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。そして、最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じ、ランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを図２４Ｂに示されるような状態に更新する。
【０２５５】
《メモリモジュール（半導体装置）の読み出し動作》
図２５は、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へリードリクエスト（ＲＱ）が入力された際に、メモリモジュールＮＶＭＭＤ０が行うデータ読み出し動作の一例を示すフロー図である。まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（例えばＬＡＤ＝０）、データ読み出し命令（ＲＤ）、セクタカウント値（ＳＥＣ＝１）が含まれるリードリクエスト（ＲＱ）が制御回路ＭＤＬＣＴ０へ入力される。これを受けて、インターフェース回路ＨＯＳＴ＿ＩＦは、リードリクエスト（ＲＱ）に埋め込まれているクロック情報を取り出し、シリアルデータ化されたリードリクエスト（ＲＱ）をパラレルデータへ変換し、バッファＢＵＦ０および情報処理回路ＭＮＧＥＲへ転送する（Ｓｔｅｐ６１）。
【０２５６】
次に、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）、データ読み出し命令（ＲＤ）およびセクタカウント値（ＳＥＣ＝１）を解読し、ランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬを参照して、各種情報を読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの０番地に格納されている物理アドレス値ＰＡＤ（例えばＰＡＤ＝０）と、この物理アドレスＰＡＤに対応した有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣを読み出す（Ｓｔｅｐ６２）。次に、読み出した有効フラグＣＰＶＬＤが１であるかどうかをチェックする（Ｓｔｅｐ６３）。
【０２５７】
もし、有効フラグＣＰＶＬＤが０の場合、情報処理回路ＭＮＧＥＲは、当該論理アドレス値（ＬＡＤ＝０）には物理アドレスＰＡＤが割り当てられていないことを認識する。この場合、不揮発性メモリ装置ＮＶＭからデータを読み出すことができないため、情報処理回路ＭＮＧＥＲは、エラーが発生したことをインターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理装置ＣＰＵ＿ＣＰへ伝える（Ｓｔｅｐ６５）。
【０２５８】
もし、有効フラグＣＰＶＬＤ値が１の場合、情報処理回路ＭＮＧＥＲは、当該論理アドレス値（ＬＡＤ＝０）には物理アドレス値ＰＡＤ（ＰＡＤ＝０）が対応していると判断する。論理アドレス値（ＬＡＤ＝０）に対応している物理アドレス値ＰＡＤ（ＰＡＤ＝０）が、第１物理アドレス領域ＰＲＮＧ１内のアドレスであれば、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤ（ＣＰＡＤ＝０）と、レイヤ番号ＬＹＣは、図２２Ａに示した不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷと、カラムアドレスＣＯＬへ変換される。一方、論理アドレス値（ＬＡＤ＝０）に対応している物理アドレス値（ＰＡＤ＝０）が、第２物理アドレス領域ＰＲＮＧ２内のアドレスであれば、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤ（ＣＰＡＤ＝０）は、図２２Ｂに示した不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷと、カラムアドレスＣＯＬへ変換される。
【０２５９】
さらに、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤと、レイヤ番号ＬＹＣとから変換された不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷおよびカラムアドレスＣＯＬは、調停回路ＡＲＢおよびメモリ制御回路ＮＶＣＴを通じて不揮発性メモリ装置ＮＶＭへ入力される。そして、図２２Ｃに示した動作にしたがって、不揮発性メモリ装置ＮＶＭに格納されたデータ（ＲＤＡＴＡ０）が読み出される。データ（ＲＤＡＴＡ０）には、メインデータＤＡｒｅａ０と冗長データＲＡｒｅａ０が含まれ、さらに冗長データＲＡｒｅａ０には、ライトフラグＷＴＦＬＧおよびＥＣＣコードＥＣＣ０が含まれる（Ｓｔｅｐ６４）。
【０２６０】
次に、情報処理回路ＭＮＧＥＲは、不揮発性メモリＮＶＭへ格納されているＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）内の論理アドレス領域ＬＲＮＧと、この論理アドレス領域ＬＲＮＧに対応したライト方法選択情報ＷＲＴＦＬＧ（図１３）を読み出す。そして、論理アドレス値（ＬＡＤ＝０）がどの論理アドレス領域ＬＲＮＧに属するかを調べ、これに対応したライト方法選択情報ＷＲＴＦＬＧを求める。さらに、ライト方法選択情報ＷＲＴＦＬＧの値が１かどうかをチェックする（Ｓｔｅｐ６６）。
【０２６１】
ライト方法選択情報ＷＲＴＦＬＧの値が１であれば、情報処理回路ＭＮＧＥＲは、メインデータＤＡｒｅａ０およびＥＣＣコードＥＣＣ０の各ビットを反転させ、メインデータ（／ＤＡｒｅａ０）およびＥＣＣコード（／ＥＣＣ０）を生成する（Ｓｔｅｐ６７）。その後、情報処理回路ＭＮＧＥＲは、ＥＣＣコード（／ＥＣＣ０）を利用して、メインデータ（／ＤＡｒｅａ０）にエラーがあるかをチェックし、エラーがあれば訂正を行い（Ｓｔｅｐ６８）、インターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理装置ＣＰＵ＿ＣＰへ転送する（Ｓｔｅｐ６９）。
【０２６２】
一方、ライト方法選択情報ＷＲＴＦＬＧ値が１でなければ、情報処理回路ＭＮＧＥＲは、ＥＣＣコードＥＣＣ０を利用して、メインデータＤＡｒｅａ０にエラーがあるかをチェックし、エラーがあれば訂正を行い（Ｓｔｅｐ６８）、インターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理装置ＣＰＵ＿ＣＰへ転送する（Ｓｔｅｐ６９）。
【０２６３】
《ライト方法選択情報に応じたメモリモジュール（半導体装置）の書き込み動作》
図２６は、図１３Ｂに示されるＳＳＤコンフィグレーション情報（ＳＤＣＧＦ）を例として、ライト方法選択情報（ＷＲＴＦＬＧ）に応じたメモリモジュールの書き込み動作の一例を示すフロー図である。図１３Ｂの例では、論理アドレス領域ＬＲＮＧ１のライト方法選択情報ＷＲＴＦＬＧは０へ設定され、論理アドレス領域ＬＲＮＧ２のライト方法選択情報ＷＲＴＦＬＧは１に設定されている。特に限定しないが、セット状態のメモリセルは“１”のビットデータを表し、リセット状態のメモリセルは“０”のビットデータを表す。
【０２６４】
まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（ＬＡＤ）、データ書き込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、５１２バイトの書き込みデータ（ＤＡＴＡ０）が含まれるライトリクエスト（ＷＱ０１）がインターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理回路ＭＮＧＥＲへ入力される（Ｓｔｅｐ７１）。情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭへ格納されたアドレスマップ範囲（ＡＤＭＡＰ）を利用し、論理アドレス値（ＬＡＤ）が、論理アドレス領域ＬＲＮＧ１内の論理アドレス値であるか、あるいは、論理アドレス領域ＬＲＮＧ２内の論理アドレス値であるかを判断し、それぞれの論理アドレス領域ＬＲＮＧ１およびＬＲＮＧ２のライト方法選択情報ＷＲＴＦＬＧをチェックする（Ｓｔｅｐ７２）。
【０２６５】
情報処理回路ＭＮＧＥＲは、ライトリクエスト（ＷＱ０１）に含まれる論理アドレス値（ＬＡＤ）が論理アドレス領域ＬＲＮＧ１内の論理アドレスＬＡＤであれば、論理アドレス領域ＬＲＮＧ１のライト方法選択情報ＷＲＴＦＬＧが０に設定されているので、Ｓｔｅｐ７６に進んで不揮発性メモリ装置に対する書き込みを行う。すなわち、書き込みデータ（ＤＡＴＡ０）および書き込みデータ（ＤＡＴＡ０）に対応する冗長データ（ＲＡｒｅａ０）は、図１６の第１物理アドレス領域ＰＲＮＧ１内の「●」で示される複数のチェインメモリアレイ内のうち、メモリセル選択線で選択された１個のメモリセルへ書き込まれる（Ｓｔｅｐ７６）。
【０２６６】
一方、情報処理回路ＭＮＧＥＲは、ライトリクエスト（ＷＱ０１）に含まれる論理アドレス値（ＬＡＤ）が論理アドレス領域ＬＲＮＧ２内の論理アドレスＬＡＤであれば、論理アドレス領域ＬＲＮＧ２のライト方法選択情報ＷＲＴＦＬＧが１へ設定されているので、Ｓｔｅｐ７３からＳｔｅｐ７６を実行する。すなわち、情報処理回路ＭＮＧＥＲは、Ｓｔｅｐ７３で、５１２バイト（５１２ｘ８ビット）の書き込みデータ（ＤＡＴＡ０）の中で、“０”のビットデータおよび“１”のビットデータを数え（Ｓｔｅｐ７３）、“０”のビットデータの数と“１”のビットデータの数を比較する（Ｓｔｅｐ７４）。次に、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より大きい場合は、書き込みデータ（ＤＡＴＡ０）の各ビットを反転させ（Ｓｔｅｐ７５）、Ｓｔｅｐ７６に進んで当該反転データを不揮発性メモリ装置に書き込む。すなわち、図１６の第２物理アドレス領域ＰＲＮＧ２内の「◎」で示される複数のチェインメモリアレイ内の各メモリセルに対して書き込みを行う（Ｓｔｅｐ７６）。
【０２６７】
このように、書き込みデータ（ＤＡＴＡ０）の各ビットを反転させることで、“０”のビットデータの数は、５１２バイト（５１２ｘ８ビット）の内、常に２０４８ビット（＝４０９６／２）以下となる。これにより、書き込みデータの中の“１”のビットデータの数が常に１／２以下となり、書き込むデータ量を半減できる。すなわち、前述したように、メモリセルへ５１２バイト（５１２ｘ８ビット）データを書き込む際には、一旦、５１２バイト（５１２ｘ８ビット）のメモリセルがセット状態にされ（“１”ビットデータに消去され）、その後、必要なメモリセルがリセット状態へ書き換えられる（“０”ビットデータに書き込まれる）。この際に、図１６の第２物理アドレス領域ＰＲＮＧ２内の「◎」で示される複数のチェインメモリアレイ内において、“０”のビットデータを半数のメモリセルへ書き込むだけで良いので、高速且つ低電力のＳＳＤを実現できる。
【０２６８】
また、図２６のＳｔｅｐ７２において、仮に入力された論理アドレス値（ＬＡＤ）が含まれる論理アドレス領域を対象として、ライト方法選択情報ＷＲＴＦＬＧが２に設定されている場合、情報処理回路ＭＮＧＥＲは、Ｓｔｅｐ７７〜Ｓｔｅｐ７９を実行する。すなわち、情報処理回路ＭＮＧＥＲは、当該論理アドレス値（ＬＡＤ）に対応する不揮発性メモリ装置の物理アドレスから一旦データを読み出し（Ｓｔｅｐ７７）、当該読み出されたデータと入力された書き込みデータ（ＤＡＴＡ０）とを各ビット毎に比較する（Ｓｔｅｐ７８）。そして、この比較結果により、データが異なるビットのみを対象として不揮発性メモリ装置に対する書き込みを行う（Ｓｔｅｐ７９）。
【０２６９】
なお、上記の書き込み方法では、図１３Ｂを例として、論理アドレス領域ＬＲＮＧ１のライト方法選択情報ＷＲＴＦＬＧは０に設定され、論理アドレス領域ＬＲＮＧ２のライト方法選択情報ＷＲＴＦＬＧは１に設定されている場合について説明した。ただし、勿論、この場合に限らず、論理アドレス領域ＬＲＮＧ１のライト方法選択情報ＷＲＴＦＬＧが１に設定された場合でも、同様の効果があるのはいうまでもない。
【０２７０】
《ウエアレベリング方法［２］》
図２７は、図２１の場合に加えて図２の情報処理回路ＭＮＧＥＲが実行するウエアレベリング方法の一例を示すフロー図である。図１１に示したように、情報処理回路ＭＮＧＥＲは、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの中で、エントリー番号０から（Ｎ／２−１）までのＮ／２個分を書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とし、エントリー番号（Ｎ／２）からＮまでの残りのＮ／２個分を書き込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理する。図２１で説明したように、当該書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを図１０Ａの物理セグメントテーブルＰＳＥＧＴＢＬ１を用いて更新することによるダイナミックウエアレベリングは、無効状態の物理アドレスを対象とした動的な消去回数の平準化方法である。
【０２７１】
しかしながら、ダイナミックウエアレベリングは、無効状態の物理アドレスが対象となるため、全体的に、無効状態の物理アドレスの消去回数と有効状態の物理アドレスの消去回数との差が段々と拡大していく場合がある。例えば、ある論理アドレス（それに対応する物理アドレス）に書き込みが行われたのち、当該物理アドレスが有効状態となり、その後、長期間に渡って当該論理アドレス（それに対応する物理アドレス）に対して書き込み命令が生じなかった場合、当該物理アドレスは、長期間に渡ってウエアレベリングの対象から外されることになる。そこで、図２の情報処理回路ＭＮＧＥＲは、図２７に示すように、無効状態の物理アドレスの消去回数と有効状態の物理アドレスの消去回数のバラツキを抑える静的な消去回数の平準化方法（スタティックウエアレベリング）を実行する。
【０２７２】
情報処理回路ＭＮＧＥＲは、図１５のアドレス範囲マップ（ＡＤＭＡＰ）における第１物理アドレス領域ＰＲＮＧ１および第２物理アドレス領域ＰＲＮＧ２の範囲内のそれぞれで、図２７に示す静的な消去回数の平準化方法を行う。まず、情報処理回路ＭＮＧＥＲは無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１（図１０Ａ）内で最大消去回数ＭＸＥＲＣの中の最大値ＭＸＥＲＣｍｘと、有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２（図１０Ｂ）内で最小消去回数ＭＮＥＲＣの中の最小値ＭＮＥＲＣｍｎを検出する。そして、この最大値ＭＸＥＲＣｍｘと最小値ＭＮＥＲＣｍｎの差ＤＩＦＦ（＝ＭＸＥＲＣｍｘ−ＭＮＥＲＣｍｎ）を求める（Ｓｔｅｐ５１）。
【０２７３】
次のＳｔｅｐ５２で、情報処理回路ＭＮＧＥＲは、無効状態の物理アドレスの消去回数と、有効状態の物理アドレスの消去回数の差の閾値ＤＥＲＣｔｈを設定し、この閾値ＤＥＲＣｔｈと消去回数差ＤＩＦＦを比較する。消去回数差ＤＩＦＦが閾値ＤＥＲＣｔｈより大きい場合、情報処理回路ＭＮＧＥＲは、消去回数の平準化行うためＳｔｅｐ５３を行い、小さい場合はＳｔｅｐ５８を行う。Ｓｔｅｐ５８において、情報処理回路ＭＮＧＥＲは、物理セグメントテーブルＰＳＥＧＴＢＬ１又はＰＳＥＧＴＢＬ２が更新されたか否かを判定し、更新された場合はＳｔｅｐ５１にて再度、消去回数差ＤＩＦＦを求め、いずれの物理セグメントテーブルも更新されていない場合は、再度Ｓｔｅｐ５８を行う。
【０２７４】
Ｓｔｅｐ５３で、情報処理回路ＭＮＧＥＲは、有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２内の最小消去回数ＭＮＥＲＣの中で最も小さな消去回数から順にｍ個分の物理アドレスＳＰＡＤ１〜ＳＰＡＤｍを選択する。Ｓｔｅｐ５４では、情報処理回路ＭＮＧＥＲは、無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１内の最大消去回数ＭＸＥＲＣの中で最も大きな消去回数から順にｍ個分の物理アドレスＤＰＡＤ１〜ＤＰＡＤｍを候補として選択する。
【０２７５】
Ｓｔｅｐ５５では、情報処理回路ＭＮＧＥＲは、候補とされた物理アドレスＤＰＡＤ１〜ＤＰＡＤｍが、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬへ登録されているかを調べる。もし、候補とされた物理アドレスＤＰＡＤ１〜ＤＰＡＤｍのいずれかが、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬに登録されていれば、Ｓｔｅｐ５９においてこの物理アドレスＤＰＡＤ１〜ＤＰＡＤｍのいずれを候補から除外し、再度Ｓｔｅｐ５４で候補の補充を行う。もし、選択された物理アドレスＤＰＡＤ１〜ＤＰＡＤｍが、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬへ登録されていなければＳｔｅｐ５６を行う。
【０２７６】
Ｓｔｅｐ５６では、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置内における物理アドレスＳＰＡＤ１〜ＳＰＡＤｍのデータを物理アドレスＤＰＡＤ１〜ＤＰＡＤｍへ移動させる。Ｓｔｅｐ５７では、情報処理回路ＭＮＧＥＲは、物理アドレスＳＰＡＤ１〜ＳＰＡＤｍのデータを物理アドレスＤＰＡＤ１〜ＤＰＡＤｍへ移動させたことにより、更新する必要のある全テーブルを更新する。
【０２７７】
このようなスタティックウエアレベリングを図２１に示したダイナミックウエアレベリングと併用することで、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７全体で消去回数の平準化を図ることが可能となる。なお、この例では、ｍ個分の物理アドレスのデータを移動した例を示したが、ｍの値は、目標性能に応じて情報処理回路ＭＮＧＥＲによってプログラム可能であり、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬの登録数Ｎとすると例えば１≦ｍ≦Ｎに設定すると良い。
【０２７８】
《パイプライン書き込み動作》
図２８は、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ連続してライトリクエストが発生した際に、メモリモジュールＮＶＭＭＤ０内部でパイプライン的に実行されるデータ書き込み動作の一例を示す図である。特に限定しないが、図２の制御回路ＭＤＬＣＴ０内のバッファＢＵＦ０〜ＢＵＦ３には、それぞれＮ×５１２バイトの書き込みデータが格納できる。
【０２７９】
図２８に示すバッファ転送動作ＷＴＢＵＦ０、１、２および３では、ライトリクエストＷＱがバッファＢＵＦ０、１、２および３へそれぞれ転送される。事前準備動作ＰＲＥＯＰ０、１、２および３では、バッファＢＵＦ０、１、２および３に転送された書き込みデータをそれぞれ不揮発性メモリ装置ＮＶＭへ書き込むための事前準備動作が行われる。データ書き込み動作ＷＴＮＶＭ０、１、２および３では、バッファＢＵＦ０、１、２および３に格納された書き込みデータが、それぞれ不揮発性メモリ装置ＮＶＭへ書き込まれる。
【０２８０】
バッファ転送動作ＷＴＢＵＦ０、１、２および３と、事前準備動作ＰＲＥＯＰ０、１、２および３と、データ書き込み動作ＷＴＮＶＭ０、１、２および３は、図２８に示すように、制御回路ＭＤＬＣＴ０によるパイプライン動作によって実行される。これにより、書き込み速度を向上させることが可能となる。具体的には、以下のようなパイプライン動作が行われる。
【０２８１】
時間Ｔ０からＴ２の期間に発生したＮ回のライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）はインターフェース回路ＨＯＳＴ＿ＩＦにおいて、先ず、バッファＢＵＦ０へ転送される（ＷＴＢＵＦ０）。バッファＢＵＦ０へ書き込みデータが格納できなくなると、時間Ｔ２からＴ４の期間に発生したＮ回のライトリクエスト（ＷＱ［Ｎ＋１］〜ＷＱ［２Ｎ］）はバッファＢＵＦ１へ転送される（ＷＴＢＵＦ１）。バッファＢＵＦ１へ書き込みデータが格納できなくなると、時間Ｔ４からＴ６の期間に発生したＮ回のライトリクエスト（ＷＱ［２Ｎ＋１］〜ＷＱ［３Ｎ］）はバッファＢＵＦ２へ転送される（ＷＴＢＵＦ２）。バッファＢＵＦ２へ書き込みデータが格納できなくなると、時間Ｔ６からＴ８の期間に発生したＮ回のライトリクエスト（ＷＱ［３Ｎ＋１］〜ＷＱ［４Ｎ］）はバッファＢＵＦ３へ転送される（ＷＴＢＵＦ３）。
【０２８２】
情報処理回路ＭＮＧＥＲは、時間Ｔ１からＴ３の期間において、バッファＢＵＦ０に格納されている書き込みデータを不揮発性メモリ装置ＮＶＭへ書き込むための事前準備（ＰＲＥＯＰ０）を行う。情報処理回路ＭＮＧＥＲが行う事前準備動作ＰＲＥＯＰ０の主な動作内容を以下に示す。なお、他の事前準備動作ＰＲＥＯＰ１、２、３も当該事前準備動作ＰＲＥＯＰ０と同様の動作となる。
（１）ライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）へ含まれる論理アドレスＬＡＤ値を利用し、アドレス変換テーブルＬＰＴＢＬから物理アドレスＰＡＤを読み出し、必要に応じてこの物理アドレスＰＡＤの有効フラグ（ＣＰＶＬＤ，ＰＶＬＤ，ＤＶＦ）値を０にし、データを無効にする。
（２）アドレス変換テーブルＬＰＴＢＬを更新する。
（３）書き込み物理アドレステーブルＮＸＰＡＤＴＢＬに格納されている書き込み物理アドレスＮＸＰＡＤを読み出し、この書き込み物理アドレスＮＸＰＡＤへライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）に含まれる論理アドレスＬＡＤを割り当てる。
（４）物理セグメントテーブルＰＳＥＧＴＢＬを更新する。
（５）物理アドレステーブルＰＡＤＴＢＬを更新する。
（６）次の書き込みに備えて、書き込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新する。
【０２８３】
次に、情報処理回路ＭＮＧＥＲは、時間Ｔ３からＴ５の期間において、バッファＢＵＦ０に格納されている書き込みデータを不揮発性メモリ装置ＮＶＭへ書き込む（ＷＴＮＶＭ０）。この際に、データが書き込まれた不揮発性メモリ装置ＮＶＭの物理アドレスは、上記（３）での書き込み物理アドレスＮＸＰＡＤ値と等しい。他のデータ書き込み動作ＷＴＮＶＭ１、２、３もデータ書き込み動作ＷＴＮＶＭ０と同様の動作となる。
【０２８４】
《まとめ》
これまでの説明を反映して、本実施の形態によって得られる代表的な構成を纏めると以下のようになる。
【０２８５】
（１）本実施の形態による半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、当該不揮発性メモリ部へのアクセスを制御する制御回路とを有する。当該不揮発性メモリ部は、複数の第１信号線と、複数の第１信号線と交差する複数の第２信号線との交点に配置される複数のメモリセル群を有し、複数のメモリセル群は第１から第Ｎのメモリセルを有し、第１から第Ｎのメモリセルは、第１から第Ｎの第３信号線に接続される。ここで、制御回路は、１回のデータ書き込み動作の際、第１から第Ｎのメモリセルの中でＭ個（Ｍ＜Ｎ）のメモリセルへデータを書き込む。
【０２８６】
（２）前記（１）の構成において、制御回路は、１回のデータ読み出し動作の際、第１から第Ｎのメモリセルの中でＭ個（Ｍ＜Ｎ）のメモリセルからデータを読み出す。
【０２８７】
（３）前記（１）の構成において、制御回路は、Ｍの値をプログラム可能である。
【０２８８】
（４）前記（１）の構成において、第１から第Ｎのメモリセルは直列に接続されている。
【０２８９】
（５）前記（４）の構成において、第１から第Ｎのメモリセルの各々は、選択トランジスタと抵抗性記憶素子とを有し、選択トランジスタと抵抗性記憶素子とは並列に接続されている。
【０２９０】
（６）前記（１）の構成において、制御回路は、不揮発性メモリ部の第１のアドレス毎に、第１番から第Ｎ番までの番号の中で、いずれかの番号を持つメモリセル選択番号を保持し、データ書き込みの際は、第１から第Ｎのメモリセルの中で、メモリセル選択番号にて指定されたメモリセルが選択され、当該選択されたメモリセルへデータを書き込む。
【０２９１】
（７）前記（１）の構成において、制御回路は、不揮発性メモリ部の第１のアドレス毎に、第１番から第Ｎ番までの番号の中で、いずれかの番号を持つメモリセル選択番号を保持し、データ読み出しの際は、第１から第Ｎのメモリセルの中で、メモリセル選択番号にて指定されたメモリセルが選択され、当該選択されたメモリセルからデータを読み出す。
【０２９２】
（８）前記（６）の構成において、不揮発性メモリ部の第１のアドレスが保持するメモリセル選択番号は、制御回路の外部から与えられる第２のアドレスに対応して同一となる第１のアドレスが割り当てられるたびに、制御回路によって、第１番から第Ｎ番まで順に変更される。
【０２９３】
（９）また、本実施の形態による半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、当該不揮発性メモリ部へのアクセスを制御する制御回路とを有する。不揮発性メモリ部は、複数のワード線と、複数のワード線と交差する複数のビット線との交点に配置される複数のメモリセル群を有する。複数のメモリセル群の各々は、直列接続された第１から第Ｎのメモリセルを有し、第１から第Ｎのメモリセルの各々は、選択トランジスタと抵抗性記憶素子とを有し、選択トランジスタと抵抗性記憶素子とは並列に接続されている。第１から第Ｎのメモリセルにおける選択トランジスタのゲート電極は第１から第Ｎゲート線に接続される。ここで、制御回路は、１回のデータ書き込み動作の際、第１から第Ｎのメモリセルの全メモリセルへデータを書き込む。
【０２９４】
（１０）前記（９）の構成において、制御回路は、１回のデータ読み出し動作の際、第１から第Ｎのメモリセルの全メモリセルからデータを読み出す。
【０２９５】
（１１）前記（１）または（９）の構成において、制御回路は、第１から第Ｎのメモリセルの中で、データを書き込まれたメモリセルのデータを読み出し、当該データが正しく書き込まれたかを検証する。
【０２９６】
（１２）また、本実施の形態による半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、当該不揮発性メモリ部へのアクセスを制御する制御回路とを有する。不揮発性メモリ部は、複数のワード線と、複数のワード線と交差する複数のビット線との交点に配置される複数のメモリセル群を有し、複数のメモリセル群の各々は、直列接続された第１から第Ｎのメモリセルを有する。第１から第Ｎのメモリセルの各々は、選択トランジスタと抵抗性記憶素子とを有し、選択トランジスタと抵抗性記憶素子とは並列に接続され、第１から第Ｎのメモリセルにおける選択トランジスタのゲート電極は第１から第Ｎゲート線に接続される。ここで、制御回路は、不揮発性メモリ部に対して第１のアドレス領域と第２のアドレス領域を設定できる。第１のアドレス領域は、１回のデータ書き込み動作の際、第１から第Ｎのメモリセルの中でＭ個（Ｍ＜Ｎ）のメモリセルへデータを書き込むことができる領域であり、第２のアドレス領域は、１回のデータ書き込み動作の際、第１から第Ｎのメモリセルの全メモリセルへデータを書き込むことができる領域である。
【０２９７】
（１３）前記（１２）の構成において、制御回路は、第１のアドレス領域と、第２のアドレス領域の大きさをプログラム可能である。
【０２９８】
（１４）前記（１）の構成において、制御回路は、１回のデータ書き込み動作の際、第１から第Ｎのメモリセルの全メモリセルへ“１”のデータを書き込んだ後、第１から第Ｎのメモリセルの中のＭ個（Ｍ＜Ｎ）のメモリセルの内“０”のデータのみを書き込む。
【０２９９】
（１５）前記（１２）の構成において、“１”のデータは、抵抗性記憶素子を低抵抗に設定し、“０”のデータは抵抗性記憶素子を高抵抗に設定する。
【０３００】
（１６）前記（１）の構成において、抵抗性記憶素子はカルコゲナイド材料で形成される。
【０３０１】
（１７）本実施の形態による半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、当該不揮発性メモリ部へのアクセスを制御する制御回路とを有する。ここで、制御回路は、不揮発性メモリ部の第１のアドレスに対応する第１領域情報と、当該第１領域情報に対するメモリ容量情報、書き込みメモリセル数情報、テストモード情報、最小消去データサイズ情報、最小書き込みデータサイズ情報、テスト領域情報、エラー検出訂正データサイズ情報、書き込み方法選択情報を含む第１のコンフィグレーション情報とを記憶する記憶領域を有する。
【０３０２】
（１８）前記（１７）の構成において、第１のコンフィグレーション情報はプログラム可能である。
【０３０３】
（１９）前記（１７）の構成において、制御回路は、第１のコンフィグレーション情報の一部を利用し、不揮発性メモリ部の第１のアドレスと制御回路の外部から与えられる第３のアドレスとの対応付けを行うアドレスマップを決定する。
【０３０４】
（２０）前記（１７）の構成において、制御回路は、電源が投入された直後に、アドレスマップを決定する。
【０３０５】
（２１）前記（１７）の構成において、制御回路は、不揮発性メモリ部の第２のアドレスに対応する第２領域情報と、当該第２領域情報に対するメモリ容量情報、書き込みメモリセル数情報、テストモード情報、最小消去データサイズ情報、最小書き込みデータサイズ情報、テスト領域情報、エラー検出訂正データサイズ情報、書き込み方法選択情報を含む第２のコンフィグレーション情報とを記憶する記憶領域を有する。
【０３０６】
（２２）前記（２１）の構成において、制御回路は、第１及び第２のコンフィグレーション情報の一部を利用し、第１領域情報と第２領域情報のそれぞれに対応する不揮発性メモリ装置の複数のメモリセルに対して書き込み許可領域を決定する。
【０３０７】
また、以上に説明した実施の形態によって得られる主な効果は以下の通りである。
【０３０８】
第１に、図１７等で述べたように、相変化メモリのチェインメモリアレイを構成するｎ個のメモリセルの内のｊ個（ｊ＜ｎ）のメモリセルへデータが書き込まれる第１領域を設け、入力された１個の論理アドレスに対して不揮発性メモリ装置の物理アドレスをｎ／ｊ個分割り当てることで、高信頼で長寿命なメモリモジュール（半導体装置）を実現できる。
【０３０９】
第２に、図１８等で述べたように、相変化メモリのチェインメモリアレイを構成するｎ個のメモリセルの全部へデータが書き込まれる第２領域を設け、入力された１個の論理アドレスに対して不揮発性メモリ装置の物理アドレスを１個割り当てることで、低コストかつ大容量なメモリモジュール（半導体装置）を実現できる。
【０３１０】
第３に、図１９等で述べたように、前述した第１領域のチェインメモリアレイ上のｎ個のメモリセルの中で、データが書き込まれるメモリセルの数を可変に設定できるように構成することで、第１領域と第２領域の容量を可変に設定できるため、不揮発性メモリ装置を利用する情報処理システムの要求仕様に柔軟に対応できる。
【０３１１】
第４に、図１３Ａ、図１３Ｂおよび図１３Ｃ等で述べたように、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）はプログラム可能なため、情報処理システムへの要求仕様に応じて、高信頼で長寿命なシステムを柔軟に構築できる。
【０３１２】
第５に、図２６等で述べたように、ライト方法選択情報等を用いてデータを圧縮することで、書き込みデータサイズを削減できるため、書き込み速度の向上が図れる。
【０３１３】
第６に、図２８等で述べたように、ライトリクエストのバッファへの格納と、書き込み事前準備と、相変化メモリへの書き込み動作をパイプライン的に処理することで、高性能な情報処理システムを実現できる。
【０３１４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０３１５】
例えば、ここでは、主に相変化メモリを代表に説明を行ったが、ＲｅＲＡＭ（Resistive RAM）等を含めて抵抗変化型のメモリであれば、同様に適用して同様の効果が得られる。また、前述した第１領域（第１動作モード）と第２領域（第２動作モード）を設けることに伴う各種効果は、抵抗変化型のメモリに限らず、例えばＮＡＮＤ型フラッシュメモリ等を用いた場合であっても、ある程度得ることが可能である。
【符号の説明】
【０３１６】
ＡＤＣＭＤＩＦ  アドレス・コマンドインターフェース回路
ＡＲＢ  調停回路
ＡＲＹ  メモリアレイ
ＢＫ  メモリバンク
ＢＬ  ビット線
ＢＳＷ  ビット線選択回路
ＢＵＦ  バッファ
ＣＡＤＬＴ  カラムアドレスラッチ
ＣＨ  チェイン制御線
ＣＨＤＥＣ  チェインデコーダ
ＣＨＬＴ  チェイン選択アドレスラッチ
ＣＬ  相変化メモリセル
ＣＯＬＤＥＣ  カラムデコーダ
ＣＰＡＤ  物理アドレス
ＣＰＵ＿ＣＰ  情報処理装置（プロセッサ）
ＣＰＶＬＤ  有効フラグ
ＣＴＬＯＧ  制御回路
ＣＹ  チェインメモリアレイ
Ｄ  ダイオード
ＤＡＴＣＴＬ  データ制御回路
ＤＢＵＦ  データバッファ
ＤＳＷ  データ選択回路
ＤＴ  データ線
ＥＮＵＭ  エントリー番号
ＨＤＨ＿ＩＦ  インターフェース信号
ＨＯＳＴ＿ＩＦ  インターフェース回路
ＩＯＢＵＦ  ＩＯバッファ
ＬＡＤ  論理アドレス
ＬＲＮＧ  論理アドレス領域
ＬＰＴＢＬ  アドレス変換テーブル
ＬＹ  メモリセル選択線
ＬＹＣ  レイヤ番号
ＬＹＭ  レイヤモード番号
ＬＹＮ  レイヤ情報
ＭＡＰＲＥＧ  マップレジスタ
ＭＤＬＣＴ  制御回路
ＭＮＥＲＣ  最小消去回数
ＭＮＧＥＲ  情報処理回路
ＭＮＩＰＡＤ  無効物理オフセットアドレス
ＭＮＶＰＡＤ  有効物理オフセットアドレス
ＭＸＥＲＣ  最大消去回数
ＭＸＩＰＡＤ  無効物理オフセットアドレス
ＭＸＶＰＡＤ  有効物理オフセットアドレス
ＮＶＣＴ  メモリ制御回路
ＮＶＭ  不揮発性メモリ装置
ＮＶＭＭＤ  メモリモジュール
ＮＶＲＥＧ  イレースサイズ指定レジスタ
ＮＸＬＹＣ  レイヤ番号
ＮＸＬＹＭ  レイヤモード番号
ＮＸＰＡＤ  書き込み物理アドレス
ＮＸＰＡＤＴＢＬ  書込み物理アドレステーブル
ＮＸＰＥＲＣ  消去回数
ＮＸＰＴＢＬ  書込み物理アドレステーブル
ＮＸＰＶＬＤ  有効フラグ
ＰＳＥＧＴＢＬ  物理セグメントテーブル
ＰＡＤ  物理アドレス
ＰＡＤＴＢＬ  物理アドレステーブル
ＰＥＲＣ  消去回数
ＰＰＡＤ  物理オフセットアドレス  
ＰＲＮＧ  物理アドレス領域
ＰＶＬＤ  有効フラグ
Ｒ  記憶素子
ＲＡＤＬＴ  ロウアドレスラッチ
ＲＡＭ  ランダムアクセスメモリ
ＲＡＭＣ  メモリ制御回路
ＲＥＦ＿ＣＬＫ  基準クロック信号
ＲＥＧ  レジスタ
ＲＯＷＤＥＣ  ロウデコーダ
ＲＳＴＳＩＧ  リセット信号
ＳＡ  センスアンプ
ＳＧＡＤ  物理セグメントアドレス
ＳＬ  チェインメモリアレイ選択線
ＳＴＲＥＧ  ステータスレジスタ
ＳＷＢ  読み書き制御ブロック
ＳＹＭＤ  クロック生成回路
Ｔｃｈ  チェイン選択トランジスタ
Ｔｃｌ  メモリセル選択トランジスタ
ＴＨＭＯ  温度センサ
ＴＮＩＰＡ  無効物理アドレス総数
ＴＮＶＰＡ  有効物理アドレス総数
ＷＤＲ  ライトドライバ
ＷＬ  ワード線
ＷＶ  書込みデータ検証回路
【図１】
2014013595.tif 000003
【図２】
2014013595.tif 000004
【図３Ａ】
2014013595.tif 000005
【図３Ｂ】
2014013595.tif 000006
【図４】
2014013595.tif 000007
【図５】
2014013595.tif 000008
【図６】
2014013595.tif 000009
【図７】
2014013595.tif 000010
【図８Ａ】
2014013595.tif 000011
【図８Ｂ】
2014013595.tif 000012
【図９】
2014013595.tif 000013
【図１０Ａ】
2014013595.tif 000014
【図１０Ｂ】
2014013595.tif 000015
【図１１Ａ】
2014013595.tif 000016
【図１１Ｂ】
2014013595.tif 000017
【図１２Ａ】
2014013595.tif 000018
【図１２Ｂ】
2014013595.tif 000019
【図１３Ａ】
2014013595.tif 000020
【図１３Ｂ】
2014013595.tif 000021
【図１３Ｃ】
2014013595.tif 000022
【図１４Ａ】
2014013595.tif 000023
【図１４Ｂ】
2014013595.tif 000024
【図１４Ｃ】
2014013595.tif 000025
【図１５】
2014013595.tif 000026
【図１６】
2014013595.tif 000027
【図１７】
2014013595.tif 000028
【図１８】
2014013595.tif 000029
【図１９】
2014013595.tif 000030
【図２０】
2014013595.tif 000031
【図２１】
2014013595.tif 000032
【図２２Ａ】
2014013595.tif 000033
【図２２Ｂ】
2014013595.tif 000034
【図２２Ｃ】
2014013595.tif 000035
【図２３Ａ】
2014013595.tif 000036
【図２３Ｂ】
2014013595.tif 000037
【図２４Ａ】
2014013595.tif 000038
【図２４Ｂ】
2014013595.tif 000039
【図２５】
2014013595.tif 000040
【図２６】
2014013595.tif 000041
【図２７】
2014013595.tif 000042
【図２８】
2014013595.tif 000043
【図２９】
2014013595.tif 000044
【手続補正書】
【提出日】平成27年9月7日(2015.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のメモリセルを含む不揮発性メモリ部と、
外部から入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路とを有し、
前記不揮発性メモリ部は、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群とを有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線とを有し、
前記制御回路は、第１物理アドレスへの第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＭ個（Ｍ＜Ｎ）となる第１部分にデータを書き込み、前記第１書き込み命令の後に生じる前記第１物理アドレスへの第２書き込み命令に応じて、前記第１〜第Ｎメモリセルの中の前記第１部分を除くＭ個となる第２部分にデータを書き込む半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記制御回路は、第１動作モードと第２動作モードを備え、前記第１動作モード時には、前記第１書き込み命令に応じた前記第１部分へのデータの書き込みと、前記第２書き込み命令に応じた前記第２部分へのデータの書き込みとを行い、前記第２動作モード時には、第２物理アドレスへの第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込み、前記第３書き込み命令の後に生じる前記第２物理アドレスへの第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込む半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記制御回路は、前記物理アドレス毎に前記第１〜第Ｎメモリセル選択線の内のどれを選択するかを保持する第１記憶部を有する半導体装置。
【請求項４】
請求項１記載の半導体装置において、
前記第１〜第Ｎメモリセルは、半導体基板の垂直方向へ順に積層搭載され、順に直列に接続される半導体装置。
【請求項５】
請求項４記載の半導体装置において、
前記制御回路は、前記第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、第１論理レベルを一括して書き込んだのち、前記第１部分内の必要な箇所に前記第１論理レベルと異なる第２論理レベルを書き込み、前記第２書き込み命令に応じて、前記第２部分内の必要な箇所に前記第２論理レベルを書き込む半導体装置。
【請求項６】
請求項４記載の半導体装置において、
前記第１〜第Ｎメモリセルのそれぞれは、選択トランジスタと抵抗性記憶素子とを有し、
前記選択トランジスタと前記抵抗性記憶素子は、並列に接続される半導体装置。
【請求項７】
請求項１記載の半導体装置において、
前記Ｍの値は、任意に設定可能である半導体装置。
【請求項８】
複数のメモリセルを含む不揮発性メモリ部と、
外部から入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路とを有し、
前記不揮発性メモリ部は、
複数のワード線と、
前記複数のワード線と交差する複数のビット線と、
前記複数のワード線と前記複数のビット線の交点に配置される複数のメモリセル群とを有し、
前記複数のメモリセル群のそれぞれは、
直列に接続される第１〜第Ｎメモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線とを有し、
前記第１〜第Ｎメモリセルのそれぞれは、選択トランジスタと抵抗性記憶素子とを有し、
前記選択トランジスタと前記抵抗性記憶素子は並列に接続されており、
前記第１〜第Ｎメモリセルにおける前記選択トランジスタのゲート電極は、それぞれ第１〜第Ｎメモリセル選択線に接続され、
前記制御回路は、前記不揮発性メモリ部に対して第１アドレス領域と第２アドレス領域とを設定でき、
前記制御回路は、前記第１アドレス領域では、第１物理アドレスへの第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＭ個（Ｍ＜Ｎ）となる第１部分にデータを書き込み、前記第１書き込み命令の後に生じる前記第１物理アドレスへの第２書き込み命令に応じて、前記第１〜第Ｎメモリセルの中の前記第１部分を除くＭ個となる第２部分にデータを書き込み、
前記制御回路は、前記第２アドレス領域では、第２物理アドレスへの第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込み、前記第３書き込み命令の後に生じる前記第２物理アドレスへの第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個にデータを書き込む半導体装置。
【請求項９】
請求項８記載の半導体装置において、
前記制御回路は、前記第１書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、第１論理レベルを一括して書き込んだのち、前記第１部分内の必要な箇所に前記第１論理レベルと異なる第２論理レベルを書き込み、前記第２書き込み命令に応じて、前記第２部分内の必要な箇所に前記第２論理レベルを書き込み、
前記制御回路は、前記第３書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、前記第１論理レベルを一括して書き込んだのち、前記Ｎ個内の必要な箇所に前記第２論理レベルを書き込み、前記第４書き込み命令に応じて、前記第１〜第Ｎメモリセルの中のＮ個に対して、一旦、前記第１論理レベルを一括して書き込んだのち、前記Ｎ個内の必要な箇所に前記第２論理レベルを書き込む半導体装置。
【請求項１０】
請求項９記載の半導体装置において、
前記抵抗性記憶素子は、カルコゲナイド材料で形成され、
前記第１論理レベルは、低抵抗状態であり、
前記第２論理レベルは、高抵抗状態である半導体装置。
【請求項１１】
請求項８記載の半導体装置において、
前記第１アドレス領域と前記第２アドレス領域の大きさは、それぞれ任意に設定可能である半導体装置。
【請求項１２】
直列に接続されるＮ（Ｎは２以上の整数）ビットのメモリセルを持つ不揮発性メモリ部と、
前記不揮発性メモリ部を制御する制御回路とを有し、
前記メモリセルは、抵抗性記憶素子の抵抗値によって第１論理レベルか第２論理レベルの一方を記憶し、
前記制御回路は、前記第Ｎビットのメモリセルの全てを一旦前記第１論理レベルに書き込んだのち、前記Ｎビットのメモリセルの中のＪ番目のみを前記第２論理レベルに書き込む制御を行い、
前記制御回路は、前記Ｊ番目の値を保持する第１記憶部を有し、前記Ｎビットのメモリセルに対して１個の物理アドレスと１ビットのデータを割り当て、前記物理アドレスを対象とする書き込み命令が入力される度に前記Ｊ番目の値を１〜Ｎの範囲で巡回させながら前記第１記憶部を更新し、前記Ｊ番目の値が前記１〜Ｎの範囲で１回巡回する毎に前記第Ｎビットのメモリセルの全てを前記第１論理レベルに書き込む制御を行う半導体装置。
【請求項１３】
請求項１２記載の半導体装置において、
前記抵抗性記憶素子は、カルコゲナイド材料で形成され、
前記第１論理レベルは、低抵抗状態であり、
前記第２論理レベルは、高抵抗状態である半導体装置。
【請求項１４】
請求項１３記載の半導体装置において、
前記メモリセルは、前記抵抗性記憶素子と前記抵抗性記憶素子に並列に接続される選択トランジスタとを有し、
前記Ｎビットのメモリセルは、半導体基板の垂直方向へ順に積層搭載される半導体装置。
【国際調査報告】
2014013595.tif 000045
2014013595.tif 000046
2014013595.tif 000047
2014013595.tif 000048
2014013595.tif 000049
2014013595.tif 000050
2014013595.tif 000051
2014013595.tif 000052