(57)【要約】【課題】メモリエラーの検出における網羅性と効率性の両立を支援する。【解決手段】メモリアクセス装置２０は、信号処理部１２の要求にもとづいて、メモリ１４の第１アドレスに格納されたデータを取得し、そのデータの正常性を、当該データに対応づけられた冗長情報にもとづいて判定する。メモリアクセス装置２０は、第１アドレスに格納されたデータを取得する際に、第１アドレスに非依存のアドレスであり、正常性を確認すべきメモリ１４の領域を示す第２アドレスに格納されたデータをさらに取得する。そして、第２アドレスに格納されたデータの正常性を、当該データに対応づけられた冗長情報にもとづいてさらに判定する。【選択図】図１
2015170245.tif 000002
【特許請求の範囲】
【請求項１】
データ処理部の要求にもとづいて、メモリの第１アドレスに格納されたデータを取得する取得部と、
前記第１アドレスに格納されたデータの正常性を、当該データに対応づけられた冗長情報にもとづいて判定する判定部と、
正常性を確認すべき前記メモリの領域を示す情報であって、前記第１アドレスに非依存の第２アドレスを示す情報を保持する確認領域情報保持部と、
を備え、
前記メモリの前記第１アドレスに格納されたデータを取得する際に、前記取得部は、前記メモリの前記第２アドレスに格納されたデータをさらに取得し、前記判定部は、前記第２アドレスに格納されたデータの正常性を、当該データに対応づけられた冗長情報にもとづいてさらに判定することを特徴とするメモリアクセス装置。
【請求項２】
前記取得部は、前記データ処理部の要求が未受信であれば、前記メモリの前記第２アドレスに格納されたデータを取得することを抑制することを特徴とする請求項１に記載のメモリアクセス装置。
【請求項３】
前記第２アドレスに格納されたデータの正常性が確認された場合に、前記確認領域情報保持部に保持された第２アドレスを、前記メモリの別の領域を示す値に更新する更新部をさらに備えることを特徴とする請求項１または２に記載のメモリアクセス装置。
【請求項４】
前記取得部は、前記第２アドレスにもとづいて前記メモリの複数アドレスに格納された複数のデータを取得し、
前記判定部は、前記複数のデータそれぞれの正常性を、各データに対応づけられた冗長情報にもとづいて判定し、
前記取得部は、前記メモリから前記複数のデータの一部を未取得であるときに前記データ処理部の要求が受信された場合、当該要求に応じたデータ取得を優先して実行することを特徴とする請求項１から３のいずれかに記載のメモリアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術に関し、特にメモリのエラーを検出する技術に関する。
【背景技術】
【０００２】
ＬＳＩやＦＰＧＡ等により構成される半導体メモリは、微細化技術の進歩によってデバイス規模が非常に大きくなり、多くの機能や情報格納領域を有するようになった。これに伴い顕著化してきたのが、メモリにおけるソフトエラーの問題である。
【０００３】
ソフトエラーとは、設計・製造のミスや経年劣化に起因する故障等は含まず、放射線等による一過性の故障を指す。例えば、宇宙線が半導体のメモリセルに衝突して、メモリセルの電荷を壊してしまうことに起因する障害であり、メモリが搭載された機器の誤動作を招くことがある。ただし、ハードウェア故障とは異なり一時的なものであるため、電荷が破壊されたメモリセルの内容を正常なデータへ書き直すことで、正常設定・正常動作に戻すことができる。
【０００４】
また、メモリにＥＣＣ等のエラー訂正機能を持たせておくことで、１ビットのエラーであれば自動的な訂正が可能な場合がある。ただし、２ビットエラー等、複数ビットエラーの自動訂正は困難なこともある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２９０１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年の通信機器では、信号処理等の固有の機能を実現するために、大容量メモリを搭載し、フレームバッファや設定情報格納領域、カウンタ等を構成している。メモリに格納されたこれらの情報を保護するために、パリティチェック機能やＥＣＣチェック機能が採用されることがある。例えば、設定情報等のデータをメモリへ書き込む際に、このデータにもとづいて所定の演算を行った結果を示す冗長情報を同時に書込む。そして、設定情報等のデータ読出し時に、読出したデータにもとづく冗長情報と、予めメモリに格納された冗長情報との整合性を確認することでソフトエラーを検出し、メモリに格納されたデータの保護を実現している。
【０００７】
しかしながら、このようなメモリチェックは、メモリからのデータ読出しを伴う信号処理時に実行され、通常、信号未受信時には実行されない。信号処理の有無にかかわらず、メモリの各領域のデータを自律巡回によりチェックすることも考えられるが、信号処理が未発生にもかかわらずチェック処理が動作するため、消費電力の増大を招くことがある。例えば通信装置の場合、信号疎通時は各種回路が動作するため消費電力が増加することは当然であるが、信号未疎通時に消費電力が増加することは、アイドル状態の消費電力が高くなってしまい、また、スペック比較等において不利になることも考えられる。
【０００８】
本発明は本発明者の上記課題認識にもとづきなされたものであり、その主な目的は、メモリのエラー検出における網羅性と効率性の両立を支援する技術を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様のメモリアクセス装置は、データ処理部の要求にもとづいて、メモリの第１アドレスに格納されたデータを取得する取得部と、第１アドレスに格納されたデータの正常性を、当該データに対応づけられた冗長情報にもとづいて判定する判定部と、正常性を確認すべきメモリの領域を示す情報であって、第１アドレスに非依存の第２アドレスを示す情報を保持する確認領域情報保持部と、を備える。メモリの第１アドレスに格納されたデータを取得する際に、取得部は、メモリの第２アドレスに格納されたデータをさらに取得し、判定部は、第２アドレスに格納されたデータの正常性を、当該データに対応づけられた冗長情報にもとづいてさらに判定する。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、メモリのエラー検出における網羅性と効率性の両立を支援することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態の信号処理装置の構成を示す図である。
【図２】図１のメモリチェック部を詳細に示すブロック図である。
【図３】変形例の信号処理装置の構成を示す図である。
【図４】図３の確認領域情報保持部の構成を示す図である。
【発明を実施するための形態】
【００１３】
実施の形態では、メモリエラーの検出機能（以下「メモリチェック機能」とも呼ぶ。）を実装した信号処理装置を説明する。メモリチェック機能は、信号処理においてメモリアクセスが発生した際に、そのアクセス領域を示すメモリアドレス（後述の「要求アドレス」）とは非依存に決定されたアドレス（後述の「確認アドレス」）に格納されたデータの正常性を確認する。そして、正常性確認の対象領域を示すアドレス（後述の「確認アドレス」）を、メモリの全アドレスに亘り順次更新していく。これにより、メモリ内の長時間使用されないデータも含めた網羅的なチェックを実現する。また、信号処理時に付加的なメモリチェックを実行する一方、信号処理を未実行の間は、付加的なメモリチェックを停止することで、消費電力の増大を抑制した効率的なチェックを実現する。
【００１４】
図１は、実施の形態の信号処理装置の構成を示す。信号処理装置１０は、通信用の各種信号に関するデータ処理を実行するデバイスである。信号処理装置１０は、主信号としてのイーサネットフレーム（「イーサネット」は登録商標）やＩＰパケットを中継するレイヤ２スイッチ、レイヤ３スイッチであってもよい。また、シェルフ型の通信装置に組み込まれるインタフェース盤、インタフェースカードであってもよい。不図示であるが、信号処理装置１０は、外部の装置や網から信号を受信する複数のポートを備える。
【００１５】
図１は、信号処理装置１０の機能構成を示すブロック図でもある。信号処理装置１０は、信号処理部１２、内部メモリ１４ａ、メモリチェック部１６、確認領域情報保持部１８を備える。また信号処理装置１０は、バスを介して外部メモリ１４ｂとも接続される。
【００１６】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリをはじめとする素子や機械装置、電子回路で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現される。ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１７】
信号処理部１２は、外部装置から信号が入力された場合に、入力信号に対する所定のデータ処理を実行する。例えば、通信網から供給されたフレームをあるポートで受信した場合に、その受信フレームにもとづいて、方路決定処理や中継処理、別ポートへの転送処理を実行する。信号処理部１２は、これらのデータ処理を実行する際に、適宜、内部メモリ１４ａおよび外部メモリ１４ｂにデータを格納し、また、内部メモリ１４ａおよび外部メモリ１４ｂに格納されたデータを読出して参照する。
【００１８】
内部メモリ１４ａと外部メモリ１４ｂは、信号処理部１２のデータ処理において必要となる情報であって、信号処理部１２がデータ処理時に参照すべき情報を示すデータ（以下「主データ」とも呼ぶ。）を保持する記憶領域である。以下、内部メモリ１４ａと外部メモリ１４ｂを総称する場合、「メモリ１４」と呼ぶ。主データは、受信信号の出力ポートを決定するためのＭＡＣアドレステーブル情報や学習情報、各種設定情報、バッファリングされたフレームデータを含む。
【００１９】
メモリ１４は、主データに対する所定の演算により決定された冗長情報を示すデータ（以下「冗長データ」とも呼ぶ。）を、主データに対応づけて保持する。冗長データは、公知のパリティやＥＣＣであってもよい。またメモリ１４は、データ書込み可能なＲＡＭやＥＰＲＯＭにより実現されてもよい。さらにまた、メモリ１４の１つのアドレスが示す記憶領域には８ビットのデータが格納されてもよい。
【００２０】
メモリチェック部１６と確認領域情報保持部１８は、信号処理部１２によるメモリ１４へのアクセスのインタフェース機能を提供する。また、メモリ１４に格納されたデータの正常性確認を制御する。メモリチェック部１６と確認領域情報保持部１８は、互いに連携してメモリへのアクセスと正常性確認を制御するメモリアクセス装置２０を構成する。
【００２１】
メモリチェック部１６は、メモリアクセス制御回路と言え、信号処理部１２からメモリデータの取得要求を受け付ける。メモリチェック部１６は、その要求で指定されたアドレス（以下「要求アドレス」と呼ぶ。）に格納された主データと、その主データと対応づけられた冗長データをメモリ１４から取得する。メモリチェック部１６は、パリティチェックやＥＣＣチェック等の公知の手法によるメモリチェックを実行する。例えば、取得した主データから冗長データを生成し、メモリ１４から取得した冗長データとの整合性を判定することによりエラーを検出し、適宜エラー訂正も実行する。
【００２２】
確認領域情報保持部１８は、格納データの正常性を確認すべきメモリ１４の領域を示す情報であり、チェック対象とするメモリ１４のアドレス（以下「確認アドレス」と呼ぶ。）を示す情報を保持するメモリである。確認アドレスの値は、要求アドレスの値に依存せず、要求アドレスの値にかかわらず所定の規則により順次更新される。実施の形態の確認領域情報保持部１８は、確認アドレスの値を示すカウンタである。メモリチェック部１６は、確認領域情報保持部１８が保持する確認アドレスにしたがってメモリチェックを実行する。
【００２３】
図２は、図１のメモリチェック部１６を詳細に示すブロック図である。メモリチェック部１６は、読出・書込制御部３０、調停部３２、正常性判定部３４を含む。
【００２４】
読出・書込制御部３０は、信号処理部１２の要求に応じて、メモリ１４に対するデータの書込みと読出しを制御する。メモリ１４に対するデータの書込みと読出しは公知の手法により実現されてよい。例えば、書込みの場合、読出・書込制御情報を「書込」としてメモリ１４へ送出するとともに、書込み用のデータをメモリ１４へ送出し、さらに、書込先のアドレスを調停部３２を介してメモリ１４へ送出する。その一方、読出しの場合、読出・書込制御情報を「読出」としてメモリ１４へ送出するとともに、読出元のアドレスを調停部３２を介してメモリ１４へ送出する。
【００２５】
正常性判定部３４は、読出・書込制御部３０による読出し制御に応じてメモリ１４が出力したデータの正常性を上述の手法により判定する。正常性判定部３４は、読出データを読出・書込制御部３０へ出力するとともに、当該データの正常性判定結果を読出・書込制御部３０へ出力する。また正常性判定部３４は、読出・書込制御部３０の指示に応じて、確認領域情報保持部１８に保持された確認アドレスの値を、正常性を確認した領域の次の領域を示すアドレス値に更新する。例えば、確認アドレスのそれまでの値を、次のアドレスを示すよう１単位増加させてもよい。
【００２６】
読出・書込制御部３０は、正常性判定部３４による正常性判定結果に応じた所定の後処理を実行する。例えば、読出データが正常と判定された場合、当該データをそのまま要求元の信号処理部１２へ送出する一方、読出データが異常と判定された場合、要求元の信号処理部１２による当該データの使用を禁止する。この場合、読出データを信号処理部１２へ送出することを抑制してもよく、また、読出データとともに使用禁止を示すデータを信号処理部１２へ送出してもよい。
【００２７】
読出・書込制御部３０は、信号処理部１２の要求に応じたデータ読出し終了後、引き続き、確認領域情報保持部１８が保持する確認アドレスに格納されたデータの正常性確認を実行する。調停部３２は、信号処理部１２の要求により指定されたアドレス情報と、確認領域情報保持部１８の確認アドレスが示すアドレス情報の中で、メモリ１４からのデータ読出しに使用するアドレス情報を決定する。そして、一方のアドレス情報をメモリ１４へ出力する。読出・書込制御部３０から確認アドレスのデータ読出しが指示された場合は、確認アドレスが示すアドレス情報をメモリ１４へ出力する。
【００２８】
以上の構成による信号処理装置１０の動作を図２を参照して説明する。既述したように、確認領域情報保持部１８は、正常性の確認対象領域を示すメモリ１４のアドレス（確認アドレス）を保持するカウンタである。確認アドレスの初期値は、メモリ１４の先頭領域のアドレスであってもよい。
【００２９】
まず信号処理装置１０の起動時に、不図示の初期化部は、メモリ１４の初期化処理として、信号処理部１２による信号処理に必要な主データをメモリ１４の全アドレスに対して格納する。メモリ１４の一部には主データに代えて、所定のダミーデータを格納してもよい。初期化部は、複数の主データ（およびダミーデータ）それぞれの冗長データを生成し、主データと冗長データを対応づけてメモリ１４に格納する。なお、信号処理装置１０の停止時には、所定の外部装置やストレージが主データを不揮発に記憶していてもよい。
【００３０】
信号処理部１２は、通信網から信号を受信し、受信信号の処理に必要なデータのアドレス（要求アドレス）を指定したデータ取得要求を読出・書込制御部３０へ出力する。読出・書込制御部３０は、要求アドレスを、調停部３２を介してメモリ１４へ送出するとともに、読出・書込制御情報を「読出」に設定する。メモリ１４は、要求アドレスが示す領域に保持するデータを出力する。正常性判定部３４は、要求アドレスからの読出データの正常性を、当該読出データに対応づけられた冗長データにもとづいて判定し、読出データと正常性判定結果を読出・書込制御部３０に渡す。読出・書込制御部３０は、信号処理部１２からの要求にもとづく読出しであることを示す読出対象情報を正常性判定部３４へ通知し、正常性判定部３４は、確認領域情報保持部１８の確認アドレスの更新を抑制する。
【００３１】
読出・書込制御部３０は、正常性判定結果が正常であれば、要求アドレスからの読出データを信号処理部１２に出力する。正常性判定結果が異常であれば、読出・書込制御部３０は、信号処理部１２による読出データの使用を禁止する。読出・書込制御部３０は、冗長データにもとづくエラー訂正を実行してもよく、メモリ故障を所定の外部装置（監視装置等）へ通知してもよい。
【００３２】
信号処理部１２からの要求にもとづくデータ読出処理を完了すると、読出・書込制御部３０は、確認領域情報保持部１８に保持された確認アドレスからのデータ読出しを調停部３２に指示し、読出・書込制御情報を「読出」に設定する。調停部３２は、確認領域情報保持部１８に格納された確認アドレスをメモリ１４へ出力する。メモリ１４は、確認アドレスが示す領域に保持するデータを出力する。正常性判定部３４は、確認アドレスからの読出データの正常性チェックを、先の要求アドレスからの読出データの正常性チェックと同様に実行する。そして、読出データと正常性判定結果を読出・書込制御部３０に渡す。
【００３３】
以下、正常性判定結果が正常の場合と、異常の場合の動作を分けて説明する。
１．正常性判定結果が正常を示す場合：
読出・書込制御部３０は、確認アドレスにもとづく読出しであることを示す読出対象情報を正常性判定部３４へ通知する。正常性判定部３４は、確認領域情報保持部１８のカウンタ値を更新する。具体的には、メモリ１４における正常性を確認した領域の次の領域を示すアドレスになるよう確認領域情報保持部１８に保持された確認アドレスの値を１単位増加させる。
【００３４】
読出・書込制御部３０は、更新された確認アドレスが示すメモリ領域の正常性チェックを所定回数実行させ、正常性判定部３４は、確認領域情報保持部１８のカウンタ値を、正常性チェックの都度更新する。実施の形態では、確認アドレスを１５回更新することとし、元の確認アドレスを含めて１６回、メモリ１４の確認アドレス領域の正常性チェックを繰り返すこととする。すなわち、信号処理部１２からの１回のデータ取得要求にもとづくデータ読出しを契機として、メモリ１４における１６アドレス分の正常性チェックを実行する。なお、正常性チェックの繰り返し回数は、チェックの効率性や、信号受信の頻度、メモリ容量等に応じて、保守者の知見や実験等により適切な値が決定されてよい。
【００３５】
ただし読出・書込制御部３０は、メモリ１４の確認アドレス領域の正常性チェックよりも、信号処理部１２からのデータ取得要求にもとづくデータ読出処理を優先して実行する。例えば、読出・書込制御部３０は、信号処理部１２からのデータ取得要求にもとづくデータ読出処理を完了したときに、信号処理部１２から次のデータ取得要求を受け付けた場合、確認アドレス領域の正常性チェックをスキップする。そして、次のデータ取得要求で指定された要求アドレスにもとづくデータ読出処理を実行する。
【００３６】
また読出・書込制御部３０は、確認アドレス領域の正常性チェックを１６アドレス分繰り返す途中で、信号処理部１２から次のデータ取得要求を受け付けた場合も同様に、信号処理部１２からの要求にもとづくデータ読出処理を優先して実行する。例えば、１６個の確認アドレスのうち一部からのデータ読出しを未完了であっても、信号処理部１２からのデータ取得要求を受信すると、以降、新たな確認アドレスからのデータ読出し（正常性チェック、確認アドレスの更新）を中止する。そして、信号処理部１２による要求アドレスからのデータ読出しを即時に実行する。なお、メモリ１４から読出済の確認アドレスデータのチェックは継続してよいが、その次は要求アドレスデータの読出しを実行する。要求アドレスからのデータ読出処理が完了すれば、そのときの確認アドレスの値を起点として、確認アドレス領域の正常性チェックを１６アドレス分実行する。
【００３７】
２．正常性判定結果が異常を示す場合：
読出・書込制御部３０は、冗長データがＥＣＣのようにエラー訂正可能なものであれば、エラー訂正処理を実行する。例えば、冗長データにもとづいて主データの正しい値を生成し、正常性判定部３４から渡された確認アドレスのデータを、正しい値で書き戻す。その上で、確認アドレスからの読出データの正常性チェックを再度実行させる。エラー訂正の結果、確認アドレスからの読出データに対する正常性判定結果が正常になると、読出・書込制御部３０は、確認アドレスにもとづく読出しであることを示す読出対象情報を正常性判定部３４へ通知し、正常性判定部３４は、確認領域情報保持部１８のカウンタ値を更新する。これにより、次のメモリアドレスに対するチェックを続行する。
【００３８】
エラー訂正ができない場合、読出・書込制御部３０は、メモリ故障を示す警報情報を外部装置へ出力する。警報情報は、一時的なソフトエラーでなくハードウェア等に起因する恒久的なメモリ故障である旨の情報であってもよく、自動的なエラー訂正ができない旨の情報であってもよい。なお、エラー訂正ができない場合は、例えば、冗長データがエラー検出のみ可能なもののためエラー訂正ができないこと、２ビット以上にエラーが発生してエラー訂正ができないこと、エラー訂正後も再度エラーが検出されたことを含む。
【００３９】
読出・書込制御部３０は、正常性判定の対象となり、エラーが検出された確認アドレスを示す情報を調停部３２から取得する。具体的には、読出・書込制御部３０は、調停部３２が直前にメモリ１４へ出力したアドレス情報を要求し、調停部３２は、直前にメモリ１４へ出力した確認アドレスを読出・書込制御部３０に渡す。変形例として、読出・書込制御部３０は、正常性判定でエラーが検出された確認アドレスを確認領域情報保持部１８から取得してもよい。例えば、正常性判定部３４からエラーが通知された時点で確認領域情報保持部１８が保持するカウンタ値を読み込んでもよい。読出・書込制御部３０は、確認アドレスの情報を、メモリ故障の箇所を示す情報として警報情報に含める。警報情報を把握した保守者は、信号処理装置１０の復旧作業として、例えば信号処理装置１０を停止後、メモリの交換やエラー訂正作業等を適宜実施し、作業後に信号処理装置１０を再度起動する。
【００４０】
エラー訂正ができず、警報情報を出力した読出・書込制御部３０は、確認アドレスにもとづく読出しであることを示す読出対象情報を正常性判定部３４へ通知し、正常性判定部３４は、確認領域情報保持部１８のカウンタ値を更新する。すなわち、エラー訂正を試行後の正常性判定結果が正常か否かにかかわらず、正常性判定部３４は、確認領域情報保持部１８のカウンタ値を更新し、次のメモリアドレスに対するチェックを続行する。変形例として、訂正不能なメモリエラーを検出した場合に、読出・書込制御部３０は、警報情報を外部装置へ出力後、以降のメモリ１４へのアクセスを禁止にしてもよい。
【００４１】
実施の形態の信号処理装置１０によると、信号処理部１２によるデータ処理に伴うメモリアクセスの際に、信号処理部１２からの要求アドレスに非依存の確認アドレスに格納されたデータの正常性を確認する。また、確認アドレス領域の正常性を確認後、それまでの確認アドレスの値を、メモリ１４の別領域を示す値に順次更新する。このように、信号処理装置１０における信号処理の都度、メモリ１４内を巡回して正常性を順次確認していくため、メモリ１４に記録された長時間未使用のデータも含めた網羅的なメモリチェックを実現できる。
【００４２】
例えば信号処理装置で、これまで未使用のポートを新たに使用する場合、メモリに格納されたデータのうち長期間読出されなかったデータ、言い換えれば、長期間アクセスされたなかった領域に格納されたデータが使用されるようになることがある。従来、このようなデータの異常、すなわち、長時間アクセスされなかった領域におけるメモリ故障は、実際にポートを使用しなければ確認できなかった。そのため、実際にポートを使用するときに初めてメモリ故障が判明し、メモリや信号処理装置自体の交換が必要となり、大きな問題が生じることがあった。実施の形態の信号処理装置１０によると、メモリ１４に記録された長時間未使用のデータも含めた正常性を確認できるため、未使用ポートを実際に使用する前にメモリ故障を確認しやすくなり、計画的な対処が可能になる。
【００４３】
また信号処理装置１０によると、信号処理を未実行であるとき、例えばフレームを未受信でフレーム中継処理を未実行であるとき、メモリ１４の確認アドレス領域の正常性確認を抑制する。これにより、信号処理装置としてのアイドル状態における消費電力増大を抑制した効率的なメモリチェックを実現できる。また信号処理装置１０では、信号処理部１２による要求アドレス領域からのデータ取得を、確認アドレス領域の正常性確認より優先して実行する。これにより、装置本来のデータ処理に付随して実施すべき確認アドレス領域の正常性確認により、装置本来のデータ処理に遅延を生じさせてしまうことを回避できる。
【００４４】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せによりいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４５】
上記実施の形態では、確認領域情報保持部１８を、確認アドレスを記憶したカウンタとして実装することとした。変形例として、確認領域情報保持部１８を、メモリ１４における正常性確認状況をビット列のマップで示す情報インジケータ（以下「正常性確認状況ビットマップ」と呼ぶ。）として実装してもよい。図３は、変形例の信号処理装置１０の構成を示す図であり、図４は、図３の確認領域情報保持部１８の構成を示す図である。
【００４６】
正常性確認状況ビットマップ（確認領域情報保持部１８）の各アドレスの各ビットは、メモリ１４の特定のアドレス範囲に予め対応づけられる。例えば１回の正常性チェックで０ｘＦ（１６）アドレス分チェックする場合、図４で示すように、確認領域情報保持部１８のアドレス「０ｘ０」に格納されたデータの最上位ビットを、チェック対象メモリ１４の０ｘ００〜０ｘ０Ｆに対応づける。また、確認領域情報保持部１８のアドレス「０ｘ０」の２番目のビットを、メモリ１４の０ｘ１０〜０ｘ１Ｆに対応づける。このビットマップでは、メモリチェックを完了したアドレス範囲に対応するビットを「１」とし、メモリチェック未完了のアドレス範囲に対応するビットを「０」とする。
【００４７】
信号処理装置１０は、ビットマップ・アドレス変換部３６をさらに備える。ビットマップ・アドレス変換部３６は、確認領域情報保持部１８の各アドレスの各ビットと、メモリ１４のアドレス範囲との間で予め定められた対応関係を保持する。ビットマップ・アドレス変換部３６は、確認アドレスの取得要求を調停部３２から受け付けると、確認領域情報保持部１８において最初にビット値「０」が格納されたアドレスと、先頭からビット値「０」までのオフセット値を特定する。そして、特定したアドレスとオフセット値に対応づけられたメモリ１４のアドレス範囲を確認アドレスの範囲として決定し、それぞれの確認アドレスを調停部３２へ出力する。図４の例では、最初のビット値「０」をアドレス「０ｘ０」、オフセット２（３番目）で検出した場合、確認アドレスの範囲として「０ｘ２０〜０ｘ２Ｆ」を決定する。
【００４８】
この変形例の信号処理装置１０の動作は、確認アドレスの取得と更新の態様が異なる以外は、実施の形態の信号処理装置１０の動作と同様である。以下、変形例の信号処理装置１０の動作のうち、実施の形態の信号処理装置１０の動作と異なる点を、図３を参照しつつ説明する。
【００４９】
信号処理部１２からの要求にもとづくデータ読出処理を完了すると、読出・書込制御部３０は、確認領域情報保持部１８に保持された確認アドレスからのデータ読出しを調停部３２に指示し、読出・書込制御情報を「読出」に設定する。調停部３２は、確認アドレスの取得をビットマップ・アドレス変換部３６に指示する。ビットマップ・アドレス変換部３６は、正常性未確認を示すビット値「０」を確認領域情報保持部１８のビットマップでサーチし、ビットマップにおいてビット値「０」が存在する先頭位置を特定する。そして、ビットマップとメモリ１４のアドレス範囲との対応関係にしたがって、正常性を未確認で、今回確認すべきアドレス範囲を決定する。ビットマップ・アドレス変換部３６は、１つのアドレス範囲に１６個のアドレスが含まれる場合、１６回の繰り返しの中で各アドレスを確認アドレスとして順次決定し、確認アドレスを調停部３２へ出力する。
【００５０】
１６回の繰り返しが終了し、１６個の確認アドレスによるメモリ１４の正常性チェック結果がいずれも正常であれば、正常性判定部３４は、ビットマップで最初に存在する値「０」ビットを値「１」へ更新する。言い換えれば、確認アドレスによる正常性判定処理を完了したメモリ１４の領域に対応するビット値を、未確認を示す「０」から確認済を示す「１」へ更新する。なお、正常性チェックで異常を検出すると、実施の形態と同様に、エラー訂正と再チェックを実行し、エラー訂正ができず、または再チェックも異常であれば警報情報を出力する。その上で、次の確認アドレスによるメモリ１４の正常性チェックを実行する。最終的に、所定個数の確認アドレスの正常性チェックを完了すると、正常性判定部３４は、ビットマップで最初に存在する値「０」ビットを値「１」へ更新する。
【００５１】
この変形例の構成においても、実施の形態と同様の効果を奏する。この変形例においても、実施の形態と同様に、信号処理部１２の要求にもとづくメモリアクセスを優先して実行する。
【００５２】
また上記実施の形態では言及していないが、メモリ１４は、１つのアドレスを指定する１回の読出し要求に対して複数のアドレスのデータをバースト転送してもよい。この場合、冗長データはバースト単位に付加されてもよく、バースト転送されるデータ単位に正常性チェックを実行し、確認領域情報保持部１８が保持する確認アドレスをバースト単位に増加させてもよい。
【００５３】
また上記実施の形態では、メモリチェック部１６は、メモリへデータを書込み、またメモリからデータを読み込む機能を備えることとした。変形例として、信号処理装置１０には、メモリへアクセスする手段をメモリチェック部１６とは別に設けてもよい。メモリチェック部１６は、その手段から受け付けた読出データ（冗長データを含む）の正常性チェック、確認アドレスの読出指示、確認アドレスからの読出データの正常性チェック、確認アドレスの更新を実行してもよい。
【００５４】
また上記実施の形態では、メモリアクセス装置２０を信号処理装置１０に組み込む例を説明したが、メモリアクセス装置２０は、データ処理の際にメモリにアクセスする種々の情報処理装置、データ処理装置に組み込まれてもよい。例えば、メモリアクセス装置２０はＰＣやサーバに組み込まれてもよい。また、信号処理部１２はＣＰＵやＧＰＵであってもよい。
【００５５】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。例えば、請求項に記載の取得部は、実施の形態に記載の読出・書込制御部３０により実現できる。
【符号の説明】
【００５６】
１０  信号処理装置、  １２  信号処理部、  １４  メモリ、  １６  メモリチェック部、  １８  確認領域情報保持部、  ２０  メモリアクセス装置、  ３０  読出・書込制御部、  ３２  調停部、  ３４  正常性判定部。
【図１】
2015170245.tif 000003
【図２】
2015170245.tif 000004
【図３】
2015170245.tif 000005
【図４】
2015170245.tif 000006