JP4894854B2 - データ送信装置、データ送受信システム及びデータ送受信システムの制御方法 - Google Patents

データ送信装置、データ送受信システム及びデータ送受信システムの制御方法 Download PDF

Info

Publication number
JP4894854B2
JP4894854B2 JP2008501590A JP2008501590A JP4894854B2 JP 4894854 B2 JP4894854 B2 JP 4894854B2 JP 2008501590 A JP2008501590 A JP 2008501590A JP 2008501590 A JP2008501590 A JP 2008501590A JP 4894854 B2 JP4894854 B2 JP 4894854B2
Authority
JP
Japan
Prior art keywords
bit
data
transmission
error
receiving device
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.)
Expired - Fee Related
Application number
JP2008501590A
Other languages
English (en)
Other versions
JPWO2007097040A1 (ja
Inventor
秀之 海野
昌樹 鵜飼
直純 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2007097040A1 publication Critical patent/JPWO2007097040A1/ja
Application granted granted Critical
Publication of JP4894854B2 publication Critical patent/JP4894854B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4915Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using pattern inversion or substitution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、情報処理技術に関し、たとえば、情報処理装置の開発工程や保守工程等におけるデバッグや性能測定等に適用して有効な技術に関する。
たとえば、情報処理装置の開発や保守工程では、異常動作や障害の原因究明、あるいは性能向上等のためのデバッグを行う必要がある。
このため、システムを構成する複数のデバイス内に動作履歴を記録する履歴メモリを設け、外部から個々のデバイスに対して一斉に動作履歴の記録開始、記録停止を指示することで、障害が発生した前後の特定期間内の動作履歴を個々のデバイス内に記録させ、外部に読み出して原因解析に利用することが考えられる。
また、動作履歴として、個々のデバイス内における特定期間内のデータ転送量や特定の命令の実行回数を履歴メモリに記録させることで、性能測定を行うことも考えられる。
このように、デバッグ等において、外部から個々のデバイスに対して各種動作タイミング等の指示を与える方法として、従来においては、専用信号線(ワイア)を設けることが行われていた。
その理由は、通常稼働時の動作に擾乱を加えることなく、履歴メモリ等のハードウェアのデバッグ機能を用いることができ、実際の稼働状態を反映した正確な障害解析が可能になるためである。
しかし、デバイスを構成する半導体装置の集積密度が向上し、デバイス間の信号線の実装コストが相対的に大きくなり、かつ、増大しつづけている今日においては、通常運用では全く用いられないデバッグ専用の信号線をデバイス間に設置するコストは無視できなくなっている。
この対策として、デバッグ専用の信号線を設ける代わりに、デバッグ機能を制御するための制御コマンドを追加することも考えられるが、この制御コマンドの実行のために、システムの通常の運用動作に擾乱が加わり、高度に動作タイミングに依存するようなシステム挙動を解析したい場合には、不利になる。
本発明の目的は、コスト増大を生じることなく、ハードウェアのデバッグ機能を用いた的確なデバッグを実現することが可能な技術を提供することにある。
本発明の他の目的は、余分な専用信号線等のハードウェアを必要とすることなく、高度に動作タイミングに依存するようなシステム挙動のデバッグを実現することが可能な技術を提供することにある。
本発明の第1の観点は、エラー検出およびエラー訂正のための冗長ビットを付加することで保護された情報伝送路を介して第1装置と第2装置を接続する第1ステップと、
前記冗長ビットを意図的に操作することで、第1装置から第2装置への情報伝達を行う第2ステップと、
を含む情報処理装置の制御方法を提供する。
本発明の第2の観点は、第1の観点に記載の情報処理装置の制御方法において、
前記第2ステップでは、前記第1および第2装置に対して、通常稼働時とは異なる特定動作モードを設定した後に、前記冗長ビットの操作を行う情報処理装置の制御方法を提供する。
本発明の第3の観点は、第1の観点に記載の情報処理装置の制御方法において、
前記第2ステップでは、
送信側の前記第1装置は、前記エラー訂正が可能な範囲で前記冗長ビットを操作し、
受信側の前記第2装置は、前記冗長ビットに前記エラー検出が検出された時、当該エラー検出を前記情報伝達と認識するとともに、前記エラー訂正を実行する情報処理装置の制御方法を提供する。
本発明の第4の観点は、第1の観点に記載の情報処理装置の制御方法において、
前記第2ステップでは、複数の前記冗長ビットの各々に異なる情報を割り当てて擬似的な訂正可能エラーを発生させ、前記冗長ビットにおけるエラービットの位置認識結果に基づいて前記情報伝達を実現する情報処理装置の制御方法を提供する。
本発明の第5の観点は、第1の観点に記載の情報処理装置の制御方法において、
前記第2ステップでは、デバッグまたは性能測定用の情報伝達を行う情報処理装置の制御方法を提供する。
本発明の第6の観点は、エラー検出およびエラー訂正のための冗長ビットを付加することで保護された情報伝送路を介して第1装置と第2装置を接続した構成の情報処理装置であって、
前記冗長ビットを意図的に操作することで、第1装置から第2装置への特定情報の伝達を行う情報伝達手段を含む情報処理装置を提供する。
本発明の第7の観点は、第6の観点に記載の情報処理装置において、
前記情報伝達手段は、
送信側の前記第1または第2装置において複数の前記冗長ビットの各々に異なる前記特定情報を割り当てて擬似的な訂正可能エラーを発生させ、
受信側の前記第2または第1装置において前記冗長ビットにおけるエラービットの位置認識結果に基づいて前記特定情報を実現する情報処理装置を提供する。
本発明の第8の観点は、第6の観点に記載の情報処理装置において、
前記情報伝達手段は、前記情報処理装置における通常稼働時とは異なる特定動作モードを認識する機能を備え、前記特定動作モードにおいて、前記冗長ビットの操作による前記特定情報の伝達が行われる情報処理装置を提供する。
本発明の第9の観点は、第6の観点に記載の情報処理装置において、
前記情報伝達手段は、
送信側の前記第1および/または第2装置に配置され、前記特定情報に応じて前記冗長ビットを操作する冗長ビット操作手段と、
受信側の前記第2および/または第1装置に配置され、前記冗長ビットを参照して得られた前記エラー検出の報告に基づいて前記特定情報を受信する判定手段と、
を含む情報処理装置を提供する。
本発明の第10の観点は、第6の観点に記載の情報処理装置において、
前記情報伝達手段の送信側では前記エラー訂正が可能な範囲で前記冗長ビットを操作し、
前記情報伝達手段の受信側では、前記冗長ビットに前記エラー検出が検出された時、当該エラー検出を前記特定情報と認識するとともに、前記エラー訂正を実行する情報処理装置を提供する。
本発明の第11の観点は、第6の観点に記載の情報処理装置において、
前記特定情報は、デバッグまたは性能測定用のコマンドである情報処理装置を提供する。
一般に、情報処理装置では、複数のデバイス間を接続するバス等の情報伝送路は、ECC等の冗長ビットを設けることで伝送データの信頼性の向上が図られている。
本発明では、このECC等の冗長ビットの信号線を利用してデバイス間の情報の伝達を実現する。この冗長ビットの信号線は通常のバスに備わっているので、デバッグ専用の信号線を設ける必要がなくなり、デバッグ関係の機能の製造コストを削減することが可能になる。
たとえば、データの送信側において、このECC(Error Correction Code)用の冗長ビットを操作して疑似的な訂正可能エラー(CE: Correctable Error)を発生させる。データの受信側では、この冗長ビットにおける訂正可能エラーの検出と、エラービットの位置情報に基づいて受信情報を認識する。
冗長ビットを操作して訂正可能エラーを発生させるだけなので、本来の伝送データや伝送タイミング等には全く影響しない。すなわち、システムの通常の稼働状態に擾乱を加えることなく、冗長ビットの操作によって、個々のデバイスに備えられたデバッグ機能を制御することが可能になる。
特に、高度にタイミングに依存するシステム挙動の解析においても正確な解析を行うことが可能になる。
近年のバスの信頼性は高く、デバッグ等の短期間では、実際のデータエラーは発生しにくい、と考えられるので、ECC等の冗長ビットを操作することによる情報伝達は可能である。
また、必要に応じて、デバッグ中であることを示す特定動作モードを設定し、この動作モードと、冗長ビットの操作とを併用して、当該冗長ビットを用いた上述の情報伝達を行うようにしてもよい。
本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理装置の構成例を示すブロック図である。 本発明の一実施の形態である情報処理装置の一部を取り出して例示した概念図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムの構成の一例を示す概念図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムにおけるECCビットと伝達信号の割り当て例を示す説明図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムにおけるデバッグリクエスト用のパケットの一例を示す概念図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムにおけるデバッグオーダ用のパケットの一例を示す概念図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムの動作の一例を示すシーケンス図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムの動作の一例を示す概念図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムの動作の一例を示すシーケンス図である。 本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理システムの動作の一例を示すシーケンス図である。
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施の形態である情報処理装置の制御方法を実施する情報処理装置の構成例を示すブロック図であり、図2は、本実施の形態の情報処理装置の一部を取り出して例示した概念図である。
図1に例示されるように、本実施の形態の情報処理装置は、送信側装置10と受信側装置20で構成されている。
送信側装置10と受信側装置20との間にはバス30が設けられており、このバス30を用いて送信側装置10から受信側装置20へとデータ転送が行われる。
バス30は、TAGビット31、データビット32の他に、これらをエラーから保護するための冗長なECCビット33を含んでいる。
たとえば、TAGビット31が3ビット、データビット32が24ビットの場合、ECCビット33として7ビットが設けられる。
また、TAGビット31が3ビット、データビット32が40ビットの場合、ECCビット33として7ビットが設けられる。
このいずれの場合も、バス30(この場合、34ビットまたは50ビット)の1ビットエラーはエラー位置を特定できる。従ってエラー訂正が可能である。
2ビットエラーは、検出は可能であるが訂正はできない。
送信側装置10には、パケット生成器12が設けられている。このパケット生成器12は、データビット32に対応した所定のビットパターンと、TAGビット31に対応したビットからなるパケットを生成する機能を備えている。また、送信側装置10は、このTAGビット31およびデータビット32からなるパケットデータを保護するためのECCビット33の値を計算して設定する機能を備えている。
受信側装置20には、エラー検出・訂正回路22が設けられている。このエラー検出・訂正回路22は、TAGビット31およびデータビット32と、冗長なECCビット33を用いて、バス30の各ビットにおけるエラーの有無を検出する機能、および当該エラーを訂正する機能を備えている。
すなわち、バス30のTAGビット31、データビット32、ECCビット33の各々が上述のようなビット構成の場合、これらのいずれか1ビットにエラー(ビット反転)が発生した場合には、当該エラービットの位置を特定できるとともに、エラー訂正が可能である。
本実施の形態の場合には、このバス30におけるエラー検出、訂正機能を利用して、冗長なECCビット33のいずれか1ビットを意図的に反転させることで、送信側装置10と受信側装置20との間における情報伝達を実現する。
すなわち、本実施の形態の場合、送信側装置10の側には、情報を送信するための冗長ビット反転回路14が設けられている。また、受信側装置20には、情報を受信(認識)するための判定回路24が設けられている。
本実施の形態の場合、この冗長ビット反転回路14は、たとえば、ECCビット33のうち、2ビットの各々を操作する機能を備えている。
すなわち、本実施の形態では、ECCビット33の2ビットを用いて、2種類の信号(この場合、トリガ信号41、またはトリガ信号42)を、送信側装置10から受信側装置20の側に伝達する。
なお、このECCビット33のエラーが、情報伝達のための疑似エラーであることを識別するための、Factory_mode信号43が、送信側装置10の冗長ビット反転回路14と、受信側装置20の判定回路24に入力される。
なお、Factory_mode信号43は、必ずしも必要ではない。すなわち、近年のバス30の信頼性は高いので、デバッグ時等の比較的短い期間では、バス30にほとんどエラーが発生しないと考えられるので、ECCビット33のビットエラーの有無のみの判定でも、ECCビット33を利用した情報伝達は可能である。
本実施の形態では、ECCビット33を用いた情報伝達をより確実にするために、Factory_mode信号43を設けている。
図2は、この冗長ビット反転回路14の構成例を示している。冗長ビット反転回路14は、複数のXOR回路14a、XOR回路14bと、各々に対応した複数の論理積回路14c、論理積回路14dを含んでいる。
この場合、XOR回路14aは、ECCビット33のECC[0]〜[6]のビット線のうち、ECC[0]に配置されている。
そして、対応する論理積回路14cからの入力と、ECC[0]の論理状態の排他的論理和を演算することで、論理積回路14cからの入力が真(“1”)の場合に、ECC[0]の論理状態を、“0”から“1”、または“1”から“0”に反転させる。
同様に、XOR回路14bは、ECC[1]のビット線に配置され、対応する論理積回路14dから入力が真(“1”)の場合に、ECC[1]の論理状態を反転させる。
論理積回路14cは、Factory_mode信号43と、伝達情報であるトリガ信号41との論理積をXOR回路14aに入力する。
同様に、論理積回路14dは、Factory_mode信号43と、トリガ信号42との論理積をXOR回路14bに入力する。
一方、受信側装置20には、冗長ビット反転回路14を介してECCビット33に送信された情報を認識するための判定回路24が設けられている。
この判定回路24は、エラー検出・訂正回路22から入力されるエラー報告信号26に基づいて、冗長ビット反転回路14(送信側装置10)の側から送信された情報を認識する。
すなわち、エラー報告信号26に含まれる、ECCビット33におけるエラービットの検出位置と、Factory_mode信号43とに基づいて、Factory_mode信号43が真(“1”)の期間中における、トリガ信号41、トリガ信号42の各々の送信側装置10からの送信の有無を判別する。
ただし、上述のようにFactory_mode信号43は、必須ではない。バス30の信頼性が高い場合は、比較的短期間ではほとんどバス30にエラーは発生しないので、ECCビット33における特定ビットのエラーの有無の監視のみでも、トリガ信号41やトリガ信号42を受信することは可能である。
以下、図1の本実施の形態の作用の一例を説明する。
送信側装置10では、受信側装置20に伝達するための情報を、TAGビット31およびデータビット32を用いるパケットにて、エラー検出・訂正回路22の側に送信する。この時、TAGビット31とデータビット32のビット状態に応じて、エラー検出/訂正のためのECCビット33のビットも適切に設定される。
このパケットを受信する受信側装置20の側では、エラー検出・訂正回路22において、エラー検出、訂正を行うことで、バス30(パケット)の信頼性を確保する。
ここで、ECCビット33を用いた情報伝達を行う場合、まず、送信側装置10の冗長ビット反転回路14、および受信側装置20の判定回路24の各々に、真(“1”)のFactory_mode信号43を入力する。
そして、送信側装置10の側では、必要に応じて、トリガ信号41またはトリガ信号42を“1”にすることで、ECCビット33の対応するビットを反転させ、疑似訂正可能エラーとして、当該トリガ信号41またはトリガ信号42を受信側装置20の側に送信する。
受信側装置20の側では、冗長ビット反転回路14による疑似訂正可能エラーがエラー検出・訂正回路22によって検出されて訂正されるとともに、ECCビット33のエラービット位置がエラー報告信号26として判定回路24に入力される。
このエラー報告信号26が入力された判定回路24は、ECCビット33における報告されたビット位置から、トリガ信号41またはトリガ信号42の受信を認識し、図示しない他の回路に伝達する。
このように、本実施の形態の場合には、バス30におけるTAGビット31、データビット32等の伝送情報の保護のために設けられているECCビット33を利用することで、専用の信号線等を設けることなく、送信側装置10と受信側装置20との間でトリガ信号41、トリガ信号42の情報伝達が可能である。
また、エラー検出・訂正回路22におけるECCビット33の、冗長ビット反転回路14による疑似訂正可能エラーの検出および訂正動作は、通常のエラー検出、訂正と同様のプロセスで行われるため、バス30におけるTAGビット31、データビット32のデータ送信状態には、全く影響しない。
従って、たとえば、TAGビット31、データビット32の伝送タイミングに高度に依存するような処理においても、TAGビット31、データビット32に擾乱を与えることなく、送信側装置10から受信側装置20へのトリガ信号41またはトリガ信号42の伝達が可能である。
このようなECCビット33を利用した本実施の形態の情報伝達技術を、情報処理システムのデバッグに適用する場合について、さらに詳細に説明する。
図3は、本実施の形態の情報処理装置の制御方法を実施する情報処理システムの構成の一例を示す概念図である。
図3に例示される情報処理システム100は、複数のCPUノード110、複数のシステムコントローラ120、主記憶130、入出力機器140を含んでいる。
個々のCPUノード110とシステムコントローラ120の間には、CPUノード110からシステムコントローラ120への情報転送を行うバス30(SCREQ_BUS30−1)と、システムコントローラ120からCPUノード110への情報転送を行うバス30(SCODR_BUS30−2)が設けられている。
互いに情報の転送方向が逆なSCREQ_BUS30−1とSCODR_BUS30−2の各々に対応して、CPUノード110とシステムコントローラ120の各々には送信側装置10および受信側装置20が設けられている。
この送信側装置10、受信側装置20、バス30は、上述の図1に例示した構成を有する。
個々のCPUノード110は、一つまたは複数のCPUコア112、キャッシュメモリ114、システムバス制御部116、履歴メモリ118を含んでいる。
CPUコア112は、レジスタ記憶や演算器、制御器を備え、演算処理や制御を行う。
キャッシュメモリ114は、CPUコア112とシステムバス制御部116との間で授受される情報を一時的に記憶する。
システムバス制御部116は、上述のように、送信側装置10、受信側装置20をそなえており、SCREQ_BUS30−1、SCODR_BUS30−2、システムコントローラ120を介して、主記憶130、入出力機器140との間における情報の授受を行う。
履歴メモリ118は、CPUノード110における各部の動作履歴をエンドレスに記憶する。すなわち、履歴メモリ118には、当該履歴メモリ118の記憶容量に応じた時間分だけ、CPUノード110内の各部の動作履歴を記憶する。
一方、個々のシステムコントローラ120は、システム制御論理122、システムバス制御部124、履歴メモリ126を含んでいる。
システム制御論理122は、システムコントローラ120の全体を制御し、CPUノード110から主記憶130や入出力機器140に対するアクセス要求を処理する。
システムバス制御部124は、上述のように、送信側装置10、受信側装置20を備えており、SCREQ_BUS30−1、SCODR_BUS30−2を介して、CPUノード110との間における情報の授受を制御する。
図4は、この情報処理システム100において、ECCビット33の操作によって伝達されるトリガ信号41、トリガ信号42の割り当て例を示す概念図である。
CPUノード110からシステムコントローラ120への情報転送を行うSCREQ_BUS30−1においては、トリガ信号41、トリガ信号42として、TRAP1、TRAP2が割り当てられている。
システムコントローラ120からCPUノード110への情報転送を行うSCODR_BUS30−2では、トリガ信号41、トリガ信号42として、HIS_FRZ、HIS_RLS、およびSTART、STOPが割り当てられている。
本実施の形態の情報処理システム100では、通常運用時には、デバッグ機能の制御のために図5および図6に例示されるような、デバッグパケットを用いることができる。
Factory_mode信号43が有効(“1”)の時のみ、ECCビット33のビット反転によって、CPUノード110とシステムコントローラ120との間の通信を行う。ECCビット33を用いて同時に発生する通信事象はひとつである。これは、疑似的な訂正可能エラー(CE)を用いるためである。
上述のように、個々のCPUノード110は、ひとつ以上のシステムコントローラ120とECC保護されたバス30で接続されている。
本実施の形態においては、CPUノード110からシステムコントローラ120への転送方向のバス30(SCREQ_BUS30−1)では、TAGビット31が3bit、データビット32が24bit、ECCビット33が7bitからなる。
システムコントローラ120からCPUノード110への転送方向のバス30(SCODR_BUS30−2)では、TAGビット31が3bit、データビット32が40bit、ECCビット33が7bitからなる。
SCREQ_BUS30−1、SCODR_BUS30−2のいずれもECCビット33で保護されており、任意の1bitエラーは、エラー位置を特定できる。したがって、エラーの訂正が可能である。2bitエラーは検出が可能であるが、訂正はできない。
通常モード(通常運用時)における、デバッグ機能の起動信号として、本実施の形態では、図5に例示されるデバッグリクエストパケット201、および図6に例示されるデバッグオーダパケット202を有する。
図5のデバッグリクエストパケット201は、CPUノード110からシステムコントローラ120へのデバッグ機能起動に用いられる。
SCREQ_BUS30−1における24ビット幅のSCREQ_BUS[23:0]において、SCREQ_BUS[22]〜[16]に7ビット幅のデバッグリクエストの命令コードが設定され、SCREQ_BUS[6]、[7]の各ビットに、TRAP2、TRAP1の起動信号が割り当てられている。
図6のデバッグオーダパケット202は、システムコントローラ120からCPUノード110へのデバッグ機能起動に用いられる。
SCODR_BUS30−2における0〜39の40ビット幅のSCODR_BUS[39:0]において、SCREQ_BUS[38]〜[32]に7ビット幅のデバッグオーダの命令コードが設定され、SCREQ_BUS[21]、[20]、[19]、[18]、の各ビットに、HIS_FRZ、HIS_RLS、START、STOP、の各起動信号が割り当てられている。
ここで、HIS_FRZは、履歴メモリ118、履歴メモリ126等のハードウェアにおける履歴データのフリーズ指示である。このフリーズ指示により、履歴メモリ118、履歴メモリ126への書き込みが停止され、その時点までの履歴データが上書きされて失われることなく、保存される。
HIS_RLSは、履歴メモリ118、履歴メモリ126等に対するリリース指示であり、このリリース指示により、履歴メモリ118、履歴メモリ126への履歴データの書き込みが再開される。
STARTは、性能測定用制御信号であり、たとえば特定の命令等の実行回数の測定開始契機をデバッグ用の図示しないハードウェアに指示する。
STOPは、同じく性能測定用制御信号であり、測定停止契機をデバッグ用の図示しないハードウェアに指示する。
いずれも、ソフトウェアを変更することなく、CPUノード110やシステムコントローラ120のハードウェアに設けられた調査用のデバッグ装置を制御するための信号である。
ところで、上述のように、これらの信号の送出のために、専用のデバッグリクエストパケット201、デバッグオーダパケット202等を用いる場合には、当該パケットによって情報処理システム100の動作に擾乱が加わる懸念がある。
これは、高度にタイミングに依存するような情報処理システム100の挙動を調査したい場合には問題となる。
そこで、本実施の形態では、上述のように、TRAP1、TRAP2、HIS_FRZ、HIS_RLS、START、STOP等のデバッグ信号を、既存のECCビット33を操作することによって実現する。
すなわち、本実施の形態では、たとえば、工場での情報処理システム100の開発工程や保守における調査専用モード(Factory_mode信号43)を設け、このモード時に限り、デバッグ信号の授受にECCビット33を用いる。
これにより、SCREQ_BUS30−1、SCODR_BUS30−2におけるデータビット32を用いた通常運用系のパケット転送に干渉することなく、CPUノード110とシステムコントローラ120との間で、デバッグ機能のトリガ信号を授受することが可能となる。
Factory_mode信号43の設定時において、ECCビット33を用いて転送される信号と、用いられるチェックビットは、上述の図4に例示した通りである。
転送元のCPUノード110またはシステムコントローラ120は、上記のトリガ信号を送出する際には、送信側装置10の冗長ビット反転回路14においてECCビット33の該当するビットを反転させる。
すなわち、バス30上で故意に訂正可能エラーを発生させることにより、トリガの発生を通知する。
バス30上のECCビット33は転送状況に関わらず(アイドル時も含めて)有効であるため、任意のタイミングでトリガ信号の転送が可能である。ただし、2つのトリガを同時に転送することは原理的に出来ない。
受信側のシステムコントローラ120またはCPUノード110における受信側装置20においては、エラー検出・訂正回路22によって訂正可能エラーを検出し、かつ、誤りビット位置がトリガ転送用のビットであった場合には、判定回路24において、トリガ信号を受信したものと解釈する。このとき、上位のシステム制御論理122等に対する訂正可能エラー検出の報告は抑止される必要がある。
ECCビット33において、トリガ信号の転送に用いられないビットの誤りは、通常通り訂正されるとともに、システム制御論理122等に対してエラー報告が行われる。
図7のシーケンス図を参照して、ECCビット33の操作によって伝達されるデバッグ用のトリガ信号を用いた処理の一例を説明する。
まず、履歴情報読み出し処理300について説明する。情報処理システム100に、内部的な要因でなんらかの障害が発生する場合、CPUノード110、システムコントローラ120等の各ハードウェアにおける障害発生時およびその前後における動作履歴を、履歴メモリ118、履歴メモリ126等から読み出して原因を解析したい場合がある。
ただし、上述のように、履歴メモリ118、履歴メモリ126では、限られた記憶領域を上書きしながらエンドレスで履歴情報を記録するため、適宜、書き込み(上書き)を停止させる必要がある。また、用済み後は、履歴メモリ118、履歴メモリ126等における記録動作を再開させる必要がある。
本実施の形態では、このような、履歴メモリ118、履歴メモリ126の制御を以下のようにして実現する。
Factory_mode信号43が真の状態で、たとえば、一つのCPUノード110(CPU0)でエラーが検出されると(ステップ301)、当該CPUノード110は、SCREQ_BUS30−1のECCビット33(ECC[0])を反転操作して、システムコントローラ120に対して、TRAP1を通知する(ステップ302)。
このTRAP1を、受信側装置20の判定回路24で認識したシステムコントローラ120は、全てのCPUノード110(CPU0、CPUn)に対して、SCODR_BUS30−2のECCビット33のECC[0]を反転させることで、HIST_FRZを通知するとともに、自装置の履歴メモリ126への書き込みを停止し、過去の所定期間の履歴情報が上書きされないように保存する。
同様に、SCODR_BUS30−2を介して、システムコントローラ120からHIST_FRZを通知された全てのCPUノード110は、履歴メモリ118の更新を停止する(ステップ303)。
その後、たとえば、CPUノード110、システムコントローラ120に設けられた、図示しないデバッグ情報の読み出しピン等を通じて、履歴メモリ118、履歴メモリ126の内容をシリアルに外部に読み出して解析に供する(ステップ304)。
この履歴情報の読み出しが完了したら、図示しないデバッグ専用ピン等を通じて、システムコントローラ120にヒストリのリリースを指示する(ステップ305)。
これを契機に、システムコントローラ120は、自装置の履歴メモリ126に対する履歴情報の書き込みを再開するとともに、SCODR_BUS30−2のECCビット33を介して、全てのCPUノード110に対して、HIS_RLSを通知する。これを受けた個々のCPUノード110は、履歴メモリ118に対する履歴情報の書き込みを再開する(ステップ306)。
上述の図7の例では、エラー検出を契機にHIS_FRZをCPUが発行する場合を例示したが、以下のように、任意の命令の実行開始後にHIS_FRZをCPUが発行することもできる。
たとえば、エラー検出機構のひとつとして、本実施の形態の情報処理システムに、タイマーを利用したハングアップ検出機能を設けることもできる。
しかし、図8に例示されるように、ハングアップ検出時点(時刻501)でヒストリフリーズしたのでは、ハングアップ検出時点の近辺の履歴しか得られず、また、この期間に得たい情報(エラーの原因)が含まれる可能性は小さい。
そこで、ハングアップする可能性のある命令(たとえば、応答待ち・処理待ち状態になるような命令)の開始時(時刻500)に、仮にHIS_FRZを発行させ、その命令がただしく完了したらHIS_RLSを発行させるような制御を行う。
これにより、当該命令の開始直後から、エラーの原因が含まれる可能性の高い期間502の履歴情報を確実に収集することができる。
この処理を、履歴情報読み出し処理350として、図9を参照して説明する。
CPU0は、ハングする危険のある特定の命令の発行時(時刻500)に、システムコントローラ120(SC)に対してTRAP1を発行し(ステップ351)、これを受けたSCは、自装置および全てのCPUノード110に対してHIS_FRZを発行し(ステップ352)、履歴メモリ118、履歴メモリ126の更新を停止させる。
これにより、履歴メモリ118、履歴メモリ126には、上述の期間502の履歴情報が保存され、当該履歴情報を採取することが可能になる。
なお、上述の図7では、外部から図示しないデバッグ専用ピンを介してシステムコントローラ120に指令を与えることにより、HIS_RLSの同報送信を行わせていたが、以下のように、TRAP2を利用して、CPU0(CPUノード110)からHIS_RLSの同報送信を行わせることもできる。
TRAP2を用いてCPUノード110がシステムコントローラ120にHIS_RLSの発行を行わせる例を、図9の下側に例示する。
CPUは、キャッシュミスにともなうシステム応答待ち等の、ハングアップに陥る危険のある処理(命令)の実行を開始したら(時刻500)、しばらくの時間(ほぼ履歴メモリ118、履歴メモリ126の記憶容量できまる)待ったのちにTRAP1を発行する(ステップ351)。
これによりHIS_FRZ(ステップ352)が行われるのは、上述のとおりである。
もし、「ハングアップに陥る危険のある処理」が本当にハングアップにいたった場合には、この処理開始からしばらくの履歴が手に入ることになる。
なお、図9では、ハングアップにいたらなかった場合を図示している。ハングアップにならず、処理が正常に完了した際には、履歴メモリ118、履歴メモリ126での履歴情報の記録を再開する必要がある。
そこで、CPU0は、TRAP2をSCに発行し(ステップ353)、SCは、TRAP2を契機に、HIS_RLSを自装置および全てのCPUノード110に同報送信する(ステップ354)。
このように、個々のCPUノード110、システムコントローラ120における履歴メモリ118、履歴メモリ126の更新停止をHIST_FRZによって同期して制御することで、ステップ301で検出されたシステムエラーに関するシステム各部の履歴情報を的確に収集することができる。
また、SCREQ_BUS30−1、SCODR_BUS30−2の各々に本来備わっているECCビット33を操作するだけなので、TAGビット31やデータビット32におけるデータ転送等に擾乱が加わることがない。
このため、履歴メモリ118、履歴メモリ126等から収集された履歴情報は、システムエラーを、有りのままに反映した状態となっており、短期間に正確なエラー解析を行うことができる。
さらに、SCREQ_BUS30−1、SCODR_BUS30−2の各々に本来備わっているECCビット33の操作によって、図4に示したような各種のデバッグ信号等の伝達が行われるので、これらのデバッグ信号等の伝達のために余分なデバッグ専用の信号線を設ける必要がなく、情報処理システム100の製造コストを削減することができる。
次に、図10を参照して、性能測定処理400について説明する。情報処理システム100のハードウェアやソフトウェアの最適化等のために、情報処理システム100の稼働状態において、特定の命令の実行回数等を計測した場合がある。
本実施の形態では、以下のようにしてこの性能測定処理400を行う。
まず、図示されないデバッグ専用ピン等をもちいて、システムコントローラ120に対して性能測定処理の開始を指示する(ステップ401)。
これを受けたシステムコントローラ120は、SCODR_BUS30−2のECCビット33を介して、STARTを全てのCPUノード110に通知するとともに、自装置内でも性能測定を開始する。また、STARTを通知された個々のCPUノード110でも、性能測定を開始する(ステップ402)。
この性能測定の開始とは、たとえば、図示しないレジスタ等を用いて特定の命令の実行回数のカウントを開始することである。
所定の時間後、ふたたび図示されないデバッグ専用ピン等をもちいて、システムコントローラ120に対して性能測定処理の停止を指示する(ステップ403)。
これを受けたシステムコントローラ120は、自装置内における性能測定を停止するとともに、SCODR_BUS30−2のECCビット33を用いて、全てのCPUノード110にSTOPを通知する(ステップ404)。
このSTOPの通知を受けた個々のCPUノード110も、同時に性能測定を停止する。
その後、上述と同様の方法で、個々のCPUノード110、システムコントローラ120から、性能測定結果を読み出す(ステップ405)。
このように、START、STOPの起動信号を用いて、複数のCPUノード110、システムコントローラ120の特定の動作状態に同期して性能測定結果を収集することができる。
この性能測定処理400の場合も、上述した履歴情報読み出し処理300の場合と同様の効果を得ることができる。
本発明によれば、コスト増大を生じることなく、ハードウェアのデバッグ機能を用いた的確なデバッグを実現することが可能となる。
また、余分な専用信号線等のハードウェアを必要とすることなく、高度に動作タイミングに依存するようなシステム挙動のデバッグを実現することが可能となる。
なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
すなわち、バスの冗長ビットの意図的な操作による情報伝達としては、デバッグ、性能測定等に限らず、一般の情報伝達にも用いることができる。

Claims (8)

  1. データと前記データの誤りを検出する冗長データを受信する受信部と、前記受信したデータ又は冗長データの誤りを検出する検出部と、前記検出部が誤りを検出した冗長データに含まれる第1のビット又は第2のビットに基づき、前記受信したデータを履歴記憶部に時系列で書き込む記憶制御部を有する受信装置に伝送路を介して接続される送信装置において、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを停止させる場合、前記第1のビットを反転する第1の反転回路と、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを開始させる場合、前記第2のビットを反転する第2の反転回路と、
    前記データと、前記第1の反転回路が反転した第1のビット又は前記第2の反転回路が反転した第2のビットのいずれかを含む冗長データを、前記伝送路を介して前記受信装置に送信する送信部を有することを特徴とする送信装置。
  2. 前記送信装置はさらに、
    前記第1の反転回路による前記第1のビットの反転又は前記第2の反転回路による前記第2のビットの反転を行なわせるか否かを、入力する制御信号に基づき制御する反転制御部を有することを特徴とする請求項1記載の送信装置。
  3. 前記送信装置において、
    前記送信部はさらに、
    前記反転制御部が、前記第1の反転回路による前記第1のビットの反転及び前記第2の反転回路による前記第2のビットの反転を行なわせない場合、前記受信装置が受信したデータの前記履歴記憶部への書き込みを停止させるとき、前記書き込みを停止させる指示情報を含むデータを、前記伝送路を介して前記受信装置に送信し、前記受信装置が受信したデータの前記履歴記憶部への書き込みを開始させるとき、前記書き込みを開始させる指示情報を含むデータを、前記伝送路を介して前記受信装置に送信することを特徴とする請求項2記載の送信装置。
  4. 受信装置に伝送路を介して接続される送信装置を有する送受信システムにおいて、
    前記送信装置は、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを停止させる場合、前記第1のビットを反転する第1の反転回路と、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを開始させる場合、前記第2のビットを反転する第2の反転回路と、
    前記データと、前記第1の反転回路が反転した第1のビット又は前記第2の反転回路が反転した第2のビットのいずれかを含むとともに、前記データの誤りを検出する冗長データを、前記伝送路を介して前記受信装置に送信する送信部を有し、
    前記受信装置は、
    前記伝送路を介して前記送信されたデータと冗長データを受信する受信部と、
    前記受信されたデータ又は冗長データの誤りを検出する検出部と、
    前記誤りが検出された冗長データに含まれる第1のビット又は第2のビットに基づき、前記受信されたデータの時系列による履歴記憶部への書き込みを停止又は開始する記憶制御部を有することを特徴とする送受信システム。
  5. 前記送受信システムにおいて、
    前記送信装置はさらに、
    前記第1の反転回路による前記第1のビットの反転又は前記第2の反転回路による前記第2のビットの反転を行なわせるか否かを、入力する制御信号に基づき制御する反転制御部を有することを特徴とする請求項4記載の送受信システム。
  6. 前記送受信システムの送信装置において、
    前記送信部はさらに、
    前記反転制御部が、前記第1の反転回路による前記第1のビットの反転及び前記第2の反転回路による前記第2のビットの反転を行なわせない場合、前記受信装置が受信したデータの前記履歴記憶部への書き込みを停止させるとき、前記書き込みを停止させる指示情報を含むデータを、前記伝送路を介して前記受信装置に送信し、前記受信装置が受信したデータの前記履歴記憶部への書き込みを開始させるとき、前記書き込みを開始させる指示情報を含むデータを、前記伝送路を介して前記受信装置に送信することを特徴とする請求項5記載の送受信システム。
  7. 前記送受信システムの送信装置において、
    前記検出部はさらに、
    前記検出したデータ又は冗長データの誤りを訂正することを特徴とする請求項4〜6のいずれか1項に記載の送受信システム。
  8. 受信装置に伝送路を介して接続される送信装置を有する送受信システムの制御方法において、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを停止させる場合、前記送信装置が有する第1の反転回路が、前記第1のビットを反転し、
    前記データと前記第1の反転回路が反転した第1のビットを含むとともに前記データの誤りを検出する冗長データを、前記送信装置が有する送信部が、前記伝送路を介して前記受信装置に送信し、
    前記伝送路を介して、前記送信されたデータと前記反転された第1のビットを含む冗長データを、前記受信装置が有する受信部が受信し、
    前記受信されたデータ又は前記反転された第1のビットを含む冗長データの誤りを、前記受信装置が有する検出部が検出し、
    前記誤りが検出された冗長データに含まれる第1のビットに基づき、前記受信装置が有する履歴制御部が、前記受信されたデータの履歴記憶部への時系列による書き込みを停止し、
    前記受信装置が受信したデータの前記履歴記憶部への書き込みを開始させる場合、前記送信装置が有する第2の反転回路が、前記第2のビットを反転し、
    前記データと前記第2の反転回路が反転した第2のビットを含むとともに前記データの誤りを検出する冗長データを、前記送信装置が有する送信部が、前記伝送路を介して前記受信装置に送信し、
    前記伝送路を介して、前記送信されたデータと前記反転された第2のビットを含む冗長データを、前記受信装置が有する受信部が受信し、
    前記受信されたデータ又は前記反転された第2のビットを含む冗長データの誤りを、前記受信装置が有する検出部が検出し、
    前記誤りが検出された冗長データに含まれる第2のビットに基づき、前記受信装置が有する履歴制御部が、前記受信されたデータの履歴記憶部への時系列による書き込みを開始することを特徴とする送受信システム。
JP2008501590A 2006-02-27 2006-02-27 データ送信装置、データ送受信システム及びデータ送受信システムの制御方法 Expired - Fee Related JP4894854B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/303653 WO2007097040A1 (ja) 2006-02-27 2006-02-27 情報処理装置の制御方法、情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2007097040A1 JPWO2007097040A1 (ja) 2009-07-09
JP4894854B2 true JP4894854B2 (ja) 2012-03-14

Family

ID=38437099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008501590A Expired - Fee Related JP4894854B2 (ja) 2006-02-27 2006-02-27 データ送信装置、データ送受信システム及びデータ送受信システムの制御方法

Country Status (4)

Country Link
US (1) US8301969B2 (ja)
EP (1) EP1990723B1 (ja)
JP (1) JP4894854B2 (ja)
WO (1) WO2007097040A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012100210A (ja) * 2010-11-05 2012-05-24 Nec Corp データ伝送システム、送信回路および受信回路
JP2013062736A (ja) * 2011-09-14 2013-04-04 Nec Corp 信号送受信回路
JP2013062737A (ja) * 2011-09-14 2013-04-04 Nec Corp 信号送受信回路
US9459977B2 (en) 2014-08-26 2016-10-04 Freescale Semiconductor, Inc. Data processing system with debug control
US9613714B1 (en) * 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08195736A (ja) * 1995-01-13 1996-07-30 Nec Corp 通信システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0389182A (ja) * 1989-08-31 1991-04-15 Sharp Corp 集積回路装置
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
JPH08154084A (ja) * 1994-11-28 1996-06-11 Matsushita Electric Ind Co Ltd ディジタル送受信方法とその装置
US6415398B1 (en) * 1995-09-29 2002-07-02 Kabushiki Kaisha Toshiba Coding system and decoding system
US6493838B1 (en) * 1995-09-29 2002-12-10 Kabushiki Kaisha Toshiba Coding apparatus and decoding apparatus for transmission/storage of information
US6427219B1 (en) * 1998-06-24 2002-07-30 Conexant Systems, Inc. Method and apparatus for detecting and correcting errors using cyclic redundancy check
JP3730877B2 (ja) * 2001-04-05 2006-01-05 エヌイーシーコンピュータテクノ株式会社 エラー報告方式及びその方法
JP2004030527A (ja) * 2002-06-28 2004-01-29 Fujitsu Ltd 記憶制御装置、および記憶制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08195736A (ja) * 1995-01-13 1996-07-30 Nec Corp 通信システム

Also Published As

Publication number Publication date
EP1990723A1 (en) 2008-11-12
EP1990723B1 (en) 2011-07-13
WO2007097040A1 (ja) 2007-08-30
JPWO2007097040A1 (ja) 2009-07-09
US8301969B2 (en) 2012-10-30
US20080320360A1 (en) 2008-12-25
EP1990723A4 (en) 2010-06-09

Similar Documents

Publication Publication Date Title
US11119874B2 (en) Memory fault detection
US7003698B2 (en) Method and apparatus for transport of debug events between computer system components
JP4894854B2 (ja) データ送信装置、データ送受信システム及びデータ送受信システムの制御方法
CN110580235B (zh) 一种sas扩展器通信方法及装置
CA2549453A1 (en) Method and apparatus for synchronizing an industrial controller with a redundant controller
CN100474258C (zh) 计算机可读介质、错误恢复方法和装置、计算机系统
US9575855B2 (en) Storage apparatus and failure location identifying method
JP5326673B2 (ja) 制御回路、情報処理装置及び情報処理装置の制御方法
JP4491439B2 (ja) 制御装置及び制御方法
US8196028B2 (en) Error detection device
US10581555B2 (en) Information processing device and burst error reproducing method
JP2008176477A (ja) 計算機システム
US7243257B2 (en) Computer system for preventing inter-node fault propagation
KR102376396B1 (ko) 멀티 코어 프로세서 및 그것의 캐시 관리 방법
JP2002229811A (ja) 論理分割システムの制御方法
US20230395181A1 (en) Glitch detection redundancy
US20240185938A1 (en) Glitch detection
WO2008062511A1 (fr) Système multiprocesseur
WO2012137321A1 (ja) 情報処理装置、及びその方法
JPH07325792A (ja) Cpu監視装置
JP5288331B2 (ja) I/o命令障害回復回路、i/o命令障害回復方法及びi/o命令障害回復プログラム
JPH10143444A (ja) 障害処理方式
JP2001117785A (ja) マルチタスク処理システム
JPH03218147A (ja) 通信制御装置
JPH07219609A (ja) 情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111212

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees