(57)【要約】【課題】バッファの異常によって異常なデータが外部制御部に転送されることを防止できる情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】実施形態の情報処理装置は、バッファと、メモリと、制御部と、を備える。バッファは、転送対象のデータを記憶可能である。メモリは、バッファに所定の異常検出用データが書き込まれたことおよび第１制御対象を制御する外部制御部により書き込まれるバッファの異常検出結果を保持可能である。制御部は、第１制御対象とは異なる第２制御対象を制御し、外部制御部に転送する異常検出用データをバッファに書き込み、異常検出用データをバッファに書き込んだことをメモリに保持させ、異常検出結果が異常を検出したことを示している場合、少なくともバッファの異常が検出された領域へのデータの書き込みを禁止する。【選択図】図３
2015115005.tif 000002
【特許請求の範囲】
【請求項１】
転送対象のデータを記憶可能なバッファと、
前記バッファに所定の異常検出用データが書き込まれたことおよび第１制御対象を制御する外部制御部により書き込まれる前記バッファの異常検出結果を保持可能なメモリと、
前記第１制御対象とは異なる第２制御対象を制御し、前記外部制御部に転送する前記異常検出用データを前記バッファに書き込み、前記異常検出用データを前記バッファに書き込んだことを前記メモリに保持させ、前記異常検出結果が異常を検出したことを示している場合、少なくとも前記バッファの異常が検出された領域へのデータの書き込みを禁止する制御部と、
を備えた情報処理装置。
【請求項２】
前記メモリは、前記バッファから読み出した前記異常検出用データと所定の異常検出用データとが一致するか否かにより前記外部制御部により検出された前記バッファの前記異常検出結果を保持可能である請求項１に記載の情報処理装置。
【請求項３】
前記バッファは、複数の記憶領域を有し、
前記制御部は、複数の前記記憶領域のうち書込み対象の前記記憶領域へのデータの書き込みに並行して、前記書込み対象の記憶領域以外の前記記憶領域に前記異常検出用データを書き込む請求項１または２に記載の情報処理装置。
【請求項４】
前記メモリは、前記記憶領域を分割した複数の分割領域それぞれの前記異常検出結果が書き込まれ、
前記制御部は、前記異常検出結果が異常を検出したことを示している前記分割領域へのデータの書き込みを禁止し、前記異常検出結果が異常を検出しなかったことを示している前記分割領域へのデータの書き込みを許可する請求項１から３のいずれか一に記載の情報処理装置。
【請求項５】
前記制御部は、所定時間毎に、前記異常検出用データを前記バッファに書き込む請求項１から４のいずれか一に記載の情報処理装置。
【請求項６】
前記制御部は、所定のデータ量のデータが前記バッファに書き込まれる毎に、前記異常検出用データを前記バッファに書き込む請求項１から４のいずれか一に記載の情報処理装置。
【請求項７】
前記制御部は、所定の書込み回数、前記バッファにデータを書き込む毎に、前記異常検出用データを前記バッファに書き込む請求項１から４のいずれか一に記載の情報処理装置。
【請求項８】
転送対象のデータを記憶可能なバッファと、前記バッファに所定の異常検出用データが書き込まれたことおよび第１制御対象を制御する外部制御部により書き込まれる前記バッファの異常検出結果を保持可能なメモリと、を備えた情報処理装置で実行される情報処理情報であって、
前記第１制御対象とは異なる第２制御対象を制御し、前記外部制御部に転送する前記異常検出用データを前記バッファに書き込み、前記異常検出用データを前記バッファに書き込んだことを前記メモリに保持させ、前記異常検出結果が異常を検出したことを示している場合、少なくとも前記バッファの異常が検出された領域へのデータの書き込みを禁止する過程、
を含む情報処理方法。
【請求項９】
転送対象のデータを記憶可能なバッファと、前記バッファに所定の異常検出用データが書き込まれたことおよび第１制御対象を制御する外部制御部により書き込まれる前記バッファの異常検出結果を保持可能なメモリと、を備えた情報処理装置を制御するコンピュータを、
前記第１制御対象とは異なる第２制御対象を制御し、前記外部制御部に転送する前記異常検出用データを前記バッファに書き込み、前記異常検出用データを前記バッファに書き込んだことを前記メモリに保持させ、前記異常検出結果が異常を検出したことを示している場合、少なくとも前記バッファの異常が検出された領域へのデータの書き込みを禁止する制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
データの演算処理を行いかつ制御対象がそれぞれ異なるＭＰＵ（Micro-Processing  Unit）を有する通信システムは、連携動作するＭＰＵ間においてデータの受け渡しを行う際に当該データを一時的に保存してＭＰＵ間の処理速度や転送速度の差を補うバッファを有している。この通信システムによれば、データバスのバス幅が異なるＭＰＵ間においてデータの受け渡しを行う際のデータの転送速度を向上させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−７１０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の通信システムにおいては、バッファはデータを記憶しておく機能を提供しているにすぎないので、バッファにおけるデータの書き込み時またはデータの読み出し時の異常によって異常なデータが受信側のＭＰＵに送信されても、送信側のＭＰＵおよび受信側のＭＰＵのいずれにおいてもデータの異常の有無を確認することができず、バッファの異常によって異常なデータが転送される、という課題がある。
【課題を解決するための手段】
【０００５】
実施形態の情報処理装置は、バッファと、メモリと、制御部と、を備える。バッファは、転送対象のデータを記憶可能である。メモリは、バッファに所定の異常検出用データが書き込まれたことおよび第１制御対象を制御する外部制御部により書き込まれるバッファの異常検出結果を保持可能である。制御部は、第１制御対象とは異なる第２制御対象を制御し、外部制御部に転送する異常検出用データをバッファに書き込み、異常検出用データをバッファに書き込んだことをメモリに保持させ、異常検出結果が異常を検出したことを示している場合、少なくともバッファの異常が検出された領域へのデータの書き込みを禁止する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１の実施形態にかかる情報処理装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態にかかる情報処理装置のハードウェア構成を示す図である。
【図３】図３は、第１の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。
【図４】図４は、第１の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。
【図５】図５は、第１の実施形態にかかる情報処理装置が備えるバッファの構成を示す図である。
【図６】図６は、第１の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。
【図７】図７は、第１の実施形態にかかる情報処理装置が備えるＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。
【図８】図８は、第１の実施形態にかかる情報処理装置が備える外部ＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。
【図９】図９は、第１の実施形態にかかる情報処理装置におけるバッファの異常を検出する処理の流れを示すフローチャートである。
【図１０】図１０は、第２の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。
【図１１】図１１は、第２の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。
【図１２】図１２は、第２の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。
【図１３】図１３は、第２の実施形態にかかる情報処理装置が備えるＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。
【図１４】図１４は、第２の実施形態にかかる情報処理装置が備える外部ＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。
【図１５】図１５は、第２の実施形態にかかる情報処理装置におけるバッファの異常を検出する処理の流れを示すフローチャートである。
【図１６】図１６は、第３の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。
【図１７】図１７は、第３の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。
【図１８】図１８は、第３の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。
【図１９】図１９は、第３の実施形態にかかる情報処理装置が備えるＭＰＵによる分割領域へのデータの書き込みを説明するための図である。
【図２０】図２０は、第３の実施形態にかかる情報処理装置によるバッファへのデータの書き込みを説明するための図である。
【発明を実施するための形態】
【０００７】
以下、添付の図面を用いて、本実施形態にかかる情報処理装置、情報処理方法およびプログラムについて説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態にかかる情報処理装置の構成を示すブロック図である。本実施形態にかかる情報処理装置は、図１に示すように、システムバス１２を介して接続された、第１情報処理部１と第２情報処理部２とを有している。第１情報処理部１は、ＭＰＵ（Micro  Processing  Unit）１０を有している。第２情報処理部２は、外部ＭＰＵ１１を有している。外部ＭＰＵ１１は、図示しない第１制御対象を制御する外部制御部の一例である。また、ＭＰＵ１０は、外部ＭＰＵ１１が制御する第１制御対象とは異なる第２制御対象を制御する制御部の一例である。そして、ＭＰＵ１０と外部ＭＰＵ１１とは連携して各種処理を実行可能である。本実施形態では、第１制御部１と第２制御部２とはシステムバス１２を介して接続されているが、これに限定するものではなく、例えば、トラッキングケーブル等の通信ケーブルを介して接続されていても良い。本実施形態では、ＭＰＵ１０と外部ＭＰＵ１１とが１つの情報処理装置内に搭載されているが、ＭＰＵ１０と外部ＭＰＵ１１とがそれぞれ別の情報処理装置内に搭載されていても良い。
【０００９】
図２は、第１の実施形態にかかる情報処理装置のハードウェア構成を示す図である。本実施形態にかかる第１情報処理部１は、図２に示すように、第２制御対象を制御するＭＰＵ１０と、外部ＭＰＵ１１とＭＰＵ１０との間でやりとりする転送対象のデータを記憶可能なバッファ１３と、当該バッファ１３に対するデータの記憶状態等を保持可能なレジスタ１４（メモリの一例）と、を備えている。第２情報処理部２は、図２に示すように、第１制御対象を制御する外部ＭＰＵ１１を備えている。
【００１０】
図３は、第１の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。ＭＰＵ１０は、図３に示すように、外部ＭＰＵ１１へのデータの送信等の各種の演算処理を行う演算部１００と、バッファ１３の異常の検出に用いる所定の異常検出用データ（以下、テストデータと言う）のバッファ１３への書き込みを行う自己診断部１０１と、バッファ１３の異常検出結果に応じてバッファ１３へのデータの書き込みを制御する領域制御部１０２と、バッファ１３において外部ＭＰＵ１１へ送信するデータを書き込む領域のアドレスを計算するアドレス計算部１０３と、バッファ１３の記憶領域を複数の記憶領域（本実施形態では、後述する第１記憶領域１３０、第２記憶領域１３１およびバックアップ領域１３２）に分割する領域分割部１０４と、を備えている。
【００１１】
図４は、第１の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。外部ＭＰＵ１１は、図４に示すように、ＭＰＵ１０へのデータの送信等の各種の演算処理を行う演算部１１０と、バッファ１３に書き込まれたテストデータを用いてバッファ１３の異常を検出する確認部１１１と、バッファ１３においてＭＰＵ１０へ送信するデータを書き込むアドレスを計算するアドレス計算部１１２と、を備えている。
【００１２】
図５は、第１の実施形態にかかる情報処理装置が備えるバッファの構成を示す図である。本実施形態では、バッファ１３は、図５に示すように、ＭＰＵ１０から外部ＭＰＵ１１へ転送するデータを記憶する第１記憶領域１３０と、外部ＭＰＵ１１からＭＰＵ１０へ転送するデータを記憶する第２記憶領域１３１と、第１記憶領域１３０および第２記憶領域１３１に記憶されたデータのバックアップに使用可能なバックアップ領域１３２と、を有している。
【００１３】
図６は、第１の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。本実施形態では、レジスタ１４は、図６に示すように、第１記憶領域１３０においてデータが記憶された領域のアドレスを保持可能な第１アドレスレジスタ１４０と、第２記憶領域１３１においてデータが記憶された領域のアドレスを保持可能な第２アドレスレジスタ１４１と、第１記憶領域１３０に対する転送対象のデータの記憶状態を保持可能な第１データライトレジスタ１４２と、第２記憶領域１３１に対する転送対象のデータの記憶状態を保持可能な第２データライトレジスタ１４３と、テストデータの記憶状態を保持可能な第１テストデータライトレジスタ１４４と、第２記憶領域１３１に対するテストデータの記憶状態を保持可能な第２テストデータライトレジスタ１４５と、外部ＭＰＵ１１により書き込まれるバッファ１３の異常検出結果（バッファ１３に異常が検出されなかったこと）を示すデータ（本実施形態では、「ＯＮ」という）を保持可能なバッファ正常レジスタ１４６と、外部ＭＰＵ１１により書き込まれるバッファ１３の異常検出結果（バッファ１３に異常が検出されたこと）を示すデータ（本実施形態では、「ＯＮ」という）を保持可能なバッファ異常レジスタ１４７と、を有する。
【００１４】
次に、図３〜６を用いて、ＭＰＵ１０と外部ＭＰＵ１１間においてデータを送受信する処理について説明する。まず、ＭＰＵ１０から外部ＭＰＵ１１へデータを送信する処理について説明する。ＭＰＵ１０の演算部１００は、ＭＰＵ１０から外部ＭＰＵ１１へデータを送信する場合、バッファ１３の第１記憶領域１３０のうちアドレス計算部１０３により計算されたアドレスの領域にデータを書き込む。さらに、演算部１００は、第１記憶領域１３０においてデータを書き込んだ領域のアドレスを第１アドレスレジスタ１４０に書き込んで保持させるとともに、第１記憶領域１３０に対してデータを書き込んだことを示すデータ（本実施形態では、「ＯＮ」という）を第１データライトレジスタ１４２に書き込んで保持させる。
【００１５】
外部ＭＰＵ１１の演算部１１０は、第１データライトレジスタ１４２に「ＯＮ」が保持されているかを検出する。そして、第１データライトレジスタ１４２に「ＯＮ」が保持されていることを検出すると、演算部１１０は、第１アドレスレジスタ１４０からアドレスを読み出す。さらに、演算部１１０は、バッファ１３の第１記憶領域１３０において、読み出したアドレスの領域からデータを読み込む。演算部１１０は、データの読み込みが完了すると、第１記憶領域１３０に記憶されたデータを読み込んだことを示すデータ（本実施形態では、「ＯＦＦ」という）を第１データライトレジスタ１４２に書き込んで保持させる。以上により、本実施形態にかかる情報処理装置は、ＭＰＵ１０から外部ＭＰＵ１１へのデータの送信を行う。
【００１６】
次に、外部ＭＰＵ１１からＭＰＵ１０へデータを送信する処理について説明する。外部ＭＰＵ１１の演算部１１０は、外部ＭＰＵ１１からＭＰＵ１０へデータを送信する場合、バッファ１３の第２記憶領域１３１のうちアドレス計算部１１２により取得されたアドレスの領域にデータを書き込む。さらに、演算部１１０は、第２記憶領域１３１においてデータを書き込んだ領域のアドレスを第２アドレスレジスタ１４１に書き込んで保持させるとともに、第２記憶領域１３１に対してデータを書き込んだことを示すデータ（本実施形態では、「ＯＮ」という）を第２データライトレジスタ１４３に書き込んで保持させる。
【００１７】
ＭＰＵ１０の演算部１００は、第２データライトレジスタ１４３に「ＯＮ」が保持されているかを検出する。そして、第２データライトレジスタ１４３に「ＯＮ」が保持されていることを検出すると、演算部１００は、第２アドレスレジスタ１４１からアドレスを読み出す。さらに、演算部１００は、バッファ１３の第２記憶領域１３１において、読み出したアドレスの領域からデータを読み込む。演算部１００は、データの読み込みが完了すると、第２記憶領域１３１に記憶されたデータを読み込んだことを示すデータ（本実施形態では、「ＯＦＦ」という）を第２データライトレジスタ１４３に書き込んで保持させる。以上により、本実施形態にかかる情報処理装置は、外部ＭＰＵ１１からＭＰＵ１０へのデータの送信を行う。
【００１８】
次に、図３〜６を用いて、バッファ１３の異常を検出する処理について説明する。ＭＰＵ１０の自己診断部１０１は、バッファ１３に対してテストデータを書き込む。さらに、自己診断部１０１は、第１アドレスレジスタ１４０（または第２アドレスレジスタ１４１）にテストデータを書き込んだ領域のアドレスを書き込んで保持させるととともに、第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に、テストデータを書き込んだことを示すデータ（本実施形態では、「ＯＮ」という）を書き込んで保持させる。
【００１９】
外部ＭＰＵ１１の確認部１１１は、第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に「ＯＮ」が保持されているかを検出する。そして、第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に「ＯＮ」が保持されていることを検出すると、確認部１１１は、第１アドレスレジスタ１４０（または第２アドレスレジスタ１４１）に記憶されたアドレス読み出す。さらに、確認部１１１は、バッファ１３において、読み出したアドレスの領域からテストデータを読み込む。確認部１１１は、テストデータの読み込みが完了すると、読み込んだテストデータと、予め設定されたテストデータとが一致しなかった場合に（すなわち、バッファ１３へのテストデータの書き込み時やバッファ１３からのテストデータの読み出し時等において異常が発生して、バッファ１３からテストデータを読み出すことができなかった場合に）、バッファ１３の異常を検出するとともに、バッファ異常レジスタ１４７に対して、バッファ１３の異常を検出したことを示すデータ（本実施形態では、「ＯＮ」という）を書き込む。一方、読み込んだテストデータと予め設定されたテストデータとが一致した場合（すなわち、バッファ１３へのテストデータの書き込み時やバッファ１３からのテストデータの読み出し時等において異常が発生せず、バッファ１３からテストデータを読み出すことができた場合に）、確認部１１１は、バッファ正常レジスタ１４６に対して、バッファ１３が正常であることを示すデータ（本実施形態では、「ＯＮ」という）を書き込む。
【００２０】
ＭＰＵ１０の自己診断部１０１は、バッファ正常レジスタ１４６に「ＯＮ」が保持されている場合、バッファ１３へのテストデータの書き込みを継続する。さらに、自己診断部１０１は、バッファ正常レジスタ１４６に「ＯＦＦ」を書き込んで保持させる。
【００２１】
ＭＰＵ１０の演算部１００は、バッファ異常レジスタ１４７に「ＯＮ」が保持されている場合、少なくともバッファ１３の異常が検出された領域（バッファ１３において、第１アドレスレジスタ１４０または第２アドレスレジスタ１４１に保持されるアドレスが示す領域）へのデータの書き込みを禁止する。さらに、自己診断部１０１は、バッファ１３へのテストデータの書き込みを中止するとともに、バッファ異常レジスタ１４７に「ＯＦＦ」を書き込んで保持させる。これにより、バッファ１３の異常によって異常なデータが外部ＭＰＵ１１に送信された場合に、外部ＭＰＵ１１においてデータの異常を検出することができ、バッファ１３へのデータの書き込みを禁止することができるので、バッファ１３の異常による異常なデータが転送されることを防止できる。
【００２２】
次に、図７〜９を用いて、本実施形態にかかる情報処理装置においてバッファ１３の異常を検出する処理について詳細に説明する。図７は、第１の実施形態にかかる情報処理装置が備えるＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。図８は、第１の実施形態にかかる情報処理装置が備える外部ＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。図９は、第１の実施形態にかかる情報処理装置におけるバッファの異常を検出する処理の流れを示すフローチャートである。
【００２３】
本実施形態では、ＭＰＵ１０の自己診断部１０１は、情報処理装置のイニシャライズが指示されると（図７のステップＳ７０１）、バッファ１３へのテストデータの書き込みを開始する（図７のステップＳ７０２および図９のステップＳ９０１）。自己診断部１０１は、バッファ１３へのテストデータの書き込みが完了すると（図９のステップＳ９０１：Ｎｏ）、バッファ１３においてテストデータを書き込んだ領域のアドレスを、第１アドレスレジスタ１４０（または第２アドレスレジスタ１４１）に書き込んで保持させる（図９のステップＳ９０２）。さらに、自己診断部１０１は、第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に、テストデータを書き込んだことを示すデータ（「ＯＮ」）を書き込んで保持させる（図９のステップＳ９０３）。
【００２４】
第１テストデータライトレジスタ１４４（または第２テストデータライト１４５）へ「ＯＮ」を書き込み後、自己診断部１０１は、バッファ正常レジスタ１４６に対して、バッファ１３が正常であることを示すデータ（「ＯＮ」）が保持されたか否かを判断する自己診断処理を行う（図７のステップＳ７０３および図９のステップＳ９０４）。そして、バッファ正常レジスタ１４６に対してバッファ１３が正常であることを示すデータ（「ＯＮ」）が書き込まれた場合（図９のステップＳ９０４：Ｙｅｓ）、自己診断部１０１は、バッファ正常レジスタ１４６に対して「ＯＦＦ」を書き込んで保持させるとともに（図９のステップＳ９０５）、ステップＳ９０１へ戻り、バッファ１３のうちテストデータの書き込みを行っていない領域へのテストデータの書き込みを行う。
【００２５】
一方、バッファ異常レジスタ１４７に対してバッファ１３が異常であることを示すデータ（「ＯＮ」）が保持されている場合（図７のステップＳ７０４および図９のステップＳ９０４：Ｎｏ）、自己診断部１０１は、バッファ異常レジスタ１４７に対して「ＯＦＦ」を書き込んで保持させる（ステップＳ９０６）。さらに、演算部１００は、バッファ１３が異常状態にあると判断して、バッファ１３へのデータの書き込みを禁止する（図９のステップＳ９０７）。これにより、バッファ１３の異常によって異常なテストデータが外部ＭＰＵ１１に送信された場合に、外部ＭＰＵ１１においてテストデータの異常を検出してバッファ１３を用いたデータの転送が行われなくなるので、バッファ１３の異常による異常なデータが転送されることを防止できる。
【００２６】
一方、外部ＭＰＵ１１の確認部１１１は、情報処理装置のイニシャライズが指示されると（図８のステップＳ７０１）、第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に、テストデータを書き込んだことを示すデータ（「ＯＮ」）が保持されるまで待機する（図８のステップＳ８０１および図９のステップＳ９０８）。第１テストデータライトレジスタ１４４（または第２テストデータライトレジスタ１４５）に「ＯＮ」が保持された場合（図９のステップＳ９０８：Ｙｅｓ）、確認部１１１は、第１アドレスレジスタ１４０（または第２アドレスレジスタ１４１）に保持されるアドレスを読み出す（ステップＳ９０９）。そして、確認部１１１は、バッファ１３において、読み出したアドレスの領域からテストデータを読み込む（図９のステップＳ９１０）。さらに、確認部１１１は、バッファ１３から読み込んだテストデータと、予め記憶されているテストデータとが一致するか否かを確認する自己診断処理を行う（図８のステップＳ８０２および図９のステップＳ９１１）。
【００２７】
バッファ１３から読み込んだテストデータと予め記憶されているテストデータが一致した場合（図９のステップＳ９１２：Ｙｅｓ）、確認部１１１は、バッファ正常レジスタ１４６に対して、バッファ１３が正常であることを示すデータ（「ＯＮ」）を書き込んで保持させる（図９のステップＳ９１３）。一方、バッファ１３から読み込んだテストデータと予め記憶されているテストデータが一致しなかった場合（図９のステップＳ９１２：Ｎｏ）、確認部１１１は、バッファ異常レジスタ１４７に対して、バッファ１３が異常であることを示すデータ（「ＯＮ」）を書き込んで保持させる（図９のステップＳ９１４）。
【００２８】
このように第１の実施形態の情報処理装置によれば、バッファ１３の異常によって異常なデータが外部ＭＰＵ１１に送信された場合に、外部ＭＰＵ１１においてデータの異常を検出することができ、バッファ１３へのデータの書き込みを禁止することができるので、バッファ１３へのデータの書き込み時やバッファ１３からのデータの読み出し時等の異常によって異常なデータが転送されることを防止できる。
【００２９】
（第２の実施形態）
本実施形態は、バッファが有する複数の記憶領域のうち書込み対象の記憶領域へのデータの書き込みに並行して、書込み対象の記憶領域以外の記憶領域へのテストデータの書き込みを行う例である。以下の説明では、第１の実施形態と同様の箇所については説明を省略する。
【００３０】
図１０は、第２の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。本実施形態にかかるＭＰＵ１０００は、図１０に示すように、演算部１００と、アドレス計算部１０３と、領域分割部１０４と、バッファ１３が有する複数の記憶領域のうち書込み対象の記憶領域へのデータの書き込みに並行して、当該書込み対象の記憶領域以外の記憶領域へのテストデータの書き込みを実行可能な自己診断部１００１と、記憶領域の異常検出結果に応じて、演算部１００によりデータを書き込む記憶領域を制御する領域制御部１００２と、を備えている。
【００３１】
図１１は、第２の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。本実施形態にかかる外部ＭＰＵ１２００は、図１１に示すように、演算部１１０と、演算部１１０によるバッファ１３からのデータの読み込みに並行して、バッファ１３の異常を検出可能な確認部１２０１と、後述する切替レジスタ１４８（図１２参照）を参照して、演算部１１０によってデータを書き込む記憶領域を制御するアドレス計算部１２０２と、を備えている。
【００３２】
図１２は、第２の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。本実施形態では、レジスタ１１００は、図１２に示すように、第１アドレスレジスタ１４０と、第２アドレスレジスタ１４１と、第１データライトレジスタ１４２と、第２データライトレジスタ１４３と、第１テストデータライトレジスタ１４４と、第２テストデータライトレジスタ１４５と、バッファ正常レジスタ１４６と、バッファ異常レジスタ１４７と、外部ＭＰＵ１１からＭＰＵ１０へのデータの転送に用いる記憶領域を第２記憶領域１３１からバックアップ領域１３２に切り替えることを示すデータ（本実施形態では、「ＯＮ」という）を保持可能な切替レジスタ１４８と、を有する。
【００３３】
次に、図１３〜１５を用いて、ＭＰＵ１０００と外部ＭＰＵ１２００間におけるデータの送受信に並行して、バッファ１３の異常を検出する処理について説明する。図１３は、第２の実施形態にかかる情報処理装置が備えるＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。図１４は、第２の実施形態にかかる情報処理装置が備える外部ＭＰＵにおいてバッファの異常を検出する処理を説明するための図である。図１５は、第２の実施形態にかかる情報処理装置におけるバッファの異常を検出する処理の流れを示すフローチャートである。
【００３４】
まず、第１記憶領域１３０へのデータの書き込みに並行して、バックアップ領域１３２への異常を検出する処理について説明する。本実施形態では、ＭＰＵ１０００の自己診断部１００１は、情報処理装置のイニシャライズが指示されると（図１３のステップＳ７０１）、演算部１００による第１記憶領域１３０へのデータの書き込みに並行して、バックアップ領域１３２へのテストデータの書き込みを開始する（図１３のステップＳ１３０１および図１５のステップＳ１５０１）。自己診断部１００１は、バックアップ領域１３２へのテストデータの書き込みが完了すると（図１５のステップＳ１５０１：Ｎｏ）、バックアップ領域１３２においてテストデータを書き込んだ領域のアドレスを、第１アドレスレジスタ１４０に書き込んで保持させる（図１５のステップＳ１５０２）。さらに、自己診断部１００１は、第１テストデータライトレジスタ１４４に、テストデータを書き込んだことを示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５０３）。
【００３５】
第１テストデータライトレジスタ１４４へ「ＯＮ」を保持させた後、自己診断部１００１は、バッファ正常レジスタ１４６に対して、バックアップ領域１３２が正常であることを示すデータ（「ＯＮ」）が保持されたか否かを判断する自己診断処理を行う（図１３のステップＳ１３０２および図１５のステップＳ１５０４）。そして、バッファ正常レジスタ１４６に対して「ＯＮ」が書き込まれた場合（ステップＳ１５０４：Ｙｅｓ）、自己診断部１００１は、バッファ正常レジスタ１４６に対して「ＯＦＦ」を書き込んで保持させるとともに（図１５のステップＳ１５０５）、領域制御部１００２に対してバックアップ領域１３２が正常であることを伝える。その後、自己診断部１００１は、図１５のステップＳ１５０１へ戻り、バックアップ領域１３２のうちテストデータの書き込みを行っていない領域へのテストデータの書き込みを行う。
【００３６】
一方、バッファ異常レジスタ１４７に対してバックアップ領域１３２が異常であることを示すデータ（「ＯＮ」）が保持されている場合（図１３のステップＳ１３０３および図１５のステップＳ１５０４：Ｎｏ）、自己診断部１００１は、バッファ異常レジスタ１４７に対して「ＯＦＦ」を書き込んで保持させるとともに（図１５のステップＳ１５０６）、領域制御部１００２に対してバックアップ領域１３２が異常であることを伝える。その後、自己診断部１００１は、図１５のステップＳ１５０１へ戻り、バックアップ領域１３２のうちテストデータの書き込みを行っていない領域へのテストデータの書き込みを行う。
【００３７】
領域制御部１００２は、バックアップ領域１３２の全ての領域が正常であることが伝えられると、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、第１記憶領域１３０からバックアップ領域１３２へ切り替えることを指示する（図１３のステップＳ１３０４）。アドレス計算部１０３は、バックアップ領域１３２のアドレスをデータの書き込みを行う領域のアドレスとして取得することにより、書込み対象の記憶領域を第１記憶領域１３０からバックアップ領域１３２へ切り替える。一方、領域制御部１００２は、バックアップ領域１３２の少なくとも一部の領域が異常であることが伝えられると、書込み対象の記憶領域の切替を指示しない。
【００３８】
外部ＭＰＵ１１の確認部１２０１は、情報処理装置のイニシャライズが指示されると（図１４のステップＳ７０１）、第１テストデータライトレジスタ１４４に、テストデータを書き込んだこと示すデータ（「ＯＮ」）が保持されるまで待機する（図１４のステップＳ８０１および図１５のステップＳ１５０７）。第１テストデータライトレジスタ１４４に「ＯＮ」が保持された場合（図１５のステップＳ１５０７：Ｙｅｓ）、確認部１２０１は、第１アドレスレジスタ１４０に保持されるアドレスを読み出す（図１５のステップＳ１５０８）。そして、確認部１２０１は、バックアップ領域１３２において、読み出したアドレスの領域からテストデータを読み込む（図１５のステップＳ１５０９）。さらに、確認部１２０１は、バックアップ領域１３２から読み込んだテストデータと、予め記憶されているテストデータとが一致するか否かを確認する自己診断処理を行う（図１４のステップＳ１４０１および図１５のステップＳ１５１０）。
【００３９】
バックアップ領域１３２から読み込んだテストデータと予め記憶されているテストデータが一致した場合（図１５のステップＳ１５１１：Ｙｅｓ）、確認部１２０１は、バッファ正常レジスタ１４６に対して、バックアップ領域１３２が正常であることを示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５１２）。一方、バックアップ領域１３２から読み込んだテストデータと予め記憶されているテストデータが一致しなかった場合（図１５のステップＳ１５１１：Ｎｏ）、確認部１２０１は、バッファ異常レジスタ１４７に対して、バックアップ領域１３２が異常であることを示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５１３）。
【００４０】
次に、バックアップ領域１３２へのデータの書き込みに並行して、第１記憶領域１３０の異常を検出する処理について説明する。ＭＰＵ１０００の自己診断部１００１は、情報処理装置のイニシャライズが指示されると（図１３のステップＳ７０１）、演算部１００によるバックアップ領域１３２へのデータの書き込みに並行して、第１記憶領域１３０へのテストデータの書き込みを開始する（図１３のステップＳ１３０１および図１５のステップＳ１５０１）。自己診断部１００１は、第１記憶領域１３０へのテストデータの書き込みが完了すると（図１５のステップＳ１５０１：Ｎｏ）、第１記憶領域１３０においてテストデータを書き込んだ領域のアドレスを、第１アドレスレジスタ１４０に書き込んで保持させる（図１５のステップＳ１５０２）。さらに、自己診断部１００１は、第１テストデータライトレジスタ１４４に、テストデータを書き込んだことを示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５０３）。
【００４１】
第１テストデータライトレジスタ１４４へ「ＯＮ」を保持させた後、自己診断部１００１は、バッファ正常レジスタ１４６に対して、第１記憶領域１３０が正常であることを示すデータ（「ＯＮ」）が保持されたか否かを判断する自己診断処理を行う（図１３のステップＳ１３０２および図１５のステップＳ１５０４）。そして、バッファ正常レジスタ１４６に対して第１記憶領域１３０が正常であることを示すデータ（「ＯＮ」）が書き込まれた場合（図１５のステップＳ１５０４：Ｙｅｓ）、自己診断部１００１は、バッファ正常レジスタ１４６に対して「ＯＦＦ」を書き込んで保持させるとともに（図１５のステップＳ１５０５）、領域制御部１００２に対して第１記憶領域１３０が正常であることを伝える。その後、自己診断部１００１は、図１５のステップＳ１５０１へ戻り、第１記憶領域１３０のうちテストデータの書き込みを行っていない領域へのテストデータの書き込みを行う。
【００４２】
一方、バッファ異常レジスタ１４７に対して第１記憶領域１３０が異常であることを示すデータ（「ＯＮ」）が保持されている場合（図１３のステップＳ１３０３および図１５のステップＳ１５０４：Ｎｏ）、自己診断部１００１は、バッファ異常レジスタ１４７に対して「ＯＦＦ」を書き込んで保持させるとともに（図１５のステップＳ１５０６）、領域制御部１００２に対して第１記憶領域１３０が異常であることを伝える。その後、自己診断部１００１は、図１５のステップＳ１５０１へ戻り、第１記憶領域１３０のうちテストデータの書き込みを行っていない領域へのテストデータの書き込みを行う。
【００４３】
領域制御部１００２は、第１記憶領域１３０の全ての領域が正常であることが伝えられると、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、バックアップ領域１３２から第１記憶領域１３０へ切り替えることを指示する（図１３のステップＳ１３０４）。アドレス計算部１０３は、第１記憶領域１３０のアドレスをデータの書き込みを行う領域のアドレスとして計算することにより、書込み対象の記憶領域をバックアップ領域１３２から第１記憶領域１３０へ切り替える。一方、領域制御部１００２は、第１記憶領域１３０の少なくとも一部の領域が異常であることが伝えられると、書込み対象の記憶領域の切替を指示しない。
【００４４】
外部ＭＰＵ１１の確認部１２０１は、情報処理装置のイニシャライズが指示されると（図１４のステップＳ７０１）、第１テストデータライトレジスタ１４４に、テストデータを書き込んだこと示すデータ（「ＯＮ」）が保持されるまで待機する（図１４のステップＳ８０１および図１５のステップＳ１５０７）。第１テストデータライトレジスタ１４４に「ＯＮ」が保持された場合（図１５のステップＳ１５０７：Ｙｅｓ）、確認部１２０１は、第１アドレスレジスタ１４０に保持されるアドレスを読み出す（図１５のステップＳ１５０８）。そして、確認部１２０１は、第１記憶領域１３０において、読み出したアドレスの領域からテストデータを読み込む（図１５のステップＳ１５０９）。さらに、確認部１２０１は、第１記憶領域１３０から読み込んだテストデータと、予め記憶されているテストデータとが一致するか否かを確認する自己診断処理を行う（図１４のステップＳ１４０１および図１５のステップＳ１５１０）。
【００４５】
第１記憶領域１３０から読み込んだテストデータと予め記憶されているテストデータが一致した場合（図１５のステップＳ１５１１：Ｙｅｓ）、確認部１２０１は、バッファ正常レジスタ１４６に対して、第１記憶領域１３０が正常であること示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５１２）。一方、第１記憶領域１３０から読み込んだテストデータと予め記憶されているテストデータが一致しなかった場合（図１５のステップＳ１５１１：Ｎｏ）、確認部１２０１は、バッファ異常レジスタ１４７に対して、第１記憶領域１３０が異常であることを示すデータ（「ＯＮ」）を書き込んで保持させる（図１５のステップＳ１５１３）。
【００４６】
ＭＰＵ１０００および外部ＭＰＵ１２００は、バックアップ領域１３２の全ての領域が正常であった場合、第２記憶領域１３１についても、第１記憶領域１３０と同様にして、異常を検出する処理を行う。ＭＰＵ１０００の領域制御部１００２は、第２記憶領域１３１の異常を検出する処理が行われている間、外部ＭＰＵ１２００からＭＰＵ１０００へのデータの転送に用いる記憶領域を第２記憶領域１３１からバックアップ領域１３２に切り替えること（「ＯＮ」）を切替レジスタ１４８に書き込んで保持させる。
【００４７】
外部ＭＰＵ１２００のアドレス計算部１２０２は、切替レジスタ１４８に「ＯＮ」が保持されると、演算部１１０を制御して、ＭＰＵ１０００に送信するデータを、バッファ１３のバックアップ領域１３２に書き込ませる。ＭＰＵ１０００の領域制御部１００２は、第２記憶領域１３１の全ての領域が正常であった場合、切替レジスタ１４８に「ＯＦＦ」を書き込んで保持させる。一方、領域制御部１００２は、第２記憶領域１３１に異常が検出された場合には、切替レジスタ１４８に「ＯＮ」を保持させたままとする。外部ＭＰＵ１２００の演算部１１０は、切替レジスタ１４８に「ＯＦＦ」が保持されると、ＭＰＵ１０００に送信するデータを第２記憶領域１３１に書き込む。
【００４８】
このように、第２の実施形態の情報処理装置によれば、ＭＰＵ１０００から外部ＭＰＵ１２００へのデータの転送に並行して、バッファ１３の異常の検出を行うことができるので、バッファ１３の異常の検出が行われることによってＭＰＵ１０００から外部ＭＰＵ１２００へデータが転送できなくなることを防止できる。
【００４９】
（第３の実施形態）
本実施形態は、バッファの記憶領域を分割した複数の分割領域それぞれの異常検出結果がレジスタに書き込まれ、レジスタに保持される異常検出結果が異常を検出したこと示している分割領域へのデータの書き込みを禁止し、レジスタの保持される異常検出結果が異常を検出しなかったことを示している分割領域へのデータの書き込みを許可する例である。以下の説明では、第２の実施形態と同様の箇所については説明を省略する。
【００５０】
図１６は、第３の実施形態にかかる情報処理装置が備えるＭＰＵの機能構成を示すブロック図である。本実施形態にかかるＭＰＵ１６００は、図１６に示すように、演算部１００と、アドレス計算部１０３と、自己診断部１００１と、異常検出対象の記憶領域を複数の分割領域（本実施形態では、前半分割領域と後半分割領域の２つの分割領域）に分割する領域分割部１６０１と、複数の分割領域のうちレジスタ１７００に保持される異常検出結果が異常を検出したことを示している分割領域へのデータの書き込みを禁止し、異常検出結果が異常を検出しなかったことを示している分割領域のデータの書き込みを許可する領域制御部１６０２と、を備えている。
【００５１】
図１７は、第３の実施形態にかかる情報処理装置が備える外部ＭＰＵの機能構成を示すブロック図である。本実施形態にかかる外部ＭＰＵ１８００は、図１７に示すように、演算部１１０と、確認部１２０１と、アドレス計算部１８０１と、を備えている。アドレス計算部１８０１は、前半エリアレジスタ１４９、後半エリアレジスタ１５０、移動先レジスタ（前半）１５１および移動先レジスタ（後半）１５２を参照して、演算部１１０によってデータを書き込む記憶領域を制御する。
【００５２】
図１８は、第３の実施形態にかかる情報処理装置が備えるレジスタの構成を示す図である。本実施形態では、レジスタ１７００は、図１８に示すように、第１アドレスレジスタ１４０と、第２アドレスレジスタ１４１と、第１データライトレジスタ１４２と、第２データライトレジスタ１４３と、第１テストデータライトレジスタ１４４と、第２テストデータライトレジスタ１４５と、バッファ正常レジスタ１４６と、バッファ異常レジスタ１４７と、切替レジスタ１４８と、第２記憶領域１３１の前半分割領域の異常を検出すること（言い換えると、第２記憶領域１３１の前半分割領域に保持されるデータをバックアップ領域１３２に移動させること）を示すデータ（本実施形態では、「ＯＮ」という）を保持可能な前半エリアレジスタ１４９と、第２記憶領域１３１の後半分割領域の異常を検出すること（言い換えると、第２記憶領域１３１の後半分割領域に保持されるデータをバックアップ領域１３２に移動させること）を示すデータ（本実施形態では、「ＯＮ」という）を保持可能な後半エリアレジスタ１５０と、第２記憶領域１３１の前半分割領域に保持されるデータをバックアップ領域１３２の前半分割領域に移動させることを示すデータ（本実施形態では、「ＯＮ」という）を保持可能な移動先レジスタ（前半）１５１と、第２記憶領域１３１の後半分割領域に保持されるデータをバックアップ領域１３２の後半分割領域に移動させることを示すデータ（本実施形態では、「ＯＮ」という）を保持可能な移動先レジスタ（後半）１５２と、を有する。
【００５３】
次に、図１９および図２０を用いて、書込み対象の記憶領域が有する分割領域のうち異常が検出された分割領域へのデータの書き込みを禁止し、異常が検出されなかった分割領域へのデータの書き込みを許可する処理について説明する。図１９は、第３の実施形態にかかる情報処理装置が備えるＭＰＵによる分割領域へのデータの書き込みを説明するための図である。図２０は、第３の実施形態にかかる情報処理装置によるバッファへのデータの書き込みを説明するための図である。
【００５４】
ＭＰＵ１６００の領域制御部１６０２は、自己診断部１００１による自己診断処理（図１９のステップＳ１３０２）によってバックアップ領域１３２に異常が検出された場合（図１９のステップＳ１３０３）、バックアップ領域１３２において異常が検出された領域が、領域分割部１６０１によりバックアップ領域１３２を分割した前半分割領域と後半分割領域のうちいずれに含まれるか（すなわち、異常が検出された領域が混在するか）を判断する（図１９のステップＳ１９０１）。
【００５５】
そして、領域制御部１６０２は、バックアップ領域１３２において異常が検出された領域が、バックアップ領域１３２の後半分割領域に含まれると判断した場合（図２０参照）、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、第１記憶領域１３０の前半分割領域のみバックアップ領域１３２の前半分割領域に切り替えることを指示する（図１９のステップＳ１９０２）。言い換えると、領域制御部１６０２は、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、バックアップ領域１３２の後半分割領域に切り替えることを禁止する。アドレス計算部１０３は、第１記憶領域１３０の前半分割領域に書き込むデータのみを、バックアップ領域１３２の前半分割領域に書き込む。
【００５６】
データの書込み対象の記憶領域が、第１記憶領域１３０の前半分割領域からバックアップ領域１３２の前半分割領域に切り替えられ後、自己診断部１００１は、第１記憶領域１３０の前半分割領域の自己診断処理を行う。自己診断処理によって第１記憶領域１３０の前半分割領域に異常が検出されなかった場合には、領域制御部１６０２は、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、バックアップ領域１３２の前半分割領域から第１記憶領域１３０の前半分割領域に切り替えることを指示する。アドレス計算部１０３は、バックアップ領域１３２の前半分割領域に書き込むデータを、第１記憶領域１３０の前半分割領域に書き込む。
【００５７】
次に、領域制御部１６０２は、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、第１記憶領域１３０の後半分割領域のみバックアップ領域１３２の前半分割領域に切り替えることを指示する（図１９のステップＳ１９０２）。言い換えると、領域制御部１６０２は、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、バックアップ領域１３２の後半分割領域に切り替えることを禁止する。アドレス計算部１０３は、第１記憶領域１３０の後半分割領域に書き込むデータのみを、バックアップ領域１３２の前半分割領域に書き込む。
【００５８】
データの書込み対象の記憶領域が、第１記憶領域１３０の後半分割領域からバックアップ領域１３２の前半分割領域に切り替えられ後、自己診断部１００１は、第１記憶領域１３０の後半分割領域の自己診断処理を行う。自己診断処理によって第１記憶領域１３０の後半分割領域に異常が検出されなかった場合には、領域制御部１６０２は、アドレス計算部１０３に対して、データの書込み対象の記憶領域を、バックアップ領域１３２の前半分割領域から第１記憶領域１３０の後半分割領域に切り替えることを指示する。アドレス計算部１０３は、バックアップ領域１３２の前半分割領域に書き込むデータを、第１記憶領域１３０の後半分割領域に書き込む。
【００５９】
第１記憶領域１３０に対する自己診断処理が行われた後、領域制御部１６０２は、第２記憶領域１３１についても、第１記憶領域１３０と同様にして異常を検出する処理を行う。ＭＰＵ１６００の領域制御部１６０２は、第２記憶領域１３１の異常を検出する処理が行われている間、外部ＭＰＵ１８００からＭＰＵ１６００へのデータの転送に用いる記憶領域を第２記憶領域１３１からバックアップ領域１３２に切り替えることを示すデータ（「ＯＮ」）を切替レジスタ１４８に書き込んで保持させる。さらに、領域制御部１６０２は、第２記憶領域１３１の前半分割領域の異常を検出することを示すデータ（「ＯＮ」）を前半エリアレジスタ１４９に書き込んで保持させるとともに、第２記憶領域１３１の前半分割領域に保持されるデータをバックアップ領域１３２の前半分割領域に移動させることを示すデータ（「ＯＮ」）を移動先レジスタ（前半）１５１に書き込んで保持させる。
【００６０】
ＭＰＵ１８００のアドレス計算部１８０１は、前半エリアレジスタ１４９に「ＯＮ」が保持されかつ移動先レジスタ（前半）１５１に「ＯＮ」が保持されると、第２記憶領域１３１の前半分割領域に書き込むデータのみを、バックアップ領域１３２の前半分割領域に書き込む。ＭＰＵ１６００の自己診断部１００１は、第２記憶領域１３１の前半分割領域の自己診断処理を行う。自己診断処理によって第２記憶領域１３１の前半分割領域に異常が検出されなかった場合には、領域制御部１６０２は、前半エリアレジスタ１４９に「ＯＦＦ」を書き込んで保持させるとともに、移動先レジスタ（前半）１５１に「ＯＦＦ」を書き込んで保持させる。
【００６１】
さらに、領域制御部１６０２は、第２記憶領域１３１の後半分割領域の異常を検出することを示すデータ（「ＯＮ」）を後半エリアレジスタ１５０に書き込んで保持させるとともに、第２記憶領域１３１の後半分割領域に保持されるデータをバックアップ領域１３２の前半分割領域に移動させること（「ＯＮ」）を移動先レジスタ（前半）１５１に書き込んで保持させる。
【００６２】
ＭＰＵ１８００のアドレス計算部１８０１は、後半エリアレジスタ１５０に「ＯＮ」が保持されかつ移動先レジスタ（前半）１５１に「ＯＮ」が保持されると、第２記憶領域１３１の後半分割領域に書き込むデータのみを、バックアップ領域１３２の前半分割領域に書き込む。ＭＰＵ１６００の自己診断部１００１は、第２記憶領域１３１の後半分割領域の自己診断処理を行う。自己診断処理によって第２記憶領域１３１の後半分割領域に異常が検出されなかった場合には、領域制御部１６０２は、後半エリアレジスタ１５０に「ＯＦＦ」を書き込んで保持させるとともに、移動先レジスタ（前半）１５１に「ＯＦＦ」を書き込んで保持させる。
【００６３】
このように第３の実施形態にかかる情報処理装置によれば、バッファ１３の記憶領域を分割した複数の分割領域のいずれかにおいて異常が検出されても、異常が検出された分割領域以外の分割領域を、データの転送に利用することができるので、分割領域において異常が検出されたことによるデータの転送速度の低下を軽減することができる。
【００６４】
以上説明したとおり、第１から第３の実施形態によれば、バッファ１３の異常によって異常なデータが転送されることを防止できる。
【００６５】
本実施形態では、自己診断部１０１，１００１は、情報処理装置のイニシャライズが指示された際に、テストデータをバッファ１３に書き込んで、バッファ１３の自己診断処理を実行しているが、これに限定するものではない。例えば、自己診断部１０１，１００１は、所定時間毎に、テストデータを書き込んで自己診断処理を行っても良い。また、自己診断部１０１，１００１は、所定のデータ量のデータがバッファ１３に書き込まれる毎に、若しくは所定の書き込み回数、バッファ１３にデータが書き込まれる度に、テストデータをバッファ１３に書き込んで自己診断処理を行っても良い。
【００６６】
なお、本実施形態の情報処理装置で実行されるプログラムは、ＲＯＭ（Read  Only  Memory）等に予め組み込まれて提供される。本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００６７】
さらに、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００６８】
本実施形態の情報処理装置のＭＰＵ１０，１０００，１６００で実行されるプログラムは、上述した各部（演算部１００、自己診断部１０１，１００１、領域制御部１０２，１００２，１６０２、アドレス計算部１０３、領域分割部１０４，１６０１）を含むモジュール構成となっており、実際のハードウェアとしてはＭＰＵ１０，１０００，１６００（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、演算部１００、自己診断部１０１，１００１、領域制御部１０２，１００２，１６０２、アドレス計算部１０３、領域分割部１０４，１６０１が主記憶装置上に生成されるようになっている。
【００６９】
本実施形態の情報処理装置の外部ＭＰＵ１１，１２００，１８００で実行されるプログラムは、上述した各部（演算部１１０、確認部１１１，１２０１、アドレス計算部１１２，１２０２，１８０１）を含むモジュール構成となっており、実際のハードウェアとしては外部ＭＰＵ１１，１２００，１８００（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、演算部１１０、確認部１１１，１２０１、アドレス計算部１１２，１２０２，１８０１が主記憶装置上に生成されるようになっている。
【００７０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７１】
１０，１０００，１６００  ＭＰＵ
１１，１２００，１８００  外部ＭＰＵ
１３  バッファ
１４  レジスタ
１００，１１０  演算部
１０１，１００１  自己診断部
１０２，１００２，１６０２  領域制御部
１０３，１１２，１２０２，１８０１  アドレス計算部
１０４，１６０１  領域分割部
１１１，１２０１  確認部
１３０  第１記憶領域
１３１  第２記憶領域
１３２  バックアップ領域
【図１】
2015115005.tif 000003
【図２】
2015115005.tif 000004
【図３】
2015115005.tif 000005
【図４】
2015115005.tif 000006
【図５】
2015115005.tif 000007
【図６】
2015115005.tif 000008
【図７】
2015115005.tif 000009
【図８】
2015115005.tif 000010
【図９】
2015115005.tif 000011
【図１０】
2015115005.tif 000012
【図１１】
2015115005.tif 000013
【図１２】
2015115005.tif 000014
【図１３】
2015115005.tif 000015
【図１４】
2015115005.tif 000016
【図１５】
2015115005.tif 000017
【図１６】
2015115005.tif 000018
【図１７】
2015115005.tif 000019
【図１８】
2015115005.tif 000020
【図１９】
2015115005.tif 000021
【図２０】
2015115005.tif 000022