(57)【要約】  消去単位と書き込み単位が異なる不揮発性メモリの制御方法であって、所定単位の論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、所定単位の論理アドレスに対するライトアクセスの状況に応じて、論理アドレスに割り当てられる物理アドレスが含まれる消去単位の大きさを制御することを特徴とする、不揮発性メモリの制御方法が開示される。
2016174744.tif 000002
【特許請求の範囲】
【請求項１】
消去単位と書き込み単位が異なる不揮発性メモリの制御方法であって、
所定単位の論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、
前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、当該論理アドレスに割り当てられる物理アドレスが含まれる前記消去単位の大きさを制御することを特徴とする、不揮発性メモリの制御方法。
【請求項２】
前記ライトアクセスの状況は、前記所定単位の論理アドレスの平均ライトデータ量および前記所定単位の論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項１記載の不揮発性メモリの制御方法。
【請求項３】
前記ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項２記載の不揮発性メモリの制御方法。
【請求項４】
さらに、前記所定単位の論理アドレスに対するリードアクセスの状況に応じて、前記消去単位の大きさを制御することを特徴とする、請求項１記載の不揮発性メモリの制御方法。
【請求項５】
前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、前記割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することを特徴とする請求項１記載の不揮発性メモリの制御方法。
【請求項６】
不揮発性メモリの制御装置であって、
論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、前記物理アドレスにアクセスを行う制御回路を有し、
前記制御回路は、前記論理アドレスに対するアクセス状況に基づいて、当該論理アドレスに対応する前記物理アドレスを含む消去単位ブロックの大きさを動的に変化させることを特徴とする不揮発性メモリの制御装置。
【請求項７】
不揮発性メモリと、
入力される論理アドレスに対して物理アドレスを割り当て、前記不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有し、
前記制御回路は、前記不揮発性メモリの前記物理アドレスを含むブロックのブロックサイズを動的に変化させ、書込みを行うことを特徴とする半導体記憶装置。
【請求項８】
請求項７に記載の半導体記憶装置において、
前記制御回路は、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第１特徴量を計算し、前記第１特徴量に基づいて、前記不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定することを特徴とする半導体記憶装置。
【請求項９】
請求項７に記載の半導体記憶装置において、
前記制御回路は、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第２特徴量を計算し、前記第２特徴量に基づいて、前記論理アドレスを複数個分含む論理アドレス領域の容量に対する、前記物理アドレスを複数個分含む物理アドレス領域の容量を決定することを特徴とする半導体記憶装置。
【請求項１０】
請求項８に記載の半導体記憶装置において、
前記制御回路は、前記論理アドレスに対する前記ブロックサイズを示すブロックサイズテーブルを作成することを特徴とする半導体記憶装置。
【請求項１１】
請求項９に記載の半導体記憶装置において、
前記制御回路は、前記論理アドレスに領域対する前記物理アドレス領域を示すアドレス変換テーブルを作成することを特徴とする半導体記憶装置。
【請求項１２】
請求項８に記載の半導体記憶装置において、
前記制御回路は、前記第１特徴量が大きいほど、より小さな前記ブロックサイズを前記論理アドレスへ割り当てることを特徴とする半導体記憶装置。
【請求項１３】
請求項９に記載の半導体記憶装置において、
前記制御回路は、前記第２特徴量が大きいほど、より大きな前記物理アドレス領域の容量を、前記論理アドレス領域へ割り当てることを特徴とする半導体記憶装置。
【請求項１４】
請求項８に記載の半導体記憶装置において、
前記制御回路は、期間Ｔ内で、前記制御回路へ入力したライトリクエストに対して、前記第１特徴量を計算し、前記第１特徴量に基づいて、前記不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定することを特徴とする半導体記憶装置。
【請求項１５】
請求項９に記載の半導体記憶装置において、
前記制御回路は、期間Ｔ内で、前記論理アドレス毎に、前記制御回路へ入力するライトリクエストの第２特徴量を計算し、前記第２特徴量に基づいて、前記論理アドレスを複数個分含む論理アドレス領域の容量に対する、前記物理アドレスを複数個分含む物理アドレス領域の容量を決定することを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に不揮発性メモリ装置を備えた半導体装置に関する。
【背景技術】
【０００２】
近年、不揮発性メモリ装置として、記録材料にカルコゲナイト材料を用いた相変化メモリが盛んに研究されている。相変化メモリとは、電極間の記録材料が異なる抵抗状態を持つことを利用し、情報を記憶する抵抗変化型メモリの一種である。【０００３】
相変化メモリにおいては、Ｇｅ２Ｓｂ２Ｔｅ５などの相変化材料の抵抗値がアモルファス状態と結晶状態とで異なることを利用して情報を記憶する。アモルファス状態では抵抗が高く（高抵抗状態）、結晶状態では抵抗が低い（低抵抗状態）。従って、相変化メモリからの情報読み出しは、素子の両端に電位差を与え、素子に流れる電流を測定し、素子の高抵抗状態／低抵抗状態を判別することにより実現する。【０００４】
相変化メモリにおいては、電流により発生するジュール熱によって、相変化材料により構成されたところの相変化膜の電気抵抗を異なる状態に変化させることによりデータを書き換える。【０００５】
図１９は、相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。同図において、縦軸は温度を表し、横軸は時間を表す。この記憶素子に記憶情報“０”を書き込む場合には、図１９に示す様に、大電流を流して記憶素子をカルコゲナイド材料の融点Ｔａ以上に熱してから急冷する様なリセットパルスを印加する。この場合、冷却時間ｔ１を短くすることにより（例えば約１ｎｓに設定することにより）、カルコゲナイド材料は高抵抗のアモルファス（非晶質）状態となる。逆に、記憶情報“１”を書き込む場合には、記憶素子を融点Ｔａよりも低いが、結晶化温度Ｔｘ（ガラス転移点と同じかそれよりも高い）よりも高い温度領域に保つ様な十分な電流を流すようにセットパルスを長時間印加する。これにより、カルコゲナイド材料は低抵抗の多結晶状態となる。【０００６】
この相変化メモリは抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電流が小さくなる。このため、相変化メモリは、原理上、微細化に向いており、研究が盛んに行われている。特許文献１、特許文献２および特許文献３には、３次元構造の不揮発性メモリが開示されている。【０００７】
特許文献１および３には、可変抵抗素子とこれに並列接続されるトランジスタとを備えたメモリセルを積層方向に向けて直列に接続した構成が示されている。また、特許文献２には、可変抵抗素子とこれに直列接続されるダイオードとを備えたメモリセルを積層方向に向けて導電線を挟んで直列に接続した構成が示されている。当該構成では、例えば２個のメモリセルの間の導電線と、２個のメモリセルの外側の２本の導電線との間に電位差を与えることで、当該２個のメモリセルに対して一括して書込み動作が行われる。【０００８】
また、特許文献３には、ＮｘＭ個の３次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。さらに、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。また、特許文献４には、不揮発性メモリに関し、コントローラがワークロード指標に応じて、メモリユニットのうちの１つを選択することが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１１／０７４５４５号
【特許文献２】特開２０１１−１４２１８６号公報
【特許文献３】国際公開第２０１４／１８８４８４号
【特許文献４】特開２０１４−１７９０８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明者らは、本願に先立ち、ＳＳＤ（Solid State Drive）やメモリカードなどのストレージへ利用されているＮＡＮＤ型フラッシュメモリの制御方法について検討した。さらに、抵抗変化型メモリを利用した制御方法いついて検討した。【００１１】
［ＮＡＮＤ型フラッシュメモリの制御方法に対する検討］
ＮＡＮＤ型フラッシュメモリに代表される不揮発性メモリは、あるメモリ領域へデータを書き込むためには、予め、そのメモリ領域のデータを消去する必要がある。この消去時の最小データ単位は例えば１Ｍバイト等（例えば１ブロックという）であり、書き込み時の最小データ単位は例えば８Ｋバイト等（例えば１ページという）である。不揮発性メモリでは、１ブロックのメモリ領域に、論理アドレスに対応した物理アドレスを持つページに書き込みを行う。このとき、同じ論理アドレスで新しいデータを書き込む場合には、古いページを無効化し、新しいページにデータを書き込む。１ブロックが有効なページと無効なページで満たされると、それ以上は書き込みができなくなる。つまり、８Ｋバイトのデータを書くために、１Ｍバイトの消去済メモリ領域を確保する必要がある。この１Ｍバイトの消去済メモリ領域を確保するために、ＳＳＤ内部ではガーベージコレクションと呼ばれる動作が必要となる。  このガーベージコレクション動作は、空き領域（消去済ブロック数）が所定以下になった場合に、開始する。このガーベージコレクション動作によって、消去済ブロック数を１つ増やしたい場合は、最低、２個のブロック（以下のメモリ領域Ａ，Ｂ）を選択する必要がある。ＳＳＤは、先ず、既に書き込み済の１Ｍバイトの不揮発性メモリ領域ＡおよびＢから、現時点で有効なデータ（ページ）を読み出し、これらのデータを集めて、ＲＡＭへ書き込む。次に、不揮発性メモリ領域ＡおよびＢを消去する。最後に、ＲＡＭへ書き込まれたデータをまとめて不揮発性メモリ領域Ａへ書き込む。このガーベージコレクション動作によって、１Ｍバイトの不揮発性メモリ領域Ｂが消去済メモリ領域となり、この不揮発性メモリ領域Ｂへ新たなにデータを書き込むことができる。このようなガーベージコレクションは、消去単位と書き込み単位の大きさが異なり、上書きができないメモリにおいては、従来から行われている。【００１２】
しかしながら、このガーベージコレクション動作によって、ＳＳＤ内部では、ある不揮発メモリ領域から他の不揮発性メモリ領域へのデータの移動が発生し、ここのデータ移動期間中は、ホストコントローラからＳＳＤへ要求されたライト及びリードリクエストが実行できず、ＳＳＤの性能が劣化してしまう。【００１３】
さらに、ガーベージコレクション動作に伴うデータ移動により、ホストコントローラからＳＳＤへ要求されたライトデータサイズよりも、大きなデータサイズの書き込みが行われる。このため、ＳＳＤの信頼性や寿命が低下する。【００１４】
本願発明は、上記のような課題に鑑みてなされたものである。本願発明の目的は、高性能化、高信頼化を実現する半導体装置を提供することにある。【００１５】
本願発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【００１７】
本発明の一側面は、消去単位と書き込み単位が異なる不揮発性メモリの制御方法である。この方法では、所定単位の論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、所定単位の論理アドレスに対するライトアクセスの状況に応じて、論理アドレスに割り当てられる物理アドレスが含まれる消去単位の大きさを制御する。【００１８】
消去単位の具体的な定義としては、「消去回数を管理するための、一つのまとまった領域」であり、「１つの消去コマンドで消去される領域」あるいは、「１つの消去コマンドで消去される領域」の整数倍の領域となる。本明細書ではこれをブロックと称することがある。ブロック毎の消去回数は、消去回数テーブル等で管理される。【００１９】
ライトアクセスの状況の評価方法は種々考えられるが、一例としては、所定単位の論理アドレスの平均ライトデータ量および所定単位の論理アドレスのライトアクセス回数の少なくとも一つによって評価できる。【００２０】
また、ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを用いて正規化することもできる。【００２１】
さらに、所定単位の論理アドレスに対するリードアクセスの状況を考慮して、消去単位の大きさを制御することもできる。【００２２】
さらに、所定単位の論理アドレスに対するライトアクセスの状況に応じて、割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することもできる。【００２３】
本発明の他の側面は、種々の不揮発メモリに対して、上記の方法で制御を行う不揮発性メモリの制御装置である。不揮発性メモリの制御装置の一例としては、論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、物理アドレスにアクセスを行う制御回路であって、この制御回路は、論理アドレスに対するアクセス状況に基づいて、論理アドレスに対応する物理アドレスを含む消去単位ブロックの大きさを動的に変化させる。【００２４】
本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの物理アドレスを含むブロックのブロックサイズを動的に変化させ、書込みを行うことを特徴とする。【００２５】
好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第１特徴量を計算し、第１特徴量に基づいて、不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定する。具体的な例としては、第１特徴量は、例えばアクセス頻度の高い論理アドレスを示す特徴量であり、例えば、後述するブロックサイズファクタが典型例である。【００２６】
本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの論理アドレスの容量に対する物理アドレスの容量を動的に変化させ、書込みを行うことを特徴とする。【００２７】
好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第２特徴量を計算し、第２特徴量に基づいて、論理アドレスを複数個分含む論理アドレス領域の容量に対する、物理アドレスを複数個分含む物理アドレス領域の容量を決定する。具体的な例としては、第２特徴量は、例えば論理アドレスのデータがどれほどの割合ライトされているかを示す特徴量であり、後述するプロビジョナル容量ファクタが典型例である。物理アドレス領域の容量を決定する具体的手法では、後述するプロビジョナル容量を変化させる例が挙げられる。【００２８】
本発明の他の側面では、半導体装置は、不揮発性メモリと、不揮発性メモリをアクセスする制御回路と、を具備している。制御回路は、一定期間以内で外部から入力されるライトリクエストの論理アドレスに対するアクセスの頻度を計算し、このアクセス頻度を基に、不揮発性メモリのブロックサイズを変更し、書込みを行う。これにより、アクセス頻度の高い論理アドレスに対応する物理アドレスを含むブロックのブロックサイズが小さくなり、ブロック内の有効データ量が少なくなる。これによって、ガーベージコレクション時のデータコピー量が小さくなり、コピー時間が短縮されるため制御回路は、外部から入力されるライトおよびリードリクエストを待たせる時間が短くなり半導体装置のデータ転送速度が向上する。ここにおいてブロックとは、ガーベージコレクションが行われる際の、消去単位と把握することができる。
【発明の効果】
【００２９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００３０】
すなわち、高性能で、信頼性が高く且つコストが低い不揮発性メモリを備えた半導体装置を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。
【図２】図１における制御回路の構成例を示すブロック図である。
【図３】図１におけるメモリモジュール内の制御回路の構成を示すブロック図である。
【図４】図１における不揮発性メモリ装置ＮＭＶ０〜３１の構成例を示すブロック図である。
【図５】図４におけるチェインメモリアレイの構成例を示す回路図である。
【図６】図５のチェインメモリアレイの動作例を示す回路図である。
【図７】図５のチェインメモリアレイの別の動作例を示す回路図である。
【図８】図５のチェインメモリアレイの別の動作例を示す回路図である。
【図９】動的ブロックサイズ変更の動作の全体フローを示すフロー図である。
【図１０】図９のＳｔｅｐ１の詳細動作を示すフロー図である。
【図１１】図９のＳｔｅｐ３の詳細動作を示すフロー図である。
【図１２】図９のＳｔｅｐ４の詳細動作を示すフロー図である。
【図１３】ブロックサイズテーブルＢＬＫＴＢＬとアドレス変換テーブルＤＬＰＴＢＬを示す表図である。
【図１４】ブロックサイズテーブルＢＬＫＴＢＬとアドレス変換テーブルＤＬＰＴＢＬを示す表図である。
【図１５】不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。
【図１６】不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。
【図１７】不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。
【図１８】不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。
【図１９】相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示すグラフ図である。
【発明を実施するための形態】
【００３２】
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。特に明示した場合を除き、それらは互いに無関係ではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００３３】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００３４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
【００３５】
実施の形態において各ブロックを構成する回路素子は特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。また、実施の形態で述べるメモリセルとしては、相変化メモリ、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｍｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような抵抗性記憶素子を用いるものとする。
【００３６】
＜情報処理システムの概要＞
図１は、本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。図１に示す情報処理システムは、情報処理装置ＣＰＵGと、ルーター装置ＲＯＵＴＥＲと、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍと、ストレージ装置ＳＴＲＧ０〜ｍとを備える。
【００３７】
情報処理装置ＣＰＵＧは、特に限定しないが、情報処理回路ＣＰＵ０〜ｎと、ＣＰＵメモリモジュールＭＤ０〜ｎとを備える。ＣＰＵメモリモジュールＭＤ０〜ｎの各々は、メモリ装置Ｍ０〜ｎｎを備える。
【００３８】
ストレージ装置ＳＴＲＧ０〜ｍの各々には、不揮発メモリモジュールＮＶＭＤ０〜ｋを備えている。
【００３９】
不揮発メモリモジュールＮＶＭＤ０〜ｋの各々は、不揮発性メモリ装置ＮＶＭ０〜ｐと、ランダムアクセスメモリＲＡＭと、これら不揮発性メモリ装置およびランダムアクセスメモリを制御する制御回路ＮＶＭ−ＣＴＬを備える。不揮発性メモリ装置ＮＶＭ０〜ＮＶＭｐは、例えば同じ構成および性能を備えている。
【００４０】
不揮発メモリモジュールＮＶＭＤ０〜ｋの各々の不揮発性メモリ装置ＮＶＭ０〜ｐには、情報処理回路ＣＰＵ０〜ｎにて動作するオペレーティングシステム、アプリケーションプログラム、データが格納される。
【００４１】
不揮発性メモリ装置ＮＶＭ０〜ｐには、また、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍにて管理するメモリモジュールＮＶＭＤ０〜ｋの物理アドレス領域ＤＰＡＤに対する管理ブロックサイズの対応を示した２次ブロックサイズテーブルＢＬＫＴＢＬ２と、論理アドレスＤＬＡＤに対応したメモリモジュールＮＶＭＤ０〜３１の物理アドレスＤＰＡＤの２次アドレス変換テーブルＤＬＰＴＢＬ２が格納される。なお、ブロックサイズテーブルとアドレス変換テーブルは、制御装置ＤＹＢＳ−ＣＴＬもコピーを持つ。便宜上、制御装置ＤＹＢＳ−ＣＴＬが持つテーブルを１次テーブル、不揮発メモリモジュールＮＶＭＤ０〜ｋが持つテーブルを２次テーブルとする。
【００４２】
不揮発性メモリ装置ＮＶＭ０〜ｐには、また、制御回路ＮＶＭ−ＣＴＬにて管理される情報処理装置ＣＰＵＧからの論理アドレスＬＡＤと、メモリモジュールＮＶＭＤ０〜ｋ内の不揮発性メモリ装置ＮＶＭ０〜ｐの物理アドレスＰＡＤとの対応を行う２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＭＡＰが格納される。もっとも、２次ブロックサイズテーブル、アドレス変換テーブル、消去回数テーブル、アドレスマップ等は、制御回路や制御装置に別途設けられた専用のメモリに格納してもよい。
【００４３】
以上で、ｎ、ｎｎ、ｍ、ｐ、ｋは、其々自然数を表すものとする。
【００４４】
不揮発メモリモジュールＮＶＭＤ０〜ｐは、特に限定しないが、例えばＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等に該当するものである。
【００４５】
情報処理装置ＣＰＵＧの情報処理回路ＣＰＵ０〜ｎのいずれかが、ルーター装置ＲＯＵＴＥＲおよび制御装置ＤＹＢＳ−ＣＴＬ０〜ｍを通じてストレージ装置ＳＴＲＧ０〜ｍの不揮発性メモリ装置ＮＶＭ０〜ｐへ格納されているオペレーティングシステム、アプリケーションプログラム、データを読み出し、ＣＴＬメモリモジュールＭＤ０〜ｎへ転送、保存する。
その後、情報処理回路ＣＰＵ０〜ｎが、メモリモジュールＭＤ０〜ｎへ保存したデータを利用し、オペレーティングシステムやアプリケーションプログラムを実行する。
【００４６】
情報処理回路ＣＰＵ０〜ｎが、アプリケーションプログラムの実行結果をストレージ装置ＳＴＲＧ０〜ｍへ格納する場合、ルーター装置ＲＯＵＴＥＲおよび制御装置ＤＹＢＳ−ＣＴＬ０〜ｍを通じて、ストレージ装置ＳＴＲＧ０〜ｍ内の不揮発性メモリ装置ＮＶＭ０〜ＮＶＭｐへ格納する。
【００４７】
情報処理装置ＣＰＵＧは、ストレージ装置ＳＴＲＧ０〜ｍへ保存されているデータを最小５１２バイト単位の論理アドレス（ＬＡＤ）にて管理している。
【００４８】
ルーター装置ＲＯＵＴＥＲは、情報処理装置ＣＰＵＧからの読み出し命令、書込み命令やデータを制御装置ＤＹＢＳ−ＣＴＬ０〜ｍへ転送し、また、御装置ＤＹＢＳ−ＣＴＬ０〜ｍからのデータを情報処理装置ＣＰＵＧへ転送する装置である。
【００４９】
図２には制御装置ＤＹＢＳ−ＣＴＬの構成を示している。
【００５０】
制御装置ＤＹＢＳ−ＣＴＬ０〜ｍは、ストレージ装置ＳＴＲＧ０〜ｍの不揮発性メモリ装置ＮＶＭ０〜ＮＶＭｐへ格納されている２次ブロックサイズテーブルＢＬＫＴＢＬ２を読み出し、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍ内のメモリ装置ＭＭＤへ転送する。この結果、メモリ装置ＭＭＤは２次ブロックサイズテーブルのコピーである、１次ブロックサイズテーブルＢＬＫＴＢＬ１を持つ。
【００５１】
また、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍは、ストレージ装置ＳＴＲＧ０〜ｍへ保存されているデータを、最小５１２バイト単位（セクタ単位）の論理アドレス（ＬＡＤ）にて管理するコントローラである。
【００５２】
また、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍは、ルーター装置ＲＯＵＴＥＲを通じて、情報処理装置ＣＰＵＧからの読み出しおよび書込み命令に従い、インターフェース信号ＨＤＨ＿ＩＦを通じ、これらメモリモジュールＮＶＭＤ０〜ｋに対してデータの読み出しや書込みを行う。
【００５３】
この際、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍは、ルーター装置ＲＯＵＴＥＲを通じて、入力した情報処理装置ＣＰＵＧからの論理アドレスＬＡＤに対するメモリモジュールＮＶＭＤ０〜ｋの物理アドレスＤＰＡＤを決定し、メモリモジュールＮＶＭＤ０〜ｋに対してデータの読み出しや書込みを行う。
【００５４】
さらに、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍは、情報処理装置ＣＰＵＧからの読み出しおよび書込みアクセスの特徴を分析し、メモリモジュールＮＶＭＤ０〜ｋの物理アドレス領域ＤＰＡＤに対する管理ブロックサイズを動的に最適に変更し、メモリ装置ＭＭＤ内の１次ブロックサイズテーブルＢＬＫＴＢＬ１を更新する。これによって、情報処理システムの性能および信頼性が向上する。
【００５５】
メモリモジュールＮＶＭＤ０〜ｋ内の制御回路ＮＶＭ−ＣＴＬは、不揮発性メモリ装置ＮＶＭ０〜ｐへ格納されている２次アドレス変換テーブルＤＬＰＴＢＬ２、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＤＭＡＰを読み出し、２次アドレス変換テーブルＤＬＰＴＢＬ２とブロック毎の消去回数テーブルＥＲＳＴＢＬをメモリモジュールＮＶＭＤ０〜ｋ内のメモリ装置ＲＡＭへ転送し、アドレスマップＡＤＤＭＡＰを読み出し、マップレジスタＭＡＰＲＥＧへ転送する。
【００５６】
メモリ制御回路ＮＶＭ−ＣＴＬが、データを不揮発性メモリ装置ＮＶＭ０〜ｐへ書込む場合、不揮発性メモリ装置ＮＶＭ０〜ｐの物理ページアドレスＰＡＤは、不揮発性メモリ装置ＮＶＭ０〜ｐを管理するブロック毎の書込み回数が平準化するように、物理ページアドレスＰＡＤを決定し、２次アドレス変換テーブルＤＬＰＴＢＬ２を更新する。
【００５７】
また、メモリ制御回路ＮＶＭ−ＣＴＬが、データを不揮発性メモリ装置ＮＶＭ０〜ｐから読み出す場合、メモリ制御回路ＮＶＭ−ＣＴＬは、２次アドレス変換テーブルＤＬＰＴＢＬ２を参照し、論理アドレスＬＡＤに対する物理アドレスＰＡＤを決定し、物理アドレスＰＡＤに格納されたデータを読み出す。
【００５８】
さらに、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍが１次ブロックサイズテーブルＢＬＫＴＢＬ１を更新した後に、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍの指示によって、２次ブロックサイズテーブルＢＬＫＴＢＬ２の情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬは２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＤＭＡＰを再構築する。これによって、メモリモジュールＮＶＭＤ０〜ｋの性能および信頼性が向上する。
【００５９】
図２は、図１における制御装置ＤＹＢＳ−ＣＴＬ０〜ｍの構成例を示すブロック図である。図２に示す制御装置ＤＹＢＳ−ＣＴＬには、制御ブロックＤＹＢＳＣとメモリモジュールＭＭＤが含まれている。
【００６０】
制御ブロックＤＹＢＳＣは、インターフェース回路ＨＯＳＴＩＦと、情報処理回路ＭＮＧＥＲと、調停回路ＡＲＢＣと、メモリモジュールＮＶＭＤ０〜ｋとのインターフェース回路ＮＶＩＦ０〜ｋから構成される。メモリモジュールＭＭＤには、メモリ装置ＭＥＭ０〜ＭＥＭｋが含まれている。
【００６１】
メモリモジュールＭＭＤには、論理アドレスＤＬＡＤ毎のブロックサイズを示す１次ブロックサイズテーブルＢＬＫＴＢＬ１と、論理アドレスＤＬＡＤに対応したメモリモジュールＮＶＭＤ０〜ｋの物理アドレスＤＰＡＤの１次アドレス変換テーブルＤＬＰＴＢＬ１が保存される。
【００６２】
また、分割論理アドレスＤＬＡＤは、複数の論理アドレスＬＡＤを含む論理アドレス領域を示し、物理アドレスＤＰＡＤは、複数の物理アドレスＰＡＤを含む物理アドレス領域を示す。
【００６３】
制御装置ＤＹＢＳ−ＣＴＬの読み出し動作について説明する。ルーター装置ＲＯＵＴＥＲを通じて、情報処理装置ＣＰＵＧからのリードリクエスト（ＲＱ）が入力される。リードリクエスト（ＲＱ）には論理アドレス（ＬＡＤ）、データ読み出し命令（ＲＤ）、セクタカウント（ＳＥＣ）などが含まれる。
【００６４】
制御装置ＤＹＢＳ−ＣＴＬはメモリ装置ＭＭＤへ格納されている１次アドレス変換テーブルＤＬＰＴＢＬ１を参照し、論理アドレスＬＡＤを含む分割論理アドレスＤＬＡＤに対応した物理アドレスＤＰＡＤ０を読み出し、この物理アドレスＤＰＡＤ０によって論理アドレスＬＡＤのデータを格納したメモリモジュールＮＶＭＤ０を選択し、リードリクエスト（ＲＱ）を転送する。
【００６５】
メモリモジュールＮＶＭＤ０では、２次アドレス変換テーブルＤＬＰＴＢＬ２を参照し、論理アドレスＬＡＤに対応した物理ページアドレスＰＡＤに格納されているデータの中で、セクタカウント分だけのデータＤＴＡＴ０を読み出す。
【００６６】
読み出されたデータＤＡＴＡ０は、制御装置ＤＹＢＳ−ＣＴＬへ転送され、さらに、ルーター装置ＲＯＵＴＥＲを通じて、情報処理装置ＣＰＵＧへ転送される。
【００６７】
制御装置ＤＹＢＳ−ＣＴＬの書込み動作について説明する。ルーター装置ＲＯＵＴＥＲを通じて、情報処理装置ＣＰＵＧからライトリクエスト（ＷＱ）が入力される。ライトリクエスト（ＷＱ）には論理アドレス（ＬＡＤ）、データ書込み命令（ＷＴ）、セクタカウント（ＳＥＣ）などが含まれる。
【００６８】
制御装置ＤＹＢＳ−ＣＴＬはメモリ装置ＭＭＤへ格納されている１次アドレス変換テーブルＤＬＰＴＢＬ１を参照し、論理アドレスＬＡＤが含まれる論理アドレスＤＬＡＤに対応した物理アドレスＤＰＡＤ１を読み出し、この物理アドレスＤＰＡＤ１によって論理アドレスＬＡＤのデータを格納したメモリモジュールＮＶＭＤ１を選択し、ライトリクエスト（ＷＱ）を転送する。
【００６９】
メモリモジュールＮＶＭＤ１では、ブロックの書込み回数を平準化するように物理アドレスＰＡＤを決定し、この物理アドレスＰＡＤへセクタカウント分だけのデータＤＴＡＴ１を書き込む。その後、２次アドレス変換テーブルＤＬＰＴＢＬ２を更新し、論理アドレスＬＡＤと最新の物理アドレスＰＡＤを対応付けする。
【００７０】
図３は、図１におけるメモリモジュールＮＶＭＤ０〜ｋのメモリ制御回路ＮＶＭ−ＣＴＬのブロック図である。
【００７１】
メモリ制御回路ＮＶＭ−ＣＴＬは、インターフェース回路ＮＶＭ＿ＩＦと、アドレス/コマンドバッファＡＤＣＢＵＦと、データバッファＤＢＵＦと、マップレジスタＭＡＰＲＥＧと、調停回路ＡＲＢと、情報処理回路ＣＯＮＴＬと、ＲＡＭのメモリ制御回路ＲＡＭＣ、不揮発性メモリ装置ＮＶＭ０〜ｐのメモリ制御回路ＮＶＣＴ０ｐと、を備える。メモリ制御回路ＲＡＭＣは、図１のランダムアクセスメモリＲＡＭを直接制御し、ＮＶＣＴ０〜ｐは、図１の不揮発性メモリ装置ＮＶＭ０〜ｐをそれぞれ直接制御する。
【００７２】
データバッファＤＢＵＦは、不揮発性メモリ装置ＮＶＭ０〜ｐの書込みデータや読み出しデータを一時的に蓄える。
【００７３】
アドレス/コマンドバッファＡＤＣＢＵＦは、制御装置ＤＹＢＳ−ＣＴＬからメモリ制御回路ＮＶＭ−ＣＴＬへ入力した論理アドレスＬＡＤと、データ読み出し命令（ＲＤ）と、データ書込み命令（ＷＴ）を一時的に蓄える。
【００７４】
メモリ装置ＲＡＭには、２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬが保存される。
【００７５】
マップレジスタＭＡＰＲＥＧには、アドレスマップＡＤＤＭＡＰが格納され、１ブロックサイズ毎の不揮発性メモリ装置ＮＶＭ０〜ｐ内部のＸアドレス、ＹアドレスおよびＺアドレスの対応が示されている。
【００７６】
制御装置ＤＹＢＳ−ＣＴＬ０〜ｍの指示によって、２次ブロックサイズテーブルＢＬＫＴＢＬ２の情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬは２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＤＭＡＰを再構築する。
これによって、メモリモジュールＮＶＭＤ０〜ｋの性能および信頼性が向上する。
【００７７】
図４は、図１における不揮発性メモリ装置ＮＶＭ０〜ｐの構成例を示すブロック図であり、図５は、図４におけるチェインメモリアレイの構成例を示す回路図である。
【００７８】
図４に示す不揮発性メモリ装置は、図１の不揮発性メモリ装置ＮＶＭ０〜ｐのそれぞれに該当するものであり、ここでは、一例として相変化型の不揮発性メモリ（相変化メモリ）が用いられているが、フラッシュメモリや他の抵抗変化型メモリであってもよい。不揮発性メモリ装置は、クロック生成回路ＳＹＭＤ、ステータスレジスタＳＴＲＥＧ、イレースサイズ指定レジスタＮＶＲＥＧ、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦ、ＩＯバッファＩＯＢＵＦ、制御回路ＣＴＬＯＧ、温度センサＴＨＭＯ、データ制御回路ＤＡＴＣＴＬ、メモリバンクＢＫ０〜ＢＫ３を備える。
【００７９】
各メモリバンクＢＫ０〜ＢＫ３は、メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）と、各メモリアレイにそれぞれ対応して設けられる読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）と、これらを制御する各種周辺回路を備える。各種周辺回路の中には、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴ、ロウデコーダＲＯＷＤＥＣ、カラムデコーダＣＯＬＤＥＣ、チェイン選択アドレスラッチＣＨＬＴ、チェインデコーダＣＨＤＥＣ、データ選択回路ＤＳＷ１、データバッファＤＢＵＦ０，ＤＢＵＦ１が含まれる。
【００８０】
各メモリアレイＡＲＹｘ（ｘ＝０〜ｍ）は、複数のワード線ＷＬ０〜ＷＬｋと複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘの交点に配置される複数のチェインメモリアレイＣＹと、複数のビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘ（ｘ＝０〜ｍ）のいずれかを選択してデータ線ＤＴｘに接続するビット線選択回路ＢＳＷｘを備える。各読み書き制御ブロックＳＷＢｘ（ｘ＝０〜ｍ）は、データ線ＤＴｘ（ｘ＝０〜ｍ）に接続されるセンスアンプＳＡｘ（ｘ＝０〜ｍ）およびライトドライバＷＤＲｘ（ｘ＝０〜ｍ）と、書込み動作時に、これらを用いてデータの検証を行う書込みデータ検証回路ＷＶｘ（ｘ＝０〜ｍ）を備える。また、図４に示した不揮発性メモリ装置を動作させるインターフェースはＮＡＮＤ型フラッシュメモリインターエースやＤＲＡＭインターフェースなどのメモリインターフェースを採用すると、従来システムとのインターフェースの互換性を保つことができ、利便性が良い不揮発性メモリ装置を提供できる。
【００８１】
さらに、図４に示した不揮発性メモリ装置は、１つのコマンドで消去できるブロックサイズが物理的に固定しておらず、メモリ制御回路ＮＶＭ−ＣＴＬにて、制御上の管理単位として容易に変更可能である。このため、情報処理装置ＣＰＵGのメモリモジュールＮＶＭＤへのアクセスの特徴を分析し、不揮発性メモリ装置のブロックサイズ動的に最適化することで、情報処理システムの性能や信頼性の向上が図れる。
【００８２】
図５に示すように、各チェインメモリアレイＣＹは、複数の相変化メモリセルＣＬ０〜ＣＬｎが直列に接続された構成を備え、その一端はチェイン選択トランジスタＴｃｈ２を介してワード線ＷＬに接続され、他端はチェイン選択トランジスタＴｃｈ０およびＴｃｈ１を介してビット線ＢＬに接続される。複数の相変化メモリセルＣＬ０〜ＣＬｎは、図示は省略するが、半導体基板に対して高さ方向に順に積層配置され、互いに直列接続される。また、各相変化メモリセルＣＬは、可変抵抗型の記憶素子Ｒと、それに並列接続されるメモリセル選択トランジスタＴｃｌを備える。記憶素子Ｒは、例えばカルコゲナイド材料で形成される。
【００８３】
図５の例では、２個のチェインメモリアレイＣＹがチェイン選択トランジスタＴｃｈ２を共有しており、チェインメモリアレイ選択線ＳＬ０，ＳＬ１，ＳＬ２によって各チェインメモリアレイ内のチェイン選択トランジスタＴｃｈ０，１，２がそれぞれ制御され、これによっていずれか一方のチェインメモリアレイが選択される。また、メモリセル選択線ＬＹ（ＬＹ０〜ＬＹｎ）は、対応する相変化メモリセルのゲート電極に接続され、メモリセル選択線ＬＹによって、相変化メモリセルＣＬ０〜ＣＬｎ内のメモリセル選択トランジスタＴｃｌがそれぞれ制御され、これによって各相変化メモリセルが適宜選択される。なお、チェインメモリアレイ選択線ＳＬ０，ＳＬ１、ＳＬ２およびメモリセル選択線ＬＹ０〜ＬＹｎは、チェイン制御線ＣＨとして、図４のチェイン選択アドレスラッチＣＨＬＴおよびチェインデコーダＣＨＤＥＣを介して適宜駆動される。
【００８４】
次に、図４の不揮発性メモリ装置の動作について簡単に説明する。図４において、まず、制御回路ＣＴＬＯＧは、アドレス・コマンドインターフェース回路ＡＤＣＭＤＩＦを介して制御信号ＣＴＬを受ける。制御信号ＣＴＬは、特に限定しないが、例えば、コマンド・ラッチイネーブル信号（ＣＬＥ）、チップイネーブル信号（ＣＥＢ）、アドレス・ラッチ信号（ＡＬＥ）、ライトイネーブル信号（ＷＥＢ）、リードイネーブル信号（ＲＥＢ）、レディビジー信号（ＲＢＢ）を含み、これらの組み合わせによって、書込み命令又は読み出し命令が発行される。また、制御回路ＣＴＬＯＧは、制御信号ＣＴＬと共に、ＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯを受ける。入出力信号ＩＯには、アドレス信号が含まれており、制御回路ＣＴＬＯＧは、当該アドレス信号からロウアドレスおよびカラムアドレスを抽出する。制御回路ＣＴＬＯＧは、当該ロウアドレス、カラムアドレス、ならびに予め定められる書込み・読み出し単位等に基づいて、適宜内部アドレスを生成し、ロウアドレスラッチＲＡＤＬＴ、カラムアドレスラッチＣＡＤＬＴならびにチェイン選択アドレスラッチＣＨＬＴにそれぞれ伝送する。
【００８５】
ロウデコーダＲＯＷＤＥＣは、ロウアドレスラッチＲＡＤＬＴの出力を受けてワード線ＷＬ０〜ＷＬｋの選択を行い、カラムデコーダＣＯＬＤＥＣは、カラムアドレスラッチＣＡＤＬＴの出力を受けてビット線ＢＬ０＿ｘ〜ＢＬｉ＿ｘ（ｘ＝０〜ｍ）の選択を行う。また、チェインデコーダＣＨＤＥＣは、チェイン選択アドレスラッチＣＨＬＴの出力を受けて、チェイン制御線ＣＨの選択を行う。制御信号ＣＴＬによって読み出し命令が入力された際、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹからビット線選択回路ＢＳＷ０〜ＢＳＷｍを介してデータが読み出される。当該読み出されたデータは、センスアンプＳＡ０〜ＳＡｍで増幅され、データ選択回路ＤＳＷ１を介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に伝送される。そして、データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータは、データ制御回路ＤＡＴＣＴＬおよびＩＯバッファＩＯＢＵＦを介して入出力信号ＩＯに順次伝送される。
【００８６】
一方、制御信号ＣＴＬによって書込み命令が入力された際、入出力信号ＩＯには、前述したアドレス信号に続いてデータ信号が伝送され、データ信号は、データ制御回路ＤＡＴＣＴＬを介してデータバッファＤＢＵＦ０（又はＤＢＵＦ１）に入力される。データバッファＤＢＵＦ０（又はＤＢＵＦ１）上のデータ信号は、データ選択回路ＤＳＷ１、ライトドライバＷＤＲ０〜ＷＤＲｍおよびビット線選択回路ＢＳＷ０〜ＢＳＷｍを介して、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイＣＹに書き込まれる。また、この際に、書込みデータ検証回路ＷＶ０〜ＷＶｍは、書込みを行ったデータをセンスアンプＳＡ０〜ＳＡｍを介して適宜読み出しながら書込みレベルが十分なレベルに達したかを検証し、十分なレベルに達するまでライトドライバＷＤＲ０〜ＷＤＲｍを用いて再度の書込み動作を行う。
【００８７】
図６は、図５のチェインメモリアレイの動作例を示す説明図である。この図６を用いて、例えば、チェインメモリアレイＣＹ１内の相変化メモリセルＣＬ０における可変抵抗型記憶素子Ｒ０を高抵抗や低抵抗にする際の動作について説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ、ＳＬ２＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１およびＴｃｈ２が導通状態となる。続いて、メモリセル選択線ＬＹ０のみが非活性化（ＬＹ０＝Ｌｏｗ、ＬＹ１〜ＬＹｎ＝Ｈｉｇｈ）され、相変化メモリセルＣＬ０のメモリセル選択トランジスタＴｃｌ０はカットオフ状態となり、残りのメモリセルＣＬ１〜ＣＬｎのメモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎは導通状態となる。
【００８８】
次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ０がワード線ＷＬ０から、チェイン選択トランジスタＴｃｈ２、可変抵抗型記憶素子Ｒ０、メモリセル選択トランジスタＴｃｌ１〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ０が図１４に示したＲｅｓｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は高抵抗となる。また、この電流Ｉ０が図１４に示したＳｅｔ電流パルスの形に制御されることで、可変抵抗型記憶素子Ｒ０は低抵抗となる。可変抵抗型記憶素子Ｒ０〜Ｒｎの抵抗値の違いによってデータ“１”と“０”が区別される。
【００８９】
また、図４で示すように複数のビット線ＢＬ０＿０、ＢＬ０＿１〜ＢＬ０＿ｍへ電流Ｉ０を流すことで、書込み速度を向上することができる。
【００９０】
特に限定しないが、可変抵抗型記憶素子が低抵抗になった場合に、データ“１”が記録され、高抵抗になった場合にデータ“０”が記録されるものとする。
【００９１】
なお、可変抵抗型記憶素子Ｒ０に記録されたデータを読み出す場合は、可変抵抗型記憶素子Ｒ０の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加される。この場合、可変抵抗型記憶素子Ｒ０の抵抗値に応じた電圧値がセンスアンプ（この例では図４のＳＡ０）で検出され、データ“０”および“１”が判定される。
【００９２】
また、図４で示すように複数のビット線ＢＬ０＿０、ＢＬ０＿１〜ＢＬ０＿ｍを通じて可変抵抗型記憶素子Ｒ０の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加することで、複数のセンスアンプ（この例では図４のＳＡ０〜ＳＡｍ）にてデータ“０”および“１”が判定され、読み出し速度を向上することができる。
【００９３】
図７および図８は、図５のチェインメモリアレイの別の動作例を示す説明図である。
【００９４】
図７を用いて、１チェインメモリアレイＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ１のみが活性化（ＳＬ０＝Ｌｏｗ、ＳＬ１＝Ｈｉｇｈ、ＳＬ２＝Ｈｉｇｈ）され、チェイン選択トランジスタＴｃｈ１およびＴｃｈ２が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが活性化（ＬＹ０〜ＬＹｎ＝Ｈｉｇｈ）され、メモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎは導通状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ２がワード線ＷＬ０から、チェイン選択トランジスタＴｃｈ２、メモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ２によるジュール熱が、可変抵抗型記憶素子Ｒ０〜Ｒｎへ伝導し、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。この電流Ｉ２は、可変抵抗型記憶素子Ｒ０〜Ｒｎが一括して低抵抗にすることができる様な値に制御される。
【００９５】
図８を用いて、チェインメモリアレイＣＹ０およびＣＹ１内の全可変抵抗型記憶素子Ｒ０〜Ｒｎを一括で低抵抗にする際の動作を説明する。チェインデコーダＣＨＤＥＣによって、チェインメモリアレイ選択線ＳＬ０および１が活性化（ＳＬ０、ＳＬ１＝Ｈｉｇｈ、ＳＬ２＝Ｈｉｇｈ）され、チェインメモリアレイＣＹ０およびＣＹ１双方のチェイン選択トランジスタＴｃｈ０、Ｔｃｈ１およびＴｃｈ２が導通状態となる。続いて、メモリセル選択線ＬＹ０〜ＬＹｎが活性化（ＬＹ０〜ＬＹｎ＝Ｈｉｇｈ）され、チェインメモリアレイＣＹ０およびＣＹ１双方のメモリセルＣＬ０〜ＣＬｎのメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎは導通状態となる。次に、ワード線ＷＬ０がＨｉｇｈとなり、続いてビット線ＢＬ０がＬｏｗになると、電流Ｉ３がワード線ＷＬ０から、チェイン選択トランジスタＴｃｈ２、チェインメモリアレイＣＹ０およびＣＹ１双方のメモリセル選択トランジスタＴｃｌ０〜Ｔｃｌｎおよびチェイン選択トランジスタＴｃｈ０およびＴｃｈ１を経由してビット線ＢＬ０へ流れる。この電流Ｉ３によるジュール熱が、チェインメモリアレイＣＹ０およびＣＹ１双方の可変抵抗型記憶素子Ｒ０〜Ｒｎへ伝導し、可変抵抗型記憶素子Ｒ０〜Ｒｎは一括して低抵抗となる。電流Ｉ３の値は、チェインメモリアレイＣＹ０およびＣＹ１双方の可変抵抗型記憶素子Ｒ０〜Ｒｎを一括して低抵抗にするような値に制御される。
【００９６】
以上説明したように、必要に応じて、同時に複数のチェインメモリアレイ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。
【００９７】
図９〜図１２を用いて制御装置ＤＹＢＳ−ＣＴＬおよびメモリ制御回路ＮＶＭ−ＣＴＬが行う動的ブロックサイズ変更の動作を説明する。
【００９８】
図９は動的ブロックサイズ変更の動作の全体フローを示す。また、図１０,図１１および図１２では、図９のＳｔｅｐ１およびＳｔｅｐ３およびＳｔｅｐ４の詳細動作を示す。図１３および図１４では、１次ブロックサイズテーブルＢＬＫＴＢＬおよび１次アドレス変換テーブルＤＬＰＴＢＬを示す。
【００９９】
図９のフローにおいて、先ず、Ｓｔｅｐ０で有効期間ＴＣの測定を開始する。有効期間は、アクセスの特徴を分析するためのサンプリング期間である。
【０１００】
次に、情報処理装置ＣＰＵＧからルーター装置ＲＯＵＴＥＲを通じて、制御装置ＤＹＢＳ−ＣＴＬへリードリクエスト（ＲＱ）やライトリクエスト（ＷＱ）が入力した際に、Ｓｔｅｐ１を実行する。Ｓｔｅｐ１では、Ｓｔｅｐ１００〜１０３を行う。
【０１０１】
図１０のフローにおいて、Ｓｔｅｐ１００では、ホストからのアクセスがライトアクセスかどうかを判定する。ライトアクセスであれば、Ｓｔｅｐ１０１を行い、ライトアクセスでなければＳｔｅｐ１０２を行う。Ｓｔｅｐ１０１では、以下を計算する。
・各論理アドレスDLADのライトアクセス回数WC
・全論理アドレス領域でのライトアクセス回数WCT
・各論理アドレスDLADの総ライトデータ量WD
・全論理アドレス領域での総ライトデータ量WDT
Ｓｔｅｐ１０１が終了するとＳｔｅｐ１０２を行う。
【０１０２】
Ｓｔｅｐ１０２では、ホストからのアクセスがリードアクセスかどうかを判定する。リードアクセスであれば、Ｓｔｅｐ１０３を行い、リードアクセスでなければＳｔｅｐ１００を行う。Ｓｔｅｐ１０３では、以下を計算する。
・各論理アドレスDLADのリードアクセス回数RC
・全論理アドレス領域でのリードアクセス回数RCT
・各論理アドレスDLADの総リードデータ量RD
・全論理アドレス領域での総リードデータ量RDT
Ｓｔｅｐ１０３が終了するとＳｔｅｐ２を行う。
【０１０３】
図９に戻り、Ｓｔｅｐ２では、Ｓｔｅｐ３で行うアクセス特徴分析のための、Ｓｔｅｐ１０１およびＳｔｅｐ１０３で実行する各種計算の有効期間ＴＣが期間T１を経過したかどうかをチェックする。
【０１０４】
有効期間T１を経過した場合、Ｓｔｅｐ３を行い、有効期間T１を経過していない場合、Ｓｔｅｐ１を行う。
【０１０５】
Ｓｔｅｐ３では、有効期間ＴＣの測定を停止し、Ｓｔｅp１での各種計算結果を利用し、アクセスの特徴を分析する。Ｓｔｅp３では、Ｓｔｅｐ３００〜３０５を行う。
【０１０６】
図１１において、先ずＳｔｅｐ３００では、有効期間ＴＣの測定を一旦停止する。次のＳｔｅｐ３０１では以下を計算する。
・各論理アドレスＤＬＡＤの１回のライトアクセス当たりの平均ライトデータ量ＡＷＤ：ＡＷＤ＝論理アドレスＤＬＡＤの総ライトデータ量ＷＤ/論理アドレスＤＬＡＤの総ライトアクセス数ＷＣ
・各論理アドレスＤＬＡＤの１回のリードアクセス当たりの平均リードデータ量ＡＲＤ：ＡＲＤ＝論理アドレスＤＬＡＤの総リードデータ量ＲＤ/論理アドレスＤＬＡＤの総リードアクセス数ＲＣ
次のＳｔｅｐ３０２では以下を計算する。
・全論理アドレス領域での１回のライトアクセス当たりの平均ライトデータ量ＡＷＤＴ：ＡＷＤＴ＝全論理アドレス領域での総ライトデータ量ＷＤＴ/全論理アドレス領域での総ライトアクセス数ＷＣＴ
全論理アドレス領域での１回のリードアクセス当たりの平均リードデータ量ＡＲＤＴ：ＡＲＤＴ＝全論理アドレス領域での総リードデータ量ＲＤＴ/全論理アドレス領域での総リードアクセス数ＲＣＴ
次のＳｔｅｐ３０３では以下を計算する。
・各論理アドレスＤＬＡＤのライトアクセス回数の割合ＷＣＲＡＴＥ：ＷＣＲＡＴＥ＝ＷＣ/（ＷＣ＋ＲＣ）
・各論理アドレスＤＬＡＤのリードアクセス回数の割合ＲＣＲＡＴＥ：ＲＣＲＡＴＥ＝ＲＣ/（ＷＣ＋ＲＣ）＝１−ＷＲＡＴＥ
次のＳｔｅｐ３０４では以下を計算する。
・全論理アドレス領域での総ライトアクセス回数ＷＣＴに対する論理アドレスＤＬＡＤの総ライトアクセス回数ＷＣの割合ＷＲＡＴＥ１：ＷＲＡＴＥ１＝ＷＣ／ＷＣＴ
・全論理アドレス領域での総リードアクセス回数ＲＣＴに対する論理アドレスＤＬＡＤの総リードアクセス回数ＲＣの割合ＲＲＡＴＥ１：ＲＲＡＴＥ１＝ＲＣ／ＲＣＴ
次のＳｔｅｐ３０５では以下を計算する。
・各論理アドレスＤＬＡＤの総ライトデータ量ＷＤと各論理アドレスＤＬＡＤの容量ＬＣＰの比率ＷＤＲＡＴＥ＝ＷＤ／ＬＣＰ
図１１のフローではライトとリードの両方の特性を検討している。ライトの特性は、上述のように小さなブロックに集中してアクセスさせたほうが、ガーベージコレクションのコピー量が減る。一方、リードのアクセスは不揮発性メモリに分散してデータが配置されたほうが、リード性能は向上する。よって性能バランスを取るためには、両者を考慮することがより望ましい。
【０１０７】
図９に戻って説明を続ける。Ｓｔｅｐ３の終了後Ｓｔｅｐ４を行う。Ｓｔｅｐ４では、Ｓｔｅｐ３での分析結果を利用し、各論理アドレスＤＬＡＤに対するブロックサイズを決定する。Ｓｔｅp４では、Ｓｔｅｐ４００〜４０２を行う。
【０１０８】
図１２においてＳｔｅｐ４００では、
・各論理アドレスＤＬＡＤのブロックサイズファクタ（Block Size Factor）ＢＬＫＦＣＴと、プロビジョナル容量ファクタ（Provisional Area Factor）ＰＶＦＣＴを計算する。
【０１０９】
ブロックサイズファクタＢＬＫＦＣＴは、
ＢＬＫＦＣＴ＝（ＷＣＲＡＴＥ１/ＷＲＴ１ＡＶＧ）×（ＡＷＤＴ／ＡＷＤ）で表す。
【０１１０】
ＷＲＴ１ＡＶＧは、全論理アドレス領域の容量に対する各論理アドレスＤＬＡＤの容量の割合である。つまり、情報処理装置ＣＰＵGからのライトアクセスが平均的に各論理アドレスＤＬＡＤへ生じた場合の、各論理アドレスＤＬＡＤのライトアクセス回数の割合である。ＷＣＲＡＴＥ１は各論理アドレスＤＬＡＤのライトアクセス回数の割合であるから、（ＷＣＲＡＴＥ１/ＷＲＴ１ＡＶＧ）が大きいということは、当該論理アドレスには平均以上にアクセス回数が集中していること、すなわちホットエリアであることを示す。
【０１１１】
ＡＷＤＴは全論理アドレス領域での１回のライトアクセス当たりの平均ライトデータ量、ＡＷＤは各論理アドレスＤＬＡＤの１回のライトアクセス当たりの平均ライトデータ量である。よって、（ＡＷＤＴ／ＡＷＤ）が大きいということは、当該論理アドレスに書き込まれる１回あたりのデータが、平均より小さいということを示す。以上の説明より明らかなように、ブロックサイズファクタＢＬＫＦＣＴは、１回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスＤＬＡＤへ発生している場合大きな値をとる指標である。後に詳述するように、本実施例では、ＢＬＫＦＣＴが大きい場合、その論理アドレスに対応する物理アドレス（消去ブロック）の大きさを小さくする制御を行う。
【０１１２】
一方、１回当たりのサイズが大きなサイズのライトアクセスが、高頻度で、大量に発生する論理アドレスの場合は、消去回数が増えるのと、実効メモリ量を減少させないために、大きなサイズのブロックのままにしておいたほうがよい。
【０１１３】
また、プロビジョナル容量ファクタＰＶＦＣＴは、ＰＶＦＣＴ＝ＷＤＲＡＴＥ/ＳＵＭ（ＷＤＲＡＴＥ）で表す。  通常、論理アドレスの容量に対して、物理アドレスの容量は少し大きくなっている。この余裕分（例えば２０％程度等）をプロビジョナル領域という。プロビジョナル領域を確保することにより、データの再書き込みを行った場合でも、使用可能な領域を枯渇しにくくすることができる。このプロビジョナル領域を変化させることにより、物理アドレス（消去ブロック）中の無効データの割合を調節することができる。なぜなら、物理アドレスの有効データは、論理アドレス容量以上にはならないから、通常、物理アドレスは最大でプロビジョナル領域分の無効データを持つことができるからである。
【０１１４】
ＷＤＲＡＴＥは各論理アドレスＤＬＡＤの総ライトデータ量ＷＤと各論理アドレスＤＬＡＤの容量ＬＣＰの比率であり、ＳＵＭ（ＷＤＲＡＴＥ）はそれらの合計である。よって、プロビジョナル容量ファクタＰＶＦＣＴは、当該論理アドレスのデータがどれほどの割合ライトされているかを示している。後に詳述するように、本実施例では、ＰＶＦＣＴが大きい場合、その論理アドレスに対応する物理アドレス（消去ブロック）のプロビジョナル領域を大きくする制御を行う。
【０１１５】
プロビジョナル領域を大きくすることにより、消去ブロックに含まれる無効データの割合を大きくすることができる。一方、プロビジョナル領域が大きくするということは、物理アドレスを余計に消費することになるから、プロビジョナル領域を大きくする物理アドレスは、ライトされる割合の大きな（すなわち、無効データの量が多くなる可能性のある）領域に限ることが望ましい。
【０１１６】
次のＳｔｅｐ４０１では各論理アドレスＤＬＡＤのブロックサイズファクタＢＬＫＦＣＴを利用し、各論理アドレスＤＬＡＤのブロックサイズＢＬＫＳＩＺＥを決定する。
【０１１７】
ブロックサイズファクタＢＬＫＦＣＴが大きな値をもつ論理アドレスＤＬＡＤほど、１回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、その当該論理アドレスＤＬＡＤへ発生していることを示す。したがって、ブロックサイズファクタＢＬＫＦＣＴが大きな値をもつ論理アドレスＤＬＡＤほど、小さなブロックサイズを割り当てることにより、ブロック内の有効となる物理ページの数が少なくなり、メモリモジュールＮＶＭＤ内部で行うガーベージコレクション動作に伴うデータコピー量が小さくなる。このため、データコピー時間が短くなるため、制御装置ＤＹＢＳ−ＣＴＬからのリードリクエストＲＱやライトリクエストＷＱの待ち時間が短くなり性能が向上する。
【０１１８】
ライトアクセスが非常に高頻度で、大量に、特定の領域に集中している場合、極端な例では、その領域に有効な物理ページがなくなる場合もある。このような場合には、データコピー自体不要であり、当該領域を消去するだけになる。ブロックサイズを適切に選ぶと、このようにデータコピー自体不要になる場合が増え、性能が向上することが期待できる。
【０１１９】
なお、アクセス頻度が高い論理アドレス領域のことをＨＯＴエリアといい、ここに書き込まれるデータをＨＯＴデータともいう。また、アクセス頻度が低い論理アドレス領域のことをＣＯＬＤエリアといい、ここに書き込まれるデータをＣＯＬＤデータともいう。
【０１２０】
ブロックサイズファクタＢＬＫＦＣＴ値の判定数値は一例であってとくに限定しないが、以下に例を示す判定によってブロックサイズＢＬＫＳＩＺＥを決定する。
【０１２１】
ブロックサイズファクタＢＬＫＦＣＴ≧１０の場合、ブロックサイズＢＬＫＳＩＺＥ＝３２ＫＢ
１０＞ブロックサイズファクタＢＬＫＦＣＴ≧５の場合、ブロックサイズＢＬＫＳＩＺＥ＝６４ＫＢ、
５＞ブロックサイズファクタＢＬＫＦＣＴ≧２の場合、ブロックサイズＢＬＫＳＩＺＥ＝１２８ＫＢ、
２＞ブロックサイズファクタＢＬＫＦＣＴ≧１の場合、ブロックサイズＢＬＫＳＩＺＥ＝２５６ＫＢ、
１＞ブロックサイズファクタＢＬＫＦＣＴ≧０．２の場合、ブロックサイズＢＬＫＳＩＺＥ＝５１２ＫＢ、
０．２＞ブロックサイズファクタＢＬＫＦＣＴの場合、ブロックサイズＢＬＫＳＩＺＥ＝１０２４ＫＢ
次のＳｔｅｐ４０２では各論理アドレスＤＬＡＤのプロビジョナル容量ファクタＰＶＦＣＴを利用し、各論理アドレスＤＬＡＤのプロビジョナル容量ＰＶＳＩＺＥを決定する。
【０１２２】
プロビジョナル容量ファクタＰＶＦＣＴが大きな値をもつ論理アドレスＤＬＡＤほど、ライトデータ量が多いことを示す。したがって、論理アドレスＤＬＡＤへ、書き換え回数に上限のある不揮発性メモリの物理アドレスＤＰＡＤを割り当てる場合、メモリモジュールＮＶＭＤの寿命が情報処理システムの寿命を決定するため、メモリモジュールＮＶＭＤを寿命が長くするように、プロビジョナル容量ファクタＰＶＦＣＴが大きな値をもつ論理アドレスＤＬＡＤほど、プロビジョナル領域全容量ＰＶＡＲＥＡの中で、その論理アドレスＤＬＡＤへ割り当てる容量が大きくする必要がある。
【０１２３】
そこで、プロビジョナル容量ＰＶＳＩＺＥは、ＰＶＳＩＺＥ＝ＰＶＦＣＴ×プロビジョナル領域全容量ＰＶＡＲＥＡと表すことができる。
【０１２４】
図９において、次のＳｔｅｐ５では、制御装置ＤＹＢＳ−ＣＴＬは
Ｓｔｅｐ４で求めたブロックサイズＢＬＫＳＩＺＥとプロビジョナル容量ＰＶＳＩＺＥを利用し、ブロックサイズを示す１次ブロックサイズテーブルＢＬＫＴＢＬ１と１次アドレス変換テーブルＤＬＰＴＢＬ１を作成する。
【０１２５】
さらに、制御装置ＤＹＢＳ−ＣＴＬ０〜ｍが１次ブロックサイズテーブルＢＬＫＴＢＬ１と、１次アドレス変換テーブルＤＬＰＴＢＬ１を作成した後に、
制御装置ＤＹＢＳ−ＣＴＬは、メモリ制御回路ＮＶＭ−ＣＴＬへ、１次ブロックサイズテーブルＢＬＫＴＢＬ１と、１次アドレス変換テーブルＤＬＰＴＢＬ１を転送し、２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＭＡＰを新規に作成するよう指示する。
メモリ制御回路ＮＶＭ−ＣＴＬは制御装置ＤＹＢＳ−ＣＴＬの指示に従って、
１次ブロックサイズテーブルＢＬＫＴＢＬ１および１次アドレス変換テーブルＤＬＰＴＢＬ１の情報を基に、２次アドレス変換テーブルＤＬＰＴＢＬ２と、ブロック毎の消去回数テーブルＥＲＳＴＢＬと、アドレスマップＡＤＭＡＰを作成する。
【０１２６】
次のＳｔｅｐ６では、制御装置ＤＹＢＳ−ＣＴＬは、メモリモジュールＮＶＭＤが製品寿命に到達したかをチェックする。
【０１２７】
メモリモジュールＮＶＭＤが製品寿命に到達しなかった場合、Ｓｔｅｐ７を行う。メモリモジュールＮＶＭＤが製品寿命に到達した場合、メモリ制御回路ＮＶＭ−ＣＴＬは動的ブロックサイズ変更の動作を終了する。
Ｓｔｅｐ７では、有効期間ＴＣの測定を再開する。
【０１２８】
図１３(Ａ)および(Ｂ)には、制御装置ＤＹＢＳ−ＣＴＬが最初に（すなわち、図９で、１回目の有効期間ＴＣ（Ｔ１）の測定と分析が終わった後）作成した、６４個の論理アドレスＤＬＡＤ毎に対応した１次ブロックサイズテーブルＢＬＫＴＢＬ１と１次アドレス変換テーブルＤＬＰＴＢＬ１を示す。
【０１２９】
図１４(Ａ)および(Ｂ)には、制御装置ＤＹＢＳ−ＣＴＬが２回目（すなわち、図９で、２回目の有効期間ＴＣ（Ｔ２）の測定と分析が終わった後）に作成した、６４個の論理アドレスＤＬＡＤ毎に対応した１次ブロックサイズテーブルＢＬＫＴＢＬ１と１次アドレス変換テーブルＤＬＰＴＢＬ１を示す。
【０１３０】
ブロックサイズテーブルは、各論理アドレスに対してアクセス特性と、アクセス特性の基づいた物理ブロック仕様を表している。ブロックサイズテーブルにおいては、既述のように、ＤＬＡＤは論理アドレス、ＷＣＲＡＴＥ１はライトアクセス回数の割合、ＡＷＤは論理アドレスの１回のライトアクセス当たりの平均ライトデータ量、ＷＤＲＡＴＥは各論理アドレスＤＬＡＤの総ライトデータ量ＷＤと各論理アドレスＤＬＡＤの容量ＬＣＰの比率である。
【０１３１】
ＢＬＫＦＣＴはブロックサイズファクタで、これが大きな値をもつ論理アドレスＤＬＡＤほど、１回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスＤＬＡＤへ発生していることを示す。ＢＬＫＳＩＺＥは論理アドレスＤＬＡＤのブロックサイズ、ＰＶＦＣＴはプロビジョナル容量ファクタで、これが大きな値をもつ論理アドレスＤＬＡＤほど、ライトデータ量が多いことを示す。ＰＶＳＩＺＥはプロビジョナル容量である。
【０１３２】
ＷＲＴ１ＡＶＧは全論理アドレス領域の容量に対する各論理アドレスＤＬＡＤの容量の割合、ＡＷＤＴは全論理アドレス領域での１回のライトアクセス当たりの平均ライトデータ量、ＰＶＡＲＥＡはプロビジョナル領域全容量である。
【０１３３】
アドレス変換テーブルは、ブロックサイズテーブルに基づいて、論理アドレスに対する物理アドレスの割り当てを表す。アドレス変換テーブルにおいては、ＤＰＡＤは論理アドレスＤＬＡＤに対応したメモリモジュールの物理アドレス、ＤＰＡＤＳＩＺＥは物理アドレスの容量、ＰＲＡＲＥＡはプロビジョナル領域に割り当てられた物理アドレスである。  図１３(Ａ)のブロックサイズテーブルＢＬＫＴＢＬをみると、
論理アドレスＤＬＡＤ０〜６３へは、１回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、発生しているため、ブロックサイズファクタＢＬＫＦＣＴの値が、８．２８と高い値になっている。
そのため、論理アドレスＤＬＡＤ０〜６３のブロックサイズＢＬＫＳＩＺＥは比較的小さな６４ＫＢとなる。
【０１３４】
一方、論理アドレスＤＬＡＤ４４８〜５１１へは、１回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、低頻度で、少量発生しているためブロックサイズファクタＢＬＫＦＣＴの値が、０．０３と低いあたいとなっている。そのため、論理アドレスＤＬＡＤ４４８〜５１１のブロックサイズＢＬＫＳＩＺＥは比較的大きな１０２４ＫＢとなる。
【０１３５】
また、論理アドレスＤＬＡＤ０〜６３へのライトとデータ量が多いため、プロビジョナル容量ファクタＰＶＦＣＴの値が０.２５と最も高い値を示している。そのため、論理アドレスＤＬＡＤ０〜６３のプロビジョナル容量ＰＶＳＩＺＥは３２と最も高い値となる。
【０１３６】
一方、論理アドレスＤＬＡＤ４４８〜５１１への、ライトとデータ量が少ないため、プロビジョナル容量ファクタＰＶＦＣＴの値が０.０５５と最も低い値を示している。そのため、論理アドレスＤＬＡＤ４４８〜５１１のプロビジョナル容量ＰＶＳＩＺＥは７と最も低い値となる。
【０１３７】
図１３(Ｂ)のアドレス変換テーブルＤＬＰＴＢＬをみると、論理アドレスＤＬＡＤ０〜６３へ割り当てられている物理アドレスＤＰＡＤはＤＰＤＡ０〜６３、ＤＰＡＤ５１２〜５４３である。
【０１３８】
つまり、論理アドレスＤＬＡＤ０〜６３へ割り当てられている物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥは最も大きな値９６となっている。これは、論理アドレスＤＬＡＤ０〜６３のプロビジョナル容量ＰＶＳＩＺＥの値３２が論理アドレスＤＬＡＤ０〜６４までの容量値６４へ加算されているためである。
【０１３９】
一方、論理アドレスＤＬＡＤ４４８〜５１１へ割り当てられている物理アドレスＤＰＡＤはＤＰＤＡ４４８〜５１１、ＤＰＡＤ６３１〜６３９である。
つまり、論理アドレスＤＬＡＤ４４８〜５１１へ割り当てられている物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥは最も小さな値７１となっている。これは、論理アドレスＤＬＡＤ４４８〜５１１のプロビジョナル容量ＰＶＳＩＺＥの値７が論理アドレスＤＬＡＤ４４８〜５１１までの容量値６４へ加算されているためである。
【０１４０】
図１４(Ａ)のブロックサイズテーブルＢＬＫＴＢＬをみると、論理アドレスＤＬＡＤ０〜６３のブロックサイズファクタＢＬＫＦＣＴの値が、１１．０４と高い値になっている。そのため、論理アドレスＤＬＡＤ０〜６３のブロックサイズＢＬＫＳＩＺＥは３２ＫＢとなる。
【０１４１】
つまり、このブロックサイズファクタＢＬＫＦＣＴの値は、制御装置ＤＹＢＳ−ＣＴＬが１回目に作成したブロックサイズテーブルＢＬＫＴＢＬでの論理アドレスＤＬＡＤ０〜６３のブロックサイズファクタＢＬＫＦＣＴよりも高い値となっている。これは論理アドレスＤＬＡＤ０〜６３へ１回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、さらに、高頻度で、大量に、発生していることを示す。
【０１４２】
制御装置ＤＹＢＳ−ＣＴＬは、論理アドレスＤＬＡＤ毎のライトアクセスの特徴を抽出し、論理アドレスＤＬＡＤ０〜６３のブロックサイズＢＬＫＳＩＺＥを６４ＫＢから３２ＫＢへ変更している。
【０１４３】
また、論理アドレスＤＬＡＤ１９２〜２５５のブロックサイズファクタＢＬＫＦＣＴの値が、０．５８と低い値になっている。そのため、論理アドレスＤＬＡＤ１９２〜２５５のブロックサイズＢＬＫＳＩＺＥは５１２ＫＢとなる。
つまり、このブロックサイズファクタＢＬＫＦＣＴの値は、制御装置ＤＹＢＳ−ＣＴＬが１回目に作成したブロックサイズテーブルＢＬＫＴＢＬでの論理アドレスＤＬＡＤ１９２〜２５５のブロックサイズファクタＢＬＫＦＣＴよりも低い値となっている。これは論理アドレスＤＬＡＤ１９２〜２５５へ１回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、さらに、低頻度で、発生していることを示す。
【０１４４】
制御装置ＤＹＢＳ−ＣＴＬは、論理アドレスＤＬＡＤ毎のライトアクセスの特徴を抽出し、論理アドレスＤＬＡＤ１９２〜２５５のブロックサイズＢＬＫＳＩＺＥを２５６ＫＢから５１２ＫＢへ変更している。
【０１４５】
図１４(Ｂ)のアドレス変換テーブルＤＬＰＴＢＬをみると、論理アドレスＤＬＡＤ０〜６３へ割り当てられている物理アドレスＤＰＡＤはＤＰＤＡ０〜６３、ＤＰＡＤ５１２〜５６４である。
【０１４６】
つまり、論理アドレスＤＬＡＤ０〜６３へ割り当てられている物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥは１１７となっている。
【０１４７】
これは、制御装置ＤＹＢＳ−ＣＴＬが１回目に作成したアドレス変換テーブルＤＬＰＴＢＬでの論理アドレスＤＬＡＤ０〜６３のプロビジョナル容量ＰＶＳＩＺＥよりも高い値である５３となっているためである。
【０１４８】
この様に、制御装置ＤＹＢＳ−ＣＴＬは、論理アドレスＤＬＡＤ毎のライトデータ量を計算し、論理アドレスＤＬＡＤ０〜６３へ割り当てる物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥを９６から１１７へ増加している。
【０１４９】
また、論理アドレスＤＬＡＤ１９２〜２５５へ割り当てられている物理アドレスＤＰＡＤはＤＰＤＡ１９２〜２５５、ＤＰＡＤ６１１〜６２１である。
つまり、論理アドレスＤＬＡＤ１９２〜２５５へ割り当てられている物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥは７５となっている。
【０１５０】
これは、制御装置ＤＹＢＳ−ＣＴＬが１回目に作成したアドレス変換テーブルＤＬＰＴＢＬでの論理アドレスＤＬＡＤ１９２〜２５５のプロビジョナル容量ＰＶＳＩＺＥよりも低い値である１１となっているためである。
【０１５１】
この様に、制御装置ＤＹＢＳ−ＣＴＬは、論理アドレスＤＬＡＤ毎のライトデータ量を計算し、論理アドレスＤＬＡＤ１９２〜２５５へ割り当てる物理アドレスＤＰＡＤの容量ＤＰＡＤＳＩＺＥを１８から１１へ減少している。
【０１５２】
以上述べたように制御装置ＤＹＢＳ−ＣＴＬは、ブロックサイズテーブルやアドレス変換テーブルに基づいた制御を行い、メモリアレイの消去ブロックの大きさや、プロビジョナル領域の設定が行われる。  特許文献３に示されている３次元構造の不揮発性メモリでは、Ｎ×Ｍ個の３次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。このＮとＭの値は、どのメモリセルアレイを選択するかによって決めることができる。また、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。しかし、この熱緩衝領域にはデータを書き込まないため消去データ単位を小さくするほど、熱緩衝領域の割合が増え、実効メモリ容量が減少してしまう。すなわち、ブロックのブロックサイズを均等に小さくすれば、ブロック内の有効データ量が少なくなるという効果はあるが、ブロックの境界部分に熱緩衝領域が配置されている場合、その割合が増え、実効的なデータ容量が減少する。このように、従来の不揮発性メモリ装置では、ＳＳＤの性能と実効メモリ容量はトレードオフの関係にあった。よって、必要に応じてブロックサイズを変化させる本実施例の構成に利点がある。
【０１５３】
図１５は、制御装置ＤＹＢＳ−ＣＴＬがメモリ制御回路ＮＶＭ−ＣＴＬへ転送したブロックサイズテーブルＢＬＫＴＢＬ情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬが作成したアドレスマップＡＤＭＡＰ情報を利用し、構築する不揮発性メモリ装置ＮＭＶのメモリアレイのブロック構成の一例であり、ブロックサイズが１０２４ＫＢの場合のブロック構成の一例である。
【０１５４】
一つのブロックは、１２９（Ｘ方向：Ｘ−ＢＬＫ）×９２１６（Ｙ方向：Ｙ−ＢＬＫ）×８（Ｚ方向：Ｚ−ＢＬＫ）のチェインメモリアレイにて構成され、そのサイズは１１８８８８６４バイト（＝１２９（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））であることを示す。
【０１５５】
また、消去データ単位は、８（Ｘ方向：ＸＥＲＳ）×７２（Ｙ方向：ＹＥＲＳ）×８（Ｚ方向：ＺＥＲＳ）のメモリアレイが一括で低抵抗になり、その消去データサイズは５７６バイト（＝９（Ｘ方向）×７２（Ｙ方向）×８（Ｚ方向））である。
【０１５６】
また、Ｘ方向に一行分だけのメモリアレイ、つまり１（Ｘ方向：ＸＷＡＬ）×９２１６（Ｙ方向）×８（Ｚ方向）のメモリアレイが熱緩衝領域ＷＡＬＬとして設定され、そのサイズは９２１６バイト（＝１（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））であることを示す。
【０１５７】
不揮発性メモリ装置は、ブロックＢＬＫ0〜ＢＬＫkn+n-1で構成されており、それぞれのブロック内のメモリアレイＡＲＹのチェインメモリアレイＣＹＬと、チェインメモリアレイＣＹＨの配置の一例が示されている。これらの図において、チェインメモリアレイＣＹＬは、白い丸印で示され、熱緩衝領域を構成するチェインメモリアレイＣＹＨは、黒い丸印で示されている。以下の図面においても、チェインメモリアレイＣＹＬとチェインメモリアレイＣＹＨは同様な表示方法をする。
【０１５８】
図１５において、一つのブロックは、１２９（Ｘ方向）×９２１６（Ｙ方向）のチェインメモリアレイにて構成され、そのサイズは１１８８８８６４バイト（＝１２９（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。このブロックが多数個配置され、図４に示す不揮発性メモリのメモリアレイを構成する。
【０１５９】
一つのブロック内の書込み領域ＷＴ−ＡＲＥＡは、消去領域と同一で、複数のチェインメモリアレイＣＹＬが物理的に集まって形成されている領域である。
【０１６０】
書込み領域ＷＴ−ＡＲＥＡのサイズは１１７９６４８バイト（＝１２８（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１６１】
書込み領域ＷＴ−ＡＲＥＡ内のデータ領域ＤＡＴＡ−ＡＲＥＡのサイズは１０４８５７６バイト（＝１２８（Ｘ方向）×８１９２（Ｙ方向）×８（Ｚ方向））で、書込み領域ＷＴ−ＡＲＥＡ内の管理領域ＭＧ−ＡＲＥＡのサイズは１３１０７２バイト（＝１２８（Ｘ方向）×１０２４（Ｙ方向）×８（Ｚ方向））である。
【０１６２】
一つの論理アドレスＬＡＤのデータサイズは、８１９２バイトであり、情報処理回路ＣＯＮＴＬは、このデータＤＡＴＡに対するＥＣＣコードを生成し、不揮発性メモリのメモリアレイのブロック内の書込み領域ＷＴ−ＡＲＥＡへ、データＤＡＴＡとＥＣＣコードを書き込む。
【０１６３】
また、一つの物理アドレスには、一つの論理アドレスＬＡＤのデータＤＡＴＡを書き込む８１９２バイトのデータ領域ＤＡＴＡ−ＡＲＥＡと、データＤＡＴＡに対するＥＣＣコードなどを書き込む１０２４バイトの管理領域ＭＧ−ＡＲＥＡが割り当たてられるため、
１０４８５７６バイトの書込み領域ＷＴ−ＡＲＥＡには、１２８つの論理アドレスＬＡＤに対する物理アドレスのデータが格納される。
【０１６４】
また、熱緩衝領域WALLは、書込み領域ＷＴ−ＡＲＥＡの外側に配置される複数のチェインメモリアレイＣＹＨが物理的に集まって形成されている領域である。
【０１６５】
図１５において、  熱緩衝領域WALLのサイズは９２１６バイト（＝１（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１６６】
また、先ず、書込み領域ＷＴ−ＡＲＥＡ（＝消去領域）内の全チェインメモリアレイＣＹＬに含まれる全メモリセルのデータは、“１”（Ｓｅｔ状態：低抵抗状態）となる。すなわち、一括消去され、次に、物理アドレスＰＡＤ毎に、“０”のデータのみが（Ｒｅｓｅｔ状態：高抵抗状態）が書き込まれる。たとえば、書込み領域ＷＴ−ＡＲＥＡサイズが１１７９６４８バイトで、一回の消去動作による一括消去データサイズが５７６バイトである場合、２０４８回の消去動作がＹ方向と平行な方向に、順に行われ、書込み領域ＷＴ−ＡＲＥＡの全メモリセルのデータは、“１”（Ｓｅｔ状態：低抵抗状態）となる。
【０１６７】
熱緩衝領域WALLに対しては消去動作が行われないため、書込み領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、隣接するブロックへ及ぼされることは無い。さらに、熱緩衝領域WALLに対しては、“０”のデータ（Ｒｅｓｅｔ状態：高抵抗状態）も書き込まれることは無い。熱緩衝領域となるメモリアレイＣＹＨは構造的には通常のメモリセルであるが、制御装置により、書き込みや消去が行われないように制御される。
【０１６８】
この様に、チェインメモリアレイＣＹＨを熱緩衝領域WALLとして書込み領域（＝消去領域）の周辺に配置することで、熱ディスターブによる信頼性低下を防ぐことができる。
【０１６９】
なお、図１５ではＸ方向には熱緩衝領域WALLが形成されていない。この実施例ではデバイス構造として、各ブロックＢＬＫの間にはＹ方向に物理的に間隔が設けられているため、Ｘ方向には熱緩衝領域WALLが必要ないため形成されていないが、必要に応じてＸ方向にも熱緩衝領域を設けてよい。
【０１７０】
図１６は、制御装置ＤＹＢＳ−ＣＴＬがメモリ制御回路ＮＶＭ−ＣＴＬへ転送したブロックサイズテーブルＢＬＫＴＢＬ情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬが作成したアドレスマップＡＤＭＡＰ情報を利用し、構築する不揮発性メモリ装置ＮＭＶのメモリアレイのブロック構成の一例であり、ブロックサイズが１２８ＫＢの場合のブロック構成の一例である。
【０１７１】
一つのブロックは、１７（Ｘ方向：Ｘ−ＢＬＫ）×９２１６（Ｙ方向：Ｙ−ＢＬＫ）×８（Ｚ方向：Ｚ−ＢＬＫ）のチェインメモリアレイにて構成され、そのサイズは１５６６７２バイト（＝１７（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１７２】
また、消去データ単位および熱緩衝領域ＷＡＬＬは、図１５と同様である。チェインメモリアレイＣＹＬとチェインメモリアレイＣＹＨの表示方法は図１５と同様である。
【０１７３】
図１６において、一つのブロックは、１７（Ｘ方向）×９２１６（Ｙ方向）のチェインメモリアレイにて構成され、そのサイズは１５６６７２バイト（＝１７（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。このブロックが多数個配置され、図４に示す不揮発性メモリのメモリアレイを構成する。
【０１７４】
一つのブロック内の書込み領域ＷＴ−ＡＲＥＡは、消去領域と同一で、複数のチェインメモリアレイＣＹＬが物理的に集まって形成されている領域である。
【０１７５】
書込み領域ＷＴ−ＡＲＥＡのサイズは１４７４５６バイト（＝１６（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１７６】
書込み領域ＷＴ−ＡＲＥＡ内のデータ領域ＤＡＴＡ−ＡＲＥＡのサイズは１３１０７２バイト（＝１６（Ｘ方向）×８１９２（Ｙ方向）×８（Ｚ方向））で、書込み領域ＷＴ−ＡＲＥＡ内の管理領域ＭＧ−ＡＲＥＡのサイズは１６３８４バイト（＝１６（Ｘ方向）×１０２４（Ｙ方向）×８（Ｚ方向））である。
【０１７７】
情報処理回路ＣＯＮＴＬによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図１５と同様である。
【０１７８】
図１７は、制御装置ＤＹＢＳ−ＣＴＬがメモリ制御回路ＮＶＭ−ＣＴＬへ転送したブロックサイズテーブルＢＬＫＴＢＬ情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬが作成したアドレスマップＡＤＭＡＰ情報を利用し、構築する不揮発性メモリ装置ＮＭＶのメモリアレイのブロック構成の一例であり、ブロックサイズが６４ＫＢの場合のブロック構成の一例である。
【０１７９】
一つのブロックは、９（Ｘ方向：Ｘ−ＢＬＫ）×９２１６（Ｙ方向：Ｙ−ＢＬＫ）×８（Ｚ方向：Ｚ−ＢＬＫ）のチェインメモリアレイにて構成され、そのサイズは８２９４４バイト（＝９（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１８０】
また、消去データ単位および熱緩衝領域ＷＡＬＬは、図１５と同様である。チェインメモリアレイＣＹＬとチェインメモリアレイＣＹＨの表示方法は図１５と同様である。
【０１８１】
図１７において、一つのブロックは、９（Ｘ方向）×９２１６（Ｙ方向）のチェインメモリアレイにて構成され、そのサイズは８２９４４バイト（＝９（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。このブロックが多数個配置され、図４に示す不揮発性メモリのメモリアレイを構成する。
【０１８２】
一つのブロック内の書込み領域ＷＴ−ＡＲＥＡは、消去領域と同一で、複数のチェインメモリアレイＣＹＬが物理的に集まって形成されている領域である。
【０１８３】
書込み領域ＷＴ−ＡＲＥＡのサイズは７３７２８バイト（＝８（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１８４】
書込み領域ＷＴ−ＡＲＥＡ内のデータ領域ＤＡＴＡ−ＡＲＥＡのサイズは６５５３６バイト（＝８（Ｘ方向）×８１９２（Ｙ方向）×８（Ｚ方向））で、書込み領域ＷＴ−ＡＲＥＡ内の管理領域ＭＧ−ＡＲＥＡのサイズは８１９２バイト（＝８（Ｘ方向）×１０２４（Ｙ方向）×８（Ｚ方向））である。
【０１８５】
情報処理回路ＣＯＮＴＬによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図１５と同様である。
【０１８６】
図１８は、制御装置ＤＹＢＳ−ＣＴＬがメモリ制御回路ＮＶＭ−ＣＴＬへ転送したブロックサイズテーブルＢＬＫＴＢＬ情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬが作成したアドレスマップＡＤＭＡＰ情報を利用し、構築する不揮発性メモリ装置ＮＭＶのメモリアレイのブロック構成の一例であり、ブロックサイズが３２ＫＢの場合のブロック構成の一例である。
【０１８７】
一つのブロックは、５（Ｘ方向：Ｘ−ＢＬＫ）×９２１６（Ｙ方向：Ｙ−ＢＬＫ）×８（Ｚ方向：Ｚ−ＢＬＫ）のチェインメモリアレイにて構成され、そのサイズは４６０８０バイト（＝５（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１８８】
また、消去データ単位および熱緩衝領域ＷＡＬＬは、図１５と同様である。チェインメモリアレイＣＹＬとチェインメモリアレイＣＹＨの表示方法は図１５と同様である。
【０１８９】
図１８において、一つのブロックは、５（Ｘ方向）×９２１６（Ｙ方向）のチェインメモリアレイにて構成され、そのサイズは４６０８０バイト（＝９（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。このブロックが多数個配置され、図４に示す不揮発性メモリのメモリアレイを構成する。
【０１９０】
一つのブロック内の書込み領域ＷＴ−ＡＲＥＡは、消去領域と同一で、複数のチェインメモリアレイＣＹＬが物理的に集まって形成されている領域である。
【０１９１】
書込み領域ＷＴ−ＡＲＥＡのサイズは３６８６４バイト（＝４（Ｘ方向）×９２１６（Ｙ方向）×８（Ｚ方向））である。
【０１９２】
書込み領域ＷＴ−ＡＲＥＡ内のデータ領域ＤＡＴＡ−ＡＲＥＡのサイズは３２７６８バイト（＝８（Ｘ方向）×８１９２（Ｙ方向）×８（Ｚ方向））で、書込み領域ＷＴ−ＡＲＥＡ内の管理領域ＭＧ−ＡＲＥＡのサイズは８１９２バイト（＝８（Ｘ方向）×１０２４（Ｙ方向）×８（Ｚ方向））である。
【０１９３】
情報処理回路ＣＯＮＴＬによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図１５と同様である。
【０１９４】
図１５〜図１８で説明した様に、ブロックサイズテーブルＢＬＫＴＢＬ情報を基に、メモリ制御回路ＮＶＭ−ＣＴＬが、図４に示す不揮発性メモリのメモリアレイのブロックサイズを最適に構成でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、メモリモジュールＭＤの低コスト化と高性能化を実現できる。
【０１９５】
図１５〜図１８では、ブロックサイズを変更するに際して、Ｙ方向の幅を変えずにＸ方向の幅を変更しているが、サイズの変更方法としてはこれに限るものではなく、Ｙ方向の幅を変更してもよい。ただし、図１５〜図１８の手法では、Ｘ方向に並ぶブロックの境界を変更するために、Ｙ方向に並ぶメモリアレイＣＹＨの位置を変更するだけでよいので制御が簡単である。また、Ｙ方向に並ぶブロックの境界は、デバイス構造による物理的な間隔を利用しているので、熱緩衝領域の設定が必要ないという利点もある。なお、熱緩衝の影響を無視できるデバイス構造であれば、熱緩衝領域は設けなくてもよい。
【０１９６】
（まとめ）
以上に説明した各実施の形態によって得られる主な効果は以下の通りである。
【０１９７】
第１に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、半導体装置のデータ転送性能を向上できる。
【０１９８】
第２に、論理アドレス毎に生じるライトリクエストの特徴量を抽出することにより、各論理アドレス領域に対する物理アドレス領域の容量を最適化でき、半導体装置の信頼性を向上できる。
【０１９９】
第３に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、半導体装置の低コスト化を実現できる。
【０２００】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、実施の形態においては、主に相変化メモリを代表として説明を行ったが、ＲｅＲＡＭ等を含めた抵抗変化型のメモリであれば、同様に適用して同様の効果が得られる。
【０２０１】
また、実施例において、複数のメモリセルが半導体基板に対して高さ方向に順に積層して配置される３次元構造のメモリを代表として説明を行ったが、半導体基板に対して高さ方向に１つのメモリセルが配置される２次元構造のメモリにおいても同様に適用して同様の効果が得られる。
【産業上の利用可能性】
【０２０２】
不揮発性メモリを利用した、記憶装置の技術分野に利用することができる。
【符号の説明】
【０２０３】
ＡＤＣＭＤＩＦ…アドレス・コマンドインターフェース回路、ＡＲＢ…調停回路、ＡＲＹ…メモリアレイ、ＢＫ…メモリバンク、ＢＬ…ビット線、ＢＳＷ…ビット線選択回路、ＢＵＦ…バッファ、ＣＡＤＬＴ…カラムアドレスラッチ、ＣＨ…チェイン制御線、ＣＨＤＥＣ…チェインデコーダ、ＣＨＬＴ…チェイン選択アドレスラッチ、ＣＬ…相変化メモリセル、ＣＯＬＤＥＣ…カラムデコーダ、ＰＡＤ…物理アドレス、ＣＰＡＤ…物理アドレス、ＣＰＵＧ…情報処理装置、ＣＴＬＯＧ…制御回路、ＣＹ…チェインメモリアレイ、ＤＡＴＣＴＬ…データ制御回路、ＤＢＵＦ…データバッファ、ＤＳＷ…データ選択回路、ＤＴ…データ線、ＥＮＵＭ…エントリー番号、ＨＤＨ＿ＩＦ…インターフェース信号、ＨＯＳＴ＿ＩＦ…インターフェース回路、ＩＯＢＵＦ…ＩＯバッファ、ＬＡＤ…論理アドレス、ＬＲＮＧ…論理アドレス領域、ＤＬＰＴＢＬ…アドレス変換テーブル、ＬＹ…メモリセル選択線、ＬＹＣ…レイヤ番号、ＬＹＮ…データ書込みレイヤ情報、ＭＡＰＲＥＧ…マップレジスタ、ＭＤＬＣＴ…制御回路、ＭＮＥＲＣ…最小消去回数、ＭＮＧＥＲ…情報処理回路、ＭＮＩＰＡＤ…無効物理オフセットアドレス、ＭＮＶＰＡＤ…有効物理オフセットアドレス、ＭＸＥＲＣ…最大消去回数、ＭＸＩＰＡＤ…無効物理オフセットアドレス、ＭＸＶＰＡＤ…有効物理オフセットアドレス、ＮＶＣＴ…メモリ制御回路、ＮＶＭ…不揮発性メモリ装置、ＮＶＭＭＤ…メモリモジュール、ＰＡＤ…物理アドレス、ＰＡＤＴＢＬ…物理アドレステーブル、ＰＥＲＣ…消去回数、ＰＰＡＤ…物理オフセットアドレス、ＰＲＮＧ…物理アドレス領域、ＰＶＬＤ…有効フラグ、Ｒ…記憶素子、ＲＡＤＬＴ…ロウアドレスラッチ、ＲＡＭ…ランダムアクセスメモリ、ＲＡＭＣ…メモリ制御回路、ＲＥＦ＿ＣＬＫ…基準クロック信号、ＲＥＧ…レジスタ、ＲＯＷＤＥＣ…ロウデコーダ、ＲＳＴＳＩＧ…リセット信号、ＳＡ…センスアンプ、ＳＧＡＤ…物理セグメントアドレス、ＳＬ…チェインメモリアレイ選択線、ＳＴＲＥＧ…ステータスレジスタ、ＳＷＢ…読み書き制御ブロック、ＳＹＭＤ…クロック生成回路、Ｔｃｈ…チェイン選択トランジスタ、Ｔｃｌ…メモリセル選択トランジスタ、ＴＨＭＯ…温度センサ、ＴＮＩＰＡ…無効物理アドレス総数、ＴＮＶＰＡ…有効物理アドレス総数、ＷＤＲ…ライトドライバ、ＷＬ…ワード線、ＷＶ…書込みデータ検証回路、ＣＰＵG…情報処理装置、ＲＯＵＴＥＲ…ルーター装置、ＤＹＢＳ−ＣＴＬ０〜31…制御装置、ＳＴＲＧ０〜３１…ストレージ装置、ＣＰＵ０〜３１…情報処理回路、ＭＤ０〜３１…ＣＰＵメモリモジュール、メＭ０〜７…メモリ装置を備える。
ＮＶＭＤ０〜３１…メモリモジュール、ＮＶＭ０〜ＮＶＭ３１…不揮発性メモリ装置、ＲＡＭ０…ランダムアクセスメモリＮＶＭ−ＣＴＬ…メモリ制御回路、ＢＬＫＴＢＬ…ブロックサイズテーブル、ＤＬＰＴＢＬ…アドレス変換テーブル、ＤＬＡＤ…論理アドレス、ＤＰＡＤ…物理アドレス、ＥＲＳＴＢＬ…消去回数テーブル、ＡＤＭＡＰ…アドレスマップ
【図１】
2016174744.tif 000003
【図２】
2016174744.tif 000004
【図３】
2016174744.tif 000005
【図４】
2016174744.tif 000006
【図５】
2016174744.tif 000007
【図６】
2016174744.tif 000008
【図７】
2016174744.tif 000009
【図８】
2016174744.tif 000010
【図９】
2016174744.tif 000011
【図１０】
2016174744.tif 000012
【図１１】
2016174744.tif 000013
【図１２】
2016174744.tif 000014
【図１３】
2016174744.tif 000015
【図１４】
2016174744.tif 000016
【図１５】
2016174744.tif 000017
【図１６】
2016174744.tif 000018
【図１７】
2016174744.tif 000019
【図１８】
2016174744.tif 000020
【図１９】
2016174744.tif 000021
【国際調査報告】
2016174744.tif 000022
2016174744.tif 000023