JP2021125275A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2021125275A JP2021125275A JP2020016264A JP2020016264A JP2021125275A JP 2021125275 A JP2021125275 A JP 2021125275A JP 2020016264 A JP2020016264 A JP 2020016264A JP 2020016264 A JP2020016264 A JP 2020016264A JP 2021125275 A JP2021125275 A JP 2021125275A
- Authority
- JP
- Japan
- Prior art keywords
- volatile memory
- temperature
- memory chip
- controller
- chip
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
【課題】一つの実施形態は、不揮発性メモリチップにおける消去動作を適切化できるメモリシステムを提供することを目的とする。
【解決手段】一つの実施形態によれば、不揮発性メモリチップとコントローラとを有するメモリシステムが提供される。不揮発性メモリチップは、温度と補正パラメータとに応じて、消去電圧を補正可能である。コントローラは、不揮発性メモリチップの温度に関連する温度情報に応じて、不揮発性メモリチップの補正パラメータを更新する。不揮発性メモリチップは、温度と更新された補正パラメータとに応じて、消去電圧を補正する。
【選択図】図1
【解決手段】一つの実施形態によれば、不揮発性メモリチップとコントローラとを有するメモリシステムが提供される。不揮発性メモリチップは、温度と補正パラメータとに応じて、消去電圧を補正可能である。コントローラは、不揮発性メモリチップの温度に関連する温度情報に応じて、不揮発性メモリチップの補正パラメータを更新する。不揮発性メモリチップは、温度と更新された補正パラメータとに応じて、消去電圧を補正する。
【選択図】図1
Description
本実施形態は、メモリシステムに関する。
不揮発性メモリチップを有するメモリシステムでは、温度に依存して不揮発性メモリチップの動作特性が変動することがある。このとき、不揮発性メモリチップにおいて、データの消去動作が適切に行われることが望まれる。
一つの実施形態は、不揮発性メモリチップにおける消去動作を適切化できるメモリシステムを提供することを目的とする。
一つの実施形態によれば、不揮発性メモリチップとコントローラとを有するメモリシステムが提供される。不揮発性メモリチップは、温度と補正パラメータとに応じて、消去電圧を補正可能である。コントローラは、不揮発性メモリチップの温度に関連する温度情報に応じて、不揮発性メモリチップの補正パラメータを更新する。不揮発性メモリチップは、温度と更新された補正パラメータとに応じて、消去電圧を補正する。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
実施形態にかかるメモリシステムは、複数の不揮発性メモリチップを有する。温度に依存して各不揮発性メモリチップの動作特性が変動することがある。このとき、各不揮発性メモリチップにおいて、データの消去動作を温度に対してロバストにして、データの消去動作が適切に行われることが望まれる。
実施形態にかかるメモリシステムは、複数の不揮発性メモリチップを有する。温度に依存して各不揮発性メモリチップの動作特性が変動することがある。このとき、各不揮発性メモリチップにおいて、データの消去動作を温度に対してロバストにして、データの消去動作が適切に行われることが望まれる。
不揮発性メモリチップは、そのチップ温度が異なると消去電圧が変化する。不揮発性メモリチップは、温度に応じて消去電圧を補正する機能を有する。例えば、初期状態において、各不揮発性メモリチップには、温度に応じて消去電圧の値を補正するための共通の補正関数が設定される。不揮発性メモリチップに設定される消去電圧の補正関数の補正パラメータがチップ間で同じであると、チップ間で特性のばらつきが大きい場合に、温度変化適切に追従できない場合がある。例えば、各不揮発性メモリチップで適切な補正値を設定できず、消去動作で消去不足又は消去過多となることがある。
メモリシステムでは、複数の不揮発性メモリチップや、コントローラを含むチップが、パッケージに封止されてシステム基板上に実装され得る。基板上に複数の電子部品が実装されるシステムでは、各電子部品の基板における実装位置により、電子部品の温度が異なる場合がある。メモリシステムも例外ではなく、各不揮発性メモリチップは、実装位置によりその温度差が無視できないほど大きくなり得る。
例えば、メモリシステムでは、コントローラを含むコントローラチップが熱源となることがある。そのため、コントローラチップに近い実装位置に配された不揮発性メモリチップでは、そのチップ温度が比較的に高い温度になりやすく、コントローラチップから遠い実装位置に配された不揮発性メモリチップでは、そのチップ温度が比較的に低い温度になりやすい。これにより、メモリシステムにおいて、実装位置による温度の差異が生じやすい。
不揮発性メモリチップ間では、実装位置の違いで熱的なストレスを受ける度合いが異なり、その影響により、温度に応じた適切な補正値が共通の補正関数から異なるずれ量でずれることがある。そのため、各不揮発性メモリチップで共通の補正関数により消去電圧を補正すると、チップ間で消去特性がばらつき、不揮発性メモリチップによっては消去不足又は消去過多になる可能性がある。
そこで、本実施形態では、不揮発性メモリチップの温度に関連する温度情報に応じて不揮発性メモリチップの補正関数を規定する補正パラメータを更新することで、チップ間の消去特性のばらつきの低減化を図る。
具体的には、メモリシステムに、不揮発性メモリチップの消去電圧の補正値の、熱的なストレスによる変動を検知し、その変動を補償するアルゴリズムを導入する。すなわち、不揮発性メモリチップは、補正パラメータにより規定される補正関数を有し、温度を補正関数に適用することで消去電圧を補正可能である。コントローラは、不揮発性メモリチップの温度に関連した温度情報を検知し、温度情報をモデル関数に適用して消去電圧の適切な値からのずれ量を求める。温度情報は、例えば、前回の消去動作時のチップの温度と現在のチップの温度との差分であってもよい。差分は、熱的なストレスに関する情報とみることもできる。そして、コントローラは、その差分に対応する補正パラメータの更新量を求めて、その更新量で補正パラメータを更新するように不揮発性メモリチップを制御する。これに応じて、不揮発性メモリチップは、温度と更新された補正パラメータとで消去電圧を補正する。例えば、不揮発性メモリチップは、チップで検知された温度を、更新されたパラメータで規定される補正関数に適用して、消去電圧を補正する。これにより、各不揮発性メモリチップの補正パラメータがその温度情報に応じた適切な値に更新され、消去電圧が適正な値に補正され得るので、不揮発性メモリチップ間で消去動作のばらつきを低減できる。
より具体的には、メモリシステム1は、図1に示すように構成され得る。図1は、実施形態1にかかるメモリシステム1の概略構成例を示すブロック図である。図1に示すように、メモリシステム1は、メモリコントローラ2と不揮発性メモリ3とを備える。本実施形態における不揮発性メモリ3は、NAND型フラッシュメモリであるが、これに限定されない。
メモリシステム1は、メモリコントローラ2と不揮発性メモリ3とが1つのパッケージとして構成されるメモリカード等であってもよいし、SSD(Solid State
Drive)等であってもよい。メモリシステム1は、ホスト4と接続可能である。ホスト4は、例えば、パーソナルコンピュータ、サーバ、ストレージボックスなどの情報処理装置、携帯電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなどの車載端末であってもよい。
Drive)等であってもよい。メモリシステム1は、ホスト4と接続可能である。ホスト4は、例えば、パーソナルコンピュータ、サーバ、ストレージボックスなどの情報処理装置、携帯電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなどの車載端末であってもよい。
不揮発性メモリ3は、データを不揮発に記憶する。以下の説明では、不揮発性メモリ3として2次元(平面)構造のフラッシュメモリが用いられた場合について説明するが、不揮発性メモリ3の例はこれに限られない。不揮発性メモリ3は、例えば、3次元(立体)構造のフラッシュメモリ等であってもよい。
不揮発性メモリ3は、1つ以上のパッケージ30a〜30dを含む。図1には4つのパッケージ30a〜30dを示すが、パッケージ30a〜30dの数は4つに限られず、1つ以上であればよい。個々のパッケージ30a〜30dを区別しないときは、単にパッケージ30とも記載する。
パッケージ30の各々は、1つ以上の不揮発性メモリチップ31a〜31cを備える。図1には3つの不揮発性メモリチップ31a〜31cを示すが、不揮発性メモリチップ31a〜31cの数は3つに限られず、1つ以上であればよい。個々の不揮発性メモリチップ31a〜31cを区別しないときは、単に不揮発性メモリチップ31とも記載する。
不揮発性メモリチップ31の各々は、不揮発性メモリチップ31の温度を検出する温度センサ32を備えている。温度センサ32は、例えばメモリコントローラ2からの温度取得コマンドに応じて、検出した不揮発性メモリチップ31の温度を温度情報としてメモリコントローラ2に送信する。
メモリコントローラ2は、例えばSoC(System−On−a−Chip)として構成される半導体集積回路である。メモリコントローラ2の各種機能のうちの一部または全部は、ファームウェアを実行するCPUによって、または、専用ハードウェア回路によって実現されてよい。メモリコントローラ2は、ホスト4からの書き込みコマンドに従って不揮発性メモリ3への書き込みを制御する。また、ホスト4からの読み出しコマンドに従って不揮発性メモリ3からの読み出しを制御する。
メモリコントローラ2は、ホストインタフェース(ホストI/F)21、メモリインタフェース(メモリI/F)22、制御部23、RAM(Random Access Memory)24、およびデータバッファ25を備える。ホストI/F21、メモリ
I/F22、制御部23、およびデータバッファ25は、内部バス20で相互に接続されている。
I/F22、制御部23、およびデータバッファ25は、内部バス20で相互に接続されている。
ホストI/F21は、ホスト4との間のインタフェース規格に従った処理を実施し、ホスト4から受信したアクセスコマンド(命令)、書き込み対象のデータ(ユーザデータ)などを内部バス20に出力する。インタフェース規格は、例えば、PCIe(登録商標)(Peripheral Component Interconnect express)、SAS(Serial Attached SCSI)、SATA(Serial Advanced Technology Attachment)などである。また、ホストI/F21は、不揮発性メモリ3から読み出されたデータ(ユーザデータ)、制御部23からの応答などをホスト4へ送信する。
メモリI/F22は、制御部23の指示に基づいて、不揮発性メモリ3への書き込み処理を行う。また、メモリI/F22は、制御部23の指示に基づいて、不揮発性メモリ3からの読み出し処理を行う。
データバッファ25は、メモリコントローラ2がホスト4から受信したデータを不揮発性メモリ3へ記憶するまでに一時格納する。また、データバッファ25は、不揮発性メモリ3から読み出されたデータをホスト4へ送信するまでに一時格納する。データバッファ25には、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリを用いることができる。
制御部23は、例えば、CPU(Central Processing Unit)として構成される。制御部23は、ファームウェアに基づいて動作する。例えば、ファームウェアは不揮発性メモリ3に、メモリシステム1の製造時または出荷時に格納されている。制御部23は、起動時に、メモリコントローラ2が備えるRAM24に不揮発性メモリ3からファームウェアをロードする。制御部23は、RAM24にロードされたファームウェアを実行することによって、各種機能を実現する。
図2は、実施形態1にかかる不揮発性メモリ3が備える不揮発性メモリチップ31の構成例を示すブロック図である。実施形態1の各々の不揮発性メモリチップ31a〜31cは、いずれも同様の構成を備える。
図2に示すように、不揮発性メモリチップ31は、例えばプレーンPL1,PL2、周辺回路PER、及び入出力パッドIOPを備える。ただし、不揮発性メモリチップ31内のプレーンPL1,PL2の数は2つに限られず、3つ以上であってもよい。個々のプレーンPL1,PL2を区別しないときは、単にプレーンPLとも記載する。プレーンPLの各々は、セルアレイCA、ロウデコーダRD、センスアンプモジュールSAM、演算回路YLOG、及びデータレジスタXDLを備えている。
セルアレイCAは、不揮発性のメモリセルの集合である複数のブロック(複数の物理ブロック)BLKを備えている。ブロックBLKはデータの消去単位となり、同一のブロックBLK内のデータは一括して消去される。ブロックBLKの各々は、メモリセルが直列接続されたメモリストリングMS(MS0,MS1,MS2・・・)を備えている。
各メモリセルは、複数のビット線BLと複数のワード線WLとのそれぞれが交差する点に配置されている。各メモリセルは、ロウ方向に所定ピッチをもってカラム方向に延びる複数のビット線BLのいずれかに接続されている。また、各メモリセルは、カラム方向に所定ピッチをもってロウ方向に延びる複数のワード線WLのいずれかに接続されている。
ロウデコーダRDは、制御部23により指示されたブロックアドレスをデコードして、対応するブロックBLKを選択する。
センスアンプモジュールSAMは、センスアンプSA、及びデータレジスタUDL,LDLの複数の組を有している。センスアンプSA、及びデータレジスタUDL,LDLは互いに、図示しないバスで接続されている。センスアンプSAはビット線BL毎に設けられ、対応するビット線BLに読み出されたデータをセンスして増幅し、また対応するビット線BLに書き込みデータを転送する。データレジスタUDL,LDLは、データを一時的に保持する。
演算回路YLOGは、データレジスタUDL,LDLに保持されたデータの演算を行う。
データレジスタXDLは、ビット線BL毎に設けられ、対応するビット線BLに関連するデータを一時的に保持する。データレジスタXDLは、不揮発性メモリ3のバッファとして用いられてもよい。すなわち、センスアンプモジュールSAMの内部のデータレジスタUDL,LDLが使用中であったとしても、データレジスタXDLが空いていれば、不揮発性メモリ3は外部からデータを受け付けることが出来る。
入出力パッドIOPは、メモリコントローラ2との間で、種々のコマンドやデータの送受信を司る。
周辺回路PERは、シリアライザ及びデシリアライザS/D、図示しないシーケンサ、チャージポンプ、レジスタ、及びドライバ等を備える。シリアライザ及びデシリアライザS/Dは、メモリコントローラ2等の外部からシリアル信号形式で送られてくるデータ等をパラレル信号に変換する。また、シリアライザ及びデシリアライザS/Dは、不揮発性メモリチップ31内においてパラレル信号形式で取り扱われるデータ等をシリアル信号に変換する。また、シリアライザ及びデシリアライザS/Dは、セルアレイCAのカラム方向(ビット線BL)を選択する。
ドライバは、メモリコントローラ2からの指令を受けたシーケンサに従って、データの書き込み、読み出し、及び消去に必要な電圧を、ロウデコーダRD、センスアンプSA、及び図示しないソース線ドライバに供給する。チャージポンプは、外部から与えられる電源電圧を昇圧して、必要な電圧をドライバに供給する。レジスタは、種々の信号を保持する。シーケンサは、不揮発性メモリ3全体の動作を制御する。
図3は、実施形態1にかかる不揮発性メモリ3の不揮発性メモリチップ31に含まれる1つのブロックBLKの構成例を示す回路図である。
各ブロックBLKは、ロウ方向に沿って順に配列された(p+1)個のメモリストリングMSを備えている(pは0以上の整数)。
各メモリストリングMSには、選択トランジスタST1,ST2が含まれる。選択トランジスタST1は、ドレインがビット線BL0〜BLpに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルMCは、半導体基板上に形成された積層ゲート構造を備えたMOSFET(Metal Oxide Semiconductor Field Effect Transistor)により構成されている。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層、及び電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルMCは、電荷蓄積層に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。メモリセルMCは、各セルに1ビットの情報を記録するSLC(Single Level Cell)として構成されていてもよいし、各セルに2ビットの情報を記録するMLC(Multi Level Cell)や3ビットの情報を記録するTLC
(Triple Level Cell)として構成されていてもよい。
(Triple Level Cell)として構成されていてもよい。
各メモリストリングMSにおいて、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるよう、(q+1)個のメモリセルMCが配置されている(qは0以上の整数)。すなわち、複数のメモリセルMCは、隣接するもの同士で拡散領域(ソース領域若しくはドレイン領域)を共有するような形でカラム方向に直列接続される。
各メモリストリングMSにおいて、最も選択ゲート線SGD側に位置するメモリセルMCから順に、制御ゲート電極がワード線WL0〜WLqにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルMCのドレインは選択トランジスタST1のソースに接続され、ワード線WLqに接続されたメモリセルトランジスタMCTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLqは、ブロックBLK内のメモリストリングMS間で、メモリセルMCの制御ゲート電極を共通に接続している。つまり、ブロックBLK内において同一行にあるメモリセルMCの制御ゲート電極は、同一のワード線WLに接続される。この同一のワード線WLに接続される(p+1)個のメモリセルMCは、1つまたは複数のページ(物理ページ)に対応するメモリセルグループとして取り扱われ、この物理ページごとにデータの書き込みおよびデータの読み出しが行われる。
ビット線BL0〜BLpは、ブロックBLK間で、選択トランジスタST1のドレインを共通に接続している。つまり、複数のブロックBLK内において同一列にあるメモリストリングMSは、同一のビット線BLに接続される。
各メモリセルMCがトリプルレベルセルとしてTLCモードで動作する場合、メモリセルMCの閾値電圧分布は、例えば、図4に示すようになる。図4は、実施形態にかかるメモリセルMCの閾値電圧分布を示す図である。図4において、横軸は閾値電圧を表し、縦軸はメモリセルMCの数(具体的には、所定の閾値電圧を有するメモリセルMCの数)を表す。
TLCモードによれば、各メモリセルMCは、アッパーページに属するデータ“x”とミドルページに属するデータ“y”とロアーページに属するデータ“z”とで定義される3ビットのデータ“xyz”を保持可能である。データ“x”、データ“y”、データ“z”の値は、 “0”または “1”である。各メモリセルMCの閾値電圧は、分布Er、分布A、分布B、分布C、分布D、分布E、分布F、分布Gの8つのグループの何れかに属するように制御される。各分布と3ビットのデータ“xyz”のデータ値との対応は、予め設定される。例えば、分布Erにはデータ値“111”が割り当てられる。分布Aにはデータ値“110”が割り当てられる。分布Bにはデータ値“100”が割り当てられる。分布Cにはデータ値“000”が割り当てられる。分布Dにはデータ値“010”が割り当てられる。分布Eにはデータ値“011”が割り当てられる。分布Fにはデータ値“001”が割り当てられる。分布Gにはデータ値“101”が割り当てられる。各分布とデータ値との対応は、上記に限定されない。
ホスト4からメモリコントローラ2を介して書き込みコマンドを受け取ると、シリアライザ及びデシリアライザS/Dは、ブロックアドレスが入力されたカラムアドレスに対応したビット線BLを選択して活性化する。センスアンプSAは、シリアライザ及びデシリアライザS/Dにより選択されたビット線BLの電位を0Vとする。ロウデコーダRDは、ブロックアドレスをデコードして得られるロウアドレスに対応したワード線WLに、プログラムパルスを印加する。すると、選択されたビット線BLおよび選択されたワード線WLとの交点に位置するメモリセルMCの電荷蓄積膜に電子が注入され、その結果、メモリセルMCの閾値電圧が上昇する。センスアンプモジュールSAMは、プログラムパルスが印加される毎に、閾値電圧がデータレジスタXDLに格納されているデータに応じた電圧に到達したか否かを確認する。センスアンプSAは、閾値電圧がデータに応じた電圧に到達するまで、ロウデコーダRDにプログラムパルスの印加を継続させる。
ホスト4からメモリコントローラ2を介して読み出しコマンドを受け取ると、センスアンプモジュールSAMは、ビット線BLにビット線電圧Vb1(例えば1.5V)をプリチャージし、ロウデコーダRDは、選択されたワード線WLにデータ値毎の分布を特定する複数種類の判定電位(リード電圧)を順次印加する。なお、ロウデコーダRDは、非選択のワード線WLには転送電位を印加し、非選択のワード線WLに属するメモリセルMCを導通状態にしておく。センスアンプSAは、プリチャージにより蓄えられた電荷が、どの読み出し電圧が印加されたときにソース線SLに流出したかを検知することによって、対象のメモリセルMCに記憶されているデータ値を判定する。
図4に示すように、分布Erと分布Aとの間に読み出し電圧V7が設定される。分布Aと分布Bとの間に読み出し電圧V6が設定される。分布Bと分布Cとの間に読み出し電圧V5が設定される。分布Cと分布Dとの間に読み出し電圧V4が設定される。分布Dと分布Eとの間に読み出し電圧V3が設定される。分布Eと分布Fとの間に読み出し電圧V2が設定される。分布Fと分布Gとの間に読み出し電圧V1が設定される。
図4の例では、各分布Er,A〜Gに属するメモリセルMCの閾値電圧の分布の裾野が重なり合っている。つまり、例えば分布Aに属するメモリセルMCの閾値電圧の最大値が判定電圧V6を超えており、かつ、分布Bに属するメモリセルMCの閾値電圧の最小値が判定電圧V6を下回っている。分布Aに属し、かつ、閾値電圧が判定電圧V6よりも高いメモリセルMCが読み出された場合、そのメモリセルMCは分布Bに属するとして認識される。即ち、“110”として書き込まれたデータが“100”として読み出される。分布Bに属し、かつ、閾値電圧が判定電圧V6よりも低いメモリセルMCが読み出された場合、そのメモリセルMCは分布Aに属するとして認識される。即ち、“100”として書き込まれたデータが“110”として読み出される。
このような判定電圧の近傍に閾値電圧を持つメモリセルMCに起因するエラーは、メモリコントローラ2が有する誤り訂正(ECC:Error Correcting Code)回路等により訂正可能である。ただし、メモリコントローラ2がECC回路により訂正できるエラービットの数には、限界がある。読み出しデータに含まれるエラービットの数が限界を超えないように、例えば、隣接する2つの分布間の、分布が重なった部分におけるメモリセルMCの数が極小となる電圧値を判定電圧として使用する。これにより、読み出しデータに含まれるエラー数を少なくすることができる。
例えば、複数の分布Er〜Gのうち、分布Erは、消去状態の閾値電圧分布を示す。図4では、消去状態が適正である場合における消去状態の閾値電圧分布を、実線で示している。消去状態が消去過多である場合、実線で示す適正な分布Erに比べて、点線で示すように、より低電圧側にシフトした分布Er’が形成され得る。この場合、分布Erと分布Aとの重なりが解消され得るが、メモリセルには過剰に消去電圧が印加されるため、消去動作によるストレスでメモリセルが劣化しやすくなる。
消去状態が消去不足である場合、実線で示す適正な分布Erに比べて、一点鎖線で示すように、より高電圧側にシフトした分布Er”が形成され得る。この場合、分布Er”と分布Aとの重なりが大きくなり、読み出しデータに含まれるエラービットの数が誤り訂正可能なビット数の限界を超えて、メモリセルから適正にデータを読み出すことができなくなる場合がある。
一方、各不揮発性メモリチップでチップ温度が変化しても本実施形態の制御により消去電圧が適正な値に補正されれば、各不揮発性メモリチップ間で消去特性を揃えることができ、消去状態の閾値電圧分布を、図4に実線で示す適正な分布Erにすることができる。分布Erは、適正な分布Aとの重なり具合が、他の分布A〜Gの間の重なり具合とほぼ均等にされ得る。これにより、読み出しデータに含まれるエラー数を少なくすることができる。
次に、各不揮発性メモリチップに設定される共通の補正関数について図5を用いて説明する。図5は、各不揮発性メモリチップに設定される補正関数を示す図である。図5において、縦軸が消去電圧を示し、横軸が温度を示す。補正関数は、消去電圧の補正に用いられる関数であり、温度に応じて補正すべき消去電圧の値を示す。
各メモリセルは、温度が高いほどデータが消去されやすい傾向にある。これに応じて、各不揮発性メモリチップに設定される共通の補正関数FAは、温度に対する一次関数であり、直線で表され得る。この直線は、例えば、図5に実線で示すように、基準温度T0(例えば0℃)に対する消去電圧がV0であり、傾きが負の値−C0(C0は任意の正の数)の直線である。消去電圧をVera、温度をTとすると、この補正関数FA(T)は、次の数式1で表されるように、補正パラメータC0、V0で規定される関数である。補正パラメータC0は、直線の傾きを示すパラメータである。補正パラメータV0は、縦軸に対する直線の切片を示すパラメータである。
Vera=FA(T)
=−C0×T+V0・・・数式1
Vera=FA(T)
=−C0×T+V0・・・数式1
各不揮発性メモリチップ31は、温度センサ32でチップ温度が検知されると、チップ温度Tを数式1で示す補正関数FA(T)に適用して、補正すべき消去電圧Veraの値を求める。例えば、検知された温度がT=T1(T1>T0)である場合、消去電圧の補正値がVera=−C0×T1+V0=V1と求められる。検知された温度がT=T2(T2>T1)である場合、消去電圧の補正値がVera=−C0×T2+V0=V2(<V1)と求められる。
しかし、不揮発性メモリチップ31間では、実装位置の違いで熱的なストレスの受ける度合いが異なり、その影響により、温度に応じた適切な補正値が共通の補正関数FA(T)から異なるずれ量でずれることがある。
温度に応じた適切な補正値がほぼ補正関数FA(T)通り変化する実装位置をPAとし、実装位置PAよりコントローラを含むチップに近い実装位置をPBとする。実装位置PBでは、実装位置PAより強い熱ストレスを受けると考えられ、温度に応じた消去のされやすさが実装位置PAより急激に変化すると考えられる。実装位置PBでは、温度に応じた適切な補正値が、温度に対して、より急峻な減少傾向を示し得る。
例えば、共通の補正関数FA(T)では、温度T2に対する消去電圧の補正値がVera=V2と求まる。それに対して、温度T2における消去電圧の共通の補正関数FAからのずれ量が−ΔVB(ΔVB>0)と求まれば、適正な補正値がVera=V2−ΔVB=V2Bとなる。この場合、更新すべき補正パラメータC0Bの値は、次の数式2で求めることができる。
C0B=(V0−V2B)/(T2−T0)・・・数式2
C0B=(V0−V2B)/(T2−T0)・・・数式2
これにより、実装位置PBで消去電圧の補正に用いるべき補正関数FB(T)は、補正パラメータC0B、V0で規定される関数として、次の数式3で表され得る。
Vera=FB(T)
=−C0B×T+V0・・・数式3
Vera=FB(T)
=−C0B×T+V0・・・数式3
この補正関数FB(T)は、図5に2点鎖線で示すように、縦軸に対する直線の切片が共通の補正関数FA(T)と同じであるが、傾きがより急峻な一次関数である。
このとき、補正パラメータC0の更新量は、次の数式4で示されるようなΔC0Bであり、補正パラメータV0の更新量は、ゼロである。
ΔC0B=C0B−C0・・・数式4
ΔC0B=C0B−C0・・・数式4
また、温度に応じた適切な補正値がほぼ補正関数FA(T)通り変化する実装位置をPAとし、実装位置PAよりコントローラを含むチップから遠い実装位置をPCとする。実装位置PCでは、実装位置PAより弱い熱ストレスを受けると考えられ、温度に応じた消去のされやすさが実装位置PAより緩やかに変化すると考えられる。実装位置PCでは、温度に応じた適切な補正値が、温度に対するより緩やかな減少傾向を示し得る。
例えば、共通の補正関数FA(T)では、温度T2に対する消去電圧の補正値がVera=V2と求まる。それに対して、温度T2における消去電圧の共通の補正関数FAからのずれ量が+ΔVC(ΔVC>0)と求まれば、適正な補正値がVera=V2+ΔVC=V2Cとなる。この場合、更新すべき補正パラメータC0Cの値は、次の数式5で求めることができる。
C0C=(V0−V2C)/(T2−T0)・・・数式5
C0C=(V0−V2C)/(T2−T0)・・・数式5
これにより、実装位置PCで消去電圧の補正に用いるべき補正関数FC(T)は、補正パラメータC0C、V0で規定される関数として、次の数式6で表され得る。
Vera=FC(T)
=−C0C×T+V0・・・数式6
Vera=FC(T)
=−C0C×T+V0・・・数式6
この補正関数FC(T)は、図5に1点鎖線で示すように、縦軸に対する直線の切片が共通の補正関数FA(T)と同じであるが、傾きがより緩やかな一次関数である。
このとき、補正パラメータC0の更新量は、次の数式7で示されるようなΔC0Cであり、補正パラメータV0の更新量は、ゼロである。
ΔC0C=C0C−C0・・・数式7
ΔC0C=C0C−C0・・・数式7
図5に例示されるように、熱ストレスに対する適正な消去電圧の、共通の補正関数FAからのずれ量が求まれば、補正パラメータの更新量を求めて各不揮発性メモリチップ31の補正パラメータを適正に更新できることが分かる。そのため、所定の温度T(例えば、T=T2)における熱ストレスに応じた、共通の補正関数FAからの適正な消去電圧のずれ量と、熱ストレスを表す温度情報との関係を実験的にモデル化し、モデル関数として求める。熱ストレスを表す温度情報としては、ある不揮発性メモリチップについて、前回の消去動作で検知されたチップ温度と現在検知されているチップ温度との差分ΔTを用いられ得る。
例えば、共通の補正関数FA(T)と、実装位置PAよりコントローラを含むチップから遠い実装位置をPCに対応する補正関数FC(T)とが近似的に同じであると見なせる場合、すなわち、図5に示すΔVC≒0である場合、所定の温度T(例えば、T=T2)についてのモデル関数は、図6(a)に示すように決められる。実装位置PAに対応する差分ΔTの値を閾値ΔTthとすると、図6(a)に示すモデル関数では、差分ΔTが閾値ΔTth以下では、共通の補正関数FA(T)からの適切な補正値のずれ量がゼロに維持され、差分ΔTが閾値ΔTthを超えると、超えた量に応じて直線的にずれ量が増加する。図6(a)に示すモデル関数を参照すると、実装位置PBの不揮発性メモリチップ31について、差分がΔT=ΔTBである場合のずれ量がΔV=ΔVBであると求められる。実装位置PCの不揮発性メモリチップ31について、差分がΔT=ΔTCである場合のずれ量はΔV=ΔVC≒0であると求められる。
あるいは、共通の補正関数FA(T)と、実装位置PAよりコントローラを含むチップから遠い実装位置をPCに対応する補正関数FC(T)とが異なる場合、すなわち、図5に示すΔVC>0である場合、所定の温度T(例えば、T=T2)についてのモデル関数は、図6(b)に示すように決められる。実装位置PAに対応する差分ΔTの値を閾値ΔTthとすると、図6(b)に示すモデル関数では、差分ΔTの量に応じて直線的にずれ量が増加する。このモデル関数では、ずれ量ΔVは、負の値から、差分ΔTが閾値ΔTthのときのゼロを経て、正の値へ直線的に単調に増加する。図6(b)に示すモデル関数を参照すると、実装位置PBの不揮発性メモリチップ31について、差分がΔT=ΔTBである場合のずれ量がΔV=ΔVBであると求められる。実装位置PCの不揮発性メモリチップ31について、差分がΔT=ΔTCである場合のずれ量はΔV=−ΔVCであると求められる。
すなわち、図6(a)、図6(b)に例示するようなモデル関数を用いることで、所定の温度T(例えば、T=T2)において、差分ΔT等の温度情報に応じ、共通の補正関数FA(T)からの適切な補正値のずれ量を求めることができる。
次に、メモリシステム1の動作について図7を用いて説明する。図7は、メモリシステム1の動作を示すフローチャートである。図7では、1つの不揮発性メモリチップ31とメモリコントローラ2とにおける動作について例示するが、他の不揮発性メモリチップ31とメモリコントローラ2とにおける動作も同様である。
メモリコントローラ2は、不揮発性メモリチップ31で消去処理が行われるべきタイミングになると、不揮発性メモリチップ31の温度を取得するために、温度取得コマンドを不揮発性メモリチップ31に発行する(S11)。不揮発性メモリチップ31は、温度取得コマンドを受けると、温度センサ32によりチップ温度を検知し(S1)、検知された温度をメモリ内で保持するとともに、検知された温度を含む応答をメモリコントローラ2へ返す。メモリコントローラ2は、検知された温度を取得すると(S11)、検知された温度を不揮発性メモリチップ31の識別情報と関連付けて保持する。
不揮発性メモリチップ31は、検知された温度を補正パラメータで規定される補正関数に適用して消去電圧を補正し(S2)、補正が完了した旨の通知をメモリコントローラ2へ送る。メモリコントローラ2は、補正が完了した旨の通知を受けると、消去すべきブロックのアドレスを含む消去コマンドを不揮発性メモリチップ31へ発行する。不揮発性メモリチップ31は、消去コマンドを受けると、S2で補正された消去電圧を用いて、アドレス指定されたブロックに対して消去処理を行う(S3)。
その後、メモリコントローラ2は、再び、不揮発性メモリチップ31で消去処理が行われるべきタイミングになると、不揮発性メモリチップ31の温度を取得するために、温度取得コマンドを不揮発性メモリチップ31に発行する(S13)。不揮発性メモリチップ31は、温度取得コマンドを受けると、温度センサ32によりチップ温度を検知し(S4)、検知された温度をメモリ内で保持するとともに、検知された温度を含む応答をメモリコントローラ2へ返す。メモリコントローラ2は、検知された温度を取得すると(S13)、S11で取得された温度とS13で取得された温度との差分を求め(S14)、モデル関数を用いて、補正関数の補正パラメータの更新量を計算する更新量計算処理を行う(S15)。
例えば、モデル関数が図6(a)に示すような関数である場合、更新量計算処理(S15)は、図8(a)に示すように行われ得る。図8(a)は、更新量計算処理(S15)を示すフローチャートである。すなわち、メモリコントローラ2は、S14で求めた差分ΔTと閾値ΔTthとを比較する。メモリコントローラ2は、差分ΔTが閾値ΔTthを超えていれば(S21でYes)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S14で求めた差分がΔT=ΔTBであれば、差分ΔT=ΔTBをモデル関数に適用してずれ量ΔV=ΔVBを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を降圧側へ補正するための補正パラメータの更新量を求める(S22)。例えば、ずれ量ΔV=ΔVBに応じて適正な補正値がV2−ΔVB=V2Bとなれば、数式2〜数式4のように補正パラメータC0の更新量ΔC0Bを求めてもよい。また、メモリコントローラ2は、S14で求めた差分ΔTが閾値ΔTth以下であれば(S21でNo)、適切な補正値の共通の補正関数FA(T)からのずれ量がゼロであり、補正パラメータの更新が不要であるとして、S22をスキップする。
あるいは、モデル関数が図6(b)に示すような関数である場合、更新量計算処理(S15)は、図8(b)に示すように行われ得る。図8(b)は、更新量計算処理(S15)を示すフローチャートである。すなわち、メモリコントローラ2は、S14で求めた差分ΔTと閾値ΔTthとを比較する。
メモリコントローラ2は、差分ΔTが閾値ΔTthを超えていれば(S21でYes)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S14で求めた差分がΔT=ΔTBであれば、差分ΔT=ΔTBをモデル関数に適用してずれ量ΔV=ΔVBを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を降圧側へ補正するための補正パラメータの更新量を求める(S22)。例えば、ずれ量ΔV=ΔVBに応じて適正な補正値がV2−ΔVB=V2Bとなれば、数式2〜数式4のように補正パラメータC0の更新量ΔC0Bを求めてもよい。
メモリコントローラ2は、S14で求めた差分ΔTが閾値ΔTth以下であれば(S21でNo)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S14で求めた差分がΔT=ΔTCであれば、差分ΔT=ΔTCをモデル関数に適用してずれ量ΔV=−ΔVCを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を昇圧側へ補正するための補正パラメータの更新量を求める(S23)。例えば、ずれ量ΔV=−ΔVCに応じて適正な補正値がV2+ΔVC=V2Cとなれば、数式5〜数式7のように補正パラメータC0の更新量ΔC0Cを求めてもよい。
図7に戻って、メモリコントローラ2は、更新量計算処理(S15)で求めた補正パラメータの更新量を不揮発性メモリチップ31へ供給する。不揮発性メモリチップ31は、S4で温度を検知した後に、補正パラメータの更新量を受信するまで(S5でNo)待機している。不揮発性メモリチップ31は、補正パラメータの更新量を受信すると(S5でYes)、受信された更新量で補正パラメータを更新する(S6)。例えば、不揮発性メモリチップ31は、補正パラメータC0の更新量がΔC0Bであれば、補正パラメータC0に更新量ΔC0Bを加算して補正パラメータC0Bへ更新する。不揮発性メモリチップ31は、補正パラメータC0の更新量がΔC0Cであれば、補正パラメータC0に更新量ΔC0Cを加算して補正パラメータC0Cへ更新する。
不揮発性メモリチップ31は、S4で検知された温度を、S6で更新された補正パラメータで規定される補正関数に適用して消去電圧を補正し(S7)、補正が完了した旨の通知をメモリコントローラ2へ送る。メモリコントローラ2は、補正が完了した旨の通知を受けると、消去すべきブロックのアドレスを含む消去コマンドを不揮発性メモリチップ31へ発行する(S16)。不揮発性メモリチップ31は、消去コマンドを受けると、S7で補正された消去電圧を用いて、アドレス指定されたブロックに対して消去処理を行う(S8)。
以上のように、本実施形態では、メモリシステム1において、メモリコントローラ2は、不揮発性メモリチップ31の温度に関連する温度情報に応じて不揮発性メモリチップ31の補正関数を規定する補正パラメータを更新する。例えば、メモリコントローラ2は、前回の消去動作時のチップ温度と現在のチップ温度との差分をモデル関数に適用して適正な消去電圧値の補正関数からのずれ量を求め、求められたずれ量に応じて、補正パラメータを更新する。これにより、各不揮発性メモリチップの補正パラメータがその温度情報(例えば、熱ストレス)に応じた適切な値に更新され消去電圧が適正な値に補正され得るので、不揮発性メモリチップ間で消去動作のばらつきを低減できる。したがって、メモリシステム1の各不揮発性メモリチップにおいて、消去不良に伴う著しい特性劣化を防止でき、温度変化に対するロバスト性を向上でき、メモリシステムの信頼性を改善できる。
なお、実施形態では、チップ単位で補正パラメータを更新する制御について例示しているが、補正パラメータを更新するのは、不揮発性メモリチップ内のブロック単位であってもよい。あるいは、ブロックより小さな単位で消去処理を選択的に行うことが可能であれば、補正パラメータを更新するのは、そのブロックより小さな単位であってもよい。
また、メモリシステム1に、不揮発性メモリチップの消去電圧の補正値の熱的なストレスによる変動を検知しその変動を補償するアルゴリズムを導入する代わりに、実装位置に応じてコントローラからの熱影響度合いを見積もりその熱影響度合いを補償するアルゴリズムを導入してもよい。
例えば、メモリシステム1における不揮発性メモリチップの実装位置と熱の影響度合いとを、図9に示すように、見積もることができる。図9は、実施形態の変形例における実装位置と熱の影響度合いとを示す図である。図9(a)は、メモリシステム1の実装形態を示す断面図であり、図9(b)、図9(c)は、パッケージの実装位置を示す平面図である。図9(a)〜図9(c)では、メモリシステム1における基板の積み重ね方向をZ方向として、Z方向に垂直な面内で互いに直交する2方向をX方向及びY方向とする。
メモリシステム1は、図9(a)に示すように、扁平な直方体状の外観を呈する筐体100を有する。メモリシステム1は、筐体100内に複数の回路基板111〜113を有する。各回路基板111〜113は、筐体100の内面と接触している。複数の回路基板111〜113は、間隔をあけて積み重ねた状態のモジュールとして構成されている。モジュールは、ネジ等を介して、筐体100の内面に固定されている。例えば、回路基板113の−Z側の面には、図9(b)に示すように、メモリコントローラ2を含むチップ102を収容するパッケージ120、不揮発性メモリチップ131bを収容するパッケージ130bなどが実装されている。回路基板111の+Z側の面には、図9(c)に示すように、不揮発性メモリチップ131cを収容するパッケージ130cなどが実装されている。
メモリコントローラ2を含むコントローラチップ102が熱源となる場合、コントローラチップ102から不揮発性メモリチップ131bへの熱の伝達は、主として、回路基板113を介してなされる。そのため、コントローラチップ102から不揮発性メモリチップ131bへの熱影響度合いは、コントローラチップ102からの平面距離D131bに依存して変化し得る。コントローラチップ102の発熱量をH0、回路基板113の材質に応じた単位距離当たりの熱の減衰率をK113とすると、不揮発性メモリチップ131bがコントローラチップ102から受ける熱影響度合いH131bは、次の数式8で表され得る。
H131b=H0×D131b×K113・・・数式8
ここで、数式8で表される熱影響度合いは熱源からの距離に対して減衰率が一様である場合に定数として見積もられるが、距離の関数としても表され得る。
H131b=H0×D131b×K113・・・数式8
ここで、数式8で表される熱影響度合いは熱源からの距離に対して減衰率が一様である場合に定数として見積もられるが、距離の関数としても表され得る。
また、コントローラチップ102から不揮発性メモリチップ131cへの熱の伝達は、主として、回路基板113、筐体100、回路基板111を介してなされる。そのため、コントローラチップ102から不揮発性メモリチップ131cへの熱影響度合いは、コントローラチップ102からの熱の伝達経路に沿った平面距離D131c1、鉛直距離D131c2、平面距離D131c3に依存して変化し得る。コントローラチップ102の発熱量をH0、回路基板113、筐体100、回路基板111の材質に応じた単位距離当たりの熱の減衰率をそれぞれK113、K100、K111とすると、不揮発性メモリチップ131bがコントローラチップ102から受ける熱影響度合いH131cは、次の数式9で表され得る。
H131c=H0×D131c1×K113×D131c2×K100×D131c3×K111・・・数式9
H131c=H0×D131c1×K113×D131c2×K100×D131c3×K111・・・数式9
このとき、所定の温度T(例えば、T=T2)についてのモデル関数は、図10(a)に示すように決められてもよい。図10(a)は、実施形態の変形例におけるモデル関数を示す図である。温度に応じた適切な補正値がほぼ補正関数FA(T)通り変化する実装位置をPAとし、実装位置PAに対応する熱影響度合いHの値を閾値Hthとすると、図10(a)に示すモデル関数では、熱影響度合いHが閾値Hth以下では、共通の補正関数FA(T)からの適切な補正値のずれ量がゼロに維持され、熱影響度合いHが閾値Hthを超えると、超えた量に応じて直線的にずれ量が増加する。図10(a)に示すモデル関数を参照すると、図9(a)、図9(b)に示す実装位置の不揮発性メモリチップ131bについて、熱影響度合いがH=H131bであること場合のずれ量がΔV=ΔV131bであると求められる。図9(a)、図9(c)に示す実装位置の不揮発性メモリチップ131cについて、熱影響度合いがH=H131cである場合のずれ量はΔV=ΔV131c≒0であると求められる。
あるいは、所定の温度T(例えば、T=T2)についてのモデル関数は、図10(b)に示すように決められてもよい。図10(b)は、実施形態の変形例におけるモデル関数を示す図である。温度に応じた適切な補正値がほぼ補正関数FA(T)通り変化する実装位置をPAとし、実装位置PAに対応する熱影響度合いHの値を閾値Hthとすると、図10(b)に示すモデル関数では、熱影響度合いHの量に応じて直線的にずれ量が増加する。このモデル関数では、ずれ量ΔVは、負の値から、熱影響度合いHが閾値Hthのときのゼロを経て、正の値へ直線的に単調に増加する。図10(b)に示すモデル関数を参照すると、図9(a)、図9(b)に示す実装位置の不揮発性メモリチップ131bについて、熱影響度合いがH=H131bである場合のずれ量がΔV=ΔV131bであると求められる。図9(a)、図9(c)に示す実装位置の不揮発性メモリチップ131cについて、熱影響度合いがH=H131cであること場合のずれ量はΔV=−ΔV131Cであると求められる。
すなわち、図10(a)、図10(b)に例示するようなモデル関数を用いることで、所定の温度T(例えば、T=T2)において、コントローラチップ102からの熱影響度合いに応じ、共通の補正関数FA(T)からの適切な補正値のずれ量を求めることができる。
メモリシステム1の動作は、図11に示すように、次の点で実施形態と異なる。図11は、実施形態の変形例にかかるメモリシステム1の動作を示すフローチャートである。
メモリコントローラ2は、不揮発性メモリチップ131で消去処理が行われるべきタイミングになると、実装位置情報を取得するために、実装位置取得コマンドを不揮発性メモリチップ131に発行する(S41)。不揮発性メモリチップ131は、実装位置取得コマンドを受けると、例えばセルアレイCAに設けられる管理情報格納領域から実装位置情報を読み出し(S31)、実装位置情報をメモリコントローラ2へ返す。メモリコントローラ2は、実装位置情報を取得すると(S41)、不揮発性メモリチップ131の実装位置を特定する。実装位置は3次元的に特定されても良い。メモリコントローラ2は、特定された実装位置に応じて、不揮発性メモリチップ131のコントローラチップ102からの熱影響度合いを求め(S42)、モデル関数を用いて、補正関数の補正パラメータの更新量を計算する更新量計算処理を行う(S43)。
例えば、モデル関数が図10(a)に示すような関数である場合、更新量計算処理(S43)は、図12(a)に示すように行われ得る。図12(a)は、実施形態の変形例における更新量計算処理(S43)を示すフローチャートである。すなわち、メモリコントローラ2は、S42で求めた熱影響度合いHと閾値Hthとを比較する。メモリコントローラ2は、熱影響度合いHが閾値Hthを超えていれば(S51でYes)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S42で求めた熱影響度合いがH=H131bであれば、熱影響度合いH=H131bをモデル関数に適用してずれ量ΔV=ΔV131bを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を降圧側へ補正するための補正パラメータの更新量を求める(S22)。また、メモリコントローラ2は、S42で求めた熱影響度合いHが閾値Hth以下であれば(S21でNo)、適切な補正値の共通の補正関数FA(T)からのずれ量がゼロであり、補正パラメータの更新が不要であるとして、S22をスキップする。
あるいは、モデル関数が図10(b)に示すような関数である場合、更新量計算処理(S43)は、図12(b)に示すように行われ得る。図12(b)は、更新量計算処理(S43)を示すフローチャートである。すなわち、メモリコントローラ2は、S42で求めた熱影響度合いHと閾値Hthとを比較する。
メモリコントローラ2は、熱影響度合いHが閾値Hthを超えていれば(S21でYes)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S42で求めた熱影響度合いがH=H131bであれば、熱影響度合いH=H131bをモデル関数に適用してずれ量ΔV=ΔV131bを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を降圧側へ補正するための補正パラメータの更新量を求める(S22)。
メモリコントローラ2は、S42で求めた熱影響度合いHが閾値Hth以下であれば(S21でNo)、モデル関数を用いてずれ量を求める。例えば、メモリコントローラ2は、S42で求めた熱影響度合いがH=H131cであれば、熱影響度合いH=H131cをモデル関数に適用してずれ量ΔV=−ΔV131cを求める。メモリコントローラ2は、モデル関数を用いて求めたずれ量に応じて、消去電圧を昇圧側へ補正するための補正パラメータの更新量を求める(S23)。
図11に戻って、メモリコントローラ2は、更新量計算処理(S43)で求めた補正パラメータの更新量を不揮発性メモリチップ31へ供給する。不揮発性メモリチップ31は、補正パラメータの更新量を受信すると(S5でYes)、受信された更新量で補正パラメータを更新し(S6)、温度センサ32によりチップ温度を検知する(S34)。不揮発性メモリチップ31は、S34で検知された温度をS6で更新された補正パラメータで規定される補正関数に適用して消去電圧を補正し(S7)、補正が完了した旨の通知をメモリコントローラ2へ送る。これ以降は、実施形態と同様である。
このように、実装位置に応じてコントローラからの熱影響度合いを見積もり、その熱影響度合いを補償することによっても、各不揮発性メモリチップの補正パラメータを適切に更新できる。これにより、各不揮発性メモリチップの補正パラメータがその熱ストレスに応じた適切な値に更新され消去電圧が適正な値に補正され得るので、不揮発性メモリチップ間で消去動作のばらつきを低減できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 メモリコントローラ、31,31a〜31c,131,131b,131c 不揮発性メモリチップ、32 温度センサ。
Claims (7)
- 温度と補正パラメータとに応じて消去電圧を補正可能である不揮発性メモリチップと、
前記不揮発性メモリチップの温度に関連する温度情報に応じて、前記不揮発性メモリチップの補正パラメータを更新するコントローラと、
を備え、
前記不揮発性メモリチップは、温度と前記更新された補正パラメータとに応じて消去電圧を補正する
メモリシステム。 - 前記不揮発性メモリチップは、前記補正パラメータで規定される第1の関数に基づいて前記消去電圧を補正可能であり、
前記コントローラは、前記温度情報を第2の関数に適用して前記第1の関数からの適正な消去電圧値のずれ量を求め、求められたずれ量に応じて、前記補正パラメータを更新し、
前記不揮発性メモリチップは、前記更新された補正パラメータで規定される第1の関数に温度を適用して前記消去電圧を補正する
請求項1に記載のメモリシステム。 - 前記不揮発性メモリチップは、温度を検知可能であり、
前記コントローラは、第1のタイミングに前記不揮発性メモリチップから取得した温度と前記第1のタイミングより前の第2のタイミングに前記不揮発性メモリチップから取得した温度との差分を求め、前記差分を前記第2の関数に適用して前記第1の関数からの適正な消去電圧値のずれ量を求め、求められたずれ量に応じて、前記補正パラメータを更新し、
前記不揮発性メモリチップは、温度を検知し、前記更新された補正パラメータで規定される前記第1の関数に検知された温度を適用して前記消去電圧を補正する
請求項2に記載のメモリシステム。 - 前記不揮発性メモリチップが実装される基板をさらに備え、
前記不揮発性メモリチップは、温度を検知可能であり、
前記コントローラは、前記不揮発性メモリチップの実装位置に関する情報を取得し、実装位置に関する情報に応じて前記不揮発性メモリチップの前記コントローラからの熱影響の度合いを求め、前記度合いを前記温度情報として前記第2の関数に適用して前記第1の関数からの適正な消去電圧値のずれ量を求め、求められたずれ量に応じて、前記補正パラメータを更新し、
前記不揮発性メモリチップは、温度を検知し、前記更新された補正パラメータで規定される前記第1の関数に検知された温度を適用して前記消去電圧を補正する
請求項2に記載のメモリシステム。 - 複数の前記不揮発性メモリチップを備え、
前記コントローラは、前記補正パラメータの更新を前記不揮発性メモリチップの単位で行う
請求項1から4のいずれか1項に記載のメモリシステム。 - 前記不揮発性メモリチップは、それぞれが複数のメモリセルを含む複数の記憶領域を有し、
前記コントローラは、前記補正パラメータの更新を前記記憶領域の単位で行う
請求項1から4のいずれか1項に記載のメモリシステム。 - 温度に応じて消去電圧を決定する不揮発性メモリチップと、
前記不揮発性メモリチップの温度に関連する温度情報に応じて、前記不揮発性メモリチップが前記消去電圧を決定する際のパラメータを更新するコントローラと、
を備える
メモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020016264A JP2021125275A (ja) | 2020-02-03 | 2020-02-03 | メモリシステム |
US17/038,721 US11410735B2 (en) | 2020-02-03 | 2020-09-30 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020016264A JP2021125275A (ja) | 2020-02-03 | 2020-02-03 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021125275A true JP2021125275A (ja) | 2021-08-30 |
Family
ID=77061815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020016264A Pending JP2021125275A (ja) | 2020-02-03 | 2020-02-03 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11410735B2 (ja) |
JP (1) | JP2021125275A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230057785A (ko) * | 2021-10-22 | 2023-05-02 | 삼성전자주식회사 | 비휘발성 메모리 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6381480B2 (ja) | 2015-05-12 | 2018-08-29 | 東芝メモリ株式会社 | 半導体装置 |
KR102302433B1 (ko) | 2015-06-10 | 2021-09-16 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 그것의 소거 방법 |
US10115458B2 (en) * | 2016-03-30 | 2018-10-30 | Toshiba Memory Corporation | Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof |
US9922714B1 (en) * | 2017-04-10 | 2018-03-20 | Sandisk Technologies Llc | Temperature dependent erase in non-volatile storage |
-
2020
- 2020-02-03 JP JP2020016264A patent/JP2021125275A/ja active Pending
- 2020-09-30 US US17/038,721 patent/US11410735B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11410735B2 (en) | 2022-08-09 |
US20210241833A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9627077B2 (en) | Semiconductor memory device storing management data redundantly in different pages | |
US10720219B2 (en) | Semiconductor memory device and memory system that performs a normal read operation or a special read operation including a tracking read followed by a shift read | |
US10496474B2 (en) | Semiconductor storage device and memory system having the same | |
US9025385B2 (en) | Voltage generation and adjustment in a memory device | |
JP6674361B2 (ja) | メモリシステム | |
US11231874B2 (en) | Memory system and storage system | |
JP5911834B2 (ja) | 不揮発性半導体記憶装置 | |
US20150279472A1 (en) | Temperature compensation via modulation of bit line voltage during sensing | |
US10997049B2 (en) | Memory system | |
US11250926B2 (en) | Positive feedback and parallel searching enhanced optimal read method for non-volatile memory | |
US20190088314A1 (en) | Memory system and control method of memory system | |
US10482973B2 (en) | Memory devices including a word line defect detection circuit | |
KR102375751B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
TW201535399A (zh) | 半導體記憶裝置及nand型快閃記憶體的程式化方法 | |
KR20180125807A (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
US11004504B2 (en) | Controller, memory system including the controller, and operating method of the memory system | |
TWI677872B (zh) | 記憶體系統及記憶體系統之控制方法 | |
JP2021125275A (ja) | メモリシステム | |
JP2021039810A (ja) | メモリシステム | |
KR101651573B1 (ko) | 반도체 기억장치 및 그 프로그래밍 방법 | |
JP7087013B2 (ja) | メモリシステムおよび不揮発性メモリの制御方法 | |
US11486767B2 (en) | Semiconductor storage device, method of controlling semiconductor storage device, and memory system | |
JP2019160379A (ja) | 半導体記憶装置及びメモリシステム | |
US20240096423A1 (en) | Memory system | |
US20220148664A1 (en) | Controller and method of operating the same |