(57)【要約】【課題】  歩留まりを向上させ、かつデータの読出しを高速化することができる半導体記憶装置およびその冗長方法を提供する。【解決手段】  本発明のフラッシュメモリは、メモリ領域ＭＭと冗長素子を含む冗長メモリ領域ＭＲとを含むメモリアレイ１００と、ページバッファ１６０と、列選択回路１７０と、ＥＣＣ回路１８０と、Ｉ／Ｏバッファ１１０とを含む。列選択回路１７０は、冗長情報に基づきキャッシュレジスタＣＲ−１に保持されたコアデータに含まれる欠陥データを冗長キャッシュレジスタＣＲ−Ｒに保持された冗長データに変換し、変換されたデータをＥＣＣ回路１８０へ提供し、ＥＣＣ回路１８０によって誤り訂正されたデータをコアデータとしてキャッシュレジスタＣＲ−１に再書込みをする。この間、列選択回路１７０は、キャッシュレジスタＣＲ−０に保持された誤り訂正済みのデータをＩ／Ｏバッファ１１０へ出力する。【選択図】  図６
2015082333.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶素子を有するメモリ領域と複数の冗長記憶素子を有する冗長メモリ領域とを含むメモリアレイと、
前記メモリアレイの行を選択する行選択手段と、
前記メモリ領域の記憶素子に含まれる欠陥素子の冗長情報を記憶する冗長情報記憶部と、
メモリアレイのビット線に接続され、前記行選択手段によって選択された行の前記メモリ領域の記憶素子に記憶されたコアデータと前記冗長メモリ領域の冗長記憶素子に記憶された冗長データとを保持可能なデータ保持手段と、
前記データ保持手段に保持されたコアデータおよび冗長データを選択する列選択手段と、
前記列選択手段によって選択されたデータの誤り訂正を行う誤り訂正手段とを有し、
前記列選択手段は、前記冗長情報に基づきコアデータに含まれる欠陥データを前記冗長データに変換し、変換されたデータを前記誤り訂正手段へ提供し、前記誤り訂正手段によって誤り訂正されたデータをコアデータとして前記データ保持手段に提供する変換回路を含む、半導体記憶装置。
【請求項２】
前記列選択手段は、前記データ保持手段に保持された第１のコアデータを出力バッファへ出力する間に、前記データ保持手段に保持された第２のコアデータおよび前記冗長データを前記変換回路へ出力させる、請求項１に記載の半導体記憶装置。
【請求項３】
第１のコアデータが出力バッファへ出力される間に、前記誤り訂正手段によって誤り訂正されたデータが第２のコアデータとして前記データ保持手段に保持される、請求項２に記載の半導体記憶装置。
【請求項４】
前記列選択手段は、第１のコアデータと第２のコアデータとを交互に出力バッファへ出力することが可能であり、第１のコアデータが出力バッファへ出力されている間に、第２のコアデータと冗長データとが変換回路によって変換され、第２のコアデータが出力バッファへ出力されている間に、第１のコアデータと冗長データとが変換回路によって変換される、請求項１ないし３いずれか１つに記載の半導体記憶装置。
【請求項５】
前記行選択手段によって選択された行はＮビットであり、前記冗長メモリ領域はＭビットであり、前記メモリ領域のＮ−Ｍビットの記憶素子に含まれる欠陥素子が最大でＭビットの冗長記憶素子によって救済される、請求項１ないし４いずれか１つに記載の半導体記憶装置。
【請求項６】
前記データ保持手段は、前記行選択手段によりメモリアレイの行が選択されたとき、前記メモリ領域から読み出されたページデータの第１および第２のコアデータを保持する第１および第２のキャッシュレジスタと、前記冗長メモリ領域から読み出された冗長データを保持する冗長キャッシュレジスタとを含み、
前記選択回路は、第１のキャッシュレジスタおよび冗長キャッシュレジスタに保持されたコアデータおよび冗長データ、あるいは第２のキャッシュレジスタおよび冗長キャッシュレジスタに保持されたコアデータおよび冗長データを受け取り、前記誤り訂正手段から受け取ったデータを第１のキャッシュレジスタ、あるいは第２のキャッシュレジスタに書込む、請求項１ないし５いずれか１つに記載の半導体記憶装置。
【請求項７】
複数の記憶素子を有するメモリ領域と複数の冗長記憶素子を有する冗長メモリ領域とを有するメモリアレイを備えた半導体記憶装置の冗長方法であって、
前記メモリアレイのページを選択し、
選択されたページの前記メモリ領域の記憶素子に記憶されたコアデータと前記冗長メモリ領域の冗長記憶素子に記憶された冗長データとを保持し、
コアデータの第１のコアデータに含まれる欠陥データを前記冗長データによって変換し、
変換されたデータの誤り訂正を行い、
誤り訂正されたデータを第１のコアデータとして上書きする、冗長方法。
【請求項８】
前記コアデータの第２のコアデータに含まれる欠陥データを前記冗長データによって変換する間に、前記誤り訂正された第１のコアデータを出力する、請求項７に記載の冗長方法。
【請求項９】
誤り訂正されたデータを第２のコアデータとして上書きし、
前記コアデータの第１のコアデータに含まれる欠陥データを前記冗長データによって変換する間に、前記誤り訂正された第２のコアデータを出力する、請求項８に記載の冗長方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、特に、ＮＡＮＤ型フラッシュメモリの冗長に関する。
【背景技術】
【０００２】
フラッシュメモリ、ＤＲＡＭ等の半導体メモリでは、集積度が年々増加し、不良または欠陥のない記憶素子を製造することは難しい。このため、メモリチップ上には、製造工程中に発生する記憶素子の物理的な欠陥を見かけ上救済するための冗長スキームが利用される。例えば、ある冗長スキームでは、物理的な欠陥を有する記憶素子のアドレスを冗長メモリ領域の記憶素子のアドレスに変換するアドレス変換回路と、欠陥を有する記憶素子を救済するための冗長メモリ領域とを備えている。欠陥を有する記憶素子と冗長メモリ領域の記憶素子とのアドレス情報は、メモリチップのテスト時または製造出荷時にヒューズＲＯＭやレジスタ等に格納される。そして、欠陥を有する記憶素子のアドレスが入力され、当該アドレスが検出されると、欠陥を有する記憶素子へのアクセスが禁止され、その代わりに冗長メモリ領域の記憶素子がアクセスされ、外部からはあたかも欠陥を有する記憶素子が存在しないようにみえる（例えば、特許文献１、２）。こうした冗長スキームを利用することで、少ない数の記憶素子の欠陥が発生したとしても、良品として扱うことができるため、歩留まりが向上し、メモリのコストを低減することができる。
【０００３】
また、半導体メモリには、冗長による物理的な欠陥素子の救済以外に、ソフトエラー対策として誤り検出訂正回路（ＥＣＣ：Error Checking Correction）が内蔵され、信頼性向上が図られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３１１４９６号公報
【特許文献２】特開２００２−２８８９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記したように、フラッシュメモリ等の半導体メモリには、欠陥を有する記憶素子を救済するための冗長機能やＥＣＣ回路が搭載されている。図１は、従来のフラッシュメモリの冗長および誤り訂正を説明する図である。ＮＡＮＤ型のフラッシュメモリのメモリアレイ４００には、メインメモリ領域ＭＭとその冗長メモリ領域ＭＲが設けられる。メモリアレイ４００からページ読出しが行われると、１ページ分のデータがページバッファ／センス回路４１０に転送され、そこでセンス回路によってデータがセンスされ、センスされたデータがデータレジスタ４１２に保持される。
【０００６】
メインメモリ領域ＭＭと冗長メモリ領域ＭＲの１ページは、例えば２Ｋバイトであり、ページ読出しが行われたとき、例えば、半分の１Ｋバイトの偶数ビットのデータがデータレジスタＤＲ−０に転送され、残りの半分の１Ｋバイトの奇数ビットのデータがデータレジスタＤＲ−１に転送される。あるいは、メインメモリ領域ＭＭの物理的に左側半分のデータがデータレジスタＤＲ−０に転送され、左側半分のデータがデータレジスタＤＲ−１に転送される。
【０００７】
ここで本明細書では、物理的な欠陥を有する記憶素子を「欠陥素子」、欠陥素子に記憶されたデータを「欠陥データ」、欠陥素子のカラムビットを「欠陥ビット」、冗長メモリ領域の記憶素子を「冗長素子」、冗長素子に記憶されたデータを「冗長データ」、冗長素子のカラムビットを「冗長ビット」と称する。また、記憶素子は、メモリセルと同義である。
【０００８】
冗長メモリ領域ＭＲは、例えばＭビットであり、その半分のＭ／２ビットがデータレジスタＤＲ−０に割り当てられ、Ｍ／２ビットがデータレジスタＤＲ−１に割り当てられるように構成される。例えば、冗長メモリ領域ＭＲの偶数の冗長ビットのデータがデータレジスタＤＲ−０に転送され、奇数の冗長ビットのデータがデータレジスタＤＲ−１に転送される。
【０００９】
ページバッファ４１０はさらに、データレジスタ４１２から並列に転送されるデータを保持するキャッシュレジスタ４１４を含む。キャッシュレジスタ４１４は、キャッシュレジスタＣＲ−０、ＣＲ−１を有し、キャッシュレジスタＣＲ−０は、データレジスタＤＲ−０から図示しない転送トランジスタを介して転送されたデータを受け取り、キャッシュレジスタＣＲ−１も同様にデータレジスタＤＲ−１から転送されたデータを保持する。キャッシュレジスタＣＲ−０に保持されるデータは、メインメモリ領域ＭＭからのデータ（以下、コアデータという）と、冗長メモリ領域ＭＲからの冗長データとを有する。キャッシュレジスタＣＲ−１に保持されるデータも同様に、コアデータと冗長データとを有する。
【００１０】
カラム制御回路４２０は、キャッシュレジスタＣＲ−０、ＣＲ−１に保持されたコアデータを冗長データに置換するための変換回路４２２−０、４２２−１を有する。キャッシュレジスタＣＲ−０、ＣＲ−１に保持されたデータは、誤り訂正が行われるとき、あるいは入出力が行われるとき、図示しない転送トランジスタを介して変換回路４２２−０、４２２−１へ転送される。
【００１１】
欠陥ビットのカラムアドレスやこれが置換される冗長ビットのカラムアドレス等の冗長情報は、ヒューズＲＯＭやその他の不揮発性の媒体によって格納されている。変換回路４２２−０は、冗長情報に基づきキャッシュレジスタＣＲ−０のコアデータに含まれる欠陥データを冗長データに変換する。同様に、変換回路４２２−１は、キャッシュレジスタＣＲ−１のコアデータに含まれる欠陥データを冗長データに変換する。
【００１２】
変換回路４２２−０、４２２−１によって変換されたデータは、ＥＣＣ回路４３０へ出力される。ＥＣＣ回路４３０によって誤り訂正されたデータは、変換回路４２２−０、４２２−１によってコアデータと冗長データに戻され、誤り訂正されたコアデータと冗長データがキャッシュレジスタＣＲ−０、ＣＲ−１にそれぞれ書き戻される。
【００１３】
キャッシュレジスタＣＲ−０、ＣＲ−１に保持された誤り訂正されたコアデータと冗長データは、変換回路４２２−０、４２２−１によって変換されてＩ／Ｏバッファ４４０へ出力される。キャッシュレジスタＣＲ−０、ＣＲ−１とＥＣＣ回路４３０およびＩ／Ｏバッファ４４０間の動作は、次のように交互に行われる。キャッシュレジスタＣＲ−０の誤り訂正済みのデータがＩ／Ｏバッファ４４０へ出力される間に、キャッシュレジスタＣＲ−１のデータがＥＣＣ回路４３０によって誤り訂正され、キャッシュレジスタＣＲ−１の誤り訂正済みのデータがＩ／Ｏバッファ４４０に出力される間に、キャッシュレジスタＣＲ−０のデータがＥＣＣ回路４３０によって誤り訂正される。
【００１４】
上記した冗長スキームでは、冗長メモリ領域ＭＲの半分の冗長ビットが、１／２ページのコアデータに均等に割り当てられるため、仮に、１ページに含まれる全体の欠陥ビットがＭビット以下であったとしても、１／２ページのコアデータに、Ｍ／２ビットを超える欠陥ビットが存在する場合には、これを救済することができない。例えば、メタルコンタクトの不良などは、局所的なエリアに発生することが多く、一方のデータレジスタＤＲ−０のコアデータに多くの欠陥ビットが含まれ、他方のデータレジスタＤＲ−１のコアデータには欠陥ビットが含まれないことがある。従って、冗長メモリ領域ＭＲの冗長ビットを１／２ページのコアデータに均等に割り当てた場合には、冗長データによる救済効率が低下し、チップの不良率の向上を図ることができない。
【００１５】
また、ＥＣＣ回路４３０によって誤り訂正されたデータは、変換回路４２０によってキャッシュレジスタＣＲ−０、ＣＲ−１に再書込みされ、Ｉ／Ｏバッファ４４０へ出力するときに、コアデータの欠陥ビットを冗長ビットの変換処理が変換回路４３０によって再び行われる。従って、キャッシュレジスタＣＲ−０、ＣＲ−１からデータを出力させるときに、必ず変換回路４３０を通過さなければならず、キャッシュ動作の高速化の障害になっている。
【００１６】
本発明は、このような従来の課題を解決し、歩留まりを向上させ、かつデータの読出しを高速化することができる半導体記憶装置およびその冗長方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係る半導体記憶装置は、複数の記憶素子を有するメモリ領域と、複数の冗長記憶素子を有する冗長メモリ領域とを含むメモリアレイと、前記メモリアレイの行を選択する行選択手段と、前記メモリ領域の記憶素子に含まれる欠陥素子の冗長情報を記憶する冗長情報記憶部と、メモリアレイのビット線に接続され、前記行選択手段によって選択された行の前記メモリ領域の記憶素子に記憶されたコアデータと前記冗長メモリ領域の冗長記憶素子に記憶された冗長データとを保持可能なデータ保持手段と、前記データ保持手段に保持されたコアデータおよび冗長データを選択する列選択手段と、前記列選択手段によって選択されたデータの誤り訂正を行う誤り訂正手段とを有し、前記列選択手段は、前記冗長情報に基づきコアデータに含まれる欠陥データを前記冗長データに変換し、変換されたデータを前記誤り訂正手段へ提供し、前記誤り訂正手段によって誤り訂正されたデータをコアデータとして前記データ保持手段に提供する変換回路を含む。
【００１８】
好ましくは前記列選択手段は、前記データ保持手段に保持された第１のコアデータを出力バッファへ出力する間に、前記データ保持手段に保持された第２のコアデータおよび前記冗長データを前記変換回路へ出力させる。好ましくは第１のコアデータが出力バッファへ出力される間に、前記誤り訂正手段によって誤り訂正されたデータが第２のコアデータとして前記データ保持手段に保持される。好ましくは前記列選択手段は、第１のコアデータと第２のコアデータとを交互に出力バッファへ出力することが可能であり、第１のコアデータが出力バッファへ出力されている間に、第２のコアデータと冗長データとが変換回路によって変換され、第２のコアデータが出力バッファへ出力されている間に、第１のコアデータと冗長データとが変換回路によって変換される。好ましくは前記行選択手段によって選択された行はＮビットであり、前記冗長メモリ領域はＭビットであり、前記メモリ領域のＮ−Ｍビットの記憶素子に含まれる欠陥素子が最大でＭビットの冗長記憶素子によって救済される。好ましくは前記データ保持手段は、前記行選択手段によりメモリアレイの行が選択されたとき、前記メモリ領域から読み出されたページデータの第１および第２のコアデータを保持する第１および第２のキャッシュレジスタと、前記冗長メモリ領域から読み出された冗長データを保持する冗長キャッシュレジスタとを含み、前記選択回路は、第１のキャッシュレジスタおよび冗長キャッシュレジスタに保持されたコアデータおよび冗長データ、あるいは第２のキャッシュレジスタおよび冗長キャッシュレジスタに保持されたコアデータおよび冗長データを受け取り、前記誤り訂正手段から受け取ったデータを第１のキャッシュレジスタ、あるいは第２のキャッシュレジスタに書込む。
【００１９】
本発明に係る半導体記憶装置の冗長方法は、複数の記憶素子を有するメモリ領域と複数の冗長記憶素子を有する冗長メモリ領域とを有するメモリアレイを備えたものの冗長方法であって、前記メモリアレイのページを選択し、選択されたページの前記メモリ領域の記憶素子に記憶されたコアデータと前記冗長メモリ領域の冗長記憶素子に記憶された冗長データとを保持し、コアデータの第１のコアデータに含まれる欠陥データを前記冗長データによって変換し、変換されたデータの誤り訂正を行い、誤り訂正されたデータを第１のコアデータとして上書きする。
【００２０】
好ましくは前記コアデータの第２のコアデータに含まれる欠陥データを前記冗長データによって変換する間に、前記誤り訂正された第１のコアデータを出力する。好ましくは誤り訂正されたデータを第２のコアデータとして上書きし、前記コアデータの第１のコアデータに含まれる欠陥データを前記冗長データによって変換する間に、前記誤り訂正された第２のコアデータを出力する。
【発明の効果】
【００２１】
本発明によれば、従来の冗長スキームと比較して冗長記憶素子による救済効率を向上させ、歩留まりを改善することができる。
【図面の簡単な説明】
【００２２】
【図１】従来のフラッシュメモリの冗長と誤り訂正の動作を説明する図である。
【図２】本発明の実施例に係るフラッシュメモリの一構成例を示すブロック図である。
【図３】メモリブロックとページバッファとの関係を説明する図である。
【図４】ＮＡＮＤストリングユニットの構成を示す図である。
【図５】冗長情報記憶部に記憶される冗長情報の一例を示す図である。
【図６】本発明の実施例に係るフラッシュメモリの冗長と誤り訂正の動作を説明する図である。
【図７】図７（Ａ）、（Ｂ）は、キャッシュレジスタＣＲ−０の冗長および誤り訂正の動作を説明し、図７（Ｃ）、（Ｄ）は、キャッシュレジスタＣＲ−１の冗長および誤り訂正の動作を説明する図である。
【図８】図８（Ａ）、（Ｂ）は、キャッシュレジスタＣＲ−０からデータが出力されるときの動作を説明し、図８（Ｃ）、（Ｄ）は、キャッシュレジスタＣＲ−１からデータが出力されるときの動作を説明する図である。
【図９】図９（Ａ）は、ページ読出しが行われるときのタイミングチャートを示し、図９（Ｂ）は、連続ページ読出しが行われるときのタイミングチャートを示す。
【図１０】本発明の実施例に係る変換回路の一例を示す図である。
【発明を実施するための形態】
【００２３】
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明は、種々のタイプの記憶構造を有する不揮発性メモリに適用することができるが、ここでは、好ましい形態として、ＮＡＮＤ型のフラッシュメモリを例示する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは異なることに留意すべきである。
【実施例】
【００２４】
本発明の実施例に係るフラッシュメモリの典型的な構成を図２に示す。但し、ここに示すフラッシュメモリは例示であって、本発明は、必ずしもこのような構成に限定されるものではない。本実施例のフラッシュメモリ１０は、複数のメモリセルが行列状に配列されたメモリアレイ１００と、外部入出力端子Ｉ／Ｏに接続され入出力データを保持する入出力バッファ１１０と、入出力バッファ１１０からのアドレスデータを受け取るアドレスレジスタ１２０と、入出力バッファ１１０からのコマンドデータや外部からの制御信号を受け取り、各部を制御する制御部１３０と、メモリアレイ１００に含まれる欠陥素子に関する冗長情報を記憶する冗長情報記憶部１４０と、アドレスレジスタ１２０から行アドレス情報Ａｘを受け取り、行アドレス情報Ａｘをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路１５０と、ワード線選択回路１５０によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ１６０と、アドレスレジスタ１２０から列アドレス情報Ａｙを受け取り、列アドレス情報Ａｙをデコードし、当該デコード結果に基づきページバッファ１６０内のデータの選択等を行う列選択回路１７０と、データの誤り訂正を行うＥＣＣ回路１８０と、データの読出し、プログラムおよび消去等のために必要な種々の電圧（書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど）を生成する内部電圧発生回路１９０とを含んで構成される。なお、メモリアレイの記憶素子は、１ビット（２値データ）を記憶するＳＬＣタイプでもよいし、多ビットを記憶するＭＬＣタイプであってもよい。
【００２５】
メモリアレイ１００は、列方向に配置されたｍ個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。図３は、１つのメモリブロック内のセルアレイの構成を説明する図である。フラッシュメモリにおいて、メモリブロックは、データを消去する単位であり、当該メモリブロック内には複数のページが含まれる。１つのページは、データの読出しまたは書込みをする単位であり、１つのページは、後述するＮＡＮＤストリングの同一行に配列された複数のメモリセルによって構成される。また、１つのメモリブロックは、その機能的な役割から、通常のデータの読み書きを行うためのメモリ領域ＭＭと、冗長メモリ領域ＭＲとに分けられる。ここでは、１つのページは、メモリ領域ＭＭと冗長メモリ領域ＭＲのメモリセルから構成され、例えば、１ページは２Ｋバイトから構成され、冗長データは、１６ビットである。但し、ページ単位の読み出しまたは書込みは、必ずしも１ページに限らず複数のページを同様に読み出したり、書込むものであってもよい。
【００２６】
ページバッファ１６０は、センス回路／データレジスタ１６２とキャッシュレジスタ１６４とを含む。センス回路／データレジスタ１６２は、各々のブロック毎の各ビット線に接続され、選択されたブロックの選択されたページから読み出されたデータがセンスされ、それがセンス回路／データレジスタ１６２に保持される。センス回路／データレジスタ１６２は、図示しない転送トランジスタを介してキャッシュレジスタ１６４に接続され、センス回路／データレジスタ１６２に保持されたデータは、転送トランジスタを介してキャッシュレジスタ１６４に並列に転送される。センス回路／データレジスタ１６２からキャッシュレジスタ１６４へのデータ転送が終了すると、センス回路／データレジスタ１６２には、次に読み出されたページデータが転送され、その間、キャッシュレジスタ１６４に保持されたデータは、ＥＣＣ回路１８０または入出力バッファ１１０へ出力される。
【００２７】
書込み（プログラム）動作では、入出力バッファ１１０から出力されたデータが順次シーケンシャルにキャッシュレジスタ１６４に入力され、そこに保持され、次に、センス回路／データレジスタ１６２へ転送トランジスタを介して転送される。センス回路／データレジスタ１６２に保持されたデータが選択されたブロックの選択されたページに書込まれると、次のデータがキャッシュレジスタ１６４からセンス回路／データレジスタ１６２へ転送される。
【００２８】
図４は、１つのメモリブロック内に形成されるＮＡＮＤストリングの構成を示している。１つのメモリブロックは、複数のメモリセルを直列に接続したＮＡＮＤストリング（以下、セルユニットＮＵという）を複数含み、各セルユニットＮＵは、行方向に配置される。行方向に配置された複数のセルユニットＮＵは、基板上の１つのウエル、例えばＰ型のウエル内に形成され、１つのメモリブロックを構成する。図に示す例では、１つのメモリブロックは、ｎビット（個）のセルユニットＮＵを含み、そのうち、所定のビットが通常のコアデータの読み書きに利用されるメインメモリ領域ＭＭに利用され、残りのビットが冗長メモリ領域ＭＲに割り当てられる。
【００２９】
１つのセルユニットＮＵは、直列に接続されたＮ個のメモリセルMCi(i=０、１、・・・、Ｎ−１)と、その両端に直列に接続されたソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-Dとを含んで構成される。ここでは、セルユニットＮＵは、３２個のメモリセルを含む例を示している。
【００３０】
各メモリセルMCiのゲートは、対応するワード線WL0〜WL31に接続される。ソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-DLも同様にソース選択線SGS、ドレイン選択線SGDにそれぞれ共通に接続される。ソース選択トランジスタSEL-Sは、そのドレインがメモリセルMC0のソースに接続され、そのソースは、共通ソース線SLに接続され、ゲートはソース選択線SGSに接続される。ドレイン選択トランジスタSEL-Dのソースは、メモリセルMC31のドレインに接続され、そのドレインは、対応するグローバルビット線GBLに接続され、ゲートはドレイン選択線DGDに接続される。ワード線WL0〜WL31、ソース選択線SGS、ドレイン選択線DSGは、ブロック選択線BSELを共通ゲートに入力するブロック選択トランジスタを介してワード線選択回路１５０に接続される。ワード線選択回路１５０は、行アドレスＡｘに基づきブロック選択線BSELによりブロック選択トランジスタを導通させブロックの選択を行う。さらにワード線選択回路１５０は、選択されたブロックのワード線WL0〜WL31、ソース選択線SGS、ドレイン選択線SGDを動作状態に応じて所定の電圧で駆動する。
【００３１】
ブロック内に形成されるメモリセルMCi、ソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-Dは、Ｐ型のウエル内に形成されるＮ型のＭＯＳトランジスタである。メモリセルは、Ｎ型の拡散領域であるソース／ドレインと、ソース／ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成された電荷と蓄積するフローティングゲート（電荷蓄積層）と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含む。典型的に、フローティングゲートに電荷が蓄積されていないとき、つまりデータ「１」が書き込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「０」が書き込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。
【００３２】
好ましい態様では、セルユニットＮＵに接続されたグローバルビット線GBL0、GBL1、・・・、GBLn-1は、ビット線選択回路を介してページバッファ１６０に接続される。ビット線選択回路は、読出し時やプログラム時に、偶数ビット線または奇数ビット線を選択し、選択された偶数ビット線または奇数ビット線をページバッファ１６０に接続する。１つのセンス回路は、一対の偶数ビット線および奇数ビット線で共有され、偶数ビット線および奇数ビット線がそれぞれ１ページを構成するならば、センス回路は、１ページ分のセンス回路を含む。センス回路／データレジスタ１６２は、読出し時に、偶数ビット線または奇数ビット線の電位を感知し、その読み出されたデータを保持し、プログラム時に、偶数ビット線または奇数ビット線に書込むデータを保持する。列選択回路１７０は、列アドレス情報Ａｙに基づきビット線を選択し、選択されたビット線へのデータの書込み、あるいは選択されたビット線からデータを読出す。さらに列選択回路１７０は、後述するように欠陥素子を含む欠陥ビットを冗長素子を含む冗長ビットに変換する変換回路１７２を有する。
【００３３】
製造工程中に発生した物理的な欠陥（ショート、オープンなど）を有する欠陥素子を冗長素子によって救済するため、冗長情報記憶部１４０には冗長情報が記憶される。図５は、冗長情報記憶部１４０の冗長情報の一例を示している。ここには、欠陥素子の情報として、欠陥素子が含まれるメモリブロックと列アドレスと、当該欠陥素子を救済するために割り当てられた冗長素子の列アドレスとの関係が記憶される。さらに必要であれば、欠陥素子の行アドレスを含めることができ、当該行アドレス（ページ）が選択されたときに欠陥素子の救済を行うようにしてもよい。欠陥素子は、出荷前に行われるテスト等によって検出され、冗長情報が生成される。冗長情報記憶部１４０は、例えば、ヒューズＲＯＭやその他の不揮発性メモリから構成される。
【００３４】
次に、本実施例のフラッシュメモリの冗長および誤り訂正について説明する。図６は、ページバッファ１６０と列選択回路１７０の内部構成を示すブロック図である。センス回路／データレジスタ１６２は、メモリ領域ＭＭから読み出されたコアデータ（または書込みデータ）を保持するデータレジスタＤＲ−０、ＤＲ−１と、冗長メモリ領域ＭＲから読み出された冗長データ（または書込み冗長データ）を保持する冗長データレジスタＤＲ−Ｒとを有する。データレジスタＤＲ−０、ＤＲ−１は、選択されたページの１／２のページデータを保持する。例えば、１ページは、２Ｋバイトであり、冗長ビット数は、１６ビットである。
【００３５】
キャッシュレジスタ１６４は、キャッシュレジスタＣＲ−０、ＣＲ−１と、冗長キャッシュレジスタＣＲ−Ｒを有し、キャッシュレジスタＣＲ−０、ＣＲ−１、ＣＲ−Ｒは、それぞれデータレジスタＤＲ−０、ＤＲ−１、ＤＲ−Ｒから図示しない転送トランジスタを介して並列に転送されたデータを受け取り、それぞれのデータを保持する。
【００３６】
列選択回路１７０は、変換回路１７２を有し、当該変換回路１７２は、キャッシュレジスタＣＲ−０、ＣＲ−１のデータのコアデータに含まれる欠陥素子の欠陥データを冗長素子の冗長データに置換する。ここで留意すべきことは、従来の冗長スキームでは、キャッシュレジスタＣＲ−０の１／２ページのコアデータが最大でＭ／２ビットの冗長データによって救済可能であり、また、キャッシュレジスタＣＲ−１の１／２ページのコアデータが最大でＭ／２ビットの冗長データによって救済可能であるのに対し、本実施例では、キャッシュレジスタＣＲ−０、ＣＲ−１の１ページ全体のコアデータが最大でＭビットの冗長データによって救済可能である。このため、従来の冗長では、１ページに含まれる欠陥素子がＭビットより小さい場合であっても、キャッシュレジスタＣＲ−０／ＣＲ−１にＭ／２ビットより大きい欠陥素子が存在すれば、これを救済することができず、フラッシュメモリは不良とされるが、本実施例では、このような場合であっても欠陥素子を救済することができ、フラッシュメモリを良品とすることができる。
【００３７】
変換回路１７２は、双方向バス１７４によってＥＣＣ回路１８０に接続され、コアデータまたは冗長データによって救済されたデータをＥＣＣ回路１８０へ提供することができる。
【００３８】
図７は、本実施例の冗長動作の詳細を説明する図である。変換回路１７２は、２つのキャッシュレジスタＣＲ−０、ＣＲ−１に共用され、キャッシュレジスタＣＲ−０、ＣＲ−１に保持されたデータをＥＣＣ回路１８０へ出力するとき、冗長情報記憶部１４０に記憶された冗長情報に基づき、欠陥データを冗長データに変換する。
【００３９】
図７（Ａ）は、キャッシュレジスタＣＲ−０のデータをＥＣＣ回路１８０へ出力するときの動作を示している。キャッシュレジスタＣＲ−０のデータの誤り訂正を行うとき、キャッシュレジスタＣＲ−０のコアデータと冗長データレジスタＤＲ−Ｒの冗長データが図示しない転送トランジスタを介して変換回路１７２へ転送される。変換回路１７２は、受け取ったコアデータに欠陥素子の欠陥データが含まれているとき、欠陥データを冗長データに置換し、置換されたデータを保持する。そして、変換回路１７２は、コアデータあるいは冗長データによって救済されたデータをＥＣＣ回路１８０へ出力する。
【００４０】
ＥＣＣ回路１８０による誤り訂正が終了すると、図７（Ｂ）に示すようにＥＣＣ回路１８０から出力された誤り訂正済みのデータが変換回路１７２によって受け取られる。変換回路１７２は、誤り訂正済みのデータをキャッシュレジスタＣＲ−０にコアデータとして上書きする。ここで留意すべき点は、誤り訂正済みのデータは、変換回路１７２によって元のコアデータと冗長データに分離されず、冗長キャッシュレジスタＣＲ−Ｒには、冗長データの上書きが実行されないことである。図７（Ｃ）、（Ｄ）は、キャッシュレジスタＣＲ−１に保持されたデータの冗長および誤り訂正の動作を示しており、この場合にも、キャッシュレジスタＣＲ−１のコアデータに含まれる欠陥データが冗長素子の冗長データによって変換され、ＥＣＣ回路１８０による誤り訂正が行われた後、誤り訂正済みのデータのみがキャッシュレジスタＣＲ−１にコアデータとして上書きされ、冗長キャッシュレジスタＣＲ−Ｒには冗長データが上書きされない。
【００４１】
図８は、キャッシュレジスタに保持されたデータの出力動作を説明する図である。図８（Ａ）、（Ｂ）に示すように、キャッシュレジスタＣＲ−０に保持された誤り訂正済みのコアデータが出力される間に、キャッシュレジスタＣＲ−１のコアデータが冗長データによって救済可能であり、かつＥＣＣ回路１８０によって誤り訂正される。また、図８（Ｃ）、（Ｄ）に示すように、キャッシュレジスタＣＲ−１に保持された誤り訂正済みのコアデータが出力される間に、キャッシュレジスタＣＲ−０のコアデータが冗長データによって救済可能であり、かつＥＣＣ回路１８０によって誤り訂正される。このように、キャッシュレジスタＣＲ−０、ＣＲ−１からデータを出力させるとき、冗長キャッシュレジスタＣＲ−Ｒが利用されないため、冗長キャッシュレジスタＣＲ−Ｒを常に冗長に利用することができる。図９（Ａ）は、ページ読出し時のタイミングチャートを示し、図９（Ｂ）は、ページ読出しを連続して行うときのタイミングチャートである。
【００４２】
次に、本実施例の変換回路の具体的な構成例について説明する。図１０（Ａ）、（Ｂ）は、変換回路１７２の内部構成を示す図であり、ここには代表的な１ビットの回路構成のみが示されている。図１０（Ａ）に示すように、変換回路１７２は、冗長用のメインアンプMAREDと冗長用の論理回路１７６とを含む。冗長用のメインアンプMAREDは、内部にラッチ回路を含み、プリチャージ信号DLPRE、イネーブル信号MAENR、およびラッチ制御信号MALTRの制御信号、および冗長キャッシュレジスタＣＲ−Ｒからの冗長データDLR_E、DLRB_Eを入力し、制御信号に基づき、冗長データの出力DMR_E、DMRB_Eを制御する。すなわち、ラッチ制御信号MALTRがＬのとき、出力DMR_EがＬになり、制御信号MALTRがＨのとき、出力DMR_EがＨになる。図中の“Ｂ”は、論理状態が反転した信号を意味する。
【００４３】
冗長用のメインアンプMAREDの出力DMR_E／DMRB_Eは、論理回路１７６に入力される。ここで、MATCHは、コアデータに含まれる欠陥素子の欠陥ビットが冗長素子の冗長ビットにヒット（一致）したときにＨになる信号である。従って、冗長情報に含まれる両ビットの列アドレスが一致したとき、MATCHがＨになり、MATCHBがＬになる。このため、２つのＮＯＲゲートがアクティブになり、出力DMR_Eに応じて２つのＮチャンネルＭＯＳトランジスタが相補的にオンまたはオフされ、ラッチ回路に冗長データDLR_E、DLRB_Eに対応するデータが保持され、その反転したデータがIOBUS_REDから出力される。このIOBUS_REDは、ＥＣＣ回路１８０へ接続される。
【００４４】
一方、両列アドレスがヒットしなければ、MATCHBがＨになり、２つのトランジスタはオフされ、IOBUS_REDはハイインピーダンス状態になり、ＥＣＣ回路１８０には冗長データが出力されない。このように論理回路１７６は、欠陥素子の列アドレスと冗長素子の列アドレスが一致したとき（MATCH＝Ｈ、MATCHB＝Ｌ）、ラッチ制御信号MALTRに応答して冗長データをIOBUS_REDに出力する。
【００４５】
列選択回路１７０はさらに、図１０（Ｂ）に示すようなコアデータ用のメインアンプMAと論理回路１７８とを含む。メインアンプMAは、キャッシュレジスタＣＲ−０、ＣＲ−１に保持されたコアデータDL_E、DLB_Eを受け取り、プリチャージ信号DLPRE、イネーブル信号MAENR、およびラッチ制御信号MALTRの制御信号に基づき出力DM_E、DMB_Eを制御する。メインアンプMAの基本的な動作は、冗長用のメインアンプMAREDと同様である。
【００４６】
論理回路１７８は、欠陥素子の列アドレスと冗長素子の列アドレスが一致しないとき、MATCHがＬになるため、ＮＯＲゲートがアクティブとなり、ラッチ回路は、コアデータDL_E、DLB_Eに対応するデーが保持され、その反転されたデータがIOBUS_0から出力される。このIOBUS_REDは、ＥＣＣ回路１８０へ接続される。一方、両列アドレスが一致したとき、MATCHがＨになり、２つのトランジスタはオフされ、IOBUS_REDはハイインピーダンス状態になり、ＥＣＣ回路１８０にはコアデータが出力されない。このように論理回路１７８は、欠陥素子の列アドレスと冗長素子の列アドレスが一致しないとき（MATCH＝Ｈ、MATCHB＝Ｌ）、ラッチ制御信号MALTRに応答してコアデータをIOBUS_0に出力する。
【００４７】
また、図７（Ｂ）、（Ｄ）に示すように、誤り訂正されたデータは、変換回路１７２によってキャッシュレジスタＣＲ−０、ＣＲ−１に上書きされる。この場合、ＥＣＣ回路１８０から出力されたデータは、メインアンプMAによってキャッシュレジスタＣＲ−０、ＣＲ−１に書込まれる。
【００４８】
上記実施例では、読出し動作が行われる例を示したが、データをプログラムする場合には、Ｉ／Ｏバッファ１１０で受け取られた書込みデータは、変換回路１７２によって冗長データとコアデータに分離され、キャッシュレジスタＣＲ−０、ＣＲ−１、ＣＲ−Ｒにそれぞれ転送される。
【００４９】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５０】
１０：フラッシュメモリ                        １００：メモリアレイ
１１０：入出力バッファ                        １２０：アドレスレジスタ
１３０：制御部                                １４０：冗長情報記憶部
１５０：ワード線選択回路                      １６０：ページバッファ
１６２：センス回路／データレジスタ            １６４：キャッシュレジスタ
１７０：列選択回路                            １７２：変換回路
１７４：双方向バス                            １７６、１７８：論理回路
１８０：ＥＣＣ回路
ＭＭ：メモリ領域                              ＭＲ：冗長メモリ領域
【図１】
2015082333.tif 000003
【図２】
2015082333.tif 000004
【図３】
2015082333.tif 000005
【図４】
2015082333.tif 000006
【図５】
2015082333.tif 000007
【図６】
2015082333.tif 000008
【図７】
2015082333.tif 000009
【図８】
2015082333.tif 000010
【図９】
2015082333.tif 000011
【図１０】
2015082333.tif 000012
【手続補正書】
【提出日】平成26年11月6日(2014.11.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
メインメモリ領域ＭＭと冗長メモリ領域ＭＲの１ページは、例えば２Ｋバイトであり、ページ読出しが行われたとき、例えば、半分の１Ｋバイトの偶数ビットのデータがデータレジスタＤＲ−０に転送され、残りの半分の１Ｋバイトの奇数ビットのデータがデータレジスタＤＲ−１に転送される。あるいは、メインメモリ領域ＭＭの物理的に左側半分のデータがデータレジスタＤＲ−０に転送され、右側半分のデータがデータレジスタＤＲ−１に転送される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、ＥＣＣ回路４３０によって誤り訂正されたデータは、カラム制御回路４２０によってキャッシュレジスタＣＲ−０、ＣＲ−１に再書込みされ、Ｉ／Ｏバッファ４４０へ出力するときに、コアデータの欠陥ビットの冗長ビットへの変換処理が変換回路４２２−０、４２２−２によって再び行われる。従って、キャッシュレジスタＣＲ−０、ＣＲ−１からデータを出力させるときに、必ず変換回路４２２−０、４２２−１を通過さなければならず、キャッシュ動作の高速化の障害になっている。