(57)【要約】  【課題】  読み出し及び書き込みの高速化を図った半導体記憶装置を提供する。  【解決手段】  半導体記憶装置は、互いに平行に配置された複数のデータ選択線、これらのデータ選択線と交差するように互いに平行に配置された複数のデータ転送線、及びこれらのデータ選択線とデータ転送線の各交差部に配置された電気的書き換え可能なメモリセルを有するメモリセルアレイと、前記メモリセルアレイのデータ選択線を駆動するデータ選択線ドライバと、前記メモリセルアレイのデータ転送線に接続されて、前記データ選択線の一つにより選択されたメモリセルのデータ読み出しを行うセンスアンプ回路と、前記メモリセルアレイのデータ読み出しのタイミング制御に用いられる、前記メモリセルアレイの選択されたデータ領域に応じて異なる少なくとも二種のタイミング信号を出力する制御回路とを有する。  【選択図】  図１
2005063626.tif 000002
【特許請求の範囲】
【請求項１】
互いに平行に配置された複数のデータ選択線、これらのデータ選択線と交差するように互いに平行に配置された複数のデータ転送線、及びこれらのデータ選択線とデータ転送線の交差部に配置された電気的書き換え可能なメモリセルを有するメモリセルアレイと、
前記メモリセルアレイのデータ選択線を駆動するデータ選択線ドライバと、
前記メモリセルアレイのデータ転送線に接続されて、前記データ選択線の一つにより選択されたメモリセルのデータ読み出しを行うセンスアンプ回路と、
前記メモリセルアレイのデータ読み出しのタイミング制御に用いられる、前記メモリセルアレイの選択されたデータ領域に応じて異なる少なくとも二種のタイミング信号を出力する制御回路とを有する
ことを特徴とする半導体記憶装置。
【請求項２】
前記メモリセルアレイは、前記データ選択線の方向に前記データ選択線の一つにより同時に選択される少なくとも一つの第一領域と少なくとも一つの第二領域とに分けられ、
前記制御回路は、同時に選択される前記第一領域と第二領域のデータ読み出しを第１のサイクルタイムで行うに必要なタイミング信号を出力する第１のタイミング回路と、前記第二領域の選択的なデータ読み出しを前記第１のサイクルタイムより短い第２のサイクルタイムで行うに必要なタイミング信号を出力する第２のタイミング回路とを有する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記メモリセルアレイは、前記データ転送線の方向にそれぞれ複数のデータ選択線を含む複数のセルブロックに分けられている
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記メモリセルアレイは、前記データ選択線の方向に前記データ選択線の一つにより同時に選択される一つの第一領域と一つの第二領域とに分けられ、
前記データ選択線ドライバは、前記データ選択線の前記第二領域側の端部に配置されている
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記メモリセルアレイは、前記データ選択線の方向に前記データ選択線の一つにより同時に選択される少なくとも二つの第一領域とこれらの第一領域の間に挟まれた少なくとも一つの第二領域とに分けられ、
前記データ選択線ドライバは、前記データ選択線の両端部に前記セルブロック毎に振り分けて配置されている
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項６】
前記メモリセルアレイは、前記データ選択線の方向に前記データ選択線の一つにより同時に選択される少なくとも一つの第一領域とこの第一領域の両側に配置された少なくとも二つの第二領域とに分けられ、
前記データ選択線ドライバは、前記データ選択線の両端部に前記セルブロック毎に振り分けて配置されている
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項７】
前記各セルブロックは、それぞれ異なるデータ選択線により駆動される、直列接続された複数のメモリセルと、その少なくとも一端を対応するデータ転送線に接続する選択ゲートトランジスタと備えたＮＡＮＤ型セルユニットを配列して構成されている
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項８】
前記各セルブロックは、それぞれ異なるデータ選択線により駆動される、並列接続された複数のメモリセルと、その少なくとも一端を対応するデータ転送線に接続する選択ゲートトランジスタと備えたＡＮＤ型又はバーチャルグラウンド型セルユニットを配列して構成されている
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項９】
前記メモリセルアレイの複数カラムのデータを連続的に読み出すための、読み出し可能な最小サイクルタイムが異なる少なくとも二つのデータ読み出しモードを有する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項１０】
前記メモリセルアレイの選択メモリセルにデータを書き込むための、書き込み状態を確認するためのベリファイ読み出し動作を含むデータ書き込みモードを有する
ことを特徴とする請求項１記載の半導体記憶装置。  
【請求項１１】
前記センスアンプ回路に読み出されたデータの少なくとも１ビットの誤り訂正を行うための誤りビット訂正回路を有する
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項１２】
前記第二領域は、前記第一領域のメモリセルを置き換えるためのメモリセル領域、前記第一領域に書き込まれるデータの誤り訂正コードを記録するＥＣＣ記録領域及び、第一領域の全消去や書き込み状態を記憶するフラグ領域の少なくとも一つとなる
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項１３】
データ書き込みサイクルのベリファイ読み出し時に前記センスアンプ回路に読み出されたデータに基づいて全書き込みデータの書き込み完了を判定するためのベリファイ判定回路と、
前記ベリファイ判定回路の前記第一領域対応の複数の第１の判定出力端子と前記第二領域対応の第２の判定出力端子を共通接続する判定出力線の前記第１の判定出力端子と第２の判定出力端子の間に挿入されたスイッチ素子とを有する
ことを特徴とする請求項４記載の半導体記憶装置。
【請求項１４】
カラムアドレスを記憶する初期設定記憶回路と、
入力されたカラムアドレスと前記初期設定記憶回路が記憶するカラムアドレスの一致検出を行うカラムアドレス一致検出回路と、
前記カラムアドレス一致検出回路の出力に基づいて前記第一領域の不良カラムを前記第二領域のカラムで置換するためのアドレス変換を行うカラムアドレス変換回路とを有し、
前記カラムアドレス変換回路は、前記メモリセルアレイの複数カラムのデータを連続的に読み出すモードにおいて、前記第二領域のデータが最後に出力されるように論理カラムアドレスと物理カラムアドレスの変換を行う論理／物理アドレス変換回路を有する
ことを特徴とする請求項５記載の半導体記憶装置。
【請求項１５】
前記論理／物理アドレス変換回路は、論理カラムアドレスの最上位ビットを反転するインバータを有する
ことを特徴とする請求項１４記載の半導体記憶装置。  
【請求項１６】
互いに平行に配置された複数のデータ選択線、これらのデータ選択線と交差するように互いに平行に配置された複数のデータ転送線、及びこれらのデータ選択線とデータ転送線の交差部に配置された電気的書き換え可能なメモリセルを有するメモリセルアレイと、
前記メモリセルアレイのデータ選択線を駆動するデータ選択線ドライバと、
前記メモリセルアレイのデータ転送線に接続されて、前記データ選択線の一つにより選択されたメモリセルのデータ読み出しを行うセンスアンプ回路と、
入力される論理アドレスにより順に選択されるべき物理アドレスの少なくとも一部の順序を入れ替えるための、そのアドレス出力が前記センスアンプ回路に入力される論理／物理アドレス変換回路とを有する
ことを特徴とする半導体記憶装置。
【請求項１７】
前記メモリセルアレイは、前記データ転送線の方向にそれぞれ複数のデータ選択線を含む複数のセルブロックに分けられている
ことを特徴とする請求項１６記載の半導体記憶装置。
【請求項１８】
前記各セルブロックは、それぞれ異なるデータ選択線により駆動される、直列接続された複数のメモリセルと、その少なくとも一端を対応するデータ転送線に接続する選択ゲートトランジスタと備えたＮＡＮＤ型セルユニットを配列して構成されている
ことを特徴とする請求項１７記載の半導体記憶装置。
【請求項１９】
前記各セルブロックは、それぞれ異なるデータ選択線により駆動される、並列接続された複数のメモリセルと、その少なくとも一端を対応するデータ転送線に接続する選択ゲートトランジスタと備えたＡＮＤ型又はバーチャルグラウンド型セルユニットを配列して構成されている
ことを特徴とする請求項１７記載の半導体記憶装置。
【請求項２０】
前記センスアンプ回路に読み出されたデータの少なくとも１ビットの誤り訂正を行うための誤りビット訂正回路を有する  
ことを特徴とする請求項１７記載の半導体記憶装置。
【請求項２１】
前記論理／物理アドレス変換回路は、前記メモリセルアレイの複数カラムのデータを連続的に読み出すモードにおいて、データの誤り訂正コードを記録するＥＣＣ記録領域の論理アドレスと物理アドレスの少なくとも一部の順序を入れ替える
ことを特徴とする請求項２０記載の半導体記憶装置。
【請求項２２】
前記メモリセルアレイは、前記データ選択線の方向に前記データ選択線の一つにより同時に選択される少なくとも二つの第一領域とこれらの第一領域に挟まれて、第一領域のカラムを置き換えるためのメモリセル領域及び第一領域に書き込まれるデータの誤り訂正コードを記録するＥＣＣ記録領域となる一つの第二領域とに分けられ、
前記データ選択線ドライバは、前記データ選択線の両端部に前記セルブロック毎に振り分けて配置され、
前記データ選択線の一つにより同時に選択される前記第一領域と第二領域のデータ読み出しを第１のサイクルタイムで行うに必要なタイミング信号を出力する第１のタイミング回路と、前記第二領域の選択的なデータ読み出しを前記第１のサイクルタイムより短い第２のサイクルタイムで行うに必要なタイミング信号を出力する第２のタイミング回路とを有する制御回路を備えた
ことを特徴とする請求項１７記載の半導体記憶装置。
【請求項２３】
カラムアドレスを記憶する初期設定記憶回路と、
入力されたカラムアドレスと前記初期設定記憶回路が記憶するカラムアドレスの一致検出を行うカラムアドレス一致検出回路と、
前記カラムアドレス一致検出回路の出力に基づいて前記第一領域の不良カラムを前記第二領域のカラムで置換するためのアドレス変換を行うカラムアドレス変換回路とを有し、
前記論理／物理アドレス変換回路は、前記メモリセルアレイの複数カラムのデータを連続的に読み出すモードにおいて、前記第二領域のデータが最後に出力されるように論理カラムアドレスと物理カラムアドレスの変換を行う
ことを特徴とする請求項２２記載の半導体記憶装置。
【請求項２４】
前記論理／物理アドレス変換回路は、論理カラムアドレスの最上位ビットを反転するインバータを有する
ことを特徴とする請求項２３記載の半導体記憶装置。
【請求項２５】
入出力ポートを介して読み出し或いは書き込みされるデータのビット数ｎが、ｍを自然数として、（２ｍ−１−ｍ）＜ｎ≦（２ｍ−ｍ−１）で表される場合に、前記メモリセルアレイの一つのデータ選択線に沿って少なくとも（ｎ＋ｍ）個のメモリセルが配置される
ことを特徴とする請求項１１又は２０記載の半導体記憶装置。
【請求項２６】
請求項１又は１６記載の半導体記憶装置が搭載され、前記メモリセルアレイのある領域へのデータ書き込み後、他の領域へのデータ書き込みと同時に前記ある領域に関する書き込み完了フラグが書き込まれる
ことを特徴とするファイルシステム。
【請求項２７】
請求項１又は１６記載の半導体記憶装置が搭載され、データ書き込みが電源遮断により中断された後の再書き込みが、データ消去状態からのデータ書き込みに比べて短時間で行われる
ことを特徴とするファイルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的書き換え可能な半導体記憶装置に関する。
【背景技術】
【０００２】
電気的書き換え可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）が種々開発されている。ＭＯＳＦＥＴ構造のメモリセルは、電荷蓄積層にチャネルから絶縁膜を介してトンネル電流によって注入した電荷をディジタルビット情報として格納し、その電荷量に応じたＭＯＳＦＥＴのコンダクタンス変化を測定することにより、情報が読み出される。中でも、メモリセルを複数個直列或いは並列接続してセルユニットを構成するＮＡＮＤ型ＥＥＰＲＯＭやＡＮＤ型ＥＥＰＲＯＭは、選択トランジスタゲートの数をメモリセルよりも大幅に減らすことができ、高密度化することができる。
【０００３】
大容量ＮＡＮＤ型ＥＥＰＲＯＭでは、セルユニットがロウ方向（データ選択線方向）及びカラム方向（データ転送線方向）にそれぞれ複数個配置される。ロウ方向に並ぶセルユニットの集合は通常データ一括消去の単位となるセルブロックを構成する。またＮＡＮＤ型ＥＥＰＲＯＭのメモリセルアレイには一般に、通常のデータ記憶行うためのノーマルセルアレイと、不良カラム置換を行うための冗長セルアレイが含まれる。冗長セルアレイは、ノーマルセルアレイのデータ選択線方向の一端部に配置される。各セルブロックのデータ選択線を駆動するデータ選択線ドライバは、配置を容易にすると共に、データ選択線間のスキューをそろえるために、メモリセルアレイの両側に振り分けて配置する方式が提案されている（例えば特許文献１参照）。
【０００４】
ＮＡＮＤ型ＥＥＰＲＯＭのデータ選択線レイアウトや回路構成は、特許文献１，２等に開示されており、またセンスアンプ構成や冗長回路構成については、特許文献３−５に開示されている。
【０００５】
ＮＡＮＤ型ＥＥＰＲＯＭのセルサイズを微細化し、メモリセルの制御ゲートを共通接続するデータ選択線の長さを長くしてメモリセルアレイの高密度化を図ると、データ選択線（ゲート配線）抵抗が増大し、その配線遅延が大きくなる。このため、読み出しや書き込み時にデータ選択線を駆動するためのタイミングパルスは、データ選択線に沿って配置されたすべてのメモリセルについて読み書きができるように必要な時間幅を確保する必要があり、これが読み出しや書き込みの高速化を阻害する。具体的にその配線遅延の問題を以下に説明する。
【０００６】
図４１は、ＮＡＮＤ型ＥＥＰＲＯＭにおける一つのデータ選択線ドライバ２により駆動されるＮＡＮＤセルユニット４９ａ〜４９ｃの範囲を示している。セルユニット４９ａ〜４９ｂは、通常のデータ記憶を行うノーマルセルアレイ１００に含まれ、セルユニット４９ｃは冗長セルアレイ１０１に含まれる。これらのノーマルセルアレイ１００と冗長セルアレイ１０１に連続するように配設されたデータ選択線（ワード線）ＷＬ０〜ＷＬ１５及び選択ゲート線ＳＳＬ，ＧＳＬが、ノーマルセルアレイ１００の片側に配置されたデータ選択線ドライバ２により駆動される。
【０００７】
ここでは、データ読み出し時、データ選択線ＷＬ１４が選択された場合を説明する。選択データ選択線ＷＬ１４には、セルデータを判定するに必要な読み出し電圧Ｖｒｅｆが与えられ、非選択データ選択線ＷＬ０〜ＷＬ１３，ＷＬ１５には、セルデータに拘わらずメモリセルをオンさせるに必要なパス電圧Ｖｒｅａｄが与えられる。
【０００８】
図４２は、読み出し時の非選択データ選択線ＷＬ１５上のノードＡ，Ｂ及び選択データ選択線ＷＬ１４上のノードＣ，Ｄに着目した電圧波形を示している。残りの非選データ選択線ＷＬ０〜ＷＬ１３の波形は、基本的に非選択データ選択線ＷＬ１５のそれとほぼ同じである。Ａ，Ｃは、ノーマルセルアレイ１００内において、よりデータ選択線ドライバ２に近いノードであり、Ｂ，Ｄは、冗長セルアレイ１０１内のデータ選択線ドライバ２から最も離れたノードである。
【０００９】
データ選択線ＷＬ１５上のノードＡの電圧は、破線で示すように、データ選択線ドライバ２に近いため、タイミングｔ０に接地電位ＧＮＤから立ち上がり、ほぼタイミングｔ１’でＶｒｅａｄまで上昇する。同じデータ選択線ＷＬ１５上のノードＢは、データ選択線ドライバ２から離れているために、配線のＣＲ時定数が大きく、実線で示すように、タイミングｔ０にＧＮＤから立ち上がるが、タイミングｔ１’よりも遅れて、タイミングｔ１でＶｒｅａｄまで上昇する。
【００１０】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ１’−ｔ０）と（ｔ１−ｔ０）との比は、データ選択線ドライバ２からノードＡまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。よって、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち上がりの遅延時間は増大する。
【００１１】
選択データ選択線ＷＬ１４は、データ選択線ドライバ２の出力により、パス電圧Ｖｒｅａｄより低い読み出し電圧Ｖｒｅｆに保たれる。しかし、パス電圧Ｖｒｅａｄの立ち上がり時、隣接するデータ選択線ＷＬ１５およびＷＬ１３からの容量結合によって、データ選択線ＷＬ１４の電圧が上昇する。図４２に示すように、データ選択線ドライバ２に近いノードＣでは、この電圧上昇は小さいが、データ選択線ドライバ２から遠いノードＤでは、隣接するデータ選択線ＷＬ１５およびＷＬ１３のデータ選択線ドライバ２の配線容量および配線抵抗が大きくなるために、電圧上昇がより大きくなる。
【００１２】
ノードＡにおいては、タイミングｔ１’以降は、データ選択線ＷＬ１３およびＷＬ１５の電圧Ｖｒｅａｄが一定となる。このためデータ選択線ＷＬ１４は、その後電圧上昇はなく、データ選択線ドライバ２を通じて放電する。ノードＣはタイミングｔ２’でほぼＶｒｅｆに戻り、ノードＤはこれより遅れて、タイミングｔ２でほぼＶｒｅｆに戻る。データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ２’−ｔ１’）と（ｔ２−ｔ１）との比は、データ選択線ドライバ２からノードＣまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＤまでのデータ選択線の長さの自乗との比にほぼ等しくなる。よって、データ選択線の長さが長くなるほど、その長さの自乗に比例してデータ選択線ＷＬ１４の電圧変動の立ち下がりの遅延時間は増大する。メモリセルのしきい値と読み出し電圧Ｖｒｅｆとの差によってメモリセルの電流が決定されるため、この読み出し電圧Ｖｒｅｆが一定となってから、メモリセルの電流を測定する必要がある。
【００１３】
これ以降、タイミングｔ３にパス電圧Ｖｒｅａｄを接地電位ＧＮＤに低下させることにより、読み出しが終了する。このとき、データ選択線ＷＬ１５のデータ選択線ドライバ２に近いノードＡは、タイミングｔ４’でＧＮＤまで低下するが、データ選択線ドライバ２から遠いノードＢは、これより遅れて、タイミングｔ４でＧＮＤまで低下する。データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ４’−ｔ３）と（ｔ４−ｔ３）との比は、データ選択線ドライバ２からノードＡまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。よって、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。
【００１４】
以上から、データ選択線ドライバ２から遠いＮＡＮＤセルユニット４９ｃのメモリセルの読み出しに必要な時間範囲Ｔ２はｔ２からｔ３までであり、データ選択線ドライバ２に近いセルユニット４９ａのメモリセルの読み出しに必要な時間範囲Ｔ１はｔ２’からｔ３までとなる。しかし、セルユニット４９ａ，４９ｂ，４９ｃを一度に読み出す従来の読み出し方法では、ＮＡＮＤセルユニット４９ｃの読み出し時間範囲Ｔ２に律速されるから、長い読み出しサイクルタイムが必要となる。
【００１５】
図４２では読み出し時のパルスについて示したが、書き込み時においても、書き込みパルス電圧の立ち上がり及び立下り時間は、データ選択線ドライバ２から遠いＮＡＮＤセルユニットのメモリセルほど長くかかる。従って、最もデータ選択線ドライバ２から遠いメモリセルに律速された長い書き込みサイクル時間が必要となる。
【００１６】
さらに、冗長セルアレイ１０１内のメモリセル（スペアカラム）で、ノーマルセルアレイ１００内の不良メモリセルを含むカラムを置換する場合に、データ選択線ドライバ２から最も遠いＮＡＮＤセルユニット４９ｃのカラムによって、データ選択線ドライバ２に最も近いＮＡＮＤセルユニット４９ａの不良カラムを置き換える可能性がある。よって、データ選択線ドライバ２から最も遠いＮＡＮＤセルユニット４９ｃのメモリセルとデータ選択線ドライバ２に最も近いＮＡＮＤセルユニット４９ａのメモリセルの両方で読み出しおよび書き込み動作ができるように、タイミング余裕を大きく確保する必要があった。
【００１７】
【特許文献１】特開２０００−７６８８０公報
【特許文献２】特開２００１−１５０７８４公報
【特許文献３】特開２００１−１６７５９２公報
【特許文献４】特開２０００−２１１９０公報
【特許文献５】米国特許第６，４２１，２７２明細書
【発明の開示】
【発明が解決しようとする課題】
【００１８】
以上述べたように、メモリセルを複数個直列または並列接続したセルユニットをマトリックス配列した半導体メモリでは、データ選択線を長くしてセルユニット数を増やすと、データ選択線間の容量結合とデータ選択線のＣＲ時定数による遅延のため、データ選択線ドライバから遠いメモリセルでの読み出しパルスや書き込みパルス電圧が安定するまで必要な時間余裕が増大する。このため、書き込みおよび読み出しの高速化が困難になる。さらに、冗長セルアレイのスペアカラムで、ノーマルセルアレイ内の不良カラムを置換した場合に、データ選択線ドライバから最も遠いメモリセルと最も近いメモリセルの両方で正常に読み出しおよび書き込み動作ができるように、タイミング余裕を大きく確保することが必要があった。
【００１９】
この発明は、読み出し及び書き込みの高速化を図った半導体記憶装置を提供することを目的としている。
【課題を解決するための手段】
【００２０】
この発明の一態様による半導体記憶装置は、互いに平行に配置された複数のデータ選択線、これらのデータ選択線と交差するように互いに平行に配置された複数のデータ転送線、及びこれらのデータ選択線とデータ転送線の交差部に配置された電気的書き換え可能なメモリセルを有するメモリセルアレイと、前記メモリセルアレイのデータ選択線を駆動するデータ選択線ドライバと、前記メモリセルアレイのデータ転送線に接続されて、前記データ選択線の一つにより選択されたメモリセルのデータ読み出しを行うセンスアンプ回路と、前記メモリセルアレイのデータ読み出しのタイミング制御に用いられる、前記メモリセルアレイの選択されたデータ領域に応じて異なる少なくとも二種のタイミング信号を出力する制御回路とを有する。
【発明の効果】
【００２１】
この発明によれば、読み出し及び書き込みの高速化を図った半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、この発明の実施の形態を説明する。
以下の実施の形態において、トランジスタ（ＭＩＳＦＥＴ）の“オン”とは、トランジスタのしきい値電圧よりも高いゲート電圧印加により、ソースとドレイン間が導通状態になることをいい、トランジスタの“オフ”とは、トランジスタのしきい値電圧よりも低いゲート電圧印加により、ソースとドレイン間が遮断状態になることをいう。トランジスタの“しきい値電圧”は、ソース・ドレイン間に流れる電流が、４０ｎＡ×（チャネル幅）／（ゲート長さ）となるゲート電圧である。
【００２３】
また以下の実施の形態において、論理レベルは、しきい値電圧が正のＮＭＯＳトランジスタとしきい値電圧が負のＰＭＯＳトランジスタを用いたＣＭＯＳインバータを基本とするＣＭＯＳ論理回路のそれに準じる。特に異なる言及をしない限り、論理“Ｈ”は、ＮＭＯＳトランジスタのしきい値電圧以上の正電圧の範囲（例えば０．５Ｖから１５Ｖ）であり、それ未満が論理“Ｌ”である。以下の実施の形態では、“Ｈ”，“Ｌ”に相当する電圧値をそれぞれ、“Ｖｃｃ”，“ＧＮＤ”（或いは“Ｖｓｓ”）で記す場合があるが、これらは、それぞれ電源電圧Ｖｃｃに対して、Ｖｃｃ／２〜Ｖｃｃ，Ｖｃｃ／２〜０Ｖの範囲の電圧であればよい。しきい値が負のトランジスタを用いても、ゲート電圧の可変範囲にしきい値が含まれるようにすればよい。
【００２４】
［実施の形態１］
図１は、一実施の形態によるＥＥＰＲＯＭの機能ブロック構成を示している。
メモリセルアレイ１は、外部入力端子Ｉ／Ｏから与えられたデータを記憶するための“ノーマルデータ領域”（第一領域）であるセルアレイ（以下、ノーマルセルアレイ）１００と、“冗長領域”（第二領域）としてのセルアレイ（以下、冗長セルアレイ）１０１とを有する。冗長セルアレイ１０１は、ノーマルセルアレイ１００のロウ方向の一端側即ち、メモリセルアレイ１のデータ選択線を駆動するデータ選択線ドライバ２に近い側に配置されている。
【００２５】
冗長セルアレイ１０１は、この実施の形態の場合、ノーマルセルアレイ１００の不良メモリセルを含むカラムを置き換えるためのスペアカラムセル領域、ノーマルセルアレイ１００に書き込まれるデータのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を記録するＥＣＣ記録領域及び、メモリセルの全消去や書き込み状態を記憶するフラグ領域となる“冗長領域”である。但し、これらの冗長領域のうち少なくとも一つを含む場合にこの発明は有効である。
【００２６】
メモリセルアレイ１のデータ転送線のデータをセンスし、あるいは書き込みデータを保持するために、センスアンプ回路４６が設けられている。センスアンプ回路４６はデータレジスタを兼ねており、後述するようにデータラッチを主体として構成される。センスアンプ回路４６は、内部データ線ＤＩ／Ｏ２を介してデータ入出力バッファ４５に接続されている。これらの間の接続は、アドレスバッファ４７からカラムアドレス変換回路３６を介してアドレス信号を受けるカラムデコーダ４８の出力によって制御されて、データ入出力バッファ４５に与えられたデータのメモリセルアレイ１への書き込み、読み出しデータのデータ入出力バッファ４５への読み出しが可能となる。
【００２７】
メモリセルアレイ１のメモリセルの選択を行うため、具体的には後述するデータ選択線および選択ゲート線（ブロック選択線）の制御をするために、ロウデコーダ３が設けられている。データ選択線ドライバ２は、ロウデコーダ３の出力に従って各種電圧出力を、書き込みまたは読み出しが必要なメモリセルのデータ選択線や選択ゲート線に印加するためのスイッチ回路である。この実施の形態では、データ選択線ドライバ２は、メモリセルアレイ１のロウ方向の一端側、即ち冗長セルアレイ１０１側にのみ配置されている。
【００２８】
基板電位制御回路４２は、メモリセルアレイ１が形成されるｐ型基板（またはｐ型ウェル）の電位を制御するために設けられており、特にデータ消去時に１０Ｖ以上に昇圧された消去電圧を出力するように構成される。高電圧発生回路４１（４１ａ〜４１ｄ）は、メモリセルアレイ１の書き込み及び読み出しに用いられる各種電圧を発生する。具体的に高電圧発生回路４１は、データ書き込みを行う際に選択メモリセルに与えられる、電源電圧より昇圧された書き込み電圧Ｖｐｇｍを発生するためのＶｐｇｍ発生回路４１ａ、データ書き込み時に非選択メモリセルに与えられる書き込み用中間電圧（パス電圧）Ｖｐａｓｓを発生するためのＶｐａｓｓ発生回路回路４１ｂ、データ読み出し時に非選択メモリセルに与えられる読み出し用中間電圧（パス電圧）Ｖｒｅａｄを発生するＶｒｅａｄ発生回路４１ｃおよび、読み出し時選択セルのしきい値判定を行うための読み出し電圧Ｖｒｅｆを与えるＶｒｅｆ発生回路４１ｄを有する。
【００２９】
高電圧発生回路４１は、書き込み、消去、および読み出しの各状態で、必要な電圧出力がデータ選択線ドライバ２に加えられるように、制御回路４０によって制御されている。書き込み電圧Ｖｐｇｍは、６Ｖ以上３０Ｖ以下の電圧であり、書き込みパス電圧Ｖｐａｓｓは３Ｖ以上１５Ｖ以下の電圧、読み出しパス電圧Ｖｒｅａｄは１Ｖ以上９Ｖ以下の電圧である。パス電圧Ｖｒｅａｄは、ＮＡＮＤ型メモリセルアレイの場合、“０”データ書込みしきい値の上限よりも１Ｖ程度高い電圧とすることが、読み出しセル電流を十分確保し且つ、非選択セルでのディスターブを低下させる上で望ましい。読み出し電圧Ｖｒｅｆは、通常読み出し時には、データ“１”，“０”のしきい値分布の中間に設定される。例えば、データ“１”を負のしきい値状態、データ“０”を正のしきい値状態としてデータ記憶する場合には、通常読み出し時の読み出し電圧Ｖｒｅｆは０Ｖとすることができる。書き込みベリファイ読み出し時には、この読み出し電圧Ｖｒｅｆは、“０”データのしきい値分布の下限値に設定される。
【００３０】
制御回路４０は、上述した高電圧発生の制御を行う他、コマンド入力に基づいて、読み出し動作制御や書込みおよび消去のシーケンス制御を行う。このため、制御回路４０からは各種タイミング制御信号がセンスアンプ回路４６、ベリファイ判定回路３８等に供給される。この実施の形態においては、制御回路４０は、読み出し時にメモリセルアレイ１内のどの領域が選択されたかに応じて、Ｖｒｅａｄ発生回路４１ｃが出力するパス電圧Ｖｒｅａｄの時間幅を異ならせるべく制御するために、二種の読み出しタイミング回路４０１及び４０２が設けられている。この様な二種の読み出しタイミング回路を用いることによって、以下の全ての実施の形態において、連続に読み出すデータ列の長さを等しくしても、冗長セルアレイ領域を選択的に高速で読み出すことが可能になる。
【００３１】
ベリファイ判定回路３８は、データ書き込み状態を確認するベリファイ読み出しの結果により書き込み完了を判定するための回路である。データ書き込みは、書き込みパルス電圧印加動作とその後のベリファイ読み出し動作を含む書き込みサイクルが、同時に選択される全てのセルの書き込みが完了するまで繰り返される。ベリファイ判定回路３８は、各書き込みサイクルにはおいて、ベリファイ読み出しの結果、全選択セルの書き込みが完了したか否かを判定するために用いられるものである。ベリファイ判定出力Ｌｖｆｙは、この実施の形態の場合、全ての選択セルの書き込みが完了した場合に“Ｌ”、一つでも書き込み不十分なセルがある場合に“Ｈ”となる信号である。
【００３２】
制御回路４０は、このベリファイ判定出力Ｌｖｆｙに基づいて、書き込みシーケンスを終了し、或いは次の書き込みサイクルの制御を行う。ベリファイ判定回路３８の判定出力端子部には、メモリセルアレイ１のなかのノーマルセルアレイ１００対応の複数の判定出力端子と、冗長セルアレイ１０１対応の出力端子があり、これらを共通接続する判定出力線には、ノーマルセルアレイ１００対応の複数の判定出力端子と冗長セルアレイ１０１対応の出力端子の間を選択的に切り離すためのスイッチ素子３９が設けられている。このスイッチ素子３９の機能の詳細は後述する。
【００３３】
初期設定記憶回路（不良アドレス記憶回路）３５には、メモリセルアレイ１の不良カラム置換を行うために、不良カラムアドレスがプログラムされる。そして、入力されたアドレスと不良アドレス記憶回路３５が保持する不良カラムアドレスとの一致検出を行ってカラムアドレス変換回路３６を制御するために、カラムアドレス一致検出回路３４が設けられている。
データ入出力バッファ３５と外部Ｉ／Ｏ端子の間には、誤りビット訂正回路５が設けられている。
【００３４】
図２Ａ及び図２Ｂは、メモリセルアレイ１とセンスアンプ回路４６及びベリファイ判定回路３８の部分のより具体的な構成を示している。マトリクス配列されるセルユニット４９，４９’は、単一又は複数ページを含み、同時に消去が行われるメモリセルの集合であり、ＮＡＮＤ型やＡＮＤ型セルユニットが用いられる。例えば、電荷蓄積層を有したフラッシュメモリセルのように、１ページのメモリセルの消去時間が１ページのメモリセルの書きこみ時間よりも長い場合には、セルユニットは複数のページを含み、複数のページで一度に消去動作を行われるように構成されることが、１セルユニットあたりの書きこみ時間と１セルユニットあたりの消去時間とを同程度にすることができ、システムから見た書きこみデータ転送速度と消去速度のパフォーマンスを向上させることができ望ましい。
【００３５】
ロウ方向に並ぶ複数のセルユニット４９，４９’には、共通にデータ選択線（ワード線）ＷＬ０〜ＷＬ１５及び選択ゲート線ＳＳＬ，ＧＳＬが配設される。カラム方向に並ぶセルユニット４９と４９’の容量は異なってもよいが、この実施の形態では同じ容量とする。この実施の形態では具体的に、セルユニット４９，４９’は、図３２に示すＮＡＮＤ型セルユニットを用いている。複数のメモリセルＭ０〜Ｍ１５は直列接続され、それぞれの制御ゲートは異なるデータ選択線ＷＬ０〜ＷＬ１５により駆動される。図２Ａに示すように、複数のセルユニット４９，４９’が接続されたデータ選択線ＷＬ０〜ＷＬ１５の右端に、これらのデータ選択線を駆動するデータ選択線ドライバ２が配置される。１つのデータ選択線ドライバ２に接続されたデータ選択線につながるセルユニット４９，４９’の集合は、一括データ消去の範囲となるセルブロックＢＬＫ（ＢＬＫ０，ＢＬＫ１，…）を構成する。従ってメモリセルアレイ１は、データ転送線ＢＬの方向に複数のセルブロックＢＬＫに分けられている。
【００３６】
図３２に示すように、セルユニット４９，４９’の一端は、選択ゲートトランジスタＳ１を介して第１のデータ転送線（ビット線）ＢＬに接続され、他端は選択ゲートトランジスタＳ２を介して第２のデータ転送線（ソース線）ＳＬに接続されている。データ転送線ＢＬは、データ選択線ＷＬ０〜ＷＬ１５と直交するように配設される。選択ゲートトランジスタＳ１，Ｓ２のゲートは、データ選択線ＷＬ０〜ＷＬ１５と並行する、ブロック選択のための選択ゲート線ＳＳＬ，ＧＳＬに接続されている。
【００３７】
セルユニット４９，４９’内のそれぞれのメモリセルＭ０〜Ｍ１５は、データ転送線ＢＬとデータ選択線ＷＬ０〜ＷＬ１５の各交点に形成され、それぞれ独立にデータの保持および読み出しが可能である。メモリセルＭ０〜Ｍ１５はこの実施の形態の場合、電荷蓄積層を有し、その電荷蓄積層の電荷量でデータを表わすトランジスタである。この実施の形態では、フラッシュメモリを対象としているため、セルユニット４９又は４９’の全メモリセルは一括消去（しきい値が負の“１”データ状態）され、その後、書き込みデータにしたがって、必要なメモリセルのしきい値を高くする“０”データ書き込み動作が行われる。
【００３８】
ＮＡＮＤ型セルユニットの具体的な構成を、図３５〜図３７に示す。図３５は、ロウ方向の３つのセルユニットの並列部分のレイアウトを示している。ここでは、セル構造をわかりやすくするために、制御ゲート１２７よりも下の構造のみを示している。電荷蓄積電極１２６を有するＭＯＳトランジスタからなる不揮発性メモリセルは、シリコン基板のｐ型ウェル上に形成されている。メモリセルの制御ゲート１２７は、データ選択線（ワード線）ＷＬ０〜ＷＬ１５に接続されている。データ転送線（ビット線）ＢＬに沿った複数のセルユニットから１つのセルユニットを選択してデータ転送線に接続するため、選択ゲートトランジスタＳ１，Ｓ２のゲート電極はそれぞれ選択ゲート線ＳＳＬ，ＧＳＬに接続されている。
【００３９】
選択ゲート線ＳＳＬ，ＧＳＬはメモリセルの制御ゲート１２７及び電荷蓄積層１２６と同じ層の導電体によって形成されて、データ選択線ＷＬと並行に配設されている。この実施の形態では、セルユニット４９が二つの選択ゲートトランジスタを有する場合を示しているが、これらは少なくとも一方があればよい。またセルユニット４９が１６個のメモリセルを含む例を示しているが、データ転送線およびデータ選択線に接続するメモリセルの数は複数であればよく、一般に２ｎ個（ｎは正の整数）であることがアドレスデコードをする上で望ましい。
【００４０】
図３６及び図３７はそれぞれ、図３５のＢ−Ｂ’およびＡ−Ａ’断面図である。
セルアレイは、シリコン基板１２１の、ボロン濃度が１０１４ｃｍ−３から１０１９ｃｍ−３の間のｐ型ウェル１２３に形成されている。具体的に、ｐ型ウェル１２３に３〜１５ｎｍの厚さのシリコン酸化膜（またはオキシナイトライド膜）１２５からなるトンネルゲート絶縁膜を介して、電荷蓄積層となる浮遊ゲート１２６（選択トランジスタのゲート１２６ＳＳＬ，１２６ＧＳＬを含む）が形成されている。浮遊ゲート１２６は、リンまたは砒素を１０１８ｃｍ−３〜１０２１ｃｍ−３添加した、厚さ１０ｎｍ〜５００ｎｍのポリシリコンである。
【００４１】
浮遊ゲート１２６は、シリコン酸化膜からなる素子分離絶縁膜１２４により区画されたｐ型ウェル１２３の素子形成領域に自己整合的に形成されている。これは、例えば、ｐ型ウェル１２３にトンネル絶縁膜１２５と浮遊ゲート１２６となるポリシリコン膜を全面堆積した後、これをパターニングして得られる。このパターニングのためのエッチング工程は、ｐ型ウェル１２３が０．０５〜０．５μｍの深さエッチングされるまで行う。その後素子分離絶縁膜１２４が埋め込まれる。これにより、浮遊ゲート１２６は段差のない平面をもって形成される。
【００４２】
浮遊ゲート１２６上には、厚さ５ｎｍ〜３０ｎｍのシリコン酸化膜またはオキシナイトライド膜、またはシリコン酸化膜／シリコン窒化膜／シリコン酸化膜からなるブロック絶縁膜１５０（選択トランジスタ部のブロック絶縁膜１５０ＳＳＬ，１５０ＧＳＬを含む）を介して、制御ゲート１２７（選択トランジスタのゲート１２７ＳＳＬ，１２７ＧＳＬを含む）が形成されている。制御ゲート１２７は、リン、砒素またはボロンを１０１７〜１０２１ｃｍ−３の濃度で添加したポリシリコン、ＷＳｉ（タングステンシリサイド）とポリシリコンとのスタック構造、或いはＮｉＳｉ，ＭｏＳｉ，ＴｉＳｉ或いはＣｏＳｉとポリシリコンのスタック構造であり、厚みが１０ｎｍ〜５００ｎｍである。制御ゲート１２７は、図３５に示すように、隣接するセルユニットで共有されるように、図３６の断面でセルブロック境界まで連続するように形成されており、これがデータ選択線ＷＬ０〜ＷＬ１５となる。
【００４３】
ｐ型ウェル１２３は、ｎ型シリコン領域１２２によってｐ型半導体基板１２１と電気的に分離され、基板１２１と独立に電圧印加できるようになっている。これは、データ消去時の昇圧回路負荷を減らし消費電力を抑えるために望ましい。この実施の形態のメモリセルのゲート構造は、図３６に示すように、素子分離絶縁膜１２４で側壁が覆われた状態になる。従って、制御ゲート１２７の形成前のエッチングで浮遊ゲート１２６の側面が露出することがなく、制御ゲート１２７が素子分離領域でｐ型ウェル１２３に接触する事態を防ぐことができる。これにより、ｐ型ウェル１２３と素子分離絶縁膜１２４との境界での、ゲート電界集中やしきい値低下による寄生トランジスタが生じにくくなる。さらに、電界集中に起因する書込みしきい値の低下現象、いわゆる、サイドウォーク（ｓｉｄｅ  ｗａｌｋ）現象が生じにくくなり、信頼性の高いメモリセルが得られる。
【００４４】
図３７に示すように、パターニングされた積層ゲート電極の両側には、５ｎｍ〜２００ｎｍの厚さのシリコン窒化膜（またはシリコン酸化膜）からなる側壁絶縁膜１４３が形成され、また積層ゲート電極に自己整合されたソース，ドレインとなるｎ型拡散層１２８が形成されている。これら拡散層１２８、電荷蓄積層１２６、および制御ゲート１２７により、電荷蓄積層１２６に蓄積された電荷量を情報量とする浮遊ゲート型ＥＥＰＲＯＭセルが形成されている。このメモリセルのゲート長は、好ましくは０．５ｕｍ以下、０．０１ｕｍ以上とする。ｎ型拡散層１２８は、例えばリンや砒素、アンチモンを表面濃度が１０１７ｃｍ−３から１０２１ｃｍ−３となるように深さ１０ｎｍから５００ｎｍの間で形成される。
【００４５】
ｎ型拡散層１２８は隣接するメモリセルで共有されて、複数のメモリセルが直列接続されたＮＡＮＤストリングが構成される。選択トランジスタのゲート１２６ＳＳＬ，１２６ＧＳＬは、それぞれ浮遊ゲート電極１２６と同層で形成されている。これらのゲート電極１２６ＳＳＬ，１２６ＧＳＬのゲート長は、メモリセルのゲート長よりも長く、例えば、１ｕｍ以下、０．０２ｕｍ以上に形成することが好ましい。これにより、ブロック選択時と非選択時のオンオフ比を大きく確保でき、誤書き込みや誤読み出しを防止できる。
【００４６】
選択ゲートトランジスタのゲート１２７ＳＳＬの外側に形成されたｎ型拡散層１２８ｄは、コンタクトプラグ１３１ｄを介して、タングステンやタングステンシリサイド、チタン、チタンナイトライド、またはアルミニウムからなるデータ転送線（ＢＬ）１３６に接続されている。データ転送線１３６は、カラム方向に配置された複数のセルユニットで共有されるように、図３６の紙面に垂直な方向に連続するように、メモリセルアレイ境界まで形成されている。もう一つの選択ゲートトランジスタのゲート１２７ＧＳＬの片側に形成されたｎ型拡散層１２８ｓは、コンタクトプラグ１３１ｓを介してソース線（ＳＬ）１３３と接続されている。ソース線ＳＬは、隣接するセルユニットで共有されるように、図３７の紙面に直交する方向に連続して、メモリセルアレイ境界まで形成されている。
【００４７】
メタル等によるソース線１３３を設けることなく、ｎ型拡散層１２８Ｓを連続パターンでメモリセルアレイ境界まで形成して、これをソース線としてもよい。コンタクトプラグ１３１ｄ，１３１ｓは、コンタクト孔１３０ｄ，１３０ｓに例えばｎ型またはｐ型にドープされたポリシリコンやタングステン、タングステンシリサイド、Ａｌ、ＴｉＮ、Ｔｉなどが充填されて形成されている。これらのソース線ＳＬとビット線ＢＬの間及び、これらとメモリセルとの間は、ＳｉＯ２やＳｉＮからなる層間絶縁膜１６８によって充填されている。ビット線ＢＬ上部には、例えばＳｉＯ２、ＳｉＮ、ポリイミド等の絶縁膜保護層１３７で覆われる。図では省略しているが、絶縁保護膜１３７の上には更に、Ｗ，ＡｌやＣｕからなる上部配線が形成される。
【００４８】
図２Ａ及び図２Ｂに示すように、ノーマルセルアレイ１００の偶数番のデータ転送線ＢＬ１１〜ＢＬ１ｋと奇数番のデータ線ＢＬ２１〜ＢＬ２ｋは、選択信号ＳＥＬ１，ＳＥＬ２により駆動される選択トランジスタＱ１１〜Ｑ１ｋ，Ｑ２１〜Ｑ２ｋにより選択的にセンスアンプ（ノーマルセンスアンプＳＡ１〜ＳＡｋ）４６に接続される。冗長セルアレイ１０１のデータ転送線ＢＬ１ｒ，ＢＬ２ｒも同様に、選択信号ＳＥＬ１，ＳＥＬ２により駆動される選択トランジスタＱ１ｒ，Ｑ２ｒにより選択的にセンスアンプ（冗長センスアンプＳＡｒ）４６に接続される。  
【００４９】
図２Ａでは、説明を簡単にするために、冗長セルアレイ１０１のデータ転送線を、奇偶１本ずつ示しているが、より多くのスペアデータ転送線を用意することができる。ノーマルセルアレイ１００のデータ転送線数２ｋは、一般にｋ＝２ｎ（ｎは正の整数）である。代表的には、ノーマルセルアレイ１００のデータ転送線総数２ｋを５１２以上とし、その１％〜１０％程度のデータ転送線数を冗長セルアレイ１０１に割り当てるのが、メモリセル占有率を増大させより低コストのメモリを形成するために行われる。
【００５０】
ベリファイ判定回路３８は、書き込みベリファイ時に各センスアンプ４６のノードＮ１のレベルを検出するレベル検出回路６１と、この検出回路６１によるチェックノードＮＣの放電の有無により書き込み終了を判定するための判定回路６２を有する。チェックノードＮＣには、ソースがＶｃｃに接続されたＰＭＯＳトランジスタＭＰ１のゲートが接続されている。ＰＭＯＳトランジスタＭＰ１のドレインは、不良カラム置換のためのフューズ（Ｆｖ１〜Ｆｖｋ，Ｆｖｒ）６３を介して判定出力線６４ａ，６４ｂに接続されている。チェックノードＮＣにはまた、制御回路４０から送られる制御信号ＰＲＥＶＦＹにより制御されて、チェックノード６３をＶｃｃにプリチャージするためのＰＭＯＳトランジスタＭＰ２が接続されている。
【００５１】
レベル検出回路６１は、チェックノードＮＣと接地端子ＧＮＤの間に直列接続されたＮＭＯＳトランジスタＭＮ１，ＭＮ２を有する。ＮＭＯＳトランジスタＭＮ１のゲートは各センスアンプ４６の出力ノードＮ１に接続され、ＮＭＯＳトランジスタＭＮ２のゲートは、制御回路４０から供給される制御信号ＶＦＹにより制御される。
【００５２】
具体的に、センスアンプ４６のノードＮ１は、書き込みが充分に行われていない場合に“Ｈ”出力が得られる。書き込み動作後のベリファイ読み出し時、制御信号ＰＲＥＶＦＹ（＝“Ｈ”）によって、チェックノードＮＣはＶｃｃに、出力線６４ａ，６４ｂは、それぞれＶｓｓにプリチャージされる。そして、制御信号ＰＲＥＶＦＹに遅れて供給されるベリファイ制御信号ＶＦＹ（＝“Ｈ”）により検出回路６１が活性化されると、注目するセルの書き込みが十分である場合（Ｎ１＝“Ｌ”）、ＮＭＯＳトランジスタＮＮ１はオフを保ち、チェックノードＮＣは放電されない。従って全てのセルが書き込み十分であれば、判定出力線６４（６４ａ，６４ｂ）は“Ｌ”を保つ。書き込みが不十分なセルがある場合（Ｎ１＝“Ｈ”）、ＮＭＯＳトランジスタＭＮ１がオンになり、制御信号ＶＦＹによりＮＭＯＳトランジスタＭＮ２がオンすると、対応するチェックノードＮＣは放電される。これによりＰＭＯＳトランジスタＭＰ１がオンになり、Ｌｖｆｙ＝“Ｈ”の判定出力が得られるようになっている。
【００５３】
この実施の形態においては、ノーマルセルアレイ１００対応のフューズ（Ｆｖ１〜Ｆｖｋ）６３の各端子が共通接続される出力線６４ａと、冗長セルアレイ１０１対応のフューズ（Ｆｖｒ）６３の端子が接続された出力線６４ｂとの間に、スイッチ素子３９を構成するＮＭＯＳトランジスタＭＮ４が接続されている。そのゲートには、制御回路４０からのスイッチ制御入力が入る。図では、冗長セルアレイ１０１対応のフューズ６３が一つの場合を示しているが、冗長カラムが複数ある場合には、複数個の冗長セルアレイが用意される。そしてその場合、スイッチ素子３９は、それらの冗長セルアレイ１０１対応の複数のフューズの間に配置することもできる。
【００５４】
前述のように、不良カラムがある場合には、フューズＦｖ１〜Ｆｖｋのうち不良カラム対応のフューズが切断され、冗長カラム対応のフューズＦｒが導通状態を保持する。これにより、ノーマルセルアレイ１００内の不良メモリセルを含むカラムを、冗長セルアレイ１０１内のカラムに置き換えることができる。スイッチ素子３９がオンの場合、ベリファイ判定回路３８は、フューズＦｖ１〜Ｆｖｋ、Ｆｖｒが導通状態にあるセンスアンプ４６でセンスされているメモリセルに対して、ベリファイ判定が行われる。
【００５５】
一方、メモリセルアレイ１のなかで冗長セルアレイ１０１のみについて書き込みや読み出しを行うモードにおいては、スイッチ素子３９をオフにする。これにより、フューズＦｖ１〜Ｆｖｋの状態やノーマルセルアレイ１００のメモリセルの書き込み状態によらず、冗長セルアレイ１０１側の、フューズｆｖｒが導通状態にあるセンスアンプ４６でセンスされているメモリセルに対して、ベリファイ判定が行われる。
【００５６】
前述のように、冗長セルアレイ１０１は、ノーマルセルアレイに与えられたデータのＥＣＣ記録領域、メモリセルの全消去や書き込み状態を記憶するフラグ領域、不良メモリセルをカラムとして置き換えるためのスペアカラム領域である。ベリファイ判定回路出力線の冗長セルアレイ１０１とノーマルセルアレイ１００の境界位置にスイッチング素子３９を設けることにより、ノーマルセルアレイ１００の不良メモリの置き換えを冗長セルアレイ１０１で行った影響を受けずに、高速でＥＣＣ記憶領域やフラグ領域を読み出すことが可能になる。
【００５７】
この実施の形態では（以下の他の実施の形態も同様であるが）、入出力ポートを介して読み出し或いは書き込みされるデータのビット数ｎが、ｍを自然数として、（２ｍ−１−ｍ）＜ｎ≦（２ｍ−ｍ−１）である場合、少なくとも（ｎ＋ｍ）個以上のＮＡＮＤセルユニット４９がデータ選択線ＷＬの方向に配置される。そして、一つのデータ選択線で同時に選択されるメモリセルの範囲を１ページとして用いる。図２Ａ及び２Ｂの構成では、択一的に選択される二つのビット線に一つずつセンスアンプ４６が配置されている。
【００５８】
このようにメモリセルを配列することにより、例えば、ハミング符号を用いてノーマルセルアレイ１００の１ページの読み出しデータの１ビット誤りを検出し、その位置を求めることができる。一般には、ｔを自然数として一連のシーケンスで読み出されるデータビット数ｎが、［２ｍ−１−ｔ×（ｍ−１）−１］より大きく、（２ｍ−ｔ×ｍ−１）以下である場合、少なくとも（ｎ＋ｍ）個以上のセルユニット４９をデータ選択線方向に配置して、一つのデータ選択線で同時に選択されるメモリセルの範囲を１ページとする。
【００５９】
この場合、データを記憶するノーマルセルアレイ１００に対応するセンスアンプ数はデータビット数となり、並列する全センスアンプ数がデータビット数に冗長セルアレイ１０１のビット数を加えたものとなる。このとき冗長セルアレイ１０１のビット数はｔ×ｍビット以上存在するのが誤り訂正には望ましい。このようにメモリセルを準備することにより、例えば、Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ（ＢＣＨ）符号を用いてノーマルセルアレイ１００の一連のシーケンスで読み出されたｔビットのビット誤りを検出し、その位置を求めることができる。
【００６０】
説明をわかりやすくするために、以下では、符号化前のデータ列を情報ビット、符号化後に付加されるビットを検査ビット、復号化後のデータ列で、情報ビットに引き続き誤り位置を示すビットをシンドロームと呼ぶことにする。図１に示すように、データ入出力バッファ４５と外部Ｉ／Ｏ端子の間には、誤りビット訂正回路５が配置されている。誤りビット訂正回路５は、データの誤り訂正を行うだけでなく、データの符号化、および復号化の両方を行う回路となっていることが望ましい。これには、公知である巡回ＲＳ（リードソロモン）符号回路やＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）回路で容易に実現することができる。
【００６１】
誤りビット訂正回路５は、データ入出力バッファ４５から出力された一連のデータのビット誤りを検出および訂正し、さらに、その位置を特定し、外部入出力端子Ｉ／Ｏに出力する。この誤りビット訂正回路５としては、例えば、１ビットのエラー訂正が必要な場合には、公知の巡回ハミング符号復号器を用いればよい。勿論、他の符号系、例えば、一般のＢＣＨ符号やＭ系列符号、畳み込み符号（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅ）、差集合巡回符号でも良く、それらを組み合わせても良い。ただし、データ入出力バッファ４５と誤りビット訂正回路５の間のデータ線ＤＩ／Ｏ１の数を少なくするためには、時系列で情報ビットを与えられ、少ない回路規模で符号化および復号化できる巡回符号であることが望ましい。
【００６２】
畳み込み符号としては、例えば１ｂｉｔ誤り訂正可能なワイナー・アッシュ符号（Ｗｙｎｅｒ−Ａｓｈ  ｃｏｄｅ）やバースト誤り訂正可能な岩垂符号（Ｉｗａｄａｒｅ  ｃｏｄｅ），  ハーゲルバーガー符号（Ｈａｇｅｌｂａｒｇｅｒ  ｃｏｄｅ）を用いることができる。また、この場合は、その拘束長（ｃｏｎｓｔｒａｉｎｔ  ｌｅｎｇｔｈ）を前記ページ長よりも短くすることにより、１つの誤り訂正符号で符号化した場合よりも、復号化に対して最初の誤り訂正情報の出力を早く得ることができる。このようにすることにより、１ページ全部を１つの誤り訂正符号で符号化した場合よりも、復号化に対して最初の誤り訂正情報の出力を早く得ることができ、かつ、符号ビット長の情報ビット長に対する割合を小さくし、効率よい符号化を実現することができる。
【００６３】
誤りビット訂正回路５は、ここでは論理回路で形成する場合を想定しているが、例えば、アキュムレータとメモリ素子によって形成したマイクロコード演算器のソフトウェアや、シーケンサー（ｓｅｑｕｅｎｃｅｒ）のハードウェアによって実現しても良い。ただし、誤りビット検出回路５は検出および訂正ビット数が少ない場合には、ハードウェアで実現した方が、回路面積が小さくクロック遅れが少なくデータ出力できより望ましい。これら、復号回路や誤り訂正符号化手段については、本実施の形態に限らず、以後述べるすべての実施の形態について有効である。
【００６４】
図３は、センスアンプ回路４６のセンスユニット構成を示している。センスユニットは、インバータＩＮＶ１，２を逆並列接続したデータラッチ（データレジスタ）４６１を有する。データラッチ４６１の一方のノードＮ２は、カラム選択信号ＣＳＬにより制御されるＮＭＯＳトランジスタＭＮ１３を介して内部データ線ＤＩ／Ｏ２に接続され、また制御信号φ２により制御されるＮＭＯＳトランジスタＭＮ１２を介して選択されたビット線ＢＬに接続される。他方のノードＮ１は、センスノードＮＳでのデータセンス結果が転送されるノードでありまた、ベリファイ判定回路３８へのセンス結果出力ノードともなる。
【００６５】
ビット線データをセンスするためのセンスノードＮＳは、センス用ＮＭＯＳトランジスタＭＮ１５のゲートに接続されている。センスノードＮＳは、制御信号φ４により制御されるクランプ用ＮＭＯＳトランジスタＭＮ１６を介してデータ転送線（ビット線）ＢＬに接続される。センスノートＮＳには、センスノードＮＳ及びデータ転送線ＢＬを電圧Ｖ１にプリチャージするために、制御信号φ１により制御されるプリチャージ用ＮＭＯＳトランジスタＭＮ１１が接続されている。センス用ＮＭＯＳトランジスタＭＮ１５のドレインは、制御信号φ３により制御されるＮＭＯＳトランジスタＭＮ１４を介してデータラッチ４６１のノードＮ１に接続される。
【００６６】
このセンスアンプ４６による書き込み及び読み出しの動作原理は次の通りである。書き込みデータは、内部データ線ＤＩ／Ｏ２からＮＭＯＳトランジスタＭＮ１３を介してノードＮ２にロードされる。この書き込みデータの“Ｈ”，“Ｌ”レベルは、ＮＭＯＳトランジスタＭＮ１２を介して選択されたビット線ＢＬに転送される。詳細は後述するが、この書き込みデータに応じてＮＡＮＤセルユニットのチャネルがプリチャージされ、その後選択データ選択線に書き込みパルス電圧を印加することにより、選択セルへの書き込みが行われる。
【００６７】
読み出し時は、まずセンスノードＮＳ及びビット線ＢＬを電圧Ｖ１にプリチャージする動作が行われる。その後、選択セルによりセンスノードＮＳ及びビット線ＢＬが放電されるか否かを検出することで、セルデータが判定される。センス結果はデータラッチ４６１に保持する。書き込みとベリファイ読み出しについて後に詳細な動作説明を行うが、この実施の形態のセンスアンプ４６は、書き込みが不十分なセルについてのみ、ノードＮ１が“Ｈ”となるセンス結果が得られるようになっている。このノードＮ１のセンス結果が、前述したようにベリファイ判定回路３８に送られ、書き込みサイクルの終了判定に供される。
【００６８】
図４は、データ選択線ドライバ２とロウデコーダ３の具体的な構成を示している。ロウデコーダ３は、イネーブル信号ＲＤＥＮＢにより活性化されて、ブロックアドレスＲＡｉ，ＲＢｉ，ＲＣｉがオール“Ｈ”であることを検出するブロックアドレス選択回路である。選択されたセルブロックについて、ブロック選択信号ＲＤＥＣＩは”Ｈ”となり、これがデータ選択線ドライバ２の活性化信号となる。
【００６９】
ブロック選択信号ＲＤＥＣＩは、制御信号ＢＳＴＯＮおよび電源Ｖｃｃによりそれぞれゲートが制御されるデプレション型（Ｄ型）ＮＭＯＳトランジスタＱ７０１、Ｑ７０２を介して、ノードＮ０に転送される。Ｖｃｃは、１Ｖから５Ｖまでの範囲の電圧であり、例えば３．３Ｖとする。これらのトランジスタＱ７０１，Ｑ７０２は高耐圧トランジスタであり、しきい値は０Ｖ以下、−２Ｖ以上、典型的には−１Ｖに設定される。ノードＮ０により駆動されるエンハンスメント型（Ｅ型）ＮＭＯＳトランジスタＱ６００〜Ｑ６１５，Ｑ６２１，Ｑ６２２はそれぞれ、データ選択線ＷＬ０〜ＷＬ１５，選択ゲート線ＳＳＬ，ＧＳＮを駆動する駆動トランジスタアレイを構成している。これら駆動トランジスタも高耐圧トランジスタであり、しきい値は０Ｖ以上、２Ｖ以下、典型的には０．６Ｖ程度に設定される。
【００７０】
Ｅ型ＮＭＯＳトランジスタＱ７０４，Ｑ７０５、イントリンシック型（Ｉ型）ＮＭＯＳトランジスタＱ７０３、ＭＯＳキャパシタＣ７１，Ｃ７２およびインバータ７４の部分は、高電圧発生回路から出力される電圧ＶＲＤＥＣをノードＮ０に電圧降下なく転送するための、チャージポンプ回路を利用したスイッチ回路を構成している。電圧ＶＲＤＥＣは、具体的には、動作モードに応じて図１のＶｐｇｍ発生回路４１ａから発生される書き込み電圧Ｖｐｇｍ、Ｖｐａｓｓ発生回路４１ｂから発生されるパス電圧Ｖｐａｓｓ、Ｖｒｅａｄ発生回路４１ｃから発生されるパス電圧Ｖｒｅａｄ、あるいはＶｃｃである。Ｉ型ＮＭＯＳトランジスタＱ７０３のしきい値は、０Ｖ以上、１Ｖ以下、例えば、０．２Ｖ程度に設定される。これらスイッチ回路も高耐圧トランジスタを用いて構成される。
【００７１】
キャパシタＣ７１およびＣ７２は、Ｄ型ＮＭＯＳトランジスタを用いたＭＯＳキャパシタである。選択セルブロックについてノードＮ０に“Ｈ”が転送されると、電圧ＶＲＤＥＣがドレインに与えられたＮＭＯＳトランジスタＱ７０４がオンして、電圧ＶＲＤＥＣはこのＮＭＯＳトランジスタＱ７０４及びダイオード接続されたＮＭＯＳトランジスタＱ７０３を介して、ノードＮ０に転送される。チャージポンプ作用は、ブロック選択出力ＲＤＥＣＩと方形波入力ＣＲＤが入るＮＡＮＤゲート７３によって制御される。
【００７２】
ブロック選択信号ＲＤＥＣＩが“Ｈ”のときに、ＮＡＮＤゲート７３の出力には方形波出力が現れる。この方形波出力により、互いに逆相駆動されるキャパシタＣ７１およびＣ７２とＮＭＯＳダイオードＱ７０３の部分でチャージポンピングが行われる。この結果、ＭＯＳトランジスタＱ７０３およびＱ７０４のしきい値分の電圧降下を伴うことなく、電圧ＶＲＤＥＣはノードＮ０に転送されることになる。ＮＭＯＳトランジスタＱ７０５のしきい値をＶｔｈとすると、ノードＮ０の電圧は、ＶＲＤＥＣ＋Ｖｔｈ以下に抑えられる。
【００７３】
ノードＮ０によりゲートが共通に駆動されるトランジスタＱ６００〜Ｑ６１５，Ｑ６２１，Ｑ６２２は、セルブロック内のデータ選択線ＷＬ０〜ＷＬ１５，選択ゲート線ＳＳＬ，ＧＳＬをそれぞれ駆動するドライバトランジスタである。これらのドライバトランジスタがオンになることで、それらの一方の端子ＣＧ０〜ＣＧ１５，ＳＧＮ１１，ＳＧＮ１２に動作モードに応じて与えられた電圧がそれぞれデータ選択線ＷＬ０〜ＷＬ１５，選択ゲート線ＳＳＬ，ＧＳＬに転送される。
【００７４】
この実施の形態のＥＥＰＲＯＭのデータ読み出し、書き込みおよび消去の動作をデータ選択線ドライバ２に着目しながら説明する。データ読み出し時、選択セルユニットのワード線ＷＬ１が選択されたとすると、これにつながる端子ＣＧＮ１が読み出し電圧Ｖｒｅｆに設定される。読み出し電圧Ｖｒｅｆは、メモリセルの“０”，“１”に対応するしきい値の中間（例えば１Ｖ）に設定される。残りの非選択データ選択線につながる端子ＣＧＮ０，ＣＧＮ２〜ＣＧＮ１５は、Ｖｒｅａｄ発生回路４１ｃから出力される、メモリセルの“０”データしきい値の最大値よりも高いパス電圧Ｖｅａｄ（例えば４Ｖ）に設定される。選択ゲート線ＳＳＬ，ＧＳＬにつながる端子ＳＧＮ１１，ＳＧＮ１２にもパス電圧Ｖｒｅａｄが与えられる。
【００７５】
データ読み出し中は、ドライバ回路２に与えられる電圧ＶＲＤＥＣはパス電圧Ｖｒｅａｄよりもわずかに高い値に設定される。また制御信号ＢＳＴＯＮが“Ｌ”になり、ノードＮ０とＮＡＮＤゲート７３の入力端の間が分離される。そして、ＲＤＥＣＩ＝“Ｈ”が入力されたＮＡＮＤゲート７３を発振出力ＣＲＤが通り、これによってチャージポンプ回路が動作して、ノードＮ０にはほぼ電圧ＶＲＤＥＣが転送される。この結果、ドライバＮＭＯＳトランジスタＱ６００〜Ｑ６１５，Ｑ６２１，Ｑ６２２がオンになり、端子ＣＧＮ０〜ＣＧＮ１５，ＳＧＮ１１，ＳＧＮ１２の電圧がデータ選択線ＷＬ０〜ＷＬ１５，選択ゲート線ＳＳＬ，ＧＳＬに与えられる。
【００７６】
これにより、選択されたデータ選択線ＷＬ１に接続されたメモリセルは、データ“１”ならばオンして、データ転送線ＢＬの電位は低下する。データ“０”ならばメモリセルはオフとなり、データ転送線ＢＬの電位低下はない。このデータ転送線の電位変化をセンスアンプ回路４６により検出することにより、データが読み出される。
【００７７】
非選択セルブロックでは、読み出し時、ブロック選択信号ＲＤＥＣＩが“Ｌ”となる。これにより、ノードＮ０はＧＮＤに保たれ、Ｑ６２１，Ｑ６２２，Ｑ６００〜Ｑ６１５はオフとなり、ブロック選択線ＳＳＬ，ＧＳＬ及びデータ選択線ＷＬ０〜ＷＬ１５にはＶｒｅａｄ又はＶｒｅｆが転送されない。これにより、非選択ブロックのデータ選択線の電圧を非選択ブロックの選択ゲートトランジスタのしきい値より低く保ち、データ転送線ＢＬの電位が非選択ブロックのセルトランジスタのしきい値の影響を受けないようにする。
【００７８】
データ書き込み時は、センスアンプ４６から、“０”データを書き込みを行うデータ転送線ＢＬには０Ｖ、“１”データ書き込みを行うデータ転送線ＢＬにＶｃｃが与えられる。データ転送線ＢＬ側の選択ゲート線ＳＳＬにはＶｃｃ、共通ソース線ＳＬ側の選択ゲートＧＳＬは０Ｖが与えられる。さらに、選択されたデータ選択線には書き込み電圧Ｖｐｇｍ、非選択データ選択線にはパス電圧Ｖｐａｓｓが与えられる。ロウデコーダ３及びデータ選択線ドライバ２の動作は基本的に読み出し時と同じである。ただし、電圧ＶＲＤＥＣは、書き込み電圧Ｖｐｇｍよりも僅かに高い値に設定され、これがノードＮ０に転送される。これにより、ドライバＮＭＯＳトランジスタＱ６００〜Ｑ６１５がオンとなり、端子ＣＧＮ０〜ＣＧＮ１５の電圧が、データ選択線ＷＬ０〜ＷＬ１５に与えられる。そして、“０”データが与えられたビット線ＢＬに沿った選択メモリセルでは、浮遊ゲートに電子注入が生じて、しきい値の値が正の状態になる。“１”データが与えられたメモリセルでは、フローティングゲート下のチャネルが制御ゲートとの容量結合によって電位上昇して、電子注入は生じない。
【００７９】
データ消去時は、データ転送線ＢＬおよび共通ソース線ＳＬがフローティングに保たれ、メモリセルアレイが形成されたｐ型ウェルに１０Ｖ以上、３０Ｖ以下の消去電圧が与えられる。このとき、選択セルブロックの全データ選択線は０Ｖに設定される。データ選択線ドライバ２内では、データ消去の際、発振出力ＣＲＤは供給されず、制御信号ＢＳＴＯＮが”Ｈ”で、ノードＮ０はＶｃｃに設定される。これにより、選択セルブロックのドライバＮＭＯＳトランジスタＱ６００〜Ｑ６１５がオンとなり、端子ＣＧＮ０〜ＣＧＮ１５にあらかじめ与えられた０Ｖがデータ選択線ＷＬ０〜ＷＬ１５に与えられる。これにより、浮遊ゲートからの電子放出により全メモリセルのデータが消去される。
【００８０】
データ消去時、選択ゲート線ＳＳＬ，ＧＳＬはＶｃｃにプリチャージされてフローティングとされる。これにより、ｐ型ウェルに消去電圧が与えられたとき、選択ゲート線ＳＳＬ，ＧＳＬはｐ型ウェルとの容量結合で電位上昇する。したがって、ブロック選択ゲートとチャネルとの間に電位差は生じることはなく、選択ゲートトランジスタの酸化膜に電子注入され破壊されることはない。
【００８１】
図１に示したようにこの実施の形態では、制御回路４０内に二つの読み出しタイミング回路４０１，４０２が用意されている。ここでは、タイミング回路４０１が従来と同じ時間のタイミング信号を発生する回路とし、タイミング回路４０２はそれより短いタイミング信号を発生する、高速読み出し用のタイミング回路であるとする。この様なタイミング回路４０１，４０２は、図５のように構成することができる。
【００８２】
タイミング回路４０１，４０２は共に、ＣＲ時定数回路を利用してパルスの立ち上がりおよび立下りを遅延させて、タイミング信号を発生する。タイミング回路４０１の時定数（抵抗Ｒ１とキャパシタＣ１の積）よりも、タイミング回路４０２の時定数（抵抗Ｒ２とキャパシタＣ２の積）を小さくすることによって、ＮＡＮＤゲートＧ１およびＮＡＮＤゲートＧ２のパルス立ち上がりおよび立下りに対する出力の遅延を小さくすることができる。また、制御入力ＣＴＲを”Ｈ”にすることにより、タイミング回路４０２の出力を活性にすることができ、“Ｌ”にすることにより、タイミング回路４０１の出力を活性にすることができる。
【００８３】
ＮＡＮＤゲートＧ１，Ｇ２のいずれかの“Ｌ”出力がＮＡＮＤゲートＧ３により選択されて“Ｈ”のタイミング信号として出力される。即ち制御入力ＣＴＲの“Ｈ”，“Ｌ”によって、入力ノードＩＮに与えられたパルスの立ち上がりおよび立下りに対する出力ノードＯＵＴの出力の遅延時間を２種類に変化させることができる。このようなタイミング回路４０１，４０２は、外部クロックを必要とせず、ＣＲ時定数で遅延時間を決定できるので、回路規模が小さくて済む。
【００８４】
図６は、図５に示すタイミング回路４０１，４０２と同等の機能をより正確に実現する、クロックＣＬＫを用いたタイミング回路である。クロック発生器５０１から発生されるクロックＣＬＫは、分周器５０２により分周される。クロック発生回路５０１は、メモリチップ内部に形成されたものでもよいし、メモリチップ外部に用意されたものでもよい。分周器５０２の分周出力Ｑ１〜Ｑ４はカウンタ５０３に入力される。分周器５０２およびカウンタ５０３は、クロックＣＬＫを計数して、あらかじめ決められた個数カウントしたタイミングｔ０，ｔｘ（ｘ＝１，２，３，４）及びｔｘ’（ｘ＝１，２，３，４）に“Ｌ”から“Ｈ”になり、または“Ｈ”から“Ｌ”になるパルスＤ０，Ｄｘ及びＤｘ’を出力するディジタル回路である。これら分周器５０２およびカウンタ５０３自体は、ディジタル回路で当業者周知の回路を用いればよい。
【００８５】
カウンタ５０３の出力Ｄｘ，Ｄｘ’の出力タイミングｔｘ，ｔｘ’の間には、ｔｘ’＜ｔｘなる関係が設定されている。これらのタイミング関係は、図１０及び図１１を用いて後に説明する、二種の読み出し動作タイミング（ｔ０，ｔ１〜ｔ４），（ｔ０，ｔ１’〜ｔ４’）に対応するものである。出力ＤｘとＤｘ’とは、制御入力ＣＴＲにより制御されれるラテラルスイッチ５０４にていずれか一方が選択される。これにより、Ｄ０ｏｕｔ（タイミングｔ０），Ｄｘｏｕｔ（タイミングｔｘ又はｔｘ’）が得られる。このようなタイミング回路を用いることにより、後で図１０及び図１１を用いて説明する読み出し動作に必要とされる二種類の読み出しタイミング信号を、より正確なタイミングで発生させることができる。
【００８６】
図６に示したように、制御回路４０内の二種のタイミング回路４０１，４０２は、回路的に互いに分離している必要はなく、機能的に２種類の読み出しタイミング信号を発生し、これが制御入力ＣＴＲで切り替えられるようになっていればよい。図６に示したバイラテラルスイッチ５０４の具体的構成例を図７に示す。図示のように、バイラテラルスイッチ５０４は、ＣＭＯＳ転送ゲートＴＧ１とインバータＩＮＶ３１により構成することができる。制御入力／ＣＴＲが“Ｌ”のとき、ノードＩ／Ｏ１とＩ／Ｏ２が導通状態となり、“Ｈ”のとき、ノードＩ／Ｏ１とＩ／Ｏ２が遮断状態となる。
【００８７】
不良アドレス記憶回路３５やベリファイ判定回路３８におけるフューズには、一般にレーザ溶断型フューズが用いられる。このフューズは、多結晶シリコンやシリサイドなどの導電体、或いは配線用金属で形成される。しかしこの様な機械的フューズに代わって、図８に示すようなフューズ代替回路を用いることもできる。この代替回路は、フューズ端子ＦＳ１，ＦＳ２間に配置されたＣＭＯＳ転送ゲートＴＧ２と、そのオンオフを制御するためのデータラッチ８１を有する。データラッチ８１には、制御信号ＦＳＣＬにより制御されるＮＭＯＳトランジスタＱ９，Ｑ１０を介して、転送ゲートＴＧ２のオンオフを制御するデータが書き込まれる。
【００８８】
即ち、転送ゲートＴＧ２をオンさせる制御データをデータラッチ８１に保持するには、端子ＦＩＯ，ＦＩＯＢにそれぞれ“Ｌ”，“Ｈ”を入力し、制御信号ＦＣＳＬを“Ｌ”，“Ｈ”，“Ｌ”と変化させる。フューズラッチ８１に、転送ゲートＴＧ２をオフにする制御データを保持するには、端子ＦＩＯ，ＦＩＯＢにそれぞれ“Ｈ”，“Ｌ”を入力し、制御信号ＦＣＳＬを“Ｌ”，“Ｈ”，“Ｌ”と変化させればよい。
【００８９】
このように、記憶素子を用いた代替回路によってフューズ素子の代替ができる。このような代替回路では、フューズの導通および遮断を履歴に関係なく自由に制御できる。また、機械的フーズと異なって、フューズ端子ＦＳ１，ＦＳ２間にフューズ遮断のための光や熱、または電流を流す必要がなく、信頼性の高い回路が実現できる。
【００９０】
次に、図９〜図１１を参照して、この実施の形態のＥＥＰＲＯＭの読み出し動作を説明する。図９は、図１に示すメモリセルアレイ１のなかの一つのデータ選択線ドライバ２により駆動される一つのセルブロックＢＬＫを示している。図１０及び図１１は、図４２に示した従来例の読み出しタイミングに対応するタイミング波形を示している。具体的に、図１０は、通常のデータ読み出しに適用されるＶｒｅａｄタイミング回路４０１によりタイミング制御を行った場合であり、図１１は、冗長セルアレイ１０１を選択した高速データ読み出し動作に適用されるＶｒｅａｄタイミング回路４０２によりタイミング制御を行った場合である。
【００９１】
図１０及び図１１共に、データ選択線ＷＬ１４が選択されて、これに読み出し電圧Ｖｒｅｆが与えられ、非選択のデータ選択線ＷＬ０〜ＷＬ１３，ＷＬ１５にパス電圧Ｖｒｅａｄが与えられた時の選択データ選択線ＷＬ１４と非選択データ選択線ＷＬ１５の電圧波形を示している。但し、図１０の電圧波形は、ノーマルセルアレイ１００内のデータ選択線ＷＬ１５，ＷＬ１４上の、データ選択線ドライバ２から最も遠いノードＢ，Ｄの電圧波形である。また図１１は、同じくデータ選択線ＷＬ１５，ＷＬ１４上のノーマルセルアレイ１００と冗長セルアレイ１０１の境界部のノードＥ，Ｆの電圧波形である。
【００９２】
データ選択線ＷＬ１５上のノードＥは、ノードＢに比べてデータ選択線ドライバ２に近いために、パス電圧Ｖｒｅａｄがタイミングｔ０から急速に立ち上がり、ほぼタイミングｔ１’でＶｒｅａｄにまで達する。これに対してノードＢは、データ選択線ドライバ２から離れているために、ノードＥに比べて立ち上がりが緩やかであり、タイミングｔ１’より長い時間経過後、タイミングｔ１でＶｒｅａｄに上昇する。データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ１’−ｔ０）と（ｔ１−ｔ０）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。
【００９３】
即ち、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち上がりの遅延時間は増大する。具体的に、この実施の形態のようにデータ選択線ドライバ２のごく近傍の冗長セルアレイ１０１が配置されている場合であって、冗長セルアレイ１０１のカラム総数をｉ、ノーマルセルアレイ１００のカラム総数をｊとした場合、ノードＥでの配線遅延は、ノードＢでのそれに比べて、｛ｉ／（ｉ＋ｊ）｝２×１００［％］以下になる。
【００９４】
一方、データ選択線ＷＬ１４の電圧は、タイミングｔ０〜ｔ１の間はデータ選択線ドライバ２の出力によりパス電圧Ｖｒｅａｄより低い読み出し電圧Ｖｒｅｆに保たれているが、これに隣接するデータ選択線ＷＬ１５およびＷＬ１３からの容量結合によって電圧が上昇する。この電圧上昇は、ノードＤの方がデータ選択線ドライバ２に近いノードＦより大きい。ノードＤに容量結合するデータ選択線ＷＬ１５およびＷＬ１３の容量および配線抵抗が、ノードＦに対するそれより大きくなるためである。
【００９５】
タイミングｔ１’には、データ選択線ＷＬ１３およびＷＬ１５上のノードＥの電圧が一定となるため、これ以降ノードＦの電圧上昇はない。データ選択線ＷＬ１４はデータ選択線ドライバ２を通じて放電するため、タイミングｔ２’でほぼＶｒｅｆに戻る。ノードＤは、タイミングｔ１にはデータ選択線ＷＬ１３およびＷＬ１５のノードＢの電圧が一定となるため、これ以降電圧上昇はなく、データ選択線ドライバ２を通じて放電するため、タイミングｔ２でほぼＶｒｅｆに戻る。
【００９６】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ２’−ｔ１’）と（ｔ２−ｔ１）との比は、データ選択線ドライバ２からノードＦまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＤまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ち、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。具体的に、この実施の形態のようにデータ選択線ドライバ２のごく近傍に冗長セルアレイ１０１が配置されている場合であって、冗長セルアレイ１０１のカラム総数をｉ、ノーマルセルアレイ１００のカラム総数をｊとした場合、ノードＦでの配線遅延は、ノードＤでのそれに比べて、｛ｉ／（ｉ＋ｊ）｝２×１００［％］以下になる。
【００９７】
メモリセルのしきい値と読み出し電圧Ｖｒｅｆとの差によってメモリセルのセル電流が決定されるため、読み出し電圧Ｖｒｅｆが一定となってからメモリセルの電流を測定する必要がある。図９に示すノーマルセルアレイ１００のデータ選択線ドライバ２から最も遠いセルユニット４９ｃ内のセルデータ読み出しは、タイミングｔ２以降であることが必要である。冗長セルアレイ４９ａのメモリセルデータ読み出しは、タイミングｔ２’以降であることが必要である。
【００９８】
図１０及び図１１ではそれぞれセル電流読み出しに必要な時間範囲Ｔ１１，Ｔ１２を確保した後、タイミングｔ３及びｔ３’からパス電圧Ｖｒｅａｄを低下させて、読み出し動作を終了する。データ選択線ＷＬ１５のデータ選択線ドライバ２に近いノードＥは、タイミングｔ３’の後、早いタイミングｔ４’で接地電位ＧＮＤまで低下するが、データ選択線ドライバ２から遠いノードＢは、タイミングｔ３からより長い時間がかかって、タイミングｔ４で接地電位ＧＮＤに低下する。
【００９９】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ４’−ｔ３’）と（ｔ４−ｔ３）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ちデータ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。具体的に、この実施の形態のようにデータ選択線ドライバ２のごく近傍に冗長セルアレイ１０１が配置されている場合であって、冗長セルアレイ１０１のカラム総数をｉ、ノーマルセルアレイ１００のカラム総数をｊとした場合、ノードＦでの配線遅延は、ノードＢでのそれに比べて、｛ｉ／（ｉ＋ｊ）｝２×１００［％］以下になる。
【０１００】
以上から、図９のセルユニット４９ａ〜４９ｃを同時に読み出す場合には、セルユニット４９ｃに対するパルスの遅延時間（ｔ１−ｔ０）、（ｔ２−ｔ１）、および（ｔ４−ｔ３）に律速されて、図１０のように長い読み出しサイクルタイム（ｔ４−ｔ０）が必要である。一方、冗長セルアレイ１０１内のセルユニット４９ａのデータ読み出しを保証し、ノーマルセルアレイ１００内のセルユニットの読み出しを保証しない場合には、図１１に示すように、サイクルタイム（ｔ４−ｔ０）より短いサイクルタイム（ｔ４’−ｔ０）で、読み出しが可能である。即ち、冗長セルアレイ１０１のみのデータ読み出しを行う場合には、図１０の場合のセル電流測定可能な時間範囲Ｔ１１（＝ｔ３’−ｔ２’）と同じ時間範囲Ｔ１２（＝ｔ３−ｔ２）を、短いサイクルタイム内に確保することができる。
【０１０１】
以上のように、タイミングｔ０，ｔ１〜ｔ４を設定するのにタイミング回路４０１を用い、タイミングｔ０，ｔ１’〜ｔ４’を設定するのにタイミング回路４０２を用いることによって、冗長メモリセルアレイ１０１を読み出す場合のサイクルタイムを短縮することができる。言い換えればこの実施の形態によると、セルアレイの複数カラムのデータを連続的に読み出すための、読み出し可能な最小サイクルタイムが異なる二つの読み出しモードを持たせることができる。図１０及び図１１では、読み出し時の動作波形を示したが、書き込み時にも同様のことがいえる。
【０１０２】
即ち、書き込みパルス印加終了後のパルス立下り時間は、データ選択線ドライバ２から遠いセルユニット４９ｃでは、データ選択線ドライバ２に近いセルユニット４９ａより長くかかる。そこで、通常の書き込みタイミング信号より短い時間の書き込みタイミング信号を発生する書き込み用タイミング回路を用意する。このタイミング回路を用いることにより、冗長セルアレイ１０１のみにデータを書き込む場合の書き込みサイクルタイムを、全セルアレイにデータを書き込む場合に比べて短縮することができる。
【０１０３】
さらにこの実施の形態では、データ選択線ドライバ２に近い側に、冗長セルアレイ１０１が配置されている。従って、冗長セルアレイ１０１内のスペアカラムでノーマルセルアレイ１００内の不良カラムを置換した場合、必ず、ノーマルセルアレイ１００内の不良セルを含むカラムの位置に比べて、その不良カラムと置き換えた冗長セルアレイ１０１内のカラム位置の方がデータ選択線ドライバ２に近くなる。このため、不良カラム置換のためにタイミング余裕を大きく確保する必要がなく、より高速の動作が可能になり、信頼性を改善したＥＥＰＲＯＭが実現できる。
【０１０４】
次に図３に示すセンスアンプ回路４６に着目して、書き込み及びベリファイ読み出しの手順について説明する。
まず、内部データ線ＤＩ／Ｏ２に与えられる書き込みデータは、カラム選択信号ＣＳＬを“Ｈ”にしてＮＭＯＳトランジスタＭＮ１３をオンにすることにより、データラッチ４６１に転送される。書き込みデータ“０”は、ノードＮ２に“Ｌ”データとして転送され、書き込みデータ“１”（即ち消去状態を維持する書き込み禁止）は、ノードＮ２に“Ｈ”データとして転送される。
【０１０５】
この後、カラム選択信号ＣＳＬを“Ｌ”として、ＮＭＯＳトランジスタＭＮ１３をオフにする。続いて、制御信号φ２を“Ｈ”にして、ノードＮ２のデータを選択されたデータ転送線ＢＬに転送する。ベリファイ判定に供されるノードＮ１は、書き込みデータが“０”の時、“Ｈ”であり、書き込みデータが“１”のとき“Ｌ”である。この後、データ転送線電圧を、セルユニットの選択ゲート線ＳＳＬを一時的に“Ｈ”にして選択されたセルユニットのチャネルに転送し、書き込みパルス電圧を選択されたデータ選択線に与えることにより、選択セルに書き込みが行われる。書き込み動作後、選択ゲート線ＳＳＬ，ＧＳＬは“Ｌ”とする。
【０１０６】
続いて、書き込みベリファイ読み出し動作に入る。制御信号φ２を“Ｌ”にしてＮＭＯＳトランジスタＭＮ１２をオフにした後、制御信号φ１及びφ４を“Ｈ”にして、ＮＭＯＳトランジスタＭＮ１１及びＭＮ１６をオンにし、センスノードＮＳから選択されたデータ転送線ＢＬまでをプリチャージする。具体的に、Ｖ１＝Ｖｃｃ、φ１＝Ｖｃｃ＋Ｖｔｈ、φ６＝Ｖｐｒｅ＋Ｖｔｈ（ＶｔｈはＮＭＯＳトランジスタのしきい値）を与えることにより、データ転送線はＶｐｒｅに、センスノードＮＳはＶｃｃに充電される。
【０１０７】
ついで、制御信号φ４を“Ｌ”とし、選択セルユニットの選択ゲート線ＳＳＬ，ＧＳＬに“Ｈ”を与え、選択されたデータ選択線に書き込みの判定しきい値となる読み出し電圧Ｖｒｅｆを与える。これにより、データ転送線ＢＬは、選択メモリセルの書き込み状態に応じて放電される。具体的に、“０”書き込みが充分に行われない場合と“１”書き込み（即ち書き込み禁止）の場合には、選択セルがオンするため、データ転送線は放電されて電位低下し、“０”書き込みが充分に行われた場合にはデータ転送線は放電されない。
【０１０８】
データ転送線の放電動作を開始してから一定時間後、制御信号φ１を“Ｌ”としてＮＭＯＳトランジスタＭＮ１１をオフにし、制御信号φ４をＮＭＯＳトランジスタＭＮ１６がオンする程度の電圧とする。これにより、センスノードＮＳの電荷がデータ転送線の電位に応じて転送される。これにより、“０”書き込みが充分に行われない場合と“１”書き込みの場合には、センスノードＮＳが電位低下し、ＮＭＯＳトランジスタＭＮ１５のしきい値以下になる。“０”書き込みが充分に行われた場合には、センスノードＮＳが放電されず、ＮＭＯＳトランジスタＭＮ１５のしきい値以上の電圧を保つ。
【０１０９】
ついで、制御信号φ３を“Ｈ”にして、ＮＭＯＳトランジスタＭＮ１４をオンにすると、センスノードＮＳの電圧に応じて、データラッチＮ１の電圧が決まる。即ち、“０”書き込みが充分行われた場合に、ノードＮ１の電荷が放電されて、ノードＮ１は“Ｈ”から“Ｌ”に変わる。“１”書き込みの場合は、ノードＮ１は“Ｌ”を維持し、“０”書き込みが十分に行われなかった場合には、ノードＮ１は、“Ｈ”を維持する。
【０１１０】
即ちこの時点で、ベリファイ判定用の出力を出すノードＮ１は、“０”書き込みが充分に行われていない場合のみ、“Ｈ”を維持する。このノードＮ１の“Ｈ”，“Ｌ”が前述のようにベリファイ判定回路３８に送られて、書き込み完了の判定に供される。この後、制御信号φ３，φ４を“Ｌ”とし、ＮＭＯＳトランジスタＭＮ１４，ＭＮ１６をオフにして、ベリファイ動作を終了する。
【０１１１】
以下、書き込みが不十分なセルがある場合に、これがなくなるまで、書き込みパルス電圧印加とベリファイ読み出しが繰り返される。この様な書き込み制御シーケンスにより、“０”書き込みが充分に行われていないセルのみに再書きこみを行うことができる。
【０１１２】
この実施の形態では、メモリセルアレイ１のなかの冗長セルアレイ１０１についてのみデータ書き換えを行う場合には、図２に示したベリファイ判定回路３８の判定出力線４６ａ，４６ｂの間のスイッチ素子３９をオフにする。これにより、ベリファイ判定回路３８の出力負荷が小さくなり、ベリファイ読み出し動作の高速化が図られる。  
【０１１３】
図１２は、冗長セルアレイ１０１についてデータ書き込みを行う場合にその高速化を実現するための動作フローを示している。書き込みサイクルが開始されるとまず、ステップＳＥ１にて、タイミング回路４０２を選択し、冗長セルアレイ１０１を高速に読み出すタイミングに設定する。ついで、ステップＳＥ２にて、制御信号φ１，φ２及びφ４を“Ｈ”にすることにより、センスアンプ４６のラッチデータを、ノードＮ２が“Ｈ”の状態、即ち消去状態（非書き込み状態）となるようにプリセットする。制御信号φ１，φ２，φ４の制御線を全センスアンプで共通に形成することにより、全センスアンプで一括してこのプリセット動作を行うことができる。
【０１１４】
ついで、ステップＳＥ３にて、冗長セルアレイ１０１の書き込みを行う。具体的にデータ線ＤＩ／Ｏ２に与えられた書き込みデータは、カラム選択線ＣＳＬを順次“Ｈ”にすることにより、各センスアンプ４６に転送される。前述のように、書き込みデータが“０”の場合、センスアンプ４６のノードＮ２に“Ｌ”が転送される。センスアンプ４６に保持された書き込みデータに基づいて、前述したように、冗長セルアレイ１０１の選択セルに書き込みが行われる。
【０１１５】
このようなシーケンスを用いることにより、ノーマルセルアレイ１００に対応するセンスアンプに書き込み禁止データ（“１”データ）を転送する必要がなく、高速に書き込みデータのロードが可能になる。ベリファイ判定回路３８の出力線６４ａ，６４ｂを接地電位ＧＮＤに放電した後、スイッチ素子３９をオフにする（ステップＳＥ４）。その後、冗長セルアレイ１０１の書き込みデータについてベリファイ読み出しを行う（ステップＳＥ５）。
【０１１６】
そして、ベリファイ判定回路３８の出力Ｌｖｆｙに基づいて、冗長セルアレイ１０１の選択セルに書き込みが不十分なセルがあるか否かの判定を行う（ステップＳＥ６）。具体的に制御回路４０は、ベリファイ判定出力Ｌｖｆｙが”Ｌ”であれば、書き込み不足ビット無しと判断し、“Ｈ”になった場合は書き込み不足ビットが少なくとも１ビット有りと判断する。ベリファイ読み出し動作では上述のようにスイッチ素子３９が遮断されているので、高速のベリファイ判定が可能である。
【０１１７】
書き込み不足ビットがある場合には、スイッチ３９をオンにし（ステップＳＥ７）、書き込み不足ビットの再書き込みを行う（ステップＳＥ８）。以下、前述のように、書き込み不十分のセルがなくなるまで、書き込みパルス印加とベリファイ読み出しが繰り返される。書き込み不足ビットがない場合には、スイッチ３９をオンにし（ステップＳＥ７’）、タイミング回路４０１を選択して通常の読み出しタイミング、すなわちノーマルセルアレイ１００のデータを読めるタイミング状態に戻して（ステップＳＥ９）、ベリファイ動作を終了する。
【０１１８】
以上のようにこの実施の形態では、冗長セルアレイ１０１のデータ書き込みを行う場合には、ノーマルセルアレイ１００対応のセンスアンプは動作させない。従って、書き込み及び読み出しの遅延を小さく抑えることができ、従来よりも高速のデータ書き込みが可能になる。またノーマルセルアレイ１００の動作に伴う電力消費や電源線への動作ノイズ発生を抑制することができる。またメモリセルの構造や配線層の積層構造を変更する必要はなく、高い歩留まりやプロセスの信頼性を得ることができる。さらに、冗長セルアレイ１０１内のスペアカラムで、ノーマルセルアレイ１００内の不良カラムを置換した場合にも、高速読み出しおよび高速書き込み可能となる。
【０１１９】
この実施の形態において、ベリファイ判定回路３８の出力線６４にスイッチ素子３９を介在させることは、不可欠ではない。即ち、出力線６４の容量及び抵抗による遅延が許容できる範囲であれば、スイッチ素子３９を用いなくてもよい。その場合には、ステップＳＥ４，ＳＥ７，ＳＥ７’の動作が不要になる。
【０１２０】
この実施の形態の効果をまとめると、次の通りである。
冗長セルアレイ１０１は、ノーマルセルアレイ１００よりもデータ選択線ドライバ２に近い側に配置されている。従って、冗長セルアレイ１０１の書き込み及び読み出しについて、データ選択線の遅延の影響が小さい。そしてこの実施の形態では、通常必要とされるタイミング回路４０１に加えて、通常より短い読み出しサイクルを実現するタイミング信号を発生するためのタイミング回路４０２を備えている。これにより、冗長セルアレイ１０１について高速のデータ書き込み及び読み出しが可能になる。
【０１２１】
また上述したセルアレイの配置から、冗長セルアレイ１０１のデータ読み出しの信頼性が高いものとなる。何故なら、データ選択線にリーク電流が生じた場合でも、データ選択線ドライバ２に近い冗長セルアレイ１０１の方がデータ選択線の抵抗が低く、リーク電流による電圧降下の影響を受けにくいからである。
【０１２２】
［実施の形態２］
図１３は、実施の形態２によるＥＥＰＲＯＭの機能ブロック構成を示す。実施の形態１と同一の部分や同一の電圧関係には、同一符号をつけて詳しい説明は省略する。この実施の形態では、不良カラム置換を行うためのカラムアドレス変換回路３６内に、論理カラムアドレスにより順に選択されるべき物理カラムアドレスの少なくとも一部の順序を入れ替えるための論理／物理カラムアドレス機能が付加されている。このカラムアドレス変換回路３６の機能により、メモリセルアレイ内の複数カラムのデータを連続的に出力する場合に、連続するカラムの途中にある特定領域のデータを最後に出力するということが可能になる。これらの機能は後に詳細に説明する。
【０１２３】
図１３の実施の形態では、メモリセルアレイ１は、ロウ方向に配置された二つのノーマルセルアレイ１００ａ，１００ｂとこれに挟まれた冗長セルアレイ１０１を有する。また、データ選択線ドライバ２ａ，２ｂが、メモリセルアレイ１の両側に配置されている。具体的には、図１４Ａに示すように、データ転送線方向に配置される複数のセルブロックＢＬＫ（ＢＬＫ０，ＢＬＫ１，…）に対して、偶数番のセルブロックについてはその右側にデータ選択線ドライバ２ａを配置し、奇数番目のセルブロックについては左側にデータ選択線ドライバ２ｂを配置する。この様に、データ選択線ドライバ２ａ，２ｂをセルブロック毎に両側に振り分けて配置することにより、メモリセルアレイ１からデータ選択線ドライバ２ａ，２ｂへの引き出し配線部のピッチを緩和することができる。これにより、引き出し配線部のリソグラフィが容易になりまた、引き出し配線部を短くすることができる。
【０１２４】
図１４Ａ及び図１４Ｂは、メモリセルアレイ１及びセンスアンプ回路４６，ベリファイ判定回路３８の具体構成を示している。ノーマルセルアレイ１００ａ，１００ｂのビット線数がそれぞれ２ｋ、冗長セルアレイ１０１のビット線数が２ｎである。従って、ノーマルセルアレイ１００ａ，１００ｂ対応のセンスアンプ数がそれぞれｋ、冗長セルアレイ１０１対応のセンスアンプ数がｎである。この様に、メモリセルアレイ１の中央部に冗長セルアレイ１０１があると、両側にあるデータ選択線ドライバ２ａ，２ｂのいずれが選択された場合でも、冗長セルアレイ１０１を読み出す際のデータ選択線遅延をほぼ等しく最小化できるため、望ましい。
但し、左右に配置されるノーマルセルアレイ１００ａ，１００ｂのカラム数が同じでない場合にも、この実施の形態は有効である。
【０１２５】
センスアンプ４６のノードＮ１のデータがベリファイ判定回路３８に送られて、書き込みシーケンスの制御が行われることも実施の形態１と同様である。ベリファイ判定回路３８内のノーマルセルアレイ１００ｂ，１００ａ対応のフューズ（Ｆｖ１１〜Ｆｖ１ｋ，Ｆｖ２１〜Ｆｖ２ｋ）６３及び冗長セルアレイ１０１対応のフューズ（Ｆｖｒ１〜Ｆｖｒｎ）６３は、ベリファイ判定出力線６４に共通接続されている。この実施の形態では、実施の形態１と異なり、出力線６４にスイッチ素子を介在させていない。
【０１２６】
出力線６４には、ベリファイ読み出し時に、フューズＦｖ１１〜Ｆｖ１ｋ、Ｆｖｒ１〜Ｆｖｒｎ，Ｆｖ２１〜Ｆｖ２ｋが導通状態にあるセンスアンプ４６でセンスされているメモリセルについて、１つでも書き込みが充分に行われていない場合に“Ｈ”となる判定出力Ｌｖｆｙが出力されるようになっている。これらフューズを切り替えることによって、ノーマルセルアレイ１００ａ，１００ｂ内の不良カラムを、冗長セルアレイ１０１内のカラムで置き換えることができる。
【０１２７】
データ選択線ドライバ２ａ，２ｂは、図１５に示すように、メモリセルアレイ１のセルブロック毎に振り分けて配置されるが、その各ドライバの具体構成は、実施の形態１の図４で説明したと同様である。ロウデコーダ３を構成するブロックアドレス選択回路３ａ，３ｂは、メモリセルアレイ１の一方に配置されるが、ブロックアドレス選択回路３ａから得られる選択信号ＲＤＥＣＩ２は、メモリセルアレイ１の領域を通過する配線３３により、他方に配置されたデータ選択線ドライバ２ａに供給される。
【０１２８】
制御回路４０内には、実施の形態１と同様に、二種の読み出しタイミング回路４０１，４０２が形成されている。タイミング回路４０１は、通常のデータ読み出しに適用されるものとし、タイミング回路４０２は、タイミング回路４０１よりも短い間隔でタイミング信号を発生する、高速読み出し用のタイミング回路である。これらのタイミング回路は、実施の形態１の図４或いは図５で説明したと同じ回路を用いればよい。
フューズ素子については、多結晶シリコンやシリサイド、配線金属等で形成された機械的フューズ素子の他、図８て説明した代替回路を用いうることは、実施の形態１と同様である。
【０１２９】
次にカラムアドレス変換回路３６について説明し、併せてカラムアドレス変換回路３６の説明に必要な不良アドレス記憶回路（フューズセット回路）３５およびカラムアドレス一致検出回路３４についても説明する。これらフューズセット回路３５及びカラムアドレス一致検出回路３４は、全実施の形態について有効である。また、カラムアドレス変換回路３６も、論理／物理アドレス変換回路部分を除けば、そのまま他の実施の形態に用いることが出来る回路となる。
【０１３０】
図１６及び図１７は、フューズセット回路３５（３５ａ（１），３５ａ（２），３５ｂ（１），３５ｂ（２））、カラムアドレス一致検出回路３４（３４ａ（１），３４ａ（２））及びカラムアドレス変換回路３６（３６ａ（１），３６ａ（２），３６ｂ）の具体構成を示している。ここでは、説明を簡単にするため、論理カラムアドレスは、（ａ３，ａ２，ａ１）の３ビットで２３＝８のカラムアドレスのうち、（００１），（０１０），（０１１），（１００），（１０１），（１１０）の６つを指定するものとする。また物理アドレスは、図１４において、左側のノーマルセルアレイ１００ｂに（０００），（００１），（０１０）が割り付けられ、冗長セルアレイ１０１には（０１１），（１００）が割り付けられ、右側のノーマルセルアレイ１００ａには（１０１），（１１０），（１１１）が割り付けられているものとする。
【０１３１】
フューズセット回路３５ａ（ｘ）［ｘ＝１，２］は、ウェハテストの結果に基づいてフューズがプログラムされて、不良カラムアドレスを記憶する。このフューズセット回路３５ａ（ｘ）とカラムアドレス一致検出回路３４ａ（ｘ）［ｘ＝１，２］は、ＮＥＸＯＲゲートＧ１１〜Ｇ１３とＡＮＤゲートＧ１４により、入力されたカラムアドレスとフューズ（Ｆａ１，Ｆａ２，Ｆａ３）で指定した第一の論理カラムアドレスとの一致検出を行う回路である。一致が検出された場合に、一致検出信号Ｓｘ［ｘ＝１，２］＝“Ｈ”が出力される。いずれかの一致検出信号Ｓｘが“Ｈ”になったことは、ＮＯＲゲートＧ１５により検出され、アドレス置換を行うためのイネーブル信号／Ｓｍ＝“Ｌ”が出力される。
【０１３２】
フューズセット回路３５ｂ（ｘ）とカラムアドレス置換回路３６ａ（ｘ）は、第一の論理カラムアドレス（ａ３，ａ２，ａ１）を冗長カラムアドレスで置き換えて、第二の論理カラムアドレス（ｂ３，ｂ２，ｂ１）を得るための回路である。冗長カラムによる置換を行わない場合、即ちイネーブル信号／Ｓｍ＝“Ｈ”のとき、これにより制御されて、カラムアドレス置換回路３６ｂの双方向スイッチ５０４はオンになり、論理カラムアドレス（ａ３，ａ２，ａ１）はそのまま、論理カラムアドレス（ｂ３，ｂ２，ｂ１）となる。
【０１３３】
カラムアドレス置換を行う場合には、フューズセット回路３５ｂ（ｘ）内のフューズ（Ｆｂ１，Ｆｂ２，Ｆｂ３）の切断、非切断を、（Ｆｂ３，Ｆｂ２，Ｆｂ１）＝（ａ３．ＥＸＯＲ．ｂ３），（ａ２．ＥＸＯＲ．ｂ２），（ａ１．ＥＸＯＲ．ｂ１）という論理で決める。ここでは、フューズ切断が“１”、非切断が“０”である。（Ａ．ＥＸＯＲ．Ｂ）とはＡとＢとの排他的論理和を取ることを示し、排他的的論理和否定（ＮＥＸＯＲ）ゲートＧ２１〜Ｇ２３がこれらの論理をとる。即ちカラム置換を行う場合には、ＮＥＸＯＲゲートＧ２１〜Ｇ２３の出力が、一致検出信号Ｓ１，Ｓ２で制御される双方向スイッチ５０４により取り出されて、論理カラムアドレス（ｂ３，ｂ２，ｂ１）が得られる。
【０１３４】
例えば、図１７において、（ａ３，ａ２，ａ１）＝（０，１，０）という論理カラムアドレス入力に対して、（ｂ３，ｂ２，ｂ１）＝（１，１，１）という論理カラムアドレス出力に置き換える場合には、（Ｆｂ３，Ｆｂ２，Ｆｂ１）＝（１，０，１）というフューズ状態とすればよい。
【０１３５】
この様なカラムアドレス変換回路３６ｂの出力部には、論理カラムアドレスの最上位ビットａ３（ｂ３）を反転するインバータＩＮＶ５１が挿入されている。このインバータＩＮＶ５１が、論理カラムアドレス（ｂ３，ｂ２，ｂ１）を物理カラムアドレス（ｃ３，ｃ２，ｃ１）に変換する論理／物理カラムアドレス変換回路を構成している。具体的にこの論理／物理カラムアドレス変換回路は、メモリセルアレイ１のページ両端の物理アドレスを、メモリセルアレイ１の中央カラム部に存在する冗長セルアレイ１０１の論理アドレスにマッピングするための変換回路であり、そのアドレス出力がセンスアンプ回路に入力される。言い換えれば、この論理／物理カラムアドレス変換回路は、論理カラムアドレスにより順に選択されるべき物理アドレスの少なくとも一部の順序を入れ替える働きをする。この変換回路は、必ずしもインバータＩＮＶ５１だけでなくても良いが、入力論理アドレスに対して少なくとも一対一に対応するように物理アドレスを指定できる回路が望ましい。
【０１３６】
具体例を挙げる。例えば、（Ｆａ１，Ｆａ２，Ｆａ３）＝（０，１，０），（Ｆｂ３，Ｆｂ２，Ｆｂ１）＝（１，０，１）というフューズプログラミングが行われたとする。このとき、（ａ１，ａ２，ａ３）＝（００１），（０１０），（０１１），（１００），（１０１），（１１０）なる論理カラムアドレスは、（ｃ１，ｃ２，ｃ３）＝（１０１），（０１１），（１１１），（０００），（００１），（０１０）なる物理カラムアドレスに変換される。２番目のアドレス（０１０）がノーマルセルアレイ内の物理アドレス（１１０）ではなく、冗長セルアレイ１０１内の（０１１）という物理アドレスに置き換えられていることに注意していただきたい。同様にして、外部から与えられる任意の６つの論理カラムアドレスは、フューズ素子の切断および非切断を適宜設定することにより、冗長セルアレイ１０１の物理アドレス（０１１）に割り当てることができる。
【０１３７】
このような論理／物理カラムアドレス変換によって、冗長セルアレイ１０１によりノーマルセルアレイの不良カラム置換を行ったとき、高速性能が改善される。即ち、ノーマルセルアレイ１００のデータ選択線ドライバ２ａ或いは２ｂから遠い不良カラムがメモリセルアレイ１の中央部の冗長セルアレイ１０１のスペアカラムにより置き換えられると、不良カラム置換のためにタイミング余裕を大きく確保する必要がなくなるからである。またこれにより、信頼性も改善される。
【０１３８】
冗長セルアレイ１０１は、実施の形態１と同様に、データのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を記録する領域やまたはメモリセルの全消去や書き込み状態を記憶するフラグ領域としても用いられる。特に、ＥＣＣ記録領域として用いる場合に、上述した論理／物理アドレス置換は有用である。例えば、論理カラムアドレスが、（ａ３，ａ２，ａ１）で指定される８アドレス中の、連続する論理カラムアドレス（ａ３，ａ２，ａ１）＝（００１），（０１０），（０１１），（１００），（１０１），（１１０），（１１１）の７つを指定するものとする。簡単のため、不良カラム置き換えを行わない場合には、この論理カラムアドレスは、その最上位ビットａ３が反転されるから、対応する物理アドレスは、（ｃ３，ｃ２，ｃ１）＝（１０１），（１１０），（１１１），（０００），（００１），（０１０），（０１１）となる。
【０１３９】
これにより、最終の論理カラムアドレス（１１１）は、より高速アクセス可能な冗長セルアレイ１０１内の物理カラムアドレス（０１１）に変換される。よって、実施の形態１と同様に、ＥＣＣを記録した冗長セルアレイ１０１のみを高速に読み出し、書き込みすることが可能となる。また、１ページのデータを連続して読み出す場合、論理カラムアドレスは、（ａ３，ａ２，ａ１）＝（００１），（０１０），（０１１），（１００），（１０１），（１１０），（１１１）の順でインクリメントされる。従って、データ入出力の際の冗長セルアレイ１０１の物理アクセスを最後にすることが出来る。
【０１４０】
このことは、誤りビット訂正回路５の符号として巡回符号を用いた場合に好都合である。即ち、巡回符号方式では、データビットの最後にＥＣＣデータを検査ビットとして付加した形で誤りビット訂正回路５に入力される。従って上述した論理／物理カラムアドレス変換を行えば、通常のカラムアドレスインクリメントによって、連続的にセルデータを読み出す場合に、最後にＥＣＣ記録領域である冗長セルアレイ１０１がアクセスされることになる。これにより、誤りビット訂正回路５に余分なデータ記憶回路を付加することなく、復号化および符号化ができる。誤りビット訂正回路５を構成する巡回符号復号回路としては、公知である、巡回ハミング符号復号回路、巡回ＲＳ（リードソロモン）符号復号回路やＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）復号回路で容易に実現できる。
【０１４１】
以上のようにこの実施の形態によれば、論理／物理アドレス変換回路を設けることにより、冗長セルアレイ１０１をメモリセルアレイ１の中央部に配置した場合でも、実施の形態１と同様に、冗長セルアレイ１０１を高速に読み出しおよび書き込みが可能である。上の例では、説明をわかりやすくするため、冗長セルアレイ１０１の機能として、ノーマルセルアレイ１００ａ，１００ｂの不良カラム置換のためのスペアカラム領域とする場合及び、ノーマルセルアレイ１００ａ，１００ｂに与えられるデータのＥＣＣ記録領域とする場合を説明したが、冗長セルアレイ１０１に複数カラムを配置して、これらの機能を併せ持たせることができる。
【０１４２】
またこの実施の形態では、不良カラム置換を行った場合に、データ選択線ドライバ２ａ，２ｂから最も離れたノーマルカラム位置よりデータ選択線ドライバ２ａ，２ｂに近いスペアカラムが選択される。このため不良カラム置換によるタイミング遅延の問題はない。なお、図１６と図１７においては、説明を簡単にするために、カラムアドレス一致検出回路３４ａ（ｘ）、フューズセット回路３５ａ（ｘ），３５ｂ（ｘ）及びアドレス変換回路３６ａ（ｘ）でｘ＝２の場合を示したが、一般にｘとして２以上の整数を用い得る。これらの回路に用いられるフューズとして、図８に示したフューズ代替回路を用いても勿論構わない。
【０１４３】
次に、図１８〜図２０を参照して、この実施の形態のＥＥＰＲＯＭの読み出し動作を説明する。図１８は、図１３に示すメモリセルアレイ１のなかの一つのデータ選択線ドライバ２により駆動される一つのセルブロックＢＬＫを示している。図１９及び図２０は、図４２に示した従来例の読み出しタイミングに対応するタイミングを示している。具体的に、図１９は、通常のデータ読み出しに適用されるＶｒｅａｄタイミング回路４０１によりタイミング制御を行った場合であり、図２０は、冗長セルアレイ１０１を選択したデータ読み出し動作に適用されるＶｒｅａｄタイミング回路４０２によりタイミング制御を行った場合である。
【０１４４】
図１９及び図２０共に、データ選択線ＷＬ１４が選択されて、これに読み出し電圧Ｖｒｅｆが与えられ、非選択のデータ選択線ＷＬ０〜ＷＬ１３，ＷＬ１５にパス電圧Ｖｒｅａｄが与えられた時の選択データ選択線ＷＬ１４と非選択データ選択線ＷＬ１５の電圧波形を示している。但し、図１９の電圧波形は、左側のノーマルセルアレイ１００ｂ内のデータ選択線ＷＬ１５，ＷＬ１４上の、データ選択線ドライバ２から最も遠いノードＢ，Ｄの電圧波形である。また図２０は、同じくデータ選択線ＷＬ１５，ＷＬ１４上のノーマルセルアレイ１００ｂと冗長セルアレイ１０１の境界部のノードＥ，Ｆの電圧波形である。
【０１４５】
データ選択線ＷＬ１５上のノードＥは、ノードＢに比べてデータ選択線ドライバ２に近いために、パス電圧Ｖｒｅａｄがタイミングｔ０から急速に立ち上がり、ほぼタイミングｔ１’でＶｒｅａｄにまで達する。これに対してノードＢは、データ選択線ドライバ２から離れているために、ノードＥに比べて立ち上がりが緩やかであり、タイミングｔ１’より長い時間経過後、タイミングｔ１でＶｒｅａｄに上昇する。データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ１’−ｔ０）と（ｔ１−ｔ０）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。言い換えれば、データ選択線が長くなるほど、その長さの自乗に比例して立ち上がりの遅延時間は増大する。よって、冗長セルアレイ１０１がメモリセルアレイ１の中央付近に配置されている場合、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠いメモリセルを選択する場合の１／４程度に短くなる。
【０１４６】
一方、データ選択線ＷＬ１４の電圧は、タイミングｔ０〜ｔ１の間はデータ選択線ドライバ２の出力によりパス電圧Ｖｒｅａｄより低い読み出し電圧Ｖｒｅｆに保たれているが、これに隣接するデータ選択線ＷＬ１５およびＷＬ１３からの容量結合によって電圧が上昇する。この電圧上昇は、ノードＤの方がデータ選択線ドライバ２に近いノードＦより大きい。これは、ノードＤに容量結合するデータ選択線ＷＬ１５およびＷＬ１３の容量および配線抵抗が、ノードＦに対するそれより大きくなるためである。
【０１４７】
タイミングｔ１’には、データ選択線ＷＬ１３およびＷＬ１５上のノードＥの電圧が一定となるため、これ以降ノードＦの電圧上昇はない。データ選択線ＷＬ１４はデータ選択線ドライバ２を通じて放電するため、タイミングｔ２’でほぼＶｒｅｆに戻る。ノードＤは、タイミングｔ１にはデータ選択線ＷＬ１３およびＷＬ１５のノードＢの電圧が一定となるため、これ以降電圧上昇はなく、データ選択線ドライバ２を通じて放電するため、タイミングｔ２でほぼＶｒｅｆに戻る。
【０１４８】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ２’−ｔ１’）と（ｔ２−ｔ１）との比は、データ選択線ドライバ２からノードＦまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＤまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ち、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。冗長セルアレイ１０１がメモリセルアレイ１の中央付近に配置されている場合、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠いメモリセルを選択した場合の１／４程度に短くなる。
【０１４９】
メモリセルのしきい値と読み出し電圧Ｖｒｅｆとの差によってメモリセルのセル電流が決定されるため、読み出し電圧Ｖｒｅｆが一定となってからメモリセルの電流を測定する必要がある。図１８に示す左側のノーマルセルアレイ１００ｂのデータ選択線ドライバ２から最も遠いセルユニット４９ｃ内のセルデータ読み出しは、タイミングｔ２以降であることが必要である。冗長セルアレイ４９ｂのメモリセルデータ読み出しは、タイミングｔ２’以降であることが必要である。
【０１５０】
図１９及び図２０ではそれぞれセル電流読み出しに必要な時間範囲Ｔ２１，Ｔ２２を確保した後、タイミングｔ３及びｔ３’からパス電圧Ｖｒｅａｄを低下させて、読み出し動作を終了する。データ選択線ＷＬ１５のデータ選択線ドライバ２に近いノードＥは、タイミングｔ３’の後、早いタイミングｔ４’で接地電位ＧＮＤまで低下するが、データ選択線ドライバ２から遠いノードＢは、タイミングｔ３からより長い時間がかかって、タイミングｔ４で接地電位ＧＮＤに低下する。
【０１５１】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ４’−ｔ３’）と（ｔ４−ｔ３）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ちデータ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。冗長セルアレイ１０１がメモリセルアレイ１の中央付近に配置されている場合、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠いメモリセルが選択された場合の１／４程度に短くなる。
【０１５２】
以上から、図１８のセルユニット４９ａ〜４９ｃを同時に読み出す場合には、左側のノーマルセルアレイ１００ｂ内のセルユニット４９ｃに対するパルスの遅延時間（ｔ１−ｔ０）、（ｔ２−ｔ１）、および（ｔ４−ｔ３）に律速されて、図１９のように長い読み出しサイクルタイム（ｔ４−ｔ０）が必要である。一方、冗長セルアレイ１０１内のセルユニット４９ｂのデータ読み出しを保証し、ノーマルセルアレイ１００ａ，１００ｂ内のセルユニットの読み出しを保証しない場合には、図２０に示すように、サイクルタイム（ｔ４−ｔ０）より短いサイクルタイム（ｔ４’−ｔ０）で、読み出しが可能である。即ち、冗長セルアレイ１０１の読み出しを行う場合には、図１９の場合のセル電流測定可能な時間範囲Ｔ２１（＝ｔ３’−ｔ２’）と同じ時間範囲Ｔ２２（＝ｔ３−ｔ２）を、短いサイクルタイム内に確保することができる。
【０１５３】
実施の形態１と同様に、タイミングｔ０，ｔ１〜ｔ４を設定するのにタイミング回路４０１を用い、タイミングｔ０，ｔ１’〜ｔ４’を設定するのにタイミング回路４０２を用いることによって、冗長メモリセルアレイ１０１を読み出す場合のサイクルタイムを短縮することができる。図１９及び図２０では、読み出し時の動作波形を示したが、書き込み時にも同様のことがいえる。即ち、書き込みパルス印加終了後のパルス立下り時間は、データ選択線ドライバ２から遠いセルユニット４９ｃでは、データ選択線ドライバ２に近いセルユニット４９ｂより長くかかる。
【０１５４】
そこで、通常の書き込みタイミング信号より短い時間の書き込みタイミング信号を発生する書き込み用タイミング回路を用意する。このタイミング回路を用いることにより、冗長セルアレイ１０１のみにデータを書き込む場合の書き込みサイクルタイムを、全セルアレイにデータを書き込む場合に比べて短縮することができる。
以上の読み出し、書き込みタイミングについての説明は、メモリセルアレイのの左右対称性より、データ選択線ドライバ２ａ，２ｂのいずれについても同様に成立する。
【０１５５】
以上のようにこの実施の形態では、ノーマルセルアレイ１００ａ，１００ｂのデータ選択線ドライバ２から最も遠いメモリセル位置よりも、データ選択線ドライバ２に近い側に冗長セルアレイ１０１が配置されている。従って、冗長セルアレイ１０１内のスペアカラムでノーマルセルアレイ１００ａ，１００ｂ内の不良カラムを置換する場合、データ選択線ドライバ２から最も遠い不良カラム位置よりも、スペアカラム位置の方がデータ選択線ドライバ２に近い。これにより、不良カラム置換のためにタイミング余裕を大きく確保する必要がなくなり、高速性能が得られる。
【０１５６】
図２１は、冗長セルアレイ１０１についてデータ書き込みを行う場合にその高速化を実現するための動作フローを、先の実施の形態の図１２に対応させて示している。書き込みサイクルが開始されるとまず、ステップＳＥ１にて、タイミング回路４０２を選択し、冗長セルアレイ１０１を高速に読み出すタイミングに設定する。ついで、ステップＳＥ２にて、制御信号φ１，φ２及びφ４を“Ｈ”にすることにより、センスアンプ４６のラッチデータを、ノードＮ２が“Ｈ”の状態、即ち消去状態（非書き込み状態）となるようプリセットする。制御信号φ１，φ２，φ４の制御線を全センスアンプで共通に形成することにより、全センスアンプで一括してこのプリセット動作を行うことができる。
【０１５７】
ついで、ステップＳＥ３にて、冗長セルアレイ１０１の書き込みを行う。具体的にデータ線ＤＩ／Ｏ２に与えられた書き込みデータは、カラム選択線ＣＳＬを順次“Ｈ”にすることにより、各センスアンプ４６に順次転送される。前述のように、書き込みデータが“０”の場合、センスアンプ４６のノードＮ２に“Ｌ”が転送される。センスアンプ４６に保持された書き込みデータに基づいて、前述したように、冗長セルアレイ１０１の選択セルに書き込みが行われる。
【０１５８】
このようなシーケンスを用いることにより、ノーマルセルアレイ１００ａ，１００ｂに対応するセンスアンプに非書き込みデータ（“１”データ）を転送する必要がなく、高速に書き込みデータのロードが可能になる。次いで、ベリファイ判定回路３８の出力線６４を接地電位ＧＮＤに放電した後、冗長セルアレイ１０１の書き込みデータについてベリファイ読み出しを行う（ステップＳＥ５）。
【０１５９】
そして、ベリファイ判定回路３８の出力Ｌｖｆｙに基づいて、冗長セルアレイ１０１の選択セルに書き込みが不十分なセルがあるか否かの判定を行う（ステップＳＥ６）。具体的に制御回路４０は、ベリファイ判定出力Ｌｖｆｙが”Ｌ”であれば、書き込み不足ビット無しと判断し、“Ｈ”になった場合は書き込み不足ビットが少なくとも１ビット有りと判断する。
【０１６０】
書き込み不足ビットがある場合には、その書き込み不足ビットの再書き込みを行う（ステップＳＥ８）。以下、前述のように、書き込み不十分のセルがなくなるまで、書き込みパルス印加とベリファイ読み出しが繰り返される。書き込み不足ビットがない場合には、タイミング回路４０１を選択して通常の読み出しタイミング、すなわちノーマルセルアレイ１００ａ，１００ｂのデータを読めるタイミング状態に戻して（ステップＳＥ９）、ベリファイ動作を終了する。
【０１６１】
以上のようにこの実施の形態でも、冗長セルアレイ１０１のデータ書き込みを行う場合には、ノーマルセルアレイ１００ａ，１００ｂ対応のセンスアンプは動作させない。従って、書き込み及び読み出しの遅延を小さく抑えることができ、従来よりも高速のデータ書き込みが可能になる。また、ノーマルセルアレイの動作に伴う電力消費や電源線への動作のノイズ発生を抑制することができる。また、メモリセルの構造や配線層の積層構造を変更する必要はなく、高い歩留まりやプロセスの信頼性を得ることができる。さらに、冗長セルアレイ１０１内のカラムで、ノーマルセルアレイ１００ａ，１００ｂ内の不良カラムを置換した場合にも、高速読み出しおよび高速書き込み可能となる。
【０１６２】
またこの実施の形態のカラムアドレス変換回路は、通常の不良カラム置換のためのカラムアドレス変換に加えて、物理アドレスのアクセス順序を変更する論理／物理アドレス変換機能を備えている。このアドレス変換機能は、一つのインバータを追加するだけで、大きな面積増大を伴うことなく実現できる。また、図１６および図１７に示したカラムアドレス一致検出回路３４、フューズセット回路３５及びカラムアドレス変換回路３６において、アドレス置き換え有りと無しの場合のゲート遅延時間の差は、図１６におけるＮＯＲゲートＧ１５のゲート遅延時間と図１７におけるインバータＩＮＶ５２のゲート遅延時間の差となり、非常に小さい。例えば、インバータＩＮＶ５２として、ＮＯＲゲートＧ１５と同様の２入力ＮＯＲゲートの１入力を接地したものを用いれば、上述のゲート遅延時間差はほぼなくなる。よって、アドレス置き換え有り無しでの遅延時間を揃えて、より均一なアクセス時間を実現できる。
【０１６３】
なお、この実施の形態２の図１３では、実施の形態１におけると同様に、制御回路４０には二種の読み出しタイミング回路４０１，４０２を備えて、冗長セルアレイの選択的な高速読み出しサイクル実現を可能としている。しかしこの実施の形態２は、その様な二種のタイミング回路４０１，４０２を持たない場合にも特有の効果を有する。即ちこの実施の形態のカラムアドレス変換回路が有する論理／物理アドレス変換機能は、１ページのデータを連続して読み出す場合に、データ入出力の際の冗長セルアレイ１０１の物理アクセスを最後にすることが出来る。これにより、誤りビット訂正回路に無用なアドレス変換機能を付加することなく、冗長セルアレイをＥＣＣ記録領域として誤りビット訂正を行うことが可能になる。
【０１６４】
ここまでの実施の形態２では、二つのノーマルセルアレイとこれに挟まれた一つの冗長セルアレイを有する例を説明した。この実施の形態２は、上述の二つのノーマルセルアレイと一つの冗長セルアレイを単位として、更に多くのノーマルセルアレイと冗長セルアレイを配置した場合にも拡張することができる。
【０１６５】
［実施の形態３］
図２２は、実施の形態３のＥＥＰＲＯＭの機能ブロック構成を示し、図２３Ａ及び図２３Ｂはメモリセルアレイ１、センスアンプ回路４６及びベリファイ判定回路３８の具体構成を示している。実施の形態１，２と対応する部分には、同一符号をつけて詳しい説明は省略する。この実施の形態では、カラムデコーダ回路４８内に、論理／物理カラムアドレス変換回路が付加されている。ここでの論理／物理カラムアドレス変換機能は、メモリセルアレイ１とデータ選択線ドライバ２ａ，２ｂのレイアウトとの関係で、ある条件下ではデータ選択線ドライバ２ａ，２ｂに近い冗長セルアレイが最後に選択されるようにするためのものである。即ちカラムデコーダ回路４８に付加された論理／物理カラムアドレス変換機能により、冗長セルアレイ１０１の高速読み出しと、冗長セルアレイ１０１の入出力をノーマルセルアレイ１００のデータ入出力後に行うことを可能としている。
【０１６６】
この実施の形態では、メモリセルアレイ１は、ノーマルセルアレイ１００のロウ方向両側に冗長セルアレイ１０１ａ，１０１ｂが配置されたレイアウトを有する。また、データ選択線ドライバ２ａ，２ｂが、メモリセルアレイ１の両側に分散配置されている。具体的には、図２３Ａに示すように、データ転送線方向に配置される複数のセルブロックＢＬＫ（ＢＬＫ０，ＢＬＫ１，…）に対して、偶数番のセルブロックについてはその右側にデータ選択線ドライバ２ａを配置し、奇数番目のセルブロックについては左側にデータ選択線ドライバ２ｂを配置する。この様に、データ選択線ドライバ２ａ，２ｂをメモリセルアレイ１の両側に分散させることにより、メモリセルアレイ１からデータ選択線ドライバ２ａ，２ｂへの引き出し配線のピッチを緩和することができる。これにより、引き出し配線部のリソグラフィが容易になりまた、引き出し配線部を短くすることができる。
【０１６７】
図２３Ａでは、ノーマルセルアレイ１００のビット線数が２ｋ、冗長セルアレイ１０１ａ，１０１ｂのビット線数がそれぞれ２ｎである。従って、図２３Ｂに示すように、ノーマルセルアレイ１００対応のセンスアンプ数がｋ、各冗長セルアレイ対応のセンスアンプ数がｎである。この様なセルアレイ配置と、後述するカラムアドレスデコード回路４８の論理／物理アドレス変換機能によって、データ選択線ドライバ２ａ，２ｂのいずれが選択された場合でも、これに近い方の冗長セルアレイがアクセスされるようにすることで、冗長セルアレイの高速アクセスが可能となる。
但し、左右に配置される冗長セルアレイ１０１ｂ，１０１ａのカラム数が同じでない場合にも、この実施の形態は有効である。
【０１６８】
センスアンプ４６のノードＮ１のデータがベリファイ判定回路３８に送られて、書き込みシーケンスの制御が行われることは、実施の形態１，２と同様である。ベリファイ判定回路３８内のノーマルセルアレイ１００対応のフューズ（Ｆｖ１１〜Ｆｖ１ｋ）６３及び冗長セルアレイ１０１ｂ，１００ａ対応のフューズ（Ｆｖｒ１〜Ｆｖｒｎ，Ｆｖｓ１〜Ｆｖｓｎ）６３は、ベリファイ判定出力線６４に共通接続されている。この実施の形態では、実施の形態１と異なり、出力線６４にスイッチ素子を介在させていない。
【０１６９】
出力線６４には、ベリファイ読み出し時に、フューズＦｖ１１〜Ｆｖ１ｋ、Ｆｖｒ１〜Ｆｖｒｎ，Ｆｖｓ１〜Ｆｖｓｎが導通状態にあるセンスアンプ４６でセンスされているメモリセルについて、１つでも書き込みが充分に行われていない場合に“Ｈ”となる判定出力Ｌｖｆｙが出力されるようになっている。これらフューズを切り替えることによって、例えばノーマルセルアレイ１００内の不良カラムを、冗長セルアレイ１０１ａ，１０１ｂ内のカラムで置き換えることができる。
【０１７０】
データ選択線ドライバ２ａ，２ｂは、図２３Ａに示すように、メモリセルアレイ１のセルブロック毎に振り分けて配置されるが、その各ドライバの具体構成は、実施の形態１の図４で説明したと同様であり、ドライバ配置は実施の形態２と同様である。
【０１７１】
制御回路４０内には、実施の形態１，２と同様に、二種の読み出しタイミング回路４０１，４０２が形成されている。タイミング回路４０１は、通常のデータ読み出しに適用されるものとし、タイミング回路４０２は、タイミング回路４０１よりも短い間隔でタイミング信号を発生する、高速読み出し用のタイミング回路である。これらのタイミング回路は、実施の形態１の図４或いは図５で説明したと同じ回路を用いればよい。
フューズ素子については、多結晶シリコンやシリサイド、配線金属等で形成された機械的フューズ素子の他、図８て説明した代替回路を用いうることは、実施の形態１と同様である。
【０１７２】
図２４は、論理／物理カラムアドレス変換回路を含むカラムデコーダ４８の具体的構成例を示している。この実施の形態では、データ選択線ドライバ２ａ，２ｂのいずれを用いるかに応じて（言い換えれば、いずれのセルブロックが選択されたかに応じて）、二つの冗長セルアレイ１０１ａ，１０１ｂのうち、データ選択線の配線遅延が小さい方が選択されるようにする。そのために、ロウアドレス（即ちブロックアドレス）に依存して物理カラムアドレスと論理カラムアドレスとを変換する機能が必要となる。その機能がカラムデコーダ回路３８に付加されている。
【０１７３】
ここでは、説明を簡単にするため、データを指定する論理カラムアドレスとして、（ｂ３，ｂ２，ｂ１）の３ビットで８アドレスの中の例えば（０００），（００１），（０１０），（０１１），（１００），（１０１）の６つを指定するものとする。また、物理カラムアドレス（ｃ３，ｃ２，ｃ１）は、（０００）が図２３の左側の冗長メモリセルアレイ１０１ｂを選択するカラム選択信号線ＣＳＬ１に、（００１），（０１０），（０１１）及び（１００）がノーマルセルアレイ１００を選択するカラム選択信号線ＣＳＬ２〜ＣＳＬ５に、（１０１）が右側の冗長セルアレイ１０１ａを選択するカラム選択信号線ＣＳＬ６に、それぞれ割り付けられているものとする。
【０１７４】
図２４において、入力された論理カラムアドレスをそのまま物理アドレスに変換する、（ｂ３，ｂ２，ｂ１）＝（ｃ３，ｃ２，ｃ１）なるデコードを行うデコードゲート群が、ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６である。これに対して一定条件で異なる論理／物理カラムアドレス変換を行うデコードゲート群として、ＮＡＮＤゲートＧ３１，Ｇ３２，…，Ｇ３６が用意されている。ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６の出力と、ＮＡＮＤゲートＧ３１，Ｇ３２，…，Ｇ３６の対応する出力がＮＡＮＤゲートＧ４１，Ｇ４２，…，Ｇ４６により選択されて、カラム選択信号線ＣＳＬ１〜ＣＳＬ６に選択的に“Ｈ”が出力される。これらのカラム選択信号は、図３に示すセンスアンプ回路４６のカラム選択トランジスタＭＮ１３のゲートに入力されるものである。
【０１７５】
二つの入力信号ＩＮＡ，ＩＮＢが入るＡＮＤゲートＧ２０は、ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６のグループと、ＮＡＮＤゲートＧ３１，Ｇ３２，…，Ｇ３６のグループのいずれかを選択的に活性化するために設けられている。一方の入力信号ＩＮＢは、ロウアドレス信号であり、データ選択線ドライバ２ａと２ｂのいずれが選択されるかに応じて、“Ｈ”，“Ｌ”となる。他方の入力信号ＩＮＡは、通常動作時に“Ｈ”、不良カラムの置き換えを行うフューズチェック時に“Ｌ”となる制御信号である。
【０１７６】
ＩＮＡ＝“Ｈ”である通常動作時であって、あるセルブロックが選択されて、ＩＮＢ＝“Ｌ”であるとき、ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６のグループが活性になる。このとき、前述のように物理カラムアドレス（ｃ３，ｃ２，ｃ１）は、論理カラムアドレス（ｂ３，ｂ２，ｂ１）と等しくなる。そしてカラムアドレスに対応して、カラム選択信号線ＣＳＬ１〜ＣＳＬ６の一つが“Ｈ”になる。例えば、ＩＮＢ＝“Ｌ”は、データ選択線ドライバ２ａに接続されているセルブロック対応のロウアドレスであるとする。この場合、論理カラムアドレスが（ｃ３，ｃ２，ｃ１）＝（１，０，１）により、カラム選択信号線ＣＳＬ６により選択される右側の冗長メモリセルアレイ１０１ａが選択される。
【０１７７】
一方、ＩＮＡ＝“Ｈ”の通常動作時であって、他のセルブロックが選択されて、ＩＮＢ＝“Ｈ”であるときは、ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６のグループが非活性になり、代わって、ＮＡＮＤゲートＧ３１，Ｇ３２，…，Ｇ３６のグループが活性になる。これにより、論理カラムアドレス（ｂ３，ｂ２，ｂ１）＝（０００），（００１），（０１０），（０１１），（１００），（１０１）は、順に、物理カラムアドレス（ｃ３，ｃ２，ｃ１）＝（１０１），（１００），（０１１），（０１０），（００１），（０００）に変換される。即ち論理カラムアドレスにより選択されるカラム選択信号線ＣＳＬ１〜ＣＳＬ６は、上の例と逆順になる。ＩＮＢ＝“Ｌ”は、データ選択線ドライバ２ｂに接続されているセルブロック対応のロウアドレスである。この場合、論理カラムアドレスが上例と同じく、（ｃ３，ｃ２，ｃ１）＝（１，０，１）により、カラム選択信号線ＣＳＬ１により選択される左側の冗長メモリセルアレイ１０１ｂが選択されることになる。
【０１７８】
即ち、論理カラムアドレス（ｃ３，ｃ２，ｃ１）＝（１，０，１）を高速アクセスが要求されるカラムアドレスとして指定しておけば、このカラムアドレス入力によって、データ選択線ドライバ２ａ，２ｂのいずれが選択された場合にも、それに近い側の冗長セルアレイ１０１ａ又は１０１ｂが選択されることになる。これにより、冗長メモリセルアレイの高速の読み出し、書き込みが可能になる。
なお、ここではすべてのカラムアドレスが逆順に変換される例を示したが、ノーマルセルアレイ１００の部分は必ずしも反転する必要はなく、その部分の論理／物理カラムアドレス変換回路はなくてもよい。
【０１７９】
次に、入力ＩＮＡが“Ｌ”のテストモード（フューズチェックモード）においては、ＮＡＮＤゲートＧ２１，Ｇ２２，…，Ｇ２６のグループが活性になり、物理カラムアドレス（ｃ３，ｃ２，ｃ１）は、論理カラムアドレス（ｂ３，ｂ２，ｂ１）と等しくなる。もし、ＩＮＡ＝“Ｌ”なる入力がないとすると、図２４のカラムデコーダ回路では、不良ビットの存在するカラムをテストする場合に、データ選択線ドライバ２ａ，２ｂの何れが選択されたかに応じて、選択セルブロックのカラムアドレスが異なることになる。従って、同一物理カラムアドレスに存在する複数の不良メモリセルについてカラム置換をする場合に同一の論理カラムアドレスとして出力されない場合があるので、カラム置換の判定にアドレス置換が必要となり、余計なテスト用のメモリや回路が必要となる。この実施の形態では、ＩＮＡ＝“Ｌ”の入力により、その様なカラム置換をする場合の判定にアドレス置換が不要となり、余計なテスト用のメモリや回路も必要ない。
【０１８０】
図２５は、この実施の形態において、不良カラム置換を行う場合の動作フローを示している。まずステップＳＥ１０にて、入力ＩＮＡを”Ｌ”にする。これにより、前述のように不良メモリセルのテスト時、物理カラムアドレス（ｃ３，ｃ２，ｃ１）は、論理カラムアドレス（ｂ３，ｂ２，ｂ１）と等しくなる。ついで、ステップＳＥ１１にて、書き込み、消去および読み出しの初期テストをノーマルセルアレイ１００について行い、ノーマルセルアレイ１００内の不良メモリセルのアドレスを検出する。
【０１８１】
次にステップＳＥ１２にて、検出された不良メモリセルをカラム置換によって置き換えるかどうか判断し、カラム置換をする場合には、不良メモリセルを含む物理カラムアドレスを決定する。ついでステップＳＥ１３にて、不良メモリセルを含む物理カラムに近い側の冗長セルアレイ中のスペアカラムにて置き換えを行うべく、フューズセット回路をプログラムする。フューズは、実施の形態１，２で述べた通り、機械的フューズの他、代替回路を用いてもよい。このように不良カラムをこれに近いスペアカラムで置き換えると、カラム置換に伴うデータ選択線の遅延時間の差が小さくなり、タイミングずれが生じにくくなる。
【０１８２】
ついで、ステップＳＥ１４にて、入力ＩＮＡを”Ｈ”にする。即ち、ロウアドレスに応じて、論理カラムアドレスと物理カラムアドレスのマッピングを変える条件に設定する。これにより、冗長セルアレイ１０１ａ，１０１ｂの読み出しおよび書き込みを行う場合の遅延を、ノーマルセルアレイ１００の読み出しおよび書き込みを行う場合の遅延よりも削減することができる。特に、この物理／論理アドレス変換回路を含むカラムデコーダ回路４８によって、高速読み出しおよび高速書き込みを行える冗長セルアレイ１０１ａ，１０１ｂの論理アドレスを、ロウアドレスに依らず同じにすることができる。
【０１８３】
具体的に例えば、１ロウのデータを連続して読み出す場合、（ｂ１，ｂ２，ｂ３）＝（０００），（００１），（０１０），（０１１），（１００），（１０１）の順で読み出されるものとする。この実施の形態によれば、どのセルブロックが選択されたかに依らず、データ入出力の際の冗長セルアレイの物理アクセスを最後にすることが出来る。先の実施の形態２で説明したように、誤りビット訂正回路５の符号として巡回符号を用いた場合には、情報データビットの最後にＥＣＣデータが検査ビットとして付加されて誤りビット訂正回路５に入力される形式をとる。この実施の形態によると、物理アクセスが最後になる冗長セルアレイにＥＣＣデータを記憶することができ、誤りビット訂正回路５に余分なデータ記憶回路を付加することなく、復号化および符号化できる。誤りビット訂正回路５を構成する巡回符号復号回路としては、公知である、巡回ハミング符号復号回路、巡回ＲＳ（リードソロモン）符号復号回路やＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）復号回路で容易に実現できる。
【０１８４】
以上、この実施の形態のように、論理／物理アドレス変換機能をカラムデコーダに設けることにより、冗長セルアレイ１０１ａ，１０１ｂをノーマルセルアレイ１００の両側に設けた場合でも、実施の形態１，２と同様に、少なくとも冗長セルアレイを高速に読み出しおよび書き込みすることが可能となる。ここまでは、冗長セルアレイを、不良カラムを置換するためのスペアカラム領域として、及びノーマルセルアレイに与えられるデータのＥＣＣ記録領域として用いる例を説明したが、これらを組み合わせた機能を有してもよい。この実施の形態でも、メモリセルの構造や配線層の積層構造を変更する必要はなく、高い歩留まりやプロセスの信頼性を得ることができる。
【０１８５】
次に、図２６〜図２８を参照して、この実施の形態のＥＥＰＲＯＭの読み出し動作を説明する。図２６は、図２２に示すメモリセルアレイ１のなかの一つのデータ選択線ドライバ２により駆動される一つのセルブロックＢＬＫを示している。図２７及び図２８は、図４２に示した従来例の読み出しタイミングに対応するタイミングを示している。具体的に、図２７は、通常のデータ読み出しに適用されるＶｒｅａｄタイミング回路４０１によりタイミング制御を行った場合であり、図２８は、データ選択選択線ドライバ２に近い冗長セルアレイ１０１ａを選択した高速データ読み出し動作に適用されるＶｒｅａｄタイミング回路４０２によりタイミング制御を行った場合である。
【０１８６】
図２７及び図２８共に、データ選択線ＷＬ１４が選択されて、これに読み出し電圧Ｖｒｅｆが与えられ、非選択のデータ選択線ＷＬ０〜ＷＬ１３，ＷＬ１５にパス電圧Ｖｒｅａｄが与えられた時の選択データ選択線ＷＬ１４と非選択データ選択線ＷＬ１５の電圧波形を示している。但し、図２７の電圧波形は、左側の冗長セルアレイ１０１ｂ内のデータ選択線ＷＬ１５，ＷＬ１４上の、データ選択線ドライバ２から最も遠いノードＢ，Ｄの電圧波形である。また図２８は、同じくデータ選択線ＷＬ１５，ＷＬ１４上のノーマルセルアレイ１００と冗長セルアレイ１０１ａの境界部のノードＥ，Ｆの電圧波形である。
【０１８７】
データ選択線ＷＬ１５上のノードＥは、ノードＢに比べてデータ選択線ドライバ２に近いために、パス電圧Ｖｒｅａｄがタイミングｔ０から急速に立ち上がり、ほぼタイミングｔ１’でＶｒｅａｄにまで達する。これに対してノードＢは、データ選択線ドライバ２から離れているために、ノードＥに比べて立ち上がりが緩やかであり、タイミングｔ１’より長い時間経過後、タイミングｔ１でＶｒｅａｄに上昇する。データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ１’−ｔ０）と（ｔ１−ｔ０）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。言い換えれば、データ選択線が長くなるほど、その長さの自乗に比例して立ち上がりの遅延時間は増大する。よって、データ選択線ドライバ２に近い冗長セルアレイ１０１ａが選択された場合、冗長セルアレイ１０１ａ，１０１ｂのカラム総数をそれぞれｉ、ノーマルセルアレイ１００のカラム総数をｊとして、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠いノーマルセルアレイ１００内のメモリセルの場合に比べ、配線遅延は［ｉ／（２ｉ＋ｊ）］２×１００［％］以下に短かくなる。
【０１８８】
一方、データ選択線ＷＬ１４の電圧は、タイミングｔ０〜ｔ１の間はデータ選択線ドライバ２の出力によりパス電圧Ｖｒｅａｄより低い読み出し電圧Ｖｒｅｆに保たれているが、これに隣接するデータ選択線ＷＬ１５およびＷＬ１３からの容量結合によって電圧が上昇する。この電圧上昇は、ノードＤの方がデータ選択線ドライバ２に近いノードＦより大きい。これは、ノードＤに容量結合するデータ選択線ＷＬ１５およびＷＬ１３の容量および配線抵抗が、ノードＦに対するそれより大きくなるためである。
【０１８９】
タイミングｔ１’には、データ選択線ＷＬ１３およびＷＬ１５上のノードＥの電圧が一定となるため、これ以降ノードＦの電圧上昇はない。データ選択線ＷＬ１４はデータ選択線ドライバ２を通じて放電するため、タイミングｔ２’でほぼＶｒｅｆに戻る。ノードＤは、タイミングｔ１にはデータ選択線ＷＬ１３およびＷＬ１５のノードＢの電圧が一定となるため、これ以降電圧上昇はなく、データ選択線ドライバ２を通じて放電するため、タイミングｔ２でほぼＶｒｅｆに戻る。
【０１９０】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ２’−ｔ１’）と（ｔ２−ｔ１）との比は、データ選択線ドライバ２からノードＦまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＤまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ち、データ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。データ選択線ドライバ２に近い冗長セルアレイ１０１ａが選択された場合、冗長セルアレイ１０１ａ，１０１ｂのカラム総数をそれぞれｉ、ノーマルセルアレイ１００のカラム総数をｊとして、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠い冗長セルアレイ１０１ｂ内のメモリセルの場合に比べ、配線遅延は［ｉ／（２ｉ＋ｊ）］２×１００［％］以下に短かくなる。
【０１９１】
メモリセルのしきい値と読み出し電圧Ｖｒｅｆとの差によってメモリセルのセル電流が決定されるため、読み出し電圧Ｖｒｅｆが一定となってからメモリセルの電流を測定する必要がある。図２６に示す左側の冗長セルアレイ１０１ｂのデータ選択線ドライバ２から最も遠いセルユニット４９ｃ内のセルデータ読み出しは、タイミングｔ２以降であることが必要である。データ選択線ドライバ２に近い冗長セルアレイ４９ａのメモリセルデータ読み出しは、タイミングｔ２’以降であることが必要である。
【０１９２】
図２７及び図２８ではそれぞれセル電流読み出しに必要な時間範囲Ｔ３１，Ｔ３２を確保した後、タイミングｔ３及びｔ３’からパス電圧Ｖｒｅａｄを低下させて、読み出し動作を終了する。データ選択線ＷＬ１５のデータ選択線ドライバ２に近いノードＥは、タイミングｔ３’の後、早いタイミングｔ４’で接地電位ＧＮＤまで低下するが、データ選択線ドライバ２から遠いノードＢは、タイミングｔ３からより長い時間がかかって、タイミングｔ４で接地電位ＧＮＤに低下する。
【０１９３】
データ選択線と基板との容量がデータ選択線の全容量中で最も支配的な場合には、（ｔ４’−ｔ３’）と（ｔ４−ｔ３）との比は、データ選択線ドライバ２からノードＥまでのデータ選択線の長さの自乗と、データ選択線ドライバ２からノードＢまでのデータ選択線の長さの自乗との比にほぼ等しくなる。即ちデータ選択線の長さが長くなるほど、その長さの自乗に比例して立ち下がりの遅延時間は増大する。データ選択線ドライバ２に近い冗長セルアレイ１０１ａが選択された場合、冗長セルアレイ１０１ａ，１０１ｂのカラム総数をそれぞれｉ、ノーマルセルアレイ１００のカラム総数をｊとして、データ選択線の配線遅延は最もデータ選択線ドライバ２から遠い冗長セルアレイ１０１ｂ内のメモリセルの場合に比べ、配線遅延は［ｉ／（２ｉ＋ｊ）］２×１００［％］以下に短かくなる。
【０１９４】
以上から、図２６のセルユニット４９ａ〜４９ｃを同時に読み出す場合には、左側の冗長セルアレイ１０１ｂ内のセルユニット４９ｃに対するパルスの遅延時間（ｔ１−ｔ０）、（ｔ２−ｔ１）、および（ｔ４−ｔ３）に律速されて、図２７のように長い読み出しサイクルタイム（ｔ４−ｔ０）が必要である。一方、右側の冗長セルアレイ１０１ａ内のセルユニット４９ａのデータ読み出しを保証し、ノーマルセルアレイ１００及び冗長セルアレイ１０１ｂ内のセルユニットの読み出しを保証しない場合には、図２８に示すように、サイクルタイム（ｔ４−ｔ０）より短いサイクルタイム（ｔ４’−ｔ０）で、読み出しが可能である。データ選択線ドライバ２に近い冗長セルアレイ１０１ａの読み出しを行う場合には、図２７の場合のセル電流測定可能な時間範囲Ｔ３１（＝ｔ３’−ｔ２’）と同じ時間範囲Ｔ３２（＝ｔ３−ｔ２）を、短いサイクルタイム内に確保することができる。
【０１９５】
実施の形態１と同様に、タイミングｔ０，ｔ１〜ｔ４を設定するのにタイミング回路４０１を用い、タイミングｔ０，ｔ１’〜ｔ４’を設定するのにタイミング回路４０２を用いることによって、データ選択線ドライバに近い冗長メモリセルアレイ１０１ａを読み出す場合のサイクルタイムを短縮することができる。図２７及び図２８では、読み出し時の動作波形を示したが、書き込み時にも同様のことがいえる。即ち、書き込みパルス印加終了後のパルス立下り時間は、データ選択線ドライバ２から遠いセルユニット４９ｃでは、データ選択線ドライバ２に近いセルユニット４９ａより長くかかる。
【０１９６】
そこで、通常の書き込みタイミング信号より短い時間の書き込みタイミング信号を発生する書き込み用タイミング回路を用意する。このタイミング回路を用いることにより、データ選択線ドライバ２に近い冗長セルアレイ１０１ａのみにデータを書き込む場合の書き込みサイクルタイムを、全セルアレイにデータを書き込む場合に比べて短縮することができる。
以上の読み出し、書き込みタイミングについての説明は、メモリセルアレイのの左右対称性より、データ選択線ドライバ２ａ，２ｂのいずれについても同様に成立する。
【０１９７】
またこの実施の形態では、データ選択線ドライバ２ａについてみると、ノーマルセルアレイ１００のドライバ２ａから最も遠いメモリセルよりもドライバ２ａに近い側に冗長セルアレイ１０１ａが配置され、同様にデータ選択線ドライバ２ｂについてみると、ノーマルセルアレイ１００のドライバ２ｂから最も遠いメモリセルよりもドライバ２ｂに近い側に冗長セルアレイ１０１ｂが配置されている。従って、冗長セルアレイ１０１ａ，１０１ｂ内のスペアカラムで、ノーマルセルアレイ１００内の不良カラムを置換する場合に、その不良カラムよりもデータ選択線ドライバ２ａ或いは２ｂに近いスペアカラムを選択することができる。以上から、不良カラム置換のためにタイミング余裕を大きく確保する必要がなく、より高速動作し、信頼性を改善したメモリセルアレイを実現できる。
【０１９８】
ここまでの実施の形態３では、二つの冗長セルアレイとこれに挟まれた一つのノーマルセルアレイを有する例を説明した。この実施の形態３は、上述の二つの冗長セルアレイと一つのノーマルセルアレイを単位として、更に多くの冗長セルアレイとノーマルセルアレイを配置した場合にも拡張することができる。
【０１９９】
［実施の形態４］
ここまでの実施の形態では、電荷蓄積層として浮遊ゲートを持つＮＡＮＤ型セルアレイを用いたが、浮遊ゲート型メモリセルに代わって、ＭＯＮＯＳ型メモリセルを用いることができる。その様な実施の形態でのＮＡＮＤセルユニットの図３６及び図３７に対応する断面をそれぞれ、図３８及び図３９に示す。平面図は図３５と同じである。また図３８及び図３９では、図３６及び図３７と対応する部分に同一符号を付して詳細な説明は省く。
【０２００】
不揮発性のＭＯＮＯＳメモリセルＭ０〜Ｍ１５は、ＳｉＮやＳｉＯＮからなる電荷蓄積層１２６を持つ。直列接続されたメモリセルＭ０〜Ｍ１５の一端は選択トランジスタＳ１を介してビット線ＢＬに接続され、他端は選択トランジスタＳ２を介して共通ソース線ＳＬに接続されている。これらのメモリセル及び選択トランジスタは、同じウェル上に形成されている。具体的に、ボロン濃度が１０１４ｃｍ−３〜１０１９ｃｍ−３のｐ型シリコン領域（ウェル）１２３に、１〜１０ｎｍの厚さのシリコン酸化膜またはオキシナイトライド膜からなるトンネルゲート絶縁膜１２４を介して、ＳｉＮ，ＳｉＯＮまたはＡｌ２Ｏ３からなる電荷蓄積層１２６が３ｎｍ〜５０ｎｍの厚さで形成されている。
【０２０１】
電荷蓄積層１２６上には、厚さ２ｎｍ〜１０ｎｍの間のシリコン酸化膜、Ａｌ２Ｏ３、ＨｆＳｉＯ、ＺｒＳｉＯ、ＨｆＳｉＯＮ、またはＺｒＳｉＯＮからなる層間絶縁膜１５０を介して、制御ゲート１２７が形成されている。制御ゲート１２７は、ポリシリコン，ＷＳｉ（タングステンシリサイド）とポリシリコンとのスタック構造又は、ＮｉＳｉ，ＭｏＳｉ，ＴｉＳｉ，ＣｏＳｉとポリシリコンのスタック構造からなる。その厚みは、１０ｎｍ〜５００ｎｍである。
【０２０２】
制御ゲート１２７は、図３５において横方向に配列されたセルユニットで共有されるようにセルブロック境界まで連続して形成されて、データ選択線ＷＬ０〜ＷＬ１５および、選択ゲート制御線ＳＳＬ，ＧＳＬを構成する。ｐ型ウェル１２３は、ｎ型シリコン領域１２２によってｐ型半導体基板１２１と分離され、基板１２１と独立に電圧印加できるようになっていることが、消去時の昇圧回路負荷を減らし消費電力を抑えるためには望ましい。
【０２０３】
この実施の形態のゲート構造は、半導体領域１２３の側壁が素子分離絶縁膜１２４で覆われているので、電荷蓄積層１２６を形成する前のエッチングで基板面が露出することがなく、制御ゲート１２７が半導体領域１２３よりも下に来ることを防ぐことができる。よって、半導体領域１２３と絶縁膜２４との境界での、ゲート電界集中やしきい値低下した寄生トランジスタが生じにくい。さらに、電界集中に起因する書込みしきい値の低下現象（いわゆる、ｓｉｄｅｗａｌｋ現象）が生じにくくなるため、より信頼性の高いトランジスタを形成することができる。
【０２０４】
これらゲート電極の両側には、５ｎｍ〜２００ｎｍの厚さのシリコン窒化膜またはシリコン酸化膜からなる側壁絶縁膜１４３を挟んでソースまたはドレインとなるｎ型拡散層１２８が形成されている。これら拡散層１２８と電荷蓄積層１２６、制御ゲート１２７により、ＭＯＮＯＳ型不揮発性ＥＥＰＲＯＭセルが形成されている。電荷蓄積層のゲート長は、好ましくは０．５ｕｍ以下０．０１ｕｍ以上とする。ソース，ドレインｎ型拡散層１２８は、リンや砒素、アンチモンを、表面濃度が１０１７ｃｍ−３〜１０２１ｃｍ−３となるように深さ１０ｎｍ〜５００ｎｍの間で拡散形成されている。ｎ型拡散層１２８は隣接するメモリセルで共有されて、ＮＡＮＤストリングが実現されている。
【０２０５】
選択ゲートトランジスタのゲート１２７ＳＳＬ，１２７ＧＳＬは、ＭＯＮＯＳ型メモリセルの制御ゲート１２７と同層で形成されて、それぞれ選択ゲート線（ブロック選択線）ＳＳＬ，ＧＳＬとして連続するようにパターン形成される。ゲート電極１２７ＳＳＬおよび１２７ＧＳＬのゲート長は、メモリセルゲート電極のゲート長よりも長く、例えば、１ｕｍ以下０．０２ｕｍ以上と形成することが望ましい。これにより、ブロック選択時と非選択時のオンオフ比を大きく確保でき、誤書き込みや誤読み出しを防止できる。
【０２０６】
ＮＡＮＤセルユニットの一方のゲート１２７ＳＳＬの片側に形成されたｎ型拡散層１２８ｄは、コンタクト１３１ｄを介してデータ転送線であるビット線（ＢＬ）１３６に接続される。ビット線１３６は、タングステンやタングステンシリサイド、チタン、チタンナイトライド、またはアルミニウムからなる。データ転送線１３６は、図３５の縦方向に隣接するセルユニットで共有されるように、メモリセルアレイ境界まで連続的に形成されている。他方のゲート１２７ＧＳＬの片側に形成されたｎ型拡散層１２８ｓは、コンタクト１３１ｓを介してソース線（ＳＬ）１３３に接続されている。ソース線ＳＬは、図３５の横方向に配列された複数のセルユニットに共通接続されるように、セルブロック境界まで連続的に形成されている。
【０２０７】
コンタクト１３１ｄ，１３１ｓは、例えばｎ型またはｐ型のドープトポリシリコン，タングステン，タングステンシリサイド，Ａｌ，ＴｉＮ，Ｔｉ等の導電体である。ビット線ＢＬ及びソース線ＳＬとトランジスタとの間は、ＳｉＯ２やＳｉＮからなる層間絶縁膜１６８によって充填されている。ビット線ＢＬ上部には、例えばＳｉＯ２，ＳｉＮ，ポリイミド等の保護絶縁層１３７が形成され、更にこの上には図には示していないが、Ｗ，Ａｌ，Ｃｕからなる上部配線が形成されている。
【０２０８】
この実施の形態のセルアレイ構造を用いた場合にも、実施の形態１〜３と同様の回路方式を採用して、実施の形態１〜３と同様の効果が得られる。またこの実施の形態では、ＭＯＮＯＳ型ＥＥＰＲＯＭセルを用いているため、次に列記するような効果が得られる。
【０２０９】
（ａ）浮遊ゲート型ＥＥＰＲＯＭセルよりも書き込み電圧および消去電圧を低電圧化することができる。その結果、素子分離間隔を狭めゲート絶縁膜厚を薄膜化しても耐圧を維持することができる。更に高電圧が印加される回路の面積を小さくでき、よりチップ面積を縮小することができる。
（ｂ）電荷蓄積層１２６の厚さは２０ｎｍ以下に小さくでき、ゲート形成時のアスペクト比を低減できる。この結果、ゲート電極の加工性や層間絶縁膜１６８の埋め込み性の向上により、より耐圧を向上させることができる。
（ｃ）浮遊ゲート電極を形成するためのプロセスやスリット作成プロセスが不要であり、プロセスがより簡単になる。
（ｄ）電荷蓄積層１２６は絶縁体であって、電荷トラップに電荷を捕獲するので、電荷保持特性が優れている。具体的には、放射線に対して電荷が抜けにくいという強い放射線耐性が得られる。また、側壁絶縁膜１４３を薄膜化しても、電荷蓄積層１２６に捕獲された電荷がすべて抜けてしまうことなく、良好な電荷保持特性を維持できる。
（ｅ）電荷畜積層１２６を、半導体領域１２３と合わせずれなく形成することができ、電荷蓄積層１２６と半導体領域１２３との間の均一な容量を実現できる。これにより、メモリセルの容量ばらつきやメモリセル間の容量ばらつきを低減することができる。
【０２１０】
ここまでの実施の形態１−４では、セルユニット４９および４９’の構造としては、ＮＡＮＤ型セルユニットを示したが、図３３に示すＡＮＤ型セルユニット構造や、図３４に示すバーチャルグラウンド（Ｖｉｒｔｕａｌ  Ｇｒｏｕｎｄ）型セルユニットを用いることもできる。図３３のＡＮＤ型セルユニットでは、複数のメモリセルＭ０〜Ｍ１５が並列接続され、その一端が選択ゲートトランジスタＳ１を介してデータ転送線ＢＬに、他端が選択ゲートトランジスタＳ２を介してソース線ＳＬに接続されている。メモリセル構造は、浮遊ゲート型でもＭＯＮＯＳ型でもよい。このＡＮＤ型セルユニットは、ＮＡＮＤ型セルユニットと比べてチャネル抵抗が小さく、従って特に多値データ記憶に適用したときにしきい値の安定性に優れている。
【０２１１】
図３４のバーチャルグラウンド型セルユニットは、ＡＮＤ型セルユニットと類似しているが、メモリセルＭ０〜Ｍ１５とこれに対してデータ選択線方向に隣接するメモリセルＭ０’〜Ｍ１５’とが、ソース又はドレインを共有している。メモリセルＭ０〜Ｍ１５の一端と、Ｍ０’〜Ｍ１５’の一端はそれぞれ選択トランジスタＳ１，Ｓ１’を介してデータ転送線ＢＬ１，ＢＬ１’に、共通端子は選択トランジスタＳ２を介してデータ転送線ＢＬ２に接続されている。メモリセル構造は、浮遊ゲート型でもＭＯＮＯＳ型でもよい。このバーチャルグラウンド型セルユニットでは、隣接するメモリセルＭ０〜Ｍ１５と、Ｍ０’〜Ｍ１５’の間に素子分離領域を必要とせず、より高密度のメモリセルアレイが得られる。このユニットセルアレイ構成は、ソース又はドレインを共有する二つのメモリセルが対をなして、１メモリセル当たり２ビットのデータ記憶ができ、高密度のＥＥＰＲＯＭが得られる。
【０２１２】
これら図３３及び図３４のセルユニット構成においても、データ選択線ＷＬ０〜ＷＬ１５に沿って複数のセルユニットが配置されて、それらのセルユニットの位置により配線遅延が異なる事情は、ＮＡＮＤ型セルユニットと同様である。従ってこれらのセルユニット構成を用いた場合にも、実施の形態１〜３と同様の回路方式を採用して、実施の形態１〜３と同様の効果が得られる。
【０２１３】
［実施の形態５］
図２９は、ここまでの実施の形態で説明したＥＥＰＲＯＭの応用例であるファイルシステム２１２を示している。ファイルシステム２１２は、具体的には例えばＩＣカードやメモリカードであり、入出力ポート２０１を通じて、例えばコンピュータ等の外部電子装置（入出力システムデバイス）２１１と電気的に接続され、データの書き込み，読み出しおよび消去の電気的信号の授受が行われる。このファイルシステム２１２は、入出力ポート２０１の他、一時記憶装置となるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０１、情報演算を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２、およびＲＯＭ２０４を含む。これらはデータバスおよびシステム内制御線よって、データの授受が行えるようになっている。
【０２１４】
ＲＯＭ２０４は、ＣＰＵ２０２の実行するプログラムを記憶するため、さらに、例えば、個々のシステムのＩＤ番号やデータを記憶するための領域であり、実施の形態１−４で説明したＥＥＰＲＯＭに対応する。ＲＯＭ２０４はデータバスに接続されたＲＯＭ制御回路２０５を有する。この制御回路２０５はデータバスやシステム内制御線を通じて与えられた、ＲＯＭ２０４の読み出し操作、書き込み操作、および消去操作指示によって、その特定アドレスの読み出し操作、書き込み操作、および消去操作を行う論理回路である。このＲＯＭ制御回路２０５は列デコーダ／センスアンプ２０６と接続され、指定された列のアドレスをデコードし、その列の書き込みデータまたは読み出しデータを授受する。制御回路２０５は更に、実施の形態１−３で説明した誤りビット訂正回路５を含んでもよい。或いはまた、誤りビット訂正回路５はＣＰＵ２０２，ＲＡＭ２０３或いはＲＯＭ２０４に記憶されたソフトウェアによって実現してもよい。列デコーダ／センスアンプ２０６は夫々のデータ転送線を通じてメモリセルアレイ１と接続されている。
【０２１５】
ＲＯＭ制御回路２０５は行デコーダ／ドライバ２０８と接続される。行デコーダ／ドライバ２０８は、指定された行アドレスをデコードし、その行に対応するデータ選択線に、例えば書き込み時に昇圧回路２０９から与えられた昇圧電圧を印加する回路である。昇圧回路２０９は、例えば、チャージポンプ回路を有し、メモリセルアレイ１に例えば、電源電圧以上３０Ｖ以下の高電圧を与える回路である。行デコーダ／ドライバ２０８はデータ選択線を通じてメモリセルアレイ１と接続されている。メモリセルアレイ１は、例えば、前述の実施の形態１〜３のいずれかの構成を有し、ファイルシステム２１２のデータの記憶場所（Ａｌｌｏｃａｔｉｏｎ）を示すテーブルである、いわゆるＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）と、通常データを記憶するデータ領域を含んでいる。これらのＦＡＴ及びデータ領域は、実施の形態１〜３で説明した冗長セルアレイ領域１０１内に存在する書き込み完了フラグを記憶するフラグ領域を含む。通常のＦＡＴやデータ領域は、メモリセルアレイ１内のノーマルセルアレイ１００の領域に形成すればよい。
【０２１６】
ファイルシステム２１２には、後述するセクタカウンタのカウント値や最終セクタインデックスを記憶する領域として、セクタアドレスを少なくとも１つ記憶する程度の小容量記憶領域が必要である。これらの記憶領域は、高速で頻繁に読み出しや書き込みを行い、またアドレスのインクリメントやデクリメントが必要となるので、ＲＡＭ２０１またはＣＰＵ２０２に設定することが望ましい。なお、図では示していないが、ファイルシステム２１２には、ファイル書き込み時に電源供給が遮断される可能性がある電源が接続されている。この電源供給遮断は、電源の供給能力が不足した場合のみならず、ファイルシステム２１２がＩＣカードやメモリカードであって、カードを書き込み時に抜き取った場合にも生ずる。
【０２１７】
ファイルシステム２１２は、この様な電源遮断があった場合にも、書き込んだデータを全て失うことなく、高速で書き込み動作を復帰できるシステムを含むことが好ましい。図３０及び図３１は、その様な復帰システムを含むデータ書き込み動作フローを示している。ここでは、電源供給が遮断されてデータ書き込みが途中で終了してしまった場合を示しているが、電源断だけでなく、例えばシステムのソフトウェアの暴走など不具合によって、書きこみ途中で終了した場合でも同様である。またここでは、書き込むデータが複数のデータ選択線で選択されたメモリセルに及ぶ大容量の場合を想定しており、１セクタは、１ページ即ち一本のデータ選択線のメモリセル範囲を言い、セクタカウンタは、複数のデータ選択線の内どのデータ選択線（即ちセクタ）に書き込むかを示したインデックスを記憶する装置である。
【０２１８】
図３０を用いて大容量データを書き込む方法を説明する。まず、ステップＳＥ１５にて、ＦＡＴを読み出し、データを追加書き込み可能なセクタが充分あるかを判定して、充分な場合は最初のデータを記憶するセクタアドレスを求める。また例えば、書き込みデータ量を１ページ当たりのメモリセル容量で割ることにより、最終セクタインデックスを計算する。さらにここで、すべてのデータを記憶する複数のセクタアドレスを求めておく。
【０２１９】
ついで、ステップＳＥ１５で計算したデータを書き込むべきセクタアドレスすべてをＦＡＴに書き込む（ステップＳＥ１６）。この際、ＦＡＴと同じセクタ内の書き込み完了フラグ領域については、書き込み完了を示すフラグを立てない状態を維持する。この後、セクタカウンタを初期値にリセットする（ステップＳＥ１７）。ついで、ステップＳＥ１５で求めた最初のデータを記憶するセクタアドレスにデータを書き込む（ステップＳＥ１８）。
【０２２０】
このデータ書き込み時に選択されるページのフラグ領域に、ステップＳＥ１６で行ったＦＡＴ書き込みについての書き込み完了フラグを同時に書き込む。この様に、データ領域への書き込み時に同時に、直前のＦＡＴ書き込みの書き込み完了フラグを書き込むことにより、書き込み時間を短縮することができる。このステップＳＥ１８の終了までに電源供給が遮断された場合には、いずれの書き込み完了を示すフラグも立っていないので、ステップＳＥ１５から再書き込みを行えばよい。再書き込みの具体的フローは図３１を用いて後で説明する。
【０２２１】
ついで、セクタカウンタを１つ増やし（ステップＳＥ１９）、セクタカウンタが最終セクタインデックス以下かどうか判定する（ステップＳＥ２０）。最終セクタインデックス以下であることが判定されたら、ＦＡＴを読み出し、セクタカウンタの示すデータを記憶するセクタアドレスに該当するセクタのデータを書き込む（ステップＳＥ２１）。このデータ書き込み時に同時に、選択されたページのフラグ領域に、直前のデータ書き込みでの書き込み完了を示すフラグを書き込む。これにより、フラグ領域とデータ領域を書き込む時間を短縮することができる。このステップＳＥ２１のＦＡＴ領域読み出しは、ステップＳＥ１５で読み出したＦＡＴデータを例えば、ＲＡＭ２０３またはＣＰＵ２０２内のレジスタに一時的に記憶しておき、そのＦＡＴデータを読み出してもよい。これにより、読み出し時間が短縮される。
【０２２２】
ステップＳＥ２１が終了後、ステップＳＥ１９に戻る。ステップＳＥ１８終了からステップＳＥ２１終了までの間に電源供給が遮断された場合には、ＦＡＴについては書き込み終了しているので、書き込み完了フラグが立っていないデータ以降の再書き込みを行えばよい。その再書き込みの具体的フローは図３１を用いて後で説明する。ステップＳＥ２０でセクタカウンタが最終セクタインデックスを越えたことが判定された場合には、ステップＳＥ２２にて、直前のデータ書き込みに関する書き込み完了フラグをＦＡＴと同じセクタの書き込み完了フラグ領域に書き込む。このステップＳＥ２２シーケンスは、冗長セルアレイ領域１０１内に存在する書き込み完了フラグ領域に選択的にデータ書き込みを行うので、実施の形態１〜３で説明したように、高速の書き込みが可能である。ステップＳＥ２２が正常終了した場合には、書き込みが正常終了したとする。
【０２２３】
以上のように図３０のデータ書き込みでは、書き込み完了フラグを書き込まない場合と比較し、書き込み時間および書き込み回数の増大は、ステップＳＥ２２のシーケンスの１セクタ分のみであり、書き込み完了フラグとデータを別々に書き込むよりも大幅に全体の書き込み時間を短縮できる。即ちこの実施の形態によると、データ書き込み時の電源遮断後の再書き込みが、通常のデータ消去後の再書き込みに比べて、短時間で行われる。
【０２２４】
次に、図３１を用いて、前述の大容量データを書き込んだ後に、再書き込みが必要か否かを調べ、必要な場合に再書き込みを行ういわゆるベリファイチェックの方法を示す。ステップＳＥ２３にて、ＦＡＴを読み出し、すべてのデータを記憶する複数のセクタアドレスを読み出す。同時に、ＦＡＴと同一セクタに存在するステップＳＥ２２で書き込んだ書き込み完了フラグを読み出す。次に、ステップＳＥ２４にて、ステップＳＥ２３の書き込み完了フラグがセットされているかどうか判定する。セットされている場合は、すべてのセクタが正常に書き込まれたことを示しているので、正常終了する。セットされていない場合には、図３０の書き込みシーケンス途中で異常終了したことを示しているので、ステップＳＥ２５にてセクタカウンタを初期値にリセットする。
【０２２５】
ついで、ステップＳＥ２６において、ステップＳＥ２３で求めた最初のデータを記憶するセクタアドレスを求め、そのセクタの書き込み完了フラグを読み出す。この書きこみ完了フラグはステップＳＥ１８にて設定されたフラグとなっている。このステップＳＥ２６シーケンスは、冗長セルアレイ領域１０１内に存在する書き込み完了フラグ領域に対する選択的読み出しであり、ノーマルセルアレイ１００を読み出す必要はないので、実施の形態１−３で説明したように高速で読み出しを行うことができ、読み出し時間を短縮できる。またステップＳＥ２６で必要なＦＡＴ中のセクタアドレス取得は、ステップＳＥ２３で読み出したＦＡＴデータを例えば、ＲＡＭ２０３またはＣＰＵ２０２内のレジスタに一時的に記憶しておき、そのＦＡＴデータを読み出せばよく、これによりＦＡＴ読み出し時間を短縮できる。
【０２２６】
ついで、ステップＳＥ２７にて、ステップＳＥ２６の書き込み完了フラグがセットされているかどうか判定する。セットされている場合は、対応するセクタの書き込みは完了したことを示しているので、ステップＳＥ２８でセクタカウンタを１増やし、ステップＳＥ２６に戻って次のデータを記憶するセクタの書き込み完了フラグを読み出す。ステップＳＥ２７で書き込み完了フラグがセットされていないと判定された場合には、図３０の書き込みシーケンス途中で異常終了したことを示している。この場合、ステップＳＥ２９にて、セクタカウンタが初期値かどうか判定する。セクタカウンタが初期値の場合には、ＦＡＴデータ書き込みが完了せずステップＳＥ１８までで異常終了したことを示している。従って、図３０のフローにより、全データをＦＡＴから再書き込みを行う。また、セクタカウンタが初期値でない場合は、ステップＳＥ３１にてセクタカウンタを１減らし、データ書きこみが異常終了したセクタのインデックスにする。そして、ステップＳＥ３２にて、図３０のステップＳＥ２１に戻り、データ書き込みが異常終了したセクタからデータの再書き込みを行う。
【０２２７】
なお、あるセクタのメモリセルを一括消去した後、これらに並列にデータ書き込みを行うフラッシュ型ＥＥＰＲＯＭでは、そのセクタの書き込みサイクル途中で異常終了した場合、“０”書き込みすべきセルの少なくとも一部は書き込み不足状態であり、消去状態（“１”データ）のセルは消去状態のままである。従って、書き込み動作が中断されたセクタを再度消去することなく、そのセクタから追加書き込み動作を行えばよい。これにより高速のデータの復元が可能である。特に、１データ選択線に接続されたメモリセルの書き込み時間よりも消去時間が長い場合には有効である。
【０２２８】
この実施の形態において、図２９に破線で囲んだＲＯＭ２０４内部だけでなく、これと同一半導体基板上に例えば、ＣＰＵ２０２やＲＡＭ２０３を形成した混載集積回路とすることもできる。低電圧動作するＣＰＵ２０２やＲＡＭ２０３は、行デコーダ／ドライバ２０８や列デコーダ／センスアンプ２０６の近く配置してもパンチスルーの生じるおそれはない。従ってこのような混載集積回路とすることで、高密度集積化チップが実現できる。
【０２２９】
［実施の形態６］
図４０は、実施の形態１−４で説明したＥＥＰＲＯＭのもう一つの応用例のフラッシュメモリシステムを示している。このフラッシュメモリシステムは、ホストプラットホーム６０１と、ユニバーサル・シリアル・バス（ＵＳＢ）フラッシュ装置６０２より構成される。ホストプラットホーム６０１は、ＵＳＢケーブル６０５を介して、ＵＳＢフラッシュ装置６０２に接続されている。ホストプラットホーム６０１は、ＵＳＢホストコネクタ６０４を介してＵＳＢケーブル６０５に接続され、ＵＳＢフラッシュ装置６０２はＵＳＢフラッシュ装置コネクタ６０６を介してＵＳＢケーブル６０５に接続される。
【０２３０】
ホスト・プラットホーム６０１は、ＵＳＢバス上のパケット伝送を制御するＵＳＢホスト制御器６０３を有する。ＵＳＢフラッシュ装置６０２は、少なくとも一つのフラッシュメモリモジュール６０８と、これを制御するとともに、ＵＳＢフラッシュ装置６０２のＵＳＢバスへのインタフェースを制御するＵＳＢフラッシュ装置制御器６０７とを有する。フラッシュメモリモジュール６０８が実施の形態１−４で説明したＥＥＰＲＯＭを含む。
【０２３１】
ＵＳＢフラッシュ装置６０２がホストプラットホーム６０１に接続されると、標準ＵＳＢ列挙処理が始まる。この処理において、ホストプラットホーム６０１は、ＵＳＢフラッシュ装置６０２を認知してＵＳＢフラッシュ装置６０２との通信モードを選択し、エンドポイントという、転送データを格納するＦＩＦＯバッファを介して、ＵＳＢフラッシュ装置６０２との間でデータの送受信を行う。ホストプラットホーム６０１は、他のエンドポイントを介してＵＳＢフラッシュ装置６０２の脱着等の物理的、電気的状態の変化を認識し、関連する受け取るべきパケットがあれば、それを受け取る。
【０２３２】
ホストプラットホーム６０１は、ＵＳＢホスト制御器６０３へ要求パケットを送ることによって、ＵＳＢフラッシュ装置６０２からのサービスを求める。ＵＳＢホスト制御器６０３は、ＵＳＢケーブル６０５上にパケットを送信する。ＵＳＢフラッシュ装置６０２がこの要求パケットを受け入れたエンドポイントを有する装置であれば、これらの要求はＵＳＢフラッシュ装置制御器６０７によって受け取られる。
【０２３３】
ＵＳＢフラッシュ装置制御器６０７は、フラッシュメモリモジュール６０８から、あるいはフラッシュメモリモジュール６０８へ、データの読み出し、書き込み、あるいは消去等の種々の操作を行う。それとともに、ＵＳＢアドレスの取得等の基本的なＵＳＢ機能をサポートする。ＵＳＢフラッシュ装置制御器６０７は、フラッシュメモリモジュール６０８の出力を制御する制御ライン６０９を介して、また、チップイネーブル／ＣＥその他の制御信号や、読み出しイネーブル信号、書き込みイネーブル信号等を送り、フラッシュメモリモジュール６０８を制御する。
【０２３４】
フラッシュメモリモジュール６０８は、アドレス／データバス６１０によってもＵＳＢフラッシュ装置制御器６０７に接続されている。アドレス／データバス６１０は、フラッシュメモリモジュール６０８に対する読み出し、書き込みあるいは消去のコマンドと、フラッシュメモリモジュール６０８のアドレス及びデータを転送する。
【０２３５】
ホストプラットホーム６０１が要求した種々の操作に対する結果及び状態をホストプラットホーム６０１へ知らせるために、ＵＳＢフラッシュ装置６０２は、状態エンドポイント（エンドポイント０）を用いて状態パケットを送信する。この処理において、ホストプラットホーム６０１は、状態パケットがないかどうかをチェックし（ポーリング）、ＵＳＢフラッシュ装置６０２は、新しい状態メッセージのパケットが存在しない場合に空パケットを、あるいは状態パケットそのものを返す。
以上のようにこの実施の形態によれば、ＥＥＰＲＯＭ応用としてのＵＳＢフラッシュ装置のさまざまな機能を実施可能である。なお、ＵＳＢケーブル６０５を省略して、コネクタ間を直接接続することも可能である。
【０２３６】
この発明は、上記実施の形態１−６に限られるものではなく、以下に例示するように更に種々の変形が可能である。
素子分離絶縁膜や層間絶縁膜の形成法は、シリコンをシリコン酸化膜やシリコン窒化膜に変換する方法の他、例えば酸素イオンを堆積したシリコンに注入する方法や、堆積したシリコンを酸化する方法を用いることができる。
電荷蓄積層１２６は、ＭＯＮＯＳ型メモリセルの場合、ＴｉＯ２，Ａｌ２Ｏ３，タンタル酸化膜，チタン酸ストロンチウム，チタン酸バリウム，チタン酸ジルコニウム鉛や、それら積層膜を用いてよい。更に電荷蓄積層１２６はソース，ドレイン間で分離されていたり、ドット状に形成されていてもよい。
上記実施の形態では、半導体基板１２１としてｐ型Ｓｉ基板を用いたが、ｎ型Ｓｉ基板やＳＯＩ基板の他、ＳｉＧｅ混晶，ＳｉＧｅＣ混晶など、シリコンを含む他の単結晶半導体基板を用いることができる。
上記実施の形態では、浮遊ゲート型メモリセル及びＭＯＮＯＳ型メモリセル共に、ｎチャネルの例を説明したが、ｎ型ウェル上のｐチャネル型メモリセルを用いることもできる。その場合、ソース，ドレインはｐ型となり、ドーピング不純物種は、Ａｓ，Ｐ，Ｓｂに代わって、Ｉｎ，Ｂのいずれかを用いればよい。
ゲート１２６および１２７には、多結晶Ｓｉの他、ＳｉＧｅ混晶やＳｉＧｅＣ混晶或いはこれらの積層構造、更にアモルファスＳｉ，アモルファスＳｉＧｅ混晶，アモルファスＳｉＧｅＣ混晶やこれらの積層構造を用いることができる。ただし、ゲートは半導体であること、特に、Ｓｉを含んだ半導体であることが、良好な側壁絶縁膜を酸化または酸窒化によって形成することができるので望ましい。更にゲート電極表面に、Ｔｉ，Ｃｏ，Ｎｉ，Ｍｏ，Ｐｄ，Ｐｔ等の金属との反応によるシリサイド膜を形成してもよい。
上記各実施の形態では、冗長セルアレイ領域１０１を高速読み出しおよび書き込みする例を説明したが、ノーマルセルアレイ１００内に設定されるＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）領域等、高速読み出しおよび書き込みを必要とする領域についても、同様の高速読み出し及び書き込みを適用することが可能である。
メモリセルは、二値記憶に限らず、３値以上の多値ディジタル値を複数のしきい値として記憶する場合もこの発明は有効である。多値記憶の場合、二値記憶に比べて複数のデータしきい値間の間隔が狭くなり、しきい値を測定する読み出し電圧の安定が問題となるので、この発明の効果は大きい。但し、一つのメモリセルが記憶するしきい値が一般には２ｎ値となることが、情報データのデコードが簡略化されるため望ましい。
【図面の簡単な説明】
【０２３７】
【図１】この発明の実施の形態によるＥＥＰＲＯＭの機能ブロック構成を示す図である。
【図２Ａ】同ＥＥＰＲＯＭのメモリセルアレイの構成を示す図である。
【図２Ｂ】同ＥＥＰＲＯＭのセンスアンプ回路及びベリファイ判定回路の構成を示す図である。
【図３】同ＥＥＰＲＯＭのセンスアンプ回路の具体構成を示す図である。
【図４】同ＥＥＰＲＯＭのデータ選択線ドライバの構成を示す図である。
【図５】同ＥＥＰＲＯＭの読み出しタイミング回路の構成例を示す図である。
【図６】同ＥＥＰＲＯＭの読み出しタイミング回路の他の構成例を示す図である。
【図７】図６に用いられるバイラテラルスイッチの構成を示す図である。
【図８】図２Ｂに用いられるフューズの代替回路例を示す図である。
【図９】同ＥＥＰＲＯＭの書き込み動作を説明するためのメモリセルアレイの１セルブロックを示す図である。
【図１０】通常のタイミング制御による書き込みベリファイ動作のデータ選択線電圧変化を示す図である。
【図１１】高速読み出しモードでのデータ選択線電圧変化を示す図である。
【図１２】同ＥＥＰＲＯＭの書き込み動作を説明するためのフローチャートである。
【図１３】他の実施の形態によるＥＥＰＲＯＭの機能ブロック構成を示す図である。
【図１４Ａ】同ＥＥＰＲＯＭのメモリセルアレイの構成を示す図である。
【図１４Ｂ】同ＥＥＰＲＯＭのセンスアンプ回路及びベリファイ判定回路の構成を示す図である。
【図１５】同ＥＥＰＲＯＭのデータ選択線ドライバの構成を示す図である。
【図１６】同ＥＥＰＲＯＭの初期設定記憶回路及びカラムアドレス一致検出回路の構成を示す図である。
【図１７】同ＥＥＰＲＯＭの初期設定記憶回路及びカラムアドレス変換回路の構成を示す図である。
【図１８】同ＥＥＰＲＯＭの書き込み動作を説明するためのメモリセルアレイの１セルブロックを示す図である。
【図１９】通常のタイミング制御による書き込みベリファイ動作のデータ選択線電圧変化を示す図である。
【図２０】高速読み出しモードでのデータ選択線電圧変化を示す図である。
【図２１】同ＥＥＰＲＯＭの書き込み動作を説明するためのフローチャートである。
【図２２】他の実施の形態によるＥＥＰＲＯＭの機能ブロック構成を示す図である。
【図２３Ａ】同ＥＥＰＲＯＭのメモリセルアレイの構成を示す図である。
【図２３Ｂ】同ＥＥＰＲＯＭのセンスアンプ回路及びベリファイ判定回路の構成を示す図である。
【図２４】同ＥＥＰＲＯＭのカラムデコーダの構成を示す図である。
【図２５】同ＥＥＰＲＯＭの不良カラム置換の動作を説明するためのフローチャートである。
【図２６】同ＥＥＰＲＯＭの書き込み動作を説明するためのメモリセルアレイの１セルブロックを示す図である。
【図２７】通常のタイミング制御による書き込みベリファイ動作のデータ選択線電圧変化を示す図である。
【図２８】高速読み出しモードでのデータ選択線電圧変化を示す図である。
【図２９】他の実施の形態によるファイルシステムの構成を示す図である。
【図３０】同ファイルシステムのデータ書き込み動作を説明するためのフローチャートである。
【図３１】同ファイルシステムのデータ再書き込み動作を説明するためのフローチャートである。
【図３２】上記各実施の形態に用いられるＮＡＮＤ型セルユニットの等価回路である。
【図３３】上記各実施の形態に用いられるＡＮＤ型セルユニットの等価回路である。
【図３４】上記各実施の形態に用いられるバーチャルグラウンド型セルユニットの等価回路である。
【図３５】ＮＡＮＤ型セルユニットのアレイの平面図である。
【図３６】浮遊ゲート型メモリセルを用いた場合の図３５のＢ−Ｂ’断面図である。
【図３７】浮遊ゲート型メモリセルを用いた場合の図３５のＡ−Ａ’断面図である。
【図３８】ＭＯＮＯＳ型メモリセルを用いた場合の図３５のＢ−Ｂ’断面図である。
【図３９】ＭＯＮＯＳ型メモリセルを用いた場合の図３５のＡ−Ａ’断面図である。
【図４０】他の実施の形態によるフラッシュメモリシステムの構成を示す図である。
【図４１】従来のＥＥＰＲＯＭの動作を説明するためのセルブロックの構成を示す図である。
【図４２】従来のＥＥＰＲＯＭの書き込みベリファイ動作のデータ選択線電圧変化を示す図である。
【符号の説明】
【０２３８】
１…メモリセルアレイ、１００（１００ａ，１００ｂ）…ノーマルセルアレイ（ノーマルデータ領域）、１０１（１０１ａ，１０１ｂ）…冗長セルアレイ（冗長領域）、２（２ａ，２ｂ）…データ選択線ドライバ、３…ロウデコーダ、３４…カラムアドレス一致検出回路、３５…初期設定記憶回路、３６…カラムアドレス変換回路、３８…ベリファイ判定回路、３９…スイッチ素子、４０…制御回路、４０１，４０２…タイミング回路、４１（４１ａ〜４１ｄ）…高電圧発生回路、４２…基板電位発生回路、４５…データ入出力バッファ、４６…センスアンプ回路、４７…アドレスバッファ、４８…カラムデコーダ、５…誤りビット訂正回路、４９，４９’…セルユニット。
【図１】
2005063626.tif 000003
【図２Ａ】
2005063626.tif 000004
【図２Ｂ】
2005063626.tif 000005
【図３】
2005063626.tif 000006
【図４】
2005063626.tif 000007
【図５】
2005063626.tif 000008
【図６】
2005063626.tif 000009
【図７】
2005063626.tif 000010
【図８】
2005063626.tif 000011
【図９】
2005063626.tif 000012
【図１０】
2005063626.tif 000013
【図１１】
2005063626.tif 000014
【図１２】
2005063626.tif 000015
【図１３】
2005063626.tif 000016
【図１４Ａ】
2005063626.tif 000017
【図１４Ｂ】
2005063626.tif 000018
【図１５】
2005063626.tif 000019
【図１６】
2005063626.tif 000020
【図１７】
2005063626.tif 000021
【図１８】
2005063626.tif 000022
【図１９】
2005063626.tif 000023
【図２０】
2005063626.tif 000024
【図２１】
2005063626.tif 000025
【図２２】
2005063626.tif 000026
【図２３Ａ】
2005063626.tif 000027
【図２３Ｂ】
2005063626.tif 000028
【図２４】
2005063626.tif 000029
【図２５】
2005063626.tif 000030
【図２６】
2005063626.tif 000031
【図２７】
2005063626.tif 000032
【図２８】
2005063626.tif 000033
【図２９】
2005063626.tif 000034
【図３０】
2005063626.tif 000035
【図３１】
2005063626.tif 000036
【図３２】
2005063626.tif 000037
【図３３】
2005063626.tif 000038
【図３４】
2005063626.tif 000039
【図３５】
2005063626.tif 000040
【図３６】
2005063626.tif 000041
【図３７】
2005063626.tif 000042
【図３８】
2005063626.tif 000043
【図３９】
2005063626.tif 000044
【図４０】
2005063626.tif 000045
【図４１】
2005063626.tif 000046
【図４２】
2005063626.tif 000047
【手続補正書】
【提出日】平成16年7月1日(2004.7.1)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図２４
【補正方法】変更
【補正の内容】
【図２４】
2005063626.tif 000048
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図４２
【補正方法】変更
【補正の内容】
【図４２】
2005063626.tif 000049