JP2009282591A - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JP2009282591A
JP2009282591A JP2008131544A JP2008131544A JP2009282591A JP 2009282591 A JP2009282591 A JP 2009282591A JP 2008131544 A JP2008131544 A JP 2008131544A JP 2008131544 A JP2008131544 A JP 2008131544A JP 2009282591 A JP2009282591 A JP 2009282591A
Authority
JP
Japan
Prior art keywords
data
packet data
read
threshold
storage means
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.)
Pending
Application number
JP2008131544A
Other languages
English (en)
Inventor
Yuichi Maeda
裕一 前田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008131544A priority Critical patent/JP2009282591A/ja
Publication of JP2009282591A publication Critical patent/JP2009282591A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】データ転送装置及びデータ転送方法のバッファオーバーラン及びバッファアンダーランを抑制すること。
【解決手段】データ処理装置12は、入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段12aを備える。FIFO記憶手段12aは、記憶したパケットデータ量が閾値を超えたときに、記憶したパケットデータを出力する。また、入力されるパケットデータは、パケットデータ量の情報を含む。さらに、データ処理装置12は、パケットデータ量と、FIFO記憶手段12aの記憶容量と、に基づいて、閾値を設定する閾値設定手段12eを備える。
【選択図】図1

Description

本発明は、先入れ先出し方式で記憶するFIFO記憶手段を備えるデータ転送装置及びデータ転送方法に関するものであり、より詳細には、FIFO記憶手段に記憶されたパケットデータ量が閾値を超えたときに、記憶したパケットデータを出力する、データ転送装置及びデータ転送方法に関するものである。
従来、1つのパケットの全データの入力を完了する前に、FIFOバッファに蓄積されたデータが空になると、閾値を所定値だけ大きくするパケット転送方法が知られている(例えば、特許文献1参照)。当該転送方法において、バッファアンダーランが発生すると閾値を大きくすることで、次のパケット転送時におけるバッファアンダーランを抑制している。一方で、当該転送方法において、1パケット分のデータ書込みが完了した時に、FIFOバッファのデータ蓄積量が閾値よりも大きい場合、閾値を所定値だけ小さく設定する。これにより、次のパケット転送時期を早めて、バッファオーバーランを抑制している。
特開2006−311320号公報
しかしながら、上記パケット転送方法において、FIFOバッファのバッファオーバーラン又はバッファアンダーランの発生に応じて、閾値を設定している。このため、入力されるパケットのデータ量が、連続して大きく変動する場合に、適切な閾値を設定するのが困難となり、バッファオーバーラン又はバッファアンダーランを連続して、引き起こす虞がある。
本発明は、このような問題点を解決するためになされたものであり、バッファオーバーラン及びバッファアンダーランを抑制したデータ転送装置及びデータ転送方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段を備え、前記FIFO記憶手段は、前記記憶したパケットデータ量が閾値を超えたときに、該記憶したパケットデータを出力する、データ転送装置であって、前記入力されるパケットデータは、パケットデータ量の情報を含み、前記パケットデータ量と、前記FIFO記憶手段の記憶容量と、に基づいて、前記閾値を設定する閾値設定手段を備える、ことを特徴とするデータ転送装置である。
他方、上記目的を達成するための本発明の一態様は、入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段を備え、前記FIFO記憶手段は、前記記憶したパケットデータ量が閾値を超えたときに、該記憶したパケットデータを出力し、前記入力されるパケットデータは、パケットデータ量の情報を含む、データ転送方法であって、前記パケットデータ量と、前記FIFO記憶手段の記憶容量と、に基づいて、前記閾値を設定する閾値設定工程を含む、ことを特徴とするデータ転送方法であってもよい。
本発明によれば、データ転送装置及びデータ転送方法のバッファオーバーラン及びバッファアンダーランを抑制することができる。
以下、本発明を実施するための最良の形態について、添付図面を参照しながら一実施形態を挙げて説明する。図1は、本発明の一実施形態に係るデータ転送装置の機能ブロック図である。本実施形態に係るデータ転送装置12は、入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段12aを備えている。FIFO記憶手段12aは、記憶したパケットデータ量が閾値を超えたときに、記憶したパケットデータを出力する。また、入力されるパケットデータは、パケットデータ量の情報を含んでいる。さらに、データ転送装置12は、パケットデータ量と、FIFO記憶手段12aの記憶容量と、に基づいて、閾値を設定する閾値設定手段12eを備えている。閾値設定手段12eは、入力されるパケットデータ量と、FIFO記憶手段12aの記憶容量と、を考慮して、バッファオーバーラン及びバッファアンダーランを適切に抑制する閾値を設定する。すなわち、データ転送装置12のバッファオーバーラン及びバッファアンダーランをより確実に抑制することができる。
図2は、本発明の一実施形態に係るデータ転送装置を含むデータ処理システムのシステム構成の一例を示すブロック図である。図2に示す如く、本実施形態に係るデータ処理システム1は、一方のデータ処理装置10と、他方のデータ処理装置20と、を備えている。
一方のデータ処理装置10は、演算処理、制御処理等を行うCPU(Central Processing Unit)11と、パケットデータを転送するデータ転送装置12と、パケットデータを受信するシリアルデータ受信回路13と、を備えている。同様に、他方のデータ処理装置20は、演算処理、制御処理等を行うCPU21と、パケットデータを受信するシリアルデータ受信回路22と、パケットデータを転送するデータ転送装置23と、を備えている。
データ処理装置10のCPU11と、データ処理装置20のCPU21とは、独立して非同期動作を行いつつ、相互にパケットデータの送受信を行っている。データ処理装置10のCPU11は、パケットデータを、データ転送装置12を介して、データ処理装置20のシリアルデータ受信回路22に対して送信する。一方、データ処理装置20のCPU21は、パケットデータを、データ転送装置23を介してデータ処理装置10のシリアルデータ受信回路13に対して送信する。
一方のデータ処理装置10のCPU11が、他方のデータ処理装置20のCPU21に対してパケットデータを送信する際において、CPU11は、バスクロック信号101に同期して、データ転送装置12に対して、パケットデータであるパラレルデータ100と、後述の書込み可能状態にするイネーブル信号102とを、データバスを介して送信する。
また、他方のデータ処理装置20のCPU21が、一方のデータ処理装置10のCPU11からパケットデータを受信する際において、CPU21は、バスクロック信号201に同期して、シリアルデータ受信回路22に対して、後述の読出し可能状態にするイネーブル信号202を送信すると共に、シリアルデータ受信回路22からパラレルデータ200を、データバスを介して受信する。
データ処理装置10のデータ転送装置12は、送信FIFOメモリ12aと、蓄積データ量計測部12bと、データ識別部12cと、読出しクロック生成部12dと、読出し時期設定部12eと、読出し判定部12fと、パラレル/シリアル変換部12gと、を備えている。
送信FIFOメモリ(FIFO記憶手段)12aは、入力されるパケットデータを、先入れ先出し方式で記憶し、蓄積する。そして、送信FIFOメモリ12aは、蓄積したパケットデータ量が閾値を超えたときに、蓄積したパケットデータを出力する。
また、送信FIFOメモリ12aは、CPU11からのイネーブル信号102に応じて、書込み可能な状態となる。そして、送信FIFOメモリ12aは、CPU11からのバスクロック信号101に同期して、nビット幅(nは自然数)のパラレルデータ100の書き込み、記憶を行う。さらに、送信FIFOメモリ12aは、上記パラレルデータ100の書き込みを行うと共に、蓄積データ量計測部12bに対して、その書込みを通知する書込み通知信号106を送信する。
一方で、送信FIFOメモリ12aは、読出し判定部12fからの読出し命令信号103に応じて、読出しクロック生成部12dからの転送クロック信号104に同期して、nビット幅のパラレルデータ105の読出しを行う。そして、送信FIFOメモリ12aは、読出したパラレルデータ105を、パラレル/シリアル変換部12gに対して送信する。
なお、送信FIFOメモリ12aは、転送データとなる1パケット分のデータの書込みを終了しているか否かに関わらず、読出し判定部12fからの読出し命令信号103に応じて、読出しクロック生成部12dからの転送クロック信号104に同期して、パラレルデータ105の読出しを開始する。
蓄積データ量計測部12bは、送信FIFOメモリ12aからの書込み通知信号106と、読出し判定部12fからの読出し命令信号103と、に基づいて、CPU11からのバスクロック信号101と、読出しクロック生成部12dからの転送クロック信号104とに同期して、送信FIFOメモリ12aに蓄積されている蓄積データ量107(例えば、ワード数)を計測する。
蓄積データ量計測部12bは、例えば、アップダウンカウンタで構成されている。より具体的には、蓄積データ量計測部12bは、CPU11からのバスクロック信号101に同期して、送信FIFOメモリ12aからの書込み通知信号106を受信する毎に、アップカウントを行う。一方で、蓄積データ量計測部12bは、読出しクロック生成部12dからの転送クロック信号104に同期して、読出し判定部12fからの読出し命令信号103を受信する毎に、ダウンカウントを行う。
このように、蓄積データ量計測部12bは、上述のアップカウント及びダウンカウントを繰り返すことで、送信FIFOメモリ12aに蓄積されている蓄積データ量107を計測する。そして、蓄積データ量計測部12bは、計測した蓄積データ量107を、読出し判定部12fに対して、逐次的に送信する。
データ識別部12cは、CPU11からのバスクロック信号101に同期して、CPU11からのパラレルデータ100に含まれる、パケット情報100aの抽出を行う。ここで、CPU11から送信されるパラレルデータ100は、例えば、図3に示すようなHDLC(High-Level Data Link Control)フレームにより構成されている。このHDLCフレームで構成されたパラレルデータ100は、所定位置にパケット情報(INFORMATION)100aを含んでいる。また、パケット情報100aは、パケットデータ量100b、送信FIFOメモリ12aへの書込み速度100c等の情報を含んでいる。
データ識別部12cは、CPU11からのパラレルデータ100から、パケット開始のフラグ(FLAG、例えば、7E)を識別し、検出する。次に、データ識別部12cは、パケット開始のフラグ検出後(ADDRESS)から、送信FIFOメモリ12aへの書込みデータの計測を開始する。その後、データ識別部12cは、HDLCフレームの所定位置まで計測を行い、パケットデータ量100b、書込み速度100c等のパケット情報100aを抽出する。データ識別部12cは、抽出したパケットデータ量100b、書込み速度100c等のパケット情報100aを、読出し時期設定部12eと、読出しクロック生成部12dとに対して送信する。
読出しクロック生成部(読出し速度設定手段)12dは、CPU11からのバスクロック信号101に同期して、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aに基づいて、送信FIFOメモリ12aからパケットデータを読出す際の読出し速度Vrを設定する。そして、読出しクロック生成部12dは、設定された読出し速度Vrとなるような、転送クロック信号104を生成し、送信FIFOメモリ12aと、読出し判定部12fと、パラレル/シリアル変換部12gと、シリアルデータ受信回路22と、に対して送信する。
読出し時期設定部(閾値設定手段)12eは、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aに基づいて、送信FIFOメモリ12aからデータの読出し開始時期を決める閾値108を、設定する。そして、読出し時期設定部12eは、設定した閾値108を、読出し判定部12fに対して送信する。
読出し判定部12fは、送信FIFOメモリ12aによる読出し開始の判定を行う。まず、読出し判定部12fは、読出しクロック生成部12dからの転送クロック信号104に同期して、蓄積データ量計測部12bからの送信FIFOメモリ12aの蓄積データ量107と、読出し時期設定部12eからの閾値108と、の比較を行う。そして、読出し判定部12fは、蓄積データ量107が閾値108を超えていると判定したとき、送信FIFOメモリ12aと、蓄積データ量計測部12bとに対して、上述の読出し命令信号103を送信する。
なお、読出し判定部12fは、一旦、蓄積データ量107が閾値108を超えていると判定すると、送信FIFOメモリ12aの蓄積データ量が0になるまで、送信FIFOメモリ12aと、蓄積データ量計測部12bとに対して、上述の読出し命令信号103を、継続して送信する。
パラレル/シリアル変換部12gは、読出しクロック生成部12dからの転送クロック信号104に同期して、送信FIFOメモリ12aからのパラレルデータ105を、シリアルデータ110に変換する。そして、パラレル/シリアル変換部12gは、変換したシリアルデータ110を、データ処理装置20のシリアルデータ受信回路22に対して出力する。
他方で、データ処理装置20のシリアルデータ受信回路22は、シリアル/パラレル変換部22aと、受信FIFOメモリ22bと、受信書込み制御部22cと、を備えている。
シリアル/パラレル変換部22aは、データ処理装置10のデータ転送装置12からの転送クロック信号104に同期して、データ転送装置12からのシリアルデータ110を、nビット幅のパラレルデータ203に変換する。そして、シリアル/パラレル変換部22aは、変換したパラレルデータ203を、受信FIFOメモリ22bと、受信書き込み制御部22cとに対して送信する。
受信FIFOメモリ22bは、受信書き込み制御部22cからの書き込み制御信号204に応じて、データ転送装置12から受信した転送クロック信号104に同期して、シリアル/パラレル変換部22aからのパラレルデータ203の書込み、記憶を行う。一方で、受信FIFOメモリ22bは、CPU21からのイネーブル信号202に応じて、読出し可能な状態となる。そして、受信FIFOメモリ22bは、CPU21からのバスクロック信号201に同期して、nビット幅のパラレルデータ200の読出しを行う。さらに、受信FIFOメモリ22bは、読出したパラレルデータ200を、データバスを介してCPU21に対して送信する。
受信書込み制御部22cは、データ処理装置10のデータ転送装置12からの転送クロック信号104に同期して、シリアル/パラレル変換部22aからのパラレルデータ203から、パケット開始のフラグ(図3)を識別し、検出する。そして、受信書込み制御部22cは、パケット開始のフラグを検出すると、受信FIFOメモリ22cに対して書込み制御信号204を送信する。受信FIFOメモリ22bは、上述の如く、受信書き込み制御部22cからの書込み制御信号204を受信すると、データ転送装置12から受信した転送クロック信号104に同期して、シリアル/パラレル変換部22aからのパラレルデータ203の書込みを開始する。
なお、データ処理装置10のシリアルデータ受信回路13は、データ処理装置20のシリアルデータ受信回路22と略同一の構成となっている。同様に、データ処理装置20のデータ転送装置23は、データ処理装置10のデータ転送装置12と略同一の構成となっている。したがって、これらシリアルデータ受信回路13及びデータ転送装置23の詳細な説明は、省略する。
次に、読出し時期設定部12eにおける、送信FIFOメモリ12aからのデータ読出し開始時期を決める閾値108の設定方法について、詳細に説明する。読出し時期設定部12eは、上述の如く、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aに基づいて、閾値108を設定する。
読出し時期設定部12eは、例えば、データ識別部12cからのパケットデータ量100bと、送信FIFOメモリ12aの記憶容量と、の大小関係に応じて、閾値108を設定する。これにより、パケットデータ量及び送信FIFOメモリ12aの記憶容量を考慮した、最適な閾値が設定されるため、バッファオーバーラン及びバッファアンダーランを未然に回避することができる。
より具体的には、読出し時期設定部12eは、データ識別部12cからのパケットデータ量100bが、送信FIFOメモリ12aの記憶容量よりも大きいと判断したとき、送信FIFOメモリ12aの記憶容量を所定比率(例えば、50%程度)にした、閾値108を設定する。このように、パケットデータ量が送信FIFOメモリ12aの記憶容量よりも大きい場合は、記憶容量に応じた閾値108を設定する。これにより、送信FIFOメモリ12aのバッファオーバーラン及びバッファアンダーランを確実に回避することができる。
一方で、読出し時期設定部12eは、データ識別部12cからのパケットデータ量100bが、送信FIFOメモリ12aの記憶容量よりも小さいと判断したとき、送信FIFOメモリ12aの記憶容量ではなく、パケットデータ量100bを所定比率(例えば、50%程度)にした、閾値108を設定する。このように、パケットデータ量が送信FIFOメモリ12aの記憶容量よりも小さい場合は、パケットデータ量に応じた閾値108を設定する。これにより、送信FIFOメモリ12aのバッファオーバーラン及びバッファアンダーランを確実に回避しつつ、パケットデータが送信FIFOメモリ12aに滞留する滞留時間を、最小化することができる。なお、上記記憶容量及びパケットデータ量の所定比率は、バッファオーバーラン及びバッファアンダーランを確実に回避できるような最適値が設定される。
次に、読出しクロック生成部12dにおける、送信FIFOメモリ12aからパケットデータを読出す際の読出し速度Vrの設定方法について、詳細に説明する。図4は、読出しクロック生成部12dによる読出し速度Vrの設定方法を示す図である。なお、図4において、横軸は送信FIFOメモリ12aに対するデータ書込みが開始されてからの経過時間を示しており、縦軸はデータ量(ワード数)を示している。
読出しクロック生成部12dは、上述の如く、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aに基づいて、送信FIFOメモリ12aからの読出し速度Vrを設定する。
ここで、図4に示すように、送信FIFOメモリ12aの記憶容量をNとし、CPU11から送信されるパラレルデータ100のパケットデータ量を4N(記憶容量Nの4倍)とする。但し、パケットデータ量4Nは、受信FIFOメモリ22bの記憶容量よりも小さいものとする。
まず、読出しクロック生成部12dは、送信FIFOメモリ12aへの書込み開始時期Twsと、記憶容量4Nと、データ識別部12cからの書込み速度100c(図4に示す直線(I)の傾きVw)と、に基づいて、書込み終了時期Tendを決定する(書込み終了時期決定工程)。次に、読出しクロック生成部12dは、データ識別部12cからの書込み速度Vwと、読出し時期設定部12eからの閾値108と、に基づいて、読出し開始時期Trsを決定する(読出し開始時期決定工程)。
さらに、読出しクロック生成部12dは、決定した書込み終了時期Tendと、読出し開始時期Trsと、データ識別部12cからのパケットデータ量100bと、に基づいて、読出し速度(図4に示す直線(II)の傾きVr)を決定する(読出し速度決定工程)。そして、読出しクロック生成部12dは、決定した読出し速度Vrとなる転送クロック信号104を、送信FIFOメモリ12aと、読出し判定部12fと、パラレル/シリアル変換部12gと、シリアルデータ受信回路22と、に対して送信する。
図4に示すように、送信FIFOメモリ12aは、書込み動作と略同時(略平行)に、読出し動作を行うように、読出し開始時期Trs及び読出し速度Vrが設定される。さらに、送信FIFOメモリ12aの読出し速度Vrは、書込み速度Vwよりも大きくなるように設定される。これにより、送信FIFOメモリ12aの上書きによるデータ消失、すなわち、バッファオーバーランの発生を確実に抑制できる。
また、読出しクロック生成部12dは、バッファアンダーランが生じないように、送信FIFOメモリ12aの書込み終了時期Tend、読出し開始時期Trs、及び読出し速度Vrを夫々決定する。これにより、読出し速度Vrが書込み速度Vwよりも速いことによる不正なデータの読出し、すなわち、バッファアンダーランの発生を確実に抑制できる。なお、読出しクロック生成部12dは、書込み終了時期Tendを適切に設定することで、書込み終了時期Tendと読出し終了時期との差、すなわち、遅延時間を、最小に設定することができる。
さらに、読出しクロック生成部12dは、送信FIFOメモリ12aの書込み終了時期Tend、読出し開始時期Trs、及び読出し速度Vrを適切に設定することで、パケットデータが送信FIFOメモリ12aに滞留する滞留時間を、最小にすることができる。
次に、本実施形態に係るデータ転送装置12の制御処理フローについて、詳細に説明する。図5は、本実施形態に係るデータ転送装置12の制御処理フローの一例を示すフローチャートである。なお、図5に示す制御処理は、所定時間毎に繰り返し実行される。
まず、データ転送装置12の送信FIFOメモリ12aは、CPU11からのイネーブル信号102と、バスクロック信号101とに基づいて、パラレルデータ100の書込みを行うと共に、蓄積データ量計測部12bに対して、書込み通知信号106を送信する(ステップS300)。
次に、データ識別部12cは、CPU11からのパラレルデータ100から、パケットデータ量100b、書込み速度100c等のパケット情報100aを抽出する。データ識別部12cは、抽出したパケット情報100aを、読出し時期設定部12eと、読出しクロック生成部12dとに対して送信する(ステップS301)。
その後、読出し時期設定部12eは、送信FIFOメモリ12aの記憶容量と、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aと、に基づいて、送信FIFOメモリ12aからデータ読出しを開始する時期を決める閾値108を設定する(閾値設定工程)(ステップS302)。
また、読出しクロック生成部12dは、データ識別部12cからのパケットデータ量100b、書込み速度100c等のパケット情報100aに基づいて、送信FIFOメモリ12aの読出し速度Vrを設定する(読出し速度決定工程)。そして、読出しクロック生成部12dは、設定された読出し速度Vrで転送クロック信号104を生成し、送信FIFOメモリ12aと、読出し判定部12fと、パラレル/シリアル変換部12gと、シリアルデータ受信回路22と、に対して送信する(ステップS303)。
さらに、蓄積データ量計測部12bは、送信FIFOメモリ12aからの書込み通知信号106と、読出し判定部12fからの読出し命令信号103と、に基づいて、送信FIFOメモリ12aに蓄積されている蓄積データ量107を計測する(ステップS304)。
読出し判定部12fは、読出しクロック生成部12dからの転送クロック信号104に同期して、蓄積データ量計測部12bからの送信FIFOメモリ12aの蓄積データ量107と、読出し時期設定部12eからの閾値108と、を比較する。そして、読出し判定部12fは、蓄積データ量107が閾値108を超えていると判定したとき、送信FIFOメモリ12aと、蓄積データ量計測部12bとに対して、上述の読出し命令信号103を送信する(ステップS305)。
送信FIFOメモリ12aは、読出し判定部12fからの読出し命令信号103に応じて、読出しクロック生成部12dからの転送クロック信号104に同期して、パラレルデータ105の読出しを行う。そして、送信FIFOメモリ12aは、読出したパラレルデータ105を、パラレル/シリアル変換部12gに対して送信する(ステップS306)。
以上、本実施形態に係るデータ転送装置12において、読出し時期設定部12eは、データ識別部12cからのパケットデータ量100bが、送信FIFOメモリ12aの記憶容量よりも大きいと判断したとき、送信FIFOメモリ12aの記憶容量を所定比率にした、閾値108を設定する。これにより、送信FIFOメモリ12aのバッファオーバーラン及びバッファアンダーランを確実に回避することができる。一方で、読出し時期設定部12eは、データ識別部12cからのパケットデータ量100bが、送信FIFOメモリ12aの記憶容量よりも小さいと判断したとき、パケットデータ量100bを所定比率にした、閾値108を設定する。これにより、送信FIFOメモリ12aのバッファオーバーラン及びバッファアンダーランを確実に回避しつつ、パケットデータが送信FIFOメモリ12aに滞留する滞留時間を、最小化することができる。
また、本実施形態に係るデータ転送装置12において、読出しクロック生成部12dは、送信FIFOメモリ12aの書込み動作と略同時に、読出し動作を行うように、読出し開始時期Trs及び読出し速度Vrを設定する。そして、読出しクロック生成部12dは、送信FIFOメモリ12aの読出し速度Vrを、書込み速度Vwよりも大きくなるように設定する。これにより、送信FIFOメモリ12aの上書きによるデータ消失、すなわち、バッファオーバーランの発生を確実に抑制できる。
さらに、読出しクロック生成部12dは、バッファアンダーランが発生しないように、送信FIFOメモリ12aの書込み終了時期Tend、読出し開始時期Trs、及び読出し速度Vrを夫々決定する。これにより、読出し速度Vrが書込み速度Vwよりも速いことによる不正なデータの読出し、すなわち、バッファアンダーランの発生を確実に抑制できる。また、読出しクロック生成部12dは、書込み終了時期Tendを適切に設定することで、書込み終了時期Tendと読出し終了時期との差、すなわち、遅延時間を、最小に設定することができる。
なお、読出しクロック生成部12dは、送信FIFOメモリ12aの書込み終了時期Tend、読出し開始時期Trs、及び読出し速度Vrを適切に設定することで、パケットデータが送信FIFOメモリ12aに滞留する滞留時間を、最小にすることができる。
以上、本発明を実施するための最良の形態について一実施形態を用いて説明したが、本発明はこうした一実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、上述した一実施形態に種々の変形及び置換を加えることができる。
例えば、上記一実施形態において、閾値設定工程(ステップS302)後に、読出し速度決定工程(ステップS303)が実行されているが、読出し速度決定工程後に閾値設定工程が実行されてもよく、各ステップSを任意に変更可能である。
また、上記一実施形態において、データ処理装置10のCPU11とデータ処理装置20のCPU21とが、非同期で動作して、双方向でパケットデータの送受信を行う構成に適用されているが、これに限られず、FIFOメモリの書込み速度と読込み速度とが相違する装置間でも適用可能である。
さらに、上記一実施形態において、CPU11から送信されるパラレルデータ100は、HDLCフレームにより構成されているが、これに限られず、パケット情報100aの位置をフレーム上に固定できれば、任意のフレームフォーマットによって構成することができる。
本発明の一実施形態に係るデータ転送装置の機能ブロック図である。 本発明の一実施形態に係るデータ転送装置を含むデータ処理システムのシステム構成の一例を示すブロック図である。 HDLCフレームにより構成されたパケットデータの一例を示す図である。 本発明の一実施形態に係るデータ転送装置の読出しクロック生成部による読出し速度の設定方法を示す図である。 本発明の一実施形態に係るデータ転送装置の制御処理フローの一例を示すフローチャートである。
符号の説明
1 データ処理システム
10、20 データ処理装置
11、21 CPU
12、23 データ転送装置
12a 送信FIFOメモリ
12b 蓄積データ量計測部
12c データ識別部
12d 読出しクロック生成部
12e 読出し時期設定部
12f 読出し判定部
12g パラレル/シリアル変換部
13、22 シリアルデータ受信回路
22a シリアル/パラレル変換部
22b 受信FIFOメモリ
22c 受信書込み制御部
100、105 パラレルデータ
101、201 バスクロック信号
102、202 イネーブル信号
103 読出し命令信号
104 転送クロック信号
106 書込み通知信号
107 蓄積データ量
108 閾値
200、203 パラレルデータ
204 書き込み制御信号

Claims (5)

  1. 入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段を備え、
    前記FIFO記憶手段は、前記記憶したパケットデータ量が閾値を超えたときに、該記憶したパケットデータを出力する、データ転送装置であって、
    前記入力されるパケットデータは、パケットデータ量の情報を含み、
    前記パケットデータ量と、前記FIFO記憶手段の記憶容量と、に基づいて、前記閾値を設定する閾値設定手段を備える、ことを特徴とするデータ転送装置。
  2. 請求項1記載のデータ転送装置であって、
    前記入力されるパケットデータは、前記FIFO記憶手段が記憶する際の、書込み速度の情報を含み、
    前記パケットデータの書込み速度及びパケットデータ量と、前記閾値設定手段により設定された前記閾値と、に基づいて、前記FIFO記憶手段の読出し速度を設定する読出し速度設定手段を更に備える、ことを特徴とするデータ転送装置。
  3. 請求項1記載のデータ転送装置であって、
    前記閾値設定手段は、
    前記入力されるパケットデータの前記パケットデータ量が、前記FIFO記憶手段の記憶容量よりも大きいとき、該記憶容量を所定比率にした前記閾値を設定し、
    前記入力されるパケットデータの前記パケットデータ量が、前記FIFO記憶手段の記憶容量よりも小さいとき、前記パケットデータ量を所定比率にした前記閾値を設定する、ことを特徴とするデータ転送装置。
  4. 入力されるパケットデータを、先入れ先出し方式で記憶するFIFO記憶手段を備え、
    前記FIFO記憶手段は、前記記憶したパケットデータ量が閾値を超えたときに、該記憶したパケットデータを出力し、
    前記入力されるパケットデータは、パケットデータ量の情報を含む、データ転送方法であって、
    前記パケットデータ量と、前記FIFO記憶手段の記憶容量と、に基づいて、前記閾値を設定する閾値設定工程を含む、ことを特徴とするデータ転送方法。
  5. 請求項4記載のデータ転送方法であって、
    前記入力されるパケットデータは、前記FIFO記憶手段が記憶する際の、書込み速度の情報を含み、
    前記FIFO記憶手段の書込み開始時期と、前記記憶容量と、前記パケットデータの書込み速度と、に基づいて、前記FIFO記憶手段の書込み終了時期を決定する、書込み終了時期決定工程と、
    前記パケットデータの書込み速度と、前記閾値設定工程で設定された前記閾値と、に基づいて、前記FIFO記憶手段の読出し開始時期を決定する、読出し開始時期決定工程と、
    前記書込み終了時期決定工程で決定した前記書込み終了時期と、前記読出し開始時期決定工程で決定した前記読出し開始時期と、前記パケットデータのパケットデータ量と、に基づいて、前記FIFO記憶手段の読出し速度を決定する、読出し速度決定工程と、を含む、ことを特徴とするデータ転送方法。
JP2008131544A 2008-05-20 2008-05-20 データ転送装置及びデータ転送方法 Pending JP2009282591A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008131544A JP2009282591A (ja) 2008-05-20 2008-05-20 データ転送装置及びデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008131544A JP2009282591A (ja) 2008-05-20 2008-05-20 データ転送装置及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2009282591A true JP2009282591A (ja) 2009-12-03

Family

ID=41453020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008131544A Pending JP2009282591A (ja) 2008-05-20 2008-05-20 データ転送装置及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2009282591A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013531845A (ja) * 2010-06-04 2013-08-08 ザイリンクス インコーポレイテッド 集積回路のための入出力バンクアーキテクチャ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013531845A (ja) * 2010-06-04 2013-08-08 ザイリンクス インコーポレイテッド 集積回路のための入出力バンクアーキテクチャ

Similar Documents

Publication Publication Date Title
US20090323728A1 (en) Asynchronous data fifo that provides uninterrupted data flow
JP2016131325A (ja) 通信システム、異常検出装置及び異常検出方法
JP2009282591A (ja) データ転送装置及びデータ転送方法
EP3671720B1 (en) Real-time on-chip data transfer system
JP2007103999A (ja) データ転送制御装置、およびデータ転送制御方法
JP4696003B2 (ja) データ転送回路
CN115699668A (zh) 宽弹性缓冲器
US7324564B2 (en) Transmitting odd-sized packets over a double data rate link
TWI484333B (zh) 彈性緩衝器模組及傳輸介面之彈性緩衝方法
JP5082954B2 (ja) 信号処理回路
JP2005303787A (ja) パケット生成装置
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
JP2005321933A (ja) データ入出力装置およびデータ入出力方法
JP4387488B2 (ja) オーバフロー保護回路及びこれを用いた画像伝送装置
TW202334837A (zh) 資料傳送裝置及資料傳送方法
JP5586442B2 (ja) 通信装置、通信装置のデータ転送方法および通信プログラム
KR100585900B1 (ko) 통신 인터페이스 회로 및 그 제어 방법과, 마이크로컴퓨터
JP6488756B2 (ja) 通信制御装置及び画像形成装置
JP6213003B2 (ja) 通信制御装置、画像処理装置、通信制御プログラム
JP6292740B2 (ja) データ受信装置
JP2008078974A (ja) 非同期送受信回路
JP2021090089A (ja) 画像処理装置
JP2011065537A (ja) データ受信システムおよび割り込み実行方法
JP2005128931A (ja) Dma転送装置
JP2005182290A (ja) データ転送制御装置及びデータ転送制御方法