(57)【要約】【課題】記憶手段を有する第１チップと、記憶手段に対してメモリデータの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップと、を備える半導体装置において、データ信頼性を向上しつつ、第２チップの体格増大を抑制する。【解決手段】制御用データは、記憶先のアドレスの一部に対応するチェック用データが付加されてなるメモリデータとして、１つの制御用データにつき異なる３つのアドレスに記憶される。１つの制御用データに関する各アドレスにおいて、チェック用データに対応する一部を除く部分は、互いに異なるとともに複数の制御用データで同じとされる。また、３つのメモリデータに関し、制御用データ同士、チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士は、それぞれ同じ或いはミラー反転の関係にある。【選択図】図３
2012226604.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段を有する第１チップと、
前記記憶手段に対して制御用データの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された前記制御用データの信頼性を判定する判定手段を有する第２チップと、を備える半導体装置であって、
前記制御用データは、記憶先のアドレスの一部である複数ビットに対応するチェック用データが付加されてなるメモリデータとして前記記憶手段に記憶され、
前記記憶手段には、１つの前記制御用データについて、異なるアドレスに３つの前記メモリデータが記憶されており、
１つの前記制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、前記チェック用データに対応する一部を除く部分は、互いに異なるとともに、複数の制御用データで同じとされ、
１つの前記制御用データに関する３つのメモリデータにおいて、前記制御用データ同士、前記チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士は、それぞれ同じ或いはミラー反転の関係にあり、
前記指示手段は、複数の前記制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すように前記記憶手段に指示し、
前記判定手段は、読み出された前記３つのメモリデータについて、各チェック用データと対応するアドレスの一部とを照合し、複数の前記チェック用データが対応するアドレスの一部と一致する場合に、一致する複数の前記メモリデータについて、前記制御用データの多数決判定を行うことを特徴とする半導体装置。
【請求項２】
記憶手段を有する第１チップと、
前記記憶手段に対して制御用データの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された前記制御用データの信頼性を判定する判定手段を有する第２チップと、を備える半導体装置であって、
前記制御用データは、記憶先のアドレスの一部である複数ビットに対応するチェック用データが付加されてなるメモリデータとして前記記憶手段に記憶され、
前記記憶手段には、１つの前記制御用データについて、異なるアドレスに３つの前記メモリデータが記憶されており、
１つの前記制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、前記チェック用データに対応する一部を除く部分は、互いに異なるとともに、複数の制御用データで同じとされ、
１つの前記制御用データに関する３つのメモリデータにおいて、前記制御用データ同士、前記チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士は、それぞれ同じ或いはミラー反転の関係にあり、
前記指示手段は、複数の前記制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すように前記記憶手段に指示し、
前記判定手段は、読み出された前記３つのメモリデータについて、前記制御用データの多数決判定を行い、複数の前記制御用データが一致する場合に、一致する複数の前記メモリデータについて、各チェック用データと対応するアドレスの一部とを照合することを特徴とする半導体装置。
【請求項３】
前記第２チップは、前記記憶手段に対して読み出し専用であることを特徴とする請求項１又は請求項２に記載の半導体装置。
【請求項４】
前記３つのメモリデータは、アドレスが分散して前記記憶手段に記憶されていることを特徴とする請求項１〜３いずれか１項に記載の半導体装置。
【請求項５】
前記チェック用データは、対応する前記メモリデータの記憶先のアドレスのうち、下位の複数ビットに対応していることを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記３つのメモリデータとして、第１メモリデータ、第２メモリデータ、及び第３メモリデータを有し、
前記第２メモリデータのチェック用データ及び制御用データは、それぞれ前記第１メモリデータのチェック用データ及び制御用データとミラー反転の関係にあり、前記第３メモリデータのチェック用データと前記第１メモリデータのチェック用データ、及び、前記第３メモリデータの制御用データと前記第１メモリデータの制御用データのいずれか一方が同じであり、他方がミラー反転の関係にあることを特徴とする請求項１〜５いずれか１項に記載の半導体装置。
【請求項７】
前記チェック用データは、全ビット０及び全ビット１を除いて設定されることを特徴とする請求項１〜６いずれか１項に記載の半導体装置。
【請求項８】
第１チップの記憶手段から第２チップに読み出される制御用データの異常有無を判定する半導体装置のデータ異常判定方法であって、
前記記憶手段に制御用データを書き込む際に、前記制御用データを、記憶先のアドレスの一部である複数ビットに対応するチェック用データを付加してなるメモリデータとして、前記アドレスに記憶させるとともに、１つの前記制御用データについて、異なるアドレスに３つの前記メモリデータを記憶させ、
１つの前記制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、前記チェック用データに対応する一部を除く部分を、互いに異なるとともに、複数の制御用データにおいて同じとなるようにし、
１つの前記制御用データに関する３つのメモリデータにおいて、前記制御用データ同士、前記チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士が、それぞれ同じ或いはミラー反転の関係となるようにし、
前記記憶手段から前記第２チップに前記制御用データを読み込む際に、複数の前記制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出し、
読み出した前記３つのメモリデータについて各チェック用データと対応するアドレスの一部とを照合し、全てのメモリデータについて一致しない場合にメモリデータの異常と判定するとともに、
複数の前記メモリデータにおいて、各チェック用データと対応するアドレスの一部とが一致する場合、一致する複数の前記メモリデータについて制御用データの多数決判定を行い、制御用データが互いに異なる場合にメモリデータの異常と判定することを特徴とする半導体装置のデータ異常判定方法。
【請求項９】
第１チップの記憶手段から第２チップに読み出される制御用データの異常有無を判定する半導体装置のデータ異常判定方法であって、
前記記憶手段に制御用データを書き込む際に、前記制御用データを、記憶先のアドレスの一部である複数ビットに対応するチェック用データを付加してなるメモリデータとして、前記アドレスに記憶させるとともに、１つの前記制御用データについて、異なるアドレスに３つの前記メモリデータを記憶させ、
１つの前記制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、前記チェック用データに対応する一部を除く部分を、互いに異なるとともに、複数の制御用データにおいて同じとなるようにし、
１つの前記制御用データに関する３つのメモリデータにおいて、前記制御用データ同士、前記チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士が、それぞれ同じ或いはミラー反転の関係となるようにし、
前記記憶手段から前記第２チップに前記制御用データを読み込む際に、複数の前記制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出し、
読み出した前記３つのメモリデータについて制御用データの多数決判定を行い、制御用データが互いに異なる場合にメモリデータの異常と判定するとともに、
複数の前記制御用データが一致する場合、一致する前記制御用データを含むメモリデータについて、各チェック用データと対応するアドレスの一部とを照合し、複数の前記メモリデータすべてで一致しない場合にメモリデータの異常と判定することを特徴とする半導体装置のデータ異常判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶手段を有する第１チップと、記憶手段からのに対してメモリデータの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップと、を備える半導体装置及びそのデータ異常判定方法に関するものである。
【背景技術】
【０００２】
従来、誤った制御用データを用いて制御を行うことを防止する技術として、例えば特許文献１に示されるように、１つの制御用データに対し、該制御用データに対応する複数のデータをメモリのそれぞれ異なるアドレスに書き込んでおき、制御用データの読み出し時に、上記複数のデータを順次読み出して多数決することで、制御用データの異常有無を判定する多数決方式が知られている。
【０００３】
特許文献１では、１つの制御用データに対応する複数のデータとして、制御用データ、該制御用データのミラーデータ、ミラーデータが、異なるアドレスにそれぞれ書き込まれ、これら３つのデータ（制御データ及び２つのミラーデータ）について多数決判定を行う。このように、１つの制御用データに関し、複数のデータを用いて多数決すると、データ信頼性を向上することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−９５８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、マイコンを採用するほどの高機能な制御を行わない場合、メモリ（記憶手段）を有する第１チップと、記憶手段に対してメモリデータの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップとに分ける手法がとられる。この場合、第２チップは、例えばユーザのニーズに応じた機能のみを盛り込んだ所謂カスタムＩＣチップとして構成され、２チップからなる半導体装置のコストを、マイコンに較べて低減することができる。
【０００６】
しかしながら、上記した多数決判定では、１つの制御用データに関するメモリデータが３つのアドレスに記憶されるため、記憶手段に記憶されるメモリデータの数が多い。このため、上記した２つのチップにより構成される半導体装置において、多数決方式を採用する場合、第２チップ側において、アドレスを指定して制御用データの読み出しを指示する指示手段の規模、すなわち第２チップの体格（回路規模）も大きくなる。
【０００７】
また、特許文献１に示されるように、制御用データそのもの、又は、制御用データのミラー反転データそのものを、記憶手段に記憶されるメモリデータとする場合、第２チップ（カスタムＩＣチップ）では読み出した制御用データが正しいか否かを判定することはできない。このため、メモリデータの一部が破壊されても、メモリデータが破壊されているのか否か判定することができず、データの信頼性が低い。
【０００８】
本発明は上記問題点に鑑み、記憶手段を有する第１チップと、記憶手段に対してメモリデータの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップと、を備える半導体装置において、データ信頼性を向上しつつ、第２チップの体格増大を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する為に請求項１に記載の半導体装置は、
記憶手段を有する第１チップと、
記憶手段に対して制御用データの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップと、を備える。
【００１０】
そして、制御用データは、記憶先のアドレスの一部である複数ビットに対応するチェック用データが付加されてなるメモリデータとして記憶手段に記憶され、
記憶手段には、１つの制御用データについて、異なるアドレスに３つのメモリデータが記憶されており、
１つの制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、チェック用データに対応する一部を除く部分は、互いに異なるとともに、複数の制御用データで同じとされ、
１つの制御用データに関する３つのメモリデータにおいて、制御用データ同士、チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士は、それぞれ同じ或いはミラー反転の関係にあり、
指示手段は、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すように記憶手段に指示し、
判定手段は、読み出された３つのメモリデータについて、各チェック用データと対応するアドレスの一部とを照合し、一致する複数のメモリデータについて、制御用データの多数決判定を行うことを特徴とする。
【００１１】
本発明では、制御用データ又はそのミラー反転データが、そのままメモリデータ（例えば１６ビット）として記憶手段に記憶されるのではなく、制御用データ（例えば１１ビット）に、記憶先のアドレスの一部（例えば８ビット中の５ビット）に対応するチェック用データ（例えば５ビット）が付加されたメモリデータとして記憶される。そして、１つの制御用データに対応する３つのアドレスのうち、チェック用データに対応する一部（例えば５ビット）はそれぞれ同じ或いはミラー反転の関係となっている。また、残りの部分（例えば３ビット）は、互いに異なるとともに、複数の制御用データで同じとなっており、規則性を有している。このため、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すように記憶手段に指示する指示手段の構成を、簡素化することができる。すなわち、指示手段の規模増大、ひいては第２チップの体格増大を抑制することができる。
【００１２】
また、本発明では、１つの制御用データに関し、複数のメモリデータについて多数決判定を行うため、データの信頼性を向上することができる。さらに、メモリデータは、上記したように記憶先のアドレスの一部に対応するチェック用データを含んでおり、判定手段は、多数決判定の前に、３つのメモリデータについて、各チェック用データと対応するアドレスの一部とを照合する。例えばメモリデータが破壊されていれば、チェック用データと対応するアドレスが一致しないため、制御用データ又はそのミラー反転データのみからなるメモリデータを単に多数決判定する構成に較べて、データの信頼性を向上することができる。
【００１３】
以上から、本発明によれば、データ信頼性を向上しつつ、第２チップ、ひいては半導体装置の体格増大を抑制することができる。
【００１４】
また、請求項２に記載の半導体装置も、
記憶手段を有する第１チップと、
記憶手段に対して制御用データの読み出しを指示する指示手段、及び、少なくとも多数決により、読み出された制御用データの信頼性を判定する判定手段を有する第２チップと、を備える。
【００１５】
そして、制御用データは、記憶先のアドレスの一部である複数ビットに対応するチェック用データが付加されてなるメモリデータとして記憶手段に記憶され、
記憶手段には、１つの制御用データについて、異なるアドレスに３つのメモリデータが記憶されており、
１つの制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、チェック用データに対応する一部を除く部分は、互いに異なるとともに、複数の制御用データで同じとされ、
１つの制御用データに関する３つのメモリデータにおいて、制御用データ同士、チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士は、それぞれ同じ或いはミラー反転の関係にあり、
指示手段は、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すように記憶手段に指示し、
判定手段は、読み出された３つのメモリデータについて、制御用データの多数決判定を行い、複数の制御用データが一致する場合に、一致する複数のメモリデータについて、各チェック用データと対応するアドレスの一部とを照合することを特徴とする。
【００１６】
本発明と請求項１に記載の発明との違いは、判定手段が実行する多数決判定とチェック用データと対応するアドレスの一部とを照合との順序のみであり、その作用効果は、請求項１に記載の発明の作用効果と同等であるため、その記載を省略する。
【００１７】
請求項３に記載のように、第２チップは、記憶手段に対して読み出し専用であることが好ましい。
【００１８】
これによれば、第２チップ側から記憶手段に対してメモリデータの書き込みがなされないため、誤書き込み自体が生じず、これにより、制御用データの信頼性を向上することができる。
【００１９】
請求項４に記載のように、３つのメモリデータは、アドレスが分散して記憶手段に記憶されることが好ましい。
【００２０】
記憶手段においてメモリデータが壊れる場合、アドレスが連続する所定範囲のメモリデータがまとめて壊れることが多い。これに対し、本発明によれば、１つの制御用データに関する３つのメモリデータ全てが破壊されるリスクを低減することができる。すなわち、データの信頼性を向上することができる。
【００２１】
特に請求項５に記載のように、チェック用データは、対応するメモリデータの記憶先のアドレスのうち、下位の複数ビットに対応することが好ましい。
【００２２】
これによれば、チェック用データが上位の複数ビットに対応する構成に較べて、３つのメモリデータの分散度合いを大きくし、これにより、データの信頼性をさらに向上することができる。
【００２３】
請求項６に記載のように、３つのメモリデータとして、第１メモリデータ、第２メモリデータ、及び第３メモリデータを有し、
第２メモリデータのチェック用データ及び制御用データは、それぞれ第１メモリデータのチェック用データ及び制御用データとミラー反転の関係にあり、第３メモリデータのチェック用データと第１メモリデータのチェック用データ、及び、第３メモリデータの制御用データと第１メモリデータの制御用データのいずれか一方が同じであり、他方がミラー反転の関係にあることが好ましい。
【００２４】
これによれば、同じメモリデータを複数回読み出した場合（例えば第１メモリデータを２回読み出した場合）に、その誤動作を検出することができる。
【００２５】
請求項７に記載のように、チェック用データは、全ビット０及び全ビット１を除いて設定されることが好ましい。
【００２６】
メモリデータのエラーが生じた場合、全ビット‘０’又は‘１’となることが多い。本発明によれば、チェック用データが、全ビット０及び全ビット１を除いて設定されるため、データエラーを検出することができる。
【００２７】
次に、請求項８に記載の発明は、
第１チップの記憶手段から第２チップに読み出される制御用データの異常有無を判定する半導体装置のデータ異常判定方法であって、
記憶手段に制御用データを書き込む際に、制御用データを、記憶先のアドレスの一部である複数ビットに対応するチェック用データを付加してなるメモリデータとして、アドレスに記憶させるとともに、１つの制御用データについて、異なるアドレスに３つのメモリデータを記憶させ、
１つの制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、チェック用データに対応する一部を除く部分を、互いに異なるとともに、複数の制御用データにおいて同じとなるようにし、
１つの制御用データに関する３つのメモリデータにおいて、制御用データ同士、チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士が、それぞれ同じ或いはミラー反転の関係となるようにし、
記憶手段から第２チップに制御用データを読み込む際に、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出し、
読み出した３つのメモリデータについて各チェック用データと対応するアドレスの一部とを照合し、全てのメモリデータについて一致しない場合にメモリデータの異常と判定するとともに、
複数のメモリデータにおいて、各チェック用データと対応するアドレスの一部とが一致する場合、一致する複数のメモリデータについて制御用データの多数決判定を行い、制御用データが互いに異なる場合にメモリデータの異常と判定することを特徴とする。
【００２８】
本発明の作用効果は、請求項１に記載の発明の作用効果と同じであるの、その記載を省略する。
【００２９】
また、請求項９に記載の発明は、
第１チップの記憶手段から第２チップに読み出される制御用データの異常有無を判定する半導体装置のデータ異常判定方法であって、
記憶手段に制御用データを書き込む際に、制御用データを、記憶先のアドレスの一部である複数ビットに対応するチェック用データを付加してなるメモリデータとして、アドレスに記憶させるとともに、１つの制御用データについて、異なるアドレスに３つのメモリデータを記憶させ、
１つの制御用データに関する３つのメモリデータが記憶される各アドレスにおいて、チェック用データに対応する一部を除く部分を、互いに異なるとともに、複数の制御用データにおいて同じとなるようにし、
１つの制御用データに関する３つのメモリデータにおいて、制御用データ同士、チェック用データ同士、及び該チェック用データに対応するアドレスの一部同士が、それぞれ同じ或いはミラー反転の関係となるようにし、
記憶手段から第２チップに制御用データを読み込む際に、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出し、
読み出した３つのメモリデータについて制御用データの多数決判定を行い、３つのメモリデータについて制御用データが互いに異なる場合にメモリデータの異常と判定するとともに、
複数の制御用データが一致する場合に、一致する制御用データを含むメモリデータについて、各チェック用データと対応するアドレスの一部とを照合し、複数のメモリデータすべてで一致しない場合にメモリデータの異常と判定することを特徴とする。
【００３０】
本発明の作用効果は、請求項２に記載の発明の作用効果と同じであるの、その記載を省略する。
【図面の簡単な説明】
【００３１】
【図１】第１実施形態に係る半導体装置の概略構成を示す図である。
【図２】任意の制御用データＮに関するメモリデータの内容、及び、メモリデータと書き込み先のアドレスとの関係を示す図である。
【図３】メモリにメモリーデータが書き込まれた具体例を示す図である。
【図４】データ異常判定方法を示すフローチャートである。
【図５】データ異常判定方法を変形例を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態を、図面を参照して説明する。
【００３３】
（第１実施形態）
図１に示すように、半導体装置１０は、メモリ回路が構成された第１チップ１１と、第１チップ１１からメモリデータを読み出し、メモリデータに含まれる制御用データの正常・異常を判定する回路が構成された第２チップ１２を有する。
【００３４】
第１チップ１１は、所謂メモリＩＣチップであり、記憶手段としてのメモリ２０が構成されている。そして、メモリ２０には、複数の制御用データに対応するメモリデータが記憶されている。
【００３５】
メモリ２０としては、特に限定されるものではない。データの書き換えが可能なＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリや、工場出荷時にのみデータの書き込みが可能なマスクＲＯＭ、１回しか書き込めないＯＴＰ（One Time Programmable）メモリなどを採用することができる。本実施形態では、メモリ２０としてＥＥＰＲＯＭが構成されている。
【００３６】
一方、第２チップ１２は、マイコンとは異なり、第１チップ１１からメモリデータを読み出し、判定処理すべく必要な回路が構成された所謂カスタムＩＣチップとなっている。この第２チップ１２には、カウンタ３０、メモリ制御部３１、判定部３２が構成されている。本実施形態では、この第２チップ１２が、第１チップ１１のメモリ２０に対して書き込み機能を有さず、第１チップ１１のメモリ２０に記憶されたメモリデータを読み出す、読み出し専用のチップとなっている。なお、カウンタ３０及びメモリ制御部３１が、特許請求の範囲に記載の指示手段に相当し、判定部３２が判定手段に相当する。
【００３７】
メモリ制御部３１は、カウンタ３０のカウント値に基づいて、ある制御用データに関する３つのメモリデータを順次読み出すように、メモリ２０に指示する。カウンタ３０のカウント値が１つ増えると、次に読み出すべく制御用データに関する３つのメモリデータを順次読み出すように、メモリ２０に指示する。
【００３８】
また、メモリ制御部３１は、メモリ２０から読み出されたメモリデータと該メモリデータの記憶先であるアドレスのデータとを必要に応じて処理し、判定部３２に出力する。本実施形態では、メモリデータのうちのチェック用データ部及び制御用データ部のデータについて、それぞれミラー反転データを反転させる処理を実行する。このメモリ制御部３１は、アドレス線やデータ線を介して第１チップ１１のメモリ２０と接続されている。
【００３９】
判定部３２は、メモリ制御部３１からの出力に基づいて、対応するアドレスのチェック部におけるデータ（以下、アドレスデータと示す）と、メモリデータのチェック用データ部におけるデータ（以下、チェック用データと示す）との照合を行う。また、アドレスデータとチェック用データとの一致が複数ある場合、一致したメモリデータについて、制御用データ部のデータ、すなわち上記した制御用データの多数決判定を行う。そして、これら判定結果に基づいた出力をする。
【００４０】
次に、本実施形態の主たる特徴部分である、制御用データを書き込む際のルール、具体的には、制御用データに対応してメモリに記憶されたメモリデータの内容、及び、メモリデータと書き込み先のアドレスとの関係について、図２及び図３を用いて説明する。
【００４１】
先ず、任意の制御用データＮについて、図２を用いて説明する。
【００４２】
図２に示すように、任意の制御用データＮは、該制御用データＮ又はそのミラー反転データに、記憶先のアドレスの一部である複数ビット（上記チェック部）のアドレスデータに対応するチェック用データ（アドレスデータと同じ又はそのミラー反転データ）が付加されてなるメモリデータとして、メモリ２０に記憶されている。
【００４３】
本実施形態では、メモリデータのうち、上位複数ビットのチェック用データ部に記憶されたデータがチェック用データ、残りの下位複数ビットである制御用データ部に記憶されたデータが制御用データ（又はそのミラー反転データ）となっている。このように、チェック用データは、対応するメモリデータの記憶先のアドレスのうち、下位の複数ビットに対応している。
【００４４】
また、メモリ２０には、１つの制御用データＮについて、異なるアドレスに３つのメモリデータ（第１メモリデータ、第２メモリデータ、第３メモリデータ）が記憶されている。そして、制御用データＮに関する３つのメモリデータが記憶された各アドレス（３つのアドレス）において、チェック用データに対応する一部を除く部分である固定部は、互いに異なるとともに、複数の制御用データで同じとなっている。これにより、３つのメモリデータは、アドレスが連続せず、分散してメモリ２０に記憶されている。本実施形態では、図２に示すように、制御用データＮに関する３つのメモリデータにおいて、固定部がα、β、γと互いに異なる数値となっている。このように、３つのメモリデータは、アドレスが連続せず、分散してメモリ２０に記憶されている。なお、上記においては、複数ビットの値を、α、β、γと簡略化して示している。
【００４５】
また、制御用データＮに関する３つのメモリデータにおいて、制御用データ部に記憶された制御用データ同士、チェック用データ部に記憶されたチェック用データ同士、及びアドレスのチェック部におけるアドレスデータ同士は、図２に示すように、それぞれ同じ或いはミラー反転の関係となっている。なお、制御用データ部に記憶された制御用データとは、上記したように制御用データＮ、又は、制御用データＮのミラー反転データを指す。
【００４６】
ここで、ミラー反転されていないアドレスデータをＡ、チェック用データをＡとする。なお、上記においては、複数ビットの値を、Ａと簡略化して示している。
【００４７】
図２に示すように、第１メモリデータは、データαとデータＡからなるアドレスに、チェック用データ部にデータＡ、制御用データ部にデータＮが記憶されてなる。第２メモリデータは、データβとデータＡからなるアドレスに、チェック用データ部にデータＡのミラー反転データ、制御用データ部にデータＮのミラー反転データが記憶されてなる。第３メモリデータは、データγとデータＡのミラー反転データからなるアドレスに、チェック用データ部にデータＡのミラー反転データ、制御用データ部にデータＮが記憶されてなる。このように、３つのメモリデータについて、記憶先のアドレスにおけるアドレスデータと、チェック用データとの組み合わせは、データＡ同士で同じ、データＡとデータＡのミラー反転データ、データＡのミラー反転データ同士で同じとなっている。また、制御用データは、３つのうち、２つがデータＮ、１つがデータＮのミラー反転データとなっている。
【００４８】
次に、上記したルールに従い、複数の制御用データが書き込まれたメモリの例を図３に示す。図３では、複数の制御用データのうち、データ１とデータ２の２つについて具体的に図示し、それ以外の制御用データの図示については省略している。なお、第１データは、データの読み出しの際に、最初に読み出されるデータであり、第２データは、第１データに次いで２番目に読み出されるデータである。また、説明を簡素化するため、各ビットの数値を、２進数で示している。
【００４９】
図３に示すように、各データは、上記したデータＮのルールに従っている。８ビットのアドレスは、上位３ビットが固定部とされ、下位５ビットがチェック部とされている。第１データについて見ると、固定部のデータは、３つのメモリデータにおいて、（０００）、（０１０）、（１００）となっており、互いに異なる。また、チェック部のアドレスデータは、（００００１）、（００００１）、（１１１１０）となっており、第１メモリデータ及び第２メモリデータが記憶されるアドレスのアドレスデータに対し、第３メモリデータが記憶されるアドレスのアドレスデータがミラー反転した値となっている。
【００５０】
一方、１６ビットのメモリデータのうち、５ビットがチェック用データとなっている。データ１については、（００００１）、（１１１１０）、（１１１１０）となっており、第１メモリデータのチェック用データに対し、第２メモリデータ及び第３メモリデータのチェック用データがミラー反転した値となっている。また、第１メモリデータについて、アドレスデータとチェック用データは（００００１）で同じ、第２メモリデータについて、アドレスデータとチェック用データは（００００１）、（１１１１０）でミラー反転の関係、第３メモリデータについて、アドレスデータとチェック用データは（１１１１０）で同じとなっている。このように、チェック用データ及びアドレスデータは、５ビット全てが０、５ビット全てが１とならないように設定されている。
【００５１】
また、１１ビットの制御用データは、データ１、データ１のミラー反転データ、データ１となっており、第１メモリデータ及び第３メモリデータの制御用データに対し、第２メモリデータの制御用データがミラー反転した値となっている。
【００５２】
次いで、第２データについて見ると、固定部のデータは、３つのメモリデータにおいて、（０００）、（０１０）、（１００）となっている。このように、固定部のデータは、制御用データで同じ（共通）の値となっている。
【００５３】
一方、チェック部のアドレスデータは、（０００１０）、（０００１０）、（１１１０１）となっており、第１メモリデータ及び第２メモリデータが記憶されるアドレスのアドレスデータに対し、第３メモリデータが記憶されるアドレスのアドレスデータがミラー反転した値となっている。
【００５４】
一方、チェック用データは、（０００１０）、（１１１０１）、（１１１０１）となっており、第１メモリデータのチェック用データに対し、第２メモリデータ及び第３メモリデータのチェック用データがミラー反転した値となっている。また、第２メモリデータについて、アドレスデータとチェック用データは（００００１）で同じ、第２メモリデータについて、アドレスデータとチェック用データは（００００１）、（１１１１０）でミラー反転の関係、第３メモリデータについて、アドレスデータとチェック用データは（１１１１０）で同じとなっている。このように、チェック用データ及びアドレスデータは、５ビット全てが０、５ビット全てが１とならないように設定されている。
【００５５】
また、１１ビットの制御用データは、データ２、データ２のミラー反転データ、データ２となっており、第１メモリデータ及び第３メモリデータの制御用データに対し、第２メモリデータの制御用データがミラー反転した値となっている。
【００５６】
次に、第１チップ１１のメモリ２０から第２チップ１２に読み出される制御用データ（メモリデータ）のデータ異常有無を判定するデータ異常判定方法について、図３及び図４を用いて説明する。
【００５７】
メモリ２０にメモリデータを書き込む際のルールは上記したとおりである。電源が投入されると、第２チップ１２のカウンタ３０における５ビットのカウント値が（００００１）となる。カウンタ３０は、このカウント値をメモリ制御部３１に出力する（ステップ１０）。
【００５８】
メモリ制御部３１は、カウント値が入力されると、入力されたカウント値又はそのミラー反転データに、順に（０００）、（０１０）、（１００）を付加し、８ビットのデータとしてアドレス線に出力し、メモリ２０に対して該アドレスのメモリデータを読み出す指示をする。
【００５９】
具体的には、カウント値（００００１）が入力されると、先ずカウント値を下位５ビットとし、上位３ビットを（０００）とすることで、アドレス線に８ビットのアドレス（０００００００１）を出力する（ステップ１１）。このアドレスには、第１データに関する第１メモリデータが記憶されている。
【００６０】
そして、出力要求を受けたメモリ２０は、アドレス（０００００００１）に記憶された第１データに関する第１メモリデータ（図３参照）を、第２チップ１２のメモリ制御部３１に対して出力する。メモリ制御部３１は出力された第１データに関する第１メモリデータと、出力要求したアドレスのうちアドレスデータとを一時保存する（ステップ１２）。
【００６１】
次に、第１メモリデータを読み出すアドレスの出力が完了すると、メモリ制御部３１は、カウント値を下位５ビットとし、上位３ビットを（０１０）とすることで、アドレス線に８ビットのアドレス（０１０００００１）を出力する（ステップ１３）。このアドレスには、第１データに関する第２メモリデータが記憶されている。
【００６２】
そして、出力要求を受けたメモリ２０は、アドレス（０１０００００１）に記憶された第１データに関する第２メモリデータ（図３参照）を、第２チップ１２のメモリ制御部３１に対して出力する。メモリ制御部３１は出力された第１データに関する第２メモリデータと、出力要求したアドレスのうちアドレスデータとを一時保存する。この保存では、第２メモリデータをそのまま保存するのではなく、チェック用データ及び制御用データをともにミラー反転させて保存する（ステップ１４）。
【００６３】
次に、第２メモリデータを読み出すアドレスの出力が完了すると、メモリ制御部３１は、カウント値のミラー反転値を下位５ビットとし、上位３ビットを（１００）とすることで、アドレス線に８ビットのアドレス（１００１１１１０）を出力する（ステップ１５）。このアドレスには、第１データに関する第３メモリデータが記憶されている。
【００６４】
そして、出力要求を受けたメモリ２０は、アドレス（１００１１１１０）に記憶された第１データに関する第３メモリデータ（図３参照）を、第２チップ１２のメモリ制御部３１に対して出力する。メモリ制御部３１は出力された第１データに関する第３メモリデータと、出力要求したアドレスのうちアドレスデータとを一時保存する。この保存では、第３メモリデータをそのまま保存するのではなく、チェック用データをミラー反転させて保存する（ステップ１６）。
【００６５】
上記したように、データ１に関する３つのメモリデータの読み出しが完了すると、判定部３２は、メモリ制御部３１に一時保存された各データを読み出し、以下に示す判定処理を順次実行する。
【００６６】
先ず、本実施形態では、３つのメモリデータの一時保存された各チェック用データ（に対応するデータ）と、制御用データのアドレスデータ（換言すれば、カウント値）とを照合する。具体的には、第１メモリデータとして読み出されたデータのチェック用データが、アドレスデータ（カウント値）と一致するか否かを判定する。また、第２メモリデータとして読み出されたデータのチェック用データのミラー反転値が、アドレスデータ（カウント値）と一致するか否かを判定する。さらには、第３メモリデータとして読み出されたデータのチェック用データのミラー反転値が、アドレスデータ（カウント値）と一致するか否かを判定する。そして、これら判定により、３つのメモリデータのうち、複数が一致するか否かを判定する（ステップ１７）。
【００６７】
ステップ１７の判定の結果、複数のメモリデータが一致する場合、一致するメモリデータ（例えば全てのメモリデータ）において、一時保存された制御用データ（に対応するデータ）が複数一致するか否かを判定する（ステップ１８）。本実施形態では、第１メモリデータとして読み出されたデータの制御用データ（データ１）と、第２メモリデータとして読み出されたデータの制御用データ（データ１）のミラー反転値と、第３メモリデータとして読み出されたデータの制御用データ（データ１）とが、互いに一致するか否かが判定される。
【００６８】
そして、ステップ１８において、制御用データ（に対応するデータ）が複数一致する場合、判定部３２は、例えば図示しないアクチュエータの駆動を制御する制御用データ１を、読み出した３つのメモリデータに関する制御用データ１に更新する（ステップ１９）。
【００６９】
一方、ステップ１７及びステップ１８のいずれかで複数が一致しない場合、判定部３２は読み出されたデータの信頼性が低いものとして、図示しないアクチュエータの駆動を制御する制御用データ１を、読み出した３つのメモリデータに関する制御用データ１に更新しない（ステップ２０）。この場合、例えば、アクチュエータの駆動を制御する制御用データ１として現在設定されている値が保持される。
【００７０】
そして、ステップ２１において、全ての制御用データについて、読み出し・判定処理が終了したか否かを判定し、終了した場合、制御用データ（メモリデータ）の読み出し・判定処理を終了とする。一方、終了していない場合、ステップ２２にて、カウンタ３０のカウント値を１つ繰り上げる。そして、上記したステップ１０以降を順次実行する。例えば、第１データの読み出し・判定処理が完了すると、ステップ２２にてカウンタ３０のカウント値が１つ繰り上がり、（０００１０）となる。そして、ステップ１０にて、その値を２回目の出力としてカウンタ３０がメモリ制御部３１に出力する。ステップ１１以降については、データ１の読み出し時のカウント値を、第２データを読み出すときのカウント値に置き換えれば同じであるので、その記載を省略する。
【００７１】
本実施形態では、制御用データ又はそのミラー反転データが、そのままメモリデータとしてメモリ２０に記憶されるのではなく、制御用データに、記憶先のアドレスのアドレスデータに対応するチェック用データが付加されて記憶される。そして、１つの制御用データに関する３つのメモリデータが記憶されたアドレスにおいて、各アドレスデータはそれぞれ同じ或いはミラー反転の関係となっている。また、アドレスのうち、固定部のデータは、１つの制御用データに関する３つのメモリデータが記憶された各アドレスにおいて互いに異なるとともに、複数の制御用データで同じとなっている。すなわち、規則性を有している。
【００７２】
このため、複数の制御用データを順次読み出すとともに、各制御用データについて関連する３つのメモリデータを順次読み出すようにメモリ２０に指示する指示手段（カウンタ３０及びメモリ制御部３１）を、簡素化することができる。すなわち、指示手段の規模増大、ひいては第２チップ１２の体格増大を抑制することができる。特に本実施形態では、カウンタ３０のカウント値又はそのミラー反転値に対し、（０００）、（０１０）、（１００）を順次付加して３つのメモリデータを読み出すアドレスとするため、指示手段の構成を簡素化することができる。
【００７３】
また、本実施形態では、１つの制御用データに関し、３つのメモリデータについて多数決判定を行うため、データの信頼性を向上することができる。さらに、メモリデータは、上記したように記憶先のアドレスの一部（チェック部）のアドレスデータに対応するチェック用データを含んでおり、判定部３２は、多数決判定の前に、３つのメモリデータについて、各チェック用データと対応するアドレスデータ（カウンタ３０のカウント値）とを照合する。例えばメモリデータが破壊されていれば、チェック用データ（又はそのミラー反転データ）とアドレスデータが一致しないため、制御用データ又はそのミラー反転データのみからなるメモリデータを単に多数決判定する構成に較べて、データの信頼性を向上することができる。
【００７４】
以上から、本実施形態によれば、データ信頼性を向上しつつ、第２チップ１２、ひいては半導体装置１０の体格増大を抑制することができる。
【００７５】
さらに本実施形態では、第２チップ１２が、メモリ２０（第１チップ１１）に対して読み出し専用となっている。このため、第２チップ１２側からメモリ２０に対してメモリデータの書き込みがなされず、誤書き込み自体が生じない。これにより、制御用データの信頼性をより向上することができる。
【００７６】
また、同一の制御用データに関する３つのメモリデータは、アドレスが分散してメモリ２０に記憶されている。メモリ２０においてメモリデータが壊れる場合、アドレスが連続する所定範囲のメモリデータがまとめて壊れることが多い。これに対し、本実施形態のようにアドレスを分散させておくと、１つの制御用データに関する３つのメモリデータ全てが破壊されるリスクを低減することができる。すなわち、データの信頼性を向上することができる。
【００７７】
特に本実施形態では、記憶先のアドレスのうち、下位の複数ビットをチェック部とし、該チェック部のアドレスデータの値又はそのミラー反転値を、メモリデータのチェック用データとしている。したがって、アドレスの上位複数ビットをチェック部とし、該チェック部のアドレスデータの値又はそのミラー反転値を、メモリデータのチェック用データとする場合に較べて、３つのメモリデータの分散度合いを大きくすることができる。そして、これにより、データの信頼性をさらに向上することができる。
【００７８】
また、本実施形態では、同一の制御用データに関し、第１メモリデータのチェック用データのミラー反転値を、第２メモリデータのチェック用データとし、第１メモリデータの制御用データのミラー反転値を、第２メモリデータの制御用データとしている。また、第１メモリデータのチェック用データのミラー反転値を、第３メモリデータのチェック用データとし、及び、第３メモリデータの制御用データを、第１メモリデータの制御用データと同じとしている。このため、制御用データを読み出す際に、メモリ２０の故障や、読み出しミス等により、同じメモリデータを複数回読み出した場合（例えば第１メモリデータを２回読み出した場合）に、その誤動作を検出することができる。なお、第１メモリデータの制御用データのミラー反転値を、第３メモリデータの制御用データとし、及び、第３メモリデータのチェック用データを、第１メモリデータのチェック用データと同じとしても、同等の効果を奏することができる。
【００７９】
また、本実施形態では、チェック用データが、全ビット０及び全ビット１を除いて設定される。換言すれば、チェック部のアドレスデータが全ビット０及び全ビット１であるアドレスを除いて、メモリデータが記憶される。メモリデータのエラーが生じた場合、全ビット‘０’又は‘１’となることが多い。このため、本実施形態によれば、データエラーを検出することができる。
【００８０】
（変形例）
図４に示す判定方法では、同一制御用データに関し、順次読み出された３つのメモリデータについて、先ず各チェック用データと、対応するアドレスデータ（換言すれば、カウンタ３０のカウント値）が一致するものが複数あるか否かを判定する。そして、複数一致する場合に、一致したメモリデータについて、制御用データの一致が複数あるか否かを判定する例を示した。しかしながら、図５に示すように、ステップ１６のあと、同一制御用データに関し、順次読み出された３つのメモリデータについて、先ず制御用データの一致が複数あるか否かを判定する（ステップ２７）。ステップ２７で複数一致する場合に、一致したメモリデータについて、各チェック用データと、対応するアドレスデータ（換言すれば、カウンタ３０のカウント値）が一致するものが複数あるか否かを判定する（ステップ２８）。そして、ステップ２８で複数一致する場合に制御用データを更新し（ステップ１９）、両ステップ（ステップ２７，２８）のいずれかで一致しない場合に、制御用データを更新しない（ステップ２０）ようにしても良い。なお、図５に示すフローチャートは、図４に示すステップ１７，１８を、ステップ２７，２８で置き換えた点以外は、図４と同じである。
【００８１】
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００８２】
本実施形態では、第２チップ１２が読み出し専用のチップである例を示したが、第１チップ１１に対して読み出しとともに書き込みも可能な第２チップ１２を採用することもできる。
【００８３】
本実施形態では、記憶先のアドレスの下位複数ビットをチェック部のアドレスデータとし、このアドレスデータ又はそのミラー反転データを、メモリデータのチェック用データとする例を示した。しかしながら、記憶先のアドレスの上位複数ビットをチェック部のアドレスデータとし、このアドレスデータ又はそのミラー反転データを、メモリデータのチェック用データとしても良い。
【００８４】
本実施形態では、図２に示したように、同一の制御用データに関し、データＡをチェック用データ、データＮを制御用データとする第１メモリデータ、データＡのミラー反転データをチェック用データ、データＮのミラー反転データを制御用データとする第２メモリデータ、データＡのミラー反転データをチェック用データ、データＮを制御用データとする第３メモリデータを備える例を示した。しかしながら、１つの制御用データに関する３つのメモリデータとしては、上記例に限定されるものではない。３つのメモリデータについて、制御用データ同士、チェック用データ同士が、それぞれ同じ或いはミラー反転の関係にあり、さらには記憶先のアドレスデータ同士も、同じ或いはミラー反転の関係にあれば良い。
【００８５】
本実施形態では、メモリデータのうちのチェックデータが、全ビット０及び全ビット１を除いて設定される例を示したが、全ビット０又は全ビット１とすることもできる。
【符号の説明】
【００８６】
１０・・・半導体装置
１１・・・第１チップ
１２・・・第２チップ
２０・・・メモリ
３０・・・カウンタ
３１・・・メモリ制御部
３２・・・判定部
【図１】
2012226604.tif 000003
【図２】
2012226604.tif 000004
【図３】
2012226604.tif 000005
【図４】
2012226604.tif 000006
【図５】
2012226604.tif 000007