(57)【特許請求の範囲】
【請求項１】
第１のメモリへのアクセスを制御する第１のメモリ制御手段、
第２のメモリへのアクセスを制御する第２のメモリ制御手段と、
前記第１のメモリ制御手段および前記第２のメモリ制御手段を介して前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第１のメモリの異常の有無を検査する手段とを有する第１の演算処理手段と、
前記第１の演算処理手段と並列に動作し、前記第１のメモリ制御手段および前記第２のメモリ制御手段を介して前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第２のメモリの異常の有無を検査する手段とを有する第２の演算処理手段と、
前記第1の演算処理手段と前記第1のメモリ制御手段とを接続する第１のバスと、
前記第２の演算処理手段と前記第２のメモリ制御手段とを接続する第２のバスと、
前記第1のバスと前記第２のバスとを接続する第３のバスと、
前記第３のバス上において、前記第１のバスと前記第２のバスの接続の有無を切り替えるように、所定の制御信号に基づいて前記第３のバスを分割または結合するバス分割手段と、
を備え、
前記第１のメモリおよび前記第２のメモリの異常の有無を検査する際に、前記第１の演算処理手段および前記第２の演算処理手段の少なくとも一方が、前記第３のバスの分割を要求する前記所定の制御信号を前記バス分割手段に送り、
前記バス分割手段は、前記第３のバスの分割を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリ制御手段と非接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と非接続状態となるように前記第３のバスを分割することを特徴とする半導体装置。
【請求項２】
前記第１の演算処理手段および前記第２の演算処理手段は、前記第１のメモリおよび前記第２のメモリの異常の有無の検査を終えたときに、前記バス分割手段に前記第３のバスの結合を要求する前記所定の制御信号を送り、
前記バス分割手段は、前記第３のバスの結合を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリ制御手段と接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と接続状態となるように前記第３のバスを結合することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記第１の演算処理手段および前記第２の演算処理手段を含む３つ以上のプロセッサと、
前記第１のメモリ制御手段および前記第２のメモリ制御手段を含む、前記プロセッサと同数のメモリ制御手段と、
前記プロセッサと前記メモリ制御手段とをそれぞれ接続し、前記第１のバスおよび前記第２のバスを含み前記プロセッサと同数のバスと、
２つの前記バス間を接続する接続バスと、
を備え、
前記バス分割手段は、前記接続バスごとに備えられていることを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記接続バスは環状に形成され、前記プロセッサと同数の前記バス分割手段を備えていることを特徴とする請求項３に記載の半導体装置。
【請求項５】
第１のメモリへのアクセスを制御する第１のメモリ制御手段、
第２のメモリへのアクセスを制御する第２のメモリ制御手段と、
前記第１のメモリ制御手段および前記第２のメモリ制御手段を介して前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第１のメモリの異常の有無を検査する手段とを有する第１の演算処理手段と、
前記第１の演算処理手段と並列に動作し、前記第１のメモリ制御手段および前記第２のメモリ制御手段を介して前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第２のメモリの異常の有無を検査する手段とを有する第２の演算処理手段と、
前記第1の演算処理手段と前記第1のメモリ制御手段とを接続する第１のバスと、
前記第２の演算処理手段と前記第２のメモリ制御手段とを接続する第２のバスと、
前記第1のバスと前記第２のバスとを接続する第３のバスと、
前記第３のバス上において、前記第１のバスと前記第２のバスの接続の有無を切り替えるように、所定の制御信号に基づいて前記第３のバスを分割または結合するバス分割手段と、
を備え、
前記第１の演算処理手段および前記第２の演算処理手段は、前記第１のメモリおよび前記第２のメモリの異常の有無の検査を終えたときに、前記バス分割手段に前記第３のバスの結合を要求する前記所定の制御信号を送り、
前記バス分割手段は、前記第３のバスの結合を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリ制御手段と接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と接続状態となるように前記第３のバスを結合することを特徴とする半導体装置。
【請求項６】
第１のメモリと、
第２のメモリと、
請求項１から５いずれかに記載の半導体装置と、
を備え、
前記半導体装置の前記第１の演算処理手段は前記第１のメモリの異常の有無を検査し、前記第２の演算処理手段は前記第２のメモリの異常の有無を検査することを特徴とする情報処理装置。
【請求項７】
第１のメモリと、
第２のメモリと、
前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第１のメモリの異常の有無を検査する手段とを有する第１の演算処理手段と、
前記第１の演算処理手段と並列に動作し、前記第１のメモリおよび前記第２のメモリへアクセスする手段と、前記第２のメモリの異常の有無を検査する手段とを有する第２の演算処理手段と、
前記第１のメモリと前記第１の演算処理手段との間を接続する第１のバスと、
前記第２のメモリと前記第２の演算処理手段との間を接続する第２のバスと、
前記第１のバスと前記第２のバスとを接続する第３のバスと、
前記第３のバス上において、前記第１のバスと前記第２のバスの接続の有無を切り替えるように、所定の制御信号に基づいて前記第３のバスを分割または結合するバス分割手段と、
を備え、
前記第１のメモリおよび前記第２のメモリの異常の有無を検査する際に、前記第１の演算処理手段および前記第２の演算処理手段の少なくとも一方が、前記第３のバスの分割を要求する前記所定の制御信号を前記バス分割手段に送り、
前記バス分割手段は、前記第３のバスの分割を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリと非接続状態、前記第２の演算処理手段が前記第１のメモリと非接続状態となるように前記第３のバスを分割することを特徴とする情報処理装置。
【請求項８】
第１のバスを介して第１のメモリ制御手段に接続された第１の演算処理手段および第２のバスを介して第２のメモリ制御手段に接続された第２の演算処理手段が、第１のメモリ制御手段に接続された第１のメモリおよび第２のメモリ制御手段に接続された第２のメモリの異常の有無を検査する際に、
前記第１のメモリおよび前記第２のメモリの異常の有無を検査する際に、前記第１の演算処理手段および前記第２の演算処理手段の少なくとも一方が、前記第１のバスと前記第２のバスとを接続している第３のバスの分割を要求する所定の制御信号を送り、
前記第１の演算処理手段が前記第２のメモリ制御手段と非接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と非接続状態となるように、前記第３のバスを前記所定の制御信号に基づいて分割し、
前記第１の演算処理手段が前記第１のメモリの異常の有無を検査し、
前記第２の演算処理手段が前記第２のメモリの異常の有無を検査することを特徴とするメモリの検査方法。
【請求項９】
前記第１の演算処理手段および前記第２の演算処理手段は、前記第１のメモリおよび前記第２のメモリの異常の有無の検査を終えたときに、前記第３のバスの結合を要求する前記所定の制御信号を送り、
前記第３のバスの結合を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリ制御手段と接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と接続状態となるように前記第３のバスを結合することを特徴とする請求項８に記載のメモリの検査方法。
【請求項１０】
第１のバスを介して第１のメモリ制御手段に接続された第１の演算処理手段および第２のバスを介して第２のメモリ制御手段に接続された第２の演算処理手段が、第１のメモリ制御手段に接続された第１のメモリおよび第２のメモリ制御手段に接続された第２のメモリの異常の有無を検査する際に、
前記第１の演算処理手段が前記第２のメモリ制御手段と非接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と非接続状態となるように、前記第１のバスと前記第２のバスとを接続している第３のバスを所定の制御信号に基づいて分割し、
前記第１の演算処理手段が前記第１のメモリの異常の有無を検査し、
前記第２の演算処理手段が前記第２のメモリの異常の有無を検査し、
前記第１の演算処理手段および前記第２の演算処理手段は、前記第１のメモリおよび前記第２のメモリの異常の有無の検査を終えたときに、前記第３のバスの結合を要求する前記所定の制御信号を送り、
前記第３のバスの結合を要求する前記所定の制御信号に基づいて、前記第１の演算処理手段が前記第２のメモリ制御手段と接続状態、前記第２の演算処理手段が前記第１のメモリ制御手段と接続状態となるように前記第３のバスを結合することを特徴とするメモリの検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関するものであり、特にメモリの検査技術に関するものである。
【背景技術】
【０００２】
情報処理装置や通信装置、映像装置などの高性能化によって、信号やデータの処理量が増大するとともに処理速度に対する要求も高くなっている。各装置において信号やデータ処理を高速で行うためには、各処理を行う半導体装置を複数、備えて並列に処理する構成が用いられることがある。また、ＣＰＵ（Central Processing Unit）を複数、備える構成の場合には、ＣＰＵがコア化されて複数のＣＰＵが１つのパッケージ内に収められたマルチコア型の構成が用いられることもある。
【０００３】
マルチコア化された半導体装置で大容量のデータを並列に処理するためには、大容量の記憶装置が必要となる。情報処理装置等において大容量のデータを処理しようとすると、使用するＣＰＵやメモリモジュール等の数が増大することによって装置が大型化し得る。しかし、装置の筐体の大きさや装置の設置面積などには限りがあるため、装置の構成する電子基板などの大きさはできるだけ抑制されていることが望ましい。
【０００４】
マルチコア化されたＣＰＵで構成される半導体装置の場合には、各ＣＰＵは、共用で用いる大容量のメモリモジュールに共通のメモリバスを介してアクセスする。情報処理装置等に備えられたメモリモジュールでは、装置の安定動作のために装置の起動時やその他の必要なタイミングで記憶素子に異常が無いかの検査が行われる。しかし、大容量のメモリモジュールの全ての記憶領域について異常が無いかの検査を行うと、検査に膨大な時間を要し、必要な処理の開始までに長時間を要する可能性がある。
【０００５】
一方で情報処理装置等の各装置は再起動等の際には高速で起動できることが望ましい。情報処理装置等が高速に起動するためには、大容量のメモリの異常の有無の検査もできるだけ短時間で行われる必要がある。そのため、大容量のメモリモジュール等の検査を短時間で行うための技術の開発が行われている。そのような、大容量のメモリモジュール等の検査を短時間で行うための技術としては、例えば、特許文献１のような技術が開示されている。
【０００６】
特許文献１は、複数のプロセッサでメモリの検査を行うマルチプロセッサシステムに関するものである。特許文献１のマルチプロセッサシステムは、主プロセッサと、複数の副プロセッサと、メモリを備えている。
【０００７】
特許文献１では、主プロセッサが副プロセッサごとに検査を行うメモリ領域の割り当てを行っている。各副プロセッサは、主プロセッサからメモリの検査の要求を受けると、副プロセッサ内の記憶領域に検査プログラムを保存する。各副プロセッサは、保存した検査プログラムを用いて割り当てられたメモリ領域全体にデータの書き込みを行う。データの書き込みが終わると、各副プロセッサは、メモリからデータの読み出しを行って、書き込みを行ったデータと比較して異常の有無を判断する。特許文献１のマルチプロセッサシステムでは、複数、備えられた副プロセッサがそれぞれに割り当てられたメモリ領域の検査を並行して実施している。特許文献１では、複数のプロセッサが並列で処理を行うことで、メモリの検査に要する時間を短縮することができるとしている。
【０００８】
また、特許文献２には、ＣＰＵとテスタとによって異常の有無の検査を並列に行うコンピュータが示されている。特許文献２のコンピュータは、ＣＰＵと、第１の周辺機能と、第２の周辺機能と、各ユニットを接続するバスを備えている。特許文献２のコンピュータは、第１の周辺機能と第２の周辺機能との間において、バスを非接続状態とするスイッチを備えている。また、特許文献２のコンピュータは、外部のテスタと接続する接続バスをさらに備え、接続バスを介してテスタと接続されている。特許文献２のコンピュータでは、スイッチが非接続状態となったときに、ＣＰＵは第１の周辺機能と接続状態で、第２の周辺機能とは非接続状態となる。
【０００９】
特許文献２のコンピュータでは、第１の周辺機能および第２の周辺機能の試験を行う際に、スイッチを非接続状態とし、ＣＰＵが第１の周辺機器の試験を行う。また、ＣＰＵによる試験と並列して、接続バスに接続されたテスタ第２の周辺機能の試験を行う。特許文献２では、ＣＰＵとテスタが試験を並列に行うことで周辺機能の試験に要する時間を短縮することができるとしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−１６９８９７号公報
【特許文献２】特開平５−１０８３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１の技術は次のような点で十分ではない。特許文献１では、副プロセッサがそれぞれ割り当てられたメモリ領域の試験を並列に行っている。しかし、メモリバスは共用であるので、各副プロセッサは、メモリ領域の試験を、時分割でそれぞれの副プロセッサに割り当てられるメモリバスの使用タイミングに合わせて行う。よって、データの転送に要する時間以外は短縮できるが、メモリとの間のデータ転送に要する時間は、１つのプロセッサで試験を行う際と同等の時間となる。そのため、特許文献１の技術は、大容量のメモリの検査を短時間で行うための技術としては十分ではない。
【００１２】
また、特許文献２の技術では、接続バスを介して接続された外部のテスタを用いて第２の周辺機能の試験が行われている。すなわち、特許文献２では、情報処理装置等の通常の動作時に必要な構成に加えて、試験専用の装置としてテスタを必要としている。そのため、特許文献２の技術では、装置の大型化が生じ得る。よって、特許文献２の技術は、装置の大型化を抑制しつつ大容量のメモリの検査を短時間で行うための技術としては十分ではない。
【００１３】
本発明は、装置の大型化を抑制しつつ大容量のメモリの検査を短時間で行うことができる半導体装置を得ることを目的としている。
【課題を解決するための手段】
【００１４】
上記の課題を解決するため、本発明の半導体装置は、第１のメモリ制御手段と、第２のメモリ制御手段と、第１の演算処理手段と、第２の演算処理手段と、第１のバスと、第２のバスと、第３のバスと、バス分割手段を備えている。第１のメモリ制御手段は、第１のメモリへのアクセスを制御する。第２のメモリ制御手段は、第２のメモリへのアクセスを制御する。第１の演算処理手段は、第１のメモリ制御手段および第２のメモリ制御手段を介して第１のメモリおよび第２のメモリへアクセスする手段と、第１のメモリの異常の有無を検査する手段とを有する。第２の演算処理手段は、第１の演算処理手段と並列に動作し、第１のメモリ制御手段および第２のメモリ制御手段を介して第１のメモリおよび第２のメモリへアクセスする手段と、第２のメモリの異常の有無を検査する手段とを有する。第１のバスは、第1の演算処理手段と第１のメモリ制御手段とを接続する。第２のバスは、第２の演算処理手段と第２のメモリ制御手段とを接続する。第３のバスは、第1のバスと第２のバスとを接続する。バス分割手段は、第３のバス上において、第１のバスと第２のバスの接続の有無を切り替えるように、所定の制御信号に基づいて第３のバスを分割または結合する。また、バス分割手段は、第１の演算処理手段および第２の演算処理手段が第１のメモリおよび第２のメモリの異常の有無を検査する際に、第３のバスを分割する。
【００１５】
また、本発明のメモリの検査方法は、第１の演算処理手段および第２の演算処理手段が、第１のメモリ制御手段に接続された第１のメモリおよび第２のメモリ制御手段に接続された第２のメモリの異常の有無を検査する際に、第３のバスを分割する。第１の演算処理手段は、第１のバスを介して第１のメモリ制御手段に接続されている。第２の演算処理手段は、第２のバスを介して第２のメモリ制御手段に接続されている。また、第３のバスは、第１の接続バスと第２の接続バスとを接続している。本発明のメモリの検査方法は、第１の演算処理手段が第２のメモリ制御手段と非接続状態、第２の演算処理手段が第１のメモリ制御手段と非接続状態となるように、第３のバスを所定の制御信号に基づいて分割する。本発明のメモリの検査方法は、第１の演算処理手段が第１のメモリの異常の有無を検査し、第２の演算処理手段が第２のメモリの異常の有無を検査する
【発明の効果】
【００１６】
本発明によると、装置の大型化を抑制しつつ大容量のメモリの検査を短時間で行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態の構成の概要を示す図である。
【図２】本発明の第２の実施形態の構成の概要を示す図である。
【図３】本発明の第２の実施形態の情報処理装置の構成の例を示す図である。
【図４】本発明の第２の実施形態における動作フローの概要を示した図である。
【図５】本発明と対比した情報処理装置の構成の例を示した図である。
【図６】本発明と対比した情報処理装置の動作状態の例を示した図である。
【図７】本発明と対比した情報処理装置の動作状態の例を示した図である。
【図８】本発明の第２の実施形態における動作状態の例を示した図である。
【図９】本発明の情報処理装置の他の構成の例を示した図である。
【図１０】本発明の情報処理装置の他の構成の例を示した図である。
【発明を実施するための形態】
【００１８】
（第１の実施形態）
本発明の第１の実施形態について図を参照して詳細に説明する。図１は、本実施形態の半導体装置の構成の概要を示したものである。本実施形態の半導体装置は、第１のメモリ制御手段１と、第２のメモリ制御手段２と、第１の演算処理手段３と、第２の演算処理手段４と、第１のバス５と、第２のバス６と、第３のバス７と、バス分割手段８を備えている。
【００１９】
第１のメモリ制御手段１は、第１のメモリへのアクセスを制御する。第２のメモリ制御手段２は、第２のメモリへのアクセスを制御する。第１の演算処理手段３は、第１のメモリ制御手段１および第２のメモリ制御手段２を介して第１のメモリおよび第２のメモリへアクセスする手段と、第１のメモリの異常の有無を検査する手段とを有する。第２の演算処理手段４は、第１の演算処理手段３と並列に動作し、第１のメモリ制御手段１および第２のメモリ制御手段２を介して第１のメモリおよび第２のメモリへアクセスする手段と、第２のメモリの異常の有無を検査する手段とを有する。第１のバス５は、第1の演算処理手段３と第１のメモリ制御手段１とを接続する。第２のバス６は、第２の演算処理手段４と第２のメモリ制御手段２とを接続する。第３のバス７は、第1のバス５と第２のバス６とを接続する。バス分割手段６は、第３のバス７上において、第１のバス５と第２のバス６の接続の有無を切り替えるように、所定の制御信号に基づいて第３のバス７を分割または結合する。また、バス分割手段６は、第１の演算処理手段３および第２の演算処理手段４が第１のメモリおよび第２のメモリの異常の有無を検査する際に、第３のバス７を分割する。
【００２０】
本実施形態の半導体装置では、第１の演算処理手段３および第２の演算処理手段４は、第１のメモリ制御手段１および第２のメモリ制御手段２を介して、第１のメモリおよび第２のメモリにそれぞれアクセスして動作を行う。また、第１の演算処理手段３と第２の演算処理手段４は並列で動作する。本実施形態の半導体装置では、第１のメモリと第２のメモリの異常の有無の検査を行う際に、バス分割手段６によって、第３のバス７の分割が行われている。第１のバス５と第２のバス６の間を接続している第３のバス７が分割されることで、第１の演算処理手段３は第１のメモリ制御手段１と、第２の演算処理手段４は第２のメモリ制御手段２とそれぞれ同時にアクセスできるようになる。よって、第１の演算処理手段３による第１のメモリの異常の有無の検査と、第２の演算処理手段４による第２のメモリの異常の有無の検査を並列に行うことができるようになる。そのため、本実施形態の半導体装置では、メモリの異常の有無の検査に要する時間を短縮化できる。また、本実施形態の半導体装置では、メモリの異常の有無の検査の際に、第１の演算処理手段３および第２の演算処理手段４が並列に検査を行い、バス分割手段６以外には検査のための回路等を必要としないので装置の大型化を抑制することができる。その結果、本実施形態の半導体装置では、装置の大型化を抑制しつつ大容量のメモリの検査を短時間で行うことができる。
【００２１】
（第２の実施形態）
本発明の第２の実施形態について図を参照して詳細に説明する。図２は、本実施形態の情報処理装置の構成の概要を示したものである。
【００２２】
本実施形態の情報処理装置は、第１のＣＰＵ１１と、第２のＣＰＵ１２と、バス分割部１３と、第１のメモリコントローラ１４と、第２のメモリコントローラ１５と、第１のメモリモジュール１６と、第２のメモリモジュール１７を備えている。
【００２３】
本実施形態の情報処理装置では、第１のメモリモジュール１６および第２のメモリモジュール１７は、それぞれ複数、備えられている。第１のメモリモジュール１６および第２のメモリモジュール１７は、１つであってもよい。
【００２４】
第１のＣＰＵ１１と第１のメモリコントローラ１４の間は、第１のバス５１で接続されている。第２のＣＰＵ１２と第２のメモリコントローラ１５の間は、第２のバス５２で接続されている。第１のバス５１と第２のバス５２の間は第３のバス５３で接続されている。また、第３のバス５３上には、バス分割部１３が備えられている。第１のメモリコントローラ１４と第１のメモリモジュール１６の間はバス５４で接続されている。第２のメモリコントローラ１５と第２のメモリモジュール１７の間はバス５５で接続されている。  また、本実施形態の情報処理装置の各部位は、それぞれが独立した半導体装置等として電子基板等に実装されていてもよく、また、いくつかの部位が統合されて１つのパッケージ内に形成されていてもよい。
【００２５】
図３は、第１のＣＰＵ１１、第２のＣＰＵ１２、バス分割部１３、第１のメモリコントローラ１４および第２のメモリコントローラ１５を１つの半導体装置１０のパッケージ内に形成した場合の例を模式的に示したものである。図３の半導体装置１０は、第１のＣＰＵ１１および第２のＣＰＵ１２の２つのＣＰＵを備えるマルチコアプロセッサである。図３の例では、情報処理装置は、半導体装置１０と、複数の第１のメモリモジュール１６および第２のメモリモジュール１７を独立した部品として備えている。
【００２６】
次に本実施形態の情報処理装置の各部位について説明する。第１のＣＰＵ１１および第２のＣＰＵ１２は、プログラムの実行やデータの処理等に必要な演算処理および制御等を行う中央演算処理装置としての機能を有する。また、第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリモジュール１６および第２のメモリモジュール１７の異常の有無を検査する機能を有する。
【００２７】
第１のＣＰＵ１１は、第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して、第１のメモリモジュール１６および第２のメモリモジュール１７にアクセスしてデータの書き込みおよびデータの読み出しを行う。第１のＣＰＵ１１は、第１のバス５１を介して第１のメモリコントローラ１４にアクセスする。また、通常の動作時、すなわち、メモリの検査時以外は、第１のＣＰＵ１１は、第１のバス５１、第３のバス５３および第２のバス５２を介して第２のメモリコントローラ１５にもアクセスする。
【００２８】
第１のＣＰＵ１１は、第１のメモリコントローラ１４を介して第１のメモリモジュール１６の異常の有無の検査を行う。第１のＣＰＵ１１は、第１のメモリモジュール１６の検査を行う際に、バス分割部１３に第３のバス５３の分割を要求する所定の制御信号をバス設定信号Ｓ１１として送る。また、第１のＣＰＵ１１は、第１のメモリモジュール１６の検査を終了したときに、バス分割部１３に第３のバス５３の結合を要求する所定の制御信号をバス設定信号Ｓ１１として送る。異常の有無の検査を行う際は、第３のバス５３が分割されているので、第１のＣＰＵ１１は、第１のバス５１を介して第１のメモリコントローラ１４にのみアクセスすることができる。すなわち、第１のＣＰＵ１１は、第２のメモリコントローラ１５にアクセスすることはできない。
【００２９】
バスの分割とは、第１のバス５１と第２のバス５２の間において第３のバス５３を介して信号の伝送を行うことができない状態にすることをいう。すなわち、バスの分割とは、第１のバス５１と第２のバス５２を非接続状態にすることをいう。また、バスの結合とは、第１のバス５１と第２のバス５２の間で第３のバス５３を介しての信号の伝送を行うことができる状態にすることをいう。すなわち、バスの結合とは、第１のバス５１と第２のバス５２を接続状態にすることをいう。
【００３０】
第２のＣＰＵ１２は、第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して、第１のメモリモジュール１６および第２のメモリモジュール１７にアクセスしてデータの書き込みおよびデータの読み出しを行う。第２のＣＰＵ１２は、第２のバス５２を介して第２のメモリコントローラ１５にアクセスする。また、通常の動作時、すなわち、メモリの検査時以外は、第２のＣＰＵ１２は、第２のバス５２、第３のバス５３および第１のバス５１を介して第１のメモリコントローラ１４にもアクセスする。
【００３１】
第２のＣＰＵ１２は、第２のメモリコントローラ１５を介して第２のメモリモジュール１７の異常の有無の検査を行う。第２のＣＰＵ１２は、第２のメモリモジュール１７の検査を行う際に、バス分割部１３に第３のバス５３の分割を要求する所定の制御信号をバス設定信号Ｓ１２として送る。また、第２のＣＰＵ１２は、第２のメモリモジュール１７の検査を終了したときに、バス分割部１３に第３のバス５３の結合を要求する所定の制御信号をバス設定信号Ｓ１２として送る。異常の有無の検査を行う際は、第３のバス５３が分割されているので、第２のＣＰＵ１２は、第２のバス５２を介して第２のメモリコントローラ１５にのみアクセスすることができる。すなわち、第２のＣＰＵ１２は、第１のメモリコントローラ１４にアクセスすることはできない。
【００３２】
本実施形態の第１のＣＰＵ１１および第２のＣＰＵ１２は、第１の実施形態の第１の演算処理手段３および第２の演算処理手段４にそれぞれ相当する。
【００３３】
バス分割部１３は、第１のバス５１と第２のバス５２を接続する第３のバス５３を分割する機能を有する。本実施形態のバス分割部１３は、スイッチ素子を備え、メモリ検査が開始される際に、バス分割部１３を通る第３のバス５３を分割し信号が通過しない状態にする。また、バス分割部１３は、メモリ検査が完了すると、バス分割部１３を通る第３のバス５３を結合し信号が通過する状態にする。
【００３４】
バス分割部１３は、第１のＣＰＵ１１および第２のＣＰＵ１２から所定の制御信号として送られてくるバス設定信号Ｓ１１およびバス設定信号Ｓ１２に基づいて動作する。本実施形態のバス分割部１３は、第１のＣＰＵ１１および第２のＣＰＵ１２のいずれかからバスを分割する要求を受け取ると第３のバス５３の分割を行う。また、本実施形態のバス分割部１３は、第１のＣＰＵ１１および第２のＣＰＵ１２の両方からバスを分割する要求を受け取ると第３のバス５３の結合を行う。
【００３５】
バス分割部１３が第３のバス５３を分割すると、第１のＣＰＵ１１は、第１のメモリコントローラ１４を介して第１のメモリモジュール１６のみにアクセスできる状態となる。すなわち、第３のバス５３が分割された状態では、第１のＣＰＵ１１は、第２のメモリコントローラ１５および第２のメモリモジュール１７にアクセスすることは出来ない。
【００３６】
また、バス分割部１３が第３のバス５３を分割すると、第２のＣＰＵ１２は、第２のメモリコントローラ１５を介して第２のメモリモジュール１７のみにアクセスできる状態となる。すなわち、第３のバス５３が分割された状態では、第２のＣＰＵ１２は、第１のメモリコントローラ１４および第１のメモリモジュール１６にアクセスすることは出来ない。
【００３７】
バス分割部１３は、メモリ検査が完了すると分割していた第３のバス５３を結合する。第３のバス５３が結合されると、第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して、各メモリモジュールにアクセスできるようになる。また、本実施形態のバス分割部１３は、第１の実施形態のバス分割手段８に相当する。
【００３８】
第１のメモリコントローラ１４は、第１のメモリモジュール１６へのデータの書き込みおよび第１のメモリモジュール１６からのデータの読み出しの制御を行う機能を有する。第１のメモリコントローラ１４は、第１のＣＰＵ１１および第２のＣＰＵ１２からの要求に基づいて第１のメモリモジュール１６のデータの書き込みと読み出しの制御を行う。
【００３９】
第２のメモリコントローラ１５は、第２のメモリモジュール１７へのデータの書き込みおよび第２のメモリモジュール１７からのデータの読み出しの制御を行う機能を有する。第２のメモリコントローラ１５は、第１のＣＰＵ１１および第２のＣＰＵ１２からの要求に基づいて第２のメモリモジュール１７のデータの書き込みと読み出しの制御を行う。
【００４０】
本実施形態の第１のメモリコントローラ１４および第２のメモリコントローラ１５は、第１の実施形態の第１のメモリ制御手段１および第２のメモリ制御手段２にそれぞれ相当する。
【００４１】
第１のメモリモジュール１６および第２のメモリモジュール１７は、半導体素子で構成され、データの記憶および出力を行う機能を有する。本実施形態の第１のメモリモジュール１６および第２のメモリモジュール１７は、ＲＡＭ（Random Access Memory）として構成されている。第１のメモリモジュール１６および第２のメモリモジュール１７は、他の方式の記憶装置であってもよい。
【００４２】
第１のメモリモジュール１６および第２のメモリモジュール１７は、第１のメモリコントローラ１４および第２のメモリコントローラ１５の制御に基づいて、記憶素子への書き込みによるデータの記憶および記憶素子から読み出しによるデータの出力を行う。本実施形態の第１のメモリモジュール１６および第２のメモリモジュール１７は、第１の実施形態の第１のメモリおよび第２のメモリにそれぞれ相当する。
【００４３】
第１のバス５１、第２のバス５２、第３のバス５３、バス５４およびバス５５は、各部位の間で信号を伝送する機能を有する。第１のバス５１、第２のバス５２、第３のバス５３、バス５４およびバス５５は、アドレスバスやデータバスを備えている。第３のバス５３は、第１のバス５１および第２のバス５２の間を接続する接続バスとしての機能を有する。また、本実施形態の第１のバス５１、第２のバス５２および第３のバス５３は、第１のＣＰＵ１１および第２のＣＰＵ１２とバス分割部１３の間で、バスの分割および結合を制御するバス設定信号Ｓ１１およびバス設定信号Ｓ１２を伝送する。
【００４４】
本実施形態では、第１のバス５１と第３のバス５３を独立した別の部位として示しているが、第１のバス５１と第３のバス５３は、連続的に形成されたバスとして備えられていてもよい。同様に、第２のバス５２と第３のバス５３は、連続的に形成されたバスとして備えられていてもよい。
【００４５】
本実施形態の第１のバス５１および第２のバス５２は、第１の実施形態の第１のバス５および第２のバス６にそれぞれ相当する。また、本実施形態の第３のバス５３は、第１の実施形態の第３のバス７に相当する。
【００４６】
本実施形態の情報処理装置の動作について説明する。通常の動作時、本実施形態の情報処理装置の第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して、各メモリモジュールにデータの書き込みを行う。また、第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して、各メモリモジュールからデータの読み出しを行う。すなわち、通常の動作時は、第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリモジュール１６および第２のメモリモジュール１７の両方のメモリモジュールにアクセスすることができる。
【００４７】
次に各ＣＰＵが各メモリモジュールの異常の有無の検査を行う際の動作について説明する。図４は、本実施形態の情報処理装置において、メモリモジュールの異常の有無の検査が行われる際のフローの概要を示したものである。
【００４８】
情報処理装置の起動やリセット、作業者や制御ユニット等からの検査を要求する信号の入力などにより、メモリ検査の動作が開始される。
【００４９】
第１のＣＰＵ１１は、バス分割部１３に第３のバス５３の分割を要求する制御信号をバス設定信号Ｓ１１として送る。バス分割部１３は、第３のバス５３の分割を要求するバス設定信号Ｓ１１を受け取ると、第３のバス５３を分割状態にする（ステップ１０１）。第３のバス５３が分割されることで、第１のバス５１と第２のバス５２の間では信号の伝送が行われなくなる。そのため、第１のＣＰＵ１１は第１のメモリコントローラ１４との間、第２のＣＰＵ１２は第２のメモリコントローラ１５との間においてそれぞれ並列に信号の伝送を行うことができるようになる。
【００５０】
第３のバス５３が分割されると、第１のＣＰＵ１１および第２のＣＰＵ１２は、メモリ検査の初期設定の動作を開始する（ステップ１０２）。初期設定では、メモリの検査対象となるアドレスの初期値、すなわち、異常の有無の検査を開始するメモリのアドレスと、検査に用いる検査データが設定される。第１のＣＰＵ１１は、第１のメモリモジュール１６のメモリ検査の開始アドレスを設定する。また、第２のＣＰＵ１２は、第２のメモリモジュール１７のメモリ検査の開始アドレスを設定する。
【００５１】
アドレスの初期値等を設定すると、第１のＣＰＵ１１は、第１のメモリモジュール１６上の検査対象のアドレスに、第１のメモリコントローラ１４を介して試験パターンの書き込みを行う（ステップ１０３）。
【００５２】
第１のメモリモジュール１４に試験パターンの書き込みを行うと、第１のＣＰＵ１１は、書き込みを行ったアドレスから第１のメモリコントローラ１４を介してデータの読み出しを行う（ステップ１０４）。
【００５３】
第１のＣＰＵ１１は、データの読み出しを行うと、読み出したデータを試験パターンのデータとを比較する（ステップ１０５）。読み出したデータと試験パターンのデータが一致するとき、第１のＣＰＵ１１は、検査対象のアドレスの記憶素子には異常が無いと判断する。また、読み出したデータと試験パターンのデータが一致するとき、第１のＣＰＵ１１は、検査対象のアドレスの記憶素子に異常が生じていると判断する。第１のＣＰＵ１１は、検査対象のアドレスの記憶素子の異常の有無を判断すると、検査を行ったアドレスの値と異常の有無の情報を記憶する。
【００５４】
異常の有無の検査結果を保存すると、第１のＣＰＵ１１は、検査対象のアドレス値を所定の値、インクリメントする（ステップ１０６）。所定の値は、例えば、次に検査を行うアドレスの値が、検査が完了したアドレスの最後の部分と連続するように設定されている。その場合は、所定の量は、試験パターンとして１回に書き込まれるデータを記憶できる領域分のアドレスの値に相当する。また、所定の値は、検査済みの領域と、新たに検査を行う領域の一部が互いに重なるように設定してもよい。
【００５５】
検査対象のアドレスの値を設定した際に、第１のＣＰＵ１１は、第１のメモリモジュール１６の全ての記憶領域の検査が終わっているかを確認する。全ての記憶領域の検査が完了しておらず、検査対象として設定されたアドレスが、検査未了の領域の場合は（ステップ１０７でＮｏ）、第１のＣＰＵ１１はステップ１０３からの動作を行い、メモリの異常の有無の検査を行う。
【００５６】
設定されたアドレスが、第１のメモリモジュール１４の記憶領域外のアドレスで、全ての領域の検査が完了しているときは（ステップ１０７でＹｅｓ）、第１のＣＰＵ１１は第１のメモリモジュール１４の検査が完了したと判断する（ステップ１０８）。検査が完了したと判断すると、第１のＣＰＵ１１は、バス分割部１３に第３のバス５３の結合を要求する信号をバス設定信号Ｓ１１として送る。
【００５７】
また、第２のＣＰＵ１２は、ステップ１０２からステップ１０８について第１のＣＰＵ１１と同様の動作を行う。ステップ１０７で、第２のメモリモジュール１５のチェックが完了したと判断すると、第２のＣＰＵ１２は、バス分割部１３に第３のバス５３の結合を要求する信号をバス設定信号Ｓ１２として送る。
【００５８】
バス分割部１３は、第１のＣＰＵ１１および第２のＣＰＵ１２から第３のバス５３の結合を要求するバス設定信号Ｓ１１およびバス設定信号Ｓ１２を受け取ると、第３のバス５３の結合を行う。第３のバス５３が結合されると、第１のＣＰＵ１１および第２のＣＰＵ１２は、第１のメモリモジュール１６および第２のメモリモジュール１７に各メモリコントローラを介してそれぞれアクセスできるようになる。
【００５９】
本実施形態の情報処理装置と、バス分割部を備えていない情報処理装置との比較について説明する。図５は、バス分割部を備えていない情報処理装置の構成の例を示したものである。図５に示した情報処理装置は、第１のＣＰＵ２１と、第２のＣＰＵ２２と、第１のメモリコントローラ２４と、第２のメモリコントローラ２５と、第１のメモリモジュール２６と、第２のメモリモジュール２７を備えている。
【００６０】
図５に示した情報処理装置では、第１のＣＰＵ２１と第１のメモリコントローラ２４が、第１のバス６１で接続されている。また、第２のＣＰＵ２２と第２のメモリコントローラ２５は、第２のバス６２で接続されている。第１のバス６１と第２のバス６２の間は、第３のバス６３で接続されている。よって、第１のバス６１と第２のバス６２の間は、第３のバス６３を介して、常時、信号の伝送が可能な状態である。また、第１のメモリコントローラ２４と第１のメモリモジュール２６の間は、バス６４で接続されている。同様に、第２のメモリコントローラ２５と第２のメモリモジュール２７の間は、バス６５で接続されている。図５に示した情報処理装置の各部位はバス分割部の制御機能を有しない以外は、本実施形態の情報処理装置の各部位と同等の機能を有している。
【００６１】
図６は、図５の構成の情報処理装置のうち第１のＣＰＵ２１、第２のＣＰＵ２２、第１のメモリコントローラ２４および第２のメモリコントローラ２５を１つのパケージとしたマルチコアプロセッサの動作状態の例を示している。図６では、第１のＣＰＵ２１および第２のＣＰＵ２２に相当する部位がＣＰＵコア、第１のメモリコントローラ２４および第２のメモリコントローラ２５に相当する部位が、メモリコントローラとして示されている。また、第１のメモリモジュール２６および第２のメモリモジュール２７に相当する部位は、それぞれメモリとして示されている。
【００６２】
図６の例では左側のＣＰＵコアが左側のメモリコントローラを介してメモリモジュールの異常の有無の検査を行っている。このとき、左側のＣＰＵコアがメモリモジュールの検査を行っているときは、右側のＣＰＵコアはメモリ検査を行うことができないので未使用状態となる。
【００６３】
図７は、図６の状態で２つのＣＰＵコアが同時にメモリモジュールの検査を行った際の状態を模式的に示したものである。図７は、２つのＣＰＵが同時にメモリ検査の動作を行って、バス上で衝突が起きている様子を示している。２つのＣＰＵが同時にアクセスを行うとバス上で衝突が起きるので、２つのＣＰＵは同時にメモリにアクセスすることはできない。
【００６４】
また、図８は、本実施形態の情報処理装置のメモリ検査時における動作状態の例を示している。図８の例ではバスが分割されているので２つのＣＰＵは、それぞれ別のメモリコントローラを介して、並列にメモリモジュールの検査を行うことができる。図６の例のように１つのＣＰＵのみがメモリモジュールの検査を行う場合にメモリモジュールの検査を完了するまでに要する時間がＸ時間であったとする。このとき、本実施形態の半導体装置は、図８に示すように並列にメモリモジュールの検査を行うので、（Ｘ／２）時間でメモリモジュールの検査を完了することが可能となり得る。
【００６５】
本実施形態の情報処理装置は、通常時、第１のＣＰＵ１１および第２のＣＰＵ１２が第１のメモリコントローラ１４および第２のメモリコントローラ１５を介して第１のメモリモジュール１６および第２のメモリモジュール１７にアクセスして動作する。本実施形態の情報処理装置では、第１のメモリモジュール１６および第２のメモリモジュールの異常の有無の検査を行う際に、バス分割部１３によって第３のバス５３が分割される。第３のバス５３が分割されると第１のＣＰＵ１１が第１のメモリモジュール１６に、第２のＣＰＵ１２が第２のメモリモジュール１７にそれぞれ同時にアクセスすることが可能となる。そのため、第１のＣＰＵ１１および第２のＣＰＵ１２により第１のメモリモジュール１６と第２のメモリモジュール１７の検査を並列処理で行うことができる。
【００６６】
第１のＣＰＵ１１および第２のＣＰＵ１２による並列処理でメモリの異常の有無の検査を行うことで、１つのＣＰＵが全メモリ領域の検査を行う場合に比べ、メモリの検査に要する時間を短縮化することができる。メモリの検査を複数のＣＰＵによって並列で行うことによる短縮化の効果は、大容量のメモリになるほど顕著になる。また、本実施形態の情報処理装置では、並列処理によるメモリの検査のためにはバス分割部１３のみを備えればよいので装置の大型化を抑制することができる。以上より、本実施形態の情報処理装置は、装置の大型化を抑制しつつ大容量のメモリモジュールの検査を短時間で行うことができる。
【００６７】
第２の実施形態では、ＣＰＵおよびメモリコントローラがそれぞれ２つ備えられている例について示したが、ＣＰＵおよびメモリコントローラは３つ以上であってもよい。図９は、Ｎ個のＣＰＵおよびメモリコントローラを備える情報処理装置の例を模式的に示したものである。図９の情報処理装置は、ＣＰＵ３１と、バス分割部３２と、メモリコントローラ３３と、メモリモジュール３４を備えている。
【００６８】
図９の情報処理装置では、ＣＰＵ３１とメモリコントローラ３３は、バス３５を介して接続されている。バス３５の間は、バス３６でそれぞれ接続されている。また、バス３６ごとにバス分割部３２が備えられている。メモリコントローラ３３とメモリ３４の間は、バス３７でそれぞれ接続されている。
【００６９】
図９の情報処理装置は、ＣＰＵ３１およびメモリコントローラ３３をそれぞれＮ個ずつ備えている。また、各メモリコントローラ３３には、１つまたは複数のメモリモジュール３４がバス３７を介して接続されている。図９の情報処理装置は、（Ｎ−１）個のバス分割部３２を備えている。図９の情報処理装置の各部位の機能は第２の実施形態の同名称の部位とそれぞれ同じである。
【００７０】
図９の情報処理装置は、（Ｎ−１）個のバス分割部３３を有することでＮ個のＣＰＵ３１がそれぞれ並列してメモリモジュール３４の検査を行うことができる。よって、１つのＣＰＵ３１が全てのメモリモジュールの検査を行う場合に完了までに要する時間と比べて、（１／Ｎ）の時間で検査を完了することが可能となり得る。
【００７１】
また、図１０は、第２の実施形態の情報処理装置と同様の情報処理装置において、メモリバスが環状に形成されている構成の例を示したものである。図１０の情報処理装置は、ＣＰＵ４１と、バス分割部４２と、メモリコントローラ４３と、メモリモジュール４４を備えている。
【００７２】
図１０の情報処理装置では、ＣＰＵ４１とメモリコントローラ４３は、バス４５を介して接続されている。バス４５の間は、バス４６でそれぞれ接続されている。また、バス４６ごとにバス分割部４２が備えられている。メモリコントローラ４３とメモリ４４の間は、バス４７でそれぞれ接続されている。
【００７３】
図１０の情報処理装置は、ＣＰＵ４１およびメモリコントローラ４３をそれぞれＮ個ずつ備えている。図１０の情報処理装置では、バス分割部４２−Ｎとバス分割部４２−１がバス４６−Ｎで接続されている。すなわち、図１０の情報処理装置のメモリバスは環状に接続されている。また、各メモリコントローラ４３には、１つまたは複数のメモリモジュール４４がバス４７を介して接続されている。図１０の半導体装置は、Ｎ個のバス分割部４２を備えている。図１０の半導体装置の各部位の機能は第２の実施形態の同名称の部位とそれぞれ同じである。
【００７４】
図１０のように環状のメモリバスを有する情報処理装置においても、Ｎ個のバス分割部４３を備える構成とすることでＮ個のＣＰＵ４１がそれぞれ並列してメモリモジュール４４の検査を行うことができる。よって、１つのＣＰＵ４１が全てのメモリモジュールの検査を行う場合に完了までに要する時間と比べて、（１／Ｎ）の時間で検査を完了することが可能となり得る。
【００７５】
また、図９および図１０の情報処理装置においても、第２の実施形態と同様に複数のＣＰＵ等が１つのパッケージ内に形成されたマルチコアプロセッサとメモリモジュールとを備える構成としてもよい。
【００７６】
第２の実施形態では、ＣＰＵを用いた情報処理装置について示したがＣＰＵに代えてＤＳＰ（Digital Signal Processor）やＦＰＧＡ（Field-Programmable Gate Array）等の他の半導体装置を用いてもよい。
【符号の説明】
【００７７】
１    第１のメモリ制御手段
２    第２のメモリ制御手段
３    第１の演算処理手段
４    第２の演算処理手段
５    第１のバス
６    第２のバス
７    第３のバス
８    バス分割手段
１１    第１のＣＰＵ
１２    第２のＣＰＵ
１３    バス分割部
１４    第１のメモリコントローラ
１５    第２のメモリコントローラ
１６    第１のメモリモジュール
１７    第２のメモリモジュール
２１    第１のＣＰＵ
２２    第２のＣＰＵ
２４    第１のメモリコントローラ
２５    第２のメモリコントローラ
２６    第１のメモリモジュール
２７    第２のメモリモジュール
３１    ＣＰＵ
３２    バス分割部
３３    メモリコントローラ
３４    メモリモジュール
３５    バス
３６    バス
３７    バス
４１    ＣＰＵ
４２    バス分割部
４３    メモリコントローラ
４４    メモリモジュール
４５    バス
４６    バス
４７    バス
５１    第１のバス
５２    第２のバス
５３    第３のバス
５４    バス
５５    バス
６１    第１のバス
６２    第２のバス
６３    第３のバス
６４    バス
６５    バス
Ｓ１１    バス設定信号
Ｓ１２    バス設定信号
【図１】
0006445387.tif 000002
【図２】
0006445387.tif 000003
【図３】
0006445387.tif 000004
【図４】
0006445387.tif 000005
【図５】
0006445387.tif 000006
【図６】
0006445387.tif 000007
【図７】
0006445387.tif 000008
【図８】
0006445387.tif 000009
【図９】
0006445387.tif 000010
【図１０】
0006445387.tif 000011