(57)【要約】【課題】メモリセルの劣化状態を簡便に管理することが可能な半導体記憶装置及びその制御方法を提供する。【解決手段】半導体記憶装置１０は、複数のメモリセルを含むメモリセルアレイ１１と、回路１６とを備える。回路１６は、メモリセルの第１閾値の判定に使用されるＶｔ（ａ）をメモリセルのゲートに印加した際のオンセル数又はオフセル数と、第１閾値の判定に使用されるＶｔ（ｂ）をメモリセルのゲートに印加した際のオンセル数又はオフセル数とをカウントする。そして、回路１６は、Ｖｔ（ａ）に対応するカウント結果ＮＶｔ（ａ）と、Ｖｔ（ｂ）に対応するカウント結果ＮＶｔ（ｂ）とを比較する。【選択図】図７
2017111503.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリセルアレイと、
前記メモリセルの第１閾値の判定に使用される第１電圧を前記メモリセルのゲートに印加した際のオンセル数又はオフセル数と、前記第１閾値の判定に使用され、且つ前記第１電圧と異なる第２電圧を前記メモリセルのゲートに印加した際のオンセル数又はオフセル数とをカウントして、前記第１電圧に対応する第１カウント結果と、前記第２電圧に対応する第２カウント結果とを比較する回路と、
を備えることを特徴とする半導体記憶装置。
【請求項２】
前記回路は、前記第１カウント結果と前記第２カウント結果とが異なっている場合に前記メモリセルは劣化していると判断する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記回路は、前記１カウント結果と前記第２カウント結果との差を計算し、
前記計算結果と第１値とを比較し、
前記差が前記第１値よりも大きい場合に前記メモリセルは劣化していると判断する
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項４】
前記メモリセルアレイは、各々が複数の前記メモリセルを含む複数のブロックを備え、
前記半導体記憶装置は、前記ブロックを選択するブロックデコーダをさらに備え、
前記比較結果に応じて、前記ブロックデコーダにバッドブロックフラグがセットされる
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項５】
前記セットされたバッドブロックフラグの情報は、前記半導体記憶装置のいずれかのブロックに書き込まれる
ことを特徴とする請求項４に記載の半導体記憶装置。
【請求項６】
前記バッドブロックフラグの情報が書き込まれる前記ブロックはＲＯＭフューズである
ことを特徴とする請求項５記載の半導体記憶装置。
【請求項７】
前記半導体記憶装置のホスト機器には、前記比較結果に応じてメッセージが表示される
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項８】
第１閾値の判定に使用される第１電圧がメモリセル群のゲートに印加された際にオンしたメモリセル数をカウントするステップと、
前記第１閾値の判定に使用され、前記第１電圧と異なる第２電圧が前記メモリセル群のゲートに印加された際にオンしたメモリセル数をカウントするステップと、
前記第１電圧を用いた際の第１カウント結果と前記第２電圧を用いた際の第２カウント結果とを比較するステップと
を備えることを特徴とする半導体記憶装置の制御方法。
【請求項９】
前記比較するステップでは、前記第１カウント結果と、前記第２カウント結果との差を算出し、
前記差と、前記半導体記憶装置を制御するコントローラから受信した第１値とを比較するステップをさらに備え、
前記第１値との比較結果に基づいて、前記メモリセル群が劣化しているか否かが判断される
ことを特徴とする請求項８記載の半導体記憶装置の制御方法。
【請求項１０】
前記コントローラは、前記第１値を発行した後に前記第１値と異なる第２値をさらに発行し、
前記差と前記第２値とを比較するステップをさらに備え、
前記第１値及び前記第２値との比較結果に基づいて、前記メモリセル群が劣化しているか否かが判断される
ことを特徴とする請求項９に記載の半導体記憶装置の制御方法。
【請求項１１】
前記半導体記憶装置は、各々が前記メモリセル群を含む複数のブロックと、
前記ブロックを選択するブロックデコーダと、
を備え、
前記比較結果に応じて、前記ブロックデコーダにバッドブロックフラグをセットするステップをさらに備える
ことを特徴とする請求項８に記載の半導体記憶装置の制御方法。
【請求項１２】
前記セットされたバッドブロックフラグの情報をＲＯＭフューズに書き込むステップをさらに備える
ことを特徴とする請求項１１に記載の半導体記憶装置の制御方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は半導体記憶装置及びその制御方法に関する。
【背景技術】
【０００２】
フローティングゲートを有するＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１２２７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリセルの劣化状態を簡便に管理することが可能な半導体記憶装置及びその制御方法を提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、複数のメモリセルを含むメモリセルアレイと、回路とを備える。回路は、メモリセルの第１閾値の判定に使用される第１電圧を前記メモリセルのゲートに印加した際のオンセル数又はオフセル数と、第１閾値の判定に使用され、且つ第１電圧と異なる第２電圧を前記メモリセルのゲートに印加した際のオンセル数又はオフセル数とをカウントする。そして、回路は第１電圧に対応する第１カウント結果と、第２電圧に対応する第２カウント結果とを比較する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムのブロック図。
【図２】第１実施形態に係る半導体記憶装置のブロック図。
【図３】第１実施形態に係る半導体記憶装置の備えるメモリセルアレイの回路図。
【図４】メモリセルの閾値分布のダイアグラム。
【図５】メモリセルの閾値分布のダイアグラム。
【図６】メモリセルの閾値分布のダイアグラム。
【図７】第１実施形態に係る半導体記憶装置の備える判定回路のブロック図。
【図８】第１実施形態に係る半導体記憶装置の判定動作のフローチャート。
【図９】第２実施形態に係る半導体記憶装置のブロック図。
【図１０】第２実施形態に係る半導体記憶装置の判定動作のフローチャート。
【図１１】第３実施形態に係る半導体記憶装置の判定動作のフローチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態について、図面を参照して説明する。尚、以下の説明において、同一の機能及び構成を有する要素については、共通する参照符号を付す。
【０００８】
［１］第１実施形態
第１実施形態に係る半導体記憶装置及びその制御方法について説明する。
【０００９】
［１−１］構成
［１−１−１］メモリシステム１の構成
まず、図１を用いて第１実施態様に係るメモリシステム１の構成について説明する。
【００１０】
図１に示すように、メモリシステム１は、半導体記憶装置１０及びコントローラ２０を備えている。
【００１１】
半導体記憶装置１０は、複数のメモリセルを備え、データを不揮発に記憶するＮＡＮＤ型フラッシュメモリである。
【００１２】
コントローラ２０は、外部のホスト機器からの命令に応答して、半導体記憶装置１０に対して読み出し、書き込み、及び消去等を命令する。またコントローラ２０は、メモリセルの劣化状態を判定する判定動作を命令することができる。そしてコントローラ２０は、半導体記憶装置１０におけるメモリ空間を管理する。
【００１３】
図１に示すように、コントローラ２０は、ホストインターフェイス回路２１、内蔵メモリ（ＲＡＭ）２２、プロセッサ２３、バッファメモリ２４、ＮＡＮＤインターフェイス回路２５、及びＥＣＣ回路２６を備えている。
【００１４】
ホストインターフェイス回路２１は、コントローラバスを介してホスト機器（図示せず）と接続され、ホスト機器との通信に使用される。そしてホストインターフェイス回路２１は、ホスト機器から受信した命令及びデータをそれぞれ、プロセッサ２３及びバッファメモリ２４に転送する。またホストインターフェイス回路２１は、プロセッサ２３の命令に応答して、バッファメモリ２４内のデータをホスト機器へ転送する。
【００１５】
内蔵メモリ２２は、例えばＤＲＡＭ等の半導体メモリであり、プロセッサ２３の作業領域として使用される。そして内蔵メモリ２２は、半導体記憶装置１０を管理するためのファームウェアや、各種の管理テーブル等を保持する。
【００１６】
プロセッサ２３は、コントローラ２０全体の動作を制御する。例えば、プロセッサ２３は、ホスト機器から書き込み命令を受信した際には、それに応答して書き込み命令を発行する。読み出し、消去、及び判定動作の場合も同様である。
【００１７】
バッファメモリ２４は、書き込みデータや読み出しデータを一時的に保持する。
【００１８】
ＮＡＮＤインターフェイス回路２５は、ＮＡＮＤバスを介して半導体記憶装置１０と接続され、半導体記憶装置１０との通信に使用される。そしてＮＡＮＤインターフェイス回路２５は、プロセッサ２３から受け取った命令を半導体記憶装置１０に転送する。またＮＡＮＤインターフェイス回路２５は、書き込み動作時にはバッファメモリ２４内の書き込みデータを半導体記憶装置１０へ転送し、読み出し動作時には半導体記憶装置１０から読み出されたデータをバッファメモリ２４へ転送する。
【００１９】
ＥＣＣ回路２６は、データの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理を実行する。ＥＣＣ処理では、データの書き込み時には書き込みデータに基づいてパリティを生成し、読み出し時にはパリティからシンドロームを生成して誤りを検出し、この誤りを訂正する。
【００２０】
尚、半導体記憶装置１０及びコントローラ２０は、例えばＳＤＴＭカード、ＳＳＤ（Solid State Drive）等のように、それらの組み合わせにより一つの半導体装置を構成しても良い。
【００２１】
［１−１−２］半導体記憶装置１０の構成
次に、図２を用いて第１実施形態に係る半導体記憶装置１０の構成について説明する。
【００２２】
図２に示すように、半導体記憶装置１０は、メモリセルアレイ１１、ロウデコーダ１２、センスアンプモジュール１３、ドライバ１４、シーケンサ１５、判定回路１６、レジスタ１７、及び入出力回路１８を備えている。
【００２３】
メモリセルアレイ１１は、それぞれがワード線及びビット線に関連付けられた複数の不揮発性メモリセルの集合である複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、・・・、ＢＬＫ（Ｌ−１）、（Ｌは１以上の自然数））を備えている。ブロックＢＬＫは、例えばデータの消去単位となり、同一ブロックＢＬＫ内のデータは一括して消去される。尚、メモリセルアレイ１１内のブロックＢＬＫ数は、任意の数に設定できる。また、ブロックＢＬＫのうちのいずれかは、例えば不良ブロックに関する情報を保持するＲＯＭフューズとして機能する。ＲＯＭフューズに記憶された情報は、メモリシステム１の電源投入時に読み出される。
【００２４】
ロウデコーダ１２は、ブロックアドレスやページアドレスをデコードして、対応するブロックＢＬＫのいずれかのワード線ＷＬを選択し、選択ワード線及び非選択ワード線に適切な電圧を印加する。図２に示すように、ロウデコーダ１２は、バッドブロックフラグ（ＢＢＦ：Bad Block Flag）を保持する領域を備えている。ＢＢＦはブロックＢＬＫ毎に設定され、ＢＢＦがロウデコーダ１２にセットされたブロックＢＬＫは、不良ブロックとみなされて使用禁止となる。尚、不良ブロックの情報は、メモリシステム１の電源投入時にＲＯＭフューズから読み出され、対応するＢＢＦにセットされる。また、ロウデコーダ１２の構成については、その他の構成であっても良い。ロウデコーダ１２の構成については、例えば“不揮発性半導体記憶装置及び半導体装置”という２０１４年２月２６日に出願された米国特許出願１４／１９１，２８１号に記載されている。また、“半導体記憶装置”という２０１３年８月２９日に出願された米国特許出願１４／０１４，０２６号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００２５】
センスアンプモジュール１３は、それぞれがビット線ＢＬに関連付けられた複数のセンスアンプを備えている。センスアンプモジュール１３は、データの読み出し時にはメモリセルからビット線ＢＬに読み出されたデータをセンスし、データの書き込み時には書き込みデータをビット線ＢＬに転送する。
【００２６】
ドライバ１４は、データの読み出し、書き込み、及び消去に必要な電圧を生成し、ロウデコーダ１２、及びセンスアンプモジュール１３に供給する。この電圧がメモリセルアレイ１１内の各種配線に印加される。
【００２７】
シーケンサ１５は、コントローラ２０から受信した外部制御信号及びコマンドに基づいて、半導体記憶装置１０の各種動作を統括的に制御する。
【００２８】
判定回路１６は、メモリセルの劣化状態を判定する。この動作を判定動作と呼ぶ。判定動作及び判定回路１６の構成の詳細は後述する。
【００２９】
レジスタ１７は、種々の信号を保持する。例えば、レジスタ１７は書き込み動作や消去動作のステータスを保持し、コントローラ２０に動作が正常に完了したか否かを通知する。そしてレジスタ１７は、コントローラ２０から受信したコマンドやアドレス等を保持し、また種々のテーブルを保持することも可能である。またレジスタ１７は、判定回路１６から受信した判定結果を保持することも可能である。
【００３０】
入出力回路１８は、コントローラ２０又はホスト機器とデータの授受を行う。入出力回路１８は、データの読み出し時にはセンスアンプモジュール１３でセンスされた読み出しデータを外部へ出力し、データ書き込み時には外部から受信した書き込みデータをセンスアンプモジュール１３に転送する。
【００３１】
［１−１−３］メモリセルアレイ１１の回路構成
次に、図３を用いて第１実施形態に係るメモリセルアレイ１１の回路構成について説明する。図３は、いずれかのブロックＢＬＫの回路図である。
【００３２】
図３に示すように、ブロックＢＬＫは、ｍ個（ｍは１以上の自然数）のＮＡＮＤストリングＮＳを備えている。各ＮＡＮＤストリングＮＳは、ｎ個（ｎは１以上の自然数）のメモリセルトランジスタＭＴ、選択トランジスタＳＴ１、及び選択トランジスタＳＴ２を備えている。
【００３３】
メモリセルトランジスタＭＴは、制御ゲート及び電荷蓄積層を含み、データを不揮発に保持する。選択トランジスタＳＴ１、ＳＴ２は、データの読み出し及び書き込みを行うブロックＢＬＫの選択に使用される。選択トランジスタＳＴ１、ＳＴ２の一端はそれぞれ、直列に接続されたｎ個のメモリセルトランジスタＭＴの一端及び他端に接続されている。同一列にあるメモリセルトランジスタＭＴの制御ゲートは、いずれかのワード線ＷＬ（ワード線ＷＬ０〜ＷＬ（ｎ−１））に共通接続されている。選択トランジスタＳＴ１、ＳＴ２のゲートはそれぞれ、セレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。
【００３４】
また、メモリセルアレイ１１内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一行にあるＮＡＮＤストリングＮＳの選択トランジスタＳＴ１の他端は、いずれかのビット線ＢＬ（ＢＬ０〜ＢＬ（ｍ−１））に共通接続されている。また、選択トランジスタＳＴ２の他端は、ソース線ＳＬに共通に接続されている。
【００３５】
尚、データの読み出し及び書き込みは、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴに対して一括して行われる。この単位は、ページとして取り扱われる。
【００３６】
［１−１−４］メモリセルの閾値分布
次に、図４〜図６を用いてメモリセルの閾値分布について説明する。図４〜図６は、２値（１ビット）を記憶可能なメモリセルの閾値分布を説明する図であり、縦軸はメモリセルの数（ビット数）を示し、横軸は閾値電圧Ｖｔｈを示している。
【００３７】
図４に示すように、１ビットデータを記憶するメモリセルは、２つの閾値のいずれかを取り得る。低い方の閾値分布は消去状態であり、例えばデータ“１”が割り当てられる。一方、高い方の閾値分布は書き込み状態であり、例えばデータ“０”が割り当てられる。
【００３８】
メモリセルに対して書き込み及び消去が繰り返されると、メモリセルの電荷蓄積層とチャネルとの間に設けられたトンネル酸化膜が徐々に劣化し、電荷蓄積層が電子を保持する能力が低下する。メモリセルが劣化すると、図５に示すように、書き込み時における電子の注入量が増えて各閾値分布の上裾が広がることがある。また図６に示すように、長時間放置された際に電荷蓄積層から電子が抜けて各閾値分布の下裾が広がることがある。
【００３９】
［１−１−５］判定回路１６の構成
次に、図４〜図７を用いて第１実施形態に係る判定回路１６の構成について説明する。
【００４０】
図７に示すように、判定回路１６は、カウンタ３０、ラッチ回路３１、及び比較器３２を備えている。
【００４１】
カウンタ３０には、判定動作時において、ｍ本のビット線ＢＬにそれぞれ対応したセンスアンプＳＡによってセンスされたデータ（“０”又は“１”）が入力される。そしてカウンタ３０は、入力されたデータに基づいて、オンしたメモリセルの個数をカウントし、このカウント結果をラッチ回路３１に転送、又は比較器３２の第１入力端子に入力する。
【００４２】
ラッチ回路３１は、カウンタ３０から受けたカウント結果を保持し、このカウント結果を比較器３２の第２入力端子に入力する。
【００４３】
比較器３２は、第１入力端子に入力された数値ＮＶｔ（ｂ）と、第２入力端子に入力された数値ＮＶｔ（ａ）とを比較し、比較結果をレジスタ１７に送る。ＮＶｔ（ａ）及びＮＶｔ（ｂ）はそれぞれ、読み出し電圧Ｖｔ（ａ）及びＶｔ（ｂ）で同一ページの読み出し動作を行った場合のオンセルまたはオフセルのカウント結果である。Ｖｔ（ａ）及びＶｔ（ｂ）は、同じ閾値の判定に使用され、メモリセルが劣化していない場合の閾値分布に基づいて設定される。例えば、図４に示すように、Ｖｔ（ａ）は低い方の閾値分布の上裾を少し超える値に設定され、Ｖｔ（ｂ）は高い方の閾値分布の下裾を少し下回る値に設定される。尚、Ｖｔ（ａ）はＶｔ（ｂ）よりも小さい。メモリセルが劣化していない場合、図４に示すようにＶｔ（ａ）及びＶｔ（ｂ）でオン（又はオフ）するメモリセルの数が変化しないため、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＝０となる。メモリセルが劣化している場合、図５及び図６に示すようにＶｔ（ｂ）でオン（又はオフ）するメモリセルの数は、Ｖｔ（ａ）でオンするメモリセルの数より多くなるため、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＞０となる。
【００４４】
以上のように、判定回路１６には、センスアンプモジュール１３が読み出したデータが入力され、入力されたデータに基づいた判定結果をレジスタ１７に出力する。
【００４５】
［１−２］判定動作
次に、図８を用いて判定動作の具体的な流れについて説明する。
【００４６】
判定動作では、２種類の読み出し電圧Ｖｔ（ａ）及びＶｔ（ｂ）を用いて同一ページのデータを読み出し、オンしたメモリセルの数を比較することによってメモリセルの劣化状態を判定する。
【００４７】
まず、コントローラ２０は判定動作の開始を指示するコマンドを発行し、シーケンサ１５はこのコマンドに基づいて半導体記憶装置１０を制御する（ステップＳ１０）。
【００４８】
次に、ロウデコーダ１２は、選択ワード線にＶｔ（ｂ）を印加する。そしてセンスアンプモジュール１３は、１ページのデータを読み出し、読み出したデータをカウンタ３０に送る。そしてカウンタ３０は、この読み出したデータに基づいて、オン（又はオフ）したメモリセルの数をカウントする（ステップＳ１１）。このカウント結果ＮＶｔ（ｂ）はラッチ回路３１に保持される。
【００４９】
次に、ロウデコーダ１２は選択ワード線にＶｔ（ａ）を印加する。そしてセンスアンプモジュール１３は、ステップＳ１１と同一ページのデータを読み出し、読み出したデータをカウンタ３０に送る。そしてカウンタ３０は、この読み出しデータに基づいて、オン（又はオフ）したメモリセルの数をカウントする（ステップＳ１２）。このカウント結果ＮＶｔ（ａ）は、カウンタ３０に保持される。
【００５０】
次に、比較器３２は、ラッチ回路３１に保持されたカウント結果ＮＶｔ（ｂ）と、カウンタ３０に保持されたカウント結果ＮＶｔ（ａ）とを比較する（ステップＳ１３）。
【００５１】
比較の結果、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＝０の場合（ステップＳ１３、Ｙｅｓ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）とが等しい場合、比較器３２は“セル劣化無し”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ１４）。
【００５２】
一方で、ＮＶｔ（ｂ）−ＮＶｔ（ａ）≠０の場合（ステップＳ１３、Ｎｏ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）とが異なる場合、比較器３２は“セル劣化警告”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ１５）。
【００５３】
次に、シーケンサ１５は、レジスタ１７に保持された上記情報に基づいて、コントローラ２０又は外部のホストに“セル劣化無し”又は“セル劣化警告”の旨の情報を出力し（ステップＳ１６）、判定動作を終了する。
【００５４】
尚、ステップＳ１１及びステップＳ１２で読み出しに用いる電圧Ｖｔ（ａ）、Ｖｔ（ｂ）を印加する順番はこれに限定されず、逆にしても良い。この場合、ステップＳ１１でＶｔ（ａ）を用いてオンするメモリセルの数がカウントされ、ステップＳ１２でＶｔ（ｂ）を用いてオンするメモリセルの数がカウントされる。
【００５５】
その後、ホスト機器において、例えば表示部に“セル劣化警告”の旨のメッセージが表示される等されることで、ユーザは半導体記憶装置が劣化していることを認識することができる。
【００５６】
［１−３］第１実施形態の効果
電荷蓄積層を有するメモリセルを用いたＮＡＮＤ型フラッシュメモリにおいて、書き込み及び消去の繰り返しは、メモリセルのトンネル酸化膜を徐々に劣化させる。トンネル酸化膜が劣化すると、図５及び図６に示すような閾値分布の広がりが生じ、隣り合う閾値分布の中間に設定される通常の読み出し電圧では、誤読み出しのメモリセル（不良ビット）が多数発生してしまうことがある。通常これらの不良ビットは、コントローラでエラーコレクションを実行することによって訂正される。
【００５７】
しかし、訂正可能な不良ビットであっても、劣化したメモリセルを使用し続けることはデータの信頼性の低下に繋がる。これまでホスト機器は、事前にこれらのメモリセルの劣化状態を知るために、不良ビットのカウントの増減を常にモニターする必要があった。
【００５８】
そこで、第１実施形態に係る半導体記憶装置１０は、劣化前のメモリセルの閾値分布に基づいて設定された２つの読み出し電圧を用いて判定動作を実行し、メモリセルの劣化状態を判定する。具体的には、読み出し電圧Ｖｔ（ａ）及びＶｔ（ｂ）を用いてオンするメモリセルの数をカウントし、Ｖｔ（ａ）でオンしたメモリセル数ＮＶｔ（ａ）と、Ｖｔ（ｂ）でオンしたメモリセル数ＮＶｔ（ｂ）との比較を半導体記憶装置１０内部で行う。その後、半導体記憶装置１０は、ＮＶｔ（ａ）とＮＶｔ（ｂ）とが等しい場合、“セル劣化無し”のメッセージ（すなわち、セルが劣化していない旨の情報）をコントローラ２０に出力し、ＮＶｔ（ａ）とＮＶｔ（ｂ）とが異なる場合、“セル劣化警告”のメッセージ（すなわち、セルが劣化している旨の情報）をコントローラ２０に出力する。つまり半導体記憶装置１０は、２つの読み出し電圧でそれぞれオンするメモリセルの数が変化した場合にメモリセルが劣化していると判定し、その情報をコントローラ２０に知らせる。
【００５９】
これにより、ホスト機器はメモリセルの劣化状態を知ることができ、メモリセルの劣化状態を簡便に管理することができる。例えば、メモリセルの劣化が確認された場合、そのブロックＢＬＫに書き込まれているデータを、他の劣化が少ないブロックＢＬＫ、又は他のデバイスに予防的な措置として移すことが考えられる。このように、劣化が確認されたブロックＢＬＫに対する措置をとることで、半導体記憶装置１０のデータの信頼性を向上することができる。
【００６０】
尚、判定動作において、２つの読み出し電圧によってオンするセルの数（オンセル数）をカウントしてメモリセルの劣化状態を判定することを一例として説明したが、これに限定されず、２つの読み出し電圧によってオフするメモリセルの数（オフセル数）をカウントすることでメモリセルの劣化状態を判定しても良い。
【００６１】
また、判定動作において、ホスト機器には、半導体記憶装置１０がコントローラ２０に出力した判定結果に応じてメッセージが表示されるようにしても良い。
【００６２】
また、判定動作は、コントローラ２０がコマンドを発行することによって実行されるが、これに限定されず、コントローラ２０からコマンドを受信することなく半導体記憶装置１０がアイドル時に自発的に判定動作を実行しても良い。
【００６３】
また、判定動作で比較に用いるページ数は、１ページに限定されず、複数のページに対して判定動作を行っても良い。この場合、異なるページを同じ読み出し電圧でカウントして、その結果を加算する回路を判定回路１６に追加すれば良い。
【００６４】
また、半導体記憶装置１０は、コントローラ２０から判定動作のコマンドを受信した際に、いずれか１つのブロックＢＬＫを選択して、このブロックＢＬＫ内のいずれかのページから読みだしたデータを用いて判定を行っても良い。この際、ブロックＢＬＫ及びページは、コントローラから受信したアドレスによって指定されても良い。
【００６５】
また、判定動作のコマンドを受信した際に、複数のブロックＢＬＫについて判定動作を行っても良い。例えば半導体記憶装置１０は、まずブロックＢＬＫ０を選択し、ブロックＢＬＫ０につき判定動作を行い、判定結果をコントローラ２０へ送信する。次に半導体記憶装置１０は、ブロックＢＬＫ１を選択し、判定結果をコントローラ２０へ送信する。判定動作を行うブロックＢＬＫは、一部でも良いし、全てでも良い。全てのブロックＢＬＫを対象にすれば、コントローラ２０はメモリセルアレイ１１全体における劣化状況を把握することができる。
【００６６】
さらに、半導体記憶装置１０は、書き込み及び消去が一定回数以上のブロックＢＬＫを選択して判定動作を行っても良い。
【００６７】
［２］第２実施形態
次に、第２実施形態に係る半導体記憶装置及びその制御方法について説明する。第２実施形態は、上記第１実施形態において判定する劣化レベルを複数個設けたものであり、メモリセルの劣化状態を細かく判別する。以下では、第１実施形態と異なる点についてのみ説明する。
【００６８】
［２−１］判定回路１６の構成
まず、図９を用いて第２実施形態に係る判定回路１６の構成について説明する。
【００６９】
図９に示すように、判定回路１６は、減算器３３をさらに備えている。
【００７０】
カウンタ３０は、カウント結果ＮＶｔ（ｂ）を減算器３３の第１入力端子に入力する。ラッチ回路３１は、カウンタ３０から受けたカウント結果ＮＶｔ（ａ）を減算器３３の第２入力端子に入力する。
【００７１】
減算器３３は、第１入力端子に入力された数値ＮＶｔ（ｂ）と、第２入力端子に入力された数値ＮＶｔ（ａ）との差を計算し、計算結果を比較器３２の第１入力端子に送る。比較器３２は、第１入力端子に入力された減算器３３の計算結果と、シーケンサ１５によって発行され、第２入力端子に入力された数値とを比較し、比較結果をレジスタ１７に送る。その他の構成は第１実施形態と同様である。
【００７２】
［２−２］判定動作
次に、図１０を用いて第２実施形態に係る半導体記憶装置１０の判定動作について説明する。
【００７３】
まず、ステップ１０〜ステップ１２の動作が順に行われる。
【００７４】
次に、減算器３３は、ラッチ回路３１に保持されたＮＶｔ（ｂ）と、カウンタ３０に保持されたＮＶｔ（ａ）との差を計算し（ステップＳ２０）、その計算結果を比較器３２に送る。
【００７５】
次に、比較器３２は、シーケンサ１５が発行した“０”と、減算器３３の計算結果とを比較する（ステップＳ２１）。
【００７６】
比較の結果、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＝０の場合（ステップＳ２１、Ｎｏ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）とが等しい場合、比較器３２は“セル劣化無し”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ２２）。ステップＳ２２の次は、後述するステップＳ２８に移行する。
【００７７】
一方、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＞０の場合（ステップＳ２１、Ｙｅｓ）、つまりＮＶｔ（ｂ）がＮＶｔ（ａ）より大きい場合、比較器３２は、シーケンサ１５が発行した数値“Ｎ”（Ｎは０を超えた整数）と、減算器３３の計算結果とを比較する（ステップＳ２３）。
【００７８】
比較の結果、ＮＶｔ（ｂ）−ＮＶｔ（ａ）≦Ｎの場合（ステップＳ２３、Ｎｏ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮ以下の場合、比較器３２は“セル劣化レベル１”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ２４）。ステップＳ２４の次は、後述するステップＳ２８に移行する。
【００７９】
一方、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＞Ｎの場合（ステップＳ２３、Ｙｅｓ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮより大きい場合、比較器３２は、シーケンサ１５が発行した数値“Ｍ”（ＭはＮを超えた整数）と、減算器３３の計算結果とを比較する（ステップＳ２５）。
【００８０】
比較の結果、ＮＶｔ（ｂ）−ＮＶｔ（ａ）≦Ｍの場合（ステップＳ２５、Ｎｏ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＭ以下の場合、比較器３２は“セル劣化レベル２”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ２６）。ステップＳ２６の次は、後述するステップＳ２８に移行する。
【００８１】
一方、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＞Ｍの場合（ステップＳ２３、Ｙｅｓ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＭより大きい場合、比較器３２は“セル劣化警告”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する（ステップＳ２７）。
【００８２】
次に、シーケンサ１５は、レジスタ１７に保持された上記情報に基づいて、コントローラ２０又は外部のホストにメッセージを出力し（ステップＳ２８）、判定動作を終了する。
【００８３】
［２−３］第２実施形態の効果
第２実施形態に係る半導体記憶装置１０の判定動作は、メモリセルの劣化状態について、複数の劣化レベルに分けてメッセージを出力する。具体的には、第１実施形態と同様にＶｔ（ａ）及びＶｔ（ｂ）を用いた同一ページの読み出し動作でオンしたメモリセル数をカウントし、続けてカウント結果であるＮＶｔ（ａ）とＮＶｔ（ｂ）との差を計算する。そして、ＮＶｔ（ａ）とＮＶｔ（ｂ）との差が、シーケンサ１５が発行する数値と比較される。例えば、シーケンサが“０”を発行して、ＮＶｔ（ａ）とＮＶｔ（ｂ）が等しいとき、“セル劣化無し”と判定され、ＮＶｔ（ａ）とＮＶｔ（ｂ）とが異なるとき、続けてシーケンサ１５は“Ｎ”を発行する。そしてＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮ以下のとき、“セル劣化レベル１”と判定され、ＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮより大きいとき、続けてシーケンサ１５は“Ｍ”を発行する。そしてＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＭ以下のとき、“セル劣化レベル２”と判定され、ＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＭより大きいのとき、“セル劣化警告レベル”と判定される。このように、半導体記憶装置１０は、同一ページで劣化したメモリセルの数に対応するＮＶｔ（ａ）とＮＶｔ（ｂ）との差を“セル劣化レベル１”、“セル劣化レベル２”、セル劣化警告レベル”の３つの劣化レベルに分類する。そして半導体記憶装置１０は、判定した判定結果に応じたメッセージをコントローラ２０に出力する。
【００８４】
これにより、第２実施形態では、ブロックＢＬＫ内で劣化したメモリセルがどれだけ増加しているかを細かく管理することが可能となる。例えば、セル劣化レベル２のブロックＢＬＫは、セル劣化レベル１のブロックＢＬＫよりもデータの信頼性が低下しているため、セル劣化レベル２のブロックＢＬＫよりもセル劣化レベル１のブロックＢＬＫを優先的にデータの書き込みに用いる等の措置をとることが考えられる。このように、ブロックＢＬＫの劣化レベルに応じた措置をとることによって、半導体記憶装置１０の信頼性を向上することができる。
【００８５】
尚、第２実施形態では、メモリセルの劣化レベルを３つに分類した場合を例に説明したが、これに限定されず、種々変更が可能である。また、出荷後に劣化レベルの分類を変更することも可能である。
【００８６】
また、ＮＶｔ（ａ）とＮＶｔ（ｂ）との差との比較に用いる数値は、シーケンサ１５が発行しなくても良い。例えば、レジスタ１７に“Ｎ”、“Ｍ”を保持させ、判定動作でレジスタ１７に保持された数値を参照するような構成にしても良い。
【００８７】
［３］第３実施形態
次に、第３実施形態に係る半導体記憶装置及びその制御方法について説明する。第３実施形態は、上記第１、第２実施形態において、判定動作の判定結果に基づいてバッドブロックフラグをセットする。以下では、第１、第２実施形態と異なる点についてのみ説明する。
【００８８】
［３−１］判定動作
図１１を用いて第３実施形態に係る半導体記憶装置１０の判定動作について説明する。
【００８９】
まず、ステップ１０〜ステップ１２、及びステップ２０の動作が順に行われる。
【００９０】
次に、比較器３２は、シーケンサ１５が発行した数値“Ｎ”と、減算器３３の計算結果とを比較する（ステップＳ３０）。
【００９１】
比較の結果、ＮＶｔ（ｂ）−ＮＶｔ（ａ）≦Ｎの場合（ステップＳ３０、Ｎｏ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮ以下の場合、比較器３２は“セル劣化無し”を示す情報をレジスタ１７に送り、判定動作を終了する。
【００９２】
一方で、ＮＶｔ（ｂ）−ＮＶｔ（ａ）＞Ｎの場合（ステップＳ３０、Ｙｅｓ）、つまりＮＶｔ（ａ）とＮＶｔ（ｂ）との差がＮより大きい場合、比較器３２は“セル劣化警告”を示す情報をレジスタ１７に送り、レジスタ１７はこの情報を保持する。続けてシーケンサ１５は、レジスタ１７に保持されたメモリセル情報に基づいて、“セル劣化警告”指定されたブロックＢＬＫに対応するＢＢＦをロウデコーダ１２にセットし（ステップ３１）、判定動作を終了する。
【００９３】
［３−２］第３実施形態の効果
第３実施形態係る半導体記憶装置１０の判定動作では、劣化したメモリセルを検出した場合、対応するブロックＢＬＫを内部処理で使用不可にする。具体的には、判定動作において不良ビット数が予め設定された値を超えた場合、ロウデコーダ１２には、そのメモリセルを含むブロックＢＬＫに対応するＢＢＦがセットされる。
【００９４】
これにより、劣化が起きたメモリセルの使用を避けることができ、半導体記憶装置１０の信頼性を向上することができる。また、第３実施形態の判定動作は、半導体記憶装置１０の内部処理でＢＢＦをセットするため、コントローラ２０がコマンドを発行して半導体記憶装置１０にＢＢＦをセットさせるのと比べて、動作速度を速くすることができる。
【００９５】
尚、判定動作においてＢＢＦをセットする前に、そのブロックＢＬＫに書き込まれているデータは、他の劣化が少ないブロックＢＬＫに移される。また、ＢＢＦをセットするのと併せて、コントローラ２０にメッセージを出力しても良い。
【００９６】
また、半導体記憶装置１０の内部処理でセットされたＢＢＦの情報は、メモリシステム１の電源がオフするまでに半導体記憶装置１０（例えばＲＯＭフューズ）に書き込まれる。ＢＢＦの情報の書き込みは、例えば判定動作を行った直後に行っても良いし、半導体記憶装置１０のアイドル時に行っても良い。ＢＢＦの情報を半導体記憶装置１０に書き込むタイミングは、これに限定されず、種々変更が可能である。
【００９７】
［４］その他
上記実施形態に係る半導体記憶装置１０は、複数のメモリセルを含むメモリセルアレイ≪１１、図２≫と、判定回路≪１６、図２≫と、を備える。判定回路１６は、メモリセルの第１閾値≪“１”データ、図４≫の判定に使用される第１電圧≪Ｖｔ（ａ）、図４≫をメモリセルのゲートに印加した際のオンセル数又はオフセル数と、第１閾値の判定に使用され、且つ第１電圧Ｖｔ（ａ）と異なる第２電圧≪Ｖｔ（ｂ）、図４≫をメモリセルのゲートに印加した際のオンセル数又はオフセル数とをカウントする。そして判定回路１６は、第１電圧Ｖｔ（ａ）に対応する第１カウント結果≪ＮＶｔ（ａ）、図７≫と、第２電圧Ｖｔ（ｂ）に対応する第２カウント結果≪ＮＶｔ（ｂ）、図７≫とを比較する。
【００９８】
これにより、メモリセルの劣化状態を簡便に管理することが可能になる。
【００９９】
尚、実施形態は、上記第１、第２実施形態に限らず、種々の変形が可能である。
【０１００】
例えば、上述した判定回路１６の構成は一例であり、これに限定されない。例えば、カウント結果であるＮＶｔ（ａ）及びＮＶｔ（ｂ）をそれぞれ、別のラッチ回路に保持させてから、比較器３２又は減算器３３に入力しても良い。また、減算器３３と比較器３２との間にラッチ回路を設けても良い。
【０１０１】
また、フローチャートで説明した各処理は、可能な限り入れ替えることができる。
【０１０２】
また、上記実施形態は、多値のデータを保持するメモリセルにも適用可能である。また、上記実施形態は、フローティングゲートを用いたＮＡＮＤ型フラッシュメモリを一例として説明したが、これに限定されず、例えばＭＯＮＯＳを用いたＮＡＮＤ型フラッシュメモリにも適用可能である。
【０１０３】
また、メモリセルの劣化状態の判断は、コントローラ２０が行っても良い。例えば、半導体記憶装置１０がカウント結果ＮＶｔ（ａ）及びＮＶｔ（ｂ）、又はＮＶｔ（ａ）とＮＶｔ（ｂ）の差を計算した結果をコントローラ２０に送信し、コントローラ２０がその数値に基づいてメモリセルの劣化状態を判断しても良い。
【０１０４】
また、上記実施形態は、メモリセルが三次元に積層されたＮＡＮＤ型フラッシュメモリにも適用可能である。メモリセルアレイ１１の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０１０５】
尚、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０６】
１…メモリシステム、１０…半導体記憶装置、１１…メモリセルアレイ、１２…ロウデコーダ、１３…センスアンプモジュール、１４…ドライバ、１５…シーケンサ、１６…判定回路、１７…レジスタ、１８…入出力回路、２０…コントローラ、２１…ホストインターフェイス回路、２２…内蔵メモリ、２３…プロセッサ、２４…バッファメモリ、２５…ＮＡＮＤインターフェイス回路、２６…ＥＣＣ回路、３０…カウンタ、３１…ラッチ回路、３２…比較器、３３…減算器、ＢＬＫ…ブロック、ＭＴ…メモリセルトランジスタ。ＳＴ１，ＳＴ２…選択トランジスタ、ＷＬ…ワード線
【図１】
2017111503.tif 000003
【図２】
2017111503.tif 000004
【図３】
2017111503.tif 000005
【図４】
2017111503.tif 000006
【図５】
2017111503.tif 000007
【図６】
2017111503.tif 000008
【図７】
2017111503.tif 000009
【図８】
2017111503.tif 000010
【図９】
2017111503.tif 000011
【図１０】
2017111503.tif 000012
【図１１】
2017111503.tif 000013