(57)【特許請求の範囲】
【請求項１】
不揮発性メモリ装置と前記不揮発性メモリ装置へのアクセスを行う制御回路装置とを含んで成る半導体装置であって、
前記制御回路装置は、外部からの、第１種のアドレスである第１アドレス及び第１データを含む第１書込み要求に対し、当該第１種のアドレスに対して当該第１種のアドレスとは独立に前記不揮発性メモリ装置の第２種のアドレスを割当てる制御を行い、
前記制御回路装置は、前記第１書込み要求の第１アドレスに対する第２種のアドレスである第２アドレスを割り当て、
外部から前記制御回路装置へ入力される第２書込み要求に含まれる前記第１種のアドレスである第３アドレスに対する第２種のアドレスである第４アドレスを、前記不揮発性メモリ装置の前記第２アドレスへの前記第１データの前記第１書込み動作中に、割り当てる、半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記制御回路装置は、第１のテーブルを装備しており、前記第１書込み動作中に、Ｎ個分（Ｎは１以上）の前記第２種のアドレスを前記第１のテーブルへ登録する、半導体装置。
【請求項３】
請求項２記載の半導体装置において、
前記制御回路装置は、前記不揮発性メモリ装置へのデータの書込と消去を行い、前記第２種のアドレスの中で、すでに、データが消去されているアドレスを、前記第１のテーブルへ登録する、半導体装置。
【請求項４】
請求項３記載の半導体装置において、
前記制御回路装置は、前記第１種のアドレスへ、前記第１のテーブルへ登録された前記第２種のアドレスを割り当て、前記不揮発性メモリ装置の当該第２種のアドレスへデータを書込む、半導体装置。
【請求項５】
請求項２記載の半導体装置において、
前記半導体装置は、外部から前記制御回路装置へ入力される書込み要求に含まれるデータを保持するメモリ装置を装備しており、
前記メモリ装置の容量は、前記第１のテーブルへ登録されたＮ個分（Ｎは１以上）の前記第２種のアドレスによって、書き込まれるデータの容量以上である、半導体装置。
【請求項６】
請求項５記載の半導体装置において、
前記制御回路装置に前記メモリ装置を装備している、半導体装置。
【請求項７】
請求項２記載の半導体装置において、
前記制御回路装置によって、前記Ｎ値はプログラム可能である、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリやＩＣなどの半導体装置の技術に関し、特に、不揮発性メモリ装置と制御回路装置とを含んで成る装置（メモリモジュール）及びその情報処理システムにおける、制御回路装置による不揮発性メモリ装置の制御方法に適用して有効な技術に関する。
【背景技術】
【０００２】
不揮発性メモリ装置として、例えば、ＮＡＮＤ型フラッシュメモリ（ＳＳＤなど）、抵抗変化型不揮発性メモリ（相変化メモリやＲｅＲＡＭなど）、等がある。
【０００３】
［（１）ＮＡＮＤ型フラッシュメモリ］
ＮＡＮＤ型フラッシュメモリは、ＳＳＤ（Solid State Drive）やメモリカードなどのストレージ装置へ利用されている。複数のＮＡＮＤ型フラッシュメモリとコントローラとから構成されるＳＳＤは、サーバー機器、ラップトップＰＣ、ネットブック（ノートＰＣ）などへ利用されている。
【０００４】
ＮＡＮＤ型フラッシュメモリについては、例えば、非特許文献４などに記載されている。非特許文献４に示されるＮＡＮＤ型フラッシュメモリでは、消去回数の上限があり、また、データ書き込みサイズとデータ消去サイズが大きく異なる。
【０００５】
ＮＡＮＤ型フラッシュメモリの制御方法については、例えば、特許文献１，２，３，４などに開示されている。
【０００６】
ＮＡＮＤ型フラッシュメモリの特性を挙げると、（１）メモリ領域の消去回数の上限があること、（２）データ書き込みサイズ（「ページ」）とデータ消去サイズ（「ブロック」）とが大きく異なること、及び（３）上書き不可能であること（一旦読み出して消去した後にまとめて書き込むといった動作が必要であること）、等がある。特に上記（１）は装置の寿命の問題に関連し、上記（２），（３）はデータ書き込み等の非効率性（処理効率）の問題に関連する。
【０００７】
［（２）抵抗変化型不揮発性メモリ（相変化メモリ等）］
抵抗変化型不揮発性メモリとして、相変化メモリ（Phase Change Memory）、抵抗変化メモリ（ＲｅＲＡＭ：Resistive RAM）、等が開発されている。
【０００８】
相変化メモリの特性を挙げると、（１）メモリ領域の書き込み回数の上限があること、（２）データ書き込みサイズとデータ消去サイズとが同じで小さいこと、（３）上書き可能であること、（４）データ書き込み後のメモリセル（素子）の抵抗値にバラツキが生じ得ること、等がある。特に上記（１）は装置の寿命の問題に関連し、上記（２），（３）はデータ書き込み等の効率性（処理効率）の問題に関連し、上記（４）はデータ読み出し等の不安定性（信頼性）の問題に関連する。
【０００９】
相変化メモリにおけるデータ消去動作としては、例えば、図１６に示すように、制御回路から対象のメモリ領域に対して一様にリセットパルス（１６０１）を印加し、これにより対象メモリセルの値（抵抗値）を同じ（例えば記憶情報‘１’）にする。
【００１０】
更に、本発明者等が検討した技術として、例えば相変化メモリを含む半導体装置においては、以下の技術が考えられる。
【００１１】
記憶素子は、少なくともアンチモン（Ｓｂ）とテルル（Ｔｅ）を含むＧｅ−Ｓｂ−Ｔｅ系、Ａｇ−Ｉｎ−Ｓｂ−Ｔｅ系などのカルコゲナイド材料（または相変化材料）を記録層の材料として用いている。また、選択素子はダイオードを用いている。このように、カルコゲナイド材料とダイオードを用いた相変化メモリ（メモリセル）の特性については、例えば非特許文献１で述べられている。
【００１２】
図１６において、従来技術例として、相変化材料を用いた抵抗性記憶素子（相変化メモリセル）における相変化に必要なパルス幅と温度との関係を示す。この記憶素子に記憶情報‘０’を書き込む場合、素子をカルコゲナイド材料の融点Ｔａ以上に熱してから急冷するようなリセットパルス（１６０１）を印加する。冷却時間ｔ１を短く、例えば約１ｎｓに設定することにより、カルコゲナイド材料は高抵抗のアモルファス（非晶質）状態となる。逆に、記憶情報‘１’を書き込む場合、記憶素子を融点Ｔａよりも低く、ガラス転移点と同じかそれよりも高い結晶化温度Ｔｘよりも高い温度領域に保つようなセットパルス（１６０２）を印加することにより、カルコゲナイド材料は低抵抗の多結晶状態となる。結晶化に要する時間ｔ２はカルコゲナイド材料の組成によって異なる。図１６に示した素子の温度は、記憶素子自身が発するジュール熱、及び周囲への熱拡散に依存する。
【００１３】
また、非特許文献２に記載されているように、相変化メモリは、抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電力が小さくなる。このため、原理上、微細化に向いており、研究が盛んに行われている。
【００１４】
また、非特許文献３には、カルコゲナイド材料の低抵抗化に１２０ｎｓ、高抵抗化に５０ｎｓ程度の時間を要する相変化メモリが記載されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００８−１４６２５５号公報
【特許文献２】特開平０７−１５３２８５号公報
【特許文献３】特開２００２−５３３８１０号公報
【特許文献４】特開２００４−２４０５７２号公報
【非特許文献】
【００１６】
【非特許文献１】「アイ・イー・イー・イー、インターナショナル・ソリッド・ステート・サーキット・カンファレーンス、ダイジェスト・オブ・テクニカル・ペーパーズ（IEEE International Solid-State Circuits Conference、 Digest of Technical Papers）」、（米国）、２００７年、ｐ．４７２−４７３
【非特許文献２】「アイ・イー・イー・イー、インターナショナル・エレクトロン・デバイシズ・ミーティング、テクニカル・ダイジェスト（IEEE International Electron Devices meeting、TECHNICAL DIGEST）」、（米国）、２００１年、ｐ．８０３−８０６
【非特許文献３】「アイ・イー・イー・イー、ジャーナル・オブ・ソリッド・ステート・サーキット（IEEE JOURNAL OF SOLID-STATE CIRCUIT, VOL. 40, No1, JANUARY 2005）」、（米国）、２００５年、ｐ．２９３−３００
【非特許文献４】ＮＡＮＤ型フラッシュのデータシート（TC58NVG2S3ETA00）
【発明の概要】
【発明が解決しようとする課題】
【００１７】
前述のように、不揮発性メモリ装置として、ＮＡＮＤ型フラッシュメモリ、抵抗変化型不揮発性メモリ（相変化メモリ）、等のいずれにおいても、寿命、信頼性、処理効率、等の面に関して、それぞれ利点以外に問題点や改善余地がある。
【００１８】
本発明者等は、（１）ＮＡＮＤ型フラッシュメモリ（その制御方法など）について、及び更に、（２）抵抗変化型不揮発性メモリ（カルコゲナイド材料から成る記録層とダイオードを用いた相変化メモリの抵抗値の特性など）について、それぞれ以下のように検討した。
【００１９】
［（１）ＮＡＮＤ型フラッシュメモリの検討］
例えば４ＧbitのＮＡＮＤ型フラッシュメモリ（非特許文献４等）は、2048＋64＝2112バイトから成るページと、６４個のページから成るブロック（131072＋4096＝135168バイト）と、4096ブロックから成るチップとで構成されている。
【００２０】
また、ＳＳＤは、複数のＮＡＮＤ型フラッシュメモリと、これらのフラッシュメモリを制御するコントローラ（フラッシュコントローラ）とで構成されている。またホストコントローラ（情報処理装置）とＳＳＤ（フラッシュコントローラ）とはＳＡＴＡインターフェースによって接続されている。ホストコントローラからＳＳＤへ１ページ分のデータ書込み命令が生じた場合のメモリ（ＮＡＮＤ型フラッシュメモリ）へのデータ書込み動作について以下に説明する。
【００２１】
上記メモリへのデータ書込みはページ単位で行われ、当該データ書込みの際、コントローラは、一旦、メモリから１ブロック分のデータ（135168バイト）を読み出し、この１ブロック分のデータを消去した後に、新たな１ページ分のデータ（2112バイト）を書き込む、といった動作の必要がある。即ち、上記データ書込みは、［ブロック読出動作］＋［ブロック消去動作］＋［ページ書込動作］により実現される。
【００２２】
また上記ＮＡＮＤ型フラッシュメモリには、最大消去可能回数（ＥＭＡＸとする）があり、この最大消去可能回数ＥＭＡＸを超えてしまうと、当該メモリに保存されているデータは保証されなくなり、即ち当該メモリを利用したＳＳＤ等は寿命を迎えることになる。従って、ＳＳＤ等の寿命を延ばすためには、効率良いデータ消去方法（データ消去の制御を含む方式）が必要である。
【００２３】
しかしながら、上記メモリでは、前述のようにデータ書込み単位（ページ）とデータ消去単位（ブロック）とが大きく異なっており、例えば１ページ分のデータ（2112バイト）を書き込む際に、その６４倍のデータサイズである１ブロック分（135168バイト）を消去する必要がある。即ち、データ消去を含む処理動作が非常に非効率的であり、当該メモリを利用したＳＳＤ等の寿命を改善することは困難であると判明した。
【００２４】
更には、上記１ページ分のデータ（2112バイト）を書き込む際に１ブロック分のデータ（135168バイト）を消去する前に、この１ブロック分のデータを読み出す必要があり、書込み性能が劣化することが判明した。
【００２５】
［（２）抵抗変化型不揮発性メモリ（相変化メモリ等）の検討］
抵抗変化型不揮発性メモリである相変化メモリ等のメモリは、前述のように、データ書き込み回数の上限値はあるが、データの上書きが可能であり、その最小単位は１バイトと小さく、つまり必要なデータサイズ分のみを書き換え可能であることが判明した。
【００２６】
そこで本発明の課題の１つは、上記相変化メモリ等の抵抗変化型不揮発性メモリの特性（利点）を用いて、当該メモリ及びその制御回路を備えて成るメモリモジュール（装置）の長寿命化を図ることである。
【００２７】
更に、特に相変化メモリについて検討した内容を以下に示す。相変化メモリへのデータ書込みでは、電流により発生するジュール熱を制御することにより相変化メモリセルの抵抗値を制御する。このジュール熱による熱履歴のために生じたメモリセルの電気特性の差によって、通常の書換え動作後の抵抗値にバラツキが発生するという問題があることが判明した。また、メモリセルへデータを上書きする場合においては、書換え後の状態の差異によって、抵抗値が変動するため、メモリセル間の抵抗バラツキが大きくなり、特性に大きな影響を及ぼすことが判明した。
【００２８】
そこで本発明の課題の１つは、上記相変化メモリ等のメモリ及びその制御回路を備えて成るメモリモジュール（装置）に関して、制御回路からメモリへのデータ書込み等の方法を工夫することにより、長寿命化や高信頼性などを図ることである。
【００２９】
以上のような検討を踏まえ、本発明の主な目的は、メモリを含んで構成される半導体装置などに係わり、長寿命化や高信頼性などを実現できる技術を提供することである。
【課題を解決するための手段】
【００３０】
上記目的を達成するため、本発明のうち代表的な形態は、メモリ装置及び制御回路（コントローラ）を含んで構成されるメモリモジュール（半導体装置）等であって、以下に示す構成を有することを特徴とする。
【００３１】
本形態の半導体装置は、不揮発性メモリ装置と不揮発性メモリ装置へのアクセスを行う制御回路装置とを含んで成る半導体装置であって、不揮発性メモリ装置は、上書き可能な特性であり、制御回路装置は、不揮発性メモリ装置のアドレス領域へのデータの書込と消去のサイズを同じにするように、所定の管理情報を用いて制御を行い、外部からの、第１種のアドレス及び書込みデータを伴うデータ書込みの要求に対し、当該第１種のアドレスに対して当該第１種のアドレスとは独立に不揮発性メモリ装置の連続的な第２種のアドレスを割当てる制御を行い、前記要求が、第１種のアドレスに対して割当てられている第２種のアドレスに対応する第１の領域の書込みデータに対する上書き要求である場合、データ上書き動作を行わずに、（ａ）第１の領域の書込みデータの消去動作、または当該第１の領域のフラグ値を無効状態に設定する無効化動作と、（ｂ）第１の領域とは別に割当てられる第２の領域に対応する第２種のアドレスに対する書込みデータの書込動作、または当該第２の領域のフラグ値を有効状態に設定する有効化動作と、の２種類の動作のセットによりデータ書込みを実現する。
【発明の効果】
【００３２】
本発明のうち代表的な形態によれば、メモリを含んで構成される半導体装置などに係わり、長寿命化や高信頼性などを実現できる。
【００３３】
（１）特に、不揮発性メモリ装置の領域のデータ消去回数などのバラツキを抑え平準化する仕組みにより、不揮発性メモリ装置に関する長寿命化を実現できる。
【００３４】
（２）特に、不揮発性メモリ装置が上書き可能な方式であっても上書きせずに、［消去］＋［書込動作］によりデータ書込みを実現し、抵抗変化型メモリセルの状態（抵抗値）のバラツキを抑える（一定に揃える）仕組みにより、読み出し処理性能を高め、高信頼性を実現できる。
【００３５】
（３）特に、情報処理装置（ホスト）からの論理アドレスに対して不揮発性メモリ装置の物理アドレスを連続的に割当てて使用し、メモリの物理アドレス等の領域ごとのデータ消去回数のバラツキを抑え平準化する仕組みにより、長寿命かつ高信頼性を実現できる。
【００３６】
（４）特に、データ書込みでパイプライン処理を行う仕組みにより、更に高性能を実現できる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態１のシステム（不揮発性メモリ装置を含むメモリモジュールと情報処理装置とを含んで成る情報処理システム）の構成例を示す図である。
【図２】図１の制御回路（SC0）の構成例を示す図である。
【図３】図１の不揮発性メモリ装置（NVM）となる相変化メモリ（PM）の回路構成例を示す図である。
【図４】本システム（メモリモジュール）の電源投入時の初期シーケンス例を示す図である。
【図５】物理アドレステーブル（PAT）の構成例を示す図である。
【図６】物理セグメントテーブル（PST）の構成例を示す図であり、（ａ）は、無効物理アドレス（IPA）に関する物理セグメントテーブル（PST1）、（ｂ）は、有効物理アドレス（VPA）に関する物理セグメントテーブル（PST2）を示す。
【図７】書込み物理アドレステーブル（NXPAT）の構成例を示す図であり、（ａ）は、初期状態例、（ｂ）は、更新状態例を示す。
【図８】（ａ）は、アドレス変換テーブル（ATT）の構成例、特に初期状態例を示し、（ｂ）は、不揮発性メモリ装置（NVM）の格納情報の構成例、特に初期状態例を示す図である。
【図９】本メモリモジュールのデータ書込み動作の処理フロー例を示す図である。
【図１０】図９の書込み物理アドレステーブル更新処理（Step112）に関する詳細処理フロー例を示す図である。
【図１１】本メモリモジュールのデータ書込み動作時における、アドレス変換テーブル（ATT）及び不揮発性メモリ装置（NVM）の格納情報における更新状態例を示す説明図であり、（ａ）は、ライトリクエストRQ0〜RQ3の処理に対応した状態、（ｂ）は、ライトリクエストRQ4〜RQ9の処理に対応した状態を示す。
【図１２】本発明の実施の形態２のシステムにおける、第２の平準化方法に対応した、メモリモジュールの処理フロー例を示す図である。
【図１３】本発明の実施の形態３のシステムにおける、メモリモジュールのパイプライン書込み動作の例を示す説明図である。
【図１４】本発明の各実施の形態における、メモリモジュールのデータ読み出し動作の処理フロー例を示す図である。
【図１５】本発明の実施の形態４のシステムにおける、メモリモジュールの制御回路の構成例を示す構成図である。
【図１６】従来技術例として、相変化材料を用いた抵抗素子（相変化メモリセル）における特性（相変化に必要なパルス幅と温度との関係）を示す図である。
【発明を実施するための形態】
【００３８】
以下、図１〜図１６を用いて、本発明の実施の形態として、不揮発性メモリ装置、不揮発性メモリ装置と制御回路とを含んで成るメモリモジュール（半導体装置）、及びメモリモジュールと情報処理装置とを含んで成る情報処理システム、並びに、それら装置・システムにおける不揮発性メモリ装置へのデータ書込み等に関する制御方法、等について説明する。
【００３９】
＜特徴等＞
本発明及び実施の形態は、以下のような特徴要素を有する構成である。
【００４０】
（Ａ）基本方式（データ書込み方式）：
本半導体装置（メモリモジュール）において、制御回路からメモリ装置（不揮発性メモリ装置）へのデータ書込みを含む処理動作の制御に係わる以下のような方式（構成）を採用する。メモリ装置としては、例えば相変化メモリ等の抵抗変化型不揮発性記憶装置を採用する。この場合、前述の特性｛（１）書込み回数の上限、（２）書込と消去のサイズが同じ、（３）上書き可能、（４）書込みメモリセル抵抗値バラツキ、等｝を有する。制御回路は、情報処理装置（ホスト）からのデータの書き込みや読み出しの要求／指示を受け、メモリ装置に対するデータの書き込みや読み出しの処理動作を制御する。
【００４１】
本方式では、制御回路からメモリ装置へのデータ書込みにおいて、たとえデータ上書き要求であったとしても（メモリ装置が上書き可能な形式であっても）、データ上書き動作は行わずに、下記のように、（ａ）第１の領域／アドレスに対する［消去動作／無効化動作］＋（ｂ）第２の領域／アドレスに対する［書込動作／有効化動作］、という２種類の動作のセットによりデータ書込みを実現する。即ち、（ａ）［消去動作／無効化動作］では、メモリ装置の該当の第１の領域／アドレスのデータのメモリセルの状態を一旦アモルファスあるいは結晶状態のいずれかの状態へ設定する動作（「消去動作」）、ないし、その状態（消去状態）に対応したフラグ値を設定する動作（「無効化動作」）を行う。それと共に、（ｂ）［書込動作／有効化動作］では、書込みデータを上記第１の領域／アドレスとは別の第２の領域／アドレスのメモリセルへ書き込む動作（「書込動作」）、ないし、その状態（書込状態）に対応したフラグ値を設定する動作（「有効化動作」）を行う。
【００４２】
例えば、「消去動作」はメモリセルの情報ビット（抵抗値）を同じ値になるようにリセットする動作、「無効化動作」は当該第１の領域／アドレスに対応するフラグ値を０にする動作、「書込動作」はメモリセルの情報ビットを書込みデータに応じた０または１にセットする動作、「有効化動作」は当該第２の領域／アドレスに対応するフラグ値を１にする動作である。
【００４３】
（Ｂ）単位・サイズ：
制御回路等は、上記（ａ）［消去動作］におけるデータ消去単位のサイズと、上記（ｂ）［書込動作］におけるデータ書き込み単位のサイズと、が等しくなるように、所定のサイズの単位でアドレス情報などを管理し、当該単位でメモリ装置に対するデータ消去及び書込み等を制御する。制御回路は、上記単位として、例えば、メモリ装置の物理アドレス領域（セクタ）の単位と、連続する複数の物理アドレス領域（セクタ）の集まりによる単位（物理セグメント）との各単位のアドレス情報を管理する（例えば物理アドレステーブル、物理セグメントテーブル）。
【００４４】
（Ｃ）フラグ情報：
制御回路等は、上記（ａ）、（ｂ）の動作のための情報管理を行う。制御回路は、メモリ装置における物理アドレス等の単位の領域ごとに、当該領域及びその格納データの有効／無効状態を表すフラグ情報を管理する。そして、制御回路は、上記（ａ）＋（ｂ）の動作において、例えば、（ａ）動作で第１の領域の該当データを消去／無効化した場合は対応するフラグ値を０にし、（ｂ）動作で第２の領域に書込みデータを書き込んだ場合は対応するフラグ値を１にする。
【００４５】
（Ｄ）回数情報：
制御回路等は、メモリ領域全体における物理アドレス等の単位の領域ごとに、データの消去回数（もしくは書込回数）の情報管理を行う。例えば上記（ａ）［消去動作］の実行ごとに、消去回数をカウントアップする。あるいは（ｂ）［書込動作］の実行ごとに書込回数をカウントアップする。なお（ａ）と（ｂ）がセットで対応するので、消去回数の概念と書込回数の概念とが対応する。
【００４６】
（Ｅ）第１のテーブル：
制御回路等は、上記回数やフラグの情報を用いて、メモリ領域全体における使用（消去や書込）のバラツキを抑え平準化するように、次にデータを書込む対象（先）となるアドレス／領域を選択（決定）する。制御回路は、上記次の書込み先を選択するためのアドレス情報（例えば物理アドレス情報）を管理する（例えば第１のテーブル：書込み物理アドレステーブル）。アドレス／領域ごとに、上記回数やフラグの情報などを対応付けて管理する。特に制御回路内に第１のテーブルを保持することにより処理高速化を図る。
【００４７】
例えば、制御回路は、将来のデータ書込み要求に備えて事前に、上記次の書込み先のアドレスの候補もしくは優先使用対象とするための複数の物理アドレスなどの情報を第１のテーブルに登録しておき随時更新する。例えば、制御回路は、上記第１のテーブルに対しアドレス情報を登録する際、アドレス／領域ごとの上記回数が少なく、上記フラグ値が０（無効）の物理アドレス等を、優先的に登録する。例えば、制御回路は、消去回数などの値を所定の閾値と比較し、閾値より小さいアドレス／領域を登録する。例えば最小の消去回数の物理セグメントのアドレス（対応する複数の物理アドレス）を登録する。
【００４８】
制御回路は、次のデータ書込みの際、第１のテーブルの情報を参照し、特に、上記回数の少ないアドレス、上記フラグ値が０（無効）のアドレスを、次の書込み先のアドレス（第２の領域／アドレス）として割当てて使用するように選択（決定）する。これにより、メモリ領域全体の使用（消去や書込）のバラツキを抑え平準化する。また例えば、制御回路は、複数のデータ書込み要求に対して、第１のテーブルに登録されている複数のアドレス情報の中から例えば上から順（優先順）に複数を選択して使用する。
【００４９】
（Ｆ）連続的なアドレスの割当：
制御回路は、メモリ領域における連続的（シーケンシャル）なアドレス（物理アドレス等）へデータを書き込むように情報管理及び制御を行う。制御回路は、前記次のデータ書込み先のアドレス／領域を選択（決定）し前記（ａ）第１の領域の［消去動作］＋（ｂ）第２の領域の［書込動作］を行うにあたり、例えば、メモリ領域全体の複数の物理アドレスの中から物理アドレス値の順に連続的に割当てて使用する。例えば物理アドレス値を最初から最後まで使い切った場合は最初の物理アドレス値に戻って同様に繰り返し使用する。特に前記セットの動作で、使用済みの第１の領域に対して未使用の第２の領域を選択する場合も、第１、第２の領域で連続したアドレスとなるようにする。例えば、本装置の使用開始時から、上記のようにメモリ領域を連続的なアドレスで使用し続ける。上記により、メモリ領域の使用（消去や書込）が平準化される。
【００５０】
（Ｇ）論理アドレス−物理アドレス：
制御回路等は、外部の情報処理装置（ホスト）からの要求における論理アドレスと、メモリ装置の物理アドレスと、の対応関係（割当）を情報管理する（例えばアドレス変換テーブル）。特に、論理アドレス空間の大きさよりも物理アドレス空間の大きさに余裕を確保した構成とする。例えば、前記（ａ）動作の際、無効化動作として第１の領域のフラグ値の更新（１から０へ変更）のみ行い、時間的に後で、消去動作として第１の領域のデータ削除処理を行う。
【００５１】
（Ｈ）各種テーブル：
また、制御回路は、前記各種の情報管理のためのテーブル情報を、制御回路内部に備えるメモリ装置内、もしくは、制御回路外部でメモリモジュール内部に備えるメモリ装置内に保有し管理する。例えば、前記物理アドレス、前記物理セグメント、前記フラグ、及び前記回数の情報などを管理するテーブルや、前記論理アドレスと物理アドレスの対応関係（変換）を管理するテーブルや、前記次の書込み先のアドレスを選択するための第１のテーブルなどを保有する。
【００５２】
また、制御回路は、制御回路側で保有する上記テーブル情報に対応した内容の情報を、メモリ装置側の領域内に、例えば物理アドレス等の単位の領域ごとに格納して管理する。
【００５３】
（Ｉ）処理例：
制御回路は、情報処理装置（ホスト）からのデータ書込み要求（例えば、論理アドレス、書込みデータ、サイズ、等を伴う）に対して、前記管理情報（テーブル）を参照し、論理アドレスに関係付け（割当）られる物理アドレス、及びフラグや回数などの情報を読み出し、書込みデータの書込み先とする物理アドレス（第２のアドレス／領域）を選択（決定）する。例えば、制御回路は、メモリ装置のデータ格納済みの状態（フラグ値が１（有効））の物理アドレス（第１の領域）に対するデータ書込み要求（上書き要求）である場合、当該アドレスとは別の新たにデータ書込みが可能な状態（フラグ値が０（無効））である連続的な物理アドレス（第２の領域）を、第１のテーブルの複数のアドレスの中から、次の書込み先として選択（決定）する。制御回路は、上記次のアドレス（第２の領域）を選択すると、上記第１の領域の該当データに対する（ａ）［消去動作／無効化動作］を行い、それと共に、上記次のアドレス（第２の領域）への書込みデータの（ｂ）［書込動作／有効化動作］を行う。
【００５４】
（Ｊ）パイプライン処理：
制御回路は、情報処理装置（ホスト）からのデータ書込み要求及び書込みデータを、制御回路内部（または制御回路外部でメモリモジュール内部）に備える所定のバッファメモリ装置などに転送（格納）する第１の処理単位・動作と、上記書込みデータを前記メモリ装置の次の書込み先のアドレスへ書き込むための所定の事前準備の処理（少なくとも次の書込み先のアドレスの決定を含む）を行う第２の処理単位・動作と、上記バッファメモリ装置の書込みデータを、メモリ装置の次の書込み先のアドレスへ書き込む第３の処理単位・動作とを、パイプライン処理する。
【００５５】
また上記パイプライン処理では、前記（ａ）［消去動作］と（ｂ）［書込動作］とで、別のパイプライン処理単位に分けて行ってもよい。
【００５６】
（Ｋ）構成例：
本メモリモジュール（MM0）である半導体装置は、例えば、制御回路装置（SC0）と、複数の不揮発性メモリ装置（NVM）と、ランダムアクセスメモリ（RM）と、を備える。制御回路装置（SC0）内部に、前記次の書込み先のアドレス情報を格納する第１のテーブルを保持する。ランダムアクセスメモリ（RM）内部に、前記不揮発性メモリ装置（NVM）の物理アドレス等の管理情報、対応するフラグや回数の管理情報、データ書込み要求の論理アドレス情報と不揮発性メモリ装置（NVM）の物理アドレス情報との対応関係（変換）の管理情報などを格納する第２のテーブルを保持する。制御回路装置（SC0）は、情報処理装置（CC）とのインタフェース回路、情報処理回路、バッファメモリ装置、及びメモリ制御回路などを有する。
【００５７】
（Ｌ）第２の平準化方法：
制御回路は、無効状態（０）の物理アドレスの最大消去回数と、有効状態（１）の物理アドレスの最小消去回数との差を求め、この差が所定の閾値よりも大きい場合は、このような差を小さくするために（消去回数を平準化するために）、有効状態（１）の物理アドレスに関する最大消去回数の物理アドレスのデータを、無効状態（０）の物理アドレスに関する最大消去回数の物理アドレスへ移動させる。
【００５８】
（Ｍ）初期化：
制御回路は、例えば、装置使用開始時あるいは電源オン直後（起動時）に、制御回路内部及びランダムアクセスメモリ等に格納されている各管理情報のテーブルの内容を初期化し、また不揮発性メモリ装置に格納されている管理情報の内容を初期化する。また、制御回路は、起動終了時（電源オフ直前）には、各テーブル情報を不揮発性メモリ装置内に保存する。また、制御回路は、起動時には、不揮発性メモリ装置内に保存されている各テーブル情報を読み出して再現し、前回の続きの状態から制御を開始する。
【００５９】
＜実施の形態１＞
図１〜図１１を用いて、実施の形態１の情報処理システムについて説明する。実施の形態１は、不揮発性メモリ装置NVM（相変化メモリPM）の物理アドレス（PA）毎のデータ消去動作（消去回数（EC））に関する第１の平準化方法（動的な平準化方法）を含む構成である。この平準化とは、NVM領域のデータ消去動作のバラツキを抑え平準化することを指す。
【００６０】
［システム］
図１は、実施の形態１の情報処理システムのブロック構成例を示す。本情報処理システムは、情報処理装置CCと、メモリモジュールMM0とが接続される構成である。情報処理装置CCは、本実施の形態では、メモリモジュールMM0へ読み書き保存されるデータを最小512バイト単位の論理アドレスLAで管理するホストコントローラ（ＣＰＵチップ等）である。メモリモジュールMM0は、不揮発性ストレージ装置である半導体装置である。
【００６１】
情報処理装置CCは、インターフェース信号HDH_IFを通じて、メモリモジュールMM0に対してデータの読み出しや書き込みを行う。情報処理装置CCから、クロック情報が埋め込まれシリアルデータへ変換されたリードリクエストRQやライトリクエストWQなどが、インターフェース信号HDH_IFを通じて、メモリモジュールMM0へ入力される。情報処理装置CCとメモリモジュールMM0とを接続する信号方式には、シリアルインターフェース信号方式、パラレルインターフェース信号方式や光インターフェース信号方式などがあり、全方式を適用可能である。また、情報処理装置CCとメモリモジュールMM0とを動作させるクロック方式として、コモンクロック方式、ソースシンクロナスクロック方式、エンベデッドクロック方式などがあり、全クロック方式を適用可能である。本実施の形態では、エンベデッドクロック方式でありシリアルインターフェース信号方式による動作例を説明する。
【００６２】
リードリクエストRQには、論理アドレス（値）LA、データ読み出し命令RD、セクタカウントSECなどが含まれ、また、ライトリクエストWQには、論理アドレス（値）LA、データ書込み命令WT、セクタカウントSEC、及び書込みデータWDATAなどが含まれる。
【００６３】
メモリモジュールMM0は、複数（本例では８個）の不揮発性メモリ装置NVM｛NVM10〜NVM17｝と、ランダムアクセスメモリRMと、これらのメモリを制御する制御回路SC0と、を有する構成である。制御回路SC0は、ストレージコントローラ等と言い換え可能である。
【００６４】
本実施の形態の不揮発性メモリ装置NVMは、後述の相変化メモリPM（図３）を採用する。複数（８個）の不揮発性メモリ装置NVM10（＃１）〜NVM17（＃８）は、本例では同じ構成・性能を持つ。
【００６５】
制御回路SC0内には、後述の書込み物理アドレステーブルNXPAT（図７）などが格納されている。また、ランダムアクセスメモリRM内には、後述の物理アドレステーブルPAT（図５）、物理セグメントテーブルPST｛PST1，PST2｝（図６）、アドレス変換テーブルATT（図８）、等が格納されている。制御回路SC0内及びランダムアクセスメモリRM内に各種管理情報のテーブルを保有することにより、アドレス決定などの処理が効率化される。
【００６６】
［制御回路］
図２は制御回路SC0の構成例を示す。制御回路SC0は、インターフェース回路HIFと、バッファBUF｛BUF0〜BUF3｝（バッファメモリ装置）と、ブート用不揮発性メモリ装置NVM0と、書込み物理アドレステーブルNXPATと、調停回路ARBと、情報処理回路MNGと、NVM｛NVM10〜NVM17｝をそれぞれ直接制御するメモリ制御装置NC｛NC0〜NC7｝と、ランダムアクセスメモリRMを直接制御するメモリ制御装置RMCと、を有する構成である。図２の構成例では、複数（４個）のバッファBUF｛BUF0〜BUF3｝を有する。
【００６７】
情報処理回路MNGは、制御回路SC0内の書込み物理アドレステーブルNXPAT を管理し、また、ランダムアクセスメモリRM内の物理アドレステーブルPAT、物理セグメントテーブルPST、及びアドレス変換テーブルATTなどを管理する。
【００６８】
［揮発性メモリ装置NVM（相変化メモリPM）］
図３は、本実施の形態で図１の不揮発性メモリ装置NVM｛NVM10〜NVM17｝として使用する例である、相変化メモリPMのブロック構成例を示す。相変化メモリPMは、クロック生成回路SYMD、ステータスレジスタSTREG、アドレス・コマンドインターフェース回路ADCMDIF、入出力バッファIOBUF、制御回路CNTLOGIC、温度センサTHMO、データ制御回路DATACTL、及び複数のメモリバンクBK｛BK0〜BK3｝、等を有する構成である。各メモリバンクBKにおいては、複数のメモリアレイARY｛ARY0〜m｝、ロウアドレスラッチRADLT、カラムアドレスラッチCADLT、ロウデコーダROWDEC、カラムデコーダCOLDEC、データ選択回路DSW1、及びデータバッファDBUF0，DBUF1、等が含まれる構成である。各メモリアレイARYにおいては、複数のメモリセルc（相変化型メモリ素子）、ビット線選択回路BSW、センスアンプSA、及びライトドライバWDR、等が含まれる構成である。
【００６９】
アドレス・コマンドインターフェース回路ADCMDIFに入力される制御信号CTLは、コマンド・ラッチイネーブルCLE、チップイネーブル信号CEB、アドレス・ラッチ信号ALE、ライトイネーブル信号WEB、リードイネーブル信号REB、レディビジー信号RBB、等の信号から構成される。入出力バッファIOBUFに入力される入出力信号（ＩＯ信号）（８ビット）では、コマンド、アドレス、及び書き込みデータが入力され、読み出しデータが出力される。
【００７０】
本実施の形態において各ブロックを構成する回路素子は、例えば、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。更に、上記相変化メモリPMのように、メモリセルは、抵抗性記憶素子を用いている（ＲｅＲＡＭなどを用いてもよい）（特性は図１６と同様）。なお、不揮発性メモリ装置NVMとしては、上記相変化メモリPMに限らず、前述同様の特性を持つ他の種類のメモリ装置を適用することができる。
【００７１】
［初期シーケンス］
図４は、本情報処理システム（図１）の電源投入（オン）時の初期シーケンス例を示す。ｔ１期間（PwOn）で、情報処理装置CC、メモリモジュールMM0内の不揮発性メモリ装置NVM｛NVM10〜NVM17｝、ランダムアクセスメモリRM、及び制御回路SC0へ電源投入する。
【００７２】
ｔ２期間（Reset）では、情報処理装置CC、制御回路SC0、不揮発性メモリ装置NVM｛NVM10〜NVM17｝、及びランダムアクセスメモリRMとそれらの内部状態を、リセット（初期設定）する。このリセット方法は、特に限定しないが、それぞれの内蔵回路で自動的にリセットを行う方法でもよいし、あるいは、外部にリセット端子を持ちこのリセット信号（図１、RSTSIG，RESET）によってリセット動作を行う方法でもよいし、情報処理装置CCからインターフェース信号HDH_IFを通じてリセット命令を制御回路SC0へ入力してリセットを行う方法でもよい。
【００７３】
制御回路SC0は、ランダムアクセスメモリRM（図１）に格納されているアドレス変換テーブルATT、物理セグメントテーブルPST1，PST2、及び物理アドレステーブルPATを初期化し、更に不揮発性メモリ装置NVM（格納情報）及び書込み物理アドレステーブルNXPATを初期化する。
【００７４】
ｔ２期間が終了した後のｔ３期間（SetUp）では、情報処理装置CCは、制御回路SC0内のブート用不揮発性メモリNVM0に格納されているブートプログラムを読み出し、情報処理装置CCを立ち上げる。
【００７５】
ｔ３期間が終了した後のｔ４期間（Idle）以降では、メモリモジュールMM0は、アイドル状態となり、情報処理装置CCからのリクエストを待つ状態となる。
【００７６】
制御回路SC0は、装置使用開始時、あるいは電源オン直後（起動時）などに、上記ｔ１，ｔ２のように、各テーブル（PAT、PST、ATT）の内容を初期化し、更に、不揮発性メモリ装置NVMの格納情報、及び制御回路SC0内の書込み物理アドレステーブルNXPATの内容を初期化する。初期化の処理では、例えば装置使用開始の場合、図７（ａ）、図８などのように、値に０を設定する。
【００７７】
また、制御回路SC0は、起動終了時（電源オフ直前）には、上記各テーブル情報を不揮発性メモリ装置NVM内に保存する。また、制御回路SC0は、起動時に、NVM内に保存されている各テーブル情報を読み出して再現し、前回の続きの状態から制御を開始する。
【００７８】
［物理アドレステーブルPAT］
図５は、RMに格納されている物理アドレステーブルPATの構成例を示している。PATは、物理アドレスPA（PA[31:0]）と、当該物理アドレスPAに対応した、有効フラグVF、及び消去回数ECとを有して構成される。本実施の形態では、物理アドレスPA（PA[31:0]）（３２ビット）は、上位１２ビットによる物理セグメントアドレスPSA（PA[31:20]）と、下位２０ビットによる物理アドレス（PA[19:0]）（なお３２ビットのPAとの区別のためPPAとする）と、を有して構成される。
【００７９】
有効フラグVFの値は、０または１であり、０がinvalid（無効状態）を示し、１がvalid（有効状態）を示す。無効（０）は、アドレス未割当、次書込み使用可（データ消去可）、初期状態、等の意味にも対応付けられる。有効（１）は、アドレス割当済み、次書込み使用不可（データ消去不可）、等の意味にも対応付けられる。また、０から１にすることを「有効化」、１から０にすることを「無効化」とする。
【００８０】
本実施の形態では、有効フラグVF＝０（無効）の物理アドレスPAを無効物理アドレスIPAとし、VF＝１（有効）の物理アドレスPAを有効物理アドレスVPAとして管理する。
【００８１】
消去回数EC（EraseCount）は、対応する物理アドレスPA領域単位で今までにデータ消去動作された回数（ないし対応するデータ書込動作された回数）を示す。消去回数ECは、例えば、NVMの使用開始時をEC＝０として、制御回路SC0によるデータ消去動作ごとに累積でカウントアップされる。
【００８２】
［物理セグメントテーブルPST］
図６は、RMに格納されている物理セグメントテーブルPST｛PST1，PST2｝の構成例を示す。PSTは、物理セグメントアドレスPSA（図５）に関する管理テーブルであり、図６（ａ）は、無効物理アドレスIPAに関する物理セグメントテーブルPST1を示し、図６（ｂ）は、有効物理アドレスVPAに関する物理セグメントテーブルPST2を示す。
【００８３】
図６（ａ）において、物理セグメントテーブルPST1は、物理セグメントアドレスPSA（PA[31:20]）と、当該PSA内の無効物理アドレスIPAの総数TNIPAと、当該PSA内の無効物理アドレスIPAの中で最大消去回数ECmaxを持つ無効物理アドレスIPAmaxと、当該最大消去回数ECmaxと、当該PSA内の無効物理アドレスIPAの中で最小消去回数ECminを持つ無効物理アドレスIPAminと、当該最小消去回数ECminと、を有して構成される。
【００８４】
図６（ｂ）において、物理セグメントテーブルPST2は、物理セグメントアドレスPSA（PA[31:20]）と、当該PSA内の有効物理アドレスVPAの総数TNVPAと、当該PSA内の有効物理アドレスVPAの中で最大消去回数ECmaxを持つ有効物理アドレスVPAmaxと、当該最大消去回数ECmaxと、当該PSA内の有効物理アドレスVPAの中で最小消去回数ECminを持つ有効物理アドレスVPAminと、当該最小消去回数ECminと、を有して構成される。
【００８５】
なお、複数のセクタのECの総計により、セグメント単位での消去回数ECも管理される。また、TNVPA例に示すように、１セグメントを構成するＮ個のセクタ（PA）からIPA数（TNIPA）を引くとVPA数（TNVPA）になる。
【００８６】
［単位・サイズ］
本実施の形態で用いる各種の単位やサイズの構成例についてまとめると以下である。図１のNVM（PM）の領域における、１物理アドレスPA領域＝１セクタ＝512バイトである。また、１物理セグメントアドレスPSA領域は、２０ビット分（2048個）のPA（セクタ）の連続的な集まりによる単位であり、１メガバイト（2048×512バイト）である。図５，図６のように、１２ビット分（4096個）の物理セグメントアドレスPSA（0〜FFF）を有し、２０ビット分の物理アドレスPA（0〜F_FFFF）を有する。
【００８７】
本方式では、（ａ）［消去動作］、（ｂ）［書込動作］のデータサイズは等しく、例えばセクタやセグメントの単位である(任意に可変である)。なお本方式ではＮＡＮＤ型フラッシュメモリ等におけるページやブロックといった単位は使わない。セクタやセグメントなどの単位（呼称）は、適用するメモリに応じて他の単位（呼称）に言い換え可能である。
【００８８】
情報処理装置CC（ホスト）からみた論理アドレスLA空間（特にストレージアドレス）に対して、アドレス変換テーブルATTを用いて、図１のNVMの物理アドレスPA空間が関係付けられる。特に、LA空間の大きさよりもPA空間の大きさに余裕を確保する構成とする。これにより、その余裕分のPA領域を用いて、消去動作などの効率性が高まる。例えば余裕分のPA領域でVF＝０（無効）とし、データの消去動作と書込動作とを非同期で行うことができる。例えば先に無効化（VF＝０）されたPA領域を後でデータ消去動作すること等ができる。
【００８９】
［書込み物理アドレステーブルNXPAT］
図７は、制御回路SC0に格納されている書込み物理アドレステーブルNXPATを示す。図７（ａ）は、装置使用開始時のNXPATの初期設定例を示す。図７（ａ）は、NXPATの内容の更新状態例を示す。NXPATは、不揮発性メモリ装置NVM｛NVM10〜NVM17｝へデータを書き込む際に次に使用するNVMの物理アドレスPA（NXPA）を決定（選択）するために用いるテーブルである。NXPATは、複数（Ｎ）組の物理アドレスPA（NXPA）の情報の登録に対応している。
【００９０】
NXPATは、エントリー番号ENUMと、物理アドレスNXPA（３２ビット）と、当該NXPAに対応した、有効フラグNXVF、及び消去回数NXECと、を有する構成である。エントリー番号ENUMは、複数（Ｎ）組のNXPAにおけるＮ値（０番〜Ｎ−１番）を示し、このＮ値は書込み優先度（登録数）を示す。このＮ値が小さい順から優先で使用される。NXPA,NXVF,NXECは、図７のPATの情報に基づいた値が格納される。
【００９１】
図７（ａ）のNXPATの初期設定（例えば図４のｔ１）では、ENUM＝０番からＮ−１番まで順にそれぞれ物理アドレスNXPAの０番地からＮ−１番地が設定される。そしてこれらの物理アドレスNXPAに対応する有効フラグNXVF及び消去回数NXECはすべて０に設定される。消去回数NXECは、PATのECと同様に、NVMの使用開始時を０とした場合である。
【００９２】
［最大書込サイズ、Ｎ値］
なお、本実施の形態で、（ｂ）［書込動作］のデータサイズ（例えば１セクタ＝512バイト）とは別に、制御回路CS0からNVMのメモリセル群に対して一度に書き込みできる最大のサイズ（「最大書込サイズ」）は、例えば図３のNVMの［チップあたりのバッファのサイズ］×［並列チップ数］＝Ｍ×512バイト（セクタ）、である。例えばＭ＝１６×８＝１２８である（１２８個の物理アドレスPA分）。このように一度に並列でＭセクタ分のデータ書き込みができる構成に対応して、書込み物理アドレステーブルNXPATに、少なくともＮ＝Ｍ個分の書込み物理アドレス情報を登録・保持させるとよい。
【００９３】
［アドレス変換テーブルATT，NVM情報］
図８（ａ）は、RMに格納されているアドレス変換テーブルATTの構成例を示す。図８（ｂ）は、図８（ａ）のATTの内容に対応して、不揮発性メモリ装置NVM側に格納される情報を示す。図８（ａ），（ｂ）は、NVM使用開始時の初期設定状態例を示している。ATTは、情報処理装置CCから制御回路SC0へ入力（指定）された論理アドレスLAを、不揮発性メモリ装置NVMの物理アドレスPAへ変換するために使用するテーブルであり、LAとPAの対応関係が設定される。
【００９４】
アドレス変換テーブルATTは、論理アドレスLA、物理アドレスPA（現在の物理アドレスCPA）、当該PAの有効フラグVF（CPAに対応する有効フラグCVF）、等を有して成る。有効フラグ値VF（CVF）は、図５のVFと同様である。VF＝０（無効）は、当該LAに対してPAが割当てられていないこと（未割当）を示し、VF＝１（有効）は、当該LAに対して当該PAが割当てられていること（割当済み）を示す。
【００９５】
NVM使用開始時の初期設定時（例えば図４のｔ１）、図８（ａ）のように、ATTの全PAと当該PAの有効フラグVFが０に設定される。
【００９６】
図８（ｂ）の不揮発性メモリ装置NVM｛NVM10〜NVM17｝の情報は、物理アドレスPA、データDATA、論理アドレスLA、データ有効フラグDVF（DVF情報格納領域）、等を有して成る。これらNVM情報はATT側と対応した内容の情報が格納される。上記DATAは、PAに対応する領域（データ格納領域）である。上記LAは、LA情報格納領域である。上記DVFは、当該PA，DATAに対応した、DVF情報の格納領域である。NVM側のDVFは、ATT側のVFと対応関係を有する。不揮発性メモリ装置NVM内に管理情報を格納・管理することにより、アドレス決定などの処理が効率化される。
【００９７】
NVM使用開始時の初期設定時（例えば図４のｔ１）は、図８（ｂ）のように、NVM情報は、全PAに対応する全DATA、全LA、及び全DVFが０に設定される。
【００９８】
なおNVM使用開始後においては、電源投入時、各テーブル情報では、データ書き込み（格納）済みのPAに関する情報は保存されている。
【００９９】
［ライトリクエスト］
情報処理装置CCからインターフェース信号HDH_IFを通じてメモリモジュールMM0へライトリクエストWQが入力された場合における不揮発性メモリ装置NVMへのデータ書き込み例は以下である。
【０１００】
WQに含まれるセクタカウントSECは、１物理アドレスPA領域（＝１セクタ＝512バイト）ごとに１カウントとし、セクタ単位のデータ書き込みを何回繰り返すかを指定する情報である。例えばSEC＝１の場合、512バイト分のサイズのデータ書込みを示す。
【０１０１】
ある動作例として、SEC＝１のライトリクエストWQがＮ回入力された場合（WQ#1〜WQ#N）、それぞれのライトリクエストWQに含まれるデータ（WDATA）は、NVMのＮ個の物理アドレスPA領域（セクタ）へ書き込まれる。このために使用されるPAは、書込み物理アドレステーブルNXPATに登録されている物理アドレスNXPAの中から選択（決定）される。例えば、NXPAT（図７（ａ））のＮ個のNXPAによる０番地からＮ−１番地までの各領域へ順に書き込まれる。
【０１０２】
別の動作例として、例えばSEC＝１６（＝８Ｋバイト）のライトリクエストWQが１回入力された場合、このライトリクエストWQに含まれるデータ（WDATA）は、NVMの物理アドレスPA領域（セクタ）へのＮ＝１６個の512バイトごとの書込みデータとして分解され、Ｎ＝１６個の各PA領域（セクタ）へ格納される。このために使用されるPAは、NXPATのＮ個のNXPAの中から選択され、例えば０番地からＮ−１番地までの各領域へ順に書き込まれる。
【０１０３】
［データ書込み処理］
図９は、情報処理装置CCからメモリモジュールMM0の制御回路SC0へライトリクエストWQが入力された際にMM0（SC0）が行うデータ書込み動作の処理フロー例を示す。本実施の形態では、SC0内の情報処理回路MNGは、複数（８個）のNVM｛NVM10〜NVM17｝の中（メモリ領域）へ、前述の512バイトのサイズの物理アドレスPA領域（セクタ）毎に書込みデータ（WDATA）を書き込む。例えばライトリクエストWQ01は、論理アドレス値LA＝０、データ書込み命令WT、セクタカウントSEC＝１、512バイト単位の書込みデータWDATA（WDATA01）、が含まれるとする。図９の各処理主体は主にSC0（MNG）である。また図９は、制御回路SC0が備える書込み物理アドレステーブルNXPATが１つの場合（図２）の処理例である。
【０１０４】
（Step101）  ライトリクエストWQ（WQ01）が入力されると、インターフェース回路HIFは、WQに埋め込まれているクロック情報を取り出し、シリアルデータ化されたWQをパラレルデータへ変換し、バッファBUF0、及び情報処理回路MNGへ転送する。
【０１０５】
（Step102）  次に、情報処理回路MNGは、上記WQ（WQ01）のLA（＝０），WT，SEC（＝１）を解読し、ランダムアクセスメモリRMの情報（ATT，PST，PAT）におけるLA＝０番地に対応して格納されている現在の物理アドレス値CPA（＝０）情報と、この値CPA（＝０）に対応した有効フラグ値VF（CVF）（例えば０）及び消去回数値EC（例えば500）情報を読み出す。
【０１０６】
（Step103）  次に、SC0(MNG)は、書込み物理アドレステーブルNXPATから、書込み優先度の高い順、即ちENUM値の小さい順に、セクタカウントSECで指定された個数分（例えば１個分）だけ、書込み物理アドレスNXPA（例えばNXPA＝100）と、このNXPAに対応したNXVF及びNXECの値を読み出す。
【０１０７】
（Step104）  次に、SC0(MNG)は、上記Step102の現在物理アドレス値CPA（例：0）と上記Step103の書込み物理アドレスNXPA（例：100）とを比較し、等しい場合（Yes）はStep107へ、異なる場合（No）はStep105へ移る。
【０１０８】
（Step105）  Step105の場合、SC0(MNG)は、Step104の現在物理アドレス値CPA（例：0）に対応した有効フラグ値CVFが０であるかどうかを判定する。CVF＝０の場合（Yes）は、当該論理アドレスLA（例：0）に対応するNVMの中のPA(CPA)（例：0）が無効であることを示し、これは当該LA（例：０）に対応させるPAとしては新しい物理アドレスPA（NEWPA）（例：100）しか存在しないことを示すため、Step107へ移る。「新しい物理アドレス（PA）」をNEWPAとする。上記CVF＝１の場合（No）は、当該論理アドレスLA（例：0）に対応する物理アドレスCPA（例：0）が有効（未だに有効）であることを示すため、Step106へ移る。
【０１０９】
（Step106）  Step106では、SC0(MNG)は、上記論理アドレスLA（例：0）に対応するNVMの新しい物理アドレスPA(NEWPA)（例：100）へ当該書込みデータWDATA01を書き込むために、現在物理アドレスCPA（例：0）に対応する有効フラグ値CVFを０（無効）へ変更し、更に対応して、物理アドレステーブルPAT内の当該物理アドレスCPA（例：0）の有効フラグVFを０（無効）に変更する。このようにStep106でLAに対応するCPAを無効化した後、Step107へ移る。
【０１１０】
（Step107）  Step107では、SC0(MNG)は、不揮発性メモリ装置NVM｛NVM10〜NVM17｝の中の上記物理アドレスCPA＝NXPA（例：100）の領域へ、当該書込みデータWDATA01と、当該NXPAに対応する論理アドレス値LA（例：0）及び有効フラグ値VF(NXVF)（例：１）とを書き込む。
【０１１１】
（Step108）  続いてStep108では、SC0(MNG)は、RM（ATT）の論理アドレスLA（例：0）の領域に、上記Step107で書き込んだNVMのLA（例：0）に対応するPA(NXPA)（例：100）及びVF(CVF)（例：１）情報を書き込む。
【０１１２】
（Step109）  次のStep109では、MNGは、RM内の物理アドレステーブルPATの内容を更新する。即ち、MNGは、物理アドレスNXPA（例：100）に対応する消去回数値NXECを１つ増加させた新たな消去回数値EC(NEWEC)を生成させ、RM内のPAT内の当該物理アドレスPA（例：100）に対応する消去回数値ECを、上記新たな消去回数値NEWECとなるように書き換え（即ちECのカウントアップ）、当該PAの有効フラグVFを１（有効）にする。
【０１１３】
（Step110）  Step110では、SC0(MNG)は、書込み物理アドレステーブルNXPATに登録されているＮ個のすべての物理アドレスNXPAへの書込み（使用）が完了した状態かどうか（次に使用候補となるNXPAのエントリが無いか有るか）を判定する。特に、NXPATの全NXPAへの書込みが完了した状態（エントリ無し）の場合（Yes）はStep111へ移り、未完了（エントリ有り）の場合（No）は最初に戻って情報処理装置CCからメモリモジュールMM0へのライトリクエストWQを待つ。
【０１１４】
（Step111）  Step111では、上記NXPATの全NXPAの書込みが完了した時点で、MNGは、物理アドレステーブルPATのPAの有効フラグVF及び消去回数ECの情報を利用し、物理セグメントテーブルPST内の当該物理セグメントアドレスPSA（対応する複数のPA）に関する各情報を求め、無効物理アドレスIPAに関する物理セグメントテーブルPST1を更新する。即ち、MNGは、PST1内の当該PSAにおける前述のTNIPA，IPAmax，ECmax，IPAmin，ECminの値を求め、PST1を更新する。また上記同様に、MNGは、有効物理アドレスVPAに関する物理セグメントテーブルPST2内の当該PSAにおける前述のTNVPA，VPAmax，ECmax，VPAmin，ECminの値を求め、PST2を更新する。
【０１１５】
（Step112）  Step112では、更に、MNGは、書込み物理アドレステーブルNXPATの内容を更新する（後述、図１０等）。Step112のNXPATの更新が終了すると、最初に戻って情報処理装置CCからメモリモジュールMM0へのライトリクエストWQを待つ。
【０１１６】
［NXPAT更新処理］
図１０では、図９のStep112に対応した、情報処理回路MNGがデータをNVMへ書き込むために必要な書込み物理アドレステーブルNXPATの更新の処理フロー例を示す。MM0は、NXPATを更新するために、まず物理セグメントアドレスPSAを決定し、次にこのPSA内の物理アドレスPAを決定する、という流れになる。ランダムアクセスメモリRMには、前述の図６のPST1,2のように、物理セグメントアドレスPSA毎に、無効物理アドレスIPAの総数TNIPA、有効物理アドレスVPAの総数TNVPA、IPA，VPAの中で消去回数ECの最小値ECminを持つ物理アドレスIPAmin，VPAmin、及び当該最小消去回数ECmin、といった情報が格納されている。
【０１１７】
（Step201）  まず、MNGは、RM（PST1等）から、物理セグメントアドレスPSA毎に、無効物理アドレス総数TNIPAと、これらの無効物理アドレスIPA（対応PA）、IPAmin及びECminなどの情報を読み出す。
【０１１８】
（Step202）  次に、MNGは、上記PSAの中から、上記読み出されたPSA毎のTNIPAが書込み物理アドレステーブルNXPATの登録数Ｎよりも大きい（TNIPA＞Ｎ）という条件を満たすPSA（対応PA）を選択する。
【０１１９】
（Step203）  更に、MNGは、上記選択されたPSA毎の最小消去回数値ECminを比較し、当該ECminの中の最小値（MINECminとする）を求める。
【０１２０】
（Step204）  次に、MNGは、上記最小値MINECminを持つ物理セグメントアドレスPSA及び対応する物理アドレスPAから、書込み物理アドレステーブルNXPATを更新するための、物理セグメントアドレスPSA（TPSAとする）及び対応する物理アドレスPA（TPAとする）を決定する。
【０１２１】
上記Step202で選択される物理セグメントアドレスPSAを存在させるには、NVMにおける物理アドレス（PA）空間の大きさを、論理アドレス（LA）空間の大きさよりも、少なくともNXPATが登録できるアドレス分（Ｎ分）の大きさ以上にすると良い。
【０１２２】
（Step205）  次に、MNGは、上記更新用の物理セグメントアドレスTPSA内の物理アドレスTPAに対応する消去回数値ECをRM内から読み出し、所定の消去回数閾値（th1とする）と比較する。EC≦th1の場合（Yes）は、現在の物理アドレスCPA(TPA)への書込みを許可し、Step206へ移る。EC＞th1の場合（No）は、上記書込みを禁止し、Step209へ移る。
【０１２３】
（Step209）  Step209では、MNGは、現在の物理セグメントアドレスPSA内で、消去回数閾値th1以下の消去回数ECを持つ無効物理アドレスIPAの数（n1とする）が、書込み物理アドレステーブルNXPATが登録できるアドレスの数（Ｎ）よりも小さいかどうか（n1＜Ｎ）を判定する。小さい場合（Yes）はStep212へ、大きい場合はStep210へ移る。
【０１２４】
（Step210）  Step210では、現在の物理アドレスCPA(TPA)へ１を加算した連続する新しい物理アドレスCPA(TPA)を生成し、Step205へ戻る。
【０１２５】
（Step211）  Step211では、消去回数閾値th1へ所定値α分だけ加算した、新しい消去回数閾値th1を生成し、Step205へ戻る。
【０１２６】
（Step206）  Step206では、MNGが、書込み物理アドレステーブルNXPATへ、現在の物理アドレスCPA（TPA）情報と、当該CPA（TPA）に対応した有効フラグ値VF及び消去回数値EC情報とを登録する。NXPATには、図７のようにＮ組の登録が可能であり、本実施の形態でStep206では、エントリ番号ENUMの小さな順にＮ組分の情報が登録される。
【０１２７】
また本実施の形態では、上記Ｎ値は、MNGによって任意に設定可能であり、特に、不揮発性メモリ装置NVM｛NVM10〜NVM17｝への書込み速度が最大となるように設定すると良い。
【０１２８】
（Step207）  次のStep207では、MNGは、書込み物理アドレステーブルNXPATへの上記全Ｎ組の情報の登録が完了したかをチェックする。未完了の場合（No）はStep209へ移り、完了の場合（Yes）はStep208へ移る。
【０１２９】
（Step208）  Step208では、MNGは、書込み物理アドレステーブルNXPATの更新を完了する。
【０１３０】
［更新例］
図１１は、アドレス変換テーブルATT及び不揮発性メモリ装置NVM｛NVM10〜NVM17｝の情報の更新状態例を示す。図１１（ａ）は、図８のATT及びNVMの初期状態に対して、制御回路SC0がNVMへライトリクエストWQ（WQ1〜WQ3）によるデータWDATAを書き込んだ後（NVM使用開始後）の状態を示している。更に図１１（ｂ）は、図１１（ａ）の状態の後に、続いて、制御回路SC0がNVMへライトリクエストWQ（WQ4〜WQ9）によるデータWDATAを書き込んだ後の状態を示している。図８と同様に、ATT及びNVMに格納される各アドレス、データ、及びフラグ等の値を示している。
【０１３１】
図１１（ａ）で、本例では、まず情報処理装置CCから制御回路SC0へ例えば４つのライトリクエストWQ0，WQ1，WQ2，WQ3が入力され、これらWQ（｛論理アドレスLA，データ書込み命令WT，セクタカウントSEC，書込みデータWDATA｝）のデータ（WDATA0〜WDATA3）がNVMへ書き込まれた場合である。第１のライトリクエストWQ0には｛LA＝０，WT，SEC＝１，WDATA0｝が含まれる。第２のライトリクエストWQ1には｛LA＝１，WT，SEC＝１，WDATA1｝が含まれる。第３のライトリクエストWQ2には｛LA＝２，WT，SEC＝１，WDATA2｝が含まれる。第４のライトリクエストWQ3には｛LA＝３，WT，SEC＝１，WDATA3｝が含まれる。
【０１３２】
上記WQ0〜WQ3が制御回路SC0へ入力された際、インターフェース回路HIFは、これらのライトリクエストWQをバッファBUF0へ転送する。次に、情報処理回路MNGは、バッファBUF0へ格納されているWQ0〜WQ3を順に読み出す。次に、MNGは、WQ0〜WQ3の論理アドレス値LAがそれぞれ０，１，２，３であるため、メモリ制御装置RMCを通じて、RMに格納されているアドレス変換テーブルATTの論理アドレスLAの０番地、１番地、２番地、及び３番地から、対応する物理アドレス値PA(CPA)及び有効フラグ値VF(CVF)を読み出す。最初は図８のように読み出された全てのVF（CVF）は０（無効）であるため、LA＝０〜３番地にはPAが割り当てられていないことがわかる。
【０１３３】
次に、MNGは、書込み物理アドレステーブルNXPAT（図７）のエントリ番号ENUMの０番から３番まで（４つのRQに対応した４個分）に格納されている物理アドレス値NXPA（本例では図７（ａ）のNXPA＝０，１，２，３）を読み出し、当該物理アドレス値NXPAを、図１１（ａ）のATTのLA,CPAに示すように、論理アドレスLAの０〜３番地に対して割り当てる。
【０１３４】
更に、MNGは、上記物理アドレス値NXPA（０〜３）に従い、調停回路ARB及びメモリ制御装置NC｛NC0〜NC7｝を通じて、図１１（ｂ）に示すように、不揮発性メモリ装置NVMの物理アドレスPA＝０番地の領域に対しては、第１のライトリクエストWQ0のデータWDATA0及びLA＝０，DVF＝１の情報を書き込む（１０１）。同様に、PA＝１へWQ1のWDATA1，LA＝１，DVF＝１を書き込み（１０２）、PA＝２へWQ2のWDATA2，LA＝２，DVF＝１を書き込み（１０３）、PA＝３へWQ3のWDATA3、LA＝３，DVF＝１を書き込む（１０４）。
【０１３５】
最後に、MNGは、上記８０１〜８０４に対応して、メモリ制御装置RMCを通じて、RMのアドレス変換テーブルATTの論理アドレスLA＝０に対しては、図１１（ａ）のように、物理アドレス値CPA＝０、及び有効フラグ値CVF＝１を書き込む。同様に、LA＝１へCPA＝１，CVF＝１を書き込み、LA＝２へCPA＝２，CVF＝１を書き込み、LA＝３へCPA＝３，CVF＝１を書き込む。
【０１３６】
図１１（ｂ）で、情報処理装置CCから制御回路SC0へ、更に６つのライトリクエストWQ4，WQ5，WQ6，WQ7，WQ8，WQ9が入力され、これらのWQのデータ（WDATA4〜WDATA9）がNVMへ書き込まれた後の状態である。第５のライトリクエストWQ4には｛LA＝０，WT，SEC＝１，WDATA4｝が含まれる。第６のライトリクエストWQ5には｛LA＝１，WT，SEC＝１，WDATA5｝が含まれる。第７のライトリクエストWQ6には｛LA＝４，WT，SEC＝１，WDATA6｝が含まれる。第８のライトリクエストWQ7には｛LA＝５，WT，SEC＝１，WDATA7｝が含まれる。第９のライトリクエストWQ8には｛LA＝２，WT，SEC＝１，WDATA8｝が含まれる。第１０のライトリクエストWQ9には｛LA＝３，WT，SEC＝１，WDATA9｝が含まれる。
【０１３７】
上記６つのライトリクエストWQ4〜WQ9が制御回路SC0へ入力された際、インターフェース回路HIFは、これらのWQをバッファBUF0へ転送する。次に、情報処理回路MNGは、上記バッファBUF0へ格納されているWQ4〜WQ9を順に読み出す。次に、MNGは、WQ4〜WQ9のLAがそれぞれ０，１，４，５，２，３であるため、メモリ制御装置RMCを通じて、RMのアドレス変換テーブルATTのLA＝０番地、１番地、４番地、５番地、２番地、及び３番地から、それぞれ物理アドレス値PA(CPA)及び有効フラグ値VF(CVF)を読み出す。
【０１３８】
そして以下（１）〜（６）のようにまず［無効化動作］（NVMのデータ有効フラグ値DVFを０にすること等）が実施される。
【０１３９】
（１）WQ4に関して、図１１（ａ）のように、ATTのLA＝０に対応する物理アドレス値CPA＝０、有効フラグ値CVF＝１（有効、割当済）であり、まず、既に書き込まれている当該物理アドレスPA＝０のデータ（WDATA0）を無効にするために、情報処理回路MNGは、NVMのPA＝０のDVFを０に設定する（１から０へ更新する。１０１→１１１）。
【０１４０】
（２）またWQ5に関して、ATTのLA＝１に対応するCPA＝１，CVF＝１であり、既に書き込まれているPA＝１のデータ（WDATA1）を無効にするために、NVMのPA＝１のDVFを０にする（１０２→１１２）。
【０１４１】
（３）次にWQ6に関して、図１１（ａ）のように、ATTのLA＝４に対応するCPA＝０，CVF＝０（無効、未割当）であり、LA＝４には物理アドレスPAが割り当てられていないことがわかる（１０５）。
【０１４２】
（４）またWQ7に関して、ATTのLA＝５に対応するCPA＝０，CVF＝０であり、LA＝５には物理アドレスPAが割り当てられていないことがわかる（１０６）。
【０１４３】
（５）次にWQ8に関して、ATTのLA＝２に対応するCPA＝２，CVF＝１であり、既に書き込まれているNVMのPA＝２のデータ（WDATA2）を無効にするために、NVMのPA＝２のDVFを０にする（１０３→１１３）。
【０１４４】
（６）またWQ9に関して、ATTのLA＝３に対応するCPA＝３，CVF＝１であり、既に書き込まれているPA＝３のデータ（WDATA3）を無効にするために、NVMのPA＝３のDVFを０にする（１０４→１１４）。
【０１４５】
上記無効化動作の後、情報処理回路MNGは、以下のようにWQのデータWDATA及び対応情報をNVMの領域へ書き込む。
【０１４６】
MNGは、上記WQ4〜WQ9の論理アドレス値LAがそれぞれ０，１，４，５，２，３であるため、書込み物理アドレステーブルNXPAT（図７）のエントリ番号ENUMの４番から９番まで（６つのWQに対応した６個分）に格納されている物理アドレス値NXPA＝４，５，６，７，８，９を読み出し、当該NXPAを、図１１（ｂ）のLA,CPAのように、LAの０番地、１番地、４番地、５番地、２番地、及び３番地に対して割り当てる。
【０１４７】
更に、MNGは、上記物理アドレス値NXPA（４〜９）に従い、調停回路ARB及びメモリ制御装置NC｛NC0〜NC7｝を通じて、不揮発性メモリ装置NVM｛NVM10〜17｝のPA＝４番地の領域に対しては、ライトリクエストWQ4のデータWDATA4、論理アドレス値LA＝０、及びデータ有効フラグ値DVF＝１を書き込む（１１５）。同様に、PA＝５へWQ5のWDATA5，LA＝１，DVF＝１を書き込み（１１６）、PA＝６へWQ6のWDATA6，LA＝４，DVF＝１を書き込み（１１７）、PA＝７へWQ7のWDATA7，LA＝５，DVF＝１を書き込み（１１８）、PA＝８へWQ8のWDATA8，LA＝２，DF＝１を書き込み（１１９）、PA＝９へWQ9のWDATA9，LA＝３，DVF＝１を書き込む（１２０）。
【０１４８】
［消去動作＋書込動作］
本方式で、（ａ）［消去動作／無効化動作］＋（ｂ）［書込動作／有効化動作］のセット動作の例は以下である。１回の１PA（セクタ）分のデータ書込動作の際、新規のデータ書き込みの場合など、有効フラグVF＝０のアドレスへの書き込みの場合は、当然ながら消去動作を伴わず即時に書き込みされる。上書き要求の場合など、有効フラグVF＝１のアドレスへの書き込みの場合は、当該第１のアドレス領域には上書きせず、無効化動作（VF（DVF）値の更新（１→０））、及びデータ消去（全ビットのリセット）が行われ、続いて、第１のアドレス領域とは別の連続的な第２のアドレス領域（VF＝０である次の書込み物理アドレスNXPAの領域）に対する書込みデータの書き込み動作、及び有効化動作（VF（DVF）値の更新（０→１））が行われる。
【０１４９】
なお変形例として、上記セット動作につき、［消去動作］と［書込動作］の順序を逆にすることもできる。また、［消去動作］については、前述のように、無効化（フラグ値更新）のみ行っておき、時間的に後でデータ消去（リセット）を行うようにすることもできる。
【０１５０】
本実施の形態では、相変化メモリPMであるため、［消去動作］では、データ消去対象の全メモリセルの各々の状態を一旦アモルファスあるいは結晶状態のいずれかへ設定するリセット動作を行う。リセット動作により全メモリセルの情報値を‘１’にする（図１６）。
【０１５１】
［効果等］
以上のように、実施の形態１によれば、制御回路SC0により、書込み物理アドレステーブルNXPAT等の管理に基づき、情報処理装置CCからのデータ書込み要求（WQ）に対して不揮発性メモリ装置NVM(相変化メモリPM）の次の書込み先のアドレス（NXPA）を選択（決定）し、NVM領域の使用（書込・消去）のバラツキを抑え平準化する仕組みにより、前述のＮＡＮＤ型フラッシュメモリ及び抵抗変化型不揮発性メモリの問題点（回数上限による寿命、データ書き込み等の非効率性、データ読み出し信頼性など）に関して改善でき、長寿命化、高信頼性、高処理性能などを実現できる。
【０１５２】
特に、上書き可能なNVM（PM）に対して上書き動作せずに、消去と書込のサイズを同じにして、（ａ）［消去動作］＋（ｂ）［書込動作］によりデータ書込みを実現し、抵抗変化型メモリセルの状態（抵抗値）のバラツキを抑える（一定に揃える）仕組みにより、読み出し処理性能を高め、高信頼性を実現できる。
【０１５３】
特に、情報処理装置CCからの論理アドレスLAに対して、NVMの物理アドレスPAを連続的に割当てて使用し（LA値に依らずに連続的なPA値を割当て使用し）、メモリ領域ごとの消去回数ECのバラツキを抑え平準化する仕組みにより、長寿命かつ高信頼性を実現できる。
【０１５４】
NVM領域は、装置使用開始時から、例えば図１１のようにPAの小さい順（0,1,……）に連続的に使用されてゆく（使用に応じて消去回数ECが１ずつ増えてゆく）。かつ、NVMの既存の格納データに対する上書き動作はせずに（例えば１０１〜１０４）、無効化動作（１１１〜１１４）等、及びNXPATに基づく新しい物理アドレスPAへのデータ書き込み動作（例えば１１５〜１２０）等によって、データ書込み動作が実現されている。これにより、NVM領域への書込・消去のバラツキを抑え平準化している。この平準化により、NVM（相変化メモリPM）の長寿命化などが実現される。
【０１５５】
＜実施の形態２＞
図１２等を用いて、実施の形態２の情報処理システムについて説明する。実施の形態２では、不揮発性メモリ装置NVM（相変化メモリPM）の物理アドレスPA毎のデータ消去動作（消去回数EC）に関する第２の平準化方法（静的な平準化方法）について示す。なお実施の形態２は、システム構成などは実施の形態１（図１等）と同様であり、制御回路SC0などにおける処理内容が異なる。
【０１５６】
実施の形態１の図９，図１０等で示した第１の平準化方法は、無効物理アドレスIPAに対する動的な消去回数ECの平準化方法である。この動的な平準化方法では、本メモリモジュールMM0の使用に伴い、NVM領域の消去回数ECに関し、無効物理アドレスIPAの消去回数ECと有効物理アドレスVPAの消去回数ECとの差が大きくなる場合があり得る。そのため、実施の形態２（図１２等）では、上記IPAのECとVPAのECとのバラツキ（差）を抑える、静的な平準化方法について示す。実施の形態２では、消去回数ECを平準化させるため、NVMの物理アドレスPA間でのデータ移動動作（図１２のStep306等）を行う。有効物理アドレスVPAの中で消去回数ECの少ない有効物理アドレスVPAは、書き換わる頻度の少ない論理アドレスLAに対するデータを保持していることを示している。そこで、消去回数ECの少ない有効物理アドレスVPA領域と、消去回数ECの多い無効物理アドレスIPA領域とでデータを移動（交換）させ、新たに消去回数ECの少ない無効物理アドレスIPAnew領域を作りだすことによって、その後の、データ書込みが消去回数ECの少ない無効物理アドレスIPAnew領域へ発生し、物理アドレスPA毎の消去回数ECを平準化できる。
【０１５７】
［平準化方法］
図１２は、制御回路SC0（情報処理回路MNG）が実行する、不揮発性メモリ装置NVM（相変化メモリPM）の物理アドレスPA毎の消去回数ECのバラツキを抑え平準化する処理フローを示す。
【０１５８】
（Step301）  まずStep301で、情報処理回路MNGは、図６（ａ）の物理セグメントテーブルPST1内の無効物理アドレスIPAに関する最大消去回数ECmaxの中の最大値MAXECmaxと、図６（ｂ）の物理セグメントテーブルPST2内の有効物理アドレスVPAに関する最小消去回数ECminの中の最小値MINECminとの差（差分DIF1とする：DIF1＝MAXECmax−MINECmin）を求める。
【０１５９】
（Step302）  次にStep302で、MNGは、無効物理アドレスIPAの消去回数ECと有効物理アドレスVPAの消去回数ECとの差（差分DIF2とする）に関する所定の閾値th2を設定し、当該差分DIF2と閾値th2とを比較する（DIF2＞th2）。差分DIF2が閾値th2よりも大きい場合（DIF2＞th2）は、消去回数ECの平準化を行うため次のStep303へ、小さい場合（DIF2≦th2）は、Step308へ進む。
【０１６０】
（Step308）  Step308では、MNGは、物理セグメントテーブルPST（PST1あるいはPST2）が更新されたかを判定し、更新された場合（Yes）は、Step301へ戻り、再度、差分DIF1を求め、いずれの物理セグメントテーブルPSTも更新されていない場合（No）はStep308を再度行う。
【０１６１】
（Step303）  Step303で、MNGは、物理セグメントテーブルPST2内の有効物理アドレスVPAに関する最小消去回数ECminの中で、最も小さな消去回数ECを持つ物理セグメントアドレスVPSAminを選択し、更に、選択された物理セグメントアドレスVPSAmin内の物理アドレスPAの中で、小さな消去回数ECを持つ物理アドレスPAから順に、複数（ｍとする）個分の物理アドレスPA（VPA）を選択する。これを選択有効物理アドレスSVPA｛SVPA1〜SVPAm｝とする。
【０１６２】
（Step304）  Step304では、MNGは、物理セグメントテーブルPST1内の無効物理アドレスIPAに関する最大消去回数ECmaxの中で、最も小さな消去回数ECを持つ物理セグメントアドレスIPSAminを選択し、更に、選択された物理セグメントアドレスIPSAmin内の物理アドレスPAの中で、大きな消去回数ECを持つ物理アドレスPAから順に、複数（ｍとする）個分の物理アドレスPA（IPA）を選択する。これを選択無効物理アドレスSIPA｛SIPA1〜SIPAm｝とする。
【０１６３】
（Step305）  Step305では、MNGは、上記Step304の選択無効物理アドレスSIPA｛SIPA1〜SIPAm｝が、書込み物理アドレステーブルNXPATに登録されているかどうかを調べる。上記SIPAがNXPATに登録されている場合（Yes）は、Step309で、上記現在の選択無効物理アドレスSIPA｛SIPA1〜SIPAm｝を、最小値を持つ物理アドレスPAの候補から外し、Step304へ戻る。上記SIPAがNXPATに登録されていない場合（No）はStep306へ進む。
【０１６４】
（Step306）  Step306では、MNGは、上記Step303の選択有効物理アドレスSVPA{SVPA1〜SVPAm｝のデータを、上記Step304の選択無効物理アドレスSIPA｛SIPA1〜SIPAm｝へ移動させる。
【０１６５】
（Step307）  Step307では、上記Step306で選択有効物理アドレスSVPA{SVPA1〜SVPAm｝のデータを選択無効物理アドレスSIPA｛SIPA1〜SIPAm｝へ移動させたことによって、更新する必要のある全テーブルを更新する。
【０１６６】
上記例では、ｍ個分の物理アドレスPAのデータを移動した。このｍ値は、例えば目標性能に応じて情報処理回路MNGによってプログラム（設定）が可能であり、前述のNXPATの登録数Ｎに対しては、１≦ｍ≦Ｎに設定すると良い。
【０１６７】
以上のように、実施の形態２によれば、静的な平準化方法により、NVM領域のIPAとVPAとのECのバラツキを抑え平準化させるようにデータ移動を行う仕組みであるため、長寿命化などを実現できる。
【０１６８】
＜実施の形態３＞
図１３等を用いて、実施の形態３の情報処理システムについて説明する。実施の形態３では、実施の形態１または２の構成を前提として、メモリモジュールMM0（制御回路SC0）による不揮発性メモリ装置NVMへのデータ書込みに関するパイプライン処理を行う構成である。
【０１６９】
［パイプライン書込み動作］
図１３は、情報処理装置CCからメモリモジュールMM0へ連続して複数のライトリクエストWQが発生した場合における、メモリモジュールMM0内でパイプライン処理が実行されるデータ書込み動作の一例を示す。横の時間軸でＴ０等はパイプライン処理単位（動作）に関するタイミングを示す。
【０１７０】
また、本実施の形態では、制御回路SC0の複数のバッファBUF｛BUF0〜BUF3｝（図２）には、それぞれ、Ｎ×512バイトの書込みデータ（WDATA）が格納できる構成である。なおこのＮは前述のNXPATの登録数Ｎと対応関係である。
【０１７１】
図１３で、WTBUFはバッファ転送動作（バッファBUFへのデータ（WDATA）の転送（格納））を示す。例として、バッファ転送動作WTBUF0，WTBUF1，WTBUF2，WTBUF3の４つの動作では、ライトリクエストWQ（WDATAを含む）を、バッファBUF0，BUF1，BUF2，BUF3へそれぞれ転送する。例えばWTBUF0はＴ０からＴ２の期間で行われる。
【０１７２】
PREOPは事前準備動作を示し、WTBUFによりバッファBUFに転送（格納）された書込みデータ（WDATA）を、不揮発性メモリ装置NVMへ書込むための所定の事前準備動作（対応する情報処理を含む）を示す。例として、事前準備動作PREOP0，PREOP1，PREOP2，PREOP3の４つの動作では、バッファBUF0，BUF1，BUF2，BUF3に転送された各書込みデータ（WDATA）を、それぞれNVMへ書込むための事前準備動作を示す。例えばPREOP0はＴ０の少し後のＴ１からＴ３の期間で行われる。
【０１７３】
WTNVMはデータ書込み動作を示し、バッファBUFに格納されたPREOP済み状態の書込みデータ（WDATA）を不揮発性メモリ装置NVMの領域へ書き込む動作を示す。例として、データ書込み動作WTNVM0，WTNVM1，WTNVM2，WTNVM3の４つの動作では、バッファBUF0，BUF1，BUF2，BUF3に格納された各PREOP済み状態の書込みデータ（WDATA）を、それぞれNVM領域へ書き込む動作を示す。例えばWTNVM0は、PREOP0終了時のＴ３からＴ５の期間で行われる。
【０１７４】
バッファ転送動作WTBUF0〜WTBUF3と、事前準備動作PREOP0〜PREOP3と、データ書込み動作WTNVM0〜WTNVM3との３種類の動作は、制御回路SC0によってパイプライン動作が実現される。したがって書込み速度を向上することができる。
【０１７５】
図２の制御回路SC0の構成に対応した図１３のパイプライン処理詳細例は以下である。例えばＴ０〜Ｔ２の期間に発生した複数（Ｎ）回のライトリクエストWQ(1)〜WQ(N)は、インターフェース回路HIFでまず第１のバッファBUF0へ転送される（WTBUF0）。第１のバッファBUF0へ書込みデータ（WDATA）が格納できない状態（バッファサイズ上限など）になると、次のＴ２〜Ｔ４の期間に発生した複数（Ｎ）回のライトリクエストWQ(N+1)〜WQ(2N)は、第２のバッファBUF1へ転送される（WTBUF1）。また第２のバッファBUF1へ書込みデータが格納できない状態になると、次のＴ４〜Ｔ６の期間に発生した複数（Ｎ）回のライトリクエストWQ(2N+1)〜WQ(3N)は、第３のバッファBUF2へ転送される（WTBUF2）。また第３のバッファBUF2へ書込みデータが格納できない状態になると、次のＴ６〜Ｔ８の期間に発生した複数（Ｎ）回のライトリクエストWQ(3N+1)〜WQ(4N)は、第４のバッファBUF3へ転送される（WTBUF3）。なお上記ＮはNXPATの登録数Ｎと対応関係である。
【０１７６】
情報処理回路MNGは、Ｔ１〜Ｔ３の期間において、バッファBUF0に格納されている書込みデータ（WDATA）をNVMへ書込むための事前準備動作PREOP0を行う。情報処理回路MNGが行う事前準備動作PREOP0の処理内容例を以下に示す。
【０１７７】
（１）上記ライトリクエストWQ(1)〜(N)に含まれる論理アドレス値LAを利用し、アドレス変換テーブルATTから、当該LAに関係付けられる物理アドレスPAを読み出し、必要に応じてこのPAの有効フラグ値VF（対応データ有効フラグ値DVF）を０にして対応データDATAを無効にする。
【０１７８】
（２）アドレス変換テーブルATTを更新する。
【０１７９】
（３）書込み物理アドレステーブルNXPATに格納されている物理アドレスNXPAを読み出し、このアドレスNXPAへ、ライトリクエストWQ(1)〜(N)に含まれる論理アドレスLAを割り当てる。
【０１８０】
（４）物理セグメントテーブルPST（PST1,PST2）を更新する。
【０１８１】
（５）物理アドレステーブルPATを更新する。
【０１８２】
（６）次の書き込みに備えて、書込み物理アドレステーブルNXPATを更新する。
【０１８３】
他の事前準備動作PREOP1〜PREOP3についても上記PREOP0と同様である。
【０１８４】
次に、情報処理回路MNGは、Ｔ３からＴ５の期間において、バッファBUF0に格納されている書込みデータ（WDATA）を不揮発性メモリ装置NVMへ書き込むデータ書込み動作WTNVM0を行う。この際、データ（WDATA）が書き込まれるNVMの物理アドレスPAは、上記（３）で割り当てた物理アドレス値NXPAと等しい。
【０１８５】
他のデータ書込み動作WTNVM1〜WTNVM3も上記WTNVM0と同様である。
【０１８６】
なお、PA領域ごとのデータ消去動作を行う場合、事前準備動作PREOPで行ってもよいし、データ書込み動作WTNVMで行うようにしてもよい。また、パイプライン処理において、前記（ａ）［消去動作］，（ｂ）［書込動作］で別の処理単位に分けて行ってもよい。
【０１８７】
以上のように、実施の形態３では、制御回路SC0がライトリクエストWQ（WDATA）のバッファBUFへの格納動作（WTBUF）と、書込みの事前準備動作（PREOP）と、NVM(相変化メモリ)へのデータ書込み動作（WTNVM）とをパイプライン処理する仕組みにより、前述の実施の形態１等の効果に加え、更に高性能を実現できる。
【０１８８】
＜データ読み出し動作＞
図１４は、情報処理装置CCからメモリモジュールMM0へリードリクエストRQ（図１）が入力された際における、メモリモジュールMM0が行うデータ読み出し動作の処理フロー例を示している。なお本読み出し処理は各実施の形態で概略同様である。
【０１８９】
（Step401）  情報処理装置CCから制御回路SC0へ例えばリードリクエストRQ01｛論理アドレス値LA（例：０）、データ読み出し命令RD、セクタカウント値SEC（例：1）｝が入力されたとする。読み出し対象データをRDATA01とする。インターフェース回路HIFは、リードリクエストRQ01に埋め込まれているクロック情報を取り出し、シリアルデータ化されたリードリクエストRQ01をパラレルデータへ変換し、バッファBUF0及び情報処理回路MNGへ転送する。
【０１９０】
（Step402）  次に、情報処理回路MNGは、RQ01における論理アドレス値LA（例：０）、データ読み出し命令RD、及びセクタカウントSEC（例：１）を解読し、RMに格納されているアドレス変換テーブルATT内のLA＝０番地に格納されている物理アドレス値PA(CPA)（例：０）と、このPA(CPA)（例：０）に対応した有効フラグ値CVFとを読み出す。
【０１９１】
（Step403）  次に、情報処理回路MNGは、上記読み出した有効フラグ値CVFが１であるかどうかをチェックする。
【０１９２】
（Step405）  上記CVF＝０の場合（No）は、LA＝０番地には物理アドレスPAが割り当てられていないことを示し、不揮発性メモリ装置NVMからデータを読み出すことができない。そのため、情報処理回路MNGは、エラーが発生したことを、インターフェース回路HIFを通じて情報処理装置CCへ伝える。
【０１９３】
（Step404）  上記CVF＝１の場合（Yes）は、LA＝０番地には物理アドレスPA＝０番地が対応（割当）していることを示す。そのため、情報処理回路MNGは、調停回路ARB及びメモリ制御装置NC｛NC0〜NC7｝を通じて、不揮発性メモリ装置NVM｛NVM10〜NVM17｝の当該PA＝０番地から、データ（RDATA01）を読み出す。更に、読み出されたデータ（RDATA01）は、メモリ制御装置NC｛NC0〜NC7｝、調停回路ARB、情報処理回路MNG、及びインターフェース回路HIFを通じて、情報処理装置CCへ転送される。
【０１９４】
＜実施の形態４＞
図１５は、実施の形態４における制御回路SC1の構成を示す。制御回路SC1は、図２の制御回路SC0の変形例であり、異なる点として、複数（４個）の書込み物理アドレステーブルNXPAT0〜NXPAT3を備える構成である。NXPAT0〜NXPAT3は、図７と同様に、それぞれ複数（Ｎ）の物理アドレスNXPAの情報を登録する。即ち全体の登録数としてはＮ×４である。
【０１９５】
実施の形態４の制御回路SC1のように複数の書込み物理アドレステーブルNXPAT（NXPAT0〜NXPAT3）を備える場合、MNGはそれぞれのテーブルNXPATを独立に管理し更新処理（図１０と同様）を行う。よって、複数の不揮発性メモリ装置NVM｛NVM10〜NVM17｝に対する書込みデータ転送速度が向上する等の効果がある。
【０１９６】
［他の実施の形態］
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１９７】
例えばNVM領域の物理アドレスPA値の割当て使用の方法については、前述では、装置使用開始時から図８，図１１のようにNVMのPA値を最初から小さい順（0,1,……）に使用してゆき、NVMの最後のPAまで一旦使い切った場合は最初のPA（0）に戻って同様に使用を繰り返す構成であるが、最初にPAを使用し始める順序はこれに限らなくてもよい。例えばPAの大きい順でもよいし、例えば飛び飛び（非連続的）のPAを使用してもよい。いずれの場合でも、NXPATに消去回数ECなどが小さいアドレス（NXPA）を登録する仕組みにより、前述同様に書込・消去のバラツキの平準化による同様の効果（長寿命化など）を実現できる。
【０１９８】
本情報処理システム（制御回路SC0）は、前記無効化動作されたPA領域について、時間的に後で明示的に格納データの消去動作を行ってもよい。後で消去動作を行うことにより、書込み時にはフラグ値の更新のみで済むため、書き込み性能が高速化される。特にLA空間の大きさを考慮してNVMのPA空間の大きさに余裕を設ける構成の場合は、上記時間的に後で消去動作をしやすく、有用である。
【０１９９】
消去回数ECの管理（更新）については、無効化または対応するデータ消去動作またはデータ書き込み動作などのタイミングに応じて行えばよい。また本仕組みでは、消去動作と書込動作とがセットであり回数的に対応関係であるから、ECは、書込回数などと捉えることが可能である。またECのカウントは、MM0（NVM）の使用開始時から累積でカウントすることに限らなくてもよい。所定の範囲内でカウントをやり直す構成でも、その範囲内で平準化の作用を持つため、相応の長寿命化などの効果が得られる。
【産業上の利用可能性】
【０２００】
本発明は、不揮発性メモリ装置及びその情報処理システムなどに利用可能である。
【符号の説明】
【０２０１】
CC…情報処理装置（ホスト）、MM0…メモリモジュール、NVM｛NVM10〜NVM17｝…不揮発性メモリ装置、NVM0…ブート用不揮発性メモリ装置、RM…ランダムアクセスメモリ、SC0,SC1…制御回路、HIF…インターフェース回路、BUF｛BUF0〜BUF3｝…バッファ、ARB…調停回路、MNG…情報処理回路、RMC，NC｛NC0〜NC7｝…メモリ制御装置、NXPAT，NXPAT0〜NXPAT3…書込み物理アドレステーブル、PST｛PST1,PST2｝…物理セグメントテーブル、PAT…物理アドレステーブル、ATT…アドレス変換テーブル、PM…相変化メモリ。
【図１】
0005889462.tif 000002
【図２】
0005889462.tif 000003
【図３】
0005889462.tif 000004
【図４】
0005889462.tif 000005
【図５】
0005889462.tif 000006
【図６】
0005889462.tif 000007
【図７】
0005889462.tif 000008
【図８】
0005889462.tif 000009
【図９】
0005889462.tif 000010
【図１０】
0005889462.tif 000011
【図１１】
0005889462.tif 000012
【図１２】
0005889462.tif 000013
【図１３】
0005889462.tif 000014
【図１４】
0005889462.tif 000015
【図１５】
0005889462.tif 000016
【図１６】
0005889462.tif 000017