JP5035176B2 - 伝送システム、伝送装置および伝送方法 - Google Patents

伝送システム、伝送装置および伝送方法 Download PDF

Info

Publication number
JP5035176B2
JP5035176B2 JP2008213219A JP2008213219A JP5035176B2 JP 5035176 B2 JP5035176 B2 JP 5035176B2 JP 2008213219 A JP2008213219 A JP 2008213219A JP 2008213219 A JP2008213219 A JP 2008213219A JP 5035176 B2 JP5035176 B2 JP 5035176B2
Authority
JP
Japan
Prior art keywords
response
request
packet
transmission
unit
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
JP2008213219A
Other languages
English (en)
Other versions
JP2010050742A (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
Priority to JP2008213219A priority Critical patent/JP5035176B2/ja
Priority to US12/453,936 priority patent/US8255601B2/en
Priority to EP09161302.6A priority patent/EP2157723B1/en
Priority to KR1020090050899A priority patent/KR101077512B1/ko
Priority to CN200910142497XA priority patent/CN101656595B/zh
Publication of JP2010050742A publication Critical patent/JP2010050742A/ja
Application granted granted Critical
Publication of JP5035176B2 publication Critical patent/JP5035176B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control

Description

本発明は、装置間を伝送路で接続し、処理の要求と応答とを伝送路を介して送受信する伝送システム、またかかる伝送システムに使用する伝送装置、および伝送方法に関する。
近年、情報処理装置において、CPU(演算装置 Central Processing Unit)−IO(入出力処理装置)間などの各種装置間を、従来のパラレル伝送に比して高速なシリアル伝送で結合することが行なわれている。
これは、各装置間のデータ転送性能に対する要求が高まり、従来のパラレル伝送ではバス幅と転送速度の確保が難しくなってきたためである。
一方で高速なシリアル伝送ではデータ転送性能の要求は満たすものの、データ伝送に関する信頼度の点で劣る。そのため、高速なシリアル伝送では伝送エラー発生時のデータ再送機構が必要となる。
従来の高速シリアル伝送における伝送エラーの救済は、パケット単位のACKによって行なっていた。具体的には、送信側はパケットごとにシーケンス番号とCRCを指定するとともに、送信済パケットを再送用バッファに記録し、受信側からACKが応答されるまで保持する。
受信側では受信したパケットのCRCを検査する。そして、正常に受信した場合はシーケンス番号を指定してACKを応答するが、伝送エラーを検出した場合は該当パケットを破棄し、直前に正常に受信したパケットのシーケンス番号を指定してNACKを応答する。
また、送信側では、ACK応答を受信した場合、該当するシーケンス番号以前の該当する再送用バッファを開放し、NACK応答を受信した場合には該当するシーケンス番号以降のパケットを再送用バッファから再送する。
また、パケット単位での伝送制御の変形例として、シリアルバスでパケット伝送を行なうとき、ACKパケットによるハンドシェイク転送を行なう通信とACKパケットを送らない通信のいずれかを選択する通信方法(例えば特許文献1参照)や、パケット伝送で受信側からの欠落パケットのみを再送要求することでデータ伝送の効率をあげる技術(例えば特許文献2参照)が知られている。
特開2005−210389号公報 特開2000−341252号公報
一般的にパラレル伝送でパケットを転送するよりも、シリアル伝送でパケットを転送するほうが、シリアル/パラレル変換やその他の機構のためにレイテンシーが増加する。そのため、従来のパケット単位でのエラー救済方式では、パケット送信からACK応答受信までの間、送信済の全てのパケットを保持できるような巨大な再送用バッファが必要であった。さらに、ACK/NACK応答による送達確認のためのフロー制御も必要であった。
このように、従来のシリアル伝送では、エラー救済のためのデータ再送機構には回路量とフロー制御に多大なコストが費やされるという問題点があった。同様に、従来のパラレル伝送においても、伝送の信頼性よりも伝送速度を重視し、伝送エラー発生時の復旧機構が必須である場合には、かかる復旧機構を実現するためのコストが発生するという問題点があった。
本発明は、上述した従来技術にかかる問題点を解消し、課題を解決するためになされたものであり、伝送において回路量を減少させ、簡易な制御でエラー救済を行なうことのできる伝送システム、伝送装置および伝送方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、開示のシステム、装置および方法は、第1の装置と第2の装置とを伝送路で接続した伝送システムにおいて、第1の装置は第2の装置に対する要求がタイムアウトした場合に要求パケットを再送信し、第2の装置は第1の装置に対する応答が特定の種類である場合に応答パケットを冗長化する。
開示のシステム、装置、方法によれば、シリアル伝送において回路量を減少させ、簡易な制御でエラー救済を行なうことのできる伝送システム、伝送装置および伝送方法を得ることができるという効果を奏する。
以下に、本発明にかかる伝送システム、伝送装置および伝送方法の実施例を図面に基づいて詳細に説明する。
本実施例では、高速なシリアル伝送における低コストのデータ再送機構を以下の3つの動作を用いて実現する。
1.パケット送達確認は一切行わず、リクエスト処理の要求側の時間監視により要求パケットをリクエストキューから再送する。
2.リクエスト処理の再実行により応答パケットの伝送エラーを救済する。
3.リクエスト処理の再実行が不可能なリクエストに対する応答パケットは、パケット転送自身を冗長化する。
図1は、本実施例に係るコンピュータシステム1の概要構成を示す概要構成図である。図1に示したコンピュータシステム1は、入出力処理装置(IO)10と演算装置(CPU)20とがシリアル伝送路で接続したシリアル伝送システムである。
入出力処理装置10は、コンピュータシステム外部の図示しない入出力装置、すなわち入出力デバイスと接続しており、入出力デバイスからの入力を受けて演算装置20に要求を送信し、演算装置20からの応答を受けて入出力デバイスに対する出力を行なう。
入出力処理装置10は、その内部に要求処理部11、要求送信部12、応答受信部13、タイマー14、入出力デバイス15を有する。入出力デバイス制御部15は、図示しない入出力デバイスと接続するインターフェースである。要求処理部11は、入出力デバイスからの入力に基づいて、演算装置10に所定の処理の実行を要求する処理を行なう。
要求送信部12は、要求処理部11が作成した要求を、1または複数の要求パケットとしてシリアル伝送路を介して演算装置20に送信する処理を行なう。また、応答受信部13は、演算装置20からの応答を1または複数の応答パケットとしてシリアル伝送路を介して受信する処理を行なう。
タイマー14は、要求送信部12が要求を送信してから応答受信部13が応答を受信するまでの時間を計る計時手段である。そして、要求送信部12は、要求送信からの経過時間が所定時間以上となった応答について、応答パケットの再送信を行なう。
また、応答受信部13は、その内部にエラーパケット破棄部13aおよび冗長パケット破棄13bを有する。エラーパケット破棄部13aは、演算装置20からエラーパケットを受信した場合、すなわち、演算装置20から受信した応答パケットにエラーが発生した場合に、エラーパケットを破棄する処理を行なう。同様に、冗長パケット破棄部13bは、重複パケットを受信した場合、すなわち、演算装置20から受信した応答パケットが既に受信した応答パケットと同一である場合に重複パケットを破棄する処理を行なう。
演算装置20は、入出力処理装置10から受信した要求を処理し、入出力処理装置10に対して応答する装置である。また、演算装置20は、第1メモリ31および第2メモリ32に接続しており、メモリへの書き込み、いわゆるストアや、メモリからの読み出し、いわゆるフェッチを行なうことができる。
演算処理部20は、その内部に応答処理部21、要求受信部22、応答送信部23、およびメモリアクセス制御部24を有する。要求受信部22は、入出力処理装置10からの要求を1または複数の要求パケットとしてシリアル伝送路を介して受信する処理を行なう。ここで、要求受信部22は、その内部にエラーパケット破棄部22aを有している。エラーパケット破棄部22aは、入出力処理装置10からエラーパケットを受信した場合、すなわち、入出力処理装置10から受信した応答パケットにエラーが発生した場合に、エラーパケットを破棄する処理を行なう。
応答処理部21は、要求受信部22が受信した要求を処理して応答を作成する処理を行なう。また、要求受信部22が受信した要求がフェッチ要求やストア要求である場合、応答処理部21は、メモリアクセス制御部24を介して第1メモリ31や第2メモリに対するデータの書き込み・読み出しを実行する。
応答送信部23は、応答処理部21が作成した応答を1または複数の応答パケットとしてシリアル伝送路を介して入出力処理装置10に送信する処理を行なう。また、応答送信部23は、その内部に応答種別判別部23aおよび応答冗長化処理部23bを有する。
応答種別判別部23aは、応答処理部21が作成した応答の種別を判別する。応答冗長化処理部23bは、応答種別判別部23aによる判別結果に基づき、特定の種類の応答について選択的に応答パケットを冗長化する処理を行なう。
特定の種類の応答とは、要求の実行によって他の要求の処理結果に影響を与えるため、単純な再実行が不可能な種類の応答である。たとえば、ストア要求や演算装置20に対する割り込み要求などである。換言するならば、要求の処理順序の保証が必要な処理である。そのため、ストア要求への応答であるストア応答や、演算装置20に対する割り込み要求への応答である割り込み応答については、応答パケットを冗長化し、同一内容のパケットを複数送信する。
一方で、メモリ内容を読み出すフェッチ要求については、要求の実行結果が他の要求に影響を与えないため、応答パケットを冗長化する必要はない。
このように、コンピュータシステム1では、入出力処理装置10からの要求を演算装置20が実行して処理するリクエスト処理において、リクエスト処理の要求側である入出力装置10は、要求パケット送出からリクエスト処理完了時の応答パケット受信までを時間監視し、タイムアウト検出時に要求パケットを演算装置20へ再送する。要求パケットの再送はリクエストキューから、すなわち要求単位で行なう。そのため、入出力処理装置10は、パケットの再送用バッファは実装しない。また、入出力処理装置10は、演算装置20から応答パケットを受信した場合、送達確認のための演算装置20へのACK/NACK応答は一切行わない。応答パケットで伝送エラーを検出した場合は、該当する応答パケットの破棄のみを行い、規定時間後にタイムアウトを検出し、要求パケットを演算装置20へ再送する。この再送によって、要求の受信側である演算装置20ではリクエスト処理が再実行される。また、冗長化された応答パケットは、最初に正常に受信したパケットを使用し、後続の同一パケットは重複パケットとして破棄する。
リクエスト処理の受信側である演算装置20は、要求パケットを受信した場合、送達確認のための入出力処理装置10へのACK/NACK応答は一切行わない。要求パケットで伝送エラーを検出した場合は、該当する要求パケットの破棄のみを行う。リクエスト処理の再実行が不可能なリクエストに対する入出力処理装置10への応答パケットは、パケット転送自身を冗長化し、必ず1つは正常に入出力処理装置10に受信されるようにしている。
なお、パケット転送の冗長化については、冗長パケットの送信側は同一パケット同士の最大送出間隔を規定し、その時間内に受信側が複数の同一パケットを受信できることを保証するようにしてもよい。この場合、最大送出間隔時間内に連続して伝送エラーを検出した場合は、致命的なエラーとして扱うことで、冗長化したパケット転送が全てエラーとなって全滅したケースでのシステムの誤動作を抑止することができる。例えば、冗長パケットの最大送出間隔を1ミリ秒とした場合、冗長パケットの最初のパケットの送出時刻から最後のパケットの送出時刻までの時間が最大で1ミリ秒となる。従って、冗長パケットの受信側では、1ミリ秒以内で伝送エラーが連続した場合に、冗長パケットが全てエラーとなったと可能性があると判定し、致命的なエラーとして処理を停止して警告を出す。この処理の停止と警告によって、システムの誤動作、すなわち、実際にはリクエスト処理が完了したにも関わらず、冗長化した応答が全滅したことでリクエストが未完了と見なされて再実行されるという誤動作を回避することができる。
図2は、入出力処理装置10と演算装置20との間で伝送されるパケットの種類と伝送エラー時の救済処理について説明する説明図である。図2に示したように、まず、入出力処理装置10から演算装置20にフェッチ要求パケットを伝送中にエラーが発生した場合、演算装置20にはパケットが到達しないか、もしくはエラーパケットが演算装置20に到達するのでエラーパケットについては演算装置20で破棄を行なう。このエラー自体について演算装置20から入出力処理装置10への通知は行なわないが、フェッチ要求が実行されないために入出力処理装置10へ応答が送信されることもない。そのため、入出力処理装置10ではリクエストがタイムアウトし、対象要求、すなわち同一のフェッチ要求を再度演算装置20へ送信することとなる。
つぎに、演算装置20から入出力処理装置10にフェッチ応答パケットを伝送中にエラーが発生した場合、入出力処理装置10にはパケットが到達しないか、もしくはエラーパケットが入出力処理装置10に到達するのでエラーパケットについては入出力処理装置210で破棄を行なう。このエラー自体について入出力処理装置10から演算装置20への通知は行なわないが、フェッチ要求の実行完了が確認されず、入出力処理装置10ではリクエストがタイムアウトする。そのため、入出力処理装置10は、対象要求、すなわち同一のフェッチ要求を再度演算装置10へ送信することとなる。
ストア要求と演算装置20への割り込み要求の伝送中にエラーが発生した場合、演算装置20にはパケットが到達しないか、もしくはエラーパケットが到達するのでエラーパケットについては演算装置20が破棄を行なう。この場合も、フェッチ要求伝送中のエラーの場合と同様に、演算装置20から入出力処理装置10へのエラー通知は行なわれず、ストア要求、割り込み要求が実行されないために演算装置20から入出力処理装置10に応答が送信されることもない。そのため、入出力処理装置10ではリクエストがタイムアウトし、対象要求の要求を再度演算装置20に送信することとなる。
ストア要求と割り込み要求の応答については、演算装置20は、予め応答パケットを冗長化して入出力処理装置10へ送信する。入出力処理装置10では、冗長化された応答パケットのうち正常なものを使用する。そのため、応答パケットの伝送中にエラーが発生した場合であっても、入出力処理装置10は正常な応答を得ることができる。
このように、フェッチ応答パケットの伝送エラーでは演算装置20から応答パケットを再送するのではなく、入出力処理装置10からの要求の再発行によるリクエスト処理の再実行で伝送エラーを救済する。フェッチアクセスの性質から、再発行してもキャッシュメモリまたはメインメモリへの再アクセスによる影響が無いためである。
一方、ストア応答と割り込み応答については、再アクセスによる影響範囲が大きいためリクエスト処理の再実行は行なわない。また、ストア応答と割り込み応答の応答パケットについては応答データも伴わずサイズが小さいため、転送自身を冗長化して必ず1つは正常に受信されるようにする。
すなわち、コンピュータシステム1のシリアル伝送では3種の動作によって伝送エラーを救済する。動作タイプ1は、演算装置20がエラーパケットを破棄し、入出力処理装置10がタイムアウトを検出して要求パケットを再送信する動作であり、フェッチ要求、ストア要求、割り込み要求に伝送エラーが発生した場合に適用される。動作タイプ2は、入出力処理装置10がエラーパケットを破棄し、入出力処理装置10がタイムアウトを検出して要求パケットを演算装置20へ再送信する動作であり、フェッチ応答に伝送エラーが発生した場合に適用される。動作タイプ3は、パケットを演算装置20で冗長化して正常なパケットを入出力処理装置10で選択して使用する動作であり、ストア応答と割り込み応答に適用される。
図3は、動作タイプ1による救済動作について説明する説明図である。図3では、入出力処理装置10が要求REQを発行し、タイマーをスタートさせている。しかし、要求REQは、伝送中に伝送エラーを生じた場合に、演算装置20で破棄される。その結果、演算装置20からの応答を得られないままタイマーが8をカウントしてタイムアウト(図3T.O)する。入出力処理装置10は、要求REQを再発行してタイマーをリスタートする。
図3では、再発行された要求REQは、正常に伝送されて演算装置20に受信されている。演算装置20は、受信した要求を処理して入出力処理装置10に対する応答RESを発行する。応答RESは正常に伝送されて入出力処理装置10に受信され、入出力処理装置10はタイマーをリセットして処理を完了する。
図4は、動作タイプ2による救済動作について説明する説明図である。図4では、入出力処理装置10が要求REQを演算装置20に発行し、タイマーをスタートさせている。要求REQは、正常に伝送されて演算装置20に受信される。演算装置20は、受信した要求を処理して応答RESを発行する。
しかし、応答RESは、伝送中に伝送エラーを生じ、入出力処理装置10で破棄される。その結果、演算装置20からの正常な応答を得られないままタイマーが8をカウントしてタイムアウトする。入出力処理装置10は、要求REQを再発行してタイマーをリスタートする。
再発行された要求REQは、正常に伝送されて演算装置20に受信される。演算装置20は、再び要求REQを処理して、前回と同様に応答RESを発行する。応答RESは正常に伝送されて入出力処理装置10に受信され、入出力処理装置10はタイマーをリセットして処理を完了する。
図5は、動作タイプ3による救済動作について説明する説明図である。図4では、入出力処理装置10が要求REQを発行し、タイマーをスタートさせている。要求REQは、正常に伝送されて演算装置20に受信される。演算装置20は、受信した要求を処理して応答RESを発行する。この時、演算装置20は、同一内容の応答RESを複数作成し、送信する。
入出力処理装置10は、同一内容で複数の応答RESのうち、エラーした応答RESを破棄し、正常な応答RESを受信してタイマーをリセットし、処理を完了する。また、いったん正常な応答RESを受信した後は、重複する応答RESについては正常であっても破棄する。
つぎに、要求の順序保証について説明する。図6は、入出力処理装置10が順序保証を行なう場合の動作について説明する説明図である。図6ではリクエストの要求元である入出力処理装置10は、先行リクエストの処理を追い越してはならない後続リクエストが存在する場合、先行リクエストに対する応答を受信してから後続リクエストを演算装置20に対して発行する。これは、先行リクエストの伝送エラーによるリトライ中に後続リクエストの処理が追い越してしまうことを防ぐためである。この方法によれば、入出力処理装置10が単独でメモリアクセス順序を保証することができる。
図7は、入出力処理装置10と演算装置20とで順序保証を行なう場合の動作について説明する説明図である。図7では、REQ1からREQ6までの処理を順序を入れ替えることなく処理する際に、入出力処理装置10は、先行リクエストの応答受信を待たずに順次リクエストを送出する。演算装置20は入出力処理装置10から受信した順序にリクエスト処理を行うが、REQ3のように伝送エラーが発生した場合、それ以降に受信する全パケット、すなわちREQ4以降の全てのパケットを破棄し、入出力処理装置10に後続リクエストの送出の停止を依頼する。
入出力処理装置10はリクエスト送出の停止依頼を受信した場合に、新たなリクエストの送出を停止する。演算装置20は既に受信済みのリクエストについて処理して応答RESを送信し、全ての受信済みリクエスト処理と応答送信が完了したところで、入出力処理装置10に対してリクエスト送出の再開を依頼する。入出力処理装置10は再開を依頼された場合、リクエストキュー内の未完了リクエストについて、REQ3から順序通り演算装置に対して送出を再開する。このように、入出力処理装置10と演算装置20の両方でメモリアクセス順序を保証することで、入出力処理装置単独で順序保証を行なう場合に比して処理を高速に実行することができる。
つぎに、図1に示した要求送信部12、応答受信部13、要求受信部22、応答送信部23の処理動作について説明する。図8は、要求送信部12の処理動作を説明するフローチャートである。
図8に示したように、要求送信部12は、要求処理部11から要求依頼があったか否かを判定する(S101)。要求処理部11から要求依頼があった場合(S101,Yes)、要求送信部12は、要求パケットを作成し(S102)、要求パケットを送信する(S103)。そして、送信した要求についてタイマーをスタートし(S104)、処理を終了する。
一方、要求処理部11から要求依頼がない場合(S101,No)、要求送信部12は、タイムアウトした要求があるか否かを判定する(S105)。タイムアウトした要求がある場合(S105,Yes)、要求送信部12は、タイムアウトした要求の要求パケットを再送信し(S106)、再送信した要求のタイマーを再スタートして(S107)、処理を終了する。
一方、タイムアウトした要求がない場合(S105,No)、要求送信部12はそのまま処理を終了する。以上、図8に示した処理は、要求送信部12のメインフローであり、コンピュータシステム1の動作中に繰り返し実行される。
図9は、応答受信部13の処理動作を説明するフローチャートである。図9に示したように応答受信部13は、まず、応答パケットを受信したか否かを確認する(S201)。応答パケットを受信していなければ(S201,No)そのまま処理を終了する。応答パケットを受信した場合(S201,Yes)、エラーパケット破棄部13aは、受信したパケットが正常であるか否か判定し(S202)、正常でない場合(S202,No)にはパケットを破棄して(S208)、処理を終了する。
受信したパケットが正常である場合(S202,Yes)、冗長パケット破棄部13bは、同一の応答パケットを受信済みであるか否かを判定し(S203)、受信済みであれば(S203,Yes)、パケットを破棄して(S208)、処理を終了する。
同一の応答パケットを受信済みでない場合(S203,No)、応答受信部13は、受信した応答パケットを蓄積し(S204)、蓄積した応答パケットから一つの応答が完成するか否かを判定する(S205)。そして、蓄積した応答パケットから一つの応答が完成しない場合(S205,No)にはそのまま処理を終了する。
一方、蓄積した応答パケットから一つの応答が完成する場合(S205,Yes)、応答受信部13は、完成した応答に対応する要求のタイマーをリセットし(S206)、応答を要求処理部11に渡して(S207)、処理を終了する。以上、図9に示した処理は、応答受信部13のメインフローであり、コンピュータシステム1の動作中に繰り返し実行される。
図10は、要求受信部22の処理動作を説明するフローチャートである。図10に示したように要求受信部22は、まず、要求パケットを受信したか否かを確認する(S301)。要求パケットを受信していなければ(S301,No)そのまま処理を終了する。要求パケットを受信した場合(S301,Yes)、エラーパケット破棄部22aは、受信したパケットが正常であるか否か判定し(S302)、正常でない場合(S302,No)にはパケットを破棄して(S306)、処理を終了する。
受信したパケットが正常である場合(S302,Yes)、要求受信部22は、受信した要求パケットを蓄積し(S303)、蓄積した要求パケットから一つの要求が完成するか否かを判定する(S304)。そして、蓄積した要求パケットから一つの要求が完成しない場合(S304,No)にはそのまま処理を終了する。
一方、蓄積した要求パケットから一つの要求が完成する場合(S304,Yes)、要求受信部22は、完成した要求を応答処理部21に渡して(S305)、処理を終了する。以上、図10に示した処理は、要求受信部22のメインフローであり、コンピュータシステム1の動作中に繰り返し実行される。
図11は、応答送信部22の処理動作を説明するフローチャートである。図11に示したように、応答送信部23は、応答処理部21から応答依頼があったか否かを判定する(S401)。応答処理部21から応答依頼がない場合(S401,No)にはそのまま処理を終了する。
応答処理部21から応答依頼があった場合(S401,Yes)、応答種別判別部23aが、応答の種別を判別する(S402)。応答の種別がストア応答や割り込み応答でない場合(S403,No)には、応答送信部23は、応答パケットを1セット作成し(S404)、作成した応答パケットを送信して(S405)、処理を終了する。ここで、1セットとは、応答を応答パケットとして送信する際に、1つの応答を1つの応答パケットで送信できる場合には1パケットのみ、1つの応答を形成するために複数の応答パケットが必要である場合には複数の応答パケットをそれぞれ1パケットずつ作成することを示しており、1セットの中では重複パケットは存在しない。
応答の種別がストア応答もしくは割り込み応答である場合(S403,Yes)、応答冗長化処理部23bが応答パケットを複数セット作成する(S406)。そして、応答送信部23は、作成された応答パケットを全て送信して(S407)、処理を終了する。以上、図11に示した処理は、応答送信部23のメインフローであり、コンピュータシステム1の動作中に繰り返し実行される。
以上説明してきたように、本実施例において伝送システムとして機能するコンピュータシステム1では、入出力処理装置10と演算装置20とがシリアル伝送の装置とし機能する。入出力処理装置10は、演算装置20に対して要求を送信する際に、パケット単位の送達確認は行なわず、要求がタイムアウトした場合に要求の再送信を行なう。また、演算装置20は、再実行が不可能な要求に対する応答については、応答パケットを冗長化して送信する。
そのため、シリアル伝送の特徴を活かしたデータ転送性能が確保でき、さらに巨大な再送用バッファの削除とパケット送達確認フローの削除を実現し、低コストで伝送エラー救済を行なうことができる。
なお、本実施例ではシリアル伝送における適用例について説明を行なったが、開示のシステム、装置および方法は、パラレル伝送においても適用可能である。すなわち、パラレル伝送において、信頼性よりも伝送速度を重視し、伝送エラー発生時の復旧機構を設ける場合には、開示のシステム、装置、方法を適用することによって低コストで伝送エラー救済を行なうことができる。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)第1の装置と第2の装置とを伝送路で接続し、前記第1の装置から前記第2の装置に対する要求と、前記第2の装置から前記第1の装置への応答とを前記伝送路を介して送受信する伝送システムであって、
前記第1の装置は、
前記第2の装置に対する要求を1または複数の要求パケットとして送信し、前記要求から前記応答までの時間が所定時間以上となった場合に前記要求パケットを再送信する要求送信部と、
前記第2の装置からの応答を1または複数の応答パケットとして受信し、受信した応答パケットのうち、エラーパケットと重複パケットとを破棄する応答受信部と、
を備え、
前記第2の装置は、
前記第1の装置から前記要求パケットを受信し、受信した要求パケットのうち、エラーパケットを破棄する要求受信部と、
前記第1の装置に対する前記応答の種類を判別し、特定の種類の応答について選択的に前記応答パケットを冗長化して送信する応答送信部と、
を備えたことを特徴とする伝送システム。
(付記2)前記応答送信部は、処理順序の保証が必要な要求に対する応答について選択的に前記応答パケットを冗長化して送信することを特徴とする付記1に記載の伝送システム。
(付記3)前記第1の装置はコンピュータシステムの入出力を担う入出力処理装置であり、前記第2の装置は前記コンピュータシステムの演算処理を担う演算処理装置であることを特徴とする付記1または2に記載の伝送システム。
(付記4)前記応答送信部は、データの書き込み要求に対する応答と、前記第2の装置の処理に対する割り込み要求に対する応答について選択的に前記応答パケットを冗長化して送信することを特徴とする付記1〜3のいずれか一つに記載の伝送システム。
(付記5)前記応答送信部は、データの読み出し要求に対する応答については、前記冗長化の対象外とすることを特徴とする付記1〜4のいずれか一つに記載の伝送システム。
(付記6)前記第1の装置は、処理順序の保証が必要な要求を行なう場合には、当該要求に対する応答を受けた後に次の要求を送信することを特徴とする付記1〜5のいずれか一つに記載の伝送システム。
(付記7)前記第2の装置は、前記第1の装置からエラーパケットを受信した場合、前記第1の装置に送出停止依頼を送信し、以降に受信したパケットを破棄し、前記エラーパケットの受信以前に受信した要求に対する応答が終了した場合に、前記第1の装置に対して送出再開依頼を送信することを特徴とする付記1〜5のいずれか一つに記載の伝送システム。
(付記8)伝送路を介して他の装置と接続する伝送装置であって、
前記他の装置に所定の処理の実行を要求する要求処理部と、
前記要求処理部の要求を1または複数の要求パケットとして前記伝送路を介して送信する要求送信部と、
前記他の装置からの応答を1または複数の応答パケットとして前記伝送路を介して受信する応答受信部と、
を備え、
前記要求送信部は、前記要求から応答までの時間が所定時間以上となった場合に前記要求パケットを再送信し、
前記応答受信部は受信した応答パケットのうちエラーパケットを破棄するエラーパケット破棄部と、重複して受信した重複パケットを破棄する破棄部と、をさらに備えたことを特徴とする伝送装置。
(付記9)伝送路を介して他の装置と接続する伝送装置であって、
前記他の装置からの要求を1または複数の要求パケットとして前記伝送路を介して受信する要求受信部と、
前記要求受信部が受信した要求を処理して前記応答を作成する応答処理部と、
前記応答処理部が作成した応答を1または複数の応答パケットとして前記伝送路を介して前記他の装置に送信する応答送信部と、
を備え、
前記応答送信部は、前記応答の種類を判別する応答種別判別部と、前記応答種別判別部による判別結果に基づき、特定の種類の応答について選択的に前記応答パケットを冗長化する応答冗長化処理部と、をさらに備えたことを特徴とする伝送装置。
(付記10)第1の装置と第2の装置とを伝送路で接続し、前記第1の装置から前記第2の装置に対する要求と前記第2の装置から前記第1の装置への応答とを前記伝送路を介して送受信する伝送方法であって、
前記第1の装置が、前記第2の装置に対する要求を1または複数の要求パケットとして送信し、前記要求から前記応答までの時間が所定時間以上となった場合に前記要求パケットを再送信する要求送信ステップと、
前記第2の装置が、前記第1の装置から前記要求パケットを受信し、受信した要求パケットのうち、エラーパケットを破棄する要求受信ステップと、
前記第2の装置が、前記第1の装置に対する前記応答の種類を判別し、特定の種類の応答について選択的に前記応答パケットを冗長化して送信する応答送信ステップと、
前記第1の装置が、前記第2の装置からの応答を1または複数の応答パケットとして受信し、受信した応答パケットのうち、エラーパケットと重複パケットとを破棄する応答受信部と、
を含んだことを特徴とする伝送方法。
図1は、本実施例に係るコンピュータシステム1の概要構成を示す概要構成図である。 図2は、入出力処理装置10と演算装置20との間で伝送されるパケットの種類と伝送エラー時の救済処理について説明する説明図である。 図3は、図2に示した動作タイプ1による救済動作について説明する説明図である。 図4は、図2に示した動作タイプ2による救済動作について説明する説明図である。 図5は、図2に示した動作タイプ3による救済動作について説明する説明図である。 図6は、入出力処理装置10が順序保証を行なう場合の動作について説明する説明図である。 図7は、入出力処理装置10と演算装置20とで順序保証を行なう場合の動作について説明する説明図である。 図8は、要求送信部12の処理動作を説明するフローチャートである。 図9は、応答受信部13の処理動作を説明するフローチャートである。 図10は、要求受信部22の処理動作を説明するフローチャートである。 図11は、応答送信部23の処理動作を説明するフローチャートである。
符号の説明
1 コンピュータシステム
10 入出力処理装置
11 要求処理部
12 要求送信部
13 応答受信部
13a,22a エラーパケット破棄部
13b 冗長パケット破棄部
14 タイマー
15 入出力デバイス制御部
20 演算装置
21 応答処理部
22 要求受信部
23 応答送信部
23a 応答種別判別部
23b 応答冗長化処理部
24 メモリアクセス制御部
31 第1メモリ
32 第2メモリ

Claims (9)

  1. 第1の装置と第2の装置とを伝送路で接続し、前記第1の装置から前記第2の装置に対する要求と、前記第2の装置から前記第1の装置への応答とを前記伝送路を介して送受信する伝送システムであって、
    前記第1の装置は、
    前記第2の装置に対する要求を1または複数の要求パケットとして送信し、前記要求から前記応答までの時間が所定時間以上となった場合に前記要求パケットを再送信する要求送信部と、
    前記第2の装置からの応答を1または複数の応答パケットとして受信し、受信した応答パケットのうち、エラーパケットと重複パケットとを破棄する応答受信部と、
    を備え、
    前記第2の装置は、
    前記第1の装置から前記要求パケットを受信し、受信した要求パケットのうち、エラーパケットを破棄する要求受信部と、
    前記第1の装置に対する前記応答の種類を判別し、特定の種類の応答について選択的に前記応答パケットを冗長化して送信する応答送信部と、
    を備えたことを特徴とする伝送システム。
  2. 前記応答送信部は、処理順序の保証が必要な要求に対する応答について選択的に前記応答パケットを冗長化して送信することを特徴とする請求項1に記載の伝送システム。
  3. 前記第1の装置はコンピュータシステムの入出力を担う入出力処理装置であり、前記第2の装置は前記コンピュータシステムの演算処理を担う演算処理装置であることを特徴とする請求項1または2に記載の伝送システム。
  4. 前記応答送信部は、データの書き込み要求に対する応答と、前記第2の装置の処理に対する割り込み要求に対する応答について選択的に前記応答パケットを冗長化して送信することを特徴とする請求項1〜3のいずれか一つに記載の伝送システム。
  5. 前記応答送信部は、データの読み出し要求に対する応答については、前記冗長化の対象外とすることを特徴とする請求項1〜4のいずれか一つに記載の伝送システム。
  6. 前記第1の装置は、処理順序の保証が必要な要求を行なう場合には、当該要求に対する応答を受けた後に次の要求を送信することを特徴とする請求項1〜5のいずれか一つに記載の伝送システム。
  7. 前記第2の装置は、前記第1の装置からエラーパケットを受信した場合、前記第1の装置に送出停止依頼を送信し、以降に受信したパケットを破棄し、前記エラーパケットの受信以前に受信した要求に対する応答が終了した場合に、前記第1の装置に対して送出再開依頼を送信することを特徴とする請求項1〜5のいずれか一つに記載の伝送システム。
  8. 伝送路を介して他の装置と接続する伝送装置であって、
    前記他の装置からの要求を1または複数の要求パケットとして前記伝送路を介して受信する要求受信部と、
    前記要求受信部が受信した要求を処理して応答を作成する応答処理部と、
    前記応答処理部が作成した応答を1または複数の応答パケットとして前記伝送路を介して前記他の装置に送信する応答送信部と、
    を備え、
    前記応答送信部は、前記応答の種類を判別する応答種別判別部と、前記応答種別判別部による判別結果に基づき、特定の種類の応答について選択的に前記応答パケットを冗長化する応答冗長化処理部と、をさらに備えたことを特徴とする伝送装置。
  9. 第1の装置と第2の装置とを伝送路で接続し、前記第1の装置から前記第2の装置に対する要求と前記第2の装置から前記第1の装置への応答とを前記伝送路を介して送受信する伝送方法であって、
    前記第1の装置が、前記第2の装置に対する要求を1または複数の要求パケットとして送信し、前記要求から前記応答までの時間が所定時間以上となった場合に前記要求パケットを再送信する要求送信ステップと、
    前記第2の装置が、前記第1の装置から前記要求パケットを受信し、受信した要求パケットのうち、エラーパケットを破棄する要求受信ステップと、
    前記第2の装置が、前記第1の装置に対する前記応答の種類を判別し、特定の種類の応答について選択的に応答パケットを冗長化して送信する応答送信ステップと、
    前記第1の装置が、前記第2の装置からの応答を1または複数の応答パケットとして受信し、受信した応答パケットのうち、エラーパケットと重複パケットとを破棄する応答受信部と、
    を含んだことを特徴とする伝送方法。
JP2008213219A 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法 Expired - Fee Related JP5035176B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008213219A JP5035176B2 (ja) 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法
US12/453,936 US8255601B2 (en) 2008-08-21 2009-05-27 Transmitting system, apparatus, and method
EP09161302.6A EP2157723B1 (en) 2008-08-21 2009-05-27 Data retransmission method and system
KR1020090050899A KR101077512B1 (ko) 2008-08-21 2009-06-09 전송 시스템, 전송 장치 및 전송 방법
CN200910142497XA CN101656595B (zh) 2008-08-21 2009-06-18 传输系统、设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008213219A JP5035176B2 (ja) 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法

Publications (2)

Publication Number Publication Date
JP2010050742A JP2010050742A (ja) 2010-03-04
JP5035176B2 true JP5035176B2 (ja) 2012-09-26

Family

ID=41258586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008213219A Expired - Fee Related JP5035176B2 (ja) 2008-08-21 2008-08-21 伝送システム、伝送装置および伝送方法

Country Status (5)

Country Link
US (1) US8255601B2 (ja)
EP (1) EP2157723B1 (ja)
JP (1) JP5035176B2 (ja)
KR (1) KR101077512B1 (ja)
CN (1) CN101656595B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5590022B2 (ja) * 2011-12-28 2014-09-17 富士通株式会社 情報処理装置、制御方法および制御プログラム
US20130346107A1 (en) * 2012-06-20 2013-12-26 Oracle International Corporation Mobile clinical research associate framework for offline capability
US8990662B2 (en) * 2012-09-29 2015-03-24 Intel Corporation Techniques for resilient communication
FR3007230B1 (fr) * 2013-06-17 2015-07-31 Sdmo Ind Procede de communication dans un reseau interconnectant au moins deux groupes electrogenes, et dispositif d’interfacage correspondant.
CN103428273B (zh) * 2013-07-18 2016-12-28 北京百度网讯科技有限公司 在异步式交互中进行响应询问的方法与装置
JP5800058B2 (ja) * 2014-05-26 2015-10-28 富士通株式会社 情報処理装置、制御方法および制御プログラム
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
CN109286476A (zh) * 2018-09-25 2019-01-29 京信通信系统(中国)有限公司 一种传输数据的方法、接收端及发送端

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145654A (ja) * 1984-08-10 1986-03-05 Nec Corp 多重化集線装置
JPH0530115A (ja) * 1991-07-19 1993-02-05 Nec Corp ポーリングシステム
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
JP3185760B2 (ja) * 1998-06-26 2001-07-11 日本電気株式会社 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体
JP2000341252A (ja) 1999-05-28 2000-12-08 Mitsubishi Electric Corp データ通信システム、データ送信装置、データ受信装置およびデータ通信装置
DE50112422D1 (de) * 2000-07-14 2007-06-14 Siemens Ag Verfahren und Anordnung zum Schutz gegen Paketverlusten bei einer paketorientierten Datenübertragung
JP3512755B2 (ja) * 2000-10-13 2004-03-31 シャープ株式会社 通信方式、通信装置、およびこの通信装置を用いた通信システム
KR100426535B1 (ko) * 2001-12-11 2004-04-08 삼성전자주식회사 무선통신기기 및 그 무선통신방법
KR100411446B1 (ko) * 2001-12-24 2003-12-18 엘지전자 주식회사 에이에이엘2 시그널링의 타입 3 패킷 처리 방법
US7197009B1 (en) * 2002-03-06 2007-03-27 Sprint Communications Company L.P. Delay variation based routing in communication systems
US7181674B2 (en) * 2002-06-28 2007-02-20 Sun Microsystems, Inc. Computer system including a network employing redundant information and slicing
JP4454320B2 (ja) * 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
JP3736641B2 (ja) 2004-01-22 2006-01-18 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7620409B2 (en) * 2004-06-17 2009-11-17 Honeywell International Inc. Wireless communication system with channel hopping and redundant connectivity
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法

Also Published As

Publication number Publication date
JP2010050742A (ja) 2010-03-04
EP2157723A2 (en) 2010-02-24
KR101077512B1 (ko) 2011-10-28
EP2157723A3 (en) 2013-12-25
EP2157723B1 (en) 2019-09-18
KR20100023732A (ko) 2010-03-04
US8255601B2 (en) 2012-08-28
CN101656595A (zh) 2010-02-24
US20100046364A1 (en) 2010-02-25
CN101656595B (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
JP5035176B2 (ja) 伝送システム、伝送装置および伝送方法
US5948060A (en) Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US7024591B2 (en) Mechanism for enabling enhanced fibre channel error recovery across redundant paths using SCSI level commands
JP4492035B2 (ja) データ処理装置
JP4391954B2 (ja) ファイル制御システムおよびファイル制御装置
CN111857838B (zh) 用于管理ufs装置与ufs主机之间的通信的方法和系统
JP5968119B2 (ja) カスケード接続による通信システム
CN104866454A (zh) 面向板级高速总线的写报文前瞻处理方法及装置
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
JP5151500B2 (ja) コンピュータシステム、障害処理方法および障害処理プログラム
US20140195871A1 (en) System and method for improved error response in data mirroring
JP5182417B2 (ja) 伝送データのエラーチェック装置および方法
JP5145860B2 (ja) メモリ二重化システム及び情報処理装置
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
CN114520711B (zh) 数据包的选择性重传
US20060140122A1 (en) Link retry per virtual channel
JP3027439B2 (ja) タイムスプリットバスの制御回路
JP2003122706A (ja) データ処理システム
WO2012093475A1 (ja) 情報転送装置および情報転送装置の情報転送方法
CN114520711A (zh) 数据包的选择性重传
JP2005277552A (ja) バスリトライ制御方式及びデータ通信装置
JP2005217487A (ja) パケット伝送システムおよびパケット伝送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

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

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

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5035176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees