【実施例】
【0024】
本発明の実施例に係るフラッシュメモリの典型的な構成を
図2に示す。但し、ここに示すフラッシュメモリは例示であって、本発明は、必ずしもこのような構成に限定されるものではない。本実施例のフラッシュメモリ10は、複数のメモリセルが行列状に配列されたメモリアレイ100と、外部入出力端子I/Oに接続され入出力データを保持する入出力バッファ110と、入出力バッファ110からのアドレスデータを受け取るアドレスレジスタ120と、入出力バッファ110からのコマンドデータや外部からの制御信号を受け取り、各部を制御する制御部130と、メモリアレイ100に含まれる欠陥素子に関する冗長情報を記憶する冗長情報記憶部140と、アドレスレジスタ120から行アドレス情報Axを受け取り、行アドレス情報Axをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路150と、ワード線選択回路150によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ160と、アドレスレジスタ120から列アドレス情報Ayを受け取り、列アドレス情報Ayをデコードし、当該デコード結果に基づきページバッファ160内のデータの選択等を行う列選択回路170と、データの誤り訂正を行うECC回路180と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路190とを含んで構成される。なお、メモリアレイの記憶素子は、1ビット(2値データ)を記憶するSLCタイプでもよいし、多ビットを記憶するMLCタイプであってもよい。
【0025】
メモリアレイ100は、列方向に配置されたm個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。
図3は、1つのメモリブロック内のセルアレイの構成を説明する図である。フラッシュメモリにおいて、メモリブロックは、データを消去する単位であり、当該メモリブロック内には複数のページが含まれる。1つのページは、データの読出しまたは書込みをする単位であり、1つのページは、後述するNANDストリングの同一行に配列された複数のメモリセルによって構成される。また、1つのメモリブロックは、その機能的な役割から、通常のデータの読み書きを行うためのメモリ領域MMと、冗長メモリ領域MRとに分けられる。ここでは、1つのページは、メモリ領域MMと冗長メモリ領域MRのメモリセルから構成され、例えば、1ページは2Kバイトから構成され、冗長データは、16ビットである。但し、ページ単位の読み出しまたは書込みは、必ずしも1ページに限らず複数のページを同様に読み出したり、書込むものであってもよい。
【0026】
ページバッファ160は、センス回路/データレジスタ162とキャッシュレジスタ164とを含む。センス回路/データレジスタ162は、各々のブロック毎の各ビット線に接続され、選択されたブロックの選択されたページから読み出されたデータがセンスされ、それがセンス回路/データレジスタ162に保持される。センス回路/データレジスタ162は、図示しない転送トランジスタを介してキャッシュレジスタ164に接続され、センス回路/データレジスタ162に保持されたデータは、転送トランジスタを介してキャッシュレジスタ164に並列に転送される。センス回路/データレジスタ162からキャッシュレジスタ164へのデータ転送が終了すると、センス回路/データレジスタ162には、次に読み出されたページデータが転送され、その間、キャッシュレジスタ164に保持されたデータは、ECC回路180または入出力バッファ110へ出力される。
【0027】
書込み(プログラム)動作では、入出力バッファ110から出力されたデータが順次シーケンシャルにキャッシュレジスタ164に入力され、そこに保持され、次に、センス回路/データレジスタ162へ転送トランジスタを介して転送される。センス回路/データレジスタ162に保持されたデータが選択されたブロックの選択されたページに書込まれると、次のデータがキャッシュレジスタ164からセンス回路/データレジスタ162へ転送される。
【0028】
図4は、1つのメモリブロック内に形成されるNANDストリングの構成を示している。1つのメモリブロックは、複数のメモリセルを直列に接続したNANDストリング(以下、セルユニットNUという)を複数含み、各セルユニットNUは、行方向に配置される。行方向に配置された複数のセルユニットNUは、基板上の1つのウエル、例えばP型のウエル内に形成され、1つのメモリブロックを構成する。図に示す例では、1つのメモリブロックは、nビット(個)のセルユニットNUを含み、そのうち、所定のビットが通常のコアデータの読み書きに利用されるメインメモリ領域MMに利用され、残りのビットが冗長メモリ領域MRに割り当てられる。
【0029】
1つのセルユニットNUは、直列に接続されたN個のメモリセルMCi(i=0、1、・・・、N−1)と、その両端に直列に接続されたソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-Dとを含んで構成される。ここでは、セルユニットNUは、32個のメモリセルを含む例を示している。
【0030】
各メモリセルMCiのゲートは、対応するワード線WL0〜WL31に接続される。ソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-DLも同様にソース選択線SGS、ドレイン選択線SGDにそれぞれ共通に接続される。ソース選択トランジスタSEL-Sは、そのドレインがメモリセルMC0のソースに接続され、そのソースは、共通ソース線SLに接続され、ゲートはソース選択線SGSに接続される。ドレイン選択トランジスタSEL-Dのソースは、メモリセルMC31のドレインに接続され、そのドレインは、対応するグローバルビット線GBLに接続され、ゲートはドレイン選択線DGDに接続される。ワード線WL0〜WL31、ソース選択線SGS、ドレイン選択線DSGは、ブロック選択線BSELを共通ゲートに入力するブロック選択トランジスタを介してワード線選択回路150に接続される。ワード線選択回路150は、行アドレスAxに基づきブロック選択線BSELによりブロック選択トランジスタを導通させブロックの選択を行う。さらにワード線選択回路150は、選択されたブロックのワード線WL0〜WL31、ソース選択線SGS、ドレイン選択線SGDを動作状態に応じて所定の電圧で駆動する。
【0031】
ブロック内に形成されるメモリセルMCi、ソース選択トランジスタSEL-S、ドレイン選択トランジスタSEL-Dは、P型のウエル内に形成されるN型のMOSトランジスタである。メモリセルは、N型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成された電荷と蓄積するフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含む。典型的に、フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書き込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書き込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。
【0032】
好ましい態様では、セルユニットNUに接続されたグローバルビット線GBL0、GBL1、・・・、GBLn-1は、ビット線選択回路を介してページバッファ160に接続される。ビット線選択回路は、読出し時やプログラム時に、偶数ビット線または奇数ビット線を選択し、選択された偶数ビット線または奇数ビット線をページバッファ160に接続する。1つのセンス回路は、一対の偶数ビット線および奇数ビット線で共有され、偶数ビット線および奇数ビット線がそれぞれ1ページを構成するならば、センス回路は、1ページ分のセンス回路を含む。センス回路/データレジスタ162は、読出し時に、偶数ビット線または奇数ビット線の電位を感知し、その読み出されたデータを保持し、プログラム時に、偶数ビット線または奇数ビット線に書込むデータを保持する。列選択回路170は、列アドレス情報Ayに基づきビット線を選択し、選択されたビット線へのデータの書込み、あるいは選択されたビット線からデータを読出す。さらに列選択回路170は、後述するように欠陥素子を含む欠陥ビットを冗長素子を含む冗長ビットに変換する変換回路172を有する。
【0033】
製造工程中に発生した物理的な欠陥(ショート、オープンなど)を有する欠陥素子を冗長素子によって救済するため、冗長情報記憶部140には冗長情報が記憶される。
図5は、冗長情報記憶部140の冗長情報の一例を示している。ここには、欠陥素子の情報として、欠陥素子が含まれるメモリブロックと列アドレスと、当該欠陥素子を救済するために割り当てられた冗長素子の列アドレスとの関係が記憶される。さらに必要であれば、欠陥素子の行アドレスを含めることができ、当該行アドレス(ページ)が選択されたときに欠陥素子の救済を行うようにしてもよい。欠陥素子は、出荷前に行われるテスト等によって検出され、冗長情報が生成される。冗長情報記憶部140は、例えば、ヒューズROMやその他の不揮発性メモリから構成される。
【0034】
次に、本実施例のフラッシュメモリの冗長および誤り訂正について説明する。
図6は、ページバッファ160と列選択回路170の内部構成を示すブロック図である。センス回路/データレジスタ162は、メモリ領域MMから読み出されたコアデータ(または書込みデータ)を保持するデータレジスタDR−0、DR−1と、冗長メモリ領域MRから読み出された冗長データ(または書込み冗長データ)を保持する冗長データレジスタDR−Rとを有する。データレジスタDR−0、DR−1は、選択されたページの1/2のページデータを保持する。例えば、1ページは、2Kバイトであり、冗長ビット数は、16ビットである。
【0035】
キャッシュレジスタ164は、キャッシュレジスタCR−0、CR−1と、冗長キャッシュレジスタCR−Rを有し、キャッシュレジスタCR−0、CR−1、CR−Rは、それぞれデータレジスタDR−0、DR−1、DR−Rから図示しない転送トランジスタを介して並列に転送されたデータを受け取り、それぞれのデータを保持する。
【0036】
列選択回路170は、変換回路172を有し、当該変換回路172は、キャッシュレジスタCR−0、CR−1のデータのコアデータに含まれる欠陥素子の欠陥データを冗長素子の冗長データに置換する。ここで留意すべきことは、従来の冗長スキームでは、キャッシュレジスタCR−0の1/2ページのコアデータが最大でM/2ビットの冗長データによって救済可能であり、また、キャッシュレジスタCR−1の1/2ページのコアデータが最大でM/2ビットの冗長データによって救済可能であるのに対し、本実施例では、キャッシュレジスタCR−0、CR−1の1ページ全体のコアデータが最大でMビットの冗長データによって救済可能である。このため、従来の冗長では、1ページに含まれる欠陥素子がMビットより小さい場合であっても、キャッシュレジスタCR−0/CR−1にM/2ビットより大きい欠陥素子が存在すれば、これを救済することができず、フラッシュメモリは不良とされるが、本実施例では、このような場合であっても欠陥素子を救済することができ、フラッシュメモリを良品とすることができる。
【0037】
変換回路172は、双方向バス174によってECC回路180に接続され、コアデータまたは冗長データによって救済されたデータをECC回路180へ提供することができる。
【0038】
図7は、本実施例の冗長動作の詳細を説明する図である。変換回路172は、2つのキャッシュレジスタCR−0、CR−1に共用され、キャッシュレジスタCR−0、CR−1に保持されたデータをECC回路180へ出力するとき、冗長情報記憶部140に記憶された冗長情報に基づき、欠陥データを冗長データに変換する。
【0039】
図7(A)は、キャッシュレジスタCR−0のデータをECC回路180へ出力するときの動作を示している。キャッシュレジスタCR−0のデータの誤り訂正を行うとき、キャッシュレジスタCR−0のコアデータと冗長データレジスタDR−Rの冗長データが図示しない転送トランジスタを介して変換回路172へ転送される。変換回路172は、受け取ったコアデータに欠陥素子の欠陥データが含まれているとき、欠陥データを冗長データに置換し、置換されたデータを保持する。そして、変換回路172は、コアデータあるいは冗長データによって救済されたデータをECC回路180へ出力する。
【0040】
ECC回路180による誤り訂正が終了すると、
図7(B)に示すようにECC回路180から出力された誤り訂正済みのデータが変換回路172によって受け取られる。変換回路172は、誤り訂正済みのデータをキャッシュレジスタCR−0にコアデータとして上書きする。ここで留意すべき点は、誤り訂正済みのデータは、変換回路172によって元のコアデータと冗長データに分離されず、冗長キャッシュレジスタCR−Rには、冗長データの上書きが実行されないことである。
図7(C)、(D)は、キャッシュレジスタCR−1に保持されたデータの冗長および誤り訂正の動作を示しており、この場合にも、キャッシュレジスタCR−1のコアデータに含まれる欠陥データが冗長素子の冗長データによって変換され、ECC回路180による誤り訂正が行われた後、誤り訂正済みのデータのみがキャッシュレジスタCR−1にコアデータとして上書きされ、冗長キャッシュレジスタCR−Rには冗長データが上書きされない。
【0041】
図8は、キャッシュレジスタに保持されたデータの出力動作を説明する図である。
図8(A)、(B)に示すように、キャッシュレジスタCR−0に保持された誤り訂正済みのコアデータが出力される間に、キャッシュレジスタCR−1のコアデータが冗長データによって救済可能であり、かつECC回路180によって誤り訂正される。また、
図8(C)、(D)に示すように、キャッシュレジスタCR−1に保持された誤り訂正済みのコアデータが出力される間に、キャッシュレジスタCR−0のコアデータが冗長データによって救済可能であり、かつECC回路180によって誤り訂正される。このように、キャッシュレジスタCR−0、CR−1からデータを出力させるとき、冗長キャッシュレジスタCR−Rが利用されないため、冗長キャッシュレジスタCR−Rを常に冗長に利用することができる。
図9(A)は、ページ読出し時のタイミングチャートを示し、
図9(B)は、ページ読出しを連続して行うときのタイミングチャートである。
【0042】
次に、本実施例の変換回路の具体的な構成例について説明する。
図10(A)、(B)は、変換回路172の内部構成を示す図であり、ここには代表的な1ビットの回路構成のみが示されている。
図10(A)に示すように、変換回路172は、冗長用のメインアンプMAREDと冗長用の論理回路176とを含む。冗長用のメインアンプMAREDは、内部にラッチ回路を含み、プリチャージ信号DLPRE、イネーブル信号MAENR、およびラッチ制御信号MALTRの制御信号、および冗長キャッシュレジスタCR−Rからの冗長データDLR_E、DLRB_Eを入力し、制御信号に基づき、冗長データの出力DMR_E、DMRB_Eを制御する。すなわち、ラッチ制御信号MALTRがLのとき、出力DMR_EがLになり、制御信号MALTRがHのとき、出力DMR_EがHになる。図中の“B”は、論理状態が反転した信号を意味する。
【0043】
冗長用のメインアンプMAREDの出力DMR_E/DMRB_Eは、論理回路176に入力される。ここで、MATCHは、コアデータに含まれる欠陥素子の欠陥ビットが冗長素子の冗長ビットにヒット(一致)したときにHになる信号である。従って、冗長情報に含まれる両ビットの列アドレスが一致したとき、MATCHがHになり、MATCHBがLになる。このため、2つのNORゲートがアクティブになり、出力DMR_Eに応じて2つのNチャンネルMOSトランジスタが相補的にオンまたはオフされ、ラッチ回路に冗長データDLR_E、DLRB_Eに対応するデータが保持され、その反転したデータがIOBUS_REDから出力される。このIOBUS_REDは、ECC回路180へ接続される。
【0044】
一方、両列アドレスがヒットしなければ、MATCHBがHになり、2つのトランジスタはオフされ、IOBUS_REDはハイインピーダンス状態になり、ECC回路180には冗長データが出力されない。このように論理回路176は、欠陥素子の列アドレスと冗長素子の列アドレスが一致したとき(MATCH=H、MATCHB=L)、ラッチ制御信号MALTRに応答して冗長データをIOBUS_REDに出力する。
【0045】
列選択回路170はさらに、
図10(B)に示すようなコアデータ用のメインアンプMAと論理回路178とを含む。メインアンプMAは、キャッシュレジスタCR−0、CR−1に保持されたコアデータDL_E、DLB_Eを受け取り、プリチャージ信号DLPRE、イネーブル信号MAENR、およびラッチ制御信号MALTRの制御信号に基づき出力DM_E、DMB_Eを制御する。メインアンプMAの基本的な動作は、冗長用のメインアンプMAREDと同様である。
【0046】
論理回路178は、欠陥素子の列アドレスと冗長素子の列アドレスが一致しないとき、MATCHがLになるため、NORゲートがアクティブとなり、ラッチ回路は、コアデータDL_E、DLB_Eに対応するデーが保持され、その反転されたデータがIOBUS_0から出力される。このIOBUS_REDは、ECC回路180へ接続される。一方、両列アドレスが一致したとき、MATCHがHになり、2つのトランジスタはオフされ、IOBUS_REDはハイインピーダンス状態になり、ECC回路180にはコアデータが出力されない。このように論理回路178は、欠陥素子の列アドレスと冗長素子の列アドレスが一致しないとき(MATCH=H、MATCHB=L)、ラッチ制御信号MALTRに応答してコアデータをIOBUS_0に出力する。
【0047】
また、
図7(B)、(D)に示すように、誤り訂正されたデータは、変換回路172によってキャッシュレジスタCR−0、CR−1に上書きされる。この場合、ECC回路180から出力されたデータは、メインアンプMAによってキャッシュレジスタCR−0、CR−1に書込まれる。
【0048】
上記実施例では、読出し動作が行われる例を示したが、データをプログラムする場合には、I/Oバッファ110で受け取られた書込みデータは、変換回路172によって冗長データとコアデータに分離され、キャッシュレジスタCR−0、CR−1、CR−Rにそれぞれ転送される。
【0049】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。