(57)【要約】【課題】複数のメモリを有効活用し、ＣＰＵの負担を軽減することでメモリの迅速な試験が可能な半導体装置、半導体装置におけるメモリの試験方法および試験プログラムを得ること。【解決手段】半導体装置１０のメモリのうちの異常のないメモリに試験データを書き込み、試験の対象の他のメモリにアドレスを順時指定してデータコピー手段１４で試験データをコピーする。その後、両メモリの領域を順次切り替えながら対応する領域ごとにデータを読み出して排他的論理和手段１６で排他的論理和をとり、全領域についてこれらの論理和が「０」のとき、試験の対象となるメモリを正常であると判別する。【選択図】図１
2012048775.tif 000002
【特許請求の範囲】
【請求項１】
装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択手段と、
この特定メモリ選択手段によって選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み手段と、
このＣＰＵ書き込み手段で書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定手段と、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定手段により指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピー手段と、
このデータコピー手段により前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出す対データ読出手段と、
この対データ読出手段で一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和手段と、
この排他的論理和手段が前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和手段と、
この論理和手段の論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別手段
とを具備することを特徴とする半導体装置。
【請求項２】
前記特定メモリ選択手段は、前記複数のメモリの中から１つのメモリを選択するメモリ選択手段と、このメモリ選択手段によって選択したメモリとしての特定メモリの単位領域ごとにＣＰＵが予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータをＣＰＵが全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェック手段と、このＣＰＵチェック手段によって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別手段とを具備することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記特定メモリ選択手段の選択した前記特定メモリの一部の領域に異常があったときに、この領域を代替してデータの読み書きを行う予備メモリを具備するとを特徴とする請求項１記載の半導体装置。
【請求項４】
前記特定メモリは、物理的な１つのメモリの半分のメモリ領域から構成されることを特徴とする請求項１記載の半導体装置。
【請求項５】
前記複数のメモリは、それぞれ物理的に１つずつ独立したメモリであることを特徴とする請求項１記載の半導体装置。
【請求項６】
装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択ステップと、
この特定メモリ選択ステップで選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込みステップと、
このＣＰＵ書き込みステップで書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定ステップと、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定ステップにより指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピーステップと、
このデータコピーステップにより前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出す対データ読出ステップと、
この対データ読出ステップで一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和ステップと、
この排他的論理和ステップで前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和ステップと、
この論理和ステップで論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別ステップ
とを具備することを特徴とする半導体装置におけるメモリの試験方法。
【請求項７】
前記特定メモリ選択ステップは、前記複数のメモリの中から１つのメモリを選択するメモリ選択ステップと、このメモリ選択ステップによって選択したメモリとしての特定メモリの単位領域ごとにＣＰＵが予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータをＣＰＵが全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェックステップと、このＣＰＵチェックステップによって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別ステップとを具備することを特徴とする請求項６記載の半導体装置におけるメモリの試験方法。
【請求項８】
半導体装置に備えられたコンピュータに、
この半導体装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択処理と、
この特定メモリ選択処理で選択した特定メモリに対して予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み処理と、
このＣＰＵ書き込み処理で書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定処理と、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定処理により指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込ませるデータコピー処理と、
このデータコピー処理により前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出させる対データ読出処理と、
この対データ読出処理で一対のデータが読み出されるたびにこれらの排他的論理和をとる排他的論理和回路にこれら対のデータを供給する排他的論理和処理と、
この排他的論理和処理で前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果を論理和回路に供給する論理和回路処理と、
この論理和回路処理で論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別処理
とを実行させることを特徴とする半導体装置におけるメモリの試験プログラム。
【請求項９】
前記特定メモリ選択処理は、前記複数のメモリの中から１つのメモリを選択するメモリ選択処理と、このメモリ選択処理によって選択したメモリとしての特定メモリの単位領域ごとに予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータを全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェック処理と、このＣＰＵチェック処理によって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別処理とを更にコンピュータに実行させることを特徴とする請求項８記載の半導体装置におけるメモリの試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、半導体装置におけるメモリの試験方法および試験プログラムに関する。本発明は、特にＣＰＵ（Central Processing Unit）が組み込まれた半導体装置、半導体装置におけるメモリの試験方法および試験プログラムに関する。
【背景技術】
【０００２】
半導体装置の中には、メモリとこれを制御するメモリ制御回路を一体的に組み込んだ装置が存在している。
【０００３】
図１４は、本発明に関連する関連技術として、通信機器に使用される半導体装置の構成の一例を示したものである（たとえば特許文献１参照）。この半導体装置１００は、ＣＰＵ（Central Processing Unit）１０１と、これに接続されたメモリ制御回路１０２を備えている。メモリ制御回路１０２は、制御の対象となる第１〜第４のメモリ１０３1〜１０３4と、これら第１〜第４のメモリ１０３1〜１０３4に格納するデータを外部から受信する受信回路１０４と、第１〜第４のメモリ１０３1〜１０３4に格納されたデータを外部に送信する送信回路１０５を接続している。
【０００４】
このような半導体装置１００で第１〜第４のメモリ１０３1〜１０３4の試験を行う際には、ＣＰＵ１０１がその図示しない制御プログラムを実行してメモリ制御回路１０２を制御する。第１〜第４のメモリ１０３1〜１０３4の試験の順序およびそれぞれのメモリ１０３1〜１０３4の試験の要否は特に問われない。ここでは、第１のメモリ１０３1の試験について説明する。
【０００５】
第１のメモリ１０３1を試験する場合、ＣＰＵ１０１は所定のデータ幅の試験用データを期待値として予め用意しておく。そして、メモリ制御回路１０２の制御の下に、第１のメモリ１０３1内のアドレスを指定して試験用データを書き込むライト動作を行う。第１のメモリ１０３1側のデータ幅が試験用データのデータ幅よりも大きい場合、ＣＰＵ１０１は第１のメモリ１０３1に対して複数回のデータの書き込みを行う必要がある。
【０００６】
第１のメモリ１０３1に対するライト動作が終了したら、ＣＰＵ１０１はメモリ制御回路１０２に対して書き込まれたデータを読み出すリード動作を行う。リード動作もデータ幅との関係で複数回行われる場合がある。リード動作が行われたら、ＣＰＵ１０１は読み出されたデータを期待値と順に比較する。そして、これらが第１のメモリ１０３1に格納された試験用データと完全に一致する場合には、第１のメモリ１０３1に異常がないと判別することになる。
【０００７】
第２〜第４のメモリ１０３2〜１０３4の試験も、第１のメモリ１０３1と同様に行われる。第２〜第４のメモリ１０３2〜１０３4についても、これらの読み書きに異常がなければ、第１〜第４のメモリ１０３1〜１０３4は正常にデータの読み書きが行われる旨の判別が行われることになる。
【０００８】
図１５および図１６は、この関連技術におけるメモリ制御回路を具体的に表わしたものである。図１４と共に説明する。メモリ制御回路１０２は、アドレス制御部１２１およびデータ制御部１２２を有するメモリ制御回路本体１２３を有している。メモリ制御回路本体１２３は、ＣＰＵ１０１と接続するためのＣＰＵインタフェース部１２４と、第１〜第４のメモリ１０３1〜１０３4と個別に接続する第１〜第４のメモリ端子１２５1〜１２５4と、受信回路１０４の受信したデータを入力する入力部１２６および送信回路１０５にデータを送出するための出力部１２７を備えている。
【０００９】
図１５では、図１４に示したＣＰＵ１０１がＣＰＵインタフェース部１２４を用いてメモリ制御回路本体１２３を介して、第１〜第４のメモリ１０３1〜１０３4に試験用データを順次書き込む様子を示している。たとえば、第１のメモリ１０３1に試験用データを書き込む場合には、第１のメモリ端子１２５1に対してアドレス制御部１２１から格納時のアドレスを指定して、データ制御部１２２から試験用データを供給する。
【００１０】
次に、第２のメモリ１０３2に試験用データを書き込む場合には、第２のメモリ端子１２５2に対して同様にアドレス制御部１２１から格納時のアドレスを指定して、データ制御部１２２から試験用データを供給する。第３のメモリ１０３3および第４のメモリ１０３4についても、同様にして順次、試験用データの格納が行われることになる。
【００１１】
図１６は、図１４に示したＣＰＵ１０１がＣＰＵインタフェース部１２４を用いてメモリ制御回路本体１２３を介して、第１〜第４のメモリ１０３1〜１０３4から試験用データを順次読み出す様子を示している。たとえば、第１のメモリ１０３1に試験用データを書き込んだ後にこれを読み出す場合、第１のメモリ端子１２５1に対してアドレス制御部１２１から格納時のアドレスを指定して、試験用データの読み出しを行う。
【００１２】
次に、第２のメモリ１０３2から試験用データを読み出す場合には、第２のメモリ端子１２５2に対して同様にアドレス制御部１２１から格納時のアドレスを指定して、試験用データを読み出す。第３のメモリ１０３3および第４のメモリ１０３4についても、同様にして順次、試験用データの読み出しが行われることになる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平１１−０６６８８９号公報（第００１８段落、図１）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
以上説明したように本発明の関連技術では、ＣＰＵ１０１が、図示しない記憶媒体に格納した制御プログラムを実行することで所定個数のメモリ１０３（図１４に示した例では第１〜第４のメモリ１０３1〜１０３4）に対して順次、試験用データのライト動作とリード動作を繰り返して試験を行う。このようにＣＰＵ１０１は、試験に関するすべての処理に係わる。このため、メモリに対するＣＰＵ１０１のアクセスは比較的低速となり、メモリが増えたような場合には、試験に時間がかかり過ぎるという問題があった。このため、メモリの不良や特性不良、また回路の不備に関する試験を迅速に行おうとすると、十分な結果を得ることができないという問題があった。
【００１５】
そこで本発明の目的は、複数のメモリを有効活用し、ＣＰＵの負担を軽減することでメモリの迅速な試験が可能な半導体装置、半導体装置におけるメモリの試験方法および試験プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明では、（イ）装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択手段と、（ロ）この特定メモリ選択手段によって選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み手段と、（ハ）このＣＰＵ書き込み手段で書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定するメモリ指定手段と、（ニ）前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記したメモリ指定手段により指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピー手段と、（ホ）このデータコピー手段により前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出す対データ読出手段と、（へ）この対データ読出手段で一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和手段と、（ト）この排他的論理和手段が前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和手段と、（チ）この論理和手段の論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別手段とを半導体装置が具備する。
【００１７】
また、本発明では、（イ）装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択ステップと、（ロ）この特定メモリ選択ステップで選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込みステップと、（ハ）このＣＰＵ書き込みステップで書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定するメモリ指定ステップと、（ニ）前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記したメモリ指定ステップにより指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピーステップと、（ホ）このデータコピーステップにより前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出す対データ読出ステップと、（へ）この対データ読出ステップで一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和ステップと、（ト）この排他的論理和ステップで前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和ステップと、（チ）この論理和ステップで論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別ステップとを半導体装置におけるメモリの試験方法が具備する。
【００１８】
更に本発明では、半導体装置に備えられたコンピュータに、半導体装置におけるメモリの試験プログラムとして、（イ）この半導体装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択処理と、（ロ）この特定メモリ選択処理で選択した特定メモリに対して予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み処理と、（ハ）このＣＰＵ書き込み処理で書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定するメモリ指定処理と、（ニ）前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記したメモリ指定処理により指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込ませるデータコピー処理と、（ホ）このデータコピー処理により前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出させる対データ読出処理と、（へ）この対データ読出処理で一対のデータが読み出されるたびにこれらの排他的論理和をとる排他的論理和回路にこれら対のデータを供給する排他的論理和処理と、（ト）この排他的論理和処理で前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果を論理和回路に供給する論理和回路処理と、（チ）この論理和回路処理で論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別処理とを実行させる。
【発明の効果】
【００１９】
以上説明したように本発明によれば、異常がない特定メモリ自体に試験用データを書き込んでおいて、後はデータを格納する領域を操作しながら試験対象のメモリとしての指定メモリにこの試験データをコピーして、これらのメモリの領域ごとのデータを比較して指定メモリに異常があるかを判別するようにした。これにより、ＣＰＵが逐一、指定メモリに対してデータの書き込みや読み出しを行って異常の有無をチェックする処理と比較すると、自由度が高いデータ配列を用いて高速にアクセスするメモリ試験が可能となり、特に大容量のメモリを配置した半導体装置の迅速な試験と信頼性の確保に役立てることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の半導体装置のクレーム対応図である。
【図２】本発明の半導体装置におけるメモリの試験方法のクレーム対応図である。
【図３】本発明の半導体装置におけるメモリの試験プログラムのクレーム対応図である。
【図４】本発明の実施の形態における半導体装置を表わしたブロック図である。
【図５】図４に示した半導体装置のデータ格納時におけるメモリ制御回路を具体的に表わしたブロック図である。
【図６】本実施の形態の半導体装置のデータ読み出し時におけるメモリ制御回路の動作を表わした説明図である。
【図７】本実施の形態のメモリ制御回路で各メモリのテストを行う際の第１段階を示した説明図である。
【図８】本実施の形態におけるＣＰＵが行う第１Ａのメモリのチェックの様子を表わした流れ図である。
【図９】本実施の形態における対象となるメモリのライト・リード・チェックを高速で行うチェック部の構成の一例を表わした回路図である。
【図１０】本実施の形態における特定メモリを用いて、指定メモリのチェックをハードロジックで行う一連の処理の第１段階を示す説明図である。
【図１１】本実施の形態における特定メモリを用いて、指定メモリのチェックをハードロジックで行う一連の処理の第２段階を示す説明図である。
【図１２】本実施の形態における特定メモリを用いて、指定メモリのチェックをハードロジックで行う一連の処理の第３段階を示す説明図である。
【図１３】本実施の形態における特定メモリを用いて、指定メモリのチェックをハードロジックで行う一連の処理の第４段階を示す説明図である。
【図１４】本発明に関連する関連技術としての半導体装置の構成の一例を示したブロック図である。
【図１５】関連技術におけるメモリ制御回路の部分がメモリに試験用データの書き込みを順に行う様子を表わした説明図である。
【図１６】関連技術におけるメモリ制御回路の部分がメモリから試験用データを順に読み出す様子を表わした説明図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の半導体装置のクレーム対応図を示したものである。本発明の半導体装置１０は、特定メモリ選択手段１１と、ＣＰＵ書き込み手段１２と、メモリ指定手段１３と、データコピー手段１４と、対データ読出手段１５と、排他的論理和手段１６と、論理和手段１７と、異常有無判別手段１８を備えている。ここで、特定メモリ選択手段１１は、装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する。ＣＰＵ書き込み手段１２は、特定メモリ選択手段１１によって選択した前記した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込む。メモリ指定手段１３は、ＣＰＵ書き込み手段１２で書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定する。データコピー手段１４は、前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながらメモリ指定手段１３により指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込む。対データ読出手段１５は、データコピー手段１４により前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出す。排他的論理和手段１６は、対データ読出手段１５で前記した一対のデータを読み出すたびにこれらの排他的論理和をとる。論理和手段１７は、排他的論理和手段１６が前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる。異常有無判別手段１８は、論理和手段１７の論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する。
【００２２】
図２は、本発明の半導体装置におけるメモリの試験方法のクレーム対応図を示したものである。本発明の半導体装置におけるメモリの試験方法２０は、特定メモリ選択ステップ２１と、ＣＰＵ書き込みステップ２２と、メモリ指定ステップ２３と、データコピーステップ２４と、対データ読出ステップ２５と、排他的論理和ステップ２６と、論理和ステップ２７と、異常有無判別ステップ２８を備えている。ここで、特定メモリ選択ステップ２１では、装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する。ＣＰＵ書き込みステップ２２では、特定メモリ選択ステップ２１で選択した前記した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込む。メモリ指定ステップ２３では、ＣＰＵ書き込みステップ２２で書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定する。データコピーステップ２４では、前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながらメモリ指定ステップ２３により指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込む。対データ読出ステップ２５では、データコピーステップ２４により前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出す。排他的論理和ステップ２６では、対データ読出ステップ２５で前記した一対のデータを読み出すたびにこれらの排他的論理和をとる。論理和ステップ２７では、排他的論理和ステップ２６で前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる。異常有無判別ステップ２８では、論理和ステップ２７で論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する。
【００２３】
図３は、本発明の半導体装置におけるメモリの試験プログラムのクレーム対応図を示したものである。本発明の半導体装置におけるメモリの試験プログラム３０は、半導体装置に備えられたコンピュータに、特定メモリ選択処理３１と、ＣＰＵ書き込み処理３２と、メモリ指定処理３３と、データコピー処理３４と、対データ読出処理３５と、排他的論理和処理３６と、論理和回路処理３７と、異常有無判別処理３８を実行させるようにしている。ここで、特定メモリ選択処理３１では、半導体装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する。ＣＰＵ書き込み処理３２では、特定メモリ選択処理３１で選択した前記した特定メモリに対して予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込む。メモリ指定処理３３では、ＣＰＵ書き込み処理３２で書き込んだ前記した特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記した複数のメモリから１つ指定する。データコピー処理３４では、前記した特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながらメモリ指定処理３３により指定したメモリとしての指定メモリに対して前記した特定メモリに格納されたデータを対応する領域にすべて書き込ませる。対データ読出処理３５では、データコピー処理３４により前記した特定メモリと同一のデータが書き込まれた前記した指定メモリと前記した特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記した指定メモリに格納されている各指定領域のデータすべてを前記した特定メモリとの間の一対のデータとして順次読み出させる。排他的論理和処理３６では、対データ読出処理３５で一対のデータが読み出されるたびにこれらの排他的論理和をとる排他的論理和回路に前記した一対のデータを供給する。論理和回路処理３７では、排他的論理和処理３６で前記した特定メモリと前記した指定メモリの間の対応するすべての領域について排他的論理和をとった結果を論理和回路に供給する。異常有無判別処理３８では、論理和回路処理３７で論理和をとった結果が「０」のとき前記した指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する。
【００２４】
＜発明の実施の形態＞
【００２５】
次に本発明の実施の形態を説明する。
【００２６】
図４は、本発明の実施の形態による半導体装置を表わしたものである。本実施の形態の半導体装置２００は、装置内の各デバイスの設定や障害収集およびそれらの通知を行うためのＣＰＵ２０１と、このＣＰＵ２０１に接続されて主信号データ（以下、適宜、データと略称する）を記憶するメモリ制御回路２０２を備えている。メモリ制御回路２０２は、データの格納の対象となる第１Ａおよび第１Ｂのメモリ２０３1Ａ、２０３1Ｂと、同じくデータの格納の対象となる第２Ａおよび第２Ｂのメモリ２０３2Ａ、２０３2Ｂと、データを外部から受信する受信回路２０４および各メモリ２０３1Ａ、２０３1Ｂ、２０３2Ａ、２０３2Ｂに格納されたデータを外部に送信する送信回路２０５を接続している。第１Ａのメモリ２０３1Ａと第１Ｂのメモリ２０３1Ｂは、互いに同一のメモリ容量からなるＡ面とＢ面の１対のメモリである。また、第２Ａのメモリ２０３2Ａと第２Ｂのメモリ２０３2Ｂも、互いに同一のメモリ容量からなるＡ面とＢ面の１対のメモリである。
【００２７】
図５は、図４に示した半導体装置のデータ格納時におけるメモリ制御回路を具体的に表わしたものである。図４と共に説明する。
【００２８】
メモリ制御回路２０２は、アドレス制御部２２１、データ制御部２２２およびチェック部２２３を有するメモリ制御回路本体２２４を備えている。ここで、アドレス制御部２２１は図４に示した各メモリ２０３1Ａ、２０３1Ｂ、２０３2Ａ、２０３2Ｂのアドレスを制御する。データ制御部２２２はこれらのメモリ２０３1Ａ、２０３1Ｂ、２０３2Ａ、２０３2Ｂに対して入出力するデータを制御する。チェック部２２３は、後に説明するようにテスト対象のメモリ間におけるデータの比較を行う。
【００２９】
メモリ制御回路本体２２４は、ＣＰＵ２０１と接続するためのＣＰＵインタフェース部２２５と、第１Ａのメモリ２０３1Ａと接続する第１Ａのメモリ端子２２６1Ａと、第１Ｂのメモリ２０３1Ｂと接続する第１Ｂのメモリ端子２２６1Ｂと、第２Ａのメモリ２０３2Ａと接続する第２Ａのメモリ端子２２６2Ａと、第２Ｂのメモリ２０３2Ｂと接続する第２Ｂのメモリ端子２２６2Ｂと、受信回路２０４からのデータを入力する入力部２２７および送信回路２０５にデータを送出する出力部２２８を備えている。
【００３０】
このようなメモリ制御回路２０２で、図４に示した受信回路２０４を経てデータの入力部２２７に入力したデータは、メモリ制御回路本体２２４のアドレス制御部２２１の制御によって、各メモリ端子２２６1Ａ、２２６1Ｂ、２２６2Ａ、２２６2Ｂのうちの指示されたメモリ領域に格納されることになる。たとえば、受信回路２０４の受信したデータは、アドレス制御部２２１で第１Ａのメモリ２０３1Ａ内のアドレスを指定された場合、矢印２２９1Ａに示すように、第１Ａのメモリ２０３1Ａの該当する領域に格納される。矢印２２９1Ｂは第１Ｂのメモリ２０３1Ｂに書き込みが行われる場合のデータの流れを表わしている。また、矢印２２９2Ａは第２Ａのメモリ２０３2Ａに書き込みが行われる場合を表わし、矢印２２９2Ｂは第２Ｂのメモリ２０３2Ｂに書き込みが行われる場合を表わしている。
【００３１】
図６は、半導体装置のデータ読み出し時におけるメモリ制御回路の動作を表わしたものである。図６で図４および図５と同一部分には同一の符号を付している。図４と共に説明する。
【００３２】
第１Ａのメモリ２０３1Ａからデータを読み出す場合、矢印２３１1Ａに示すようにメモリ制御回路本体２２４は第１Ａのメモリ２０３1Ａのアドレスを制御してデータを出力部２２８に読み出す。読み出されたデータは、ここから送信回路２０５に送られて半導体装置２００の外に送出される。
【００３３】
同様に第１Ｂのメモリ２０３1Ｂからデータを読み出す場合、矢印２３１1Ｂに示すようにメモリ制御回路本体２２４は第１Ｂのメモリ２０３1Ｂのアドレスを制御してデータを出力部２２８に読み出す。読み出されたデータは、ここから送信回路２０５に送られて半導体装置２００の外に送出される。また、第２Ａのメモリ２０３2Ａからデータを読み出す場合、矢印２３１2Ｂに示すようにメモリ制御回路本体２２４は第２Ａのメモリ２０３2Ａのアドレスを制御してデータを出力部２２８に読み出す。読み出されたデータは、ここから送信回路２０５に送られて半導体装置２００の外に送出される。更に、第２Ｂのメモリ２０３2Ｂからデータを読み出す場合、矢印２３１2Ｂに示すようにメモリ制御回路本体２２４は第２Ｂのメモリ２０３2Ｂのアドレスを制御してデータを出力部２２８に読み出す。読み出されたデータは、ここから送信回路２０５に送られて半導体装置２００の外に送出される。
【００３４】
図５に示した各メモリ端子２２６1Ａ、２２６1Ｂ、２２６2Ａ、２２６2Ｂに対するデータの書き込み（ライト）と、図６に示した各メモリ端子２２６1Ａ、２２６1Ｂ、２２６2Ａ、２２６2Ｂからのデータの読み出し（リード）は、一般に高速な処理が必要とされる。そこで、本実施の形態の半導体装置２００では、各メモリ２０３1Ａ、２０３2Ａ、２０３1Ｂ、２０３2Ｂのテストを行う際の第１段階の処理を除いて、ハードロジックのみで動作するようにしている。
【００３５】
図７は、本実施の形態のメモリ制御回路で各メモリのテストを行う際の第１段階を示したものである。図７で図４と同一部分には同一の符号を付している。
【００３６】
まず、図４に示したＣＰＵ２０１は、予め定めた所定のデータ幅の試験情報を、ＣＰＵインタフェース部２２５を介してメモリ制御回路本体２２４に送出し、これをアドレス制御部２２１の制御の下にデータ制御部２２２に格納する。試験情報としては、たとえばオール「０」またはオール「１」のデータであってもよい。ここでは、データ幅がＭビット（ただし、数値Ｍは２以上。）であり、これらのデータがオール「０」の場合を第１の試験情報とし、これらのデータがオール「１」の場合を第２の試験情報とすることにする。数値Ｍは大きな値である必要はない。データ制御部２２２における試験情報を格納する領域は、数値Ｍに対応したサイズとなる。
【００３７】
ＣＰＵ２０１は試験情報をデータ制御部２２２に格納したら、第１Ａのメモリ端子２２６1Ａを介して第１Ａのメモリ２０３1Ａ全体についてエラーを生じる領域が存在するかのチェックを行う。この手法は、関連技術として説明した従来の技術と同様である。
【００３８】
図８は、ＣＰＵが行う第１Ａのメモリのチェックの様子を表わしたものである。図４および図７と共に説明する。
【００３９】
まず、ＣＰＵ２０１はチェックの対象となるメモリとしての第１Ａのメモリ２０３1Ａの先頭の番地から順に試験情報を格納する（ステップＳ３０１）。試験情報の格納が終了したら、その第１Ａのメモリ２０３1Ａに格納のための余白（残領域）が存在するかをチェックして（ステップＳ３０２）、存在する場合には（Ｙ）、その先頭の番地から順に試験情報を格納する（ステップＳ３０３）。この後、ステップＳ３０２の処理に戻る。このような処理は、第１Ａのメモリ２０３1Ａに余白が生じなくなるまで繰り返し行われる。これにより、第１Ａのメモリ２０３1Ａにはその先頭の番地から試験情報が繰り返し全領域に格納されることになる。
【００４０】
このようにして第１Ａのメモリ２０３1Ａのすべてに試験情報が格納されたら（ステップＳ３０２：Ｎ）、ＣＰＵ２０１はチェック部２２３に同一の試験情報を格納する（ステップＳ３０４）。そして、チェックの対象となるメモリとしての第１Ａのメモリ２０３1Ａの先頭から試験情報と同一のデータ幅のデータを読み出して（ステップＳ３０５）、これをチェック部２２３に与える。
【００４１】
チェック部２２３は、所定のデータ幅としての試験情報と同一のデータ幅だけのビット数の排他的論理和回路（Ｅ−ＯＲ回路）から構成されている。チェック部２２３は、試験情報を構成する各ビットの論理値をこれら排他的論理和回路の一方の入力端子に与え、他方の入力端子に第１Ａのメモリ２０３1Ａから読み出した対応するビットの論理値を与える。このようにして、試験情報を構成する各ビットは第１Ａのメモリ２０３1Ａから読み出した対応するビットと論理値が一致するか否かの比較処理が行われる（ステップＳ３０６）。各ビットがすべて一致して比較結果がすべてのビットについて「０」となれば（ステップＳ３０７：Ｙ）、第１Ａのメモリ２０３1Ａにまだ読み出していない残領域が存在するかをチェックする（ステップＳ３０８）。
【００４２】
残領域が存在すれば（ステップＳ３０８：Ｙ）、第１Ａのメモリ２０３1Ａの残領域の先頭から試験情報と同一のデータ幅のデータを読み出す（ステップＳ３０９）。そして、ステップＳ３０６に戻ってチェック部２２３に格納された試験情報と比較が行われる。このようにして第１Ａのメモリ２０３1Ａの残領域がなくなるまで、同様の処理が繰り返されることになる。
【００４３】
これらの繰り返し処理の途中で、ステップＳ３０６の比較結果の少なくとも一部のビットが一致しなかった場合には（ステップＳ３０７：Ｎ）、ＣＰＵ２０１はデータ制御部２２２内あるいはチェック部２２３内の所定の領域に、第１Ａのメモリ２０３1Ａにおけるエラーの生じたアドレスを格納する（ステップＳ３１０）。
【００４４】
たとえば、第１の試験情報を用いて第１Ａのメモリ２０３1Ａのチェックを行ったとすると、第１Ａのメモリ２０３1Ａにはオール「０」のデータが書き込まれる。これらのデータが所定のデータ幅のオール「０」の試験情報と繰り返しチェックされる結果、第１Ａのメモリ２０３1Ａにおける排他的論理和をとった結果が「１」となった番地のアドレスが、ステップＳ３１０の処理で格納されることになる。この後は、残領域が存在する限り（ステップＳ３０８：Ｙ）、残領域の先頭から所定のデータ幅のデータを読み出して（ステップＳ３０９）、ステップＳ３０６に戻って試験情報と比較することになる。残領域がなくなれば（ステップＳ３０８：Ｎ）、第１Ａのメモリ２０３1Ａについてのチェックが終了する（エンド）。
【００４５】
以上説明した処理では、第１Ａのメモリ２０３1Ａにデータとして「０」を書き込んで「１」が出力されるメモリをエラーの生じた素子として検出することにした。これに加えて第１Ａのメモリ２０３1Ａにデータとして「１」を書き込んで「０」が出力されるメモリについてもエラーの生じた素子として検出する場合には、図８に示した第１Ａのメモリ２０３1Ａのチェックを第２の試験情報についても行うことになる。
【００４６】
もちろん、第１Ａのメモリ２０３1Ａにおけるエラーの発生は、第１Ａのメモリ２０３1Ａ自体のメモリに起因しないものもある。たとえば、メモリ制御回路２２４と第１Ａのメモリ２０３1Ａを構成するメモリ間でのインタフェースの不整合や、メモリ制御回路２２４自身の同時動作によるＬＳＩ（Large Scale Integration）内部電源の揺らぎによるメモリインタフェースエラーを一例として挙げることができる。
【００４７】
以上のようにして第１Ａのメモリ２０３1Ａについて、これを構成する各メモリの読み書きのチェックが終了したら、本実施の形態の半導体装置２００は、これ以後の他のメモリ２０３1Ｂ、２０３2Ａ、２０３2ＢのチェックをＣＰＵ２０１が直接関与することなく、装置自体の自律的な制御で実現する。このとき、ＣＰＵ２０１が比較的時間を掛けてチェックした第１Ａのメモリ２０３1Ａを他のメモリの試験に使用することになる。
【００４８】
図９は、ハードロジックで、対象となるメモリのライト・リード・チェックを高速で行うチェック部の構成の一例を表わしたものである。このチェック部２２３は、第１グループのチェック用入力端子群２４１と、第２グループのチェック用入力端子群２４２と、これらの入力端子群２４１、２４２を構成する入力端子のそれぞれの総数Ｍと等しい数の排他的論理和回路（Ｅ−ＯＲ回路）２４３1、２４３2、……２４３Mと、１つの論理和（ＯＲ）回路２４４と、この論理和回路２４４に接続された出力端子２４５により構成されている。
【００４９】
ここで第１グループのチェック用入力端子群２４１は、チェックの完了したメモリ側のデータを入力する端子群であり、第１の入力端子２４６1〜第Ｍの入力端子２４６Mから構成されている。また、第２グループのチェック用入力端子群２４２は、チェックの対象となるメモリ側のデータを入力する端子群であり、第１の入力端子２４７1〜第Ｍの入力端子２４７Mから構成されている。第１グループの第１の入力端子２４６1と第２グループの第１の入力端子２４７1は、第１の排他的論理和回路２４３1に入力されて排他的論理和が採られ、その結果がＭ入力の論理和回路２４４に入力される。以下、同様にして第１グループの第Ｍの入力端子２４６Mと第２グループの第Ｍの入力端子２４７Mは、第Ｍの排他的論理和回路２４３Mに入力されて排他的論理和が採られ、その結果がＭ入力の論理和回路２４４に入力される。
【００５０】
したがって、論理和回路２４４からは第１グループのチェック用入力端子群２４１から入力されるＭビットのデータと、第２グループのチェック用入力端子群２４２から入力されるＭビットのデータとが、それぞれの対応する端子間ですべて一致する論理であるとき、出力端子２４５から出力される論理は「０」となる。これ以外の場合は、出力端子２４５から出力される論理が「１」となる。出力端子２４５から出力される論理が「０」のとき、チェックの対象となるメモリは、チェックを行ったＭビットについてエラーが生じなかったとされる。これに対して、出力端子２４５から出力される論理が「１」のとき、チェックの対象となるメモリは、チェックを行ったＭビットのいずれかについてエラーが生じていることになる。
【００５１】
次に、図８でチェックの終了したメモリ（特定メモリ）を用いて、同一容量の他のメモリ（指定メモリ）のチェックをハードロジックで行う一連の処理を説明する。ここでは、先の説明で図４における第１Ａのメモリ２０３1Ａが正常であるという判断が行われたのを基にして、第２Ａのメモリ２０３2Ａのチェックを行う場合を説明する。
【００５２】
図１０は、処理の第１段階を示したものである。アドレス制御部２２１は、第１Ａのメモリ２０３1Ａと第２Ａのメモリ２０３2Ａのそれぞれの先頭アドレスから順にアドレスを同一範囲ずつ指定する（矢印２５１、２５２）。
【００５３】
図１１は、処理の第２段階を示したものである。第２段階では、アドレス制御部２２１が第１Ａのメモリ２０３1Ａにアドレスを指定した状態で（図１０の矢印２５１）、データ制御部２２２が対応するアドレスのデータを読み出す（矢印２５３）。そして、アドレス制御部２２１が第２Ａのメモリ２０３2Ａにアドレスを指定した状態で（図１０の矢印２５２）、読み出したデータを第２Ａのメモリ２０３2Ａに書き込む（矢印２５４）。
【００５４】
以上の処理で第１Ａのメモリ２０３1Ａに格納されている全データが第２Ａのメモリ２０３2Ａに書き込まれない場合には、アドレスを順時移動させながら第１Ａのメモリ２０３1Ａに格納されているデータを第２Ａのメモリ２０３2Ａに書き込む操作を繰り返す。この結果、所定回数の繰り返しで、第１Ａのメモリ２０３1Ａに格納されている全データが第２Ａのメモリ２０３2Ａのそれぞれ対応する領域に書き込まれることになる。
【００５５】
図１２は、処理の第３段階として両メモリに格納されているデータをチェック部で比較する処理の様子を表わしたものである。アドレス制御部２２１は、第１Ａのメモリ２０３1Ａと第２Ａのメモリ２０３2Ａに同一範囲のアドレスを指定する（矢印２５５、２５６）。このときの、アドレスの指定範囲は第１段階の処理の場合と同一であってもよい。本実施の形態では図９で示したチェック部２２３が一度にＭビットのデータのチェックが可能なので、これに合わせてＭビットずつデータの読み出しを行うものとして説明する。
【００５６】
図１３は、第１Ａのメモリ２０３1Ａと第２Ａのメモリ２０３2Ａからそれぞれ読み出されるＭビットのデータをチェック部２２３に供給する様子を表わしている（矢印２５７、２５８）。第１Ａのメモリ２０３1Ａから出力されるＭビットのデータは、図９における第１グループのチェック用入力端子群２４１の第１の入力端子２４６1〜第Ｍの入力端子２４６Mにそれぞれ割り当てられる。第２Ａのメモリ２０３2Ａから出力されるＭビットのデータは、図９における第２グループのチェック用入力端子群２４２の第１の入力端子２４７1〜第Ｍの入力端子２４７Mにそれぞれ割り当てられる。
【００５７】
この結果、第２Ａのメモリ２０３2ＡのＭビット分のデータが該当するメモリ領域で正しく書き込みと読み出しが行われていれば、論理和回路２４４の出力端子２４５から論理が「０」の信号が出力されることになる。これに対して、第２Ａのメモリ２０３2ＡのＭビット分のデータのいずれかについて書き込みと読み出しに障害が発生していた場合には、論理和回路２４４の出力端子２４５から論理が「１」の信号が出力されることになる。
【００５８】
図１２および図１３では、第２Ａのメモリ２０３2ＡについてのＭビット分のチェックについて説明した。第２Ａのメモリ２０３2Ａのチェックが１回で終了しない場合には、Ｍビットずつ同様の処理が繰り返されて、全メモリ領域のチェックが行われることになる。
【００５９】
なお、第１Ａのメモリ２０３1Ａの正常性のチェックでその一部のメモリに障害が見つかった場合には、メモリ制御回路２０２がそのアドレスを記憶しておき、そのアドレスに対するデータの書き込みと読み出しが行われる際には正常性を確認した代用可能なメモリ領域の一部を使用するようにすればよい。
【００６０】
また、第１Ｂのメモリ２０３1Ｂおよび第２Ｂのメモリ２０３2Ｂについては、このうちの一方のメモリの正常性をまずチェックした後に、試験データを書き込み、他方のメモリを図１０〜図１３で説明したハードロジックによる手法でチェックするようにすればよい。ただし、第１Ｂのメモリ２０３1Ｂおよび第２Ｂのメモリ２０３2Ｂの容量が、第１Ａのメモリ２０３1Ａおよび第２Ａのメモリ２０３2Ａの容量よりも小さい場合には、第１Ａのメモリ２０３1Ａを同様に用いて第１Ｂのメモリ２０３1Ｂおよび第２Ｂのメモリ２０３2Ｂのチェックをハードロジックによる手法で行うことができる。このときは、第１Ａのメモリ２０３1Ａにおける第１Ｂのメモリ２０３1Ｂおよび第２Ｂのメモリ２０３2Ｂと同一等しいサイズのメモリ領域に試験データを書き込んで、これをチェックに使用することになる。
【００６１】
以上説明したように本実施の形態によれば、ハードウェア自律でメモリのライト・リード・チェックを高速に実現することができる。したがって、ＣＰＵ２０１がソフトウェアを使用して逐次メモリをアクセスしてチェックを行う場合と比べて、チェックに要する時間を大幅に短縮することができるだけでなく、ＣＰＵの負荷を軽減させることが可能である。これにより、特に通信機器で最近使用されることの多い大容量メモリの試験を高速で行うことが可能になり、装置の信頼性を向上させることができる。
【００６２】
更に本実施の形態によれば、１対のメモリあるいはメモリ領域からアドレスを指定しながら試験データとチェック用のデータを読み出してチェック部２２３でチェックを行うことにした。これにより、アドレスの指定の態様によって、チェックの対象となるデータの配列の自由度を高めることができ、メモリの試験を高速化することができる。
【００６３】
＜発明の変形可能性＞
【００６４】
以上説明した実施の形態では、物理的に独立した複数のメモリの中の１つのメモリとしての特定メモリに試験データを書き込んで、これを用いて他のメモリのライト・リード・チェックを高速で行うことにしたが、必ずしもこれに限るものではない。たとえば１つのメモリの半分について試験データを書き込んでおき、残りの半分を高速でチェックすることも可能である。
【００６５】
また、特定メモリが正常か異常かを判別する試験対象のメモリ（指定メモリ）は、特定メモリと同一の容量である必要はなく、これよりも小さな容量のメモリであってもよい。この場合には、両者に共通する領域からデータを読み出して比較し、異常の有無を判別することになる。
【００６６】
以上説明した実施の形態の一部または全部は、以下の付記のようにも記載されるが、以下の記載に限定されるものではない。
【００６７】
（付記１）
装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択手段と、
この特定メモリ選択手段によって選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み手段と、
このＣＰＵ書き込み手段で書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定手段と、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定手段により指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピー手段と、
このデータコピー手段により前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出す対データ読出手段と、
この対データ読出手段で一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和手段と、
この排他的論理和手段が前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和手段と、
この論理和手段の論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別手段
とを具備することを特徴とする半導体装置。
【００６８】
（付記２）
前記特定メモリ選択手段は、前記複数のメモリの中から１つのメモリを選択するメモリ選択手段と、このメモリ選択手段によって選択したメモリとしての特定メモリの単位領域ごとにＣＰＵが予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータをＣＰＵが全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェック手段と、このＣＰＵチェック手段によって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別手段とを具備することを特徴とする付記１記載の半導体装置。
【００６９】
（付記３）
前記特定メモリ選択手段の選択した前記特定メモリの一部の領域に異常があったときに、この領域を代替してデータの読み書きを行う予備メモリを具備するとを特徴とする付記１記載の半導体装置。
【００７０】
（付記４）
前記特定メモリは、物理的な１つのメモリの半分のメモリ領域から構成されることを特徴とする付記１記載の半導体装置。
【００７１】
（付記５）
前記複数のメモリは、それぞれ物理的に１つずつ独立したメモリであることを特徴とする付記１記載の半導体装置。
【００７２】
（付記６）
装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択ステップと、
この特定メモリ選択ステップで選択した特定メモリに対してＣＰＵが予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込みステップと、
このＣＰＵ書き込みステップで書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定ステップと、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定ステップにより指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込むデータコピーステップと、
このデータコピーステップにより前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出す対データ読出ステップと、
この対データ読出ステップで一対のデータを読み出すたびにこれらの排他的論理和をとる排他的論理和ステップと、
この排他的論理和ステップで前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果の論理和をとる論理和ステップと、
この論理和ステップで論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別ステップ
とを具備することを特徴とする半導体装置におけるメモリの試験方法。
【００７３】
（付記７）
前記特定メモリ選択ステップは、前記複数のメモリの中から１つのメモリを選択するメモリ選択ステップと、このメモリ選択ステップによって選択したメモリとしての特定メモリの単位領域ごとにＣＰＵが予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータをＣＰＵが全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェックステップと、このＣＰＵチェックステップによって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別ステップとを具備することを特徴とする付記６記載の半導体装置におけるメモリの試験方法。
【００７４】
（付記８）
半導体装置に備えられたコンピュータに、
この半導体装置内に配置され正常に使用可能か否かを試験する前の複数のメモリの中から１つのメモリを異常がない特定メモリとして選択する特定メモリ選択処理と、
この特定メモリ選択処理で選択した特定メモリに対して予め用意した試験用データを、領域の一端から他端まで順次アドレスを指定して繰り返し書き込むＣＰＵ書き込み処理と、
このＣＰＵ書き込み処理で書き込んだ前記特定メモリ以外のメモリであってこれと同一サイズ以下のメモリを前記複数のメモリから１つ指定するメモリ指定処理と、
前記特定メモリで指定する領域と同一の領域を指定し、次に指定する領域を指定を行っていない領域に順次切り替えながら前記メモリ指定処理により指定したメモリとしての指定メモリに対して前記特定メモリに格納されたデータを対応する領域にすべて書き込ませるデータコピー処理と、
このデータコピー処理により前記特定メモリと同一のデータが書き込まれた前記指定メモリと前記特定メモリの双方に対して同一の領域指定を行い、これを指定を行っていない領域に順次切り替えながら前記指定メモリに格納されている各指定領域のデータすべてを前記特定メモリとの間の一対のデータとして順次読み出させる対データ読出処理と、
この対データ読出処理で一対のデータが読み出されるたびにこれらの排他的論理和をとる排他的論理和回路にこれら対のデータを供給する排他的論理和処理と、
この排他的論理和処理で前記特定メモリと前記指定メモリの間の対応するすべての領域について排他的論理和をとった結果を論理和回路に供給する論理和回路処理と、
この論理和回路処理で論理和をとった結果が「０」のとき前記指定メモリに異常がないと判別し、これ以外の場合に異常があると判別する異常有無判別処理
とを実行させることを特徴とする半導体装置におけるメモリの試験プログラム。
【００７５】
（付記９）
前記特定メモリ選択処理は、前記複数のメモリの中から１つのメモリを選択するメモリ選択処理と、このメモリ選択処理によって選択したメモリとしての特定メモリの単位領域ごとに予め用意した所定のデータを書き込み、この読み出し結果と前記所定のデータを全領域にわたって繰り返し比較することで前記選択したメモリに異常があるかをチェックするＣＰＵチェック処理と、このＣＰＵチェック処理によって前記選択したメモリに異常がないとされたとき、これを異常がない特定メモリとして選択するメモリ選別処理とを更にコンピュータに実行させることを特徴とする付記８記載の半導体装置におけるメモリの試験プログラム。
【符号の説明】
【００７６】
１０、２００  半導体装置
１１  特定メモリ選択手段
１２  ＣＰＵ書き込み手段
１３  メモリ指定手段
１４  データコピー手段
１５  対データ読出手段
１６  排他的論理和手段
１７  論理和手段
１８  異常有無判別手段
２０  半導体装置におけるメモリの試験方法
２１  特定メモリ選択ステップ
２２  ＣＰＵ書き込みステップ
２３  メモリ指定ステップ
２４  データコピーステップ
２５  対データ読出ステップ
２６  排他的論理和ステップ
２７  論理和ステップ
２８  異常有無判別ステップ
３０  半導体装置におけるメモリの試験プログラム
３１  特定メモリ選択処理
３２  ＣＰＵ書き込み処理
３３  メモリ指定処理
３４  データコピー処理
３５  対データ読出処理
３６  排他的論理和処理
３７  論理和回路処理
３８  異常有無判別処理
２０１  ＣＰＵ
２０２  メモリ制御回路
２０３1Ａ  第１Ａのメモリ
２０３2Ａ  第２Ａのメモリ
２０３1Ｂ  第１Ｂのメモリ
２０３2Ｂ  第２Ｂのメモリ
２２１  アドレス制御部
２２２  データ制御部
２２３  チェック部
２４１  第１グループのチェック用入力端子群
２４２  第２グループのチェック用入力端子群
２４３  排他的論理和回路（Ｅ−ＯＲ回路）
２４４  論理和（ＯＲ）回路
【図１】
2012048775.tif 000003
【図２】
2012048775.tif 000004
【図３】
2012048775.tif 000005
【図４】
2012048775.tif 000006
【図５】
2012048775.tif 000007
【図６】
2012048775.tif 000008
【図７】
2012048775.tif 000009
【図８】
2012048775.tif 000010
【図９】
2012048775.tif 000011
【図１０】
2012048775.tif 000012
【図１１】
2012048775.tif 000013
【図１２】
2012048775.tif 000014
【図１３】
2012048775.tif 000015
【図１４】
2012048775.tif 000016
【図１５】
2012048775.tif 000017
【図１６】
2012048775.tif 000018