JP6360627B2 - 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 - Google Patents

不揮発性メモリの制御方法、制御装置、および半導体記憶装置 Download PDF

Info

Publication number
JP6360627B2
JP6360627B2 JP2017515329A JP2017515329A JP6360627B2 JP 6360627 B2 JP6360627 B2 JP 6360627B2 JP 2017515329 A JP2017515329 A JP 2017515329A JP 2017515329 A JP2017515329 A JP 2017515329A JP 6360627 B2 JP6360627 B2 JP 6360627B2
Authority
JP
Japan
Prior art keywords
memory
address
write
logical address
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2017515329A
Other languages
English (en)
Other versions
JPWO2016174744A1 (ja
Inventor
三浦 誓士
誓士 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2016174744A1 publication Critical patent/JPWO2016174744A1/ja
Application granted granted Critical
Publication of JP6360627B2 publication Critical patent/JP6360627B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0097Erasing, e.g. resetting, circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0078Write using current through the cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor

Description

本発明は、半導体装置に関し、特に不揮発性メモリ装置を備えた半導体装置に関する。
近年、不揮発性メモリ装置として、記録材料にカルコゲナイト材料を用いた相変化メモリが盛んに研究されている。相変化メモリとは、電極間の記録材料が異なる抵抗状態を持つことを利用し、情報を記憶する抵抗変化型メモリの一種である。
相変化メモリにおいては、GeSbTeなどの相変化材料の抵抗値がアモルファス状態と結晶状態とで異なることを利用して情報を記憶する。アモルファス状態では抵抗が高く(高抵抗状態)、結晶状態では抵抗が低い(低抵抗状態)。従って、相変化メモリからの情報読み出しは、素子の両端に電位差を与え、素子に流れる電流を測定し、素子の高抵抗状態/低抵抗状態を判別することにより実現する。
相変化メモリにおいては、電流により発生するジュール熱によって、相変化材料により構成されたところの相変化膜の電気抵抗を異なる状態に変化させることによりデータを書き換える。
図19は、相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示す図である。同図において、縦軸は温度を表し、横軸は時間を表す。この記憶素子に記憶情報“0”を書き込む場合には、図19に示す様に、大電流を流して記憶素子をカルコゲナイド材料の融点Ta以上に熱してから急冷する様なリセットパルスを印加する。この場合、冷却時間t1を短くすることにより(例えば約1nsに設定することにより)、カルコゲナイド材料は高抵抗のアモルファス(非晶質)状態となる。逆に、記憶情報“1”を書き込む場合には、記憶素子を融点Taよりも低いが、結晶化温度Tx(ガラス転移点と同じかそれよりも高い)よりも高い温度領域に保つ様な十分な電流を流すようにセットパルスを長時間印加する。これにより、カルコゲナイド材料は低抵抗の多結晶状態となる。
この相変化メモリは抵抗素子構造を小さくすると、相変化膜の状態変化に必要な電流が小さくなる。このため、相変化メモリは、原理上、微細化に向いており、研究が盛んに行われている。特許文献1、特許文献2および特許文献3には、3次元構造の不揮発性メモリが開示されている。
特許文献1および3には、可変抵抗素子とこれに並列接続されるトランジスタとを備えたメモリセルを積層方向に向けて直列に接続した構成が示されている。また、特許文献2には、可変抵抗素子とこれに直列接続されるダイオードとを備えたメモリセルを積層方向に向けて導電線を挟んで直列に接続した構成が示されている。当該構成では、例えば2個のメモリセルの間の導電線と、2個のメモリセルの外側の2本の導電線との間に電位差を与えることで、当該2個のメモリセルに対して一括して書込み動作が行われる。
また、特許文献3には、NxM個の3次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。さらに、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。また、特許文献4には、不揮発性メモリに関し、コントローラがワークロード指標に応じて、メモリユニットのうちの1つを選択することが開示されている。
国際公開第2011/074545号 特開2011−142186号公報 国際公開第2014/188484号 特開2014−179086号公報
本発明者らは、本願に先立ち、SSD(Solid State Drive)やメモリカードなどのストレージへ利用されているNAND型フラッシュメモリの制御方法について検討した。さらに、抵抗変化型メモリを利用した制御方法いついて検討した。
[NAND型フラッシュメモリの制御方法に対する検討]
NAND型フラッシュメモリに代表される不揮発性メモリは、あるメモリ領域へデータを書き込むためには、予め、そのメモリ領域のデータを消去する必要がある。この消去時の最小データ単位は例えば1Mバイト等(例えば1ブロックという)であり、書き込み時の最小データ単位は例えば8Kバイト等(例えば1ページという)である。不揮発性メモリでは、1ブロックのメモリ領域に、論理アドレスに対応した物理アドレスを持つページに書き込みを行う。このとき、同じ論理アドレスで新しいデータを書き込む場合には、古いページを無効化し、新しいページにデータを書き込む。1ブロックが有効なページと無効なページで満たされると、それ以上は書き込みができなくなる。つまり、8Kバイトのデータを書くために、1Mバイトの消去済メモリ領域を確保する必要がある。この1Mバイトの消去済メモリ領域を確保するために、SSD内部ではガーベージコレクションと呼ばれる動作が必要となる。 このガーベージコレクション動作は、空き領域(消去済ブロック数)が所定以下になった場合に、開始する。このガーベージコレクション動作によって、消去済ブロック数を1つ増やしたい場合は、最低、2個のブロック(以下のメモリ領域A,B)を選択する必要がある。SSDは、先ず、既に書き込み済の1Mバイトの不揮発性メモリ領域AおよびBから、現時点で有効なデータ(ページ)を読み出し、これらのデータを集めて、RAMへ書き込む。次に、不揮発性メモリ領域AおよびBを消去する。最後に、RAMへ書き込まれたデータをまとめて不揮発性メモリ領域Aへ書き込む。このガーベージコレクション動作によって、1Mバイトの不揮発性メモリ領域Bが消去済メモリ領域となり、この不揮発性メモリ領域Bへ新たなにデータを書き込むことができる。このようなガーベージコレクションは、消去単位と書き込み単位の大きさが異なり、上書きができないメモリにおいては、従来から行われている。
しかしながら、このガーベージコレクション動作によって、SSD内部では、ある不揮発メモリ領域から他の不揮発性メモリ領域へのデータの移動が発生し、ここのデータ移動期間中は、ホストコントローラからSSDへ要求されたライト及びリードリクエストが実行できず、SSDの性能が劣化してしまう。
さらに、ガーベージコレクション動作に伴うデータ移動により、ホストコントローラからSSDへ要求されたライトデータサイズよりも、大きなデータサイズの書き込みが行われる。このため、SSDの信頼性や寿命が低下する。
本願発明は、上記のような課題に鑑みてなされたものである。本願発明の目的は、高性能化、高信頼化を実現する半導体装置を提供することにある。
本願発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明の一側面は、消去単位と書き込み単位が異なる不揮発性メモリの制御方法である。この方法では、所定単位の論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、所定単位の論理アドレスに対するライトアクセスの状況に応じて、論理アドレスに割り当てられる物理アドレスが含まれる消去単位の大きさを制御する。
消去単位の具体的な定義としては、「消去回数を管理するための、一つのまとまった領域」であり、「1つの消去コマンドで消去される領域」あるいは、「1つの消去コマンドで消去される領域」の整数倍の領域となる。本明細書ではこれをブロックと称することがある。ブロック毎の消去回数は、消去回数テーブル等で管理される。
ライトアクセスの状況の評価方法は種々考えられるが、一例としては、所定単位の論理アドレスの平均ライトデータ量および所定単位の論理アドレスのライトアクセス回数の少なくとも一つによって評価できる。
また、ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを用いて正規化することもできる。
さらに、所定単位の論理アドレスに対するリードアクセスの状況を考慮して、消去単位の大きさを制御することもできる。
さらに、所定単位の論理アドレスに対するライトアクセスの状況に応じて、割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することもできる。
本発明の他の側面は、種々の不揮発メモリに対して、上記の方法で制御を行う不揮発性メモリの制御装置である。不揮発性メモリの制御装置の一例としては、論理アドレスに対して不揮発性メモリの物理アドレスを割り当て、物理アドレスにアクセスを行う制御回路であって、この制御回路は、論理アドレスに対するアクセス状況に基づいて、論理アドレスに対応する物理アドレスを含む消去単位ブロックの大きさを動的に変化させる。
本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの物理アドレスを含むブロックのブロックサイズを動的に変化させ、書込みを行うことを特徴とする。
好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第1特徴量を計算し、第1特徴量に基づいて、不揮発性メモリの前記物理アドレスを含む前記ブロックのブロックサイズを決定する。具体的な例としては、第1特徴量は、例えばアクセス頻度の高い論理アドレスを示す特徴量であり、例えば、後述するブロックサイズファクタが典型例である。
本発明の他の側面は、不揮発性メモリと、入力される論理アドレスに対して物理アドレスを割り当て、不揮発性メモリの前記物理アドレスにアクセスを行う制御回路と、を有する半導体記憶装置である。制御回路は、不揮発性メモリの論理アドレスの容量に対する物理アドレスの容量を動的に変化させ、書込みを行うことを特徴とする。
好ましい態様では、制御回路は、論理アドレス毎に、制御回路へ入力するライトリクエストの第2特徴量を計算し、第2特徴量に基づいて、論理アドレスを複数個分含む論理アドレス領域の容量に対する、物理アドレスを複数個分含む物理アドレス領域の容量を決定する。具体的な例としては、第2特徴量は、例えば論理アドレスのデータがどれほどの割合ライトされているかを示す特徴量であり、後述するプロビジョナル容量ファクタが典型例である。物理アドレス領域の容量を決定する具体的手法では、後述するプロビジョナル容量を変化させる例が挙げられる。
本発明の他の側面では、半導体装置は、不揮発性メモリと、不揮発性メモリをアクセスする制御回路と、を具備している。制御回路は、一定期間以内で外部から入力されるライトリクエストの論理アドレスに対するアクセスの頻度を計算し、このアクセス頻度を基に、不揮発性メモリのブロックサイズを変更し、書込みを行う。これにより、アクセス頻度の高い論理アドレスに対応する物理アドレスを含むブロックのブロックサイズが小さくなり、ブロック内の有効データ量が少なくなる。これによって、ガーベージコレクション時のデータコピー量が小さくなり、コピー時間が短縮されるため制御回路は、外部から入力されるライトおよびリードリクエストを待たせる時間が短くなり半導体装置のデータ転送速度が向上する。ここにおいてブロックとは、ガーベージコレクションが行われる際の、消去単位と把握することができる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
すなわち、高性能で、信頼性が高く且つコストが低い不揮発性メモリを備えた半導体装置を提供することができる。
本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。 図1における制御回路の構成例を示すブロック図である。 図1におけるメモリモジュール内の制御回路の構成を示すブロック図である。 図1における不揮発性メモリ装置NMV0〜31の構成例を示すブロック図である。 図4におけるチェインメモリアレイの構成例を示す回路図である。 図5のチェインメモリアレイの動作例を示す回路図である。 図5のチェインメモリアレイの別の動作例を示す回路図である。 図5のチェインメモリアレイの別の動作例を示す回路図である。 動的ブロックサイズ変更の動作の全体フローを示すフロー図である。 図9のStep1の詳細動作を示すフロー図である。 図9のStep3の詳細動作を示すフロー図である。 図9のStep4の詳細動作を示すフロー図である。 ブロックサイズテーブルBLKTBLとアドレス変換テーブルDLPTBLを示す表図である。 ブロックサイズテーブルBLKTBLとアドレス変換テーブルDLPTBLを示す表図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 不揮発性メモリのメモリアレイのブロック構成の一例を示す上面図である。 相変化材料を用いた抵抗性記憶素子の相変化に必要なパルス幅と温度との関係を示すグラフ図である。
以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。特に明示した場合を除き、それらは互いに無関係ではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
実施の形態において各ブロックを構成する回路素子は特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。また、実施の形態で述べるメモリセルとしては、相変化メモリ、ReRAM(Resistive Ramdam Access Memory)のような抵抗性記憶素子を用いるものとする。
<情報処理システムの概要>
図1は、本発明の一実施の形態による半導体装置において、それを適用した情報処理システムの概略構成例を示すブロック図である。図1に示す情報処理システムは、情報処理装置CPUGと、ルーター装置ROUTERと、制御装置DYBS−CTL0〜mと、ストレージ装置STRG0〜mとを備える。
情報処理装置CPUGは、特に限定しないが、情報処理回路CPU0〜nと、CPUメモリモジュールMD0〜nとを備える。CPUメモリモジュールMD0〜nの各々は、メモリ装置M0〜nnを備える。
ストレージ装置STRG0〜mの各々には、不揮発メモリモジュールNVMD0〜kを備えている。
不揮発メモリモジュールNVMD0〜kの各々は、不揮発性メモリ装置NVM0〜pと、ランダムアクセスメモリRAMと、これら不揮発性メモリ装置およびランダムアクセスメモリを制御する制御回路NVM−CTLを備える。不揮発性メモリ装置NVM0〜NVMpは、例えば同じ構成および性能を備えている。
不揮発メモリモジュールNVMD0〜kの各々の不揮発性メモリ装置NVM0〜pには、情報処理回路CPU0〜nにて動作するオペレーティングシステム、アプリケーションプログラム、データが格納される。
不揮発性メモリ装置NVM0〜pには、また、制御装置DYBS−CTL0〜mにて管理するメモリモジュールNVMD0〜kの物理アドレス領域DPADに対する管理ブロックサイズの対応を示した2次ブロックサイズテーブルBLKTBL2と、論理アドレスDLADに対応したメモリモジュールNVMD0〜31の物理アドレスDPADの2次アドレス変換テーブルDLPTBL2が格納される。なお、ブロックサイズテーブルとアドレス変換テーブルは、制御装置DYBS−CTLもコピーを持つ。便宜上、制御装置DYBS−CTLが持つテーブルを1次テーブル、不揮発メモリモジュールNVMD0〜kが持つテーブルを2次テーブルとする。
不揮発性メモリ装置NVM0〜pには、また、制御回路NVM−CTLにて管理される情報処理装置CPUGからの論理アドレスLADと、メモリモジュールNVMD0〜k内の不揮発性メモリ装置NVM0〜pの物理アドレスPADとの対応を行う2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPが格納される。もっとも、2次ブロックサイズテーブル、アドレス変換テーブル、消去回数テーブル、アドレスマップ等は、制御回路や制御装置に別途設けられた専用のメモリに格納してもよい。
以上で、n、nn、m、p、kは、其々自然数を表すものとする。
不揮発メモリモジュールNVMD0〜pは、特に限定しないが、例えばSSD(Solid State Drive)等に該当するものである。
情報処理装置CPUGの情報処理回路CPU0〜nのいずれかが、ルーター装置ROUTERおよび制御装置DYBS−CTL0〜mを通じてストレージ装置STRG0〜mの不揮発性メモリ装置NVM0〜pへ格納されているオペレーティングシステム、アプリケーションプログラム、データを読み出し、CTLメモリモジュールMD0〜nへ転送、保存する。
その後、情報処理回路CPU0〜nが、メモリモジュールMD0〜nへ保存したデータを利用し、オペレーティングシステムやアプリケーションプログラムを実行する。
情報処理回路CPU0〜nが、アプリケーションプログラムの実行結果をストレージ装置STRG0〜mへ格納する場合、ルーター装置ROUTERおよび制御装置DYBS−CTL0〜mを通じて、ストレージ装置STRG0〜m内の不揮発性メモリ装置NVM0〜NVMpへ格納する。
情報処理装置CPUGは、ストレージ装置STRG0〜mへ保存されているデータを最小512バイト単位の論理アドレス(LAD)にて管理している。
ルーター装置ROUTERは、情報処理装置CPUGからの読み出し命令、書込み命令やデータを制御装置DYBS−CTL0〜mへ転送し、また、御装置DYBS−CTL0〜mからのデータを情報処理装置CPUGへ転送する装置である。
図2には制御装置DYBS−CTLの構成を示している。
制御装置DYBS−CTL0〜mは、ストレージ装置STRG0〜mの不揮発性メモリ装置NVM0〜NVMpへ格納されている2次ブロックサイズテーブルBLKTBL2を読み出し、制御装置DYBS−CTL0〜m内のメモリ装置MMDへ転送する。この結果、メモリ装置MMDは2次ブロックサイズテーブルのコピーである、1次ブロックサイズテーブルBLKTBL1を持つ。
また、制御装置DYBS−CTL0〜mは、ストレージ装置STRG0〜mへ保存されているデータを、最小512バイト単位(セクタ単位)の論理アドレス(LAD)にて管理するコントローラである。
また、制御装置DYBS−CTL0〜mは、ルーター装置ROUTERを通じて、情報処理装置CPUGからの読み出しおよび書込み命令に従い、インターフェース信号HDH_IFを通じ、これらメモリモジュールNVMD0〜kに対してデータの読み出しや書込みを行う。
この際、制御装置DYBS−CTL0〜mは、ルーター装置ROUTERを通じて、入力した情報処理装置CPUGからの論理アドレスLADに対するメモリモジュールNVMD0〜kの物理アドレスDPADを決定し、メモリモジュールNVMD0〜kに対してデータの読み出しや書込みを行う。
さらに、制御装置DYBS−CTL0〜mは、情報処理装置CPUGからの読み出しおよび書込みアクセスの特徴を分析し、メモリモジュールNVMD0〜kの物理アドレス領域DPADに対する管理ブロックサイズを動的に最適に変更し、メモリ装置MMD内の1次ブロックサイズテーブルBLKTBL1を更新する。これによって、情報処理システムの性能および信頼性が向上する。
メモリモジュールNVMD0〜k内の制御回路NVM−CTLは、不揮発性メモリ装置NVM0〜pへ格納されている2次アドレス変換テーブルDLPTBL2、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを読み出し、2次アドレス変換テーブルDLPTBL2とブロック毎の消去回数テーブルERSTBLをメモリモジュールNVMD0〜k内のメモリ装置RAMへ転送し、アドレスマップADDMAPを読み出し、マップレジスタMAPREGへ転送する。
メモリ制御回路NVM−CTLが、データを不揮発性メモリ装置NVM0〜pへ書込む場合、不揮発性メモリ装置NVM0〜pの物理ページアドレスPADは、不揮発性メモリ装置NVM0〜pを管理するブロック毎の書込み回数が平準化するように、物理ページアドレスPADを決定し、2次アドレス変換テーブルDLPTBL2を更新する。
また、メモリ制御回路NVM−CTLが、データを不揮発性メモリ装置NVM0〜pから読み出す場合、メモリ制御回路NVM−CTLは、2次アドレス変換テーブルDLPTBL2を参照し、論理アドレスLADに対する物理アドレスPADを決定し、物理アドレスPADに格納されたデータを読み出す。
さらに、制御装置DYBS−CTL0〜mが1次ブロックサイズテーブルBLKTBL1を更新した後に、制御装置DYBS−CTL0〜mの指示によって、2次ブロックサイズテーブルBLKTBL2の情報を基に、メモリ制御回路NVM−CTLは2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを再構築する。これによって、メモリモジュールNVMD0〜kの性能および信頼性が向上する。
図2は、図1における制御装置DYBS−CTL0〜mの構成例を示すブロック図である。図2に示す制御装置DYBS−CTLには、制御ブロックDYBSCとメモリモジュールMMDが含まれている。
制御ブロックDYBSCは、インターフェース回路HOSTIFと、情報処理回路MNGERと、調停回路ARBCと、メモリモジュールNVMD0〜kとのインターフェース回路NVIF0〜kから構成される。メモリモジュールMMDには、メモリ装置MEM0〜MEMkが含まれている。
メモリモジュールMMDには、論理アドレスDLAD毎のブロックサイズを示す1次ブロックサイズテーブルBLKTBL1と、論理アドレスDLADに対応したメモリモジュールNVMD0〜kの物理アドレスDPADの1次アドレス変換テーブルDLPTBL1が保存される。
また、分割論理アドレスDLADは、複数の論理アドレスLADを含む論理アドレス領域を示し、物理アドレスDPADは、複数の物理アドレスPADを含む物理アドレス領域を示す。
制御装置DYBS−CTLの読み出し動作について説明する。ルーター装置ROUTERを通じて、情報処理装置CPUGからのリードリクエスト(RQ)が入力される。リードリクエスト(RQ)には論理アドレス(LAD)、データ読み出し命令(RD)、セクタカウント(SEC)などが含まれる。
制御装置DYBS−CTLはメモリ装置MMDへ格納されている1次アドレス変換テーブルDLPTBL1を参照し、論理アドレスLADを含む分割論理アドレスDLADに対応した物理アドレスDPAD0を読み出し、この物理アドレスDPAD0によって論理アドレスLADのデータを格納したメモリモジュールNVMD0を選択し、リードリクエスト(RQ)を転送する。
メモリモジュールNVMD0では、2次アドレス変換テーブルDLPTBL2を参照し、論理アドレスLADに対応した物理ページアドレスPADに格納されているデータの中で、セクタカウント分だけのデータDTAT0を読み出す。
読み出されたデータDATA0は、制御装置DYBS−CTLへ転送され、さらに、ルーター装置ROUTERを通じて、情報処理装置CPUGへ転送される。
制御装置DYBS−CTLの書込み動作について説明する。ルーター装置ROUTERを通じて、情報処理装置CPUGからライトリクエスト(WQ)が入力される。ライトリクエスト(WQ)には論理アドレス(LAD)、データ書込み命令(WT)、セクタカウント(SEC)などが含まれる。
制御装置DYBS−CTLはメモリ装置MMDへ格納されている1次アドレス変換テーブルDLPTBL1を参照し、論理アドレスLADが含まれる論理アドレスDLADに対応した物理アドレスDPAD1を読み出し、この物理アドレスDPAD1によって論理アドレスLADのデータを格納したメモリモジュールNVMD1を選択し、ライトリクエスト(WQ)を転送する。
メモリモジュールNVMD1では、ブロックの書込み回数を平準化するように物理アドレスPADを決定し、この物理アドレスPADへセクタカウント分だけのデータDTAT1を書き込む。その後、2次アドレス変換テーブルDLPTBL2を更新し、論理アドレスLADと最新の物理アドレスPADを対応付けする。
図3は、図1におけるメモリモジュールNVMD0〜kのメモリ制御回路NVM−CTLのブロック図である。
メモリ制御回路NVM−CTLは、インターフェース回路NVM_IFと、アドレス/コマンドバッファADCBUFと、データバッファDBUFと、マップレジスタMAPREGと、調停回路ARBと、情報処理回路CONTLと、RAMのメモリ制御回路RAMC、不揮発性メモリ装置NVM0〜pのメモリ制御回路NVCT0pと、を備える。メモリ制御回路RAMCは、図1のランダムアクセスメモリRAMを直接制御し、NVCT0〜pは、図1の不揮発性メモリ装置NVM0〜pをそれぞれ直接制御する。
データバッファDBUFは、不揮発性メモリ装置NVM0〜pの書込みデータや読み出しデータを一時的に蓄える。
アドレス/コマンドバッファADCBUFは、制御装置DYBS−CTLからメモリ制御回路NVM−CTLへ入力した論理アドレスLADと、データ読み出し命令(RD)と、データ書込み命令(WT)を一時的に蓄える。
メモリ装置RAMには、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLが保存される。
マップレジスタMAPREGには、アドレスマップADDMAPが格納され、1ブロックサイズ毎の不揮発性メモリ装置NVM0〜p内部のXアドレス、YアドレスおよびZアドレスの対応が示されている。
制御装置DYBS−CTL0〜mの指示によって、2次ブロックサイズテーブルBLKTBL2の情報を基に、メモリ制御回路NVM−CTLは2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADDMAPを再構築する。
これによって、メモリモジュールNVMD0〜kの性能および信頼性が向上する。
図4は、図1における不揮発性メモリ装置NVM0〜pの構成例を示すブロック図であり、図5は、図4におけるチェインメモリアレイの構成例を示す回路図である。
図4に示す不揮発性メモリ装置は、図1の不揮発性メモリ装置NVM0〜pのそれぞれに該当するものであり、ここでは、一例として相変化型の不揮発性メモリ(相変化メモリ)が用いられているが、フラッシュメモリや他の抵抗変化型メモリであってもよい。不揮発性メモリ装置は、クロック生成回路SYMD、ステータスレジスタSTREG、イレースサイズ指定レジスタNVREG、アドレス・コマンドインターフェース回路ADCMDIF、IOバッファIOBUF、制御回路CTLOG、温度センサTHMO、データ制御回路DATCTL、メモリバンクBK0〜BK3を備える。
各メモリバンクBK0〜BK3は、メモリアレイARYx(x=0〜m)と、各メモリアレイにそれぞれ対応して設けられる読み書き制御ブロックSWBx(x=0〜m)と、これらを制御する各種周辺回路を備える。各種周辺回路の中には、ロウアドレスラッチRADLT、カラムアドレスラッチCADLT、ロウデコーダROWDEC、カラムデコーダCOLDEC、チェイン選択アドレスラッチCHLT、チェインデコーダCHDEC、データ選択回路DSW1、データバッファDBUF0,DBUF1が含まれる。
各メモリアレイARYx(x=0〜m)は、複数のワード線WL0〜WLkと複数のビット線BL0_x〜BLi_xの交点に配置される複数のチェインメモリアレイCYと、複数のビット線BL0_x〜BLi_x(x=0〜m)のいずれかを選択してデータ線DTxに接続するビット線選択回路BSWxを備える。各読み書き制御ブロックSWBx(x=0〜m)は、データ線DTx(x=0〜m)に接続されるセンスアンプSAx(x=0〜m)およびライトドライバWDRx(x=0〜m)と、書込み動作時に、これらを用いてデータの検証を行う書込みデータ検証回路WVx(x=0〜m)を備える。また、図4に示した不揮発性メモリ装置を動作させるインターフェースはNAND型フラッシュメモリインターエースやDRAMインターフェースなどのメモリインターフェースを採用すると、従来システムとのインターフェースの互換性を保つことができ、利便性が良い不揮発性メモリ装置を提供できる。
さらに、図4に示した不揮発性メモリ装置は、1つのコマンドで消去できるブロックサイズが物理的に固定しておらず、メモリ制御回路NVM−CTLにて、制御上の管理単位として容易に変更可能である。このため、情報処理装置CPUGのメモリモジュールNVMDへのアクセスの特徴を分析し、不揮発性メモリ装置のブロックサイズ動的に最適化することで、情報処理システムの性能や信頼性の向上が図れる。
図5に示すように、各チェインメモリアレイCYは、複数の相変化メモリセルCL0〜CLnが直列に接続された構成を備え、その一端はチェイン選択トランジスタTch2を介してワード線WLに接続され、他端はチェイン選択トランジスタTch0およびTch1を介してビット線BLに接続される。複数の相変化メモリセルCL0〜CLnは、図示は省略するが、半導体基板に対して高さ方向に順に積層配置され、互いに直列接続される。また、各相変化メモリセルCLは、可変抵抗型の記憶素子Rと、それに並列接続されるメモリセル選択トランジスタTclを備える。記憶素子Rは、例えばカルコゲナイド材料で形成される。
図5の例では、2個のチェインメモリアレイCYがチェイン選択トランジスタTch2を共有しており、チェインメモリアレイ選択線SL0,SL1,SL2によって各チェインメモリアレイ内のチェイン選択トランジスタTch0,1,2がそれぞれ制御され、これによっていずれか一方のチェインメモリアレイが選択される。また、メモリセル選択線LY(LY0〜LYn)は、対応する相変化メモリセルのゲート電極に接続され、メモリセル選択線LYによって、相変化メモリセルCL0〜CLn内のメモリセル選択トランジスタTclがそれぞれ制御され、これによって各相変化メモリセルが適宜選択される。なお、チェインメモリアレイ選択線SL0,SL1、SL2およびメモリセル選択線LY0〜LYnは、チェイン制御線CHとして、図4のチェイン選択アドレスラッチCHLTおよびチェインデコーダCHDECを介して適宜駆動される。
次に、図4の不揮発性メモリ装置の動作について簡単に説明する。図4において、まず、制御回路CTLOGは、アドレス・コマンドインターフェース回路ADCMDIFを介して制御信号CTLを受ける。制御信号CTLは、特に限定しないが、例えば、コマンド・ラッチイネーブル信号(CLE)、チップイネーブル信号(CEB)、アドレス・ラッチ信号(ALE)、ライトイネーブル信号(WEB)、リードイネーブル信号(REB)、レディビジー信号(RBB)を含み、これらの組み合わせによって、書込み命令又は読み出し命令が発行される。また、制御回路CTLOGは、制御信号CTLと共に、IOバッファIOBUFを介して入出力信号IOを受ける。入出力信号IOには、アドレス信号が含まれており、制御回路CTLOGは、当該アドレス信号からロウアドレスおよびカラムアドレスを抽出する。制御回路CTLOGは、当該ロウアドレス、カラムアドレス、ならびに予め定められる書込み・読み出し単位等に基づいて、適宜内部アドレスを生成し、ロウアドレスラッチRADLT、カラムアドレスラッチCADLTならびにチェイン選択アドレスラッチCHLTにそれぞれ伝送する。
ロウデコーダROWDECは、ロウアドレスラッチRADLTの出力を受けてワード線WL0〜WLkの選択を行い、カラムデコーダCOLDECは、カラムアドレスラッチCADLTの出力を受けてビット線BL0_x〜BLi_x(x=0〜m)の選択を行う。また、チェインデコーダCHDECは、チェイン選択アドレスラッチCHLTの出力を受けて、チェイン制御線CHの選択を行う。制御信号CTLによって読み出し命令が入力された際、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイCYからビット線選択回路BSW0〜BSWmを介してデータが読み出される。当該読み出されたデータは、センスアンプSA0〜SAmで増幅され、データ選択回路DSW1を介してデータバッファDBUF0(又はDBUF1)に伝送される。そして、データバッファDBUF0(又はDBUF1)上のデータは、データ制御回路DATCTLおよびIOバッファIOBUFを介して入出力信号IOに順次伝送される。
一方、制御信号CTLによって書込み命令が入力された際、入出力信号IOには、前述したアドレス信号に続いてデータ信号が伝送され、データ信号は、データ制御回路DATCTLを介してデータバッファDBUF0(又はDBUF1)に入力される。データバッファDBUF0(又はDBUF1)上のデータ信号は、データ選択回路DSW1、ライトドライバWDR0〜WDRmおよびビット線選択回路BSW0〜BSWmを介して、前述したワード線、ビット線およびチェイン制御線の組み合わせによって選択されたチェインメモリアレイCYに書き込まれる。また、この際に、書込みデータ検証回路WV0〜WVmは、書込みを行ったデータをセンスアンプSA0〜SAmを介して適宜読み出しながら書込みレベルが十分なレベルに達したかを検証し、十分なレベルに達するまでライトドライバWDR0〜WDRmを用いて再度の書込み動作を行う。
図6は、図5のチェインメモリアレイの動作例を示す説明図である。この図6を用いて、例えば、チェインメモリアレイCY1内の相変化メモリセルCL0における可変抵抗型記憶素子R0を高抵抗や低抵抗にする際の動作について説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL1のみが活性化(SL0=Low、SL1=High、SL2=High)され、チェイン選択トランジスタTch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0のみが非活性化(LY0=Low、LY1〜LYn=High)され、相変化メモリセルCL0のメモリセル選択トランジスタTcl0はカットオフ状態となり、残りのメモリセルCL1〜CLnのメモリセル選択トランジスタTcl1〜Tclnは導通状態となる。
次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I0がワード線WL0から、チェイン選択トランジスタTch2、可変抵抗型記憶素子R0、メモリセル選択トランジスタTcl1〜Tclnおよびチェイン選択トランジスタTch1を経由してビット線BL0へ流れる。この電流I0が図14に示したReset電流パルスの形に制御されることで、可変抵抗型記憶素子R0は高抵抗となる。また、この電流I0が図14に示したSet電流パルスの形に制御されることで、可変抵抗型記憶素子R0は低抵抗となる。可変抵抗型記憶素子R0〜Rnの抵抗値の違いによってデータ“1”と“0”が区別される。
また、図4で示すように複数のビット線BL0_0、BL0_1〜BL0_mへ電流I0を流すことで、書込み速度を向上することができる。
特に限定しないが、可変抵抗型記憶素子が低抵抗になった場合に、データ“1”が記録され、高抵抗になった場合にデータ“0”が記録されるものとする。
なお、可変抵抗型記憶素子R0に記録されたデータを読み出す場合は、可変抵抗型記憶素子R0の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加される。この場合、可変抵抗型記憶素子R0の抵抗値に応じた電圧値がセンスアンプ(この例では図4のSA0)で検出され、データ“0”および“1”が判定される。
また、図4で示すように複数のビット線BL0_0、BL0_1〜BL0_mを通じて可変抵抗型記憶素子R0の抵抗値が変化しない程度に、データ書込みと同様の経路で電流が印加することで、複数のセンスアンプ(この例では図4のSA0〜SAm)にてデータ“0”および“1”が判定され、読み出し速度を向上することができる。
図7および図8は、図5のチェインメモリアレイの別の動作例を示す説明図である。
図7を用いて、1チェインメモリアレイCY1内の全可変抵抗型記憶素子R0〜Rnを一括で低抵抗にする際の動作を説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL1のみが活性化(SL0=Low、SL1=High、SL2=High)され、チェイン選択トランジスタTch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0〜LYnが活性化(LY0〜LYn=High)され、メモリセルCL0〜CLnのメモリセル選択トランジスタTcl0〜Tclnは導通状態となる。次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I2がワード線WL0から、チェイン選択トランジスタTch2、メモリセル選択トランジスタTcl0〜Tclnおよびチェイン選択トランジスタTch1を経由してビット線BL0へ流れる。この電流I2によるジュール熱が、可変抵抗型記憶素子R0〜Rnへ伝導し、可変抵抗型記憶素子R0〜Rnは一括して低抵抗となる。この電流I2は、可変抵抗型記憶素子R0〜Rnが一括して低抵抗にすることができる様な値に制御される。
図8を用いて、チェインメモリアレイCY0およびCY1内の全可変抵抗型記憶素子R0〜Rnを一括で低抵抗にする際の動作を説明する。チェインデコーダCHDECによって、チェインメモリアレイ選択線SL0および1が活性化(SL0、SL1=High、SL2=High)され、チェインメモリアレイCY0およびCY1双方のチェイン選択トランジスタTch0、Tch1およびTch2が導通状態となる。続いて、メモリセル選択線LY0〜LYnが活性化(LY0〜LYn=High)され、チェインメモリアレイCY0およびCY1双方のメモリセルCL0〜CLnのメモリセル選択トランジスタTcl0〜Tclnは導通状態となる。次に、ワード線WL0がHighとなり、続いてビット線BL0がLowになると、電流I3がワード線WL0から、チェイン選択トランジスタTch2、チェインメモリアレイCY0およびCY1双方のメモリセル選択トランジスタTcl0〜Tclnおよびチェイン選択トランジスタTch0およびTch1を経由してビット線BL0へ流れる。この電流I3によるジュール熱が、チェインメモリアレイCY0およびCY1双方の可変抵抗型記憶素子R0〜Rnへ伝導し、可変抵抗型記憶素子R0〜Rnは一括して低抵抗となる。電流I3の値は、チェインメモリアレイCY0およびCY1双方の可変抵抗型記憶素子R0〜Rnを一括して低抵抗にするような値に制御される。
以上説明したように、必要に応じて、同時に複数のチェインメモリアレイ内のメモリセルを低抵抗にすることができ、消去データレートを向上することができる。
図9〜図12を用いて制御装置DYBS−CTLおよびメモリ制御回路NVM−CTLが行う動的ブロックサイズ変更の動作を説明する。
図9は動的ブロックサイズ変更の動作の全体フローを示す。また、図10,図11および図12では、図9のStep1およびStep3およびStep4の詳細動作を示す。図13および図14では、1次ブロックサイズテーブルBLKTBLおよび1次アドレス変換テーブルDLPTBLを示す。
図9のフローにおいて、先ず、Step0で有効期間TCの測定を開始する。有効期間は、アクセスの特徴を分析するためのサンプリング期間である。
次に、情報処理装置CPUGからルーター装置ROUTERを通じて、制御装置DYBS−CTLへリードリクエスト(RQ)やライトリクエスト(WQ)が入力した際に、Step1を実行する。Step1では、Step100〜103を行う。
図10のフローにおいて、Step100では、ホストからのアクセスがライトアクセスかどうかを判定する。ライトアクセスであれば、Step101を行い、ライトアクセスでなければStep102を行う。Step101では、以下を計算する。
・各論理アドレスDLADのライトアクセス回数WC
・全論理アドレス領域でのライトアクセス回数WCT
・各論理アドレスDLADの総ライトデータ量WD
・全論理アドレス領域での総ライトデータ量WDT
Step101が終了するとStep102を行う。
Step102では、ホストからのアクセスがリードアクセスかどうかを判定する。リードアクセスであれば、Step103を行い、リードアクセスでなければStep100を行う。Step103では、以下を計算する。
・各論理アドレスDLADのリードアクセス回数RC
・全論理アドレス領域でのリードアクセス回数RCT
・各論理アドレスDLADの総リードデータ量RD
・全論理アドレス領域での総リードデータ量RDT
Step103が終了するとStep2を行う。
図9に戻り、Step2では、Step3で行うアクセス特徴分析のための、Step101およびStep103で実行する各種計算の有効期間TCが期間T1を経過したかどうかをチェックする。
有効期間T1を経過した場合、Step3を行い、有効期間T1を経過していない場合、Step1を行う。
Step3では、有効期間TCの測定を停止し、Step1での各種計算結果を利用し、アクセスの特徴を分析する。Step3では、Step300〜305を行う。
図11において、先ずStep300では、有効期間TCの測定を一旦停止する。次のStep301では以下を計算する。
・各論理アドレスDLADの1回のライトアクセス当たりの平均ライトデータ量AWD:AWD=論理アドレスDLADの総ライトデータ量WD/論理アドレスDLADの総ライトアクセス数WC
・各論理アドレスDLADの1回のリードアクセス当たりの平均リードデータ量ARD:ARD=論理アドレスDLADの総リードデータ量RD/論理アドレスDLADの総リードアクセス数RC
次のStep302では以下を計算する。
・全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量AWDT:AWDT=全論理アドレス領域での総ライトデータ量WDT/全論理アドレス領域での総ライトアクセス数WCT
全論理アドレス領域での1回のリードアクセス当たりの平均リードデータ量ARDT:ARDT=全論理アドレス領域での総リードデータ量RDT/全論理アドレス領域での総リードアクセス数RCT
次のStep303では以下を計算する。
・各論理アドレスDLADのライトアクセス回数の割合WCRATE:WCRATE=WC/(WC+RC)
・各論理アドレスDLADのリードアクセス回数の割合RCRATE:RCRATE=RC/(WC+RC)=1−WRATE
次のStep304では以下を計算する。
・全論理アドレス領域での総ライトアクセス回数WCTに対する論理アドレスDLADの総ライトアクセス回数WCの割合WRATE1:WRATE1=WC/WCT
・全論理アドレス領域での総リードアクセス回数RCTに対する論理アドレスDLADの総リードアクセス回数RCの割合RRATE1:RRATE1=RC/RCT
次のStep305では以下を計算する。
・各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率WDRATE=WD/LCP
図11のフローではライトとリードの両方の特性を検討している。ライトの特性は、上述のように小さなブロックに集中してアクセスさせたほうが、ガーベージコレクションのコピー量が減る。一方、リードのアクセスは不揮発性メモリに分散してデータが配置されたほうが、リード性能は向上する。よって性能バランスを取るためには、両者を考慮することがより望ましい。
図9に戻って説明を続ける。Step3の終了後Step4を行う。Step4では、Step3での分析結果を利用し、各論理アドレスDLADに対するブロックサイズを決定する。Step4では、Step400〜402を行う。
図12においてStep400では、
・各論理アドレスDLADのブロックサイズファクタ(Block Size Factor)BLKFCTと、プロビジョナル容量ファクタ(Provisional Area Factor)PVFCTを計算する。
ブロックサイズファクタBLKFCTは、
BLKFCT=(WCRATE1/WRT1AVG)×(AWDT/AWD)で表す。
WRT1AVGは、全論理アドレス領域の容量に対する各論理アドレスDLADの容量の割合である。つまり、情報処理装置CPUGからのライトアクセスが平均的に各論理アドレスDLADへ生じた場合の、各論理アドレスDLADのライトアクセス回数の割合である。WCRATE1は各論理アドレスDLADのライトアクセス回数の割合であるから、(WCRATE1/WRT1AVG)が大きいということは、当該論理アドレスには平均以上にアクセス回数が集中していること、すなわちホットエリアであることを示す。
AWDTは全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量、AWDは各論理アドレスDLADの1回のライトアクセス当たりの平均ライトデータ量である。よって、(AWDT/AWD)が大きいということは、当該論理アドレスに書き込まれる1回あたりのデータが、平均より小さいということを示す。以上の説明より明らかなように、ブロックサイズファクタBLKFCTは、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスDLADへ発生している場合大きな値をとる指標である。後に詳述するように、本実施例では、BLKFCTが大きい場合、その論理アドレスに対応する物理アドレス(消去ブロック)の大きさを小さくする制御を行う。
一方、1回当たりのサイズが大きなサイズのライトアクセスが、高頻度で、大量に発生する論理アドレスの場合は、消去回数が増えるのと、実効メモリ量を減少させないために、大きなサイズのブロックのままにしておいたほうがよい。
また、プロビジョナル容量ファクタPVFCTは、PVFCT=WDRATE/SUM(WDRATE)で表す。 通常、論理アドレスの容量に対して、物理アドレスの容量は少し大きくなっている。この余裕分(例えば20%程度等)をプロビジョナル領域という。プロビジョナル領域を確保することにより、データの再書き込みを行った場合でも、使用可能な領域を枯渇しにくくすることができる。このプロビジョナル領域を変化させることにより、物理アドレス(消去ブロック)中の無効データの割合を調節することができる。なぜなら、物理アドレスの有効データは、論理アドレス容量以上にはならないから、通常、物理アドレスは最大でプロビジョナル領域分の無効データを持つことができるからである。
WDRATEは各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率であり、SUM(WDRATE)はそれらの合計である。よって、プロビジョナル容量ファクタPVFCTは、当該論理アドレスのデータがどれほどの割合ライトされているかを示している。後に詳述するように、本実施例では、PVFCTが大きい場合、その論理アドレスに対応する物理アドレス(消去ブロック)のプロビジョナル領域を大きくする制御を行う。
プロビジョナル領域を大きくすることにより、消去ブロックに含まれる無効データの割合を大きくすることができる。一方、プロビジョナル領域が大きくするということは、物理アドレスを余計に消費することになるから、プロビジョナル領域を大きくする物理アドレスは、ライトされる割合の大きな(すなわち、無効データの量が多くなる可能性のある)領域に限ることが望ましい。
次のStep401では各論理アドレスDLADのブロックサイズファクタBLKFCTを利用し、各論理アドレスDLADのブロックサイズBLKSIZEを決定する。
ブロックサイズファクタBLKFCTが大きな値をもつ論理アドレスDLADほど、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、その当該論理アドレスDLADへ発生していることを示す。したがって、ブロックサイズファクタBLKFCTが大きな値をもつ論理アドレスDLADほど、小さなブロックサイズを割り当てることにより、ブロック内の有効となる物理ページの数が少なくなり、メモリモジュールNVMD内部で行うガーベージコレクション動作に伴うデータコピー量が小さくなる。このため、データコピー時間が短くなるため、制御装置DYBS−CTLからのリードリクエストRQやライトリクエストWQの待ち時間が短くなり性能が向上する。
ライトアクセスが非常に高頻度で、大量に、特定の領域に集中している場合、極端な例では、その領域に有効な物理ページがなくなる場合もある。このような場合には、データコピー自体不要であり、当該領域を消去するだけになる。ブロックサイズを適切に選ぶと、このようにデータコピー自体不要になる場合が増え、性能が向上することが期待できる。
なお、アクセス頻度が高い論理アドレス領域のことをHOTエリアといい、ここに書き込まれるデータをHOTデータともいう。また、アクセス頻度が低い論理アドレス領域のことをCOLDエリアといい、ここに書き込まれるデータをCOLDデータともいう。
ブロックサイズファクタBLKFCT値の判定数値は一例であってとくに限定しないが、以下に例を示す判定によってブロックサイズBLKSIZEを決定する。
ブロックサイズファクタBLKFCT≧10の場合、ブロックサイズBLKSIZE=32KB
10>ブロックサイズファクタBLKFCT≧5の場合、ブロックサイズBLKSIZE=64KB、
5>ブロックサイズファクタBLKFCT≧2の場合、ブロックサイズBLKSIZE=128KB、
2>ブロックサイズファクタBLKFCT≧1の場合、ブロックサイズBLKSIZE=256KB、
1>ブロックサイズファクタBLKFCT≧0.2の場合、ブロックサイズBLKSIZE=512KB、
0.2>ブロックサイズファクタBLKFCTの場合、ブロックサイズBLKSIZE=1024KB
次のStep402では各論理アドレスDLADのプロビジョナル容量ファクタPVFCTを利用し、各論理アドレスDLADのプロビジョナル容量PVSIZEを決定する。
プロビジョナル容量ファクタPVFCTが大きな値をもつ論理アドレスDLADほど、ライトデータ量が多いことを示す。したがって、論理アドレスDLADへ、書き換え回数に上限のある不揮発性メモリの物理アドレスDPADを割り当てる場合、メモリモジュールNVMDの寿命が情報処理システムの寿命を決定するため、メモリモジュールNVMDを寿命が長くするように、プロビジョナル容量ファクタPVFCTが大きな値をもつ論理アドレスDLADほど、プロビジョナル領域全容量PVAREAの中で、その論理アドレスDLADへ割り当てる容量が大きくする必要がある。
そこで、プロビジョナル容量PVSIZEは、PVSIZE=PVFCT×プロビジョナル領域全容量PVAREAと表すことができる。
図9において、次のStep5では、制御装置DYBS−CTLは
Step4で求めたブロックサイズBLKSIZEとプロビジョナル容量PVSIZEを利用し、ブロックサイズを示す1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を作成する。
さらに、制御装置DYBS−CTL0〜mが1次ブロックサイズテーブルBLKTBL1と、1次アドレス変換テーブルDLPTBL1を作成した後に、
制御装置DYBS−CTLは、メモリ制御回路NVM−CTLへ、1次ブロックサイズテーブルBLKTBL1と、1次アドレス変換テーブルDLPTBL1を転送し、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPを新規に作成するよう指示する。
メモリ制御回路NVM−CTLは制御装置DYBS−CTLの指示に従って、
1次ブロックサイズテーブルBLKTBL1および1次アドレス変換テーブルDLPTBL1の情報を基に、2次アドレス変換テーブルDLPTBL2と、ブロック毎の消去回数テーブルERSTBLと、アドレスマップADMAPを作成する。
次のStep6では、制御装置DYBS−CTLは、メモリモジュールNVMDが製品寿命に到達したかをチェックする。
メモリモジュールNVMDが製品寿命に到達しなかった場合、Step7を行う。メモリモジュールNVMDが製品寿命に到達した場合、メモリ制御回路NVM−CTLは動的ブロックサイズ変更の動作を終了する。
Step7では、有効期間TCの測定を再開する。
図13(A)および(B)には、制御装置DYBS−CTLが最初に(すなわち、図9で、1回目の有効期間TC(T1)の測定と分析が終わった後)作成した、64個の論理アドレスDLAD毎に対応した1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を示す。
図14(A)および(B)には、制御装置DYBS−CTLが2回目(すなわち、図9で、2回目の有効期間TC(T2)の測定と分析が終わった後)に作成した、64個の論理アドレスDLAD毎に対応した1次ブロックサイズテーブルBLKTBL1と1次アドレス変換テーブルDLPTBL1を示す。
ブロックサイズテーブルは、各論理アドレスに対してアクセス特性と、アクセス特性の基づいた物理ブロック仕様を表している。ブロックサイズテーブルにおいては、既述のように、DLADは論理アドレス、WCRATE1はライトアクセス回数の割合、AWDは論理アドレスの1回のライトアクセス当たりの平均ライトデータ量、WDRATEは各論理アドレスDLADの総ライトデータ量WDと各論理アドレスDLADの容量LCPの比率である。
BLKFCTはブロックサイズファクタで、これが大きな値をもつ論理アドレスDLADほど、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが高頻度で、当該論理アドレスDLADへ発生していることを示す。BLKSIZEは論理アドレスDLADのブロックサイズ、PVFCTはプロビジョナル容量ファクタで、これが大きな値をもつ論理アドレスDLADほど、ライトデータ量が多いことを示す。PVSIZEはプロビジョナル容量である。
WRT1AVGは全論理アドレス領域の容量に対する各論理アドレスDLADの容量の割合、AWDTは全論理アドレス領域での1回のライトアクセス当たりの平均ライトデータ量、PVAREAはプロビジョナル領域全容量である。
アドレス変換テーブルは、ブロックサイズテーブルに基づいて、論理アドレスに対する物理アドレスの割り当てを表す。アドレス変換テーブルにおいては、DPADは論理アドレスDLADに対応したメモリモジュールの物理アドレス、DPADSIZEは物理アドレスの容量、PRAREAはプロビジョナル領域に割り当てられた物理アドレスである。 図13(A)のブロックサイズテーブルBLKTBLをみると、
論理アドレスDLAD0〜63へは、1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、高頻度で、大量に、発生しているため、ブロックサイズファクタBLKFCTの値が、8.28と高い値になっている。
そのため、論理アドレスDLAD0〜63のブロックサイズBLKSIZEは比較的小さな64KBとなる。
一方、論理アドレスDLAD448〜511へは、1回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、低頻度で、少量発生しているためブロックサイズファクタBLKFCTの値が、0.03と低いあたいとなっている。そのため、論理アドレスDLAD448〜511のブロックサイズBLKSIZEは比較的大きな1024KBとなる。
また、論理アドレスDLAD0〜63へのライトとデータ量が多いため、プロビジョナル容量ファクタPVFCTの値が0.25と最も高い値を示している。そのため、論理アドレスDLAD0〜63のプロビジョナル容量PVSIZEは32と最も高い値となる。
一方、論理アドレスDLAD448〜511への、ライトとデータ量が少ないため、プロビジョナル容量ファクタPVFCTの値が0.055と最も低い値を示している。そのため、論理アドレスDLAD448〜511のプロビジョナル容量PVSIZEは7と最も低い値となる。
図13(B)のアドレス変換テーブルDLPTBLをみると、論理アドレスDLAD0〜63へ割り当てられている物理アドレスDPADはDPDA0〜63、DPAD512〜543である。
つまり、論理アドレスDLAD0〜63へ割り当てられている物理アドレスDPADの容量DPADSIZEは最も大きな値96となっている。これは、論理アドレスDLAD0〜63のプロビジョナル容量PVSIZEの値32が論理アドレスDLAD0〜64までの容量値64へ加算されているためである。
一方、論理アドレスDLAD448〜511へ割り当てられている物理アドレスDPADはDPDA448〜511、DPAD631〜639である。
つまり、論理アドレスDLAD448〜511へ割り当てられている物理アドレスDPADの容量DPADSIZEは最も小さな値71となっている。これは、論理アドレスDLAD448〜511のプロビジョナル容量PVSIZEの値7が論理アドレスDLAD448〜511までの容量値64へ加算されているためである。
図14(A)のブロックサイズテーブルBLKTBLをみると、論理アドレスDLAD0〜63のブロックサイズファクタBLKFCTの値が、11.04と高い値になっている。そのため、論理アドレスDLAD0〜63のブロックサイズBLKSIZEは32KBとなる。
つまり、このブロックサイズファクタBLKFCTの値は、制御装置DYBS−CTLが1回目に作成したブロックサイズテーブルBLKTBLでの論理アドレスDLAD0〜63のブロックサイズファクタBLKFCTよりも高い値となっている。これは論理アドレスDLAD0〜63へ1回のライトアクセス当たりのライトデータサイズが小さなライトアクセスが、さらに、高頻度で、大量に、発生していることを示す。
制御装置DYBS−CTLは、論理アドレスDLAD毎のライトアクセスの特徴を抽出し、論理アドレスDLAD0〜63のブロックサイズBLKSIZEを64KBから32KBへ変更している。
また、論理アドレスDLAD192〜255のブロックサイズファクタBLKFCTの値が、0.58と低い値になっている。そのため、論理アドレスDLAD192〜255のブロックサイズBLKSIZEは512KBとなる。
つまり、このブロックサイズファクタBLKFCTの値は、制御装置DYBS−CTLが1回目に作成したブロックサイズテーブルBLKTBLでの論理アドレスDLAD192〜255のブロックサイズファクタBLKFCTよりも低い値となっている。これは論理アドレスDLAD192〜255へ1回のライトアクセス当たりのライトデータサイズが大きなライトアクセスが、さらに、低頻度で、発生していることを示す。
制御装置DYBS−CTLは、論理アドレスDLAD毎のライトアクセスの特徴を抽出し、論理アドレスDLAD192〜255のブロックサイズBLKSIZEを256KBから512KBへ変更している。
図14(B)のアドレス変換テーブルDLPTBLをみると、論理アドレスDLAD0〜63へ割り当てられている物理アドレスDPADはDPDA0〜63、DPAD512〜564である。
つまり、論理アドレスDLAD0〜63へ割り当てられている物理アドレスDPADの容量DPADSIZEは117となっている。
これは、制御装置DYBS−CTLが1回目に作成したアドレス変換テーブルDLPTBLでの論理アドレスDLAD0〜63のプロビジョナル容量PVSIZEよりも高い値である53となっているためである。
この様に、制御装置DYBS−CTLは、論理アドレスDLAD毎のライトデータ量を計算し、論理アドレスDLAD0〜63へ割り当てる物理アドレスDPADの容量DPADSIZEを96から117へ増加している。
また、論理アドレスDLAD192〜255へ割り当てられている物理アドレスDPADはDPDA192〜255、DPAD611〜621である。
つまり、論理アドレスDLAD192〜255へ割り当てられている物理アドレスDPADの容量DPADSIZEは75となっている。
これは、制御装置DYBS−CTLが1回目に作成したアドレス変換テーブルDLPTBLでの論理アドレスDLAD192〜255のプロビジョナル容量PVSIZEよりも低い値である11となっているためである。
この様に、制御装置DYBS−CTLは、論理アドレスDLAD毎のライトデータ量を計算し、論理アドレスDLAD192〜255へ割り当てる物理アドレスDPADの容量DPADSIZEを18から11へ減少している。
以上述べたように制御装置DYBS−CTLは、ブロックサイズテーブルやアドレス変換テーブルに基づいた制御を行い、メモリアレイの消去ブロックの大きさや、プロビジョナル領域の設定が行われる。 特許文献3に示されている3次元構造の不揮発性メモリでは、N×M個の3次元構造のメモリセルアレイ内のデータを一括で消去する方法が示されている。このNとMの値は、どのメモリセルアレイを選択するかによって決めることができる。また、消去動作時のジュール熱が、消去対象のメモリセルアレイへ隣接する周辺のメモリセルの結晶状態に大きな影響を及ぼさないように熱緩衝領域を設けることが示されている。しかし、この熱緩衝領域にはデータを書き込まないため消去データ単位を小さくするほど、熱緩衝領域の割合が増え、実効メモリ容量が減少してしまう。すなわち、ブロックのブロックサイズを均等に小さくすれば、ブロック内の有効データ量が少なくなるという効果はあるが、ブロックの境界部分に熱緩衝領域が配置されている場合、その割合が増え、実効的なデータ容量が減少する。このように、従来の不揮発性メモリ装置では、SSDの性能と実効メモリ容量はトレードオフの関係にあった。よって、必要に応じてブロックサイズを変化させる本実施例の構成に利点がある。
図15は、制御装置DYBS−CTLがメモリ制御回路NVM−CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM−CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが1024KBの場合のブロック構成の一例である。
一つのブロックは、129(X方向:X−BLK)×9216(Y方向:Y−BLK)×8(Z方向:Z−BLK)のチェインメモリアレイにて構成され、そのサイズは11888864バイト(=129(X方向)×9216(Y方向)×8(Z方向))であることを示す。
また、消去データ単位は、8(X方向:XERS)×72(Y方向:YERS)×8(Z方向:ZERS)のメモリアレイが一括で低抵抗になり、その消去データサイズは576バイト(=9(X方向)×72(Y方向)×8(Z方向))である。
また、X方向に一行分だけのメモリアレイ、つまり1(X方向:XWAL)×9216(Y方向)×8(Z方向)のメモリアレイが熱緩衝領域WALLとして設定され、そのサイズは9216バイト(=1(X方向)×9216(Y方向)×8(Z方向))であることを示す。
不揮発性メモリ装置は、ブロックBLK0〜BLKkn+n-1で構成されており、それぞれのブロック内のメモリアレイARYのチェインメモリアレイCYLと、チェインメモリアレイCYHの配置の一例が示されている。これらの図において、チェインメモリアレイCYLは、白い丸印で示され、熱緩衝領域を構成するチェインメモリアレイCYHは、黒い丸印で示されている。以下の図面においても、チェインメモリアレイCYLとチェインメモリアレイCYHは同様な表示方法をする。
図15において、一つのブロックは、129(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは11888864バイト(=129(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
一つのブロック内の書込み領域WT−AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
書込み領域WT−AREAのサイズは1179648バイト(=128(X方向)×9216(Y方向)×8(Z方向))である。
書込み領域WT−AREA内のデータ領域DATA−AREAのサイズは1048576バイト(=128(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT−AREA内の管理領域MG−AREAのサイズは131072バイト(=128(X方向)×1024(Y方向)×8(Z方向))である。
一つの論理アドレスLADのデータサイズは、8192バイトであり、情報処理回路CONTLは、このデータDATAに対するECCコードを生成し、不揮発性メモリのメモリアレイのブロック内の書込み領域WT−AREAへ、データDATAとECCコードを書き込む。
また、一つの物理アドレスには、一つの論理アドレスLADのデータDATAを書き込む8192バイトのデータ領域DATA−AREAと、データDATAに対するECCコードなどを書き込む1024バイトの管理領域MG−AREAが割り当たてられるため、
1048576バイトの書込み領域WT−AREAには、128つの論理アドレスLADに対する物理アドレスのデータが格納される。
また、熱緩衝領域WALLは、書込み領域WT−AREAの外側に配置される複数のチェインメモリアレイCYHが物理的に集まって形成されている領域である。
図15において、 熱緩衝領域WALLのサイズは9216バイト(=1(X方向)×9216(Y方向)×8(Z方向))である。
また、先ず、書込み領域WT−AREA(=消去領域)内の全チェインメモリアレイCYLに含まれる全メモリセルのデータは、“1”(Set状態:低抵抗状態)となる。すなわち、一括消去され、次に、物理アドレスPAD毎に、“0”のデータのみが(Reset状態:高抵抗状態)が書き込まれる。たとえば、書込み領域WT−AREAサイズが1179648バイトで、一回の消去動作による一括消去データサイズが576バイトである場合、2048回の消去動作がY方向と平行な方向に、順に行われ、書込み領域WT−AREAの全メモリセルのデータは、“1”(Set状態:低抵抗状態)となる。
熱緩衝領域WALLに対しては消去動作が行われないため、書込み領域へ消去動作を行った際の熱ディスターブによる信頼性低下の影響が、隣接するブロックへ及ぼされることは無い。さらに、熱緩衝領域WALLに対しては、“0”のデータ(Reset状態:高抵抗状態)も書き込まれることは無い。熱緩衝領域となるメモリアレイCYHは構造的には通常のメモリセルであるが、制御装置により、書き込みや消去が行われないように制御される。
この様に、チェインメモリアレイCYHを熱緩衝領域WALLとして書込み領域(=消去領域)の周辺に配置することで、熱ディスターブによる信頼性低下を防ぐことができる。
なお、図15ではX方向には熱緩衝領域WALLが形成されていない。この実施例ではデバイス構造として、各ブロックBLKの間にはY方向に物理的に間隔が設けられているため、X方向には熱緩衝領域WALLが必要ないため形成されていないが、必要に応じてX方向にも熱緩衝領域を設けてよい。
図16は、制御装置DYBS−CTLがメモリ制御回路NVM−CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM−CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが128KBの場合のブロック構成の一例である。
一つのブロックは、17(X方向:X−BLK)×9216(Y方向:Y−BLK)×8(Z方向:Z−BLK)のチェインメモリアレイにて構成され、そのサイズは156672バイト(=17(X方向)×9216(Y方向)×8(Z方向))である。
また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
図16において、一つのブロックは、17(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは156672バイト(=17(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
一つのブロック内の書込み領域WT−AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
書込み領域WT−AREAのサイズは147456バイト(=16(X方向)×9216(Y方向)×8(Z方向))である。
書込み領域WT−AREA内のデータ領域DATA−AREAのサイズは131072バイト(=16(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT−AREA内の管理領域MG−AREAのサイズは16384バイト(=16(X方向)×1024(Y方向)×8(Z方向))である。
情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
図17は、制御装置DYBS−CTLがメモリ制御回路NVM−CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM−CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが64KBの場合のブロック構成の一例である。
一つのブロックは、9(X方向:X−BLK)×9216(Y方向:Y−BLK)×8(Z方向:Z−BLK)のチェインメモリアレイにて構成され、そのサイズは82944バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。
また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
図17において、一つのブロックは、9(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは82944バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
一つのブロック内の書込み領域WT−AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
書込み領域WT−AREAのサイズは73728バイト(=8(X方向)×9216(Y方向)×8(Z方向))である。
書込み領域WT−AREA内のデータ領域DATA−AREAのサイズは65536バイト(=8(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT−AREA内の管理領域MG−AREAのサイズは8192バイト(=8(X方向)×1024(Y方向)×8(Z方向))である。
情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
図18は、制御装置DYBS−CTLがメモリ制御回路NVM−CTLへ転送したブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM−CTLが作成したアドレスマップADMAP情報を利用し、構築する不揮発性メモリ装置NMVのメモリアレイのブロック構成の一例であり、ブロックサイズが32KBの場合のブロック構成の一例である。
一つのブロックは、5(X方向:X−BLK)×9216(Y方向:Y−BLK)×8(Z方向:Z−BLK)のチェインメモリアレイにて構成され、そのサイズは46080バイト(=5(X方向)×9216(Y方向)×8(Z方向))である。
また、消去データ単位および熱緩衝領域WALLは、図15と同様である。チェインメモリアレイCYLとチェインメモリアレイCYHの表示方法は図15と同様である。
図18において、一つのブロックは、5(X方向)×9216(Y方向)のチェインメモリアレイにて構成され、そのサイズは46080バイト(=9(X方向)×9216(Y方向)×8(Z方向))である。このブロックが多数個配置され、図4に示す不揮発性メモリのメモリアレイを構成する。
一つのブロック内の書込み領域WT−AREAは、消去領域と同一で、複数のチェインメモリアレイCYLが物理的に集まって形成されている領域である。
書込み領域WT−AREAのサイズは36864バイト(=4(X方向)×9216(Y方向)×8(Z方向))である。
書込み領域WT−AREA内のデータ領域DATA−AREAのサイズは32768バイト(=8(X方向)×8192(Y方向)×8(Z方向))で、書込み領域WT−AREA内の管理領域MG−AREAのサイズは8192バイト(=8(X方向)×1024(Y方向)×8(Z方向))である。
情報処理回路CONTLによる不揮発性メモリのメモリアレイへの書込み方法および消去方法は、図15と同様である。
図15〜図18で説明した様に、ブロックサイズテーブルBLKTBL情報を基に、メモリ制御回路NVM−CTLが、図4に示す不揮発性メモリのメモリアレイのブロックサイズを最適に構成でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、メモリモジュールMDの低コスト化と高性能化を実現できる。
図15〜図18では、ブロックサイズを変更するに際して、Y方向の幅を変えずにX方向の幅を変更しているが、サイズの変更方法としてはこれに限るものではなく、Y方向の幅を変更してもよい。ただし、図15〜図18の手法では、X方向に並ぶブロックの境界を変更するために、Y方向に並ぶメモリアレイCYHの位置を変更するだけでよいので制御が簡単である。また、Y方向に並ぶブロックの境界は、デバイス構造による物理的な間隔を利用しているので、熱緩衝領域の設定が必要ないという利点もある。なお、熱緩衝の影響を無視できるデバイス構造であれば、熱緩衝領域は設けなくてもよい。
(まとめ)
以上に説明した各実施の形態によって得られる主な効果は以下の通りである。
第1に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、半導体装置のデータ転送性能を向上できる。
第2に、論理アドレス毎に生じるライトリクエストの特徴量を抽出することにより、各論理アドレス領域に対する物理アドレス領域の容量を最適化でき、半導体装置の信頼性を向上できる。
第3に、論理アドレス毎に生じるライトおよびリードリクエストの特徴量を抽出することにより、論理アドレスのブロックサイズ最適に変更でき、不揮発性メモリ容量に対する熱緩衝領域の割合を抑え、半導体装置の低コスト化を実現できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、実施の形態においては、主に相変化メモリを代表として説明を行ったが、ReRAM等を含めた抵抗変化型のメモリであれば、同様に適用して同様の効果が得られる。
また、実施例において、複数のメモリセルが半導体基板に対して高さ方向に順に積層して配置される3次元構造のメモリを代表として説明を行ったが、半導体基板に対して高さ方向に1つのメモリセルが配置される2次元構造のメモリにおいても同様に適用して同様の効果が得られる。
不揮発性メモリを利用した、記憶装置の技術分野に利用することができる。
ADCMDIF…アドレス・コマンドインターフェース回路、ARB…調停回路、ARY…メモリアレイ、BK…メモリバンク、BL…ビット線、BSW…ビット線選択回路、BUF…バッファ、CADLT…カラムアドレスラッチ、CH…チェイン制御線、CHDEC…チェインデコーダ、CHLT…チェイン選択アドレスラッチ、CL…相変化メモリセル、COLDEC…カラムデコーダ、PAD…物理アドレス、CPAD…物理アドレス、CPUG…情報処理装置、CTLOG…制御回路、CY…チェインメモリアレイ、DATCTL…データ制御回路、DBUF…データバッファ、DSW…データ選択回路、DT…データ線、ENUM…エントリー番号、HDH_IF…インターフェース信号、HOST_IF…インターフェース回路、IOBUF…IOバッファ、LAD…論理アドレス、LRNG…論理アドレス領域、DLPTBL…アドレス変換テーブル、LY…メモリセル選択線、LYC…レイヤ番号、LYN…データ書込みレイヤ情報、MAPREG…マップレジスタ、MDLCT…制御回路、MNERC…最小消去回数、MNGER…情報処理回路、MNIPAD…無効物理オフセットアドレス、MNVPAD…有効物理オフセットアドレス、MXERC…最大消去回数、MXIPAD…無効物理オフセットアドレス、MXVPAD…有効物理オフセットアドレス、NVCT…メモリ制御回路、NVM…不揮発性メモリ装置、NVMMD…メモリモジュール、PAD…物理アドレス、PADTBL…物理アドレステーブル、PERC…消去回数、PPAD…物理オフセットアドレス、PRNG…物理アドレス領域、PVLD…有効フラグ、R…記憶素子、RADLT…ロウアドレスラッチ、RAM…ランダムアクセスメモリ、RAMC…メモリ制御回路、REF_CLK…基準クロック信号、REG…レジスタ、ROWDEC…ロウデコーダ、RSTSIG…リセット信号、SA…センスアンプ、SGAD…物理セグメントアドレス、SL…チェインメモリアレイ選択線、STREG…ステータスレジスタ、SWB…読み書き制御ブロック、SYMD…クロック生成回路、Tch…チェイン選択トランジスタ、Tcl…メモリセル選択トランジスタ、THMO…温度センサ、TNIPA…無効物理アドレス総数、TNVPA…有効物理アドレス総数、WDR…ライトドライバ、WL…ワード線、WV…書込みデータ検証回路、CPUG…情報処理装置、ROUTER…ルーター装置、DYBS−CTL0〜31…制御装置、STRG0〜31…ストレージ装置、CPU0〜31…情報処理回路、MD0〜31…CPUメモリモジュール、メM0〜7…メモリ装置を備える。
NVMD0〜31…メモリモジュール、NVM0〜NVM31…不揮発性メモリ装置、RAM0…ランダムアクセスメモリNVM−CTL…メモリ制御回路、BLKTBL…ブロックサイズテーブル、DLPTBL…アドレス変換テーブル、DLAD…論理アドレス、DPAD…物理アドレス、ERSTBL…消去回数テーブル、ADMAP…アドレスマップ

Claims (6)

  1. 消去単位と書き込み単位が異なる不揮発性メモリの制御方法であって、
    所定単位の論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、
    前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、当該論理アドレスに割り当てられる物理アドレスが含まれる前記消去単位の大きさを制御することを特徴とする、不揮発性メモリの制御方法。
  2. 前記ライトアクセスの状況は、前記所定単位の論理アドレスの平均ライトデータ量および前記所定単位の論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項1記載の不揮発性メモリの制御方法。
  3. 前記ライトアクセスの状況は、全ての論理アドレスの平均ライトデータ量および全ての論理アドレスのライトアクセス回数の少なくとも一つを含むことを特徴とする、請求項2記載の不揮発性メモリの制御方法。
  4. さらに、前記所定単位の論理アドレスに対するリードアクセスの状況に応じて、前記消去単位の大きさを制御することを特徴とする、請求項1記載の不揮発性メモリの制御方法。
  5. 前記所定単位の論理アドレスに対するライトアクセスの状況に応じて、前記割り当てられる物理アドレスに含まれるプロビジョナル領域の量を制御することを特徴とする請求項1記載の不揮発性メモリの制御方法。
  6. 不揮発性メモリの制御装置であって、
    論理アドレスに対して前記不揮発性メモリの物理アドレスを割り当て、前記物理アドレスにアクセスを行う制御回路を有し、
    前記制御回路は、前記論理アドレスに対するアクセス状況に基づいて、当該論理アドレスに対応する前記物理アドレスを含む消去単位ブロックの大きさを動的に変化させることを特徴とする不揮発性メモリの制御装置。
JP2017515329A 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 Expired - Fee Related JP6360627B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/062853 WO2016174744A1 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置

Publications (2)

Publication Number Publication Date
JPWO2016174744A1 JPWO2016174744A1 (ja) 2017-12-28
JP6360627B2 true JP6360627B2 (ja) 2018-07-18

Family

ID=57198255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017515329A Expired - Fee Related JP6360627B2 (ja) 2015-04-28 2015-04-28 不揮発性メモリの制御方法、制御装置、および半導体記憶装置

Country Status (3)

Country Link
US (1) US10388369B2 (ja)
JP (1) JP6360627B2 (ja)
WO (1) WO2016174744A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6524039B2 (ja) * 2016-09-23 2019-06-05 東芝メモリ株式会社 メモリシステム及び制御方法
US10733107B2 (en) * 2016-10-07 2020-08-04 Via Technologies, Inc. Non-volatile memory apparatus and address classification method thereof
JP6779821B2 (ja) * 2017-03-24 2020-11-04 キオクシア株式会社 メモリシステム及びデータの読み出し方法
JP6517385B1 (ja) * 2018-02-07 2019-05-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133877A (ja) * 2001-09-03 2002-05-10 Toshiba Corp 不揮発性半導体記憶装置
EP1720119A4 (en) * 2004-03-31 2008-01-23 Matsushita Electric Ind Co Ltd MEMORY CARD AND MEMORY CARD SYSTEM
KR100739256B1 (ko) * 2006-05-12 2007-07-12 주식회사 하이닉스반도체 소거 동작시 메모리 셀 블록의 크기를 선택적으로 변경하는기능을 가지는 플래시 메모리 장치 및 그 소거 동작 방법
TWI492432B (zh) 2009-12-17 2015-07-11 Hitachi Ltd Semiconductor memory device and manufacturing method thereof
JP2011142186A (ja) 2010-01-06 2011-07-21 Toshiba Corp 抵抗変化メモリ
JP2012058770A (ja) 2010-09-03 2012-03-22 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101289931B1 (ko) * 2011-09-23 2013-07-25 한양대학교 산학협력단 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치
US9645917B2 (en) * 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
KR101997572B1 (ko) 2012-06-01 2019-07-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법
US9489148B2 (en) 2013-03-13 2016-11-08 Seagate Technology Llc Selecting between non-volatile memory units having different minimum addressable data unit sizes
WO2014188484A1 (ja) 2013-05-20 2014-11-27 株式会社日立製作所 半導体記憶装置
US20170003911A1 (en) * 2014-02-03 2017-01-05 Hitachi, Ltd. Information processing device
JP6100927B2 (ja) * 2014-02-05 2017-03-22 株式会社日立製作所 情報処理装置
TWI595492B (zh) * 2016-03-02 2017-08-11 群聯電子股份有限公司 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置

Also Published As

Publication number Publication date
JPWO2016174744A1 (ja) 2017-12-28
US10388369B2 (en) 2019-08-20
WO2016174744A1 (ja) 2016-11-03
US20180108404A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
US9898207B2 (en) Storage device
JP5847940B2 (ja) 半導体装置
JP5756622B2 (ja) 半導体装置
KR102635689B1 (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11163494B2 (en) Memory system, memory controller and operating method
JP6360627B2 (ja) 不揮発性メモリの制御方法、制御装置、および半導体記憶装置
JP6073495B2 (ja) 半導体装置
US11342013B2 (en) Memory system and operating method to set target command delay time to merge and process read commands
CN112346652A (zh) 存储器控制器及其操作方法
US11301174B2 (en) Memory system, memory controller and method for operating memory system
US11133068B2 (en) Memory device, memory controller, memory system and method for operating memory system
US20220171533A1 (en) Memorye system and operating method thereof
US20210365382A1 (en) Memory system, memory controller, and operation method thereof
US20220300212A1 (en) Memory system, memory controller, and method for operating same
US11550375B2 (en) Storage system and operating method thereof
US11614886B2 (en) Memory system and operating method thereof
US11474726B2 (en) Memory system, memory controller, and operation method thereof
JP6145227B2 (ja) 半導体装置
KR20210101972A (ko) 메모리 컨트롤러 및 그 동작 방법
US11709610B2 (en) Memory system, memory controller and operating method
WO2017017842A1 (ja) メモリの制御装置、記憶装置、および、メモリの書込み方法
US11507509B2 (en) Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size
US20230195342A1 (en) Memory system for managing data corresponding to a plurality of zones and operating method thereof
KR20160144563A (ko) 불휘발성 메모리 모듈 및 그것의 동작 방법
KR20210142477A (ko) 메모리 컨트롤러 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180622

R150 Certificate of patent or registration of utility model

Ref document number: 6360627

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees