(57)【要約】【課題】  誤り訂正効率の低下を抑制する。【解決手段】  実施形態のメモリシステムは、メモリセルアレイ２０を含む不揮発性メモリ２と、第１ＥＣＣ回路と、第１ＥＣＣ回路より誤り訂正能力が高い第２ＥＣＣ回路とを含み、不揮発性メモリ２からデータを読み出すメモリコントローラ３とを含む。第１ＥＣＣ回路は、不揮発性メモリ２から読み出された第１読み出しデータのエラーを訂正する。メモリコントローラ３は、第１ＥＣＣ回路によりエラーが訂正できなかった場合に、メモリセルアレイ２０にハードエラーが発生しているか否かを判定する。第２ＥＣＣ回路は、ハードエラーが発生している場合に、ハードエラーが発生しているビットを除いた第２読み出しデータを用いて、エラー訂正を実行する。【選択図】  図１９
2019160195.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイを含む不揮発性メモリと、
第１ＥＣＣ（Error Checking and Correcting）回路と、前記第１ＥＣＣ回路より誤り訂正能力が高い第２ＥＣＣ回路とを含み、前記不揮発性メモリからデータを読み出すメモリコントローラと
を具備し、
前記第１ＥＣＣ回路は、前記不揮発性メモリから読み出された第１読み出しデータのエラーを訂正し、
前記メモリコントローラは、前記第１ＥＣＣ回路によりエラーが訂正できなかった場合に、前記メモリセルアレイにハードエラーが発生しているか否かを判定し、
前記第２ＥＣＣ回路は、前記ハードエラーが発生している場合に、前記ハードエラーが発生しているビットを除いた第２読み出しデータを用いて、エラー訂正を実行する
メモリシステム。
【請求項２】
前記第２ＥＣＣ回路は、前記ハードエラーが発生していない場合に、前記第１読み出しデータを用いて、エラー訂正を実行する
請求項１に記載のメモリシステム。
【請求項３】
前記第１ＥＣＣ回路は、硬判定復号を実行し、
前記第２ＥＣＣ回路は、軟判定復号を実行する
請求項１又は２に記載のメモリシステム。
【請求項４】
前記第１ＥＣＣ回路は、ＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号を用いて復号化し、
前記第２ＥＣＣ回路は、ＬＤＰＣ（Low-Density Parity Check）符号を用いて復号化する
請求項１乃至３のいずれかに記載のメモリシステム。
【請求項５】
前記メモリセルアレイは、複数のメモリストリングと、複数のワード線とを含み、前記複数のメモリストリングの各々は、第１及び第２選択トランジスタと、前記第１及び第２選択トランジスタの間に直列接続された複数のメモリセルトランジスタとを含み、前記複数のワード線はそれぞれ、前記複数のメモリセルトランジスタに接続され、
前記不揮発性メモリは、前記複数のワード線の電圧を制御する制御回路を含み、
前記制御回路は、前記ハードエラーの判定動作において、前記複数のワード線に、前記複数のメモリセルトランジスタをオンさせる第１電圧を印加する
請求項１乃至４のいずれかに記載のメモリシステム。
【請求項６】
前記複数のメモリセルトランジスタは、垂直方向に積層され、柱状の半導体からなるチャネルを共有する
請求項５に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性メモリを備えたメモリシステムに関する。
【背景技術】
【０００２】
不揮発性メモリの一種として、３次元に積層された複数のメモリセルを備えたＮＡＮＤ型フラッシュメモリが知られている。
【０００３】
ＮＡＮＤ型フラッシュメモリは、一本のビット線に複数のメモリセルが連結した構造をとっていることから、連結した複数のメモリセルのうち一部のメモリセルの状態に影響されて、読み出し不良を引き起こすことがある。ＮＡＮＤ型フラッシュメモリは、ＥＣＣ回路を搭載することで、この読み出し不良を低減している。ＥＣＣ回路には、非常に高い誤り訂正能力を持つＬＤＰＣ（Low-Density Parity Check）技術がある。ＬＤＰＣ訂正では、複号に用いられるＬＬＲ（log likelihood ratio）値は動的に変化する“０”及び“１”のそれぞれの確率分布を用いているため、正常な確率分布のデータは高い能力で訂正することができる。
【０００４】
ＬＤＰＣ技術は非常に高い誤り訂正能力を持つ一方、確率分布から逸脱するハードビットエラー（ＨＢＥ：Hard Bit Error）の存在により著しく訂正能力が影響を受ける。よって、訂正能力の低下を抑制するためのシステム構築が必要である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７１８５２号公報
【特許文献２】特開２０１４−６３５５１号公報
【特許文献３】米国特許出願公開第２０１６／０２３２９８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施形態は、誤り訂正効率の低下を抑制することが可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００７】
実施形態に係るメモリシステムは、メモリセルアレイを含む不揮発性メモリと、第１ＥＣＣ（Error Checking and Correcting）回路と、前記第１ＥＣＣ回路より誤り訂正能力が高い第２ＥＣＣ回路とを含み、前記不揮発性メモリからデータを読み出すメモリコントローラとを具備する。前記第１ＥＣＣ回路は、前記不揮発性メモリから読み出された第１読み出しデータのエラーを訂正する。前記メモリコントローラは、前記第１ＥＣＣ回路によりエラーが訂正できなかった場合に、前記メモリセルアレイにハードエラーが発生しているか否かを判定する。前記第２ＥＣＣ回路は、前記ハードエラーが発生している場合に、前記ハードエラーが発生しているビットを除いた第２読み出しデータを用いて、エラー訂正を実行する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るメモリシステムのブロック図。
【図２】図１に示したＮＡＮＤ型フラッシュメモリのブロック図。
【図３】メモリセルアレイに含まれるブロックＢＬＫの回路図。
【図４】メモリセルアレイに含まれるブロックＢＬＫの平面図。
【図５】メモリセルアレイに含まれるブロックＢＬＫの断面図。
【図６】メモリセルトランジスタの閾値電圧分布の一例を示す模式図。
【図７】図２に示したセンスアンプユニット及びデータレジスタのブロック図。
【図８】オープン不良を説明する図。
【図９】オープン不良を説明する図。
【図１０】オープン不良を説明する図。
【図１１】ノーマルリードを説明する図。
【図１２】不良ビットの閾値電圧分布を説明する図。
【図１３】ＬＤＰＣ訂正の模式図。
【図１４】ＬＤＰＣ訂正の模式図。
【図１５】ＬＤＰＣ訂正の模式図。
【図１６】ＢＣＨ訂正の一例を説明する模式図。
【図１７】ＢＣＨ訂正の他の例を説明する模式図。
【図１８】ＬＤＰＣ訂正の一例を説明する模式図。
【図１９】メモリシステムの読み出し動作を説明するフローチャート。
【図２０】ＮＡＮＤ型フラッシュメモリのハードエラー判定動作を説明する図。
【図２１】シフトリードを説明するタイミングチャート。
【発明を実施するための形態】
【０００９】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置等によって、本発明の技術思想が特定されるものではない。各機能ブロックは、ハードウェア及びソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。各機能ブロックが以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。なお、以下の説明において、同一の機能及び構成を有する要素については同一符号を付し、重複説明は必要な場合にのみ行う。
【００１０】
［１］  メモリシステム１の構成
図１は、実施形態に係るメモリシステム１のブロック図である。メモリシステム１は、ＮＡＮＤ型フラッシュメモリ（半導体記憶装置）２、及びメモリコントローラ３を備える。
【００１１】
メモリシステム１は、ホスト装置が搭載されたマザーボード上にメモリシステム１を構成する複数のチップを実装して構成してもよいし、メモリシステム１を１つのモジュールで実現するシステムＬＳＩ（large-scale integrated circuit）、又はＳｏＣ（system on chip）として構成してもよい。メモリシステム１の例としては、ＳＤＴＭカードのようなメモリカード、ＳＳＤ（solid state drive）、及びｅＭＭＣ（embedded multimedia card）などが挙げられる。
【００１２】
ＮＡＮＤ型フラッシュメモリ２は、複数のメモリセルを備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリ２の具体的な構成については後述する。
【００１３】
メモリコントローラ３は、例えばホスト装置４からの命令に応答して、ＮＡＮＤ型フラッシュメモリ２に対して書き込み（プログラムともいう）、読み出し、及び消去などを命令する。また、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２のメモリ空間を管理する。メモリコントローラ３は、ホストインターフェース回路（ホストＩ／Ｆ）１０、プロセッサ１１、ＲＡＭ（Random Access Memory）１２、バッファメモリ１３、ＮＡＮＤインターフェース回路（ＮＡＮＤ Ｉ／Ｆ）１４、及びＥＣＣ（Error Checking and Correcting）部１５などを備える。これらのモジュールは、バス１６を介して互いに接続される。
【００１４】
ホストインターフェース回路１０は、ホストバスを介してホスト装置４に接続され、ホスト装置４との間でインターフェース処理を行う。また、ホストインターフェース回路１０は、ホスト装置４との間で、命令、アドレス、及びデータの送受信を行う。
【００１５】
プロセッサ１１は、例えばＣＰＵ（Central Processing unit)から構成される。プロセッサ１１は、メモリコントローラ３全体の動作を制御する。例えば、プロセッサ１１は、ホスト装置４から書き込み命令を受けた場合に、それに応答して、ＮＡＮＤインターフェースに基づく書き込み命令をＮＡＮＤ型フラッシュメモリ２に発行する。読み出し及び消去の場合も同様である。また、プロセッサ１１は、ウェアレベリングなど、ＮＡＮＤ型フラッシュメモリ２を管理するための様々な処理を実行する。
【００１６】
ＲＡＭ１２は、プロセッサ１１の作業領域として使用され、ＮＡＮＤ型フラッシュメモリ２からロードされたファームウェア、及びプロセッサ１１が作成した各種テーブルなどを格納する。ＲＡＭ１２は、例えばＤＲＡＭから構成される。バッファメモリ１３は、ホスト装置４から送信されたデータを一時的に保持するとともに、ＮＡＮＤ型フラッシュメモリ２から送信されたデータを一時的に保持する。
【００１７】
ＥＣＣ部１５は、データの書き込み時には、書き込みデータに対して誤り訂正符号を生成し、この誤り訂正符号を書き込みデータに付加してＮＡＮＤインターフェース回路１４に送る。また、ＥＣＣ部１５は、データの読み出し時には、読み出しデータに対して、読み出しデータに含まれる誤り訂正符号を用いてエラー検出及びエラー訂正を行う。なお、ＥＣＣ部１５は、ＮＡＮＤインターフェース回路１４内に設けるようにしてもよい。
【００１８】
ＥＣＣ部１５は、第１ＥＣＣ回路１５Ａ、及び第２ＥＣＣ回路１５Ｂを含む。すなわち、本実施形態では、メモリコントローラ３は、２種類のＥＣＣ回路を備える。第１ＥＣＣ回路１５Ａと第２ＥＣＣ回路１５Ｂとは、誤り訂正能力が異なり、第２ＥＣＣ回路１５Ｂの誤り訂正能力は、第１ＥＣＣ回路１５Ａの誤り訂正能力より高い。第１ＥＣＣ回路１５Ａは、例えばＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号を用いてエラー訂正を行う。第２ＥＣＣ回路１５Ｂは、例えばＬＤＰＣ（低密度パリティ検査：Low-Density Parity Check）符号を用いてエラー訂正を行う。
【００１９】
ＮＡＮＤインターフェース回路１４は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ２に接続され、ＮＡＮＤ型フラッシュメモリ２との間でインターフェース処理を行う。また、ＮＡＮＤインターフェース回路１４は、ＮＡＮＤ型フラッシュメモリ２との間で命令、アドレス、及びデータの送受信を行う。
【００２０】
［１−１］  ＮＡＮＤ型フラッシュメモリ２の構成
図２は、図１に示したＮＡＮＤ型フラッシュメモリ２のブロック図である。
【００２１】
ＮＡＮＤ型フラッシュメモリ２は、メモリセルアレイ２０、入出力回路２１、ロジック制御回路２２、レジスタ２３、シーケンサ（制御回路）２４、電圧生成回路２５、ロウデコーダ２６、カラムデコーダ２７、センスアンプユニット２８、及びデータレジスタ（データキャッシュ）２９を備える。
【００２２】
メモリセルアレイ２０は、ｊ個のブロックＢＬＫ０〜ＢＬＫ（ｊ−１）を備える。ｊは、１以上の整数である。複数のブロックＢＬＫの各々は、複数のメモリセルトランジスタを備える。メモリセルトランジスタは、電気的に書き換え可能なメモリセルから構成される。メモリセルアレイ２０には、メモリセルトランジスタに印加する電圧を制御するために、複数のビット線、複数のワード線、及びソース線などが配設される。ブロックＢＬＫの具体的な構成については後述する。
【００２３】
入出力回路２１及びロジック制御回路２２は、ＮＡＮＤバスを介して、メモリコントローラ３に接続される。入出力回路２１は、メモリコントローラ３との間でＮＡＮＤバスを介して、信号ＤＱ（例えばＤＱ０〜ＤＱ７）を送受信する。
【００２４】
ロジック制御回路２２は、メモリコントローラ３からＮＡＮＤバスを介して、外部制御信号（例えば、チップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、書き込みイネーブル信号ＷＥｎ、読み出しイネーブル信号ＲＥｎ、及びライトプロテクト信号ＷＰｎ）を受信する。信号名に付記された“ｎ”は、アクティブ・ローを示す。また、ロジック制御回路２２は、ＮＡＮＤバスを介して、メモリコントローラ３にレディー／ビジー信号ＲＢｎを送信する。
【００２５】
信号ＣＥｎは、ＮＡＮＤ型フラッシュメモリ２の選択を可能にする。信号ＣＬＥは、信号ＤＱとして送信されるコマンドをコマンドレジスタにラッチすることを可能にする。信号ＡＬＥは、信号ＤＱとして送信されるアドレスをアドレスレジスタにラッチすることを可能にする。信号ＷＥｎは、書き込みを可能にする。信号ＲＥｎは、読み出しを可能にする。信号ＷＰｎは、書き込み及び消去を禁止する。信号ＲＢｎは、ＮＡＮＤ型フラッシュメモリ２がレディー状態（外部からの命令を受け付けることが可能である状態）であるか、ビジー状態（外部からの命令を受け付けることができない状態）であるかを示す。メモリコントローラ３は、信号ＲＢｎを受けることで、ＮＡＮＤ型フラッシュメモリ２の状態を知ることができる。信号ＲＢｎがハイレベルの場合がレディー状態、信号ＲＢｎがローレベルの場合がビジー状態である。
【００２６】
レジスタ２３は、コマンドレジスタ、アドレスレジスタ、及びステータスレジスタなどを備える。コマンドレジスタは、コマンドを一時的に保持する。アドレスレジスタは、アドレスを一時的に保持する。ステータスレジスタは、ＮＡＮＤ型フラッシュメモリ２の動作に必要なデータを一時的に保持する。レジスタ２３は、例えばＳＲＡＭから構成される。
【００２７】
制御回路２４は、レジスタ２３からコマンドを受け、このコマンドに基づくシーケンスに従ってＮＡＮＤ型フラッシュメモリ２を統括的に制御する。
【００２８】
電圧生成回路２５は、ＮＡＮＤ型フラッシュメモリ２の外部から電源電圧を受け、この電源電圧を用いて、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を生成する。電圧生成回路２５は、生成した電圧を、メモリセルアレイ２０、ロウデコーダ２６、及びセンスアンプユニット２８などに供給する。
【００２９】
ロウデコーダ２６は、レジスタ２３からロウアドレスを受け、このロウアドレスをデコードする。ロウデコーダ２６は、デコードされたロウアドレスに基づいて、ワード線の選択動作を行う。そして、ロウデコーダ２６は、選択されたブロックに、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を転送する。
【００３０】
カラムデコーダ２７は、レジスタ２３からカラムアドレスを受け、このカラムアドレスをデコードする。カラムデコーダ２７は、デコードされたカラムアドレスに基づいて、いずれかのビット線を選択する。
【００３１】
センスアンプユニット２８は、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたデータを検知及び増幅する。また、センスアンプユニット２８は、データの書き込み時には、書き込みデータをビット線に転送する。
【００３２】
データレジスタ２９は、データの読み出し時には、センスアンプユニット２８から転送されたデータを一時的に保持し、これをシリアルに入出力回路２１へ転送する。また、データレジスタ２９は、データの書き込み時には、入出力回路２１からシリアルに転送されたデータを一時的に保持し、これをセンスアンプユニット２８へ転送する。データレジスタ２９は、ＳＲＡＭなどで構成される。
【００３３】
［１−２］  ブロックＢＬＫの構成
図３は、メモリセルアレイ２０に含まれるブロックＢＬＫの回路図である。複数のブロックＢＬＫの各々は、複数のストリングユニットＳＵを備える。図３には、４つのストリングユニットＳＵ０〜ＳＵ３を例示している。１つのブロックＢＬＫに含まれるストリングユニットＳＵの数は、任意に設定可能である。
【００３４】
複数のストリングユニットＳＵの各々は、複数のＮＡＮＤストリング（メモリストリング）ＮＳを備える。１つのストリングユニットＳＵに含まれるＮＡＮＤストリングＮＳの数は、任意に設定可能である。
【００３５】
複数のＮＡＮＤストリングＮＳの各々は、複数のメモリセルトランジスタＭＴ、及び２個の選択トランジスタＳＴ１、ＳＴ２を備える。複数のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続される。本明細書では、メモリセルトランジスタをメモリセル又はセルと呼ぶ場合もある。図３は、ＮＡＮＤストリングＮＳが８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）を備える構成例を示しているが、ＮＡＮＤストリングＮＳが備えるメモリセルトランジスタＭＴの数は、任意に設定可能である。メモリセルトランジスタＭＴは、制御ゲート電極と電荷蓄積層とを備え、データを不揮発に記憶する。メモリセルトランジスタＭＴは、１ビットのデータ、又は２ビット以上のデータを記憶することが可能である。
【００３６】
ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＤ１〜ＳＧＤ３が接続される。ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＳ１〜ＳＧＳ３が接続される。各ブロックＢＬＫ内にある複数の選択トランジスタＳＴ２のゲートは、共通の選択ゲート線ＳＧＳに接続されていてもよい。各ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれ、ワード線ＷＬ０〜ＷＬ７に接続される。
【００３７】
各ブロックＢＬＫ内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一列にある複数のＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、ビット線ＢＬ０〜ＢＬ（ｍ−１）のいずれかに共通接続される。“ｍ”は１以上の整数である。さらに、各ビット線ＢＬは、複数のブロックＢＬＫ間で、各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＮＳを接続する。各ブロックＢＬＫに含まれる複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通接続される。ソース線ＳＬは、例えば複数のブロック間で複数のＮＡＮＤストリングＮＳを共通接続する。
【００３８】
各ブロックＢＬＫ内にある複数のメモリセルトランジスタＭＴのデータは、例えば一括して消去される。データの読み出し及び書き込みは、１つのストリングユニットＳＵに配設された１本のワード線ＷＬに共通接続された複数のメモリセルトランジスタＭＴに対して、一括して行われる。このような、１つのストリングユニットＳＵ内でワード線ＷＬを共有するメモリセルトランジスタＭＴの組を、セルユニットＣＵと呼ぶ。セルユニットＣＵに含まれる複数のメモリセルトランジスタＭＴがそれぞれ記憶する１ビットのデータの集まりをページと呼ぶ。すなわち、セルユニットＣＵに対する書き込み動作及び読み出し動作は、ページを単位として実行される。
【００３９】
なお、ＮＡＮＤストリングＮＳは、ダミーセルトランジスタを備えていてもよい。具体的には、選択トランジスタＳＴ２とメモリセルトランジスタＭＴ０との間には、例えば２個のダミーセルトランジスタＤＴ０、ＤＴ１が直列接続される。メモリセルトランジスタＭＴ７と選択トランジスタＳＴ１との間には、例えば２個のダミーセルトランジスタＤＴ２、ＤＴ３が直列接続される。ダミーセルトランジスタＤＴ０〜ＤＴ３のゲートにはそれぞれ、ダミーワード線ＷＬＤ０〜ＷＬＤ３が接続される。ダミーセルトランジスタの構造は、メモリセルトランジスタと同じである。ダミーセルトランジスタは、データを記憶するためのものではなく、書き込み動作や消去動作中に、メモリセルトランジスタや選択トランジスタが受けるディスターブを緩和する機能を有する。
【００４０】
［１−３］  ブロックＢＬＫの積層構造
図４は、メモリセルアレイ２０に含まれるブロックＢＬＫの平面図である。図５は、メモリセルアレイ２０に含まれるブロックＢＬＫの断面図である。Ｘ方向は、選択ゲート線が延びる方向であり、Ｘ方向と水平面内で直交するＹ方向は、ビット線が延びる方向であり、Ｚ方向は、積層方向である。
【００４１】
図４に示すように、ブロックＢＬＫは、例えば千鳥状に配置された複数のメモリホールＭＨを備える。隣接する２つのブロックＢＬＫは、配線部ＬＩを介して電気的に分離され、配線部ＬＩは、ソース線と半導体基板とを電気的に接続する。分離部ＳＴＩは、絶縁材料で構成され、隣接するストリングユニットＳＵの選択ゲート線ＳＧＤを電気的に分離する。
【００４２】
図５には、ブロックＢＬＫｎを中心にして、３個のブロックＢＬＫ（ｎ−１）〜ＢＬＫ（ｎ＋１）を示している。なお、図５には、分離部ＳＴＩの図示を省略しているが、前述したように、分離部ＳＴＩは、選択ゲート線ＳＧＤの分離することが可能な深さを有する絶縁部材である。
【００４３】
半導体基板３０は、例えばシリコン基板で構成される。半導体基板３０は、その表面領域に、ｐ型ウェル領域３０Ａを備える。ｐ型ウェル領域３０Ａ上には、複数のＮＡＮＤストリングＮＳが設けられる。すなわち、ウェル領域３０Ａ上には、選択ゲート線ＳＧＳとして機能する配線層３１、ワード線ＷＬ０〜ＷＬ７として機能する８層の配線層３２、及び選択ゲート線ＳＧＤとして機能する配線層３３が、順次積層される。積層された複数の配線層間にはそれぞれ、複数の絶縁層３４が設けられる。
【００４４】
メモリホールＭＨは、配線層３１、３２、３３を貫通してウェル領域３０Ａに達する。メモリホールＭＨ内かつその下部には、半導体基板３０と同じ材料からなるエピタキシャル層３０Ｂが設けられる。メモリホールＭＨ内かつエピタキシャル層３０Ｂ上には、ピラー状の半導体層（半導体ピラー）３５が設けられる。半導体ピラー３５内には、心材（コア）３６が設けられる。心材３６は、絶縁材料（例えば、シリコン酸化物）から構成される。
【００４５】
半導体ピラー３５の側面には、ゲート絶縁膜３７、電荷蓄積層（絶縁膜）３８、及びブロック絶縁膜３９が順に設けられる。これらによってメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１、ＳＴ２が構成される。半導体ピラー３５は、ＮＡＮＤストリングＮＳの電流経路として機能し、各トランジスタのチャネルが形成される領域となる。半導体ピラー３５上には、コンタクトプラグ４０が設けられる。コンタクトプラグ４０は、ビアプラグ４１を介して、Ｙ方向に延びる金属配線層４２に接続される。金属配線層４２は、ビット線ＢＬとして機能する。
【００４６】
ウェル領域３０Ａには、高濃度のｐ型不純物が導入されたｐ＋型拡散層３０Ｃが設けられる。拡散層３０Ｃ上には、Ｘ方向及びＺ方向に広がる配線部ＬＩが設けられる。配線部ＬＩの両側面には、絶縁層４３が設けられる。絶縁層４３は、配線部ＬＩと、ワード線及び選択ゲート線とを電気的に分離する機能を有する。配線部ＬＩ上には、コンタクトプラグ４４が設けられる。コンタクトプラグ４４は、図示せぬソース線ＳＬに接続される。
【００４７】
［１−４］  メモリセルトランジスタの閾値分布
次に、メモリセルトランジスタＭＴが取り得る閾値電圧Ｖｔｈの分布について説明する。図６は、メモリセルトランジスタＭＴの閾値電圧分布の一例を示す模式図である。メモリセルトランジスタＭＴは、２ビット以上のデータを記憶することが可能である。本実施形態では、メモリセルトランジスタＭＴが３ビットのデータを記憶する場合、いわゆるＴＬＣ（triple level cell）方式を例に説明する。
【００４８】
３ビットのデータは、下位（lower）ビット、中位（middle）ビット、及び上位（upper）ビットにより規定される。メモリセルトランジスタＭＴが３ビットを記憶する場合、メモリセルトランジスタＭＴは、８個の閾値電圧のうちのいずれかを有する。８個の閾値電圧を、低い方から順に、ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”と呼ぶ。ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”の各々に属する複数のメモリセルトランジスタＭＴは、分布を形成する。
【００４９】
ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”にはそれぞれ、例えば、データ“１１１”、“１１０”、“１００”、“０００”、“０１０”、“０１１”、“００１”、及び“１０１”が割り当てられる。ビットの順番は、左から、上位ビット、中位ビット、及び下位ビットである。閾値電圧分布とデータとの割り当ては、任意に設定可能である。
【００５０】
読み出し対象のメモリセルトランジスタＭＴに記憶されたデータを読み出すために、当該メモリセルトランジスタＭＴの閾値電圧が属するステートが判定される。ステートの判定のために、読み出し電圧ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、ＶＦ、及びＶＧが用いられる。
【００５１】
ステート“Ｅｒ”は、例えば、データが消去された状態（消去状態）に相当する。ステート“Ｅｒ”に属するメモリセルトランジスタＭＴの閾値電圧は、電圧ＶＡより低く、例えば負の値を有する。
【００５２】
ステート“Ａ”〜“Ｇ”は、電荷蓄積層に電荷が注入されてメモリセルトランジスタＭＴにデータが書き込まれた状態に相当し、ステート“Ａ”〜“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、例えば正の値を有する。ステート“Ａ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＡより高く、かつ読み出し電圧ＶＢ以下である。ステート“Ｂ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＢより高く、かつ読み出し電圧ＶＣ以下である。ステート“Ｃ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＣより高く、かつ読み出し電圧ＶＤ以下である。ステート“Ｄ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＤより高く、かつ読み出し電圧ＶＥ以下である。ステート“Ｅ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＥより高く、かつ読み出し電圧ＶＦ以下である。ステート“Ｆ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＦより高く、かつ読み出し電圧ＶＧ以下である。ステート“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＧより高く、非選択読み出し電圧ＶＲＥＡＤ以下である。非選択読み出し電圧ＶＲＥＡＤは、非読み出し対象のセルユニットＣＵのメモリセルトランジスタＭＴに接続されたワード線ＷＬに印加される電圧であり、いずれのステートにあるメモリセルトランジスタＭＴの閾値電圧よりも高い。つまり、制御ゲート電極に非選択読み出し電圧ＶＲＥＡＤが印加されたメモリセルトランジスタＭＴは、保持するデータに関わらずオン状態になる。
【００５３】
以上のように、各メモリセルトランジスタＭＴは、８個の閾値レベルのいずれかを有することで、８種類の状態（ステート）を取ることができる。また、データの書き込み及び読み出しは、１つのセルユニットＣＵ内のページ単位で行われる。メモリセルトランジスタＭＴが３ビットデータを記憶している場合、１つのセルユニットＣＵ内の３個のページにそれぞれ、下位ビット、中位ビット、及び上位ビットが割当てられる。以下の説明では、下位ビット、中位ビット、及び上位ビットについて一括して書き込み又は読み出されるページはそれぞれ、下位（lower）ページ、中位（middle）ページ、及び上位（upper）ページと呼ばれる。
【００５４】
［１−５］  センスアンプユニット２８及びデータレジスタ２９の構成
図７は、図２に示したセンスアンプユニット２８及びデータレジスタ２９のブロック図である。
【００５５】
センスアンプユニット２８は、ビット線ＢＬ０〜ＢＬ（ｍ−１）に対応したセンスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）を備える。各センスアンプユニットＳＡＵは、センスアンプＳＡ、及びデータラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬは、互いにデータを転送可能なように接続される。
【００５６】
データラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬは、データを一時的に保持する。書き込み動作時には、センスアンプＳＡは、データラッチ回路ＳＤＬが保持するデータに応じて、ビット線ＢＬの電圧を制御する。データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬは、メモリセルトランジスタＭＴが２ビット以上のデータを保持する多値動作用に使用される。すなわち、データラッチ回路ＡＤＬは、下位ページを保持するために使用される。データラッチ回路ＢＤＬは、中位ページを保持するために使用される。データラッチ回路ＣＤＬは、上位ページを保持するために使用される。センスアンプユニットＳＡＵが備えるデータラッチ回路の数は、１つのメモリセルトランジスタＭＴが保持するビット数に応じて任意に変更可能である。
【００５７】
センスアンプＳＡは、読み出し動作時には、対応するビット線ＢＬに読み出されたデータを検知し、データ“０”及びデータ“１”のいずれであるかを判定する。また、センスアンプＳＡは、書き込み動作時には、書き込みデータに基づいてビット線ＢＬに電圧を印加する。
【００５８】
データレジスタ２９は、センスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）に対応した数のデータラッチ回路ＸＤＬを備える。データラッチ回路ＸＤＬは、入出力回路２１に接続される。データラッチ回路ＸＤＬは、入出力回路２１から送られた書き込みデータを一時的に保持し、また、センスアンプユニットＳＡＵから送られた読み出しデータを一時的に保持する。より具体的には、入出力回路２１とセンスアンプユニット２８との間のデータ転送は、１ページ分のデータラッチ回路ＸＤＬを介して行われる。入出力回路２１が受信した書き込みデータは、データラッチ回路ＸＤＬを介して、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬのいずれかに転送される。センスアンプＳＡによって読み出された読み出しデータは、データラッチ回路ＸＤＬを介して、入出力回路２１に転送される。
【００５９】
［２］  メモリセルアレイ２０の不良の形態
次に、メモリセルアレイ２０の不良の形態について説明する。
【００６０】
メモリホールＭＨは、Ｚ方向に延びており、ワード線の積層数が増えるにつれて長くなる。すなわち、ワード線の積層数が増えるにつれて、メモリホールＭＨの加工が困難になる。メモリホールＭＨが半導体基板３０まで到達しないと、メモリホールＭＨ内に形成される半導体ピラー３５がソース線ＳＬに電気的に接続されない。すなわち、メモリホールＭＨがオープンになる不良（以後、オープン不良と呼ぶ）が発生する。
【００６１】
図８乃至図１０は、オープン不良を説明する図である。図８が平面図、図９が断面図、図１０が回路図である。図１０では、ワード線ＷＬ０〜ＷＬ４７と、２本のダミーワード線ＷＬＤとを備えたストリングユニットＳＵを一例として示している。
【００６２】
図９に示すように、あるメモリホールＭＨが半導体基板３０まで到達しておらず、当該メモリホールＭＨがオープン不良となっている。不良メモリホール（不良ＮＡＮＤストリングＮＳ）は、メモリセルトランジスタＭＴの閾値電圧に関わらず、オフ状態となる。従って、不良ＮＡＮＤストリングＮＳのデータを読み出すことができない。
【００６３】
［３］  動作
次に、上記のように構成されたメモリシステム１の動作について説明する。
【００６４】
［３−１］  ノーマルリード
まず、通常の読み出し動作について説明する。通常の読み出し動作をノーマルリードと呼ぶ。図１１は、ノーマルリードを説明する図である。なお、図１１は、読み出し対象のストリングユニットＳＵを示している。
【００６５】
センスアンプユニット２８は、ビット線ＢＬを電圧ＶＢＬに充電する。電圧ＶＢＬは、“ＶＤＤ＞ＶＢＬ＞ＶＳＳ”に設定される。電源電圧ＶＤＤ、接地電圧ＶＳＳである。ロウデコーダ２６は、ソース線ＳＬに、電圧ＶＳＲＣを印加する。電圧ＶＳＲＣは、“ＶＢＬ＞ＶＳＲＣ≧ＶＳＳ”に設定される。
【００６６】
続いて、ロウデコーダ２６は、選択ゲート線ＳＧＤ、ＳＧＳに、電圧ＶＳＧを印加する。電圧ＶＳＧは、選択トランジスタＳＴ１、ＳＴ２をオン状態にすることが可能な電圧である。
【００６７】
続いて、ロウデコーダ２６は、選択ワード線ＷＬに読み出し電圧ＶＣＧＲＶを印加し、選択ワード線ＷＬ以外の全てのワード線に非選択読み出し電圧ＶＲＥＡＤを印加する。読み出し電圧ＶＣＧＲＶは、選択メモリセルの閾値電圧を判定するための電圧であり、読み出すデータに応じて適宜設定される。図１１では、ワード線ＷＬ２４が読み出し対象であるものとする。
【００６８】
このような電圧関係において、ＮＡＮＤストリングＮＳごとにビット線ＢＬの電圧が放電されたか否かがセンスアンプユニット２８によって判定され、選択メモリセルのデータが読み出される。
【００６９】
前述したように、オープン不良が発生している不良ＮＡＮＤストリングＮＳは、メモリセルの閾値電圧に関わらず、オフ状態となる。よって、ノーマルリードが行われた場合、不良ビットの閾値電圧分布のイメージは、図１２のようになる。
【００７０】
［３−２］  誤り訂正
前述したように、ＥＣＣ部１５は、誤り訂正能力の異なる２種類のＥＣＣ回路（第１ＥＣＣ回路１５Ａ、及び第２ＥＣＣ回路１５Ｂ）を備える。第２ＥＣＣ回路１５Ｂは、第１ＥＣＣ回路１５Ａより誤り訂正能力が高い。
【００７１】
第１ＥＣＣ回路１５Ａは、硬判定復号を行う。硬判定復号は、読み出しデータを用いて複合化を行う。第１ＥＣＣ回路１５Ａは、例えばＢＣＨ符号を用いて符号化及び復号化（ＢＣＨ訂正と呼ぶ）を行う。
【００７２】
第２ＥＣＣ回路１５Ｂは、軟判定復号を行う。軟判定復号は、データの確からしさを示す尤度（具体的には、ＬＬＲ（log likelihood ratio）値）を用いて復号化を行う。第２ＥＣＣ回路１５Ｂは、例えばＬＤＰＣ符号を用いて符号化及び復号化（ＬＤＰＣ訂正と呼ぶ）を行う。ＬＤＰＣ訂正は、ＢＣＨ訂正より誤り訂正能力が高い。
【００７３】
ＬＤＰＣ訂正は、読み出しデータを正規分布の確率密度関数化し、平均値と標準偏差とを変数とした変数（尤度）を用いて最も確からしい結果を導き出す。従って、正規分布から逸脱した読み出しデータが存在した場合、適正な尤度を得ることができず、誤った正規分布を導き出し、誤り訂正能力が低下する可能性がある。
【００７４】
図１３に、ＬＤＰＣ訂正の模式図を示す。図１３の横軸がメモリセルのデータ（閾値電圧）、図１３の縦軸が個数である。図１３の横軸及び縦軸ともに任意単位である。
【００７５】
平均値と標準偏差とが未知である場合の正規分布は図１３のようになり、読み出しデータに対して全く異なった分布が得られている。このとき、尤度は小さな値を取り、確からしさの低い正規分布が予想されていることになる。
【００７６】
尤度が最も大きくなる最尤推定を行った場合の正規分布は図１４のようになり、実データに一致した正規分布が得られる。
【００７７】
しかし、実データにおいて、図１５のように正規分布から逸脱するデータ（ハードエラー）が存在した場合、正しい最尤推定が行うことができず、図１５のような誤った正規分布を予測してしまう。これにより、誤り訂正を正確に行うことができなくなる場合がある。
【００７８】
（ＢＣＨ訂正の一例）
図１６は、ＢＣＨ訂正の一例を説明する模式図である。図１６には、ある３個のカラムＣＯＬ（ｎ−１）〜ＣＯＬ（ｎ＋１）を示している。カラムＣＯＬ（ｎ−１）がステート“Ｂ”、カラムＣＯＬｎがステート“Ｅｒ”、カラムＣＯＬ（ｎ＋１）がステート“Ｇ”であるものとする。ステート“Ｅｒ”がデータ“１１１”、ステート“Ｂ”がデータ“１００”、ステート“Ｃ”がデータ“１０１”に対応している。
【００７９】
ＢＣＨ訂正は、読み出しデータに対して行われる。また、ＢＣＨ訂正では、ＮＡＮＤ型フラッシュメモリ２から読み出されたＥＣＣフレーム（ＥＣＣの訂正単位）ごとに複合化が行われる。例えば、ＥＣＣフレームは、１ページである。具体的には、第１ＥＣＣ回路１５Ａは、読み出しデータに含まれる誤り訂正符号を用いて、誤り訂正を行う。なお、データ書き込み時に、ＥＣＣ回路（具体的には、ＥＣＣ回路に含まれるエンコーダ）は、誤り訂正符号を生成し、この誤り訂正符号は、書き込みデータとともにメモリセルアレイ２０に書き込まれる。
【００８０】
図１７は、ＢＣＨ訂正の他の例を説明する模式図である。カラムＣＯＬ（ｎ−１）、（ｎ＋１）でエラーが発生し、カラムＣＯＬ（ｎ−１）では、データ“０１０”が読み出され、カラムＣＯＬ（ｎ＋１）では、データ“０１１”が読み出されたものとする。
【００８１】
ＢＣＨ訂正では、エラーが発生したビットを特定して訂正が行われる。ＢＣＨ訂正では、エラーが発生した場合に、どのステートからどのステートにシフトしたかということは考慮されない。よって、ステートの遷移によって誤り訂正効率は変わらない。
【００８２】
（ＬＤＰＣ訂正の一例）
図１８は、ＬＤＰＣ訂正の一例を説明する模式図である。カラムＣＯＬ（ｎ−１）がステート“Ｂ”、カラムＣＯＬｎがステート“Ｅｒ”、カラムＣＯＬ（ｎ＋１）がステート“Ｇ”であるものとする。カラムＣＯＬ（ｎ−１）でソフトエラーが発生し、データ“１１０”が読み出されたものとする。カラムＣＯＬ（ｎ＋１）でハードエラーが発生し、データ“０１１”が読み出されたものとする。
【００８３】
ソフトエラーとは、メモリセルがデータを記憶することは可能であるものの、電圧や温度など何らかの要因によりデータが書き換わってしまう現象である。ハードエラーとは、メモリセルに物理的な不良が発生し、そもそもデータが書き込めない（又はデータが読み出せない）現象である。オープン不良は、ハードエラーに属する。
【００８４】
ＬＤＰＣ訂正では、前述したように正規分布を推定するので、それぞれのステートの閾値変動を判定する必要がある。ソフトエラーは、閾値変動を推定することで、エラー訂正が可能である。一方、ハードエラーは、正規分布から外れているため、エラー訂正ができない。
【００８５】
また、ＬＤＰＣ訂正では、正規布から逸脱するハードエラーの存在により著しく訂正能力が影響を受ける。この場合、ＬＤＰＣ訂正による訂正能力の低下を引き起こす。そこで、本実施形態では、ハードエラーが発生したビットをＬＤＰＣ訂正の演算から除外する。これにより、ＬＤＰＣ訂正をより正確に行えるようにする。
【００８６】
［３−３］  メモリシステム１の読み出し動作
図１９は、メモリシステム１の読み出し動作を説明するフローチャートである。
【００８７】
メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対してノーマルリードを実行する（ステップＳ１００）。具体的には、ノーマルリードにおいて、メモリコントローラ３は、読み出し命令、及びアドレスをＮＡＮＤ型フラッシュメモリ２に送信し、その後、ＮＡＮＤ型フラッシュメモリ２から読み出しデータを受信する。
【００８８】
続いて、第１ＥＣＣ回路１５Ａは、読み出しデータに含まれる誤り訂正符号を用いて、読み出しデータにエラーがあるか否かを判定する（ステップＳ１０１）。エラーがない場合（Ｓ１０１＝Ｙｅｓ）、今回の読み出し動作を終了する。
【００８９】
エラーがある場合（Ｓ１０１＝Ｎｏ）、第１ＥＣＣ回路１５Ａは、ＢＣＨ符号を用いた訂正処理（復号化）を実行する（ステップＳ１０２）。エラー訂正が成功した場合（Ｓ１０３＝Ｙｅｓ）、今回の読み出し動作を終了する。なお、本実施形態において、エラー訂正が成功したか否かの判定基準は任意に設定可能であり、全てのエラーが訂正できた場合であってもよいし、エラービット数が規定値以下である場合に、エラー訂正が成功したと判定してもよい。
【００９０】
エラー訂正が成功しない場合（Ｓ１０３＝Ｎｏ）、メモリコントローラ３は、粗いシフトリードを実行する（ステップＳ１０１）。シフトリードとは、ノーマルリードに対して読み出し電圧を変化させた読み出し方式である。また、粗いシフトリードとは、後述するシフトリードと比較して、読み出し電圧をシフトさせる量が大きい（粗い）ことを意味する。シフトリードの詳細については後述する。
【００９１】
続いて、第１ＥＣＣ回路１５Ａは、ステップＳ１０４の粗いシフトリードで読み出された読み出しデータに対して、ＢＣＨ符号を用いた訂正処理を実行する（ステップＳ１０５）。エラー訂正が成功した場合（Ｓ１０６＝Ｙｅｓ）、今回の読み出し動作を終了する。
【００９２】
エラー訂正が成功しない場合（Ｓ１０６＝Ｎｏ）、メモリコントローラ３は、ハードエラー（オープン不良を含む）を判定する（ステップＳ１０７）。具体的には、メモリコントローラ３は、ハードエラーを判定する動作を指定するコマンドを、ＮＡＮＤ型フラッシュメモリ２に送信する。これに応答して、ＮＡＮＤ型フラッシュメモリ２は、ハードエラーの判定動作を実行する。ハードエラーの判定動作は、ワード線に印加する電圧が異なる以外は、通常の読み出し動作と同じである。ハードエラーを判定する動作の詳細については後述する。
【００９３】
そして、ＮＡＮＤ型フラッシュメモリ２は、メモリコントローラ３に判定結果（読み出し結果）を送信する。メモリコントローラ３は、メモリコントローラ３から送信された判定結果に基づいて、ハードエラーがあるか否か、及び、ハードエラーがある場合は、ハードエラーのビットを特定する。
【００９４】
続いて、メモリコントローラ３は、シフトリードを実行する（ステップＳ１０８）。ステップＳ１０８のシフトリードは、ステップＳ１０４の粗いシフトリードに比べて、読み出し電圧をシフトさせる量が小さい。
【００９５】
なお、ステップＳ１０７のハードエラーを判定する処理は、ステップＳ１０８のシフトリードの後に実行してもよい。また、ステップＳ１０７のハードエラーを判定する処理は、ステップＳ１０２のＢＣＨ訂正の前に実行してもよい。
【００９６】
ステップＳ１０７の判定の結果、ハードエラーがない場合（Ｓ１０９＝Ｎｏ）、第２ＥＣＣ回路１５Ｂは、ＬＤＰＣ符号を用いた訂正処理（復号化）を実行する（ステップＳ１１０）。エラー訂正が成功した場合（Ｓ１１２＝Ｙｅｓ）、今回の読み出し動作を終了する。
【００９７】
エラー訂正が成功しない場合（Ｓ１１２＝Ｎｏ）、メモリコントローラ３は、例えば、読み出しエラーを示すステータスをホスト装置４に送信する（ステップＳ１１３）。
【００９８】
一方、ステップＳ１０７の判定の結果、ハードエラーがある場合（Ｓ１０９＝Ｙｅｓ）、第２ＥＣＣ回路１５Ｂは、不良ビットを除いた読み出しデータを用いて、ＬＤＰＣ訂正を実行する（ステップＳ１１１）。すなわち、第２ＥＣＣ回路１５Ｂは、不良ビットを除いた読み出しデータを用いて、復号化演算を実行する。不良ビットの情報は、ステップＳ１０９の判定結果に含まれる。これにより、ＬＤＰＣ訂正において、より正確な正規分布を得ることができるため、訂正精度を向上させることができる。
【００９９】
その後、ステップＳ１１２に移行する。
【０１００】
［３−３−１］  ハードエラー判定動作
ＮＡＮＤ型フラッシュメモリ２は、ハードエラーを判定する動作を指定するコマンドをメモリコントローラ３から受信した場合、ハードエラー判定動作を実行する。
【０１０１】
図２０は、ＮＡＮＤ型フラッシュメモリ２のハードエラー判定動作を説明する図である。ハードエラー判定動作は、読み出し対象のストリングユニットＳＵの全ワード線に非選択読み出し電圧ＶＲＥＡＤを印加し、ＮＡＮＤストリングＮＳに電流が流れる（ＮＡＮＤストリングＮＳがオン状態になる）か否かを判定する動作である。
【０１０２】
図２０に示すように、ロウデコーダ２６は、読み出し対象のストリングユニットＳＵの全ワード線に非選択読み出し電圧ＶＲＥＡＤを印加する。全ワード線以外の電圧関係は、前述したノーマルリードの動作と同じである。
【０１０３】
これにより、例えばオープン不良が発生しているＮＡＮＤストリングＮＳには電流が流れず、この不良ＮＡＮＤストリングＮＳは、オフ状態である。センスアンプユニット２８は、ビット線ＢＬの電圧を検知することで、ハードエラーが発生している不良ＮＡＮＤストリングＮＳのビットを判定する。この判定結果は、メモリコントローラ３に送信される。
【０１０４】
なお、ハードエラー判定動作で用いる非選択読み出し電圧は、電圧ＶＲＥＡＤと同じでなくてもよく、任意に設定可能である。これにより、検出レベル、及び消費電力の適正化が可能である。また、ハードエラー判定動作で用いるビット線電圧は、ノーマルリード時の電圧ＶＢＬと同じでなくてもよく、任意に設定可能である。これにより、検出レベル、及び消費電力の適正化が可能である。
【０１０５】
［３−３−２］  シフトリード
図２１は、シフトリードを説明するタイミングチャートである。
【０１０６】
メモリコントローラ３は、コマンドシーケンス“＜ｘｘｈ＞＜Ａｄｄ＞＜Ｂ０＞〜＜Ｂ３＞”をＮＡＮＤ型フラッシュメモリ２に送信する。プリフィックスコマンド“ｘｘｈ”は、ＮＡＮＤ型フラッシュメモリ２における各種電圧、及び動作タイミングなどのパラメータを設定することが可能なコマンドである。“Ａｄｄ”はアドレスである。データ“Ｂ０”〜“Ｂ３”は、読み出し電圧のシフト量に対応するＤＡＣ（Ｄ／Ａ converter）値ΔＤＡＣ１〜ΔＤＡＣ４である。値ΔＤＡＣ１〜ΔＤＡＣ４はそれぞれ、シフトリードにおいて１〜４番目に選択ワード線ＷＬに印加される読み出し電圧からのシフト量ΔＶ１〜ΔＶ４に対応する。
【０１０７】
図６に示すように、例えば中位ページは、ステート“Ｂ”、“Ｄ”、“Ｆ”の読み出し電圧ＶＢ、ＶＤ、ＶＦを用いてデータが判定される。中位ページのシフトリードにおいて値ΔＤＡＣ１〜ΔＤＡＣ３が指定された場合、読み出し電圧ＶＢ、ＶＤ、ＶＦは、シフト量ΔＶ１〜ΔＶ３を用いて、以下のように表される。  
ＶＢ＝ＶＢｄｅｆ＋ΔＶ１
ＶＤ＝ＶＤｄｅｆ＋ΔＶ２
ＶＦ＝ＶＦｄｅｆ＋ΔＶ３
電圧ＶＢｄｅｆ、ＶＤｄｅｆ、ＶＦｄｅｆは、初期設定値である。
【０１０８】
図１９におけるステップＳ１０４の粗いシフトリードと、ステップＳ１０８のシフトリードとでは、シフト量ΔＶ１〜ΔＶ４が異なる。すなわち、ステップＳ１０８のシフトリードの方が、ステップＳ１０４の粗いシフトリードよりも、シフト量が小さい。
【０１０９】
ＮＡＮＤ型フラッシュメモリ２は、メモリコントローラ３からプリフィックスコマンド“ｘｘｈ”を受信すると、レディー／ビジー信号ＲＢｎをローレベルにする。そして、ＮＡＮＤ型フラッシュメモリ２は、プリフィックスコマンド“ｘｘｈ”に対応する内部設定動作を行う。
【０１１０】
続いて、メモリコントローラ３は、コマンドシーケンス“＜ｙｙｈ＞＜００ｈ＞＜Ｃｏｌ０＞＜Ｃｏｌ１＞＜Ｒｏｗ０＞＜Ｒｏｗ１＞＜Ｒｏｗ２＞＜３０ｈ＞”をＮＡＮＤ型フラッシュメモリ２に送信する。コマンド“ｙｙｈ”は、変数であり、下位ページ、中位ページ、上位ページのいずれかを指定するコマンドである。例えば“ｙｙｈ”＝“０１ｈ”の場合には下位ページ読み出しが指定され、“ｙｙｈ”＝“０２ｈ”の場合には中位ページ読み出しが指定され、“ｙｙｈ”＝“０３ｈ”の場合には上位ページ読み出しが指定される。リードコマンド“００ｈ”、“３０ｈ”は、読み出しを指示するコマンドである。“＜Ｃｏｌ０＞＜Ｃｏｌ１＞＜Ｒｏｗ０＞＜Ｒｏｗ１＞＜Ｒｏｗ２＞”は、読み出しアドレスであり、“Ｃｏｌ”は、カラムアドレスであり、“Ｒｏｗ”は、ロウアドレスであ。
【０１１１】
ＮＡＮＤ型フラッシュメモリ２は、メモリコントローラ３からリードコマンド“３０ｈ”を受信すると、レディー／ビジー信号ＲＢｎをローレベルにする。そして、ＮＡＮＤ型フラッシュメモリ２は、読み出しアドレスを用いて、メモリセルアレイ２０内の対応するページからデータを読み出す。メモリセルアレイ２０から読み出されたページは、データレジスタ２９に格納される。データの読み出しが終了すると、ＮＡＮＤ型フラッシュメモリ２は、レディー／ビジー信号ＲＢｎをハイレベルにする。
【０１１２】
その後、メモリコントローラ３は、任意のタイミングでデータを出力するためのコマンドをＮＡＮＤ型フラッシュメモリ２に発行し、データレジスタ２９に格納された読み出しデータを出力させる。
【０１１３】
なお、前述したノーマルリードのコマンドシーケンスは、シフトリードのコマンドシーケンスの後半部分（コマンド“ｙｙｈ”以降の部分）と同じである。
【０１１４】
［４］  実施形態の効果
以上詳述したように本実施形態では、メモリコントローラ３は、ＢＣＨ訂正を行う第１ＥＣＣ回路１５Ａと、第１ＥＣＣ回路１５Ａより誤り訂正能力が高いＬＤＰＣ訂正を行う第２ＥＣＣ回路１５Ｂとを含む。第１ＥＣＣ回路１５Ａは、ＮＡＮＤ型フラッシュメモリ２から読み出された読み出しデータのエラーを訂正する。メモリコントローラ３は、第１ＥＣＣ回路１５Ａによりエラーが訂正できなかった場合に、メモリセルアレイ２０にハードエラーが発生しているか否かを判定する。第２ＥＣＣ回路１５Ｂは、メモリセルアレイ２０にハードエラーが発生している場合に、ハードエラーが発生しているビットを除いた第２読み出しデータを用いて、エラー訂正を実行し、一方、メモリセルアレイ２０にハードエラーが発生していない場合に、ＮＡＮＤ型フラッシュメモリ２から読み出された読み出しデータを用いて、エラー訂正を実行する。
【０１１５】
従って本実施形態によれば、ＬＤＰＣ訂正において、尤度を用いたより正確な正規分布を推定することができる。これにより、誤り訂正効率の低下を抑制することが可能なメモリシステムを実現することができる。
【０１１６】
また、読み出し動作ごとに、ハードエラーの有無を判定するようにしている。よって、メモリコントローラ３は、不良情報を長時間保持する必要がない。また、ハードエラーが発生したブロックを不良ブロックとして管理する必要がない。この結果、メモリコントローラ３の負荷を低減でき、また、メモリコントローラ３が管理する管理情報の量を低減できる。
【０１１７】
また、ハードエラーが発生したブロックを不良ブロックとして管理せず、ハードエラーが発生したブロックをそのまま使用し続けることができる。これにより、ＮＡＮＤ型フラッシュメモリ２の記憶容量が低減するのを抑制できる。
【０１１８】
また、ハードエラーを判定する動作では、全ワード線に非選択読み出し電圧ＶＲＥＡＤを印加して読み出し動作を行う。すなわち、１ページのデータ読み出し時間でハードエラーを判定することができる。これにより、読み出し性能が劣化するのを抑制できる。
【０１１９】
［５］  その他の変形例
なお、上記実施形態では、１つのメモリセルトランジスタが３ビットのデータを記憶する場合を例に説明したが、これに限定されない。例えば、１つのメモリセルトランジスタは、１ビットのデータを記憶可能（ＳＬＣ：Single level Cell）であってもよいし、２ビットのデータを記憶可能であってもよいし（ＭＬＣ：Multilevel Cell）、４ビット以上のデータを記憶可能であってもよい。このような実施例においても、上記実施形態で説明した各種動作を実現できる。
【０１２０】
上記実施形態では、３次元に積層された複数のメモリセルを備えたＮＡＮＤ型フラッシュメモリを例に挙げて説明している。しかし、これに限定されず、２次元に配置された複数のメモリセルを備えたＮＡＮＤ型フラッシュメモリであってもよい。
【０１２１】
上記実施形態において、メモリセルにＭＯＮＯＳ膜を使用した場合を例に説明したが、これに限定されない。例えば、フローティングゲート型のメモリセルを用いてもよい。
【０１２２】
本明細書において、“接続”とは、電気的に接続されていることを示し、例えば、接続された２つの素子の間に、別の素子を介することを除外しない。
【０１２３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２４】
１…メモリシステム、２…ＮＡＮＤ型フラッシュメモリ、３…メモリコントローラ、４…ホスト装置、１０…ホストインターフェース回路、１１…プロセッサ、１２…ＲＡＭ、１３…バッファメモリ、１４…ＮＡＮＤインターフェース回路、１５…ＥＣＣ部、１６…バス、２０…メモリセルアレイ、２１…入出力回路、２２…ロジック制御回路、２３…レジスタ、２４…シーケンサ、２５…電圧生成回路、２６…ロウデコーダ、２７…カラムデコーダ、２８…センスアンプユニット、２９…データレジスタ、３０…半導体基板、３０Ａ…ウェル領域、３０Ｂ…エピタキシャル層、３０Ｃ…拡散層、３１〜３３…配線層、３４…絶縁層、３５…半導体層、３６…心材、３７…ゲート絶縁膜、３８…電荷蓄積層、３９…ブロック絶縁膜、４０…コンタクトプラグ、４１…ビアプラグ、４２…金属配線層、４３…絶縁層、４４…コンタクトプラグ
【図１】
2019160195.tif 000003
【図２】
2019160195.tif 000004
【図３】
2019160195.tif 000005
【図４】
2019160195.tif 000006
【図５】
2019160195.tif 000007
【図６】
2019160195.tif 000008
【図７】
2019160195.tif 000009
【図８】
2019160195.tif 000010
【図９】
2019160195.tif 000011
【図１０】
2019160195.tif 000012
【図１１】
2019160195.tif 000013
【図１２】
2019160195.tif 000014
【図１３】
2019160195.tif 000015
【図１４】
2019160195.tif 000016
【図１５】
2019160195.tif 000017
【図１６】
2019160195.tif 000018
【図１７】
2019160195.tif 000019
【図１８】
2019160195.tif 000020
【図１９】
2019160195.tif 000021
【図２０】
2019160195.tif 000022
【図２１】
2019160195.tif 000023