(57)【特許請求の範囲】
【請求項１】
複数の各データ出力ライン毎に、
互いに同じ論理値の１ビットデータが書き込まれる２個１組のＥＰＲＯＭセルと、
前記２個のＥＰＲＯＭセルの各出力を入力して、その各出力が両方共にデータの非書き込み状態を示す第１の論理値である場合に、該第１の論理値の１ビットデータを出力し、前記各出力のうちの少なくとも一方がデータの書き込み状態を示す第２の論理値である場合に、該第２の論理値の１ビットデータを出力する論理ゲートと、
該論理ゲートの出力を入力して、その出力の論理値を反転させた１ビットデータを出力するインバータと、
前記２個のＥＰＲＯＭセルの各出力を入力して、その両出力の論理値が互いに異なる場合に、不一致信号を出力する不一致検出回路と、
該不一致検出回路から前記不一致信号が出力され、且つ、誤り訂正信号が入力された場合に、前記インバータの出力を前記データ出力ラインへ出力させ、そうでない場合には、前記論理ゲートの出力を前記データ出力ラインへ出力させる切替回路と、
が夫々設けられており、
更に、前記各組のＥＰＲＯＭセルに夫々書き込まれるデータのうちで前記第２の論理値であるものが、偶数個であるか奇数個であるかを示す１ビットデータが夫々書き込まれる３個１組のＥＰＲＯＭセルと、
該３個のＥＰＲＯＭセルの各出力を入力して、その各出力のうち、２つ以上が同一の論理値である１ビットデータを出力する多数決回路と、
前記各論理ゲートから夫々出力される１ビットデータを入力して、前記第２の論理値であるものが偶数個であるか奇数個であるかを示す１ビットデータを出力するパリティデータ出力回路と、
該パリティデータ出力回路の出力と前記多数決回路の出力とを入力して、その両出力の論理値が互いに異なる場合に、前記各切替回路へ前記誤り訂正信号を出力する誤書込エラー検出回路と、
を備えていることを特徴とする誤り訂正機能付きＥＰＲＯＭ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤り訂正機能を有したＥＰＲＯＭに関する。
【０００２】
【従来の技術】
一般に、ＥＰＲＯＭにおいては、各メモリセル（ＥＰＲＯＭセル）のデータ保持時間のばらつきやノイズの影響等により、使用中において、ビットデータが、データの書き込み状態を示す論理値からデータの非書き込み状態を示す論理値に変化してしまう消去エラー（ビット抜けや電荷抜けと呼ばれる現象）が発生する可能性がある。また、消去エラーに比べると発生の可能性は非常に低いものの、ビットデータが、データの非書き込み状態を示す論理値からデータの書き込み状態を示す論理値に変化してしまう誤書き込みエラーが発生する可能性もある。
【０００３】
このため、従来より、図２に示すような３ビット多数決方式の誤り訂正機能付きＥＰＲＯＭが提案されている（例えば特開昭５７−１４３６５６号公報）。
即ち、図２に示すように、３ビット多数決方式の誤り訂正機能付きＥＰＲＯＭでは、データバスへ１ビットデータを夫々出力する各データ出力ラインＬ１〜Ｌｎ毎に、互いに同じ論理値の１ビットデータが書き込まれる３個のＥＰＲＯＭセルＭＡ，ＭＢ，ＭＣと、その３個１組のＥＰＲＯＭセルＭＡ，ＭＢ，ＭＣの各出力ｂＡ，ｂＢ，ｂＣを入力して、その各出力ｂＡ，ｂＢ，ｂＣのうち、２つ以上が同一の論理値である１ビットデータを、データ出力ラインＬ１〜Ｌｎへ出力ビットＯＵＴとして出力する多数決回路Ｔとが、夫々設けられている。
【０００４】
尚、この例の場合、多数決回路Ｔは、３つの２入力ノアゲート１〜３と、１つの３入力ノアゲート４とから構成されており、３入力ノアゲート４の出力端子が、該当するデータ出力ラインＬ１〜Ｌｎに接続されている。また、図２において（）内に記した番号（１〜ｎ）は、それがデータ出力ラインＬ１〜Ｌｎの何れに対応するものであるかを示している。
【０００５】
そして、このような３ビット多数決方式の誤り訂正機能付きＥＰＲＯＭによれば、３個のＥＰＲＯＭセルＭＡ，ＭＢ，ＭＣのうち、２個が正常であれば、データ出力ラインＬ１〜Ｌｎへ正しい１ビットデータを出力することができる。
例えば、３個のＥＰＲＯＭセルＭＡ，ＭＢ，ＭＣに夫々保持された１ビットデータの論理値が、正常な「１，１，１」から、消去エラーによって「０，１，１」，「１，０，１」，「１，１，０」の何れかになったとしても、２入力ノアゲート１〜３のうちで、２つの入力が両方共に“０”となるものは無いため、３入力ノアゲート４の入力は全て“０”のままとなり、その３入力ノアゲート４からデータ出力ラインへは、出力ビットＯＵＴとして、正常な“１”が出力される。
【０００６】
また逆に、３個のＥＰＲＯＭセルＭＡ，ＭＢ，ＭＣに夫々保持された１ビットデータの論理値が、正常な「０，０，０」から、誤書き込みエラーによって「１，０，０」，「０，１，０」，「０，０，１」の何れかになったとしても、２入力ノアゲート１〜３のうちで、２つの入力が両方共に“０”となるものが依然としてあり、その２入力ノアゲートから３入力ノアゲート４へ“１”が出力されるため、３入力ノアゲート４からデータ出力ラインへは、出力ビットＯＵＴとして、正常な“０”が出力される。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記３ビット多数決方式の誤り訂正機能付きＥＰＲＯＭでは、必要とするデータビット数（即ち、データ出力ラインの数）の３倍のＥＰＲＯＭセルが必要となり、回路規模（回路面積）が非常に大きくなってしまうという問題がある。
【０００８】
そこで、本発明は、小さな回路規模で十分な誤り訂正機能を有するＥＰＲＯＭを提供することを目的としている。
【００１４】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項１に記載の誤り訂正機能付きＥＰＲＯＭでは、複数の各データ出力ライン毎に、互いに同じ論理値の１ビットデータが書き込まれる２個１組のＥＰＲＯＭセルと、該２個のＥＰＲＯＭセルの各出力を入力して、その各出力が両方共にデータの非書き込み状態を示す第１の論理値である場合に、該第１の論理値の１ビットデータを出力し、前記各出力のうちの少なくとも一方がデータの書き込み状態を示す第２の論理値である場合に、該第２の論理値の１ビットデータを出力する論理ゲートと、該論理ゲートの出力を入力して、その出力の論理値を反転させた１ビットデータを出力するインバータと、前記２個のＥＰＲＯＭセルの各出力を入力して、その両出力の論理値が互いに異なる場合に、不一致信号を出力する不一致検出回路と、該不一致検出回路から前記不一致信号が出力され、且つ、誤り訂正信号が入力された場合に、前記インバータの出力を前記データ出力ラインへ出力させ、そうでない場合には、前記論理ゲートの出力を前記データ出力ラインへ出力させる切替回路とが、夫々設けられている。
【００１５】
尚、論理ゲートは、２つの入力のうち、データの書き込み状態を示す第２の論理値の方を優先して出力するものであり、この論理ゲートとしては、第１の論理値が“０”であり第２の論理値が“１”であるならば、オアゲートを用いることができ、逆に、第１の論理値が“１”であり第２の論理値が“０”であるならば、アンドゲートを用いることができる。
【００１６】
そして更に、請求項１に記載の誤り訂正機能付きＥＰＲＯＭは、前記各組のＥＰＲＯＭセルに夫々書き込まれるデータのうちで前記第２の論理値であるものが、偶数個であるか奇数個であるかを示す１ビットデータが夫々書き込まれる３個１組のＥＰＲＯＭセルと、該３個のＥＰＲＯＭセルの各出力を入力して、その各出力のうち、２つ以上が同一の論理値である１ビットデータを出力する多数決回路と、前記各論理ゲートから夫々出力される１ビットデータを入力して、前記第２の論理値であるものが偶数個であるか奇数個であるかを示す１ビットデータを出力するパリティデータ出力回路と、該パリティデータ出力回路の出力と前記多数決回路の出力とを入力して、その両出力の論理値が互いに異なる場合に、前記各切替回路へ前記誤り訂正信号を出力する誤書込エラー検出回路とを備えている。
【００１７】
このような請求項１の誤り訂正機能付きＥＰＲＯＭでは、各データ出力ライン毎に設けられた各組の（一対の）ＥＰＲＯＭセルに、所望の論理値の１ビットデータを夫々書き込むこととなるが、その際において、上記３個１組のＥＰＲＯＭセルには、各データ出力ライン毎の各組のＥＰＲＯＭセルに夫々書き込んだデータのうちで第２の論理値であるものが、偶数個であるか奇数個であるかを示す１ビットデータ（以下、パリティビットという）を書き込んでおく。すると、多数決回路からは、上記３個１組の各ＥＰＲＯＭセルのうちの１個に消去エラーや誤書き込みエラーが生じても、上記書き込んだ正常なパリティビットが出力されることとなる。
【００１８】
そして、この請求項１の誤り訂正機能付きＥＰＲＯＭによれば、複数のデータ出力ライン中の何れかのデータ出力ライン（以下、ｍ番目のデータ出力ラインとする）に対応して設けられた２個１組のＥＰＲＯＭセルのうちの一方に、消去エラーが発生して、そのＥＰＲＯＭセルの出力が第２の論理値から第１の論理値に変化しても、そのｍ番目のデータ出力ラインへは、正常な第２の論理値の１ビットデータが出力されることとなり、消去エラーに対する誤り訂正を行うことができる。
【００１９】
つまり、まず、この場合、ｍ番目のデータ出力ラインに対応して設けられた論理ゲートからは、正常な第２の論理値の１ビットデータが出力される。
そして、この場合、各データ出力ラインに夫々対応して設けられた各論理ゲートから出力される１ビットデータのうちで第２の論理値であるものの数は、各データ出力ライン毎の各組のＥＰＲＯＭセルに夫々書き込まれた当初の１ビットデータのうちで第２の論理値であるものの数と同じである。換言すれば、各論理ゲートから出力される１ビットデータのうちで第１の論理値であるものの数は、各データ出力ライン毎の各組のＥＰＲＯＭセルに夫々書き込まれた当初の１ビットデータのうちで第１の論理値であるものの数と同じである。
【００２０】
よって、パリティデータ出力回路から出力される１ビットデータの論理値と、多数決回路から出力される上記パリティビットの論理値とは一致し、誤書込エラー検出回路から誤り訂正信号が出力されないため、上記ｍ番目のデータ出力ラインに対応して設けられた切替回路が、インバータの出力ではなく、論理ゲートの出力（即ち、正常な第２の論理値の１ビットデータ）を、そのｍ番目のデータ出力ラインへ出力させ、この結果、消去エラーに対する誤り訂正が行われるのである。
【００２１】
一方また、請求項１の誤り訂正機能付きＥＰＲＯＭによれば、複数のデータ出力ライン中の何れかのデータ出力ライン（以下、ｍ番目のデータ出力ラインとする）に対応して設けられた２個１組のＥＰＲＯＭセルのうちの一方に、誤書き込みエラーが発生して、そのＥＰＲＯＭセルの出力が第１の論理値から第２の論理値に変化しても、そのｍ番目のデータ出力ラインへは、正常な第１の論理値の１ビットデータが出力されることとなり、誤書き込みエラーに対しても誤り訂正を行うことができる。
【００２２】
つまり、まず、この場合、ｍ番目のデータ出力ラインに対応して設けられた論理ゲートからは、正常値でない第２の論理値の１ビットデータが出力されることとなるが、そのｍ番目のデータ出力ラインに対応して設けられたインバータからは、正常な第１の論理値の１ビットデータが出力されることとなる。また、そのｍ番目のデータ出力ラインに対応して設けられた不一致検出回路からは、不一致信号が出力されることとなる。
【００２３】
そして、この場合、各データ出力ラインに夫々対応して設けられた各論理ゲートから出力される１ビットデータのうちで第２の論理値であるものの数は、各データ出力ライン毎の各組のＥＰＲＯＭセルに夫々書き込まれた当初の１ビットデータのうちで第２の論理値であるものの数より１つ多くなる。換言すれば、各論理ゲートから出力される１ビットデータのうちで第１の論理値であるものの数は、各データ出力ライン毎の各組のＥＰＲＯＭセルに夫々書き込まれた当初の１ビットデータのうちで第１の論理値であるものの数より１つ少なくなる。
【００２４】
よって、パリティデータ出力回路から出力される１ビットデータの論理値と、多数決回路から出力される上記パリティビットの論理値とが一致せず、誤書込エラー検出回路から誤り訂正信号が出力される。そして、ｍ番目のデータ出力ラインに対応して設けられた不一致検出回路からは、不一致信号が出力されるため、そのｍ番目のデータ出力ラインに対応して設けられた切替回路は、論理ゲートの出力ではなく、インバータの出力（即ち、正常な第１の論理値の１ビットデータ）を、そのｍ番目のデータ出力ラインへ出力させ、この結果、誤書き込みエラーに対する誤り訂正が行われるのである。
【００２５】
以上のように、請求項１に記載の誤り訂正機能付きＥＰＲＯＭによれば、前述した３ビット多数決方式のように各データ出力ライン毎に３個のＥＰＲＯＭセルを設けることなく、非常に小さい回路規模で、消去エラーと誤書き込みエラーとの両方に対して誤り訂正を行うことができる。
【００２６】
尚、この請求項１の誤り訂正機能付きＥＰＲＯＭにおいて、上記パリティビットを３個のＥＰＲＯＭセルに書き込んでおくと共に、その３個のＥＰＲＯＭセルの各出力を多数決回路に入力して、その多数決回路の出力を誤書込エラー検出回路に入力するようにしているのは、誤書込エラー検出回路に入力されるパリティビットが変わってしまうと、誤り訂正を行うことができないからであるが、３個のＥＰＲＯＭセルを設ける必要があるのは、このパリティビットについてのみであり、各データ出力ライン毎に夫々設けるＥＰＲＯＭセルの数は２個で良いため、回路規模を格段に小さくすることができる。
【００２７】
【発明の実施の形態】
以下、本発明が適用された実施形態の誤り訂正機能付きＥＰＲＯＭについて、図１を用いて説明する。尚、本実施形態において、各ＥＰＲＯＭセル（メモリセル）に保持される１ビットデータの論理値としては、データの非書き込み状態を示す第１の論理値が“０”であり、データの書き込み状態を示す第２の論理値が“１”である。
【００２８】
図１に示すように、本実施形態の誤り訂正機能付きＥＰＲＯＭでは、データバス（図示省略）へ１ビットデータを夫々出力するための複数（ｎ個）の各データ出力ラインＬ１〜Ｌｎ毎に、互いに同じ論理値の１ビットデータが書き込まれる２個１組のＥＰＲＯＭセルＭＡ，ＭＢと、その２個のＥＰＲＯＭセルＭＡ，ＭＢの各出力ｂＡ，ｂＢを入力とした論理ゲートとしてのオアゲート１０と、オアゲート１０の出力ＤＡＴＡを入力としたインバータ１２と、上記２個のＥＰＲＯＭセルＭＡ，ＭＢの各出力ｂＡ，ｂＢを入力とした不一致検出回路としてのイクスクルーシブオアゲート（排他的論理和ゲート）１４と、このイクスクルーシブオアゲート１４の出力ＥＸＯＲ及び後述するイクスクルーシブオアゲート２０の出力ＣＯＲＲＥＣＴに応じて、オアゲート１０の出力ＤＡＴＡとインバータ１２の出力ＤＡＴＡＢとの何れか一方を、該当するデータ出力ラインへ出力させる切替回路１６とが、夫々設けられている。
【００２９】
尚、図１において（）内に記した番号（１〜ｎ）は、それがデータ出力ラインＬ１〜Ｌｎの何れに対応するものであるかを示している。
そして更に、本実施形態の誤り訂正機能付きＥＰＲＯＭは、上記各組のＥＰＲＯＭセルＭＡ，ＭＢに書き込まれるｎビットのデータについてのパリティビットが書き込まれる３個１組のＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐ，Ｍ３ｐと、この３個のＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐ，Ｍ３ｐの各出力ｂ１ｐ，ｂ２ｐ，ｂ３ｐを入力して、その各出力ｂ１ｐ，ｂ２ｐ，ｂ３ｐのうち、２つ以上が同一の論理値である１ビットデータを、真のパリティビットとして出力する多数決回路Ｔと、上記ｎ個の各オアゲート１０の出力ＤＡＴＡを入力し、そのｎ個の出力ＤＡＴＡに対して桁上がりを無視した１ビットの加算演算を行うパリティデータ出力回路としての加算回路１８と、この加算回路１８の出力ＡＤＤと多数決回路Ｔの出力ＰＡＲＩＴＹとを入力とした誤書込エラー検出回路としてのイクスクルーシブオアゲート２０とを備えている。
【００３０】
ここで、本実施形態において、上記３個１組のＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐ，Ｍ３ｐに書き込まれるパリティビットの規則は、以下の通りである。
即ち、上記各組のＥＰＲＯＭセルＭＡ，ＭＢに夫々書き込まれるデータのうちで、論理値が“１”であるものが偶数個の場合に、パリティビットとして“０”が書き込まれ、また、論理値が“１”であるものが奇数個の場合に、パリティビットとして“１”が書き込まれる。
【００３１】
また、多数決回路Ｔは、前述の図２に示したものと同様に、３つの２入力ノアゲート１〜３と、１つの３入力ノアゲート４とから構成されており、２入力ノアゲート１に、ＥＰＲＯＭセルＭ１ｐ，Ｍ３ｐの各出力ｂ１ｐ，ｂ３ｐが入力され、２入力ノアゲート２に、ＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐの各出力ｂ１ｐ，ｂ２ｐが入力され、２入力ノアゲート３に、ＥＰＲＯＭセルＭ２ｐ，Ｍ３ｐの各出力ｂ２ｐ，ｂ３ｐが入力されている。そして、それら３つの２入力ノアゲート１〜３の出力が、３入力ノアゲート４に入力されており、その３入力ノアゲート４の出力が、当該多数決回路Ｔの出力ＰＡＲＩＴＹとなっている。
【００３２】
このため、多数決回路Ｔからは、上記３個１組のＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐ，Ｍ３ｐのうちの１個に消去エラーや誤書き込みエラーが生じても、上記の規則に従って書き込まれた正常なパリティビットが出力されることとなる。
一方、各データ出力ラインＬ１〜Ｌｎ毎に夫々設けられた切替回路１６は、同じデータ出力ラインについて設けられたイクスクルーシブオアゲート１４の出力ＥＸＯＲと上記イクスクルーシブオアゲート２０の出力ＣＯＲＲＥＣＴとを入力としたナンドゲート２２と、このナンドゲート２２の出力を入力としたインバータ２４と、同じデータ出力ラインについて設けられたオアゲート１０の出力ＤＡＴＡと上記ナンドゲート２２の出力とを入力としたアンドゲート２６と、同じデータ出力ラインについて設けられたインバータ１２の出力ＤＡＴＡＢと上記インバータ２４の出力とを入力としたアンドゲート２８と、上記両アンドゲート２６，２８の各出力を入力としたオアゲート３０とから構成されており、そのオアゲート３０からデータ出力ラインへ、出力ビットＯＵＴとしての１ビットデータが出力される。
【００３３】
以上のように構成された本実施形態の誤り訂正機能付きＥＰＲＯＭでは、各データ出力ラインＬ１〜Ｌｎ毎に設けられた各組の（一対の）ＥＰＲＯＭセルＭＡ，ＭＢに、所望の論理値の１ビットデータを夫々書き込むこととなるが、その際において、上記３個１組のＥＰＲＯＭセルＭ１ｐ，Ｍ２ｐ，Ｍ３ｐには、上記各組のＥＰＲＯＭセルＭＡ，ＭＢに書き込むｎビットのデータについてのパリティビットを、前述した規則に従い書き込んでおく。
【００３４】
ここで、本実施形態の誤り訂正機能付きＥＰＲＯＭにおいて、各データ出力ラインＬ１〜Ｌｎに夫々対応して設けられたオアゲート１０からは、同じデータ出力ラインに対応して設けられた２個のＥＰＲＯＭセルＭＡ，ＭＢの各出力ｂＡ，ｂＢが両方共にデータの非書き込み状態を示す“０”である場合に、“０”の１ビットデータが出力され、また、上記各出力ｂＡ，ｂＢのうちの少なくとも一方がデータの書き込み状態を示す“１”である場合に、“１”の１ビットデータが出力される。
【００３５】
そして、各データ出力ラインＬ１〜Ｌｎに夫々対応して設けられたインバータ１２からは、同じデータ出力ラインに対応して設けられたオアゲート１０の出力ＤＡＴＡを論理値反転させた１ビットデータが出力される。
また、各データ出力ラインＬ１〜Ｌｎに夫々対応して設けられたイクスクルーシブオアゲート１４からは、同じデータ出力ラインに対応して設けられた２個のＥＰＲＯＭセルＭＡ，ＭＢの両出力ｂＡ，ｂＢの論理値が一致している場合に、“０”が出力され、上記両出力ｂＡ，ｂＢの論理値が一致していない場合（即ち、２個のＥＰＲＯＭセルＭＡ，ＭＢの何れか一方に消去エラーか誤書き込みエラーが発生した場合）に、不一致信号としての“１”が出力される。
【００３６】
そして、各データ出力ラインＬ１〜Ｌｎに夫々対応して設けられた切替回路１６は、同じデータ出力ラインに対応して設けられたイクスクルーシブオアゲート１４から不一致信号としての“１”が出力され、且つ、イクスクルーシブオアゲート２０から“１”が出力された場合に、インバータ１２の出力をデータ出力ラインへ出力させ、そうでない場合には、オアゲート１０の出力をデータ出力ラインへ出力させる。
【００３７】
一方、ｎ個のデータ出力ラインＬ１〜Ｌｎについて共通に設けられた加算回路１８からは、上記各オアゲート１０の出力ＤＡＴＡのうちで、論理値が“１”であるものが偶数個の場合に、“０”が出力され、また、論理値が“１”であるものが奇数個の場合に、“１”が出力される。
【００３８】
よって、ｎ個のデータ出力ラインＬ１〜Ｌｎ中の何れかのデータ出力ラインに対応して設けられた２個のＥＰＲＯＭセルＭＡ，ＭＢのうちの一方に、誤書き込みエラーが発生して、そのＥＰＲＯＭセルの出力が“０”から“１”に変化すると、イクスクルーシブオアゲート２０の出力ＣＯＲＲＥＣＴが、“０”から誤り訂正信号としての“１”に変化することとなる。
【００３９】
このような本実施形態の誤り訂正機能付きＥＰＲＯＭによれば、ｎ個のデータ出力ラインＬ１〜Ｌｎ中の何れかのデータ出力ライン（以下、ｍ番目のデータ出力ラインとする）に対応して設けられた２個１組のＥＰＲＯＭセルＭＡ，ＭＢのうちの一方に、消去エラーが発生して、そのＥＰＲＯＭセルの出力が“１”から“０”に変化しても、そのｍ番目のデータ出力ラインへは、正常な“１”の１ビットデータが出力されることとなり、消去エラーに対する誤り訂正を行うことができる。
【００４０】
つまり、まず、この場合、ｍ番目のデータ出力ラインに対応して設けられたオアゲート１０からは、正常な“１”の１ビットデータが出力される。
そして、この場合、各データ出力ラインに夫々対応して設けられた各オアゲート１０から出力される１ビットデータのうちで“１”であるものの数は、各データ出力ラインＬ１〜Ｌｎ毎の各組のＥＰＲＯＭセルＭＡ，ＭＢに夫々書き込まれた当初の１ビットデータのうちで“１”であるものの数と同じである。
【００４１】
よって、加算回路１８から出力される１ビットデータの論理値と、多数決回路Ｔから出力されるパリティビットの論理値とは一致し、イクスクルーシブオアゲート２０から誤り訂正信号としての“１”が出力されないため、ｍ番目のデータ出力ラインに対応して設けられた切替回路１６が、インバータ１２の出力ではなく、オアゲート１０の出力（即ち、正常な“１”の１ビットデータ）を、そのｍ番目のデータ出力ラインへ出力させ、この結果、消去エラーに対する誤り訂正が行われるのである。
【００４２】
一方また、本実施形態の誤り訂正機能付きＥＰＲＯＭによれば、ｎ個のデータ出力ラインＬ１〜Ｌｎ中の何れかのデータ出力ライン（以下、ｍ番目のデータ出力ラインとする）に対応して設けられた２個１組のＥＰＲＯＭセルＭＡ，ＭＢのうちの一方に、誤書き込みエラーが発生して、そのＥＰＲＯＭセルの出力が“０”から“１”に変化しても、そのｍ番目のデータ出力ラインへは、正常な“０”の１ビットデータが出力されることとなり、誤書き込みエラーに対しても誤り訂正を行うことができる。
【００４３】
つまり、まず、この場合、ｍ番目のデータ出力ラインに対応して設けられたオアゲート１０からは、正常値でない“１”の１ビットデータが出力されることとなるが、そのｍ番目のデータ出力ラインに対応して設けられたインバータ１２からは、正常な“０”の１ビットデータが出力されることとなる。また、そのｍ番目のデータ出力ラインに対応して設けられたイクスクルーシブオアゲート１４からは、不一致信号としての“１”が出力されることとなる。
【００４４】
そして、この場合、各データ出力ラインに夫々対応して設けられた各オアゲート１０から出力される１ビットデータのうちで“１”であるものの数は、各データ出力ラインＬ１〜Ｌｎ毎の各組のＥＰＲＯＭセルＭＡ，ＭＢに夫々書き込まれた当初の１ビットデータのうちで“１”であるものの数より１つ多くなる。
【００４５】
よって、加算回路１８から出力される１ビットデータの論理値と、多数決回路Ｔから出力されるパリティビットの論理値とが一致せず、イクスクルーシブオアゲート２０から誤り訂正信号としての“１”が出力される。そして、ｍ番目のデータ出力ラインに対応して設けられたイクスクルーシブオアゲート１４からは、“１”が出力されるため、そのｍ番目のデータ出力ラインに対応して設けられた切替回路１６は、オアゲート１０の出力ではなく、インバータ１２の出力（即ち、正常な“０”の１ビットデータ）を、そのｍ番目のデータ出力ラインへ出力させ、この結果、誤書き込みエラーに対する誤り訂正が行われるのである。
【００４６】
尚、２個のＥＰＲＯＭセルＭＡ，ＭＢに消去エラーも誤書き込みエラーも発生していない場合には、その２個のＥＰＲＯＭセルＭＡ，ＭＢに書き込まれた当初の１ビットデータが、オアゲート１０から出力される。そして、この場合には、イクスクルーシブオアゲート１４の出力ＥＸＯＲが“０”になるため、切替回路１６は、オアゲート１０の出力をデータ出力ラインへ出力させることとなり、結局、データ出力ラインへは、２個のＥＰＲＯＭセルＭＡ，ＭＢに書き込まれた当初の１ビットデータが出力されることとなる。
【００４７】
以上のように、本実施形態の誤り訂正機能付きＥＰＲＯＭによれば、前述した３ビット多数決方式のように各データ出力ラインＬ１〜Ｌｎ毎に３個のＥＰＲＯＭセルを設けることなく、各データ出力ラインＬ１〜Ｌｎ毎に２個のＥＰＲＯＭセルＭＡ，ＭＢを設けるだけで、消去エラーと誤書き込みエラーとの両方に対して誤り訂正を行うことができる。よって、回路規模を格段に小さくすることができる。
【００５１】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、図１の誤り訂正機能付きＥＰＲＯＭにおいて、データの非書き込み状態を示す第１の論理値が“１”であり、データの書き込み状態を示す第２の論理値が“０”であるならば、オアゲート１０をアンドゲートに置き換えれば良い。
【図面の簡単な説明】
【図１】実施形態の誤り訂正機能付きＥＰＲＯＭの構成を表す回路図である。
【図２】従来の誤り訂正機能付きＥＰＲＯＭの構成を表す回路図である。
【符号の説明】
Ｌ１〜Ｌｎ…データ出力ライン
ＭＡ，ＭＢ，Ｍ１ｐ，Ｍ２ｐ，Ｍ３ｐ…ＥＰＲＯＭセル
１〜３…２入力ノアゲート    ４…３入力ノアゲート    Ｔ…多数決回路
１０，３０…オアゲート    １２，２４…インバータ
１４，２０…イクスクルーシブオアゲート    １６…切替回路
１８…加算回路    ２２…ナンドゲート    ２６，２８…アンドゲート
【図１】
0003598885.tif 000002
【図２】
0003598885.tif 000003