(57)【特許請求の範囲】
【請求項１】
周辺装置用バスインタフェースと動作可能に接続された第１マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第１マスタは前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記第１マスタによって前記複数の周辺装置のうちの第１周辺装置に設定情報の書き込みを開始すること、
前記書き込みを開始することに応答して、前記第１周辺装置に格納するために前記周辺装置用バスインタフェースを介して前記設定情報を供給することであって、前記設定情報の第１エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記設定情報を前記第１周辺装置の第１記憶位置に格納すること、
前記周辺装置用バスインタフェースの記憶回路に前記第１エラーシンドロームを格納すること、
前記設定情報を格納した後に、前記第１記憶位置から前記設定情報を読み出すこと、
前記第１記憶位置から読み出された設定情報の第２エラーシンドロームを、読み出した設定情報から前記周辺装置用バスインタフェースによって生成すること、
前記第１エラーシンドローム及び前記第２エラーシンドロームを比較して、前記第１記憶位置から読み出された設定情報にエラーが存在するかどうかを決定することを備え、
前記第１マスタは、前記複数の周辺装置の第１メモリマッピングに従って、前記第１周辺装置に格納された設定情報の書き込みを開始し、
前記第１周辺装置に格納された設定情報の読み出しは、前記第１メモリマッピングと異なる前記複数の周辺装置の第２メモリマッピングに従って開始される、方法。
【請求項２】
周辺装置用バスインタフェースと動作可能に接続された第１マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第１マスタは前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記第１マスタによって前記複数の周辺装置のうちの第１周辺装置に設定情報の書き込みを開始すること、
前記書き込みを開始することに応答して、前記第１周辺装置に格納するために前記周辺装置用バスインタフェースを介して前記設定情報を供給することであって、前記設定情報の第１エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記設定情報を前記第１周辺装置の第１記憶位置に格納すること、
前記周辺装置用バスインタフェースの記憶回路に前記第１エラーシンドロームを格納すること、
前記設定情報を格納した後に、前記第１記憶位置から前記設定情報を読み出すこと、
前記第１記憶位置から読み出された設定情報の第２エラーシンドロームを、読み出した設定情報から前記周辺装置用バスインタフェースによって生成すること、
前記第１エラーシンドローム及び前記第２エラーシンドロームを比較して、前記第１記憶位置から読み出された設定情報にエラーが存在するかどうかを決定すること、
前記第１記憶位置に格納された設定情報の読み出しを開始することであって、前記読み出しを開始することに応答して、前記読み出しが実行される、前記読み出しを開始すること、
前記読み出しに対してエラー検出を実行すべきかどうかを決定することを備え、
前記決定することが、前記読み出しに対してエラー検出を実行すべきと決定した場合、前記生成すること及び前記比較することが実行され、
前記決定することは、前記データ処理システム内のどの構成要素が前記第１記憶位置に格納された設定情報の読み出しを開始するかに基づいて、前記読み出しに対してエラー検出を実行すべきかどうかを決定することを含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記決定することは、
前記第１記憶位置に格納された設定情報の読み出しを開始した構成要素が前記第１マスタである場合に、前記エラー検出を実行すべきでないと決定することを含む、方法。
【請求項４】
請求項２に記載の方法であって、
前記決定することは、
前記第１記憶位置に格納された設定情報の読み出しを開始した構成要素が前記周辺装置用バスインタフェースである場合に、前記エラー検出を実行すべきと決定することを含む、方法。
【請求項５】
請求項２に記載の方法であって、
前記データ処理システムが、第２マスタを更に含み、
前記第２マスタは、前記周辺装置用バスインタフェースと動作可能に接続され、前記周辺装置用バスインタフェースを介して各周辺装置と通信し、
前記決定することは、
前記第１記憶位置に格納された設定情報の読み出しを開始した構成要素が第２マスタである場合に、前記エラー検出を実行すべきと決定することを含む、方法。
【請求項６】
周辺装置用バスインタフェースと動作可能に接続された第１マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第１マスタは前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記第１マスタによって前記複数の周辺装置のうちの第１周辺装置に設定情報の書き込みを開始すること、
前記書き込みを開始することに応答して、前記第１周辺装置に格納するために前記周辺装置用バスインタフェースを介して前記設定情報を供給することであって、前記設定情報の第１エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記設定情報を前記第１周辺装置の第１記憶位置に格納すること、
前記周辺装置用バスインタフェースの記憶回路に前記第１エラーシンドロームを格納すること、
前記設定情報を格納した後に、前記第１記憶位置から前記設定情報を読み出すこと、
前記第１記憶位置から読み出された設定情報の第２エラーシンドロームを、読み出した設定情報から前記周辺装置用バスインタフェースによって生成すること、
前記第１エラーシンドローム及び前記第２エラーシンドロームを比較して、前記第１記憶位置から読み出された設定情報にエラーが存在するかどうかを決定すること、
前記第１記憶位置に格納された設定情報の読み出しを開始し、前記読み出しに対してエラー検出を実行すべきどうかを決定することを備え、
前記読み出しに対してエラー検出を実行すべきと決定した場合に、前記生成すること及び前記比較することが実行され、
前記エラー検出を実行すべきかどうかを決定することは、
前記周辺装置内のどのメモリマップが前記設定情報の読み出しを開始するために使用されたかに基づいて、前記読み出しに対してエラー検出を実行すべきどうかを決定することを含む、方法。
【請求項７】
請求項６に記載の方法であって、
前記エラー検出を実行すべきかどうかを決定することは、
前記読み出しに対して前記周辺装置の第１メモリマップが使用された場合、前記エラー検出を実行すべきではないと決定すること、
前記読み出しに対して前記周辺装置のミラーメモリマップが使用された場合、前記エラー検出を実行すべきと決定することを含む、方法。
【請求項８】
周辺装置用バスインタフェースと動作可能に接続された第１マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第１マスタは、前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記複数の周辺装置のうちの第１周辺装置に格納するために、前記周辺装置用バスインタフェースを介して設定情報を供給することであって、前記設定情報の第１エラーシンドロームは、前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記周辺装置用バスインタフェースを介して供給された設定情報を前記第１周辺装置に格納すること、
前記第１エラーシンドロームを前記周辺装置用バスインタフェースの記憶回路に格納すること、
前記設定情報を格納した後に、前記第１周辺装置に格納された設定情報の読み出しを開始すること、
前記読み出しを開始することに応答して、前記設定情報を前記第１周辺装置から受信することであって、前記第１周辺装置から受信された前記設定情報の第２エラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記第１エラーシンドロームと比較されて、前記第１周辺装置から受信された設定情報にエラーが存在するかどうかを決定すること、
前記第１マスタによって前記第１周辺装置に設定情報の書き込みを開始することを備え、
前記設定情報を供給することは、前記第１周辺装置への設定情報の書き込みを開始することに応答して実行され、
前記第１周辺装置に格納された設定情報の読み出しは、前記周辺装置用バスインタフェースによって実行され、
前記第１マスタは、前記複数の周辺装置の第１メモリマッピングに従って、前記第１周辺装置に格納された設定情報の書き込みを開始し、
前記周辺装置用バスインタフェースは、前記第１メモリマッピングと異なる前記複数の周辺装置の第２メモリマッピングに従って、前記第１周辺装置に格納された設定情報の読み出しを開始する、方法。
【請求項９】
請求項８に記載の方法であって、
前記複数の周辺装置の第２周辺装置に格納するために、前記周辺装置用バスインタフェースを介して第２設定情報を供給することであって、前記第２設定情報の第３エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記第２設定情報を供給すること、
前記周辺装置用バスインタフェースを介して供給された第２設定情報を前記第２周辺装置に格納すること、
前記第３エラーシンドロームを前記周辺装置用バスインタフェースの記憶回路に格納すること、
前記第２設定情報を格納した後、前記第２周辺装置に格納された第２設定情報の読み出しを開始すること、
前記第２設定情報の読み出しを開始することに応答して、前記第２設定情報を前記第２周辺装置から受信することであって、前記第２周辺装置から受信された前記第２設定情報の第４エラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記第３エラーシンドロームと比較されて前記第２周辺装置から受信された設定情報にエラーが存在するかどうかを決定する、前記第２設定情報を受信することを更に備える、方法。
【請求項１０】
請求項８に記載の方法であって、
前記データ処理システムは、
前記周辺装置用バスインタフェースと動作可能に接続され、前記周辺装置用バスインタフェースを介して各周辺装置と通信する第２マスタを更に備え、
前記第１周辺装置に格納された前記設定情報の読み出しを開始することは、前記第２マスタによって実行される、方法。
【請求項１１】
請求項１０に記載の方法であって、
前記第１マスタによって前記第１周辺装置に格納された設定情報の読み出しを開始すること、
前記第１マスタによって前記読み出しを開始することに応答して、前記周辺装置用バスインタフェースを介して前記設定情報を前記周辺装置から受信すること、
前記第１周辺装置から受信された設定情報を前記第１マスタに供給することをさらに備え、
前記周辺装置用バスインタフェースによって前記第１周辺装置に格納された設定情報の読み出しを開始する場合に、前記第１周辺装置から受信された前記設定情報にエラー検出が実施され、
前記第１マスタによって前記第１周辺装置に格納された設定情報の読み出しを開始する場合に、前記第１周辺装置から受信された前記設定情報にエラー検出が実施されない、方法。
【請求項１２】
請求項１０に記載の方法であって、
前記第１マスタによって前記第１周辺装置に格納された前記設定情報の読み出しを開始すること、
前記第１マスタによる前記読み出しを開始することに応答して、前記周辺装置用バスインタフェースを介して前記設定情報を前記第１周辺装置から受信することをさらに備え、
前記第１マスタは、前記複数の周辺装置の第１メモリマッピングに従って、前記第１周辺装置に格納された設定情報の前記読み出しを開始し、
第２マスタは、前記第１メモリマッピングと異なる前記複数の周辺装置の第２メモリマッピングに従って、前記第１周辺装置に格納された前記設定情報の読み出しを開始する、方法。
【請求項１３】
データ処理システムであって、
第１マスタと、
前記第１マスタと動作可能に接続された周辺装置用バスインタフェースと、
前記周辺装置用バスインタフェースと動作可能に接続された複数の周辺装置であって、前記周辺装置用バスインタフェースを介して前記第１マスタが、前記複数の周辺装置の各々と通信する、前記複数の周辺装置とを備え、
前記第１マスタが、前記複数の周辺装置に設定情報の格納を開始し、前記複数の周辺装置の各々に格納するために前記設定情報が供給される場合、前記複数の周辺装置の各々の前記設定情報のエラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記周辺装置用バスインタフェースの記憶回路に格納され、
設定情報のエラー検出において、前記複数の周辺装置のうちの１つの周辺装置に格納された設定情報が前記周辺装置から読み出されて、前記周辺装置用バスインタフェースに受信された場合、前記周辺装置用バスインタフェースは、前記周辺装置から受信された設定情報のエラーシンドロームを生成し、そのエラーシンドロームと、前記周辺装置に対して前記設定情報の書き込み中に生成されたエラーシンドロームとを比較して、前記周辺装置から受信された設定情報にエラーが存在するかどうかを決定し、
前記複数の周辺装置の第１メモリマッピングは前記第１マスタによって使用されて、前記複数の周辺装置に対する設定情報の格納を開始し、前記第１メモリマッピングと異なる前記複数の周辺装置のミラーメモリマッピングが使用されて、エラー検出のために前記複数の周辺装置に格納された設定情報の読み出しを開始する、データ処理システム。
【請求項１４】
請求項１３に記載のデータ処理システムであって、
前記周辺装置用バスインタフェースが、エラー検出のために前記周辺装置に格納された前記設定情報の読み出しを開始する、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ処理システムに関し、特に、周辺装置に格納された周辺装置の設定情報のエラー検出に関する。
【背景技術】
【０００２】
データ処理システムは、情報を処理するため、且つ他のシステムの動作を制御するために使用されている。データ処理システムの例は、パソコン（スタンドアロン、ラップトップ）、携帯電話、ＰＤＡ、タッチパッド、携帯電話、電子書箱端末、及び自動車、飛行機、ネットワーク機器、製造機器のような種々のシステムのための制御システムを含む。
【０００３】
典型的には、データ処理システムは、データ上の命令を実行する１つまたそれ以上のプロセッサと、データ及び命令を格納する１つまたはそれ以上のメモリと、プロセッサによって生成されたデータを用いるまたは取得するインタフェースとして動作する１つまたはそれ以上の周辺装置とを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第５５５３２３１号明細書
【特許文献２】米国特許出願公開第５６５４９６２号明細書
【特許文献３】米国特許第６８０４７４１号明細書
【特許文献４】米国特許第７４０１２３４号明細書
【非特許文献】
【０００５】
【非特許文献１】シーウィレック（Siewirek）著、「フォールト  トーレランス  アンド  メモリ  ハイラーキ（Fault Tolerance & Memory Hierarchy）」、カーネギーメロン（Carnegie Mellon）、１９９８年１１月２３日、ｐ．１−１８
【非特許文献２】ヨーン（Yoon）著、「バーチャライズ  アンド  フレックサブル  イシーシー  フォー  メイン  メモリ（Virtualized and Flexible ECC for Main Memory）」、エーシーエム（ACM）、２０１０年３月１３〜１７日、アスプロス  １０（ASPLOS’10）
【発明の概要】
【課題を解決するための手段】
【０００６】
一実施形態において、周辺装置用バスインタフェースと動作可能に接続された第１マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第１マスタは、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。該データ処理システムにおける方法は、第１マスタによって設定情報を複数の周辺装置の第１周辺装置に書き込みを開始することを含む。また、該方法は、書き込みの開始に応答して、第１周辺装置に格納するために周辺装置用バスインタフェースを介して設定情報を供給することを含み、設定情報の第１エラーシンドロームは周辺装置用バスインタフェースによって生成される。方法は、設定情報を第１周辺装置の第１記憶位置に格納すること、周辺装置用バスインタフェースの記憶回路に第１エラーシンドロームを格納することを更に含む。
【０００７】
別の実施形態において、周辺装置用バスインタフェースと動作可能に接続された第１マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第１マスタは周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。設定情報の第１エラーシンドロームが、周辺装置用バスインタフェースによって生成される。方法は、周辺装置用バスインタフェースを介して供給された設定情報を第１周辺装置に格納すること、周辺装置用インタフェースの記憶回路に第１エラーシンドロームを格納すること、設定情報を格納した後に、第１周辺装置に格納された設定情報の読み出しを開始することを含む。該方法は、読み出しの開始に応答して、第１周辺装置から設定情報を受信することを含む。第１周辺装置から受信された設定情報の第２エラーシンドロームは周辺装置用バスインタフェースによって生成され、第１エラーシンドロームと比較されて第１周辺装置から受信された設定情報にエラーが存在するかどうかを判定する。
【０００８】
別の実施形態において、データ処理システムは、第１マスタ、および周辺装置用バスインタフェースを含む。第１マスタは、周辺装置用バスインタフェースと動作可能に接続されている。データ処理システムは、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置を含む。第１マスタが、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。第１マスタが、複数の周辺装置に設定情報を格納することを開始する。複数の周辺装置の各々に格納するために設定情報が供給された場合、複数の周辺装置の設定情報のエラーシンドロームは周辺装置用バスインタフェースによって生成され、周辺装置用バスインタフェースの記憶回路に格納される。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に従ったデータ処理システムのブロック図。
【図２】本発明の一実施形態に従った周辺装置用インタフェースのブロック図。
【図３】本発明の一実施形態に従った周辺装置の設定レジスタに対する書き込み動作のフロー図。
【図４】本発明の一実施形態に従った周辺装置の設定レジスタに対する読み出し動作のフロー図。
【図５】本発明に従った周辺装置用インタフェースに対するメモリマップの２つの実施形態を示す。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施する実施例の詳細を説明する。この説明は例示に過ぎず、本発明の態様を制限するものではない。
後述のように、データ処理システムは、データ処理システムの周辺装置の設定記憶回路に書き込まれた設定情報のエラー検出を実行するシステムを含む。特定の例では、エラー検出は、周辺装置用インタフェースにおいて、周辺装置用インタフェースを介して周辺装置の設定レジスタから情報を読み出すことによって実行される。エラー検出方式は読み出された情報上で実行可能である。
【００１１】
図１は、本発明の一実施形態に従ったデータ処理システムのブロック図である。データ処理システム１０１が、プロセッサ１０３、ＤＭＡコントローラ１０５、ＲＡＭ１０９、フラッシュメモリ１１１、周辺装置用バス１２３を介して周辺装置１２５、１２９、１３３、１３７のような周辺装置とインタフェースする周辺装置用バスインタフェース１１３を含む。特定の実施形態において、周辺装置用インタフェースは、ブリッジまたはゲートウェイとして実行可能である。システム１０１は、プロセッサ１０３と通信可能に接続されたシステム相互接続部１０７、ＤＭＡコントローラ１０５、ＲＡＭ１０９、フラッシュメモリ１１１、およびインタフェース１１３を含む。プロセッサ１０３は、シングルコアプロセッサまたはマルチコアプロセッサであっても良い。一実施形態において、システム相互接続部１０７はコンピュータバスである。他の実施形態において、システム相互接続部はクロスバースイッチ回路である。他の実施形態において、システム１０１は他の図示されていないデバイス（例えば、クロック、電圧レギュレータ、他のプロセッサ、メモリコントローラ、他のメモリデバイス）を含み得る。他の実施形態において、システム１０１は、他の構成を含み得る。
【００１２】
一実施形態において、システム１０１は自動車用の制御回路である。しかし他の実施形態において、システム１０１はデータ処理システムの他の種類であっても良い。一実施形態において、図１に示されるデバイスは単一の集積回路ダイ上で具体化されてもよく、また他の実施形態では複数の集積回路ダイ上で具体化されても良い。
【００１３】
データ処理システム１０１が、タイマ周辺機器１２５、アナログデジタル変換器周辺装置１２９、通信周辺装置１３３、ディスプレイコントローラ周辺装置１３７を含む。タイマ周辺機器１２５は、時間ベース（例えば、クロックカウンタまたは水晶発振器）に基づいた出力を供給し、または入力を時間ベースと関連付けるデバイスである。アナログデジタル回路はアナログ信号をデジタル信号に変換する。通信周辺装置は、通信媒体（例えば、有線または無線媒体）によって他のデータ処理システムを含む他のデバイスと通信するように使用される。通信周辺装置の例は、ＵＡＲＴコントローラ、ＵＳＢコントローラ、コントローラエリアネットワーク（ＣＡＮ）コントローラ、ワイヤレスモデムを含む。ディスプレイ制御周辺装置１３７は、人間に読み取り可能な媒体を用いて、データ処理システムによって供給された情報を表示することを制御するように使用される。データ処理システム１０１は、デジタルアナログ変換器、キーボード、マウス、センサー、ターチパッド、グラフィックスコントローラ（図示せず）のような周辺装置の他の種類を含み得る。
【００１４】
各周辺装置が、設定レジスタ１２７、１３１、１３５、１３９として図１に示される設定記憶回路を含む。設定記憶回路は、周辺装置用の設定情報を格納する記憶位置である。設定記憶回路は、スタンドアロンメモリで具体化されるか、または他の周辺装置の情報を格納するメモリデバイスの特定位置又は領域として具体化され得る。
【００１５】
周辺装置の設定情報は、周辺装置がどのように動作するかを示すために用いられる情報である。周辺装置は、設定情報を使用して、パラメータ制御、機能実施可能性（feature enablement）、モード制御のような動作の態様を制御する。
【００１６】
タイマ回路の設定情報の例は、各チャンネルに対するタイマ関数を示す情報、タイマ関数の変数、時間基準選択、分解能選択、入力フィルタ選択、割込実施可能性（interrupt enablement）を含む。アナログデジタル変換器の設定情報の例は、サンプルレート、変換精度、変換分解能、シングルまたは差動変換、いつ変換をトリガすること、割込実施可能性を示す情報を含む。通信周辺装置の設定情報の例は、転送速度、周波数、メッセージフィルタの種類及び実施可能要件、送信キューコマンド、送信キューデータ、パッケージ構成及び大きさ、割込実施可能性、プロトコル実行（例えば、ＲＴＺ、ＮＲＴＺ）を示す情報を含む。タイマ回路、アナログデジタル変換器、通信周辺装置は他の種類の設定情報を含み得る。また、他の種類の周辺装置も他の設定情報を含み得る。
【００１７】
起動の間または設定情報を変更するための動作の間に、設定情報は、プロセッサ１０３（またはデータ処理システム１０１の他のデータマスタ）によって周辺装置の設定記憶回路に書き込まれる。一実施形態では、プロセッサ１０３は、ＲＡＭ１０９、およびフラッシュメモリ１１１から設定情報を取得するか、またはプロセッサ動作により設定情報を生成する。一実施形態において、プロセッサが、周辺装置の設定レジスタの論理メモリアドレスへの書き込みコマンドを開始する。書き込みコマンドはシステム相互接続部１０７を介して周辺装置用インタフェースへ転送される。周辺装置用インタフェースでは、システムと周辺装置用バスとのインタフェース回路１１６が、論理アドレスを周辺装置用バス１２３における指定されたレジスタの物理アドレスに変換する。設定情報を書き込んだ後、周辺装置は、動作中に設定情報を使用する。
【００１８】
図２は、本発明の一実施形態に従った周辺装置用バスインタフェース１１３のブロック図を示す。図１、２の実施形態において、周辺装置用バスインタフェース１１３は、プロセッサまたはシステム１０１の他のマスタによって設定レジスタに書き込まれた設定情報のエラーシンドロームを設定レジスタに生成し、このようなシンドロームを格納する回路を含む。設定情報の書き込みの後、設定情報は周辺装置用インタフェースを介して読み出し可能である。周辺装置インタフェースでは、新たなエラーシンドロームは、周辺装置用バスインタフェース１１３によって生成され、以前に生成されたエラーシンドロームと比較されて、周辺装置の設定レジスタ情報が破損されたかどうかを判定する。
【００１９】
図２の実施形態において、バスインタフェース回路１１５は、データ処理システムのマスタ（例えば、プロセッサ１０３、ＤＭＡコントローラ１０５）によって生成され、且つシステム相互接続部１０７からデータトランザクションを示す信号を受信するアドレスデコーダ２０１を含む。図示された特定の信号は、マスタＩＤ指示、Ｒ／Ｗ指示、アドレス信号、データ信号、およびアクセスサイズ等の他のトランザクション特性を含む。アドレスデコーダ２０１は、システム相互接続部１０７からアドレス信号線上に供給されたアドレスをデコードし、周辺装置用バス１２３のアドレス線の対応する周辺装置用バスアドレスを供給する。
【００２０】
エラー検出器１１７が、周辺装置バス１２３とシステム相互接続部１０７との間のデータ線で転送された情報のエラーシンドロームを生成するシンドローム生成器を含む。エラーシンドロームは、データユニットより少ないデータビットにより典型的に示されるデータユニットの表現であり、後のデータユニットのエラー検出および訂正の少なくとも一方に使用される。エラーシンドロームの例は、パリティビット、ハミングコード、エラー訂正コード、またはハッシュコードを含む。幾つかのエラーシンドロームは、データユニットにおける１つのエラーを検出するために使用可能である。他のエラーシンドロームは、データユニットにおける複数のエラーを検出するために使用可能である。幾つかのコードは、データユニットにおいて２つのデータビットを検出して、１つのデータビットを訂正することができる。
【００２１】
周辺装置の設定記憶回路に書き込むデータに対する生成されたシンドロームは、エラーＲＡＭ１１９に格納される。エラーＲＡＭ１１９にシンドロームを格納するアドレスは、システム相互接続部１０７からのアドレスからエラーＲＡＭデコーダ２０９によって生成される。他の実施形態において、デコーダ２０９が、周辺装置用バスアドレスからエラーＲＡＭアドレスを生成する。
【００２２】
アドレスデコーダ２０１が、許可回路（enablement circuit）２０３を含み、該許可回路は、周辺装置の設定記憶回路への設定情報の所定アクセスサイズの書き込みトランザクションの時を検出し、それに応答して、シンドローム生成器２０５にＷＲＩＴＥ  ＥＮＡＢＬＥ信号をアサートする。同様に、許可回路２０３が、データトランザクションが周辺装置の設定記憶回路に対する設定情報の所定アクセスサイズの読み出しトランザクションである場合に検出し、それに応答して、シンドローム生成器２０５にＲＥＡＤ  ＥＮＡＢＬＥ信号をアサートする。一実施形態において、Ｒ／Ｗ信号及びアクセスサイズ信号がワード書き込み（word write）を示し、システム相互接続部１０７からのＡＤＤＲＥＳＳ信号が、周辺装置の設定記憶回路の場所にマッピングされたアドレスを示す場合に、ＷＲＩＴＥ  ＥＮＡＢＬＥ信号が生成される。特定の実施形態において、ＷＲＩＴＥ  ＥＮＡＢＬＥ信号は、設定記憶回路に対する書き込みを開始する（ＭＡＳＴＥＲ  ＩＤ信号により示されるような）マスタにもとづいて生成される。第１実施形態において、Ｒ／Ｗ信号及びアクセスサイズ信号がワード読み出し（word read）を示し、且つシステム相互接続部１０７からのＡＤＤＲＥＳＳ信号は、周辺装置の設定記憶回路の位置にマッピングされたアドレスを示す場合に、ＲＥＡＤ  ＥＮＡＢＬＥ信号が生成される。特定の実施形態において、ＲＥＡＤ  ＥＮＡＢＬＥ信号は、設定記憶回路に対する読み出しを開始する特定のマスタに基づいて生成される。
【００２３】
設定記憶回路に対する周辺装置情報の書き込みがＷＲＩＴＥ  ＥＮＡＢＬＥ信号を生成する場合、シンドローム生成器２０５は、書き込まれた情報のシンドロームを生成し、その情報をエラーＲＡＭ１１９に格納する。
【００２４】
設定記憶回路に対する周辺装置情報の読み出しがＲＥＡＤ  ＥＮＡＢＬＥ信号を生成する場合、シンドローム生成器２０５は、読み取られた情報のシンドロームを生成する。（ＥＲＲＯＲ  ＩＮＤＩＣＡＴＩＯＮ信号によって示されるような）設定情報にエラーが存在するかどうかを決定するために、比較器２０７が、新規に生成されたシンドロームと以前に生成されたシンドロームを比較する。
【００２５】
一実施形態において、ＷＲＩＴＥ  ＥＮＡＢＬＥ信号及びＲＥＡＤ  ＥＮＡＢＬＥ信号は、特定サイズの設定情報の読み出し及び書き込み（例えば、ワード）のために生成される。幾つかの実施形態において、シンドロームの生成は、同一サイズの読み出された情報と書き込まれた情報とに依存する。
【００２６】
図２の実施形態において、インタフェース１１３は、周辺装置用バス１２３に動作可能に接続されたエラー訂正回路２１１を含む。ＥＲＲＯＲ  ＩＮＤＩＣＡＴＩＯＮ信号に応答して、回路２１１は、訂正されたエラー確認情報を、間違ったデータとともに設定記憶回路に書き込む。他の実施形態はエラー訂正回路２１１を含まない。
【００２７】
典型的には、データ処理システムの動作中、周辺装置の設定情報は通常読み取られない。従って、設定情報の完全性を継続的に監視するために、データ処理システム１０１は、読み出された情報のシンドロームを生成してエラーを検出するエラー検出器１１７である周辺装置の設定情報の読み出しを実行する回路を含む。
【００２８】
図示された実施形態において、コントローラ１２１は、アドレスデコーダ２０１及び周辺装置用バス１２３を介して、設定情報のエラー検出のために周辺装置の設定情報の読み出しトランザクションを生成するように使用される。図示された実施形態において、コントローラ１２１は、読み出されるべき所望の周辺装置の記憶回路アドレスを示すアドレス信号、コントローラが読み出しを開始することを示すＩＤ、読み出しを示すＲ／Ｗ信号、読み出し情報の適切なサイズを示すアクセスサイズ信号を供給することによって読み出しトランザクションを開始する。設定情報がその位置に以前書き込まれた際に、以前生成されたシンドロームを取得するためにアドレスもエラーＲＡＭデコーダ２０９に供給する。一実施形態において、コントローラ１２１は状態機械に実行されるが、他の実施形態における方法で実行可能である。
【００２９】
一実施形態において、コントローラ１２１が、データ処理システムの周辺装置の設定記憶回路に周期的に読み出しを実施する。そのような読み出しの頻度は、設定情報の完全性を保証する所望時間に基づく。一実施形態において、周辺装置バスが使用されない時、設定情報は任意の時間に周辺装置から読み出される。このような一実施形態において、周辺装置バス１２３が使用されない間、コントローラによって開始された設定情報の読み出しが継続的に実行される。また一実施形態において、読み出しは規則的に定期的な時間に実行されて、設定情報の読み出しが完了するまで他の周辺装置のバス活動を遅延させる。
【００３０】
周辺装置の設定情報の読み出しを開始する周辺装置用バスインタフェース１１３の回路（例えば、コントローラ１２１）の使用の利点は、周辺装置の設定情報の完全性をチェックするプロセッサ１０３または他のデータシステムマスタ（例えば、ＤＭＡコントローラ１０５）の処理時間を必要としないことである。周辺装置の設定情報を読み出すためにプロセッサ１０３またはＤＭＡ（direct memory Access:ダイレクト・メモリ・アクセス）コントローラ１０５が使用される場合、マスタが読み出しを実行するために使用されるだけでなく、システム相互接続部１０７も読み出しのために使用される。従って、データ処理システム１０１における影響を最小化しつつ、設定情報の完全性を実施することができる。また、いくつかの実施形態において、コントローラ１２１はより簡単またはより低い電源回路機構を有するように設計する可能であり、コントローラ１２１による読み出し開始は、プロセッサによる読み出し開始よりも低い電力を消費する。
【００３１】
他の実施形態において、周辺装置の設定情報の完全性読み出し（integrity reads）はシステム相互接続部マスタ（例えば、プロセッサ１０３またはコントローラ１０５）によって開始される。一実施形態において、ＤＭＡコントローラを使用して周辺装置の設定情報の読み出しを開始することによって、設定の完全性処理を実行する既存回路を使用することができる。また、ＤＭＡコントローラを使用することによって、読み出し開始を実行することからプロセッサ１０３を解放することができる。
【００３２】
更に、いくつかの実施形態において、設定情報の読み出しを実行させるＤＭＡコントローラのコマンドは、ＤＭＡコントローラを自律的に動作させるようにプログラム可能である。設定情報の読み出しを開始させるプロセッサ１０３を使用することによって、処理を実行させるコードの使用が必要とされ得る。
【００３３】
図示された実施形態において、各周辺装置用の生成されたシンドロームはインタフェース１１３におけるＲＡＭ１１９に格納される。シンドロームをインタフェースに格納することによって、周辺装置に対して設定情報を読み出しまたは書き込みを実行する時間を効果的に減少する。シンドロームが周辺装置に格納される場合、設定情報をチェックするためにより多くのデータを周辺装置デバイスと交換しなければならない。
【００３４】
更に、周辺装置用バスインタフェース１１３で設定情報のエラー検出動作を実行することによって、各周辺装置においてエラー検出回路を実行せずに周辺装置の設定情報のエラー検出が可能となってダイ面積を縮小する。
【００３５】
更に、インタフェース１１３においてエラー検出回路及びシンドローム記憶装置の両方を具体化することによって、データ処理システムにおける周辺装置の異なる構成を実行することを可能にする。いくつかの実施形態において、周辺装置の変更によって、周辺装置の設定情報の完全性チェックを実施する必要がなくなる。従って、インタフェース１１３にエラー検出回路及びシンドローム記憶装置を備えることで、周辺装置の設定情報の完全性チェックを実施することが、周辺装置で設定情報の完全性チェックを実施するシステムとは対照的に、周辺装置製造者とデータ処理システム製造者との間におけるより少ない協調により達成可能である。
【００３６】
周辺装置の設定情報の完全性をチェックすることによって、より高い強固（robust）であり、且つ高い信頼性を有するデータ処理システムを提供可能である。従って、設定情報の完全性が維持される場合、データ処理システムの周辺装置は感染する（infective）可能性がより低い。
【００３７】
一実施形態において、インタフェース１１３は集積回路の隣接部に配置され得る。しかし、他の実施形態において、インタフェース１１３は集積回路の全てに分配しても良い。また、他の実施形態は、異なる動作可能に接続されたインタフェース１１３の回路を含むインタフェース１１３の異なる設定を含み得る。一実施形態において、エラーＲＡＭ１１９は専用ＲＡＭ回路である。他の実施形態において、ＲＡＭ１１９はシステムメモリの特定領域である。幾つかの実施形態において、設定情報の書き込み中に、生成器２０５によって生成された複数のシンドロームを格納するフリップフロップのレジスタにＲＡＭ１１９の機能を実行され得る。また他の実施形態において、幾つかの回路１１３の部分は、バスを介して動作可能に接続され得る。
【００３８】
図３は、設定情報を周辺装置に書き込む動作および設定情報のシンドロームの生成に関する実施形態を示すフロー図である。動作３０１において、プロセッサまたは他のシステムマスタが、書き込みトランザクションを開始して、設定情報を周辺装置（例えば、周辺装置１２５、１２９、１３３、１３７のいずれか一つ）の設定記憶回路（例えば、設定レジスタまたは記憶域の他の種類）に書き込む。書き込みトランザクションは、システム相互接続部１０７、バスインタフェース回路１１５（デコーダ２０１を含む）、および周辺装置バス１２３を介して周辺装置に実行される。書き込みの間、許可回路２０３が、アクセスサイズ及びアドレスを読み出すこと（および特定の実施形態において、特定サイズであること）によって、書き込みが周辺装置の設定記憶回路に対するものであることを検出し、動作３０３において、（ＷＲＩＴＥ  ＥＮＡＢＬＥ信号をアサートすることによって）システム相互接続部１０７のデータバスから書き込みデータのシンドロームを生成器２０５に生成させる。動作３０５において、生成されたシンドロームは、システム相互接続部１０７からアドレス線におけるアドレスから、エラーＲＡＭ１１９におけるデコーダ２０９によって生成された記憶位置に格納される。
【００３９】
図４は、周辺装置の設定情報を読み出して検査する一実施形態を示すフロー図である。動作４０１において、周辺装置の設定情報の読み出し開始が実行される。この開始はコントローラ１２１、プロセッサ１０３、コントローラ１０５、および他のシステム１０１の回路によって実施され得る。
【００４０】
動作４０３において、読み出しトランザクションがエラーチェックを要するかどうかを決定することが実行される。一実施形態において、特定マスタまたはコントローラ１２１および特定サイズによって要求された情報に対して、エラーチェックが実行される。例えば、コントローラ１２１が設定情報の完全性読み出しを開始するシステムにおいて、プロセッサ１０３によって周辺装置の設定記憶回路の読み出しがエラーチェックを得られない。従って、エラーチェックを実行すべきかどうかを決定することは、読み出しが（システム相互接続部１０７またはコントローラ１２１からのアドレスによって決定されたような）周辺装置の設定記憶回路のＩ／Ｏマッピングされた領域、および（システム相互接続部１０７またはコントローラ１２１からのアクセスサイズ信号によって決定されたような）読み出しのサイズのどちらかと同様に、システム相互接続部１０７及びコントローラ１２１からのデバイスＩＤ信号により判定される。
【００４１】
読み出しがエラーチェックを要しない場合、動作４０５のように読み出しはエラーをチェックせずに実行される。読み出しがエラーチェックを要する場合、動作４０７において読み出しが実行され、動作４０９において設定情報の読み出しエラーシンドロームが生成器２０５によって生成される。動作４１１において、比較器２０７が、生成されたシンドロームと、ＲＡＭ１１９に格納されたシンドロームとを比較する。シンドロームが整合する場合、設定情報にはエラーがない。しかし、シンドロームが整合しない場合、ＥＲＲＯＲ信号が生成されるか、およびいくつかの実施形態において、訂正された情報を設定記憶回路に書き込む回路２１１によりエラーが訂正されるかのいずれか一方である。幾つかの実施形態において、設定情報にエラーが検出された場合、ＥＲＲＯＲ信号は、周辺装置の設定情報中にエラーが検出されたことを示す割込みを生成するように使用される。幾つかの実施形態において、エラー訂正回路２１１によってエラーを訂正できない場合だけ、割込みが生成される。
【００４２】
幾つかの実施形態において、エラーは、周辺装置の設定情報の読み出し全てに対して実行される。
図５は、本発明の異なる２つの実施形態のメモリマップ構成を示す。各メモリは、データ処理システム１０１のメモリアドレス領域における周辺装置のメモリアドレスのマッピングを示す。マップ５０１が一実施形態を示し、各周辺装置の設定情報は、周辺装置の全ての格納された情報のアドレス範囲以内に配置される。例えば、周辺装置１のアドレス範囲はマップ５０１の左側の「Ｐ１」によって示される。「Ｐ１設定」で示されるようなその範囲の部分は、その周辺装置の設定記憶レジスタのアドレス範囲である。図５におけるアドレス範囲が、プロセッサ１０３によって使用されるような位置の論理アドレスを示す。このようなアドレスは、デコーダ２０１によって周辺装置バスのアドレスにマッピングされる。
【００４３】
５０１の実施形態において、周辺装置の設定記憶回路に対するいかなるデータアクセスも、アドレスデコーダ２０１に対するメモリマッピングによって示されたアドレスを供給することによって開始される。従って、コントローラ１２１が設定情報を開始する実施形態において、コントローラは、書き込みデータ内のプロセッサ１０３としての同一の論理アドレスを設定記憶回路に供給する。
【００４４】
マップ５０３は、周辺装置の設定記憶回路のアドレスのミラーマッピングを含む実施形態を示す。この実施形態において、２つの異なる論理アドレスは各設定記憶位置に与える。読み出しを開始して周辺装置の設定情報の完全性をチェックする回路が、プロセッサ１０３によって周辺装置の同一設定記憶回路への書き込みに使用された論理アドレスと異なる論理アドレスを使用する。設定記憶位置に対するマップ５０３の両方の位置が、同一の周辺装置バスの物理アドレスにマッピングする。
【００４５】
一実施形態において、ミラーマッピングスキームを使用することによって、デコーダ２０１に与えられたアドレスに基づくデータのエラーチェックを実行するかどうかを決定することができる。例えば、（図５の設定ミラーとして示される）マップの設定ミラー領域のアドレスが供給された場合、エラーチェックは、読み出された設定情報上で実行される。ミラー領域に配置されないアドレスが与えられた場合、エラーチェックが実行されない。
【００４６】
マップ５０３の実施形態において、マップ５０３のミラー領域における設定情報の論理アドレスは非ミラー領域と比べて圧縮されている。ミラー領域をアクセスする回路は、非ミラー領域をアクセスする場合よりも少ないアドレス範囲情報を必要とする。従って、設定完全性の読み出しを開始するコントローラ１２１のような回路が、より少ないアドレスビット生成回路で具体化され得る。
【００４７】
一実施形態において、周辺装置の設定記憶回路の論理アドレスは、コントローラ１２１またはデータ処理システムの他のデバイスにプログラムとして組み込まれている（hardwired）。しかしながら、他の実施形態において、各周辺装置の設定記憶回路の論理アドレスは、データ処理システム１０１の起動中に、レジスタのプログラム可能な値によって特定される。また、各周辺装置の設定情報のアドレス範囲は、（例えば、起動中に）設定情報の領域を画定するためにレジスタにプログラム可能である。一実施形態において、そのレジスタ（図示せず）はコントローラ１２１に配置する。別の実施形態において、レジスタはＤＭＡコントローラ１０５に配置する。しかしながら、レジスタはデータ処理システム１０１の他の位置に配置可能である。
【００４８】
幾つかの実施形態において、周辺装置の設定記憶位置に対するミラーマッピング領域を具体化することによって、周辺装置の設定記憶回路の領域を画定ために必要なレジスタの数を減少することができる。例えば、非ミラーマッピングにおいて、各周辺装置が２つのレジスタを必要とし、第１のレジスタは、設定情報における始めのアドレスを定義し、第２のレジスタは、アドレス範囲の長さを含む。ミラー領域の設定記憶回路の論理アドレスが圧縮された場合、全ての周辺装置が２つのレジスタを必要とし、第１のレジスタは、ミラー領域の始めのアドレスを定義し、第２のレジスタは、ミラー領域の長さを含む。
【００４９】
一実施形態において、コントローラ１２１はカウンタを含み、該カウンタの始めの値はミラー領域の始めのアドレスでプログラムされ、カウントの長さはミラー領域のサイズでプログラムされる。カウンタ値の各変化によって、周辺装置の設定情報を読み出すために新たな読み出しアドレスを開始する。一実施形態では、カウンタは、カウントの終わりで、始めの数にリセットされる。一実施形態では、コントローラは、アドレスデコーダ２０１から「使用中」信号を受信し、この「使用中」信号は、周辺装置バスがシステムマスタによって使用される場合にカウンタを停止して、設定完全性の読み出しを一時的に停止させる。周辺装置がアイドル状態である場合に、その読み出しが再開される。
【００５０】
他の実施形態において、コントローラ１２１は、周辺装置用バスに直接的に読み出すための周辺装置バスアドレスを供給するように構成される。他の実施形態において、コントローラ１２１は、イネーブル信号入力を含み、イネーブル信号によって、例えば、電力を節約するために、動作システムが周辺装置の設定情報のエラーチェック機能を停止する。他の実施形態において、システム１０１はスイッチ回路を含んで、システム１０７のデータ線を周辺装置１２３のデータ線から分離して、システム相互接続部は他の目的に使用される間に設定情報の完全性のチェックを実行する。
【００５１】
一実施形態において、周辺装置用バスインタフェースと動作可能に接続された第１マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第１マスタは、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。該データ処理システムにおける方法は、第１マスタによって設定情報を複数の周辺装置の第１周辺装置に書き込みを開始することを含む。また、該方法は、書き込みの開始に応答して、第１周辺装置に格納するために周辺装置用バスインタフェースを介して設定情報を供給することを含み、設定情報の第１エラーシンドロームは周辺装置用バスインタフェースによって生成される。方法は、設定情報を第１周辺装置の第１記憶位置に格納すること、周辺装置用バスインタフェースの記憶回路に第１エラーシンドロームを格納することを更に含む。
【００５２】
別の実施形態において、周辺装置用バスインタフェースと動作可能に接続された第１マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第１マスタは周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。設定情報の第１エラーシンドロームが、周辺装置用バスインタフェースによって生成される。方法は、周辺装置用バスインタフェースを介して供給された設定情報を第１周辺装置に格納すること、周辺装置用インタフェースの記憶回路に第１エラーシンドロームを格納すること、設定情報を格納した後に、第１周辺装置に格納された設定情報の読み出しを開始することを含む。該方法は、読み出しの開始に応答して、第１周辺装置から設定情報を受信することを含む。第１周辺装置から受信された設定情報の第２エラーシンドロームは周辺装置用バスインタフェースによって生成され、第１エラーシンドロームと比較されて第１周辺装置から受信された設定情報にエラーが存在するかどうかを判定する。
【００５３】
別の実施形態において、データ処理システムは、第１マスタ、および周辺装置用バスインタフェースを含む。第１マスタは、周辺装置用バスインタフェースと動作可能に接続されている。データ処理システムは、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置を含む。第１マスタが、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。第１マスタが、複数の周辺装置に設定情報を格納することを開始する。複数の周辺装置の各々に格納するために設定情報が供給された場合、複数の周辺装置の設定情報のエラーシンドロームは周辺装置用バスインタフェースによって生成され、周辺装置用バスインタフェースの記憶回路に格納される。
【００５４】
上記の明細書により、本発明は特定の実施形態に基づいて記載してきた。しかしながら、当業者であれば、様々な変更や変形は添付した本発明の特許請求の範囲に逸脱することなく行われる。従って、明細書と図面は説明上のものであって制限するものでなく、またこれら全ての変更は本発明の範囲に内包されるものである。
【図１】
0006021241.tif 000002
【図２】
0006021241.tif 000003
【図３】
0006021241.tif 000004
【図４】
0006021241.tif 000005
【図５】
0006021241.tif 000006