JP2009290497A - エラー特定方法、データ処理装置、及び半導体装置 - Google Patents

エラー特定方法、データ処理装置、及び半導体装置 Download PDF

Info

Publication number
JP2009290497A
JP2009290497A JP2008140222A JP2008140222A JP2009290497A JP 2009290497 A JP2009290497 A JP 2009290497A JP 2008140222 A JP2008140222 A JP 2008140222A JP 2008140222 A JP2008140222 A JP 2008140222A JP 2009290497 A JP2009290497 A JP 2009290497A
Authority
JP
Japan
Prior art keywords
data
error
occurred
transmission
semiconductor 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.)
Granted
Application number
JP2008140222A
Other languages
English (en)
Other versions
JP5233415B2 (ja
Inventor
Junji Ichimiya
淳次 市宮
Hiroshi Nakayama
浩志 中山
Shintaro Itozawa
慎太郎 糸澤
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
Priority to JP2008140222A priority Critical patent/JP5233415B2/ja
Priority to US12/396,106 priority patent/US8327212B2/en
Publication of JP2009290497A publication Critical patent/JP2009290497A/ja
Application granted granted Critical
Publication of JP5233415B2 publication Critical patent/JP5233415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

【課題】複数のバスを用いたデータ送信時に発生するエラーに対しより適切に対応可能とするため技術を提供する。
【解決手段】データ送信にエラーが発生した場合、各バスのエラーデータ記憶レジスタ702にはそのバスで受信したデータがCRCチェック部607により記憶される。各バスの比較器701は、そのバスで再送されるデータと、エラーデータ記憶レジスタ702に記憶されているデータとをビット単位で比較し、ビット単位の比較結果をエラー情報として出力する。そのエラー情報は、CRCチェック部607によりエラーが再送データで検出されなかった場合、データのなかで送信時にエラーが発生した箇所(ビット)を示すものとなる。そのエラー情報はエラー情報収集部623によって収集される。
【選択図】図4

Description

本発明は、半導体間のデータ送信を複数の信号ラインで行う場合に発生した送信エラーに対応するための技術に関する。
コンピュータでは、LSI等の半導体装置間でデータ送信が複数の信号ラインを用いて行われる箇所が存在する。
図9は、従来の半導体装置間のデータ送信を説明するための図である。
半導体装置800は、伝送部を介して半導体装置900にデータを送信する。伝送部は、複数のバス(信号ライン)を備えており、これら複数のバスを用いて半導体装置800から半導体装置900にデータが送信される。
半導体装置900では、受信したデータを用いて、送信エラーが発生したか否かの確認を行う。半導体装置900が送信エラーの発生を確認した場合、データの再送を半導体装置800に要求し、それ以降のリクエスト(パケット)を無視(破棄)する。半導体装置900からの再送要求に応じて、伝送部を介して半導体装置800から半導体装置900にデータが再送される。
図10は、従来の半導体装置間でデータ送信を実現させる処理の流れを示すフローチャートである。図10では、送信側半導体装置(図中「送信LSI」と表記)、及び受信側半導体装置(図中「受信LSI」と表記)のそれぞれで実行される処理を示している。
送信側装置では、データ送信制御を実行して(ST51)、送信対象データにCRC方式のチェック符号を付加し(ST52)、転送を行う(ST53)。
他方の受信側装置では、転送されたデータを受信し(SR51)、CRCによるエラーチェックを行い(SR52)、そのチェック結果を受信結果として送信側装置に通知する(SR53)。
送信側装置は、受信結果通知を受信すると、通知された受信結果を解読し、送信エラーが発生したか否か判定する(ST54)。送信エラーが受信側装置で発生した場合(ST54:YES)、データ送信制御では送信エラーが発生したデータを選択する(ST51)。送信エラーが発生していない場合(ST54:NO)、データ送信制御では次に送信すべきデータを選択する(ST51)。
このようにして従来の半導体装置は、受信したデータに送信エラーが発生していた場合、単にデータの再送を要求する。
近年、コンピュータでは、LSI等の半導体装置間のデータ送信速度が著しく高速化している。データ送信の高速化はより高いデータ処理能力の実現に大きく寄与している。しかし、データ送信速度の高速化は、バスを介したデータ送信に発生するエラーをより多くさせている。そのエラーの発生は、高速なデータ処理を阻害する。このことから今後は、バスを介したデータ送信に発生するエラーに対処するためのより多くの情報を得ることも非常に重要となると考えられる。
特開2003−188858号公報 特開2000−349742号公報
本発明は、複数のバスを用いたデータ送信時に発生するエラーに対しより適切に対応可能とするため技術を提供することを目的とする。
本発明の一態様を適用したシステムでは、送信側装置から受信側装置への複数の信号ラインを用いたデータ送信にエラーが発生した場合に、そのエラーが発生したデータを保存する保存工程と、保存工程で保存したデータを、エラーが発生していないデータとビット単位で比較して、保存したデータ中でエラーが発生したビットを特定するエラー特定工程と、を経てエラーに対応する。
エラー発生時に受信したデータを、エラーが発生していないデータ、例えば再送されたデータ、或いはそのデータを送信した半導体装置が管理する正確なデータと信号ライン毎にビット単位での比較を行うことにより、エラーが発生した信号ラインで送信されたデータ中でそのエラーが実際に発生したビットを正確に特定することができる。
上記エラー特定工程では、保存工程でのエラーが発生したデータの保存が受信側装置で行われる場合に、エラーの発生による送信側装置からのデータ再送は、複数の信号ラインのなかでデータの再送に用いる信号ラインを制限して行い、受信側装置は信号ラインを制限して再送されるデータと保存したデータとをビット単位で比較して、該保存したデータ中で該エラーが発生したビットを特定する方法が採用可能である。その方法を採用した場合には、エラー原因の特定が容易となり、信号ライン間の干渉をより抑えたデータ送信が可能となる。信号ライン間の干渉が抑えられることにより、エラーの発生は抑制されることとなる。
本発明を適用した場合には、エラーが発生する、或いはエラーが発生しやすい信号ラインが特定可能となる。それにより、複数の信号ライン(バス)を用いたデータ送信時に発生するエラーに対応するための情報が得ることができる。従って、そのエラーに対し、より適切に対応可能となる。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるデータ処理装置(コンピュータ)の構成を説明する図である。図1に示すように、本実施形態によるデータ処理装置では、1つ以上のシステムボード10、及びIOユニット20は共に、2つのアドレス・クロスバ30−0及び30−1、及び4つのデータ・クロスバ40−0、40−1、40−2及び40−3とそれぞれ接続されている。2つのアドレス・クロスバ30−0及び30−1、及び4つのデータ・クロスバ40−0、40−1、40−2及び40−3とそれぞれ接続されている。システムボード10は、データ処理用のユニットであり、CPUやメモリ等を搭載している。IOユニット20は、データの入出力を主に行うユニットであり、ハードディスク装置等の記憶装置、及び外部装置等との接続用の各種コントローラを搭載している。アドレス・クロスバでは、2つ共、或いはそのうちの任意の一つを指す場合、符号としては「30」を用いる。同様に、データ・クロスバでは、4つ共、或いはそのうちの任意の一つ以上のものを指す場合、符号としては「40」を用いる。
アドレス・クロスバ30は2重化され、2つのクロスバ30−0及び30−1は同時に同じリクエスト制御を行っている。それにより、高い信頼性を実現させている。4つのデータ・クロスバ40が用意されているのは、通常、データ処理装置において一度に大量のデータが転送されるためである。2つのアドレス・クロスバ30−0及び30−1は同期して動作し、データ・クロスバ40では、2つのデータ・クロスバ40−0及び40−2が同期して動作し、2つのデータ・クロスバ40−1及び40−3が同期して動作する。
図2は、本実施形態によるデータ処理装置の詳細な構成例を示す図である。
図2に示された例では、システムボード10は、4つのCPU101、2つのFWH(Firm Ware Hub)102、ノース・ブリッジ(North Bridge)103、4つのメモリ・スイッチ(図中「Mem Swich」と表記)104、及び各メモリ・スイッチ104に接続された複数のメモリ105を備えた構成となっている。
ノース・ブリッジ103は、CPUインターフェイス、メモリ・インターフェイスなどの制御回路を搭載している。各メモリ・スイッチ104は、ノース・ブリッジ103からの要求に応じて、接続されたメモリ105へのアクセス、或いはデータ・クロスバ40を介したデータ転送を行う。メモリ105へのアクセス、或いはデータ・クロスバ40を介したデータ転送により得られたデータは、メモリ・スイッチ104、及びノース・ブリッジ103を介してCPU101に供給される。各CPU101は、そのようにして供給されるデータの処理を行う。2つのFWH102は、例えばBIOSを格納した不揮発性メモリである。
他方のIOユニット20は、サウス・ブリッジ(South Bridge)201、サウス・ブリッジ201に接続された2つのIO制御チップ(図中「SER」と表記)202、各IO制御チップ202に接続された他のIO制御チップ(図中「ICH6」と表記)203、及び各IO制御チップ203に接続された各種コントローラ211〜216を備えた構成となっている。コントローラとしては、FWH211、SIO(Super IO)コントローラ212、BMC(Baseboard Management Controller)213、VGA(Video Graphics Array)コントローラ214、2つのLANアダプタ215及び216がIO制御チップ203に接続されている。図2に示すコントローラ211〜216は一例であり、その種類や数は任意に変更できる。IOユニット20に搭載するコントローラはIOユニット20単位で任意に決定しても良い。
上記BMC213は、データ処理装置全体を管理するマネージメントボード(MMB)との間で通信を行うためのものである。FWH211は、例えばBIOSを格納した不揮発性メモリである。SIOコントローラ212は、複数の異なる規格をサポートするコントローラである。IO制御チップ203は、汎用のものであり、各種インターフェイスを提供する。各種インターフェイスを提供することにより、FWH211、SIOコントローラ212、VGAコントローラIO214、LANコントローラ215及び216を制御する。IO制御チップ202は、サウス・ブリッジ201とIO制御チップ203間の信号の送受信を可能とさせるための信号変換を行う。このIO制御チップ202はハードディスク装置等の記憶装置が接続可能であり、実際には1台以上の記憶装置が接続されている。
IOユニット20のサウス・ブリッジ201は、2つのアドレス・クロスバ30、及び4つのデータ・クロスバ40とそれぞれ接続されている。サウス・ブリッジ201は、IO制御チップ202及び203を介して、IO制御チップ203に接続された構成要素211〜216を制御する。SIOコントローラ212、2つのLANコントローラ215及び216のうちの何れかが取得したデータを転送する場合、サウス・ブリッジ201はデータ転送のためのアドレスリクエストを発行してアドレス・クロスバ30に出力する。システムボード10から、データ・クロスバ40を介して転送されるデータを受信した場合には、例えばIO制御チップ202、或いはIO制御チップ202及び203を介して送出すべきコントローラに受診したデータを送出し、データの格納、出力、或いは送信を対応するコントローラに行わせる。
システムボード10上の4つのCPU101は、メモリ105、他のシステムボード10、或いはIOユニット20へのリード/ライトコマンドを発行してノース・ブリッジ103に出力する。ノース・ブリッジ103は、各CPU101から入力したコマンドを一旦、格納し、優先順位に従ってそのなかから一つを選択し、選択したコマンドをアドレスリクエストとして発行し、アドレス・クロスバ30、及び4つのメモリ・スイッチ104にそれぞれ出力する。
データ・クロスバ40を介してシステムボード10に転送されるデータは、メモリ・スイッチ104により受信されてノース・ブリッジ103に出力され、ノース・ブリッジ103により転送データを必要とするCPU101に渡される。他のシステムボード10、或いはIOユニット20に転送すべきデータは、メモリ・スイッチ104によりデータ・クロスバ40に送信され転送される。
アドレス・クロスバ30内に実装されているメモリやバッファ、或いはキューといったデータや制御情報(以降「データ」と総称)を蓄えておく機構では、データにECC(Error Correcting Code)、或いはパリティ等が付加される。それにより、訂正不可能なエラーの発生を認識するようになっている。一方、チップ間の伝送エラー検出において、シリアル転送バスでは、一般的にCRC(Cyclic Redundancy Check)が行われる。
システムボード10では、メモリ・スイッチ104間、ノース・ブリッジ103とメモリ・スイッチ104間、CPU101とノース・ブリッジ103間などで複数のバス(信号ライン(レーン))を用いたデータ送信が行われる。他方のIOユニット20では、サウス・ブリッジ201とIO制御チップ202間、IO制御チップ202と203間などで複数のバスを用いたデータ送信が行われる。バスと接続された要素のうちの少なくとも一つは半導体装置であり、半導体装置を搭載することで本実施形態によるデータ処理装置は実現されている。本実施形態による半導体装置は特に種類を限定する必要がないことから、種類についての具体的な言及は今後、行わないこととする。
図3は、本実施形態によるデータ送信を行うための構成を示す図である。図3では、半導体装置がデータ送信を行うものとする。
半導体装置500の制御部501は、半導体装置600に送信するデータをバッファ502に格納する。バッファ502に格納されたデータは、データ送信制御部504により選択されてデータ処理・選択部503に出力され、送信部505のデータ処理・転送部511に送られる。データ処理・転送部511は、データ処理・選択部503から入力したデータにエラーチェック(CRC)用のチェック符号を付して、複数のバスを備えた伝送部を介して半導体装置600に送信する。
半導体装置600に送信されたデータは、受信部606のデータ処理・転送部621によって受信され、CRCチェック部607に送られる。CRCチェック部607は、受信データに付されたチェック符号を用いてCRCによるエラーチェックを行い、送信エラーが発生したか否かの確認を行う。送信エラーが発生していないことが確認できた場合に、半導体装置600はメモリであるキュー608に格納する。キュー608に格納されたデータが制御部601に読み出される。
半導体装置600の受信部606、CRCチェック部607、及びキュー608に対応する受信部506、CRCチェック部507、およびキュー508を、半導体装置500は備えている。逆に、半導体装置500のバッファ502、データ処理・選択部503、データ送信制御部504、及び送信部505に対応するバッファ602、データ処理・選択部603、データ送信制御部604、及び送信部605を、半導体装置600が備えて
いる。
半導体装置600のCRCチェック部607がエラーチェックにより送信エラーが発生したことを確認した場合、エラー発生をデータ処理・選択部603に通知する。この通知により、データ処理・選択部603はデータ処理・転送部611を介してデータの再送を半導体装置500に要求する。データ再送要求は、半導体装置500の受信部506によって受信・解読され、CRCチェック部507に送られる。CRCチェック部507は、データ再送要求を受信した旨をデータ処理・選択部503及びデータ送信制御部504にそれぞれ通知する。その結果、送信エラーが発生したデータはデータ送信制御部504によってバッファ502から再度、読み出され、データ処理・選択部503及び送信部505を介して半導体装置600に再送される。
半導体装置600の受信部606には、データ処理・転送部621の前段にデータ比較部622が配置されている。データ比較部622は、図4に示すように、バス毎に比較器701、及びエラーデータ記憶レジスタ702を備えた構成である。データ比較部622とともに、各比較器701が出力する比較結果をエラー情報として収集するためのエラー情報収集部623が受信部606に搭載されている。図4において表記した「a」「b」「f」「g」はバス自体だけでなく、データを受信したバスを示すシンボルとしても用いている。
各比較器701は、それぞれ対応するバス上を送信されるデータと、エラーデータ記憶レジスタ702に記憶されているデータとを比較し、その比較結果をエラー情報としてエラー情報収集部623に出力する。このとき、比較するデータはCRCによるエラーチェックを行う単位分のデータである。エラーデータ記憶レジスタ702へのデータの格納は、エラーチェックの結果、受信したデータにエラーが発生していることを確認したCRCチェック部607によって行われる。その時に各エラーデータ記憶レジスタ702に格納するデータは、エラー発生時の受信データである。CRCチェック部607は、エラー発生時に半導体装置600が受信した受信データを、それを受信したバスのエラーデータ記憶レジスタ702に格納する。その格納により、エラー発生時の受信データを、データ送信元の半導体装置500から再送されるデータとバス毎に比較するようになっている。
図5は、エラーが発生したバスでのエラー箇所の特定方法を説明する図である。図5中の「エラーバスの保存データ」はエラーが発生したバスで実際に受信されたデータであり、そのデータがエラーデータ記憶レジスタ702に格納される。「1」或いは「0」が表記された各枠は1ビットのデータを表している。このことから図5では、CRCによるエラーチェック用にチェック符号が付されたデータは7ビットのデータとして示している。チェック符号を付すデータのビット数は7ビットでなくとも良い。
図5中の「正常データ」は「エラーバスの保存データ」として示すデータのエラーが発生する前の本来の内容を表している。「判定結果」は「エラーバスの保存データ」がエラーデータ記憶レジスタ702に格納され、「正常データ」が再送されたバスで比較器701がビット毎に出力する比較結果を表している。その比較結果は、データが一致を「○」、不一致を「×」で表している。「×」となった判定結果に表記した「a」及び「b」は、エラーが発生したビットの位置(エラー箇所)を表し、「a」及び「b」が付された枠からその下の枠に向けた矢印は、「正常データ」上でエラーが発生したビット、つまりエラーバスの保存データとは値が異なるビットを示している。
上記のようにして、エラーが発生したバスでは、そのエラーが検出されたデータをエラーデータ記憶レジスタ702に格納することにより、比較器701を用いて再送データとのビット毎の比較が行われる。比較器701によるビット毎の比較結果はデータ中でエラーが発生したビットを示すエラー情報としてエラー情報収集部623により収集される。エラー情報収集部623により収集されるエラー情報は、エラーが検出されない再送データを受信した場合に保存、或いは出力される。そのようなエラー情報の抽出により、隣に位置するバスで転送されるデータによって生じる干渉、その度合い等を解析することができる。

エラー情報の保存、或いは出力は、例えばCRCチェック部607により行われる。エラー情報の保存は、CRCチェック部607にメモリを搭載し、そのメモリに格納することで行うようにしても良い。或いはキュー608を介して制御部601に渡すことで、制御部601に保存、或いは他の半導体装置への出力を行わせても良い。ここでは便宜的に、エラー情報の保存はCRCチェック部607内のメモリにエラー情報を格納することで行われると想定する。
図3では図示していないが、半導体装置500にも、受信部506に図4に示すようなデータ比較部、及びエラー情報収集部を搭載しても良い。データ比較部やエラー情報収集部を半導体装置500に搭載する場合、データ比較部の各エラーデータ記憶レジスタに、半導体装置600側でエラーが検出されたデータを格納し、エラーが検出されたデータを半導体装置600から半導体装置500に送信させ、半導体装置500でデータの比較を行うことでも、エラーが発生したバスを特定することができる。このことから、バス単位でエラー箇所を検出するための機構は、エラーが発生したデータを受信した側、そのデータを送信した側の何れでも用いることができる。
図6は、本実施形態による半導体装置間でデータ送信を実現させる処理の流れを示すフローチャートである。図6では、送信側装置(図中「送信LSI」と表記)、及び受信側装置(図中「受信LSI」と表記)のそれぞれで実行される処理を示している。受信側装置では、図示される処理は主にCRCチェック部によって実行される。ここでは便宜的に、図6において、送信側装置は半導体装置500、受信側装置は半導体装置600と想定して説明する。
送信側装置500では、データ送信制御を実行して送信の対象となるデータを選択し(ST1)、選択したデータにCRC方式のチェック符号を付加し(ST2)、受信側装置600へのデータの転送を行う(ST3)。
他方の受信側装置600では、転送されたデータを受信部606により受信し(SR1)、CRCによるエラーチェックをCRCチェック部607が行い(SR2)、チェック結果を受信結果として送信側装置に通知する(SR3)。受信結果の通知は、CRCチェック部607の制御によって実現される。
送信側装置500は、受信側装置600からの受信結果通知を受信すると、通知された受信結果をCRCチェック部507が解読し、ST3で実行されたデータ転送時に送信エラーが発生したか否か判定する(ST4)。送信エラーが受信側装置600で発生した場合、送信側装置500が受信した受信結果通知にはその旨が示されているため、ST4の判定はYESとなり、処理はST1に戻る。データ送信制御処理では、送信エラーが発生したデータを再送のために選択する(ST1)。受信側装置600からの受信結果通知が送信エラー発生を示していない場合には、ST4の判定はNOとなり、データ送信制御処理では次に送信すべきデータを選択する(ST1)。送信エラーが発生したか否かの判定、及びその判定結果に応じた送信すべきデータの選択は、例えばCRCチェック部607が行う。実際のデータの選択は、データ送信制御部604を介して行われる。
受信側装置600では、受信結果を通知した後は、CRCによるエラーチェックの結果、エラーが検出されたか否か判定する(SR4)。CRCによるエラーを検出した場合、SR4の判定はNOとなるため、受信側装置600ではエラー解析モードを設定し(SR6)、データ比較部622のエラーが検出されたバス用のエラーデータ記憶レジスタ702に受信データを記憶させ(SR7)、送信側装置500からの再送データの受信に備える(SR7→SR1)。
エラーは連続して発生することがある。エラーデータ記憶レジスタ702へのデータの記憶は、例えば1回目のエラー発生時でのエラー箇所の特定を優先するような場合、2回目以降のエラー発生時には行わず、前に記憶させたデータを維持させれば良い。そうでない場合には、エラーが発生する度に、エラーデータ記憶レジスタ702に記憶させるデータを書き換えても良い。
一方、CRCでエラーを検出しなかった場合には、SR4の判定はYESとなり、次にエラー解析モードが設定されているか否か判定する(SR5)。エラー解析モードは、エラーが発生したバスでのエラー箇所を特定することで解除されるため、エラーが発生したバスでの特定が終わっている場合、SR5の判定はNOとなり、次のデータの受信に備える(SR5→SR1)。一方、エラーが発生したバスでの特定が終わっていない場合には、SR5の判定はYESとなる。この場合、受信側装置600が受信したデータが再送データである可能性があるので、受信側装置600は、エラーデータ記憶レジスタ702に記憶されたデータと、受信したデータをデータ比較部622で比較する(SR8)。
受信側装置600は、データ比較を行った後は、受信したデータが再送データか否か判定するためのマッチ条件の解析を行い、その結果がOKか否か判定する(SR9)。受信側装置600が送信側装置500にデータの再送を要求しても、次に送信側装置500から受信するデータが再送データであるとは限らない。マッチ条件の解析は、今回受信したデータが再送データか否か確認するために行われる。その確認は、より具体的には、例えばSR7で記憶させたデータと今回受信したデータとをビット単位で比較し、ビット単位で一致する割合が予め定めた値以上か否か判定することで行う。マッチ条件の解析結果がOKであった場合、つまりビット単位で一致する割合が予め定めた値以上であった場合、SR9での判定はYESとなり、受信側装置600はエラー情報収集部623により収集される比較結果を解析データとして例えばCRCチェック部607内に用意したメモリに保存して、エラー解析モードを解除し(SR10)、次のデータの受信に備える(SR10→SR1)。一方、マッチ条件解析の結果がOKでない場合には、SR9での判定はNOとなり、受信データは再送データではないとして、受信側装置600は次のデータの受信に備える(SR9→SR1)。エラーが発生したバスでのエラー箇所の特定を継続して行う。
SR9のマッチ条件解析は、本発明を限定する処理ではなく、より簡易的にエラー解析モードで再送データを特定するための処理である。再送データに再送データであることを表すコード等の情報を付加するのであれば、そのコードを解読しても良い。他の方法を採用しても良い。
このようにして本実施形態では、エラーが発生したバスのエラー箇所の特定を行う。エラーが発生したバスの特定結果は、エラーが発生しやすいバス、エラーを発生させやすいデータ(パターン)を解析するための情報として用いることができ、より適切な回路設計を行うのを支援する。
ところで、エラーが発生したバスでの特定は、エラーが発生することなくデータを受信するまで行うことはできない。一方、送信エラーは、連続して発生する可能性がある。こ
のことから、送信エラーの発生を抑制するために、以下のような方法を採用しても良い。
バスを介して送信されるデータが他のバスに悪影響を及ぼす結果、エラーが、特定バスで定常的に発生する可能性がある。このことから図7に示すように、データの再送に用いるバスを制限することにより、エラーが発生する確率をより低減させることが期待できる。よって、エラーが発生した後、再送データが定常的にエラーとなる場合、そのエラーをより回避することができる。
図7において、データ1〜データ7はそれぞれ通常時にはバスa〜バスgを介して送信されるデータである。バスgのみを実線で描いているのは、そのバスgのみがデータ送信に用いられている例を想定しているためである。図中に表記の「エラー比較用レジスタ」はエラーデータ記憶レジスタ702に相当し、エラーが発生した受信データを格納するエラーデータ記憶レジスタ702は、バス制限に応じて選択される。
図7に示すように、バスのうちの一つのみをデータの再送に用いる場合、エラー発生は最も抑制させることができる。しかし、データの再送に要する再送時間は最も長くなる。このようなことから、バスの制限では、エラー発生の確率と再送時間とはトレードオフの関係にある。従い、バスの制限は、エラー発生の抑制の他に、再送時間を考慮して行う必要がある。よって、本モードは、エラー解析専用モードとして用いることが好ましい場合が多いと考える。
エラー発生は、隣り合うバスを転送に用いない、つまり或る程度、離れた位置に存在するバスを選択することでも抑制することができる。より離れた位置に存在するバスを選択するほど、エラー発生はより抑制されると期待できる。このことから、ユーザは、どういう構成でバスを用いるかは、用途に合わせ任意の設定を行えば良い。
バスを制限すべきか否かの判定は、例えば受信側装置のCRCチェック部が行い、バスの制限要求はデータ処理・選択部、及び送信部を介して送信側装置に送信する。送信側装置では、バスの制限要求は例えばCRCチェック部が処理し、データ処理・選択部を介して送信部にバスの制限を指示する。その制限は、例えば送信に用いるバスを指定する形で行う。そのバス指定により、送信部のデータ処理・転送部は、指定されたバスのみを用いたデータ送信を行う。
データ送信に用いるバスを制限する場合、受信側装置では以下のような処理を実行すれば良い。図8は、データ送信に用いるバスを制限する場合に、受信側装置が実行する処理の流れを示すフローチャートである。次に図8を参照して、受信側装置の動作について詳細に説明する。ここでは便宜的に、エラー検出時の次には再送要求によるデータ再送が行われることを想定している。また、図6と同様に、受信側装置は半導体装置600、送信側装置は半導体装置500と想定する。
受信側装置600は、送信側装置500から転送されたデータを受信し(SR11)、CRCによるエラーチェックを行い(SR12)、CRCによるエラーチェックの結果、受信データにエラーが検出されたか否か判定する(SR13)。何れのバスからも受信データにエラーを検出しなかった場合、SR13の判定はYESとなり、チェック結果を受信結果として送信側装置500に通知する(SR18)。受信側装置600による受信結果通知は、CRCチェック部607の制御によって実現される。
一方、受信データにエラーを検出した場合には、SR13の判定はNOとなるため、次にエラー解析モードが設定されているか否か判定する(SR14)。エラー解析モードは、受信データにエラーが検出された後に設定され、受信データ中でエラーが生じた箇所が特定された際に解除される。SR14の処理により、エラー解析モードが設定されていないと判断された場合、つまりエラー箇所を特定すべきエラーが新たに発生した場合、SR14の判定はNOとなる。この場合、受信側装置600は再送データを送受信する転送バスを制限すると共に、そのバスの制限に合わせて受信データを格納すべきエラーデータ記憶レジスタ702に格納し(SR15)、再送要求と合わせ、バスを制限したデータ送信を送信側装置500に要求する(SR18)。この際には、受信側装置600から送信側装置500に対して、使用する転送バス、あるいは使用しない転送バスを特定する通知を行う。一方、エラー解析モードが設定されていない場合には、SR14の判定はYESとなり、次にカウントオーバーか否か判定する(SR16)。
バスを制限してのデータ送信では、同一のバスを用いたデータ送信で予め定めた回数、連続してエラーが発生したことを条件に、バスの制限を変更するようにしている。SR16で、同一バスを用いたデータ送信でエラー発生が予め定めた回数連続していない場合、SR16の判定はNOとなり、再度、データの再送を送信側装置500に要求する(SR18)。一方、同一バスを用いたエラーが所定回数連続発生した場合には、SR16の判定はYESとなる。この場合、受信側装置600は送信に用いるバスの制限を変更するとともに、データ送信に用いられるバスのエラーデータ記憶レジスタ702にエラーが検出されたデータを保存させてから(SR17)、バス制限の変更、及びデータの再送を送信側装置500に要求する(SR18)。
データを転送するバスを制限する場合には、1つ以上のバスで複数のデータが転送されることになる。このため、ビット単位の比較にデータ比較部622を用いるのであれば、エラーデータ記憶レジスタ702に記憶させる受信データはデータの受信毎に書き換えなければならない。このことから、バスを制限している状況時には、SR11では1データを受信する度に、データを書き換えるべきエラーデータ記憶レジスタ702のデータの書き換えが行われる可能性がある。エラー情報収集部623は、複数のデータが転送されるバスではデータ毎にエラー情報を収集することとなる。エラーデータ記憶レジスタ702のデータの書き換えを行うことから、SR15及びSR17でエラーデータ記憶レジスタ702に記憶されるデータは、そのエラーデータ記憶レジスタ702が配置されたバスで最初に送信(再送)されるデータに対応する受信データである。ビット単位の比較をハードウェア(データ比較部622)ではなく、ソフトウェアにより行うようにした場合には、バスを制限しているか否かに係わらず、SR11では単にデータを受信すれば良いことになる。エラーデータ記憶レジスタ702のデータの書き換えはCRCチェック部607が行う。
送信側装置500への受信結果通知が終了した後、CRCによるエラーチェックの結果、受信データにエラーを検出していた場合、SR19の判定はNOとなるため、次にエラー解析モードが設定されているか否か判定する(SR20)。エラー解析モードが設定されていた場合、SR20の判定はYESとなり、次のデータの受信に備える(SR20→SR11)。このとき、エラーデータ記憶レジスタ702には、そのエラーデータ記憶レジスタ702が配置されたバスで最初に送信(再送)されるデータに対応する受信データが記憶される。エラー解析モードが設定されていない場合には、SR20の判定はNOとなり、受信側装置600はエラー解析モードを設定してから(SR21)、次のデータの受信に備える(SR21→SR11)。SR11への移行時は、SR15でエラーデータ記憶レジスタ702へのデータの格納が行われている。このため、エラーデータ記憶レジスタ702へのデータの格納は行われない。
一方、受信データにエラーを検出していなかった場合には、SR19の判定はYESとなるため、受信側装置600は次に、エラー解析モードが設定されているか否か判定する(SR22)。エラー解析モードが設定されていない場合、SR20の判定はNOとなり
、受信側装置600は次のデータの受信に備える(SR22→SR11)。エラー解析モードが設定されている場合には、SR22の判定はYESとなり、次に受信側装置600はエラーデータ記憶レジスタ702に保存されているデータと再送データとのビット単位の比較結果(エラー情報)をデータ毎にエラー情報収集部623から取得し(SR23)、その比較結果を保存し(SR24)、エラー解析モードを解除してから(SR25)、次のデータの受信に備える(SR25→SR11)。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の信号ラインで行うデータ送信で生じたエラーを特定するエラー特定方法であって、
送信側装置から受信側装置への前記複数の信号ラインを用いたデータ送信に前記エラーが発生した場合に、該エラーが発生したデータを保存する保存工程と、
前記保存工程で保存したデータを、前記エラーが発生していないデータとビット単位で比較して、前記保存したデータ中で該エラーが発生したビットを特定するエラー特定工程と、
を備えることを特徴とするエラー特定方法。
(付記2)
前記保存工程での前記エラーが発生したデータの保存が前記受信側装置で行われる場合に、
前記エラー特定工程では、前記エラーの発生による前記送信側装置からのデータ再送は、前記複数の信号ラインのなかで前記データの再送に用いる信号ラインを制限して行い、前記受信側装置は該信号ラインを制限して再送されるデータと前記保存したデータとをビット単位で比較して、該保存したデータ中で該エラーが発生したビットを特定する、
ことを特徴とする付記1記載のエラー特定方法。
(付記3)
複数の信号ラインを用いて半導体装置間でデータ送信を行うデータ処理装置において、
送信側装置から受信側装置への前記複数の信号ラインを用いたデータ送信にエラーが発生したか否か判定するエラー判定手段と、
前記エラーが発生したと前記エラー判定手段が判定した場合に、前記受信側装置が受信した、該エラーが発生しているデータを保存する保存手段と、
前記保存手段が保存したデータを、前記エラーが発生していないデータとビット単位で比較して、該保存したデータ中で前記エラーが発生したビットを特定するエラー特定手段と、
を具備することを特徴とするデータ処理装置。
(付記4)
複数の信号ラインを用いて他の半導体装置との間でデータ送信を行う半導体装置において、
前記他の半導体装置から前記複数の信号ラインを用いて送信されたデータにエラーが発生したか否か判定するエラー判定手段と、
前記エラーが発生したと前記エラー判定手段が判定した場合に、前記データの再送を前記他の半導体装置に要求する再送要求手段と、
前記再送要求に応じて前記他の半導体装置から受信した再送データにエラーが発生していないと前記エラー判定手段が判定した場合に、該再送データを該エラーが発生している受信データとビット単位で比較して、該受信データ中で該エラーが発生したビットを特定するエラー特定手段と、
を具備することを特徴とする半導体装置。
(付記5)
前記再送要求手段は、前記複数の信号ラインのなかでデータ送信に用いる信号ラインを制限させる制限要求を併せて行い、
前記エラー特定手段は、前記制限要求により前記信号ラインが制限されて送信される再送データを用いて、前記受信データとのビット単位の比較を行う、
ことを特徴とする付記4記載の半導体装置。
(付記6)
前記再送要求手段は、前記再送データにエラーが判定されなくなるまで前記再送要求を繰り返し行う、
ことを特徴とする付記請求項4、または5記載の半導体装置。
(付記7)
複数の信号ラインを用いて他の半導体装置との間でデータ送信を行う半導体装置において、
前記他の半導体装置から前記複数の信号ラインのなかでデータ送信に用いる信号ラインを制限させる制限要求を受信した場合に、該制限要求に応じて該複数の信号ラインのなかでデータ送信に用いる信号ラインを選択するライン選択手段と、
前記ライン選択手段により選択された信号ラインを用いて、前記データ送信を行う送信手段と、
を具備することを特徴とする半導体装置。
本実施形態によるデータ処理装置の構成を説明する図である。 本実施形態によるデータ処理装置の詳細な構成例を説明する図である。 本実施形態による半導体装置のデータ送信を行うための構成を示す図である。 データ比較部の構成を示す図である。 エラーが発生したバスでのエラー箇所の特定方法を説明する図である。 本実施形態による半導体装置間でデータ送信を実現させる処理の流れを示すフローチャートである。 エラー発生時のデータの再送方法を説明する図である。 データ送信に用いるバスを制限する場合に、受信側装置が実行する処理の流れを示すフローチャートである。 従来の半導体装置間のデータ送信を説明するための図である。 従来の半導体装置間でデータ送信を実現させる処理の流れを示すフローチャートである。
符号の説明
500、600 半導体装置
505、605 送信部
511、611 データ処理・転送部
606 受信部
607 CRCチェック部
622 データ比較部
623 エラー情報収集部
701 比較器
702 エラーデータ記憶レジスタ

Claims (5)

  1. 複数の信号ラインで行うデータ送信で生じたエラーを特定するエラー特定方法であって、
    送信側装置から受信側装置への前記複数の信号ラインを用いたデータ送信に前記エラーが発生した場合に、該エラーが発生したデータを保存する保存工程と、
    前記保存工程で保存したデータを、前記エラーが発生していないデータとビット単位で比較して、前記保存したデータ中で該エラーが発生したビットを特定するエラー特定工程と、
    を備えることを特徴とするエラー特定方法。
  2. 前記保存工程での前記エラーが発生したデータの保存が前記受信側装置で行われる場合に、
    前記エラー特定工程では、前記エラーの発生による前記送信側装置からのデータ再送は、前記複数の信号ラインのなかで前記データの再送に用いる信号ラインを制限して行い、前記受信側装置は該信号ラインを制限して再送されるデータと前記保存したデータとをビット単位で比較して、該保存したデータ中で該エラーが発生したビットを特定する、
    ことを特徴とする請求項1記載のエラー特定方法。
  3. 複数の信号ラインを用いて半導体装置間でデータ送信を行うデータ処理装置において、
    送信側装置から受信側装置への前記複数の信号ラインを用いたデータ送信にエラーが発生したか否か判定するエラー判定手段と、
    前記エラーが発生したと前記エラー判定手段が判定した場合に、前記受信側装置が受信した、該エラーが発生しているデータを保存する保存手段と、
    前記保存手段が保存したデータを、前記エラーが発生していないデータとビット単位で比較して、該保存したデータ中で前記エラーが発生したビットを特定するエラー特定手段と、
    を具備することを特徴とするデータ処理装置。
  4. 複数の信号ラインを用いて他の半導体装置との間でデータ送信を行う半導体装置において、
    前記他の半導体装置から前記複数の信号ラインを用いて送信されたデータにエラーが発生したか否か判定するエラー判定手段と、
    前記エラーが発生したと前記エラー判定手段が判定した場合に、前記データの再送を前記他の半導体装置に要求する再送要求手段と、
    前記再送要求に応じて前記他の半導体装置から受信した再送データにエラーが発生していないと前記エラー判定手段が判定した場合に、該再送データを該エラーが発生している受信データとビット単位で比較して、該受信データ中で該エラーが発生したビットを特定するエラー特定手段と、
    を具備することを特徴とする半導体装置。
  5. 前記再送要求手段は、前記複数の信号ラインのなかでデータ送信に用いる信号ラインを制限させる制限要求を併せて行い、
    前記エラー特定手段は、前記制限要求により前記信号ラインが制限されて送信される再送データを用いて、前記受信データとのビット単位の比較を行う、
    ことを特徴とする請求項4記載の半導体装置。
JP2008140222A 2008-05-29 2008-05-29 エラー特定方法、データ処理装置、及び半導体装置 Expired - Fee Related JP5233415B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008140222A JP5233415B2 (ja) 2008-05-29 2008-05-29 エラー特定方法、データ処理装置、及び半導体装置
US12/396,106 US8327212B2 (en) 2008-05-29 2009-03-02 Error identifying method, data processing device, and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008140222A JP5233415B2 (ja) 2008-05-29 2008-05-29 エラー特定方法、データ処理装置、及び半導体装置

Publications (2)

Publication Number Publication Date
JP2009290497A true JP2009290497A (ja) 2009-12-10
JP5233415B2 JP5233415B2 (ja) 2013-07-10

Family

ID=41381344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008140222A Expired - Fee Related JP5233415B2 (ja) 2008-05-29 2008-05-29 エラー特定方法、データ処理装置、及び半導体装置

Country Status (2)

Country Link
US (1) US8327212B2 (ja)
JP (1) JP5233415B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013146030A (ja) * 2012-01-16 2013-07-25 Toshiba Corp Icカード

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243605B (zh) * 2010-05-14 2014-04-30 鸿富锦精密工业(深圳)有限公司 检测装置及其检测方法
US8793538B2 (en) * 2012-01-30 2014-07-29 Hewlett-Packard Development Company, L.P. System error response
US20150326884A1 (en) * 2014-05-12 2015-11-12 Silicon Image, Inc. Error Detection and Mitigation in Video Channels
JP6455168B2 (ja) * 2015-01-16 2019-01-23 株式会社デンソー メモリ装置システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS632442A (ja) * 1986-06-20 1988-01-07 Fujitsu Ltd 通信制御装置
JPH11149422A (ja) * 1997-11-14 1999-06-02 Nec Corp データ保持方式
JP2000349742A (ja) * 1999-03-31 2000-12-15 Matsushita Electric Ind Co Ltd 通信端末装置、基地局装置及び無線通信方法
JP2005070822A (ja) * 2003-08-21 2005-03-17 Fujitsu Ltd 情報処理装置
JP2009130923A (ja) * 2007-11-24 2009-06-11 Takeshi Hoshiko パケット通信システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4292465A (en) * 1979-11-06 1981-09-29 Frederick Electronics Corporation Distributed processing telex exchange
ATE25779T1 (de) * 1981-10-01 1987-03-15 Stratus Computer Inc Digitale datenverarbeitungsanlage mit zuverlaessigkeits-bus-protokoll.
US5347559A (en) * 1992-12-30 1994-09-13 Digital Equipment Corporation Apparatus and method of data transfer between systems using different clocks
JP2003188858A (ja) 2001-12-14 2003-07-04 Nec Commun Syst Ltd パケットデータ伝送装置、パケットデータ伝送方法、およびそのプログラム
US20040221025A1 (en) * 2003-04-29 2004-11-04 Johnson Ted C. Apparatus and method for monitoring computer networks
US7386768B2 (en) * 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7843830B1 (en) * 2005-05-05 2010-11-30 Force 10 Networks, Inc Resilient retransmission of epoch data
KR100722976B1 (ko) * 2005-11-22 2007-05-30 주식회사 오픈솔루션 주파수 호핑 방식을 이용한 실시간 데이터 전송 방법
US7694204B2 (en) * 2006-03-09 2010-04-06 Silicon Image, Inc. Error detection in physical interfaces for point-to-point communications between integrated circuits
KR100790365B1 (ko) * 2006-08-22 2008-01-02 한국전자통신연구원 Mimo 시스템에서의 패킷 재전송 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS632442A (ja) * 1986-06-20 1988-01-07 Fujitsu Ltd 通信制御装置
JPH11149422A (ja) * 1997-11-14 1999-06-02 Nec Corp データ保持方式
JP2000349742A (ja) * 1999-03-31 2000-12-15 Matsushita Electric Ind Co Ltd 通信端末装置、基地局装置及び無線通信方法
JP2005070822A (ja) * 2003-08-21 2005-03-17 Fujitsu Ltd 情報処理装置
JP2009130923A (ja) * 2007-11-24 2009-06-11 Takeshi Hoshiko パケット通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013146030A (ja) * 2012-01-16 2013-07-25 Toshiba Corp Icカード

Also Published As

Publication number Publication date
US8327212B2 (en) 2012-12-04
US20090300452A1 (en) 2009-12-03
JP5233415B2 (ja) 2013-07-10

Similar Documents

Publication Publication Date Title
CN107925507B (zh) 多芯片封装链路错误检测
US7526592B2 (en) Interrupt control system and storage control system using the same
JP6427979B2 (ja) 原因特定方法、原因特定プログラム、情報処理システム
CN101110047B (zh) 存储器重放机制
JP4391954B2 (ja) ファイル制御システムおよびファイル制御装置
US7821919B2 (en) Data processing apparatus and data processing method
US7984357B2 (en) Implementing minimized latency and maximized reliability when data traverses multiple buses
JP5233415B2 (ja) エラー特定方法、データ処理装置、及び半導体装置
KR20100109446A (ko) PCI.Express 통신 시스템, 및 그 통신 방법
US20070186141A1 (en) Method and information apparatus for improving data reliability
US20200174865A1 (en) Controller, storage device having the controller, and method of operating the controller
US8428208B2 (en) Control circuit, information processing device, and method of controlling information processing device
JP3996928B2 (ja) 破損データを処理する方法
US20110231743A1 (en) Control circuit, information processing apparatus, and method for controlling information processing apparatus
JP2006260139A (ja) エラー検出訂正装置の制御方法、エラー検出訂正装置、情報処理システム、エラー検出訂正装置の制御プログラム、データ処理装置
JP4455393B2 (ja) プログラマブルロジックコントローラ
KR101086599B1 (ko) 데이터 통신의 갭을 처리하는 방법
US7478262B2 (en) Method for allowing distributed high performance coherent memory with full error containment
US7802041B2 (en) Information processing apparatus including transfer device for transferring requests
JP5227601B2 (ja) 制御システム
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
US20230325540A1 (en) Integrity and data encryption (ide) buffer device with low-latency containment mode
JP4439295B2 (ja) データ転送制御装置
JP2005277552A (ja) バスリトライ制御方式及びデータ通信装置
JPH03138744A (ja) データ伝送方法及び半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees