JP6244338B2 - 相互接続回路のための伝送制御検査 - Google Patents

相互接続回路のための伝送制御検査 Download PDF

Info

Publication number
JP6244338B2
JP6244338B2 JP2015155998A JP2015155998A JP6244338B2 JP 6244338 B2 JP6244338 B2 JP 6244338B2 JP 2015155998 A JP2015155998 A JP 2015155998A JP 2015155998 A JP2015155998 A JP 2015155998A JP 6244338 B2 JP6244338 B2 JP 6244338B2
Authority
JP
Japan
Prior art keywords
transaction
data
response
master
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015155998A
Other languages
English (en)
Other versions
JP2016042355A (ja
Inventor
ウィリアムズ マイケル
ウィリアムズ マイケル
ジョン クラスク サイモン
ジョン クラスク サイモン
ピアロン ロイック
ピアロン ロイック
Original Assignee
エイアールエム リミテッド
エイアールエム リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エイアールエム リミテッド, エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2016042355A publication Critical patent/JP2016042355A/ja
Application granted granted Critical
Publication of JP6244338B2 publication Critical patent/JP6244338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Description

本開示は、データ処理システムの分野に関する。より詳細には、本開示は、1つ又は複数のトランザクション・マスタと、1つ又は複数のトランザクション・スレーブとの間の相互接続回路を経由したトランザクションの伝送において発生するエラーに関する。
トランザクション・マスタと、トランザクション・スレーブとの間のトランザクションの一部分として、相互接続回路を通して渡されるデータとアドレスとに適用される、パリティなどのエラー検出コード(EDC:error detection codes)を生成し、また次いで検査するメカニズムを相互接続回路に提供することが知られている。そのようなエラー訂正コードを使用して、送信されるデータとアドレス値とに発生するエラーを検出し、潜在的に訂正することができる。
そのようなシステムにおけるエラーの別の原因は、トランザクションの伝送の制御が、トランザクション自体の内容とは別個に、エラーの影響を受ける可能性があることである。一例として、相互接続回路は、多数のマルチプレクサを含むことがあり得、そのようなマルチプレクサに対する制御信号についての単一ビットのアップセットにより、トランザクションが誤ったマスタ、又は誤ったスレーブに対してルーティングされてしまうという結果がもたらされる可能性がある。データのインテグリティが重要であるシステム(例えば、セーフティ・クリティカルなシステム)の内部では、トランザクションの伝送の制御におけるそのようなエラーが、少なくとも検出されるべきことが望ましい。
トランザクションの伝送の制御におけるエラーを検出することを扱うことへの1つの可能性があるアプローチは、相互接続回路の重複するインスタンスを与え、基本(primary)相互接続回路でロックステップにこれを動作させることである。これにより、相互接続回路の2つのインスタンスの出力を比較することができ、どのような違いであっても、相互接続回路の内部のエラーを示すことになる。そのようなアプローチの欠点は、重複する相互接続回路と、コンパレータとを提供することに関連する、著しい追加のオーバーヘッドである。そのような重複する相互接続回路及びコンパレータは、データ処理システムの回路面積と、コストと、消費電力とを増大させる。
本開示の少なくともいくつかの例示の実施例では、
相互接続回路を経由して1つ又は複数のトランザクション・スレーブのうちの1つからペイロード・データと制御検査データとを含むトランザクション応答を受信するトランザクション応答レシーバと、
制御回路であって、
(i)前記トランザクション応答の受信に先立って、前記トランザクション応答に関連するトランザクションの伝送の正しい制御に対応する期待されたデータを保持し、
(ii)前記トランザクション応答の受信に続いて、前記制御検査データが前記期待されたデータと一致するかどうかを検査し、
(iii)前記制御検査データが前記期待されたデータと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
制御検査回路と
を備える装置が提供される。
本開示の少なくともいくつかのさらなる例示の実施例では、
相互接続回路を経由して1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタから、検出されたエラーの報告と、これに対するアクションとを誘発するための制御検査データを含む読み取りトランザクション要求を受信するトランザクション要求レシーバと、
前記トランザクション要求に対応し、且つ読み取りデータと前記制御検査データとを含む読み取りトランザクション応答を生成するトランザクション応答ジェネレータと、
前記所与のトランザクション・マスタに前記トランザクション応答を送信するトランザクション応答トランスミッタと
を備える装置が提供される。
本開示の少なくともいくつかのさらなる例示の実施例では、
相互接続回路を経由して1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタから要求制御検査データを含む書き込みトランザクション要求を受信するトランザクション要求レシーバと、
書き込みデータ・レシーバであって、
(i)書き込みデータ制御検査データを伴う書き込みデータを受信し、
(ii)前記書き込みデータ制御検査データが前記要求制御検査データと一致することを検査することにより、前記書き込みデータが前記書き込みトランザクション要求に対応することを検査し、
(iii)前記書き込みデータ制御検査データが前記要求制御検査データと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
書き込みデータ・レシーバと
を備える装置が提供される。
本開示の少なくともいくつかのさらなる例示の実施例では、
相互接続回路を経由してその各々がそれぞれのシーケンス検査データを含む書き込みデータ転送のシーケンスについての書き込みトランザクション要求を受信するトランザクション要求レシーバと、
書き込みデータ・レシーバであって、
(i)受信されたシーケンス検査データを伴う受信された書き込みデータ転送を受信し、
(ii)前記受信されたシーケンス検査データが期待された次のシーケンス検査データと一致することを検査することにより、前記受信された書き込みデータ転送が次の期待された書き込みデータ転送に対応することを検査し、
(iii)前記受信された書き込みデータ転送が前記次の期待された書き込みデータ転送と一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
書き込みデータ・レシーバと
を備える装置が提供される。
本開示の少なくともいくつかのさらなる例示の実施例では、1つ又は複数のトランザクション・スレーブに相互接続回路を経由して接続される1つ又は複数のトランザクション・マスタを備え、上記で示されるような伝送制御検査回路を備える、データを処理するための装置が提供される。
本開示の少なくともいくつかのさらなる例示の実施例では、
相互接続回路を経由して1つ又は複数のトランザクション・スレーブのうちの1つからペイロード・データと制御検査データとを含むトランザクション応答を受信するステップと、
前記トランザクション応答の受信に先立って、前記トランザクション応答に関連するトランザクションの伝送の正しい制御に対応する期待されたデータを保持するステップと、
前記トランザクション応答の受信に続いて、前記制御検査データが前記期待されたデータと一致するかを検出するステップと、
前記制御検査データが前記期待されたデータと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発するステップと
を含む方法が提供される。
本開示についての上記、及び他の目的と、特徴と、利点とは、添付図面に関連して読まれるべきである実例となる実施例についての以下の詳細な説明から明らかになろう。
バス・マスタと、バス・スレーブと、相互接続回路と、伝送制御検査回路とを含むデータ処理装置を概略的に示す図である。 UTID処理と、シグナル・インテグリティ処理との順序が、入れ替えられた、図1の実例に対する変形形態を概略的に示す図である。 バス・マスタと、バス・スレーブと、相互接続回路と、伝送制御回路とを含むデータ処理装置のさらなる例示の実施例を概略的に示す図である。 マスタとスレーブとの内部で実行されるUTID(及び物理アドレス検査)を有するさらなる例示の実施例を概略的に示す図である。 ペイロード・データと制御検査データの両方を含むトランザクションの1つの例示のフォーマットを概略的に示す図である。 受信されたトランザクション応答の正しいルーティングについてのトランザクション・マスタ検査を概略的に示す流れ図である。 レシーバにおけるビート・シーケンス検査を概略的に示す流れ図である。 書き込みトランザクションのための書き込みデータの正しいルーティングを検査するトランザクション・スレーブを概略的に示す流れ図である。 固有のトランザクション識別子の1つの例示の形式を概略的に示す図である。
本開示は、トランザクション応答に制御検査データを追加し、次いで、トランザクション応答を受信する回路によって既に保持されている制御検査データとこれを比較することにより、相互接続回路を通した伝送の制御におけるエラーが検出され、その検出されたエラーについての適切な報告とアクションとを誘発し得ることを認識している。本開示は、トランザクション要求の発信元が、トランザクション要求に制御検査データを追加することがあることを認識しており、このトランザクション要求は、次いで、トランザクション応答が、送信されたトランザクション要求に適切に対応しているか否かを検出するため、例えば、相互接続回路を通してのルーティング・エラーについて検査するために、関連するトランザクション応答において、トランザクションのソースに反映されることができる。期待されたデータは、制御検査回路それ自体の内部に、又はそれからリモートに記憶され得ることが、理解されるであろう。制御検査回路は、それが、トランザクション応答内の制御検査データをそれと比較する必要があるときに、期待されたデータにアクセスすることができる。
本開示の別の態様は、トランザクション・マスタに対して送信される読み取りトランザクション応答にこれを追加することにより、発信元のトランザクション・マスタに制御検査データを反射するのに役立つ、トランザクション・スレーブにおけるメカニズムを提供することである。
本技法はまた、書き込みデータに対応していると称しているものについて、書き込み要求に関連する制御検査データを、スレーブによってその後に受信される制御検査データに対して比較することをトランザクション・スレーブに許可することにより、トランザクション・スレーブにおけるエラーの検出を可能にする。書き込みデータの制御検査データが、要求の制御検査データと一致しない場合、これは、書き込みデータが、受信された書き込み要求に適切に対応していないことを示している。
トランザクション・スレーブは、受信された書き込みデータ転送に付随する受信されたシーケンス検査データが、次の期待された書き込みデータ転送に対応することを検査することによって、それが受信する書き込みデータが期待されたシーケンスを有することを検査するように構成されていることもある。そのような検査に合格しない場合、これは、少なくとも、書き込みデータ転送の順序付け、又は生成におけるエラーを示している。
上述の伝送制御検査回路は、例えば、レガシーのトランザクション・マスタとトランザクション・スレーブとに追加の機能を与えるために使用され得るラッパー回路として提供されるように、トランザクション・マスタとトランザクション・スレーブとのそれら自体とは別個のエンティティとして提供される可能性があることが、理解されるであろう。しかしながら、いくつかの実施例においては、トランザクション・マスタとトランザクション・スレーブとは、上記で説明された伝送制御検査回路を直接に組み込むことができることもまた、可能である。
本開示の少なくともいくつかの例示の実施例の別の態様は、1つ又は複数のトランザクション・スレーブに相互接続回路を経由して接続される1つ又は複数のトランザクション・マスタを備え、且つ上記で説明されたような伝送制御回路を備える、データを処理する装置を提供することである。関係している相互接続回路を通してのすべてのトランザクションの伝送の制御におけるエラーについて検査するために伝送制御回路を使用することができ、或いはいくつかの実施例においては、全体として、装置のクリティカルな部分に対応する、可能性のある経路のサブセットにわたって発生する伝送におけるエラーについて検査するために、必要に応じて使用することができる。
図1は、トランザクション・マスタ4と、トランザクション・スレーブ6と、相互接続回路8とを含むデータ処理装置2を概略的に示す。マスタ・ラッパー回路10は、トランザクション・マスタ4と相互接続回路8との間に配置される。スレーブ・ラッパー回路12は、トランザクション・スレーブ6と相互接続回路8との間に配置される。マスタ・ラッパー10は、トランザクション・プロトコルのチャネルの各々の上に、伝送制御検査回路を含んでいる。これらのチャネルは、読み取りデータ・チャネルRDと、読み取りアドレス・チャネルARと、書き込みアドレス・チャネルAWと、書き込みデータ・チャネルWDと、書き込み応答チャネルBとを含む。読み取りアドレス・チャネルARと、書き込みアドレス・チャネルAWと、書き込みデータ・チャネルWDとは、トランザクション・マスタ4からトランザクション・スレーブ6へと進む。読み取りデータ・チャネルRDと、書き込み応答チャネルBとは、トランザクション・スレーブ6からトランザクション・マスタ4へと進む。これらのチャネルの各々は、ペイロード・データ(例えば、データ、アドレス、応答など)、並びに、マスタ・ラッパー10とスレーブ・ラッパー12との内部で追加され検査されるエラー訂正コード及び制御検査データを含んでいる。
図示されるように、送信されるデータ/アドレス/応答の値は、保護されるデータにおける1つ又は複数のビット・エリアの検出及び訂正を可能にするためにエラー訂正コード(ARecc)がそれらに追加されるエラー訂正コード・ジェネレータ14へと渡される。エラー訂正コードは、送信されるデータ/アドレス/応答の値に提供され得るシグナル・インテグリティ保護の1つの例示の形態であるにすぎないことが、理解されるであろう。シグナル・インテグリティ保護の他の例示の形態には、パリティ・ビットが含まれる。
ペイロード・トランザクションが、その宛先において受信されると、エラー訂正コード・チェッカ16は、付随するエラー訂正コードを読み取り、保護されたペイロードとこれを比較して、ビット・エラーが存在しているかどうかを検出し、必要に応じて、また可能であれば、次いでこれらのビット・エラーを訂正する役割を果たす。別のオプションは、(たとえ可能であるとしても)エラーを訂正せずに、エラーを信号で知らせることであり、例えば、アドレスにおけるエラーは、訂正される可能性は低い。エラー訂正コード・ジェネレータ14とエラー訂正コード・チェッカ16とは、それが相互接続回路10によってトランザクション・マスタ4とトランザクション・スレーブ6との間で渡されるときに、それに応じて、ペイロード・データのためのシグナル・インテグリティ保護を提供する。エラー訂正コード・ジェネレータ14とエラー訂正コード・チェッカ16とは、相互接続回路8を通した伝送の制御において発生するエラー、例えば、トランザクションの誤ったルーティング、トランザクションの不適切な繰り返し、トランザクションの順序付けの不適切な変更などに対して、保護を提供することはない。シーケンス番号ジェネレータ18とシーケンス番号チェッカ20とシーケンス番号挿入器22とシーケンス番号取込器24との形での伝送制御検査回路が、マスタ・ラッパー10とスレーブ・ラッパー12との内部に設けられる。伝送制御検査回路のこれらの要素は、トランザクション応答レシーバと制御検査回路とを提供するように一緒に動作する。
例として、トランザクション・マスタ4による読み取りトランザクションの発行を考察しよう。読み取りトランザクション要求は、読み取りアドレス・チャネルAR上に送出される。シーケンス番号ジェネレータ18は、その読み取りトランザクション要求のための固有のトランザクション識別子UTID(図1においてRutidと示される)を生成する。読み取りトランザクション要求は、相互接続回路8によってトランザクション・スレーブ6にルーティングされる。図1の図示においては、単一のトランザクション・スレーブ6だけが示されているが、実際には、複数の異なるトランザクション・スレーブ6が、存在し、相互接続回路8は、読み取りトランザクション要求をこれらの複数のトランザクション・スレーブ6のうちの正しいものにルーティングすべきであることが、認識されるであろう。
読み取りトランザクション要求がトランザクション・スレーブ6に到着すると、シーケンス番号取込器24は、新しいトランザクション識別子UTIDを読み取り、これを保存する。受信するトランザクション・スレーブ6はまた、受信されたトランザクションの物理アドレスが、トランザクション・スレーブ6の物理アドレスに一致することを検査する。これは、トランザクション識別子UTIDが、正しいトランザクション・スレーブ6に配送されていることを検査する(そのようにして、例えば、エラーで動けなくなることを回避する)。物理アドレスの検査は、他のタイプのトランザクション、例えば、書き込みのために実行されることもある。読み取りデータ・トランザクション応答が、読み取りデータ・チャネルRDを経由してトランザクション・スレーブ6からトランザクション・マスタ4に返されるときには、固有の識別子UTID(前もって保存されている)がデータ応答に追加される、シーケンス番号挿入器22を通る。固有のトランザクション識別子UTIDは、トランザクション信号内のサイドバンド・チャネル内に含まれ、読み取りトランザクション要求と読み取りトランザクション応答(単数又は複数)との両方におけるトランザクション信号に付随する制御検査データに対応している。この固有のトランザクション識別子UTIDは、トランザクションのルーティングに影響を及ぼさず、むしろ、アドレス、データ、応答値などのペイロード・データ内のエラーとは異なる、相互接続回路8を通したトランザクションの伝送の制御において発生するエラーを検査するために使用される。
新しいトランザクション応答が、マスタ・ラッパー10で受信されると、シーケンス番号チェッカ20は、当該新しいトランザクション応答に付随する固有のトランザクション識別子UTIDを調べ、対応する読み取りトランザクション要求の一部分としてシーケンス番号ジェネレータ18によって以前に送出された固有のトランザクション識別子UTID(期待されたデータ)のコピーとこれを比較する。これらの2つの固有のトランザクション識別子が一致しない場合は、これは、受信されている読み取りトランザクション応答が、送出された読み取りトランザクション要求に対応しておらず、したがって誤ったルーティングなどのエラーが起こっていることを示している。そのようなエラーが検出されると、これは、このエラーの報告と、このエラーに対するアクションとを誘発する。報告は、例えば、監視するプログラム又はシステムに対して行われることもあり、アクションは、例えば、要求を繰り返すこと、システムをリセットすること、又は異なるフェイル・セーフ応答を伴う可能性がある。
マスタ・ラッパー10は、トランザクション・スレーブ6からトランザクション応答を受信するトランザクション応答レシーバを含むことが、理解されるであろう。マスタ・ラッパー10は、制御検査回路をさらに含んでいる。シーケンス番号チェッカ20とシーケンス番号ジェネレータ18とは、読み取り要求と読み取り応答とのチャネルに関しては、トランザクション応答レシーバと制御検査回路とを具現化する。シーケンス番号ジェネレータ18は、所与のトランザクション・マスタ4のためのトランザクション識別子を生成するトランザクション識別子ジェネレータとしての機能を果たす。実際には、データ処理システム2は、各々が関連するマスタ・ラッパー10を有する複数のトランザクション・マスタ4を含むことができることが、理解されるであろう。同じように、潜在的な複数のトランザクション・スレーブ6の各々は、それ自身のスレーブ・ラッパー12を有することができる。他の実施例においては、マスタ・ラッパー10又はスレーブ・ラッパー12内に提供される回路は、それぞれ、トランザクション・マスタ4又はトランザクション・スレーブ6の一部分として組み込まれることもある。マスタ・ラッパー10とスレーブ・ラッパー12とを別々に提供することにより、レガシーのトランザクション・マスタ4とトランザクション・スレーブ6とが、本技法を利用することができるようになる可能性がある。マスタ・ラッパー10とスレーブ・ラッパー12との内部の回路は、個別に、又は組み合わせて、相互接続回路8の内部に含まれ得ることもまた、理解されるであろう。しかしながら、マスタ・ラッパー10とスレーブ・ラッパー12とを別々に提供することにより、レガシーの相互接続回路を使用することができ、少なくともいくつかの状況において望ましいこともある。
スレーブ・ラッパー10は、シーケンス番号挿入器22とシーケンス番号取込器24との形で、トランザクション要求レシーバとトランザクション応答ジェネレータとトランザクション応答トランスミッタとを提供し、トランザクション・スレーブ6によって供給されるデータを出力している。シーケンス番号取込器24は、上記の例において新しいトランザクション要求を受信し、固有のトランザクション識別子UTIDをこれから取り込むという点で、トランザクション要求レシーバとしての機能を果たす。この固有のトランザクション識別子UTIDは、取り込まれた固有のトランザクション識別子UTIDをトランザクション信号の残りと連結させる(例えば、固有のトランザクション識別子UTIDをトランザクション・サイドバンド信号内のユーザ・データに加える)ことでトランザクション応答を生成するトランザクション応答ジェネレータとしての機能を果たすシーケンス番号挿入器22に渡される。シーケンス番号挿入器22はまた、このトランザクション応答を、固有のトランザクション識別子UTIDを含めてトランザクション・マスタ4に対して返信して、トランザクション応答トランスミッタとしての機能も果たす。
上記の例では、読み取りトランザクション要求と読み取りトランザクション応答とを考慮している。本技法はまた、書き込み要求書き込みデータと書き込み応答チャネルとにも適用することもできることが理解されるであろう。書き込みトランザクション要求がトランザクション・マスタ4から送信されると、シーケンス番号ジェネレータ18は、固有のトランザクション識別子UTIDをトランザクションのユーザ・データ・サイドバンドに挿入して、その書き込み要求トランザクションと一緒にトランザクション・スレーブ6に渡される制御検査データとしての機能を果たすようにする。シーケンス番号取込器24の形の書き込みデータ・レシーバを使用して書き込み要求を受信するスレーブ・ラッパー12は、書き込みトランザクション要求から固有のトランザクション識別子UTIDを読み取り、これをシーケンス番号チェッカ20に渡すように機能する。シーケンス番号チェックアップ20は、書き込みトランザクション要求に付随した(今や、スレーブ・ラッパー12によって保持される期待されたデータとして機能する)取り込まれた固有のトランザクション識別子UTIDを、トランザクション・マスタ4からトランザクション・スレーブ6へと送信される書き込みデータの各ビート(beat)に付随する制御検査データと比較する。(取り込まれた固有のトランザクション識別子UTIDの形式の)期待されたデータが、正しいデータの各ビートとともに受信される制御検査データと一致しない場合は、これは、検出されたエラーの報告と、これに対するアクションを誘発する。そのようなエラーは、受信される書き込みデータが、トランザクション・スレーブ6が受信したと期待していた書き込み要求に対応していないことを示すであろう。これは、相互接続回路8を通してデータが誤ったルーティングをされた結果である可能性がある。
書き込みトランザクションが完了すると、トランザクション・スレーブ6は、書き込み応答チャネルBR上に書き込み応答を生成する。この書き込み応答は、それが、トランザクション・マスタ4に戻されるのにあわせてそれに追加される、対応する書き込みトランザクション要求のための固有のトランザクション識別子UTIDを有することができる。マスタ・ラッパー10は、書き込み応答に関連する固有のトランザクション識別子(制御検査データ)を読み取り、これをそれが期待している固有のトランザクション識別子の値と比較する。
エラー訂正コードのチェッカとジェネレータとの回路14、16とは、信号経路の中で、トランザクション・マスタ4とトランザクション・スレーブ6との最も近くに配置されることが、図1に見られるであろう。しかしながら、他の実施例においては、トランザクション・マスタ4とトランザクション・スレーブ6とに隣接しているのは伝送制御検査回路20、22、24であり、エラー訂正コード・ジェネレータおよびチェッカ14、16が、信号経路内で、相互接続回路6に隣接しているように、伝送検査回路20、22、24と、エラー訂正コード・ジェネレータおよびチェッカ14、16とは入れ替えられることもある。
図2は、UTID処理とシグナル・インテグリティ処理との順序が入れ替えられた、図1の例示の実施例に対する変形形態を概略的に示す。
図3は、さらなる例示の実施例である。この実施例においては、固有のトランザクション識別子は、サイドバンド信号として提供されるユーザ・データ内で別個に渡されるものではなく、その代わりに、エラー訂正コード・データを形成するときに送信されるべきペイロード・データと混合され、すなわち、UTIDは、ECCジェネレータ機能への入力として含められている。したがって、エラー訂正コードがペイロード・データと一緒に受信されると、エラー訂正コードが再計算されるときに、期待されたデータはペイロード・データと再び混ぜ合せられることができ、受信されたエラー訂正コードが新しく完了されたエラー訂正コードと一致するかどうかについての決定、すなわち、制御検査データが期待されたデータと一致することの検査がそれによっておこなわれる。相互接続回路を通しての伝送の制御におけるエラーは、期待されたデータが制御検査データと一致しないことを意味すべきであり、したがって、エラー訂正コードが比較されると、不一致が存在することになる。このアプローチの問題は、おそらく、伝送制御エラーがエラー訂正コードの不一致を引き起こさず、したがって伝送制御エラーが検出されないままとなり得ることがあるということである。エラー検出コードは、データ中のいくつかの不調を検出することができる。SECDED ECCコード(一般的に使用される)は、2つの不調を検出することができ、パリティ(SEDとして知られる)は、1つを検出することができる。もし、UTIDコードの対の間のハミング距離がビットのこの数よりも大きいならば、ECCがエラーを検出しないことになる可能性が高い。もし、UTIDが「あまり固有なものでなく」(固有さは、より一般的な「制御検査データ」の概念の拡張である)、且つ/又はコードのエラー検出能力がより高い(例えば、より長いCRCコード)ならば、ECC生成の一部としてUTIDを使用することは適切であるかもしれない。
図3の実施例においては、固有のトランザクション識別子に依存するエラー訂正コードは制御検査データを形成すると考えることができ、期待されたデータは、受信されたエラー訂正コードと比較されるべきであって、トランザクション要求のための固有のトランザクション識別子である期待されたデータに基づいて計算される、計算されたエラー訂正コードであると考えることができる。
図4は、UTID処理(及び物理アドレスの検証)が、マスタとスレーブとのそれら自身の内部で実行される、さらなる例示の実施例を概略的に示す。
図5は、図1及び2のデータ処理装置を通して送信されるトランザクションを形成する信号の一例を概略的に示す。トランザクション信号は、ペイロード信号(例えば、アドレス、データなど)と、エラー検出コード(又は他のシグナル・インテグリティ保護データ)と、ユーザ・データ/サイドバンド信号に追加される制御検査データとを含んでいる。これらのユーザ・データ/サイドバンド信号は、英国ケンブリッジのARM社によって設計されたAXIトランザクション・プロトコル内で提供されている。本技法は、それらのこの特定のプロトコルへの応用だけに限定されることはなく、例えば、異なるプロトコルが、チャネルの異なる組合せを有することができる。
読み取りデータ・チャネルRDと、書き込みデータWDチャネルの場合は、制御検査データは、以下でさらに述べられるように、偶数/奇数ビート・インジケータ(even/odd beat indicator)EOBIをさらに含むことができる。このEOBIを使用して、(受信するトランザクション・マスタによる読み取りに応じて、又は受信するトランザクション・スレーブによる書き込みに応じてのいずれかで)受信されるデータ値のシーケンスを検査することができる。制御検査データとエラー検出コードとペイロードとは、相互接続回路8を通して一緒にルーティングされるトランザクションの信号である。
図6は、どのようにしてトランザクション・マスタ4が正しいルーティングについての検査をおこなうかを概略的に示す流れ図である。ステップ26において、処理は、送信すべきトランザクション要求が存在するまで待つ。ステップ28において、固有のトランザクション識別子が、そのトランザクション要求のために生成される。固有のトランザクション識別子は、その時点におけるすべての待ち状態にあるトランザクションに対して固有である値を有している。この特性を有するこの固有のトランザクション識別子の生成は、以下にさらに記述される。ステップ30において、固有のトランザクション識別子を含むトランザクション要求が送出される。固有のトランザクション識別子はまた、トランザクション・マスタ内に保持され(保存され)、そのようにしてそれは、受信されたトランザクション応答に関して正しいルーティングを検証するための期待されたデータとしての機能を果たすことができる。期待されたデータの保存位置は様々であり得る。ステップ32は、トランザクション応答が受信されるまで待つ。これは、トランザクション・マスタ4の場合には、読み取りデータ、又は書き込み応答とすることができる。トランザクション応答が受信されると、ステップ34は、受信されたトランザクション応答に付随する固有のトランザクション識別子の形の制御検査データを、ステップ28において保存された、保存された固有のトランザクション識別子の形の期待されたデータと比較する。不一致があると、ステップ36は、検出されたエラーの報告とこれに対するアクションとを含むエラー応答を誘発する。エラーの報告とこれに対するアクションとは、例えば、トランザクションを繰り返すこと、トランザクションを破棄すること、リセットをトリガすることなど、多種多様な異なる形態を取ることができる。受信された制御検査データが、期待されたデータと一致するならば、処理は、その応答を受け入れるステップ38へと進む。
図7は、図3のEOBIビットとの関係で上述された、レシーバ(マスタ又はスレーブのいずれか)におけるビート・シーケンス検査を概略的に示す流れ図である。ステップ40において、レシーバは、受信すべきデータが存在するまで待つ。ステップ42は、EOBIの期待値の初期ステータスを0に設定する。ステップ44は、データの最初のビートが受信される(読み取りデータがマスタへと戻されるか、又は書き込みデータがスレーブによって受信されるかのいずれか)まで待つ。データのトランスミッタは、最初のビートが、0に設定されたEOBI値を伴った状態で、そのデータ伝送のシーケンスを開始する。したがって、送信されたこの最初のビートが受信された最初のビートであるならば、受信されたEOBI値が期待されたEOBI値と一致するかどうかについてのステップ46での決定は、合格するであろう。もし、受信されたEOBI値と期待されたEOBI値との間の不一致がステップ46において検出されるならば、エラー応答がステップ48において誘発されるであろう。このエラー応答は、上記で述べられるように、多種多様の形態を取ることができる。
ステップ46におけるEOBIの検査が合格すれば、データのビートは受け入れられ、ステップ50へと続いて、データのビートが最後のビートであるか否かが決定されるであろう。データのビートが最後のビートであるならば、プロセスは終了する。データのビートが最後のビートではないならば、ステップ52が、現在のEOBIの期待値が0であるかどうかを決定する。現在のEOBIの期待値が0であるならば、処理をステップ44に戻して受信される次のビートを待つ前に、ステップ54がこれを1へと反転させる。EOBIの期待値が、現在、0でないならば、処理をステップ44に戻してデータの次のビートを待つ前に、ステップ56がEOBIの期待値を0に設定するように機能する。
図5の処理はバースト書き込みやバースト読み取りなどのバースト転送に関連づけられることが理解されるであろう。そのようなバースト転送においては、単一の転送要求は、データの複数のビートによって追従される。データのこれらのビートは、バースト読み取りの場合には、読み取り応答トランザクションの、又、バースト書き込みの場合には書き込みデータ値のシーケンスに対応する。データのこれらのビートは、それらが送信され、その同じシーケンスで受信されるように仮定される、期待されたシーケンスを有する。もし、このシーケンスが変更されると、正しくないオペレーションになり得る。図5に関連して考察されるようなEOBI値の動作は、受信されるデータ・ビートのシーケンスが、EOBI値の正しい互い違いのシーケンスを有することを保証する。これは、ビートが反復されて、互い違いのシーケンスではなく同じEOBI値が互いに隣接して2回送信されるなどのエラーを検出する際に効果的である。このようにして誤った指示も、それが、EOBI値が互い違いになるという要件を依然として満たす誤った指示のビートという結果にならないものであれば、検出される可能性もある。
図2に関連して議論されたように、EOBIは、ECC生成機能に対する入力として含められ、それゆえに別々に送信されない可能性もある。EOBIは単一のビット(対して、マルチビットのUTIDフィールド)であるので、EOBIについてのエラーは、ECCコードによって検出される可能性の高い単一ビット・エラーである。それは、より簡単なパリティ・コードによって検出されることさえある(パリティについては、それは、データの異なるビートについての偶数パリティ検査と、奇数パリティ検査との間の切り替えを事実上意味している)。これは、信号をルーティングしないという利点を有する。(UTIDでは、エラーは、検出される可能性が低いマルチビット・エラーである可能性があるので、この手法は適切ではない可能性がある。しかしながら、UTIDからの単一ビットであれば、このやり方でECCに組み込まれ得る。SECDED ECCコードでは、サイドバンド・リターン・データの2ビット全体を取り除くことができる。)
図8は、トランザクション・スレーブ6によって実行される、そのスレーブに対する書き込みトランザクションの正しいルーティングを検査するための処理を概略的に示す流れ図である。トランザクション・プロトコルの特徴は、書き込みデータが、書き込みトランザクション要求の前に受信される可能性があることであるかもしれない。それにもかかわらず、図8に示される処理は、書き込みトランザクション要求が受信されるときと比較していつ(前に、同時に、又は後に)受信されるかにかかわらず、書き込みトランザクション要求の固有のトランザクション識別子がすべての受信された書き込みデータ・ビートの固有のトランザクション識別子と一致することを確認することができる。
ステップ58は、書き込みトランザクション要求が受信されているかどうかを決定する。もし、書き込みトランザクション要求が受信されているならば、処理は、任意の書き込みデータ・ビートがこれらの書き込みデータ・ビートに対応する書き込みトランザクション要求なしに既に受信されているか否かについての決定が行われるステップ59へと進む。ステップ59における決定が、既に受信されている書き込みデータ・ビートが存在していないということである場合は、処理は、書き込み要求受信データステップ58の固有のトランザクション識別子が保存されるステップ60へと進む。
ステップ59における決定が、いくつかの書き込みデータ・ビートが既に受信されているということである場合は、処理は、ステップ58において受信される書き込みトランザクション要求の固有のトランザクション識別子と、既に受信されている1つ又は複数のデータ・ビートの固有のトランザクション識別子との間の比較が行われるステップ61へと進む。これらが一致しない場合、ステップ62においてエラー応答が誘発され、処理が終了する。ステップ61における検査が、固有のトランザクション識別子が一致することを示すときは、処理は、ステップ58において受信された書き込みトランザクション要求についてのすべての書き込みデータ・ビートが受信されているか否かについての決定が行われるステップ63へと進む。もし、書き込みトランザクション要求についてのすべての書き込みデータ・ビートが既に受信されているならば、処理は終了する。
もし、ステップ63における決定が、書き込みデータ・ビートのすべてはまだ受信されていないということであるならば、又は書き込みトランザクション要求が受信されていないというステップ58における決定に続いている場合は、処理は、データ・ビートが受信されているか否かについての決定が行われるステップ54へと進む。データ・ビートが受信されていないならば、処理はステップ58へと戻る。ステップ64における決定が、データ・ビートが受信されているということであるならば、ステップ65において、書き込みトランザクション要求が既に受信されているか否かを決定する。書き込みトランザクション要求がまだ受信されていないならば、ステップ66は、それが受信されるときに、それが書き込みトランザクション要求と後で比較され得る(ステップ61を参照)ように、データ・ビートの固有のトランザクション識別子を保存する。ステップ66でのデータ・ビートの固有のトランザクション識別子の保存に続いて、処理はステップ58へと戻る。
ステップ65における決定が、書き込みトランザクション要求が既に受信されているということである場合、ステップ67が、受信されるデータ・ビートの固有のトランザクション識別子が以前に受信された書き込みトランザクション要求の固有のトランザクション識別子と一致するかどうかを決定する。一致しない場合、ステップ68がエラー応答を誘発し、処理が終了する。ステップ67における決定が、固有のトランザクション識別子が一致することを示す場合、ステップ69は、ステップ64において受信されたデータ・ビートが書き込みトランザクション要求のための最後のデータ・ビートであるかどうかを決定する役目をする。受信されたデータ・ビートが最後のデータ・ビートではない場合、処理はステップ64へと戻る。受信されたデータ・ビートが最後のデータ・ビートである場合、処理は終了する。
図9は、固有のトランザクション識別子の1つの例示の形態を概略的に示す。これは、システム内に存在するトランザクション・マスタのうちの所与のトランザクション・マスタに固有であるトランザクション・マスタ識別子の形での固有の識別子の値78を使用して形成されることができる。これは、固有のトランザクション識別子の接頭辞を形成する。固有のトランザクション識別子の接尾辞は、トランザクション・マスタ内で生成され、そのトランザクション・マスタによって発行される現在待ち状態のトランザクションの間で固有であるシーケンス番号80によって形成される。シーケンス番号が生成され得る1つの例示のやり方は、待ち状態のトランザクションのアドレスを保存するためのアドレス・バッファを含むトランザクション・マスタ内にある。アドレスが保存されるアドレス・バッファ内の位置は、そのアドレスに関連するトランザクションに対して固有なものであろう。したがって、アドレスのこのストレージ位置は、固有のトランザクション識別子のシーケンス番号部分(接尾辞)を形成するために再使用され得る。
トランザクション応答の制御検査データが比較される期待された値は、様々な異なる形態を取ることができ、例えば、それは、制御検査データに直接に対応していなくてもよいが、受信される制御検査データが、正しいパリティを有しているとか、期待されたハッシュ値を生成するなど、期待された制御検査データと少なくとも整合しているという検査が行われることを可能にする形式を有することができる。しかしながら、少なくともいくつかの例示の実施例においては、期待された値は所与のトランザクション・マスタによって発行されるトランザクションのトランザクション識別子を含むことができ、このトランザクション識別子は、その関連するトランザクションと一緒に相互接続回路を通して伝搬し、トランザクション応答が最初に送信されたトランザクション要求に対応するものであることを検査するためにトランザクション・マスタに反射されている。
いくつかの例示の実施例においては、伝送制御検査回路は、所与のトランザクション・マスタのためにトランザクション識別子を生成する役割を果たすトランザクション識別子ジェネレータを含むことができる。このようにして、且つトランザクション・マスタのその他の部分とは別に、別個のトランザクション識別子ジェネレータを提供することにより、もともとこの能力を考慮に入れて設計されていないトランザクション・マスタ、例えばレガシー・トランザクション・マスタに、相互接続回路内の制御エラーに対する本開示の追加の保護を提供することが簡略化される。
相互接続回路を通しての伝送の制御における誤動作に対する保護は、いくつかの例示の実施例において、トランザクション識別子が、待ち状態のトランザクションのために現在使用されているトランザクション識別子の間で固有の値を有する固有のトランザクション識別子であるように準備することにより改善されることがある。トランザクション識別子は、時間がたって再使用されることがあっても、複数のトランザクション応答がトランザクション識別子を共用する状況を回避することができ、それによって、トランザクション識別子の再使用のために正しくないトランザクション応答が期待されたデータと一致するとして不適切に識別される可能性を回避するよう、待ち状態のトランザクションの間で固有であるように制約され得る。
少なくともいくつかの例示の実施例においては、トランザクション識別子は、トランザクションに付随するサイドバンド信号の一部分又はすべてを形成することができる。相互接続回路は、サイドバンド信号内のトランザクション識別子とは独立して、トランザクションをルーティングするように構成され得る。サイドバンド信号(例えば、ユーザ・データ)への供給は、既存の相互接続回路プロトコル内で既に提供されているかもしれず、相互接続を通したトランザクションの伝送の制御におけるエラーを検出する目的のために使用することができる。
相互接続回路を通してのトランザクションの伝送の制御におけるエラーは、様々な異なる形態を取る得ることが、理解されるであろう。1つの例示の形態は、エラーにより、それが実際に戻される所与のトランザクション・マスタ以外のトランザクション・マスタを意図していたという、トランザクション応答に誤った指示を与えるという結果をもたらすことである。他の例示のエラーは、トランザクション応答の不適切な繰り返し送信、トランザクション応答の正しくない順序付け、又はトランザクション応答自体の内容とは異なる伝送の制御に関連した他のエラーであり得る。
トランザクション識別子は、1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタにとっての固有の識別子と、その所与のトランザクション・マスタによって発行されている同時に待ち状態にあるトランザクションのうちの固有の番号(例えば、シーケンス番号、又は1組の番号内の現在未使用の番号など)との組合せとしてトランザクション識別子を形成することにより、それが、少なくともいくつかの例示の実施例において、待ち状態のトランザクションの間で固有であることを保証するように形成され得る。所与のトランザクション・マスタにとっての固有の識別子は静的に構成されることがあり、固有の番号を強制することは、その番号の生成がその所与のトランザクション・マスタの制御の下にある可能性があるので、所与のトランザクション・マスタそれ自体によって実行され得る。
いくつかの実施例においては、所与のトランザクション・マスタは、待ち状態のトランザクションに関連するアドレスを保存するように構成されたアドレス・バッファを含むことができる。そのような実施例内では、待ち状態のトランザクションに対応するアドレスのアドレス・バッファ内のストレージ位置が、上記で説明されるようなトランザクション識別子の部分を形成するシーケンス番号を提供するように再使用され得る。アドレスがアドレス・バッファ内の固有の位置内に保存されることを保証するようにメカニズムが既に提供されており、したがって、この固有性の振る舞いは、トランザクション識別子の適切なシーケンス番号部分を生成し、それによってオーバーヘッドを節約するように、再使用され得る。
いくつかの例示の実施例においては、要求されるトランザクションは、所与のトランザクション・マスタに戻される複数のトランザクション応答からなる応答シーケンスという結果になり得、例えば、バースト読み取り又はバースト書き込みトランザクションは、その読み取り又は書き込みを遂行するために転送されているデータの複数のビートに終わる可能性がある。そのようなトランザクションについて発生し得る問題は、トランザクション応答の順序付けが、相互接続回路を通した伝送の制御におけるエラーによって不適切に変更される可能性があることである。したがって、いくつかの例示の実施例においては、制御検査データの期待されたデータとの一致が、応答シーケンス内での期待された次のトランザクション応答の受信を確認するために使用される。それゆえに、制御検査データと期待されたデータとは、これに従ってそれらが戻されることになる期待されたシーケンスに従って、トランザクション応答が受信されていることを追跡する。
少なくともいくつかの例示の実施例において使用され得るような検査を実装する1つのオーバーヘッドの低いやり方は、より一般的にはビート・シーケンス番号が使用されるかもしれない(これは、ビートごとに固有としてもよく、又は固有である可能性が高いシーケンス番号の関数、例えば、数え上げたり若しくはグレー・コードであるかもしれない)が、制御検査データが応答シーケンス内の各々の連続するトランザクション応答とともに値を交互させるビットを含むというものである。期待されたデータは、したがって、受信されるべき次の応答に期待されるビット値とすることができ、受信されたビット値が正しくない場合、これは、順序付けにおける不適切な変化、又は不適切な繰り返しデータ・ビートが起こったことを示す。ビートの順序付けを追跡するための単一ビットの使用は、低いオーバーヘッドを使用し、繰り返され、入れ替えられ、及び紛失したビートを検出し、単一エラー検出のエラー検出コードに組み込まれ得る。
本技法は、様々な異なるやり方で適用されて、相互接続回路を通して行われているトランザクションの異なる部分を保護することができることが理解されるであろう。少なくともいくつかの例示の実施例においては、トランザクションはデータ読み取りであり、トランザクション応答は読み取りデータを含んでいる。本技法は、この例において、戻される読み取りデータが、戻された読み取りデータが満たすべき候補である読み取り要求とともに送信される制御検査データに対応する制御検査データと関連づけられているということを検査する役目を果たすことができる。複数のデータ・ビートの場合には、トランザクション識別子は、これらのデータ・ビートに対応する複数のトランザクション応答の各々に関連づけられ得る。
本開示の少なくともいくつかの例示の実施例においては、トランザクションの伝送の制御におけるエラーの少なくとも検出を可能にする上記技法は、トランザクションの一部分として送信されるデータ自体(例えば、データ値、アドレス値、応答値など)の内部のエラーを検出しようとする技法によって伴われることがある。例えば、トランザクション応答は、エラー検出コード(例えば、ECCコード、パリティ・ビット、又はシグナル・インテグリティ保護を提供するための何らかの他の形態のコード)を含むことができ、回路は、エラー検出コードを使用してペイロード・データにおける少なくともいくつかのエラーを検出するエラー検出回路をさらに含んでいる。使用されるコードによっては、エラー検出コードは、追加として/オプションとして、少なくともいくつかの検出されたエラーを訂正することも可能にすることができる。制御検査データは、いくつかの例示の実施例においては、ペイロード・データを検査するために使用されることもあるエラー検出コードに組み合わせられ/含まれることもある。
実例となる実施例が、添付図面を参照して本明細書において詳細に説明されているが、特許請求の範囲は、これらの厳密な実施例だけに限定されないこと、及び様々な変更、追加、修正が、添付の特許請求の範囲の範囲及び趣旨を逸脱することなく、当業者によってその中で達成され得ることを理解すべきである。例えば、従属請求項の特徴の様々な組合せが、独立請求項の特徴とともになされる可能性がある。

Claims (24)

  1. 相互接続回路を経由して1つ又は複数のトランザクション・スレーブのうちの1つからペイロード・データと制御検査データとを含むトランザクション応答を受信するトランザクション応答レシーバと、
    制御検査回路であって、
    (i)前記トランザクション応答の受信に先立って、前記トランザクション応答に関連するトランザクションの伝送の正しい制御に対応する期待されたデータを保持し、
    (ii)前記トランザクション応答の受信に続いて、前記制御検査データが前記期待されたデータと一致するかを検査し、
    (iii)前記制御検査データが前記期待されたデータと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
    制御検査回路と
    を備える装置。
  2. 前記制御検査回路は、1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタに関連づけられ、前記期待されたデータは、前記所与のトランザクション・マスタによって発行されるトランザクションのトランザクション識別子を含む、請求項1に記載の装置。
  3. 前記所与のトランザクション・マスタについての前記トランザクション識別子を生成するトランザクション識別子ジェネレータを備える、請求項2に記載の装置。
  4. 前記トランザクション識別子は、待ち状態のトランザクションのために同時に使用されている固有のトランザクション識別子のうちの固有の値を有する固有のトランザクション識別子である、請求項2に記載の装置。
  5. 前記トランザクション識別子は、前記トランザクションに付随するサイドバンド信号の少なくとも一部分であり、前記相互接続回路は、前記トランザクション識別子に独立して前記トランザクションをルーティングするように構成されている、請求項2に記載の装置。
  6. (i)前記制御検査データが前記トランザクション識別子と一致するということは、前記所与のトランザクションに対する前記トランザクション応答のリターンに対応し、
    (ii)前記制御検査データが前記トランザクション識別子と一致しないということは、前記所与のトランザクション・マスタ以外のトランザクション・マスタを意図した、誤って向けられたトランザクション応答の受信に対応する、請求項2に記載の装置。
  7. 前記トランザクション識別子は
    (i)前記1つ又は複数のトランザクション・マスタのうちの前記所与のトランザクション・マスタのための固有の識別子の値と、
    (ii)同時に待ち状態にある、前記所与のトランザクション・マスタによって発行されたトランザクションの間に固有の番号と
    の組合せである、請求項2に記載の装置。
  8. 前記所与のトランザクション・マスタは、待ち状態のトランザクションに関連するアドレスをアドレス・バッファの複数のストレージ位置内に保存するための当該アドレス・バッファを含み、前記番号は、前記複数のストレージ位置のどれが、前記トランザクションに対応するアドレスを保存するかによって決定される、請求項7に記載の装置。
  9. 前記トランザクションは、前記所与のトランザクション・マスタに戻される複数のトランザクション応答からなる応答シーケンスに帰着する、請求項2に記載の装置。
  10. 前記制御検査データは、シーケンス検査データであり、前記制御検査データが前記期待されたデータと一致するということは、前記応答シーケンス内の期待された次のトランザクション応答の受信に対応する、請求項9に記載の装置。
  11. 前記制御検査データは、前記応答シーケンス内の各々の連続するトランザクション応答とともに値を交互させるビットを含む、請求項10に記載の装置。
  12. 前記トランザクションは、データ読み取りであり、前記トランザクション応答は、読み取りデータを含む、請求項1に記載の装置。
  13. 前記トランザクションは、前記所与のトランザクション・マスタに戻される複数のトランザクション応答からなる応答シーケンスに帰着し、前記トランザクション識別子は、前記複数のトランザクション応答の各々に関連づけられる、請求項2に記載の装置。
  14. 前記トランザクション応答は、エラー検出コードを含み、前記装置は、前記ペイロード・データの中の少なくともいくつかのエラーを検出するために前記エラー検出コードを使用するエラー検出回路をさらに備える、請求項1に記載の装置。
  15. 相互接続回路を経由して1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタから、検出されたエラーの報告と、これに対するアクションとを誘発するための制御検査データを含む読み取りトランザクション要求を受信するトランザクション要求レシーバと、
    前記トランザクション要求に対応し、且つ読み取りデータと前記制御検査データとを含む読み取りトランザクション応答を生成するトランザクション応答ジェネレータと、
    前記所与のトランザクション・マスタに前記トランザクション応答を送信するトランザクション応答トランスミッタと
    を備える装置。
  16. 相互接続回路を経由して1つ又は複数のトランザクション・マスタのうちの所与のトランザクション・マスタから要求制御検査データを含む書き込みトランザクション要求を受信するトランザクション要求レシーバと、
    書き込みデータ・レシーバであって、
    (i)書き込みデータ制御検査データを伴う書き込みデータを受信し、
    (ii)前記書き込みデータ制御検査データが前記要求制御検査データと一致することを検査することにより、前記書き込みデータが前記書き込みトランザクション要求に対応することを検査し、
    (iii)前記書き込みデータ制御検査データが前記要求制御検査データと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
    書き込みデータ・レシーバと
    を備える装置。
  17. 相互接続回路を経由してその各々がそれぞれのシーケンス検査データを含む書き込みデータ転送のシーケンスについての書き込みトランザクション要求を受信するトランザクション要求レシーバと、
    書き込みデータ・レシーバであって、
    (i)受信されたシーケンス検査データを伴う受信された書き込みデータ転送を受信し、
    (ii)前記受信されたシーケンス検査データが期待された次のシーケンス検査データと一致することを検査することにより、前記受信された書き込みデータ転送が次の期待された書き込みデータ転送に対応することを検査し、
    (iii)前記受信された書き込みデータ転送が前記次の期待された書き込みデータ転送と一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発する
    書き込みデータ・レシーバと
    を備える装置。
  18. 請求項1に記載の装置を備えるトランザクション・マスタ。
  19. 請求項15に記載の装置を備えるトランザクション・スレーブ。
  20. 請求項16に記載の装置を備えるトランザクション・スレーブ。
  21. 請求項17に記載の装置を備えるトランザクション・スレーブ。
  22. 1つ又は複数のトランザクション・スレーブに相互接続回路を経由して接続される1つ又は複数のトランザクション・マスタを備え、且つ請求項1に記載の装置を備える、データを処理するための装置。
  23. 相互接続回路を経由して1つ又は複数のトランザクション・スレーブのうちの1つからペイロード・データと制御検査データとを含むトランザクション応答を受信するためのトランザクション応答受信手段と、
    制御検査手段であって、
    (i)前記トランザクション応答の受信に先立って、前記トランザクション応答に関連するトランザクションの伝送の正しい制御に対応する期待されたデータを保持し、
    (ii)前記トランザクション応答の受信に続いて、前記制御検査データが前記期待されたデータと一致するかを検出し、
    (iii)前記制御検査データが前記期待されたデータと一致しない場合、検出されたエラーの報告と、それに対するアクションとを誘発する
    ための制御検査手段と
    を備える装置。
  24. 相互接続回路を経由して1つ又は複数のトランザクション・スレーブのうちの1つからペイロード・データと制御検査データとを含むトランザクション応答を受信するステップと、
    前記トランザクション応答の受信に先立って、前記トランザクション応答に関連するトランザクションの伝送の正しい制御に対応する期待されたデータを保持するステップと、
    前記トランザクション応答の受信に続いて、前記制御検査データが前記期待されたデータと一致するかを検出するステップと、
    前記制御検査データが前記期待されたデータと一致しない場合、検出されたエラーの報告と、これに対するアクションとを誘発するステップと
    を含む方法。
JP2015155998A 2014-08-14 2015-08-06 相互接続回路のための伝送制御検査 Active JP6244338B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1414417.4A GB2529217A (en) 2014-08-14 2014-08-14 Transmission control checking for interconnect circuitry
GB1414417.4 2014-08-14

Publications (2)

Publication Number Publication Date
JP2016042355A JP2016042355A (ja) 2016-03-31
JP6244338B2 true JP6244338B2 (ja) 2017-12-06

Family

ID=51662407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015155998A Active JP6244338B2 (ja) 2014-08-14 2015-08-06 相互接続回路のための伝送制御検査

Country Status (5)

Country Link
US (1) US9880898B2 (ja)
EP (1) EP2985937B1 (ja)
JP (1) JP6244338B2 (ja)
CN (1) CN105373441B (ja)
GB (1) GB2529217A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127074B2 (en) * 2017-01-27 2018-11-13 Futurewei Technologies, Inc. Transaction identification synchronization
KR102427324B1 (ko) 2017-07-25 2022-07-29 삼성전자주식회사 3차원 반도체 메모리 장치
US20210117359A1 (en) * 2020-12-24 2021-04-22 Krishna Kumar Nagar User Signals for Data Transmission Over a Bus Interface Protocol
CN112613993B (zh) * 2020-12-26 2022-08-12 中电金信软件有限公司 交易数据处理方法、装置、计算机设备和存储介质
CN112506747B (zh) * 2021-02-03 2021-05-18 腾讯科技(深圳)有限公司 一种业务进程监控方法、装置、电子设备及存储介质
DE102021106379A1 (de) * 2021-03-16 2022-09-22 Infineon Technologies Ag Master, Slave, Master-Slave-Kommunikations-System, On-Chip-Interconnect-System, Verfahren zum Betreiben eines Masters, Verfahren zum Betreiben eines Slaves, Verfahren zum Betreiben eines Master-Slave-Kommunikations-Systems und Verfahren zum Betreiben eines On-Chip-Interconnect-Systems
US20220391524A1 (en) * 2021-06-07 2022-12-08 Infineon Technologies Ag Interconnection of protected information between components
US11847077B2 (en) 2021-12-06 2023-12-19 Himax Technologies Limited Serial peripheral interface integrated circuit and operation method thereof

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061772A (en) * 1997-06-30 2000-05-09 Sun Microsystems, Inc. Split write data processing mechanism for memory controllers utilizing inactive periods during write data processing for other transactions
US6604159B1 (en) * 1999-08-12 2003-08-05 Mips Technologies, Inc. Data release to reduce latency in on-chip system bus
US6487679B1 (en) * 1999-11-09 2002-11-26 International Business Machines Corporation Error recovery mechanism for a high-performance interconnect
US6530043B1 (en) * 2000-03-09 2003-03-04 International Business Machines Corporation Write data error checking in a PCI Bus system
US20030018828A1 (en) * 2001-06-29 2003-01-23 International Business Machines Corporation Infiniband mixed semantic ethernet I/O path
US7007119B2 (en) * 2001-09-28 2006-02-28 Intel Corporation System and method for supporting split transactions on a bus
US6915446B2 (en) * 2001-09-29 2005-07-05 Hewlett-Packard Development Company, L.P. Supporting error correction and improving error detection dynamically on the PCI-X bus
US7599888B2 (en) * 2001-11-14 2009-10-06 First Data Corporation Electronic confirmation to debit or credit an account
US7877435B2 (en) * 2002-06-20 2011-01-25 International Business Machines Corporation Method and system for transaction pipeline decomposition
EP1376356A1 (en) * 2002-06-26 2004-01-02 Fujitsu Siemens Computers, LLC Error reporting network in multiprocessor computer
US7447810B2 (en) * 2004-10-28 2008-11-04 Intel Corporation Implementing bufferless Direct Memory Access (DMA) controllers using split transactions
US7523342B1 (en) * 2005-10-28 2009-04-21 Sun Microsystems, Inc. Data and control integrity for transactions in a computer system
JP2007223225A (ja) * 2006-02-24 2007-09-06 Ricoh Co Ltd 画像処理装置
US8644305B2 (en) * 2007-01-22 2014-02-04 Synopsys Inc. Method and system for modeling a bus for a system design incorporating one or more programmable processors
US8201134B2 (en) * 2008-01-08 2012-06-12 International Business Machines Corporation Method to avoid malconnections with respect to voltage levels of electronic components of circuit boards during circuit board design
EP2146465A1 (en) * 2008-07-15 2010-01-20 Deutsche Thomson OHG A method for managing data transmission according to a quality of service in a network assembly and a computer network system
JP2010211347A (ja) * 2009-03-09 2010-09-24 Renesas Electronics Corp 情報処理装置及びエラー検出方法
JP2010250665A (ja) * 2009-04-17 2010-11-04 Toshiba Corp PCIExpressのTLP処理回路、及びこれを備える中継デバイス
US8363487B2 (en) * 2009-06-04 2013-01-29 International Business Machines Corporation Method, system, computer program product, and data processing device for monitoring memory circuits and corresponding integrated circuit
US9152489B2 (en) * 2009-12-29 2015-10-06 Cleversafe, Inc. Revision synchronization of a dispersed storage network
US8656078B2 (en) * 2011-05-09 2014-02-18 Arm Limited Transaction identifier expansion circuitry and method of operation of such circuitry
CN102184133A (zh) * 2011-05-12 2011-09-14 哈尔滨工业大学 承载银行中间业务仿真模型的负载发生服务器
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
EP2901294A4 (en) * 2012-09-25 2016-08-10 Qualcomm Technologies Inc PROTOCOL FOR A SOCKET WITH A NETWORK ON A CHIP
US9170956B2 (en) * 2013-02-07 2015-10-27 Texas Instruments Incorporated System and method for virtual hardware memory protection

Also Published As

Publication number Publication date
GB201414417D0 (en) 2014-10-01
US20160048423A1 (en) 2016-02-18
CN105373441A (zh) 2016-03-02
EP2985937A1 (en) 2016-02-17
EP2985937B1 (en) 2019-05-22
CN105373441B (zh) 2020-06-30
GB2529217A (en) 2016-02-17
JP2016042355A (ja) 2016-03-31
US9880898B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
JP6244338B2 (ja) 相互接続回路のための伝送制御検査
US7676617B2 (en) Posted memory write verification
EP1224548B1 (en) System and method improving fault isolation and diagnosis in computers
WO2010119695A1 (ja) PCI ExpressのTLP処理回路、及びこれを備える中継デバイス
US11663100B2 (en) Serial interface with improved diagnostic coverage
JP2015136104A5 (ja)
BR112017000097B1 (pt) Métodos de geração de mensagens vitais implementado por computador em um sistema de bordo de um veículo, sistemas para gerar mensagens vitais e aparelho para gerar mensagens vitais em um sistema
US7543220B2 (en) Control method for error detection & correction apparatus, error detection & correction apparatus, and computer-readable storage medium storing control program for error detection & correction apparatus
JP5322433B2 (ja) 処理システムにおけるデータ処理中のエラー検知方法および制御システム
US9288161B2 (en) Verifying the functionality of an integrated circuit
JP4954249B2 (ja) 電子端末装置及び電子連動装置
JP2012235335A (ja) 装置間ケーブルの誤接続検出方法及び装置
KR101623305B1 (ko) 정보 검사 장치 및 방법과 정보 검사 장치를 포함하는 정보 처리 시스템
US7661056B2 (en) Circuit arrangement for processing data
JP2018072967A (ja) 制御システム
JP5680434B2 (ja) Pciバス制御システム
Creech Black Channel Communication: What Is It and How Does It Work?
JP2009042855A (ja) 回路間データ転送方法およびシステム
JPH08167886A (ja) データ伝送路のデータ誤り検出装置
JP2005250551A (ja) ディスクアレイ装置、転送データ制御方法
US20150242534A1 (en) Communication apparatus, and cam failure diagnosis method
JP2006065394A (ja) 障害検出装置
JPH1115698A (ja) 障害通知方法および障害通知機構
JPH04134537A (ja) パリティ生成二重化回路
JP2002374230A (ja) 誤り検出装置および誤り検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171113

R150 Certificate of patent or registration of utility model

Ref document number: 6244338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250