(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023141376
(43)【公開日】2023-10-05
(54)【発明の名称】メモリシステム及び不揮発性メモリ
(51)【国際特許分類】
G11C 16/34 20060101AFI20230928BHJP
G11C 16/04 20060101ALI20230928BHJP
G06F 11/10 20060101ALI20230928BHJP
【FI】
G11C16/34 120
G11C16/04 170
G06F11/10 672
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022047668
(22)【出願日】2022-03-24
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100176599
【弁理士】
【氏名又は名称】高橋 拓也
(74)【代理人】
【識別番号】100205095
【弁理士】
【氏名又は名称】小林 啓一
(74)【代理人】
【識別番号】100208775
【弁理士】
【氏名又は名称】栗田 雅章
(72)【発明者】
【氏名】岩井 克彦
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA19
5B225CA28
5B225DA03
5B225DB02
5B225DB07
5B225DE08
5B225DE14
5B225EA05
5B225FA01
(57)【要約】
【課題】本発明の一実施形態では、保持するデータの信頼性を向上させ、動作時間を短くすることができるメモリシステム及び不揮発性メモリを提供する。
【解決手段】本実施形態に係るメモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。不揮発性メモリは、複数のワード線と、複数のビット線と、複数の記憶素子とを有する。メモリコントローラは、前記複数の記憶素子が保持するデータの誤りの検出及び訂正を行うECC回路を有し、同一のワード線に接続されるページ単位の複数の記憶素子が保持するデータを第1読み出し電圧を用いて読み出して第1データを取得し、前記第1データを前記ECC回路により訂正可能な場合に前記第1データを訂正した第2データを取得し、前記ページ単位の複数の記憶素子に前記第2データに基づいて書き込みを行う。
【選択図】
図7
【特許請求の範囲】
【請求項1】
複数のワード線と、複数のビット線と、複数の記憶素子とを有する不揮発性メモリと、
前記複数の記憶素子が保持するデータの誤りの検出及び訂正を行うECC回路を有し、同一のワード線に接続されるページ単位の複数の記憶素子が保持するデータを第1読み出し電圧を用いて読み出して第1データを取得し、前記第1データを前記ECC回路により訂正可能な場合に前記第1データを訂正した第2データを取得し、前記ページ単位の複数の記憶素子に前記第2データに基づいて書き込みを行うメモリコントローラと、
を備えるメモリシステム。
【請求項2】
前記メモリコントローラは、前記ページ単位の複数の記憶素子に、第1書き込み電圧を印加して前記第2データを書き込む、
請求項1に記載のメモリシステム。
【請求項3】
前記メモリコントローラは、前記第1書き込み電圧を一回印加する、
請求項2に記載のメモリシステム。
【請求項4】
前記メモリコントローラは、前記第1書き込み電圧を印加した後にベリファイ動作を行わない、
請求項2に記載のメモリシステム。
【請求項5】
前記メモリコントローラは、
前記第1データと前記第2データの否定排他的論理和を取り、第3データを取得し、
前記ページ単位の複数の記憶素子に前記第3データを書き込む、
請求項1に記載のメモリシステム。
【請求項6】
前記ページ単位の複数の記憶素子は、前記第1データと前記第2データとが異なる第1記憶素子と、前記第1データと前記第2データとが同じ第2記憶素子と、を含み、
前記メモリコントローラは、前記第3データを書き込む際に、
前記第1記憶素子に、前記第1書き込み電圧を印加して書き込みを行い、
前記第2記憶素子に、前記第1書き込み電圧より高い第2書き込み電圧を印加して書き込みを禁止する、
請求項5に記載のメモリシステム。
【請求項7】
前記メモリコントローラは、
前記第1データと前記第2データの論理演算を行い第3データを取得し、
前記第3データに基づいて入力データを取得し、
前記ページ単位の複数の記憶素子に前記入力データを書き込む、
請求項1に記載のメモリシステム。
【請求項8】
前記メモリコントローラは、
前記第1データを前記ECC回路により訂正可能でない場合、
前記ページ単位の複数の記憶素子が保持するデータを前記第1読み出し電圧より低い第2読み出し電圧を用いて読み出して第4データを取得し、
前記第1データと前記第4データの否定排他的論理和をとり第5データを取得し、
前記ページ単位の記憶素子に前記第5データを書き込む、
請求項1に記載のメモリシステム。
【請求項9】
前記ページ単位の複数の記憶素子は、前記第1データと前記第4データとが異なる第3記憶素子と、前記第1データと前記第4データとが同じ第4記憶素子と、を含み、
前記メモリコントローラは、
前記第5データを書き込む際に、
前記第3記憶素子に、第1書き込み電圧を印加して書き込みを行い、
前記第4記憶素子に、前記第1書き込み電圧より高い第2書き込み電圧を印加し書き込みを禁止する、
請求項8に記載のメモリシステム。
【請求項10】
前記メモリコントローラは、
前記第1データを前記ECC回路により訂正できない場合、
前記ページ単位の複数の記憶素子が保持するデータを前記第1読み出し電圧より低い第2読み出し電圧を用いて読み出して第4データを取得し、
前記第1データと前記第4データの論理演算を行い第5データを取得し、
前記第5データに基づいて入力データを取得し、
前記ページ単位の記憶素子に前記入力データを書き込む、
請求項1に記載のメモリシステム。
【請求項11】
複数のワード線と、複数のビット線と、複数の記憶素子を有するメモリセルアレイと、
同一のワード線に接続されるページ単位の複数の記憶素子が保持するデータを第1読み出し電圧を用いて読み出して第1データを取得し、前記ページ単位の複数の記憶素子が保持するデータを第2読み出し電圧を用いて読み出して第4データを取得し、前記第1データと前記第4データの論理演算を行い第5データを取得し、前記ページ単位の複数の記憶素子に前記第5データに基づいて書き込みを行うシーケンサと、
を備える不揮発性メモリ。
【請求項12】
前記シーケンサは、前記第1データと前記第4データの否定排他的論理和をとり前記第5データを取得し、前記ページ単位の複数の記憶素子に前記第5データを書き込む請求項11に記載の不揮発性メモリ。
【請求項13】
前記第1データを記憶する第1データラッチと、
前記第4データを記憶する第2データラッチと、
をさらに備える、
請求項12に記載の不揮発性メモリ。
【請求項14】
前記ページ単位の複数の記憶素子は、前記第1データと前記第4データとが異なる第3記憶素子と、前記第1データと前記第4データとが同じ第4記憶素子と、を含み、
前記シーケンサは、
前記第5データを書き込む際に、
前記第3記憶素子に第1書き込み電圧を印加して書き込みを行い、
前記第4記憶素子に前記第1書き込み電圧より高い第2書き込み電圧を印加し書き込みを禁止する、
請求項10に記載の不揮発性メモリ。
【請求項15】
前記シーケンサは、前記第1データと前記第4データの否定排他的論理和をとり前記第5データを取得し、前記第5データに基づいて入力データを取得し、前記ページ単位の複数の記憶素子に前記有力データを書き込む請求項11に記載の不揮発性メモリ。
【請求項16】
前記第1データを記憶する第1データラッチと、
前記第4データを記憶する第2データラッチと、
前記第5データを記憶する第3データラッチと、
をさらに備える、
請求項15に記載の不揮発性メモリ。
【請求項17】
請求11乃至請求項16のいずれか1項に記載の不揮発性メモリと、
前記不揮発性メモリの動作を制御するメモリコントローラと、
を備えるメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、メモリシステム及び不揮発メモリに関する。
【背景技術】
【0002】
不揮発性メモリと、外部のホストからの制御信号に基づいて不揮発性メモリの動作を制御するメモリコントローラとを含むメモリシステムが知られている。また、メモリセルアレイと、メモリセルアレイの動作を制御するシーケンサとを含む不揮発性メモリが知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の一実施形態では、保持するデータの信頼性を向上させ、動作時間を短くすることができるメモリシステム及び不揮発性メモリを提供する。
【課題を解決するための手段】
【0005】
本実施形態に係るメモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。不揮発性メモリは、複数のワード線と、複数のビット線と、複数の記憶素子とを有する。メモリコントローラは、前記複数の記憶素子が保持するデータの誤りの検出及び訂正を行うECC回路を有し、同一のワード線に接続されるページ単位の複数の記憶素子が保持するデータを第1読み出し電圧を用いて読み出して第1データを取得し、前記第1データを前記ECC回路により訂正可能な場合に前記第1データを訂正した第2データを取得し、前記ページ単位の複数の記憶素子に前記第2データに基づいて書き込みを行う。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態に係るメモリシステムの構成の一例を表すブロック図。
【
図2】第1実施形態に係る不揮発性メモリの構成の一例を表すブロック図。
【
図3】第1実施形態に係るメモリセルアレイの構成の一例を表す回路図。
【
図4】第1実施形態に係るセンスアンプモジュールの構成の一例を表すブロック図。
【
図5】第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図。
【
図6】第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図。
【
図7】第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図。
【
図8】第1実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図9】比較例に係るメモリセルアレイを模式的に表した図。
【
図10】第2実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図11】変形例に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図12】第3実施形態に係る不揮発性メモリの閾値電圧分布の模式図。
【
図13】第3実施形態に係る不揮発性メモリの閾値電圧分布の模式図。
【
図14】第3実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図15】第4実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図16】第5実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【
図17】第6実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャート。
【発明を実施するための形態】
【0007】
以下、発明を実施するための実施形態について、図面を参照して説明する。なお、図面は模式的なものであり、例えば厚さと平面寸法との関係、各層の厚さの比率等は現実のものとは異なる場合がある。また、実施形態において、実質的に同一の構成要素には同一の符号を付し、説明を省略する。
【0008】
(第1実施形態)
図1は、第1実施形態に係るメモリシステムの構成の一例を表すブロック図である。
図1に示すように、メモリシステム1は、不揮発性メモリ100及びメモリコントローラ200を含む。メモリシステム1は、ホスト2により制御される。
【0009】
不揮発性メモリ100は、例えば、NAND型フラッシュメモリである。不揮発性メモリ100の構成については、後述で
図2乃至
図4を用いて説明する。
【0010】
尚、不揮発性メモリ100は、NAND型フラッシュメモリに限らず、NOR型フラッシュメモリ、MRAM(Magneto-resistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)であっても良い。
【0011】
メモリコントローラ200は、ホスト2から命令を受け取り、受け取った命令に基づいて不揮発性メモリ100の動作を制御する。メモリコントローラ200は、例えば、ホストインターフェース回路(ホストI/F)210、CPU(Central Processing Unit)220、ECC(Error Checking and Correcting)回路230、RAM(Random Access Memory)240、ROM(Read Only Memory)250、及びメモリインタフェース回路(メモリI/F)260を含む。メモリコントローラ200は、例えば、SoC(System on a Chip)として構成されても良い。
【0012】
ホストI/F210は、ホストバスを介してホスト2に接続される。ホストI/F210は、メモリコントローラ200とホスト2との間の通信を司る。メモリI/F260は、メモリコントローラ200と不揮発性メモリ100との間で制御信号を送受信する。メモリI/F260は、メモリバスを介して不揮発性メモリ100に接続される。メモリバスは、例えばNANDインターフェースに準拠した信号の送受信を行うバスである。
【0013】
ROM250は、例えば、ファームウェアを記憶する。RAM240は、例えば、RAM240から読み出されたファームウェアを保持可能である。RAM240は、CPU220の作業領域として使用される。RAM240は、ホスト2から受信したデータや、不揮発性メモリ100から読み出されたデータを一時的に保持し、バッファ及びキャッシュとして機能する。
【0014】
CPU220は、メモリシステム1全体の動作を制御する。CPU220は、例えば、ROM250からRAM240に読み出したファームウェアを実行する。
【0015】
ECC回路230は、データの誤りの検出及び訂正を行う。ECC回路230は、例えば、データの書き込み時には、書き込みデータに対してエラー訂正符合を生成する。そして、生成したエラー訂正符合を書き込みデータに付加して、メモリI/F260に送る。
また、ECC回路230は、例えば、データの読み出し時には、読み出しデータに対して読み出しデータに含まれるエラー訂正符合を用いてデータの誤り検出及び誤り訂正を行う。ECC回路230は、メモリI/F260内に設けられていても良い。
【0016】
不揮発性メモリ100の構成について、
図2乃至
図4を用いて説明する。
図2は、第1実施形態に係る不揮発性メモリの構成の一例を表すブロック図である。
図3は、第1実施形態に係るメモリセルアレイの構成の一例を表す回路図である。
図4は、第1実施形態に係るセンスアンプモジュールの構成の一例を表すブロック図である。
【0017】
図2に示すように、不揮発性メモリ100は、入出力回路110、ロジックコントローラ120、レジスタセット130、シーケンサ140、電圧生成回路150、ロウデコーダ160、センスアンプモジュール170、及びメモリセルアレイ180を含む。
【0018】
入出力回路110は、メモリコントローラ200との間で信号を送受信する。信号は、例えば、データ、ステータス、アドレス、またはコマンドを含む。また、入出力回路110は、センスアンプモジュール170との間でデータを送受信する。
【0019】
ロジックコントローラ120は、メモリコントローラ200から受信した制御信号に基づいて、入出力回路110及びシーケンサ140を制御する。
【0020】
レジスタセット130は、例えば、ステータスレジスタ、アドレスレジスタ、及びコマンドレジスタを含む。ステータスレジスタはステータスを記憶する。アドレスレジスタはアドレスを記憶する。コマンドレジスタは、コマンドを記憶する。
【0021】
シーケンサ140は、コマンドレジスタに保持されるコマンドに基づいて、不揮発性メモリ100全体の動作を制御する。シーケンサ140は、ロウデコーダモジュール160、センスアンプモジュール170、及び電圧生成回路150を制御して、例えば、書き込み動作及び読み出し動作を実行する。
【0022】
電圧生成回路150は、シーケンサ140による制御に基づいて電圧を生成する。生成された電圧は、ロウデコーダ160、センスアンプモジュール170、及びメモリセルアレイ180に供給される。
図3に示すように、電圧生成回路150は、例えば、書き込み動作、読み出し動作、及び消去動作でワード線WL0~WL7の中の動作対象、ビット線BL0~BLkの中の動作対象、及びソース線SLに印加する電圧を生成する。電圧生成回路150は、生成したワード線に印加する電圧をロウデコーダ160に供給する。電圧生成回路150は、生成したビット線に印加する電圧をセンスアンプモジュール170に供給する。電圧生成回路150は、生成したソース線SLに印加する電圧をソース線SLに供給する。
【0023】
メモリセルアレイ180は、複数のブロックBLKを有する。ブロックBLKは、例えばデータの消去単位となる。
図3に示すように、ブロックBLKは、ビット線BL0~BLk及びワード線WL0~WL7に関連付けられた複数の記憶素子を含む。本実施形態において記憶素子は、メモリセルトランジスタMT00~MT70である。
【0024】
ブロックBLKは、複数のNANDストリングNSを含む。NANDストリングNSは、ビット線BL0~BLk(kは自然数)のうち対応するビット線に対応付けられる。NANDストリングNSは、例えばメモリセルトランジスタMT00~MT70ならびに選択トランジスタST1及びST2を含む。メモリセルトランジスタMT00~MT70、MT0k~MT7kは、制御ゲート及び電荷蓄積層を含んでおり、データを不揮発に記憶する。選択トランジスタST1及びST2の各々は、動作時における、選択トランジスタST1及びST2を含むNANDストリングNSの選択に使用される。
【0025】
また、ブロックBLKは、複数のページPを含む。ページPは、同一のワード線に共通して接続される複数のメモリセルトランジスタを含み、データの書き込み単位及びデータの読み出し単位として使用される。つまり、同一のワード線に共通して接続される複数のメモリセルトランジスタをデータの書き込み単位及びデータの読み出し単位とし、ページ単位でデータの書き込み及び読み出しを行う。例えば、ワード線WL5に接続される複数のメモリセルトランジスタMT50~MT5kをページ単位とし、複数のメモリセルトランジスタMT50~MT5kが保持するデータの読み出しを行う。
【0026】
ロウデコーダ160は、アドレスレジスタからロウアドレスを受け取り、受け取ったロウアドレスをデコードする。ロウデコーダモジュール160は、デコードの結果に基づいて、動作を実行する対象のブロックBLKを選択する。ロウデコーダモジュール160は、選択したブロックBLKに、電圧生成回路150から供給される電圧を転送可能である。
【0027】
センスアンプモジュール170は、アドレスレジスタからカラムアドレスを受け取り、受け取ったカラムアドレスをデコードする。センスアンプモジュール170は、デコードの結果に基づいて、入出力回路110とメモリセルアレイ180との間でのデータの転送動作を実行する。
【0028】
センスアンプモジュール170は、
図4に示すように、複数のビット線に対応する複数のセンスアンプユニットSAUを備える。センスアンプユニットSAUは、ビット線に接続されたセンスアンプSAと、データラッチADL、BDL、SDL、XDLと、論理回路171とを含む。センスアンプSA、データラッチADL、BDL、SDL、XDL、及び論理回路171はバスによって接続されている。
【0029】
データラッチADL、BDL、SDL、XDLには、センスアンプSA中のデータラッチに含まれるデータが適宜転送される。論理回路171は、例えば、データラッチADL、BDL、SDL、XDL中のデータに対して論理演算を行い、メモリセルトランジスタに記憶されていたデータを算出する。また、データラッチXDLは、入出力回路110と接続している。また、データラッチADL、BDL、SDL、XDLは、メモリセルトランジスタに書き込まれるデータ又はメモリセルトランジスタから読み出されたデータが記憶される。
【0030】
本実施形態に係る不揮発性メモリ100において、リフレッシュプログラム(後述で
図7及び
図8を用いて説明する)が行われる前に生じるデータリテンションについて、
図5及び
図6を用いて説明する。
図5は、第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図である。
図6は、第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図である。
【0031】
メモリシステム1は、例えば、いくつかの動作方式を使用することができる。本実施形態において、動作方式として、MLC(Multi-Level Cell)方式を用いた場合の閾値電圧分布を説明する。
【0032】
図5に示すように、MLC方式が用いられた場合、複数のメモリセルトランジスタの閾値電圧は4個の閾値電圧分布を形成する。この4個の閾値電圧分布は、例えば閾値電圧の低い方から順に、それぞれ‘‘Er’’状態、‘‘A’’状態、‘‘B’’状態、‘‘C’’状態と称される。MLC方式において‘‘Er’’状態~‘‘C’’状態のそれぞれの閾値電圧分布には、それぞれ互いに異なる2ビットデータが割り当てられる。例えば、‘‘Er’’状態には11が割り当てられる。‘‘A’’状態には10が割り当てられる。‘‘B’’状態には00が割り当てられる。‘‘C’’状態には01が割り当てられる。
【0033】
また、隣り合う閾値電圧分布の間にそれぞれ読み出し電圧を設定できる。具体的には、‘‘Er’’状態における最大の閾値電圧と、‘‘A’’状態における最小の閾値電圧との間に、第1読み出し電圧V1aが設定できる。同様に、‘‘A’’状態及び‘‘B’’状態間に第1読み出し電圧V1bを設定できる。‘‘B’’状態及び‘‘C’’状態間に第1読み出し電圧V1cを設定できる。第1読出し電圧V1a、V1b、V1cを区別しない場合、単に、第1読み出し電圧V1と記載する。第1読み出し電圧V1は、例えば、不揮発性メモリ100の出荷時にあらかじめ設定された閾値電圧である。また、第1読み出し電圧V1を用いて、書き込み直後のデータを正しく読み出すことが可能である。
【0034】
本実施形態において、データリテンションは、例えば、時間経過、温度変化、及び衝撃によってメモリセルトランジスタに含まれる電荷蓄積層が保持している電荷を消失してしまうことである。
図6の点線に示すように、データリテンションが生じると、メモリセルトランジスタの閾値電圧が変化してしまう可能性がある。閾値電圧が変化してしまうと、データを読み出す際に、書き込んだデータではないデータを示す。本実施形態において、書き込んだデータを第2データと称する。なお、データリテンションの影響を受けると、メモリセルトランジスタの閾値電圧は低くなる。
【0035】
第2データと異なるデータを示したメモリセルトランジスタは、ECC回路230によって誤りとして検出される。例えば、データリテンションの影響が小さい場合は、第1読み出し電圧V1で読み出す際に、第2データではないデータを示すメモリセルトランジスタが少ない。そのため、ECC回路230でデータの誤りを訂正し、第2データを得ることができる。一方で、データリテンションの影響が大きい場合は、第1読み出し電圧V1で読み出す際に、第2データではないデータを示すメモリセルトランジスタが多い。そのため、ECC回路230でデータを訂正できず、第2データを得ることができない可能性がある。本実施形態に係る不揮発性メモリ100は、第2データを保持するために、データを再度書き直すリフレッシュプログラムを行う。
【0036】
また、メモリセルトランジスタの閾値電圧が変化しているかどうかは、データを読み出さなければ発見することができない。本実施形態に係る不揮発性メモリ100は、例えばブロックBLKごとにデータリテンションの影響を受けているか確認するとする。
【0037】
本実施形態に係る不揮発性メモリ100におけるリフレッシュプログラムについて、
図7及び
図8を用いて説明する。
図7は、第1実施形態に係る不揮発性メモリの閾値電圧分布の模式図である。
図8は、第1実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。本実施形態において、リフレッシュプログラムとは、閾値電圧が変化してしまったメモリセルトランジスタを書き込み動作直後の閾値電圧に戻すことを目的とする書き込み動作を意味する。
【0038】
図7は、本実施形態におけるリフレッシュプログラムが行われた後の閾値電圧分布を表す。
図7の点線は、
図6の点線で示したデータリテンションの影響を受けた電荷である。
本実施形態では、任意のページP全てのメモリセルトランジスタに対してリフレッシュプログラムを行う。すなわち、閾値電圧が変化したメモリセルトランジスタと、閾値電圧が変化していないメモリセルトランジスタと、両方に対してリフレッシュプログラムを行う。
【0039】
図8に示すように、まずCPU220は、任意のページPから第1読み出し電圧V1を用いて、データの読み出しを行う(S110)。第1読み出し電圧V1で読み出されたデータを第1データと称する。
【0040】
CPU220は、ECC回路230で第1データの誤り訂正可能か確認する(S130)。誤り訂正が可能でない場合(S130;NO)、リフレッシュプログラムを行わずに動作は完了する。誤り訂正可能な場合(S130;YES)、CPU220は、第1データに基づいて第2データを取得することができる(S150)。すなわち、第2データは、ECC回路230で第1データを訂正したデータである。
【0041】
CPU220は、S110で読み出しを行った任意のページPに第2データを書き込む。すなわち、第2データを入力値とするリフレッシュプログラムを実行する(S170)。第2データを入力値とすることは、任意のページP全てのメモリセルトランジスタを対象に、リフレッシュプログラムを実行することである。例えば、本実施形態のリフレッシュプログラムでは、任意のページP全てのメモリセルトランジスタに第1書き込み電圧を印加して書き込みを行う。また、第1書き込み電圧を印加する回数は一回である。なお、第1書き込み電圧を印加した後にベリファイ動作を行わない。
【0042】
尚、S170において、誤り訂正が可能でない場合(S130;NO)、リトライリードを行っても良い。リトライリードを行って得られた第2データに基づいてリフレッシュプログラムを行っても良い。
【0043】
また、S170において第2データを書き込む際に、第1書き込み電圧を印加するのは一回であるとした。しかし、異なる書き込み電圧を複数回に分けて印加して第2データを書き込んでも良い。また、ベリファイ動作は行わないとしたが、行っても良い。異なる書き込み電圧を複数回に分けて印加した場合は、書き込み電圧を印加する度にベリファイ動作を行っても良い。
【0044】
以上でリフレッシュプログラムが完了する。同じブロックBLKに含まれる他のページPに対しても同様に行う。
【0045】
(効果)
比較例として、ページPaの複数のメモリセルトランジスタの閾値電圧が変化していることが確認された場合にトラッキングリードを行う方法を取り上げて、
図9を用いて説明する。
図9は、比較例に係るメモリセルアレイを模式的に表した図である。比較例において、ブロックBLKaを対象としてデータリテンションの影響を受けているか確認する。
【0046】
ブロックBLKaのページPaの複数のメモリセルトランジスタにおいて閾値電圧が変化していることが確認された場合、リトライリードとして、トラッキングリードを行う。
トラッキングリードは、複数の読み出し電圧でデータを読み出し、最適な読み出し電圧を探索し、最適な読み出し電圧でデータを読み出す方法である。トラッキングリードにより、第2データの読み出しが可能となる。トラッキングリードは、読み出し動作を複数回行うため、動作の処理時間が長くなってしまう。
【0047】
また、トラッキングリードが行われた後に、ブロックBLKbのページPbに第2データをコピーする。これにより、データリテンションの影響をなくすことができる。一方で、ブロックBLKaのページ全てに対して行われるため、読み出し動作及び書き込み動作の処理時間が長くなってしまう。
【0048】
本実施形態によれば、閾値電圧が変化していることが確認された場合、リトライリードを行わずに第2データを保持することができる。そのため、本実施形態において、トラッキングリードを行わないため動作の処理時間が短い。つまり、メモリシステム1の動作の処理時間を短縮しつつ、不揮発性メモリ100の信頼性を向上させることができる。
【0049】
また、第1書き込み電圧を印加する回数は一回である。さらに、第1書き込み電圧を印加した後にベリファイ動作は行われない。したがって、メモリシステム1の動作の処理時間をより短くすることができる。
【0050】
(第2実施形態)
第2実施形態は、リフレッシュプログラムを行う対象が第1実施形態とは異なる。
【0051】
図10は、第2実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。本実施形態において、閾値電圧が変化したメモリセルトランジスタに対してリフレッシュプログラムを行う。すなわち、
図6の点線に示すメモリセルトランジスタがリフレッシュプログラムの対象となる。
【0052】
CPU220は、第1読み出し電圧V1で、任意のページPからデータの読み出しを行う(S110)と、読み出した第1データを、例えばRAM240に保持する(S220)。
【0053】
CPU220は、ECC回路230で第1データの誤り訂正が可能か確認する(S130)。誤り訂正可能でない場合(S130;NO)、リフレッシュプログラムを行わずに動作は完了する。誤り訂正可能な場合(S130;YES)、CPU220は、第1データに基づいて第2データを取得することができる(S150)。
【0054】
続いてCPU220は、第2データ及びS220で保持している第1データを用いて論理演算を行う。CPU220は、第1データと第2データの否定排他的論理和をとり、第3データを取得する(S260)。閾値電圧が変化したメモリセルトランジスタは、第1データと第2データとが異なる。閾値電圧が変化していないメモリセルトランジスタは、第1データと第2データとが同じである。そのため、CPU220は第1データ及び第2データの否定排他的論理和をとることで誤り箇所を表す第3データを取得することができる。なお、第1データと第2データとが異なるメモリセルトランジスタは、第1記憶素子の一例である。第1データと第2データとが同じであるメモリセルトランジスタは、第2記憶素子の一例である。
【0055】
尚、S160において、第1データと第2データとの否定排他的論理和をとって誤り箇所を表す第3データを取得したがこれに限定されない。例えば、‘‘Er’’状態には00、‘‘A’’状態には01、‘‘B’’状態には11、‘‘C’’状態には10が割り当てられている場合、第1データと第2データとの排他的論理和をとって誤り箇所を表すデータを取得しても良い。この場合、第1データと第2データとの排他的論理和を第3データとする。すなわち、第3データは、第1データと第2データとの論理演算によって取得されるデータである。
【0056】
CPU220は、S110で読み出した任意のページPにS260で得られた第3データを書き込む。すなわち、第3データを入力値とするリフレッシュプログラムを実行する(S270)。第3データを入力値とすることは、閾値電圧が変化したメモリセルトランジスタを対象にリフレッシュプログラムを実行することである。具体的には、閾値電圧が変化したメモリセルトランジスタのビット線に第1書き込み電圧を印加し、閾値電圧を戻す。一方で、閾値電圧が変化していないメモリセルトランジスタのビット線に第2書き込み電圧を印加する。第2書き込み電圧は、メモリセルトランジスタに書き込みが起こらない電圧である。すなわち、閾値電圧が変化していないメモリセルトランジスタに対して書き込みが禁止される。第2書き込み電圧は、第1書き込み電圧より高い電圧である。
【0057】
以上でリフレッシュプログラムが完了する。
【0058】
本実施形態によれば、第1実施形態と同様の効果を得ることができる。さらに、閾値電圧が変化していないメモリセルトランジスタに対して書き込みが行われないため、第1実施形態と比較してメモリセルトランジスタが受けるダメージを抑えることができる。
【0059】
(変形例)
図11は、変形例に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。S110からS150は、第2実施形態と同様であるため省略する。
【0060】
CPU220は、第2データ及びS220で保持している第1データを用いて論理演算を行う。CPU220は、第1データと第2データの論理演算を行い第3データを取得する(S255)。例えば、CPU220は、第1データと第2データの排他的論理和をとる。第3データにより、閾値電圧が変化したメモリセルトランジスタが判明する。なお、第3データによって閾値電圧が変化したメモリセルトランジスタがわかれば良く、論理演算は否定排他的論理和又は排他的論理和に限定されない。
【0061】
CPU220は、第3データを基に入力データを取得する(S265)。入力データは、第3データにより判明した閾値電圧が変化したメモリセルトランジスタに対して書き込みが行われるデータである。
【0062】
CPU220は、S110で読み出した任意のページPにS265で得られた入力データを書き込む。すなわち、CPU220は、入力データを入力値とするリフレッシュプログラムを実行する(S275)。以上でリフレッシュプログラムが完了する。
【0063】
(第3実施形態)
第3実施形態は、リフレッシュプログラムを行う対象が第1実施形態と異なる。
【0064】
図12は、第3実施形態に係る不揮発性メモリの閾値電圧分布の模式図である。
図13は、第3実施形態に係る不揮発性メモリの閾値電圧分布の模式図である。
【0065】
図12に示すように、‘‘Er’’状態における最大の閾値電圧と、‘‘A’’状態における最小の閾値電圧との間に、第1読み出し電圧V1aより低い第2読み出し電圧V2aが設定できる。‘‘A’’状態及び‘‘B’’状態間に第1読み出し電圧V1bより低い第2読み出し電圧V2bを設定できる。‘‘B’’状態及び‘‘C’’状態間に第1読み出し電圧V1cより低い第2読み出し電圧V2cを設定できる。第2読み出し電圧V2a、V2b、V2cを区別しない場合、単に、第2読み出し電圧V2と記載する。
【0066】
本実施形態において、
図12の点線で示される閾値が変化したメモリセルトランジスタのうち、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタがリフレッシュプログラムの対象となる。
図12に示された第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタを対象にリフレッシュプログラムを実行すると、
図13に示すような閾値電圧分布となる。
【0067】
図14は、第3実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。
【0068】
S110からS130は第2実施形態と同様である。ECC回路230で第1データの誤り訂正が可能な場合(S130;YES)、第1実施形態と同様にS150、S170を行う。尚、第2実施形態と同様にS150からS270を行っても良い。
【0069】
一方で、ECC回路230で第1データの誤り訂正可能でない場合(S130;NO)、CPU220は、S110で読み出した任意のページPから第2読み出し電圧V2を用いてデータの読み出しを行う(S350)。第2読み出し電圧V2で読み出されたデータを第4データと称する。
【0070】
続いてCPU220は、第4データ及びS220で保持している第1データを用いて論理演算を行う。CPU220は、第1データと第4データの否定排他的論理和を取り、第5データを取得する(S360)。第5データは、第1データと第4データの論理演算によって取得されるデータである。第1データと第4データとが異なるメモリセルトランジスタは、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタである。第1データと第4データとが同じメモリセルトランジスタは、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタ以外のメモリセルトランジスタである。なお、第1データと第4データとが異なるメモリセルトランジスタは、第3記憶素子の一例である。第1データと第4データとが同じメモリセルトランジスタは、第4記憶素子の一例である。
【0071】
CPU220は、S110で読み出した任意のページPにS360で得られた第5データを書き込む。すなわち、第5データを入力値とするリフレッシュプログラムを実行する(S370)。第5データを入力値とすることは、
図11の第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタを対象にリフレッシュプログラムを実行することである。具体的には、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタに第1書き込み電圧を印加し、閾値電圧を戻す。一方で、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタ以外のメモリセルトランジスタに第2書き込み電圧を印加する。これにより、第2データを保持することが可能となる。
【0072】
以上でリフレッシュプログラムが完了する。なお、CPU220は、第1データと第4データの論理演算を行い第5データを取得した後、第5データに基づいて入力データを取得し、S110で読み出した任意のページPに入力データを書き込んでも良い。
【0073】
本実施形態によれば、第1実施形態と同様の効果を得ることができる。また、閾値電圧が変化したメモリセルトランジスタが多く、誤り訂正ができない場合においても、リトライリードを行わずに第2データを保持することができる。すなわち、ECC回路230での誤り訂正の可否にかかわらず、メモリシステム1の動作の処理時間を短くしつつ、不揮発性メモリ100の信頼性を向上させることができる。
【0074】
(第4実施形態)
図15は、第4実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。第4実施形態は、ECC回路230で誤り訂正可能でない場合再び第1実施形態と同様の処理を行う点が第1実施形態と異なる。
【0075】
S110からS130までは第1実施形態と同様である。また、ECC回路230で第1データの誤り訂正が可能な場合(S130;YES)についてもS150からS170まで第1実施形態と同様である。
【0076】
ECC回路230で第1データの誤り訂正ができない場合(S130;NO)、CPU220は、S110で読み出された任意のページPから第2読み出し電圧V2を用いて読み出し、第4データを取得する(S410)。
【0077】
続いて、CPU220は、ECC回路230で第4データの誤り訂正が可能か確認する(S430)。誤り訂正可能でない場合(S430;NO)、リフレッシュプログラムを行わずに動作は完了する。誤り訂正が可能な場合(S430;YES)、CPU220は、第4データに基づいて第2データを取得することができる(S450)。すなわち、第2データは、第4データをECC回路230で訂正したデータである。
【0078】
CPU220は、S110で読み出した任意のページPに第2データを書き込む。すなわち、第2データを入力値とするリフレッシュプログラムを実行する(S270)。第2データを入力値とすることは、任意のページP全てのメモリセルトランジスタを対象に、リフレッシュプログラムを実行することである。例えば、本実施形態のリフレッシュプログラムでは、メモリセルトランジスタのビット線に第1書き込み電圧を印加して書き込みを行う。また、第1書き込み電圧を印加する回数は一回である。なお、第1書き込み電圧を印加した後にベリファイ動作は行われない。
【0079】
以上でリフレッシュプログラムが完了する。同じブロックBLKに含まれる他のデータに対しても同様に行う。
【0080】
本実施形態によれば、第1実施形態と同様の効果を得ることができる。
【0081】
(第5実施形態)
図16は、第5実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。第5実施形態は、ECC回路230で誤り訂正が可能でない場合再び第2実施形態と同様の処理を行う点が第2実施形態と異なる。
【0082】
S110からS130までは第2実施形態と同様である。また、ECC回路230で第1データの誤り訂正が可能な場合(S130;YES)についてもS150からS170まで第1実施形態と同様である。ECC回路230で第1データの誤り訂正できない場合(S130;NO)については、S410からS450までは第4実施形態と同様である。
【0083】
CPU220は、第2データ及びS220で保持している第1データを用いて論理演算を行う。CPU220は、第1データと第2データの否定排他的論理和をとり、第3データを取得する(S560)。閾値電圧が変化したメモリセルトランジスタは、第1データと第2データとが異なる。閾値電圧が変化していないメモリセルトランジスタは、第1データと第2データとが同じである。そのため、例えば、CPU220は第1データと第2データとの否定排他的論理和をとることで、誤り箇所を表す第3データを取得することができる。
【0084】
CPU220は、S110で読み出した任意のページPにS560で得られた第3データを書き込む。すなわち、CPU220は、第3データを入力値とするリフレッシュプログラムを実行する(S570)。第3データを入力値とすることは、閾値電圧が変化したメモリセルトランジスタを対象にリフレッシュプログラムを実行することである。具体的には、閾値電圧が変化したメモリセルトランジスタに第1書き込み電圧を印加し、閾値電圧を戻す。一方で、閾値電圧が変化していないメモリセルトランジスタに第2書き込み電圧を印加する。
【0085】
以上でリフレッシュプログラムが完了する。
【0086】
本実施形態によれば、第2実施形態と同様の効果を得ることができる。
【0087】
(第6実施形態)
図17は、第6実施形態に係る不揮発性メモリのリフレッシュプログラムのフローチャートである。第6実施形態は、不揮発性メモリ100内でリフレッシュプログラムが実行される点が第1実施形態と異なる。
【0088】
不揮発性メモリ100は、メモリコントローラ200からリフレッシュプログラムを命令するコマンドを受信する。不揮発性メモリ100は、リフレッシュプログラムを命令するコマンドを受信したことに応じて、リフレッシュプログラムを実行する。
【0089】
まず、シーケンサ140は、任意のページPから第1読み出し電圧V1を用いてデータの読み出しを行う(S610)。シーケンサ140は、読み出した第1データを、例えばデータラッチXDLに保持する(S620)。データラッチXDLは、第1データラッチの一例である。
【0090】
続いて、シーケンサ140は、S610で読み出した任意のページPから第2読み出し電圧V2を用いてデータの読み出しを行う(S630)。シーケンサ140は、読み出した第4データを、例えばデータラッチSDLに保持する(S640)。データラッチSDLは、第2データラッチの一例である。
【0091】
シーケンサ140は、データラッチXDLで保持している第1データ及びデータラッチSDLで保持している第4データを用いて第5データを取得する。シーケンサ140は、例えば、第1データ及び第4データの否定排他的論理和を取り、第5データを取得する(S650)。シーケンサ140は、得られた第5データを、例えば、データラッチXDLに保持する。すなわち、データラッチXDLに保持されているデータは、第1データから第5データに変わる。
【0092】
シーケンサ140は、S610で読み出した任意のページPにデータラッチXDLに保持されている第5データを書き込む。すなわち、第5データを入力値とするリフレッシュプログラムを実行する(S660)。第5データを入力値とすることは、
図11の第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタを対象にリフレッシュプログラムを実行することである。具体的には、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタに第1書き込み電圧を印加し、閾値電圧を戻す。一方で、第1読み出し電圧V1と第2読み出し電圧V2との間に示されるメモリセルトランジスタ以外のメモリセルトランジスタに第2書き込み電圧を印加する。これにより、第2データを保持することが可能となる。
【0093】
以上でリフレッシュプログラムが完了する。なお、シーケンサ140は、第1データと第4データの論理演算を行い第5データを取得した後、第5データに基づいて入力データを取得し、S610で読み出した任意のページPに入力データを書き込んでも良い。この場合、例えば、シーケンサ140は、データラッチADLに第5データを保持する。シーケンサ140は、データラッチADLに保持された第5データに基づいて入力データを取得し、入力データをデータラッチXDLに保持する。データラッチADLは、第3データラッチの一例である。
【0094】
(効果)
本実施形態によれば、第1実施形態と同様の効果を得ることができる。また、本実施形態は不揮発性メモリ100内でリフレッシュプログラムを実行することができるため、メモリコントローラ200に第1データ及び第4データを送信する必要がない。第5データをメモリコントローラ200から不揮発性メモリ100に送信する必要もない。さらに、ECC回路230にデータを通さないため、データの誤り検出や訂正を行わずに済む。つまり、第1実施形態と比較して、より動作時間を短くすることができる。
【0095】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0096】
1・・・メモリシステム、2・・・ホスト、100・・・不揮発性メモリ、110・・・入出力回路、120・・・ロジックコントローラ、130・・・レジスタセット、140・・・シーケンサ、150・・・電圧生成回路、160・・・ロウデコーダ、170・・・センスアンプモジュール、171・・・論理回路、180・・・メモリセルアレイ、200・・・メモリコントローラ、210・・・ホストI/F、220・・・CPU、230・・・ECC回路、240・・・RAM、250・・・ROM、260・・・メモリI/F、WL0~WL7・・・ワード線、BL0~BLk・・・ビット線、MT00~MT70、MT0k~MT7k・・・メモリセルトランジスタ(記憶素子)、BLK・・・ブロック、P、Pa、Pb・・・ページ、NS・・・NANDストリング、ADL、BDL、SDL、XDL・・・データラッチ。