(57)【要約】  半導体装置は、複数のチェインメモリアレイＣＹを含む不揮発性メモリ部と、不揮発性メモリ部へのアクセスを制御する制御回路とを備える。制御回路は、互いに隣接して配置される複数のチェインメモリアレイＣＹを書込み領域とし、書込み領域の外周に隣接して配置されるチェインメモリアレイをダミーチェインメモリアレイＤＣＹとし、書込み領域を一括消去する際、ダミーチェインメモリアレイＤＣＹに対して消去動作を行わない。書込み領域を一括消去する際に、ダミーチェインメモリアレイＤＣＹは熱ディスターブの影響を低減する様に機能する。
2015059811.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記制御回路は、
互いに隣接して配置される複数のメモリセル群を、第１領域とし、前記第１領域における前記複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルの中のＮ個に対して、第１論理レベルを一括して書込み、
前記第１領域の外周に隣接して配置されたメモリセル群を、第２領域とし、前記第２領域のメモリセル群に対して、前記第１論理レベルへの書込みを行わない、半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記制御回路は、
前記第１領域へ前記第１論理レベルを書き込んだ後、前記第１領域に含まれるメモリセルに対して、前記第１論理レベルと異なる第２論理レベルを書き込む、半導体装置。
【請求項３】
請求項１に記載の半導体装置において、
前記制御回路は、
前記第２領域のメモリセル群のメモリセルには、前記第１論理レベルが書き込まれたと見なす、半導体装置。
【請求項４】
請求項１に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項５】
請求項１に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項６】
請求項４または５に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第１領域へ書き込む、半導体装置。
【請求項７】
請求項４または５に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第１領域へ書き込む、半導体装置。
【請求項８】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、
複数のワード線と、
前記複数のワード線と交差する複数のビット線と、
前記複数のワード線と前記複数のビット線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
互いに直列に接続された第１〜第Ｎメモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記第１〜第Ｎメモリセルのそれぞれは、
前記第１〜第Ｎメモリセル選択線のうちの１の選択線に接続されたゲート電極を有する選択トランジスタと、
前記選択トランジスタに並列に接続された抵抗性記憶素子と、を有し、
前記制御回路は、
互いに隣接して配置される複数のメモリセル群を第１領域とし、前記第１領域における前記複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルの中のＮ個に対して、第１論理レベルを一括して書込み、
前記第１領域の外周に隣接して配置されたメモリセル群を第２領域とし、前記第２領域におけるメモリセル群に対しては、前記第１論理レベルの書込みを行わない、半導体装置。
【請求項９】
請求項８に記載の半導体装置において、
前記制御回路は、
前記第１領域へ前記第１論理レベルを書き込んだ後、前記第１領域内のメモリセル群に対して、前記第１論理レベルとは異なる第２論理レベルを書き込む、半導体装置。
【請求項１０】
請求項８に記載の半導体装置において、
前記制御回路は、前記第２領域のメモリセル群には、前記第１論理レベルが書き込まれたと見なす、半導体装置。
【請求項１１】
請求項８に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項１２】
請求項８に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項１３】
請求項１１または１２に記載の半導体装置において、
前記第１〜第Ｎメモリセルのそれぞれは、半導体基板の垂直方向に順に積層され、互いに直列に接続されるメモリセルである、半導体装置。
【請求項１４】
請求項１１または１２に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第１領域へ書き込む、半導体装置。
【請求項１５】
請求項１１または１２に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第１領域へ書き込む、半導体装置。
【請求項１６】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記制御回路は、
互いに隣接して配置される複数のメモリセル群を、第１領域とし、前記第１領域の外周に隣接して配置されたメモリセル群を、第２領域とし、前記第１領域および第２領域における前記複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルの中のＮ個に対して、第１論理レベルを一括して書込む、半導体装置。
【請求項１７】
請求項１６に記載の半導体装置において、
前記制御回路は、
前記第１領域へ前記第１論理レベルを書き込んだ後、前記第１領域に含まれるメモリセルに対して、前記第１論理レベルと異なる第２論理レベルを書き込む、半導体装置。 
【請求項１８】
請求項１６に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項１９】
請求項１６に記載の半導体装置において、
前記第１領域は、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項２０】
請求項１８または１９に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第１領域へ書き込む、半導体装置。
【請求項２１】
請求項１８または１９に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第１領域へ書き込む、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に不揮発性メモリ装置を備えた半導体装置の技術に関する。
【背景技術】
【０００２】
近年、不揮発性メモリ装置として、記録材料にカルコゲナイド材料を用いた相変化メモリが盛んに研究されている。相変化メモリとは、電極間の記録材料が異なる抵抗状態を持つことを利用し、情報を記憶する抵抗変化型メモリの一種である。【０００３】
相変化メモリにおいては、Ｇｅ２Ｓｂ２Ｔｅ５などの相変化材料の抵抗値がアモルファス状態と結晶状態とで異なることを利用して情報を記憶する。アモルファス状態では抵抗が高く（高抵抗状態）、結晶状態では抵抗が低い（低抵抗状態）。従って、相変化メモリからの情報読み出しは、素子の両端に電位差を与え、素子に流れる電流を測定し、素子の高抵抗状態／低抵抗状態を判別することにより実現する。【０００４】
相変化メモリにおいては、電流により発生するジュール熱によって、相変化材料により構成されたところの相変化膜の電気抵抗を異なる状態に変化させることによりデータを書き換える。【０００５】
図３０は、相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。同図において、縦軸は温度を表し、横軸は時間を表す。この記憶素子に記憶情報“０”を書き込む場合には、図３０に示す様に、大電流を流して記憶素子をカルコゲナイド材料の融点Ｔａ以上に熱してから急冷する様なリセットパルスを印加する。この場合、冷却時間ｔ１を短くすることにより（例えば約１ｎｓに設定することにより）、カルコゲナイド材料は高抵抗のアモルファス（非晶質）状態となる。逆に、記憶情報“１”を書き込む場合には、記憶素子を融点Ｔａよりも低いが、結晶化温度Ｔｘ（ガラス転移点と同じかそれよりも高い）よりも高い温度領域に保つ様な十分な電流を流すようにセットパルスを長時間印加する。これにより、カルコゲナイド材料は低抵抗の多結晶状態となる。【０００６】
この相変化メモリは抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電流が小さくなる。このため、相変化メモリは、原理上、微細化に向いており、研究が盛んに行われている。特許文献１および特許文献２には、３次元構造の不揮発性メモリが開示されている。【０００７】
特許文献１には、可変抵抗素子とこれに並列接続されるトランジスタとを備えたメモリセルを積層方向に向けて直列に接続した構成が示されている。また、特許文献２には、可変抵抗素子とこれに直列接続されるダイオードとを備えたメモリセルを積層方向に向けて導電線を挟んで直列に接続した構成が示されている。当該構成では、例えば２個のメモリセルの間の導電線と、２個のメモリセルの外側の２本の導電線との間に電位差を与えることで、当該２個のメモリセルに対して一括して書込み動作が行われる。【０００８】
また、特許文献３には、相変化メモリへデータを書き込んだ際に、再度そのデータを読出し、書込みが成功しているかを検証することが示されている。もし、読出したデータが、書き込んだデータと異なる場合には、再度データを書き込む。書込みが成功するまで、この動作を繰り返す書込み方法が、特許文献３には示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１１／０７４５４５号
【特許文献２】特開２０１１−１４２１８６号公報
【特許文献３】特開２００８−０８４５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明者らは、本願に先立ち抵抗変化型不揮発性メモリの制御方法に対する検討を行った。図３０で述べたように、相変化メモリでは、電流により発生するジュール熱によって、相変化膜の電気抵抗を異なる状態に変化させることによりデータを書き換える。リセット動作、すなわち相変化膜を高抵抗のアモルファス状態へ変化させる動作は、大電流を短時間流して相変化材料を溶解させた後、電流を急減させ急冷することにより実施する。一方、セット動作、すなわち相変化膜を低抵抗の結晶状態へ変化させる動作は、相変化材料を結晶化温度に保持するのに十分な電流を長時間流すことにより実施する。【００１１】
このことは、相変化メモリでは、リセット動作は高速に行うことができるが、それと比較してセット動作は低速であることを意味している。また、あるメモリセルへ書込み動作を行う際に発生するジュール熱が、その周辺のメモリセルの結晶状態に影響を及ぼし、その周辺のメモリセルの抵抗値が変動し、データを消失させる可能性がある。特に、メモリセルへのセット動作、すなわち低抵抗の結晶状態へ変化させる動作は、相変化材料を結晶化温度に保持するのに十分な電流を長時間流すため、その周辺のメモリセルの結晶状態に大きな影響を及ぼす可能性がある。【００１２】
本願発明は、上記のような課題に鑑みてなされたものである。本願発明の第１の目的は、単位時間当たりのメモリセルをセット状態にする速度を向上させること（消去データレートの高速化）が可能な半導体装置を提供することにある。本願発明の第２の目的は、セット動作における熱ディスターブによる信頼性の低下を抑制することが可能な半導体装置を提供することにある。すなわち、信頼性が高い不揮発性メモリを備えた半導体装置を提供することにある。【００１３】
本願発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【００１５】
すなわち、半導体装置は、複数のメモリセルを含む不揮発性メモリ部と、外部から入力される論理アドレスに対して物理アドレスを割り当て、割り当てた物理アドレスに従って、不揮発性メモリ部をアクセスする制御回路と、を具備している。ここで、不揮発性メモリ部は、複数の第１信号線と、複数の第１信号線と交差する複数の第２信号線と、複数の第１信号線と複数の第２信号線との交点に配置された複数のメモリセル群とを具備している。更に、メモリセル群のそれぞれは、第１から第Ｎ（Ｎは２以上の整数）のメモリセルと、第１〜第Ｎのメモリセルをそれぞれ選択するメモリセル選択線と、を有している。制御回路は、不揮発性メモリ部に含まれている複数のメモリセル群を、互いに隣接して配置された複数のメモリセル群を含む第１領域と、第１領域の外周の一辺に隣接して配置された第２領域とし、第１領域に含まれている複数のメモリセル群のそれぞれに対して、第１論理レベルを一括して書込み、第２領域に含まれているメモリセル群に対しては、第１論理レベルへの書込みを行わない。【００１６】
一実施の形態においては、第１論理レベルは、メモリセルのセット状態とされる。【００１７】
これにより、互いに隣接するメモリセル群に対して、同時にセット動作（消去動作）を行うことができるため、セット動作のスループット、つまり消去データレートを向上させることが可能となる。また、一括したセット動作を行う際に、第２領域は熱遮蔽領域として機能し、他のメモリセル群への熱ディスターブの影響を防ぎ、他のメモリセル群においてデータが消失することを防ぐことが可能となる。
【発明の効果】
【００１８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００１９】
すなわち、信頼性が高い不揮発性メモリを備えた半導体装置を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。
【図２】図１における制御回路の構成例を示すブロック図である。
【図３Ａ】図１における不揮発性メモリ装置の構成例を示すブロック図である。
【図３Ｂ】図３Ａにおけるチェインメモリアレイの構成例を示す回路図である。
【図４】図３Ｂのチェインメモリアレイの動作例を示す説明図である。
【図５Ａ】図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。
【図５Ｂ】図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。
【図５Ｃ】図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。
【図６Ａ】図１の情報処理システムにおいて、電源投入時の初期シーケンスの一例を示す図である。
【図６Ｂ】図１の情報処理システムにおいて、電源投入時の初期シーケンスの他の一例を示す図である。
【図７】図１のランダムアクセスメモリに格納される物理アドレステーブルの構成例を示す図である。
【図８Ａ】図１のランダムアクセスメモリに格納される物理セグメントテーブルの構成例を示す図である。
【図８Ｂ】図１のランダムアクセスメモリに格納される物理セグメントテーブルの他の構成例を示す図である。
【図９Ａ】図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。
【図９Ｂ】図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。
【図１０Ａ】図１のランダムアクセスメモリに格納されるアドレス変換テーブルの構成例およびその初期設定後の状態例を示す図である。
【図１０Ｂ】図１の不揮発性メモリ装置における初期設定後の状態例を示す図である。
【図１１Ａ】図１における不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の一例を示す図である。
【図１１Ｂ】図１における不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の他の一例を示す図である。
【図１１Ｃ】図１における不揮発性メモリ装置に格納されるＳＳＤコンフィグレーション情報の更に他の一例を示す図である。
【図１２Ａ】図１のメモリモジュールにおいて、制御回路から不揮発性メモリ装置に書き込まれるデータの構成例を示す図である。
【図１２Ｂ】図１４Ａにおけるデータ書込みレイヤ情報の構成例を示す図である。
【図１２Ｃ】図１４Ａにおけるデータ書込みレイヤ情報の構成例を示す図である。
【図１３】図１のランダムアクセスメモリに格納されるアドレスマップ範囲の一例を示す図である。
【図１４】図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書込み方式の他の一例を示す説明図である。
【図１５】図１の情報処理装置からメモリモジュールへライトリクエストが入力された際に、メモリモジュール内で行われる詳細な書込み処理手順の一例を示すフロー図である。
【図１６】図９Ａおよび図９Ｂの書込み物理アドレステーブルにおいて、その更新方法の一例を示すフロー図である。
【図１７Ａ】第１物理アドレス領域に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【図１７Ｂ】第２物理アドレス領域に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【図１７Ｃ】不揮発性メモリ装置にデータ書込みやデータ読み出しを行う際の物理アドレスＰＡＤおよび物理アドレスＣＰＡＤの変化の様子の一例を示す図である。
【図１８Ａ】図１の制御回路が不揮発性メモリ装置の第１物理アドレス領域へデータを書き込む際のアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図１８Ｂ】図１８Ａに続くアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図１９Ａ】図１の制御回路が不揮発性メモリ装置の第２物理アドレス領域へデータを書き込む際のアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図１９Ｂ】図１９Ａに続くアドレス変換テーブルの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。
【図２０Ａ】図１の情報処理装置からメモリモジュールへリードリクエストが入力された際に、メモリモジュールが行うデータ読み出し動作の一例を示すフロー図である。
【図２０Ｂ】図１の情報処理装置からメモリモジュールへリードリクエストが入力された際に、メモリモジュールが行うデータ読み出し動作の一例を示すフロー図である。
【図２１Ａ】図１１Ａ〜図１１Ｃに示されるＳＳＤコンフィグレーション情報を例として、ライト方法選択情報に応じたメモリモジュールの書込み動作の一例を示すフロー図である。
【図２１Ｂ】図１１Ａ〜図１１Ｃに示されるＳＳＤコンフィグレーション情報を例として、ライト方法選択情報に応じたメモリモジュールの書込み動作の一例を示すフロー図である。
【図２２】ウエアレベリング方法の一例を示すフロー図である。
【図２３Ａ】図１の情報処理装置からメモリモジュールへ連続してライトリクエストが発生した際に、メモリモジュール内部でパイプライン的に実行されるデータ書込み動作の一例を示す図である。
【図２３Ｂ】図１の情報処理装置からメモリモジュールへ連続してライトリクエストが発生した際に、メモリモジュール内部でパイプライン的に実行されるデータ書込み動作の他の例を示す図である。
【図２４】不揮発性メモリ装置内のメモリアレイＡＲＹの配置例を示す模式的な平面図である。
【図２５】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図２６Ａ】書込み領域への書込み処理を示すフロー図である。
【図２６Ｂ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図２７】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図２８】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図２９Ａ】書込み領域への書込み処理を示すフロー図である。
【図２９Ｂ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図２９Ｃ】書込み領域への書込み処理を示すフロー図である。
【図３０】相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。
【図３１】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図３２Ａ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図３２Ｂ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図３３Ａ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図３３Ｂ】不揮発性メモリ装置内のメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。
【図３４】書込み領域への書込み処理を示すフロー図である。
【発明を実施するための形態】
【００２１】
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。特に明示した場合を除き、それらは互いに無関係ではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００２２】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００２３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
【００２４】
実施の形態において各ブロックを構成する回路素子は特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。また、実施の形態で述べるメモリセルとしては、相変化メモリ、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄａｍ  Access  Memory）のような抵抗性記憶素子を用いるものとする。
【００２５】
（実施の形態１）
＜情報処理システムの概要＞
図１は、本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。図１に示す情報処理システムは、情報処理装置（プロセッサ）ＣＰＵ＿ＣＰとメモリモジュール（半導体装置）ＮＶＭＭＤ０とを備える。情報処理装置ＣＰＵ＿ＣＰは、特に限定しないがメモリモジュールＮＶＭＭＤ０へ保存されているデータを、最小５１２バイト単位の論理アドレス（ＬＡＤ）にて管理するホストコントローラである。情報処理装置ＣＰＵ＿ＣＰは、インターフェース信号ＨＤＨ＿ＩＦを通じ、このメモリモジュールＮＶＭＭＤ０に対してデータの読み出しや書込みを行う。メモリモジュールＮＶＭＭＤ０は、特に限定しないが、例えばＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等に該当するものである。
【００２６】
情報処理装置ＣＰＵ＿ＣＰとメモリモジュール（半導体装置）ＮＶＭＭＤ０を接続する信号方式には、シリアルインターフェース信号方式、パラレルインターフェース信号方式、光インターフェース信号方式などがある。いうまでもなく、全ての方式を利用することができる。情報処理装置ＣＰＵ＿ＣＰとメモリモジュールＮＶＭＭＤ０を動作させるクロック方式には、基準クロック信号ＲＥＦ＿ＣＬＫを用いるコモンクロック方式およびソースシンクロナスクロック方式や、データ信号にクロック情報を埋め込むエンベデッドクロック方式などがある。いうまでもなく、全てのクロック方式を利用することができる。本実施の形態では、一例としてシリアルインターフェース信号方式ならびにエンベデッドクロック方式を用いるものとし、以下に動作を説明する。
【００２７】
情報処理装置ＣＰＵ＿ＣＰから、クロック情報が埋め込まれ、シリアルデータへ変換されたリードリクエスト（ＲＱ）やライトリクエスト（ＷＱ）などがインターフェース信号ＨＤＨ＿ＩＦを通じてメモリモジュールＮＶＭＭＤ０へ入力される。リードリクエスト（ＲＱ）には論理アドレス（ＬＡＤ）、データ読み出し命令（ＲＤ）、セクタカウント（ＳＥＣ）などが含まれ、また、ライトリクエスト（ＷＱ）には論理アドレス（ＬＡＤ）、データ書込み命令（ＷＲＴ）、セクタカウント（ＳＥＣ）および書込みデータ（ＷＤＡＴＡ）などが含まれる。
【００２８】
メモリモジュール（半導体装置）ＮＶＭＭＤ０は、不揮発性メモリ装置，ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、これら不揮発性メモリ装置およびランダムアクセスメモリを制御する制御回路ＭＤＬＣＴ０を備える。不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、例えば同じ構成および性能を備えている。不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７には、データ、ＯＳ、アプリケーションプログラム、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を格納し、さらに情報処理装置ＣＰＵ＿ＣＰのブートプログラム等が格納されている。ランダムアクセスメモリＲＡＭは、特に限定しないが、例えばＤＲＡＭ等である。
【００２９】
電源投入直後に、メモリモジュールＮＶＭＭＤ０は、内部の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０の初期化の動作（所謂パワーオンリセット）を行う。さらに、メモリモジュールＮＶＭＭＤ０は、情報処理装置ＣＰＵ＿ＣＰからのリセット信号ＲＳＴＳＩＧを受けた際にも、内部の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０の初期化を行う。
【００３０】
図２は、図１における制御回路の構成例を示すブロック図である。図２に示す制御回路ＭＤＬＣＴ０は、インターフェース回路ＨＯＳＴ＿ＩＦと、バッファＢＵＦ０〜ＢＵＦ３と、アドレスバッファＡＤＤＢＵＦ、書込み物理アドレステーブルＮＸＰＴＢＬ（ＮＸＰＴＢＬ１、ＮＸＰＴＢＬ２）と、調停回路ＡＲＢと、情報処理回路ＭＮＧＥＲと、メモリ制御回路ＲＡＭＣ、ＮＶＣＴ０、ＮＶＣＴ１０〜ＮＶＣＴ７と、マップレジスタＭＡＰＲＥＧと、レジスタＲＥＧ１、ＲＥＧ２を備える。メモリ制御回路ＲＡＭＣは、図１のランダムアクセスメモリＲＡＭを直接制御し、メモリ制御回路ＮＶＣＴ０、ＮＶＣＴ１０〜ＮＶＣＴ７は、図１の不揮発性メモリ装置ＮＶＭ０、ＮＶＭ１０〜ＮＶＭ１７をそれぞれ直接制御する。
【００３１】
バッファＢＵＦ０〜ＢＵＦ３は、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７の書込みデータや読み出しデータを一時的に蓄える。アドレスバッファＡＤＤＢＵＦは情報処理装置（プロセッサ）ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力したアドレスＬＡＤを一時的に蓄える。
【００３２】
書込み物理アドレステーブルＮＸＰＴＢＬ、詳細は図９Ａ、図９Ｂ等で後述するが、次に情報処理装置ＣＰＵ＿ＣＰより論理アドレスを伴う書込み命令を受けた際に、当該論理アドレスに対して割り当てを行う物理アドレスを蓄えたテーブルであり、特に限定しないが、ＳＲＡＭやレジスタ等によって実現される。マップレジスタＭＡＰＲＥＧおよびレジスタＲＥＧ１、ＲＥＧ２は、詳細を後述するが、メモリ空間の全体的な領域に関する情報を保持するレジスタである。なお、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）やブートプログラムは、メモリモジュールＮＶＭＭＤ０の初期設定の高速化を図るため、例えば、図２の情報処理回路ＭＮＧＥＲに直接接続される形で制御回路ＭＤＬＣＴ０内に配置することも可能である。
【００３３】
＜不揮発性メモリ装置の全体構成および動作＞
図３Ａは、図１における不揮発性メモリ装置の構成例を示すブロック図であり、図３Ｂは、図３Ａにおけるチェインメモリアレイの構成例を示す回路図である。図３Ａに示す不揮発性メモリ装置は、図１の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のそれぞれに該当するものであり、ここでは、一例として相変化型の不揮発性メモリ（相変化メモリ）が用いられている。当該不揮発性メモリ装置は、クロック生成回路ＳＹＭＤ、ステータスレジスタＳＴＲＥＧ、イレースサイズ指定レジスタＮＶＲＥＧ、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦ、ＩＯバッファＩＯＢＵＦ、制御回路ＣＴＬＯＧ、温度センサＴＨＭＯ、データ制御回路ＤＡＴＣＴＬ、メモリバンクＢＫ０〜ＢＫ３を備える。
【００３４】
各メモリバンクＢＫ０〜ＢＫ３は、メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）と、各メモリアレイにそれぞれ対応して設けられる読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）と、これらを制御する各種周辺回路を備える。当該各種周辺回路の中には、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴ、ロウデコーダＲＯＷＤＥＣ、カラムデコーダＣＯＬＤＥＣ、チェイン選択アドレスラッチＣＨＬＴ、チェインデコーダＣＨＤＥＣ、データ選択回路ＤＳＷ１、データバッファＤＢＵＦ０，ＤＢＵＦ１が含まれる。
【００３５】
各メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）は、複数のワード線ＷＬ０〜ＷＬｋと複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘの交点に配置される複数のチェインメモリアレイＣＹと、複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘのいずれかを選択してデータ線ＤＴｘに接続するビット線選択回路ＢＳＷｘを備える。各読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）は、データ線ＤＴｘに接続されるセンスアンプＳＡｘおよびライトドライバＷＤＲｘと、書込み動作時に、これらを用いてデータの検証を行う書込みデータ検証回路ＷＶｘを備える。
【００３６】
各チェインメモリアレイＣＹは、図３Ｂに示すように、複数の相変化メモリセルＣＬ０〜ＣＬｎが直列に接続された構成を備え、その一端はダイオードＤを介してワード線ＷＬに接続され、他端はチェイン選択トランジスタＴｃｈを介してビット線ＢＬに接続される。複数の相変化メモリセルＣＬ０〜ＣＬｎは、図示は省略するが、半導体基板に対して高さ方向に順に積層配置され、互いに直列接続される。また、各相変化メモリセルＣＬは、可変抵抗型の記憶素子Ｒと、それに並列接続されるメモリセル選択トランジスタＴｃｌを備える。記憶素子Ｒは、例えばカルコゲナイド材料で形成される。
【００３７】
図３Ｂの例では、２個のチェインメモリアレイＣＹがダイオードＤを共有しており、チェインメモリアレイ選択線ＳＬ０，ＳＬ１によって各チェインメモリアレイ内のチェイン選択トランジスタＴｃｈがそれぞれ制御され、これによっていずれか一方のチェインメモリアレイが選択される。また、メモリセル選択線ＬＹ（ＬＹ０〜ＬＹｎ）は、対応する相変化メモリセルのゲート電極に接続され、メモリセル選択線ＬＹによって、相変化メモリセルＣＬ０〜ＣＬｎ内のメモリセル選択トランジスタＴｃｌがそれぞれ制御され、これによって各相変化メモリセルが適宜選択される。なお、チェインメモリアレイ選択線ＳＬ０，ＳＬ１およびメモリセル選択線ＬＹ０〜ＬＹｎは、チェイン制御線ＣＨとして、図１のチェイン選択アドレスラッチＣＨＬＴおよびチェインデコーダＣＨＤＥＣを介して適宜駆動される。
【００３８】
次に、図３Ａの不揮発性メモリ装置の動作について簡単に説明する。図３Ａにおいて、まず、制御回路ＣＴＬＯＧは、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦを介して制御信号ＣＴＬを受ける。制御信号ＣＴＬは、特に限定しないが、例えば、コマンド・ラッチイネーブル信号（ＣＬＥ）、チップイネーブル信号（ＣＥＢ）、アドレス・ラッチ信号（ＡＬＥ）、ライトイネーブル信号（ＷＥＢ）、リードイネーブル信号（ＲＥＢ）、レディビジー信号（ＲＢＢ）を含み、これらの組み合わせによって、書込み命令又は読み出し命令が発行される。また、制御回路ＣＴＬＯＧは、制御信号ＣＴＬと共に、ＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯを受ける。入出力信号ＩＯには、アドレス信号が含まれており、制御回路ＣＴＬＯＧは、当該アドレス信号からロウアドレスおよびカラムアドレスを抽出する。制御回路ＣＴＬＯＧは、当該ロウアドレス、カラムアドレス、ならびに予め定められる書込み・読み出し単位等に基づいて、適宜内部アドレスを生成し、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴならびにチェイン選択アドレスラッチＣＨＬＴにそれぞれ伝送する。
【００３９】
ロウデコーダＲＯＷＤＥＣは、ロウアドレスラッチＲＡＤＬＴの出力を受けてワード線ＷＬ０〜ＷＬｋの選択を行い、カラムデコーダＣＯＬＤＥＣは、カラムアドレスラッチＣＡＤＬＴの出力を受けてビット線ＢＬ０〜ＢＬｉの選択を行う。また、チェインデコーダＣＨＤＥＣは、チェイン選択アドレスラッチＣＨＬＴの出力を受けて、チェイン制御線ＣＨの選択を行う。制御信号ＣＴＬによって読み出し命令が入力された際、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹからビット線選択回路ＢＳＷ０〜ＢＳＷｍを介してデータが読み出される。当該読み出されたデータは、センスアンプＳＡ０〜ＳＡｍで増幅され、データ選択回路ＤＳＷ１を介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に伝送される。そして、データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータは、データ制御回路ＤＡＴＣＴＬおよびＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯに順次伝送される。
【００４０】
一方、制御信号ＣＴＬによって書込み命令が入力された際、入出力信号ＩＯには、前述したアドレス信号に続いてデータ信号が伝送され、当該データ信号は、データ制御回路ＤＡＴＣＴＬを介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に入力される。データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータ信号は、データ選択回路ＤＳＷ１、ライトドライバＷＤＲ０〜ＷＤＲｍおよびビット線選択回路ＢＳＷ０〜ＢＳＷｍを介して、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹに書き込まれる。また、この際に、書込みデータ検証回路ＷＶ０〜ＷＶｍは、書込みを行ったデータをセンスアンプＳＡ０〜ＳＡｍを介して適宜読み出しながら書込みレベルが十分なレベルに達したかを検証し、十分なレベルに達するまでライトドライバＷＤＲ０〜ＷＤＲｍを用いて再度の書込み動作を行う。
【００４１】
図４は、図３Ｂのチェインメモリアレイの動作例を示す説明図である。この図４を用いて、例えば、チェインメモリアレイＣＹ１内の相変化メモリセルＣＬ０における可変抵抗型記憶素子Ｒ０を高抵抗や低抵抗にする際の動作について説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０のみが非活性化（ＬＹ０＝Ｌｏｗ、ＬＹ１〜ＬＹｎ＝Ｈｉｇｈ）され、相変化メモリセルＣＬ０のメモリセル選択トランジスタＴｃｌ０はカットオフ状態となり、残りのメモリセルＣＬ１〜ＣＬｎのメモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎは導通状態となる。
【００４２】
次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ０がワード線ＷＬ０から、ダイオードＤ０、可変抵抗型記憶素子Ｒ０、メモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ０が図３０に示したＲｅｓｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は高抵抗となる。また、この電流Ｉ０が図３０に示したＳｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は低抵抗となる。可変抵抗型記憶素子Ｒ０〜Ｒｎの抵抗値の違いによってデータ“１”と“０”が区別される。特に限定しないが、可変抵抗型記憶素子が低抵抗になった場合に、データ“１”が記録され、高抵抗になった場合にデータ“０”が記録されるものとする。
【００４３】
なお、可変抵抗型記憶素子Ｒ０に記録されたデータを読み出す場合は、可変抵抗型記憶素子Ｒ０の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加される。この場合、可変抵抗型記憶素子Ｒ０の抵抗値に応じた電圧値がセンスアンプ（この例では図３ＡのＳＡ０）で検出され、データ“０”および“１”が判定される。
【００４４】
図５Ａ、図５Ｂおよび図５Ｃは、図３Ｂのチェインメモリアレイの別の動作例を示す説明図である。先ず図５Ａを用いて、１チェインメモリアレイＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが非活性化（ＬＹ０〜ＬＹｎ＝Ｌｏｗ）され、メモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎはカットオフ状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ１がワード線ＷＬ０から、ダイオードＤ０、可変抵抗型記憶素子Ｒ０〜Ｒｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ１が図３０に示したＳｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。
【００４５】
次に、図５Ｂを用いて、１チェインメモリアレイＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが活性化（ＬＹ０〜ＬＹｎ＝Ｈｉｇｈ）され、メモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎは導通状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ２がワード線ＷＬ０から、ダイオードＤ０、メモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ２によるジュール熱が、可変抵抗型記憶素子Ｒ０〜Ｒｎへ伝導し、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。この電流Ｉ２は、可変抵抗型記憶素子Ｒ０〜Ｒｎが一括して低抵抗にすることができる様な値に制御される。
【００４６】
次に、図５Ｃを用いて、チェインメモリアレイＣＹ０およびＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ０および１が活性化（ＳＬ０、ＳＬ１＝Ｈｉｇｈ）され、チェインメモリアレイＣＹ０およびＣＹ１双方のチェイン選択トランジスタＴｃｈ１が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが活性化（ＬＹ０〜ＬＹｎ＝Ｈｉｇｈ）され、チェインメモリアレイＣＹ０およびＣＹ１双方のメモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎは導通状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ３がワード線ＷＬ０から、ダイオードＤ０、チェインメモリアレイＣＹ０およびＣＹ１双方のメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ３によるジュール熱が、チェインメモリアレイＣＹ０およびＣＹ１双方の可変抵抗型記憶素子Ｒ０〜Ｒｎへ伝導し、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。電流Ｉ３の値は、チェインメモリアレイＣＹ０およびＣＹ１双方の可変抵抗型記憶素子Ｒ０〜Ｒｎを一括して低抵抗にするような値に制御される。
【００４７】
以上説明したように、必要に応じて、同時に複数のチェインメモリアレイ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。
【００４８】
＜チェインメモリアレイの詳細動作方式＞
ここで、本実施の形態の主要な特徴の一つとなるチェインメモリアレイの動作方式について説明する。図１４は、図３Ａおよび図３Ｂの不揮発性メモリ装置において、そのチェインメモリアレイへの書込み方式の一例を示す説明図である。本実施の形態による不揮発性メモリ装置は、特に制限されないが２つの動作モード（第１動作モードと第２動作モード）を備えている。第２動作モードは、例えば、ホスト（図１のＣＰＵ＿ＣＰ）側からの１回の書込み命令に応じて、チェインメモリアレイを構成する（ｎ＋１）ビットの相変化メモリセルに対して（ｎ＋１）ビットの書込みを行う動作モードである。一方、第１動作モードは、ｊビット（ｊ＜（ｎ＋１））の書込みを行う動作モードである。不揮発性メモリ装置のアドレス領域は、例えば第１動作モードで書込みを行うことが可能なアドレス領域と、第２動作モードで書込みを行うことが可能なアドレス領域とに分けられる。以下、第２動作モードで書込みを行う場合を例にして、説明する。
【００４９】
すなわち、例えば、ホスト（図１のＣＰＵ＿ＣＰ）側からの１回の書込み命令に応じて、チェインメモリアレイを構成する（ｎ＋１）ビットの相変化メモリセルに対して（ｎ＋１）ビットの書込み動作について説明する。なお、当該書込み動作に伴うワード線、ビット線、チェイン制御線等の詳細な制御方法は、図４および図５Ａ〜図５Ｃの場合と同様である。
【００５０】
ここでは、メモリセル選択線ＬＹ０を対象とし、チェインメモリアレイＣＹｋ０００とＣＹｋ０１０に書込み動作が行われる場合を例にして説明する。図１４において、チェインメモリアレイＣＹｋ０００とＣＹｋ０１０には、同一の物理アドレス［１］に割り当てられているものとする。なお、図１４には、書込み動作に伴うチェインメモリアレイの変化の様子の一例も示されている。
【００５１】
まず、当該物理アドレス［１］を対象とする書込み命令［１］が入力される。入力された場合、チェインメモリアレイＣＹｋ０００、ＣＹｋ００１、ＣＹｋ０１０、ＣＹｋ０１１では、まず、最初にその中の全ての相変化メモリセルを対象として一旦“１”（セット状態）の書込み（初期書込み、ブロック消去）が図５Ｃで示した書込み動作にて行われる。
【００５２】
その後に、チェインメモリアレイＣＹｋ０００、ＣＹｋ００１、ＣＹｋ０１０、ＣＹｋ０１１内の全ての相変化メモリセルを対象として、当該書込み命令［１］に伴う所定のデータが書き込まれる。
【００５３】
この例では、当該書込み命令［１］に伴うデータは、チェインメモリアレイＣＹｋ０００用の（ｎ＋１）ビットに対しては、ビットデータが“０…００”である。また、チェインメモリアレイＣＹｋ０１０用の（ｎ＋１）ビットに対しては、書き込まれるビットデータは“０…１０”である。ここで、チェインメモリアレイＣＹｋ０００、ＣＹｋ０１０における全相変化メモリセルのデータは、前述した初期書込み（消去）に伴い予め“１”となっている。したがって、当該書込み命令［１］に伴うデータが“１”のビットに対応する相変化メモリセル（ここではＣＹｋ０１０内のＬＹ１に対応する相変化メモリセル）では、特に書込み動作が行われず、それ以外の相変化メモリセルを対象として“０”（リセット状態）が書き込まれる。具体的には、例えば、非活性化するメモリセル選択線をＬＹ０→ＬＹ１→…→ＬＹｎのように順次シフトさせながら、その都度、ワード線ＷＬｋとビット線ＢＬ０＿０の間と、ワード線ＷＬｋとビット線ＢＬ０＿１の間のそれぞれに図３０のＲｅｓｅｔ電流パルスを印加するか否かが選択される。この例では、メモリセル選択線ＬＹ１が非活性化された際のワード線ＷＬｋとビット線ＢＬ０＿１の間を除いた場合で、Ｒｅｓｅｔ電流パルスが印加されることになる。
【００５４】
その後、再び当該物理アドレス［１］を対象とする書込み命令［２］が入力された場合、書込み命令［１］の場合と同様に、最初に初期書込み（消去）が行われたのち、当該書込み命令［２］に伴うチェインメモリアレイＣＹｋ０００，ＣＹｋ０１０用の各（ｎ＋１）ビットデータに基づいて適宜“０”（リセット状態）の書込みが行われる。なお、ここでは、非活性化するメモリセル選択線を順次シフトさせながら“０”（リセット状態）の書込みを行ったが、場合によっては、メモリセル選択線をシフトさせずに一括して書込みを行うことも可能である。すなわち、例えば、メモリセル選択線ＬＹ０〜ＬＹｎを全て非活性状態とした状態で、ワード線ＷＬｋとビット線ＢＬ０＿０の間にＲｅｓｅｔ電流パルスを印加し、その後、メモリセル選択線ＬＹ１を除いたメモリセル選択線ＬＹ０〜ＬＹｎを、全て非活性状態とした状態で、ワード線ＷＬｋとビット線ＢＬ０＿１の間にＲｅｓｅｔ電流パルスを印加すればよい。
【００５５】
以上、図１４で述べた様なメモリアレイの動作方式を用いることで、例えば次のような効果が得られる。
【００５６】
（１）同時に複数のチェインメモリアレイ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。
【００５７】
（２）チェインメモリアレイの消去後、データ“０”のみメモリセルへ書き込まれるため書込み速度が向上する。
【００５８】
（３）チェインメモリアレイ内の全てのメモリセルに対して、一旦、セット状態およびリセット状態の中の一方の状態を一括して書き込んだのち（消去ののち）、他方の状態を特定のメモリセルに書き込むような方式を用いることで、安定した書込み動作が実現可能になる。すなわち、チェインメモリアレイ内では、まず、一括して一方の状態を書き込むことでチェインメモリアレイ内の各メモリセルの状態（抵抗値）をほぼ均一に保つことが可能になる。そして、その後に特定のメモリセルに対して他方の状態を書き込む際に、当該書込みに伴う発熱によって当該特定のメモリセルの周辺に配置された各メモリセルは、同様の初期状態から同様の影響を受けるため、結果として、チェインメモリアレイ内における各メモリセル間の抵抗値のばらつき量を低減することができる。これによって、安定した書込み動作が実現可能になる。
【００５９】
特に、図１４等に示したチェインメモリアレイは、半導体基板上にメモリセルが積み上げられた積層構造のチェインメモリアレイである。積層構造のチェインメモリアレイにおいては、積層構造を用いない場合と比べて各メモリセル間がより近接配置される可能性が高いため、このような方式によってばらつき量を低減することがより有益となる。
【００６０】
また、ここでは、初期書込み（消去）時にセット状態を用い、その後の特定のメモリセルに対する書込み時にリセット状態を用いている。これによって、より安定した書込み動作が実現可能になる。例えば、相変化メモリセルでは、通常、リセット状態よりもセット状態の方が安定している。また、図３０に示したように、セット状態を書込む際のパルス幅は、リセット状態を書き込む際のパルス幅に比べて広いため、セット状態を書き込む際には、その分だけ当該書込み動作に伴う発熱が周辺に広がり易く、周辺の相変化メモリセルの記憶状態に影響を及ぼす可能性が高くなる。これらを鑑みると、本実施の形態の書込み方式のように、特定の相変化メモリセルを対象としてセット状態の書込みが生じないような方式を用いることが有益となる。本実施の形態の書込み方式を用いると、特定の相変化メモリセルにリセット状態を書き込む際に、その周辺の相変化メモリセルは初期書込み（消去）に伴いセット状態で安定しており、更に、リセット状態の書込みに伴うパルス幅が狭いことから、当該書込みに伴う熱の広がりも抑制される。
【００６１】
＜電源投入時の初期シーケンス＞
図６Ａおよび図６Ｂは、図１の情報処理システムにおいて、電源投入時のそれぞれ異なる初期シーケンスの一例を示す図である。図６Ａは、図１のメモリモジュール（半導体装置）ＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ１０〜１７に格納されているＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を利用した場合における電源投入時の初期シーケンスを示すものである。図６Ｂは、図１の情報処理装置ＣＰＵ＿ＣＰから送信されたＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を利用した場合における電源投入時の初期シーケンスを示すものである。
【００６２】
まず、図６Ａに示す初期シーケンスを説明する。Ｔ１の期間（ＰｗＯｎ）で、情報処理装置ＣＰＵ＿ＣＰと、メモリモジュールＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７と、ランダムアクセスメモリＲＡＭと、制御回路ＭＤＬＣＴ０へ電源投入を行い、Ｔ２の期間（ＲＳＴ）でリセットを行う。リセットの方法は、特に限定されないが、例えばそれぞれの内蔵回路で自動的にリセットを行う方法でも、外部にリセット端子（リセット信号ＲＳＴＳＩＧ）を有し、このリセット信号によってリセット動作を行う方法でもよい。また、例えば情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じて、リセット命令を制御回路ＭＤＬＣＴ０へ入力し、リセットを行う方法でもよい。
【００６３】
Ｔ２のリセット期間（ＲＳＴ）では、情報処理装置ＣＰＵ＿ＣＰ、制御回路ＭＤＬＣＴ０、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７、ランダムアクセスメモリＲＡＭの内部状態が初期化される。この際に、制御回路ＭＤＬＣＴ０は、ランダムアクセスメモリＲＡＭへ格納されているアドレスマップ範囲（ＡＤＭＡＰ）および各種テーブルを初期化する。各種テーブルの中には、アドレス変換テーブル（ＬＰＴＢＬ）、物理セグメントテーブル（ＰＳＥＧＴＢＬ１，ＰＳＥＧＴＢＬ２）、物理アドレステーブル（ＰＡＤＴＢＬ）、および書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）が含まれる。
【００６４】
なお、当該アドレスマップ範囲（ＡＤＭＡＰ）および各種テーブルは、詳細に関しては後述するが、簡単に説明すると次のようなものである。アドレスマップ範囲（ＡＤＭＡＰ）は、前述した第１動作モードで使用されるアドレス領域と第２動作モードで使用されるアドレス領域の区画割りを示すものである。アドレス変換テーブル（ＬＰＴＢＬ）は、現在の論理アドレスと物理アドレスの対応関係を示すものである。物理セグメントテーブル（ＰＳＥＧＴＢＬ１，ＰＳＥＧＴＢＬ２）は、各物理アドレスでの消去回数等をセグメント単位で管理するものであり、ウエアレベリング等で使用されるものである。物理アドレステーブル（ＰＡＤＴＢＬ）は、現在の各物理アドレスの状態を詳細に管理するものである。書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）は、ウエアレベリングに基づいて、論理アドレスに対して次に割り当てるべき物理アドレスを定めたものである。ここで、当該書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）は、書込み速度の高速化を図るため、その情報の一部又は全てが図２に示した書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２にコピーされている。
【００６５】
Ｔ２の期間が終了した後のＴ３の期間（ＭＡＰ）では、制御回路ＭＤＬＣＴ０は、不揮発性メモリＮＶＭ１０〜１７へ格納されているＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を読み出し、図２のマップレジスタＭＡＰＲＥＧへ転送する。次に、マップレジスタＭＡＰＲＥＧ内のＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を読み出し、このＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を利用して、前述したアドレスマップ範囲（ＡＤＭＡＰ）を生成し、ランダムアクセスメモリＲＡＭへ格納する。
【００６６】
さらに、制御回路ＭＤＬＣＴ０は、マップレジスタＭＡＰＲＥＧ内のＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）の中で２個の論理アドレス領域（ＬＲＮＧ１とＬＲＮＧ２）が設定されて、これに応じた書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）を構築する。具体的には、例えば書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）内を、論理アドレス領域（ＬＲＮＧ１）用の書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ１）と、論理アドレス領域（ＬＲＮＧ２）用の書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ２）とに切り分ける。例えば、論理アドレス領域（ＬＲＮＧ１）は前述した第１動作モード用の領域に対応し、論理アドレス領域（ＬＲＮＧ２）は前述した第２動作モード用の領域に対応する。
【００６７】
特に限定しないが、書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）が０エントリー目から（Ｎ−１）エントリー目までのＮ個分のエントリーで構成されている場合、０エントリー目から（Ｎ／２−１）エントリー目までのＮ／２個分を書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とすることができる。そして、残りのＮ／２エントリー目からＮエントリー目までの、Ｎ／２個分を書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ２）とすることもできる。
【００６８】
Ｔ３の期間が終了した後のＴ４の期間（ＳｅｔＵｐ）では、情報処理装置ＣＰＵ＿ＣＰは、メモリモジュールＮＶＭＭＤ０内の不揮発性メモリ装置ＮＶＭ０へ格納されているブートプログラムを読み出し、情報処理装置ＣＰＵ＿ＣＰを立ち上げる。Ｔ４の期間が終了した後のＴ５の期間（Ｉｄｌｅ）以降では、メモリモジュールＮＶＭＭＤ０はアイドル状態となり、情報処理装置ＣＰＵ＿ＣＰからのリクエストを待つ状態となる。
【００６９】
次に、図６Ｂに示す初期シーケンスを説明する。Ｔ１１の期間（ＰｗＯｎ）と、Ｔ２１の期間（ＲＳＴ）では、それぞれ、図６ＡのＴ１の期間及びＴ２の期間と同様の動作を行う。Ｔ２１の期間が終了した後のＴ３１の期間（Ｈ２Ｄ）では、情報処理装置ＣＰＵ＿ＣＰは、メモリモジュールＮＶＭＭＤ０へＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を送信し、これを受けた制御回路ＭＤＬＣＴ０は、このＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を不揮発性メモリ装置ＮＶＭ０に格納する。Ｔ３１の期間が終了した後のＴ４１の期間（ＭＡＰ）、Ｔ５１の期間（ＳｅｔＵｐ）、Ｔ６１の期間（Ｉｄｌｅ）では、それぞれ、図６ＡのＴ３、Ｔ４、Ｔ５の期間と同様の動作を行う。
【００７０】
このような初期シーケンスにおいて、図６Ａに示したように、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）がメモリモジュールＮＶＭＭＤ０（不揮発性メモリ装置ＮＶＭ１０〜１７）へ予め格納されていれば、高速に電源投入時の初期シーケンスを実行することができる。一方、図６Ｂに示したように、ＳＤＤコンフィグレーション情報（ＳＤＣＦＧ）を情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ伝送する場合には、情報処理システムの動作目的等に応じて、適宜、メモリモジュールＮＶＭＭＤ０の構成（使い方）をカスタマイズすることができる。
【００７１】
＜物理アドレステーブルの詳細＞
図７は、図１のランダムアクセスメモリに格納される物理アドレステーブルの構成例を示す図である。物理アドレステーブルＰＡＤＴＢＬは、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）と、この各物理アドレスＰＡＤに対応した有効フラグＰＶＬＤ、消去回数ＰＥＲＣ、レイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣから構成され、図１のランダムアクセスメモリＲＡＭに格納されている。有効フラグＰＶＬＤ値が１の場合は、対応する物理アドレスＰＡＤが有効であることを示し、０の場合は無効であることを示す。例えば、論理アドレスに割り当てられる物理アドレスが書込み物理アドレステーブル（ＮＸＰＡＤＴＢＬ）に基づいて変更された際に、変更後に割り当てられる物理アドレスＰＡＤの有効フラグＰＶＬＤ値が１となり、変更前に割り当てられていた物理アドレスＰＡＤの有効フラグＰＶＬＤ値が０となる。
【００７２】
消去回数ＰＥＲＣは、前述した初期書込み（消去）が行われた回数を表す。ここで、例えば、有効フラグＰＶＬＤ値が０であり、初期書込み（消去）が行われた回数が少ない物理アドレスＰＡＤを優先的に論理アドレスに割り当てれば、消去回数ＰＥＲＣの値を平準化（ウエアレベリング）することができる。また、図２の情報処理回路ＭＮＧＥＲは、図７の例では、物理アドレスＰＡＤが“００００００００”〜“０２７ＦＦＦＦＦ”までを第１物理アドレス領域ＰＲＮＧ１として、物理アドレスＰＡＤが“０２８０００００”〜“０７ＦＦＦＦＦＦ”までを第２物理アドレス領域ＰＲＮＧ２として認識し、物理アドレステーブルＰＡＤＴＢＬを管理する。また、特に限定しないが、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）と、セグメント別の物理オフセットアドレスＰＰＡＤ（ＰＡＤ［１５：０］）とから構成される。
【００７３】
また、レイヤモード番号ＬＹＭが“０”の場合は、チェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎに書込みが行われることを示す（すなわち前述した第２動作モードであることを示す）。また、レイヤモード番号ＬＹＭが“１”の場合は、チェインメモリアレイＣＹ内の１個の相変化メモリセルに書込みが行われることを示す（すなわち前述した第１動作モードであることを示す）。
【００７４】
また、レイヤ番号ＬＹＣの値ｘは、図４等で示すチェインメモリアレイＣＹ内のメモリセル選択線ＬＹｘに対応している。例えば、レイヤ番号ＬＹＣが“１”の場合、物理アドレスＰＡＤに対応するデータが、図４等で示すチェインメモリアレイＣＹ内のメモリセル選択線ＬＹ１に選択された相変化メモリセルＣＬ１に保持されており、有効であることを示す。
【００７５】
＜物理セグメントテーブルの詳細＞
図８Ａおよび図８Ｂは、図１のランダムアクセスメモリに格納される物理セグメントテーブルの構成例を示す図である。図８Ａは無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１を示し、図８Ｂは有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２を示している。特に限定しないが、物理アドレスＰＡＤ（ＰＡＤ［３１：０］）の上位ＰＡＤ［３１：１６］は、物理セグメントアドレスＳＧＡＤを示す。また、特に限定しないが、１つの物理アドレスのメインデータサイズは５１２バイトで、１セグメントのメインデータサイズは６５５３６個の物理アドレスが集まって３２Ｍバイトとなっている。
【００７６】
まず、図８Ａを説明する。物理セグメントテーブルＰＳＥＧＴＢＬ１は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）毎に、無効物理アドレス総数ＴＮＩＰＡと、最大消去回数ＭＸＥＲＣおよびそれに対応する無効物理オフセットアドレスＭＸＩＰＡＤと、最小消去回数ＭＮＥＲＣおよびそれに対応する無効物理オフセットアドレスＭＮＩＰＡＤとを含んでいる。無効物理アドレス総数ＴＮＩＰＡは、対応する物理セグメントアドレスＳＧＡＤ内で無効状態となっている物理アドレスの総数であり、最大消去回数ＭＸＥＲＣおよびその無効物理オフセットアドレスＭＸＩＰＡＤと、最小消去回数ＭＮＥＲＣおよびその無効物理オフセットアドレスＭＮＩＰＡＤは、当該無効状態となっている物理アドレスの中から抽出される。そして、当該物理セグメントテーブルＰＳＥＧＴＢＬ１は、図１のランダムアクセスメモリＲＡＭに格納される。
【００７７】
次に、図８Ｂを説明する。物理セグメントテーブルＰＳＥＧＴＢＬ２は、物理セグメントアドレスＳＧＡＤ（ＰＡＤ［３１：１６］）毎に、有効物理アドレス総数ＴＮＶＰＡと、最大消去回数ＭＸＥＲＣおよびそれに対応する有効物理オフセットアドレスＭＸＶＰＡＤと、最小消去回数ＭＮＥＲＣおよびそれに対応する有効物理オフセットアドレスＭＮＶＰＡＤとを含んでいる。有効物理アドレス総数ＴＮＶＰＡは、対応する物理セグメントアドレスＳＧＡＤ内で有効状態となっている物理アドレスの総数であり、最大消去回数ＭＸＥＲＣおよびその有効物理オフセットアドレスＭＸＶＰＡＤと、最小消去回数ＭＮＥＲＣおよびその有効物理オフセットアドレスＭＮＶＰＡＤは、当該有効状態となっている物理アドレスの中から抽出される。そして、当該物理セグメントテーブルＰＳＥＧＴＢＬ２は、図１のランダムアクセスメモリＲＡＭに格納される。当該物理セグメントテーブルＰＳＥＧＴＢＬ１、ＰＳＥＧＴＢＬ２は、後述するダイナックウエアレベリングやスタティックウエアレベリングを行う際に使用される。
【００７８】
＜書込み物理アドレステーブルの詳細＞
図９Ａおよび図９Ｂは、図２の制御回路や図１のランダムアクセスメモリに格納される書込み物理アドレステーブルの構成例を示す図である。図９Ａには、装置使用開始時の初期状態における書込み物理アドレステーブルＮＸＰＡＤＴＢＬの状態が示され、図９Ｂには、内容が適宜更新された後の書込み物理アドレステーブルＮＸＰＡＤＴＢＬの状態が示される。書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、ホスト（図１のＣＰＵ＿ＣＰ）側からの論理アドレスを伴う書込み命令を受けて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７の物理アドレスにデータを書き込む際に、当該論理アドレスに対してどの物理アドレスを優先的に割り当てるかを決めるテーブルである。
【００７９】
当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、ここでは、複数（Ｎ）個の物理アドレスを登録できる構成となっている。ここで、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬ（ＮＸＰＡＤＴＢＬ１、ＮＸＰＡＤＴＢＬ２）は、実際に書込み対象となる物理アドレスを定めるものであり、論理アドレスを受けてから当該テーブルを用いて物理アドレスを決定するまでの時間は、書込み速度に影響を及ぼすことになる。そこで、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬ（ＮＸＰＡＤＴＢＬ１、ＮＸＰＡＤＴＢＬ２）の情報は、図２の制御回路ＭＤＬＣＴ０内の書込み物理アドレステーブルＮＸＰＴＢＬ１、ＮＸＰＴＢＬ２において保持され、そのバックアップとして図１のランダムアクセスメモリＲＡＭ内で保持される。
【００８０】
書込み物理アドレステーブルＮＸＰＡＤＴＢＬは、エントリー番号ＥＮＵＭと、書込み物理アドレスＮＸＰＡＤと、この書込み物理アドレスＮＸＰＡＤに対応する有効フラグＮＸＰＶＬＤ、消去回数ＮＸＰＥＲＣ、レイヤモード番号ＮＸＬＹＭ、および書込みレイヤ番号ＮＸＬＹＣから構成される。図２の制御回路ＭＤＬＣＴ０は、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）の中で２個の論理アドレス領域（ＬＲＮＧ１とＬＲＮＧ２）が定められている場合、これに対応して書込み物理アドレステーブルＮＸＰＡＤＴＢＬの中も２個に分割する。ここでは、エントリー番号０から（Ｎ／２−１）のＮ／２個分が書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１として管理され、エントリー番号（Ｎ／２）から（Ｎ−１）までの残りのＮ／２個分が書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理される。そして、論理アドレス領域（ＬＲＮＧ１）への書込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１が利用され、論理アドレス領域（ＬＲＮＧ２）への書込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２が利用される。
【００８１】
エントリー番号ＥＮＵＭは、複数（Ｎ）組の書込み物理アドレスＮＸＰＡＤにおけるＮ値（０番〜（Ｎ−１）番）を示し、このＮ値は書込み優先度（登録数）を示す。論理アドレス領域（ＬＲＮＧ１）への書込み要求に対しては、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１の中のＮ値が小さい順から優先して使用され、論理アドレス領域（ＬＲＮＧ２）への書込み要求に対しては書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２の中のＮ値が小さい順から優先して使用される。また、有効フラグＮＸＰＶＬＤの値が０の場合は、対象となる物理アドレスは無効であることを意味し、１の場合は対象となる物理アドレスは有効であることを意味する。例えば、エントリー番号ＥＮＵＭの０番が使用された場合、当該０番の有効フラグＮＸＰＶＬＤの値が１となるため、次に当該テーブルが参照される際にエントリー番号ＥＮＵＭの０番は使用済みであることが判別でき、次は１番を使用すればよいことが分かる。
【００８２】
ここで、図９Ａにおいて、Ｎ＝３２の場合を例として、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの初期設定（例えば図６ＡのＴ１からＴ３）について説明する。
【００８３】
まず、論理アドレス領域（ＬＲＮＧ１）に対応して物理アドレス領域（ＰＲＮＧ１）が設定され、当該物理アドレス領域（ＰＲＮＧ１）内の“００００００００”番地から“０００００００Ｆ”番地までの連続した書込み物理アドレスＮＸＰＡＤが、エントリー番号ＥＮＵＭ＝０番から（（３２／２）−１）番までにそれぞれ登録される。また、レイヤモード番号ＮＸＬＹＭは“１”に設定され、書込みレイヤ番号ＮＸＬＹＣは“０”に設定される。レイヤモード番号ＮＸＬＹＭおよび書込みレイヤ番号ＮＸＬＹＣは、図７にて説明したレイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣと同様で、第１動作モードであり、使用するメモリセル選択線はＬＹ０であることを意味する。同様に、論理アドレス領域（ＬＲＮＧ２）に対応して物理アドレス領域（ＰＲＮＧ２）が設定され、当該物理アドレス領域（ＰＲＮＧ２）内の“０２８０００００”番地から“０２８００００Ｆ”番地までの連続した書込み物理アドレスＮＸＰＡＤが、エントリー番号ＥＮＵＭ＝（３２／２）番から（３２−１）番までにそれぞれ登録される。また、レイヤモード番号ＮＸＬＹＭは“０”に設定され、書込みレイヤ番号ＮＸＬＹＣは“０”に設定される。これは、図７にて説明したレイヤモード番号ＬＹＭおよびレイヤ番号ＬＹＣと同様で、第２動作モードであることを意味する。そして、これらの書込み物理アドレスＮＸＰＡＤに対応する有効フラグＮＸＰＶＬＤ及び消去回数ＮＸＰＥＲＣはすべて０に設定される。
【００８４】
次に、この図９Ａに示す状態で、情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュール（半導体装置）ＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ１）へ、セクタカウント（ＳＥＣ）値が１（５１２バイト）のライトリクエスト（ＷＱ）が（Ｎ／２）回入力された場合を想定する。この場合、それぞれのライトリクエスト（ＷＱ）に含まれるデータは、図９Ａに基づいて、不揮発性メモリ装置内の物理アドレスＰＡＤ（ＮＸＰＡＤ）の“００００００００”番地から“００００００Ｆ”番地までの連続した番地に対応する箇所に書き込まれる。
【００８５】
さらに、情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ２）へ、セクタカウント（ＳＥＣ）値が１（５１２バイト）のライトリクエスト（ＷＱ）が（Ｎ／２）回入力された場合を想定する。この場合、それぞれのライトリクエスト（ＷＱ）に含まれるデータは、図９Ａに基づいて、不揮発性メモリ装置内の物理アドレスＰＡＤ（ＮＸＰＡＤ）の“０２８０００００”番地から“０２８００００Ｆ”番地までの連続した番地に対応する箇所に書き込まれる。
【００８６】
また、別の動作例を挙げれば次のようになる。情報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じ、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ１）へ、セクタカウント（ＳＥＣ）値が１６（８Ｋバイト）のライトリクエスト（ＷＱ）が１回入力された場合を想定する。この場合、このライトリクエスト（ＷＱ）に含まれるデータは、５１２バイト毎の１６個の物理アドレスＰＡＤへ分解され、物理アドレスＰＡＤの“００００００００”番地から“０００００００Ｆ”番地までの連続した番地にて、不揮発性メモリ装置へ書き込まれる。
【００８７】
また、報処理装置ＣＰＵ＿ＣＰからインターフェース信号ＨＤＨ＿ＩＦを通じて、メモリモジュールＮＶＭＭＤ０の論理アドレス領域（ＬＲＮＧ２）へ、セクタカウント（ＳＥＣ）値が１６（８Ｋバイト）のライトリクエスト（ＷＱ）が１回入力された場合を想定する。この場合、このライトリクエスト（ＷＱ）に含まれるデータは、５１２バイト毎の１６個の物理アドレスＰＡＤへ分解され、物理アドレスＰＡＤの“０２８０００００”番地から“０２８００００Ｆ”番地までの、連続した番地にて、不揮発性メモリ装置へ書き込まれる。
【００８８】
また、このような書込み動作の進行と共に、書込み物理アドレステーブルＮＸＰＡＤＴＢＬは適宜更新され、その結果、図９Ｂに示すように、書込み物理アドレスＮＸＰＡＤ、消去回数ＮＸＰＥＲＣ、書込みレイヤ番号ＮＸＬＹＣ等の値は適宜変更される。この際に、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１内の書込みレイヤ番号ＮＸＬＹＣの値は、図１４で述べた第１動作モードであるため、メモリセル選択線ＬＹが順次シフトするので、これに応じて変更される。一方、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２内の書込みレイヤ番号ＮＸＬＹＣの値は、図１４で述べた第２動作モードであるため、変更されない。なお、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新は、例えば、実際にメモリアレイ内の相変化メモリセルに書込みを行っている期間を利用して行うことが可能である。
【００８９】
＜アドレス変換テーブルおよび不揮発性メモリ装置の初期設定＞
図１０Ａは、図１のランダムアクセスメモリに格納されるアドレス変換テーブルの構成例およびその初期設定後の状態例を示す図であり、図１０Ｂは、図１の不揮発性メモリ装置における初期設定後の状態例を示す図である。当該初期設定は、例えば、図６ＡのＴ１（電源投入直後）の期間で制御回路ＭＤＬＣＴ０によって行われる。
【００９０】
図１０Ａに示すアドレス変換テーブルＬＰＴＢＬは、全ての論理アドレスＬＡＤを対象として、論理アドレスＬＡＤ毎に、現在割り当てている物理アドレスＰＡＤと、その物理アドレスの有効フラグＣＰＶＬＤと、その物理アドレスのレイヤ番号ＬＹＣとを管理する。初期設定後には、全論理アドレスＬＡＤに対する全物理アドレスＰＡＤは０に設定され、有効フラグＣＰＶＬＤは０（無効）に設定され、レイヤ番号ＬＹＣは“０”に設定される。また、図１０Ｂに示すように、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７では、各物理アドレスＰＡＤに格納されるデータＤＡＴＡは０に設定され、各物理アドレスＰＡＤに対応する論理アドレスＬＡＤおよびデータ有効フラグＤＶＦも０に設定される。また、各物理アドレスＰＡＤに対応するレイヤ番号ＬＹＣは“０”に設定される。なお、論理アドレスＬＡＤ、データ有効フラグＤＶＦ、およびレイヤ番号ＬＹＣは、例えば不揮発性メモリ装置内に予め設けられた冗長領域を用いて記憶される。
【００９１】
＜ＳＳＤコンフィグレーション情報の詳細＞
図１１Ａ、図１１Ｂおよび図１１Ｃは、図１における不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ格納されるＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）のそれぞれ異なる一例を示す図である。各図において、ＬＲＮＧは論理アドレス領域であり、セクタ単位（５１２バイト）の論理アドレスＬＡＤでの範囲を示す。ＣＡＰは論理アドレス領域ＬＲＮＧにて定められた範囲の論理データの容量値を示す。一例として、論理アドレス領域ＬＲＮＧ１は、１６進数で“００００＿００００”〜“００７Ｆ＿ＦＦＦＦ”の論理アドレスＬＡＤ空間を占め、４Ｇバイトの容量を持つ。また、論理アドレス領域ＬＲＮＧ２は、１６進数で“００８０＿００００”〜“０３７Ｆ＿ＦＦＦＦ”の論理アドレス空間を占め、３２Ｇバイトの大きさを持つ。
【００９２】
また、各図において、ＣＨＮＣＥＬＬは、例えば図３Ｂ等に示したチェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎの内、データの書込み対象となるメモリセルの数を示す。例えば、図１１Ａおよび図１１Ｂに示すように、ＣＨＮＣＥＬＬが“１＿８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「１」個に対して書込みを行うことを示す。ＣＨＮＣＥＬＬが“８＿８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「８」個に書込みを行うことを示す。また、例えば、図１１Ｃに示すように、ＣＨＮＣＥＬＬが“２＿８”であれば、チェインメモリアレイＣＹ内の「８」個のメモリセルの中の「２」個に書込みを行うことを示す。
【００９３】
また、各図において、ＮＶＭＭＯＤＥが“０”の場合は、不揮発性メモリ装置ＮＶＭへデータを書き込む際に、最小消去データサイズと最小プログラムデータサイズを等しいサイズにして、書込み動作を行えることを示し、“１”の場合は、最小消去データサイズと最小プログラムデータサイズが異なることを前提とした書込み動作を行えることを示す。各図において、ＥＲＳＳＩＺＥは、最小消去データサイズ［バイト］を示し、ＰＲＧＳＩＺＥは最小プログラムデータサイズ［バイト］を示す。この実施の形態においては、最小消去データサイズおよび最小プログラムデータサイズのそれぞれは、バイト単位で表される。
【００９４】
図１１Ａに示すように、ＮＶＭＭＯＤＥを“０”とし、最小消去データサイズ（ＥＲＳＳＩＺＥ）と最小プログラムデータサイズ（ＰＲＧＳＩＺＥ）を共に５１２バイトのように等しいサイズにすると、いわゆるガーベージコレクション動作が不要となり高速に書込み動作を行うことができる。
【００９５】
また、図１１ＢのＬＲＮＧ２に示すように、ＮＶＭＭＯＤＥを“１”とし、ＮＡＮＤ型フラッシュメモリの仕様にあわせて、ブロック消去サイズを５１２キロバイト、ページサイズを４キロバイトへ設定することで、従来型のＮＡＮＤ型フラッシュメモリへの書込み動作にも対応できる。さらに、図１１ＣのＬＲＮＧ２に示すように、ＮＶＭＭＯＤＥを“１”とし、別のＮＡＮＤ型フラッシュメモリの仕様にあわせて、ブロック消去サイズを１メガバイト、ページサイズを８キロバイトへ設定することも可能である。
【００９６】
このように、ＳＳＤコンフィグレーション情報により、利用する不揮発性メモリ装置の仕様を変更し、種々の仕様に対して柔軟に対応できる。さらに、ブロック消去サイズを増加することによって、消去領域のＸおよびＹ方向に配置するダミーチェインメモリアレイＤＣＹ（後述する）の数を削減することができるため、大容量化を実現することができる。
【００９７】
図１１Ａ、図１１Ｂおよび図１１Ｃにおいて、ＸＹＤＭＣは、ＥＲＳＳＩＺＥによって指定される消去データサイズを持つところの消去領域を含む書込み領域の外側あるいは内側のＸおよびＹ方向に配置するダミーチェインメモリアレイＤＣＹの数を示す。ここで、書込み領域は、複数のチェインメモリアレイＣＹが物理的に集まって形成されている領域である。ダミーチェインメモリアレイＤＣＹを指定するダミーチェインメモリアレイ指定情報ＸＹＤＭＣは、３種類の情報を有する。すなわち、ＸＹＤＭＣの左側（同図において左側）の値が“１”の場合は、書込み領域は消去領域と同一で、複数のチェインメモリアレイＣＹが物理的に集まって形成されている領域であり、ダミーチェインメモリアレイＤＣＹを書込み領域の外側のＸおよびＹ方向に配置することを示し、左側の値が“０”の場合は、書込み領域はからダミーチェインメモリアレイＤＣＹを除いた領域が消去領域となり、ダミーチェインメモリアレイＤＣＹは書込み領域の内側のＸおよびＹ方向に配置することを示す。また、この消去領域は複数のチェインメモリアレイＣＹが物理的に集まって形成されている領域である。
【００９８】
ダミーチェインメモリアレイ指定情報ＸＹＤＭＣの真ん中（同図において真ん中）の値は、書込み領域のＸ方向に配置するダミーチェインメモリアレイＤＣＹの数を示す。また、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣの右側（同図において右側）の値は、書込み領域のＹ方向に配置するダミーチェインメモリアレイＤＣＹの数を示す。
【００９９】
ダミーチェインメモリアレイ指定情報ＸＹＤＭＣについて、例示すると、次の様になる。すなわち、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿１＿１”の場合、書込み領域（＝消去領域）の外側のＸおよびＹ方向に、１つ分のダミーチェインメモリアレイＤＣＹを配置することを示す。ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”０＿１＿１”の場合、書込み領域の内側のＸおよびＹ方向に、１つ分のダミーチェインメモリアレイＤＣＹを配置することを示す。ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿２＿２”の場合、書込み領域の外側のＸおよびＹ方向に、２つ分のダミーチェインメモリアレイＤＣＹを配置することを示す。また、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”０＿２＿２”の場合、書込み領域の内側のＸおよびＹ方向に、２つ分のダミーチェインメモリアレイＤＣＹを配置することを示す。
【０１００】
後で説明するが、図２４、図３１、図３２Ａおよび図３２Ｂには、図１１Ａにおいて、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿１＿１”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹの配置の一例が示されている。これらの図において、チェインメモリアレイＣＹは、白抜きの○印で示され、ダミーチェインメモリアレイＤＣＹは、ドットで埋められた○印で示されている。以下の図面においても、チェインメモリアレイとダミーチェインメモリアレイは同様な表示方法をする。
【０１０１】
ダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿１＿１”であるため、図２４、図３１、図３２Ａおよび図３２Ｂにおいては、書込み領域（＝消去領域）の外側に、Ｘ方向およびＹ方向に１つのダミーチェインメモリアレイが配置されている。また、この場合、書込み領域（＝消去領域）内の全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（Ｓｅｔ状態）となる。すなわち、一括消去され、次に、物理アドレスＰＡＤ毎に、“０”のデータのみ（Ｒｅｓｅｔ状態）が書き込まれる。
【０１０２】
例えば、図２４を例にして述べると、消去領域は、物理的に互いに隣接した複数のチェインメモリアレイＣＹ（白抜き○）により構成され、消去領域の外側であって、消去領域に隣接して、Ｘ方向およびＹ方向のそれぞれに、１つのダミーチェインメモリアレイＤＣＹ（ドット埋め○）が配置される。平面視では、複数のチェインメモリアレイＣＹにより構成されたマトリクス（書込み領域＝消去領域）と、その外側であって、マトリクスに隣接し、マトリクスのＸ方向に延在した１行のダミーチェインメモリアレイ行と、Ｙ方向に延在した１列のダミーチェインメモリアレイ列として認識される。この様に認識した場合、ダミーチェインメモリアレイ行およびダミーチェインメモリアレイ列のそれぞれが、複数のダミーチェインメモリアレイＤＣＹを有することになる。
【０１０３】
また、後で説明するが、図２６Ｂには、図１１ＡのＸＹＤＭＣが”０＿１＿１”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹ（ドット埋め○）と、チェインメモリアレイＣＹ（白抜き○）の配置の一例が示されている。この場合には、書込み領域は、ダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹが物理的に集まって形成する消去領域により構成され、この書込み領域の内側に、ダミーチェインメモリアレイＤＣＹが配置される。
【０１０４】
平面視では、書込み領域の内側に配置されたところの、１行のダミーチェインメモリアレイＤＣＹ行と１列のダミーチェインメモリアレイＤＣＹ列として認識される。また、マトリクス状に配置された複数のチェインメモリアレイＣＹにより構成された消去領域内の全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（Ｓｅｔ状態）となる。すなわち、一括消去され、次に、物理アドレスＰＡＤ毎に、“０”のデータのみ（Ｒｅｓｅｔ状態）が書き込まれる。
【０１０５】
この様な書込み領域に対して、例えば一括消去の動作を行う際、書込み領域の外側あるいは内側に配置されているダミーチェインメモリアレイＤＣＹに対しては、消去動作が行われない。
【０１０６】
また、この様な消去領域に対して、例えば一括消去の動作を行う際、消去領域の外側に配置されているダミーチェインメモリアレイＤＣＹに対しては、消去動作が行われない。
【０１０７】
メモリアレイＡＲＹ内のある一括消去領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、消去領域周辺のＸおよび／あるいはＹ方向に存在する１つ分のメモリセルまで及ぼす場合、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣを”１＿１＿１”あるいは”０＿１＿１”とする。これにより、１つ分のチェインメモリアレイＣＹがダミーチェインメモリアレイＤＣＹとして、一括消去領域の周辺に配置されることになる。ダミーチェインメモリアレイＤＣＹは消去動作の対象とされないため、熱ディスターブによる信頼性低下を防ぐことが可能となる。
【０１０８】
後で述べるが、図２５には、図１１Ａにおけるダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿２＿２”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹの配置の一例が示されている。また、図２７には、図１１Ａにおけるダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”０＿２＿２”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹの配置の一例が示されている。図２５および図２７においては、書込み領域の外側あるいは内側であって、書込み領域のＸ方向およびＹ方向に２つのダミーチェインメモリアレイＤＣＹが配置される。すなわち、消去領域に隣接して、２行のダミーチェインメモリアレイＤＣＹ行と、２列のダミーチェインメモリアレイＤＣＹ列が配置される。
【０１０９】
メモリアレイＡＲＹ内のある一括消去領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、消去領域周辺のＸおよびＹ方向に存在する２つ分のメモリセルまで及ぼす場合は、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣを”１＿２＿２”あるいは”０＿２＿２”とする。この様にすることで、２つ分のチェインメモリアレイＣＹをダミーチェインメモリアレイＤＣＹとして一括消去領域の周辺に配置することができ、熱ディスターブによる信頼性低下を防ぐことができる。
【０１１０】
図３３Ａおよび図３３Ｂには、図１１Ａにおけるダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”１＿１＿０”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹの配置の一例が示されている。また、図２８および図２９Ｂには、図１１Ａのダミーチェインメモリアレイ指定情報ＸＹＤＭＣが”０＿１＿０”の場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹのダミーチェインメモリアレイＤＣＹと、チェインメモリアレイＣＹの配置の一例が示されている。この様に、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣを設定することにより、一括消去される消去領域のＸ方向に沿って、消去領域の外側に、１行のダミーチェインメモリアレイＤＣＹ行が配置される。勿論、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣを、“１＿０＿１”あるいは“０＿０＿１”に設定することにより、消去領域の外側に、１列のダミーチェインメモリアレイＤＣＹ列を配置することが可能である。
【０１１１】
メモリアレイＡＲＹ内のある一括消去領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、消去領域周辺のＸ方向（Ｙ方向）に存在する１つ分のメモリセルまで及ぼす場合は、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣを”１＿１＿０”あるいは”０＿１＿０”（“１＿０＿１”あるいは“０＿０＿１”）とする。これにより、１つ分のチェインメモリアレイＣＹをダミーチェインメモリアレイＤＣＹとして一括消去領域の周辺に配置することで、熱ディスターブによる信頼性低下を防ぐことができる。
【０１１２】
この様に、あるメモリセルへの消去動作を行った際の、熱ディスターブによる影響が、その周辺のどのぐらいのメモリセルまで及ぼすかに応じて、柔軟にダミーチェインメモリアレイＤＣＹの配置を変えることができ、常に、メモリモジュール（半導体装置）ＮＶＭＭＤ０の高信頼を実現することが可能である。
【０１１３】
図１１Ａ、図１１Ｂおよび図１１Ｃの説明に戻る。これらの図において、ＥＣＣＦＬＧは、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）を行う際のデータの単位を示している。特に限定しないが、ＥＣＣＦＬＧが０の場合は５１２バイトデータを単位としてＥＣＣが行われ、ＥＣＣＦＬＧが１の場合は２０４８バイトデータを単位としてＥＣＣが行われる。同様に、ＥＣＣＦＬＧが２、３、４の場合には、それぞれ４０９６バイト、８１９２バイト、１６３８４バイトのデータを単位としてＥＣＣが行われる。また、ＥＣＣＦＬＧが５、６、７、８の場合には、それぞれ、３２バイト、６４バイト、１２８バイト、２５６バイトのデータを単位としてＥＣＣが行われる。
【０１１４】
記憶装置には、ハードディスク、ＳＳＤ、キャッシュメモリ及びメインメモリなど様々な記憶装置があり、データの読み出しや書込みの単位が異なる。例えばハードディスクやＳＳＤなどのストレージでは、５１２バイト以上のデータ単位で読み出しや書込みが行われる。また、キャッシュメモリでは、そのラインサイズ単位（３２バイトや６４バイトなど）でメインメモリとの間でデータ読み出しやデータ書込みが行われる。このように、データ単位が異なる場合においても、ＥＣＣＦＬＧによって、異なるデータ単位でＥＣＣを行うことができ、メモリモジュール（半導体装置）ＮＶＭＭＤ０への要求に対して柔軟に対応できる。
【０１１５】
また、図１１Ａから図１１Ｃにおいて、ＷＲＴＦＬＧは、ライト方法選択情報であり、書込み時の書込み方法を示す。特に限定しないが、ライト方法選択情報ＷＲＴＦＬＧが０の場合は、メモリモジュール（半導体装置）ＮＶＭＭＤ０へ入力した書込みデータＷＤＡＴＡと、書込みデータＷＤＡＴＡから生成したＥＣＣコードＥＣＣを、加工せずに、そのまま不揮発性メモリへ書き込む。
【０１１６】
ＷＲＴＦＬＧが１の場合の書込み方法は次の様になる。すなわち、書込みデータＷＤＡＴＡと、書込みデータＷＤＡＴＡから生成したＥＣＣコードＥＣＣのデータとの中で、“０”のビットデータおよび“１”のビットデータを数え、“０”のビットデータの数と“１”のビットデータの数を比較する。次に、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より大きい場合は、書込みデータＷＤＡＴＡの各ビットを反転させ、不揮発性メモリへ書き込む。一方、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より、大きくない場合は、書込みデータ（ＤＡＴＡ０）の各ビットは反転させないで、不揮発性メモリへ書き込む。これにより、書込みデータの中の“０”のビットデータの数が常に１／２以下となり、“０”のビットデータを書き込む量を半減でき、高速かつ低電力で書き込むことができる。
【０１１７】
ライト方法選択情報ＷＲＴＦＬＧが２の場合の書込み方法は、次の様になる。すなわち、書込みデータＷＤＡＴＡと、書込みデータＷＤＡＴＡから生成したＥＣＣコードＥＣＣとを圧縮した圧縮データＣｏｍｐＤＡＴＡを生成し、この圧縮データＣｏｍｐＤＡＴＡを不揮発性メモリへ書き込む。圧縮することにより、圧縮データＣｏｍｐＤＡＴＡの書込みサイズが、書込みデータＷＤＡＴＡの書込みサイズと書込みデータＷＤＡＴＡから生成したＥＣＣコードＥＣＣの書込みサイズの和より小さくなるため、メモリモジュール（半導体装置）ＮＶＭＭＤ０の容量を実効的に大容量化できる。
【０１１８】
圧縮データを生成する圧縮方法には、連長符号やＬＺ符号などがあり、扱うデータの種類に応じて圧縮方法を選べばよい。
【０１１９】
ライト方法選択情報ＷＲＴＦＬＧが３の場合の書込み方法を次に述べる。この場合の書込み方法は、書込みデータＷＤＡＴＡを“０”のビットデータの最大数を制限した書込みデータＲｄｃＤＡＴＡへ変換し、不揮発性メモリへ書き込む方法である。次に、書込みデータを３２ビットで、その書込みデータの中で、書き込む“０”のビットデータの最大数を８ビットに制限して書き込む場合の書込み方法の一例を説明する。
【０１２０】
書込みデータｔビットの中で、書き込む“０”のビットデータの最大数をｒビットに制限した場合の、とりうる組合せの総数Ｔと、書き込まれる“０”の総数Ｒは、式（１）、式（２）のように表すことができる。
【０１２１】
【数１】
2015059811.tif 000003
【０１２２】
【数２】
2015059811.tif 000004
【０１２３】
式（１）および（２）に、ｔ＝３２、ｒ＝８を代入すると、Ｔ＝１５０３３１７３、Ｒ＝１１４３１１１６８となる。また、”０“ビットの平均書込み数は、Ｒａｖｇ＝Ｒ／Ｔ＝７．６０となる。ここで、このＴを２進数で表した場合の必要なビット数をＩとすると、Ｉ＝Ｌｏｇ２（Ｔ）＝Ｌｏｇ２（１５０３３１７３）＝２３．８４となる。
【０１２４】
つまり、書込みデータ３２ビットの中で、書き込む“０”のビットデータの最大数を３２ビットの１/４の８ビットに制限した場合でも、１５０３３１７３通りの組合せで、データを区別することができる。
【０１２５】
このように、“０”のビットデータの最大数を制限した書込み方法により、“０”を書込むビット数を削減でき、高速な書込みが実現できる。
【０１２６】
ライト方法選択情報ＷＲＴＦＬＧが1〜３までの書込み方法を述べたが、それぞれを組み合わせることによっても、書込み方法を設定できる。図１１Ｂおよび図１１Ｃには、組み合わせた例が示されている。すなわち、これらの図においては、ライト方法選択情報ＷＲＴＦＬＧが１と２が組み合わされた例が示されており、これらの図においては、ライト方法選択情報ＷＲＴＦＬＧが”２＿１”となっている。
【０１２７】
ライト方法選択情報ＷＲＴＦＬＧが”２＿１”の場合、先ず、ライト方法選択情報ＷＲＴＦＬＧが”２“で設定された方法でデータを生成し、この最初に生成されたデータに対し、次に、ライト方法選択情報ＷＲＴＦＬＧが”１“で設定された方法でデータを生成し、不揮発性メモリへ書き込む。
【０１２８】
具体的な処理の例として、ライト方法選択情報ＷＲＴＦＬＧが”２＿１”の場合を次に説明する。先ず、メモリモジュール（半導体装置）ＮＶＭＭＤ０へ入力した書込みデータＷＤＡＴＡと、書込みデータＷＤＡＴＡから生成したＥＣＣコードＥＣＣとを圧縮した圧縮データＣｏｍｐＤＡＴＡを生成する。次に、この圧縮データＣｏｍｐＤＡＴＡの中で、“０”のビットデータおよび“１”のビットデータを数え、“０”のビットデータの数と“１”のビットデータの数を比較する。さらに、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より大きい場合は、圧縮データＣｏｍｐＤＡＴＡの各ビットを反転させ、不揮発性メモリへ書き込む。これに対して、“０”のビットデータの数が“１”のビットデータの数よりも小さい場合は、圧縮データＣｏｍｐＤＡＴＡの各ビットを反転させずに、不揮発性メモリへ書き込む。
【０１２９】
また、ライト方法選択情報ＷＲＴＦＬＧが、例えば”３＿２”の場合には、先ず、ライト方法選択情報ＷＲＴＦＬＧが”３“で設定された方法でデータを生成し、この最初に生成されたデータに対し、次に、ライト方法選択情報ＷＲＴＦＬＧが”２“で設定された方法でデータを生成し、不揮発性メモリへ書き込む。
【０１３０】
この場合、具体的には、メモリモジュール（半導体装置）ＮＶＭＭＤ０へ入力した書込みデータＷＤＡＴＡが５１２バイトの場合、書き込む“０”のビットデータの最大数を１２８バイトにした場合のデータＲｄｓＤａｔａへ変換する。次に、このデータＲｄｓＤａｔａと、データＲｄｓＤａｔａから生成したＥＣＣコードＥＣＣとを圧縮した圧縮データＣｏｍｐＲｓｄＤＡＴＡを生成し、不揮発性メモリへ書き込む。
【０１３１】
このように、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）は適宜プログラム可能となっているため、メモリモジュール（半導体装置）ＮＶＭＭＤ０に要求される機能、性能及び信頼性のレベル等に合わせて柔軟に対応することができる。
【０１３２】
＜書込みデータの構成例＞
図１２Ａは、図１のメモリモジュールＮＶＭＭＤ０において、制御回路ＭＤＬＣＴ０から不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込まれるデータの構成例を示す図である。図１２Ｂおよび図１２Ｃは、図１２Ａにおけるデータ書込みレイヤ情報の構成例を示す図である。図１２Ａにおいて、特に限定しないが、書込みデータ（ページデータ）ＰＧＤＡＴは、メインデータＭＤＡＴＡ（５１２バイト）と、冗長データＲＤＡＴＡ（１６バイト）から構成される。メインデータＭＤＡＴＡは、図１の情報処理装置（プロセッサ）ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ入力する書込みデータＷＤＡＴＡであり、書込みデータＷＤＡＴＡに対応した冗長データＲＤＡＴＡは、図１の制御回路ＭＤＬＣＴ０が生成するデータである。冗長データＲＤＡＴＡには、データ反転フラグＩＮＶＦＬＧ、ライトフラグＷＴＦＬＧ、ＥＣＣフラグＥＣＣＦＬＧ、ステート情報ＳＴＡＴＥ、エリア情報ＡＲＥＡ、データ書込みレイヤ情報ＬＹＮ、ＥＣＣコードＥＣＣ、バッドブロック情報ＢＡＤＢＬＫ、予備領域ＲＳＶが含まれる。
【０１３３】
データ反転フラグＩＮＶＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込んだメインデータＭＤＡＴＡが元の書込みデータの各ビットを反転させたデータかどうかを示す。データ反転フラグＩＮＶＦＬＧに０が書き込まれた場合、元のメインデータの各ビットを反転させずにデータが書き込まれたことを示し、１が書き込まれた場合、元のメインデータの各ビットを反転させたデータが書き込まれたことを示す。
【０１３４】
ライトフラグＷＴＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＭＤＡＴＡを書き込む際に実行した書込み方法を示している。すなわち、ライトフラグＷＴＦＬＧは、図１１Ａから図１１Ｃにおいて説明したライト方法選択情報ＷＲＴＦＬＧに対応している。そのため、特に限定しないが、ＷＴＦＬＧに０が書き込まれた場合（ＷＴＦＬＧ０）、通常方法にてメインデータＭＤＡＴＡが書き込まれたことを示し、ＷＴＦＬＧに１が書き込まれた場合（ＷＴＦＬＧ１）、元のメインデータの各ビットを反転させたデータが書き込まれたことを示す。ＷＴＦＬＧに２が書き込まれた場合（ＷＴＦＬＧ２）、元のデータは圧縮され、圧縮されたデータが書き込まれたことを示す。ＷＴＦＬＧに３が書き込まれた場合（ＷＴＦＬＧ３）、元のデータはコード化され、コード化されたデータが書き込まれたことを示す。また、ＷＴＦＬＧに２＿１が書き込まれた場合（ＷＴＦＬＧ２＿１）、元のデータは圧縮され、圧縮されたデータの各ビットが反転され、この反転されたデータが書き込まれたことを示す。更に、ＷＴＦＬＧに３＿２が書き込まれた場合（ＷＴＦＬＧ３＿２）、元のデータはコード化され、さらに圧縮され、この圧縮されたデータが書き込まれたことを示す。
【０１３５】
ＥＣＣフラグＥＣＣＦＬＧは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＭＤＡＴＡを書込む際に、どの程度のメインデータＭＤＡＴＡのサイズに対して、ＥＣＣコードを生成したかを示している。特に限定しないが、ＥＣＣＦＬＧに０が書き込まれた場合、５１２バイトのデータサイズに対してコードを生成したことを示し、ＥＣＣＦＬＧに１が書き込まれた場合、１０２４バイトのデータサイズに対してコードを生成したことを示す。ＥＣＣＦＬＧに２が書き込まれた場合、２０４８バイトのデータサイズに対してコードを生成したことを示し、ＥＣＣＦＬＧに３が書き込まれた場合、３２バイトのデータサイズに対してコードを生成したことを示す。
【０１３６】
ＥＣＣコードＥＣＣは、メインデータＭＤＡＴＡのエラーを検出し修正するために必要なデータである。ＥＣＣは、制御回路ＭＤＬＣＴ０が不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へメインデータＭＤＡＴＡを書き込む際に、制御回路ＭＤＬＣＴ０によってメインデータＭＤＡＴＡに対応して生成され、冗長データＲＤＡＴＡへ書き込まれる。ステート情報ＳＴＡＴＥは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込まれたメインデータＭＤＡＴＡが、有効状態か、無効状態か、消去状態かを示す。特に限定しないが、ステート情報ＳＴＡＴＥに０が書き込まれた場合、メインデータＭＤＡＴＡは無効状態であることを示し、ステート情報ＳＴＡＴＥに１が書き込まれた場合、メインデータＭＤＡＴＡは有効状態であることを示し、ステート情報ＳＴＡＴＥに３が書き込まれた場合、メインデータＭＤＡＴＡは消去状態であることを示す。
【０１３７】
エリア情報ＡＲＥＡは、後述する図１３に示すアドレスマップ範囲（ＡＤＭＡＰ）の中で、メインデータＭＤＡＴＡが書き込まれたデータが、第１物理アドレス領域ＰＲＮＧ１へ書き込まれたのか、第２物理アドレス領域ＰＲＮＧ２へ書き込まれたのかを示す情報である。特に限定しないが、エリア情報ＡＲＥＡ値が１であれば、メインデータＭＤＡＴＡが第１物理アドレス領域ＰＲＮＧ１へ書き込まれたことを示し、エリア情報ＡＲＥＡ値が２であれば、メインデータＭＤＡＴＡが第２物理アドレス領域ＰＲＮＧ２へ書き込まれたことを示す。
【０１３８】
また、図１２Ｂおよび図１２Ｃにおいて、データ書込みレイヤ情報ＬＹＮ［ｎ：０］は、チェインメモリアレイＣＹ内の相変化メモリセルＣＬ０〜ＣＬｎの中で、どのメモリセルのデータが有効に書き込まれているかを示す情報である。初期設定では、ＬＹＮ［ｎ：０］は０に設定される。この例では、チェインメモリアレイＣＹには、８個の相変化メモリセルＣＬ０〜ＣＬ７が含まれている場合について示している。
【０１３９】
データ書込みレイヤ情報ＬＹＮは、ＬＹＮ［７：０］の８ビットから構成され、ＬＹＮ［７］〜ＬＹＮ［０］はそれぞれ相変化メモリセルＣＬ７〜ＣＬ０に対応している。例えば、相変化メモリセルＣＬ０に有効なデータが書き込まれた場合は、ＬＹＮ［０］に“１”が書き込まれ、それ以外は“０”が書き込まれる。また、例えば、相変化メモリセルＣＬ１に有効なデータが書き込まれた場合は、ＬＹＮ［１］に“１”が書き込まれ、それ以外は“０”が書き込まれる。以降、相変化メモリセルＣＬ２〜ＣＬ７とＬＹＮ［２］〜ＬＹＮ［７］との関係についても同様である。
【０１４０】
図１２Ｂの例では、ＬＹＮ［０］に“１”が書き込まれ、ＬＹＮ［７：１］に“０”が書き込まれているので、チェインメモリアレイＣＹの相変化メモリセルＣＬ０へ有効なデータが書き込まれたことを示す。図１２Ｃの例では、ＬＹＮ［０］およびＬＹＮ［４］に“１”が書き込まれ、ＬＹＮ［７：５］およびＬＹＮ［３：１］に“０”が書き込まれているので、チェインメモリアレイＣＹの相変化メモリセルＣＬ０およびＣＬ４へ有効なデータが書き込まれたことを示す。
【０１４１】
図１２Ａにおいて、バッドブロック情報ＢＡＤＢＬＫは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書き込まれたメインデータＭＤＡＴＡが利用可能かどうかを示す。特に限定しないが、バッドブロック情報ＢＡＤＢＬＫに０が書き込まれた場合、メインデータＭＤＡＴＡは利用可能であり、１が書き込まれた場合、メインデータＭＤＡＴＡは利用不可能であることを示す。例えば、ＥＣＣによるエラー訂正が可能である場合、バッドブロック情報ＢＡＤＢＬＫは０となり、エラー訂正が不可能である場合、バッドブロック情報ＢＡＤＢＬＫは１となる。予備領域ＲＳＶは、制御回路ＭＤＬＣＴ０が自由に定義できる領域として存在する。
【０１４２】
＜アドレスマップ範囲の詳細＞
図１３は、図１のランダムアクセスメモリに格納されるアドレスマップ範囲（ＡＤＭＡＰ）の一例を示す図である。当該アドレスマップ範囲（ＡＤＭＡＰ）は、図６Ａ等でも述べたように、制御回路ＭＤＬＣＴ０が、ＮＶＭ１０〜ＮＶＭ１７へ格納されている例えば図１１Ａに示すＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）を利用して生成し、ランダムアクセスメモリＲＡＭへ格納したものである。
【０１４３】
＜メモリモジュール（半導体装置）の書込み動作フロー＞
図１５は、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へライトリクエスト（ＷＲＥＱ０１）が入力された際に、メモリモジュールＮＶＭＭＤ０内で行われる詳細な書込み処理手順の一例を示すフロー図である。ここでは、主に図２の情報処理回路ＭＮＧＥＲの処理内容が示され、情報処理回路ＭＮＧＥＲは、特に限定しないが５１２バイトのメインデータＭＤＡＴＡと１６バイトの冗長データＲＤＡＴＡのサイズ毎に、１個の物理アドレスを対応させ、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書込みを行っている。
【０１４４】
まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（例えばＬＡＤ＝０）、データ書込み命令（ＷＲＴ）、セクタカウント値（例えばＳＥＣ＝１）、および５１２バイトの書込みデータ（ＷＤＡＴＡ０）が含まれる書込みリクエスト（ＷＱ０１）が制御回路ＭＤＬＣＴ０へ入力される。図２のインターフェース回路ＨＯＳＴ＿ＩＦは、ライトリクエスト（ＷＱ０１）に埋め込まれているクロック情報を取り出し、シリアルデータ化されたライトリクエスト（ＷＱ０１）をパラレルデータに変換し、バッファＢＵＦ０および情報処理回路ＭＮＧＥＲへ転送する（Ｓｔｅｐ１）。
【０１４５】
次に、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）、データ書込み命令（ＷＲＴ）及びセクタカウント値（ＳＥＣ＝１）を解読し、ランダムアクセスメモリＲＡＭ内のアドレス変換テーブルＬＰＴＢＬ（図１０Ａ）を検索する。これにより、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）の番地に格納されている現在の物理アドレス値（例えばＰＡＤ＝０）と、この物理アドレス値（ＰＡＤ＝０）に対応した有効フラグＣＰＶＬＤの値と、レイヤ番号ＬＹＣを読み出す。さらに、情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭ内の物理アドレステーブルＰＡＤＴＢＬ（図７）から物理アドレス値（ＰＡＤ＝０）に対応する消去回数値（例えばＰＥＲＣ＝４００）および有効フラグＰＶＬＤ値を読み出す（Ｓｔｅｐ２）。
【０１４６】
次に、情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭへ格納したアドレスマップ範囲（ＡＤＭＡＰ）（図１３）を利用し、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力された論理アドレス値（ＬＡＤ＝０）が、論理アドレス領域ＬＲＮＧ１内の論理アドレス値であるか、又は、論理アドレス領域ＬＲＮＧ２内の論理アドレス値であるかを判断する。
【０１４７】
ここで、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）が論理アドレス領域ＬＲＮＧ１内の論理アドレス値の場合は、図９Ａ、図９Ｂの書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を参照し、論理アドレス値（ＬＡＤ＝０）が論理アドレス領域ＬＲＮＧ２内の論理アドレス値の場合は、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２を参照する。なお、実際には、前述したように、当該テーブルは、図２の書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２に格納されている。情報処理回路ＭＮＧＥＲは、いずれか一方の書込み物理アドレステーブルから、書込み優先度の高い順（すなわちエントリー番号ＥＮＵＭが小さい順）に、セクタカウント値（ＳＥＣ＝１）で指定された個数分だけ必要なデータを読み出す。この場合は、１個分だけの書込み物理アドレス（例えばＮＸＰＡＤ＝１００）と、この書込み物理アドレス（ＮＸＰＡＤ＝１００）に対応した有効フラグＮＸＰＶＬＤ値と、消去回数ＮＸＰＥＲＣ値と、書込みレイヤ番号ＮＸＬＹＣが読み出される（Ｓｔｅｐ３）。
【０１４８】
次に、情報処理回路ＭＮＧＥＲは、現在の物理アドレス値（ＰＡＤ＝０）と次に書込み対象となる書込み物理アドレス値（ＮＸＰＡＤ＝１００）とが等しいかを判別し（Ｓｔｅｐ４）、等しい場合にはＳｔｅｐ５を実行し、異なる場合にはＳｔｅｐ１１を実行する。Ｓｔｅｐ５では、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７における物理アドレス値（ＮＸＰＡＤ＝１００）に対応する番地に各種データを書き込む。ここでは、図１２Ａに示したメインデータＭＤＡＴＡとして書込みデータ（ＷＤＡＴＡ０）が書き込まれ、冗長データＲＤＡＴＡとして、データ反転フラグＩＮＶＦＬＧ、ライトフラグＷＴＦＬＧ、ＥＣＣフラグＥＣＣＦＬＧ、ステート情報ＳＴＡＴＥ、データ書込みレイヤ情報ＬＹＮ、ＥＣＣコードＥＣＣが書き込まれる。さらに、図１０Ｂに示したように、物理アドレス値（ＮＸＰＡＤ＝１００）に対応する論理アドレス値（ＬＡＤ＝０）と、有効フラグ値（ＤＶＦ＝１）と、レイヤ番号ＬＹＣが書き込まれる。
【０１４９】
この際に、例えば、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１から読み出した書込みレイヤ番号ＮＸＬＹＣが、“１０”の場合、メインデータＭＤＡＴＡ（書込みデータ（ＷＤＡＴＡ０））と、冗長データＲＤＡＴＡは、各チェインメモリアレイＣＹの中の１個の相変化メモリセルＣＬ０に書き込まれる。これに伴い、図１２Ａにおける冗長データＲＤＡＴＡの中のデータ書込みレイヤ情報ＬＹＮ［７：１］には“０”が書き込まれ、データ書込みレイヤ情報ＬＹＮ［０］には“１”が書き込まれる。一方、例えば、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２から読み出した書込みレイヤ番号ＮＸＬＹＣが、“００”の場合、メインデータＭＤＡＴＡ（書込みデータ（ＷＤＡＴＡ０））と、冗長データＲＤＡＴＡは、各チェインメモリアレイＣＹ内の全相変化メモリセルＣＬ０〜ＣＬｎに書き込まれる。また、冗長データＲＤＡＴＡの中のデータ書込みレイヤ情報ＬＹＮ［７：０］へは“１”が書き込まれる。
【０１５０】
図１５において、Ｓｔｅｐ１１では、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬ（図１０Ａ）から読み出した物理アドレス値（ＰＡＤ＝０）に対応した有効フラグＣＰＶＬＤ値が０であるかを判定する。有効フラグＣＰＶＬＤ値が０の場合、論理アドレス値（ＬＡＤ＝０）に対応する現在の物理アドレス値（ＰＡＤ＝０）は無効であることを示し、これは論理アドレス値（ＬＡＤ＝０）に対応する物理アドレスは新しい物理アドレス値（ＮＸＰＡＤ＝１００）しか存在しないことを示す。言い換えれば、新しい物理アドレス値（ＮＸＰＡＤ＝１００）を論理アドレス値（ＬＡＤ＝０）に対してそのまま割り当てても、論理アドレス値（ＬＡＤ＝０）に対して重複した物理アドレス値が割り当てられることは無い。そこで、この場合、情報処理回路ＭＮＧＥＲは、前述したＳｔｅｐ５を実行する。
【０１５１】
これに対して、Ｓｔｅｐ１１において有効フラグＣＰＶＬＤ値が１の場合、論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）が未だに有効であることを示す。したがって、新しい物理アドレス値（ＮＸＰＡＤ＝１００）を論理アドレス値（ＬＡＤ＝０）に対してそのまま割り当てた場合、論理アドレス値（ＬＡＤ＝０）に対して重複した物理アドレス値が存在することになる。そこで、Ｓｔｅｐ１３において、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬ内で論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）の有効フラグＣＰＶＬＤ値を０（無効）に変更する。加えて、物理アドレステーブルＰＡＤＴＢＬ内の物理アドレス値（ＰＡＤ＝０）に対応する有効フラグＰＶＬＤも０（無効）にする。情報処理回路ＭＮＧＥＲは、このようにして、論理アドレス値（ＬＡＤ＝０）に対応する物理アドレス値（ＰＡＤ＝０）を無効にした後に、前述したＳｔｅｐ５を実行する。
【０１５２】
Ｓｔｅｐ５に続くＳｔｅｐ６において、情報処理回路ＭＮＧＥＲおよび／または不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、書込みデータ（ＷＤＡＴＡ０）が正しく書き込まれたかをチェックする。正しく書き込まれた場合は、Ｓｔｅｐ７を実行し、正しく書き込まれなかったらＳｔｅｐ１２を実行する。Ｓｔｅｐ１２では、情報処理回路ＭＮＧＥＲおよび／または不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７は、書込みデータ（ＷＤＡＴＡ０）が正しく書き込まれたかをチェックするベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）以下であるかをチェックする。ベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）以下であれば、再度Ｓｔｅｐ５およびＳｔｅｐ６を実行する。ベリファイチェック回数（Ｎｖｅｒｉｆｙ）が設定回数（Ｎｖｒ）より多い場合は、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２から読み出した書込み物理アドレス値（ＮＸＰＡＤ＝１００）へは書込みデータ（ＷＤＡＴＡ０）を書き込めないと判断し（Ｓｔｅｐ１４）、再度Ｓｔｅｐ３を実行する。なお、このようなデータ検証処理は、図３Ａに示した不揮発性メモリ装置内の書込みデータ検証回路ＷＶ０〜ＷＶｍを用いて行われ、不揮発性メモリ装置の内部回路のみで行われる場合や、あるいはその外部（情報処理回路ＭＮＧＥＲ）と適宜連動しながら行われる場合がある。
【０１５３】
Ｓｔｅｐ６に続いてＳｔｅｐ７では、情報処理回路ＭＮＧＥＲは、アドレス変換テーブルＬＰＴＢＬを更新する。具体的には、例えば論理アドレス値（ＬＡＤ＝０）の番地へ新たな物理アドレス値（ＮＸＰＡＤ＝１００）を書込み、有効フラグＣＰＶＬＤ値を１とし、レイヤ番号ＬＹＣに書込みレイヤ番号ＮＸＬＹＣを書き込む。次のＳｔｅｐ８では、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬを更新する。具体的には、例えば、書込み物理アドレステーブルで示される書込み物理アドレス値（ＮＸＰＡＤ＝１００）の消去回数（ＮＸＰＥＲＣ）値に１を加算した新たな消去回数値を生成し、当該新たな消去回数値を物理アドレステーブルＰＡＤＴＢＬ内の対応箇所（物理アドレス値（ＮＸＰＡＤ＝１００）の消去回数（ＰＥＲＣ））に書込む。また、物理アドレステーブルＰＡＤＴＢＬ内の有効フラグＰＶＬＤを１とし、レイヤ番号ＬＹＣに書込みレイヤ番号ＮＸＬＹＣを書き込む。
【０１５４】
Ｓｔｅｐ９では、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書込み物理アドレスＮＸＰＡＤへの書込みが完了したかどうかを判定する。書込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書込み物理アドレスＮＸＰＡＤへの書込みが完了した場合はＳｔｅｐ１０を行い、未完了の場合は情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ向けた新たなライトリクエストを待つ。
【０１５５】
Ｓｔｅｐ１０では、例えば書込み物理アドレステーブルＮＸＰＡＤＴＢＬへ格納されている全書込み物理アドレスＮＸＰＡＤに対する書込みが完了した時点で、情報処理回路ＭＮＧＥＲは、物理セグメントテーブルＰＳＥＧＴＢＬ（図８Ａ、図８Ｂ）を更新する。すなわち、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ内のエントリーを全て使い切った際に物理セグメントテーブルＰＳＥＧＴＢＬを更新し、これを用いて詳細は図１６で述べるが書込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新も行う。
【０１５６】
物理セグメントテーブルＰＳＥＧＴＢＬの更新に際し、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬにおける物理アドレスの有効フラグＰＶＬＤと消去回数ＰＥＲＣを参照する。そして、物理アドレステーブルＰＡＤＴＢＬ内で有効フラグＰＶＬＤが０（無効）となっている物理アドレスを対象として、各物理セグメントアドレスＳＧＡＤ毎に、無効物理アドレス総数ＴＮＩＰＡ、最大消去回数ＭＸＥＲＣおよびその無効物理オフセットアドレスＭＸＩＰＡＤ、最小消去回数ＭＮＥＲＣおよびその無効物理オフセットアドレスＭＮＩＰＡＤを更新する。また、物理アドレステーブルＰＡＤＴＢＬ内で有効フラグＰＶＬＤが１（有効）となっている物理アドレスを対象として、各物理セグメントアドレスＳＧＡＤ毎に、有効物理アドレス総数ＴＮＶＰＡ、最大消去回数ＭＸＥＲＣおよびその有効物理オフセットアドレスＭＸＶＰＡＤ、最小消去回数ＭＮＥＲＣおよびその有効物理オフセットアドレスＭＮＶＰＡＤを更新する。
【０１５７】
さらに、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新する。書込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新が終了した場合、情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へのライトリクエストを待つ。
【０１５８】
このように、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書込みを行う際に、書込み物理アドレステーブルＮＸＰＡＤＴＢＬを用いて行うため、例えば、書込みの度に物理アドレステーブルＰＡＤＴＢＬから消去回数が少ない物理アドレスを探索するような場合と比べて高速な書込み動作が実現可能となる。また、図２に示したように、複数個の書込み物理アドレステーブルＮＸＰＴＢＬ１，ＮＸＰＴＢＬ２を搭載した場合、各テーブルを独立に管理・更新することができるので、これによっても高速な書込み動作が実現可能となる。例えば、書込み物理アドレステーブルＮＸＰＴＢＬ１を使っている間に書込み物理アドレステーブルＮＸＰＴＢＬ２を更新し、ＮＸＰＴＢＬ１を使い切った際にはＮＸＰＴＢＬ２に移行し、ＮＸＰＴＢＬ２を使っている間にＮＸＰＴＢＬ１の更新を行うようなことが可能となる。
【０１５９】
＜書込み物理アドレステーブルの更新方法（ウエアレベリング方法［１］）＞
図１６は、図９Ａおよび図９Ｂの書込み物理アドレステーブルにおいて、その更新方法の一例を示すフロー図である。図９Ａおよび図９Ｂに示すように、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの中において、エントリー番号ＥＮＵＭが０から（Ｎ／２−１）までのＮ／２個分を、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とし、エントリー番号ＥＭＵＭが（Ｎ／２）から（Ｎ−１）までのＮ／２個分を書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理する。
【０１６０】
また、図１３のアドレスマップ範囲（ＡＤＭＡＰ）の例では、物理アドレスＰＡＤが“００００＿００００”から“０４ＦＦ＿ＦＦＦＦ”までは、第１物理アドレス領域ＰＲＮＧ１を示し、物理アドレスＰＡＤが“０５００＿００００”から“０９ＦＦ＿ＦＦＦＦ”までは、第２物理アドレス領域ＰＲＮＧ２を示す。従って、第１物理アドレス領域ＰＲＮＧ１の物理セグメントアドレスＳＧＡの範囲は“００００”から“０４ＦＦ”となり、第２物理アドレス領域ＰＲＮＧ２の物理セグメントアドレスＳＧＡの範囲は“０５００”から“０９ＦＦ”となる。
【０１６１】
情報処理回路ＭＮＧＥＲは、第１物理アドレス領域ＰＲＮＧ１の範囲内の物理アドレスＰＡＤに対して書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を利用し、これを更新し、第２物理アドレス領域ＰＲＮＧ２の範囲内の物理アドレスＰＡＤに対して書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２を利用し、これを更新する。書込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新するために、まず物理セグメントアドレスを決定し、次に決定された物理セグメントアドレス内の物理オフセットアドレスを決定する。図８Ａに示すように、ランダムアクセスメモリＲＡＭ内の物理セグメントテーブルＰＳＥＧＴＢＬ１には、物理セグメントアドレスＳＧＡＤ毎に、無効状態の物理アドレスの総数（ＴＮＩＰＡ）と、無効状態の物理アドレスの中で最小の消去回数を持つ物理オフセットアドレス（ＭＮＩＰＡＤ）ならびにその消去回数（ＭＮＥＲＣ）が格納されている。
【０１６２】
そこで、図１６に示すように、情報処理回路ＭＮＧＥＲは、まず、ランダムアクセスメモリＲＡＭの物理セグメントテーブルＰＳＥＧＴＢＬ１を参照し、物理セグメントアドレスＳＧＡＤ毎に、前述した無効状態の物理アドレスの総数（ＴＮＩＰＡ）、最小の消去回数を持つ物理オフセットアドレス（ＭＮＩＰＡＤ）ならびにその消去回数（ＭＮＥＲＣ）を読み出す（Ｓｔｅｐ２１）。次に、物理セグメントアドレスＳＧＡＤ毎の無効状態の物理アドレスの総数（ＴＮＩＰＡ）が書込み物理アドレステーブルＮＸＰＡＤＴＢＬの登録数Ｎより大きな物理セグメントアドレスＳＧＡＤを選択する（Ｓｔｅｐ２２）。さらに、この選択された物理セグメントアドレスＳＧＡＤ毎の最小消去回数値（ＭＮＥＲＣ）を比較し、その最小消去回数値の中の最小値（ＭＮＥＲＣｍｎ）を求める（Ｓｔｅｐ２３）。
【０１６３】
次に、当該最小値（ＭＮＥＲＣｍｎ）を持つ物理セグメントアドレス（ＳＧＡＤｍｎ）とその物理オフセットアドレス（ＭＮＩＰＡＤｍｎ）を、書込み物理アドレステーブルＮＸＰＡＤＴＢＬに登録する第１候補として決定する（Ｓｔｅｐ２４）。なお、Ｓｔｅｐ２２で選択される物理セグメントアドレスＳＧＡＤを存在させるには、物理アドレス空間の大きさを論理アドレス空間の大きさより、少なくとも書込み物理アドレステーブルＮＸＰＡＤＴＢＬが登録できるアドレス分の大きさ以上にすると良い。
【０１６４】
次に、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬ（図７）を参照し、前述した物理セグメントアドレス（ＳＧＡＤｍｎ）内の現在候補となっている物理オフセットアドレスＰＰＡＤに対応する消去回数ＰＥＲＣ値をランダムアクセスメモリＲＡＭから読み出し、消去回数閾値ＥＲＣｔｈと比較する（Ｓｔｅｐ２５）。当該Ｓｔｅｐ２５はループ処理の一部であり、その１回目には、前述した物理オフセットアドレス（ＭＮＩＰＡＤｍｎ）が物理オフセットアドレスＰＰＡＤの候補となる。消去回数ＰＥＲＣ値が消去回数閾値ＥＲＣｔｈ以下の場合、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤを登録対象として確定し、Ｓｔｅｐ２６を行う。
【０１６５】
一方、消去回数ＰＥＲＣ値が消去回数閾値ＥＲＣｔｈより大きい場合、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤを一旦候補から除外し、Ｓｔｅｐ３２を行う。Ｓｔｅｐ３２で、情報処理回路ＭＮＧＥＲは、物理アドレステーブルＰＡＤＴＢＬを参照し、前述した物理セグメントアドレス（ＳＧＡＤｍｎ）内で消去回数閾値ＥＲＣｔｈ以下の消去回数を持つ無効状態の物理オフセットアドレスの数（Ｎｉｎｖ）が、書込み物理アドレステーブルＮＸＰＡＤＴＢＬが登録できるアドレス数Ｎより小さいか（Ｎｉｎｖ＜Ｎ）を判定する。小さい場合はＳｔｅｐ３３を行い、大きい場合はＳｔｅｐ３４を行う。
【０１６６】
Ｓｔｅｐ３４において、情報処理回路ＭＮＧＥＲは、現在候補となっている物理オフセットアドレスＰＰＡＤへ演算を行い、新たな候補となる物理オフセットアドレスＰＰＡＤを生成し、Ｓｔｅｐ２５を再度実行する。Ｓｔｅｐ３４では、現在の物理オフセットアドレスＰＰＡＤへｐ値を加算し、新たな候補となる物理オフセットアドレスＰＰＡＤを求める。Ｓｔｅｐ３４のｐ値はプログラム可能であり、情報処理回路ＭＮＧＥＲが管理する最小データサイズや、不揮発性メモリの構成によって、最適な値を選ぶと良い。本実施の形態では例えばｐ＝８を用いている。Ｓｔｅｐ３３では、情報処理回路ＭＮＧＥＲは、消去回数閾値ＥＲＣｔｈへ、ある値アルファα分だけ加算した新たな消去回数閾値ＥＲＣｔｈを生成し、Ｓｔｅｐ２５を再度実行する。
【０１６７】
Ｓｔｅｐ２６では、Ｓｔｅｐ２５を介して登録対象となった物理オフセットアドレスＰＰＡＤが第１物理アドレス領域ＰＲＮＧ１内のアドレスかどうかをチェックする。登録対象となった物理オフセットアドレスＰＰＡＤが第１物理アドレス領域ＰＲＮＧ１内のアドレスであれば、Ｓｔｅｐ２７を実行し、第１物理アドレス領域ＰＲＮＧ１内のアドレスでなければ（すなわち第２物理アドレス領域ＰＲＮＧ２内のアドレスであれば）Ｓｔｅｐ２８を実行する。
【０１６８】
Ｓｔｅｐ２７では、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１に対して、登録対象となった物理オフセットアドレスＰＰＡＤに前述した物理セグメントアドレス（ＳＧＡＤｍｎ）を含めたアドレスを書込み物理アドレスＮＸＰＡＤとして登録する。また、加えて、当該書込み物理アドレスＮＸＰＡＤの有効フラグＮＸＰＶＬＤ値（ここでは０となる）を登録し、当該書込み物理アドレスＮＸＰＡＤの消去回数（ＰＥＲＣ）値を消去回数ＮＸＰＥＲＣとして登録し、さらに、当該書込み物理アドレスＮＸＰＡＤの現レイヤ番号ＬＹＣに１を加算した値を新レイヤ番号ＮＸＬＹＣとして登録する。書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１には、特に限定しないが、Ｎ／２組の登録が可能であり、エントリー番号ＥＮＵＭの小さな番号から順に登録される。
【０１６９】
レイヤ番号ＬＹＣ（ＮＸＬＹＣ）の最大値は、図３Ｂ等に示すように、チェインメモリアレイＣＹ内に（ｎ＋１）個の相変化メモリセルＣＬ０〜ＣＬｎが含まれる場合、ｎとなる。なお、図９Ａ、図９Ｂの書込み物理アドレステーブルＮＸＰＡＤＴＢＬの例では、レイヤ番号ＮＸＬＹＣ＝“ｎ”となる。レイヤ番号ＬＹＣ（ＮＸＬＹＣ）が最大値ｎに達した際、新しいレイヤ番号ＬＹＣ（ＮＸＬＹＣ）の値は０となる。不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書込みは、この書込み物理アドレステーブルＮＸＰＡＤＴＢＬを用いて行われるため、このように、当該テーブルの更新時にレイヤ番号ＬＹＣ（ＮＸＬＹＣ）を順次シフトさせることで、図１４等で述べた第１動作モードを実現できる。
【０１７０】
Ｓｔｅｐ２８では、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２に対して、登録対象となった物理オフセットアドレスＰＰＡＤに前述した物理セグメントアドレス（ＳＧＡＤｍｎ）を含めたアドレスを書込み物理アドレスＮＸＰＡＤとして登録する。また、加えて、当該書込み物理アドレスＮＸＰＡＤの有効フラグＮＸＰＶＬＤ値（ここでは０となる）を登録し、当該書込み物理アドレスＮＸＰＡＤの消去回数（ＰＥＲＣ）および現在のレイヤ番号ＬＹＣを、消去回数ＮＸＰＥＲＣおよびレイヤ番号ＮＸＬＹＣとして登録する。書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２には、特に限定しないが、Ｎ／２組の登録が可能であり、エントリー番号ＥＮＵＭの小さな番号から順に登録される。なお、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１，ＮＸＰＡＤＴＢＬ２の登録組数は、情報処理回路ＭＮＧＥＲによって任意に設定可能であり、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７への書込み速度が最大となるように設定すると良い。
【０１７１】
次のＳｔｅｐ２９では、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１の全組（全エントリー番号）に対して登録が完了したか否かをチェックする。全組の登録が完了していなければ、Ｓｔｅｐ３２を実行し、全組の登録が完了していれば、Ｓｔｅｐ３０を実行する。次のＳｔｅｐ３０では、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２への全組の登録が完了したか否かをチェックする。全組の登録が完了していなければ、Ｓｔｅｐ３２を実行し、全組の登録が完了していれば、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの更新を完了する（Ｓｔｅｐ３１）。
【０１７２】
このような更新フローを用いると、概略的には、消去回数が最小の物理アドレスを持つ物理アドレスセグメントが定められ（Ｓｔｅｐ２１〜２４）、当該物理アドレスセグメントの中で、当該最小の物理アドレスを起点として、消去回数が所定の閾値以下である物理アドレスが順次抽出される（Ｓｔｅｐ２５、Ｓｔｅｐ３２〜３４）。この際に、抽出数が所定の登録数に満たない場合には（Ｓｔｅｐ３２）、消去回数の閾値を段階的に上げながら（Ｓｔｅｐ３３）、抽出数が所定の登録数を満たすまで（Ｓｔｅｐ３２、Ｓｔｅｐ２９，３０）、同様にして物理アドレスが順次抽出される（Ｓｔｅｐ２５，３４）。これによって、無効状態となっている物理アドレス（すなわち論理アドレスに対して現在割り当てが行われていない物理アドレス）を対象として、消去回数を平準化するためのウエアレベリング（ダイナミックウエアレベリング）が実現可能となる。
【０１７３】
＜不揮発性メモリ装置のアドレス割り付けの詳細＞
図１７Ａは、図１３等の第１物理アドレス領域ＰＲＮＧ１に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。図１７Ｂは、図１３等の第２物理アドレス領域ＰＲＮＧ２に割り当てられる不揮発性メモリ装置において、その論理アドレス、物理アドレス、チップ内アドレスの対応関係の一例を示す図である。
【０１７４】
図１７Ａおよび図１７Ｂには、論理アドレスＬＡＤと、物理アドレスＰＡＤと、物理アドレスＣＰＡＤと、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のチップアドレスＣＨＩＰＡ［２：０］と、各チップ内のバンクアドレスＢＫ［１：０］、ロウアドレスＲＯＷおよびカラムアドレスＣＯＬとの対応関係が示されている。さらに、レイヤ番号ＬＹＣとカラムアドレスＣＯＬとの対応関係、ロウアドレスＲＯＷとワード線ＷＬとの対応関係、カラムアドレスＣＯＬとビット線ＢＬ、チェインメモリアレイ選択線ＳＬおよびメモリセル選択線ＬＹとの対応関係がそれぞれ示されている。
【０１７５】
特に限定しないが、不揮発性メモリＮＶＭ１０〜ＮＶＭ１７は８チップあり、１チップの不揮発性メモリ装置には２本のチェインメモリアレイ選択線ＳＬがあり、１個のチェインメモリアレイＣＹには８個のメモリセルと８本のメモリセル選択線ＬＹがあるものとする。また、１個のメモリバンクＢＫには５２８個のメモリアレイＡＲＹがあり、１個のメモリアレイＡＲＹにて選択されるチェインメモリアレイＣＹは１個であるものとする。つまり、１個のメモリバンクＢＫの中で同時に５２８個のチェインメモリアレイＣＹが選択される。また、メモリバンクは４個である。図１７Ａの第１物理アドレス領域ＰＲＮＧ１では、１個のチェインメモリアレイＣＹ内の８個のメモリセルの中で１個のメモリセルにのみデータを保持するものとし、図１７Ｂの第２物理アドレス領域ＰＲＮＧ２では、１個のチェインメモリアレイＣＹ内の８個のメモリセルの中の８個のメモリセルにデータを保持するものとする。
【０１７６】
図１７Ａおよび図１７Ｂに示すアドレス割り付けは、例えば、図２の情報処理回路ＭＮＧＥＲによって行われる。図１７Ａにおいて、図２の情報処理回路ＭＮＧＥＲは、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書き込む際には、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１（図９Ａ、図９Ｂ）に格納されているレイヤ番号ＮＸＬＹＣ（ＬＹＣ［２：０］）と物理アドレスＮＸＰＡＤ（ＰＡＤ［３１：０］）と、物理アドレスＣＰＡＤ［２：０］を対応付ける。また、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７から読み出す際は、アドレス変換テーブルＬＰＴＢＬ（図１０Ａ）に格納されている物理アドレスＰＡＤ［３１：０］と、物理アドレスＰＡＤのレイヤ番号ＬＹＣ［２：０］と、物理アドレスＣＰＡＤ［２：０］とを対応付ける。
【０１７７】
レイヤ番号ＬＹＣ［２：０］は、カラムアドレスＣＯＬ［２：０］へ対応しており、さらに、カラムアドレスＣＯＬ［２：０］はメモリセル選択線ＬＹ［２：０］へ対応している。レイヤ番号ＬＹＣ［２：０］の値が、メモリセル選択線ＬＹ［２：０］の値となり、レイヤ番号ＬＹＣ［２：０］で指定されたメモリセルへデータが書き込まれ、また、レイヤ番号ＬＹＣ［２：０］で指定されたメモリセルからデータが読み出される。
【０１７８】
物理アドレスＣＰＡＤ［０］は、カラムアドレスＣＯＬ［３］へ対応し、さらに、カラムアドレスＣＯＬ［３］はチェインメモリアレイ選択線ＳＬ［０］へ対応している。物理アドレスＣＰＡＤ［２：１］はカラムアドレスＣＯＬ［５：４］へ対応し、さらに、カラムアドレスＣＯＬ［５：４］はビット線ＢＬ［１：０］へ対応している。物理アドレスＰＡＤ［ｃ＋０：０］はカラムアドレスＣＯＬ［ｃ＋６：６］へ対応し、さらに、カラムアドレスＣＯＬ［ｃ＋６：６］はビット線ＢＬ［ｃ：２］へ対応している。物理アドレスＰＡＤ［ｄ＋ｃ＋１：１］はロウアドレスＲＯＷ［ｄ＋ｃ＋７：７］へ対応し、さらに、ロウアドレスＲＯＷ［ｄ＋ｃ＋７：７］はワード線ＷＬ［ｄ：０］へ対応している。
【０１７９】
物理アドレスＣＰＡＤ［ｄ＋ｃ＋３：ｄ＋ｃ＋２］はバンクアドレスＢＫ［ｄ＋ｃ＋９：ｄ＋ｃ＋８］へ対応し、さらに、バンクアドレスＢＫ［ｄ＋ｃ＋９：ｄ＋ｃ＋８］はバンクアドレスＢＫ［１：０］へ対応している。物理アドレスＣＰＡＤ［ｄ＋ｃ＋６：ｄ＋ｃ＋４］はチップアドレスＢＫ［ｄ＋ｃ＋１２：ｄ＋ｃ＋１０］へ対応し、さらに、チップアドレスＣＨＩＰＡ［ｄ＋ｃ＋１２：ｄ＋ｃ＋１０］はチップアドレスＣＨＩＰＡ［２：０］へ対応している。
【０１８０】
ここで、例えば、５１２バイトのメインデータと１６バイトの冗長データを書き込む場合を想定する。
【０１８１】
前提として、物理アドレスＰＡＤ［ｄ＋ｃ＋６：ｄ＋ｃ＋４］は３、物理アドレスＰＡＤ［ｄ＋ｃ＋３：ｄ＋ｃ＋２］は２、物理アドレスＰＡＤ［ｄ＋ｃ＋１：ｃ＋１］は８、物理アドレスＣＰＡＤ［ｃ＋０：０］は０、物理アドレスＣＰＡＤ［２：１］は０、物理アドレスＣＰＡＤ［０］は０、レイヤ番号ＬＹＣ［２：０］は０であるものとする。この場合、図２の情報処理回路ＭＮＧＥＲは、レイヤ番号ＬＹＣの値および物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスへ５２８ビットずつデータを書込み、合計５２８バイトのデータを書き込む。また、同様の前提で、５１２バイトのメインデータと１６バイトの冗長データを読み出す際、図２の情報処理回路ＭＮＧＥＲは、レイヤ番号ＬＹＣの値および物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスから５２８ビットずつデータを読み出し、合計５２８バイトのデータを読み出す。
【０１８２】
すなわち、この例の場合、図３Ａにおいて、各メモリアレイＡＲＹ０〜ＡＲＹ５２７毎に１本のワード線ＷＬに対して４本のビット線ＢＬが順に選択されると共に、図３Ｂに示すように、ワード線ＷＬとビット線ＢＬの各交点に位置し、チェインメモリアレイ選択線ＳＬによって選択される２個のチェインメモリアレイＣＹが選択されることになる。ただし、この際に、各チェインメモリアレイＣＹ内で選択される相変化メモリセルは１個である。
【０１８３】
一方、図１７Ｂにおいて、図２の情報処理回路ＭＮＧＥＲは、データを不揮発性メモリＮＶＭ１０〜ＮＶＭ１７へ書き込む際は、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２に格納されている物理アドレスＮＸＰＡＤ（ＰＡＤ［３１：０］）および物理アドレスＣＰＡＤ［２：０］と不揮発性メモリＮＶＭ１０〜ＮＶＭ１７のアドレスとを対応付ける。また、データを不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７から読み出す際は、アドレス変換テーブルＬＰＴＢＬに格納されている物理アドレスＰＡＤ［３１：０］および物理アドレスＣＰＡＤ［２：０］と不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７のアドレスとを対応つける。
【０１８４】
物理アドレスＣＰＡＤ［２：０］はカラムアドレスＣＯＬ［２：０］へ対応しており、さらに、カラムアドレスＣＯＬ［２：０］はメモリセル選択線ＬＹ［２：０］へ対応している。物理アドレスＣＰＡＤ［２：０］の値はメモリセル選択線ＬＹ［２：０］の値となり、物理アドレスＣＰＡＤ［２：０］で指定されたメモリセルへデータが書き込まれ、また、物理アドレスＣＰＡＤ［２：０］で指定されたメモリセルからデータが読み出される。
【０１８５】
物理アドレスＰＡＤ［０］はカラムアドレスＣＯＬ［３］へ対応し、さらに、カラムアドレスＣＯＬ［３］はチェインメモリアレイ選択線ＳＬ［０］へ対応している。物理アドレスＰＡＤ［ａ＋１：１］はカラムアドレスＣＯＬ［ａ＋１：１］へ対応し、さらに、カラムアドレスＣＯＬ［ａ＋１：１］はビット線ＢＬ［ａ：０］へ対応している。物理アドレスＰＡＤ［ｂ＋ａ＋２：２］はロウアドレスＲＯＷ［ｂ＋ａ＋２：２］へ対応し、さらに、ロウアドレスＲＯＷ［ｂ＋ａ＋２：２］はワード線ＷＬ［ｂ：０］へ対応している。
【０１８６】
物理アドレスＰＡＤ［ｂ＋ａ＋４：ｂ＋ａ＋３］はバンクアドレスＢＫ［ｂ＋ａ＋４：ｂ＋ａ＋３］へ対応し、さらに、バンクアドレスＢＫ［ｂ＋ａ＋４：ｂ＋ａ＋３］はバンクアドレスＢＫ［１：０］へ対応している。物理アドレスＰＡＤ［ｂ＋ａ＋７：ｂ＋ａ＋５］はチップアドレスＢＫ［ｂ＋ａ＋７：ｂ＋ａ＋５］へ対応し、さらに、チップアドレスＣＨＩＰＡ［ｂ＋ａ＋７：ｂ＋ａ＋５］はチップアドレスＣＨＩＰＡ［２：０］へ対応している。
【０１８７】
ここで、例えば、５１２バイトのメインデータと１６バイトの冗長データを書き込む場合を想定する。前提として、物理アドレスＰＡＤ［ｂ＋ａ＋７：ｂ＋ａ＋５］は３、物理アドレスＰＡＤ［ｂ＋ａ＋４：ｂ＋ａ＋３］は２、物理アドレスＰＡＤ［ｂ＋ａ＋２：ａ＋２］は８、物理アドレスＰＡＤ［ａ＋１：１］は０、物理アドレスＰＡＤ［０］は０、物理アドレスＣＰＡＤ［２：０］は０であるものとする。
【０１８８】
この場合、図２の情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスへ５２８ビットずつデータを書込み、合計５２８バイトのデータを書き込む。同様の前提で５１２バイトのメインデータと１６バイトの冗長データを読み出す際、図２の情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの値は変化させず、物理アドレスＣＰＡＤ［２：０］値を０〜７まで＋１ずつ変化させ、それぞれのアドレスから５２８ビットずつデータを読み出し、合計５２８バイトのデータを読み出す。
【０１８９】
すなわち、この例の場合、図３Ａにおいて、各メモリアレイＡＲＹ０〜ＡＲＹ５２７毎に１本のワード線ＷＬに対して１本のビット線ＢＬが選択されると共に、図３Ｂに示すように、ワード線ＷＬとビット線ＢＬの各交点に位置し、チェインメモリアレイ選択線ＳＬによって選択される２個のチェインメモリアレイＣＹ中の１個が選択されることになる。ただし、この際に、各チェインメモリアレイＣＹ内で選択される相変化メモリセルは８個である。
【０１９０】
図１７Ｃは、図２の情報処理回路ＭＮＧＥＲが不揮発性メモリ装置にデータ書込みやデータ読み出しを行う際の物理アドレスＰＡＤおよび物理アドレスＣＰＡＤの変化の様子の一例を示す図である。まず、情報処理回路ＭＮＧＥＲは、セクタカウントＳＥＣ、物理アドレスＰＡＤおよび物理アドレスＣＰＡＤ（＝０）を決定し、変数ｑを０に設定した後（Ｓｔｅｐ４１）、この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスかどうかをチェックする（Ｓｔｅｐ４２）。この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスではない場合は、Ｓｔｅｐ４８を実行する。また、この物理アドレスＰＡＤが第１物理アドレス領域ＰＲＮＧ１内の物理アドレスあれば、図１７Ａで示すアドレス変換を行い（Ｓｔｅｐ４３）、不揮発性メモリ装置へのデータ書込みやデータ読み出しを行う（Ｓｔｅｐ４４）。
【０１９１】
次に、情報処理回路ＭＮＧＥＲは、変数ｑの値がｎ以上であるかをチェックし（Ｓｔｅｐ４５）、変数ｑの値がｎより小さい場合は、物理アドレスＣＰＡＤへ１を加算した新たな物理アドレスＣＰＡＤを求め（Ｓｔｅｐ４７）、再度、Ｓｔｅｐ４３を実行し、その後Ｓｔｅｐ４４を実行する。変数ｑの値がｎ以上の場合は、セクタカウントＳＥＣを１つずつ減少させ、さらに変数ｑの値を０に設定し（Ｓｔｅｐ４６）、次にＳｔｅｐ５１を実行する。Ｓｔｅｐ５１では、セクタカウントＳＥＣ値が０以下であるかをチェックし、セクタカウントＳＥＣ値が０以下では無い場合、物理アドレスＰＡＤへ１を加算した新たな物理アドレスＰＡＤを求め（Ｓｔｅｐ５２）、再度、Ｓｔｅｐ４２へ戻り、処理を続ける。セクタカウントＳＥＣ値が０以下であればデータ書込みやデータ読み出しを完了する（Ｓｔｅｐ５３）。
【０１９２】
Ｓｔｅｐ４７で物理アドレスＣＰＡＤへ１を加算した場合には、図１７Ａから分かるように、チェインメモリアレイ選択線ＳＬまたはビット線ＢＬ（すなわちチェインメモリアレイＣＹの位置）が変わることになる。
【０１９３】
Ｓｔｅｐ４８では、情報処理回路ＭＮＧＥＲは、図１７Ｂで示すアドレス変換を行い（Ｓｔｅｐ４８）、不揮発性メモリ装置へのデータ書込みやデータ読み出しを行う（Ｓｔｅｐ４９）。次に、変数ｑの値がｒ以上であるかをチェックし（Ｓｔｅｐ５０）、変数ｑの値がｒより小さい場合は、物理アドレスＣＰＡＤへ１を加算した新たな物理アドレスＣＰＡＤを求め（Ｓｔｅｐ４７）、再度、Ｓｔｅｐ４８を実行し、その後Ｓｔｅｐ４９を実行する。変数ｑの値がｒ以上の場合は、Ｓｔｅｐ４６以降を実行する。
【０１９４】
Ｓｔｅｐ４７で物理アドレスＣＰＡＤへ１を加算した場合には、図１７Ｂから分かるように、メモリセル選択線ＬＹ（すなわちチェインメモリアレイＣＹ内のメモリセルの位置）が変わることになる。
【０１９５】
なお、Ｓｔｅｐ４５のｎ値や、Ｓｔｅｐ５０のｒ値は、プログラム可能であり、情報処理回路ＭＮＧＥＲが管理する最小データサイズや、不揮発性メモリ装置の構成によって、最適な値を選ぶと良い。本実施の形態では例えばｎ＝ｒ＝７を用いている。
【０１９６】
＜アドレス変換テーブルおよび不揮発性メモリ装置の更新動作例＞
図１８Ａおよび図１８Ｂは、図１の制御回路ＭＤＬＣＴ０が不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へデータを書き込む際のアドレス変換テーブルＬＰＴＢＬの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。アドレス変換テーブルＬＰＴＢＬは、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力された論理アドレスＬＡＤを不揮発性メモリ装置の物理アドレスＰＡＤへ転換するためのテーブルである。
【０１９７】
アドレス変換テーブルＬＰＴＢＬは、論理アドレスＬＡＤに対応した物理アドレスＰＡＤと、当該物理アドレスの有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣから構成される。また、このアドレス変換テーブルＬＰＴＢＬはランダムアクセスメモリＲＡＭへ格納される。不揮発性メモリ装置には、物理アドレスＰＡＤに対応したデータＤＡＴＡと、論理アドレスＬＡＤと、データ有効フラグＤＶＦと、レイヤ番号ＬＹＣが格納される。
【０１９８】
図１８Ａには、時間Ｔ０より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ論理アドレス領域ＬＲＮＧ１へのライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３が入力されたあとの状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へ書き込まれた後の時間Ｔ１におけるアドレス変換テーブルＬＰＴＢＬ及び不揮発性メモリ装置が格納するアドレス、データおよび有効フラグおよびレイヤ番号ＬＹＣが示されている。
【０１９９】
ライトリクエストＷＱ０には論理アドレス値（ＬＡＤ＝０）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ０）が含まれる。ライトリクエストＷＱ１には論理アドレス値（ＬＡＤ＝１）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ１）が含まれる。ライトリクエストＷＱ２には論理アドレス値（ＬＡＤ＝２）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ２）が含まれる。ライトリクエストＷＱ３には論理アドレス値（ＬＡＤ＝３）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ３）が含まれる。ライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３が制御回路ＭＤＬＣＴ０へ入力された際は、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。
【０２００】
次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、ＷＱ１、ＷＱ２及びＷＱ３の論理アドレス値（ＬＡＤ）がそれぞれ０、１、２および３であるため、これらに応じた情報を、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬからそれぞれ読み出す。すなわち、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの０番地、１番地、２番地および３番地から物理アドレス（ＰＡＤ）値、有効フラグ（ＣＰＶＬＤ）値およびレイヤ番号ＬＹＣを読みだす。
【０２０１】
最初は、図１０Ａに示したように、読み出された全ての有効フラグ（ＣＰＶＬＤ）値は０であるため、論理アドレスＬＡＤの０番地、１番地、２番地および３番地には物理アドレスＰＡＤが割り当てられていないことがわかる。次に、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１のエントリー番号ＥＮＵＭの０番から３番までに格納されている書込み物理アドレス値（ＮＸＰＡＤ）およびレイヤ番号ＮＸＬＹＣを読み出し、論理アドレスＬＡＤの０番地、１番地、２番地および３番地にそれぞれ割り当てる。この例では、エントリー番号ＥＮＵＭの０番から３番までに格納された書込み物理アドレス値（ＮＸＰＡＤ）は、それぞれ１０進数で０、１、２、３であり、レイヤ番号ＮＸＬＹＣは、それぞれ０、０、０、０であるものとする。
【０２０２】
次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、１、２および３のそれぞれの書込みデータＤＡＴＡ０、１、２および３に対するＥＣＣコードＥＣＣ０、１、２および３を生成し、図１２Ａに示すデータフォーマットに従い不揮発性メモリ装置への書込みデータＷＤＡＴＡ０、１、２および３を生成する。すなわち、書込みデータＷＤＡＴＡ０は、書込みデータ（ＤＡＴＡ０）からなるメインデータＭＤＡＴＡ０とそれに対応する冗長データＲＤＡＴＡ０から構成され、書込みデータＷＤＡＴＡ１は、書込みデータ（ＤＡＴＡ１）からなるメインデータＭＤＡＴＡ１とそれに対応する冗長データＲＤＡＴＡ１から構成される。同様に、書込みデータＷＤＡＴＡ２は、書込みデータ（ＤＡＴＡ２）からなるメインデータＭＤＡＴＡ２とそれに対応する冗長データＲＤＡＴＡ２から構成され、書込みデータＷＤＡＴＡ３は、書込みデータ（ＤＡＴＡ３）からなるメインデータＭＤＡＴＡ３とそれに対応する冗長データＲＤＡＴＡ３から構成される。
【０２０３】
情報処理回路ＭＮＧＥＲにより、書込みデータＷＤＡＴＡ０、１、２および３は、不揮発性メモリ装置の４つの物理アドレスへそれぞれ書き込まれる。冗長データＲＤＡＴＡ０、１、２および３には、それぞれＥＣＣコードＥＣＣ０、１、２および３が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、データ書込みレイヤ情報値（ＬＹＮ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２０４】
なお、論理アドレス領域ＬＲＮＧ１へのライトリクエストであれば、エリア情報値（ＡＲＥＡ）は１となり、論理アドレス領域ＬＲＮＧ２へのライトリクエストであれば、エリア情報値（ＡＲＥＡ）は２となる。また、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１から読み出したレイヤ番号ＮＸＬＹＣ値が０（実際には“１０”）の場合、データ書込みレイヤ情報ＬＹＮ［ｎ：０］の中の、ＬＹＮ［ｎ：１］が０、ＬＹＮ［０］が１となり、チェインメモリアレイＣＹ内の相変化メモリセルＣＬ０へデータが書きこまれることを示す。
【０２０５】
さらに、情報処理回路ＭＮＧＥＲは、書込み物理アドレス値（ＮＸＰＡＤ）の１０進数で０、１、２および３に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書込みを行う。すなわち、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの０番地へは、ライトリクエストＷＱ０に対応する書込みデータＷＤＡＴＡ０、論理アドレス値（ＬＡＤ＝０）、およびレイヤ番号（ＬＹＣ＝０）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの１番地へは、ライトリクエストＷＱ１に対応する書込みデータＷＤＡＴＡ１、論理アドレス値（ＬＡＤ＝１）、およびレイヤ番号（ＬＹＣ＝０）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、物理アドレスＰＡＤの２番地へは、書込みデータＷＤＡＴＡ２、論理アドレス値（ＬＡＤ＝２）、データ有効フラグ（ＤＶＦ＝１）、レイヤ番号（ＬＹＣ＝０）を書込み、物理アドレスＰＡＤの３番地へは、書込みデータＷＤＡＴＡ３、論理アドレス値（ＬＡＤ＝３）、データ有効フラグ（ＤＶＦ＝１）、レイヤ番号（ＬＹＣ＝０）を書き込む。
【０２０６】
最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを更新する。すなわち、論理アドレスＬＡＤの０番地へは割り当て後の物理アドレス（ＰＡＤ＝０）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書込み、論理アドレスＬＡＤの１番地へは割り当て後の物理アドレス（ＰＡＤ＝２）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込む。論理アドレスＬＡＤの２番地へは割り当て後の物理アドレス（ＰＡＤ＝２）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書込み、論理アドレスＬＡＤの３番地へは割り当て後の物理アドレス（ＰＡＤ＝３）、有効フラグ（ＣＰＶＬＤ＝１）およびレイヤ番号（ＬＹＣ＝０）を書き込む。
【０２０７】
図１８Ｂには、時間Ｔ１より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が入力された後の状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第１物理アドレス領域ＰＲＮＧ１へ書き込まれた後の時間Ｔ２において、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２０８】
ライトリクエストＷＱ４には、論理アドレス値（ＬＡＤ＝０）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ４）が含まれる。ライトリクエストＷＱ５には、論理アドレス値（ＬＡＤ＝１）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ５）が含まれる。ライトリクエストＷＱ６には、論理アドレス値（ＬＡＤ＝４）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ６）が含まれる。ライトリクエストＷＱ７には、論理アドレス値（ＬＡＤ＝５）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ７）が含まれる。ライトリクエストＷＱ８には、論理アドレス値（ＬＡＤ＝２）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ８）が含まれる。ライトリクエストＷＱ９には、論理アドレス値（ＬＡＤ＝３）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ９）が含まれる。ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が制御回路ＭＤＬＣＴ０へ入力された際には、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。
【０２０９】
次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、図１２Ａに示すデータフォーマットに従い、ライトリクエストＷＱ４、５、６、７、８および９にそれぞれ対応する書込みデータＷＤＡＴＡ４、５、６、７、８および９を生成する。書込みデータＷＤＡＴＡ４は、書込みデータＤＡＴＡ４からなるメインデータＭＤＡＴＡ４と冗長データＲＤＡＴＡ４から構成され、書込みデータＷＤＡＴＡ５は書込みデータＤＡＴＡ５からなるメインデータＭＤＡＴＡ５と冗長データＲＤＡＴＡ５から構成される。書込みデータＷＤＡＴＡ６は書込みデータＤＡＴＡ６からなるメインデータＭＤＡＴＡ６と冗長データＲＤＡＴＡ６から構成され、書込みデータＷＤＡＴＡ７は書込みデータＤＡＴＡ７からなるメインデータＭＤＡＴＡ７と冗長データＲＤＡＴＡ７から構成される。書込みデータＷＤＡＴＡ８は書込みデータＤＡＴＡ８からなるメインデータＭＤＡＴＡ８と冗長データＲＤＡＴＡ８から構成され、書込みデータＷＤＡＴＡ９は書込みデータＤＡＴＡ９からなるメインデータＭＤＡＴＡ９と冗長データＲＤＡＴＡ９から構成される。
【０２１０】
冗長データＲＤＡＴＡ４、５、６、７、８および９には、それぞれ、書込みデータＤＡＴＡ４、５、６、７、８および９を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ４、５、６、７、８および９が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２１１】
情報処理回路ＭＮＧＥＲにより、書込みデータＷＤＡＴＡ４、５、６、７、８および９は、不揮発性メモリ装置の６つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ４、５、６、７、８および９の論理アドレス値（ＬＡＤ）がそれぞれ０、１、４、５、２および３であるため、これらに応じた情報を、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬからそれぞれ読み出す。すなわち、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの０番地、１番地、４番地、５番地、２番地および３番地から、それぞれ物理アドレス値（ＰＡＤ）、有効フラグ値（ＣＰＶＬＤ）およびレイヤ番号ＬＹＣを読みだす。
【０２１２】
図１８Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの０番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの０番地へのライトリクエストＷＱ４に伴い既に書き込まれている物理アドレスＰＡＤの０番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置における物理アドレスＰＡＤの０番地の有効フラグ値（ＤＶＦ）を０に設定する（図１８Ａの１０１→図１８Ｂの１１１）。同様に、図１８Ａにおいて、論理アドレスＬＡＤの１番地の物理アドレス値（ＰＡＤ）は１、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、ライトリクエストＷＱ５に伴い物理アドレスＰＡＤの１番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの１番地の有効フラグ値（ＤＶＦ）を０に設定する（図１８Ａの１０２→図１８Ｂの１１２）。
【０２１３】
また、図１８Ａのアドレス変換テーブルＬＰＴＢＬにおいて、ライトリクエストＷＱ６に伴う論理アドレスＬＡＤの４番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの４番地には、物理アドレスＰＡＤが割り当てられていないことがわかる。同様に、図１８Ａにおいて、ライトリクエストＷＱ７に伴う論理アドレスＬＡＤの５番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの５番地には、物理アドレスＰＡＤが割り当てられていないことがわかる。
【０２１４】
一方、図１８Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの２番地の物理アドレス値（ＰＡＤ）は２、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、論理アドレスＬＡＤの２番地へのライトリクエストＷＱ８に伴い既に書き込まれている物理アドレスＰＡＤの２番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの２番地の有効フラグ値（ＤＶＦ）を０に設定する（図１８Ａの１０３→図１８Ｂの１１３）。同様に、図１８Ａにおいて、論理アドレスＬＡＤの３番地の物理アドレス値（ＰＡＤ）は３、有効フラグ値（ＣＰＶＬＤ）は１、レイヤ番号ＬＹＣは０であり、ライトリクエストＷＱ９に伴い物理アドレスＰＡＤの３番地のデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの６番地の有効フラグ値（ＤＶＦ）を０に設定する（図１８Ａの１０４→図１８Ｂの１１４）。
【０２１５】
次に、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１のエントリー番号ＥＮＵＭの４番から９番までに格納されている書込み物理アドレス値（ＮＸＰＡＤ）およびレイヤ番号ＮＸＬＹＣを読み出し、論理アドレスＬＡＤの０番地、１番地、４番地、５番地、２番地および３番地にそれぞれ割り当てる。この例では、エントリー番号ＥＮＵＭの４番から９番までに格納された書込み物理アドレス値（ＮＸＰＡＤ）は、それぞれ４、５、６、７、８および９であり、レイヤ番号ＮＸＬＹＣは、それぞれ１、１、１、１、１および１であるものとする。
【０２１６】
続いて、情報処理回路ＭＮＧＥＲは、書込み物理アドレス値（ＮＸＰＡＤ）の４、５、６、７、８および９に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書込みを行う。すなわち、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの４番地へは、ライトリクエストＷＱ４に対応する書込みデータＷＤＡＴＡ４、論理アドレス値（ＬＡＤ＝０）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの５番地へは、ライトリクエストＷＱ５に対応する書込みデータＷＤＡＴＡ５、論理アドレス値（ＬＡＤ＝１）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２１７】
また、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの６番地へは、ライトリクエストＷＱ６に対応する書込みデータＷＤＡＴＡ６、論理アドレス値（ＬＡＤ＝４）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの７番地へは、ライトリクエストＷＱ７に対応する書込みデータＷＤＡＴＡ７、論理アドレス値（ＬＡＤ＝５）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２１８】
さらに、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの８番地へは、ライトリクエストＷＱ８に対応する書込みデータＷＤＡＴＡ８、論理アドレス値（ＬＡＤ＝２）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。同様に、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの９番地へは、ライトリクエストＷＱ９に対応する書込みデータＷＤＡＴＡ９、論理アドレス値（ＬＡＤ＝３）、およびレイヤ番号（ＬＹＣ＝１）を書込み、データ有効フラグ（ＤＶＦ）値として１を書き込む。
【０２１９】
図１９Ａおよび図１９Ｂは、図１の制御回路ＭＤＬＣＴ０が不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へデータを書き込む際のアドレス変換テーブルＬＰＴＢＬの更新方法および不揮発性メモリ装置のデータ更新方法の一例を示す図である。ここでは、図１８Ａおよび図１８Ｂの場合と同様に、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置ＮＶＭの状態が示されている。アドレス変換テーブルＬＰＴＢＬは、論理アドレスＬＡＤに対応した物理アドレスＰＡＤと、当該物理アドレスの有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣから構成される。また、このアドレス変換テーブルＬＰＴＢＬはランダムアクセスメモリＲＡＭへ格納される。不揮発性メモリ装置には、物理アドレスＰＡＤに対応したデータＤＡＴＡと、論理アドレスＬＡＤと、データ有効フラグＤＶＦと、レイヤ番号ＬＹＣが格納される。ここでは、レイヤ番号ＬＹＣは、全て“０”であるため図面からは省略している。
【０２２０】
図１９Ａは、時間Ｔ０より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ、論理アドレス領域ＬＲＮＧ２へのライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３が入力された後の状態が示されている。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へ書き込まれた後の時間Ｔ１における、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２２１】
ライトリクエストＷＱ０には、１６進数で論理アドレス値（ＬＡＤ＝“８０００００”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ０）が含まれる。ライトリクエストＷＱ１には、１６進数で論理アドレス値（ＬＡＤ＝“８００００１”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ１）が含まれる。ライトリクエストＷＱ２には、１６進数で論理アドレス値（ＬＡＤ＝“８００００２”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ２）が含まれる。ライトリクエストＷＱ３には、１６進数で論理アドレス値（ＬＡＤ＝“８００００３”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ３）が含まれる。
【０２２２】
ライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３が制御回路ＭＤＬＣＴ０へ入力された際、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ０、ＷＱ１、ＷＱ２およびＷＱ３を順に読み出す。この際に、情報処理回路ＭＮＧＥＲは、メモリ制御装置ＲＡＭＣを通じてランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬを参照し、ライトリクエストＷＱ０、１、２および３に対応する各種情報を読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地からそれぞれ物理アドレス値（ＰＡＤ）および有効フラグＣＰＶＬＤを読み出す。
【０２２３】
最初は、図１０Ａのように読み出された全ての有効フラグＣＰＶＬＤは０であるため、論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地には物理アドレスＰＡＤが割り当てられていないことが分かる。次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０、１、２および３に対応して、図１２Ａに示すデータフォーマットに従い、不揮発性メモリ装置への書込みデータＷＤＡＴＡ０、１、２および３を生成する。書込みデータＷＤＡＴＡ０は、書込みデータＤＡＴＡ０からなるメインデータＭＤＡＴＡ０とその冗長データＲＤＡＴＡ０から構成され、書込みデータＷＤＡＴＡ１は書込みデータＤＡＴＡ１からなるメインデータＭＤＡＴＡ１とその冗長データＲＤＡＴＡ１から構成される。書込みデータＷＤＡＴＡ２は書込みデータＤＡＴＡ２からなるメインデータＭＤＡＴＡ２とその冗長データＲＤＡＴＡ２から構成され、書込みデータＷＤＡＴＡ３は書込みデータＤＡＴＡ３からなるメインデータＭＤＡＴＡ３とその冗長データＲＤＡＴＡ３から構成される。
【０２２４】
冗長データＲＤＡＴＡ０、１、２および３には、それぞれ、書込みデータＤＡＴＡ０、１、２および３を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ０、１、２および３が含まれる。さらに共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２２５】
情報処理回路ＭＮＧＥＲにより、書込みデータＷＤＡＴＡ０、１、２および３は、不揮発性メモリ装置の４つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ０〜ＷＱ３に応じて書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２のエントリー番号ＥＮＵＭの例えば１６番から１９番までに格納されている書込み物理アドレスＮＸＰＡＤを読み出し、それらを各論理アドレスに割り当てる。ここでは、当該書込み物理アドレス値（ＮＸＰＡＤ）が、それぞれ、“２８０００００”、“２８００００１”、“２８００００２”および“２８００００３”であるものとして、情報処理回路ＭＮＧＥＲは、これらを、論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００２”番地および“８００００３”番地にそれぞれ割り当てる。
【０２２６】
さらに、情報処理回路ＭＮＧＥＲは、当該書込み物理アドレス値（ＮＸＰＡＤ）に従い、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書込みを行う。具体的には、不揮発性メモリ装置の物理アドレスＰＡＤの“２８０００００”番地へはライトリクエストＷＱ０に対応する書込みデータＷＤＡＴＡ０、論理アドレス値（ＬＡＤ＝“８０００００”）を書込み、データ有効フラグＤＶＦとして１を書き込む。不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００１”番地へはライトリクエストＷＱ１に対応する書込みデータＷＤＡＴＡ１、論理アドレス値（ＬＡＤ＝“８００００１”）を書込み、データ有効フラグＤＶＦとして１を書き込む。
【０２２７】
また、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００２”番地へはライトリクエストＷＱ２に対応する書込みデータＷＤＡＴＡ２、論理アドレス値（ＬＡＤ＝“８００００２”）を書込み、データ有効フラグＤＶＦとして１を書き込む。同様に、不揮発性メモリ装置の物理アドレスＰＡＤの“２８００００３”番地へはライトリクエストＷＱ３に対応する書込みデータＷＤＡＴＡ３、論理アドレス値（ＬＡＤ＝“８００００３”）を書込み、データ有効フラグＤＶＦとして１を書き込む。
【０２２８】
最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じ、ランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを更新する。具体的には、アドレス変換テーブルＬＰＴＢＬにおける論理アドレスＬＡＤの“８０００００”番地へは、物理アドレス値（ＰＡＤ＝“２８０００００”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。また、論理アドレスＬＡＤの“８００００１”番地へは物理アドレス値（ＰＡＤ＝“２８００００１”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。同様に、論理アドレスＬＡＤの“８００００２”番地へは物理アドレス値（ＰＡＤ＝“２８００００２”）および有効フラグ値（ＣＰＶＬＤ＝１）を書込み、論理アドレスＬＡＤの“８００００３”番地へは物理アドレス値（ＰＡＤ＝“２８００００３”）および有効フラグ値（ＣＰＶＬＤ＝１）を書き込む。
【０２２９】
図１９Ｂには、時間Ｔ１より後に、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ、ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が入力された後の状態が示される。具体的には、これらのライトリクエストのデータが不揮発性メモリ装置の第２物理アドレス領域ＰＲＮＧ２へ書き込まれた後の時間Ｔ２における、アドレス変換テーブルＬＰＴＢＬおよび不揮発性メモリ装置に格納されるアドレス、データおよび有効フラグが示されている。
【０２３０】
ライトリクエストＷＱ４には、論理アドレス値（ＬＡＤ＝“８０００００”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ４）が含まれる。ライトリクエストＷＱ５には、論理アドレス値（ＬＡＤ＝“８００００１”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ５）が含まれる。ライトリクエストＷＱ６には、論理アドレス値（ＬＡＤ＝“８００００４”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ６）が含まれる。ライトリクエストＷＱ７には論理アドレス値（ＬＡＤ＝“８００００５”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ７）が含まれる。ライトリクエストＷＱ８には、論理アドレス値（ＬＡＤ＝“８００００２”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ８）が含まれる。ライトリクエストＷＱ９には、論理アドレス値（ＬＡＤ＝“８００００３”）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、書込みデータ（ＤＡＴＡ９）が含まれる。
【０２３１】
ライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９が制御回路ＭＤＬＣＴ０へ入力された際、インターフェース回路ＨＯＳＴ＿ＩＦは、これらのライトリクエストをバッファＢＵＦ０へ転送する。次に、情報処理回路ＭＮＧＥＲは、バッファＢＵＦ０へ格納されているライトリクエストＷＱ４、ＷＱ５、ＷＱ６、ＷＱ７、ＷＱ８およびＷＱ９を順に読み出す。続いて、情報処理回路ＭＮＧＥＲは、図１２Ａに示すデータフォーマットに従い、ライトリクエストＷＱ４、５、６、７、８および９にそれぞれ対応する不揮発性メモリ装置への書込みデータＷＤＡＴＡ４、５、６、７、８および９を生成する。
【０２３２】
書込みデータＷＤＡＴＡ４は、書込みデータＤＡＴＡ４からなるメインデータＭＤＡＴＡ４とその冗長データＲＤＡＴＡ４から構成され、書込みデータＷＤＡＴＡ５は、書込みデータＤＡＴＡ５からなるメインデータＭＤＡＴＡ５とその冗長データＲＤＡＴＡ５から構成される。書込みデータＷＤＡＴＡ６は、書込みデータＤＡＴＡ６からなるメインデータＭＤＡＴＡ６とその冗長データＲＤＡＴＡ６から構成され、書込みデータＷＤＡＴＡ７は、書込みデータＤＡＴＡ７からなるメインデータＭＤＡＴＡ７とその冗長データＲＤＡＴＡ７から構成される。書込みデータＷＤＡＴＡ８は、書込みデータＤＡＴＡ８からなるメインデータＭＤＡＴＡ８とその冗長データＲＤＡＴＡ８から構成され、書込みデータＷＤＡＴＡ９は、書込みデータＤＡＴＡ９からなるメインデータＭＤＡＴＡ９とその冗長データＲＤＡＴＡ９から構成される。
【０２３３】
冗長データＲＤＡＴＡ４、５、６、７、８および９には、それぞれ、書込みデータＤＡＴＡ４、５、６、７、８および９を用いて情報処理回路ＭＮＧＥＲによって生成されたＥＣＣコードＥＣＣ４、５、６、７、８および９が含まれる。さらに、共通に、データ反転フラグ値（ＩＮＶＦＬＧ＝０）、ライトフラグ値（ＷＴＦＬＧ＝０）、ＥＣＣフラグ値（ＥＣＣＦＬＧ＝０）、ステート情報値（ＳＴＡＴＥ＝１）、エリア情報値（ＡＲＥＡ＝１）、バッドブロック情報値（ＢＡＤＢＬＫ＝０）、予備領域値（ＲＳＶ＝０）が含まれる。
【０２３４】
情報処理回路ＭＮＧＥＲにより、書込みデータＷＤＡＴＡ４、５、６、７、８および９は、不揮発性メモリ装置の６つの物理アドレスへそれぞれ書き込まれる。この際に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じてランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを参照し、ライトリクエストＷＱ４、５、６、７、８および９に対応する各種情報をそれぞれ読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬの論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００４”番地、“８００００５”番地、“８００００２”番地および“８００００３”番地から、それぞれ物理アドレスＰＡＤおよび有効フラグＣＰＶＬＤを読み出す。
【０２３５】
図１９Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの“８０００００”番地の物理アドレス値（ＰＡＤ）は“２８０００００”、有効フラグ値（ＣＰＶＬＤ）は１であり、論理アドレスＬＡＤの“８０００００”番地へのライトリクエストＷＱ４に伴い、既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８０００００”番地の有効フラグＤＶＦを０に設定する（図１９Ａの２０１→図１９Ｂの２１１）。同様に、図１９Ａの論理アドレスＬＡＤの“８００００１”番地の物理アドレス値（ＰＡＤ）は“２８００００１”、有効フラグ値（ＣＰＶＬＤ）は１であり、ライトリクエストＷＱ５に伴い、既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００１”番地の有効フラグＤＶＦを０に設定する（図１９Ａの２０２→図１９Ｂの２１２）。
【０２３６】
一方、図１９Ａのアドレス変換テーブルＬＰＴＢＬにおいて、ライトリクエストＷＱ６に伴う論理アドレスＬＡＤの“８００００４”番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０であり、論理アドレスＬＡＤ“８００００４”番地には、物理アドレスＰＡＤが割り当てられていないことが分かる。同様に、ライトリクエストＷＱ７に伴う論理アドレスＬＡＤの“８００００５”番地の物理アドレス値（ＰＡＤ）は０、有効フラグ値（ＣＰＶＬＤ）は０であり、論理アドレスＬＡＤの“８００００５”番地には、物理アドレスＰＡＤが割り当てられていないことが分かる。
【０２３７】
また、図１９Ａのアドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの“８００００２”番地の物理アドレス値（ＰＡＤ）は“２８００００２”、有効フラグ値（ＣＰＶＬＤ）は１であり、論理アドレスＬＡＤの“８００００２”番地へのライトリクエストＷＱ８に伴い既に書き込まれている物理アドレスを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００２”番地の有効フラグ値（ＤＶＦ）を０に設定する（図１９Ａの２０３→図１９Ｂの２１３）。同様に、図１９Ａにおける論理アドレスＬＡＤの“８００００３”番地の物理アドレス値（ＰＡＤ）は“２８００００３”、有効フラグ値（ＣＰＶＬＤ）は１であり、ライトリクエストＷＱ９に伴い既に書き込まれている物理アドレスのデータを無効にする必要がある。そこで、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤの“２８００００３”番地の有効フラグ値（ＤＶＦ）を０に設定する（図１９Ａの２０４→図１９Ｂの２１４）。
【０２３８】
次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ４〜ＷＱ９に応じて書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２のエントリー番号ＥＮＵＭの２０番から２５番までに格納されている書込み物理アドレスＮＸＰＡＤを読み出し、それらを各論理アドレスに割り当てる。ここでは、当該書込み物理アドレス値（ＮＸＰＡＤ）が、それぞれ“２８００００４”、“２８００００５”、“２８００００６”、“２８００００７”、“２８００００８”および“２８００００９”であるものとする。そして、それらが論理アドレスＬＡＤの“８０００００”番地、“８００００１”番地、“８００００４”番地、“８００００５”番地、“８００００２”番地および“８００００３”番地にそれぞれ割り当てられる。
【０２３９】
続いて、情報処理回路ＭＮＧＥＲは、これらの物理アドレスの割り当てに従って、調停回路ＡＲＢおよびメモリ制御回路ＮＶＣＴ１０〜ＮＶＣＴ１７を通じて不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７に書込みを行う。具体的には、不揮発性メモリ装置ＮＶＭの物理アドレスＰＡＤの“２８００００４”番地へはライトリクエストＷＱ４に対応する書込みデータＷＤＡＴＡ４、論理アドレス値（ＬＡＤ＝“８０００００”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００５”番地へはライトリクエストＷＱ５に対応する書込みデータＷＤＡＴＡ５、論理アドレス値（ＬＡＤ＝“８００００１”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。
【０２４０】
同様にして、物理アドレスＰＡＤの“２８００００６”番地へは、ライトリクエストＷＱ６に対応する書込みデータＷＤＡＴＡ６、論理アドレス値（ＬＡＤ＝“８００００４”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００７”番地へは、ライトリクエストＷＱ７に対応する書込みデータＷＤＡＴＡ７、論理アドレス値（ＬＡＤ＝“８００００５”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００８”番地へは、ライトリクエストＷＱ８に対応する書込みデータＷＤＡＴＡ８、論理アドレス値（ＬＡＤ＝“８００００２”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。物理アドレスＰＡＤの“２８００００９”番地へは、ライトリクエストＷＱ９に対応する書込みデータＷＤＡＴＡ９、論理アドレス値（ＬＡＤ＝“８００００３”）が書き込まれ、データ有効フラグＤＶＦに１が書き込まれる。そして、最後に、情報処理回路ＭＮＧＥＲは、メモリ制御回路ＲＡＭＣを通じ、ランダムアクセスメモリＲＡＭに保存されているアドレス変換テーブルＬＰＴＢＬを図１９Ｂに示されるような状態に更新する。
【０２４１】
＜メモリモジュール（半導体装置）の読み出し動作１＞
図２０Ａは、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へリードリクエスト（ＲＱ）が入力された際に、メモリモジュールＮＶＭＭＤ０が行うデータ読み出し動作の一例を示すフロー図である。まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（例えばＬＡＤ＝０）、データ読み出し命令（ＲＤ）、セクタカウント値（ＳＥＣ＝１）が含まれるリードリクエスト（ＲＱ）が制御回路ＭＤＬＣＴ０へ入力される。これを受けて、インターフェース回路ＨＯＳＴ＿ＩＦは、リードリクエスト（ＲＱ）に埋め込まれているクロック情報を取り出し、シリアルデータ化されたリードリクエスト（ＲＱ）をパラレルデータへ変換し、バッファＢＵＦ０および情報処理回路ＭＮＧＥＲへ転送する（Ｓｔｅｐ６１）。
【０２４２】
次に、情報処理回路ＭＮＧＥＲは、論理アドレス値（ＬＡＤ＝０）、データ読み出し命令（ＲＤ）およびセクタカウント値（ＳＥＣ＝１）を解読し、ランダムアクセスメモリＲＡＭへ保存されているアドレス変換テーブルＬＰＴＢＬを参照して、各種情報を読み出す。具体的には、アドレス変換テーブルＬＰＴＢＬにおいて、論理アドレスＬＡＤの０番地に格納されている物理アドレス値ＰＡＤ（例えばＰＡＤ＝０）と、この物理アドレスＰＡＤに対応した有効フラグＣＰＶＬＤおよびレイヤ番号ＬＹＣを読み出す（Ｓｔｅｐ６２）。次に、読み出した有効フラグＣＰＶＬＤが１であるかどうかをチェックする（Ｓｔｅｐ６３）。
【０２４３】
もし、有効フラグＣＰＶＬＤが０の場合、情報処理回路ＭＮＧＥＲは、当該論理アドレス値（ＬＡＤ＝０）には物理アドレスＰＡＤが割り当てられていないことを認識する。この場合、不揮発性メモリ装置ＮＶＭからデータを読み出すことができないため、情報処理回路ＭＮＧＥＲは、エラーが発生したことをインターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理装置ＣＰＵ＿ＣＰへ伝える（Ｓｔｅｐ７５）。
【０２４４】
この実施の形態のメモリモジュールＮＶＭＭＤ０は、通常モード、消去優先モードおよび読出し優先モードを有している。これらのモードは、特に制限されないが、情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ設定される。図２０Ａのフローは、メモリモジュールＮＶＭＭＤ０が通常モードあるいは消去優先モードの場合を示している。また、図１１Ａから図１１Ｃにおいて説明した様に、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）のダミーチェインメモリアレイ指定情報ＸＹＤＭＣによりダミーチェインメモリアレイＤＣＹを消去領域の周辺に設定することが指定されており、ライト方法選択情報ＷＲＴＦＬＧにより書込み方法が指定されている。
【０２４５】
Ｓｔｅｐ６３において、読み出した有効フラグＣＰＶＬＤが１であると判断した場合、消去領域の一括消去が、Ｓｔｅｐ６４において行われる。Ｓｔｅｐ６４において、消去領域の一括消去が完了すると、次にＳｔｅｐ６５が実行される。なお、Ｓｔｅｐ６４において消去される消去領域は、読出しを行う領域とは異なる様に調停回路ＡＲＢによって調停されている。また、このとき、一括消去される消去領域は、ダミーチェインメモリアレイ指定情報ＸＹＤＭＣにより指定されたダミーチェインメモリアレイＤＣＹを除く領域である。すなわち、一括消去される消去領域に対して物理的に隣接した周辺に設置されているダミーチェインメモリアレイＤＣＹに対しては消去動作が行われない。
【０２４６】
情報処理回路ＭＮＧＥＲによって、当該論理アドレス値（ＬＡＤ＝０）が、物理アドレス値ＰＡＤ（ＰＡＤ＝０）が対応していると判断されると、Ｓｔｅｐ６４における消去操作が完了した後、Ｓｔｅｐ６５が実行される。論理アドレス値（ＬＡＤ＝０）に対応している物理アドレス値ＰＡＤ（ＰＡＤ＝０）が、第１物理アドレス領域ＰＲＮＧ１内のアドレスであれば、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤ（ＣＰＡＤ＝０）と、レイヤ番号ＬＹＣは、図１７Ａに示した不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷと、カラムアドレスＣＯＬへ変換される。一方、論理アドレス値（ＬＡＤ＝０）に対応している物理アドレス値（ＰＡＤ＝０）が、第２物理アドレス領域ＰＲＮＧ２内のアドレスであれば、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤ（ＣＰＡＤ＝０）は、図１７Ｂに示した不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷと、カラムアドレスＣＯＬへ変換される。さらに、物理アドレス値ＰＡＤ（ＰＡＤ＝０）と、物理アドレス値ＣＰＡＤと、レイヤ番号ＬＹＣとから変換された不揮発性メモリ装置ＮＶＭのチップアドレスＣＨＩＰＡと、バンクアドレスＢＫと、ロウアドレスＲＯＷおよびカラムアドレスＣＯＬは、調停回路ＡＲＢとおよびメモリ制御回路ＮＶＣＴを通じて不揮発性メモリ装置ＮＶＭへ入力される。そして、図１７Ｃに示した動作にしたがって、不揮発性メモリ装置ＮＶＭに格納されたデータ（ＤＡＴＡ０）が読み出される。データ（ＤＡＴＡ０）には、不揮発性メモリ装置ＮＶＭのメインデータ領域へ格納されたメインデータＭＤＡＴＡ０と冗長データ領域へ格納された冗長データＲＤＡＴＡ０が含まれ、さらに冗長データＲＤＡＴＡ０には、ライトフラグＷＴＦＬＧおよびＥＣＣコードＥＣＣ０が含まれる（Ｓｔｅｐ６５）。
【０２４７】
次に、情報処理回路ＭＮＧＥＲは、不揮発性メモリＮＶＭへ格納されているＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）内の論理アドレス領域ＬＲＮＧを読み出す。そして、論理アドレス値（ＬＡＤ＝０）がどの論理アドレス領域ＬＲＮＧに属するかを調べる。さらに、読出した冗長データＲＤＡＴＡ０に含まれているところのライトフラグＷＴＦＬＧの値を、Ｓｔｅｐ６６において、チェックする。すなわち、図１２Ａ（図１１Ａから図１１Ｃも参照）において述べた様に、ライトフラグＷＴＦＬＧの値は、書込みを行った際の書込み方法を示しており、０〜３およびこれらの数値の組み合わせのいずれかとなっている。Ｓｔｅｐ６６において、書込みを行った際の書込み方法を判定する。
【０２４８】
チェックの結果として、ライトフラグＷＴＦＬＧの値が０であれば、次にＳｔｅｐ７２が実行され、値が１であれば、次にＳｔｅｐ６７が実行され、値が２であれば、次にＳｔｅｐ６８が実行され、値が３であれば、次にＳｔｅｐ７０が実行される。同様に、ライトフラグＷＴＦＬＧの値が２＿１であれば、次にＳｔｅｐ６９が実行され、値が３＿２であれば、次にＳｔｅｐ７１が実行される。
【０２４９】
ライトフラグＷＴＦＬＧが０であれば、データは、加工せずに不揮発性メモリ装置ＮＶＭに書き込まれていることになるため、Ｓｔｅｐ７２では、読出されたデータ（メインデータＭＤＡＴＡ０）をＳｔｅｐ７３へ送る。ライトフラグＷＴＦＬＧが１であれば、データは反転して書き込まれているため、Ｓｔｅｐ６７において、読出されたデータ（メインデータＭＤＡＴＡ０）を反転して、Ｓｐｅｔ７３へ送る。また、ライトフラグＷＴＦＬＧが２であれば、データは圧縮されて書き込まれていることになるため、Ｓｔｅｐ６８において、読出されたデータ（メインデータＭＤＡＴＡ０）を伸張（Ｄｅｃｏｍｐ）して、Ｓｔｅｐ７３へ送る。また、ライトフラグＷＴＦＬＧが３であれば、データはコード（ｃｏｄｅ）化して書き込まれていることになるので、Ｓｔｅｐ７０において、読出されたデータ（メインデータＭＤＡＴＡ０）をデコード（Ｄｅｃｏｄｅ）して、Ｓｔｅｐ７３へ送る。
【０２５０】
ライトフラグＷＴＦＬＧが２＿１であれば、データは圧縮され、反転されて書き込まれていることになるので、Ｓｔｅｐ６９において、読出されたデータ（メインデータＭＤＡＴＡ０）を反転し、伸張（Ｄｅｃｏｍｐ）して、Ｓｔｅｐ７３へ送る。また、ライトフラグＷＴＦＬＧが３＿２であれば、読出されたデータは、コード化され、圧縮されているため、Ｓｔｅｐ７１において、読出されたデータ（メインデータＭＤＡＴＡ０）に対して伸張（Ｄｅｃｏｍｐ）を行い、更にデコード（Ｄｅｃｏｄｅ）して、Ｓｔｅｐ７３へ送る。
【０２５１】
この様に、読出されたライトフラグＷＴＦＬＧの値に対応した処理が、Ｓｔｅｐ６７〜７２において実行され、書込み方法に対応した処理が適用されたメインデータ（ＭＤＡＴＡ０）およびＥＣＣコード（ＣＣ０）が得られる。Ｓｔｅｐ７３において、情報処理回路ＭＮＧＥＲは、ＥＣＣコード（ＥＣＣ０）を利用して、メインデータ（ＭＤＡＴＡ）にエラーがあるかをチェックし、エラーがあれば訂正を行う。エラーがない場合、あるいは訂正された場合、エラーの無いデータは、インターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理装置ＣＰＵ＿ＣＰへ転送される（Ｓｔｅｐ７４）。
【０２５２】
特に制限されないが、読出しの動作をする際、読出し動作の対象となる領域（消去領域）の周辺（物理的に近接している領域）に配置されているダミーチェインメモリアレイＤＣＹに対しては、読出し動作を実行しない。これにより、読出し動作の際に選択するセルの数を低減することが可能となり、読出し動作の高速化を図ることが可能となる。
【０２５３】
＜メモリモジュール（半導体装置）の読み出し動作２＞
図２０Ｂは、読出し動作の他の例を示すフロー図である。図２０Ｂは、図２０Ａと類似しているため、相違する点を主に説明する。
【０２５４】
図２０Ｂにおいて、Ｓｔｅｐ８１〜８３、Ｓｔｅｐ９７は、図２０ＡのＳｔｅｐ６１〜６３、Ｓｔｅｐ７５に相当する。また、図２０Ｂにおいて、Ｓｔｅｐ８８〜９６は、図２０ＡのＳｔｅｐ６６〜９６に相当する。そのため、これらのＳｔｅｐについては、説明を省略する。
【０２５５】
図２０Ｂは、メモリモジュールＮＶＭＭＤ０に対して読出し優先モードが設定されている場合を示している。読出し動作において、Ｓｔｅｐ８３により、有効であると判定された判定された場合、消去動作が実行されているか否かが、Ｓｔｅｐ８４において判定される。消去動作が実行されていると、Ｓｔｅｐ８４において判定された場合、読出し優先モードが設定されているため、Ｓｔｅｐ８５において、消去動作は一時的に停止させられる。Ｓｔｅｐ８５において、消去動作を一時的に停止した後、Ｓｔｅｐ８６において、図２０Ａに示したＳｔｅｐ６５と同様に、不揮発性メモリ装置ＮＶＭに格納されたデータ（ＤＡＴＡ１）を読み出す。データ（ＤＡＴＡ１）には、不揮発性メモリ装置ＮＶＭのメインデータ領域へ格納されたメインデータＭＤＡＴＡ１と、冗長データ領域へ格納された冗長データＲＤＡＴＡ１が含まれ、さらに冗長データＲＤＡＴＡ１には、ライトフラグＷＴＦＬＧおよびＥＣＣコードＥＣＣ１が含まれる。
【０２５６】
メインデータＭＤＡＴＡ１および冗長データＲＤＡＴＡ１を読み出した後、Ｓｔｅｐ８７において、一時的に停止していた消去動作を再開させる。また、Ｓｔｅｐ８４において、消去動作が実行されていないと判定された場合も、Ｓｔｅｐ９７において、Ｓｔｅｐ８６と同様に、メインデータ（ＭＤＡＴＡ１）および冗長データ（ＲＤＡＴＡ１）を読出す。
【０２５７】
Ｓｔｅｐ８６あるいは９７において読出されたメインデータ（ＭＤＡＴＡ１）および冗長データ（ＲＤＡＴＡ１）は、Ｓｔｅｐ８８に送られ、図２０Ａで述べた処理と同様に処理が行われる。
【０２５８】
この実施の形態においては、消去動作が一次的に停止させられるため、読み出し動作のレスポンス時間を短くすることが可能となる。また、この実施の形態においても、読出しの動作をする際、読出し動作の対象となる領域（消去領域）の周辺（物理的に近接している領域）に配置されているダミーチェインメモリアレイＤＣＹに対しては、読出し動作を実行しない。これにより、読出し動作の際に選択するセルの数を低減することが可能となり、読出し動作の高速化を図ることが可能となる。
【０２５９】
また、メモリモジュールＮＶＭＭＤ０に対して読出し優先モードを設定する例を説明したが、この代わりに、メモリモジュールＮＶＭＭＤ０に供給するコマンドとして、読出し優先コマンドを用意する様にしてもよい。この場合には、読出し優先コマンドが供給されたときに、図２０Ｂのフローが実行されるように、メモリモジュールＮＶＭＭＤ０を構成すればよい。
【０２６０】
＜ライト方法選択情報に応じたメモリモジュール（半導体装置）の書込み動作１＞
図２１Ａは、図１１Ａ〜図１１Ｃに示したＳＳＤコンフィグレーション情報（ＳＤＣＧＦ）を例として、ライト方法選択情報（ＷＲＴＦＬＧ）に応じたメモリモジュールの書込み動作の一例を示すフロー図である。特に限定しないが、セット状態のメモリセルは“１”のビットデータを表し、リセット状態のメモリセルは“０”のビットデータを表す。また、図２１Ａには、通常の書込みコマンドに応答した書込み動作、あるいは消去優先モードに設定されているときの書込み動作が示されている。
【０２６１】
まず、情報処理装置ＣＰＵ＿ＣＰから論理アドレス値（ＬＡＤ）、データ書込み命令（ＷＲＴ）、セクタカウント値（ＳＥＣ＝１）、５１２バイトの書込みデータ（ＤＡＴＡ０）が含まれるライトリクエスト（ＷＱ０１）がインターフェース回路ＨＯＳＴ＿ＩＦを通じて情報処理回路ＭＮＧＥＲへ入力され、バッファＢＵＦ０に格納される（Ｓｔｅｐ１０１）。情報処理回路ＭＮＧＥＲは、ランダムアクセスメモリＲＡＭへ格納されたアドレスマップ範囲（ＡＤＭＡＰ）を利用し、論理アドレス値（ＬＡＤ）が、論理アドレス領域ＬＲＮＧ１内の論理アドレス値であるか、あるいは、論理アドレス領域ＬＲＮＧ２内の論理アドレス値であるかを判断する。また、書込みライト方法選択情報ＷＲＴＦＬＧを読出す。さらに、論理アドレスに対応する書込み物理アドレスＮＸＰＡＤを書込み物理アドレステーブルＮＸＬＰＡＤＢＬから読出す（Ｓｔｅｐ１０２）。
【０２６２】
情報処理回路ＭＮＧＥＲは、読出したところの書込みライト方法選択情報ＷＲＴＦＬＧの内容に従って、Ｓｔｅｐ１０３において、書込み方法を選択する。すなわち、書込みライト方法選択情報ＷＲＴＦＬＧの内容に従って、Ｓｔｅｐ１０４〜１０９のいずれかを選択する。書込みライト方法選択情報ＷＲＴＦＬＧが０の場合、書き込む方法として、Ｓｔｅｐ１０９が選択される。この場合、書込みデータは加工されること無く、書込みデータｗｄａｔａとして準備され、書込みデータｗｄａｔａに基づいたＥＣＣデータが、Ｓｔｅｐ１１５において生成される。また、Ｓｔｅｐ１１５においては、ライトフラグＷＴＦＬＧの値が、０（ＷＴＦＬＧ０）として生成される。書込みライト方法選択情報ＷＲＴＦＬＧが１の場合、書込み方法として、Ｓｔｅｐ１０４が選択される。この場合、Ｓｔｅｐ１０４において、書込みデータは反転される。反転されたデータが書込みデータｗｄａｔａとして、Ｓｔｅｐ１１０において準備され、書込みデータｗｄａｔａに基づいたＥＣＣデータが生成される。また、Ｓｔｅｐ１１０において、ライトフラグＷＴＦＬＧの値が、１（ＷＴＦＬＧ１）として生成される。
【０２６３】
書込みライト方法選択情報ＷＲＴＦＬＧが２の場合、Ｓｔｅｐ１０５が選択される。この場合、書込みデータは、Ｓｔｅｐ１０５において、圧縮（Ｃｏｍｐ）される。Ｓｔｅｐ１１１においては、圧縮された書込みデータが書込みデータｗｄａｔａとされ、書込みデータｗｄａｔａに基づいたＥＣＣデータが生成される。さらに、Ｓｔｅｐ１１１において、ライトフラグＷＴＦＬＧの値が、２（ＷＴＦＬＧ２）として生成される。書込みライト方法選択情報ＷＲＴＦＬＧが３の場合、Ｓｔｅｐ１０７が選択される。この場合には、書込みデータはコード（Ｃｏｄｅ）化される。コード化された書込みデータは、Ｓｔｅｐ１１３において、書込みデータｗｄａｔａとされ、書込みデータｗｄａｔａに基づいたＥＣＣデータが生成される。また、Ｓｔｅｐ１１３においては、ライトフラグＷＴＦＬＧの値が、３（ＷＴＦＬＧ３）として生成される。
【０２６４】
書込みライト方法選択情報ＷＲＴＦＬＧが２＿１の場合、Ｓｔｅｐ１０６が選択される。この場合には、書込みデータに対して圧縮と反転がＳｔｅｐ１０６において行われる。圧縮および反転された書込みデータは、Ｓｔｅｐ１１２において、書込みデータｗｄａｔａとされ、書込みデータｗｄａｔａに基づいたＥＣＣデータが生成される。また、Ｓｔｅｐ１１２において、ライトフラグＷＴＦＬＧの値が、２＿１（ＷＴＦＬＧ２＿１）として生成される。書込みライト方法選択情報ＷＲＴＦＬＧが３＿２の場合、Ｓｔｅｐ１０８が選択される。この場合には、書込みデータに対してコード化と圧縮がＳｔｅｐ１０８において行われる。コード化と圧縮とが行われた書込みデータは、Ｓｔｅｐ１１４において、書込みデータｗｄａｔａとされ、書込みデータｗｄａｔａに基づいたＥＣＣデータが生成される。また、Ｓｔｅｐ１１４において、ライトフラグＷＴＦＬＧの値が、３＿２（ＷＴＦＬＧ３＿２）として生成される。
【０２６５】
各書込み方法については、図１２Ａ（図１１Ａ〜図１１Ｃも参照）において述べているので、ここでは、それぞれの詳細は省略する。
【０２６６】
通常書込みコマンドあるいは消去優先モードでは、消去領域への一括消去動作が優先される。そのため、各Ｓｔｅｐ１１０〜Ｓｔｅｐ１１５の後に、消去領域の一括消去が完了しているか否かの判定がＳｔｅｐ１１６において行われる。Ｓｔｅｐ１１６において、消去領域の一括消去が完了していない場合には、各Ｓｔｅｐ１１０〜１１５において生成したデータ（書込みデータｗｄａｔａ、ＥＣＣデータおよびライトフラグＷＴＦＬＧ）の書込みが待たされる。すなわち、消去領域の一括消去が完了した後のＳｔｅｐ１１７において、書込み物理アドレスＮＸＰＡＤへ書込みデータｗｄａｔａ、ＥＣＣデータおよびライトフラグＷＴＦＬＧのそれぞれの書込みが行われる。書込みデータｗｄａｔａはメインデータＭＤＡＴＡとして、ＥＣＣデータとライトフラグＷＴＦＬＧは冗長データＲＤＡＴＡへ含まれ、メインデータＭＤＡＴＡおよび冗長データＲＤＡＴＡのそれぞれは、物理アドレスＮＸＰＡＤのメインデータ領域ＤＡｒｅａおよび冗長データＲＤＡＴＡへ書き込まれる。
【０２６７】
書込み動作は、例えば一括消去された消去領域に対して行われる。この場合、消去領域の周辺（物理的に隣接した領域）に配置されているダミーチェインメモリアレイＤＣＹに対しては、書込みが行われない。そのため、書込み動作の高速化を図ることが可能となる。
【０２６８】
＜ライト方法選択情報に応じたメモリモジュール（半導体装置）の書込み動作２＞
図２１Ｂは、書込み動作の他の例を示すフロー図である。図２１Ｂは、図２１Ａと類似しているため、相違する点を主に説明する。
【０２６９】
図２１Ｂにおいて、Ｓｔｅｐ２０１〜２１５は、図２１ＡのＳｔｅｐ１０１〜１１５に相当する。また、図２１Ｂにおいて、Ｓｔｅｐ２１８および２２０は、図２１ＡのＳｔｅｐ１１７に相当する。そのため、これらのＳｔｅｐについては、説明を省略する。
【０２７０】
図２１Ｂは、メモリモジュールＮＶＭＭＤ０に対して書込み優先モードが設定されている場合を示している。書込み動作において、Ｓｔｅｐ２１６で、消去動作が実行されているか否かが判定される。消去動作が実行されていると判定された場合、書込み優先モードが設定されているため、Ｓｔｅｐ２１７において、消去動作は一時的に停止させられる。Ｓｔｅｐ２１７において、消去動作を一時的に停止した後、Ｓｔｅｐ２１８において、図２１Ａに示したＳｔｅｐ１１７と同様に、データの書込みが行われる。データの書込みが行われた後、Ｓｔｅｐ２１９において、一時的に停止していた消去動作を再開させる。また、Ｓｔｅｐ２１６において、消去動作が実行されていないと判定された場合も、Ｓｔｅｐ２２０において、図２１Ａに示したＳｔｅｐ１１７と同様に、データの書込みを行う。
【０２７１】
この実施の形態においては、消去動作が一次的に停止させられるため、書込み動作のレスポンス時間を短くすることが可能となる。また、この実施の形態においても、書込み動作をする際、書込み動作の対象となる領域（消去領域）の周辺（物理的に近接している領域）に配置されているダミーチェインメモリアレイＤＣＹに対しては、書込み動作を実行しない。これにより、書込み動作の際に選択するセルの数を低減することが可能となり、書込み動作の高速化を図ることが可能となる。
【０２７２】
また、メモリモジュールＮＶＭＭＤ０に対して書込み優先モードを設定する例を説明したが、この代わりに、メモリモジュールＮＶＭＭＤ０に供給するコマンドとして、書込み優先コマンドを用意する様にしてもよい。この場合には、書込み優先コマンドが供給されたときに、図２１Ｂのフローが実行されるように、メモリモジュールＮＶＭＭＤ０を構成すればよい。
【０２７３】
＜ウエアレベリング方法＞
図２２は、図１６の場合に加えて図２の情報処理回路ＭＮＧＥＲが実行するウエアレベリング方法の一例を示すフロー図である。図９Ａ、図９Ｂに示したように、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの中で、エントリー番号０から（Ｎ／２−１）までのＮ／２個分を書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１とし、エントリー番号（Ｎ／２）からＮまでの残りのＮ／２個分を書込み物理アドレステーブルＮＸＰＡＤＴＢＬ２として管理する。図１６で説明したように、当該書込み物理アドレステーブルＮＸＰＡＤＴＢＬを図８Ａの物理セグメントテーブルＰＳＥＧＴＢＬ１を用いて更新することによるダイナミックウエアレベリングは、無効状態の物理アドレスを対象とした動的な消去回数の平準化方法である。
【０２７４】
しかしながら、ダイナミックウエアレベリングは、無効状態の物理アドレスが対象となるため、全体的に、無効状態の物理アドレスの消去回数と有効状態の物理アドレスの消去回数との差が段々と拡大していく場合がある。例えば、ある論理アドレス（それに対応する物理アドレス）に書込みが行われたのち、当該物理アドレスが有効状態となり、その後、長期間に渡って当該論理アドレス（それに対応する物理アドレス）に対して書込み命令が生じなかった場合、当該物理アドレスは、長期間に渡ってウエアレベリングの対象から外されることになる。そこで、図２の情報処理回路ＭＮＧＥＲは、図２２に示すように、無効状態の物理アドレスの消去回数と有効状態の物理アドレスの消去回数のバラツキを抑える静的な消去回数の平準化方法（スタティックウエアレベリング）を実行する。
【０２７５】
情報処理回路ＭＮＧＥＲは、図１３のアドレス範囲マップ（ＡＤＭＡＰ）における第１物理アドレス領域ＰＲＮＧ１および第２物理アドレス領域ＰＲＮＧ２の範囲内のそれぞれで、図２２に示す静的な消去回数の平準化方法を行う。まず、情報処理回路ＭＮＧＥＲは無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１（図８Ａ）内で最大消去回数ＭＸＥＲＣの中の最大値ＭＸＥＲＣｍｘと、有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２（図８Ｂ）内で最小消去回数ＭＮＥＲＣの中の最小値ＭＮＥＲＣｍｎを検出する。そして、この最大値ＭＸＥＲＣｍｘと最小値ＭＮＥＲＣｍｎの差ＤＩＦＦ（＝ＭＸＥＲＣｍｘ−ＭＮＥＲＣｍｎ）を求める（Ｓｔｅｐ５１）。
【０２７６】
次のＳｔｅｐ５２で、情報処理回路ＭＮＧＥＲは、無効状態の物理アドレスの消去回数と、有効状態の物理アドレスの消去回数の差の閾値ＤＥＲＣｔｈを設定し、この閾値ＤＥＲＣｔｈと消去回数差ＤＩＦＦを比較する。消去回数差ＤＩＦＦが閾値ＤＥＲＣｔｈより大きい場合、情報処理回路ＭＮＧＥＲは、消去回数の平準化行うためＳｔｅｐ５３を行い、小さい場合はＳｔｅｐ５８を行う。Ｓｔｅｐ５８において、情報処理回路ＭＮＧＥＲは、物理セグメントテーブルＰＳＥＧＴＢＬ１又はＰＳＥＧＴＢＬ２が更新されたか否かを判定し、更新された場合はＳｔｅｐ５１にて再度、消去回数差ＤＩＦＦを求め、いずれの物理セグメントテーブルも更新されていない場合は、再度Ｓｔｅｐ５８を行う。
【０２７７】
Ｓｔｅｐ５３で、情報処理回路ＭＮＧＥＲは、有効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ２内の最小消去回数ＭＮＥＲＣの中で最も小さな消去回数から順にｍ個分の物理アドレスＳＰＡＤ１〜ＳＰＡＤｍを選択する。Ｓｔｅｐ５４では、情報処理回路ＭＮＧＥＲは、無効物理アドレスに関する物理セグメントテーブルＰＳＥＧＴＢＬ１内の最大消去回数ＭＸＥＲＣの中で最も大きな消去回数から順にｍ個分の物理アドレスＤＰＡＤ１〜ＤＰＡＤｍを候補として選択する。
【０２７８】
Ｓｔｅｐ５５では、情報処理回路ＭＮＧＥＲは、候補とされた物理アドレスＤＰＡＤ１〜ＤＰＡＤｍが、書込み物理アドレステーブルＮＸＰＡＤＴＢＬへ登録されているかを調べる。もし、候補とされた物理アドレスＤＰＡＤ１〜ＤＰＡＤｍのいずれかが、書込み物理アドレステーブルＮＸＰＡＤＴＢＬに登録されていれば、Ｓｔｅｐ５９においてこの物理アドレスＤＰＡＤ１〜ＤＰＡＤｍのいずれかを候補から除外し、再度Ｓｔｅｐ５４で候補の補充を行う。もし、選択された物理アドレスＤＰＡＤ１〜ＤＰＡＤｍが、書込み物理アドレステーブルＮＸＰＡＤＴＢＬへ登録されていなければＳｔｅｐ５６を行う。
【０２７９】
Ｓｔｅｐ５６では、情報処理回路ＭＮＧＥＲは、不揮発性メモリ装置内における物理アドレスＳＰＡＤ１〜ＳＰＡＤｍのデータを物理アドレスＤＰＡＤ１〜ＤＰＡＤｍへ移動させる。Ｓｔｅｐ５７では、情報処理回路ＭＮＧＥＲは、物理アドレスＳＰＡＤ１〜ＳＰＡＤｍのデータを物理アドレスＤＰＡＤ１〜ＤＰＡＤｍへ移動させたことにより、更新する必要のある全テーブルを更新する。
【０２８０】
このようなスタティックウエアレベリングを図１６に示したダイナミックウエアレベリングと併用することで、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７全体で消去回数の平準化を図ることが可能となる。なお、この例では、ｍ個分の物理アドレスのデータを移動した例を示したが、ｍの値は、目標性能に応じて情報処理回路ＭＮＧＥＲによってプログラム可能であり、書込み物理アドレステーブルＮＸＰＡＤＴＢＬの登録数Ｎとすると例えば１≦ｍ≦Ｎに設定すると良い。
【０２８１】
＜パイプライン書込み動作１＞
図２３Ａは、図１の情報処理装置ＣＰＵ＿ＣＰからメモリモジュールＮＶＭＭＤ０へ連続してライトリクエストが発生した際に、メモリモジュールＮＶＭＭＤ０内部でパイプライン的に実行されるデータ書込み動作の一例を示す図である。特に限定しないが、図２の制御回路ＭＤＬＣＴ０内のバッファＢＵＦ０〜ＢＵＦ３には、それぞれＮ×５１２バイトの書込みデータが格納できる。
【０２８２】
図２３Ａに示すバッファ転送動作ＷＴＢＵＦ０、１、２および３では、ライトリクエストＷＱがバッファＢＵＦ０、１、２および３へそれぞれ転送される。事前準備動作ＰＲＥＯＰ０、１、２および３では、バッファＢＵＦ０、１、２および３に転送された書込みデータをそれぞれ不揮発性メモリ装置ＮＶＭへ書き込むための事前準備動作が行われる。データ書込み動作ＷＴＮＶＭ０、１、２および３では、バッファＢＵＦ０、１、２および３に格納された書込みデータが、それぞれ不揮発性メモリ装置ＮＶＭへ書き込まれる。
【０２８３】
バッファ転送動作ＷＴＢＵＦ０、１、２および３と、事前準備動作ＰＲＥＯＰ０、１、２および３と、データ書込み動作ＷＴＮＶＭ０、１、２および３は、図２３Ａに示すように、制御回路ＭＤＬＣＴ０によるパイプライン動作によって実行される。これにより、書込み速度を向上させることが可能となる。具体的には、以下のようなパイプライン動作が行われる。
【０２８４】
時間Ｔ０からＴ２の期間に発生したＮ回のライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）はインターフェース回路ＨＯＳＴ＿ＩＦにおいて、先ず、バッファＢＵＦ０へ転送される（ＷＴＢＵＦ０）。バッファＢＵＦ０へ書込みデータが格納できなくなると、時間Ｔ２からＴ４の期間に発生したＮ回のライトリクエスト（ＷＱ［Ｎ＋１］〜ＷＱ［２Ｎ］）はバッファＢＵＦ１へ転送される（ＷＴＢＵＦ１）。バッファＢＵＦ１へ書込みデータが格納できなくなると、時間Ｔ４からＴ６の期間に発生したＮ回のライトリクエスト（ＷＱ［２Ｎ＋１］〜ＷＱ［３Ｎ］）はバッファＢＵＦ２へ転送される（ＷＴＢＵＦ２）。バッファＢＵＦ２へ書込みデータが格納できなくなると、時間Ｔ６からＴ８の期間に発生したＮ回のライトリクエスト（ＷＱ［３Ｎ＋１］〜ＷＱ［４Ｎ］）はバッファＢＵＦ３へ転送される（ＷＴＢＵＦ３）。
【０２８５】
情報処理回路ＭＮＧＥＲは、時間Ｔ１からＴ３の期間において、バッファＢＵＦ０に格納されている書込みデータを不揮発性メモリ装置ＮＶＭへ書き込むための事前準備（ＰＲＥＯＰ０）を行う。情報処理回路ＭＮＧＥＲが行う事前準備動作ＰＲＥＯＰ０の主な動作内容を以下に示す。なお、他の事前準備動作ＰＲＥＯＰ１、２、３も当該事前準備動作ＰＲＥＯＰ０と同様の動作となる。
【０２８６】
（１）ライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）へ含まれる論理アドレスＬＡＤ値を利用し、アドレス変換テーブルＬＰＴＢＬから物理アドレスＰＡＤを読み出し、必要に応じてこの物理アドレスＰＡＤの有効フラグ（ＣＰＶＬＤ，ＰＶＬＤ，ＤＶＦ）値を０にし、データを無効にする。
【０２８７】
（２）アドレス変換テーブルＬＰＴＢＬを更新する。
【０２８８】
（３）書込み物理アドレステーブルＮＸＰＡＤＴＢＬに格納されている書込み物理アドレスＮＸＰＡＤを読み出し、この書込み物理アドレスＮＸＰＡＤへライトリクエスト（ＷＱ［１］〜ＷＱ［Ｎ］）に含まれる論理アドレスＬＡＤを割り当てる。
【０２８９】
（４）物理セグメントテーブルＰＳＥＧＴＢＬを更新する。
【０２９０】
（５）物理アドレステーブルＰＡＤＴＢＬを更新する。
【０２９１】
（６）次の書込みに備えて、書込み物理アドレステーブルＮＸＰＡＤＴＢＬを更新する。
【０２９２】
次に、情報処理回路ＭＮＧＥＲは、時間Ｔ３からＴ５の期間において、バッファＢＵＦ０に格納されている書込みデータを不揮発性メモリ装置ＮＶＭへ書き込む（ＷＴＮＶＭ０）。この際に、データが書き込まれた不揮発性メモリ装置ＮＶＭの物理アドレスは、上記（３）での書込み物理アドレスＮＸＰＡＤ値と等しい。他のデータ書込み動作ＷＴＮＶＭ１、２、３もデータ書込み動作ＷＴＮＶＭ０と同様の動作となる。
【０２９３】
＜パイプライン書込み動作２＞
図２３Ｂは、メモリモジュールＮＶＭＭＤ０内部でパイプライン的に実行されるデータ書込み動作の他の例を示す図である。図２３Ｂは、図２３Ａと類似しているため、相違点について主に説明する。
【０２９４】
図２３Ａにおいては、不揮発性メモリ装置ＮＶＭへ書き込む際に、消去動作（ＥＳ０、ＥＳ１、ＥＳ２、ＥＳ３）と書込み動作（ＷＴ０、ＷＴ１，ＷＴ２、ＷＴ３）とが時間的に連続する様に行われる。これに対して、図２３Ｂにおいては、消去動作の対象となる領域と書込み動作の対象となる領域とが異なるため、消去動作と書込み動作とが時間的にオーバーラップする様に、パイプライン化されている。例えば、不揮発性メモリＮＶＭ１０、ＮＶＭ１１、ＮＶＭ１２、ＮＶＭ１３は、互いに異なる半導体チップにより形成される。これにより、消去動作（ＥＳ１、ＥＳ２、ＥＳ３）と書込み動作（ＷＴ０、ＷＴ１、ＷＴ２）とを、時間的にオーバーラップすることが可能となり、書込み動作の高速化を図ることが可能となる。
【０２９５】
＜不揮発性メモリ装置のレイアウト１＞
図２４は、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７内の一つのメモリアレイＡＲＹの模式的な平面図である。同図において、ドットで埋められた複数の○印および白抜きの複数の○印のそれぞれは、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示している。チェインメモリアレイＣＹのそれぞれは、例えば図４にチェインメモリアレイＣＹ１として示されている。図４から理解される様に、チェインメモリアレイのそれぞれは、複数の相変化メモリを有しており、当該複数の相変化メモリが、対応するワード線ＷＬと対応するビット線との間に直列に接続されている。特に制限されないが、複数の相変化メモリＴｃｌ０〜Ｔｃｌｎは、半導体基板の上に積層する様に形成されている。
【０２９６】
複数のチェインメモリアレイＣＹは、２次元的にはマトリクス状に配置され、マトリクスのそれぞれの行およびそれぞれの列には、ワード線およびビット線が配置され、対応するワード線とビット線がチェインメモリアレイＣＹに接続されている。同図において、ドットで埋められた○印（以下、●印と称する）は、データを記憶しないチェインメモリアレイＣＹ（ダミーチェインメモリアレイＤＣＹ）を示し、○印のチェインメモリアレイＣＹは、データを記憶するチェインメモリアレイＣＹを示している。
【０２９７】
マトリクス状に配置された複数のチェインメモリアレイＣＹは、ＳＳＤコンフィグレーション情報（ＳＤＣＦＧ）に含まれているダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）に基づいて、消去動作、書込み動作および読出し動作の際には、複数の領域に分割して扱われる。すなわち、情報処理回路ＭＮＧＥＲが、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７をアクセスして、消去動作、書込み動作および読出し動作をする際には、ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）に基づいて、分割された複数の領域としてアクセスする。図２４における●印および○印のチェインメモリアレイＣＹの配列は、ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１の場合の配列を示している。図２４の例では、データの書込み、読出し、保持および消去が可能なチェインメモリアレイＣＹは、８行x６６列に配置されている。同図では、この８行x６６列のチェインメモリアレイＣＹのマトリクスを書込み領域ＷＴ―ＡＲＥＡとして示してある。すなわち、同図の下側に、書込み領域ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡ７が示されている。この各書込み領域ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７のそれぞれには、上記したメインデータＭＤＡＴＡが書き込まれるメインデータ領域ＤＡｒｅａと、冗長データＲＤＡＴＡが書き込まれる冗長データ領域ＲＡｒｅａを含んでいる。また、各書込み領域を構成するチェインメモリアレイＣＹのマトリクスの左側の８行ｘ６４列には上記したメインデータ領域ＤＡｒｅａが配置され、右側の８行ｘ２列には上記した冗長データ領域ＲＡｒｅａが配置されている。
【０２９８】
これにより、○印の８行ｘ６４列のチェインメモリアレイＣＹと８行ｘ２列のチェインメモリアレイＣＹを有する領域ＷＴ−ＡＲＥＡが、メモリアレイ上に複数個構成されている。この実施の形態においては、この領域は、消去動作の際に消去される領域であるため、消去領域と見なすこともできる。ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１であるため、図１１Ａ〜図１１Ｃにおいて述べた様に、この書込み領域ＷＴ−ＡＲＥＡの外側（外周）であって、当該書込み領域ＷＴ−ＡＲＥＡに隣接した行（Ｘ）と列（Ｙ）にそれぞれ１つのダミーチェインメモリアレイＤＣＹが配置される。すなわち、当該書込み領域ＷＴ−ＡＲＥＡに隣接した１行と１列とを構成する複数のチェインセルアレイＣＹが、ダミーチェインセルアレイＤＣＹ（●印）として扱われる。
【０２９９】
例えば、１個のチェインセルアレイＣＹが、１バイトのデータを格納すると考えた場合、１個の書込み領域（消去領域）は、８ｘ６６＝５２８バイトのデータが書き込まれることが可能とされる。この場合、８ｘ６４＝５１２バイトのメインデータＭＤＡＴＡがメインデータ領域ＤＡｒｅａへ書き込まれ、８ｘ２＝１６バイトの冗長データＲＤＡＴＡが冗長データ領域ＲＡｒｅａへ書き込まれる。この実施の形態においては、ダミーチェインメモリアレイＤＣＹと設定されたチェインメモリアレイＤＣＹに対しては、情報処理回路ＭＮＧＥＲから書込み動作および読み出し動作のためのアクセスが行われない。
【０３００】
次に、図１の情報処理装置ＣＰＵ＿ＣＰから、図２の情報処理回路ＭＮＧＥＲへ書込みリクエストＷＱ００、ＷＱ０１、ＷＱ０２、ＷＱ０３が順に入力された場合の、不揮発性メモリ装置ＮＶＭ１０への書込み動作について説明する。情報処理回路ＭＮＧＥＲは、特に限定しないが５１２バイトのメインデータＭＤＡＴＡと１６バイトの冗長データＲＤＡＴＡのサイズ毎に、１個の物理アドレスを対応させ、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書込みを行う。
【０３０１】
ここで、書込みリクエストＷＱ００は、論理アドレス値ＬＡＤ０、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ０を含むものとする。また、書込みリクエストＷＱ０１は、論理アドレス値ＬＡＤ１、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ１を含むものとする。同様に、書込みリクエストＷＱ０２は、論理アドレス値ＬＡＤ２、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ２を含むものとし、書込みリクエストＷＱ０３には、論理アドレス値ＬＡＤ３、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ３を含むものとする。
【０３０２】
先ず、情報処理回路ＭＮＧＥＲは書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を参照し、論理アドレスＬＡＤ０、１、２および３のそれぞれに対応する物理アドレスＰＡＤ０、１、２および３とデータを書込む不揮発性メモリ装置ＮＶＭ１０を決定する。次に、情報処理回路ＭＮＧＥＲは書込みデータＷＤＡＴＡ０、１、２および３のそれぞれに対応する冗長データＲＤＡＴＡ０、１、２および３を生成する。次に、情報処理回路ＭＮＧＥＲは調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ０を通じて、不揮発性メモリ装置ＮＶＭ１０に対し、順に、消去命令ＥＲＳ０、書込み命令ＷＴ０、消去命令ＥＲＳ１、書込み命令ＷＴ１、消去命令ＥＲＳ２、書込み命令ＷＴ２、消去命令ＥＲＳ３、書込み命令ＷＴ３を発行する。
【０３０３】
消去命令ＥＲＳ０には、物理アドレスＰＡＤ０、消去命令ＥＲＳ、セクタカウント値ＳＥＣが含まれる。書込み命令ＷＴ０には、物理アドレスＰＡＤ０、書込み命令ＷＴ、セクタカウント値ＳＥＣ１、５１２バイトの書込みデータＷＤＡＴＡ０および冗長データＲＤＡＴＡ０が含まれる。消去命令ＥＲＳ１には、物理アドレスＰＡＤ１、消去命令ＥＲＳ、セクタカウント値ＳＥＣ１が含まれる。書込み命令ＷＴ１には、物理アドレスＰＡＤ１、書込み命令ＷＴ、セクタカウント値ＳＥＣ１、５１２バイトの書込みデータＷＤＡＴＡ１および冗長データＲＤＡＴＡ１が含まれる。消去命令ＥＲＳ２には、物理アドレスＰＡＤ２、消去命令ＥＲＳ、セクタカウント値ＳＥＣ１が含まれる。書込み命令ＷＴ２には、物理アドレスＰＡＤ２、書込み命令ＷＴ、セクタカウント値ＳＥＣ１、５１２バイトの書込みデータＷＤＡＴＡ２および冗長データＲＤＡＴＡ２が含まれる。消去命令ＥＲＳ３には、物理アドレスＰＡＤ３、消去命令ＥＲＳ、セクタカウント値ＳＥＣ１が含まれる。同様に、書込み命令ＷＴ３には、物理アドレスＰＡＤ３、書込み命令ＷＴ、セクタカウント値ＳＥＣ１、５１２バイトの書込みデータＷＤＡＴＡ３および冗長データＲＤＡＴＡ３が含まれる。
【０３０４】
消去命令ＥＲＳ０の物理アドレスＰＡＤ０によってメモリ装置ＮＶＭ１０の書込み領域ＷＲＴ―ＡＲＥＡ０が選択され、消去命令ＥＲＳによって書込み領域ＷＲＴ―ＡＲＥＡ０の全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（Ｓｅｔ状態）となる。すなわち、一括消去される。次に、書込み命令ＷＴ０の物理アドレスＰＡＤ０および書込み命令ＷＴによってメモリ装置ＮＶＭ１０の書込み領域ＷＲＴ―ＡＲＥＡ０が選択され、５１２バイトの書込みデータＷＤＡＴＡ０の中で“０”のデータのみが（Ｒｅｓｅｔ状態）メインデータ領域ＤＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ書き込まれ、１６バイトの冗長データＲＤＡＴＡ０の中で“０”のデータのみが（Ｒｅｓｅｔ状態）が冗長データ領域ＲＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ書き込まれる。
【０３０５】
消去命令ＥＲＳ１の物理アドレスＰＡＤ１によってメモリ装置ＮＶＭ１０の書込み領域ＷＴ―ＡＲＥＡ１が選択され、消去命令ＥＲＳによって書込み領域ＷＴ―ＡＲＥＡ１の全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（Ｓｅｔ状態）となる（一括消去）。書込み命令ＷＴ１の物理アドレスＰＡＤ１および書込み命令ＷＴによってメモリ装置ＮＶＭ１０の書込み領域ＷＴ―ＡＲＥＡ１が選択され、５１２バイトの書込みデータＷＤＡＴＡ１の中で“０”のデータのみが（Ｒｅｓｅｔ状態）メインデータ領域ＤＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ書き込まれ、１６バイトの冗長データＲＤＡＴＡ１の中で“０”のデータのみが（Ｒｅｓｅｔ状態）が冗長データ領域ＲＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ書き込まれる。
【０３０６】
書込み領域ＷＴ―ＡＲＥＡ０、１との間、書込み領域ＷＴ―ＡＲＥＡ１と２との間および書込み領域ＷＴ―ＡＲＥＡ２と３との間には、それぞれダミーチェインメモリアレイＤＣＹが配置されている。そのため、例えば、書込み領域ＷＴ―ＡＲＥＡ１を一括消去した際に、ダミーチェインメモリアレイＤＣＹが熱ディスターブの緩衝領域となり、書込み領域ＷＴ―ＡＲＥＡ０や、書込み領域ＷＴ―ＡＲＥＡ２のデータに対して熱ディスターブの影響を低減することができる。このように、書込み領域ＷＴ―ＡＲＥＡ間にダミーチェインメモリアレイＤＣＹが存在することで、熱ディスターブの影響を低減することが可能なため、書込み領域ＷＴ―ＡＲＥＡへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。
【０３０７】
特に制限されないが、ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１とされた場合、書込み領域（消去領域）ＷＴ−ＡＲＥＡを構成するマトリクスの例えば右側（図２４において）と上側（図２４において）に１行、１列のダミーチェインメモリアレイＤＣＹが設定される。勿論、この様に、右側と上側に限定されるものではない。書込み領域ＷＴ−ＡＲＥＡは、同図において、上下および左右に繰り返して配置される様に設定されるため、各書込み領域ＷＴ−ＡＲＥＡのそれぞれに１行および１列のダミーチェインメモリアレイＤＣＹを設定する様にすることで、各書込み領域ＷＴ−ＡＲＥＡ間にダミーチェインメモリアレイＤＣＹが配置される様に設定することが可能である。
【０３０８】
なお、この実施の形態においては、５１２バイトのメインデータＭＤＡＴＡおよび１６バイトの冗長データＲＤＡＴＡを不揮発性メモリ装置（ＮＶＭ１０〜ＮＶＭ１７）へ書き込むため、各書込み領域ＷＴ−ＡＲＥＡへは５２８バイトのデータを格納できる様に、８行ｘ６６列のチェインメモリアレイＣＹが配置されている。
【０３０９】
たとえば、情報処理装置ＣＰＵ＿ＣＰが、書込みデータの最小単位を６４バイトとしてメモリモジュールＮＶＭＭＤ０へ書き込む場合は、情報処理回路ＭＮＧＥＲは６４バイトのメインデータＭＤＡＴＡおよび８バイトの冗長データＲＤＡＴＡを不揮発性メモリ装置（ＮＶＭ１０〜ＮＶＭ１７）へ書き込むために、各書込み領域ＷＴ−ＡＲＥＡへは７２バイトのデータを格納できる様に、８行ｘ９列のチェインメモリアレイＣＹを配置することもできる。
【０３１０】
このように、情報処理装置ＣＰＵ＿ＣＰが所望の書込みデータの最小単位に合わせて、書込み領域ＷＴ−ＡＲＥＡ内のチェインメモリアレイＣＹを配置することができ、システム要求に柔軟に対応できる。
【０３１１】
さらに、情報処理装置ＣＰＵ＿ＣＰの書込みデータの最小単位である６４バイトに合わせて、書込み領域ＷＴ−ＡＲＥＡ内のチェインメモリアレイＣＹを配置することで、複数の書込み領域ＷＴ−ＡＲＥＡを用いることにより、その整数倍のデータ（例えば、５１２バイト）を格納することができる。
【０３１２】
１つの物理アドレスに対応する書込みデータが、５１２バイトであった場合、この実施の形態においては、１つの書込み領域ＷＴ−ＡＲＥＡには１つの物理アドレスが対応しているが、勿論、これに限定されず、後で述べる実施の形態においては、書込み領域ＷＴ−ＡＲＥＡに複数の物理アドレスに対応するデータが書き込まれる。すなわち、１つの物理アドレスに対するデータの容量よりも、データ容量の大きい書込み領域の例が示される。
【０３１３】
（実施の形態２）
＜不揮発性メモリ装置のレイアウト２＞
図２５は、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。この実施の形態においては、書込み領域ＷＴ―ＡＲＥＡ間に設定されるダミーチェインメモリアレイＤＣＹが２つ連続して配置される。この場合、ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）は、１＿２＿２とされている。これにより、情報処理回路ＭＮＧＥＲは、書込み領域ＷＴ−ＡＲＥＡのそれぞれの外側（外周）に、１行および１列のダミーチェインメモリアレイＤＣＹを設定する。
【０３１４】
また、この各書込み領域ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７のそれぞれには、上記したメインデータＭＤＡＴＡが書き込まれるメインデータ領域ＤＡｒｅａと、冗長データＲＤＡＴＡが書き込まれる冗長データ領域ＲＡｒｅａを含んでいる。また、各書込み領域を構成するチェインメモリアレイＣＹのマトリクスの上側の８行ｘ８列には上記したメインデータ領域ＤＡｒｅａが配置され、下側の１行ｘ８列には上記した冗長データ領域ＲＡｒｅａが配置されている。
【０３１５】
すなわち、情報処理回路ＭＮＧＥＲは、書込み領域ＷＴ−ＡＲＥＡのそれぞれの外側に隣接した１行および１列のチェインメモリアレイＣＹに対して、読出し動作、書込動作および消去動作（一括消去動作）を行わず、書込み領域ＷＴ−ＡＲＥＡのそれぞれに対して、読出し動作、書込動作および一括消去動作を行う様に動作する。
【０３１６】
図２５においては、書込み領域ＷＴ−ＡＲＥＡのそれぞれを囲む様に、ダミーチェインメモリアレイＤＣＹが配置される。すなわち、書込み領域ＷＴ−ＡＲＥＡのそれぞれの辺に対して、ダミーチェインメモリアレイＤＣＹが１列（１行）配置される様に設定されている。これにより、書込み領域ＷＴ−ＡＲＥＡ間には、２列（２行）のダミーチェインメモリアレイＤＣＹが配置される様になる。勿論、書込み領域ＷＴ−ＡＲＥＡの２辺（例えば、同図において上側と右側）に、２列（２行）のダミーチェインメモリアレイＤＣＹを集中して配置する様に設定してもよい。
【０３１７】
この様にすることにより、いずれかの書込み領域ＷＴ―ＡＲＥＡを一括消去した際にも、熱ディスターブの影響が更に低減することが可能となる。
【０３１８】
また、どのチェインメモリアレイＣＹを、ダミーチェインメモリアレイＤＣＹとして配置するかは、不揮発性メモリ装置内の初期設定領域ＳＳＤコンフィグレーション（ＳＤＣＦＧ）へプログラムすることにより、定めることが可能であり、電源投入後、情報処理回路ＭＮＧＥＲが、この初期設定領域を読出し、ダミーチェインメモリアレイＤＣＹの配置を決める。
【０３１９】
以上説明したように、メモリモジュールＮＶＭＭＤ０が要求される機能、性能及び信頼性のレベルに合わせて柔軟に対応することができる。
【０３２０】
（実施の形態３）
＜不揮発性メモリ装置のレイアウト３＞
図２６Ｂは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、●印のチェインメモリアレイＤＳＣＹは、データを記憶しないチェインメモリアレイであるが、“１” （Ｓｅｔ状態）とみなすチェインメモリアレイＣＹ（セットチェインメモリアレイＤＳＣＹ）を示している。これに対して、○印へはデータ“１” （Ｓｅｔ状態）あるいはデータ“０” （Ｒｅｓｅｔ状態）を記録するチェインメモリアレイＣＹである。
【０３２１】
この実施の形態においては、書込み領域ＷＴ―ＡＲＥＡ（ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７）は、●印および○印を含み、９行ｘ６５列に配置されたチェインメモリアレイＣＹを有している。すなわち、書込み領域ＷＴ−ＡＲＥＡは、消去領域ＥＲＳ―ＡＲＥＡ（図示せず）とセットチェインメモリアレイＤＳＣＹから成る。ここで、消去領域ＥＲＳ―ＡＲＥＡは、８行ｘ６４列の○印のチェインメモリアレイＣＹ（図では、メインデータＭＤＡＴＡが書き込まれるメインデータ領域ＤＡｒｅａと、冗長データＲＤＡＴＡが書き込まれる冗長データ領域ＲＡｒｅａ）により構成される。ダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）は、０＿１＿１とされていることにより、ダミーチェインメモリアレイＤＣＹは、書込み領域ＷＴ−ＡＲＥＡの内側に設定され、行方向および列方向に、それぞれ１個ずつ設定される。言い換えるならば、消去領域ＥＲＡ−ＡＲＥＡの外側（外周）に隣接した行方向（列方向）に、それぞれ１行（１列）のダミーチェインメモリアレイＤＣＹが配置される。
【０３２２】
また、この実施の形態において、各書込み領域ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７のそれぞれには、各書込み領域を構成するチェインメモリアレイＣＹのマトリクスの７行ｘ６４列（同図では上側）には、メインデータＭＤＡＴＡが書き込まれるメインデータ領域ＤＡｒｅａが配置され、１行ｘ６４列（同図では右側）には、冗長データＲＤＡＴＡが書き込まれる冗長データ領域ＲＡｒｅａが配置される。
【０３２３】
また、この実施の形態において、各書込み領域ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７には、複数の物理アドレスＰＡＤを含み、たとえば書込み領域ＷＴ−ＡＲＥＡ０は物理アドレスＰＡＤ０〜ＰＡＤｍを含む。
【０３２４】
消去領域ＥＲＳ−ＡＲＥＡにおけるチェインメモリアレイＣＹは、一括で消去が行われる。消去領域ＥＲＳ−ＡＲＥＡは、一括消去後、データ“０”（Ｒｅｓｅｔ状態）が、適時書き込まれる領域で、○印の８行ｘ６４列のチェインメモリアレイＣＹで構成されている。書込み領域ＷＴ−ＡＲＥＡは９行ｘ６４列のチェインメモリアレイＣＹであり、消去領域ＥＲＳ-ＡＲＥＡは８行ｘ６４列のチェインメモリアレイＣＹである。
【０３２５】
ここで、書込み領域ＷＴ−ＡＲＥＡが、９行ｘ６５列のチェインメモリアレイで構成され、消去領域ＥＲＳ−ＡＲＥＡが、８行ｘ６４列のチェインメモリアレイで構成されていると仮定した場合、消去領域ＥＲＡ−ＡＲＥＡの比率は、書込み領域ＷＴ―ＡＲＥＡに対して、（５１２/５８５）ｘ１００＝８７．５％になる。つまり、メモリアレイＡＲＹへ書き込むデータの中で、“０”のビットデータ量が、８７．５％以下にできれば、消去領域ＥＲＡ−ＡＲＥＡへ“０”のビットのデータを書込むことができる。
【０３２６】
図２６Ａは、図２６Ｂで示したメモリアレイＡＲＹへの書込み方法を説明するフローチャート図である。
【０３２７】
図１の情報処理装置ＣＰＵ＿ＣＰから、図２の情報処理回路ＭＮＧＥＲへ書込みリクエストＷＱ００が入力された場合の、不揮発性メモリ装置ＮＶＭ１０への書込み動作について説明する。情報処理回路ＭＮＧＥＲは、特に限定しないが、５１２バイトのメインデータＭＤＡＴＡと１６バイトの冗長データＲＤＡＴＡのサイズ毎に、１個の物理アドレスを対応させ、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書込みを行う。書込みリクエストＷＱ００には、論理アドレス値ＬＡＤ０、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ０が含まれる。
【０３２８】
先ず、図１の情報処理装置ＣＰＵ＿ＣＰから、図２の情報処理回路ＭＮＧＥＲへ書込みリクエストＷＱ００が入力されると（Ｓｔｅｐ３０１）、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ００の５１２バイト（５１２ｘ８ビット）の書込みデータ（ＤＡＴＡ０）から、ＥＣＣデータを含む冗長データＲＤＡＴＡ０を生成する（Ｓｔｅｐ３０２）。次に、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱ００の５１２バイト（５１２ｘ８ビット）の書込みデータ（ＤＡＴＡ０）の中で、“０”のビットデータおよび“１”のビットデータを数え（Ｓｔｅｐ３０３）、“０”のビットデータの数と“１”のビットデータの数を比較する（Ｓｔｅｐ３０４）。次に、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より大きい場合は、書込みデータ（ＤＡＴＡ０）の各ビットを反転させる（Ｓｔｅｐ３０５）。一方、情報処理回路ＭＮＧＥＲは、“０”のビットデータの数が“１”のビットデータの数より、大きくない場合は、書込みデータ（ＤＡＴＡ０）の各ビットは反転させない。Ｓｔｅｐ３０５で反転させた書込みデータあるいは反転させなかった書込みデータは、Ｓｔｅｐ３０６へ供給される。
【０３２９】
このように、５１２バイト（５１２ｘ８ビット）の書込みデータ（ＤＡＴＡ０）の中で、“０”のビットデータの数によって、書込みデータ（ＤＡＴＡ０）の各ビットを反転させたり、反転させなかったりすることで、“０”のビットデータの数は、５１２バイト（５１２ｘ８ビット＝４０９６ビット）の内、常に２０４８ビット（＝４０９６／２）以下となる。すなわち、書込みデータの中で、“０”のビットデータの数が常に１／２以下となる。これにより、“０”のビットデータを書き込む量を半減できる。
【０３３０】
次に、情報処理回路ＭＮＧＥＲは書込み物理アドレステーブルＮＸＰＡＤＴＢＬ１を参照し、アドレスＬＡＤ０に対応する物理アドレスＰＡＤ０および消去ブロックアドレスＥＲＳＡＤ０とデータを書込む不揮発性メモリ装置ＮＶＭ１０を決定する（Ｓｔｅｐ３０６）。情報処理回路ＭＮＧＥＲは、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ０を通じて、不揮発性メモリ装置ＮＶＭ１０に対し、順に、消去命令ＥＲＳ０、書込み命令ＷＴ０を発行する。消去命令ＥＲＳ０には、消去ブロックアドレスＥＲＳＡＤ０、消去命令ＥＲＳ、消去ブロックアドレスＥＲＳＡＤ０が含まれる。消去命令ＥＲＳ０の消去ブロックアドレスＥＲＳＡＤ０によってメモリ装置ＮＶＭ１０の書込み領域ＷＴ−ＡＲＥＡ０の消去領域ＥＲＳ―ＡＲＥＡが選択され、消去命令ＥＲＳによって消去領域ＥＲＳ―ＡＲＥＡの全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（一括消去の動作により、Ｓｅｔ状態）となる（Ｓｔｅｐ３０７）。つまり、この消去命令によって、消去領域ＥＲＳ―ＡＲＥＡ内の複数の物理アドレスＰＡＤ０〜ＰＡＤｍに割り当てられているチェインメモリアレイＣＹ内の全メモリセルがデータは“１”（一括消去の動作により、Ｓｅｔ状態）となる。  
【０３３１】
書込み命令ＷＴ０の物理アドレスＰＡＤ０および書込み命令ＷＴによってメモリ装置ＮＶＭ１０の書込み領域ＷＴ−ＡＲＥＡ０の中で、物理アドレスＰＡＤ０へ割り当てられている消去領域ＥＲＳ―ＡＲＥＡ内のメインデータ領域ＤＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ、５１２バイトの書込みデータＷＤＡＴＡ０の中で“０”のデータのみが（Ｒｅｓｅｔ状態）が書き込まれる（Ｓｔｅｐ３０８）。
【０３３２】
また、同様に、書込み命令ＷＴ０の物理アドレスＰＡＤ０および書込み命令ＷＴによってメモリ装置ＮＶＭ１０の書込み領域ＷＴ−ＡＲＥＡ０の中で、物理アドレスＰＡＤ０へ割り当てられている消去領域ＥＲＳ―ＡＲＥＡ内の冗長データ領域ＲＡｒｅａのチェインメモリアレイＣＹ内のメモリセルへ、冗長データＲＤＡＴＡ０中で“０”のデータのみが（Ｒｅｓｅｔ状態）が書き込まれる（Ｓｔｅｐ３０８）。
【０３３３】
このように、書込みデータＤＡＴＡ０の中で、“０”のビットデータの数が常に１／２以下となるため、図２６Ｂで説明した様に、消去領域ＥＲＳ−ＡＲＥＡの比率が、低くても（１００％でなくても）、“０”のビットデータを消去領域ＥＲＳ―ＡＲＥＡに書き込むことにより、書込みデータＤＡＴＡを、書込み領域ＷＴ−ＡＲＥＡ０に格納することができる。すなわち、書込み領域ＷＴ−ＡＲＥＡ０の内側にダミーチェインメモリアレイを設定しても、書込みデータＤＡＴＡ０を格納することが可能となる。
【０３３４】
また、書込み領域ＷＴ−ＡＲＥＡ０の内側に設定したダミーチェインメモリアレイをセットチェインメモリアレイＤＳＣＹとすることにより、このセットチェインメモリアレイＤＳＣＹを、書込みデータＤＡＴＡ０の中で、“１”のビットデータを格納した領域と見なすことも可能である。すなわち、セットチェインメモリアレイＤＳＣＹの物理アドレスには、“１”のビットデータが格納されていると見なす。これにより、書込みデータＤＡＴＡ０の中で、“１”のビットデータがセットチェインメモリアレイＤＳＣＹに格納されているものとすることが可能となる。この場合には、セットチェインメモリアレイＤＳＣＹへ、データの書込みおよび／あるいは読み出しの動作をすることは要求されない。例えば、セットチェインメモリアレイＤＳＣＹの物理アドレスに“１”が格納されているものとして扱えば済むこととなる。
【０３３５】
この様にすることにより、書込み領域ＷＴ―ＡＲＥＡ０を、“０”のビットデータを書込むことが可能な消去領域ＥＲＳ―ＡＲＥＡ０と、セットチェインメモリアレイＤＳＣＹとで構成し、図２６Ｂに示した様な配置とすることが可能となる。
【０３３６】
図２６Ｂにおいては、複数の書込み領域ＷＴ―ＡＲＥＡの間に、熱ディスターブ緩衝領域を設けることなく、セットチェインメモリアレイＤＳＣＹが、複数の書込み領域ＷＴ―ＡＲＥＡの間に配置される。このセットチェインメモリアレイＤＳＣは、相互に隣接する書込み領域ＷＴ―ＡＲＥＡ間での熱ディスターブの影響を緩和する緩衝領域として機能する。さらに、情報処理回路ＭＮＧＥＲは、セットチェインメモリアレイＤＳＣＹの配置（アドレス）を把握しているため、セットチェインメモリアレイＤＳＣＹへデータ“１”が記録されているものと、情報処理回路ＭＮＧＥＲは見なして、データの読み出しを行うことができる。
【０３３７】
セットチェインメモリアレイＤＳＣＹは、相互に隣接する書込み領域ＷＴ―ＡＲＥＡ間の熱ディスターブの影響を緩和する緩衝領域と、データ“１”を記録しているチェインメモリアレイＣＹの双方の役割を担うことができるため、不揮発性メモリの記憶容量のペナルティをゼロにし、熱ディスターブの影響をうけることなく、書込み領域ＷＴ―ＡＲＥＡへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。
【０３３８】
さらに、書込みデータの中で、“０”のビットデータの数が常に１／２以下となり、“０”のビットデータを書き込む量を半減できるため、高速且つ低電力のＳＳＤを実現できる。
【０３３９】
なお、図２６Ａにおいて、Ｓｔｅｐ３０２は、書込みデータに基づいてＥＣＣデータを含む冗長データＲＤＡＴＡを生成するステップである。生成された冗長データＲＤＡＴＡに対しても、Ｓｔｅｐ３０３以降のステップを適用する。これにより、“０”のビットデータを書き込む量を低減することが可能である。
【０３４０】
（実施の形態４）
＜不揮発性メモリ装置のレイアウト４＞
図２７は、書込み領域ＷＴ―ＡＲＥＡ間のチェインメモリアレイＤＣＹ（ＤＳＣＹ）が２つ連続して、配置されている場合の、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの模式的な平面図である。図２７に示されている書込み領域ＷＴ−ＡＲＥＡへのデータの書込み方法は、先に述べた図２６Ａと同様である。
【０３４１】
書込み領域ＷＴ−ＡＲＥＡの内側に、２行のダミーチェインメモリアレイＤＣＹと２列のダミーチェインメモリアレイＤＣＹを設定し、これらのダミーチェインメモリアレイＤＣＹをセットチェインメモリアレイＤＳＣＹとして用いる。この様なダミーチェインメモリアレイＤＣＹを設定するために、ＳＳＤコンフィグレーション（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報ＸＹＤＭＣは、０＿２＿２とされている。これにより、各書込み領域ＷＴ−ＡＲＥＡの内側に、２行、２列のダミーチェインメモリアレイＤＣＹが設定される。
【０３４２】
この各書込み領域ＷＴ−ＡＲＥＡ、ＷＴ−ＡＲＥＡ０〜７のそれぞれには、上記した書込みデータが、メインデータ領域ＤＡｒｅａ（６行ｘ６４列）に書き込まれる。また、この実施の形態においては、各書込み領域を構成するチェインメモリアレイＣＹのマトリクスの１行ｘ６４列（同図では下側）には、上記した冗長データＲＤＡＴＡが配置されている。
【０３４３】
この実施の形態においては、１行に沿って配置された複数のチェインメモリアレイＣＹによって、冗長データＲＤＡＴＡを格納するチェインメモリアレイＣＹのマトリクスが構成されている。
【０３４４】
図２７においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示している。また、●印は、図２６Ｂと同様に、データを記録しないが、“１” （Ｓｅｔ状態）と見なすチェインメモリアレイＣＹ（セットチェインメモリアレイＤＳＣＹ）を示している。○印は、データ“１” （Ｓｅｔ状態）あるいはデータ“０” （Ｒｅｓｅｔ状態）を記録するチェインメモリアレイＣＹである。
【０３４５】
書込み領域ＷＴ―ＡＲＥＡは、特に限定しないが●印および○印を含む９行ｘ６６列のチェインメモリアレイＣＹで構成され、消去領域ＥＲＳ−ＡＲＥＡとセットチェインメモリアレイＤＳＣＹから構成されている。
【０３４６】
ここで、消去領域ＥＲＳ−ＡＲＥＡは、一括で消去を行った後、データ“０” （Ｒｅｓｅｔ状態）を書込むことが可能な領域で、○印の７行ｘ６４列のチェインメモリアレイＣＹで構成されている。書込み領域ＷＴ―ＡＲＥＡは、９行ｘ６６列のチェインメモリアレイＣＹであり、消去領域ＥＲＳ−ＡＲＥＡは７行ｘ６４列のチェインメモリアレイＣＹであるため、消去領域ＥＲＳ−ＡＲＥＡの比率は、書込み領域ＷＴ―ＡＲＥＡに対して、（４４８/５９４）ｘ１００＝７５．４％になる。
【０３４７】
図２６Ａで説明した書込み方法では、書込みデータの中で“０”のビットデータの数が常に１／２以下となるため、図２７で示したメモリアレイＡＲＹの配置の消去領域ＥＲＳ−ＡＲＥＡへ“０”のビットデータを書き込むことができる。従って、消去領域ＥＲＳ−ＡＲＥＡを一括消去した際に、熱ディスターブの影響が２つ目の隣接するチェインメモリアレイＣＹまで及ぶ場合は、このような配置にし、消去領域ＥＲＳ−ＡＲＥＡ間のチェインメモリアレイＤＣＹを２つ連続して設け、熱ディスターブの影響を排除でき、高信頼且つ高速のＳＳＤを提供できる。この実施の形態においても、２行、２列のダミーチェインメモリアレイＤＣＹが、データを格納するセットチェインメモリアレイＤＳＣＹとして用いられる。この様なセットチェインメモリアレイＤＳＣＹをどの様に配置するかは、不揮発性メモリ装置内の初期設定領域ＳＳＤコンフィグレーション（ＳＤＣＦＧ）へプログラム可能であり、電源投入後、情報処理回路ＭＮＧＥＲが、この初期設定領域を読出し、チェインメモリアレイＤＳＣＹの配置を決める。
【０３４８】
以上説明したように、メモリモジュールＮＶＭＭＤ０が要求される機能、性能及び信頼性のレベルに合わせてダミーチェインメモリアレイＤＣＹの配置を柔軟に対応することができる。
【０３４９】
（実施の形態５）
＜不揮発性メモリ装置のレイアウト５＞
図２８は、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の配置例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。また、●印は、データを記録しないが、“１” （Ｓｅｔ状態）とみなすチェインメモリアレイＣＹ（セットチェインメモリアレイＤＳＣＹ）を示している。○印は、データ“１” （Ｓｅｔ状態）あるいはデータ“０” （Ｒｅｓｅｔ状態）を記録するチェインメモリアレイＣＹを示している。
【０３５０】
書込み領域ＷＴ―ＡＲＥＡ０〜ＷＴ−ＡＲＥＡｎのそれぞれは、特に限定しないが、●印および○印を含む、９行ｘ４０９６列行のチェインメモリアレイＣＹで構成され、消去領域ＥＲＳ−ＡＲＥＡとセットチェインメモリアレイＤＳＣＹから構成されている。また、それぞれの書込み領域ＷＴ―ＡＲＥＡ０〜ＷＴ−ＡＲＥＡｎのそれぞれには、複数の物理アドレス（ＰＡＤ０〜ｍ）を割り当てることができる。すなわち、１個の書込み領域に対して、それぞれ物理アドレスに対応した複数の書込みデータを書き込むことが可能とされている。例えば、９行ｘ５１２列を、１つの物理アドレスに対応させ、９行ｘ５１２列の単位で、複数の書込みデータを書き込むことが可能とされている。
【０３５１】
また、消去領域ＥＲＳ−ＡＲＥＡは一括で消去を行った後、データ“０” （Ｒｅｓｅｔ状態）を書込むことが可能な領域で、○印の８行ｘ４０９６列のチェインメモリアレイＣＹで構成されている。この実施の形態においては、ＳＳＤコンフィグレーション（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報ＸＹＤＭＣは、０＿１＿０とされている。これにより、書込み領域ＷＴ−ＡＲＥＡに内側（言い換えるならば、消去領域ＥＲＳ−ＡＲＥＡの外周）に、１行のダミーチェインメモリアレイＤＣＹが設定され、設定されたダミーチェインメモリアレイＤＣＹが、セットチェインメモリアレイＤＳＣＹとして用いられる。
【０３５２】
また、この各書込み領域ＷＴ−ＡＲＥＡ０〜ｎのそれぞれには、上記したメインデータ領域ＤＡｒｅａ（７行ｘ４０９６列のチェインメモリアレイＣＹ）と、冗長データ領域ＲＤＡＴＡ（１行ｘ４０９６列のチェインメモリアレイＣＹ）が含まれる。
【０３５３】
このメモリアレイＡＲＹの配置例では、書込み領域ＷＴ―ＡＲＥＡが３６８６４（＝９行ｘ４０９６列）チェイン分で、そのうちセットチェインメモリアレイＤＳＣＹ領域は４１０６チェイン（１行）分のため、データ“０” （Ｒｅｓｅｔ状態）を書込むことが可能な領域の比率は、８８．８％８＝（（（３６８６４−４１０６）／３６８６４）ｘ１００  ）となる。図２６Ａで説明した書込み方法では、書込みデータの中の“０”のビットデータの数が常に１／２以下となるため、データ“０” （Ｒｅｓｅｔ状態）を書込む領域の割合が増えることで、データ“０” （Ｒｅｓｅｔ状態）を書き込む際の、熱ディスターブの影響を受けにくくなる。
【０３５４】
また、この実施の形態においては、書込み領域ＷＴ−ＲＡＥＲ内の消去領域ＥＲＳ−ＡＲＥＡを一括消去した後、複数回に渡って書込み動作を行うことが可能である。例えば、８行ｘ５１２列の消去領域ＥＲＳ−ＡＲＥＡを、１つの物理アドレスに対応させ、８行ｘ５１２列の単位で、複数回に渡って書込みを行うことができる。一括消去をした後、複数の書込みを行うようにすれば、一括消去による熱ディスターブの影響を、セットチェインメモリアレイＤＳＣＹにより低減することが可能となる。また、列方向には、ダミーチェインメモリアレイＤＣＹが設定されていないため、小型化が可能であり、メモリセル当たりの単価（ビットコスト）の低減が可能となる。
【０３５５】
（実施の形態６）
図２９Ａは、情報処理装置ＣＰＵ＿ＣＰから入力されたデータを情報処理回路ＭＮＧＥＲが圧縮し、不揮発性メモリ装置へ書き込む際の、書込みフロー図である。また、図２９Ｂは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。図２９Ａに示した書込みフローは、図２９Ｂに示したメモリアレイＡＲＹへの書込み方法を示している。
【０３５６】
図２９Ｂにおいても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示している。図２６Ｂにおいて説明したのと同様に、●印は、データを記録しないが、“１” （Ｓｅｔ状態）とみなすこともできるチェインメモリアレイＣＹ（セットチェインメモリアレイＤＳＣＹ）を示している。また、○印は、データ“１” （Ｓｅｔ状態）あるいはデータ“０” （Ｒｅｓｅｔ状態）を記録するチェインメモリアレイＣＹである。
【０３５７】
図２９Ｂにおいて、書込み領域ＷＴ―ＡＲＥＡ０〜ＷＴ−ＡＲＥＡｎのそれぞれは、特に限定しないが、●印および○印を含む６６行ｘ３２列のチェインメモリアレイＣＹで構成される。●印で示す３行ｘ３２列のチェインメモリアレイＣＹはセットチェインメモリアレイＤＳＣＹであり、○印で示す６３行ｘ３２列のチェインメモリアレイＣＹは消去領域ＥＲＳ−ＡＲＥＡである。
【０３５８】
また、それぞれの書込み領域ＷＴ―ＡＲＥＡ０〜ＷＴ−ＡＲＥＡｎには、複数の物理アドレス（ＰＡＤ０〜３）を割り当てることができる。すなわち、１個の書込み領域に対して、それぞれ物理アドレスに対応した書込みデータを書き込むことが可能とされている。例えば、６６行ｘ８列を、１つの物理アドレスに対応させ、複数の書込みデータを書き込むことが可能とされている。また、消去領域ＥＲＳ−ＡＲＥＡは一括で消去を行った後、データ“０” （Ｒｅｓｅｔ状態）を書込むことが可能な領域で、○印の６３行ｘ３２列のチェインメモリアレイＣＹで構成されている。この実施の形態においては、ＳＳＤコンフィグレーション（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報ＸＹＤＭＣは、０＿３＿０とされている。これにより、書込み領域ＷＴ−ＡＲＥＡに内側（言い換えるならば、消去領域ＥＲＳ−ＡＲＥＡの外周）に、３行のダミーチェインメモリアレイＤＣＹが設定され、設定されたダミーチェインメモリアレイＤＣＹが、セットチェインメモリアレイＤＳＣＹとして用いられる。
【０３５９】
また、この各書込み領域ＷＴ−ＡＲＥＡ０〜ｎのそれぞれには、上記したメインデータ領域ＤＡｒｅａ（６１行ｘ３２列のチェインメモリアレイＣＹ）と、冗長データ領域ＲＤＡＴＡ（２行ｘ３２列のチェインメモリアレイＣＹ）が含まれる。
【０３６０】
図２９Ｂにおいて、書込み領域ＷＴ―ＡＲＥＡは、特に限定しないが、●印および○印を含む６６行ｘ３２列のチェインメモリアレイＣＹで構成され、消去領域ＥＲＳ−ＡＲＥＡ（ＥＲＳ−ＡＲＥＡ０、ＥＲＳ−ＡＲＥＡ１等）とセットチェインメモリアレイＤＳＣＹとを具備している。
【０３６１】
この実施の形態においても、書込み領域ＷＴ―ＡＲＥＡには、複数の物理アドレスを割り当てることができる。また、各消去領域ＥＲＳ−ＡＲＥＡは一括で消去を行った後、データ“０” （Ｒｅｓｅｔ状態）を書込むことが可能な領域で、○印の６３行ｘ３２列のチェインメモリアレイＣＹで構成される。また、ＳＳＤコンフィグレーション（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報ＸＹＤＭＣは、０＿３＿０とされており、書込み領域ＷＴ−ＡＲＥＡの内側に、３行のダミーチェインメモリアレイＤＣＹが設定され、配置されている。この配置されている３行のダミーチェインメモリアレイＤＣＹが、セットチェインメモリアレイＤＳＣＹとして用いられる。
【０３６２】
図１の情報処理装置ＣＰＵ＿ＣＰから、図２の情報処理回路ＭＮＧＥＲへ書込みリクエストＷＱ００、ＷＱ０１、ＷＱ０２、ＷＱ０３が順に入力された場合の、不揮発性メモリ装置ＮＶＭ１０への書込み動作について説明する。情報処理回路ＭＮＧＥＲは、特に限定しないが５１２バイトのメインデータＭＤＡＴＡと１６バイトの冗長データＲＤＡＴＡのサイズ毎に、１個の物理アドレスを対応させ、不揮発性メモリ装置ＮＶＭ１０〜ＮＶＭ１７へ書込みを行う。ここで、書込みリクエストＷＱ００には、論理アドレス値ＬＡＤ０、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ０が含まれ、書込みリクエストＷＱ０１には、論理アドレス値ＬＡＤ１、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ１が含まれる。同様に、書込みリクエストＷＱ０２には、論理アドレス値ＬＡＤ２、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ２が含まれ、書込みリクエストＷＱ０３には、論理アドレス値ＬＡＤ３、書込み命令ＷＲＴ、セクタカウント値ＳＥＣ１および５１２バイトの書込みデータＷＤＡＴＡ３が含まれる。
【０３６３】
情報処理装置ＣＰＵ＿ＣＰからの書込みリクエストＷＱ００、ＷＱ０１、ＷＱ０２、ＷＱ０３に含まれる論理アドレス値ＬＡＤ０、１、２、３はアドレスバッファＡＤＤＢＵＦへ格納され、書込みデータＷＤＡＴＡ０、１、２、３はバッファＢＵＦ０〜ＢＵＦ３へ格納される（図２）。次に、情報処理回路ＭＮＧＥＲは、書込み物理アドレステーブルＮＸＰＡＤＴＢＬを参照し、アドレスＬＡＤ０、１、２および３のそれぞれに対応する物理アドレスＰＡＤ０、１、２および３とデータを書込む不揮発性メモリ装置ＮＶＭ１０を決定する。次に、情報処理回路ＭＮＧＥＲは、調停回路ＡＲＢとメモリ制御回路ＮＶＣＴ０を通じて、不揮発性メモリ装置ＮＶＭ１０に対し、ブロック消去命令ＢＥＲＳ０を発行する。ブロック消去命令ＢＥＲＳ０には、消去ブロックアドレスＥＢＫ０、消去命令ＥＲＳが含まれる。ブロック消去命令ＢＥＲＳの、消去ブロックアドレスＥＢＫ０によって消去領域ＥＲＳ−ＡＲＡＥ０の全チェインメモリアレイＣＹに含まれる全メモリセルのデータは“１”（Ｓｅｔ状態）となる（一括消去）。
【０３６４】
次に、情報処理回路ＭＮＧＥＲは、書込みデータＷＤＡＴＡ０をバッファＢＵＦ０から読出し（図２９ＡのＳｔｅｐ４０１）、圧縮を行い（図２９ＡのＳｔｅｐ４０２）、データ圧縮率ｃｒａｔｅが許容圧縮率ＣｐＲａｔｅ以下であるかをチェックする（図２９ＡのＳｔｅｐ４０３）。
【０３６５】
ここで、図２９Ｂに示す書込み領域ＷＴ−ＡＲＥＡにおいて、１つの物理アドレスに対する記憶容量は５１２個（６４行ｘ８列）のチェインメモリアレイＣＹ分で、その内のセットチェインメモリアレイＤＳＣＹ領域が２４個（３行ｘ８列）のチェインメモリアレイＤＣＹ分であるとする。熱ディスターブの影響を防ぎながら、１つの物理アドレスに対応するための許容データ書込み領域（メインデータ領域ＤＡｒｅａ）は、４８８（６１行ｘ８列）個のチェインメモリアレイＣＹ分（５１２−２４=４８８）となる。したがって、その際の、許容圧縮率ＣｐＲａｔｅは０．９５（＝４８８/５１２）となる。
【０３６６】
次に、情報処理回路ＭＮＧＥＲは、データ圧縮率ｃｒａｔｅが許容圧縮率ＣｐＲａｔｅ以下であれば、アドレスＬＡＤ０に対応する不揮発性メモリ装置ＮＶＭ１０の物理アドレスＰＡＤ０へ、書込みデータＷＤＡＴＡ０を圧縮した圧縮データＣＷＤＡＴＡ０に基づいてＥＣＣデータを含む冗長データＲＤＡＴＡ０が生成される（図２９ＡのＳｔｅｐ４０４）。次に圧縮データＣＷＤＡＴＡ０と冗長データＲＤＡＴＡ０を書き込むため、書込み命令ＷＴ０を発行する。書込み命令ＷＴ０には、物理アドレスＰＡＤ０、書込み命令ＷＴ、セクタカウント値ＳＥＣ１、圧縮データＣＷＤＡＴＡ０と冗長データＲＤＡＴＡ０が含まれる。書込み命令ＷＴ０の物理アドレスＰＡＤ０および書込み命令ＷＴによってメモリ装置ＮＶＭ１０の物理アドレスＰＡＤ０に対応したチェインメモリアレイＣＹのメモリセルへ、圧縮データＣＷＤＡＴＡ０の中で“０”のデータのみが（Ｒｅｓｅｔ状態）、メインデータ領域ＤＡｒｅａへ書き込まれ、冗長データＲＤＡＴＡ０が冗長領域ＲＡｒｅａへ書き込まれる（図２９ＡのＳｔｅｐ４０５）。
【０３６７】
次に、情報処理回路ＭＮＧＥＲは、物理アドレスＰＡＤ１に対応する書込みデータＷＤＡＴＡ１をバッファＢＵＦ１から読出し、同様の手順で圧縮し、圧縮データＣＷＤＡＴＡ１をメモリ装置ＮＶＭ１０の物理アドレスＰＡＤ１に対応したチェインメモリアレイＣＹのメモリセルへ、圧縮データＣＷＤＡＴＡ１の中で“０”のデータ（Ｒｅｓｅｔ状態）のみを書き込む。
【０３６８】
次に、情報処理回路ＭＮＧＥＲは、書込みデータＷＤＡＴＡ２をバッファＢＵＦ２から読出し（Ｓｔｅｐ４０１）、圧縮を行い（Ｓｔｅｐ４０２）、圧縮データＣＷＤＡＴＡ２を作成する。ここで、例えば、圧縮データＣＷＤＡＴＡ２のデータ圧縮率ｃｒａｔｅが許容データ圧縮率ＣｐＲａｔｅ＝０．９５より大きいと判定された場合（Ｓｔｅｐ４０３）、新たに、２つの物理アドレスに対応する許容圧縮率ＣｐＲａｔｅを計算する（図２９ＡのＳｔｅｐ４０６）。２つの物理アドレスに対する記憶容量は、１０２４個のチェインメモリアレイＣＹ分で、そのうちのセットチェインメモリアレイＤＳＣＹ領域は４８個のチェイン分となる。そのため、熱ディスターブの影響を防ぎながら、２つ分の物理アドレスに対応した許容データ書込み領域（メインデータ領域ＤＡｒｅａ）のチェインメモリセル数は、９７６個のチェインメモリアレイＣＹ分となる。したがって、この場合、２つの物理アドレスに対する許容圧縮率ＣｐＲａｔｅは０．９５（＝９７６/１０２４）となる。
【０３６９】
次に、情報処理回路ＭＮＧＥＲは、書込みデータＷＤＡＴＡ３をバッファＢＵＦ３から読出し（Ｓｔｅｐ４０１）、圧縮を行い（Ｓｔｅｐ４０２）、圧縮データＣＷＤＡＴＡ３を作成する。圧縮データＣＷＤＡＴＡ２と圧縮データＣＷＤＡＴＡ３をあわせたデータ圧縮率ｃｒａｔｅが、Ｓｔｅｐ４０３で判定される。この場合、許容圧縮率ＣｐＲａｔｅの０．９５以下と判定され（Ｓｔｅｐ４０３）、物理アドレスＰＡＤ２とＰＡＤ３のそれぞれの圧縮データＣＷＤＡＴＡ２とＣＷＤＡＴＡ３に基づいて、それぞれのＥＣＣデータを含む冗長データＲＤＡＴＡ２とＲＤＡＴＡ２が生成される（図２９ＡのＳｔｅｐ４０４）。
【０３７０】
次に、メモリ装置ＮＶＭ１０の物理アドレスＰＡＤ２とＰＡＤ３に対応したメインデータ領域ＤＡｒｅａのチェインメモリアレイＣＹのメモリセルへ圧縮データＣＷＤＡＴＡ２とＣＷＤＡＴＡ３の中で“０”のデータのみ（Ｒｅｓｅｔ状態）が書き込まれ、冗長データＲＤＡＴＡ２およびＲＤＡＴＡ３が冗長領域ＲＡｒｅａのチェインメモリアレイＣＹのメモリセルへ書き込まれる（図２９ＡのＳｔｅｐ４０５）。
【０３７１】
このように、１つの物理アドレスに対応するデータのデータ圧縮率ｃｒａｔｅが、１つの物理アドレスに対応するデータに対する許容圧縮率ＣｐＲａｔｅ以下の場合は、１つの物理アドレスの圧縮データを書込み、１つの物理アドレスに対応するデータのデータ圧縮率ｃｒａｔｅが、１つの物理アドレスに対応するデータに対する許容圧縮率ＣｐＲａｔｅより大きい場合は、複数の物理アドレスに対応するデータを纏めて圧縮することにより、許容圧縮率ＣｐＲａｔｅ以下になるまで圧縮でき、複数の物理アドレスの圧縮データを纏めて書き込むことで、常に、熱ディスターブの影響を防ぐためセットチェインメモリアレイＤＳＣＹ領域を確保し、データを書込むことができる。そのため、熱ディスターブの影響を低減しながら、不揮発性メモリＮＶＭへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。
【０３７２】
図２９Ｃは、情報処理装置ＣＰＵ＿ＣＰから入力されたデータを情報処理回路ＭＮＧＥＲが圧縮し、不揮発性メモリ装置へ書き込む際の、他の書込みフロー図である。
【０３７３】
同図に示す書込みフローは、図２９Ａに示した書込みフローに類似している。すなわち、図２９ＣにおけるＳｔｅｐ５０１〜５０３および５０９は、図２９ＡにおけるＳｔｅｐ４０１〜４０３および４０５に相当する。図２９Ｃに示すフローにおいては、Ｓｔｅｐ５０３（図２９ＡのＳｔｅｐ４０３相当）で、データ圧縮率ｃｒａｔｅが許容圧縮率ＣｐＲａｔｅ以下であると判定された場合、Ｓｔｅｐ５０４において、圧縮された書込みデータに基づいてＥＣＣデータが生成される。圧縮された書込みデータは、“０”となっているビットと、“１”となっているビットの数が、Ｓｔｅｐ５０５においてカウントされる。カウントされた“０”となっているビットの数が、カウントされた“１”となっているビットの数よりも多いか否かの判定が、次にＳｔｅｐ５０６において行われる。“０”となっているビットの数が、“１”となっているビットの数よりも多い場合には、次にＳｔｅｐ５０７が実行され、それ以外の場合には、Ｓｔｅｐ５０８が実行される。
【０３７４】
Ｓｔｅｐ５０７においては、圧縮された書込みデータの各ビットを反転する。この反転されたデータが、物理アドレスにより指定され書込み領域ＷＴ−ＡＲＥＡに書き込まれる。
【０３７５】
また、Ｓｔｅｐ５０７を実行した後、Ｓｔｅｐ５０８を実行した場合、Ｓｔｅｐ５０８では、Ｓｔｅｐ５０７にて反転されたデータは物理アドレスＰＡＤにより指定された書込み領域ＷＴ−ＡＲＥＡのメインデータ領域ＤＡｒｅａに書き込まれ、Ｓｔｅｐ５０４にて生成されたＥＣＣデータと、圧縮＆反転を意味するライトフラグ（ＷＴＦＬＧ＝２＿１）が、物理アドレスＰＡＤにより指定された書込み領域ＷＴ−ＡＲＥＡに対応する冗長領域（ＲＡｒｅａ）に書き込まれる。また、Ｓｔｅｐ５０７を実行せず、Ｓｔｅｐ５０８を実行した場合、Ｓｔｅｐ５０８では、Ｓｔｅｐ５０７にて反転されたデータは物理アドレスＰＡＤにより指定された書込み領域ＷＴ−ＡＲＥＡのメインデータ領域ＤＡｒｅａに書き込まれ、Ｓｔｅｐ５０４にて生成されたＥＣＣデータと、圧縮を意味するライトフラグ（ＷＴＦＬＧ＝２）が、物理アドレスＰＡＤにより指定された書込み領域ＷＴ−ＡＲＥＡに対応する冗長領域（ＲＡｒｅａ）に書き込まれる。
【０３７６】
この様にすることにより、“０”を書き込む（リセットする）ビットを低減することができ、書込みの高速化を図ることができる。
【０３７７】
また、Ｓｔｅｐ５０４において生成されたＥＣＣデータについても、Ｓｔｅｐ５０５〜５０７を適用してもよい。図２９Ｃにおいては、Ｓｔｅｐ５０６において、“０”のビット数が、“１”のビット数よりも少ない場合の処理が省略されている。“０”のビット数が少ない場合には、圧縮された書込みデータを反転せずに、書込み領域ＷＴ−ＡＲＥＡに書き込めばよい。
【０３７８】
（実施の形態７）
＜不揮発性メモリ装置のレイアウト７＞
図３１は、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、ＳＳＤコンフィギュレーション情報（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１とされている。これにより、書込み領域ＷＴ−ＡＲＥＡ（ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡ７）の外側に、１行、１列のダミーチェインメモリアレイＤＣＹが設定される。ダミーチェインメモリアレイが、書込み領域ＷＴ−ＡＲＥＡの外側に設定されるため、一括消去動作により消去される消去領域と、データが書き込まれる（リセットされる）書込み領域ＷＴ−ＡＲＥＡとは、同じサイズになる。
【０３７９】
この実施の形態においては、書込み領域ＷＴ−ＡＲＥＡは、メインデータＭＤＴＡを格納するメインデータ領域ＤＡｒｅａである８行ｘ８列のチェインメモリアレイ（○印）と、冗長データＲＤＡＴＡを格納する冗長データ領域ＲＡｒｅａ領域である１行ｘ８列のチェインメモリアレイ（○印）を含めるため、書込み領域（消去領域）は、９行ｘ８列のチェインメモリアレイにより構成されていることになる。
【０３８０】
この実施の形態においては、ダミーチェインメモリアレイＤＣＹの列と行は、書込み領域ＷＴ−ＡＲＥＡの右側と上側（図３１において）に配置される。そのため、図３１から理解されるように、隣に書込み領域ＷＴ−ＡＲＥＡが隣接しない書込み領域ＷＴ−ＡＲＥＡ（例えばＷＴ−ＡＲＥＡ０）においては、ダミーチェインメモリアレイＤＣＹによって囲まれなくなり、ダミーチェインメモリアレイＤＣＹの数を低減することが可能となる。この様にしても、隣に書込み領域が配置されていないため、熱による信頼性の低下は増加しない。
【０３８１】
＜変形例１：不揮発性メモリ装置のレイアウト８＞
図３２Ａは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、ＳＳＤコンフィギュレーション情報（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１とされている。これにより、書込み領域ＷＴ−ＡＲＥＡ（ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡ７、ＷＴ−ＡＲＥＡ８〜ＷＴ−ＡＲＥＡ１５、ＷＴ−ＡＲＥＡｎ〜ＷＴ−ＡＲＥＡｎ＋７）の外側に、１行、１列のダミーチェインメモリアレイＤＣＹが設定される。ダミーチェインメモリアレイが、書込み領域ＷＴ−ＡＲＥＡの外側に設定されるため、一括消去動作により消去される消去領域ＥＲＳ−ＡＲＥＡ（図示せず）のサイズは、データが書き込まれる（リセットされる）書込み領域ＷＴ−ＡＲＥＡと同じ、あるいは書込み領域の整数倍となる。同図では、書込み領域ＷＴ−ＡＲＥＡは、９行ｘ６４列のチェインメモリアレイＣＹ（○印）により構成されている。この書込み領域ＷＴ−ＡＲＥＡの上側および右側に、１行および１列のダミーチェインメモリアレイＤＣＹが配置されている。
【０３８２】
また、書込み領域ＷＴ−ＡＲＥＡは、メインデータＭＤＴＡを格納するメインデータ領域ＤＡｒｅａである８行ｘ６４列のチェインメモリアレイ（○印）と、冗長データＲＤＡＴＡを格納する１行ｘ６４列の冗長データ領域ＲＡｒｅａを含む。
【０３８３】
書込み領域ＷＴ−ＡＲＥＡ（例えば、ＷＴ−ＡＲＥＡ０）の全チェインメモリアレイＣＹを一括消去（セット）した後、書込み領域ＷＴ−ＡＲＥＡのチェインメモリアレイＣＹ（メインデータ領域ＤＡｒｅａ＋冗長データ領域ＲＡｒｅａ＝（８ｘ６４）＋（１ｘ６４）＝５７６バイト  ）に対してランダムな書込みを行う。あるいは、５１２バイトよりも少ない単位（例えば７２＝（６４＋８）バイト）で、シーケンシャルに書込みを行う。この実施の形態においては、シーケンシャルに書き込む単位に比べて大きな単位（５７６バイト）を、消去領域としている。そのため、消去領域を囲むダミーチェインメモリアレイの数を低減することが可能となり、小型化、ビットコストの低減を図ることができる。
【０３８４】
なお、シーケンシャルな書込みは、例えば、９行ｘ８列に配置されたチェインメモリアレイＣＹを１つの単位として行う。同図には、この単位が、細線で囲まれている。シーケンシャルな書込みは、この単位で、例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３８５】
＜変形例２：不揮発性メモリ装置のレイアウト９＞
図３２Ｂは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、ＳＳＤコンフィギュレーション情報（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿１とされている。これにより、書込み領域ＷＴ−ＡＲＥＡ（ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡ７、ＷＴ−ＡＲＥＡ８〜ＷＴ−ＡＲＥＡ１５、ＷＴ−ＡＲＥＡｎ〜ＷＴ−ＡＲＥＡｎ＋７）の外側に、１行、１列のダミーチェインメモリアレイＤＣＹが設定される。同図では、書込み領域ＷＴ−ＡＲＥＡは、９行ｘ５１２列のチェインメモリアレイＣＹ（○印）により構成されている。この書込み領域ＷＴ−ＡＲＥＡの上側および右側に、１行および１列のダミーチェインメモリアレイＤＣＹが配置されている。
【０３８６】
書込み領域ＷＴ−ＡＲＥＡ（例えば、ＷＴ−ＡＲＥＡ０）の全チェインメモリアレイＣＹを一括消去（セット）した後、書込み領域ＷＴ−ＡＲＥＡのチェインメモリアレイＣＹ（メインデータ領域ＤＡｒｅａ＋冗長データ領域ＲＡｒｅａ＝（８ｘ５１２）＋（１ｘ５１２）＝４６０８バイト  ）に対して書込みを行う。
【０３８７】
書込み領域ＷＴ−ＡＲＥＡは、４６０８バイトより少ない単位である５７６（＝５１２＋６４）を１つの物理アドレスＰＡＤとして、複数の物理アドレスＰＡＤ０〜ＰＡＤｍを含んでいる場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（たとえば、１つの物理アドレスは５１２バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤ０〜ＰＡＤｍをシーケンシャルに割り当てて、書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３８８】
また、１つの書込み領域ＷＴ−ＡＲＥＡが、１つの物理アドレスに対応している場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（たとえば、１つの物理アドレスは４０９６バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤを割り当てて、その物理アドレスＰＡＤ内のチェインメモリアレイＣＹを、５７６（＝５１２＋６４）バイトの単位でシーケンシャルに書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３８９】
この実施の形態においては、シーケンシャルに書き込む単位に比べて大きな単位（たとえば、４６０８バイト）を、消去領域としている。そのため、消去領域を囲むダミーチェインメモリアレイの数を低減することが可能となり、小型化、ビットコストの低減を図ることができる。
【０３９０】
＜変形例３：不揮発性メモリ装置のレイアウト１０＞
図３３Ａは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、ＳＳＤコンフィギュレーション情報（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿０とされている。これにより、書込み領域ＷＴ−ＡＲＥＡ（ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡｎ）の外側に、１行のダミーチェインメモリアレイＤＣＹが設定される。同図では、書込み領域ＷＴ−ＡＲＥＡは、９行ｘ４０９６列のチェインメモリアレイＣＹ（○印）により構成されている。この書込み領域ＷＴ−ＡＲＥＡの上側に、１行のダミーチェインメモリアレイＤＣＹが配置されている。
【０３９１】
書込み領域ＷＴ−ＡＲＥＡ（例えば、ＷＴ−ＡＲＥＡ０）の全チェインメモリアレイＣＹを一括消去（セット）した後、書込み領域ＷＴ−ＡＲＥＡのチェインメモリアレイＣＹ（メインデータ領域ＤＡｒｅａ＋冗長データ領域ＲＡｒｅａ＝（８ｘ４０９６）＋（１ｘ４０９６）＝３６８６４バイト  ）に対して書込みを行う。
【０３９２】
また、書込み領域ＷＴ−ＡＲＥＡは、３６８６４バイトより少ない単位である５７６（＝５１２＋６４）や４６０８（＝８ｘ５１２＋１ｘ５１２）を１つの物理アドレスＰＡＤとして、複数の物理アドレスＰＡＤ０〜ＰＡＤｍを含んでいる場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（１つの物理アドレスは５１２バイトや４０９６バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤ０〜ＰＡＤｍをシーケンシャルに割り当てて、書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３９３】
また、１つの書込み領域ＷＴ−ＡＲＥＡが、１つの物理アドレスに対応している場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（たとえば、１つの物理アドレスは３２７６８バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤを割り当てて、その物理アドレスＰＡＤ内のチェインメモリアレイＣＹを、５７６（＝５１２＋６４）バイトの単位でシーケンシャルに書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３９４】
この実施の形態においては、シーケンシャルに書き込む単位に比べて大きな単位（３６８６４バイト）を、消去領域としている。そのため、消去領域を囲むダミーチェインメモリアレイの数を低減することが可能となり、小型化、ビットコストの低減を図ることができる。また、同図において、左右に隣接する書込み領域が配置されていないため、列を構成するダミーチェインメモリアレイＤＣＹを設ける必要がなく、更なる小型化が図れる。
【０３９５】
＜変形例４：不揮発性メモリ装置のレイアウト１１＞
図３３Ｂは、不揮発性メモリ装置内の一つのメモリアレイＡＲＹの他の例を示す模式的な平面図である。同図においても、●印および○印は、ワード線ＷＬ０〜ＷＬｋとビット線ＢＬ０〜ＢＬｉの交点に配置されたチェインメモリアレイＣＹを示す。この実施の形態においては、ＳＳＤコンフィギュレーション情報（ＳＤＣＦＧ）内のダミーチェインメモリアレイ指定情報（ＸＹＤＭＣ）が、１＿１＿０とされている。これにより、書込み領域ＷＴ−ＡＲＥＡ（ＷＴ−ＡＲＥＡ０〜ＷＴ−ＡＲＥＡ７）の外側に、１行のダミーチェインメモリアレイＤＣＹが設定される。同図では、書込み領域ＷＴ−ＡＲＥＡは、４０９６列ｘ８行のチェインメモリアレイＣＹ（○印）により構成されている。この書込み領域ＷＴ−ＡＲＥＡの上側に、１行のダミーチェインメモリアレイＤＣＹが配置されている。
【０３９６】
図３３Ｂは、図３３Ａと類似している。図３３Ａにおいては、冗長データを格納する冗長データ領域ＲＡｒｅａが、行に配置されたチェインメモリアレイＣＹにより構成されていた。これに対して、図３３Ｂにおいては、冗長データを格納する領域ＲＡｒｅａは、複数の列に配置されたチェインメモリアレイＣＹにより構成される。
【０３９７】
書込み領域ＷＴ−ＡＲＥＡ（例えば、ＷＴ−ＡＲＥＡ０）の全チェインメモリアレイＣＹを一括消去（セット）した後、書込み領域ＷＴ−ＡＲＥＡのチェインメモリアレイＣＹ（メインデータ領域ＤＡｒｅａ＋冗長データ領域ＲＡｒｅａ＝（８ｘ５１２）ｘ８  ＋（８ｘ１６）ｘ８＝４０９６ｘ８＋１２８ｘ８＝  ３２７６８＋  １０２４＝３３７９２バイト  ）に対して書込みを行う。
【０３９８】
また、書込み領域ＷＴ−ＡＲＥＡは、３３３７９２バイトより少ない単位である５２８（＝５１２＋１６）や４２２４（＝８ｘ５１２＋８ｘ１６）を１つの物理アドレスＰＡＤとして、複数の物理アドレスＰＡＤ０〜ＰＡＤｍを含んでいる場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（１つの物理アドレスは５１２バイトや４０９６バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤ０〜ＰＡＤｍをシーケンシャルに割り当てて、書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０３９９】
また、１つの書込み領域ＷＴ−ＡＲＥＡが、１つの物理アドレスに対応している場合、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へランダムに入力される論理アドレスＬＡＤ（たとえば、１つの物理アドレスは３２７６８バイトのデータサイズを持つ）に対して、制御回路ＭＤＬＣＴ０は書込み領域ＷＴ−ＡＲＥＡ内の物理アドレスＰＡＤを割り当てて、その物理アドレスＰＡＤ内のチェインメモリアレイＣＹを、５２８（＝５１２＋１６）バイトの単位でシーケンシャルに書き込みを行う。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０４００】
この実施の形態においては、シーケンシャルに書き込む単位に比べて大きな単位（３３３７９２バイト）を、消去領域としている。そのため、消去領域を囲むダミーチェインメモリアレイの数を低減することが可能となり、小型化、ビットコストの低減を図ることができる。また、同図において、左右に隣接する書込み領域が配置されていないため、列を構成するダミーチェインメモリアレイＤＣＹを設ける必要がなく、更なる小型化が図れる。
【０４０１】
上記した実施の形態において、ダミーチェインメモリアレイＤＣＹのそれぞれは、セット状態に予め設定することが望ましい。これは、例えば、初期設定の際にセットすることにより、実現することができる。しかしながら、初期設定の際ではなく、不揮発性メモリ装置の全物理アドレスＰＡＤへのアクセスが完了するまでは、例えば、情報処理装置ＣＰＵ＿ＣＰから制御回路ＭＤＬＣＴ０へ入力される論理アドレスＬＡＤに対して、物理的に隣接し、連続した書込み領域ＷＴ−ＡＲＥＡと、書込み領域ＷＴ−ＡＲＥＡ内での物理的に隣接し、連続した物理アドレスＰＡＤを選択する。そして、最初に、物理アドレスＰＡＤへ、データを書き込む際には、書込み領域ＷＴ−ＡＲＥＡでの消去動作が、ダミーチェインメモリアレイＤＣＹも含めて、順番に実行される様に、書込み動作を行う様にしてもよい。この場合、同一物理アドレスＰＡＤへの２回目以降の書込み動作においては、ダミーチェインメモリアレイＤＣＹを含めないで、消去動作と書込み動作を行う様にする。この場合、書込み領域ＷＴ−ＡＲＥＡはランダムに選択しても良い。
【０４０２】
上記の具体的な書込み方法の一例を図３４に示す。
【０４０３】
先ず、Ｓｔｅｐ６０１では、図１の情報処理装置ＣＰＵ＿ＣＰから、図２の情報処理回路ＭＮＧＥＲへの書込リクエストを待っており、もし書込みリクエストＷＱが入力されると（Ｓｔｅｐ６０１）、情報処理回路ＭＮＧＥＲは、ライトリクエストＷＱの書込みデータ（ＭＤＡＴＡ）から、ＥＣＣデータを含む冗長データＲＤＡＴＡを生成する（Ｓｔｅｐ６０１）。次に、情報処理回路ＭＮＧＥＲは、書込み領域ＷＴ−ＡＲＥＡ[i]のiの値が最大値以下であるかをチェックする（Ｓｔｅｐ６０２）。ｉの値が、最大値以下であればＳｔｅｐ６０３を行い、それ以外はＳｔｅｐ６０９を行う。ｉの値の最大値はメモリモジュールＮＶＭＤ０の不揮発性メモリＮＶＭ１０〜１７の最大物理容量に含まれる書き込み領域の数によって決まる。
【０４０４】
Ｓｔｅｐ６０３では、書込み領域ＷＴ−ＡＲＥＡ[i]を選択する。次のＳｔｅｐ６０４では、書込み領域ＷＴ−ＡＲＥＡ[i]内の消去領域ＥＲＳ−ＡＲＥＡの消去回数が０以下であるかをチェックする。この消去回数が０以下であればＳｔｅｐ６０５を行い、それ以外はＳｔｅｐ６０９を行う。
【０４０５】
Ｓｔｅｐ６０５では、書込み領域ＷＴ−ＡＲＥＡ[i]内の消去領域ＥＲＳ−ＡＲＥＡのチェインメモリアレイＣＹと、この消去領域ＥＲＳ−ＡＲＥＡの外側へ配置されているダミーチェインメモリアレイＤＣＹの全メモリセルを消去状態（Ｓｅｔ状態）とする。
【０４０６】
次のＳｔｅｐ６０６では、書込み領域ＷＴ−ＡＲＥＡ[i]の中の、物理的に隣接し配置されている物理アドレスＰＡＤを順番に選択し、その選択された物理アドレスＰＡＤに含まれるメインデータ領域ＤＡｒｅａへ書込みデータ（ＭＤＡＴＡ）を書き込み、冗長データ領域ＲＡｒｅａへ冗長データＲＤＡＴＡを書き込む。
【０４０７】
次のＳｔｅｐ６０７では、書込み領域ＷＴ−ＡＲＥＡ[i]に含まれている全ての物理アドレスＰＡＤに対して書込みが行われたかをチェックする。もし書込み領域ＷＴ−ＡＲＥＡ[i]に含まれている全ての物理アドレスＰＡＤ書込みが行われていれば、Ｓｔｅｐ６０８を行い、それ以外は、Ｓｔｅｐ６０１を行う。Ｓｔｅｐ６０８ではｉの値を１つ加算した新たなｉの値を決定する。ｉの値が連続に決定されることにより、物理的に隣接し配置されている書込み領域ＷＴ−ＡＲＥＡを選択することになる。Ｓｔｅｐ６０８終了後、Ｓｔｅｐ６０１を行う。
【０４０８】
Ｓｔｅｐ６０９では、メモリモジュールＮＶＭＤ０の不揮発性メモリ装置ＮＶＭ１０〜１７の全書き込み領域ＷＴ−ＡＲＥＡ（物理アドレスＰＡＤ）への書込みアクセスが１回だけ完了し、不揮発性メモリ装置ＮＶＭ１０〜１７に含まれる全ダミーチェインメモリアレイＤＣＹの全メモリセルは消去状態（Ｓｅｔ状態）となったため、２回目以降の書込み動作においては、これまでに説明した様に、ダミーチェインメモリアレイＤＣＹを含めないで、消去動作と書込み動作を行う。この場合、書込み領域ＷＴ−ＡＲＥＡはランダムに選択することができる。
【０４０９】
図３３Ｂを参照すれば、書込み領域ＷＴ−ＡＲＥＡ０は物理アドレスＰＡＤ０〜７を含み、書込み領域ＷＴ−ＡＲＥＡ１は物理アドレスＰＡＤ８〜１５を含み、書込み領域ＷＴ−ＡＲＥＡｎは物理アドレスＰＡＤｍ〜ｍ＋７を含む。
【０４１０】
Ｓｔｅｐ６０３では、書込み領域ＷＴ−ＡＲＥＡ０が選択され、Ｓｔｅｐ６０５にて、書込み領域ＷＴ−ＡＲＥＡ０内の消去領域ＥＲＳ−ＡＲＥＡのチェインメモリアレイＣＹと、消去領域ＥＲＳ−ＡＲＥＡの外側の１行に配置されているダミーチェインメモリアレイＤＣＹ内の全メモリセルを消去状態（Ｓｅｔ状態）とする。図３３Ｂの場合、書込み領域ＷＴ−ＡＲＥＡと消去領域ＥＲＳ−ＡＲＥＡは同じ領域である。
【０４１１】
次に、Ｓｔｅｐ６０６にて、書込み領域ＷＴ−ＡＲＥＡ０の中の物理アドレスＰＡＤ０から順にＰＡＤ７まで、書込みが行われる。例えば同図において、左から右に向かって書込みを行うことにより実施される。
【０４１２】
書込み領域ＷＴ−ＡＲＥＡ０の全物理アドレスＰＡＤ０〜７の書き込みが終了すると、Ｓｔｅｐ６０６にてｉの値を１つ加算し、ｉ＝１（＝０＋１）とする。これによって、次の書き込みのために、書込み領域ＷＴ−ＡＲＥＡ０へ隣接している書込み領域ＷＴ−ＡＲＥＡ１が選択され同様の書込み動作が繰り返される。
【０４１３】
書込み領域ＷＴ−ＡＲＥＡが複数の物理アドレスＰＡＤを含む場合について説明したが、書込み領域ＷＴ−ＡＲＥＡが１つ物理アドレスＰＡＤのみを含む場合についても同様の動作を行えることは言うまでもない。
【０４１４】
この様な書込み方法によって、データを書込みながら、ダミーチェインメモリアレイＤＣＹをセット状態にでき、初期設定の際にダミーチェインメモリアレイＤＣＹをセット状態にする時間が必要なく、初期設定時間が短縮でき、すぐに、メモリモジュールＮＶＭＭＤ０を利用することができる。
【０４１５】
（まとめ）
以上に説明した各実施の形態によって得られる主な効果は以下の通りである。
【０４１６】
第１に、同時に複数のチェインメモリアレイＣＹ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。第２に、チェインメモリアレイＣＹの消去後、データ“０”のみメモリセルへ書き込まれるため書き込み速度が向上することができる。第３にチェインメモリアレイＣＹ内の全てのメモリセルに対して、一旦、セット状態およびリセット状態の中の一方の状態を一括して書き込んだ後（消去後）、他方の状態を特定のメモリセルに書き込むような方式を用いることで、安定した書込み動作が実現可能となる。第４に、書込み領域ＷＴ―ＡＲＥＡ間にダミーチェインメモリアレイＤＣＹが存在することで、熱ディスターブに影響なく、書込み領域ＷＴ―ＡＲＥＡへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。第５に、ダミーチェインメモリアレイＤＣＹをどの様に配置するかは不揮発性メモリ装置内の初期設定領域へプログラム可能であり、メモリモジュールＮＶＭＭＤ０が要求される機能、性能及び信頼性のレベルに合わせて柔軟に対応することができる。
【０４１７】
第６に、書き込みデータ（ＤＡＴＡ０）の中で、“０”のビットデータ数が“１”のビットデータ数より多い場合、書き込みデータの各ビットを反転させることで、“０”のビットデータの数が常に１／２以下となる。これにより、“０”のビットデータを書き込む量を半減でき、低電力と高速化を両立するメモリモジュールを実現できる。第７に、セットチェインメモリアレイＤＳＣＹは、書込み領域ＷＴ―ＡＲＥＡ間の熱ディスターブの影響を緩和する緩衝領域と、データ“１”を記録しているメモリアレイの双方の役割を担うことができるため、不揮発性メモリの記憶容量のペナルティの上昇を防ぎながら、熱ディスターブの影響を低減し、書込み領域ＷＴ―ＡＲＥＡへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。第８に、セットチェインメモリアレイＤＳＣＹをどの様に配置するかは不揮発性メモリ装置内の初期設定領域へプログラム可能であり、メモリモジュールＮＶＭＭＤ０が要求される機能、性能及び信頼性のレベルに合わせて柔軟に対応することができる。第９に、データを圧縮することで、セットチェインメモリアレイＤＳＣＹを確保できるため、熱ディスターブの影響を低減しながら、書込み領域ＷＴ―ＡＲＥＡへ高信頼にデータを書込み、保持でき、信頼性の高いメモリモジュールを提供できる。第１０に、図２３Ｂ等で述べたように、ライトリクエストのバッファへの格納と、書き込み事前準備と、相変化メモリへの書き込み動作をパイプライン的に処理することで、高性能な情報処理システムを実現できる。
【０４１８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、実施の形態においては、主に相変化メモリを代表として説明を行ったが、ＲｅＲＡＭ等を含めた抵抗変化型のメモリであれば、同様に適用して同様の効果が得られる。
【０４１９】
また、実施の形態において、複数のメモリセルが半導体基板に対して高さ方向に順に積層して配置される３次元構造のメモリを代表として説明を行ったが、半導体基板に対して高さ方向に１つのメモリセルが配置される２次元構造のメモリにおいても同様に適用して同様の効果が得られる。
【符号の説明】
【０４２０】
ＡＤＣＭＤＩＦ…アドレス・コマンドインターフェース回路、ＡＲＢ…調停回路、ＡＲＹ…メモリアレイ、ＢＫ…メモリバンク、ＢＬ…ビット線、ＢＳＷ…ビット線選択回路、ＢＵＦ…バッファ、ＣＡＤＬＴ…カラムアドレスラッチ、ＣＨ…チェイン制御線、ＣＨＤＥＣ…チェインデコーダ、ＣＨＬＴ…チェイン選択アドレスラッチ、ＣＬ…相変化メモリセル、ＣＯＬＤＥＣ…カラムデコーダ、ＰＡＤ…物理アドレス、ＣＰＡＤ…物理アドレス、ＣＰＵ＿ＣＰ…情報処理装置（プロセッサ）、ＣＰＶＬＤ…有効フラグ、ＣＴＬＯＧ…制御回路、ＣＹ…チェインメモリアレイ、Ｄ…ダイオード、ＤＡＴＣＴＬ…データ制御回路、ＤＢＵＦ…データバッファ、ＤＳＷ…データ選択回路、ＤＴ…データ線、ＥＮＵＭ…エントリー番号、ＨＤＨ＿ＩＦ…インターフェース信号、ＨＯＳＴ＿ＩＦ…インターフェース回路、ＩＯＢＵＦ…ＩＯバッファ、ＬＡＤ…論理アドレス、ＬＲＮＧ…論理アドレス領域、ＬＰＴＢＬ…アドレス変換テーブル、ＬＹ…メモリセル選択線、ＬＹＣ…レイヤ番号、ＬＹＮ…データ書込みレイヤ情報、ＭＡＰＲＥＧ…マップレジスタ、ＭＤＬＣＴ…制御回路、ＭＮＥＲＣ…最小消去回数、ＭＮＧＥＲ…情報処理回路、ＭＮＩＰＡＤ…無効物理オフセットアドレス、ＭＮＶＰＡＤ…有効物理オフセットアドレス、ＭＸＥＲＣ…最大消去回数、ＭＸＩＰＡＤ…無効物理オフセットアドレス、ＭＸＶＰＡＤ…有効物理オフセットアドレス、ＮＶＣＴ…メモリ制御回路、ＮＶＭ…不揮発性メモリ装置、ＮＶＭＭＤ…メモリモジュール、ＮＶＲＥＧ…イレースサイズ指定レジスタ、ＮＸＬＹＣ…レイヤ番号、ＮＸＰＡＤ…書込み物理アドレス、ＮＸＰＡＤＴＢＬ…書込み物理アドレステーブル、ＮＸＰＥＲＣ…消去回数、ＮＸＰＴＢＬ…書込み物理アドレステーブル、ＮＸＰＶＬＤ…有効フラグ、ＰＳＥＧＴＢＬ…物理セグメントテーブル、ＰＡＤ…物理アドレス、ＰＡＤＴＢＬ…物理アドレステーブル、ＰＥＲＣ…消去回数、ＰＰＡＤ…物理オフセットアドレス、ＰＲＮＧ…物理アドレス領域、ＰＶＬＤ…有効フラグ、Ｒ…記憶素子、ＲＡＤＬＴ…ロウアドレスラッチ、ＲＡＭ…ランダムアクセスメモリ、ＲＡＭＣ…メモリ制御回路、ＲＥＦ＿ＣＬＫ…基準クロック信号、ＲＥＧ…レジスタ、ＲＯＷＤＥＣ…ロウデコーダ、ＲＳＴＳＩＧ…リセット信号、ＳＡ…センスアンプ、ＳＧＡＤ…物理セグメントアドレス、ＳＬ…チェインメモリアレイ選択線、ＳＴＲＥＧ…ステータスレジスタ、ＳＷＢ…読み書き制御ブロック、ＳＹＭＤ…クロック生成回路、Ｔｃｈ…チェイン選択トランジスタ、Ｔｃｌ…メモリセル選択トランジスタ、ＴＨＭＯ…温度センサ、ＴＮＩＰＡ…無効物理アドレス総数、ＴＮＶＰＡ…有効物理アドレス総数、ＷＤＲ…ライトドライバ、ＷＬ…ワード線、ＷＶ…書込みデータ検証回路
【図１】
2015059811.tif 000005
【図２】
2015059811.tif 000006
【図６Ａ】
2015059811.tif 000007
【図６Ｂ】
2015059811.tif 000008
【図７】
2015059811.tif 000009
【図８Ａ】
2015059811.tif 000010
【図８Ｂ】
2015059811.tif 000011
【図１３】
2015059811.tif 000012
【図１５】
2015059811.tif 000013
【図１６】
2015059811.tif 000014
【図１７Ａ】
2015059811.tif 000015
【図１７Ｂ】
2015059811.tif 000016
【図１７Ｃ】
2015059811.tif 000017
【図１８Ａ】
2015059811.tif 000018
【図１８Ｂ】
2015059811.tif 000019
【図１９Ａ】
2015059811.tif 000020
【図１９Ｂ】
2015059811.tif 000021
【図２０Ａ】
2015059811.tif 000022
【図２０Ｂ】
2015059811.tif 000023
【図２１Ａ】
2015059811.tif 000024
【図２１Ｂ】
2015059811.tif 000025
【図２２】
2015059811.tif 000026
【図２３Ａ】
2015059811.tif 000027
【図２３Ｂ】
2015059811.tif 000028
【図２６Ａ】
2015059811.tif 000029
【図２９Ａ】
2015059811.tif 000030
【図２９Ｃ】
2015059811.tif 000031
【図３０】
2015059811.tif 000032
【図３４】
2015059811.tif 000033
【図３Ａ】
2015059811.tif 000034
【図３Ｂ】
2015059811.tif 000035
【図４】
2015059811.tif 000036
【図５Ａ】
2015059811.tif 000037
【図５Ｂ】
2015059811.tif 000038
【図５Ｃ】
2015059811.tif 000039
【図９Ａ】
2015059811.tif 000040
【図９Ｂ】
2015059811.tif 000041
【図１０Ａ】
2015059811.tif 000042
【図１０Ｂ】
2015059811.tif 000043
【図１１Ａ】
2015059811.tif 000044
【図１１Ｂ】
2015059811.tif 000045
【図１１Ｃ】
2015059811.tif 000046
【図１２Ａ】
2015059811.tif 000047
【図１２Ｂ】
2015059811.tif 000048
【図１２Ｃ】
2015059811.tif 000049
【図１４】
2015059811.tif 000050
【図２４】
2015059811.tif 000051
【図２５】
2015059811.tif 000052
【図２６Ｂ】
2015059811.tif 000053
【図２７】
2015059811.tif 000054
【図２８】
2015059811.tif 000055
【図２９Ｂ】
2015059811.tif 000056
【図３１】
2015059811.tif 000057
【図３２Ａ】
2015059811.tif 000058
【図３２Ｂ】
2015059811.tif 000059
【図３３Ａ】
2015059811.tif 000060
【図３３Ｂ】
2015059811.tif 000061
【手続補正書】
【提出日】平成28年11月22日(2016.11.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、第１メモリアレイを挟むように配置された第２メモリアレイおよび第３メモリアレイを備え、
前記第２メモリアレイおよび前記第３メモリアレイのそれぞれは、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記第１メモリアレイは、前記第２メモリアレイの近接する辺および前記第３メモリアレイの近接する辺に沿って配置された複数のメモリセル群を有し、
前記制御回路は、
前記第１メモリアレイにおいて、前記第２メモリアレイの前記辺と前記第３メモリアレイの前記辺との間に配置されるメモリセル群の数を指定する第１メモリアレイ指定情報を備え、
前記第２メモリアレイにおいて互いに隣接して配置されている複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルに対して、第１論理レベルを一括して書込み、
前記第１メモリアレイ指定情報で指定された数のメモリセル群を有する前記第１メモリアレイに配置されている複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルに対して、前記第１論理レベルへの書込みを行わない、半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記制御回路は、
前記第２メモリアレイへ前記第１論理レベルを書き込んだ後、外部から入力された書込みデータに従って前記第２メモリアレイに含まれるメモリセルに対して、前記第１論理レベルと異なる第２論理レベルを書き込む、半導体装置。
【請求項３】
請求項１に記載の半導体装置において、
前記制御回路は、
前記第１メモリアレイのメモリセル群のメモリセルには、前記第１論理レベルが書き込まれたと見なす、半導体装置。
【請求項４】
請求項１に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項５】
請求項１に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項６】
請求項４または５に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第２メモリアレイへ書き込む、半導体装置。
【請求項７】
請求項４または５に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第２メモリアレイへ書き込む、半導体装置。
【請求項８】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、第１メモリアレイを挟むように配置された第２メモリアレイおよび第３メモリアレイを備え、
前記第２メモリアレイおよび前記第３メモリアレイのそれぞれは、
複数のワード線と、
前記複数のワード線と交差する複数のビット線と、
前記複数のワード線と前記複数のビット線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
互いに直列に接続された第１〜第Ｎメモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記第１〜第Ｎメモリセルのそれぞれは、
前記第１〜第Ｎメモリセル選択線のうちの１の選択線に接続されたゲート電極を有する選択トランジスタと、
前記選択トランジスタに並列に接続された抵抗性記憶素子と、を有し、
前記第１メモリアレイは、前記第２メモリアレイの近接する辺および前記第３メモリアレイの近接する辺に沿って配置された複数のメモリセル群を有し、
前記制御回路は、
前記第１メモリアレイにおいて、前記第２メモリアレイの前記辺と前記第３メモリアレイの前記辺との間に配置されるメモリセル群の数を指定する第１メモリアレイ指定情報を備え、
前記第２メモリアレイにおいて互いに隣接して配置されている複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルに対して、第１論理レベルを一括して書込み、
前記第１メモリアレイ指定情報で指定された数のメモリセル群を有する前記第１メモリアレイに配置されているメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルに対して、前記第１論理レベルへの書込みを行わない、半導体装置。
【請求項９】
請求項８に記載の半導体装置において、
前記制御回路は、
前記第２メモリアレイへ前記第１論理レベルを書き込んだ後、外部から入力された書込みデータに従って前記第２メモリアレイに含まれるメモリセルに対して、前記第１論理レベルとは異なる第２論理レベルを書き込む、半導体装置。
【請求項１０】
請求項８に記載の半導体装置において、
前記制御回路は、前記第１メモリアレイのメモリセル群には、前記第１論理レベルが書き込まれたと見なす、半導体装置。
【請求項１１】
請求項８に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項１２】
請求項８に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項１３】
請求項１１または１２に記載の半導体装置において、
前記複数のメモリセル群のそれぞれに含まれる前記第１〜第Ｎメモリセルのそれぞれは、半導体基板の垂直方向に順に積層され、互いに直列に接続されるメモリセルである、半導体装置。
【請求項１４】
請求項１１または１２に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第２メモリアレイへ書き込む、半導体装置。
【請求項１５】
請求項１１または１２に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第２メモリアレイへ書き込む、半導体装置。
【請求項１６】
不揮発性メモリ部と、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリ部の前記物理アドレスにアクセスを行う制御回路と、を有し、
前記不揮発性メモリ部は、第１メモリアレイを挟むように配置された第２メモリアレイおよび第３メモリアレイを備え、
前記第２メモリアレイおよび前記第３メモリアレイのそれぞれは、
複数の第１信号線と、
前記複数の第１信号線と交差する複数の第２信号線と、
前記複数の第１信号線と前記複数の第２信号線の交点に配置される複数のメモリセル群と、を有し、
前記複数のメモリセル群のそれぞれは、
第１〜第Ｎ（Ｎは２以上の整数）メモリセルと、
前記第１〜第Ｎメモリセルをそれぞれ選択する第１〜第Ｎメモリセル選択線と、を有し、
前記第１メモリアレイは、前記第２メモリアレイの近接する辺および前記第３メモリアレイの近接する辺に沿って配置された複数のメモリセル群を有し、
前記制御回路は、
前記第１メモリアレイにおいて、前記第２メモリアレイの前記辺と前記第３メモリアレイの前記辺との間に配置されるメモリセル群の数を指定する第１メモリアレイ指定情報を備え、
前記第１メモリアレイおよび前記第２メモリアレイに配置されている複数のメモリセル群のそれぞれにおける前記第１〜第Ｎメモリセルに対して、第１論理レベルを一括して書込む、半導体装置。
【請求項１７】
請求項１６に記載の半導体装置において、
前記制御回路は、
前記第２メモリアレイへ前記第１論理レベルを書き込んだ後、外部から入力された書込みデータに従って前記第２メモリアレイに含まれるメモリセルに対して、前記第１論理レベルと異なる第２論理レベルを書き込む、半導体装置。
【請求項１８】
請求項１６に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの前記物理アドレスに対応するデータ量以上のデータ容量を有する、半導体装置。
【請求項１９】
請求項１６に記載の半導体装置において、
前記第２メモリアレイおよび前記第３メモリアレイは、前記制御回路が管理する１つの物理アドレスに対応するデータ量よりも小さいデータ容量を有する、半導体装置。
【請求項２０】
請求項１８または１９に記載の半導体装置において、
前記制御回路は、外部から入力された書込みデータを圧縮し、圧縮されたデータを、前記第１論理レベルとは異なる第２論理レベルとして、前記第２メモリアレイへ書き込む、半導体装置。
【請求項２１】
請求項１８または１９に記載の半導体装置において、
前記半導体装置には、それぞれが前記第１論理レベルの複数のビットと、それぞれが、前記第１論理レベルとは異なる第２論理レベルの複数のビットとを含む書込みデータが供給され、
前記制御回路は、書込みデータに含まれている前記第２論理レベルのビットの数が前記第１論理レベルのビットの数より多いとき、前記書込みデータの各ビットを反転させ、前記第２メモリアレイへ書き込む、半導体装置。
【国際調査報告】
2015059811.tif 000062
2015059811.tif 000063
2015059811.tif 000064
2015059811.tif 000065