(57)【要約】【課題】一つの実施形態は、メモリセルにおけるデータリテンションを向上できる半導体記憶装置を提供することを目的とする。【解決手段】一つの実施形態によれば、不揮発性メモリとコントローラとを有する半導体記憶装置が提供される。不揮発性メモリは、複数のメモリセルを有する。コントローラは、第１のメモリセルが弱い書き込み状態にある場合、予備書き込み処理を行い、本書き込み処理を行う。弱い書き込み状態は、適正なデータの書き込まれた状態及び不適正なデータの書き込まれた状態の間の書き込み状態である。予備書き込み処理は、第１のメモリセルに適正なデータの逆データを書き込む処理である。本書き込み処理は、第１のメモリセルに適正なデータを書き込む処理である。予備書き込み処理の条件は、本書き込み処理の条件と異なる。【選択図】図６
2019050070.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを有する不揮発性メモリと、
第１のメモリセルが適正なデータの書き込まれた状態及び不適正なデータの書き込まれた状態の間の弱い書き込み状態にある場合、前記第１のメモリセルに前記適正なデータの逆データを書き込む予備書き込み処理を行い、前記第１のメモリセルに前記適正なデータを書き込む本書き込み処理を行うコントローラと、
を備え、
前記予備書き込み処理の条件は、前記本書き込み処理の条件と異なる
半導体記憶装置。
【請求項２】
前記予備書き込み処理及び前記本書き込み処理では、それぞれ、書き込み動作とベリファイ動作とが交互に繰り返され、
前記予備書き込み処理における書き込み動作及びベリファイ動作の繰り返し回数は、前記本書き込み処理における書き込み動作及びベリファイ動作の繰り返し回数より少ない
請求項１に記載の半導体記憶装置。
【請求項３】
前記予備書き込み処理及び前記本書き込み処理では、それぞれ、書き込み動作とベリファイ動作とが交互に繰り返され、
前記予備書き込み処理でベリファイ動作に用いるベリファイ電圧は、前記本書き込み処理でベリファイ動作に用いるベリファイ電圧より前記メモリセルの閾値分布の境界に対応した電圧に近い
請求項１に記載の半導体記憶装置。
【請求項４】
前記予備書き込み処理では、書き込み動作を行いベリファイ動作を行わず、
前記本書き込み処理では、書き込み動作とベリファイ動作とが交互に繰り返される
請求項１に記載の半導体記憶装置。
【請求項５】
前記コントローラは、前記本書き込み処理において、前記第１のメモリセルに前記適正なデータを書き込むことと第２のメモリセルにデータを書き込むこととをそれぞれ行う
請求項１から４のいずれか１項に記載の半導体記憶装置。
【請求項６】
前記本書き込み処理では、第１の条件でデータの書き込み、
前記予備書き込み処理では、前記第１の条件より書き込みが促進される第２の条件でデータを書き込む
請求項１から５のいずれか１項に記載の半導体記憶装置。
【請求項７】
複数のメモリセルを有する不揮発性メモリと、
第１のメモリセルに第１の条件でデータを書き込む書き込み処理を行い、前記第１のメモリセルが適正なデータの書き込まれた状態及び不適正なデータの書き込まれた状態の間の弱い書き込み状態にある場合、前記第１のメモリセルに前記第１の条件より書き込みが促進される第２の条件でデータを書き込む追加書き込み処理を行うコントローラと、
を備えた半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
複数のメモリセルを含む不揮発性メモリを有する半導体記憶装置では、メモリセルにおけるデータの書き込み状態が経時的に変化することがある。このとき、メモリセルにおけるデータリテンション（データの保持特性）を向上することが望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７３９９４０号公報
【特許文献２】特開２０１０−２１８６３７号公報
【特許文献３】米国特許第９０６９７１９号明細書
【特許文献４】国際公開第２０１２／１０８１８５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一つの実施形態は、メモリセルにおけるデータリテンションを向上できる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
一つの実施形態によれば、不揮発性メモリとコントローラとを有する半導体記憶装置が提供される。不揮発性メモリは、複数のメモリセルを有する。コントローラは、第１のメモリセルが弱い書き込み状態にある場合、予備書き込み処理を行い、本書き込み処理を行う。弱い書き込み状態は、適正なデータの書き込まれた状態及び不適正なデータの書き込まれた状態の間の書き込み状態である。予備書き込み処理は、第１のメモリセルに適正なデータの逆データを書き込む処理である。本書き込み処理は、第１のメモリセルに適正なデータを書き込む処理である。予備書き込み処理の条件は、本書き込み処理の条件と異なる。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係る半導体記憶装置の構成を示す図である。
【図２】図２は、実施形態における不揮発性メモリの構成を示す図である。
【図３】図３は、実施形態におけるメモリセルアレイの構成を示す図である。
【図４】図４は、実施形態におけるメモリセルの構成を示す回路図である。
【図５】図５は、実施形態における弱い書き込み状態にあるメモリセル（ウィークビット）を説明するための図である。
【図６】図６は、実施形態に係る半導体記憶装置の動作を示すフローチャートである。
【図７】図７は、実施形態における“０”のウィークビットに対する半導体記憶装置の動作を示す図である。
【図８】図８は、実施形態における“１”のウィークビットに対する半導体記憶装置の動作を示す図である。
【図９】図９は、実施形態における書き込みが促進される条件を示す図である。
【図１０】図１０は、実施形態における書き込みが促進される条件を示す図である。
【図１１】図１１は、実施形態における書き込みが促進される条件を示す図である。
【図１２】図１２は、実施形態の変形例に係る半導体記憶装置の動作を示すフローチャートである。
【図１３】図１３は、実施形態の他の変形例に係る半導体記憶装置の動作を示すフローチャートである。
【図１４】図１４は、実施形態の他の変形例に係る半導体記憶装置の動作を示すフローチャートである。
【図１５】図１５は、実施形態の他の変形例における半導体記憶装置の動作を示す図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかる半導体記憶装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００８】
（実施形態）
実施形態に係る半導体記憶装置について説明する。半導体記憶装置は、複数のメモリセルを含む不揮発性メモリを有する。半導体記憶装置では、メモリセルにおけるデータの書き込み状態が経時的に変化することがあり、データリテンション（データの保持特性）を向上することが望まれる。半導体記憶装置は、データリテンションの信頼性向上のために、リテンションモードの機能を有している。
【０００９】
リテンションモードにおいて、通常の書き込み処理中に、あらかじめ設定したリードマージンレベルでは誤読み出しとなってしまったメモリセルを再度ベリファイレベルで読み出せる状態にする。その方法として、リテンションモードは、通常の書き込み処理（本書き込み処理）の前に予備的な書き込み処理（予備書き込み処理）を行う。すなわち、対象のメモリセルに対して逆データ（適正なデータに対してビット値が反転したデータ）を書き込む予備書き込み処理を行った後に、適正なデータを書き込む通常の書き込み処理（本書き込み処理）を行うことで実現する。このため、リテンションモードにおけるトータルの処理時間は、予備書き込み処理を行わないノーマルモードの処理時間に対して約２倍の時間がかかる傾向にある。
【００１０】
そこで、本実施形態では、予備書き込み処理及び本書き込み処理を行うリテンションモードにおける予備書き込み処理を、本書き込み処理より短時間で完了する条件で行うことで、リテンションモードのトータルの処理時間の低減を図る。
【００１１】
具体的には、半導体記憶装置２００は、図１に示すように構成される。図１は、半導体記憶装置２００の構成を示す図である。半導体記憶装置２００は、ホスト３００と通信可能に接続され、ホスト３００に対して外部記憶媒体として機能する。半導体記憶装置２００は、不揮発性メモリ１００及びコントローラ２１０を有する。コントローラ２１０は、ホスト３００からの要求に応じて、又は、自律的に、不揮発性メモリ１００の制御を行う。
【００１２】
コントローラ２１０は、制御部２１１、ホストＩ／Ｆ（インターフェース）２１２、メモリＩ／Ｆ（インターフェース）２１３、ＥＣＣ（誤り訂正）処理部２１４、バッファメモリ２１５、及びバス２１６を有する。制御部２１１、ホストＩ／Ｆ（インターフェース）２１２、メモリＩ／Ｆ（インターフェース）２１３、ＥＣＣ（誤り訂正）処理部２１４、バッファメモリ２１５は、バス２１６を介して互いに通信可能に接続されている。制御部２１１は、例えばＣＰＵ（中央処理演算ユニット）であり、コントローラ２１０における各部を統括的に設御する。ホストＩ／Ｆ２１２は、ホスト３００との通信を媒介する。メモリＩ／Ｆ２１３は、不揮発性メモリ１００とのデータ・指示の受け渡しを媒介する。ＥＣＣ処理部２１４は、不揮発性メモリ１００から読み出されたデータの誤り訂正処理を行う。バッファメモリ２１５は、不揮発性メモリ１００との間で受け渡されるデータ・指示をバッファリングしたり、制御部２１１によるワークエリアとして使用されたりする。
【００１３】
次に、不揮発性メモリ１００について図２〜図４を用いて説明する。図２は、不揮発性メモリ１００の構成を示す図である。図３は、メモリセルアレイ１の構成を示す図である。図４は、メモリセルＭＣの構成を示す回路図である。
【００１４】
不揮発性メモリ１００は、例えば、クロスポイント型のメモリセルアレイ１を有するＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。不揮発性メモリ１００は、メモリセルアレイ１、複数のワードラインＷＬ−１〜ＷＬ−Ｎ、Ｒｏｗ系回路（制御回路）２、複数のビットラインＢＬ−１〜ＢＬ−Ｍ、Ｃｏｌｕｍｎ系回路（読み出し回路）３、アドレスレシーバー４、アドレスレジスタ５、書込み・読出し・消去用電源生成回路６、電源ドライブ回路７、制御回路８３、書込みデータ格納用レジスタ８、ビットライン書込み制御回路８４、データ復元回路１０、データ入力回路８１、及びデータ出力回路８２を有する。Ｎは４以上の整数とし、Ｍは、２以上の整数とする。
【００１５】
メモリセルアレイ１では、図３に示すように、複数のメモリセルＭＣ（１，１）〜ＭＣ（Ｎ，Ｍ）が配列されている。例えば、Ｎ本のワードラインＷＬ−１〜ＷＬ−ＮとＭ本のビットラインＢＬ−１〜ＢＬ−Ｍとの交差する位置に複数のメモリセルＭＣ（１，１）〜ＭＣ（Ｎ，Ｍ）が２次元的に配列されている。メモリセルアレイ１では、メモリセルＭＣの２次元的な配列（メモリ層）が積層されることでメモリセルＭＣの３次元的な配列が実現されていてよい。
【００１６】
図４に示すように、ワードラインＷＬ及びビットラインＢＬの交差位置に配されたメモリセルＭＣでは、整流素子Ｄ及び抵抗変化素子Ｒが直列に接続されている。整流素子Ｄは、例えば、ダイオードであり、カソードが抵抗変化素子Ｒに接続され、アノードがビットラインＢＬに接続されている。抵抗変化素子Ｒは、一端がワードラインＷＬに接続され、他端が整流素子Ｄに接続されている。
【００１７】
抵抗変化素子Ｒは、２つの抵抗値の状態、例えば、低抵抗状態と高抵抗状態との２つの抵抗値の状態間で遷移する素子である。抵抗変化素子Ｒは、例えば整流素子Ｄが順方向となるようにメモリセルＭＣの両端にある一定のセット電圧が印加されると、高抵抗状態から低抵抗状態へ遷移する（書き込み、セット）。また、抵抗変化素子Ｒは、例えば整流素子Ｄが順方向となるようにメモリセルＭＣの両端にある一定のリセット電圧が印加されると、低抵抗状態から高抵抗状態へ遷移する（消去、リセット）。これにより、各メモリセルＭＣは、２値のデータを格納可能である。
【００１８】
本明細書では、セット動作及びリセット動作を含む動作を書き込み動作と呼ぶことにする。セット動作は、メモリセルＭＣの両端にセット電圧を印加してビット値“０”を書き込む動作とし、リセット動作は、メモリセルＭＣの両端にリセット電圧を印加してビット値“１”を書き込む動作とする。また、セット電圧又はリセット電圧を含む動作を書き込み電圧（プログラム電圧）と呼ぶことにする。
【００１９】
なお、図４では、各メモリセルＭＣの構成として、ビットラインＢＬからワードラインＷＬへ向かう方向が整流素子Ｄの順方向となる構成が例示されているが、ビットラインＢＬからワードラインＷＬへ向かう方向が整流素子Ｄの逆方向となる構成であってもよい。また、各メモリセルＭＣ内では、整流素子Ｄ及び抵抗変化素子Ｒの配置が入れ替えられたものであっても良い。
【００２０】
図２に示すアドレスレシーバー４は、外部から供給されたアドレス信号をアドレスレジスタ５に格納する。制御回路８３は、外部から供給されたコマンドを受け取り、コマンドに応じた指令を各回路へ出す。例えば、制御回路８３は、書込み・読出し・消去動作における動作電圧や動作タイミング等を制御するための指令を出す。アドレスレジスタ５は、制御回路８３からの指令に従い、アドレス信号をＲｏｗ系回路２およびＣｏｌｕｍｎ系回路３に送る。
【００２１】
データ入力回路８１は、外部から入力されたデータ（書込みデータ）を書込みデータ格納用レジスタ８に一時的に格納する。書込みデータ格納用レジスタ８は、制御回路８３からの指令に従い、データをビットライン書込み制御回路８４に送る。ビットライン書込み制御回路８４は、電源ドライブ回路７から転送されてきた電圧を制御する。
【００２２】
データ出力回路８２は、外部のホスト（図示せず）に外部Ｉ／Ｏ線を介して接続され、ホストに向けて、読み出しデータの出力、書き込み完了の通知、消去完了の通知を行う。
【００２３】
書込み・読出し・消去用電源生成回路６は、書込み・読出し・消去用の電源電圧をそれぞれ生成して電源ドライブ回路７へ供給する。
【００２４】
電源ドライブ回路７は、制御回路８３からの指令に応じて、書込み・読出し・消去用の電源電圧をＲｏｗ系回路２およびＣｏｌｕｍｎ系回路３に供給する。
【００２５】
図３に示すＮ本のワードラインＷＬ−１〜ＷＬ−Ｎは、複数のメモリセルＭＣ（１，１）〜ＭＣ（Ｎ，Ｍ）の間を行（ロウ）に沿った方向へ延びている。
【００２６】
図２に示すＲｏｗ系回路２は、メモリセルアレイ１のワードラインＷＬの延在方向に隣接する位置に設けられている。Ｒｏｗ系回路２は、ローデコーダー２１、電流制限ブロック２２、及びワードラインセレクタ２３を有する。ローデコーダー２１は、アドレス信号をアドレスレジスタ５から受け、アドレス信号に従い、ワードラインセレクタ２３を介してワードラインＷＬを駆動する。このとき、電流制限ブロック２２は、選択されたワードラインＷＬに流れる電流値が所定値になるように電流を制限する。
【００２７】
Ｎ本のワードラインＷＬ−１〜ＷＬ−Ｎに対応して、ローデコーダー２１は、Ｎ個のデコード回路（図示せず）を有し、電流制限ブロック２２は、Ｎ個の電流制限素子２２１−１〜２２１−Ｎを有し、ワードラインセレクタ２３は、Ｎ個のワードラインドライバ２３１−１〜２３１−Ｎを有する。例えば、デコード回路は、ワードラインドライバ２３１−ｐを介して、ワードラインＷＬ−ｐを選択し、ｐ行目のメモリセルＭＣ（ｐ，１）〜（ｐ，Ｍ）のうち選択されたメモリセルについて、メモリセルのデータ消去、メモリセルへのデータ書き込み、およびメモリセルからのデータ読み出しに必要な電圧の印加を行う。各電流制限素子２２１−１〜２２１−Ｎは、例えばＮＭＯＳトランジスタであり、線形領域で動作するようなバイアスがゲートに供給され、能動負荷として動作する。これにより、各ワードラインＷＬは、対応するメモリセルＭＣがオンして電流が流れる際に互いに均等な電流が流れ得る。
【００２８】
図３に示すＭ本のビットラインＢＬ−１〜ＢＬ−Ｍは、複数のメモリセルＭＣ（１，１）〜ＭＣ（Ｎ，Ｍ）の間を列（カラム）に沿った方向へ延びている。
【００２９】
図２に示すＣｏｌｕｍｎ系回路３は、メモリセルアレイ１のビットラインＢＬの延在方向に隣接する位置に設けられている。Ｃｏｌｕｍｎ系回路３は、Ｍ本のビットラインＢＬ−１〜ＢＬ−Ｍに接続されている。
【００３０】
例えば、Ｃｏｌｕｍｎ系回路３は、カラムデコーダー３１、センスアンプブロック３２、及びビットラインセレクタ３３を有する。カラムデコーダー３１は、アドレス信号をアドレスレジスタ５から受け、アドレス信号に従い、ビットラインセレクタ３３を介してビットラインＢＬを選択する。
【００３１】
Ｍ本のビットラインＢＬ−１〜ＢＬ−Ｍに対応して、センスアンプブロック３２は、Ｍ個のセンスアンプ（Ｓ／Ａ）３２１−１〜３２１−Ｍを有し、ビットラインセレクタ３３は、Ｍ個のビットラインドライバ３３１−１〜３３１−Ｍを有する。例えば、カラムデコーダー３１は、ビットラインドライバ３３１−ｋを介して、ビットラインＢＬ−ｋを選択し、ｋ列目のメモリセルＭＣ（１，ｋ）〜（Ｎ，ｋ）のうち選択されたメモリセルについて、メモリセルのデータ消去、メモリセルへのデータ書き込み、およびメモリセルからのデータ読み出しを行う。また、カラムデコーダー３１は、センスアンプ３２１を介して、読み出されたデータを増幅して保持回路９へ出力させる。各センスアンプ３２１は、検出結果を保持回路９へ出力する。
【００３２】
次に、メモリセルアレイ１における複数のメモリセルのうち、弱い書き込み状態にあるメモリセル（ウィークビット）について図５を用いて説明する。図５は、弱い書き込み状態にあるメモリセル（ウィークビット）を説明するための図である。
【００３３】
メモリセルアレイ１における各メモリセルに書き込まれたビット値（書き込まれた０又は１の値）は、例えば電流検知でセンスアンプされる。閾値電流を横軸としメモリセル数を縦軸として、メモリセルアレイ１における複数のメモリセルの閾値分布を示すと、例えば図５に示すようになる。斜線のハッチングで示すビット値“０”の山をセット状態（低抵抗状態）にあるという意味で分布ＳＥＴと呼ぶことにし、斜線のハッチングで示すビット値“１”の山をリセット状態（高抵抗状態）にあるという意味で分布ＲＳＴと呼ぶことにする。
【００３４】
メモリセルからデータをリードするリード動作は、メモリセルの両端にリード電圧Ｖｒｅａｄを印加して、その電流値がリード電流Ｉｒｅａｄより低いか否かを見ることで行われる。
【００３５】
例えば、適正なデータが“０”であるべき場合に、リード電流値が０と１との境界に対応したリード電流Ｉｒｅａｄより高ければ“０”として読み出される。分布ＳＥＴが経時的に実線の曲線で示す状態から破線の曲線で示す状態に変化した場合、元の分布ＳＥＴに対して分布ＲＳＴ側に位置する領域５０にあるメモリセルは、リード電流値がＩｒｅａｄより高いので“０”としてリードされるが、そのまま放置すると、閾値電流が“１”側に近づくように劣化していく可能性がある。そのため、本明細書では、領域５０にあるメモリセルを、弱い書き込み状態にあるメモリセルという意味でウィークビットと呼ぶことにする。
【００３６】
領域５０にあるメモリセルは、リード電流値がリード電圧Ｖｒｅａｄに対応したリード電流Ｉｒｅａｄと予備的なリード電圧Ｖｒｍ０に対応したリード電流Ｉｒｍ０との間にあることで確認できる。
【００３７】
同様に、適正なデータが“１”であるべき場合に、リード電流値がＩｒｅａｄより低ければ“１”として読み出される。分布ＲＳＴが経時的に実線の曲線で示す状態から破線の曲線で示す状態に変化した場合、元の分布ＲＳＴに対して分布ＳＥＴ側に位置する領域５１にあるメモリセルは、リード電流値がＩｒｅａｄより低いので“１”として読み出されるが、そのまま放置すると、閾値電流が“０”側に近づくように劣化していく可能性がある。そのため、本明細書では、領域５１にあるメモリセルを、弱い書き込み状態にあるメモリセルという意味でウィークビットと呼ぶことにする。
【００３８】
領域５１にあるメモリセルは、分布ＲＳＴに対するベリファイ電圧Ｖｖａｗを両端に印加したベリファイ動作ではベリファイＮＧとなるが、予備的なリード電圧Ｖｒｍ０により予備リード動作で“０”として読み出されることを確認することで検出できる。
【００３９】
領域５１にあるメモリセルは、リード電流値がリード電圧Ｖｒｅａｄに対応したリード電流Ｉｒｅａｄと予備的なリード電圧Ｖｒｍ１に対応したリード電流Ｉｒｍ１との間にあることで確認できる。
【００４０】
次に、半導体記憶装置２００の動作について図６を用いて説明する。図６は、半導体記憶装置２００の動作を示すフローチャートである。
【００４１】
半導体記憶装置２００におけるコントローラ２１０は、ホスト３００からの要求に応じて、又は、自律的に（例えば、データリテンションの信頼性向上のために周期的に）、動作モードをノーマルモードからリテンションモードへ切り替える。コントローラ２１０は、リテンションモードにおいて、ウィークビットを検出する。コントローラ２１０は、リード電圧Ｖｒｅａｄでリード動作を行い（Ｓ１）、予備的なリード電圧Ｖｒｍ０で予備リード動作を行い（Ｓ２）、予備的なリード電圧Ｖｒｍ１で予備リード動作を行い（Ｓ３）、Ｓ１〜Ｓ３のリード結果に基づいて、検知対象のメモリセルがウィークビットであるか否かを判断する（Ｓ４）。
【００４２】
例えば、コントローラ２１０は、図７（ａ）に示すように、メモリセルの期待値が０であれば、Ｓ１（Ｖｒｅａｄ）のリード動作で０とリードされＳ２（Ｖｒｍ０）のリード動作で１とリードされた場合、メモリセルがウィークビットである（Ｓ４でＹｅｓ）と判断し、Ｓ１（Ｖｒｅａｄ）のリード動作で０とリードされＳ２（Ｖｒｍ０）のリード動作で０とリードされた場合、メモリセルがウィークビットでない（Ｓ４でＮｏ）と判断する。図７は、“０”のウィークビットに対する半導体記憶装置２００の動作を示す図である。
【００４３】
例えば、コントローラ２１０は、図８（ａ）に示すように、メモリセルの期待値が１であれば、Ｓ１（Ｖｒｅａｄ）のリード動作で１とリードされＳ２（Ｖｒｍ０）のリード動作で０とリードされた場合、メモリセルがウィークビットである（Ｓ４でＹｅｓ）と判断し、Ｓ１（Ｖｒｅａｄ）のリード動作で１とリードされＳ２（Ｖｒｍ０）のリード動作で１とリードされた場合、メモリセルがウィークビットでない（Ｓ４でＮｏ）と判断する。図８は、“１”のウィークビットに対する半導体記憶装置２００の動作を示す図である。
【００４４】
メモリセルがウィークビットである（Ｓ４でＹｅｓ）と判断された場合、コントローラ２１０は、リトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔに初期値「１」をセットし、予備書き込み処理（Ｓ１０）を行う。
【００４５】
Ｓ１０において、コントローラ２１０は、メモリセルに逆データを書き込む書き込み動作（Ｆｌｉｐ動作）を行う（Ｓ１１）。例えば、コントローラ２１０は、期待値が０であれば１を書き込み、期待値が１であれば０を書き込む。コントローラ２１０は、ベリファイ電圧Ｖｖｆ１でベリファイ動作（ＶＡＷ：Ｖｅｒｉｆｙ  Ａｆｔｅｒ  Ｗｒｉｔｅ）を行う（Ｓ１２）。例えば、期待値が０であれば、図７（ｂ）に示すように、コントローラ２１０は、ベリファイ電圧Ｖｖｆ１＝Ｖｖａｗ１でベリファイ動作を行い、リード電流がＩｖａｗ１より小さければベリファイＯＫとなり、リード電流がＩｖａｗ１より大きければベリファイＮＧとなる。期待値が１であれば、図８（ｂ）に示すように、コントローラ２１０は、ベリファイ電圧Ｖｖｆ１＝Ｖｖａｗ０でベリファイ動作を行い、リード電流がＩｖａｗ０より大きければベリファイＯＫとなり、リード電流がＩｖａｗ０より小さければベリファイＮＧとなる。
【００４６】
コントローラ２１０は、メモリセルがベリファイＯＫであることを示す第１の条件とリトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔがリトライ回数の閾値ＭＡＸ＿ＰＲＥに達していることを示す第２の条件との少なくとも一方が満たされているか否かを判断する（Ｓ１３）。コントローラ２１０は、第１の条件及び第２の条件のいずれも満たされていない場合（Ｓ１３でＮｏ）、リトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔをインクリメントし（Ｓ１４）、処理をＳ１１に戻し、第１の条件及び第２の条件の少なくとも一方が満たされた場合（Ｓ１３でＹｅｓ）、予備書き込み処理（Ｓ１０）を終了する。
【００４７】
コントローラ２１０は、Ｓ４でＮｏと判断されるか予備書き込み処理（Ｓ１０）が完了すると、リード電圧Ｖｒｅａｄでリード動作（ＲＢＷ：Ｒｅａｄ  Ｂｅｆｏｒｅ  Ｗｒｉｔｅ）を行い（Ｓ５）、メモリセルにデータを書き込むべきであるか否かを判断する（Ｓ６）。コントローラ２１０は、期待値とメモリセルからリードされたデータの値とが一致する場合、データを書き込む必要がない（Ｓ６でＮｏ）として処理を終了する。
【００４８】
コントローラ２１０は、期待値とメモリセルからリードされたデータの値とが一致しない場合、データを書き込む必要がある（Ｓ６でＹｅｓ）として、リトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔに初期値「１」をセットし、本書き込み処理（Ｓ２０）を行う。
【００４９】
Ｓ２０において、コントローラ２１０は、メモリセルに期待値通りのデータを書き込む書き込み動作（ウィークビットについてはＦｌｉｐ  ｂａｃｋ動作）を行う（Ｓ２１）。例えば、コントローラ２１０は、期待値が０であれば０を書き込み、期待値が１であれば１を書き込む。コントローラ２１０は、ベリファイ電圧Ｖｖｆ１でベリファイ動作（ＶＡＷ：Ｖｅｒｉｆｙ  Ａｆｔｅｒ  Ｗｒｉｔｅ）を行う（Ｓ２２）。例えば、期待値が０であれば、図７（ｃ）に示すように、コントローラ２１０は、ベリファイ電圧Ｖｖｆ１＝Ｖｖａｗ０でベリファイ動作を行い、リード電流がＩｖａｗ０より小さければベリファイＮＧとなり、リード電流がＩｖａｗ０より大きければベリファイＯＫとなる。期待値が１であれば、図８（ｃ）に示すように、コントローラ２１０は、ベリファイ電圧Ｖｖｆ１＝Ｖｖａｗ１でベリファイ動作を行い、リード電流がＩｖａｗ１より大きければベリファイＮＧとなり、リード電流がＩｖａｗ１より小さければベリファイＯＫとなる。
【００５０】
コントローラ２１０は、メモリセルがベリファイＯＫであることを示す第１の条件とリトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔがリトライ回数の閾値ＭＡＸに達していることを示す第２の条件との少なくとも一方が満たされているか否かを判断する（Ｓ２３）。コントローラ２１０は、第１の条件及び第２の条件のいずれも満たされていない場合（Ｓ２３でＮｏ）、リトライ回数のカウンタＲｅｔｒｙ＿ｃｎｔをインクリメントし（Ｓ２４）処理をＳ２１に戻し、第１の条件及び第２の条件の少なくとも一方が満たされた場合（Ｓ２３でＹｅｓ）、本書き込み処理（Ｓ２０）を終了する。
【００５１】
コントローラ２１０は、本書き込み処理（Ｓ２０）が完了すると、リード電圧Ｖｒｅａｄでリード動作（ＲＡＷ：Ｒｅａｄ  Ａｆｔｅｒ  Ｗｒｉｔｅ）を行い（Ｓ７）、本書き込み処理（Ｓ２０）に成功したか否かを示すＰＡＳＳ／ＦＡＩＬフラグを保存して、処理を終了する。
【００５２】
ここで、予備書き込み処理（Ｓ１０）におけるリトライ回数の閾値ＭＡＸ＿ＰＲＥは、本書き込み処理（Ｓ２０）におけるリトライ回数の閾値ＭＡＸより少ない回数に設定することができる。これにより、予備書き込み処理（Ｓ１０）に要する時間を本書き込み処理（Ｓ２０）に要する時間より短縮でき、ノーマルモードの処理時間に対するリテンションモードの処理時間増大を抑制できる。
【００５３】
以上のように、実施形態では、半導体記憶装置２００において、予備書き込み処理及び本書き込み処理を行うリテンションモードにおける予備書き込み処理を、本書き込み処理より短時間で完了する条件で行う。これにより、リテンションモードのトータルの処理時間を低減でき、ノーマルモードの処理時間に対するリテンションモードの処理時間増大を抑制できる。
【００５４】
なお、実施形態では、各センスアンプ（Ｓ／Ａ）が電流検知に基づくセンスアンプ動作を行う場合について例示しているが、各センスアンプ（Ｓ／Ａ）が電圧検知に基づくセンスアンプ動作を行う場合にも実施形態の考え方は同様に適用可能である。
【００５５】
あるいは、予備書き込み処理（Ｓ１０）における書き込み動作（Ｓ１１）は、本書き込み処理（Ｓ２０）における書き込み動作（Ｓ２１）より書き込みが促進される条件で行われてもよい。例えば、図９に示すように、破線で示される書き込み動作（Ｓ２１）の書き込み電圧に比べて、実線で示される書き込み動作（Ｓ１１）の書き込み電圧Ｖｐｇｍを高くしてもよい。図９は、書き込みが促進される条件を示す図である。この場合でも、予備書き込み処理（Ｓ１０）の時間ＷＴ１は、本書き込み処理（Ｓ２０）の時間ＷＴ０より短くできる。なお、図９において、書き込み動作とベリファイ動作とを含むループは、図６に示すＳ１１〜Ｓ１４のループ処理に対応している。
【００５６】
あるいは、図１０に示すように、破線で示される書き込み動作（Ｓ２１）の書き込み時間に比べて、実線で示される書き込み動作（Ｓ１１）の書き込み時間を長くしてもよい。図１０は、書き込みが促進される条件を示す図である。この場合でも、予備書き込み処理（Ｓ１０）の時間ＷＴ１は、本書き込み処理（Ｓ２０）の時間ＷＴ０より短くすることが可能である。
【００５７】
あるいは、図１１に示すように、予備書き込み処理（Ｓ１０）及び本書き込み処理（Ｓ２０）のそれぞれにおいて書き込み電圧がステップ幅ΔＶ０で増加されながら書き込み動作とベリファイ動作とが交互に繰り返される場合、破線で示される書き込み動作（Ｓ２１）の書き込み開始電圧Ｖｗｓ０に比べて、実線で示される書き込み動作（Ｓ１１）の書き込み開始電圧Ｖｗｓ１を高くしてもよい。図１１は、書き込みが促進される条件を示す図である。この場合でも、予備書き込み処理（Ｓ１０）の時間ＷＴ１は、本書き込み処理（Ｓ２０）の時間ＷＴ０より短くできる。
【００５８】
あるいは、図１２に示すように、予備書き込み処理（Ｓ１０ｉ）のＳ１３ｉにおけるリトライ回数の閾値を本書き込み処理（Ｓ２０）のＳ２３におけるリトライ回数の閾値と同様にするが、予備書き込み処理（Ｓ１０ｉ）のベリファイ動作（Ｓ１２ｉ）のベリファイ電圧Ｖｖｆ２を本書き込み処理（Ｓ２０）のベリファイ動作（Ｓ２２）のベリファイ電圧Ｖｖｆ１より緩和してもよい。図１２は、半導体記憶装置２００の動作を示すフローチャートである。例えば、ベリファイ電圧Ｖｖｆ２＝Ｖｒｅａｄとすることができる。この場合、本書き込み処理（Ｓ２０）のベリファイ動作（Ｓ２２）に比べて、予備書き込み処理（Ｓ１０ｉ）のベリファイ動作（Ｓ１２ｉ）でベリファイＯＫとなりやすくなるので、結果として、予備書き込み処理（Ｓ１０ｉ）のリトライ回数を本書き込み処理（Ｓ２０）のリトライ回数より少なくでき、予備書き込み処理（Ｓ１０ｉ）に要する時間を本書き込み処理（Ｓ２０）に要する時間より短縮でき、ノーマルモードの処理時間に対するリテンションモードの処理時間増大を抑制できる。
【００５９】
あるいは、図１３に示すように、予備書き込み処理（Ｓ１０ｊ）で書き込み動作（Ｓ１１）を行った後にＳ１２〜Ｓ１４を行わずに予備書き込み処理（Ｓ１０ｊ）を終了するようにしてもよい。図１３は、半導体記憶装置２００の動作を示すフローチャートである。この場合、予備書き込み処理（Ｓ１０ｊ）のリトライ回数が１回（リトライなし）となり、結果として、予備書き込み処理（Ｓ１０ｊ）のリトライ回数を本書き込み処理（Ｓ２０）のリトライ回数より少なくでき、予備書き込み処理（Ｓ１０ｊ）に要する時間を本書き込み処理（Ｓ２０）に要する時間より短縮でき、ノーマルモードの処理時間に対するリテンションモードの処理時間増大を抑制できる。
【００６０】
あるいは、図１４に示すように、Ｓ４でメモリセルがウィークビットであると判断された場合（Ｓ４でＹｅｓ）、予備書き込み処理（Ｓ１０ｉ）に代えて追加書き込み処理（Ｓ１０ｋ）が行われてもよい。図１４は、半導体記憶装置２００の動作を示すフローチャートである。追加書き込み処理（Ｓ１０ｋ）では、図１５に示すように、書き込みが促進される条件で逆データではなく期待値通りのデータを書き込む書き込み動作（Ｆｌｉｐ  ｂａｃｋ動作）が行われる（Ｓ１１ｋ）。図１５は、半導体記憶装置２００の動作を示す図である。書き込みが促進される条件は、例えば、図９〜図１１に示すような条件が挙げられる。これにより、ウィークビットについてはＳ６でＮｏと判断され本書き込み処理（Ｓ２０）が省略され得るので、リテンションモードのトータルの処理時間を大幅に低減でき、ノーマルモードの処理時間に対するリテンションモードの処理時間増大を大幅に抑制できる。
【００６１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６２】
１００  不揮発性メモリ、２００  半導体記憶装置、２１０  コントローラ。
【図１】
2019050070.tif 000003
【図２】
2019050070.tif 000004
【図３】
2019050070.tif 000005
【図４】
2019050070.tif 000006
【図５】
2019050070.tif 000007
【図６】
2019050070.tif 000008
【図７】
2019050070.tif 000009
【図８】
2019050070.tif 000010
【図９】
2019050070.tif 000011
【図１０】
2019050070.tif 000012
【図１１】
2019050070.tif 000013
【図１２】
2019050070.tif 000014
【図１３】
2019050070.tif 000015
【図１４】
2019050070.tif 000016
【図１５】
2019050070.tif 000017