JP4567373B2 - データ転送装置及び通信データ処理システム - Google Patents

データ転送装置及び通信データ処理システム Download PDF

Info

Publication number
JP4567373B2
JP4567373B2 JP2004150736A JP2004150736A JP4567373B2 JP 4567373 B2 JP4567373 B2 JP 4567373B2 JP 2004150736 A JP2004150736 A JP 2004150736A JP 2004150736 A JP2004150736 A JP 2004150736A JP 4567373 B2 JP4567373 B2 JP 4567373B2
Authority
JP
Japan
Prior art keywords
data
memory
order
sequencer
communication
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
JP2004150736A
Other languages
English (en)
Other versions
JP2005333481A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2004150736A priority Critical patent/JP4567373B2/ja
Priority to US11/122,116 priority patent/US7853737B2/en
Publication of JP2005333481A publication Critical patent/JP2005333481A/ja
Application granted granted Critical
Publication of JP4567373B2 publication Critical patent/JP4567373B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は通信データの転送装置に関し、特に、メモリに記憶されているデータを取得し、パケット通信に対応したアライン処理を実行するデータ転送装置に関する。
インターネットに代表されるネットワーク技術の進歩、普及に伴い、多くのコンピュータはネットワークに接続され、他のコンピュータとの間においにおいてデータ通信を実行する。典型的には、コンピュータはイーサネット(登録商標)に代表されるLAN(Local area Network)に接続され、LAN内における他のコンピュータとの間においてデータ通信を実行し、また、LANを介して外部のネットワークに接続する。
通信データはコンピュータ内のネットワーク・コントローラを介して転送される。ネットワーク・コントローラは、メイン・メモリから取得データに対し必要な処理を実行したあと、生成されたパケット・データをLANに出力する。また、LANから取得した通信パケット・データについて必要な処理を実行し、メイン・メモリにそのデータを格納する。図4は、従来の技術におけるデータ転送のためのデータ処理を説明するブロック図である。
図4は、ネットワーク・コントローラの一部構成であるアライナ310と、データを記憶するメイン・メモリ350を示している。アライナ310とメイン・メモリ350とは、データ・バス360を介してデータの授受を行う。アライナ310は、取得したデータを、ネットワークによるパケット通信に対応した順序にデータを並べ替える(アラインする)アライン・ロジック311備えている。さらに、アライン・ロジック311からのデータを一時的に格納し、格納した順番で出力するFIFO312、及び、メイン・メモリ350からデータ読み出し、FIFOからのデータ出力を制御するシーケンサ313を備えている。
尚、図4は、FIFO312がアラインされたデータを記憶している状態を示している。FIFO312の一マスは1バイト・データを示している。また、ハッチされたマスのデータは転送される通信データとして有効なデータを示しており、白のマスは転送される通信データとして無効なデータを示している。アライン・ロジック311は、無効データと有効データが混在したデータから、図4に示すように有効データを連続的なデータ列に並べ替える。
図4に示されたシステムにおけるデータ転送処理を説明する。特に、メイン・メモリ350に記憶されているデータの出力処理を説明する。まず、シーケンサ313はメイン・メモリ350からの読み出しの要求(MReq)を発行する([1])。要求に応答して、メイン・メモリ350からデータRDATAが読み出され、アライナ310のアライン・ロジック311に入力される([2])。アライン・ロジック311は取得したデータをアラインし、ALRDATAをFIFO313に出力する([3])。
メイン・メモリ350からアライナ310へのデータ転送が完了すると、完了を示すMAckがシーケンサ313に送られる([4])。シーケンサ313は、MAckに応答して、FIFO313のデータを次のデータ処理ブロックに出力するようにFIFO313を制御するCtl信号を出力する([5])。上記の処理動作が、転送すべきデータがなくなるまで繰り返される。尚、この他、複数のデータ・レジスタを備え、CPUからメイン・メモリへのストア要求を処理するストア・バッファが特許文献1に開示されている。
特開昭61−118853号公報
図4を参照して説明された従来技術において、メイン・メモリ350からアライン・ロジック311へのデータ入力は、FIFO312からの所定バイトのデータ出力の完了を待って行うことが必要とされる。例えば、メイン・メモリ350から64バイトのデータ読み出しが行われる場合、FULL状態のFIFO312がデータを出力し、64バイトのデータを格納することができる空き領域を形成した後に、メイン・メモリ350からデータの転送を行うことが必要とされる。
しかし、データ・バス360は他の回路構成と共に使用するため、FIFO312に空き領域が形成されたタイミングにおいて、メイン・メモリ350からデータ転送を開始できるとは限らない。所望のタイミングで、メイン・メモリ350からデータを読み出すことができない場合、データ転送処理においてデッド・タイムが生じ、データ転送遅延が発生する。
特に、近年の半導体技術及び情報処理技術の進歩に伴い、ネットワークにおけるデータ転送速度の高速化が進んでいる。例えば、イーサネット(登録商標)のデータ転送速度は、10Mbps、100Mbpsから1Gbpsへと進んでいる。このため、メイン・メモリ350からアライナ310へのデータ転送の遅れが、ボトルネックとなり、外部のデータ転送速度に対応することができないことが考えられる。
あるいは、FIFOにはメイン・メモリ350から読み出されたデータを、読み出された順序に従ってFIFOに入力することが必要とされる。このため、リード・コマンドは、1つ1つ独立して発行、完了することが必要であり、コマンドのインターリーブによって、バスの使用効率を高めることができない。
本発明は上記のような事情を背景としてなされたものであって、本発明の目的は、メモリから取得したデータのアライン処理を含むデータ転送処理を効率的に実行することである。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるだろう。
以下に課題を解決するための手段を開示する。本項目において、いくつかの構成要素は、実施の形態において説明された構成要素と対応付けられている。しかし、この対応付けは発明の理解の容易のためになされたものであって、各要素は実施の形態の対応要素にのみ限定されるものでない。
本発明の第1の態様は、メモリから取得した通信データを転送する通信データ転送装置であって、メモリからのデータを一時的に記憶し、互いに独立してデータの入出力が可能な複数のバッファ・メモリと(例えば、複数のレジスタ・ファイル131)、入力されたデータをパケット通信に対応した順序に並べ替えるアライン部(例えば、アライン・ロジック132)と、前記複数のバッファ・メモリから選択したバッファ・メモリの読み出しデータを前記アライン部に出力するセレクタ(例えば、セレクタ133)と、を有する。複数のバッファ・メモリを備えることによって、メモリから取得したデータのアライン処理、アラインされたデータの転送処理を効率的に実行することができる。
前記通信データ転送装置は、互いに独立してデータの入出力が可能な3以上のバッファ・メモリを備えることができる。多くのバッファ・メモリを有することによって、より効率的な処理が可能となる。
前記セレクタは、前記メモリからのデータ読み出しを要求するデータ・リード要求の発行順序と、前記データ・リード要求に対応するデータが前記複数バッファ・メモリから読み出される順序とが同一となるように、前記複数のバッファ・メモリからバッファ・メモリを選択する。これによって、データ順序が変更されることがないので、その後の処理において効率的な処理が可能となる。
前記セレクタによって選択されるバッファ・メモリを特定する選択制御データがセットされる選択制御データ・キュー(例えば、アライン・リクエスト・キュー134)と、前記メモリからのデータを格納するバッファ・メモリを特定して前記メモリからのデータ読み出しを要求するデータ・リード要求の発行順序と、前記選択制御データ・キューにセットされる選択制御データの順序が同一となるように、前記選択制御データを前記選択制御データ・キューにセットする制御部(例えば、シーケンサ135)と、をさらに有する。これによって、データ順序が変更されることがないので、その後の処理において効率的な処理が可能となる。
本発明の第2の態様に係る通信データ処理システムは、データを記憶するメモリと、前記メモリからの読み出しデータを伝送するデータ・バスと、前記メモリから前記データ・バスを介して取得したデータを一時的に記憶する、互いに独立してデータの入出力が可能な複数のバッファ・メモリと、前記データ・バスの使用件を調停し、前記メモリから前記複数のバッファ・メモリへのデータ読み出しを制御するバス・アービタと、入力されたデータをパケット通信に対応した順序に並べ替えるアライン部と、前記複数のバッファ・メモリから選択したバッファ・メモリの読み出しデータを前記アライン部に出力するセレクタと、を有する。複数のバッファ・メモリを備えることによって、メモリから取得したデータのアライン処理、アラインされたデータの転送処理を効率的に実行することができる。
前記バス・アービタは、前記メモリからの前記複数のバッファ・メモリへのデータ読み出しを要求するデータ・リード要求の発行順序と、前記メモリから前記複数のバッファ・メモリ内のバッファ・メモリへのデータ転送順序とを、アウト・オブ・オーダにおいて制御する。これによって、データ・バスに使用効率を高めることができる。
前記メモリからのデータを格納するバッファ・メモリを特定して前記メモリからのデータ読み出しを要求するデータ・リード要求がセットされるデータ・リード要求キュー(例えば、バス・リクエスト・キュー136)と、前記セレクタによって選択されるバッファ・メモリを特定する選択制御データがセットされる選択制御データ・キューと、前記データ・リード要求を発行して前記データ・リード要求キューにセットし、前記データ・リード要求の発行順序と同一順序において前記選択制御データを前記選択制御データ・キューにセットする制御部と、をさらに有する。これによって、データ順序が変更されることがないので、その後の処理において効率的な処理が可能となる。
本発明によれば、メモリから取得したデータのアライン処理を含むデータ転送処理を効率的に実行することができる。
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明が以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。尚、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
実施の形態1.
図1は、本実施形態における通信データ処理システム100の概略構成を示すブロック図である。図1に示すように、通信データ処理システム100は、通信データを記憶するメイン・メモリ110と、メイン・メモリ110から取得したデータを転送するデータ転送部120とを備えている。データ転送部120の典型的な一例は、LANなどに接続されるネットワーク・コントローラである。データ転送部120は、送信されるパケット・データ形成のために、メイン・メモリ110から取得したデータを並び替えるアライナ130を備えている。メイン・メモリ110及びアライナ130はデータ・バス140を介してデータの通信を行う。
メイン・メモリ110は、外部から入力された通信データ及び外部へ出力する通信データを記憶する。メイン・メモリ110は、この他、図示されていない回路構成からの要求に応じて必要なデータを記憶する。通信パケット・データはバイト・ストリームであるのに対して、メイン・メモリ110からは32ビット幅、64ビット幅等でのデータ読み出しが実行される。
アライナ130は、メイン・メモリ110から取得したデータを一時的に記憶するバッファ・メモリの一例であるレジスタ・ファイル131a〜131n(以下、これらを集約的にレジスタ・ファイル131と呼ぶ)を、複数備えている。各レジスタ・ファイル131はそれぞれ独立に動作し、他のレジスタ・ファイルと独立にデータの書き込み及び読み出しを行うことができる。一つのレジスタ・ファイル131にデータが書き込まれている間に、他レジスタ・ファイル131からデータが読み出される。
アライナ130は、さらに、レジスタ・ファイル131からのデータを規定の順序に並べ替える(アラインする)アライン・ロジック132を備えている。アライン・ロジック132は、例えば、取得したデータを、イーサネット(登録商標)によるパケット通信に対応した順序にデータを並べ替える。32ビット幅あるいは64ビット幅などのデータをメイン・メモリ110から取得した場合、通信データとして有効なデータと無効なデータが含まれている。アライン・ロジック132は、これらデータを並べ替え、通信プロトコルに応じた所定のバイト幅に整列しなおすことによって、後の処理におけるパケット・データの生成を効率的に実行することを可能とする。尚、アライン・ロジック132からの出力データは、データ転送部120内において次にデータ処理を実行するブロック125に転送される。
レジスタ・ファイル131からのデータは、セレクタ133を介してアライン・ロジック132に入力される。セレクタ133は、複数のレジスタ・ファイル131からのデータを選択的にアライン・ロジック132に出力する。これによって、複数のレジスタ・ファイル131に格納されているデータを、必要な順序においてアライン・ロジック132に渡すことができる。セレクタ133は、アライン・リクエスト・キュー134にキューされているリクエストに応じて、複数のレジスタ・ファイル131から一つのレジスタ・ファイルを選択する。図1において、アライン・リクエスト・キュー134には3つのリクエストがセットされるが、この数は特に限定されるものではない。
シーケンサ135は、通信データ処理システム100における制御処理を実行する。特に、メイン・メモリ110からレジスタ・ファイル131へのデータの読み出し制御、及びレジスタ・ファイル131からアライン・ロジック132へのデータ出力の制御を行う。メイン・メモリ110からレジスタ・ファイル131へデータ入力の制御は、バス・リクエスト・キュー136にリクエストをセットすることによって実行する。また、シーケンサ135は、アライン・リクエスト・キュー134にリクエストをセットすることによって、アライン・ロジック132へ出力するレジスタ・ファイル131の読み出しデータの選択を制御する。尚、バス・リクエスト・キュー136にセットされるリクエスト数は、設計により効率的処理が可能な数が選択される。
シーケンサ135は、他の構成要素からの制御信号に応じて、上記制御処理を実行する。具体的には、バス・アービタ141からのリクエスト受付完了信号、レジスタ・ファイル131からのレディ信号等に応答して、通信データ処理システム内のデータ転送を制御する。
データ・バス140は図示されていない回路構成を含む複数の回路構成によって共用される。このため、データ・バス140を介したデータ通信は、バス・アービタ141によって制御される。バス・アービタ141は、データ・バス140の使用権の調停処理を行う。
図1において、バス・アービタ141は、バス・リクエスト・キュー136にキューされているリクエストに応答して、データ・バス140におけるデータ伝送を制御する。本形態のバス・システムは、異なるデータ・リード・リクエストの発行と、それらに対応するメイン・メモリ110からのデータ・リードの完了順序を、アウト・オブ・オーダにおいて実行することができる。
例えば、第1のリード・コマンドがバス・アービタ141に対して発行され、その次に第2のリード・コマンドが発行された場合において、最初に第2のリード・コマンドに対応するデータの読み出しが完了し、その後に、第1のリード・コマンドに対応するデータの読み出しが完了することができる(上記のようなアウト・オブ・オーダ処理を一般に、スプリット・トランザクションと呼ぶ)。これによって、データ・バス140使用効率を高め、データ転送の全体的効率が高まる。
本形態の通信データ処理システム100の処理を、図2を参照して説明する。図2は、通信データ処理システム100内における制御データ及びメイン・メモリ110からのリード・データのシーケンスを示している。本例においては、通信データ処理システム100は2つのレジスタ・ファイル131a、bを備える。各レジスタ・ファイル131a、bは、64バイトのデータを記憶することができる。各レジスタ・ファイル131a、bの1マスは、1バイト・データを表している。
バス・リクエスト・キュー136には、メイン・メモリ110からレジスタ・ファイル131a(Reg0)へのデータ読み出しを要求するリクエストReq(Reg0)とレジスタ・ファイル131b(Reg1)へのデータ読み出しを要求するリクエストReq(Reg1)が、それぞれキューされている。発行順序は、Req(Reg0)、Req(Reg1)の順である。
バス・リクエスト・キュー136は、シーケンサ135からの要求に応答して、Reg0へのデータ読み出し要求であるReq(Reg0)をバス・アービタ141に発行する([1])。バス・アービタ141は、Req(Reg0)に応答して、要求の受付完了を示すAck(Reg0)をシーケンサ135返す([2])。シーケンサ135は、バス・アービタ141からのAck(Reg0)に応答して、バス・リクエスト・キュー136に、レジスタ・ファイル131b(Reg1)へのデータ読み出しを要求Req(Reg1)の発行を要求(Req)する([3])。
バス・リクエスト・キュー136は、シーケンサ135からの要求に応答して、Req(Reg1)をバス・アービタ141に発行する([4])。Req(Reg1)に対して、バス・アービタ141は要求の受付完了を示すAck(Reg1)をシーケンサ135返す([5])。ここで、Req(Reg1)の発行は、Req(Reg0)に対してレジスタ・ファイル131a(Reg0)へデータのレスポンスが返る前に実行される。従って、このタイミングにおいて、レジスタ・ファイル131a(Reg0)にリード・データは書き込まれていない。
続いて、バス・アービタ141からメイン・メモリ110へのReq(Reg0)に対して、Req(Reg0)に対応するリード・データが、メイン・メモリ110からデータ・バス140を介して、レジスタ・ファイル131a(Reg0)へ書き込まれる([6])。図2は、レジスタ・ファイル131aにデータが書き込また状態を示している。本例においては、メイン・メモリ110から64ビット幅のデータ読み出しが可能であり、レジスタ・ファイル131aは64ビット・データを記憶している。レジスタ・ファイル131aにおいて、転送される通信データとして有効なデータはハッチされており、無効データは白で示されている。
レジスタ・ファイル131aは、データが書き込まれたことに応答して、データ転送(出力)の準備ができたことを示すレディ信号(Rdy0)を、シーケンサ135に送る([7])。シーケンサ135は、Rdy0に応答して、アライン・リクエスト・キュー134に、アライン・リクエストALReq0をセットする([8])。ALReq0は、レジスタ・ファイル131aに格納されているデータをアライン処理するリクエストである。
アライン・リクエスト・キュー134から、セレクタ133にALReq0に対応した制御信号(Sel0)が出力される([9])。セレクタ133は、制御信号に従って、レジスタ・ファイル131aを選択し、レジスタ・ファイル131aからの読み出しデータをアライン・ロジック132に転送する。アライン・ロジック132は、入力されたデータの順序を並び替えるアライン処理を実行する。
レジスタ・ファイル131aからアライン・ロジック132へのデータ転送の間、あるいは、アライン・ロジック132がアライン処理を実行している間に、これらの処理と並行して、メイン・メモリ110からレジスタ・ファイル131bへのデータ転送処理を実行することができる。バス・アービタ141からメイン・メモリ110へのReq(Reg1)に対して、Req(Reg0)に対応するリード・データが、メイン・メモリ110からデータ・バス140を介して、レジスタ・ファイル131b(Reg1)へ書き込まれる([10])。図2は、レジスタ・ファイル131bが64バイト・データを記憶している状態をしめしている。この点は、レジスタ・ファイル131aと同様である。
レジスタ・ファイル131bは、データの格納が完了したことに応答して、Rdy1をシーケンサ135に出力する([11])。シーケンサ135は、Rdy1に応答して、ALReq1をアライン・リクエスト・キュー134にセットする([12])。シーケンサ135は、レジスタ・ファイル131aからのデータのアライン処理が完了していない場合、その処理の完了を待つ。
処理が完了した場合、あるいは、すでに処理が完了していた場合、シーケンサ135は、アライン・リクエスト・キュー134に、ALReq1に対応した制御信号の出力を要求する。アライン・リクエスト・キュー134は、要求に応答して、レジスタ・ファイル131bを選択することを指示する制御信号(Sel1)をセレクタ133に出力する([13])。セレクタ133は、レジスタ・ファイル131bからの読み出しデータを選択的にアライン・ロジック132に出力する。アライン・ロジック132の処理は上記と同様である。
上記のように、本形態のデータ転送部120は複数のレジスタ・ファイル131を備え、一つのレジスタ・ファイルからデータを読み出し、アライン処理を実行する間に、他のレジスタ・ファイルにメイン・メモリからのリード・データを格納することができる。これによって、メイン・メモリからアライン・ロジックまでの間において効率的なデータ転送が可能となり、データ転送部120は高速通信に対応することが可能となる。
尚、図2においては2つのレジスタ・ファイルが例示されているが、図1に示したように、データ転送部120は、3以上のレジスタ・ファイルを備えることが可能である。より多くのレジスタ・ファイルを備えることによって、メイン・メモリ110からアライン・ロジック132までの間において、より効率的なデータ転送が可能となる。この点は、以下の実施形態において同様である。
実施の形態2.
続いて、通信データ処理システム100の他の特徴的な処理を、図3を参照して説明する。上記のように、本形態のバス・システムはスプリット・トランザクションに対応している。上記実施形態においては、リクエストの順序に従ってデータがメイン・メモリ110から読み出されるが、本形態においては、リクエストとは異なる順序においてデータがメイン・メモリ110から読み出される。尚、バス・アービタ141がAck(Reg1)をシーケンサ132に返す([5])までの処理は、図2を参照して説明された処理と同様であり、説明を省略する。
メイン・メモリ110は、Req(Reg0)に対応するリード・データの転送前に、Req(Reg1)に対応するリード・データをレジスタ・ファイル131bに転送する([6])。レジスタ・ファイル131bは、メイン・メモリ110からのリード・データの格納完了に応答して、Rdy1をシーケンサ135に送る([7])。アライン・ロジック132によるアライン処理は、メイン・メモリ110へのReqの発行順序に従う必要がある。このため、シーケンサ135はALReq1をアライン・リクエスト・キュー134にセットすることなく、Req(Reg0)に対応するデータの転送を待つ。
レジスタ・ファイル131aが、メイン・メモリ110から転送されたデータを格納する([8])と、レジスタ・ファイル131aはRdy0をシーケンサ135に送る([9])。シーケンサ135は、Rdy0を取得したことに応答して、アライン・リクエスト・キュー134に、アライン・リクエストALReq0をセットする([10])。アライン・リクエスト・キュー134から、セレクタ133にALReq0に対応した制御信号Sel0が出力される([11])。セレクタ133は、制御信号に従って、レジスタ・ファイル131aを選択し、レジスタ・ファイル131aからの読み出しデータをアライン・ロジック132に転送する。アライン・ロジック132は、入力されたデータの順序を並び替えるアライン処理を実行する。
シーケンサ135は、ALReq0をキューしたあと、ALReq1をアライン・リクエスト・キュー134にセットする([12])。レジスタ・ファイル131aからのデータのアライン処理が完了すると、シーケンサ135からの要求に応答して、アライン・リクエスト・キュー134がALReq1に応じた制御信号Sel1をセレクタ133に出力する([13])。セレクタ133は、制御信号に応答して、レジスタ・ファイル131bからのデータをアライン・ロジック132に選択出力する。アライン・ロジック132は、入力されたデータの順序を並び替えるアライン処理を実行する。
本形態において、通信データ処理システム100は、スプリット・トランザクションにより、データ・バス140の使用状況に応じて、バス・リクエスト・キューにキュー136されたリクエストの順序と異なる順序によって、メイン・メモリ110からデータを読み出す。このように、複数のレジスタ・ファイルを備えるデータ転送部120と、スプリット・トランザクション処理を行うバス・システムを併せ持つことによって、通信データ処理システム100における全体的処理を効率的に実行することが可能となる。
第1の実施形態における、通信データ処理システムの概略構成を示すブロック図である。 第1の実施形態における、通信データ処理システムの通信データの転送処理を説明する図である。 第2の実施形態における、通信データ処理システムの通信データの転送処理を説明する図である。 従来の技術における、通信データ処理システムの通信データの転送処理を説明する図である。
符号の説明
100 通信データ処理システム、110 メイン・メモリ、120 データ転送部
125 後段処理ブロック、130 アライナ、131 レジスタ・ファイル
132 アライン・ロジック、132 シーケンサ、133 セレクタ
134 アライン・リクエスト・キュー、135 シーケンサ
136 バス・リクエスト・キュー、140 データ・バス
141 バス・アービタ、310 アライナ、311 アライン・ロジック
313 シーケンサ、350 メイン・メモリ、360 データ・バス

Claims (8)

  1. メモリから取得した通信データを転送する通信データ転送装置であって、
    メモリからのデータを一時的に記憶し、互いに独立してデータの入出力が可能な複数のバッファ・メモリと、
    入力されたデータをパケット通信に対応した順序に並べ替えるアライン部と、
    前記複数のバッファ・メモリから選択したバッファ・メモリの読み出しデータを前記アライン部に出力するセレクタと、
    前記セレクタを制御するシーケンサを有し、
    前記シーケンサは、前記メモリからのデータ出力の順番が、前記メモリへのデータリクエストの順番と異なっていた場合に、前記バッファ・メモリからの読み出しを前記データリクエストの順番にあわせて行う、通信データ転送装置。
  2. 前記通信データ転送装置は、互いに独立してデータの入出力が可能な3以上のバッファ・メモリを備える、請求項1に記載のデータ転送装置。
  3. 前記シーケンサによって制御され、前記セレクタによって選択されるバッファ・メモリを特定する選択制御データがセットされる選択制御データ・キューと、
    前記シーケンサからのデータリクエストに応じて、前記メモリと前記バッファ・メモリ間のデータ通信を制御するバス・アービタとを更に備え、
    前記バス・アービタは、前記シーケンサからのデータリクエストに対してアウト・オブ・オーダで前記データ通信を制御可能であり、
    前記シーケンサは、前記バス・アービタが制御したデータ通信が前記データリクエストの順番と異なっていた場合に、前記バッファ・メモリからの読み出しが前記データリクエストの順番となるように前記選択制御データをセットする、請求項1に記載のデータ転送装置。
  4. 前記バッファ・メモリのそれぞれは、データが書き込まれたことに応じてレディ信号を前記シーケンサに送信し、
    前記シーケンサは、前記レディ信号が前記データリクエストの順番と異なって発行された場合は、当該レディ信号に対応する前記選択制御データのセットを保留する、請求項3に記載のデータ転送装置。
  5. データを記憶するメモリと、
    前記メモリからの読み出しデータを伝送するデータ・バスと、
    前記メモリから前記データ・バスを介して取得したデータを一時的に記憶する、
    互いに独立してデータの入出力が可能な複数のバッファ・メモリと、
    前記データ・バスの使用を調停し、前記メモリから前記複数のバッファ・メモリへのデータ読み出しを制御するバス・アービタと、
    入力されたデータをパケット通信に対応した順序に並べ替えるアライン部と、
    前記複数のバッファ・メモリから選択したバッファ・メモリの読み出しデータを前記アライン部に出力するセレクタと、
    前記セレクタを制御するシーケンサとを有し、
    前記シーケンサは、前記メモリからのデータ出力の順番が、前記メモリへのデータ・リード要求の順番と異なっていた場合に、前記バッファ・メモリからの読み出しを前記データリクエストの順番にあわせて行う、通信データ処理システム。
  6. 前記バス・アービタは、前記メモリからの前記複数のバッファ・メモリへのデータ読み出しを要求するデータ・リード要求の発行順序と、前記メモリから前記複数のバッファ・メモリ内のバッファ・メモリへのデータ転送順序とを、アウト・オブ・オーダにおいて制御する、請求項5に記載の通信データ処理システム。
  7. 前記メモリからのデータを格納するバッファ・メモリを特定して前記メモリからのデータ読み出しを要求するデータ・リード要求がセットされる、データ・リード要求キューと、
    前記セレクタによって選択されるバッファ・メモリを特定する選択制御データが
    セットされる選択制御データ・キューと、を更に備え、
    前記シーケンサは、前記バス・アービタが制御したデータ通信が前記データ・リード要求の順番と異なっていた場合に、前記バッファ・メモリからの読み出しが前記データ・リード要求の順番となるように前記選択制御データをセットする、請求項6に記載の通信データ処理システム。
  8. 前記バッファ・メモリのそれぞれは、データが書き込まれたことに応じてレディ信号を前記シーケンサに送信し、
    前記シーケンサは、前記レディ信号が前記データ・リード要求の順番と異なって発行された場合は、当該レディ信号に対応する前記選択制御データのセットを保留する、請求項7に記載のデータ転送装置。
JP2004150736A 2004-05-20 2004-05-20 データ転送装置及び通信データ処理システム Expired - Fee Related JP4567373B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004150736A JP4567373B2 (ja) 2004-05-20 2004-05-20 データ転送装置及び通信データ処理システム
US11/122,116 US7853737B2 (en) 2004-05-20 2005-05-05 Data transfer and alignment device and method for transferring data acquired from memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004150736A JP4567373B2 (ja) 2004-05-20 2004-05-20 データ転送装置及び通信データ処理システム

Publications (2)

Publication Number Publication Date
JP2005333481A JP2005333481A (ja) 2005-12-02
JP4567373B2 true JP4567373B2 (ja) 2010-10-20

Family

ID=35376550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004150736A Expired - Fee Related JP4567373B2 (ja) 2004-05-20 2004-05-20 データ転送装置及び通信データ処理システム

Country Status (2)

Country Link
US (1) US7853737B2 (ja)
JP (1) JP4567373B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05136827A (ja) * 1991-11-14 1993-06-01 Hitachi Ltd 通信処理装置
JPH0736821A (ja) * 1993-07-23 1995-02-07 Nec Corp Dma転送制御装置
JPH07202839A (ja) * 1993-12-14 1995-08-04 At & T Corp デジタル情報パケットのアライメントのための回路と方法
JPH0993214A (ja) * 1995-09-27 1997-04-04 Fujitsu Ltd 多チャネルデコーダデータの多重同期処理方式
JP2000172636A (ja) * 1998-12-08 2000-06-23 Canon Inc リアルタイムデータ転送系の非同期系データ転送制御装置および方法
JP2000349816A (ja) * 1999-06-04 2000-12-15 Fujitsu Ltd パケットデータ処理装置及びそれを用いたパケット中継装置
JP2003067321A (ja) * 2001-08-28 2003-03-07 Hitachi Ltd データ転送装置及び該データ転送装置内に具備されるアライナ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61118853A (ja) 1984-11-14 1986-06-06 Fujitsu Ltd ストアバツフア装置
CA1322390C (en) * 1987-09-22 1993-09-21 Nec Corporation Star topology local area network
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5610921A (en) * 1995-08-31 1997-03-11 Sun Microsystems, Inc. Scalable architecture for asynchronous transfer mode segmentation and reassembly
US6714553B1 (en) * 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion
GB2349543B (en) * 1999-04-30 2003-09-17 Ericsson Telefon Ab L M Signalling in a telecommunications network
US6681272B1 (en) * 1999-10-20 2004-01-20 Applied Micro Circuits Corporation Elastic store circuit with static phase offset
US6963572B1 (en) * 1999-10-22 2005-11-08 Alcatel Canada Inc. Method and apparatus for segmentation and reassembly of data packets in a communication switch
US6779084B2 (en) * 2002-01-23 2004-08-17 Intel Corporation Enqueue operations for multi-buffer packets
US20030163618A1 (en) * 2002-02-27 2003-08-28 Vishal Anand Shared queue for multiple input-streams
US7239635B2 (en) * 2002-06-27 2007-07-03 International Business Machines Corporation Method and apparatus for implementing alterations on multiple concurrent frames
US7127536B2 (en) * 2002-09-30 2006-10-24 Hewlett-Packard Development Company, L.P. Source-synchronous receiver having a predetermined data receive time
TWI313412B (en) * 2002-11-25 2009-08-11 Ibm Method and apparatus for intermediate buffer segmentation and reassembly
US7313146B2 (en) * 2003-01-31 2007-12-25 Broadcom Corporation Transparent data format within host device supporting differing transaction types
US7243172B2 (en) * 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05136827A (ja) * 1991-11-14 1993-06-01 Hitachi Ltd 通信処理装置
JPH0736821A (ja) * 1993-07-23 1995-02-07 Nec Corp Dma転送制御装置
JPH07202839A (ja) * 1993-12-14 1995-08-04 At & T Corp デジタル情報パケットのアライメントのための回路と方法
JPH0993214A (ja) * 1995-09-27 1997-04-04 Fujitsu Ltd 多チャネルデコーダデータの多重同期処理方式
JP2000172636A (ja) * 1998-12-08 2000-06-23 Canon Inc リアルタイムデータ転送系の非同期系データ転送制御装置および方法
JP2000349816A (ja) * 1999-06-04 2000-12-15 Fujitsu Ltd パケットデータ処理装置及びそれを用いたパケット中継装置
JP2003067321A (ja) * 2001-08-28 2003-03-07 Hitachi Ltd データ転送装置及び該データ転送装置内に具備されるアライナ

Also Published As

Publication number Publication date
JP2005333481A (ja) 2005-12-02
US20050262277A1 (en) 2005-11-24
US7853737B2 (en) 2010-12-14

Similar Documents

Publication Publication Date Title
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
JP5036120B2 (ja) 非ブロック化共有インターフェイスを持つ通信システム及び方法
JP5429572B2 (ja) チェーン化デバイスシステムにおいてパラメータを設定し待ち時間を決定する方法
EP0993680B1 (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
JP2007034392A (ja) 情報処理装置及びデータ処理方法
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US7409486B2 (en) Storage system, and storage control method
US7913013B2 (en) Semiconductor integrated circuit
EP2393013B1 (en) Method and apparatus for wireless broadband systems direct data transfer
JP4839489B2 (ja) ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム
JP4567373B2 (ja) データ転送装置及び通信データ処理システム
US20040255061A1 (en) Apparatus and method for high speed data transfer
TWI230863B (en) Input/output system and method for transferring control and data, and arbiter for coordinating data communication
JP5587530B2 (ja) エンジン・プロセッサ連携システム及び連携方法
KR101345437B1 (ko) 칩들간의 통신을 위한 인터페이스 장치 및 방법
JP2002175265A (ja) 直接メモリ・アクセス・コントローラを有するディジタル信号プロセッサにおける複数の構成素子間での信号***換装置および方法
JPH11252150A (ja) ネットワーク接続装置、及びネットワーク接続制御方法
JP2012094081A (ja) バス調停回路及びバス調停方法
JP2008009804A (ja) 情報処理装置および情報処理方法、情報処理システム、プログラム、並びに、記録媒体
JPH10269168A (ja) Dmaコントローラならびにその制御装置および方法
JP2005267139A (ja) ブリッジ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4567373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees