JP2003122703A - 複数のデータ・ストリームを管理するためのバッファ分割 - Google Patents

複数のデータ・ストリームを管理するためのバッファ分割

Info

Publication number
JP2003122703A
JP2003122703A JP2002228472A JP2002228472A JP2003122703A JP 2003122703 A JP2003122703 A JP 2003122703A JP 2002228472 A JP2002228472 A JP 2002228472A JP 2002228472 A JP2002228472 A JP 2002228472A JP 2003122703 A JP2003122703 A JP 2003122703A
Authority
JP
Japan
Prior art keywords
buffer
data
transfer
streaming data
attribute information
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
JP2002228472A
Other languages
English (en)
Inventor
Timothy E Hoglund
ティモシー・イー・ホグランド
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.)
LSI Corp
Original Assignee
LSI Logic 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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2003122703A publication Critical patent/JP2003122703A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Abstract

(57)【要約】 【課題】 バッファ・リソースを複数のデータ・ストリ
ームの間で動的に分割すること。 【解決手段】 本発明によるバッファ分割システムは、
ストリーミング・データに関するコンテキスト情報を用
いてバッファ(102)のリソースを介するデータの流
れを制御する。バッファ分割システムを含むことによ
り、複数のデータ・ストリームをバッファ・リソースを
介してより効率的に転送することができ、結果的により
高速なデータ転送が達成できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広くは、コンピュ
ータのデータ転送に関し、更に詳しくは、直接メモリ・
アクセス(DMA)において用いられるバッファでの複
数のデータ転送ストリームを管理するのに適したプロト
コル及びコントローラに関する。
【0002】
【従来の技術】コンピュータ技術の進歩により、より多
くのデータを処理することができるより高速な情報処理
システムが実現されている。最近の技術の進歩では、ま
すます効率的により多くのデータを処理することができ
るハードウェアを作り出すことと、情報処理システム・
リソースの効率を高めるハードウェア・プロトコルを作
り出すことに焦点が当てられている。情報処理システム
・リソースのより効率的な利用を可能にすることによっ
て、競合するシステムに対して著しく優位に立つことが
でき、結果的により優れた情報処理システムを得ること
ができ、コスト節約の点でも改善が可能となる。
【0003】現時点では、ある種の計算プロセスが実行
される際に、特定のリソースの使用が非効率的であるた
めに、問題が生じることがある。その結果として、非効
率的に用いられたリソースが制約を与える原因となり、
所望のプロセスの速度がそのリソースの能力によって制
限される。
【0004】そのような問題は、直接メモリ・アクセス
及び媒体アプリケーションにおいて用いられるためにデ
ータがバッファを介してストリーミングされるときに生
じる。現在では、データ・ストリームは、典型的には、
バッファを介する緊密に結合されたフロー(tightly co
upled flows)として転送され、このフローは単一のデ
ータ・ストリームの転送に制限されている。このタイプ
の動作がなされる結果、バッファ・リソースは、その時
点では、それ以外のデータ・ストリームのためには用い
ることができない。従って、バッファを介したこのよう
なデータ転送が、DMAアプリケーションにおいて転送
されるデータの総量を制限することになる。
【0005】従って、バッファ・リソースのより効率的
な利用のために、媒体とバッファ・リソースを介するD
MA転送とを切り離すのに適したプロトコル及びハード
ウェアを提供することが望まれる。
【0006】
【発明の概要】よって、本発明は、バッファ分割システ
ムと、バッファ分割システムを用いてバッファ・リソー
スを複数のデータ・ストリームの間で動的に分割する方
法とに関するものである。バッファ分割システムを含め
ることによって、複数のデータ・ストリームがバッファ
・リソースを介してより効率的に転送され、結果的に、
より高性能でコストも節約できる情報処理システムが得
られる。本発明の第1の側面によると、バッファ分割シ
ステムは、バッファを仮想的に分割しストリーミング・
データを仮想的分割によって形成されるバッファのセグ
メントに方向付けることができるライト・ポインタと、
転送情報を報告するのに状態モニタと、データ・ストリ
ームにおける総バイト数を決定するのに適したバイト・
カウンタと、バッファを介したストリーミング・データ
転送を管理するのに適した分割ロジックとを含み、それ
によって、動的なバッファ・リソース分割が提供され
る。
【0007】本発明の別の実施例では、バッファ分割シ
ステムは、ライト・ポインタに通信的にリンクされたリ
ード・ポインタを含みうる。このリード・ポインタは、
読み出されるバッファ・ストリーミング・データのセグ
メントを決定することができる。更に、ライト・ポイン
タをリード・ポインタにリンクすることにより、このバ
ッファ分割システムは、そのセグメントにおいて読み出
される残りのバイト数などの追加的な情報を得ることが
できる。
【0008】以上の一般的な説明と以下で行う詳細な説
明とは、共に単なる例示に過ぎず、特許請求の範囲によ
って定義される発明を限定するものではないことを理解
すべきである。添付の図面は、この出願の一部を形成す
るものであるが、本発明の実施例を図解しており、一般
的な説明とあいまって、本発明の原理を説明する機能を
有している。
【0009】当業者は、本発明の多くの効果を、添付の
図面を参照することによってよりよく理解することがで
きるであろう。
【0010】
【発明の実施の形態】次に、添付の図面にその例が図解
されている本発明の好適実施例を詳細に参照する。
【0011】ここで図1ないし図4を参照すると、本発
明の例示的な実施例が示されており、ストリーミング・
データが切り離され、複数のデータ・ストリームの転送
のためにバッファ・リソースをより効率的に用いられて
いる。データを切り離す(減結合する、decouple)と
は、バッファの中に転送されるデータがバッファから読
み出される又はバッファから取り除かれるデータとは独
立であることを可能にするプロセスを指している。
【0012】ここで図1を参照すると、バッファ分割シ
ステムは、バッファ102を動的に分割することができ
る。例えば、ストリーミング・データを切り離すバッフ
ァ分割システムが配置され、ポート・プロセッサ104
と直接メモリ・アクセス(DMA)プロセッサ106と
の間のストリーミング・データが切り離されバッファ1
02の動的な分割が利用される。ある例では、ストリー
ミング・データには、DMAプロセッサ106によって
実行される入出力(I/O)動作が含まれる。ストリー
ミング・データのバッファ102への実際の転送が進行
すると、ポート・プロセッサ104は、ストリーミング
・データを表すのに適したコンテキスト情報を作成す
る。コンテキスト情報には、DMAプロセッサ106に
よって受信されるときにストリーミング・データを再構
築するのに適したデータが含まれる。コンテキスト情報
には、データ識別子(ID)と、番号付け(numberin
g)シーケンスと、データ・タイプとが含まれる。デー
タ・タイプには、処理済み(solicited)データと、未
処理(unsolicited)データとが含まれる。コンテキス
ト情報は、ファイバ・チャネルにおけるフレーム・ヘッ
ダや、パラレルなスモール・コンピュータ・システム・
インターフェース(SCSI)におけるLQネクサスの
ように用いられる。第1の例では、コンテキスト情報
は、ストリーミング・データから独立に転送され、DM
Aプロセッサに与えられる。第2の例では、コンテキス
ト情報は、転送されたストリーミング・データへのプレ
フィクスでありうる。
【0013】本発明によるバッファ分割システムは、バ
ッファ・リソースを様々なデータ・ストリームの間で配
分するのに用いることができる。例えば、バッファに通
信的に結合されているライト・ポインタ110は、ポー
ト・プロセッサ104からバッファ102へのデータの
分割を利用可能なバッファ・リソースに基づいて方向付
ける。例えば、ストリーミング・データには何バイトか
の情報が含まれており、従って、ライト・ポインタ11
0は、バッファ102における利用可能な空間に基づい
て、ストリーミング・データのバッファ102上のある
位置への転送を方向付ける。この場合には、ライト・ポ
インタは、ストリーミング・データを、バッファにおけ
る次の利用可能な空間へ方向付けることができる。この
例では、ライト・ポインタは、バッファ102がその容
量いっぱいになるまで、バッファ上の様々な位置へスト
リーミング・データを方向付けることができ、その時点
で、ライト・ポインタは、空間が利用可能になるまでバ
ッファ102へのストリーム・データの転送を停止す
る。このようにして、バッファは、複数のデータ・スト
リームを受け取り、利用可能なバッファ・リソースをよ
り効率的に用いることができる。更に、ライト・ポイン
タ110は、異なるデータ・ストリームをバッファ10
2における複数のセグメントの中へ仮想的に分割するよ
うにデータ・ストリームを方向付けることができる。仮
想的な分割は、様々なデータ・ストリームをバッファの
上の異なる位置に配置することを通じて達成することが
できる。例えば、第1のデータ・ストリームをバッファ
に転送し、第2のデータ・ストリームを、第2のデータ
・ストリームの先頭が第1のデータ・ストリームの末尾
の後に配置されるように転送することができる。別の例
では、ストリーミング・データが十分に大きい又はスト
リーミング・データがDMAプロセッサ106に要求さ
れている場合には、バッファを介してDMAプロセッサ
106に至る従来の速度一致型先入れ先出し(FIF
O)プロセスに類似した方法で転送することができる。
【0014】更に、ライト・ポインタ110がストリー
ミング・データを方向付けるので、データは、バッファ
における利用可能な空間などの機能的な要件に基づいて
独立的に転送することができる。例えば、ライト・ポイ
ンタ110は、バッファにおいて利用可能な総バイト数
に基づいて、バッファ102における次の利用可能な空
間など特定の位置へのストリーミング・データを方向付
けることができ、結果的に、先行するデータ転送からス
トリーミング・データが切り離される。
【0015】ポート・プロセッサ104には、ストリー
ミング・データの転送に関係するメッセージを発生する
ことができる状態モニタ112が、通信的に結合されて
いる。例えば、データ転送の間に、電力サージなどによ
ってストリーミング・データが突然に切断され、そのた
めに、データがバッファ102に転送されないというこ
とがありうる。このようなことが生じると、状態モニタ
112は、転送状態メッセージを発生して、バッファ分
割システム108における他のリソースに対して、その
ようなイベントに関して警告を発する。結果的に、バッ
ファ分割システム108は、データをバッファ102に
向けて再送信する。別の例では、状態モニタ112は、
ポート・プロセッサ104によるデータ転送が完了する
と、「終了」などの転送状態メッセージを発生し、これ
は、バッファ分割システム108のそれ以外のリソース
に送られる。
【0016】この実施例では、ポート・プロセッサ10
4に、ポート・プロセッサ104から転送されつつある
データ・ストリームに含まれる総バイト数を決定するこ
とができるバイト・カウンタ114が通信的に結合され
ている。このバイト数の決定は、ストリーミング・デー
タの転送をチェックする又は確認する機能を有する。
【0017】ライト・ポインタ110と状態モニタ11
2とバイト・カウンタとには、分割ロジック118が通
信的に結合されている。分割ロジック118は、バッフ
ァ102を介するストリーミング・データ転送を管理す
るのに適している。分割ロジックは、ライト・ポインタ
110と状態モニタ112とバイト・カウンタ114と
によって発生された情報を属性情報にコンパイルするこ
とによって、バッファを介する転送を管理することがで
きる。属性情報は、ストリーミング・データから導かれ
る。属性情報は、バッファ分割システム108によっ
て、バッファ102の効率的な分割を管理するのに適し
た情報を用いて発生することができる。属性情報には、
バイト・カウント、転送状態メッセージ、初期バッファ
・オフセット、仮想分割位置の中の少なくとも1つが含
まれる。例えば、状態モニタ112を分割ロジック11
8に通信的に結合することの結果として、「終了」メッ
セージが、ストリーミング・データと関連する属性情報
として保持される。分割ロジック118は、例えば、デ
ータ・ストリームが利用可能なバッファ・リソースをす
べて消費するほど大きいときなどに、属性情報へのDM
Aプロセッサのアクセスを可能にすることができる。こ
のようにして、DMAプロセッサ106は、属性情報
を、バッファ102に含まれるデータと関連付ける。他
の実施例では、分割ロジック118は、後でDMAプロ
セッサ106がアクセスできるように、属性情報を記録
することもできる。分割ロジックは、DMAプロセッサ
106がそのバッファ・セグメントを用いるまで、その
記録された属性情報を保持する。
【0018】図2Aに示されている別の実施例では、バ
ッファ分割システム208は、ライト・ポインタ210
に通信的にリンクされたリード・ポインタ216を含
む。リード・ポインタ216は、バッファ202から読
み出されるストリーミング・データをトラッキングする
ことができる。例えば、図2では、リード・ポインタ2
16はDMAプロセッサ206に接続されており、バッ
ファ202からのDMAプロセッサによるデータの除去
をトラッキングする。更に、ライト・ポインタ210を
リード・ポインタ216とリンクすることによって、バ
ッファ分割システム208は、読み出されているセグメ
ントにおいて読み出される残りのバイト数などの追加的
情報を得ることができる。別の例では、ライト・ポイン
タ210は、リード・ポインタ216にリンクされてお
り、読み出されるデータや読み出されるデータ量などを
決定するのに適している。
【0019】次に図2Bを参照すると、例示的なデータ
転送及び利用が、図2Aのバッファ分割システムとの関
係で示されている。図3を参照すると、本発明による例
示的な方法300が示されており、バッファを介して転
送ストリーミング・データが切り離されている。ストリ
ーミング・データが要求されると、ポート・プロセッサ
は、コンテキスト情報302を作成することによって、
プロセスを開始する。コンテキスト情報の作成302に
は、データ識別子(ID)、番号付けシーケンス及びデ
ータ・タイプの作成が含まれる。コンテキスト情報は、
データ・ストリームがバッファを通過するときに、スト
リーミング・データに対するプレフィクスとなる。ある
いは、コンテキスト情報は、このコンテキスト情報が表
しているストリーミング・データとは独立に、DMAプ
ロセッサなどのプロセッサに別々に送られる。
【0020】この実施例では、ポート・プロセッサがコ
ンテキスト情報302作成した後で、ライト・ポインタ
によって、初期バッファ・オフセット304が見つけら
れる。初期バッファ・オフセットは、データ・ストリー
ムが転送され始めるバッファ上の位置となる。初期バッ
ファ・オフセットがいったん見出されると、バッファ3
06の仮想的な分割がライト・ポインタによって見出さ
れ、初期バッファ・オフセットはセグメントの開始位置
を形成し、仮想的な分割がその終了位置を形成する。
【0021】バッファの仮想分割304は、利用可能な
バッファ・リソースに基づいて、ライト・ポインタによ
って方向付けられる。いったんバッファが仮想的に分割
されてストリーミング・データを与えると、仮想分割に
よって形成されるバッファセグメント406へのデータ
転送が生じる。仮想的な分割は、様々なデータ・ストリ
ームがバッファ上の異なる位置に転送されることによっ
て達成される。例えば、第1のデータ・ストリームはバ
ッファに転送され、第2のデータ・ストリームは、第2
のデータ・ストリームの先頭が第1のデータ・ストリー
ムの末尾に配置されるように、転送される。
【0022】ストリーミング・データがバッファ308
に転送されている間、バッファ分割システム・リソース
は、データ・ストリームに関する属性情報を生じさせる
ことができる。属性情報には、バイト・カウント、転送
状態メッセージ、初期バッファ・オフセット、仮想的分
割位置の中の少なくとも1つが含まれる。初期バッファ
・オフセットとは、ストリーミング・データが配置され
始める位置である。仮想的分割位置とは、バッファ上で
分割が生じる位置である。転送状態とは、転送されてい
るデータの進行に関するデータである。バイト・カウン
トとは、データ・ストリームに含まれる情報のバイト数
である。
【0023】ストリーミング・データがバッファ308
のセグメントに転送されている間、属性情報が、ライト
・ポインタからの初期バッファ・オフセットやバイト・
カウンタからのバイト・カウントなどの様々なバッファ
分割システムのリソースから、分割ロジックによってコ
ンパイルされる。分割ロジックは、DMAプロセッサな
どによる直接的な属性情報へのアクセスを可能にするこ
とができる。別の実施例では、属性情報を、DMAプロ
セッサなどによってアクセスされるように、分割ロジッ
ク112に記録することができる。更に、属性情報は、
その属性情報と関連するストリーミング・データがDM
Aプロセッサなどによって用いられるまで、分割ロジッ
クによって記録され、そのときに、属性情報が開放され
る。
【0024】更に別の実施例では、バッファ300を介
するストリーミング・データ転送を切り離す方法は、リ
ード・ポインタ316を利用することによってバッファ
・セグメントのDMAプロセッサの読み取りをトラッキ
ングするステップを含む。
【0025】次に図4を参照すると、バッファ分割シス
テムの様々な部分とポート・プロセッサ及びDMAプロ
セッサとの間の相互作用が、単一のデータ・ストリーム
の転送との関係で図解されている。最初に、ポート・プ
ロセッサが、例えばDMAプロセッサから要求されたデ
ータに関するコンテキスト情報402を作成する。この
例では、ストリーミング・データは、利用可能なバッフ
ァ・リソースを方向付け分割するリクエストと共にバッ
ファに転送されるコンテキスト情報と予め固定されてい
る(プレフィクスされている)。次に、ライト・ポイン
タが、バッファを仮想的に分割し、利用可能なバッファ
・リソースに基づいてストリーミング・データを分割さ
れたバッファ406上に形成されたセグメントに向けて
方向付ける。ポート・プロセッサは、ストリーミング・
データ408の転送を開始する。属性情報は、ストリー
ミング・データから得られる。属性情報は、バイト・カ
ウントと転送状態メッセージと初期バッファ・オフセッ
トと仮想分割位置との少なくとも1つを含む。DMAプ
ロセッサは、次に、実行される特定の入出力動作412
へのコンテキスト情報とプレフィクスされたストリーミ
ング・データを、分割ロジックから受け取られた属性情
報と関連付ける。DMAプロセッサは、バッファ414
からストリーミング・データを受け取り始める。ポート
・プロセッサは、結果的に、バッファ416へのストリ
ーミング・データの転送を完了する。ストリーミング・
データの転送が完了すると、分割ロジックは、属性情報
418を記録する。ストリーミング・データがDMAプ
ロセッサ420によって完全に受け取られると、DMA
プロセッサは、バッファ分割システムによって再利用さ
れるように、バッファ・セグメント422を開放する。
DMAプロセッサがバッファ・セグメントを開放する
と、分割ロジックは、ストリーミング・データ424と
関連する属性情報を開放する。このような基本的なステ
ップは、複数のデータ・ストリームの場合にも連続的に
実行されるということは明らかなはずである。例えば、
ポート・プロセッサは、ストリーミング・データの転送
を完了すると、第2のデータ・ストリームに対する新た
なコンテキスト情報及びストリーミング・データを開始
し、その結果、ポート・プロセッサは、この第2のデー
タ・ストリームに関してバッファへのデータ転送を行
い、これと同時に、DMAプロセッサは第1のデータ・
ストリームからのデータの読み出しを行う。このように
して、バッファに転送されつつあるデータは、バッファ
から読み出されつつあるデータと切り離される。
【0026】本発明の「複数のデータ・ストリームを管
理するためのバッファ分割」とその多くの効果は以上の
説明から明らかになったと思われる。また、本発明の範
囲及び精神から逸脱することなく、そして、その重要な
効果を犠牲にすることなく、本発明の構成要素の形式、
構成及び配置を様々に変更できることも明らかであろ
う。以上で説明した形態は単なる例示的な実施例であ
る。冒頭の特許請求の範囲は、そのような変更を含むも
のであることが意図されている。
【図面の簡単な説明】
【図1】例示的な実施例の概括的な図解であって、バッ
ファ分割システムが示されている。
【図2】図2A及び2Bから構成される。図2Aは、例
示的な実施例の概括的な図解であって、リード・ポイン
タを含むバッファ分割システムが示されている。図2B
は、図2Aのバッファ分割システムに対する例示的なデ
ータ転送及び利用の概括的な図解である。
【図3】ストリーミング・データの転送をモニタしてバ
ッファ・リソースをより効率的に利用する例示的な方法
を図解している流れ図である。
【図4】例示的な実施例であってデータ転送を切り離す
バッファリング分割ロジックを用いるバッファを介する
単一のデータ・ストリームの転送を示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティモシー・イー・ホグランド アメリカ合衆国コロラド州80918,コロラ ド・スプリングス,パーガトリー・ドライ ブ 3035 Fターム(参考) 5B061 DD09 DD11

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 バッファを介するデータ転送を切り離す
    バッファ分割システムであって、 前記バッファに通信的に結合されており、前記バッファ
    を仮想的に分割しストリーミング・データを前記仮想的
    分割によって形成される前記バッファのセグメントに方
    向付けることができるライト・ポインタと、 ポート・プロセッサに通信的に結合されており、前記ポ
    ート・プロセッサから前記バッファへのデータ・ストリ
    ームの転送に関する転送状態メッセージを発生するのに
    適した状態モニタと、 前記ポート・プロセッサに通信的に結合されており、前
    記データ・ストリームにおける総バイト数を決定するこ
    とができるバイト・カウンタと、 前記ライト・ポインタと前記状態モニタと前記バイト・
    カウンタとに通信的に結合されており、データ転送を前
    記バッファを介してストリームすることから得られる属
    性情報を管理するのに適した分割ロジックと、 を備えていることを特徴とするバッファ分割システム。
  2. 【請求項2】 請求項1記載のバッファ分割システムに
    おいて、前記分割ロジックは属性情報を記録することが
    できることを特徴とするバッファ分割システム。
  3. 【請求項3】 請求項2記載のバッファ分割システムに
    おいて、属性情報は、バイト・カウントと転送状態メッ
    セージと初期バッファ・オフセットと仮想分割位置との
    中の少なくとも1つを含むことを特徴とするバッファ分
    割システム。
  4. 【請求項4】 請求項1記載のバッファ分割システムに
    おいて、読み出されるバッファのセグメントをトラッキ
    ングするのに適するように前記バッファに通信的に結合
    されたリード・ポインタを更に備えていることを特徴と
    するバッファ分割システム。
  5. 【請求項5】 請求項4記載のバッファ分割システムに
    おいて、前記ライト・ポインタと前記リード・ポインタ
    とは、読み出されているセグメントにおいて読み出され
    るように残っている複数バイトを取得するように通信的
    に結合されていることを特徴とするバッファ分割システ
    ム。
  6. 【請求項6】 請求項1記載のバッファ分割システムに
    おいて、前記バッファ分割システムは直接メモリ・アク
    セスの利用に適していることを特徴とするバッファ分割
    システム。
  7. 【請求項7】 請求項1記載のバッファ分割システムに
    おいて、前記ライト・ポインタは、転送されるストリー
    ミング・データを含むのに十分なバイト・カウントを用
    いて前記バッファ上のセグメントを仮想的に分割するこ
    とを特徴とするバッファ分割システム。
  8. 【請求項8】 請求項1記載のバッファ分割システムに
    おいて、前記ライト・ポインタは、利用可能なバッファ
    資源に基づき現在のデータ転送とは独立に新たなデータ
    ・ストリームを方向付けることができることを特徴とす
    るバッファ分割システム。
  9. 【請求項9】 請求項1記載のバッファ分割システムに
    おいて、属性情報を直接メモリ・アクセス・プロセッサ
    に提供することができることを特徴とするバッファ分割
    システム。
  10. 【請求項10】 バッファを介するデータ転送を切り離
    すバッファ分割システムであって、 前記バッファに通信的に結合されており、現に転送され
    ているデータとは独立に、前記バッファを仮想的に分割
    し新たなストリーミング・データを前記仮想的分割によ
    って形成される前記バッファのセグメントに方向付ける
    ことができるライト・ポインタと、 ポート・プロセッサに通信的に結合されており、前記ポ
    ート・プロセッサから前記バッファへのデータの転送に
    関する転送状態メッセージを発生するのに適した状態モ
    ニタと、 前記ポート・プロセッサに通信的に結合されており、前
    記データ・ストリームにおける総バイト数を決定するこ
    とができるバイト・カウンタと、 前記ライト・ポインタと前記状態モニタと前記バイト・
    カウンタとに通信的に結合されており、データ転送を前
    記バッファを介してストリームすることから得られる属
    性情報を管理及び記録するのに適した分割ロジックと、 を備えていることを特徴とするバッファ分割システム。
  11. 【請求項11】 請求項10記載のバッファ分割システ
    ムにおいて、属性情報は、バイト・カウントと転送状態
    メッセージと初期バッファ・オフセットと仮想分割位置
    との中の少なくとも1つを含むことを特徴とするバッフ
    ァ分割システム。
  12. 【請求項12】 請求項10記載のバッファ分割システ
    ムにおいて、読み出されるバッファのセグメントをトラ
    ッキングするのに適するように前記バッファに通信的に
    結合されたリード・ポインタを更に備えていることを特
    徴とするバッファ分割システム。
  13. 【請求項13】 請求項12記載のバッファ分割システ
    ムにおいて、前記ライト・ポインタと前記リード・ポイ
    ンタとは、読み出されているセグメントにおいて読み出
    されるように残っている複数バイトを取得するように通
    信的に結合されていることを特徴とするバッファ分割シ
    ステム。
  14. 【請求項14】 請求項10記載のバッファ分割システ
    ムにおいて、前記ライト・ポインタは、転送されるスト
    リーミング・データを含むのに十分なバイト・カウント
    を用いて前記バッファ上のセグメントを仮想的に分割す
    ることを特徴とするバッファ分割システム。
  15. 【請求項15】 請求項10記載のバッファ分割システ
    ムにおいて、前記ライト・ポインタは、利用可能なバッ
    ファ資源に基づき現在のデータ転送とは独立に新たなデ
    ータ・ストリームを方向付けることができることを特徴
    とするバッファ分割システム。
  16. 【請求項16】 請求項10記載のバッファ分割システ
    ムにおいて、属性情報を直接メモリ・アクセス・プロセ
    ッサに提供することができることを特徴とするバッファ
    分割システム。
  17. 【請求項17】 バッファを介するストリーミング・デ
    ータ転送を切り離す方法であって、 ストリーミング・データを表すのに適したコンテキスト
    情報を作成するステップと、 利用可能なバッファ資源に基づきストリーミング・デー
    タの転送を前記バッファに方向付けるステップと、 ストリーミング・データをポート・プロセッサから前記
    バッファに転送し、それによって、仮想分割がデータの
    ストリームの端部に配置されバッファ・セグメントを形
    成するステップと、 前記ストリーミング・データ転送をモニタして前記転送
    されているストリーミング・データに関係する転送状態
    メッセージを発生するステップと、 前記データ・ストリームと関連する属性情報を分割ロジ
    ックに記録するステップと、 を含むことを特徴とする方法。
  18. 【請求項18】 請求項17記載の方法において、属性
    情報は、バイト・カウントと転送状態メッセージと初期
    バッファ・オフセットと仮想分割位置との中の少なくと
    も1つを含むことを特徴とする
  19. 【請求項19】 請求項17記載の方法において、バッ
    ファ資源に基づくバッファ・セグメントのために初期バ
    ッファ・オフセットを配置するステップを更に含むこと
    を特徴とする方法。
  20. 【請求項20】 請求項17記載の方法において、直接
    メモリ・アクセス・プロセッサの前記バッファ・セグメ
    ントの読み出しをトラッキングするリード・ポインタを
    用いるステップを含むことを特徴とする方法。
  21. 【請求項21】 請求項17記載の方法において、属性
    情報は、前記データ・ストリームが前記直接メモリ・ア
    クセス・プロセッサによって用いられるまで前記分割ロ
    ジックに記録されることを特徴とする方法。
  22. 【請求項22】 直接メモリ・アクセスにおいて用いる
    ためにバッファを介するストリーミング・データ転送を
    切り離す方法であって、 ストリーミング・データを表すのに適したコンテキスト
    情報を作成するステップと、 コンテキスト情報に基づいてデータをストリーミングす
    る初期バッファ・オフセットを配置するステップと、 利用可能なバッファ資源に基づきストリーミング・デー
    タの転送を前記バッファに方向付けるステップと、 ストリーミング・データをポート・プロセッサから前記
    バッファに転送し、それによって、仮想分割がデータの
    ストリームの端部に配置されバッファ・セグメントを形
    成するステップと、 前記ストリーミング・データ転送をモニタして前記転送
    されているストリーミング・データに関係する転送状態
    メッセージを発生するステップと、 前記データ・ストリームと関連する属性情報を分割ロジ
    ックに記録するステップと、 を含むことを特徴とする方法。
  23. 【請求項23】 請求項22記載の方法において、コン
    テンツ情報を作成する前記ステップは、データ識別子と
    データ・タイプと番号付けシーケンスとの中の少なくと
    も1つを含むことを特徴とする方法。
  24. 【請求項24】 請求項22記載の方法において、属性
    情報は、バイト・カウントと転送状態メッセージと初期
    バッファ・オフセットと仮想分割位置との中の少なくと
    も1つを含むことを特徴とする方法。
  25. 【請求項25】 請求項22記載の方法において、前記
    バッファ・セグメントの直接メモリ・アクセス・プロセ
    ッサによる読取りをトラッキングするリード・ポインタ
    を用いるステップを更に含むことを特徴とする方法。
  26. 【請求項26】 請求項22記載の方法において、属性
    情報は、前記データ・ストリームが前記直接メモリ・ア
    クセス・プロセッサによって用いられるまで分割ロジッ
    クに記録されることを特徴とする方法。
JP2002228472A 2001-09-25 2002-08-06 複数のデータ・ストリームを管理するためのバッファ分割 Pending JP2003122703A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/962645 2001-09-25
US09/962,645 US6721826B2 (en) 2001-09-25 2001-09-25 Buffer partitioning for managing multiple data streams

Publications (1)

Publication Number Publication Date
JP2003122703A true JP2003122703A (ja) 2003-04-25

Family

ID=25506181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002228472A Pending JP2003122703A (ja) 2001-09-25 2002-08-06 複数のデータ・ストリームを管理するためのバッファ分割

Country Status (3)

Country Link
US (1) US6721826B2 (ja)
EP (1) EP1296220A3 (ja)
JP (1) JP2003122703A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928495B2 (en) * 2002-09-27 2005-08-09 Broadcom Corporation Method and system for an adaptive multimode media queue
US6848012B2 (en) * 2002-09-27 2005-01-25 Broadcom Corporation Method and system for an adaptive multimode media queue
US7594057B1 (en) * 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
US7469305B2 (en) * 2006-09-20 2008-12-23 International Business Machines Corporation Handling multiple data transfer requests within a computer system
US7958517B2 (en) * 2007-01-23 2011-06-07 International Business Machines Corporation Apparatus, system, and method for executing functions in an event driven environment from a co-routine environment
US9639493B2 (en) * 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
US8561065B2 (en) * 2010-11-15 2013-10-15 International Business Machines Corporation Virtualization of vendor specific network interfaces of self-virtualizing input/output device virtual functions
US8839240B2 (en) 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US8561066B2 (en) * 2010-12-08 2013-10-15 International Business Machines Corporation Simplified DMA mappings for self-virtualizing input/output device virtual functions
US9817700B2 (en) * 2011-04-26 2017-11-14 International Business Machines Corporation Dynamic data partitioning for optimal resource utilization in a parallel data processing system
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
CN104813306B (zh) * 2012-11-21 2017-07-04 相干逻辑公司 具有散布处理器dma‑fifo的处理系统
US9575916B2 (en) 2014-01-06 2017-02-21 International Business Machines Corporation Apparatus and method for identifying performance bottlenecks in pipeline parallel processing environment
US9424160B2 (en) 2014-03-18 2016-08-23 International Business Machines Corporation Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment
US9501377B2 (en) 2014-03-18 2016-11-22 International Business Machines Corporation Generating and implementing data integration job execution design recommendations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847812A (en) * 1986-09-18 1989-07-11 Advanced Micro Devices FIFO memory device including circuit for generating flag signals
DE69124946T2 (de) * 1990-11-30 1997-09-18 Ibm Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
US5444853A (en) * 1992-03-31 1995-08-22 Seiko Epson Corporation System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
US5748900A (en) * 1996-03-13 1998-05-05 Cray Research, Inc. Adaptive congestion control mechanism for modular computer networks
US6006286A (en) * 1996-04-26 1999-12-21 Texas Instruments Incorporated System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
US5881316A (en) * 1996-11-12 1999-03-09 Hewlett-Packard Company Dynamic allocation of queue space using counters
US6470409B1 (en) * 1996-11-26 2002-10-22 Xilinx Inc. Interface system having a programmable number of channels and methods of implementing same
US5956340A (en) * 1997-08-05 1999-09-21 Ramot University Authority For Applied Research And Industrial Development Ltd. Space efficient fair queuing by stochastic Memory multiplexing
US6526451B2 (en) * 1998-09-30 2003-02-25 Stmicroelectronics, Inc. Method and network device for creating circular queue structures in shared memory
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US6539024B1 (en) * 1999-03-26 2003-03-25 Alcatel Canada Inc. Method and apparatus for data buffer management in a communications switch

Also Published As

Publication number Publication date
EP1296220A3 (en) 2006-07-12
EP1296220A2 (en) 2003-03-26
US6721826B2 (en) 2004-04-13
US20030061413A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
KR0163234B1 (ko) 데이타 스트리밍 메카니즘, 스트리밍 장치 어댑터, 컴퓨터 시스템 및 데이타 처리 시스템
JP2003122703A (ja) 複数のデータ・ストリームを管理するためのバッファ分割
EP1492295B1 (en) Stream data processing device, stream data processing method, program, and medium
US7937487B2 (en) Media scrubbing using a media processor
JPH1139270A (ja) ビデオ・クリップの分散編集方法
JPH10276227A (ja) データ・ストリームの処理方法及びデータ処理システム
EP1094637B1 (en) IEEE 1394 bus interface
US7774375B2 (en) Media foundation topology
CN114020529A (zh) 一种流表数据的备份方法、装置、网络设备和存储介质
US8862783B2 (en) Methods and system to offload data processing tasks
JP3475130B2 (ja) ローカル・メモリにパケット化した操作情報を記憶することによる入出力パフォーマンスの向上
CN108829646A (zh) 数据存储及解析方法、装置、系统及存储介质
JP2001237868A (ja) ファイバチャネルノードにおいて効率の良いi/o操作を達成するための方法及びシステム
US20030187652A1 (en) Content recognition system for indexing occurrences of objects within an audio/video data stream to generate an index database corresponding to the content data stream
CN112667165B (zh) 数据存储系统及其数据存储方法
JP2000083064A (ja) トランスポ―トストリ―ム処理装置
US6795880B2 (en) System and method for processing high speed data
JP2002304353A (ja) 情報提供装置、通信システムおよび通信方法
JP3416498B2 (ja) サーバ装置およびその制御方法並びにサーバ装置制御プログラムを記録した記録媒体
JP2022178304A (ja) 情報処理装置、制御方法、および制御プログラム
CA1174373A (en) Channel adapter for virtual storage system
EP0713308B1 (en) Data sending device
JP2001275098A (ja) サーバシステム及びデータ転送方法
JP2001034559A (ja) 動画像サーバシステム
CN117812148A (zh) 一种基于fpga的高效通用内存数据搬移装置