(57)【特許請求の範囲】
【請求項１】
冗長化された奇数個の二値情報を電流値で入力する入力手段と、
前記入力手段から入力する前記奇数個の電流値の和を電圧に変換する変換手段と、
前記変換手段が出力する前記電圧が予め設定された第１閾値以上であるか否かに応じて二値情報を出力する第１判定手段と、
前記変換手段が出力する前記電圧が予め設定された第２閾値と第３閾値との間にある場合に前記入力手段から入力する奇数個の二値情報のいずれかがソフトエラーであることを検出する第２判定手段と
を有することを特徴とする誤り訂正回路。
【請求項２】
請求項１に記載の誤り訂正回路において、
前記変換手段は、前記入力手段に電源から電流を供給する抵抗で構成されることを特徴とする誤り訂正回路。
【請求項３】
請求項１または２に記載の誤り訂正回路において、
前記第１判定手段は、前記変換手段が出力する前記電圧と、前記第１閾値に対応する第１基準電圧とを比較する第１コンパレータで構成されることを特徴とする誤り訂正回路。
【請求項４】
請求項３に記載の誤り訂正回路において、
前記第１基準電圧は、前記変換手段が出力する最大電圧の１／２に設定する
ことを特徴とする誤り訂正回路。
【請求項５】
請求項１から４のいずれか一項に記載の誤り訂正回路において、
前記第２判定手段は、
前記変換手段が出力する前記電圧と、前記第２閾値に対応する第２基準電圧とを比較して二値情報に変換する第２コンパレータと、
前記変換手段が出力する前記電圧と、前記第３閾値に対応する第３基準電圧とを比較して二値情報に変換する第３コンパレータと、
前記第２コンパレータが出力する二値情報の論理と、前記第３コンパレータが出力する二値情報の論理とが異なる場合に前記入力手段から入力する奇数個の二値情報のいずれかがソフトエラーであることを示す二値情報を出力する論理回路と
で構成されることを特徴とする誤り訂正回路。
【請求項６】
請求項５に記載の誤り訂正回路において、
前記変換手段が出力する最大電圧をＶｍ、前記入力手段の個数をｎ（ｎは３以上の奇数値）とした場合、
前記第２基準電圧は、
Ｖａ１＝Ｖｍ  ×（ｎ−１）／ｎ
の式で求められる電圧Ｖａ１と最小電圧０Ｖとの間の電圧に設定され、
前記第３基準電圧は、
Ｖｂ１＝Ｖｍ  ×  １／ｎ
の式で求められる電圧Ｖｂ１と最大電圧Ｖｍとの間の電圧に設定される
ことを特徴とする誤り訂正回路。
【請求項７】
請求項１から６のいずれか一項に記載の誤り訂正回路において、
前記入力手段から入力される奇数個の二値情報は３個の二値情報であることを特徴とする誤り訂正回路。
【請求項８】
請求項１から７のいずれか一項に記載の誤り訂正回路において、
前記入力手段から入力される奇数個の二値情報は、奇数個の半導体メモリから出力される二値情報であることを特徴とする誤り訂正回路。
【請求項９】
請求項１から８のいずれか一項に記載の誤り訂正回路を搭載するメモリ装置。
【請求項１０】
奇数個の冗長化された二値情報を電流値で入力し、前記奇数個の電流値の和を電圧に変換して前記電圧が予め設定された第１閾値以上であるか否かに応じた二値情報を誤り訂正データとして出力すると共に、前記電圧が予め設定された第２閾値と第３閾値との間にある場合に、入力する奇数個の二値情報のいずれかがソフトエラーであることを検出することを特徴とする誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正技術に関する。
【背景技術】
【０００２】
近年、半導体プロセスの微細化やノイズ源の増加などにより、メモリなどの半導体デバイスにおけるソフトエラーの発生確率が高くなってきている。ソフトエラーは、メモリなどの半導体デバイスが何らかの原因で一時的に誤動作するもので、直ぐに致命的な故障にならない場合が多く、誤り訂正回路などの追加が求められる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−０３１１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、誤り訂正は信号やデータが流れる限られた時間内に高速に処理する必要がある。例えば一般に、メモリの信頼性を高めるために誤り訂正符号（ＥＣＣ：ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｃｏｄｅ）が使われるが、専用の誤り訂正回路やＩＣデバイスが必要となり、消費電力の増大や読み出し速度の低下などの問題がある。また、論理ゲートを用いて多数決方式による誤り訂正を行う回路も知られているが、データバス幅が大きくなると回路規模や消費電力が大幅に増大するという問題がある。
【０００５】
上記課題に鑑み、本発明の目的は、高速な誤り訂正を可能とし、誤り訂正回路の規模や消費電力の増大を抑えることができる誤り訂正回路およびメモリ装置、並びに誤り訂正方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る誤り訂正回路は、冗長化された奇数個の二値情報を電流値で入力する入力手段と、前記入力手段から入力する前記奇数個の電流値の和を電圧に変換する変換手段と、前記変換手段が出力する前記電圧が予め設定された第１閾値以上であるか否かに応じて二値情報を出力する第１判定手段と、前記変換手段が出力する前記電圧が予め設定された第２閾値と第３閾値との間にある場合に前記入力手段から入力する奇数個の二値情報のいずれかがソフトエラーであることを検出する第２判定手段とを有することを特徴とする。
【０００７】
特に、前記変換手段は、前記入力手段に電源から電流を供給する抵抗で構成されることを特徴とする。
【０００８】
また、前記第１判定手段は、前記変換手段が出力する前記電圧と、前記第１閾値に対応する第１基準電圧とを比較する第１コンパレータで構成されることを特徴とする。
【０００９】
特に、前記第１基準電圧は、前記変換手段が出力する最大電圧の１／２に設定することを特徴とする。
【００１１】
特に、前記第２判定手段は、前記変換手段が出力する前記電圧と、前記第２閾値に対応する第２基準電圧とを比較して二値情報に変換する第２コンパレータと、前記変換手段が出力する前記電圧と、前記第３閾値に対応する第３基準電圧とを比較して二値情報に変換する第３コンパレータと、前記第２コンパレータが出力する二値情報の論理と、前記第３コンパレータが出力する二値情報の論理とが異なる場合に前記入力手段から入力する奇数個の二値情報のいずれかがソフトエラーであることを示す二値情報を出力する論理回路とで構成されることを特徴とする。
【００１２】
また、前記変換手段が出力する最大電圧をＶｍ、前記入力手段の個数をｎ（ｎは３以上の奇数値）とした場合、前記第２基準電圧は、Ｖａ１＝Ｖｍ  ×（ｎ−１）／ｎの式で求められる電圧Ｖａ１と最小電圧０Ｖとの間の電圧に設定され、前記第３基準電圧は、Ｖｂ１＝Ｖｍ  ×  １／ｎの式で求められる電圧Ｖｂ１と最大電圧Ｖｍとの間の電圧に設定されることを特徴とする。
【００１３】
特に、前記入力手段から入力される奇数個の二値情報は３個の二値情報であることを特徴とする。
【００１４】
また、前記入力手段から入力される奇数個の二値情報は、奇数個の半導体メモリから出力される二値情報であることを特徴とする。
【００１５】
本発明に係るメモリ装置は、前記誤り訂正回路を搭載することを特徴とする。
【００１６】
本発明に係るエラー訂正方法は、奇数個の冗長化された二値情報を電流値で入力し、前記奇数個の電流値の和を電圧に変換して前記電圧が予め設定された第１閾値以上であるか否かに応じた二値情報を誤り訂正データとして出力すると共に、前記電圧が予め設定された第２閾値と第３閾値との間にある場合に、入力する奇数個の二値情報のいずれかがソフトエラーであることを検出することを特徴とする。
【発明の効果】
【００１８】
本発明に係る誤り訂正回路およびメモリ装置、並びに誤り訂正方法は、高速な誤り訂正を可能とし、誤り訂正回路の規模や消費電力の増大を抑えることができる。
【図面の簡単な説明】
【００１９】
【図１】誤り訂正回路１０２の回路例を示す図である。
【図２】メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力回路例を示す図である。
【図３】１つのメモリ１０１ａの場合の出力電流と電圧変換の例を示すフローチャートである。
【図４】２つのメモリ１０１ａ、メモリ１０１ｂの場合の出力電流と電圧変換の例を示すフローチャートである。
【図５】３つのメモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの場合の出力電流と電圧変換の例を示すフローチャートである。
【図６】誤り訂正回路１０２の閾値を示す図である。
【図７】メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力論理と、誤り訂正出力およびソフトエラー検出出力の関係を示す図である。
【図８】メモリ装置１００ａの回路例を示す図である。
【図９】ソフトエラー検出回路１０３の閾値を示す図である。
【図１０】メモリ装置１００ｂの回路例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る誤り訂正回路およびメモリ装置、並びに誤り訂正方法の実施形態について図面を用いて詳しく説明する。尚、本実施形態では、本発明に係る誤り訂正回路および誤り訂正方法をメモリ装置に適用する場合について説明するが、冗長化された複数の情報を伝送する伝送装置の誤り訂正回路に適用してもよい。或いは、冗長化された複数の情報を処理する情報処理装置の誤り訂正回路に適用してもよい。
【００２１】
［メモリ装置１００の構成例］
図１は、メモリ装置１００の構成例を示す図である。図１において、メモリ装置１００は、メモリ１０１ａと、メモリ１０１ｂと、メモリ１０１ｃと、誤り訂正回路１０２とで構成される。また、誤り訂正回路１０２は、抵抗１５１（Ｒ１５１）と、コンパレータ１５２と、奇数個のデータ（二値情報）を入力する入力部１５３とで構成される。ここで、入力部１５３は入力手段に相当し、図１では、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃから３つの二値情報を入力する。
【００２２】
ここで、本実施形態に係るメモリ装置１００は、冗長性を持たせて信頼性を向上するために、３つのメモリ（メモリ１０１ａ、メモリ１０１ｂ、メモリ１０１ｃ）に同一の情報が記憶されている。尚、本実施形態に係るメモリ装置１００では、３つのメモリに記憶された情報を読み出す時の誤り訂正方法に特徴がある。また、図１では、３つのメモリを用いる例を示してあるが、５つのメモリや７つのメモリなど、奇数個のメモリを用いるメモリ装置であれば同様に適用可能である。
【００２３】
図１において、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力は、コンパレータ１５２の正入力端子と、抵抗１５１とに接続され、抵抗１５１を介して＋３Ｖの電源に接続されている。また、コンパレータ１５２の負入力端子には＋１．５Ｖの定電圧が与えられている。ここで、コンパレータ１５２には、０ＶをＧＮＤ（接地）として＋３Ｖの電源電圧が与えられ、０Ｖ（論理”０”）と＋３Ｖ（論理”１”）の二値情報を出力する。尚、半導体回路上の電圧降下については、ここでは考えないものとして説明する。また、メモリ装置１００の外部に設けられた読み出し制御部１７１によって３つのメモリ１０９から同時に同じ情報が読み出される。この場合、点１５４の電圧が＋１．５Ｖより大きければコンパレータ１５２の出力電圧は＋３Ｖ、点１５４の電圧が＋１．５Ｖより小さければコンパレータ１５２の出力は０Ｖとなる。尚、コンパレータ１５２の出力信号は、０Ｖから＋３Ｖまで振れるものとする。また、コンパレータ１５２は第１判定手段に相当する。
【００２４】
ここで、抵抗１５１は、抵抗１５１に流れる電流を点１５４の電圧に変更するために用いられるので、電流を電圧に変換する抵抗１５１以外の回路やデバイスを用いても構わない。尚、抵抗１５１は変換手段に相当する。
【００２５】
また、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力回路は、図２（ａ）に示すように、ワイヤードＯＲ（論理和）が可能な例えばオープンコレクタ型のトランジスタ２０１が用いられている。尚、上記のメモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力回路は一例であり、電流加算が可能な出力回路であれば他の回路でも同様に適用可能である。
【００２６】
或いは、図２（ｂ）に示すように、ワイヤードＯＲ接続ができないメモリである場合は、各メモリの出力と抵抗１５１との間にオープンコレクタ型のトランジスタ２０１ａを設けてもよい。この場合、メモリの出力論理が反転するので、前段にインバータ２０２を配置する。尚、トランジスタ２０１ａおよびインバータ２０２の回路を図１に示した入力部１５３内に設けることにより、ワイヤードＯＲ接続ができないメモリや冗長化された装置のデータ出力の誤り訂正回路として用いることができる。
【００２７】
次に、抵抗１５１に流れる電流について説明する。図３（ａ）は、メモリ１０１ａの出力論理と抵抗１５１に流れる電流の様子を示した図である。図３（ａ）において、メモリ１０１ａの出力が”１”の場合は、トランジスタ２０１がオフするので抵抗１５１には電流が流れない（０ｍＡ）。逆に、メモリ１０１ａの出力が”０”の場合は、トランジスタ２０１がオンするので抵抗１５１には電流が流れる（１ｍＡ）。尚、各メモリが吸い込む電流は、定電流回路などにより一定になるものとし、ここでは１ｍＡとする。
【００２８】
図３（ａ）において、１ｍＡの電流が抵抗１５１に流れると、抵抗１５１による電圧降下は１Ｖとなるので、メモリ１０１ａの出力論理と出力電圧Ｖｏとの関係は、図３（ｂ）のようになり、メモリ１０１ａの出力論理が”１”の時、出力電圧Ｖｏは＋３Ｖ、メモリ１０１ａの出力論理が”０”の時、出力電圧Ｖｏは＋２Ｖとなる。
【００２９】
次に図４（ａ）は、メモリ１０１ａおよびメモリ１０１ｂの２つのメモリの出力論理と抵抗１５１に流れる電流の様子を示した図である。尚、メモリ１０１ａとメモリ１０１ｂには、同じ記憶領域に同じデータが記憶されている。従って、２つのメモリが正常である場合、メモリ１０１ａが論理”１”を出力している時はメモリ１０１ｂも論理”１”を、メモリ１０１ａが論理”０”を出力している時はメモリ１０１ｂも論理”０”をそれぞれ出力する。
【００３０】
メモリ１０１ａおよびメモリ１０１ｂは、同じ回路構成のメモリで、出力論理が”１”の時は吸い込み電流は０ｍＡ、出力論理が”０”の時は吸い込み電流は１ｍＡである。尚、各メモリが吸い込む電流は、定電流回路などにより一定になるものとし、ここでは１ｍＡとする。
【００３１】
図４（ａ）において、メモリ１０１ａおよびメモリ１０１ｂの出力論理が”１”の時、両方の抵抗による吸い込み電流は０ｍＡ、メモリ１０１ａおよびメモリ１０１ｂの出力論理が”０”の時、各メモリは１ｍＡの電流を吸い込むので、両方の抵抗による吸い込み電流の合計は２ｍＡとなる。そして、２ｍＡの電流が抵抗１５１に流れると、抵抗１５１による電圧降下は２Ｖとなるので、メモリ１０１ａの出力論理と出力電圧Ｖｏとの関係は、図４（ｂ）のようになる。ここで、両方のメモリの出力論理が”１”の時、抵抗１５１による電圧降下は無いので出力電圧Ｖｏは＋３Ｖ、両方のメモリの出力論理が”０”の時、抵抗１５１による電圧降下は２Ｖなので出力電圧Ｖｏは＋１Ｖとなる。
【００３２】
次に図５（ａ）は、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの出力論理と抵抗１５１に流れる電流の様子を示した図である。尚、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃには、同じ記憶領域に同じデータが記憶されている。従って、３つのメモリが正常である場合、メモリ１０１ａが論理”１”を出力している時はメモリ１０１ｂおよびメモリ１０１ｃも論理”１”を、メモリ１０１ａが論理”０”を出力している時はメモリ１０１ｂおよびメモリ１０１ｃも論理”０”をそれぞれ出力する。
【００３３】
メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃは、同じ回路構成のメモリで、出力論理が”１”の時は吸い込み電流は０ｍＡ、出力論理が”０”の時は吸い込み電流は１ｍＡである。尚、各メモリが吸い込む電流は、定電流回路などにより一定になるものとし、ここでは１ｍＡとする。
【００３４】
図５（ａ）において、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力論理が”１”の時、両方の抵抗による吸い込み電流は０ｍＡ、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの出力論理が”０”の時、各メモリは１ｍＡの電流を吸い込むので、３つの抵抗による吸い込み電流の合計は３ｍＡとなる。そして、３ｍＡの電流が抵抗１５１に流れると、抵抗１５１による電圧降下は３Ｖとなるので、メモリ１０１ａの出力論理と出力電圧Ｖｏとの関係は、図５（ｂ）のようになる。ここで、両方のメモリの出力論理が”１”の時、抵抗１５１による電圧降下は無いので出力電圧Ｖｏは＋３Ｖ、両方のメモリの出力論理が”０”の時、抵抗１５１による電圧降下は３Ｖなので出力電圧Ｖｏは０Ｖとなる。
【００３５】
本実施形態に係るメモリ装置１００では、図５（ａ）の回路に加えて、図１に示したように、出力電圧Ｖｏを識別するためのコンパレータ１５２を設け、多数決による誤り訂正回路１０２を構成する。そして、コンパレータ１５２の負入力端子に閾値として電圧＋１．５Ｖを与え、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの合成された出力電圧Ｖｏの誤り訂正を実現する。
【００３６】
図６は、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの出力論理の組み合わせパターンと、各パターン毎の誤り訂正回路１０２の訂正後出力（コンパレータ１５２の出力）との関係を示した論理表と、その論理表に対応させてコンパレータ１５２の正入力端子に入力されるメモリの出力電圧Ｖｏの変化を示すグラフとを描いてある。また、グラフには、コンパレータ１５２の負入力端子に与える閾値（電圧＋１．５Ｖ）を点線で示してある。コンパレータ１５２は、メモリの出力電圧Ｖｏが閾値電圧＋１．５Ｖより大きい場合、コンパレータ１５２の出力論理は”１”となり、メモリの出力電圧Ｖｏが閾値電圧＋１．５Ｖより小さい場合、コンパレータ１５２の出力論理は”０”となる。ここで、出力パターンは、３つのメモリ全ての論理出力が”１”の場合、３つのメモリ全ての論理出力が”０”の場合、３つのメモリの何れかにソフトエラーが生じた時の３つの場合、の５つの種類がある。
【００３７】
図６の論理表において、出力パターン１は３つのメモリの出力が全て”１”の組み合わせで、メモリの出力電圧Ｖｏ＝＋３Ｖとなり、コンパレータ１５２の出力論理は”１”である。
【００３８】
出力パターン２はメモリ１０１ａおよびメモリ１０１ｃは正常に論理”０”を出力し、メモリ１０１ｂにソフトエラーがある場合を示しメモリ１０１ｂの出力論理は”１”である。この時のメモリの出力電圧Ｖｏ＝＋１Ｖとなり、閾値（＋１．５Ｖ）より小さいのでコンパレータ１５２の出力論理は”０”である。
【００３９】
出力パターン３はメモリ１０１ｂおよびメモリ１０１ｃは正常に論理”１”を出力し、メモリ１０１ａにソフトエラーがある場合を示しメモリ１０１ａの出力論理は”０”である。この時のメモリの出力電圧Ｖｏ＝＋２Ｖとなり、閾値（＋１．５Ｖ）より大きいのでコンパレータ１５２の出力論理は”１”である。
【００４０】
出力パターン４はメモリ１０１ａおよびメモリ１０１ｂは正常に論理”０”を出力し、メモリ１０１ｃにソフトエラーがある場合を示しメモリ１０１ｃの出力論理は”１”である。この時のメモリの出力電圧Ｖｏ＝＋１Ｖとなり、閾値（＋１．５Ｖ）より小さいのでコンパレータ１５２の出力論理は”０”である。
【００４１】
出力パターン５は３つのメモリの出力が全て”０”の組み合わせで、メモリの出力電圧Ｖｏ＝０Ｖとなり、コンパレータ１５２の出力論理は”０”である。
【００４２】
このように、本実施形態に係るメモリ装置１００は、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの何れか１つにソフトエラーが発生した場合でも誤り訂正回路１０２で多数決による誤り訂正が実行される。
【００４３】
尚、図６では、５つのメモリ出力パターンの例を示したが、実際には３つのメモリを用いるので、何れか１つのメモリにソフトエラーが発生する場合の出力パターンは、図７に示すような８つの種類が考えられる。この場合でも、コンパレータ１５２の出力は、３つのメモリの多数決で決まる論理となる。
【００４４】
このようにして、本実施形態に係るメモリ装置１００は、抵抗１５１でメモリの出力電流を電圧に変換してコンパレータ１５２で閾値（電源電圧の中点電圧）と比較することにより、多数決方式による誤り訂正回路１０２を実現することができる。特に本実施形態に係るメモリ装置１００は、１つの抵抗とコンパレータ１５２だけの簡単な回路構成で、高速にリアルタイム処理を行うことができる。
［ソフトエラー検出回路１０３］
上記に説明したように、本実施形態に係るメモリ装置１００では、誤り訂正回路１０２により、ソフトエラーが発生した場合でも誤り訂正された真の値が出力されるが、メモリの寿命が近くなるとソフトエラーの発生頻度が多くなり、複数のメモリに同時にソフトエラーが発生した場合、多数決方式による誤り訂正を行うことができなくなり、メモリ装置１００のデータエラーとなる。このため、ソフトエラーの発生頻度を監視して発生頻度が予め設定された度数よりも多くなった場合に警報を発するようにし、寿命が近づいたメモリが完全に故障する前に当該メモリを取り替えるシステムが考えられている。この場合、ソフトエラーが発生したことを知る必要があるが、図１の誤り訂正回路１０２だけではソフトエラーの発生を知ることができない。尚、一般にメモリの耐用年数内では複数のメモリに同時にソフトエラーが発生する確率は低いので、ここでは何れか１つのメモリにソフトエラーが発生する場合について説明する。
【００４５】
図８は、本実施形態に係るメモリ装置１００の変形例として、ソフトエラーを検出するためのメモリ装置１００ａの構成例である。尚、メモリ装置１００ａにおいて、図１と同符号のものは同じものを示す。
【００４６】
図８において、メモリ装置１００ａのソフトエラー検出回路１０３は、コンパレータ１６１と、コンパレータ１６２と、ＡＮＤゲート（論理積ゲート）１６３とで構成される。そして、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの合成された出力電圧Ｖｏ（点１５４の電圧）がコンパレータ１６１の正入力端子およびコンパレータ１６２の負入力端子に入力される。ここで、コンパレータ１６１とコンパレータ１６２には、０ＶをＧＮＤ（接地）として＋３Ｖの電源電圧が与えられ、０Ｖ（論理”０”）と＋３Ｖ（論理”１”）の二値情報を出力する。
【００４７】
コンパレータ１６１は、負入力端子に閾値として電圧＋０．５Ｖを与えられ、出力電圧Ｖｏが＋０．５Ｖより大きいか否かを判別する。出力電圧Ｖｏが＋０．５Ｖより大きい場合、コンパレータ１６１の出力は＋３Ｖ（論理”１”）となり、出力電圧Ｖｏが＋０．５Ｖより小さい場合、コンパレータ１６１の出力は０Ｖ（論理”０”）となる。
【００４８】
コンパレータ１６２は、正入力端子に閾値として電圧＋２．５Ｖを与えられ、出力電圧Ｖｏが＋２．５Ｖより大きいか否かを判別する。出力電圧Ｖｏが＋２．５Ｖより大きい場合、コンパレータ１６１の出力は＋３Ｖ（論理”１”）となり、出力電圧Ｖｏが＋２．５Ｖより小さい場合、コンパレータ１６１の出力は０Ｖ（論理”０”）となる。尚、図８の点線円内に描いたように、出力電圧Ｖｏをコンパレータ１６２の正入力端子に入力し、閾値として電圧＋２．５Ｖを負入力端子に与えて、ＡＮＤゲート１６３との間にインバータ１６４を設けても構わない。
【００４９】
ＡＮＤゲート１６３は、コンパレータ１６１の出力とコンパレータ１６１の出力の論理積を求め、エラー検出信号として出力する。つまり、コンパレータ１６１とコンパレータ１６２の両方の出力論理が”１”の場合だけＡＮＤゲート１６３は論理”１”を出力する。
【００５０】
尚、コンパレータ１６１およびコンパレータ１６２は第２判定手段に相当する。また、ＡＮＤゲート１６３はソフトエラーであることを示す二値情報を出力する論理回路に相当する。
【００５１】
図９は、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの出力論理の組み合わせパターンと、先に説明した図１の誤り訂正回路１０２の訂正出力（コンパレータ１５２の出力）と、図８のソフトエラー検出回路１０３の検出出力（ＡＮＤゲート１６３の出力）との関係を示した論理表と、その論理表に対応させてコンパレータ１６１の正入力端子およびコンパレータ１６２の負入力端子に入力されるメモリの出力電圧Ｖｏの変化を示すグラフとを描いてある。また、グラフには、コンパレータ１６１の負入力端子に与える閾値ｂ（電圧＋０．５Ｖ）と、コンパレータ１６２の正入力端子に与える閾値ａ（電圧＋２．５Ｖ）とを点線で示してある。
【００５２】
ここで、出力パターンは、図６と同様に、３つのメモリ全ての論理出力が”１”の場合、３つのメモリ全ての論理出力が”０”の場合、３つのメモリの何れかにソフトエラーが生じた時の３つの場合、の５つの種類がある。
【００５３】
図９の論理表において、出力パターン１は３つのメモリの出力が全て”１”の組み合わせで、メモリの出力電圧Ｖｏ＝＋３Ｖとなり、コンパレータ１６１とコンパレータ１６２の両方の出力論理は”１”である。そして、ＡＮＤゲート１６３の出力論理も”１”である。
【００５４】
出力パターン２は、図６で説明したように、メモリの出力電圧Ｖｏは＋１Ｖとなり、閾値ａ（＋２．５Ｖ）より小さいのでコンパレータ１６２の出力論理は”０”、閾値ｂ（＋０．５Ｖ）より大きいのでコンパレータ１６１の出力論理は”１”である。そして、ＡＮＤゲート１６３の出力論理も”０”である。
【００５５】
同様に、出力パターン３のメモリの出力電圧Ｖｏは＋２Ｖなので、閾値ａ（＋２．５Ｖ）より小さいのでコンパレータ１６２の出力論理は”０”、閾値ｂ（＋０．５Ｖ）より大きいのでコンパレータ１６１の出力論理は”１”である。そして、ＡＮＤゲート１６３の出力論理も”０”である。
【００５６】
出力パターン４のメモリの出力電圧Ｖｏは＋１Ｖなので、出力パターン２と同様に、コンパレータ１６２の出力論理は”０”、コンパレータ１６１の出力論理は”１”である。そして、ＡＮＤゲート１６３の出力論理も”０”である。
【００５７】
出力パターン５は３つのメモリの出力が全て”０”の組み合わせで、メモリの出力電圧Ｖｏは０Ｖとなり、コンパレータ１６１とコンパレータ１６２の両方の出力論理は”０”である。そして、ＡＮＤゲート１６３の出力論理も”０”である。
【００５８】
このように、本実施形態に係るメモリ装置１００ａは、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの何れか１つにソフトエラーが発生した場合の出力パターン２，３，４でソフトエラー検出回路１０３のエラー検出出力は論理”１”となり、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリにソフトエラーが発生せず、３つのメモリの出力が全て”０”または”１”の場合はソフトエラー検出回路１０３のエラー検出出力は論理”０”となる。尚、ソフトエラー検出回路１０３のエラー検出出力が論理”０”の場合はソフトエラー無し、論理”１”の場合はソフトエラー有りとして、システム側の監視装置（不図示）で判断する。
【００５９】
上記の説明では、３つのメモリを用いて電源電圧（出力の最大電圧Ｖｍ）が＋３Ｖの場合なので、閾値ａの電圧Ｖａは＋２．５Ｖ、閾値ｂの電圧Ｖｂは＋０．５Ｖとしたが、ｎ個（ｎは３以上の奇数）のメモリを用いる場合は、電圧Ｖａおよび電圧Ｖｂを以下のようにして求めることができる。
【００６０】
閾値ａの電圧Ｖａは、（式１）の電圧Ｖａ１と最大電圧Ｖｍとの間の電圧に設定する。
Ｖａ１＝Ｖｍ  ×（ｎ−１）／ｎ    ・・・（式１）
同様に、閾値ｂの電圧Ｖｂは、（式２）の電圧Ｖｂ１と最小電圧の０Ｖとの間の電圧に設定する。
Ｖｂ１＝Ｖｍ  ×  １／ｎ          ・・・（式２）
例えば先の例（Ｖｍ＝＋３Ｖ、ｎ＝３個）では、Ｖａ１＝２Ｖなので閾値ａの電圧Ｖａは＋２．５Ｖとなり、Ｖｂ１＝１Ｖなので閾値ｂの電圧Ｖｂは＋０．５Ｖとなる。
【００６１】
別の例として、Ｖｍ＝＋５Ｖ、ｎ＝５個の場合は、（式１）よりＶａ１＝４Ｖなので閾値ａの電圧Ｖａは＋４．５Ｖとなり、（式２）よりＶｂ１＝１Ｖなので閾値ｂの電圧Ｖｂは＋０．５Ｖとなる。
【００６２】
このようにして、本実施形態に係るメモリ装置１００ａは、メモリ１０１ａ、メモリ１０１ｂおよびメモリ１０１ｃの３つのメモリの電流出力を抵抗１５１で電圧に変換する回路と、コンパレータ１６１，１６２およびＡＮＤゲート１６３とで構成される簡単な回路で、リアルタイム処理で高速にソフトエラーを検出することができる。
【００６３】
ここで、上記の説明では、図１に示した誤り訂正回路１０２を有するメモリ装置１００と、図８に示したソフトエラー検出回路１０３を有するメモリ装置１００ａとを別々に説明したが、複数のメモリの出力電流の和を抵抗１５１で電圧に変換してコンパレータで閾値と比較する構成は同じである。従って、図１０に示すように、誤り訂正回路１０２と、ソフトエラー検出回路１０３とを併せ持ったメモリ装置１００ｂを構成してもよい。尚、この場合の誤り訂正回路１０２の構成および動作と、ソフトエラー検出回路１０３の構成および動作は、先に説明したものと同じなので重複する説明は省略する。
【００６４】
このように、本実施形態に係るメモリ装置１００、１００ａおよび１００ｂでは、抵抗１５１とコンパレータ１５２とを基本とする簡単な回路で多数決方式による誤り訂正回路１０２を実現でき、さらにコンパレータ１６１とコンパレータ１６２とＡＮＤゲート１６３とを追加するだけの簡単な回路でソフトエラーの検出を行うことができる。これにより、回路規模と消費電力の増加を抑えることができる。また、電流電圧変換と閾値との比較をハードウェアで行うので高速処理が可能となる。
【００６５】
尚、上記の実施形態では、メモリ１０１ａ，１０１ｂおよび１０１ｃの３つのメモリを用いる場合について説明したが、３つ以上の奇数個のメモリを用いる構成であれば、同様の構成（抵抗１５１と誤り訂正回路１０２とソフトエラー検出回路１０３）で誤り訂正とソフトエラーの検出が可能なメモリ装置を実現することができる。
【００６６】
また、上記の実施形態では、メモリ装置としたが、複数の通信チャネルで同一の情報を伝送する伝送装置など、同じ情報を出力する装置であって、出力された複数の情報の誤り訂正やソフトエラーを検出するような情報出力装置であれば同様に適用することができる。
【００６７】
以上、本発明に係る誤り訂正回路およびメモリ装置、並びに誤り訂正方法について、各実施例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施例はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【００６８】
１００，１００ａ，１００ｂ・・・メモリ装置
１０１ａ、１０１ｂ、１０１ｃ・・・メモリ
１５１・・・抵抗
１５２、１６１、１６２・・・コンパレータ
１５３・・・入力部
２０１・・・トランジスタ
２０２・・・インバータ
１０２・・・誤り訂正回路
１０３・・・ソフトエラー検出回路
１６３・・・ＡＮＤゲート
【図１】
0005502003.tif 000002
【図２】
0005502003.tif 000003
【図３】
0005502003.tif 000004
【図４】
0005502003.tif 000005
【図５】
0005502003.tif 000006
【図６】
0005502003.tif 000007
【図７】
0005502003.tif 000008
【図８】
0005502003.tif 000009
【図９】
0005502003.tif 000010
【図１０】
0005502003.tif 000011