JP2013065922A - 情報処理システム、送信装置、受信装置、及び情報処理方法 - Google Patents

情報処理システム、送信装置、受信装置、及び情報処理方法 Download PDF

Info

Publication number
JP2013065922A
JP2013065922A JP2011201805A JP2011201805A JP2013065922A JP 2013065922 A JP2013065922 A JP 2013065922A JP 2011201805 A JP2011201805 A JP 2011201805A JP 2011201805 A JP2011201805 A JP 2011201805A JP 2013065922 A JP2013065922 A JP 2013065922A
Authority
JP
Japan
Prior art keywords
data
retransmission
divided data
packet
transmission
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
JP2011201805A
Other languages
English (en)
Other versions
JP5857568B2 (ja
Inventor
Koji Sano
好次 佐野
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 JP2011201805A priority Critical patent/JP5857568B2/ja
Priority to US13/567,133 priority patent/US20130073919A1/en
Priority to EP12180832A priority patent/EP2571187A1/en
Publication of JP2013065922A publication Critical patent/JP2013065922A/ja
Application granted granted Critical
Publication of JP5857568B2 publication Critical patent/JP5857568B2/ja
Active 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
    • H04L1/1803Stop-and-wait protocols
    • 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/1896ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

【課題】データパケットの再送に要する時間を短縮させる。
【解決手段】複数の経路を介してパケットデータを送信する送信装置10と、複数の経路を介して送信されたパケットデータを受信する受信装置20とを有する情報処理システム。受信装置の複数の受信部221のいずれかが、受信した分割パケットデータのエラーを検出した場合に、正常に受信できなかった分割データの再送信を送信装置に要求すると共に、他の受信部に後続の分割データの受信を停止させるよう通知する。受信装置から分割データの再送信の要求を受けると、送信装置の複数の送信部121の各々が、分割データを、再送信であることを示す情報と共に再送信する。受信部の各々は、分割データの再送信を要求した後に、送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開する。
【選択図】図1

Description

本件は、情報処理システム、送信装置、受信装置、及び情報処理方法に関する。
近年、装置間の転送技術として10Gbpsを超える高速シリアル線(レーン)を束ねてデータ転送を行なう方式が一般に用いられるようになっている。このような高速シリアル転送では、一般に、送信側で転送する情報をパケットに分割してから、各パケットの最後に巡回冗長検査バイト(cyclic redundancy check;以下、CRC)を付加して送信し、受信側でCRCのチェックを行なう。伝送速度が高速になるにつれ、送信パケット内にエラーが発生する確率が高くなる。
このような装置間データ転送中に、パケットのデータ中にエラーが検出された場合、そのデータパケットが再送される。
例えば、下記の特許文献1および2では、エラーとなったパケット全体を再転送する。
特開2004−7354号公報 国際公開第97/33227号
しかし、エラーとなったパケット全体を再送する場合、パケットの再送に要する時間が長くなる。
このようなデータパケット再送にかかる遅延は、特に、高速な半導体データ記憶装置へのデータの書き込みにおいて顕著となる。
本発明は、1つの側面では、データパケットの再送が発生した場合に、データパケット再送に要する時間を短縮させることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、本情報処理システムは、複数の経路を介してパケットデータを送信する送信装置と、前記複数の経路を介して送信されたパケットデータを受信する受信装置とを有する情報処理システムであって、前記送信装置は、パケットデータを分割して分割データを生成する分割部と、前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備え、前記受信装置は、前記複数の経路のうちの対応する経路から受信した分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開することを特徴としている。
また、本送信装置は、複数の経路を介して受信装置にパケットデータを送信する送信装置であって、送信されるパケットデータを分割して分割データを生成する分割部と、前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備えることを特徴としている。
また、本受信装置は、複数の経路を介して送信装置から送信されるパケットデータを受信する受信装置であって、前記複数の経路のうちの対応する経路から受信した、パケットデータを分割して生成された分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開することを特徴としている。
また、本情報処理方法は、複数の経路を介して、前記複数の経路のいずれかに接続され、送信バッファを有する複数の送信部を有する送信装置から、前記複数の経路のいずれかに接続された受信部とを有する受信装置にパケットデータを送信する情報処理方法であって、前記送信装置により、パケットデータを分割して分割データを生成し、前記分割データを、前記複数の送信部の前記送信バッファに格納し、前記送信バッファに格納された分割データを、接続された経路を介して前記複数の送信部により送信し、前記複数の受信部により、接続された経路から分割データを受信し、受信した分割データのエラーを検出すると、エラーを検出した受信部により、他の受信部に後続の分割データの受信を停止させるよう通知し、前記受信装置から前記送信装置に、分割データの再送信を前記送信装置に要求し、前記受信装置から分割データの再送信の要求を受信すると、前記複数の送信部の各々から、前記送信バッファに格納されている前記分割データを、再送信であることを示す情報と共に再送信し、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信を停止していた前記受信部の各々により受信処理を再開することを特徴としている。
本開示によれば、データパケットの再送が発生した場合に、データパケット再送に要する時間を短縮させることができる。
実施形態の一例としての情報処理システムのハードウェア構成を模式的に示す図である。 実施形態の一例としての情報処理システムにおけるポートの構成を模式的に示す図である。 実施形態の一例としての情報処理システムにおけるデータパケットのデータ構成例を示す図である。 実施形態の一例としての情報処理システムにおける再送要求コマンドパケットのデータ構成例を示す図である。 実施形態の一例としての情報処理システムにおける再送処理の概要を示す図である。 実施形態の一例としての情報処理システムにおけるポートにおける処理を模式的に示す図である。 実施形態の一例としての情報処理システムにおける処理のフローチャートである。 実施形態の一例としての情報処理システムにおけるタイムチャートである。 実施形態の一例としての情報処理システムにおけるタイムチャートである。
(A)システム構成
図1は、実施形態の一例としての情報処理システム1の構成を模式的に示す図である。
本情報処理システム1は、情報処理装置(送信装置)10と、記憶装置(System Storage Unit:SSU)(受信装置)20とを有し、情報処理装置10と記憶装置20とが、ケーブル30で接続されている。
情報処理装置10は、例えばクラスタを構成する個々のクラスタシステムなどである。情報処理装置10は、ポート12、メモリアクセス制御装置(memory access controller:MAC)13、メモリ14、システム制御装置(system controller:SC)15、中央処理装置(central processing unit:CPU)16、およびチャネル制御装置(channel controller:CH)17を備える。
ポート12は、高速シリアルデータ伝送を行なうインタフェースであり、3個のモジュール121を有する。そして、これらの3個のモジュール121が、後述する記憶装置20のポート22の3個のモジュール221と、ケーブル30を介してそれぞれ接続されている。このポート12は、システムチップ上に実装されている。また、MAC13、メモリ14、SC15、CPU16およびCH17もシステムチップ上に実装されていてもよい。
MAC13は、後述するメモリ14へのアクセスを制御する。なお、図1には複数のMAC13が図示されているが、MAC13は単一でも複数でもよい。
メモリ14は、データを記憶する記憶装置であり、例えば、デュアルインラインメモリモジュール(dual inline memory module:DIMM)である。メモリ14へのデータの読み出しおよび書き込みが、上述したMAC13によって制御される。
システム制御装置15は、CPU16とMAC13、ポート12,CH17間のデータやコマンドの受け渡しを行なう。
CPU16は、演算処理を行なう装置である。なお、図1には複数のCPU16が図示されているが、CPU16は単一でも複数でもよい。
CH17は、チャネル制御装置であり、図示しない各種装置が接続され、その各種装置との間の入出力を行なうためのチャネルを制御している。
記憶装置20は、高速記憶装置であり、例えば、半導体記憶装置である。例えば、この記憶装置20は、情報処理装置10に対して記憶領域を提供する。
記憶装置20は、ポート22、メモリアクセス制御装置(MAC)23、メモリ24、優先度決定部25、および処理部26を備える。
ポート22は、高速シリアルデータ伝送を行なうインタフェースであり、3個のモジュール221を有する。そして、これらの3個のモジュール221が、情報処理装置10のポート12のモジュール121と、ケーブル30を介してそれぞれ接続されている。このポート22は、システムチップ上に実装されている。また、MAC23、メモリ24、優先度決定部25、および処理部26もシステムチップ上に実装されていてもよい。
MAC23は、メモリ24へのアクセスを制御する。なお、図1には複数のMAC23が図示されているが、MAC23は単一でも複数でもよい。
メモリ24は、データを記憶する記憶装置であり、例えば、DIMMである。メモリ24へのデータの読み出しおよび書き込みがメモリアクセス制御装置23によって制御される。
優先度決定部25は、情報処理装置10から送信された要求の優先度を決定する。
処理部26は、記憶装置20の構成に係わる処理を行なう。
ケーブル30は、高速シリアル伝送技術を採用したシリアル線(レーン;経路)31−0,31−1,31−2を束ねたものである。各シリアル線31−0,31−1,31−2は、電気ケーブルまたは光ケーブルであり、例えば、10Gbpsを超える高い伝送速度を実現する。
なお、以下、シリアル線を示す符号としては、複数のシリアル線のうち1つを特定する必要があるときには符号31−0〜31−2を用いるが、任意のシリアル線を指すときには符号31を用いる。
情報処理装置10と、記憶装置20とは、パケット化されたデータ(データパケット300)を、ケーブル30を介して送受信することにより、情報処理装置10と記憶装置20との間でデータの読み出し及び/又は書き込みを行なっている。また、データパケット300にエラーが検出された場合、記憶装置20から情報処理装置10に対して、当該データパケットの再送を要求する再送要求コマンドパケット400(図4参照)も送信される。
ここで、情報処理装置10と記憶装置20間のデータパケット転送では、図2に関して後述する複数個のモジュール121,221の対を使用して、データを、モジュールの対の個数に応じて分割したのち転送している。図1には、3組のモジュールの対(うち、1対は冗長モジュール)を使用してデータパケット転送を行なう例が図示されている。
なお、ここで定義するモジュール121,221とは、高速伝送の送受信処理を行なう回路(機能ブロック)であり、1対の冗長モジュールを含む。このような冗長モジュールが存在することにより、3個のモジュールのうちの1個のモジュールが破損しても、情報処理システム1の動作を継続することが可能となる。ここでは、後述するようにモジュール121−2,221−2を冗長モジュールとしている。
次に、図2を参照して、情報処理システム1におけるポート12,22の構成を更に詳細に説明する。
図2は、実施形態の一例としての情報処理システム1におけるポート12,22の構成を模式的に示す図である。
図2の左側には、情報処理装置10のポート12が、図2の右側には、記憶装置20のポート22が、それぞれ図示されている。
情報処理装置10のポート12は、図2の左側に示すように、分割部111、共通部(制御部)112、および送信側モジュール(送信部)121−0,121−1,121−2を有する。これらのうち、送信側モジュール121−2は冗長用の送信側モジュールである。
なお、以下、送信側モジュールを示す符号としては、複数の送信側モジュールのうち1つを特定する必要があるときには符号121−0〜121−2を用いるが、任意の送信側モジュールを指すときには符号121を用いる。
分割部111は、データの転送効率を上げるために、記憶装置20に書き込むべきデータ(送信データ)を、送信側モジュール121の総数から、冗長用の送信側モジュール121の個数を引いた値、すなわち、送信側モジュール121の総数−1(図2では3−1=2)に分割する。この分割されたデータが、送信側モジュール121−0,121−1のいずれかに送信される。
共通部112は、送信側モジュール121−0,121−1に対して共通の処理を行なう。共通部112は、読み出しカウンタ(RD−CT)格納部113、再送フラグ格納部114、再送要求受信レジスタ115、およびパケット解析部116を有する。
RD−CT格納部113は、記憶装置20に記憶すべきデータをパケットに分割した際の、パケットのシーケンス番号である読み出しカウンタ(RD−CT)値を記憶する領域である。このRD−CT値は、送信側モジュール121の後述するRAM122から読み出されるデータのアドレスに対応している。RD−CT格納部113に格納されているRD−CT値は、RAM122からデータが読み出される毎にインクリメントされる。
再送フラグ格納部114は、データパケットを再送すべきかどうかを示すフラグ値を記憶する領域である。例えば、記憶装置20からデータの再送要求が行なわれると、再送フラグ格納部114に値“1”が記憶され、情報処理装置10はデータパケットの再送を行なう。
再送要求受信レジスタ115は、記憶装置20から受信した再送要求コマンドパケットを一時記憶するレジスタ群であり、レジスタ115−1〜115−5の5つのレジスタを有する。これらのレジスタは、図9を参照して後述する再送処理において、RD−CT格納部113および再送フラグ格納部114の値の書き換え、並びに再送データの読み出し再開のタイミングを調整するために使用される。
パケット解析部116は、記憶装置20から受信したパケットを解析し、このパケットが、図4を参照して後述する再送要求コマンドパケット400かどうかを判定する。パケット解析部116は、受信パケットが再送要求コマンドパケット400である場合、このパケットを再送要求受信レジスタ115に渡す。
送信側モジュール121は、ランダムアクセスメモリ(random access memory:RAM;送信バッファ)122と、データパケット生成部123とを有する。
なお、図2には、送信側モジュール121−0の内部構成のみが図示されているが、送信側モジュール121−0,121−1,121−2は同様の構成を有する。このため、図2には便宜上、送信側モジュール121−0の構成のみを示し、送信側モジュール121−1,121−2についての構成の図示を省略し、かつここでの説明も省略する。
RAM122は、分割部111によって分割されたのち送信側モジュール121に送られた送信データを記憶する記憶領域である。
データパケット生成部123は、分割部111によって分割され、送信側モジュール121に送られた送信データに、前述の共通部112のRD−CT格納部113から読み出したRD−CT値を付加して、パケットを生成する。データパケット生成部123は、生成したパケットを、対応する受信側モジュール221に送信する。
一方、記憶装置20のポート22は、図2の右側に示すように、受信側モジュール(受信部)221−0,221−1,221−2と、再送要求処理部222とを有する。これらのうち、受信側モジュール221−2は冗長用の受信側モジュールである。
なお、以下、受信側モジュールを示す符号としては、複数の受信側モジュールのうち1つを特定する必要があるときには符号221−0〜221−2を用いるが、任意の受信側モジュールを指すときには符号221を用いる。
受信側モジュール221の個数は、情報処理装置10のポート12の送信側モジュール121の個数に対応している。具体的には、送信側モジュール121−0と受信側モジュール221−0とが、図1に示したシリアル線31−1により接続されており、送信側モジュール121−1と受信側モジュール221−1とが、シリアル線31−1により接続されている。更に、冗長用の送信側モジュール121−2と受信側モジュール221−2とが、シリアル線31−2により接続されている。
受信側モジュール221は、パケットチェック部212、コピー部213,218、データパケット抑止フラグ格納部214、カウントアップフラグ格納部215、書き込みカウンタ(WT−CT)格納部216、RAM217、および書き込みカウンタコピー(WT−CT−CP)格納部219を有する。
なお、図2には、受信側モジュール221−0の内部構成のみが図示されているが、受信側モジュール221−0,221−1,221−2は同様の構成を有する。このため、図2には便宜上、受信側モジュール221−0の構成のみを示し、受信側モジュール221−1,221−2についての構成の図示を省略し、かつここでの説明も省略する。
パケットチェック部212は、送信側ポート12から受信したパケットをチェックする。例えば、パケットチェック部212は、受信パケットのCRCチェック、パケット抜けチェックを実行して、エラーの有無を調べる。受信パケットにエラーが検出されなければ、パケットチェック部212は、コピー部218に、後述するWT−CT格納部216の値を、後述するWT−CT−CP格納部219にコピーさせる。受信パケットに何らかのエラーが検出されれば、パケットチェック部212は、データパケット抑止フラグ格納部214に値“1”をセットして、送信側ポート12からの後続のパケットの受信を抑止すると共に、後述する再送要求処理部222にパケットエラーを通知する。
コピー部213は、後述する受信データパケットのヘッダ部301のREAD−ADRS312を、後述するWT−CT格納部216にコピーする。
コピー部218は、後述するWT−CT格納部216の値を、後述するWT−CT−CP格納部219にコピーする。
データパケット抑止フラグ格納部214は、送信側ポート12からの後続のパケットの受信を抑止するかどうかを示すフラグを記憶する領域である。後続のパケットの受信を抑止する場合にはデータパケット抑止フラグ格納部214に値“1”がセットされる。一方、後続のパケットの受信を抑止しない場合には値“1”はセットしない。すなわち値は”0”のままである。
カウントアップレジスタ215は、データのカウントアップを指示するレジスタである。パケットデータを受信する度にカウントアップ指示され、カウントアップレジスタ215に値“1”がセットされる。
WT−CT格納部216は、RAM217にデータを書き込む際に使用される書き込みカウンタ(WT−CT)値を記憶する領域である。このWT−CT値は、受信側モジュール221の後述するRAM217に書き込まれるデータのアドレスに対応している。WT−CT格納部216のWT−CT値は、RAM217にデータが書き込まれる毎にインクリメントされる。
RAM217は、受信データパケットの書き込み先の記憶領域である。
WT−CT−CP格納部219は、情報処理装置1から正常に受信できた最後のデータを示す情報であるWT−CT値を記憶する領域である。WT−CT−CP格納部219には、情報処理装置1から正常に受信できた最後のデータを示すWT−CT格納部216のカウンタ値のコピーが格納される。WT−CT−CP格納部219にフラグ値を設定する具体的な処理に関しては、図6,図7を参照して後述する。
再送要求処理部222は、受信側モジュール221−0〜2によって共通に使用される処理部である。再送要求処理部222は、受信側モジュール221のパケットチェック部212によって、送信側ポート12から受信したパケット内にエラーが検出された場合に、送信側ポート12にデータパケットの再送を要求する。
図3は、実施形態の一例としての情報処理システム1で使用されるデータパケット300の構成例を示す。
データパケット300は、実施形態の一例としての情報処理システム1において、例えば、情報処理装置10から記憶装置20に送信されるデータをパケット化することで生成される。
データパケット300は、例えば、ヘッダ部301、ペイロード部302およびターミネータ部303を有する。
ヘッダ部301は、パケットのヘッダであり、例えば、開始バイト310、KIND/再送フラグ311、READ−ADRS312、および装置ADRS313を有する。
開始バイト310は、パケットの開始を示すバイトであり、図中“/s”で示されている。KIND/再送フラグ311は、パケットの種類を示す情報と共に、当該データパケットが再送パケットかどうかを示す情報を格納している。READ−ADRS312は、RAM122の読み出し開始のアドレスを示す。装置ADRS313は、記憶装置20のデータ格納先アドレスを示す。
ペイロード部302は、パケットにより送信するデータが格納されており、例えば、データバイト314とCRC315とを有する。データバイト314には、情報処理装置10から記憶装置20に送信されるデータ本体である。CRC315は、図3において縦に並んだ8τ分のデータバイト314のCRCである。例えば、図3の10τにおけるCRC0nは、バイト0のDATA0n〜7nの8τ分のデータバイト314のCRCであり、CRC1nは、バイト1のDATA0n+1〜7n+1の8τ分のデータバイト314のCRCである。また、CRC2nは、バイト1のDATA0n+2〜7n+2の8τ分のデータバイト314のCRCである。
ターミネータ部303は、データパケットの終端を示し、例えば、ターミネータ316とアイドルバイト317とを有する。ターミネータ316は図中“/t”で示されており、アイドルバイト317は図中“/i”で示されている。
図4は、実施形態の一例としての情報処理システム1で使用される再送要求コマンドパケット400のデータ構成例を示す。
再送要求コマンドパケット400は、情報処理装置10から記憶装置20に送信されたデータパケット300においてエラーが検出された場合に、情報処理装置10に対してパケットの再送を要求するために使用されるコマンドパケットである。
再送要求コマンドパケット400は、例えば、ヘッダ部401、ペイロード部402およびターミネータ部403を有する。
ヘッダ部401は、パケットのヘッダであり、例えば、開始バイト410、KIND411およびWRITE−ADRS412を有する。開始バイト410は、パケットの開始を示すバイトであり、図中“/s”で示されている。KIND411は、パケットの種類を示す情報を格納している。WRITE−ADRS412は、再送要求開始のアドレスを示す。
ペイロード部402は、この再送要求コマンドパケット400の場合は、ヘッダ部401のCRCデータであるCRC413を有する。例えば、図4の2τにおけるCRC0nは、開始バイト410のCRCであり、CRC1nは、KIND411のCRCである。また、CRC2nは、WRITE−ADRS412のCRCである。
ターミネータ部403は、データパケットの終端を示し、例えば、ターミネータ415とアイドルバイト416とを有する。ターミネータ415は図中“/t”で示されており、アイドルバイト416は図中“/i”で示されている。
なお、バイト“/s”、“/t”および“/i”や、CRCの算出方法については、業界で一般に用いられている各種パケット伝送方式の規格に記載されており、これらの説明をここでは省略する。
(B)システムの動作
次に、上記の情報処理システム1の動作を示す。
まず、図5を参照して、実施形態の一例としての情報処理システム1におけるパケットエラー発生時の再送処理の概要を示す。
図5は、情報処理装置10から記憶装置20に対して、記憶装置20に記憶させるデータのパケットを送信した際に、パケットエラーが発生した場合の概要を示す。
図5のステップSA1において、情報処理装置10は、送信するデータパケット300に、読み出しカウンタ(RD−CT)値に対応するREAD−ADRS312を付加する。このRD−CT値は、例えば、記憶装置20に記憶すべきデータをパケットに分割した際の、パケットのシーケンス番号である。
ステップSA2において、情報処理装置10は、READ−ADRS312を付加したパケットを、記憶装置20に送信する。
ステップSA3において、記憶装置20は、情報処理装置10からデータパケット300を受信し、WT−CT格納部216のWT−CT値をインクリメントする。そして、記憶装置20はCRCのチェックを行ない、例えばCRCエラーを検出する。
ステップSA4において、記憶装置20は、情報処理装置10に対して、CRCエラーが発生したパケットに対するデータ再送要求コマンドパケット400を送信する。その際、記憶装置20は、エラーが発生したパケットのWT−CT値を、WRITE−ADRS412としてデータ再送要求コマンドパケット400に付加する。
ステップSA5において、情報処理装置10は、記憶装置20からのデータ再送要求コマンドパケット400を受信する。
そして、情報処理装置10は、後続のパケットの送信を抑止すると共に、記憶装置20から受信したデータ再送要求コマンドパケット400中のWRITE−ADRS412の値により、共通部112のRD−CT格納部113の値を上書きする(この処理を、「RD−CTを巻き戻す」とも称する)。
ステップSA5と並行して、記憶装置20は、ステップSA6において、再送データを受信する準備を行なう。詳細には、記憶装置20は、受信側モジュール221のWT−CT格納部216のWT−CT値を、正常に受信できた最後のデータのカウンタ値(WT−CT−CP)に戻す(この処理を、「WT−CTを巻き戻す」とも称する)。
情報処理装置10は、記憶装置20に再送データパケット300を送信する(ステップSA7)。
最後に、記憶装置20は、情報処理装置10から再送データパケット300を受信する(ステップSA8)。
次に、図6,図7を参照して、情報処理システム1におけるポート12,22の処理を更に詳細に説明する。
図6は、実施形態の一例としてのブロック図であり、図7は、実施形態の一例としてのフローチャートであり、図6と図7の図中の丸かっこで囲んだ番号は、対応する処理を示している。また後述する図8,図9においても、丸かっこで囲んだ番号が対応する処理を示している。
この例においては、情報処理装置10から、半導体記憶装置である記憶装置20に記憶させたいデータをパケット転送する。
まず、情報処理装置10の分割部111は、データの転送効率を上げるために、記憶装置20に送信するデータを、送信側モジュール121の個数に対応した数に分割し(図7のステップSB1)、分割した送信データを送信側モジュール121のいずれかに送信する。例えば、図6においては、データが2つに分割され、それぞれが、送信側モジュール121−0,121−1に送信される。なお、図2に示したモジュール121−2,221−2は、前述のように冗長用のモジュールであるので、簡潔を期するために本図では省略している。
分割されたデータは各送信側モジュール121のRAM122に書き込まれる。所定量のデータがRAM122に書き込まれると、ポート12の共通部112は、RD−CT格納部113の値を参照して(図6の処理(1))、RAM122に書き込まれているデータを、各送信側モジュール121のデータパケット生成部123に同時に読み出させる(図7のステップSB2)。
詳細には、送信側モジュール121は、RD−CT格納部113に格納されているカウンタ値を参照して、RAM122内のこのカウンタに対応するアドレスに格納されているデータを読み出す。なお、前述のように、RD−CT格納部113は、データがRAM122から読み出される毎にインクリメントされる。
データパケット生成部123は、読み出したデータをパケット化してデータパケット300を生成する(図7のステップSB3)。データパケット生成部123は、図3に示したパケットのヘッダ部301を生成する(図6の処理(2))。詳細には、データパケット生成部123は、RAM122からデータを読み出すのに使用したRD−CT格納部113の値を、データパケット300のヘッダ部301のREAD−ADRS312にセットする。また、このデータパケット300は再送データパケットではないので、図3のヘッダ部301の再送フラグには値“0”がセットされる。
また、データパケット300のペイロード部302には、図3に示すように、所定バイト単位(本実施形態では64バイト単位(8τ単位))にCRCが付加される。
データパケット生成部123は、このようにして生成したデータパケット300を、相手先の受信側モジュール221に送信する。
一方、受信側モジュール221はパケットを受信する(図7のステップSB4)。
パケットチェック部212は、受信したパケットのKIND/再送フラグ311をチェックして、受信データパケットが、データパケットかコマンドパケットかをチェックする(図7のステップSB5)。
受信パケットが、コマンドパケットである場合(図7のステップSB5の「Cmdパケット」ルート参照)、パケットチェック部212は、受信パケットのチェック(例えば、CRCチェックやパケット抜けチェック)を行なう(図6の処理(3)、図7のステップSB6)。
図7のステップSB6においてエラーが検出された場合(図7のステップSB6の「Yes」ルート参照)、パケットチェック部212は、パケットを破棄する(図7のステップSB7)。
図7のステップSB6においてエラーが検出されなかった場合(図7のステップSB6の「No」ルート参照)、パケットチェック部212は、コマンドを解析して処理させる(図7のステップSB8)。
一方、図7のステップSB5において、受信パケットがデータパケットである場合(図7のステップSB5の「Dataパケット」ルート参照)、パケットチェック部212は、KIND/再送フラグ311をチェックして、受信データパケットが、再送データパケットであるかどうかをチェックする(図7のステップSB9)。
その際、受信データパケット300のヘッダ部301の再送フラグ311の値が“1”であり、かつ、ヘッダ部301のREAD−ADRS312と受信側モジュール211のWT−CT−CP格納部219の値とが対応(例えば一致)していれば、再送データパケットであると判定される。
受信データパケットが再送データパケットではない場合(図7のステップSB9の「No」ルート参照)、受信データが、各送信側モジュール211のWT−CT格納部216(図6の処理(4))の値に対応するRAM217のアドレスに書き込まれる(図7のステップSB11)。また、WT−CT格納部216は、RAM217にデータが書き込まれる毎にインクリメントされる。
一方、受信データパケットが再送データパケットである場合(図7のステップSB9の「Yes」ルート参照)、パケットチェック部212は、データパケット抑止フラグ214に値“0”をセットする(図6の処理(5))。また、コピー部213は、受信データパケットのヘッダ部301のREAD−ADRS312を、WT−CT格納部216にコピーする(図6の処理(13)、図7のステップSB10)。
また、パケットチェック部212は、受信パケットのチェック(例えば、CRCチェックやパケット抜けチェック)を行なう(図6の処理(3)、図7のステップSB12)。
パケットチェック部212がパケットのエラーを検出しなかった場合(図7のステップSB12の「No」ルート参照)、コピー部218は、WT−CT格納部216の値を、WT−CT−CP格納部219にコピーする(図6の処理(8)、図7のステップSB13)。このように、WT−CT格納部216の値をコピーすることにより、WT−CT−CP格納部219に格納されている値が、正常に受信できた最後のデータブロックを示す値となる。
一方、図7のステップSB12においてパケットのエラーを検出した場合(図7のステップSB12の「Yes」ルート参照)、パケットチェック部212は、データパケット抑止フラグ格納部214に値“1”をセットして(図6の処理(5))、以降のデータパケットの受信を抑止する(図7のステップSB14)。このように、データパケット抑止フラグ格納部214に値“1”がセットされると、以降受信するデータパケットが、パケットチェック部212によって破棄されるようになる。これと同時に、パケットチェック部212は、再送要求処理部222にエラーを通知する。
受信側モジュール221からエラーを通知された再送要求処理部222は、図4に示すような再送要求コマンドパケット400を生成する。その際、再送要求処理部222は、エラーを検出した受信側モジュール221のWT−CT−CP格納部219の値を再送要求コマンドパケット400のWRITE−ADRS412にセットする。そして、再送要求処理部222は、生成した再送要求コマンドパケット400を送信側ポート12に送信し、再送要求を行なう(図6の処理(6)、図7のステップSB15)。
このように、再送要求コマンドパケット400のWRITE−ADRS412に、WT−CT−CP格納部219の値をセットすることにより、受信側ポート22は、正常に受信できなかったデータ以降を再送するように送信側ポート12に指示する。
更に、エラーを検出した受信側モジュール221は、他の受信側モジュール221に対して、データパケット抑止フラグ格納部214の値と、WT−CT−CP格納部219の値とを通知する(図6の処理(12)、図7のステップSB16)。
エラーを検出した受信側モジュール221から通知を受けた他の受信側モジュール221は、自モジュール221のデータパケット抑止フラグ格納部214に値“1”をセットすると共に、自モジュール221のWT−CT−CP格納部219の値を、受信した値に書き換える。
なお、複数の受信側モジュール221がエラーを検出した場合は、モジュール間スキューの影響により、各受信側モジュール221が報告するWT−CT−CP格納部219の値が一致しないことがある。このような場合、再送要求処理部222は、複数の受信側モジュール221から報告されたWT−CT−CP格納部219の値のうち値が最小なものを選択して、送信側ポート12に送信する再送要求コマンドパケット400を生成する。また、受信側モジュール221は、自モジュール221のWT−CT−CP格納部219の値を、WT−CT−CP格納部219の値のうちの最小値で上書きする。
一方、送信側では、送信側ポート12が、再送要求コマンドパケット400を受信し、送信側ポート12の共通部112のパケット解析部116がこのコマンドパケット400を解析する(図6の処理(9)、図7のステップSB17)。
パケット解析部116は、受信コマンドパケットが再送要求コマンドパケット400かどうかを判定する(図7のステップSB18)。
受信コマンドパケットが再送要求コマンドパケット400でない場合(図7のステップSB18の「No」ルート参照)、このコマンドが適宜処理される(図7のステップSB20)。
一方、受信コマンドパケットが再送要求コマンドパケット400である場合(図6の処理(9)、図7のステップSB18の「Yes」ルート参照)、RD−CT格納部113が停止され、データパケット生成部123によるRAM122からのデータの読み出しが一旦抑止される。これにより、以降のデータパケットの送出が阻止される。更に、再送要求コマンドパケット400のWRITE−ADRS412にセットされている、受信側モジュール221のWT−CT−CP格納部219の値が、共通部112のRD−CT格納部113にコピーされる(図6の処理(7))。同時に、再送フラグ格納部114に値“1”がセットされる(図6の処理(10)、図7のステップSB19)。
次に、WT−CT−CP値をRD−CT格納部113にコピーした後に、各送信側モジュール122が、RD−CT格納部113を再度動作させ、受信側ポート12から再送を要求されているデータの再送を行なう(図7のステップSB21)。
その際、データパケット生成部123により、再送対象の先頭のデータパケット以降のパケットの生成時に再送フラグ収納部114の値が“0”にセットされ、2つめ以降の再送パケットのヘッダ部の再送フラグの値も“0”にセットされる(後述の図9(10)参照)。
あるいは、再送対象の全データパケットが送信されたときに、再送フラグ収納部114の値が“0”にセットされ、各送信側モジュール121が再送するデータパケット300のヘッダ部の再送フラグの値が“0”に戻されてもよい。
なお、再送対象の全データパケットが送信されたかどうかの判定は、例えば、図7のステップSB19においてRD−CT格納部113が停止された時点のカウンタ値のバックアップ(不図示)と、RD−CT格納部11の現在のカウンタ値とを比較することによって行なうことができる。
再送フラグ収納部114の値がいずれのタイミングで“0”にセットされても、受信側モジュール221が再送パケットを1つでも受信するとWT−CT格納部216の値が巻き戻されるので、再送データが全てRAM217の正しいアドレスに書き込まれるようになる。
また、各受信側モジュール221は、再送データパケットを受信すると、当該パケットのヘッダ部301のREAD−ADRS312の値を、自身のWT−CT格納部216にコピーする。また、データパケット抑止フラグ格納部214に値“0”をセットして、データパケットの受信動作を再開させる。仮に、再送フラグのみでパケットのヘッダ部301のREAD−ADRS312を自身のWT−CT格納部216にコピーしてしまうと、再送フラグ格納部114でビット反転が起こる。この際に、READ−ADRS312が誤っていると、正常に書き込まれているRAM217のアドレスに、誤ってデータが上書きされることになる。これを防ぐために、READ−ADRS312とWT−CT−CP格納部219の値とを対応(例えば一致)させるのである。このようにする理由は、パケットのヘッダ部301の情報がCRCチェック前に使用されるためである。
次に、上記の再送処理を、図8,図9のタイムチャートを参照して更に詳細に説明する。図8,図9は、実施形態の一例としての情報処理システム1におけるタイムチャートである。
図8と図9とは時間的に連続している。つまり、図8は、情報処理装置10における1τ〜32τの時点、および記憶装置20における0τ〜20τの時点を示し、図9は情報処理装置10における33τ〜74τの時点、および記憶装置20における21τ〜24τの時点を示す。
前述のように、図8,図9の図中の丸かっこで囲んだ番号は、図6,図7の対応する処理を示している。
図8,図9中、上半分は情報処理装置10側の処理を、下半分は記憶装置20側の処理を示す。
更に、上半分の情報処理装置10側は、上から順に、(a)共通部112のRD−CT格納部113の値、(b)送信データパケット300、(c)再送要求コマンドパケット400の受信、(d)共通部112の再送フラグ格納部114の値、および(e)共通部112の再送要求レジスタ115−1〜115−5の値を示す。
また、下半分の記憶装置20側は、上から順に、(a)受信側モジュール221のWT−CT格納部216の値、(b)受信データパケット300、(c)CRCのエラーの有無(「CRC−OK」はエラーなし、「CRC−ERR」はエラーあり)を示す。更に、(d)受信側モジュール221のWT−CT−CP格納部219の値、(e)データパケット抑止フラグ格納部214の値、および(f)再送要求コマンドパケット400の送信を示す。
なお、データパケット300中の“/s”はデータパケット300のヘッダ部301を、“D”はペイロード部302のDATAn314を、“C”はペイロード部302のCRC315を、“/t”はターミネータ部303を示す。
情報処理装置10は、図8の1τの時点(符号P1参照)において、データパケット300のヘッダ部301を送信し、(再送ではない)通常のデータパケット300の送出を開始する。このヘッダ部301には、図3の1τ目に示したような情報が入る。このデータパケット300は再送データパケットではないので、再送フラグに値“0”がセットされ、共通部112のRD−CT格納部113の値が“0”であれば、READ−ADRS312にも値“0”がセットされる。
続いて、情報処理装置10はデータ“D”を8τ送出したのち(符号P2参照)、“C”で示すCRCを送出する(符号P3)。以降、情報処理装置10は、データと、定期的に挿入されるCRCとを含むペイロード部302を送出する。
受信側の記憶装置20は、このデータパケット300を受信する(符号P4参照)。そして、受信データパケット300に対してCRCチェックを行ない、エラーが検出されない場合(処理(1))、WT−CT格納部216の値“8”が、WT−CT−C時点P格納部219にコピーされる(符号P5)。この動作は、CRCを正常に受信する都度繰り返される(例えば、符号P6参照)。
図9の受信側の記憶装置20のWT−CT格納部216の値が“23”の時点において、受信したCRCにエラーが検出される(符号P7参照)。このエラー検出をトリガとして、データパケット抑止フラグ格納部214に値“1”がセットされ(処理(3))、以降のデータパケットの受信が抑止される(処理(4))。更に、再送要求処理部222が、再送要求コマンドパケット400を、図8に示すフォーマットで生成して、情報処理装置10に送信する(処理(5))。この処理には、例えば3τ要する(符号P8参照)。なお、WT−CT−CP格納部219の値が“16”であるので、再送要求コマンドパケット400のWRITE−ADRS412の値が“16”に設定される。
送信側の情報処理装置10は、再送要求コマンドパケット400を受信する(処理(6)、符号P9参照)。この受信をトリガとして、共通部112のRD−CT格納部113のカウントアップが抑止され(処理(7))、再送フラグ格納部114に値“1”がセットされ(処理(8))、WT−CT−CP格納部219の値が、RD−CT格納部113にコピーされる(処理(9))。本例においては、RD−CT格納部113は値“46”が設定された状態でカウントアップが抑止され、WT−CT−CP格納部219の値“16”に書き換えられる。その後、再度、RAM122からのデータの読み出しが行なわれて、データパケット300の再送が行われる。このデータパケット300は再送データパケットであるので、ヘッダ部301の再送フラグには値“1”がセットされ、READ−ADRS312には“16”が設定される。
再送データパケットの送信が開始される(符号P10参照)と、データパケット生成部123により再送フラグ格納部114の値が“0”に戻される(処理(10))。
受信側の記憶装置20は、再送フラグに値“1”がセットされ、READ−ADRS312が“16”に設定されているデータパケット300を受信する(符号P11参照)。自モジュール内のWT−CT−CP格納部219の値が、データパケット300のREAD−ADRS312と同じ“16”であるので、記憶装置20は、このデータパケット300が再送データパケットであると認識する。
データパケット抑止フラグ格納部214に値“0”がセットされる(処理(11))と共に、再送データパケット300のREAD−ADRS312の値がWT−CT格納部216にコピーされる。この後の処理は、通常通り行なわれる。
(C)効果
このように、実施形態の一例としての情報処理システム1によれば、パケットデータを分割して、複数の送信側モジュール121と複数の受信側モジュール221を使用して分割データを同時に送信するので、パケットデータ転送を高速化することができる。
また、実施形態の一例としての情報処理システム1によれば、受信側の記憶装置20の再送要求処理部222が、正常に受信できた最後のデータブロックの情報を付加して再送要求を行なう。これにより、送信側の情報処理装置10は、データパケットを失敗したパケット単位で再送せずに、エラーが発生した部分から再送を開始することができる。これにより、データの再送に要する時間を短縮することができる。つまり、再送要求コマンドパケット400に、WT−CT−CP格納部219の値を付加することにより、受信側の記憶装置20は、正常に受信できたデータは再送しないように送信側の情報処理装置10に指示できるのである。
また、再送データパケットに、書き込み先のアドレスを示す情報WRITE−ADRSが付加される。このため、受信側の記憶装置20は、先に受信したパケット全体を破棄してデータの書き込みを最初から行なう必要がなく、エラーが発生した部分からデータの書き込みを行うことができる。これによっても、データの再送に要する時間を短縮することができる。
また、記憶装置20が再送要求コマンドパケットを送信後、再送要求応答のやり取りを行なわずに、再送データパケットの送受信が行なわれるので、データの再送に要する時間を短縮することができる。
また、実施形態の一例としての情報処理システム1においては、1個のパケット内に一定間隔でCRCを埋め込むので、パケット全体を再送信する必要がなく、パケット内のCRCエラーを検出した以降のデータから再送信することができる。これにより、データパケット再送処理を高速化することができる。
更に、情報処理装置10が、再送データパケット300に再送フラグを付加すると共に、記憶装置20が、受信した再送データパケット300内の読み出しRAMアドレス(READ−ADRS312)と、記憶装置20の書き込みRAMアドレス(WT−CT−CP格納部219)とを比較する。再送フラグの有無のチェックと、この比較を行なうことにより、正しい再送データパケットではないパケットのデータが、記憶装置20に誤って書き込まれることを防止することができ、データの信頼性を担保することができる。
(D)その他
なお、上述した実施形態に関わらず、実施形態の一例としての趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態においては、送信側を情報処理装置10、受信側を記憶装置20としたが、送信側装置と受信側装置とを、他の装置の組み合わせに使用してもよい。
また、上記の実施形態においては、データを2つに分割して各モジュールに送信しているが、データを3つ以上に分割して、転送効率を更に向上させることも可能である。
例えば、上記の実施形態においては送信側モジュール121,受信側モジュール221が3個存在するが、送信側モジュール121,受信側モジュール221の個数は3以上のどのような数でもよい。
また、上記の実施形態においては、64データバイト単位(8τ単位)にCRCを挿入したが、送信側および受信側の設定により、CRCを挿入する単位を、任意のバイト単位に変更することも可能である。
また、上記の実施形態においては、ポート12,22が、システムチップ上に実装されているが、ポート12,22の各構成要素が、コンピュータ上に読み込まれたソフトウェアによって実装されていてもよい。
更に、上記の実施形態においては、図3に示すフォーマットのデータパケットと、図4に示すフォーマットの再送要求コマンドパケットとを使用したが、これらは例示に過ぎず、データパケットおよび/または再送要求コマンドパケットに、ほかのフォーマットを使用してもよい。
また、上記の実施形態においては、データ転送効率を上げるために、パケットデータを分割して、それぞれの分割パケットデータを、複数のモジュール121,221間で送受信していたが、複数のモジュール121,221が同一のデータパケットを送受信してもよい。この場合、パケットデータ転送に冗長性を持たせることができる。
また、上記の実施形態においては、カウンタ値であるRD−CT値を、データパケット300中のアドレスを示す値であるREAD−ADRS312にセットしているが、RD−CT値に変換を施したのち、変換した値をREAD−ADRS312にセットしてもよい。
同様に、上記の実施形態においては、カウンタ値であるWT−CT値を、再送要求パケット400中のアドレス値WRITE−ADRS412にセットしているが、WT−CT値に変換を施したのち、変換した値をWRITE−ADRS412にセットしてもよい。
(E)付記
(付記1)
複数の経路を介してパケットデータを送信する送信装置と、前記複数の経路を介して送信されたパケットデータを受信する受信装置とを有する情報処理システムであって、
前記送信装置は、
パケットデータを分割して分割データを生成する分割部と、
前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、
前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備え、
前記受信装置は、
前記複数の経路のうちの対応する経路から受信した分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、
前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、
前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開する
ことを特徴とする情報処理システム。
(付記2)
前記パケットデータは、前記分割データが格納される送信バッファのアドレスと、再送信であるか否かを示す情報と、前記分割部により分割される複数のデータブロックとを含み、
前記再送信要求部は、前記複数の受信部のいずれかがエラーを検出した場合に、前記受信装置が正常に受信できた分割データを示す情報と共に、前記送信装置に分割データの再送信を要求し、
前記制御部は、前記再送信の要求と共に受信した前記受信装置が正常に受信できた分割データを示す情報に基づいて、前記受信装置が正常に受信できなかったデータブロック以降の分割データを、前記各送信部に再送信させる
ことを特徴とする付記1に記載の情報処理システム。
(付記3)
複数の経路を介して受信装置にパケットデータを送信する送信装置であって、
送信されるパケットデータを分割して分割データを生成する分割部と、
前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、
前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備える
ことを特徴とする送信装置。
(付記4)
前記パケットデータは、前記分割データが格納される送信バッファのアドレスと、再送信であるか否かを示す情報と、前記分割部により分割される複数のデータブロックとを含み、
前記制御部は、前記再送信の要求と共に受信した前記受信装置が正常に受信できた分割データを示す情報に基づいて、前記受信装置が正常に受信できなかったデータブロック以降の分割データを、前記各送信部に再送信させる
ことを特徴とする付記3に記載の送信装置。
(付記5)
複数の経路を介して送信装置から送信されるパケットデータを受信する受信装置であって、
前記複数の経路のうちの対応する経路から受信した、パケットデータを分割して生成された分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、
前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、
前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開する
ことを特徴とする受信装置。
(付記6)
前記パケットデータは、前記分割データが格納される送信バッファのアドレスと、再送信であるか否かを示す情報と、前記分割部により分割される複数のデータブロックとを含み、
前記再送信要求部は、前記複数の受信部のいずれかがエラーを検出した場合に、前記受信装置が正常に受信できた分割データを示す情報と共に、前記送信装置に分割データの再送信を要求する、
ことを特徴とする付記5に記載の受信装置。
(付記7)
複数の経路を介して、前記複数の経路のいずれかに接続され、送信バッファを有する複数の送信部を有する送信装置から、前記複数の経路のいずれかに接続された受信部とを有する受信装置にパケットデータを送信する情報処理方法であって、
前記送信装置により、パケットデータを分割して分割データを生成し、
前記分割データを、前記複数の送信部の前記送信バッファに格納し、
前記送信バッファに格納された分割データを、接続された経路を介して前記複数の送信部により送信し、
前記複数の受信部により、接続された経路から分割データを受信し、
受信した分割データのエラーを検出すると、エラーを検出した受信部により、他の受信部に後続の分割データの受信を停止させるよう通知し、
前記受信装置から前記送信装置に、分割データの再送信を前記送信装置に要求し、
前記受信装置から分割データの再送信の要求を受信すると、前記複数の送信部の各々から、前記送信バッファに格納されている前記分割データを、再送信であることを示す情報と共に再送信し、
前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信を停止していた前記受信部の各々により受信処理を再開する
ことを特徴とする情報処理方法。
(付記8)
前記パケットデータは、前記分割データが格納される送信バッファのアドレスと、再送信であるか否かを示す情報と、前記分割部により分割される複数のデータブロックとを含み、
分割データの再送信を前記送信装置に要求する際に、前記受信装置が正常に受信できた分割データを示す情報と共に、前記送信装置に分割データの再送信を要求し、
前記各送信部は、前記再送信の要求と共に受信した前記情報に基づいて、前記受信装置が正常に受信できなかったデータブロック以降の分割データを再送信する
ことを特徴とする付記7に記載の情報処理方法。
1 情報処理システム
10 情報処理装置(送信装置)
111 分割部
112 共通部(制御部)
121 送信側モジュール(送信部)
122 RAM(送信バッファ)
20 記憶装置(受信装置)
221 受信側モジュール(受信部)
222 再送要求部
31 シリアル線(経路)
301 ヘッダ部
302 データ(データブロック)
311 再送フラグ(再送信であることを示す情報)
412 WRITE−ADRS(正常に受信できた分割データを示す情報)

Claims (5)

  1. 複数の経路を介してパケットデータを送信する送信装置と、前記複数の経路を介して送信されたパケットデータを受信する受信装置とを有する情報処理システムであって、
    前記送信装置は、
    パケットデータを分割して分割データを生成する分割部と、
    前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、
    前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備え、
    前記受信装置は、
    前記複数の経路のうちの対応する経路から受信した分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、
    前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、
    前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開する
    ことを特徴とする情報処理システム。
  2. 前記パケットデータは、前記分割データが格納される送信バッファのアドレスと、再送信であるか否かを示す情報と、前記分割部により分割される複数のデータブロックとを含み、
    前記再送信要求部は、前記複数の受信部のいずれかがエラーを検出した場合に、前記受信装置が正常に受信できた分割データを示す情報と共に、前記送信装置に分割データの再送信を要求し、
    前記制御部は、前記再送信の要求と共に受信した前記受信装置が正常に受信できた分割データを示す情報に基づいて、前記受信装置が正常に受信できなかったデータブロック以降の分割データを、前記各送信部に再送信させる
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 複数の経路を介して受信装置にパケットデータを送信する送信装置であって、
    送信されるパケットデータを分割して分割データを生成する分割部と、
    前記分割データをそれぞれ格納する送信バッファを有し、前記送信バッファに格納された分割データを前記複数の経路のうちの対応する経路を介して送信する複数の送信部と、
    前記受信装置から分割データの再送信の要求があった場合に、前記複数の送信部の各々に対して、前記送信バッファに格納されている分割データを、再送信であることを示す情報と共に再送信させる制御を行なう制御部と、を備える
    ことを特徴とする送信装置。
  4. 複数の経路を介して送信装置から送信されるパケットデータを受信する受信装置であって、
    前記複数の経路のうちの対応する経路から受信した、パケットデータを分割して生成された分割データのエラーを検出すると、他の受信部に後続の分割データの受信を停止させるよう通知する複数の受信部と、
    前記複数の受信部のいずれかが受信した分割データのエラーを検出した場合に、正常に受信できなかった分割データの再送信を前記送信装置に要求する再送信要求部とを備え、
    前記受信部の各々は、前記再送信要求部が分割データの再送信を要求した後に、前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信処理を再開する
    ことを特徴とする受信装置。
  5. 複数の経路を介して、前記複数の経路のいずれかに接続され、送信バッファを有する複数の送信部を有する送信装置から、前記複数の経路のいずれかに接続された受信部とを有する受信装置にパケットデータを送信する情報処理方法であって、
    前記送信装置により、パケットデータを分割して分割データを生成し、
    前記分割データを、前記複数の送信部の前記送信バッファに格納し、
    前記送信バッファに格納された分割データを、接続された経路を介して前記複数の送信部により送信し、
    前記複数の受信部により、接続された経路から分割データを受信し、
    受信した分割データのエラーを検出すると、エラーを検出した受信部により、他の受信部に後続の分割データの受信を停止させるよう通知し、
    前記受信装置から前記送信装置に、分割データの再送信を前記送信装置に要求し、
    前記受信装置から分割データの再送信の要求を受信すると、前記複数の送信部の各々から、前記送信バッファに格納されている前記分割データを、再送信であることを示す情報と共に再送信し、
    前記送信装置から再送信であることを示す情報を含む分割データが送信されると、受信を停止していた前記受信部の各々により受信処理を再開する
    ことを特徴とする情報処理方法。
JP2011201805A 2011-09-15 2011-09-15 情報処理システム、受信装置、及び情報処理方法 Active JP5857568B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011201805A JP5857568B2 (ja) 2011-09-15 2011-09-15 情報処理システム、受信装置、及び情報処理方法
US13/567,133 US20130073919A1 (en) 2011-09-15 2012-08-06 Information processing system, transmitting apparatus, receiving apparatus, and method of processing information
EP12180832A EP2571187A1 (en) 2011-09-15 2012-08-17 Information processing system, transmitting apparatus, receiving apparatus, and method of processing information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011201805A JP5857568B2 (ja) 2011-09-15 2011-09-15 情報処理システム、受信装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2013065922A true JP2013065922A (ja) 2013-04-11
JP5857568B2 JP5857568B2 (ja) 2016-02-10

Family

ID=46888895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011201805A Active JP5857568B2 (ja) 2011-09-15 2011-09-15 情報処理システム、受信装置、及び情報処理方法

Country Status (3)

Country Link
US (1) US20130073919A1 (ja)
EP (1) EP2571187A1 (ja)
JP (1) JP5857568B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101827936B1 (ko) * 2013-08-29 2018-02-09 세이코 엡슨 가부시키가이샤 송신 시스템, 송신 장치 및, 데이터 송신 방법
JP6180863B2 (ja) 2013-09-18 2017-08-16 株式会社東芝 Icカード、携帯可能電子装置、及び、icカード処理装置
KR20200140419A (ko) * 2019-06-05 2020-12-16 에스케이하이닉스 주식회사 크로스토크로 인한 데이터 에러가 억제되는 데이터 전송 시스템 및 데이터 전송 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697975A (ja) * 1992-09-16 1994-04-08 Furukawa Electric Co Ltd:The データ通信システム
JPH0983603A (ja) * 1995-09-13 1997-03-28 Chubu Nippon Denki Software Kk データ通信方法とその装置
JPH09266473A (ja) * 1996-01-23 1997-10-07 N T T Ido Tsushinmo Kk 通信システムおよび局
JP2002290493A (ja) * 2001-03-22 2002-10-04 Fujitsu Denso Ltd データ転送システム並びにその送信側及び受信側装置
JP2010206775A (ja) * 2009-02-05 2010-09-16 Meidensha Corp 並行シリアル通信方法
JP2011101249A (ja) * 2009-11-06 2011-05-19 Ricoh Co Ltd 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908828A (en) * 1987-12-29 1990-03-13 Indesys, Inc. Method for error free message reception
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US7113521B2 (en) * 2001-03-09 2006-09-26 Miller Michael J Apparatus and method for re-sending data on communication channels
US7231574B2 (en) * 2001-09-21 2007-06-12 International Business Machines Corporation Hardware mechanism for receiving frames from a link
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
JP2007280197A (ja) * 2006-04-10 2007-10-25 Toshiba Corp 通信媒体、通信媒体処理装置、及び通信媒体処理システム
WO2010005712A1 (en) * 2008-06-16 2010-01-14 Interdigital Patent Holdings, Inc. Enhanced hybrid automatic repeat request for long term evolution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697975A (ja) * 1992-09-16 1994-04-08 Furukawa Electric Co Ltd:The データ通信システム
JPH0983603A (ja) * 1995-09-13 1997-03-28 Chubu Nippon Denki Software Kk データ通信方法とその装置
JPH09266473A (ja) * 1996-01-23 1997-10-07 N T T Ido Tsushinmo Kk 通信システムおよび局
JP2002290493A (ja) * 2001-03-22 2002-10-04 Fujitsu Denso Ltd データ転送システム並びにその送信側及び受信側装置
JP2010206775A (ja) * 2009-02-05 2010-09-16 Meidensha Corp 並行シリアル通信方法
JP2011101249A (ja) * 2009-11-06 2011-05-19 Ricoh Co Ltd 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
EP2571187A1 (en) 2013-03-20
US20130073919A1 (en) 2013-03-21
JP5857568B2 (ja) 2016-02-10

Similar Documents

Publication Publication Date Title
US7809870B2 (en) Method and system for interlocking data integrity for network adapters
KR101325022B1 (ko) 다중 우선순위 메시징
JP3709795B2 (ja) コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
TW583841B (en) Methodology for detecting lost packets
US7821919B2 (en) Data processing apparatus and data processing method
US20100138573A1 (en) System including transmitter and receiver
JP2007174666A (ja) マルチ優先度メッセージング
JP2010011296A (ja) 送受信回路、送信回路及び送受信方法
CN104866454A (zh) 面向板级高速总线的写报文前瞻处理方法及装置
US9979566B2 (en) Hybrid forward error correction and replay technique for low latency
JP5857568B2 (ja) 情報処理システム、受信装置、及び情報処理方法
WO2005008506A2 (en) Switch level reliable transmission
JP2019068296A (ja) 情報処理装置及びその制御方法、並びにコンピュータプログラム
US7360142B1 (en) Methods, architectures, circuits, software and systems for CRC determination
US20100162066A1 (en) Acceleration of header and data error checking via simultaneous execution of multi-level protocol algorithms
US11868209B2 (en) Method and system for sequencing data checks in a packet
JP5459308B2 (ja) データ転送装置及びデータ転送装置の制御方法
US20230006905A1 (en) Redundant communication apparatus, method, and program
WO2023123436A1 (zh) 一种数据传输方法和装置
JP2001333048A (ja) データ転送方式
Singh et al. Data Link Layer Designing Issues: Error Control—A Roadmap‖
JP6813637B1 (ja) 伝送装置および伝送方法
US20160112318A1 (en) Information processing system, method, and information processing apparatus
US20150220384A1 (en) Information processing apparatus, information processing system, and failure detection method
WO2010103602A1 (ja) 伝送データのエラーチェック装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151130

R150 Certificate of patent or registration of utility model

Ref document number: 5857568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150