(57)【特許請求の範囲】
【請求項１】
メインメモリの不良ビットを検出し、その不良モードと不良アドレスとの情報を出力する不良ビット検出回路と、
前記メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路と、
を有し、
前記アドレス選択回路は
前記メインメモリに書き込みたいデータ列に含まれる所定のデータの位置が、前記不良アドレスの位置になるように、前記データ列のデータの並びを保持したまま前記データ列のスタートアドレスの位置をずらすことを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記アドレス選択回路は、
前記メインメモリに書き込みたいデータ列中で、最初に出現する前記不良モードと一致するデータを、前記不良アドレスに書き込むように、前記データ列のスタートアドレスを設定することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記アドレス選択回路は、
前記不良ビットが複数あるとき、
前記メインメモリに書き込みたいデータ列中で、前記不良モードと一致する複数のデータ間の離間度と、前記不良ビット間の離間度とが一致するように、前記データ列のスタートアドレスを設定することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性半導体記憶装置に関するものである。
【背景技術】
【０００２】
不揮発性半導体記憶装置は、電荷を電荷蓄積膜に蓄積することでデータを記憶する。ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：電気的に書き換え可能な不揮発性メモリ）には、大別して電荷蓄積膜の種類が異なる２つの構造がある。
【０００３】
１つは、ゲート絶縁膜上に電荷蓄積膜となる浮遊ゲートと呼ばれる導電体を酸化膜などで囲って電気的に絶縁された状態で設け、その浮遊ゲートに電荷を蓄積するＦＧ（Ｆｌｏａｔｉｎｇ  Ｇａｔｅ：フローティングゲート）型である。
【０００４】
もう１つは、複数の絶縁膜を積層させた電荷蓄積膜を有し、この電荷蓄積膜内の電荷トラップに蓄積する電荷量を制御することによって情報の記憶を行うＭＮＯＳ（Ｍｅｔａｌ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ−Ｓｉｌｉｃｏｎ）型やＭＯＮＯＳ（Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ−Ｓｉｌｉｃｏｎ）型である。
【０００５】
電荷蓄積膜に電子を蓄積した状態、すなわち書き込みデータを記憶している状態のしきい値電圧をＶｔｗ、電荷蓄積膜にホールを蓄積した状態、すなわち消去データを記憶している状態のしきい値電圧をＶｔｅ、電荷蓄積膜に電子もホールも蓄積していない状態のしきい値電圧、つまり、熱平衡状態しきい値電圧をＶ０と呼ぶ。
【０００６】
ここで、メモリ素子に記憶されているデータを読み出す時にメモリ素子のゲート電極に印加する電圧Ｖｃｇの値を、Ｖｔｅ＜Ｖｃｇ＜Ｖｔｗの関係が成り立つように設定すると、メモリ素子のドレイン電流が、書き込みデータを記憶している状態では流れず、消去データを記憶している状態では流れるため、書き込みデータと消去データとの判別が可能となる。
【０００７】
上記の電荷を電荷蓄積膜に蓄積することでデータを記憶する不揮発性半導体記憶装置とは別の不揮発性半導体記憶装置もあり、代表的なものにマスクＲＯＭがある。マスクＲＯＭは、記憶データをＬＳＩの製造過程において書き込んだＲＯＭである。マスクＲＯＭには、大別して書き込み方法の異なる２つの種類がある。
【０００８】
１つは、ＭＯＳトランジスタのチャネル領域の不純物濃度を調節することで、上記ＥＥＰＲＯＭと同様に大小２つのしきい値電圧を作り出し、ドレイン電流の有無により記憶データを判別するものである。
【０００９】
もう１つは、ＭＯＳトランジスタのドレインコンタクトホールの有無によるもので、こちらもドレイン電流の有無により記憶データを判別する。
【００１０】
ＥＥＰＲＯＭ及びマスクＲＯＭでは、特定のビットが断線等によりドレイン電流が流れなくなり、出力が常に書き込みデータとなる不良や、ソース−ドレイン間のリークによりドレイン電流が常に流れ、出力が常に消去データとなる不良が発生する場合があり、当該ビットに対する正常な書き込み及び消去ができなくなるという問題がある。
【００１１】
そのような問題に対処する方法としては、不良救済用の予備のメモリセル（冗長メモリ
）を予め用意しておき、不良ビットとデータを入れ替えるという手法が知られている。そのような技術を、図５を用いて説明する。
【００１２】
図５は、メモリの不良を救済する手法を模式的に示した図である。図５において、図５（ａ）は、メインメモリのアドレスの様子を説明する図であり、図５（ｂ）は、データ列を表す図である。図５（ｃ）は、メインメモリにデータ列を書き込んだ様子を説明する図である。図５（ｄ）は、メインメモリ不良ビットを説明する図である。図５（ｅ）は、メインメモリの不良ビットにより読み出したデータ列のデータが変わってしまう様子を説明する図である。図５（ｆ）は、冗長メモリによりデータの入れ替えを説明する図である。
【００１３】
図５において、５１はメインメモリ、５１ａはスタートアドレス、５１ｂは不良ビット、５２は書き込みたいデータ列、５２ａは不良ビットにより変更されたデータ列、５３は冗長メモリ、５３ａは冗長メモリ５３の所定のアドレスである。
【００１４】
図５においては、書き込みデータとなる場合を「１」、消去データとなる場合を「０」、説明上どちらでもよい場合を「−」で示している。
【００１５】
図５（ａ）に示すように、メインメモリ５１は、例えば、アドレスＡ〜アドレスＸまでの２４個のメモリセルで構成している。１つのメモリセルで１ビットのデータを記憶する。
図５（ｂ）には、書き込みたいデータ列５２を示しており、その内容は、「００１１０１０１００１１」の１２ビット分のデータ構成となっている。
図５（ｃ）に示すように、メインメモリ５１にデータ列５２を書き込むと、スタートアドレス５１ａ（つまり、アドレスＡ）から順にデータ列の内容が書き込まれる。
【００１６】
もし、図５（ｄ）に示すように、メインメモリ５１のアドレスＪが、データ「１」となりデータ「０」とはならないような不良ビット５１ｂになったとする。
このようなメインメモリ５１に対して書き込まれたデータ列５２を読み出すと、図５（ｅ）に示すように、アドレスＪのデータが「１」となり、先頭から１０ビット目のデータが異なる「００１１０１０１０１１１」というデータ列５２ａとなってしまう。
【００１７】
そこで、図５（ｆ）に示すように、冗長メモリ５３を用意しておき、不良アドレスであるアドレスＪを冗長メモリ５３の所定のアドレス５３ａと入れ替え、冗長メモリ５３の所定のアドレス５３ａのメモリセルに書き込まれたデータが、あたかもメインメモリ５１のアドレスJのメモリセルに書き込まれたデータであるように制御し、正しくデータ列５２を書き込み及び読み出しができるようにするのである。
【００１８】
このような概念の手段は、多くの提案を見るところである（例えば、特許文献１参照。）。図６を用いて説明する。
【００１９】
図６は、特許文献１に示した従来技術に記載の不揮発性半導体記憶装置の構成の説明図であって、説明しやすいようにその主旨を逸脱しないように書き直した図である。
【００２０】
図６において、１０７はＭＰＵ、１０８はメインメモリ、１００は不良救済メモリ、１０１はアドレスメモリ、１０２はアドレス比較器、１０３はアドレス登録フラグメモリ、１０４はデータメモリである。
不良救済メモリ１００は、アドレスメモリ１０１、アドレス比較器１０２、アドレス登録フラグメモリ１０３、データメモリ１０４とで構成されている。
【００２１】
ＭＰＵ１０７とメインメモリ１０８とはデータバス１１０によって相互に接続されてお
り、さらにデータバス１１０にはアドレスメモリ１０１とデータメモリ１０４とが接続されている。
また、ＭＰＵ１０７とメインメモリ１０８とはアドレスライン１０９によっても相互に接続されており、さらにアドレスライン１０９にはアドレスメモリ１０１とアドレス比較器１０２とが接続されている。
【００２２】
アドレス比較器１０２及びアドレス登録フラグメモリ１０３からの出力信号はＡＮＤゲートの一方側及び他方側入力にそれぞれ入力され、そのＡＮＤゲートの出力信号は、メインメモリ出力割込禁止信号１０６として、データメモリ１０４及びメインメモリ１０８へ入力される。
また、ＭＰＵ１０７によりアドレス指定したセルについて、書き込みを行うか、読み出しを行うかを指定する書き込み及び読み出し信号１０５は、メインメモリ１０８の他、アドレスメモリ１０１、アドレス登録フラグメモリ１０３、データメモリ１０４にも入力される。
【００２３】
アドレスメモリ１０１、アドレス登録フラグメモリ１０３、データメモリ１０４を構成するセルがそれぞれｎ個であるとした場合、これら各ｎ個のセルに対しては、ＭＰＵ１０７におけるメインメモリ１０８のアドレス空間に対して割り当てられたアドレス以外のアドレスがそれぞれ割り当てられている。
【００２４】
次に、特許文献１に示した従来技術でメインメモリ１０８の中に不良メモリセルが発生した場合に行う、データメモリ１０４の中のデータメモリセルへの置き換え動作について再び図６を参照して説明する。
【００２５】
不良メモリセルが発生すると、最初に、ＭＰＵ１０７からアドレスライン１０９を介して、アドレスメモリ１０１及びアドレス登録フラグメモリ１０３に対して、メインメモリ１０８のアドレス空間に対して割り当てられたアドレス以外のアドレスを指定し、次に、ＭＰＵ１０７からデータバス１１０を介して、アドレスメモリ１０１の指定したアドレスに不良メモリセルのアドレスを登録し、アドレス登録フラグメモリ１０３の指定したアドレスに登録済みであることを示すフラグを立てる。
【００２６】
次に、メインメモリ１０８の中の不良メモリセルに置き換えた、データメモリ１０４の中のデータメモリセルへの書き込み及び読み出し動作について図６を用いて説明する。
【００２７】
ＭＰＵ１０７から出力されるアドレス信号は、アドレスライン１０９を介して、常時、メインメモリ１０８及び不良救済メモリ１００に入力され、アドレス比較器１０２によってアドレスメモリ１０１に登録されている不良メモリセルのアドレスと比較されている。
【００２８】
アドレス比較器１０２の比較の結果、ＭＰＵ１０７から出力されるアドレス信号がアドレスメモリ１０１に登録されている不良メモリセルのアドレスと一致した場合、データメモリ１０４に対して、メインメモリ１０８に対する書き込み及び読み出し信号１０５と共通の信号により書き込み及び読み出し動作が行われる。
【００２９】
また、メインメモリ出力割込禁止信号１０６をメインメモリ１０８へ入力することで、メインメモリ１０８からデータバス１１０へのデータ出力の割り込みを禁止し、データメモリ１０４からのデータをデータバス１１０へ出力する。
【００３０】
特許文献１に示された従来技術は、不良救済メモリ１００を設けたことにより、メインメモリ１０８に不良メモリセルが発生した場合でも、データメモリ１０４の中のデータメモリセルへの置き換えをすることで、不揮発性半導体記憶装置としての機能には何ら問題
が発生しないという特徴を有している。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開平９−１０６６９３号公報（全頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【００３２】
特許文献１に示した従来技術は、メインメモリ１０８に不良が発生してしまうか発生しないかは、設計や製造時にはわからないから、常に予め不良救済メモリ１００を備えていなければならない。
不良救済メモリ１００は、不良メモリセルのアドレスを登録するためのアドレスメモリ１０１、不良メモリセルに置き換わりデータを記憶するためのデータメモリ１０４、ＭＰＵ１０７から出力されるアドレス信号と不良メモリセルのアドレスとを比較するためのアドレス比較器１０２が必要であり、面積効率が悪いという問題がある。
【００３３】
また、データの読み出し動作において、ＭＰＵ１０７から出力されるアドレス信号と不良メモリセルのアドレスとの比較を１ビット毎に行う必要があり、読み出し動作に要する時間が長いという問題もある。
【００３４】
この発明は、このような問題を解決するためになされたものであり、不良メモリセルに置き換わりデータを記憶するための予備のメモリセルを用いることなく、不良メモリセルの救済を実現することを目的とする。
この発明のもうひとつの目的は、データの読み出し動作において、１ビット毎にアドレスの比較を行う必要をなくし、読み出し動作に要する時間を短くすることである。
【課題を解決するための手段】
【００３５】
上記課題を解決するために、本発明は以下のような構成を採用する。
【００３６】
メインメモリの不良ビットを検出し、その不良モードと不良アドレスとの情報を出力する不良ビット検出回路と、メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路と、を有し、アドレス選択回路は、メインメモリに書き込みたいデータ列に含まれる所定のデータの位置が、不良アドレスの位置になるように、そのデータ列のデータの並びを保持したままデータ列のスタートアドレスの位置をずらすことを特徴とする。
【００３７】
アドレス選択回路は、メインメモリに書き込みたいデータ列中で、最初に出現する不良モードと一致するデータを、不良アドレスに書き込むように、データ列のスタートアドレスを設定するようにしてもよい。
【００３８】
アドレス選択回路は、不良ビットが複数あるとき、メインメモリに書き込みたいデータ列中で、不良モードと一致する複数のデータ間の離間度と、不良ビット間の離間度とが一致するように、データ列のスタートアドレスを設定するようにしてもよい。
【発明の効果】
【００３９】
本発明の不揮発性半導体記憶装置は、不良メモリセルに置き換わりデータを記憶するための予備のメモリセルは必要なくなるため面積効率が良くなる。
また、データの読み出し動作において、１ビット毎にアドレスの比較を行う必要がないため、読み出し動作に要する時間を短くすることができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の不揮発性半導体記憶装置の第１の実施形態を説明するためのブロック図である。
【図２】本発明の不揮発性半導体記憶装置の第２の実施形態を説明するためのブロック図である。
【図３】本発明の不揮発性半導体記憶装置の第３の実施形態を説明するためのブロック図であり、要部を書き出した図である。
【図４】本発明の不揮発性半導体記憶装置の概要を説明する模式図である。
【図５】従来技術を説明するための模式図である。
【図６】特許文献１に示す従来技術の半導体記憶装置の構成を説明するためのブロック図である。
【発明を実施するための形態】
【００４１】
本発明の不揮発性半導体記憶装置は、ＭＰＵと、メインメモリと、不良ビット検出回路と、メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路とを有している。
【００４２】
メインメモリの不良を検出する不良ビット検出回路は、メモリの不良モードとそのアドレスを検出する。不良モードとは、不良の状態を示すものである。何を書き込んでも常にデータ「１」となってしまうモードと、常にデータ「０」となってしまうモードとがある。
【００４３】
アドレス選択回路は、不良ビット検出回路からの不良の情報（不良モードとそのアドレス）に基づき、書き込みたいデータ列と出力されるデータ列とが一致するように、書き込み及び読み出しのスタートアドレスをずらすことが可能である。
【００４４】
なお、アドレス選択回路は、メインメモリにデータ列を書き込むとき、メインメモリの最後のアドレスに到達しても、最初のアドレスに戻るようアドレッシングする。したがって、メインメモリの容量以下のデータ列の場合は、スタートアドレスをどれほどずらしても、データ列がメインメモリに書き込みできなくなることはない。
【００４５】
まず、本発明の不揮発性半導体記憶装置の概念を図４を用いて説明する。
図４は、不揮発性半導体記憶装置を説明するために模式的に示した図である。図４において、図４（ａ）は、メインメモリのアドレスの様子を説明する図であり、図４（ｂ）は、データ列を表す図である。図４（ｃ）は、後述する第１の実施形態の概念を説明するものであり、図４（ｄ）は、後述する第２の実施形態の概念を説明するものであり、そして、図４（ｅ）は、後述する第３の実施形態の概念を説明するものである。
【００４６】
図４において、４１はメインメモリ、４１ａはスタートアドレス、４１ｂ及び４１ｃは不良ビット、４２は書き込みたいデータ列である。４２ａ，４２ｂ，４２ｃ，４２ｄはデータ列４２内の所定のデータである。
【００４７】
図４においても、書き込みデータとなる場合を「１」、消去データとなる場合を「０」、説明上どちらでもよい場合を「−」で示している。
【００４８】
図４（ａ）に示すように、メインメモリ４１は、例えば、アドレスＡ〜アドレスＸまでの２４個のメモリセルで構成している。１つのメモリセルで１ビットのデータを記憶する。この例では、スタートアドレス４１ａは、アドレスＡである。
図４（ｂ）には、書き込みたいデータ列４２を示しており、その内容は、「００１１０１０１００１１」の１２ビット分のデータ構成となっている。
【００４９】
［第１の実施形態の概念：図４（ｃ）］
この実施形態は、メインメモリの不良ビットとデータ列内の所定のデータとが一致するまで、順にデータを書き込み、読み出していくのである。
【００５０】
データ列４２をメインメモリ４１に書き込むとき、まずスタートアドレスを所定のアドレスから順に書き込む。例えば、スタートアドレスをアドレスＡとして、順に書き込む。
【００５１】
そして、書き込んだデータを読み出す。このとき、例えば、アドレスＪが常にデータ「１」となる不良ビットであるとすると、データ列４２の最初から１０ビット目のデータが常時「１」となってしまい、読み出したデータ列は、「００１１０１０１０１１１」となってしまう。
【００５２】
そこで、アドレス選択回路は、書き込んだデータ列と読み出したデータ列とが一致するように、スタートアドレスをずらしていく。例えば、次のスタートアドレスをアドレスＢにして書き込み、その後読み出し、データ列が一致していなければ、その次に、というように１つずつずらしていく。
【００５３】
このデータ列４２の例では、この作業を２回繰り返すと、メインメモリ４１の常にデータ「１」となる不良ビット４１ｂの位置とデータ列４２のうちでデータ「１」となる所定データ４２ａとの位置が一致する。
つまり、図４（ｃ）に示すようにスタートアドレスをアドレスＣとするのである。
【００５４】
このようにすれば、メインメモリ４１内に不良ビットがあっても、それを有効利用することができる。
【００５５】
以上の説明では、スタートアドレスを１つずつずらす例を説明したが、そのずらし量を、２つ以上としてもよい。例えば、メインメモリ４１を、複数のビットを１つのブロックとしてブロック分けしているときには、スタートアドレスをずらすときに、次のブロックの先頭のビットにジャンプしてもよい。つまり、ブロックごとにずらしてもよいのである。
【００５６】
なお、この第１の実施形態の概念では、書き込んだデータ列と読み出したデータ列とが一致するように、スタートアドレスをずらしていくので、不良ビット検出回路によるメインメモリの不良ビット検出（不良ビットの不良モードとそのアドレスの検出）を省いてもよい。
しかし、すでに説明したとおり、メインメモリ４１に不良が発生しているか否かは、設計や製造時にはわからないから、最初に不良ビット検出を行なうことで、不良ビットの不良モードをとそのアドレスを記録することができれば、不良解析にも使えて便利である。また、仮に不良ビットがないと分かった場合に、このずらし作業をスキップすることができる。
【００５７】
［第２の実施形態の概念：図４（ｄ）］
この実施形態は、メインメモリの不良ビットのアドレスと不良モードを調べ、データ列内に最初に出現する所定のデータと、その不良モードが一致するように、スタートアドレスを設定するのである。
【００５８】
まず、不良ビット検出回路が、メインメモリ４１内の不良ビットを検出する。この検出は、例えば、メインメモリ４１の全てのメモリセルに、データ「１」を書き込んで読み出し、その後、データ「０」を書き込んで読み出すなどして、書き込んだデータと読み出したデータとを比較する。
そうすることで、不良メモリセルのアドレスに加え、不良メモリセルが、常にデータ「１」となるような不良モードなのか、常にデータ「０」となるような不良モードなのかを検出することができる。例えば、アドレスＪが常にデータ「１」となってしまう不良モードを有する不良ビットであるとする。
【００５９】
次に、アドレス選択回路が、データ列４２を調べる。例えば、データ列４２の先頭のデータから順にメインメモリ４１の不良ビット４１ｂの不良モードと一致するデータを探す。この例では、アドレスＪがデータ「１」となる不良モードであるから、データ列４２の先頭から３ビット目のデータが最初に出現するデータ「１」である。
【００６０】
アドレス選択回路は、このデータ列４２の先頭から３ビット目のデータを、メインメモリ４１のアドレスＪに書き込めるように、メインメモリ４１のスタートアドレスを設定する。
つまり、図４（ｄ）に示すようにスタートアドレスをアドレスＨとして、データ列４２を書き込むのである。
【００６１】
このようにすれば、すぐさまスタートアドレス４１ａを設定できるので、メインメモリ４１に、より早く正しくデータを書き込むことができる。
【００６２】
［第３の実施形態の概念：図４（ｅ）］
この実施形態は、メインメモリに複数の不良ビットがあったとき、その不良ビットのアドレスと不良モードとに加え、その不良ビット同士の離間度を調べて、データ列内に同じ離間度の所定のデータを探して、それらが一致するように、スタートアドレスを設定するのである。
【００６３】
離間度とは、不良ビット間の離れ具合を示すものであって、メインメモリの不良ビットの離間度が「２」といえば、２つの不良ビットが２ビット分離れているということである。また、データ列でいう離間度が「２」といえば、データ列の所定の２つデータが２データ分離れているという意味になる。なお、本実施形態では、データ列中の１つのデータをメインメモリの１つのビットに書き込むから、データ列でいう離間度も、この場合は、「２」ビット分離れていると表現できる。
【００６４】
まず、不良ビット検出回路が、メインメモリ４１内の不良ビットを検出する。このとき、不良ビット４１ｂ及び４１ｃの２つが検出されたとする。この不良ビットのアドレスは、それぞれアドレスＪ及びアドレスＭだったとする。そして、このときの不良モードは共に常にデータ「１」であるとする。さらに、この不良ビット同士の離間度は、その間にアドレスＫとアドレスＬとがあるので「２」ビットとなる。
【００６５】
次に、アドレス選択回路が、データ列４２を調べる。例えば、データ列４２の先頭のデータから順にメインメモリ４１の不良ビット４１ｂの不良モードと一致するデータを探す。この例では、アドレスＪ及びアドレスＭがデータ「１」となる不良モードであるから、データ列４２の先頭から８ビット目のデータと１１ビット目のデータとが、データ「１」であり、このときの離間度は「２」ビットとなる。
【００６６】
アドレス選択回路は、このデータ列４２の先頭から８ビット目のデータと１１ビット目のデータ「１――１」に着目して、メインメモリ４１のアドレスＪとアドレスＭに、この８ビット目と１１ビット目のデータが書き込めるように、メインメモリ４１のスタートアドレスを設定する。
つまり、図４（ｅ）に示すようにスタートアドレスをアドレスＣとして、データ列４２を書き込むのである。
【００６７】
このようにすれば、複数の不良ビットがあったとしても、すぐさまスタートアドレス４１ａを設定できるので、メインメモリ４１に、早く正しくデータを書き込むことができる。
【００６８】
以上の説明で、第１の実施形態１から第３の実施形態の概要を説明した。以降は、各実施形態毎にブロック図を用いて構成及び動作を詳述する。
【実施例１】
【００６９】
［第１の実施形態の構成の説明：図１、図４（ｃ）］
図１は、本発明による不揮発性半導体記憶装置の第１の実施形態（図４（ｃ））を説明するためのブロック図である。
図１において、７はＭＰＵ、８はメインメモリ、２０はアドレス選択回路、３０は不良ビット検出回路である。
【００７０】
ＭＰＵ７とメインメモリ８とはデータバス１０によって相互に接続する。また、データバス１０は不良ビット検出回路３０にも接続する。ＭＰＵ７とアドレス選択回路２０とはアドレスライン９により相互に接続する。アドレス選択回路２０とメインメモリ８とはシフトアドレスライン１９により相互に接続する。
【００７１】
アドレス選択回路２０によりアドレスを指定したビットについて、書き込みを行うか、読み出しを行うかを指定する書き込み及び読み出し信号５が、ＭＰＵ７から出力し、メインメモリ８に入力する。
書き込みたいデータ列の情報はＭＰＵ７から出力し、データバス１０を経由してメインメモリ８及び不良ビット検出回路３０に入力する。
メインメモリ８から出力するデータ列の情報は、データバス１０を経由してメインメモリ７及び不良ビット検出回路３０に入力する。
メインメモリ８から出力するデータ列が書き込みたいデータ列と一致したか、あるいは一致しなかったかの情報は、良否信号２１として不良ビット検出回路３０から出力し、アドレス選択回路２０に入力する。
メインメモリ８に対する書き込み及び読み出しをくり返し実行する際のリトライ信号２２が、アドレス選択回路２０から出力し、メインメモリ８に入力する。
【００７２】
［第１の実施形態の動作の説明：図１、図４（ｃ）］
次に、この実施形態の不揮発性半導体記憶装置で、メインメモリ８の中に不良ビットが発生した場合に行う、書き込み及び読み出しを行う際のスタートアドレスをずらす動作（図４（ｃ））について、引き続き図１を用いて説明する。
【００７３】
メインメモリ８から出力するデータ列が書き込みたいデータ列と一致しなかった場合、その情報は不良ビット検出回路３０からアドレス選択回路２０へ良否信号２１として送られる。
ここで良否信号２１として送られる情報は、メインメモリ８から出力するデータ列が書き込みたいデータ列と一致したか、それとも一致しなかったか、だけである。
【００７４】
良否信号２１が入力したアドレス選択回路２０は、ＭＰＵ７からアドレスライン９を介して受け取っているスタートアドレスから１ビット分ずらしたアドレスを、新たなスタートアドレスとして設定し、シフトアドレスライン１９を介して、メインメモリ８に対して指定する。
また、アドレス選択回路２０からリトライ信号２２をメインメモリ８に送り、１ビット分ずらしたアドレスに対して、書き込みたいデータ列の再書き込み及び再読み出しを行う
。
【００７５】
メインメモリ８から再出力するデータ列が書き込みたいデータ列と、再び一致しなかった場合は、一致するまでこれらの動作をくり返す。
【００７６】
メインメモリ８から再出力するデータ列が書き込みたいデータ列と一致した場合、その情報は不良ビット検出回路３０からアドレス選択回路２０へ良否信号２１として送られる。
アドレス選択回路２０は、その時点で設定したスタートアドレスが、スタートアドレスをずらす動作を行う前のスタートアドレスに対して、何ビット分ずれているかの情報を記憶する。
【００７７】
次回以降の読み出しにおいて、アドレス選択回路２０は、ＭＰＵ７からアドレスライン９を介して受け取るアドレスに対して、記憶したビット数分ずらしたアドレスを、シフトアドレスライン１９を介して、メインメモリ８に対して指定する。
【００７８】
以上、ＭＰＵ７と、メインメモリ８と、不良ビット検出回路３０と、メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路２０を有することで、第１の実施形態における不揮発性半導体記憶装置は、メインメモリ８に不良ビットが発生しても、不揮発性半導体記憶装置としては何ら問題なく機能することが可能となる。
また、１ビット読み出す毎に不良ビットのアドレスと照合する必要がないため、読み出しに要する時間の短縮が可能である。
【実施例２】
【００７９】
［第２の実施形態の構成の説明：図２、図４（ｄ）］
図２は、本発明による不揮発性半導体記憶装置の第２の実施形態（図４（ｄ））を説明するためのブロック図である。
図２において、２３は不良ビット情報である。なお、すでに説明した構成には同一の番号を付与しており、説明は省略する。
【００８０】
ＭＰＵ７とメインメモリ８とはデータバス１０によって相互に接続する。また、データバス１０は不良ビット検出回路３０及びアドレス選択回路２０にも接続する。ＭＰＵ７とアドレス選択回路２０とはアドレスライン９により相互に接続する。アドレス選択回路２０とメインメモリ８とはシフトアドレスライン１９により相互に接続する。
【００８１】
アドレス選択回路２０によりアドレスを指定したビットについて、書き込みを行うか、読み出しを行うかを指定する書き込み及び読み出し信号５が、ＭＰＵ７から出力し、メインメモリ８に入力する。
書き込みたいデータ列の情報はＭＰＵ７から出力し、データバス１０を経由してメインメモリ８、不良ビット検出回路３０及びアドレス選択回路２０に入力する。
メインメモリ８から出力するデータ列の情報は、データバス１０を経由してメインメモリ７及び不良ビット検出回路３０に入力する。
メインメモリ８から出力するデータ列が書き込みたいデータ列と一致しなかった場合、その不良ビットの不良モードと不良アドレスとの情報は、不良ビット情報２３として不良ビット検出回路３０から出力し、アドレス選択回路２０に入力する。
メインメモリ８に対する書き込み及び読み出しを再度実行する際のリトライ信号２２が、アドレス選択回路２０から出力し、メインメモリ８に入力する。
【００８２】
［第２の実施形態の動作の説明：図２、図４（ｄ）］
次に、この実施例の不揮発性半導体記憶装置でメインメモリ８の中に不良ビットが発生した場合に行う、書き込み及び読み出しを行う際のスタートアドレスをずらす動作（図４（ｄ））について、引き続き図２を用いて説明する。
【００８３】
メインメモリ８から出力するデータ列が書き込みたいデータ列と一致しなかった場合、その不良ビットの不良モードと不良アドレスとの情報は、不良ビット検出回路３０からアドレス選択回路２０へ不良ビット情報２３として送られる。
また、書き込みたいデータ列の情報はＭＰＵ７から出力し、データバス１０を経由してアドレス選択回路２０に送られる。
【００８４】
不良ビット情報２３と書き込みたいデータ列の情報とが入力したアドレス選択回路２０は、不良ビットの不良モードの出力と一致するデータが、書き込みたいデータ列のデータ並びの中で最初に出現するアドレスを特定し、そのアドレスと不良ビットの不良アドレスとが一致するように、書き込み及び読み出しを行う際のスタートアドレスを設定する。
また、その設定したスタートアドレスが、設定前のスタートアドレスに対して何ビット分ずれているかの情報を記憶する。
【００８５】
アドレス選択回路２０は、設定したスタートアドレスを、シフトアドレスライン１９を介して、メインメモリ８に送る。
また、アドレス選択回路２０からリトライ信号２２をメインメモリ８に送り、設定したスタートアドレスに対して、書き込みたいデータ列の再書き込み及び再読み出しを行う。
【００８６】
次回以降の読み出しにおいて、アドレス選択回路２０は、ＭＰＵ７からアドレスライン９を介して受け取るアドレスに対して、記憶したビット数分ずらしたアドレスを、シフトアドレスライン１９を介して、メインメモリ８に対して指定する。
【００８７】
以上、ＭＰＵ７と、メインメモリ８と、不良ビット検出回路３０と、メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路２０とを有することで、第２の実施形態における不揮発性半導体記憶装置は、メインメモリ８に不良ビットが発生しても、不揮発性半導体記憶装置としては何ら問題なく機能することが可能となる。
また、１ビット読み出す毎に不良ビットのアドレスと照合する必要がないため、読み出しに要する時間の短縮が可能である。
【実施例３】
【００８８】
［第３の実施形態の構成及び動作の説明：図３、図４（ｅ）］
図３は、本発明による不揮発性半導体記憶装置の第３の実施形態（図４（ｅ））を説明するためのブロック図であり、要部を書き出した図面である。
図３において、２４は複数不良ビット情報である。なお、すでに説明した構成には同一の番号を付与しており、説明は省略する。
【００８９】
第３の実施形態の構成は、図２に示す第２の実施形態の構成と同様である。相違点は、図４（ｅ）に示したように、不良ビット検出回路３０から出力される情報が、複数不良ビット情報２４となっている点である。つまり、不良ビットが複数ある点が第２の実施形態と異なる。したがって、図３にはこの不良ビット検出回路３０周りを書き出した図面としている。
以下第３の実施形態を説明するが、第２の実施形態と異なる点について説明する。
【００９０】
メインメモリ８の中に複数の不良ビットが発生した場合、その複数の不良ビットの不良モードと不良アドレスとの情報は、不良ビット検出回路３０からアドレス選択回路２０へ
複数不良ビット情報２４として送られる。
また、書き込みたいデータ列の情報はＭＰＵ７から出力し、データバス１０を経由してアドレス選択回路２０に送られる。
【００９１】
複数不良ビット情報２４と書き込みたいデータ列の情報とが入力されたアドレス選択回路２０は、複数の不良ビットの不良モードの出力と、複数の不良ビット同士の離間度とを含めたデータ並びと同じデータ並びを、書き込みたいデータ列の中から特定する。
そして、特定したデータ並びのアドレスと複数の不良ビットのデータ並びのアドレスとが一致するように、書き込み及び読み出しを行う際のスタートアドレスを設定する。
また、その設定したスタートアドレスが、設定前のスタートアドレスに対して何ビット分ずれているかの情報を記憶する。
【００９２】
アドレス選択回路２０は、設定したスタートアドレスを、シフトアドレスライン１９を介して、メインメモリ８に送る。
また、アドレス選択回路２０からリトライ信号２２をメインメモリ８に送り、設定したスタートアドレスに対して、書き込みたいデータ列の再書き込み及び再読み出しを行う。
【００９３】
次回以降の読み出しにおいて、アドレス選択回路２０は、ＭＰＵ７からアドレスライン９を介して受け取るアドレスに対して、記憶したビット数分ずらしたアドレスを、シフトアドレスライン１９を介して、メインメモリ８に対して指定する。
【００９４】
以上、ＭＰＵ７と、メインメモリ８と、不良ビット検出回路３０と、メインメモリに書き込み及び読み出しを行う際のスタートアドレスを任意に設定可能なアドレス選択回路２０を有することで、第３の実施形態における不揮発性半導体記憶装置は、メインメモリ８に複数の不良ビットが発生しても、不揮発性半導体記憶装置としては何ら問題なく機能することが可能となる。
また、１ビット読み出す毎に不良ビットのアドレスと照合する必要がないため、読み出しに要する時間の短縮が可能である。
【産業上の利用可能性】
【００９５】
本発明の不揮発性半導体記憶装置は、メインメモリに発生した不良を救済するための予備のメモリ領域を設ける必要がないため、高い集積度を求められるコンピュータ装置用や電子機器用として好適である。
【符号の説明】
【００９６】
５  書き込み及び読み出し信号
７  ＭＰＵ
８  メインメモリ
９  アドレスライン
１０  データバス
１９  シフトアドレスライン
２０  アドレス選択回路
２１  良否信号
２２  リトライ信号
２３  不良ビット情報
２４  複数不良ビット情報
３０  不良ビット検出回路
１００  不良救済メモリ
１０１  アドレスメモリ
１０２  アドレス比較器
１０３  アドレス登録フラグメモリ
１０４  データメモリ
１０５  書き込み及び読み出し信号
１０６  メインメモリ出力割込禁止信号
１０７  ＭＰＵ
１０８  メインメモリ
１０９  アドレスライン
１１０  データバス
【図１】
0005415386.tif 000002
【図２】
0005415386.tif 000003
【図３】
0005415386.tif 000004
【図４】
0005415386.tif 000005
【図５】
0005415386.tif 000006
【図６】
0005415386.tif 000007