(57)【要約】【課題】受信パケットのメモリへのライトエラーが発生してもメモリに対するライトリトライを無くし、メモリに対する通信の帯域の圧迫を回避できること。【解決手段】伝送装置１００は、受信したパケットをシリアルメモリ１４１に書き込み、パケットをシリアルメモリ１４１から読み出して送信する。伝送装置１００は、受信したパケットをシリアルメモリ１４１に書き込む際に、パケットおよびパケットのアドレス情報を記憶するリトライ回避バッファ２０３と、シリアルメモリ１４１に対する書き込み時にエラーが生じたパケットをアドレス情報に基づきリトライ回避バッファ２０３から読み出すメモリコントローラ１３５と、を備える。【選択図】図２
2017046319.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを記憶部に書き込み、前記パケットを前記記憶部から読み出して送信する伝送装置において、
受信した前記パケットを前記記憶部に書き込む際に、前記パケットおよび前記パケットのアドレス情報を記憶する一時記憶部と、
前記記憶部に対する前記パケットの書き込み時にエラーが生じた前記パケットを、前記アドレス情報に基づき前記一時記憶部から読み出すメモリコントローラと、
を備えたことを特徴とする伝送装置。
【請求項２】
前記記憶部は、シリアルメモリであり、所定の確率でエラーが発生するインタフェースを介して前記パケットを記憶する、
ことを特徴とする請求項１に記載の伝送装置。
【請求項３】
前記メモリコントローラは、
受信した前記パケットを前記記憶部に正常に書き込みできた場合、前記一時記憶部に一時記憶した前記パケットおよび前記アドレス情報を削除する処理を行い、
前記記憶部から前記パケットを読み出す際、前記一時記憶部に前記パケットの前記アドレス情報が存在する場合に、前記アドレス情報に基づき前記一時記憶部から前記パケットを読み出す、
ことを特徴とする請求項１または２に記載の伝送装置。
【請求項４】
前記メモリコントローラは、
前記記憶部の同一バンクに対する読み出しおよび書き込みのアクセスが生じたとき、書き込む前記パケットを前記一時記憶部に格納する、
ことを特徴とする請求項１〜３のいずれか一つに記載の伝送装置。
【請求項５】
前記メモリコントローラは、
前記記憶部からの前記パケットの読み出しエラーにより前記記憶部に対する読み出しのリトライ時に、前記記憶部から読み出すバンクと同一バンクに対する前記パケットの書き込みが生じたとき、当該書き込む前記パケットを前記一時記憶部に格納する、
ことを特徴とする請求項４に記載の伝送装置。
【請求項６】
前記メモリコントローラは、
前記記憶部の前記同一バンクに対する前記パケットの書き込みを、前記記憶部の同一バンクに対する読み出しおよび書き込みのアクセスから所定時間経過後に許可する、
ことを特徴とする請求項４または５に記載の伝送装置。
【請求項７】
前記メモリコントローラに出力する書き込みデータ間の空き時間を監視する空き時間監視部を有し、
前記メモリコントローラは、前記空き時間監視部から前記空き時間を検出した情報の入力に基づき、前記空き時間を用いて、前記一時記憶部に格納された前記パケットの前記データと前記アドレスの情報を前記記憶部に書き込む、
ことを特徴とする請求項１〜６のいずれか一つに記載の伝送装置。
【請求項８】
前記空き時間監視部は、受信する前記パケット間の空き時間を監視する、
ことを特徴とする請求項７に記載の伝送装置。
【請求項９】
前記メモリコントローラは、
前記一時記憶部から前記パケットを読み出した後、読み出した当該パケットおよび前記アドレスを削除する、
ことを特徴とする請求項１〜８のいずれか一つに記載の伝送装置。
【請求項１０】
受信したパケットを記憶部に書き込み、前記パケットを前記記憶部から読み出して送信する伝送装置のリトライ方法において、
受信した前記パケットを前記記憶部に書き込む際に、前記パケットおよび前記パケットのアドレス情報を一時記憶部に一時記憶させ、
前記記憶部に対する前記パケットの書き込みでエラーが生じた前記パケットを前記アドレス情報に基づき前記一時記憶部から読み出す、
ことを特徴とするリトライ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したパケットをメモリに格納後送信する伝送装置およびリトライ方法に関する。
【背景技術】
【０００２】
近年の通信トラフィックの増加により、伝送装置が扱うデータは、高速化、および大容量かつ高品質化が求められ、伝送装置内で一時的に受信データを保持するメモリに高速シリアルメモリが採用されている。この高速シリアルメモリは、例えば、伝送装置の受信部にパケットバッファとして設けられ、優先度により読み出し順序は変化するが、書き込み後一定時間で読み出されるメモリとして用いられる。
【０００３】
高速シリアルメモリのインタフェースにＳｅｒｄｅｓ（ＳＥＲｉａｌｉｚｅｒ／ＤＥＳｅｒｉａｌｉｚｅｒ）のトランシーバを用いるものがある。Ｓｅｒｄｅｓでは、伝送装置内の伝送路上のノイズ等により確率的に（所定の確率で）エラーが発生する。Ｓｅｒｄｅｓでは高速シリアルメモリへのアクセスエラー（ライトエラー）が発生した場合、自装置内の高速シリアルメモリへのリトライ（再度のライト処理）を行うことでデータの消失を防ぎ、データ品質を確保している。
【０００４】
また、装置間でのデータ伝送で、受信側装置の受信バッファの状態を監視し、リトライ要求の発生時間に応じた基準時間を求め、送信側装置の送信バッファからのデータの読み出しを制御し、リトライ頻度を低減する技術がある（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９１５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、装置間でデータがリトライ毎に伝送されるため、装置間のデータ伝送量を低減させることができない。
【０００７】
また、伝送装置内のメモリインタフェースにＳｅｒｄｅｓを用いた場合、高速シリアルメモリに対するライトエラー発生時、自装置内でシリアルメモリへのリトライを行うため、高速シリアルメモリのアクセス帯域が圧迫される。帯域圧迫に対応してＳｅｒｄｅｓのインタフェース速度を上げると、消費電力が大きく増加する。
【０００８】
一つの側面では、本発明は、受信パケットのメモリへのライトエラーが発生してもメモリに対するライトリトライを無くし、メモリに対する通信の帯域の圧迫を回避できることを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、伝送装置は、受信したパケットを記憶部に書き込み、前記パケットを前記記憶部から読み出して送信する伝送装置において、受信した前記パケットを前記記憶部に書き込む際に、前記パケットおよび前記パケットのアドレス情報を記憶する一時記憶部と、前記記憶部に対する前記パケットの書き込み時にエラーが生じた前記パケットを、前記アドレス情報に基づき前記一時記憶部から読み出すメモリコントローラと、を備えたことを要件とする。
【発明の効果】
【００１０】
一つの実施形態によれば、受信パケットのメモリへのライトエラーが発生してもメモリに対するライトリトライを無くし、メモリに対する通信の帯域の圧迫を回避できる効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１にかかる伝送装置を示す構成図である。
【図２】図２は、実施の形態１の伝送装置のメモリコントローラ部分の構成例を示す図である。
【図３】図３は、実施の形態１の伝送装置で用いるリトライ回避バッファの構成例を示す図である。
【図４】図４は、実施の形態１の伝送装置におけるデータライト時の各部の処理例を示すシーケンス図である。
【図５】図５は、実施の形態１の伝送装置におけるデータリード時の各部の処理例を示すシーケンス図である。
【図６】図６は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（書き込み時の処理その１）
【図７】図７は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（書き込み時の処理その２）
【図８】図８は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（書き込み時の処理その３）
【図９】図９は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（読み出し時の処理その１）
【図１０】図１０は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（読み出し時の処理その２）
【図１１】図１１は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（読み出し時の処理その３）
【図１２】図１２は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。（読み出し時の処理その４）
【図１３】図１３は、実施の形態２の伝送装置のメモリコントローラ部分の構成例を示す図である。
【図１４】図１４は、実施の形態２の伝送装置におけるリードリトライ時に同一バンクへのライトアクセスを回避する処理例を示すシーケンス図である。
【図１５】図１５は、実施の形態２の伝送装置におけるデータ処理内容例を示すフローチャートである。
【図１６】図１６は、実施の形態３の伝送装置のメモリコントローラ部分の構成例を示す図である。
【図１７】図１７は、実施の形態３の伝送装置における自律リトライの処理例を示すシーケンス図である。
【図１８】図１８は、実施の形態３の伝送装置におけるデータ処理内容例を示すフローチャートである。（その１）
【図１９】図１９は、実施の形態３の伝送装置におけるデータ処理内容例を示すフローチャートである。（その２）
【図２０】図２０は、実施の形態３の伝送装置におけるデータ処理内容の他の例を示すフローチャートである。
【図２１】図２１は、既存の伝送装置における帯域圧迫の状態を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
開示の伝送装置およびリトライ方法の実施の形態を詳細に説明する。
【００１３】
（実施の形態１）
図１は、実施の形態１にかかる伝送装置を示す構成図である。伝送装置１００は、ＬＡＮ等の伝送路１０１を介して複数の処理装置１０２に接続されている。図１の例では、伝送装置１００は、データ送信側の３つの処理装置１０２ａ〜１０２ｃから送信されたデータをデータ受信側の一つの処理装置１０２ｄに伝送させる状態を示している。以下に説明するパケットは、いずれも送信側の処理装置１０２（１０２ａ〜１０２ｃ）から受信側の処理装置１０２（１０２ｄ）に転送するデータであり、パケットとデータは同義である。
【００１４】
送信側のＰＣ等の処理装置１０２（１０２ａ〜１０２ｃ）は、それぞれパケット１１２（１１２ａ〜１１２ｃ）を伝送装置１００に送信する。パケット１１２は、ヘッダ１２１とデータ１２２とを含む。
【００１５】
伝送装置１００は、受信バッファ１３１と、受信部１３２と、制御部１３３と、メモリ制御部１３４と、メモリコントローラ１３５と、送信部１３６と、送信バッファ１３７と、高速なシリアルメモリ１４１と、を含む。
【００１６】
例えば、受信バッファ１３１、受信部１３２、制御部１３３、メモリ制御部１３４、メモリコントローラ１３５、送信部１３６、送信バッファ１３７は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）１５０を用いることができる。
【００１７】
ＦＰＧＡ１５０に限らず、ＣＰＵおよびＲＯＭ、ＲＡＭ等を用い、ＲＯＭに記憶された制御プログラムをＣＰＵが実行し、ＲＡＭを作業領域に使用することとしてもよい。
【００１８】
受信バッファ１３１は、伝送路１０１を介して送信側の処理装置１０２（１０２ａ〜１０２ｃ）から受信したパケットを所定量、一時的に溜めるバッファリングを行い、受信部１３２に出力する。受信部１３２は、受信したパケットの受信処理を行い、ヘッダやＥＣＣ（ＯＫ／ＮＧ）等を確認してメモリ制御部１３４に出力する。
【００１９】
制御部１３３は、伝送装置１００各部の制御を司る。例えば、受信パケットを受信部１３２で受信処理し、メモリ制御部１３４を介して記憶部としてのシリアルメモリ１４１に書き込む。また、メモリ制御部１３４を制御して、シリアルメモリ１４１からパケット毎の優先度に応じてパケットを読み出し、送信部１３６でパケットを組み立て、対応する送信側の処理装置１０２（１０２ｄ）に送信する。
【００２０】
メモリ制御部１３４は、メモリ書き込み制御部１３４ａと、競合調停部１３４ｂと、メモリ読み出し制御部１３４ｃと、を含む。メモリコントローラ１３５は、シリアルメモリ１４１に対するデータ（パケット）の書き込みおよび読み出しを制御する。そして、メモリコントローラ１３５は、シリアルメモリ１４１との間のインタフェースとして、例えば、Ｓｅｒｄｅｓ１３５ａを用いる。１３５ｂは、自装置内のＳｅｒｄｅｓ１３５ａの伝送路である。
【００２１】
例えば、シリアルメモリ１４１は、１２．５Ｇｂｐｓの伝送帯域（読み書き速度）を有し、伝送路１３５ｂは、１０Ｇｂｐｓの伝送速度を有する。
【００２２】
図１の例では、シリアルメモリ１４１は、受信したパケットを格納し、書き込み後一定時間で読み出しパケットバッファ１４１ａとして用いる。このシリアルメモリ１４１（パケットバッファ１４１ａ）に書き込んだパケットは、優先度に応じた読み出し順序で読み出される。
【００２３】
メモリ制御部１３４のメモリ書き込み制御部１３４ａは、受信部１３２で受信処理したパケットをメモリコントローラ１３５を介してシリアルメモリ１４１（パケットバッファ１４１ａ）に書き込む。
【００２４】
競合調停部１３４ｂは、シリアルメモリ１４１に対するデータの書き込みと読み出しの競合を調停する。また、シリアルメモリ１４１（パケットバッファ１４１ａ）の各バンク（Ｂａｎｋ、図１のパケットが格納される４つの領域）のうち同一Ｂａｎｋに対するリードリトライ時のライトアクセスを調停し、ライト動作を一時的に待たせる制御を行う。
【００２５】
メモリ読み出し制御部１３４ｃは、シリアルメモリ１４１（パケットバッファ１４１ａ）からのパケットを読み出し、送信部１３６に出力する。
【００２６】
送信部１３６は、シリアルメモリ１４１（パケットバッファ１４１ａ）から読み出したパケットを所定の送信先に送信処理するため、ヘッダの変更やＥＣＣ付加等を行い、送信バッファ１３７に出力する。送信バッファ１３７は、送信するパケットを所定量、一時的に溜めるバッファリングを行い、パケットのヘッダに基づき対応する受信側の処理装置（図１の例では処理装置１０２ｄ）に向けて伝送路１０１上に送信出力する。
【００２７】
図１の例では、伝送装置１００は、受信側の処理装置１０２ｄに対して、所定の優先順（パケット１１２ｂ，１１２ｂ，１１２ａの順）を有して送信する。
【００２８】
図２は、実施の形態１の伝送装置のメモリコントローラ部分の構成例を示す図である。図２には、図１に記載の構成のうち、メモリコントローラ１３５部分を抽出して記載してある。Ｓｅｒｄｅｓ１３５ａは、伝送路１３５ｂを挟んでメモリコントローラ１３５側とシリアルメモリ１４１側にそれぞれＩＦ回路として設けられる。
【００２９】
実施の形態１の伝送装置１００は、メモリコントローラ１３５に追加の機能を有する。メモリコントローラ１３５は、リトライ要求判断部２０１と、コマンド／リトライＡｄｄｒｅｓｓ比較部２０２と、リトライ回避バッファ２０３と、を含む。コマンド／リトライＡｄｄｒｅｓｓ比較部２０２と、リトライ回避バッファ２０３とを新たに機能追加している。
【００３０】
リトライ回避バッファ２０３は、シリアルメモリ１４１に書き込むパケット（データおよびアドレス情報）を一時的に記憶保持する一時記憶部として機能する。リトライ回避バッファ２０３に一時記憶されたデータは、シリアルメモリ１４１にパケットを正常書き込みできた場合に削除される。リードリトライバッファ２０３ａは、リトライ時にリトライ回避バッファ２０３からデータを読み出すためのリトライ用のＡｄｄｒｅｓｓ等の情報を格納保持する。
【００３１】
リトライ要求判断部２０１は、シリアルメモリ１４１に対するリトライ要求の有無を判断する。コマンド／リトライＡｄｄｒｅｓｓ比較部２０２は、リード要求の発行時にリトライ回避バッファ２０３に同一アドレスが無いか検索する。そして、検索結果により同一アドレスが無ければシリアルメモリ１４１からデータを読み出し、同一アドレスが有ればリトライ回避バッファ２０３からデータを読み出す。
【００３２】
メモリコントローラ１３５は、シリアルメモリ１４１へのライトアクセス時に、エラーが発生し、リトライ要求Ｓ１が返送された場合、該当するアドレスおよびデータをリトライ回避バッファ２０３で保持し、シリアルメモリ１４１へのライトリトライは行わない。リトライ回避バッファ２０３は、シリアルメモリ１４１への書き込みが失敗したパケットのみを保持する（Ｓ２）。
【００３３】
イベント発生によるユーザ回路からリード要求が発行された場合は、リトライ要求判断部２０１は、コマンド／リトライＡｄｄｒｅｓｓ比較部２０２によりリトライ回避バッファ２０３に同一アドレスが無いか検索する。
【００３４】
ユーザ回路は、シリアルメモリ１４１に対してデータの読み出しおよび書き込みを行う回路であり、上記構成例では、メモリ制御部１３４（メモリ書き込み制御部１３４ａ，メモリ読み出し制御部１３４ｃ）に相当する。
【００３５】
そして、リトライ回避バッファ２０３に同一アドレスが無かった場合は、リトライ要求判断部２０１は、シリアルメモリ１４１へのリードを発行する。一方、リトライ回避バッファ２０３に同一アドレスが存在した場合は、リトライ要求判断部２０１は、シリアルメモリ１４１へのリードは発行せずに、リトライ回避バッファ２０３から読み出したリードデータをユーザ回路へ返送する。
【００３６】
メモリコントローラ１３５にＳｅｒｄｅｓ１３５ａを用いた場合、伝送路上のノイズ等で確率的にシリアルメモリ１４１のライトエラーが発生する。しかし、上記構成によれば、シリアルメモリ１４１に対するリトライが削減できるため、シリアルメモリ１４１に対する通信の帯域を圧迫することなくシリアルメモリ１４１の運用が可能となる。
【００３７】
上記シリアルメモリ１４１は、受信データを保持するパケットバッファであり、優先度により、読み出し順序は変化するが、書き込み後一定時間でパケットが読み出されるメモリである。
【００３８】
図３は、実施の形態１の伝送装置で用いるリトライ回避バッファの構成例を示す図である。リトライ回避バッファ２０３は、色々な構成とすることができ、図３には一例を記載する。フラグと、アドレスと、データの長さはＦＦ（レジスタ）に格納し、データはリトライ回避バッファ２０３の内部メモリに格納する。
【００３９】
リトライ回避バッファ２０３に対するデータライト時には、基本的に格納済のデータに追加する（最終アドレス以降の領域に追加して書き込む）。この際、フラグの値が「０」の領域に、アドレスと、データの長さを格納する。データを格納した際にフラグを「１」とし、リトライ回避バッファ２０３内のデータの有無はフラグで管理する。また、リトライ回避バッファ２０３からのデータ削除の際には、該当アドレスのフラグを「０」に変更するだけとし、データ自体の削除処理を不要にできる。
【００４０】
上記のように、シリアルメモリ１４１をパケットバッファとして用いる場合、リトライ回避バッファ２０３の容量（図３の縦の枠数）は、予め定められた読み出しの最大時間中のエラー発生率分＋マージン分程度とすることができる。
【００４１】
図４は、実施の形態１の伝送装置におけるデータライト時の各部の処理例を示すシーケンス図である。データのライト要求時にメモリコントローラ１３５およびシリアルメモリ１４１は下記の各処理を行う。
【００４２】
はじめに、シリアルメモリ１４１に対するデータライトが正常に行えた際の処理を説明する。
（１）ユーザ回路（メモリ制御部１３４）のイベントとしてのライト要求（Ｗｒｉｔｅ１）は、メモリコントローラ１３５およびＳｅｒｄｅｓ１３５ａに伝えられる。
（２）メモリコントローラ１３５は、Ｗｒｉｔｅ１のアドレス（Ａｄｄ１）とデータ（Ｄａｔａ１）とをリトライ回避バッファ２０３に格納する。
（３）メモリコントローラ１３５からシリアルメモリ１４１に対するライト命令（Ｗｒｉｔｅ１）を発行する。
（３）’また、メモリコントローラ１３５は、ユーザ回路１３４のアクセスを制限（Ｓｔｏｐ）する。
（４）シリアルメモリ１４１がデータライトを正常に行えたとき、ＯＫ（Ａｃｋ１（ＯＫ））をメモリコントローラ１３５に返答する。シリアルメモリ１４１はＥＣＣチェックによりデータライトの正常／失敗を判断する。
（５）シリアルメモリ１４１でデータライトを正常に行えたため、メモリコントローラ１３５は、リトライ回避バッファ２０３内の該当アドレス（Ａｄｄ１）とデータ（Ｄａｔａ１）を削除する。
（５）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（ｒｅａｄｙ）。
【００４３】
次に、シリアルメモリ１４１に対するデータライトの失敗時の処理を説明する。
（６）イベントとしてのライト要求（Ｗｒｉｔｅ２）は、メモリコントローラ１３５およびＳｅｒｄｅｓ１３５ａに伝えられる。
（７）メモリコントローラ１３５は、Ｗｒｉｔｅ２のアドレス（Ａｄｄ２）とデータ（Ｄａｔａ２）とをリトライ回避バッファ２０３に格納する。
（８）メモリコントローラ１３５からシリアルメモリ１４１に対するライト命令（Ｗｒｉｔｅ２）を発行する。
（８）’また、メモリコントローラ１３５は、ユーザ回路１３４のアクセスを制限（Ｓｔｏｐ）する。
（９）シリアルメモリ１４１はデータライトが失敗すると、ライト失敗（Ａｃｋ１（ＮＧ））をメモリコントローラ１３５に返答する。
（１０）シリアルメモリ１４１でデータライトが失敗したため、メモリコントローラ１３５は、リトライ回避バッファ２０３内の該当アドレス（Ａｄｄ１）とデータ（Ｄａｔａ１）に対して何も行わない（削除を行わない）。
（１０）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（ｒｅａｄｙ）。
【００４４】
上記のように、シリアルメモリ１４１に対するデータライトの失敗時には、リトライ回避バッファ２０３にＷｒｉｔｅ２のアドレス（Ａｄｄ２）とデータ（Ｄａｔａ２）とが格納される。
【００４５】
図５は、実施の形態１の伝送装置におけるデータリード時の各部の処理例を示すシーケンス図である。データのリード要求時にメモリコントローラ１３５およびシリアルメモリ１４１は下記の各処理を行う。
【００４６】
はじめに、上記図４でシリアルメモリ１４１へのデータライトが正常時の処理（１）〜（５）’後のデータリードの処理を説明する。
（１）イベントとしてのリード要求（Ｒｅａｄ１）は、メモリコントローラ１３５に伝えられる。
（２）リード対象（Ｒｅａｄ１）のアドレスとリトライ回避バッファ２０３内に存在するアドレスとを比較する。
（３）アドレス比較の結果が一致しない場合、シリアルメモリ１４１へリード要求（Ｒｅａｄ１）を発行する。
（４）シリアルメモリ１４１から読み出したデータ（ＲｅａｄＤａｔａ１）をユーザ回路１３４へ返送する。
【００４７】
上記のように、シリアルメモリ１４１へのデータライトが正常時には、リトライ回避バッファ２０３にデータが無く、メモリコントローラ１３５は、シリアルメモリ１４１からデータを読み出す。
【００４８】
次に、上記図４でシリアルメモリ１４１へのデータライトの失敗の処理（６）〜（９）’後のデータリードの処理を図５（（５）以降の処理）を用いて説明する。
（５）ユーザ回路１３４からのリード要求（Ｒｅａｄ２）は、メモリコントローラ１３５に伝えられる。
（６）リード対象（Ｒｅａｄ１）のアドレスとリトライ回避バッファ２０３内に存在するアドレスとを比較する。
（７）アドレス比較の結果が一致した場合、リトライ回避バッファ２０３の該当データを読み出し（ＲｅａｄＤａｔａ２）、ユーザ回路１３４へ返送する。
（７）’メモリコントローラ１３５は、リトライ回避バッファ２０３内から読み出したデータ（ＲｅａｄＤａｔａ２）の該当アドレスとデータを削除する。
【００４９】
上記のように、シリアルメモリ１４１へのデータライトの失敗時には、リトライ回避バッファ２０３にデータが書き込み保持されており、メモリコントローラ１３５は、シリアルメモリ１４１からデータを読み出す。
【００５０】
そして、上記処理によれば、シリアルメモリ１４１への受信パケットのライト処理時にライトエラーが発生したデータは、リトライ回避バッファ２０３に残しておく。そして、リード処理時には、読み出す対象のデータのアドレスがリトライ回避バッファ２０３内に存在するかをアドレス比較する。リトライ回避バッファ２０３内に存在すれば、シリアルメモリ１４１へアクセスすることなく（リトライすることなく）、リトライ回避バッファ２０３から同じデータを読み出すことができる。
【００５１】
図６〜図１２は、実施の形態１の伝送装置におけるデータ処理内容例を示すフローチャートである。
【００５２】
（データ書き込み時の処理例）
まず、図６〜図８を用いてデータ書き込み時の処理内容を詳細に説明する。図中には、書き込みデータＷＤの流れを併記してある。
【００５３】
はじめに、図６は、ユーザ回路であるメモリ制御部１３４の書き込み制御部１３４ａが行う処理であり、ユーザ回路１３４は、書き込みデータが有るか判断する（ステップＳ６０１）。書き込みデータが無ければ（ステップＳ６０１：Ｎｏのループ）、メモリ制御部１３４は、書き込みデータの入力を待つ。また、書き込みデータが有れば（ステップＳ６０１：Ｙｅｓ）、シリアルメモリ１４１に対する書き込みが可能（Ｒｅａｄｙ）状態であるかをリトライ回避バッファ２０３の状態フラグ等で判断する（ステップＳ６０２）。
【００５４】
書き込みＲｅａｄｙ状態でなければ（ステップＳ６０２：Ｎｏ）、メモリ制御部１３４は、ステップＳ６０１に戻る。また、書き込みＲｅａｄｙ状態であれば（ステップＳ６０２：Ｙｅｓ）、読み出し側との同一Ｂａｎｋの同時アクセスは無いか競合調停部１３４ｂが判断する（ステップＳ６０３）。
【００５５】
実施の形態１では、競合調停部１３４ｂは、書き込み処理を読み出し処理よりも優先処理する設定としている。このため、ステップＳ６０３の判断結果（ステップＳ６０３：Ｙｅｓ／Ｎｏ）に関わらず、いずれもステップＳ６０４に移行する。
【００５６】
ステップＳ６０４では、ユーザ回路は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を発行する（ステップＳ６０４）。
【００５７】
以上の図６に示したユーザ回路（メモリ制御部１３４）の処理に続き、図７に示す処理をメモリコントローラ１３５が実行する。はじめに、メモリコントローラ１３５は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信待ちする（ステップＳ７０１）。
【００５８】
メモリコントローラ１３５は、書き込みコマンド受信により、リトライ回避バッファ２０３の書き込みの状態フラグをＳｔｏｐ状態に変更する。また、空き領域（図３のフラグ「０」の領域）を確認し、空き領域に書き込みデータＷＤを格納し、格納した領域のフラグを「１」に変更する（ステップＳ７０２）。
【００５９】
次に、メモリコントローラ１３５は、シリアルメモリ１４１に対する書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を生成し、書き込みコマンドを発行する（ステップＳ７０３）。これにより、書き込みデータＷＤは、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａに多重出力される（ＳＡ）。
【００６０】
この後、メモリコントローラ１３５は、リトライ回避バッファ２０３の書き込みの状態フラグをＲｅａｄｙ状態に変更し（ステップＳ７０４）、シリアルメモリ１４１からの書き込みＡＣＫを受信待ちする（ステップＳ７０５）。
【００６１】
そして、メモリコントローラ１３５は、シリアルメモリ１４１から受信した書き込みＡＣＫがＯＫであるか判断する（ステップＳ７０６）。ＯＫであれば（ステップＳ７０６：Ｙｅｓ）、シリアルメモリ１４１への書き込みデータＷＤの書き込みが正常終了であり、リトライ回避バッファ２０３に格納した書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグを「０」に変更する（ステップＳ７０７）。そして、ステップＳ７０１に戻る。
【００６２】
一方、書き込みＡＣＫがＯＫではなくＮＧのときには（ステップＳ７０６：Ｎｏ）、ステップＳ７０１に戻る。この場合、リトライ回避バッファ２０３の書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグは「１」のままであり、リトライ回避バッファ２０３に書き込みデータＷＤが保持される。
【００６３】
以上の図７に示したメモリコントローラ１３５の処理に続き、図８に示す処理をシリアルメモリ１４１が実行する。はじめに、シリアルメモリ１４１側のＳｅｒｄｅｓ１３５ａに書き込みデータＷＤが多重入力され（ＳＢ）、シリアルメモリ１４１は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信する（ステップＳ８０１）。
【００６４】
そして、シリアルメモリ１４１は、書き込みコマンドが正常であるか判断する（ステップＳ８０２）。書き込みコマンドが正常であれば（ステップＳ８０２：Ｙｅｓ）、シリアルメモリ１４１は、書き込みデータＷＤをメモリ（パケットバッファ１４１ａ）に書き込み（ステップＳ８０３）、ＯＫのＡＣＫを生成する（ステップＳ８０４）。
【００６５】
一方、書き込みコマンドが正常でなければ（ステップＳ８０２：Ｎｏ）、ステップＳ８０３のデータ書き込みを行わず、ＮＧのＡＣＫを生成する（ステップＳ８０４）。生成したＡＣＫは、メモリコントローラ１３５（図７のステップＳ７０６の処理用）に送信される。なお、このＡＣＫは、Ｓｅｒｄｅｓ１３５ａを経由して（経路は図１２等参照））メモリコントローラ１３５に送信される。
【００６６】
（データ読み出し時の処理例）
次に、図９〜図１２を用いてデータ読み出し時の処理内容を詳細に説明する。図中には、読み出しデータＲＤの流れを併記してある。
【００６７】
はじめに、図９は、ユーザ回路であるメモリ制御部１３４の読み出し制御部１３４ｃが行う処理であり、ユーザ回路は、読み出し許可データが有るか判断する（ステップＳ９０１）。読み出し許可データが無ければ（ステップＳ９０１：Ｎｏのループ）、メモリ制御部１３４は、読み出し許可の入力を待つ。また、読み出し許可データが有れば（ステップＳ９０１：Ｙｅｓ）、シリアルメモリ１４１からの読み出しデータＲＤの読み出しが可能（Ｒｅａｄｙ）状態であるかをリトライ回避バッファ２０３の状態フラグ等で判断する（ステップＳ９０２）。
【００６８】
読み出しＲｅａｄｙ状態でなければ（ステップＳ９０２：Ｎｏ）、メモリ制御部１３４は、ステップＳ９０１に戻り、読み出しＲｅａｄｙ状態であれば（ステップＳ９０２：Ｙｅｓ）、書き込み側との同一Ｂａｎｋの同時アクセスは無いか競合調停部１３４ｂが判断する（ステップＳ９０３）。
【００６９】
上述したが、実施の形態１では、競合調停部１３４ｂは、書き込み処理を読み出し処理よりも優先処理する設定としている。このため、ステップＳ９０３の判断結果、読み出し時に書き込み側と同一Ｂａｎｋの同時アクセスが有るときには（ステップＳ９０３：Ｎｏ）、読み出しをコマンド競合分Ｗａｉｔし（ステップＳ９０４）、ステップＳ９０５に移行する。
【００７０】
ステップＳ９０３の判断結果、読み出し時に書き込み側と同一Ｂａｎｋの同時アクセスが無いときには（ステップＳ９０３：Ｙｅｓ）、ユーザ回路は、読み出しコマンド（Ａｄｄｒｅｓｓ等）を発行する（ステップＳ９０５）。
【００７１】
以上の図９に示したユーザ回路（メモリ制御部１３４）の処理に続き、図１０，図１１に示す処理をメモリコントローラ１３５が実行する。はじめに、図１０に示すように、メモリコントローラ１３５は、読み出しコマンド（Ａｄｄｒｅｓｓ等）を受信待ちする（ステップＳ１００１）。
【００７２】
メモリコントローラ１３５は、読み出しコマンド受信により、リトライ回避バッファ２０３からの読み出しの状態フラグをＳｔｏｐ状態に変更する。また、受信した読み出しコマンドのＡｄｄｒｅｓｓ等の情報と、リトライ回避バッファ２０３内の情報（Ａｄｄｒｅｓｓ等）を比較する（ステップＳ１００２）。
【００７３】
そして、メモリコントローラ１３５は、ステップＳ１００２の比較により、リトライ回避バッファ２０３内に読み出しデータＲＤの有無を確認する（ステップＳ１００３）。リトライ回避バッファ２０３内に読み出しデータＲＤが有れば（ステップＳ１００３：Ｎｏ）、前読み出しコマンドリードデータを追い越さないタイミングでリトライ回避バッファ２０３からデータを読み出す。また、メモリコントローラ１３５は、読み出しデータＲＤのＡｄｄｒｅｓｓのフラグを「０」に変更する（ステップＳ１００４）。
【００７４】
この後、メモリコントローラ１３５は、リトライ回避バッファ２０３の状態フラグを書き込みＲｅａｄｙ状態に変更し（ステップＳ１００５）、ステップＳ１００１に戻る。
【００７５】
一方、リトライ回避バッファ２０３内に読み出しデータＲＤが無ければ（ステップＳ１００３：Ｙｅｓ）、メモリコントローラ１３５は、リードリトライバッファ２０３ａへ読み出しコマンドのＡｄｄｒｅｓｓ等を保存する（ステップＳ１００６）。そして、ステップＳ１００７に移行する。
【００７６】
ステップＳ１００７では、メモリコントローラ１３５は、読み出しコマンドのリトライ要求が有るか判断する（ステップＳ１００７）。読み出しコマンドのリトライ要求が有れば（ステップＳ１００７：Ｙｅｓ）、ステップＳ１００８に移行し、読み出しコマンドのリトライ要求が無ければ（ステップＳ１００７：Ｎｏ）、ステップＳ１０１０に移行する。
【００７７】
ステップＳ１００８では、メモリコントローラ１３５は、リードリトライバッファ２０３ａからリトライ用のＡｄｄｒｅｓｓ等の情報を読み出す（ステップＳ１００８）。この後、メモリコントローラ１３５は、リードリトライバッファ２０３ａの読み出しアドレスが最終データのものか判断する（ステップＳ１００９）。
【００７８】
リードリトライバッファ２０３ａの読み出しアドレスが最終データのものであれば（ステップＳ１００９：Ｙｅｓ）、メモリコントローラ１３５は、リトライ要求をクリアする。この際、リードリトライバッファの読み出しアドレスもクリアする。そして、シリアルメモリ１４１への読み出しコマンド（Ａｄｄｒｅｓｓ等）を生成し、読み出しコマンドを発行する（ステップＳ１０１０）。
【００７９】
一方、リードリトライバッファ２０３ａの読み出しアドレスが最終データのものでなければ（ステップＳ１００９：Ｎｏ）、メモリコントローラ１３５は、リードリトライバッファの読み出しアドレスをインクリメント（＋１）する（ステップＳ１０１１）。そして、シリアルメモリ１４１への読み出しコマンド（Ａｄｄｒｅｓｓ等）を生成し、読み出しコマンドを発行する（ステップＳ１０１２）。
【００８０】
メモリコントローラ１３５は、ステップＳ１０１０、およびステップＳ１０１２で発行された読み出しコマンドを、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａを介して、シリアルメモリ１４１に送信する（図７のＳＡ参照）。
【００８１】
次に、図１１に示すように、メモリコントローラ１３５は、リトライ回避バッファ２０３の読み出し状態フラグをＲｅａｄｙ状態に変更し（ステップＳ１１０１）、シリアルメモリ１４１からの読み出しＡＣＫを受信待ちする（ステップＳ１１０２）。
【００８２】
そして、メモリコントローラ１３５は、シリアルメモリ１４１から読み出した読み出しデータＲＤ（ＡＣＫおよびＤａｔａ）が正常であるか判断する（ステップＳ１１０３）。読み出しデータが正常である場合（ステップＳ１１０３：Ｙｅｓ）、メモリコントローラ１３５は、ＡＣＫはＯＫか判断する（ステップＳ１１０４）。ＡＣＫがＯＫであれば（ステップＳ１１０４：Ｙｅｓ）、ステップＳ１１０６に移行する。
【００８３】
一方、ステップＳ１１０３で読み出しデータを正常に読み出せないとき（ステップＳ１１０３：Ｎｏ）、メモリコントローラ１３５は、ステップＳ１１０５とステップＳ１１００の処理を実行する。ステップＳ１１０４でＡＣＫがＮＧの場合（ステップＳ１１０４：Ｎｏ）、についても同様にモリコントローラ１３５は、ステップＳ１１０５とステップＳ１１００の処理を実行する。
【００８４】
メモリコントローラ１３５は、ステップＳ１１０５では、リトライ回避バッファ２０３の読み出し状態フラグをＳｔｏｐ状態に変更し、リトライ要求を行う（ステップＳ１１０５）。このリトライ要求では、リードリトライバッファの読み出しアドレスをセットし、リトライ回避バッファ２０３から読み出しデータＲＤを読み出す。また、ステップＳ１１００では、シリアルメモリ１４１からの読み出しデータＲＤを無効データとし削除する（ステップＳ１１００）。
【００８５】
ステップＳ１１０６では、メモリコントローラ１３５は、リトライ要求中であるか判断する（ステップＳ１１０６）。リトライ要求中であれば（ステップＳ１１０６：Ｙｅｓ）、メモリコントローラ１３５は、リトライデータであるか判断し（ステップＳ１１０７）、リトライ要求中でなければ（ステップＳ１１０６：Ｎｏ）、ステップＳ１１０９に移行する。
【００８６】
ステップＳ１１０７でリトライデータであれば（ステップＳ１１０７：Ｙｅｓ）、該当アドレスのリードリトライバッファ２０３ａのデータを削除し（ステップＳ１１０８）、図１０のステップＳ１００７に戻る。また、ステップＳ１００７でリトライデータでなければ（ステップＳ１１０７：Ｎｏ）、図１０のステップＳ１００７に戻る。
【００８７】
また、ステップＳ１１０９では、該当アドレスのリードリトライバッファ２０３ａのデータを削除し（ステップＳ１１０９）、図１０のステップＳ１００１に戻る。
【００８８】
図１１に示す読み出しデータＲＤについて、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａには、シリアルメモリ１４１から読み出しデータＲＤが多重され入力される（ＳＤ）。メモリコントローラ１３５は、図１１に示した処理により、シリアルメモリ１４１あるいはリトライ回避バッファから読み出しデータＲＤを読み出す。
【００８９】
以上の図１１に示したメモリコントローラ１３５の処理に続き、図１２に示す処理をシリアルメモリ１４１が実行する。はじめに、シリアルメモリ１４１は、読み出しコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信する（ステップＳ１２０１）。
【００９０】
そして、シリアルメモリ１４１は、読み出しコマンドが正常であるか判断する（ステップＳ１２０２）。読み出しコマンドが正常であれば（ステップＳ１２０２：Ｙｅｓ）、シリアルメモリ１４１は、メモリ（パケットバッファ１４１ａ）から読み出しデータＲＤを読み出す（ステップＳ１２０３）。そして、読み出し状態に応じたＡＣＫ（ＯＫまたはＮＧ）を生成する（ステップＳ１２０４）。
【００９１】
一方、読み出しコマンドが正常でなければ（ステップＳ１２０２：Ｎｏ）、ステップＳ１２０３のデータ読み出しを行わず、ＮＧのＡＣＫを生成する（ステップＳ１２０４）。生成したＡＣＫは、メモリコントローラ１３５（図１１のステップＳ１１０２の処理用）に送信される（Ｓｅｒｄｅｓ１３４５ａに多重出力：ＳＣ）。
【００９２】
実施の形態１によれば、シリアルメモリへの受信パケットのライト処理時にライトエラーが発生したデータは、リトライ回避バッファに残しておく。そして、リード処理時には、読み出す対象のデータのアドレスがリトライ回避バッファ内に存在するかをアドレス比較する。リトライ回避バッファ内に存在すれば、シリアルメモリへアクセスすることなく（リトライすることなく）、リトライ回避バッファから同じデータを読み出すことができる。
【００９３】
リトライ回避バッファから読み出したデータは、シリアルメモリに対してライトエラーとなったデータである。これにより、Ｓｅｒｄｅｓで確率的に生じるデータエラーに対応して、シリアルメモリに対するライトリトライを無くすことができ、シリアルメモリに対するライトリトライを実行する時間分のシリアルメモリに対する通信の帯域の圧迫を回避できるようになる。
【００９４】
帯域の圧迫は、例えば、既存の伝送装置では、リトライの間、次のライトアクセスが待たされることとなり、その分受信バッファにデータが溜められ、受信バッファが溢れる等で送信側の処理装置に対してデータの送信停止等を要求する等で生じる。
【００９５】
この点、実施の形態１によれば、シリアルメモリに対するライトエラーが生じた場合、リトライ回避バッファから同じデータを読み出す。これにより、シリアルメモリに対するライトエラーが生じた場合でも、シリアルメモリに対する通信の帯域の圧迫が生じることが無く、ライト処理およびリード処理をいずれも効率的に遂行できるようになる。
【００９６】
そして、実施の形態１によれば、シリアルメモリへのライトエラーが発生しても、シリアルメモリへのリトライを行わないため、シリアルメモリに対する通信の帯域圧迫を回避することができる。また、リトライによる帯域を確保するためにシリアルメモリとの間のＩＦであるトランシーバ（Ｓｅｒｄｅｓ）の伝送速度を上げる必要が無く、伝送装置の消費電力の増大を抑えることができる。
【００９７】
（実施の形態２）
実施の形態２では、シリアルメモリ１４１に対するリードリトライ時に同一バンクへのライトアクセスを回避する構成例について説明する。
【００９８】
実施の形態１で説明したシリアルメモリ１４１からデータの読み出し時のＲｅａｄＤａｔａがＮＧとなった場合、シリアルメモリ１４１内にデータが有るため、リードリトライは避けられない。この際、競合調停部１３４ｂの調停により、リードリトライしたシリアルメモリ１４１の同一バンクへのライトアクセスは、ライト動作が待たされ、ライトの帯域が失われる。なお、リードリトライしたバンクと別バンクに対するライト動作は通常に行える。
【００９９】
図１３は、実施の形態２の伝送装置のメモリコントローラ部分の構成例を示す図である。実施の形態１と全体構成（図１）は同様である。実施の形態１で説明したメモリコントローラ１３５（図２）に対し、図１３に示すように、バンク管理制御部１３０１の機能を追加している。バンク管理制御部１３０１は、シリアルメモリ１４１の複数の同一バンクに対して同時に読み書きを回避制御する。
【０１００】
図１４は、実施の形態２の伝送装置におけるリードリトライ時に同一バンクへのライトアクセスを回避する処理例を示すシーケンス図である。メモリコントローラ１３５およびシリアルメモリ１４１は下記の各処理を行う。
【０１０１】
（１）ユーザ回路（メモリ制御部１３４）がイベントとして発行したリード要求（Ｒｅａｄ１）は、メモリコントローラ１３５およびＳｅｒｄｅｓ１３５ａに伝えられる。
（２）メモリコントローラ１３５は、Ｒｅａｄ１の対象アドレスとリトライ回避バッファ２０３に存在するアドレスとを比較する。
（３）比較結果が一致しない場合、メモリコントローラ１３５は、シリアルメモリ１４１へＲｅａｄ１を発行する。
（４）シリアルメモリ１４１は、ＲｅａｄＤａｔａ１を返送する。この際、ＲｅａｄＤａｔａがＮＧ（ＥＣＣ結果、補正不可能なデータ）の場合、Ｒｅａｄ１と同じバンクにＷｒｉｔｅ要求が来た場合、シリアルメモリ１４１は、メモリコントローラ１３５に対し、Ｗｒｉｔｅを発行しないように制御する。
（４）’メモリコントローラ１３５は、ＲｅａｄＤａｔａのＮＧを確認する。
（５）ＲｅａｄＤａｔａがＮＧのため、メモリコントローラ１３５は、シリアルメモリ１４１に対してリトライのＲｅａｄ１を発行する。
（６）リトライのＲｅａｄ１とほぼ同じタイミングでユーザ回路からメモリコントローラ１３５に対してライト要求（Ｗｒｉｔｅ１）が発行されたとする。
【０１０２】
（７）この場合、メモリコントローラ１３５のバンク管理制御部１３０１は、Ｗｒｉｔｅ１のアクセス可否を判断する。すなわち、Ｗｒｉｔｅ１がＲｅａｄ１と同じバンクへのアクセスであるかを判断する。図１４の例では、Ｒｅａｄ１とＷｒｉｔｅ１が同一バンクへの同時アクセスであるため、Ｗｒｉｔｅ１を発行しない制御を行う（Ｓ３）。この場合、メモリコントローラ１３５は、Ｗｒｉｔｅ１のデータＷｒｉｔｅＤａｔａをリトライ回避バッファ２０３に保持する。
【０１０３】
（７）’メモリコントローラ１３５は、所定時間（Ｗｒｉｔｅ１のアクセス時間程度）が経過するのを待ってユーザ回路からのアクセスを許可する。
（８）この後、メモリコントローラ１３５は、シリアルメモリ１４１からリトライのＲｅａｄ１のデータ（ＲｅａｄＤａｔａ）をユーザ回路へ返答する。なお、ＲｅａｄＤａｔａがＯＫ（ＥＣＣ結果、補正可能なデータ）でユーザ回路に返答後は、Ｒｅａｄ１と同じバンクへのＷｒｉｔｅアクセスを処理できる。
【０１０４】
（データ書き込み時／読み出し時の処理例）
実施の形態２においても、実施の形態１同様に、図６〜図１２に示したデータ処理内容例によりデータ書き込み処理（図６〜図８）、および読み出し処理（図９〜図１２）を行う。
【０１０５】
図１５は、実施の形態２の伝送装置におけるデータ処理内容例を示すフローチャートである。図１５は、データ書き込み時の処理内容について、実施の形態１（図７）の処理と処理内容が一部異なる。図１５において、図７と同じ処理内容には同一符号（ステップ番号）を付してある。
【０１０６】
図６で説明した、ユーザ回路（メモリ制御部１３４）の処理に続き、図１５に示す処理をメモリコントローラ１３５が実行する。はじめに、メモリコントローラ１３５は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信待ちする（ステップＳ７０１）。
【０１０７】
メモリコントローラ１３５は、書き込みコマンド受信により、リトライ回避バッファ２０３の書き込みの状態フラグをＳｔｏｐ状態に変更する。また、空き領域（図３のフラグ「０」の領域）を確認し、空き領域に書き込みデータＷＤを格納し、格納した領域のフラグを「１」に変更する（ステップＳ７０２）。
【０１０８】
次に、メモリコントローラ１３５は、シリアルメモリ１４１に対する書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を生成する（ステップＳ７０３ａ）。
【０１０９】
そして、メモリコントローラ１３５のバンク管理制御部１３０１は、シリアルメモリ１４１の同一バンクへのリードアクセスが無いか確認する（ステップＳ７０３ｂ）。シリアルメモリ１４１へのリードのリトライ等により、書き込み／読み出しの同一バンクへのアクセスが有る場合には（ステップＳ７０３ｂ：Ｎｏ）、バンク管理制御部１３０１は、ライトコマンドの発行（図１０のステップＳ１０１０，Ｓ１０１２）を止める。この後、ステップＳ７０１に戻る。一方、書き込み／読み出しの同一バンクへのアクセスが無い場合には（ステップＳ７０３ｂ：Ｙｅｓ）、メモリコントローラ１３５は、ライトコマンドの発行を止めず、書き込みコマンドを発行する（ステップＳ７０３ｃ）。そして、書き込みデータＷＤは、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａに多重出力される（ＳＡ）。
【０１１０】
この後、メモリコントローラ１３５は、リトライ回避バッファ２０３の書き込みの状態フラグをＲｅａｄｙ状態に変更し（ステップＳ７０４）、シリアルメモリ１４１からの書き込みＡＣＫを受信待ちする（ステップＳ７０５）。
【０１１１】
そして、メモリコントローラ１３５は、シリアルメモリ１４１から受信した書き込みＡＣＫがＯＫであるか判断する（ステップＳ７０６）。ＯＫであれば（ステップＳ７０６：Ｙｅｓ）、シリアルメモリ１４１への書き込みデータＷＤの書き込みが正常終了であり、リトライ回避バッファ２０３に格納した書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグを「０」に変更する（ステップＳ７０７）。そして、ステップＳ７０１に戻る。
【０１１２】
一方、書き込みＡＣＫがＯＫではなくＮＧのときには（ステップＳ７０６：Ｎｏ）、ステップＳ７０１に戻る。この場合、リトライ回避バッファ２０３の書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグは「１」のままであり、リトライ回避バッファ２０３に書き込みデータＷＤが保持される。以上の図１５に示したメモリコントローラ１３５の処理に続き、図８に示した処理をシリアルメモリ１４１が実行する。
【０１１３】
実施の形態２によれば、実施の形態１同様の作用効果を有し、Ｓｅｒｄｅｓで確率的に生じるデータエラーに対応して、シリアルメモリに対するライトリトライを無くすことができる。そして、シリアルメモリに対するライトリトライを実行する時間分のシリアルメモリに対する通信の帯域の圧迫を回避できるようになる。
【０１１４】
また、実施の形態２によれば、シリアルメモリに対するリードリトライが生じたときに、シリアルメモリでリードリトライしている同一バンクへのライトアクセスを回避することができるようになる。なお、この際のライトデータは、リトライ回避バッファに格納しておくことができ、ライト処理を遂行できる。
【０１１５】
（実施の形態３）
実施の形態３では、リトライ回避バッファ２０３に格納したデータを空き時間を利用してシリアルメモリ１４１に書き込む自律リトライの構成例について説明する。
【０１１６】
図１６は、実施の形態３の伝送装置のメモリコントローラ部分の構成例を示す図である。実施の形態１と全体構成（図１）は同様である。実施の形態２で説明したメモリコントローラ１３５（図１３）に対し、図１６に示すように、自律リトライ制御部１６０１の機能を追加している。また、メモリコントローラ１３５の外部に空き時間監視回路１６０２を設ける。空き時間監視回路１６０２は、例えば、受信部１３２（図１参照）の機能の一部としてもよい。
【０１１７】
空き時間監視回路１６０２は、ユーザ回路（あるいはメモリコントローラ１３５）に対するパケットの入力状態を監視する入力状態監視部１６０２ａを有する。入力状態監視部１６０２ａは、入力されるパケットに所定の空き時間が生じると自律リトライ制御部１６０１に対し自律アクセス可能状態（自律リトライ可能状態）の情報（Ｓ４）を出力する。
【０１１８】
自律リトライ制御部１６０１は、自律リトライ可能状態の情報（Ｓ４）を受けると、リトライ回避バッファ２０３に格納したデータを読み出し、シリアルメモリ１４１に書き込む。
【０１１９】
図１７は、実施の形態３の伝送装置における自律リトライの処理例を示すシーケンス図である。メモリコントローラ１３５、空き時間監視回路１６０２およびシリアルメモリ１４１は下記の各処理を行う。
【０１２０】
（１）イベントとしてのライト要求（Ｗｒｉｔｅ１）は、メモリコントローラ１３５およびＳｅｒｄｅｓ１３５ａに伝えられる。
（２）メモリコントローラ１３５は、Ｗｒｉｔｅ１のアドレス（Ａｄｄ１）とデータ（Ｄａｔａ１）とをリトライ回避バッファ２０３に格納する。
（３）メモリコントローラ１３５からシリアルメモリ１４１に対するライト命令（Ｗｒｉｔｅ１）を発行する。
（３）’メモリコントローラ１３５は、ユーザ回路１３４に対するアクセスを制限する（Ｓｔｏｐ）。
（４）ここで、シリアルメモリ１４１へのライトがＮＧとなった場合、ライト失敗（Ａｃｋ１（ＮＧ））をメモリコントローラ１３５に返答する。メモリコントローラ１３５は、該当するデータのＷｒｉｔｅ失敗を示すフラグを立てる。
（５）メモリコントローラ１３５は、リトライ回避バッファ２０３内の該当アドレス（Ａｄｄ１）とデータ（Ｄａｔａ１）を保持する。
（５）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（Ｒｅａｄｙ）。
【０１２１】
（６）ユーザ回路１３４は、メモリコントローラ１３５へライト要求（Ｗｒｉｔｅ２，Ａｄｄ２，Ｄａｔａ２）を発行する。
（７）メモリコントローラ１３５からシリアルメモリ１４１に対するライト命令（Ｗｒｉｔｅ２）を発行する。
（７）’メモリコントローラ１３５は、ユーザ回路１３４に対するアクセスを制限する（Ｓｔｏｐ）。
（８）ここで、シリアルメモリ１４１がデータライトを正常に行えたとき、Ａｃｋ２（ＯＫ）をメモリコントローラ１３５に返送する。
（９）メモリコントローラ１３５は、リトライ回避バッファ２０３内の該当アドレスとデータ（Ａｄｄ２，Ｄａｔａ２）等を削除する。
（９）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（Ｒｅａｄｙ）。
【０１２２】
（１０）この後、空き時間監視回路１６０２の入力状態監視部１６０２ａが受信パケットを監視した結果、空き時間が生じた場合、自律リトライ可能状態の情報Ｓ４をメモリコントローラ１３５の自律リトライ制御部１６０１に通知する。
（１０）’自律リトライ制御部１６０１は、リトライ回避バッファ２０３内にデータが有るかを確認する。データが有る場合には（１１）に移行し、データがない場合には何もしない。
（１１）自律リトライ制御部１６０１は、ライト要求（Ｗｒｉｔｅ１’）を発行し、シリアルメモリ１４１にデータを書き込む（Ａｄｄ１，Ｄａｔａ１）。
（１１）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを制限する（Ｓｔｏｐ）。
（１２）シリアルメモリ１４１からメモリコントローラ１３５へＡｃｋ１’（ＯＫ）を返送する。
（１３）メモリコントローラ１３５は、リトライ回避バッファ２０３内の該当アドレスとデータ等（Ａｄｄ１，Ｄａｔａ１）等を削除する。
（１３）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（Ｒｅａｄｙ）。
【０１２３】
空き時間監視回路１６０２の入力状態監視部１６０２ａは、空き時間を検出した場合、上記（１０）〜（１３）’の処理を実施する。一方、空き時間を検出しない場合、ユーザ回路１３４から指示が有るまで（１０）以降の処理を待機する。
【０１２４】
（データ書き込み時／読み出し時の処理例）
以下、実施の形態２で説明したデータ書き込み処理、および読み出し処理に加えて、上記自律リトライの処理を追加した処理例について説明する。
【０１２５】
図１８，図１９は、実施の形態３の伝送装置におけるデータ処理内容例を示すフローチャートである。図１８は、データ書き込み時の処理内容について、実施の形態１（図６）の処理と処理内容が一部異なる。
【０１２６】
はじめに、図１８において、図６と同じ処理内容には同一符号（ステップ番号）を付してある。図１８は、ユーザ回路であるメモリ制御部１３４が行う処理であり、ユーザ回路は、書き込みデータが有るか判断する（ステップＳ６０１）。
【０１２７】
書き込みデータが無ければ（ステップＳ６０１：Ｎｏ）、空き時間監視回路１６０２の入力状態監視部１６０２ａは、自律リトライ可能（ＯＫ）状態に変更した情報Ｓ２をメモリコントローラ１３５の自律リトライ制御部１６０１に通知する（ステップＳ６０１ａ）。そして、ステップＳ６０１に戻る。一方、書き込みデータが有れば（ステップＳ６０１：Ｙｅｓ）、空き時間監視回路１６０２の入力状態監視部１６０２ａは、自律リトライ不能（ＮＧ）状態の情報Ｓ２をメモリコントローラ１３５の自律リトライ制御部１６０１に通知する（ステップＳ６０１ｂ）。
【０１２８】
次に、ユーザ回路１３４は、シリアルメモリ１４１に対する書き込みが可能（Ｒｅａｄｙ）状態であるかをリトライ回避バッファ２０３の状態フラグ等で判断する（ステップＳ６０２）。
【０１２９】
書き込みＲｅａｄｙ状態でなければ（ステップＳ６０２：Ｎｏ）、ステップＳ６０１に戻り、書き込みＲｅａｄｙ状態であれば（ステップＳ６０２：Ｙｅｓ）、読み出し側との同一Ｂａｎｋの同時アクセスは無いか競合調停部１３４ｂが判断する（ステップＳ６０３）。
【０１３０】
ここで、競合調停部１３４ｂは、書き込み処理を読み出し処理よりも優先処理する設定としている。このため、ステップＳ６０３の判断結果（ステップＳ６０３：Ｙｅｓ／Ｎｏ）に関わらず、いずれもステップＳ６０４に移行する。
【０１３１】
ステップＳ６０４では、ユーザ回路は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を発行する（ステップＳ６０４）。
【０１３２】
上記図１８で説明した、ユーザ回路（メモリ制御部１３４）の処理に続き、図１９に示す処理をメモリコントローラ１３５が実行する。図１９に示す処理は、実施の形態２（図１５）の処理（バンク管理制御）を含む。はじめに、メモリコントローラ１３５は、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信待ちする（ステップＳ７０１）。
【０１３３】
メモリコントローラ１３５は、書き込みコマンド受信により、リトライ回避バッファ２０３の書き込みの状態フラグをＳｔｏｐ状態に変更する。また、空き領域（図３のフラグ「０」の領域）を確認し、空き領域に書き込みデータＷＤを格納し、格納した領域のフラグを「１」に変更する（ステップＳ７０２）。
【０１３４】
次に、メモリコントローラ１３５は、シリアルメモリ１４１に対する書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を生成する（ステップＳ７０３ａ）。
【０１３５】
そして、メモリコントローラ１３５のバンク管理制御部１３０１は、シリアルメモリ１４１の同一バンクへのリードアクセスが無いか確認する（ステップＳ７０３ｂ）。シリアルメモリ１４１へのリードのリトライ等により、書き込み／読み出しの同一バンクへのアクセスが有る場合には（ステップＳ７０３ｂ：Ｎｏ）、バンク管理制御部１３０１は、ライトコマンドの発行（図１０のステップＳ１０１０，Ｓ１０１２）を止める。この後、ステップＳ７０１に戻る。一方、書き込み／読み出しの同一バンクへのアクセスが無い場合には（ステップＳ７０３ｂ：Ｙｅｓ）、メモリコントローラ１３５は、ライトコマンドの発行を止めず、書き込みコマンドを発行する（ステップＳ７０３ｃ）。そして、書き込みデータＷＤは、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａに多重出力される（ＳＡ）。
【０１３６】
この後、メモリコントローラ１３５は、リトライ回避バッファ２０３の書き込みの状態フラグをＲｅａｄｙ状態に変更し（ステップＳ７０４）、シリアルメモリ１４１からの書き込みＡＣＫを受信待ちする（ステップＳ７０５）。
【０１３７】
そして、メモリコントローラ１３５は、シリアルメモリ１４１から受信した書き込みＡＣＫがＯＫであるか判断する（ステップＳ７０６）。ＯＫであれば（ステップＳ７０６：Ｙｅｓ）、シリアルメモリ１４１への書き込みデータＷＤの書き込みが正常終了であり、リトライ回避バッファ２０３に格納した書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグを「０」に変更する（ステップＳ７０７）。そして、ステップＳ７０１に戻る。
【０１３８】
一方、書き込みＡＣＫがＯＫではなくＮＧのときには（ステップＳ７０６：Ｎｏ）、ステップＳ７０１に戻る。この場合、リトライ回避バッファ２０３の書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグは「１」のままであり、リトライ回避バッファ２０３に書き込みデータＷＤが保持される。以上の図１９に示したメモリコントローラ１３５の処理に続き、図８に示した処理をシリアルメモリ１４１が実行する。
【０１３９】
そして、実施の形態３では、自律リトライ可能判断（ステップＳ７１０）を追加して処理実行する。この処理では、ユーザ回路１３４の空き時間監視回路１６０２により、自律リトライ可能状態と、リトライ回避バッファ２０３内にデータが有るか否かをフラグ監視し、自律リトライの可能状態（ＯＫ／ＮＧ）を判断する。自律リトライが可能であれば書き込みをＳｔｏｐ状態に変更し（ステップＳ７１１）、リトライ回避バッファ２０３からデータを読み出し、ステップＳ７０３ａの処理を実行する。
【０１４０】
図２０は、実施の形態３の伝送装置におけるデータ処理内容の他の例を示すフローチャートである。図１９の処理例では、実施の形態１，２の処理を含めて行う構成としたが、図２０では、実施の形態２（同一バンク制御）の処理を省き、実施の形態１に実施の形態３（自律リトライ）の処理を加えた処理例である。
【０１４１】
図１８の処理に続いて、メモリコントローラ１３５は、図１９の処理を実行し、書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を受信待ちする（ステップＳ７０１）。
【０１４２】
メモリコントローラ１３５は、書き込みコマンド受信により、リトライ回避バッファ２０３の書き込みの状態フラグをＳｔｏｐ状態に変更する。また、空き領域（図３のフラグ「０」の領域）を確認し、空き領域に書き込みデータＷＤを格納し、格納した領域のフラグを「１」に変更する（ステップＳ７０２）。
【０１４３】
次に、メモリコントローラ１３５は、シリアルメモリ１４１に対する書き込みコマンド（Ａｄｄｒｅｓｓ，Ｄａｔａ等）を生成し、書き込みコマンドを発行する（ステップＳ７０３）。これにより、書き込みデータＷＤは、メモリコントローラ１３５側のＳｅｒｄｅｓ１３５ａに多重出力される（ＳＡ）。
【０１４４】
この後、メモリコントローラ１３５は、リトライ回避バッファ２０３の書き込みの状態フラグをＲｅａｄｙ状態に変更し（ステップＳ７０４）、シリアルメモリ１４１からの書き込みＡＣＫを受信待ちする（ステップＳ７０５）。
【０１４５】
そして、メモリコントローラ１３５は、シリアルメモリ１４１から受信した書き込みＡＣＫがＯＫであるか判断する（ステップＳ７０６）。ＯＫであれば（ステップＳ７０６：Ｙｅｓ）、シリアルメモリ１４１への書き込みデータＷＤの書き込みが正常終了であり、リトライ回避バッファ２０３に格納した書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグを「０」に変更する（ステップＳ７０７）。そして、ステップＳ７０１に戻る。
【０１４６】
一方、書き込みＡＣＫがＯＫではなくＮＧのときには（ステップＳ７０６：Ｎｏ）、ステップＳ７０１に戻る。この場合、リトライ回避バッファ２０３の書き込みデータＷＤの該当Ａｄｄｒｅｓｓのフラグは「１」のままであり、リトライ回避バッファ２０３に書き込みデータＷＤが保持される。以上の図２０に示したメモリコントローラ１３５の処理に続き、図８に示した処理をシリアルメモリ１４１が実行する。
【０１４７】
そして、図２０では、自律リトライ可能判断（ステップＳ７１０）を追加して処理実行する。この処理では、ユーザ回路１３４の空き時間監視回路１６０２により、自律リトライ可能状態と、リトライ回避バッファ２０３内にデータが有るか否かをフラグ監視し、自律リトライの可能状態（ＯＫ／ＮＧ）を判断する。自律リトライが可能であれば書き込みをＳｔｏｐ状態に変更し（ステップＳ７１１）、リトライ回避バッファ２０３からデータを読み出し、ステップＳ７０３の処理を実行する。
【０１４８】
実施の形態３によれば、実施の形態１同様の作用効果を有し、Ｓｅｒｄｅｓで確率的に生じるデータエラーに対応して、シリアルメモリに対するライトリトライを無くすことができる。そして、シリアルメモリに対するライトリトライを実行する時間分のシリアルメモリに対する通信の帯域の圧迫を回避できるようになる。
【０１４９】
また、実施の形態３によれば、実施の形態２同様の作用効果を有し、シリアルメモリに対するリードリトライが生じたときに、シリアルメモリでリードリトライしている同一バンクへのライトアクセスを回避することができるようになる。なお、この際のライトデータは、リトライ回避バッファに格納しておくことができ、ライト処理を遂行できる。
【０１５０】
上記実施の形態１，２では、シリアルメモリ１４１として、優先度により読み出し順序は変化するが、書き込み後一定時間で読み出される条件を有するメモリ（パケットバッファ１４１ａ）として用いている。実施の形態３では、自律リトライにより、リトライ回避バッファ２０３に格納されたデータをシリアルメモリ１４１に書き込むため、リトライ回避バッファ２０３の容量を増大させずに済む。そして、シリアルメモリ１４１のパケットバッファ１４１ａとしての条件を緩和もしくは解除することができるようになる。
【０１５１】
図２１は、既存の伝送装置における帯域圧迫の状態を示すシーケンス図である。既存のリトライ回避バッファ２０３を有さない伝送装置におけるシリアルメモリ１４１に対するデータライトの失敗時の処理を説明する。
（１）イベントとしてのライト要求（Ｗｒｉｔｅ１）は、メモリコントローラ１３５（およびＳｅｒｄｅｓ１３５ａ）に伝えられる。
（２）メモリコントローラ１３５からシリアルメモリ１４１に対するライト命令（Ｗｒｉｔｅ１）を発行する。
（２）’また、メモリコントローラ１３５は、ユーザ回路１３４のアクセスを制限（Ｓｔｏｐ）する。
（３）シリアルメモリ１４１はデータライトが失敗すると、ライト失敗（Ａｃｋ１（ＮＧ））をメモリコントローラ１３５に返答する。
（４）メモリコントローラ１３５は、シリアルメモリ１４１へのライト（Ｗｒｉｔｅ１）をリトライする。
（５）シリアルメモリ１４１はデータライトが正常終了すると、（Ａｃｋ１（ＯＫ））をメモリコントローラ１３５に返答する。
（５）’メモリコントローラ１３５は、ユーザ回路１３４のアクセスを許可する（Ｒｅａｄｙ）。
（６）その後、メモリコントローラ１３５は、アクセスを許可する（図の例ではリード要求）。
【０１５２】
上記既存の処理では、確率的に発生するシリアルメモリ１４１でのデータライト時の失敗により、メモリコントローラ１３５は、シリアルメモリ１４１へのライトをリトライする。このため、既存の伝送装置では、リトライにかかる期間Ｔの間、次のアクセスが待たされ、シリアルメモリ１４１に対する通信の帯域が圧迫される。受信バッファ１３１が一杯になると、パケットを送信する前段の伝送装置に対してパケット送信を停止要求することとなる。このように、シリアルメモリ１４１で確率的にデータ書き込みの失敗が生じた際に、シリアルメモリ１４１に対する通信の帯域が圧迫される。
【０１５３】
これに対し、各実施の形態によれば、図４等に示したように、高速なシリアルメモリ１４１を用いることで、確率的にデータ書き込みの失敗が生じても、このデータは、リトライ回避バッファ２０３に格納させておく。これにより、シリアルメモリ１４１へのリトライを行わなくても、リトライ回避バッファ２０３から読み出すことができる。シリアルメモリ１４１への書き込みリトライをなくした分、シリアルメモリ１４１の通信の帯域の圧迫を軽減できるようになり、ライト処理およびリード処理をいずれも効率的に遂行できるようになる。
【０１５４】
また、シリアルメモリ１４１への書き込みリトライを行わないため、リトライによる帯域圧迫のためにシリアルメモリとの間のＩＦであるトランシーバ（Ｓｅｒｄｅｓ等）の伝送速度を上げる必要が無く、伝送装置の消費電力の増大を抑えることができる。
【０１５５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５６】
（付記１）受信したパケットを記憶部に書き込み、前記パケットを前記記憶部から読み出して送信する伝送装置において、
受信した前記パケットを前記記憶部に書き込む際に、前記パケットおよび前記パケットのアドレス情報を記憶する一時記憶部と、
前記記憶部に対する前記パケットの書き込み時にエラーが生じた前記パケットを、前記アドレス情報に基づき前記一時記憶部から読み出すメモリコントローラと、
を備えたことを特徴とする伝送装置。
【０１５７】
（付記２）前記記憶部は、シリアルメモリであり、所定の確率でエラーが発生するインタフェースを介して前記パケットを記憶する、
ことを特徴とする付記１に記載の伝送装置。
【０１５８】
（付記３）前記メモリコントローラは、
受信した前記パケットを前記記憶部に正常に書き込みできた場合、前記一時記憶部に一時記憶した前記パケットおよび前記アドレス情報を削除する処理を行い、
前記記憶部から前記パケットを読み出す際、前記一時記憶部に前記パケットの前記アドレス情報が存在する場合に、前記アドレス情報に基づき前記一時記憶部から前記パケットを読み出す、
ことを特徴とする付記１または２に記載の伝送装置。
【０１５９】
（付記４）前記メモリコントローラは、
前記記憶部の同一バンクに対する読み出しおよび書き込みのアクセスが生じたとき、書き込む前記パケットを前記一時記憶部に格納する、
ことを特徴とする付記１〜３のいずれか一つに記載の伝送装置。
【０１６０】
（付記５）前記メモリコントローラは、
前記記憶部からの前記パケットの読み出しエラーにより前記記憶部に対する読み出しのリトライ時に、前記記憶部から読み出すバンクと同一バンクに対する前記パケットの書き込みが生じたとき、当該書き込む前記パケットを前記一時記憶部に格納する、
ことを特徴とする付記４に記載の伝送装置。
【０１６１】
（付記６）前記メモリコントローラは、
前記記憶部の前記同一バンクに対する前記パケットの書き込みを、前記記憶部の同一バンクに対する読み出しおよび書き込みのアクセスから所定時間経過後に許可する、
ことを特徴とする付記４または５に記載の伝送装置。
【０１６２】
（付記７）前記メモリコントローラに出力する書き込みデータ間の空き時間を監視する空き時間監視部を有し、
前記メモリコントローラは、前記空き時間監視部から前記空き時間を検出した情報の入力に基づき、前記空き時間を用いて、前記一時記憶部に格納された前記パケットの前記データと前記アドレスの情報を前記記憶部に書き込む、
ことを特徴とする付記１〜６のいずれか一つに記載の伝送装置。
【０１６３】
（付記８）前記空き時間監視部は、受信する前記パケット間の空き時間を監視する、
ことを特徴とする付記７に記載の伝送装置。
【０１６４】
（付記９）前記メモリコントローラは、
前記一時記憶部から前記パケットを読み出した後、読み出した当該パケットおよび前記アドレスを削除する、
ことを特徴とする付記１〜８のいずれか一つに記載の伝送装置。
【０１６５】
（付記１０）受信したパケットを記憶部に書き込み、前記パケットを前記記憶部から読み出して送信する伝送装置のリトライ方法において、
受信した前記パケットを前記記憶部に書き込む際に、前記パケットおよび前記パケットのアドレス情報を一時記憶部に一時記憶させ、
前記記憶部に対する前記パケットの書き込みでエラーが生じた前記パケットを前記アドレス情報に基づき前記一時記憶部から読み出す、
ことを特徴とするリトライ方法。
【０１６６】
（付記１１）受信した前記パケットを前記記憶部に正常に書き込みできた場合、前記一時記憶部に一時記憶した前記パケットおよび前記アドレス情報を削除する処理を行い、
前記記憶部から前記パケットを読み出す際、前記一時記憶部に前記パケットの前記アドレス情報が存在する場合に、前記アドレス情報に基づき前記一時記憶部から前記パケットを読み出す、
ことを特徴とする付記１または２に記載の伝送装置。
【符号の説明】
【０１６７】
１００  伝送装置
１０１  伝送路
１０２（１０２ａ〜１０２ｄ）  処理装置
１１２（１１２ａ〜１１２ｃ）  パケット
１２１  ヘッダ
１２２  データ
１３１  受信バッファ
１３２  受信部
１３３  制御部
１３４  メモリ制御部（ユーザ回路）
１３４ａ  メモリ書き込み制御部
１３４ｂ  競合調停部
１３４ｃ  メモリ読み出し制御部
１３５  メモリコントローラ
１３５ａ  Ｓｅｒｄｅｓ
１３５ｂ  伝送路
１３６  送信部
１３７  送信バッファ
１４１  シリアルメモリ
１４１ａ  パケットバッファ
２０１  リトライ要求判断部
２０２  コマンド／リトライＡｄｄｒｅｓｓ比較部
２０３  リトライ回避バッファ
２０３ａ  リードリトライバッファ
１３０１  バンク管理制御部
１６０１  自律リトライ制御部
１６０２  空き時間監視回路
１６０２ａ  入力状態監視部
【図１】
2017046319.tif 000003
【図２】
2017046319.tif 000004
【図３】
2017046319.tif 000005
【図４】
2017046319.tif 000006
【図５】
2017046319.tif 000007
【図６】
2017046319.tif 000008
【図７】
2017046319.tif 000009
【図８】
2017046319.tif 000010
【図９】
2017046319.tif 000011
【図１０】
2017046319.tif 000012
【図１１】
2017046319.tif 000013
【図１２】
2017046319.tif 000014
【図１３】
2017046319.tif 000015
【図１４】
2017046319.tif 000016
【図１５】
2017046319.tif 000017
【図１６】
2017046319.tif 000018
【図１７】
2017046319.tif 000019
【図１８】
2017046319.tif 000020
【図１９】
2017046319.tif 000021
【図２０】
2017046319.tif 000022
【図２１】
2017046319.tif 000023