説明

周辺装置の設定情報のエラー検出を有するデータ処理システム

【課題】高い強固であり、且つ高い信頼性を有するデータ処理システムを提供する。
【解決手段】データ処理システムは、周辺装置用バスインタフェースと動作可能に接続された第1マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含む。第1マスタは、前記周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。該データ処理システムにおける方法は、第1マスタによって設定情報を複数の周辺装置のうちの第1周辺装置に書き込みを開始することを含む。書き込み開始に応答して、第1周辺装置に格納するために周辺装置用バスインタフェースを介して設定情報が供給される。設定情報の第1エラーシンドロームは、周辺装置用バスインタフェースによって生成される。供給された設定情報は第1周辺装置に格納され、第1エラーシンドロームは周辺装置用バスインタフェースの記憶回路に格納される。第1エラーシンドロームは、次のエラー検出中に、設定情報の完全性をチェックするように使用され得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にデータ処理システムに関し、特に、周辺装置に格納された周辺装置の設定情報のエラー検出に関する。
【背景技術】
【0002】
データ処理システムは、情報を処理するため、且つ他のシステムの動作を制御するために使用されている。データ処理システムの例は、パソコン(スタンドアロン、ラップトップ)、携帯電話、PDA、タッチパッド、携帯電話、電子書箱端末、及び自動車、飛行機、ネットワーク機器、製造機器のような種々のシステムのための制御システムを含む。
【0003】
典型的には、データ処理システムは、データ上の命令を実行する1つまたそれ以上のプロセッサと、データ及び命令を格納する1つまたはそれ以上のメモリと、プロセッサによって生成されたデータを用いるまたは取得するインタフェースとして動作する1つまたはそれ以上の周辺装置とを含む。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第5553231号明細書
【特許文献2】米国特許出願公開第5654962号明細書
【特許文献3】米国特許第6804741号明細書
【特許文献4】米国特許第7401234号明細書
【非特許文献】
【0005】
【非特許文献1】シーウィレック(Siewirek)著、「フォールト トーレランス アンド メモリ ハイラーキ(Fault Tolerance & Memory Hierarchy)」、カーネギーメロン(Carnegie Mellon)、1998年11月23日、p.1−18
【非特許文献2】ヨーン(Yoon)著、「バーチャライズ アンド フレックサブル イシーシー フォー メイン メモリ(Virtualized and Flexible ECC for Main Memory)」、エーシーエム(ACM)、2010年3月13〜17日、アスプロス 10(ASPLOS’10)
【発明の概要】
【課題を解決するための手段】
【0006】
一実施形態において、周辺装置用バスインタフェースと動作可能に接続された第1マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第1マスタは、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。該データ処理システムにおける方法は、第1マスタによって設定情報を複数の周辺装置の第1周辺装置に書き込みを開始することを含む。また、該方法は、書き込みの開始に応答して、第1周辺装置に格納するために周辺装置用バスインタフェースを介して設定情報を供給することを含み、設定情報の第1エラーシンドロームは周辺装置用バスインタフェースによって生成される。方法は、設定情報を第1周辺装置の第1記憶位置に格納すること、周辺装置用バスインタフェースの記憶回路に第1エラーシンドロームを格納することを更に含む。
【0007】
別の実施形態において、周辺装置用バスインタフェースと動作可能に接続された第1マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第1マスタは周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。設定情報の第1エラーシンドロームが、周辺装置用バスインタフェースによって生成される。方法は、周辺装置用バスインタフェースを介して供給された設定情報を第1周辺装置に格納すること、周辺装置用インタフェースの記憶回路に第1エラーシンドロームを格納すること、設定情報を格納した後に、第1周辺装置に格納された設定情報の読み出しを開始することを含む。該方法は、読み出しの開始に応答して、第1周辺装置から設定情報を受信することを含む。第1周辺装置から受信された設定情報の第2エラーシンドロームは周辺装置用バスインタフェースによって生成され、第1エラーシンドロームと比較されて第1周辺装置から受信された設定情報にエラーが存在するかどうかを判定する。
【0008】
別の実施形態において、データ処理システムは、第1マスタ、および周辺装置用バスインタフェースを含む。第1マスタは、周辺装置用バスインタフェースと動作可能に接続されている。データ処理システムは、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置を含む。第1マスタが、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。第1マスタが、複数の周辺装置に設定情報を格納することを開始する。複数の周辺装置の各々に格納するために設定情報が供給された場合、複数の周辺装置の設定情報のエラーシンドロームは周辺装置用バスインタフェースによって生成され、周辺装置用バスインタフェースの記憶回路に格納される。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態に従ったデータ処理システムのブロック図。
【図2】本発明の一実施形態に従った周辺装置用インタフェースのブロック図。
【図3】本発明の一実施形態に従った周辺装置の設定レジスタに対する書き込み動作のフロー図。
【図4】本発明の一実施形態に従った周辺装置の設定レジスタに対する読み出し動作のフロー図。
【図5】本発明に従った周辺装置用インタフェースに対するメモリマップの2つの実施形態を示す。
【発明を実施するための形態】
【0010】
以下に、本発明を実施する実施例の詳細を説明する。この説明は例示に過ぎず、本発明の態様を制限するものではない。
後述のように、データ処理システムは、データ処理システムの周辺装置の設定記憶回路に書き込まれた設定情報のエラー検出を実行するシステムを含む。特定の例では、エラー検出は、周辺装置用インタフェースにおいて、周辺装置用インタフェースを介して周辺装置の設定レジスタから情報を読み出すことによって実行される。エラー検出方式は読み出された情報上で実行可能である。
【0011】
図1は、本発明の一実施形態に従ったデータ処理システムのブロック図である。データ処理システム101が、プロセッサ103、DMAコントローラ105、RAM109、フラッシュメモリ111、周辺装置用バス123を介して周辺装置125、129、133、137のような周辺装置とインタフェースする周辺装置用バスインタフェース113を含む。特定の実施形態において、周辺装置用インタフェースは、ブリッジまたはゲートウェイとして実行可能である。システム101は、プロセッサ103と通信可能に接続されたシステム相互接続部107、DMAコントローラ105、RAM109、フラッシュメモリ111、およびインタフェース113を含む。プロセッサ103は、シングルコアプロセッサまたはマルチコアプロセッサであっても良い。一実施形態において、システム相互接続部107はコンピュータバスである。他の実施形態において、システム相互接続部はクロスバースイッチ回路である。他の実施形態において、システム101は他の図示されていないデバイス(例えば、クロック、電圧レギュレータ、他のプロセッサ、メモリコントローラ、他のメモリデバイス)を含み得る。他の実施形態において、システム101は、他の構成を含み得る。
【0012】
一実施形態において、システム101は自動車用の制御回路である。しかし他の実施形態において、システム101はデータ処理システムの他の種類であっても良い。一実施形態において、図1に示されるデバイスは単一の集積回路ダイ上で具体化されてもよく、また他の実施形態では複数の集積回路ダイ上で具体化されても良い。
【0013】
データ処理システム101が、タイマ周辺機器125、アナログデジタル変換器周辺装置129、通信周辺装置133、ディスプレイコントローラ周辺装置137を含む。タイマ周辺機器125は、時間ベース(例えば、クロックカウンタまたは水晶発振器)に基づいた出力を供給し、または入力を時間ベースと関連付けるデバイスである。アナログデジタル回路はアナログ信号をデジタル信号に変換する。通信周辺装置は、通信媒体(例えば、有線または無線媒体)によって他のデータ処理システムを含む他のデバイスと通信するように使用される。通信周辺装置の例は、UARTコントローラ、USBコントローラ、コントローラエリアネットワーク(CAN)コントローラ、ワイヤレスモデムを含む。ディスプレイ制御周辺装置137は、人間に読み取り可能な媒体を用いて、データ処理システムによって供給された情報を表示することを制御するように使用される。データ処理システム101は、デジタルアナログ変換器、キーボード、マウス、センサー、ターチパッド、グラフィックスコントローラ(図示せず)のような周辺装置の他の種類を含み得る。
【0014】
各周辺装置が、設定レジスタ127、131、135、139として図1に示される設定記憶回路を含む。設定記憶回路は、周辺装置用の設定情報を格納する記憶位置である。設定記憶回路は、スタンドアロンメモリで具体化されるか、または他の周辺装置の情報を格納するメモリデバイスの特定位置又は領域として具体化され得る。
【0015】
周辺装置の設定情報は、周辺装置がどのように動作するかを示すために用いられる情報である。周辺装置は、設定情報を使用して、パラメータ制御、機能実施可能性(feature enablement)、モード制御のような動作の態様を制御する。
【0016】
タイマ回路の設定情報の例は、各チャンネルに対するタイマ関数を示す情報、タイマ関数の変数、時間基準選択、分解能選択、入力フィルタ選択、割込実施可能性(interrupt enablement)を含む。アナログデジタル変換器の設定情報の例は、サンプルレート、変換精度、変換分解能、シングルまたは差動変換、いつ変換をトリガすること、割込実施可能性を示す情報を含む。通信周辺装置の設定情報の例は、転送速度、周波数、メッセージフィルタの種類及び実施可能要件、送信キューコマンド、送信キューデータ、パッケージ構成及び大きさ、割込実施可能性、プロトコル実行(例えば、RTZ、NRTZ)を示す情報を含む。タイマ回路、アナログデジタル変換器、通信周辺装置は他の種類の設定情報を含み得る。また、他の種類の周辺装置も他の設定情報を含み得る。
【0017】
起動の間または設定情報を変更するための動作の間に、設定情報は、プロセッサ103(またはデータ処理システム101の他のデータマスタ)によって周辺装置の設定記憶回路に書き込まれる。一実施形態では、プロセッサ103は、RAM109、およびフラッシュメモリ111から設定情報を取得するか、またはプロセッサ動作により設定情報を生成する。一実施形態において、プロセッサが、周辺装置の設定レジスタの論理メモリアドレスへの書き込みコマンドを開始する。書き込みコマンドはシステム相互接続部107を介して周辺装置用インタフェースへ転送される。周辺装置用インタフェースでは、システムと周辺装置用バスとのインタフェース回路116が、論理アドレスを周辺装置用バス123における指定されたレジスタの物理アドレスに変換する。設定情報を書き込んだ後、周辺装置は、動作中に設定情報を使用する。
【0018】
図2は、本発明の一実施形態に従った周辺装置用バスインタフェース113のブロック図を示す。図1、2の実施形態において、周辺装置用バスインタフェース113は、プロセッサまたはシステム101の他のマスタによって設定レジスタに書き込まれた設定情報のエラーシンドロームを設定レジスタに生成し、このようなシンドロームを格納する回路を含む。設定情報の書き込みの後、設定情報は周辺装置用インタフェースを介して読み出し可能である。周辺装置インタフェースでは、新たなエラーシンドロームは、周辺装置用バスインタフェース113によって生成され、以前に生成されたエラーシンドロームと比較されて、周辺装置の設定レジスタ情報が破損されたかどうかを判定する。
【0019】
図2の実施形態において、バスインタフェース回路115は、データ処理システムのマスタ(例えば、プロセッサ103、DMAコントローラ105)によって生成され、且つシステム相互接続部107からデータトランザクションを示す信号を受信するアドレスデコーダ201を含む。図示された特定の信号は、マスタID指示、R/W指示、アドレス信号、データ信号、およびアクセスサイズ等の他のトランザクション特性を含む。アドレスデコーダ201は、システム相互接続部107からアドレス信号線上に供給されたアドレスをデコードし、周辺装置用バス123のアドレス線の対応する周辺装置用バスアドレスを供給する。
【0020】
エラー検出器117が、周辺装置バス123とシステム相互接続部107との間のデータ線で転送された情報のエラーシンドロームを生成するシンドローム生成器を含む。エラーシンドロームは、データユニットより少ないデータビットにより典型的に示されるデータユニットの表現であり、後のデータユニットのエラー検出および訂正の少なくとも一方に使用される。エラーシンドロームの例は、パリティビット、ハミングコード、エラー訂正コード、またはハッシュコードを含む。幾つかのエラーシンドロームは、データユニットにおける1つのエラーを検出するために使用可能である。他のエラーシンドロームは、データユニットにおける複数のエラーを検出するために使用可能である。幾つかのコードは、データユニットにおいて2つのデータビットを検出して、1つのデータビットを訂正することができる。
【0021】
周辺装置の設定記憶回路に書き込むデータに対する生成されたシンドロームは、エラーRAM119に格納される。エラーRAM119にシンドロームを格納するアドレスは、システム相互接続部107からのアドレスからエラーRAMデコーダ209によって生成される。他の実施形態において、デコーダ209が、周辺装置用バスアドレスからエラーRAMアドレスを生成する。
【0022】
アドレスデコーダ201が、許可回路(enablement circuit)203を含み、該許可回路は、周辺装置の設定記憶回路への設定情報の所定アクセスサイズの書き込みトランザクションの時を検出し、それに応答して、シンドローム生成器205にWRITE ENABLE信号をアサートする。同様に、許可回路203が、データトランザクションが周辺装置の設定記憶回路に対する設定情報の所定アクセスサイズの読み出しトランザクションである場合に検出し、それに応答して、シンドローム生成器205にREAD ENABLE信号をアサートする。一実施形態において、R/W信号及びアクセスサイズ信号がワード書き込み(word write)を示し、システム相互接続部107からのADDRESS信号が、周辺装置の設定記憶回路の場所にマッピングされたアドレスを示す場合に、WRITE ENABLE信号が生成される。特定の実施形態において、WRITE ENABLE信号は、設定記憶回路に対する書き込みを開始する(MASTER ID信号により示されるような)マスタにもとづいて生成される。第1実施形態において、R/W信号及びアクセスサイズ信号がワード読み出し(word read)を示し、且つシステム相互接続部107からのADDRESS信号は、周辺装置の設定記憶回路の位置にマッピングされたアドレスを示す場合に、READ ENABLE信号が生成される。特定の実施形態において、READ ENABLE信号は、設定記憶回路に対する読み出しを開始する特定のマスタに基づいて生成される。
【0023】
設定記憶回路に対する周辺装置情報の書き込みがWRITE ENABLE信号を生成する場合、シンドローム生成器205は、書き込まれた情報のシンドロームを生成し、その情報をエラーRAM119に格納する。
【0024】
設定記憶回路に対する周辺装置情報の読み出しがREAD ENABLE信号を生成する場合、シンドローム生成器205は、読み取られた情報のシンドロームを生成する。(ERROR INDICATION信号によって示されるような)設定情報にエラーが存在するかどうかを決定するために、比較器207が、新規に生成されたシンドロームと以前に生成されたシンドロームを比較する。
【0025】
一実施形態において、WRITE ENABLE信号及びREAD ENABLE信号は、特定サイズの設定情報の読み出し及び書き込み(例えば、ワード)のために生成される。幾つかの実施形態において、シンドロームの生成は、同一サイズの読み出された情報と書き込まれた情報とに依存する。
【0026】
図2の実施形態において、インタフェース113は、周辺装置用バス123に動作可能に接続されたエラー訂正回路211を含む。ERROR INDICATION信号に応答して、回路211は、訂正されたエラー確認情報を、間違ったデータとともに設定記憶回路に書き込む。他の実施形態はエラー訂正回路211を含まない。
【0027】
典型的には、データ処理システムの動作中、周辺装置の設定情報は通常読み取られない。従って、設定情報の完全性を継続的に監視するために、データ処理システム101は、読み出された情報のシンドロームを生成してエラーを検出するエラー検出器117である周辺装置の設定情報の読み出しを実行する回路を含む。
【0028】
図示された実施形態において、コントローラ121は、アドレスデコーダ201及び周辺装置用バス123を介して、設定情報のエラー検出のために周辺装置の設定情報の読み出しトランザクションを生成するように使用される。図示された実施形態において、コントローラ121は、読み出されるべき所望の周辺装置の記憶回路アドレスを示すアドレス信号、コントローラが読み出しを開始することを示すID、読み出しを示すR/W信号、読み出し情報の適切なサイズを示すアクセスサイズ信号を供給することによって読み出しトランザクションを開始する。設定情報がその位置に以前書き込まれた際に、以前生成されたシンドロームを取得するためにアドレスもエラーRAMデコーダ209に供給する。一実施形態において、コントローラ121は状態機械に実行されるが、他の実施形態における方法で実行可能である。
【0029】
一実施形態において、コントローラ121が、データ処理システムの周辺装置の設定記憶回路に周期的に読み出しを実施する。そのような読み出しの頻度は、設定情報の完全性を保証する所望時間に基づく。一実施形態において、周辺装置バスが使用されない時、設定情報は任意の時間に周辺装置から読み出される。このような一実施形態において、周辺装置バス123が使用されない間、コントローラによって開始された設定情報の読み出しが継続的に実行される。また一実施形態において、読み出しは規則的に定期的な時間に実行されて、設定情報の読み出しが完了するまで他の周辺装置のバス活動を遅延させる。
【0030】
周辺装置の設定情報の読み出しを開始する周辺装置用バスインタフェース113の回路(例えば、コントローラ121)の使用の利点は、周辺装置の設定情報の完全性をチェックするプロセッサ103または他のデータシステムマスタ(例えば、DMAコントローラ105)の処理時間を必要としないことである。周辺装置の設定情報を読み出すためにプロセッサ103またはDMA(direct memory Access:ダイレクト・メモリ・アクセス)コントローラ105が使用される場合、マスタが読み出しを実行するために使用されるだけでなく、システム相互接続部107も読み出しのために使用される。従って、データ処理システム101における影響を最小化しつつ、設定情報の完全性を実施することができる。また、いくつかの実施形態において、コントローラ121はより簡単またはより低い電源回路機構を有するように設計する可能であり、コントローラ121による読み出し開始は、プロセッサによる読み出し開始よりも低い電力を消費する。
【0031】
他の実施形態において、周辺装置の設定情報の完全性読み出し(integrity reads)はシステム相互接続部マスタ(例えば、プロセッサ103またはコントローラ105)によって開始される。一実施形態において、DMAコントローラを使用して周辺装置の設定情報の読み出しを開始することによって、設定の完全性処理を実行する既存回路を使用することができる。また、DMAコントローラを使用することによって、読み出し開始を実行することからプロセッサ103を解放することができる。
【0032】
更に、いくつかの実施形態において、設定情報の読み出しを実行させるDMAコントローラのコマンドは、DMAコントローラを自律的に動作させるようにプログラム可能である。設定情報の読み出しを開始させるプロセッサ103を使用することによって、処理を実行させるコードの使用が必要とされ得る。
【0033】
図示された実施形態において、各周辺装置用の生成されたシンドロームはインタフェース113におけるRAM119に格納される。シンドロームをインタフェースに格納することによって、周辺装置に対して設定情報を読み出しまたは書き込みを実行する時間を効果的に減少する。シンドロームが周辺装置に格納される場合、設定情報をチェックするためにより多くのデータを周辺装置デバイスと交換しなければならない。
【0034】
更に、周辺装置用バスインタフェース113で設定情報のエラー検出動作を実行することによって、各周辺装置においてエラー検出回路を実行せずに周辺装置の設定情報のエラー検出が可能となってダイ面積を縮小する。
【0035】
更に、インタフェース113においてエラー検出回路及びシンドローム記憶装置の両方を具体化することによって、データ処理システムにおける周辺装置の異なる構成を実行することを可能にする。いくつかの実施形態において、周辺装置の変更によって、周辺装置の設定情報の完全性チェックを実施する必要がなくなる。従って、インタフェース113にエラー検出回路及びシンドローム記憶装置を備えることで、周辺装置の設定情報の完全性チェックを実施することが、周辺装置で設定情報の完全性チェックを実施するシステムとは対照的に、周辺装置製造者とデータ処理システム製造者との間におけるより少ない協調により達成可能である。
【0036】
周辺装置の設定情報の完全性をチェックすることによって、より高い強固(robust)であり、且つ高い信頼性を有するデータ処理システムを提供可能である。従って、設定情報の完全性が維持される場合、データ処理システムの周辺装置は感染する(infective)可能性がより低い。
【0037】
一実施形態において、インタフェース113は集積回路の隣接部に配置され得る。しかし、他の実施形態において、インタフェース113は集積回路の全てに分配しても良い。また、他の実施形態は、異なる動作可能に接続されたインタフェース113の回路を含むインタフェース113の異なる設定を含み得る。一実施形態において、エラーRAM119は専用RAM回路である。他の実施形態において、RAM119はシステムメモリの特定領域である。幾つかの実施形態において、設定情報の書き込み中に、生成器205によって生成された複数のシンドロームを格納するフリップフロップのレジスタにRAM119の機能を実行され得る。また他の実施形態において、幾つかの回路113の部分は、バスを介して動作可能に接続され得る。
【0038】
図3は、設定情報を周辺装置に書き込む動作および設定情報のシンドロームの生成に関する実施形態を示すフロー図である。動作301において、プロセッサまたは他のシステムマスタが、書き込みトランザクションを開始して、設定情報を周辺装置(例えば、周辺装置125、129、133、137のいずれか一つ)の設定記憶回路(例えば、設定レジスタまたは記憶域の他の種類)に書き込む。書き込みトランザクションは、システム相互接続部107、バスインタフェース回路115(デコーダ201を含む)、および周辺装置バス123を介して周辺装置に実行される。書き込みの間、許可回路203が、アクセスサイズ及びアドレスを読み出すこと(および特定の実施形態において、特定サイズであること)によって、書き込みが周辺装置の設定記憶回路に対するものであることを検出し、動作303において、(WRITE ENABLE信号をアサートすることによって)システム相互接続部107のデータバスから書き込みデータのシンドロームを生成器205に生成させる。動作305において、生成されたシンドロームは、システム相互接続部107からアドレス線におけるアドレスから、エラーRAM119におけるデコーダ209によって生成された記憶位置に格納される。
【0039】
図4は、周辺装置の設定情報を読み出して検査する一実施形態を示すフロー図である。動作401において、周辺装置の設定情報の読み出し開始が実行される。この開始はコントローラ121、プロセッサ103、コントローラ105、および他のシステム101の回路によって実施され得る。
【0040】
動作403において、読み出しトランザクションがエラーチェックを要するかどうかを決定することが実行される。一実施形態において、特定マスタまたはコントローラ121および特定サイズによって要求された情報に対して、エラーチェックが実行される。例えば、コントローラ121が設定情報の完全性読み出しを開始するシステムにおいて、プロセッサ103によって周辺装置の設定記憶回路の読み出しがエラーチェックを得られない。従って、エラーチェックを実行すべきかどうかを決定することは、読み出しが(システム相互接続部107またはコントローラ121からのアドレスによって決定されたような)周辺装置の設定記憶回路のI/Oマッピングされた領域、および(システム相互接続部107またはコントローラ121からのアクセスサイズ信号によって決定されたような)読み出しのサイズのどちらかと同様に、システム相互接続部107及びコントローラ121からのデバイスID信号により判定される。
【0041】
読み出しがエラーチェックを要しない場合、動作405のように読み出しはエラーをチェックせずに実行される。読み出しがエラーチェックを要する場合、動作407において読み出しが実行され、動作409において設定情報の読み出しエラーシンドロームが生成器205によって生成される。動作411において、比較器207が、生成されたシンドロームと、RAM119に格納されたシンドロームとを比較する。シンドロームが整合する場合、設定情報にはエラーがない。しかし、シンドロームが整合しない場合、ERROR信号が生成されるか、およびいくつかの実施形態において、訂正された情報を設定記憶回路に書き込む回路211によりエラーが訂正されるかのいずれか一方である。幾つかの実施形態において、設定情報にエラーが検出された場合、ERROR信号は、周辺装置の設定情報中にエラーが検出されたことを示す割込みを生成するように使用される。幾つかの実施形態において、エラー訂正回路211によってエラーを訂正できない場合だけ、割込みが生成される。
【0042】
幾つかの実施形態において、エラーは、周辺装置の設定情報の読み出し全てに対して実行される。
図5は、本発明の異なる2つの実施形態のメモリマップ構成を示す。各メモリは、データ処理システム101のメモリアドレス領域における周辺装置のメモリアドレスのマッピングを示す。マップ501が一実施形態を示し、各周辺装置の設定情報は、周辺装置の全ての格納された情報のアドレス範囲以内に配置される。例えば、周辺装置1のアドレス範囲はマップ501の左側の「P1」によって示される。「P1設定」で示されるようなその範囲の部分は、その周辺装置の設定記憶レジスタのアドレス範囲である。図5におけるアドレス範囲が、プロセッサ103によって使用されるような位置の論理アドレスを示す。このようなアドレスは、デコーダ201によって周辺装置バスのアドレスにマッピングされる。
【0043】
501の実施形態において、周辺装置の設定記憶回路に対するいかなるデータアクセスも、アドレスデコーダ201に対するメモリマッピングによって示されたアドレスを供給することによって開始される。従って、コントローラ121が設定情報を開始する実施形態において、コントローラは、書き込みデータ内のプロセッサ103としての同一の論理アドレスを設定記憶回路に供給する。
【0044】
マップ503は、周辺装置の設定記憶回路のアドレスのミラーマッピングを含む実施形態を示す。この実施形態において、2つの異なる論理アドレスは各設定記憶位置に与える。読み出しを開始して周辺装置の設定情報の完全性をチェックする回路が、プロセッサ103によって周辺装置の同一設定記憶回路への書き込みに使用された論理アドレスと異なる論理アドレスを使用する。設定記憶位置に対するマップ503の両方の位置が、同一の周辺装置バスの物理アドレスにマッピングする。
【0045】
一実施形態において、ミラーマッピングスキームを使用することによって、デコーダ201に与えられたアドレスに基づくデータのエラーチェックを実行するかどうかを決定することができる。例えば、(図5の設定ミラーとして示される)マップの設定ミラー領域のアドレスが供給された場合、エラーチェックは、読み出された設定情報上で実行される。ミラー領域に配置されないアドレスが与えられた場合、エラーチェックが実行されない。
【0046】
マップ503の実施形態において、マップ503のミラー領域における設定情報の論理アドレスは非ミラー領域と比べて圧縮されている。ミラー領域をアクセスする回路は、非ミラー領域をアクセスする場合よりも少ないアドレス範囲情報を必要とする。従って、設定完全性の読み出しを開始するコントローラ121のような回路が、より少ないアドレスビット生成回路で具体化され得る。
【0047】
一実施形態において、周辺装置の設定記憶回路の論理アドレスは、コントローラ121またはデータ処理システムの他のデバイスにプログラムとして組み込まれている(hardwired)。しかしながら、他の実施形態において、各周辺装置の設定記憶回路の論理アドレスは、データ処理システム101の起動中に、レジスタのプログラム可能な値によって特定される。また、各周辺装置の設定情報のアドレス範囲は、(例えば、起動中に)設定情報の領域を画定するためにレジスタにプログラム可能である。一実施形態において、そのレジスタ(図示せず)はコントローラ121に配置する。別の実施形態において、レジスタはDMAコントローラ105に配置する。しかしながら、レジスタはデータ処理システム101の他の位置に配置可能である。
【0048】
幾つかの実施形態において、周辺装置の設定記憶位置に対するミラーマッピング領域を具体化することによって、周辺装置の設定記憶回路の領域を画定ために必要なレジスタの数を減少することができる。例えば、非ミラーマッピングにおいて、各周辺装置が2つのレジスタを必要とし、第1のレジスタは、設定情報における始めのアドレスを定義し、第2のレジスタは、アドレス範囲の長さを含む。ミラー領域の設定記憶回路の論理アドレスが圧縮された場合、全ての周辺装置が2つのレジスタを必要とし、第1のレジスタは、ミラー領域の始めのアドレスを定義し、第2のレジスタは、ミラー領域の長さを含む。
【0049】
一実施形態において、コントローラ121はカウンタを含み、該カウンタの始めの値はミラー領域の始めのアドレスでプログラムされ、カウントの長さはミラー領域のサイズでプログラムされる。カウンタ値の各変化によって、周辺装置の設定情報を読み出すために新たな読み出しアドレスを開始する。一実施形態では、カウンタは、カウントの終わりで、始めの数にリセットされる。一実施形態では、コントローラは、アドレスデコーダ201から「使用中」信号を受信し、この「使用中」信号は、周辺装置バスがシステムマスタによって使用される場合にカウンタを停止して、設定完全性の読み出しを一時的に停止させる。周辺装置がアイドル状態である場合に、その読み出しが再開される。
【0050】
他の実施形態において、コントローラ121は、周辺装置用バスに直接的に読み出すための周辺装置バスアドレスを供給するように構成される。他の実施形態において、コントローラ121は、イネーブル信号入力を含み、イネーブル信号によって、例えば、電力を節約するために、動作システムが周辺装置の設定情報のエラーチェック機能を停止する。他の実施形態において、システム101はスイッチ回路を含んで、システム107のデータ線を周辺装置123のデータ線から分離して、システム相互接続部は他の目的に使用される間に設定情報の完全性のチェックを実行する。
【0051】
一実施形態において、周辺装置用バスインタフェースと動作可能に接続された第1マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第1マスタは、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。該データ処理システムにおける方法は、第1マスタによって設定情報を複数の周辺装置の第1周辺装置に書き込みを開始することを含む。また、該方法は、書き込みの開始に応答して、第1周辺装置に格納するために周辺装置用バスインタフェースを介して設定情報を供給することを含み、設定情報の第1エラーシンドロームは周辺装置用バスインタフェースによって生成される。方法は、設定情報を第1周辺装置の第1記憶位置に格納すること、周辺装置用バスインタフェースの記憶回路に第1エラーシンドロームを格納することを更に含む。
【0052】
別の実施形態において、周辺装置用バスインタフェースと動作可能に接続された第1マスタと、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムでは、第1マスタは周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。設定情報の第1エラーシンドロームが、周辺装置用バスインタフェースによって生成される。方法は、周辺装置用バスインタフェースを介して供給された設定情報を第1周辺装置に格納すること、周辺装置用インタフェースの記憶回路に第1エラーシンドロームを格納すること、設定情報を格納した後に、第1周辺装置に格納された設定情報の読み出しを開始することを含む。該方法は、読み出しの開始に応答して、第1周辺装置から設定情報を受信することを含む。第1周辺装置から受信された設定情報の第2エラーシンドロームは周辺装置用バスインタフェースによって生成され、第1エラーシンドロームと比較されて第1周辺装置から受信された設定情報にエラーが存在するかどうかを判定する。
【0053】
別の実施形態において、データ処理システムは、第1マスタ、および周辺装置用バスインタフェースを含む。第1マスタは、周辺装置用バスインタフェースと動作可能に接続されている。データ処理システムは、周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置を含む。第1マスタが、周辺装置用バスインタフェースを介して複数の周辺装置の各々と通信する。第1マスタが、複数の周辺装置に設定情報を格納することを開始する。複数の周辺装置の各々に格納するために設定情報が供給された場合、複数の周辺装置の設定情報のエラーシンドロームは周辺装置用バスインタフェースによって生成され、周辺装置用バスインタフェースの記憶回路に格納される。
【0054】
上記の明細書により、本発明は特定の実施形態に基づいて記載してきた。しかしながら、当業者であれば、様々な変更や変形は添付した本発明の特許請求の範囲に逸脱することなく行われる。従って、明細書と図面は説明上のものであって制限するものでなく、またこれら全ての変更は本発明の範囲に内包されるものである。

【特許請求の範囲】
【請求項1】
周辺装置用バスインタフェースと動作可能に接続された第1マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第1マスタは前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記第1マスタによって前記複数の周辺装置のうちの第1周辺装置に設定情報の書き込みを開始すること、
前記書き込みを開始することに応答して、前記第1周辺装置に格納するために前記周辺装置用バスインタフェースを介して前記設定情報を供給することであって、前記設定情報の第1エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記設定情報を前記第1周辺装置の第1記憶位置に格納すること、
前記周辺装置用バスインタフェースの記憶回路に前記第1エラーシンドロームを格納することを備える、方法。
【請求項2】
請求項1記載の方法であって、
前記設定情報を格納した後に、前記第1記憶位置から前記設定情報を読み出すこと、
前記設定情報を読み出すことから、前記第1記憶位置から読み出された設定情報の第2エラーシンドロームを前記周辺装置用バスインタフェースによって生成すること、
前記第1エラーシンドローム及び前記第2エラーシンドロームを比較して、前記第1記憶位置から前記読み出された設定情報にエラーが存在するかどうかを決定することを更に備える、方法。
【請求項3】
請求項2記載の方法であって、
前記第1記憶位置に格納された設定情報の読み出しを開始することであって、前記読み出しを開始することに応答して、前記読み出しが実行される、前記読み出しを開始すること、
前記読み出しに対してエラー検出を実行すべきかどうかを決定すること、
前記決定することが、前記読み出しに対してエラー検出を実行すべきと決定した場合、前記生成すること及び前記比較することが実行されること、
前記決定することは、前記第1記憶位置に格納された前記設定情報の読み出しを開始したデータ処理システム内の構成要素の何れかに基づくこと、
を更に備える、方法。
【請求項4】
請求項3記載の方法であって、
前記構成要素が前記第1マスタを備える場合、前記方法は、前記比較することが実行されないことを決定することを更に備える、方法。
【請求項5】
請求項3記載の方法であって、
前記構成要素が前記周辺装置用バスインタフェースを備える場合、前記方法は、前記エラー検出が実行されることを決定することを更に備える、方法。
【請求項6】
請求項3記載の方法であって、
前記データ処理システムが第2マスタを更に含み、
前記第2マスタは前記周辺装置用バスインタフェースと動作可能に接続され、前記周辺装置用バスインタフェースを介して各周辺装置と通信し、
前記構成要素が第2マスタを備える場合、前記方法が、前記エラー検出を実行すべきかどうかを決定することを更に備える、方法。
【請求項7】
請求項2記載の方法にあって、
前記第1記憶位置に格納された設定情報の読み出しを開始しており、前記読み出しに対してエラー検出を実行すべきどうかを決定することを備え、
前記決定することは、前記読み出しに対してエラー検出を実行すべきと決定した場合に前記生成すること及び前記比較することが実行されること、
前記エラー検出を実行すべきかどうかを決定することは、前記設定情報の読み出しを開始するために使用された前記周辺装置内の何れかのメモリマップに基づくことを更に備える、方法。
【請求項8】
請求項7記載の方法であって、
前記読み出しに対して前記周辺装置の第1メモリマップが使用された場合、前記エラー検出を実行しないことを決定すること、
前記読み出しに対して前記周辺装置のミラーメモリマップが使用された場合、前記エラー検出を実行することを決定することを更に備える、方法。
【請求項9】
周辺装置用バスインタフェースと動作可能に接続された第1マスタと、前記周辺装置用バスインタフェースに動作可能に接続された複数の周辺装置とを含むデータ処理システムであって、前記第1マスタは、前記周辺装置用バスインタフェースを介して前記複数の周辺装置の各々と通信する、前記データ処理システムにおける方法であって、
前記複数の周辺装置のうちの第1周辺装置に格納するために、前記周辺装置用バスインタフェースを介して設定情報を供給することであって、前記設定情報の第1エラーシンドロームは、前記周辺装置用バスインタフェースによって生成される、前記設定情報を供給すること、
前記周辺装置用バスインタフェースを介して供給された設定情報を前記第1周辺装置に格納すること、
前記第1エラーシンドロームを前記周辺装置用バスインタフェースの記憶回路に格納すること、
前記設定情報を格納した後に、前記第1周辺装置に格納された設定情報の読み出しを開始すること、
前記読み出しを開始することに応答して、前記設定情報を前記第1周辺装置から受信することであって、前記第1周辺装置から受信された前記設定情報の第2エラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記第1エラーシンドロームと比較されて、前記第1周辺装置から受信された設定情報にエラーが存在するかどうかを決定することを更に備える、方法。
【請求項10】
請求項9記載の方法において、
前記複数の周辺装置の第2周辺装置に格納するために、前記周辺装置用バスインタフェースを介して第2設定情報を供給することであって、前記第2設定情報の第3エラーシンドロームは前記周辺装置用バスインタフェースによって生成される、前記第2設定情報を供給すること、
前記周辺装置用バスインタフェースを介して供給された第2設定情報を前記第2周辺装置に格納すること、
前記第3エラーシンドロームを前記周辺装置用バスインタフェースの記憶回路に格納すること、
前記第2設定情報を格納した後、前記第2周辺装置に格納された第2設定情報の読み出しを開始すること、
前記第2設定情報の読み出しを開始することに応答して、前記第2設定情報を前記第2周辺装置から受信することであって、前記第2周辺装置から受信された前記第2設定情報の第4エラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記第3エラーシンドロームと比較されて前記第2周辺装置から受信された設定情報にエラーが存在するかどうかを決定する、前記第2設定情報を受信することを更に備える、方法。
【請求項11】
請求項9記載の方法において、
前記第1マスタによって前記第1周辺装置に対する前記設定情報の書き込みを開始することであって、前記書き込み開始に応答して、前記設定情報を供給することが実行されることを更に備える、方法。
【請求項12】
請求項11の方法であって、
前記データ処理システムは、
前記周辺装置用バスインタフェースと動作可能に接続され、前記周辺装置用バスインタフェースを介して各周辺装置と通信する第2マスタを更に備え、
前記第1周辺装置に格納された前記設定情報の読み出しを開始することは、前記第2マスタによって実行される、方法。
【請求項13】
請求項12記載の方法において、
前記第1マスタによって前記第1周辺装置に格納された設定情報の第2読み出しを開始すること、
前記第1マスタによって前記第2読み出しを開始することに応答して、前記周辺装置用バスインタフェースを介して前記設定情報を前記周辺装置から受信することであって、前記周辺装置が、前記第1周辺装置から受信された前記設定情報にエラー検出を実施しないこと、
前記第1周辺装置から受信された設定情報を前記第1マスタに供給することをさらに備える、方法。
【請求項14】
請求項12記載の方法において、
前記第1マスタによって前記第1周辺装置に格納された前記設定情報の第2読み出しを開始すること、
前記第1マスタによる前記第2読み出しを開始することに応答して、前記周辺装置用バスインタフェースを介して前記設定情報を前記第1周辺装置から受信すること、
前記複数の周辺装置の第1メモリマッピングに従って、前記第1マスタが、前記第1周辺装置に格納された設定情報の第2読み出しを開始すること、
前記第1メモリマッピングと異なる、前記複数の周辺装置の第2メモリマッピングに従って、第2マスタが、前記第1周辺装置に格納された前記設定情報の読み出しを開始することを更に備える、方法。
【請求項15】
請求項9記載の方法であって、
前記第1周辺装置に格納された設定情報の読み出しを前記周辺装置用バスインタフェースによって開始することを更に備える、方法。
【請求項16】
請求項15記載の方法であって、
前記複数の周辺装置の第1メモリマッピングに従って、前記第1マスタが前記第1周辺装置に格納された設定情報の書き込みを開始し、
前記第1メモリマッピングと異なる、前記複数の周辺装置の第2メモリマッピングに従って、前記周辺装置用バスインタフェースが前記第1周辺装置に格納された前記設定情報の読み出しを開始する、方法。
【請求項17】
データ処理システムにあって、
第1マスタと、
前記第1マスタと動作可能に接続された周辺装置用バスインタフェースと、
前記周辺装置用バスインタフェースと動作可能に接続された複数の周辺装置であって、前記周辺装置用バスインタフェースを介して前記第1マスタが、前記複数の周辺装置の各々と通信する、前記複数の周辺装置とを備え、
前記第1マスタが、前記複数の周辺装置に設定情報の格納を開始し、前記複数の周辺装置の各々に格納するために前記設定情報が供給される場合、前記複数の周辺装置の各々の前記設定情報のエラーシンドロームは、前記周辺装置用バスインタフェースによって生成され、前記周辺装置用バスインタフェースの記憶回路に格納される、データ処理システム。
【請求項18】
請求項17のデータ処理システムであって、
設定情報のエラー検出において、前記複数の周辺装置のうちの1つの周辺装置に格納された設定情報が前記周辺装置から読み出されて、前記周辺装置用バスインタフェースに受信された場合、前記周辺装置用バスインタフェースは、前記周辺装置から受信された設定情報のエラーシンドロームを生成し、そのエラーシンドロームと、前記周辺装置に対して前記設定情報の書き込む中に生成されたエラーシンドロームとを比較して、前記周辺装置から受信された設定情報にエラーが存在するかどうかを決定する、データ処理システム。
【請求項19】
請求項18記載のデータ処理システムであって、
前記複数の周辺装置の第1メモリマッピングは前記第1マスタによって使用されて、前記複数の周辺装置に対する設定情報の格納を開始し、前記第1メモリマッピングと異なる前記複数の周辺装置のミラーメモリマッピングが使用されて、エラー検出ために前記複数の周辺装置に格納された設定情報の読み出しを開始する、データ処理システム。
【請求項20】
請求項18記載のデータ処理システムであって、
前記周辺装置用バスインタフェースが、エラー検出のために前記周辺装置に格納された前記設定情報の読み出しを開始する、データ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−38305(P2012−38305A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2011−165717(P2011−165717)
【出願日】平成23年7月28日(2011.7.28)
【出願人】(504199127)フリースケール セミコンダクター インコーポレイテッド (806)
【Fターム(参考)】