JPH05505049A - ステージングメモリを介してデータを転送する方法および装置 - Google Patents

ステージングメモリを介してデータを転送する方法および装置

Info

Publication number
JPH05505049A
JPH05505049A JP3506032A JP50603291A JPH05505049A JP H05505049 A JPH05505049 A JP H05505049A JP 3506032 A JP3506032 A JP 3506032A JP 50603291 A JP50603291 A JP 50603291A JP H05505049 A JPH05505049 A JP H05505049A
Authority
JP
Japan
Prior art keywords
data
staging
memory
elements
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3506032A
Other languages
English (en)
Other versions
JP2989665B2 (ja
Inventor
アイドラー,クリス ダブリュー
ジョンスン ザ サード,ホーク エス
シャー,カウシック エス
Original Assignee
イーエムシー コーポレーション
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 イーエムシー コーポレーション filed Critical イーエムシー コーポレーション
Publication of JPH05505049A publication Critical patent/JPH05505049A/ja
Application granted granted Critical
Publication of JP2989665B2 publication Critical patent/JP2989665B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ステージングメモリを介してデータを転送する方法および装置発明の技術的背景 本発明は、コンピュータネットワークにおけるデータおよびその他の情報のパケ ット指向された転送に関する。特に、本発明は、ステージングメモリ要素の中で データをステージすると共に、ダイレクトメモリアクセス(DMA)チャネルを 介して素子インタフェースとステージングメモリの要素との間でデータを転送す るための方法および装置に関する。
パケット交換は、指定されたフォーマットを有するパケット内に情報を配置し、 かつ合成される全体としての各パケットを転送することによって、コンピュータ システムまたはネットワークの共用バスに対し、データ、指令および応答のよう な情報を転送するためのシステムは公知である。大量のデータ転送の場合のよう な長期転送は、時間量を低減するために個別パケットに解体され、共用バスは信 号転送により継続的に占有される。各パケットは、殊に予定されたフィールドに 整列されたアドレスビットおよびパケット識別ビットのような制御要素の見出し 部を含み、そしてさらに誤り制御情報を含む。
1つの公知のパケット交換方式は、ストレッカー等の米国特許大4. 777゜ 595号明細書において、全てのパケット転送は転送ノードにおける命名された バッファと受信ノードにおける命名されたバッファとの間で生じることが要求さ れると述べられている。命名されたバッファは、各ノードでアクチュアルメモリ の中にある。あるノードから他のノードヘデータを書込むため、データは、受信 ノードおよびオフセット値において、宛先バッファの名前を備える指定されたフ ィールドでそれぞれラベル付けされたパケットに配置される。パケットのオフセ ット値は、バッファの実行開始アドレスと相対し、受信バッファにおける位置を 指定し、特にパケットにおけるデータの最初のバイトは記憶される。パケット群 に対する固有のトランザクション識別子は、また各パケットの分離フィールド内 において転送される。トランザクション識別子は、パケットの転送を確認するプ ロセスにおいて使用される。
このパケット交換方式は、パケット転送を受信するためのアクチュアルメモリに おける命名された宛先バッファを有するノードを要求され、そしてさらに受信ノ ードがデータ転送の前に転送ノードに対するその命名された宛先バッファを識別 することが要求されるという欠点を考慮すべきである。また、受信ノードは、命 名されたバッファに対するパケットの内容を制御するための転送データパケット についての宛先バッファ命名フィールドの内容に対し応答することが要求される という欠点を有する。これらの欠点は、ネットワークにおけるマルチプルコンピ ュータにより共用される資源で構成する受信ノードに前記欠点を課すべく試みれ ば、特に明白である。
例えば、コンピュータネットワークにおける幾つかのコンピュータに対して共用 される資源として動作する大容量記憶システムが考えられる。大容量記憶システ ムは、しばしば並行して1つ以上のコンピュータからデータ転送要求を処理しな ければならず、そしてこれら転送のそれぞれに際して伴うデータは、ネットワー ク通信バス上を転送するための幾つかのパケットの中に分割されることが要求さ れるために、しばしば十分に大きくなる。通信バスのプロトコルおよび転送の相 対的優先順位により、大容量記憶システムは、他の転送と結合するパケット間で あるデータ転送と結合するパケットを受信し得る。
典型的には、大容量記憶システムは、ネットワーク通信バスの素子インタフェー スと大容量記憶素子インタフェースとの間の移行において、データをバスするメ モリを有する。このメモリは、大容量記憶システムのシステムプロセッサと他の プロセッサ(例えば、ネットワークバス上の遠隔プロセッサまたは大容量記憶シ ステムにおける他のプロセッサ)との間で制御される制御メツセージを有するパ ケットを処理する。データまたは制御メツセージを含むパケットは、メモリと1 つもしくはそれ以上のDMAチャネルによる素子インタフェースとの間で、転送 される。このようなりMAチャネルは、初期設定後にシステムプロセッサのアテ ンションを要求されることなく、メモリの内部または外部へ直接データを転送す るための、データバスと制御回路とを含む、高速通信インタフェースで構成され る。
もし、大容量記憶システムが、ネットワークにおけるいずれかのコンピュータか らのデータ転送を受信するための優先順位が、全体のデータ転送(多数のパケッ トは長くなる)を受入れるメモリでの命名されたバッファスペースを割当てるこ とが要求されるならば、このようなデータ転送要求の幾つかの並行処理は、処理 される並行転送の数と等しくなるように分離して命名されたバッフ7スペースの 多くのものに並行に割当てられる。この大容量記憶システムのメモリにおける分 離して命名されたバッファの割当ては、メモリを拘束して、利用可能なメモリの 非能率的使用に帰着させ、そして並行処理できるデータ要求の数を制限すること により、大容量記憶システムのデータのスルーブツトの限定を可能とする。
より大きな効率(メモリの使用について)は、パケット毎の基準でメモリの多く の動的割当により達成することができることである。すなわち、このような特別 の入力期待パケットのためのメモリスペースは、パケットが大容量記憶システム により受信されるまで、割当てられない。さらに、効率は、メモリにおいて利用 可能ないずれかの位置に記憶するためのパケットを許容することにより改善され る。このような、任意の、メモリのパケット毎の割当ては、大容量記憶システム のメモリに特に適する。一方のコンピュータの実メモリと他方のコンピュータの 実メモリとの間のデータの好ましくない転送は、大容量記憶システムに伴うデー タの転送が、データのための最終宛先としての大容量記憶システムのメモリに使 用し得ないことである。むしろ、上述したように、データを含むパケットは、ネ ットワークの通信バスとシステムの大容量記憶素子または装置との間の移行に際 し、メモリを介してのみバスする。データは、任意の2方向(例えば、大容量記 憶の入力および出力)において、ネットワークでのコンピュータの要求および通 信バス、大容量記憶装置および大容量記憶装置へ導くデータチャネルの条件(例 えば、使用中または未使用)により、メモリを介して交信される。結果として、 いかなる特定の時間で使用されるメモリスペースの容量および特定の位!、そし て反対に、パケットを受信するために利用可能な容量および特定の位置は、継続 的に変化する。特定のメモリ位置は、利用可能と利用不能との間での任意のサイ クルで指定する。このような状況において、メモリにおける命名されたバッファ スペースの予備的割当ては、非能率であることが明らかでありかつ不必要である 。
前述した観点から、パケットを可能にする代わりに、他のパケットに対するソー ス、内容および関係を顧慮しないで利用可能なメモリ位置に任意的に配置するこ とが望ましい。このようなことは、即時要求および即時使用可能性に基づいてメ モリ位置を割当てることを大容量記憶システムが許容する(例えば、メモリは、 パケットがシステムによって受信された際に、メモリ位置が利用可能になるよう にするものであれば、入力パケットを配置することは自由である)。同様に、ネ ットワーク通信バス上に転送を準備するために、メモリにおける任意の位置に対 し転送させるように、大容量記憶装置からのデータを許可することが望ましい。
再度、即時要求および即時使用可能性に基づいてメモリ位置を割当てることを大 容量記憶システムが許容する。勿論、さらにメモリにおける任意の位置からデー タを検索し、そして大容量記憶への転送またはネットワーク通信バス上の転送の いずれかの論理命令においてデータをアセンブリすることが可能になることが望 ましい。
パケット交換ネットワークは、メモリからメモリへパケットを転送することに対 し、命名された宛先バッファの優先順位を識別するための受信ノードが要求され ない技術分野において公知である。これらのネットワークは、受信メモリ、例え ば受信ノードのメモリにおいてソフトウェアで制御されるアドレステーブル、転 送ノードに対し未知の割当てられたメモリ位置を指すように使用される項目を維 持することにより、受信メモリへのパケットの内容を制御するために種々の方法 を使用する。この発明は、このようなネットワークすなわち命名されたバッファ の割当てまたは識別をすることなく、ネットワーク通信バスとメモリとの間でパ ケットを転送するための方法および装置提供するこの発明の目的となるようなこ とを原理的に採用する。
しかしながら、公知のコンピュータシステムは、典型的には、プロセッサの中断 を最小にしそして転送プロセスを簡単にするために、メモリにおける連続する位 置へおよび位置からデータを転送する。公知のコンピュータシステムすなわち非 結合メモリ位置において記憶されているデータにおいて、分離プロセッサの中断 は、メモリへおよびメモリからデータのそれぞれ非連続セグメントを転送するこ とが通常要求される。この発明は、メモリから素子インタフェースへデータを書 込むことに関し、メモリに記憶されているデータの非連続セグメントが、素子イ ンタフェースに対し連続DMAデータ転送を形成するために、DMA制御論理に より結合され、そしてメモリから素子インタフェースへデータを読出すことに関 し、素子インタフェースからの連続DMAデータ転送は、ステージングメモリに おけるメモリの選択された連続の不要なセグメントへDMA制御論理により送ら れるようなシステムの改良である。初期準備後に、プロセッサアテンションは、 全体の転送が完了するまで、個々のデータセグメントを転送することは、どちら の場合にも要求されない 発明の概要 これらおよびその他の目的および利点は、複数のアドレス可能な要素に論理的に 分割されるステージングメモリを提供することにより達成される。利用可能な要 素と対応する識別子は、このような識別子のプールからマイクロプロセッサによ り任意に選択され、そしてFIFO記憶回路のようなシーケンス記憶回路に記憶 される。
この発明は、ネットワークバス素子インタフェースと大容量記憶素子インタフェ ースとの間のデータ転送のためのステージングメモリを含む大容量記憶システム の背景において述べられている。パケットがネットワーク通信バスに接続された 素子インタフェースからステージングメモリにより受信されることになる場合、 要素の識別子はDMA制御によりシーケンス記憶回路からアクセスされ、そして パケットはメモリの対応する位置に記憶される。論理は、メモリ要素がパケット が受信したこと、すなわち、記憶レジスタにおける要素と対応する状態ワードを 配置することにより、およびプロセッサ中断6号のような制御信号を発生するこ とにより、表示する。そして、パケットは大容量記憶のためのデータを含んでい るかどうかを決定するために、主記憶システムのシステムプロセッサによりチェ ックされる。もし、パケットが記憶のためのデータを有していなければ、システ ムプロセッサは、データパケットが受信されなかったことを他のソフトウェアに 通告する。一方、システムプロセッサは、検索データテーブルにおける受信され たパケットを識別する情報を配置する。データの複合パケットは、高速度で受信 し得る。何故なら、シーケンス記憶回路は、複合要素の識別子で転送するための 優先順位をプログラムし得るからである。
メモリ要素において記憶されたデータは、システムマイクロプロセッサによる単 一の介入のみが要求される蛇行操作により大容量記憶するように転送される。
発明者の「蛇行」によるとは、データを非連続メモリ位置から単一データ送信へ 組合せることを意味する。これは、単一データ送信に含まれるように、データを 有するメモリ要素と対応する一連の要素識別子で、シーケンス記憶回路をプログ ラミングすることにより達成される。システムプロセッサから分離し、そしてシ ステムプロセッサにより準備する論理制御に基づいて、対応する一連の要素から のデータはメモリから読出され、そしてシーケンス記憶回路における要素識別子 のプログラムされた命令に従い、大容量記憶素子インタフェースに対し転送が予 定された長さのデータストリームにアセンブルされる。データストリームは、見 出し領域、データ領域および誤り訂正領域からなる。これらいずれの領域も、メ モリ中に存在し、または準備の間システムマイクロプロセッサにより論理を与え る指令の結果としてDMA制御論理により発生させ得る。好適な実施例において 、例えば、メモリと素子インタフェースとの間の転送の限界を定めるものとして 適当なブロックサイズ達することが必要であれば、データストリームにおける最 後のデータ領域に制御論理を埋込む。さらに、これらいずれの領域でも(例えば 、見出し領域)省略し得るか、または加えられ、転送されるデータの種類により 定まる。
データが大容量記憶から読出される場合、データは大容量記憶素子インタフェー スからの単一連続DMAデータストリームとしてステージングメモリへ転送され る。データストリームは、システムプロセッサにより、シーケンス記憶回路にプ ログラムされる一連の要素識別子に従って、ステージングメモリの選択された必 要のない連続メモリ要素の中に記憶されるセグメントに分割される。このプロセ スは、ここにおいて「非蛇行」として参照される。要素識別子は、利用可能なメ モリ要素に対応し、そしてこのような識別子のプールからシステムマイクロプロ セッサにより任意に選択される。データは、システムプロセッサからの論理分離 の制御に基づいて記憶され、そしてシステムプロセッサにより準備され、このよ うにしてシステムプロセッサの介入は、転送が完成するまで初期準備後に要求さ れることはない。システムプロセッサは、データセグメントを受信するようにプ ログラムされるメモリ要素のトラックを保持し、そしてステージングメモリから の検索データセグメントに対し、予め準備論理を行う際に、それらを個々のパケ ットにアセンブルし、そしてネットワーク通信バス上に転送するために、ネット ワークバス素子インタフェースに対しそれらを準備する。
図面の簡単な説明 本発明の上記および他の目的および利点は、同様の参照符号が引用する同様の部 分からなる添付図面との関係において、後述する詳細な説明を考慮すれば明白で あろう。
図1は、本発明の原理によるステージングメモリを含む大容量記憶システムのブ ロック結線図である。
図2は、ステージングメモリと受信アドレスとFIFOの受信状態を含む、本発 明の一実施例のブロック結R図である。
図3は、従来技術として公知であり、本発明で好適に使用するための型式の典型 的データパケットのフォーマットを示す結線図である。
図4は、ネットワーク通信バスからの受信データパケットまたは大容量記憶素子 インタフェースからの見出し/データセグメントを有する図1におけるステージ ングメモリの識別メモリ要素に対しプロセッサメモリにおいて準備されるデータ テーブルの結線図である。
図5は、図1のステージングメモリおよび蛇行/非蛇行FIFOを含む本発明の 蛇行/非蛇行システムの一実施例のブロック結線図である。
図6は、本発明の原理によるステージングメモリ110とDMAチャネル105 との間でデータの転送を実行する間の図5の状態機械語シーケンス回路506の 状態のフロー結線図である。
図7は、それぞれのネットワーク通信バス素子インタフェースに対し、ステージ ングメモリと転送アドレスとFIFOの転送状態を含む本発明のパケット転送シ ステムの一実施例のブロック結線図である。
図8は、本発明の蛇行システムの別の実施例のブロック結線図である。
発明の詳細な説明 図1は、大容量記憶システム100を示し、このシステム100は1もしくはそ れ以上の大容量記憶素子102(例えば、ディスク駆動機構またはディスク駆動 機構配列)および大容量記憶システム100における素子102と他の回路構成 との間での通信のために対応する素子インタフェース104とを含む。大容量記 憶システム100は、素子インタフェース104を経てネットワーク通信バス1 09と接続される。データが大容量記憶素子102とネットワーク通信バス10 9に接続されるホストコンピュータとの間で転送される間に、一時的記憶情報に 対し、大容量記憶システム100におけるステージングメモリ110が提供され る。このステージングメモリは、例えば、データを受信するための他の素子イン タフェースの用意をするまでは、いずれか一方の素子インタフェース104また は108の1つから受信されるデータを保持するように使用される。大容量記憶 素子103に対しネットワークバス109上のホストコンピュータからデータを 転送する場合、ステージングメモリ110は、素子インタフェース108の1つ からデータを受信し、素子インタフェース104の1つに転送されるまでデータ を保持する。大容量記憶素子102からネットワークバス109に接続されたホ ストコンピュータへデータを転送する場合、ステージングメモリ110は、素子 インタフェース104の1つからデータを受信し、素子インタフェース108の 1つに転送されるまでデータを保持する。同様に、ステージングメモリ110は 、同様の種類の素子インタフェースの間に転送(例えば、素子インタフェース1 04の1つから他の素子インタフェースへの転送)されるデータを保持し得る。
この同じメモリは、ネットワークバス109と大容量記憶システム100とを接 続するホストコンピュータ間にコマンドメツセージとしての大容量記憶データと は別な情報の転送処理の目的に使用し得る。
大容量記憶システム100におけるデータ転送は、DMA制御論理構成要素10 3および106を介してシステムプロセッサ107により制御される。DMA制 御論理構成要素103は、素子インタフェース108とステージングメモリ11 0の間でデータの転送を制御する。DMA制御論理構成要素106は、素子イン タフェース104とステージングメモリ110の間でデータの転送を制御する。
図1の実施例において、2つの素子インタフェース108は、2:1マルチプレ クサ111を介してステージングメモリ110に対しての接続が示され、このマ ルチプレクサは、2つの素子インタフェース108がステージングメモリ110 と交信し得ることの決定を、DMA論理構成要素からの制御信号に対し応答する 。素子インタフェース108のそれぞれは、DMAバス112とインタフェース するポート108aを含む。同様に、ステージングメモリ110は、DMAバス 112とインタフェースするポート110aを含む。DMA制御論理構成要素1 03は、DMAバス112上のデータの転送を達成するためのそれぞれポート1 08aと110aおよびマルチプレクサ111に対し、制御信号を供給する。そ れぞれの素子インタフェース104は、2:1マルチプレクサ104bに相当す ることの設定により決定するように、2つのDMAバス105のいずれかにDM Aデータを転送または受信するためのポート104aを有する。それぞれのマル チプレクサ104bの準備は、2つのDMA制御論理構成要素106により調整 される。同様のステージングメモリ110は、DMAバス105のそれぞれ1つ と交信するための2つのポート110bを含む。それぞれ分離したDMA制御論 理構成要素106を備える素子インタフェース104とステージングメモリ11 0との間の2つのDMAバス105を提供することにより、ステージングメモリ 110と素子インタフェース104の2つの異なるものとの間の2つの同時DM A転送をすることができる。DMA制御論理構成要素106のそれぞれは、DM Aバス105上のデータ転送を達成するために、ポート104aと11Qbおよ びマルチプレクサ104bに対し制御信号を供給する。さらに、DMA論理構成 要素103を制御する場合、システムプロセッサ107は、ポート1locを経 てステージングメモリ110に対し直接アクセスする。システムプロセッサ10 7は、また素子インタフェース104および108に対し直接アクセスする。
以下に、より詳細に説明するように、DMA制御論理構成要素103は、このD MA制御論理構成要素103および素子インタフェース108の初期準備後に、 ステージングメモリ110と素子インタフェース108の1つとの間のデータ転 送と関連して、システムプロセッサ107からオフローディングデータ転送のオ ーバヘッドの目的に役立つ。同様に、また、以下に詳細に説明するように、DM A制御論理構成要素106は、特有のD M A #I御論理構成要素106の 初期準備後に、ステージングメモリ110と素子インタフェース104の1つと の間のデータ転送と関連して、システムプロセッサ107からオフローディング データ転送のオーバヘッドの目的に役立つ。
図2は、素子インタフェース108からのデータパケットをステージングメモリ 110に受信するために実施する本発明のバット受信システムの模範的実施例ブ ロック結線図を示す。素子インタフェース108は、図3に示すデータパケット のような、パケットの形式でバス110上の情報を受信する。これらのパケット のフォーマットは、典型的には各パケットが以下に定義される見出し領域におい て、通常表示される公知のサイズを有するように定義される。この見出し領域は 、パケット見出しまたは識別領域300a、データ領域300b、および妥当性 検査情報(例えば、CRC情報)のための領域300Cを含んでいる、3つの領 域を含む。パケットの実際のフォーマットは、本発明のパケット受信システムで 使用される情報処理システムにより変化する。以下に、より詳細に説明されるよ うに、本発明は、パケットサイズにおいて適宜の変更が可能である。また、デー タパケットのフォーマットが、コンピュータと大容量記憶システムとの間の転送 制御または状態情報のために使用されることは評価される。そして、素子インタ フェース108により受信されるパケットのデータ領域は、制御または状態情報 のような大容量記憶データとは異なった情報が含まれる。図3のパケットにおい て、領域300b (例えば、大容量記憶データ、制御または状態情報)により 含まれるデータの形式は、識別領域300aの0PCODE部により識別される 。
変化のある図表は、大容量記憶データに含まれる個々のパケットを参照するため に、従来の情報処理システムにおいて使用されている。このような従来の図表の 1つは、トランザクションをベースとするパケット転送を伴う。それぞれのトラ ンザクションは、トランザクションに含まれるそれと各パケットが参照されるこ とにより番号を有する。複数のパケットが特定のトランザクションを含んでいる と、パケットにおける大容量記憶データの指令は、各パケットにおける大容量記 憶データの始めがトランザクションでの第1パケツトにおける大容量記憶デーの 始めからオフセットされることにより、オフセット値がワード数またはバイト数 またはその他のデータ数と等しくすることにより、識別される。トランザクショ ン識別子域302およびオフセット値領域304は、識別領域300aの部分と してデータパケット300の中に示される。ここに説明される本発明のノくケ・ ソト受信システムの模範的な実施例は、パケット参照についてこのような形式を 使用するネットワークの前後関係として説明されている。当業者において明白で あるように、しかしながら、この発明の実施例は他のパケット識別図表を実施す ることができる。さらに、また明白であるように、本発明は、パケットにおいて 指定される特定の宛先バッファアドレスを考慮することなく、実施することがで きる。
一般的に、従来の共用されるシステムまたはネットワークバス上のパケットデー タの転送、すなわち大容量記憶システムに対する中央プロセッサのメモリからの 書込みデータを伴うものは、遠隔中央プロセッサから大容量記憶システムへコマ ンドパケットにより開始する。例えば、書込みトランザクションにおいて、コマ ンドパケットは、典型的には、他の情報の中で、アドレス、出所アドレス(コン ピュータの要求により大容量記憶システムに対し供給される)およびトランザク ション識別子を含むリターンパケットを供給することにより応答することを大容 量記憶システムに要求する。この応答を受信すると、遠隔中央プロセッサは、パ ケットに転送するために検索するデータを配置し、そして各データ/々ケ・ソト の相当する領域に大容量記憶システムにより発生する受信アドレスおよびトラン ザクション識別子を配!する。中央プロセッサはまた、各データ1<ケ・ソトの ためのオフセット値を発生し、そして典型的には、大容量記憶システムに対する オフセット値の命令でデータパケットを転送する。
パケット交換システムの多重化機能のために、これらのデータ、<ケラトは、他 のトランザクションと結合するデータパケットの中に点々と配置される大容量記 憶システムにより受信され得る。典型的な従来の大容量記憶システムにおし)て 、受信されたデータパケットからのデータは、パケットと各/<ケラトにおいて 指定されたオフセットを加えたアドレス領域において、識別される受信領域での 連続メモリ位置の始めに配置される。
この発明のステージングメモリ110は、遠隔中央プロセッサに対し未知の同一 の記号で非連続位置でメモリに記憶するために、受信データノくケラトを許容す ることが大容量記憶システムにおいて有効である。ステージングメモリ110は 、アドレス指定可能なメモリ回路で構成される。ステージングメモリ110のメ モリ要素は、商業的に利用可能な集積回路のRAM素子(例えば、モトローラ社 製6293RAMチップのような素子)に使用するものとして実施し得る。商業 的に利用可能なレジスタ素子は、またポート1lOa、110bおよび110C を設けるために使用し得る。各ポートは、好ましくはデータラッチレジスタ、ア ドレスカウンタおよびリード/ライト可能レジスタから構成し、そしてボート機 能を実施するために要求されるような他の論理を含む。ステージングメモリ11 0の目的が、ネットワークパケットを段階化(ステージング)することであるの で、メモリは、それぞれアドレスおよび長さとして説明し得る複数の「ステージ ング要素」200に対し、システムプロセッサにより論理的に分割される。この 実施例において、全てのステージング要素は、最大予想lくケラト長さが等しく なる。
この論理分割は、大容量記憶システム100がオンライン状態になる前に、シス テムプロセッサ107により達成される。システムプロセッサ107は、ステー ジング要素200の数を決定するために、最大予想ノ々ケット長さによりステー ジングメモリ110のサイズを分割し、そして各ステージング要素200の開始 アドレスのメモリにおいて、リストSE FREE POOLを作成する。
遠隔中央プロセッサが、大容量記憶システム100に対し書込み操作を開始する 際に、システムプロセッサ107は、先に説明したように、トランザクション識 別子を含むパケットを中央プロセッサに対し、発生しかつリターンする。システ ムプロセッサ107は、また以下に説明するように、データがステージングメモ リ110に配置される後に、完全に顕著なトランザクションにお(1て、その後 の使用に対し、メモリーレジデントテーブルに発生したトランザクション識別子 を配置する。以下に、より詳細に説明されるこのようなテーブルの例は、図41 こ示される。
パケットがトランザクションを転送するに先立って、システムプロセッサ107 は、一連のステージング要素識別子を備えるDMA制御論理103;こおけるシ ーケンス記憶回路をプログラムする。これらの識別子は、受信)くケラトに対し 利用可能な個々のステージング要素と対応する。それらは、SE FREE−P OOLリスト上で識別された利用可能または現在未使用のステージング要素から システムプロセッサ107により選択され、そしてステージングメモリ110の 相対するステージング要素に、素子インタフェース108により受信されるデー タパケットを記憶するため、ボート制御l−−ドウエア203により個々iこア クセスされる。ボート制御ハードウェア203は、素子インタフェース108と ステージングメモリ110との間のデータの転送のために、これら回路の特定の 実施により要求されるように、制御、アドレス、およびポート108aおよび1 10aのデータレジスタを処理するため、およびマルチプレクサ111を制御す るため、離散的論理またはプログラム可能なアレイ論理の使用によるような、従 来実施し得る論理により構成する。
図2の実施例において、シーケンス記憶回路202は、回路に記憶されたステー ジング要素識別子がシステムプロセッサ107により負荷される同じシーケンス にアクセスされる従来のFIFO(先入れ先出し方式)記憶回路(ラベル付RC V ADDRF I FO)使用して実施される。プログラムされた識別子がポ ート制御ハードウェア203によりアクセスされるシーケンスは、もし望むなら ば(例えば、識別子が、LTFO回路−後入れ後出し方式の使用によるような、 逆の指令でアクセスされること)、異なる指令においてもなし得る。ざらをこ、 シーケンス記憶回路は、R/’Mまたはレジスタアレイ、またはマイクロプロセ ッサの使用によるようなFIFOまたはLIFO回路とは異なった回路構成;こ より実施することができる。
この発明の好適な実施例において、各ステージング要素識別子は、相対するテー ジング要素のステージングメモリ110における開始アドレスSEを含む。各ア ドレスSEが、RCV ADDRFIFO2021,:対システムプロセッサ1 07により負荷されるように、短い[タグ番号JRTはアドレスに対し結合し、 そしてこのタグ番号と回路202へ負荷される各ステージング要素の相対する開 始アドレスおよび長さは、基準テーブル204ヘシステムプロセツサ107によ り配置される。タグ番号の目的は、RCV 5TATUS FIFO206にお ける発生する状態ワードで使用するために、RCV ADDRFIFO202に 負荷される各開始アドレスSEに対し、速記基準を提供することである。RCV  5TATUS FIFO206i:おけルステージング要素の実際の開始アド レスの代りにタグ番号を使用することにより、FIFO206の必要ナヒット幅 ハ、小すく保持サレル。RCV 5TATUS FIFO2061:おける状態 ワードの発生は、以下に説明する。
タグ番号は、連続的な指令でRCV ADDRFIFO202に負荷されるが、 他の指令は、RCV ADDRFIFO202におけるタグ番号の指令が基準テ ーブル204により反映される。好ましくは、タグ番号は、0から(m−1)の 値を有する。但し、mは深さに等しい可変のノくラメータ、また(よRCV A DDRFIFO202(例えば、同時に、RCV ADDRFIFO202に負 荷されるステージング要素識別子の番号)についてのその部分である。例えば、 もし16またはそれ以上のステージング要素識別子の深さを有するFIFO回路 が使用されるならば、タグ番号Tは0−15の値を有する4ビツトバイナリ番号 により構成し得る。RCV ADDRFIFO2021こ負荷される第1のステ ージング要素アドレスは、0のタグ番号が割当てられ、第2の場合は、順次1が 割当てられる。この場合、タグ番号は、15が0になる後1こシステムプロセッ サi07は、初期的に負荷されたアドレスがバス109から素子インタフェース 108に到達するデータパケットを受信するために、ポート制御ハードウェア2 03により使用されるように、SE FREE POOLリストから現在利用可 能なステージング要素の開始アドレスをRCV ADDRFIFO202に再負 荷する。システムプロセッサ107は、システムプロセッサをRCV ADDR FIFO202に再負荷するように、基準テーブル204 ’f−W新tル。好 tL<は、RCV ADDRFIFO202+:おけるステージング要素識別子 の初期の負荷は、大容量記憶システムが初期設定される際に行われる。勿論、ス テージング要素がパケットを受信する際には、パケットが、ステージング要素か ら大容量記憶素子インタフェースへ転送され、またはステージング要素が利用可 能な状態にリターンする時に別な方法で処理され、そしてSE FREE PO OLリストにリターンされるようになる時間まで、パケットは利用不可能となる 。このように、個々のステージング要素のステージングメモリ110の操作の間 に、可変時間で利用可能な状態と利用不可能な状態との間のサイクルとなる。シ ステムプロセッサ107は、ステージング要素がいかなる時間でも、RCV A DDRFIFO202に負荷することが利用可能であることを知るために、SE  FREE POOLリストを使用する、このようなサイクル処理のトラックを 保持する。
好適な実施例において、素子インタフェース108は、バス109から受信され るパケットからのCRC情報(例えば、妥当性検査領域300C)、すなわち受 信された各パケットからの見出しおよびデータ領域で構成するデータセグメント がステージングメモリ110に記憶されるように、検査しそして取り除く。各デ ータパケットからのデータセグメントがステージングメモリ110により受信さ れた後、ポート制御ハードウェア203は、パケット転送の官僚を表示するため 、FIFO回路206(RCV 5TATUS FIFO)l;:相対する状態 Xil別子割子荷する。状態識別子は、パケットを受信したステージング要素に 対し、RCV ADDRFIFO202において割当てられた一群の5TATビ ツトとタグ番号とを含む。5TATビツトは、例えば、DMA制御論理103に より転送誤りが検出されたかどうか表示する誤りビットと、素子インタフェース 108がバス109からパケットを受信したことを表示するビットとを含む。R CV ADDRFIFO202として、RCV 5TATUS FIFO206 は、FTFO回路とは相違する従来の回路構成を使用して実施することができる 。
空から空でない状態へのRCV 5TATUS FIFO206の移行において 、システムプロセッサ107に対し、パケットを受信したことを表示するための 割込みが発生する。この割込みに対する応答に際し、システムプロセッサ107 は、RCV 5TATUS FIFO206における第1の状態識別子のタグ番 号を読出し、そしてテーブル204からの相対するステージング要素の開始アド レスおよび長さを決定する(全てが等しいかどうかテーブル204において、ス テージング要素の長さをリストする必要はなく、この場合、長さは、システムプ ロセッサ107により読出される単一メモリ位置またはレジスタに記憶される) 。システムプロセッサ107は、さらに図4に示すように、テーブル400への パケットの開始アドレス、長さおよびオフセットを配置する。RCVSTATU S FIFO206から読出すタグ番号と対応するテーブル204による有効な タグがないことを表示するために空番号を設定する。テーブル400は、顕著な トランザクションについてのトランザクション識別子に従って索引付けし、そし てこのようなトランザクション識別子を与えるために、トランザクションと結合 するデータパケットを受信して保持するステージング要素の開始アドレスは、素 子インタフェース108によって受信されたトランザクションのパケットにおい て、またはそれらのオフセットの指令において、システムプロセッサ107によ りリストされる。テーブル400は、図5との関係で説明されるように、ステー ジングメモリ110から大容量記憶素子インタフェースへデータの転送を完了す るために、システムプロセッサ107により使用される。
データパケットを有するステージング要素に記憶される、大容量記憶への転送の 完了において、大容量記憶システムによる内部的使用のための、論理ブロックア ドレスと大容量記憶素子番号のような、新たな制御情報が要求される。これは、 パケットがステージングメモリ110に配!された後に、パケットの見出し領域 において含まれるオリジナル制御要素の選択された部分に新たな制御情報を書込 むシステムプロセッサ107を有することにより、簡単に達成することができる 。
または、このような新たな制御情報は、ステージングメモリ110から大容量記 憶素子インタフェース104へ転送されるデータ傾城として、DMA制御論理1 06によりパケットデータ領域へ加えることができる。
システムプロセッサ107が割込みに対する応答でRCV 5TATUS FT Fo 206における第1の状態識別子をアクセスし、そしてテーブル400に 結合したステージング要素のアドレスを配置した後、システムプロセッサ107 は、追加ノ状態1に割子1.ニ一対するRCV 5TATUS FIFO206 を検索し、そしてそれぞれこのような識別子に対するアクセス処理を繰返す。も し、RCV 5TATUS FIFO206においてそれ以上の識別子がなけれ ば、システムプロセッサ107は、再度割込みがあるまで池の操作に戻る。
素子インタフ二一ス108に到達するパケットが大容量記憶データパケット、す なわち、コマンドパケットまたはその他の形式のメツセージと相違すれば、パケ ットは、大容量記憶データと相違するものとして、システムプロセッサ107に より識別される。パケットは、システムプロセッサ107がテーブル400に相 対するステージング要素のアドレスを配置しないことを除いて、大容量記憶デー タパケットと同様の方法により、ステージングメモリ110に受信される。代案 として、システムプロセッサ107は、大容量記憶システムの制御回路構成にお いて、他のソフトウェアに対しパケットを含むステージング要素のアドレスを供 給し、順次にパケットを処理し、そして5E−FREE−POOLに対しパケッ トを含むステージング要素を最後にリターンさせる。
このシステムプロセッサが、バス109から受信される特定の書込みトランザク ションに対し、全ての大容量記憶データパケットを検出するに際し、大容量記憶 素子インタフェース104の1つに対し、大容量記憶データを転送するように準 備する。
図5は、ステージングメモリ110と大容量記憶素子インタフェース104に接 続されたDMAチャネル105との間のデータを転送するための「蛇行/非蛇行 」機構の模範的な実施例を示す。この発明は、DMAチャネル105の両方向へ のデータ転送に関する。用語の「蛇行Jは前もってここに述べられている。東1 に、大容量記憶素子インタフェース104の1つに対し、単一の連続DMAデー タ転送として、データを転送するために、ステージングメモリ110の選択され たステージング要素において、記憶されたデータと共に蛇行するための方法が記 載される。
説明の目的として、それは、単一データ転送トランザクションと結合した大容量 記憶データの幾つかのパケットが、大容量記憶システムに対しコンピュータによ り転送されることであり、そして図2との関係で述べられた本発明のパケット受 信方向に従うステージングメモリ110の可変ステージング要素200に記憶さ れることである。記憶された大容量記憶データパケットは、大容量記憶データの 少数量のみ有するトランザクションと結合した最後のデータセグメントの可能な 除外で長さを等しくする。それぞれ記憶された大容量記憶データパケットは、大 容量記憶において、典型的な論理および物理的位置に対し相対する大容量記憶デ ータを指向させて、使用するための制御を包含しそして情報をアドレスする見出 しを含むために、システムプロセッサ107により変更される(前もっての状態 として、この情報は、パケットの見出し領域において、元来含まれている制御情 報の上に書込まれる)。また、システムプロセッサ107は、共に蛇行するデー タセグメントの開始メモリアドレス、長さおよびオフセット値の知識を有するこ とが、仮定される。これは、例えば、前述した方法において、データがステージ ングメモリ110に記憶された場合、図4に示すように、検索データテーブルを 作成することにより達成される。
ステージングメモリ110の選択されたステージング要素200からDMAチャ ネル105ヘデータセグメントを転送するために、システムプロセッサ107は 、それぞれ選択されたステージング要素に含まれる変更された見出し領域のメモ リにおいて、開始アドレスと対応する一連のメモリアドレス(rSE ADDR ESSJ)を備えるDMA制御論理106のシーケンス記憶回路504をプログ ラムする。シーケンス記憶回路504は、好ましくは、ステージングメモリアド レスが、相対するステージング要素に含まれるデータセグメントのオフセット値 に従ってプログラムされそしてアクセスされるFIFO記憶回路(ラベル付けさ れたrsNAKE/DESNAKE FIFOJ)を使用して実施される。ステ ージングメモリアドレスがプログラムされたシーケンス(およびこのような相対 するステージング要素の内容が転送されるシーケンス)は、望ましいように変化 させることができる。シーケンス記憶回路504は、LIVO回路、RAMまた はレジスタアレイ、またはマイクロプロセッサの使用によるように、FIFO回 路とは相違する回路構成により実施され得る。
シーケンス記憶回路504のプログラミング後に、システムプロセッサ107は 、転送するためのデータの全長と等しい値を、データ転送長さカウンタに負荷す る。このデータ転送長さカウンタのローディングは、ポート制御ハードウェア5 06の操作を開始する。ポート制御ハードウェア506は、ポート104aおよ び110bの制御アドレスおよびデータレジスタを処理するため、およびマルチ プレクサ104bを制御するため、離散的な論理またはプログラム可能なアレイ 論理を使用するようにして、従来的に実施し得ると共に、システムプロセッサ1 07から要求される更なるアテンシヨンなしにDMA転送を実行するために従来 方法で構築される状態機械語シーケンス回路およびその他の論理で構成する。
フロー図600は、ステージングメモリ110と図6に示されるDMAチャネル 105との間でDMA転送を実行するように、ポート制御ハードウェア506の 状態シーケンス回路の状態を示す。
ステージングメモリ110から素子インタフェース104への転送において伴う 状態は、図6の低部において示され、そして一般的に読出しシーケンス600a としてここに#照される。ポート制御ハードウェア506の状態機械語シーケン ス回路は、状態機械語シーケンス回路がデータ転送長さカウンタのローディング をシステムプロセッサ107により開始する場合、未使用状!!!!601から 続出しシーケンス600aを始める。状態機械語シーケンス回路は、最初に、ス テージングメモリ110における各見出し/データセグメント(例えば、520 バイト)の長さと等しい値で、ブロック長さカウンタ508に負荷する(小数の データセグメントを除<)(状態602)。状態機械語シーケンス回路は、次に 、DMAチャネル、大容量記憶素子インタフェースポー)104aおよびDMA 転送のためのステージングメモリポーhllObを準備するために必要となる制 御信号を、ポート制御ハードウェアに発生するようにする(状態604)ポート 制御ハードウェア506の状態機械語シーケンス回路は、その後、大容量記憶素 子インタフェース104に対し、DMAチャネル105上に転送される単一デー タストリーム512に選択されたデータセグメントをアセンブルする。
これは、次のようにして達成される。状態機械語シーケンス回路は、ステージン グメモリ110以外の指向される見出し/データバイトに対し、ステージング要 素アドレスを有するステージングメモリポート110bを備えるアドレスカウン タ509に負荷されるように、シーケンス記憶回路504に第1のステージング メモリアドレスを生じる(状態606)。見出し/データセグメント517から なる見出し514およびデータ領域516は、アドレスされたステージング要素 からDMAチャネル105へ転送される。
各バイトがDMAチャネル105へ転送された後は、ブロック長さカウンタ50 8およびデータ転送長さカウンタ510は1つづつ減少する。ステージングメモ リ110とDMAチャネル105との間の転送は同時に1バイトを位置付けるよ うにここに説明されているが、このようなブロック長さカウンタ508およびデ ータ転送長さカウンタ510はバイト毎の基準で減少し、ポート110bおよび 104bおよびDMAチャネル105は、並列に(例えば、長い語)データのよ り大きな量を転送することが実施される。このような場合、カウンタ508およ び510は、長い語またはバイトよりもむしろ他のユニットをカウントすること が実施される。ブロック長さカウンタ508は、520バイトの全ての見出し/ データセグメント517がDMAチャネル105へ転送されたことを表示するゼ ロが到達した場合、状態機械語シーケンス回路が、見出し/データセグメント長 さの値でブロック長さカウンタ508に再負荷すること、および他の見出し/デ ータセグメントの転送を始めるために、シーケンス記憶回路504からアドレス カウンタ509へ負荷するように、次のステージングメモリアドレスを生じるこ とを、ポート制御ハードウェア506に指向させる(状態608)。このような 次の見出し/データセグメントの転送を始める前に、ポート制御ノ\−ドウエア 506の状態機械語シーケンス回路は、DMAデータストリーム512における 第1のセグメントのデータ領域516に付加するために、データの妥当性検査情 報(rcRcJ 518)を生じる(状態610)。このプロセス(状態606 .608.610)は、データ転送長さカウンタ510が1に等しくなるまで繰 返えされる。もし、ブロック長さカウンタ508が、データ転送カウンタ510 が1になる場合に、1と等しければ、データの最後のバイトは転送され、そして 各カウンタはゼロに減少する(状態612)。データの妥当性検査領域は、丁度 転送されたデータ領域に付加され(状態614)、そして状態機械語シーケンス 回路506は未使用状態601に戻る。もし、ブロック長さカウンタ508は、 転送長さカウンタ510が1に等しい場合に、1と等しくなければ(例えば、ス テージングメモリ110に記憶された最後のデータバイトが、転送される場合) 、ブロック長さカウンタ508は、最後に記憶されたデータバイトが転送され、 そしてカウンタ508および510が減少した後に、ゼロでない値を有する。D MAデータストリーム512の最後のデータ領域を完了するために、状態機械語 シーケンス回路は、データストリームの部分としてバス105上の「埋込み」デ ータの転送バイトを継続するため、ポート制御ハードウェア506に生じさせる (状8616)。この「埋込み」データは、埋込みバイトとして公知の繰返し値 を構成する。埋込みバイトは、最後の転送見出し/データセグメントの長さが、 前の見出し/データセグメントの長さと等しくなるまで転送される。これは、各 埋込みバイトが転送された後にブロック長さカウンタを減少することにより、そ してブロック長さカウンタがゼロに到達するまでに埋込み操作をカウントするこ とにより達成される。最後の埋込みバイトが転送され、そしてブロック長さカウ ンタがゼロに減少した後に(状態618)、データの妥当性検査領域は、ステー ジングメモリ110から素子インタフェース104へDMAデータストリームを 完成するために転送される(状態614)。
ネットワークバス109上の遠隔中央プロセッサが大容量記憶102(例えば、 読出し大容量記憶データ操作)からのデータを検索ためにシークするデータ転送 に関し、これら上述した類似の機構は、ステージングメモリ110の利用可能な ステージング要素に対し、DMAチャネル105上の単一連続DMAデータスト リーム512から見出し/データセグメント517を送るために、そして素子イ ンタフェース108を経てステージングメモリ110からネットワーク通信バス 109ヘパケツト形式で見出し/データセグメントを転送するために使用するこ とができる。
読出し操作は、他の情報の中で、読出しのための大容量記憶データの識別を得る 遠隔中央タプロセッサからのコマンドパケットにより開始される。コマンドパケ ットは、ネットワークバス素子インタフェース108を経て大容量記憶システム 100により受信され、そして前述した方法でステージングメモリ110に対し 転送される。システムプロセッサ107は、ステージングメモリ110に記憶さ れているコマンドパケットを読出し、そしてコマンドに対する1もしくはそれ以 上のトランザクシラン識別番号を割当てる。トランザクション識別番号の数は、 要求されるデータの量に従って利用される。システムプロセッサ107は、トラ ンザクション識別番号をテーブル400に人力し、そしてコマンドパケットによ り要求されるデータを検索ための特有な大容量記憶素子102を知らせる。
大容量記憶素子102が典型的なトランザクション識別番号七結合したデータを 転送することが用意されている場合、大容量記憶素子は、順次にシステムプロセ ッサ107が割込みを生じる素子インタフェース104を知らせる。システムプ ロセッサ107は、トランザクション識別番号と結合する大容量記憶データを転 送するために要求されるステージングメモリ110のステージング要素の数を決 定し、そしてSE FREE POOLリストからステージング要素の必要な数 を得る。各ステージング要素に対し、見出し/データセグメントの転送が初めら れるステージングメモリ110のアドレスは、5NAKE/DESNAKEFI FO504に負荷される。ステージング要素アドレスは、また、PIFO504 に負荷された命令で、テーブル400に入力される。
システムプロセッサは、利用可能なりMAチャネル105を選択し、そして選択 されたチャネルト結合したDMA制御論理構成要素106が含まれる状態機械語 シーケンス回路の操作を開始する。書込み(ステージングメモリ110)シーケ ンス600bの状態に関し、状態機械語シーケンス回路の操作は、転送されるデ ータの全長さと等しい値を有するデータ転送長さカウンタ510のローディング によってシステムプロセッサ107により開始される(状f1620)。状態機 械語シーケンス回路は、DMA転送に対するDMAチャネルおよびステージング メモリ110のポート110bの状態に対し必要となる制御信号を発生すること をポート制御ハードウェア506に生じ(状態622)、そして転送される各見 出し/データセグメント517の長さと等しい値を有するブロック長さカウンタ 508を負荷する(状態624)。
ポート制御ハードウェア506の状態機械語シーケンス回路は、次に、ステージ ングメモリ110に指向する見出し/データバイトに対し、ステージング要素ア ドレスを有するステージングメモリポート1lobを設けたアドレスカウンタ5 09において、負荷されるシーケンス記憶回路504に第1のステージンダメそ りアドレスを生じる。見出し/データセグメント517は、大容量記憶素子イン タフェースポート104aからアドレスされたステージング要素へ転送される。
各バイトがステージング要素へ転送された後、ブロック長さカウンタ508およ びデータ転送長さカウンタ510は、1つだけ減少する。全ての見出し/データ セグメント517は、1からゼロへ減少するブロック長さカウンタ508により 表示されるように、ステージングメモリ110に対し転送される場合(状態62 6)、ポート制御ハードウェア506の状態機械語シーケンス回路は、転送中に 悪化しなかった見出し/データセグメントを確保するために、見出し/データセ グメントの終りに付加するデータの妥当性検査領域を検査する(状態628)。
データの妥当性検査情報は、ステージングメモリ110に記憶される必要はない が、しかしポート制御ハードウェア508の状態機械語シーケンス回路により検 査される場合に、見出し/データセグメントから取除くことができる。もし、取 除くと、新たな妥当性検査情報については、見出し/データセグメントがステー ジングメモリ110以外に遅れて転送された場合に付加される。もし、ポート制 御ハードウェア506の状態機械語シーケンス回路は、データの妥当性検査情報 が検査された場合に誤りが検出されると、割込みがシステムプロセッサ107に 対して通知される。
データの妥当性検査情報がされ、そして見出し/データセグメントが有効とされ た後は、状態機械語シーケンス回路は、見出し/データセグメントの長さの値を 有するブロック長さカウンタ508を再負荷するため、および他の見出し/デー タセグメントの転送を始めるためにアドレスカウンタ509に負荷するように5 NAKE/DESNAKE FIFO504から次のステージングメモリアドレ スを生じるために、ポート制御ハードウェアに指向させる。このプロセスは、D MAチャネル上のデータストリームの最後のデータバイトが転送されるまで、繰 返される。ブロック長さカウンタ508は、最後のデータバイトが転送された後 に1からゼロへ減少した場合(状!!630)、状態機械語シーケンス回路は、 最後のデータの妥当性検査領域を検査しそして取除き(状fi632)、そして 未使用状態601にリターンする。
データの最後のバイトがステージングメモリ110に対し転送された後、DMA 制御論理106は、トランザクション識別番号と結合したデータの転送が完了し たプロセッサに知らせるために、システムプロセッサ107に割込む。システム プロセッサ107は、ステージングメモリ110において記憶された見出し/デ ータセグメントの見出し領域が、正しい大容量記憶データが転送されたことを表 示することを確認する。システムプロセッサ107は、ネットワークアドレッン ングフォーマット要求に応じて記憶された見出し/データセグメントの上に新た な見出し領域を書込み、そしてバス109上のパケット形式で転送するために、 素子インタフェース108の1つに対し、見出し/データセグメントを転送する ための用意をする。
図7は、ステージングメモリ110からネットワークバス素子インタフェース1 08へのデータの転送を示す。転送の前に、システムプロセッサ107は、2つ の素子インタフェース108の1つを選択し、一連のステージング要素の識別子 を有する相対するシーケンス記憶回路702aまたは702b (ラベル付けさ れたTMT ADDRFIFO)をプログラムし、そして相対するテーブル70 5aまたは705bにステージング要素アドレスおよび長さを入力する。これら の識別子は、素子インタフェース108に対し転送されるデータを含むステージ ングメモリ110の個々のステージング要素と対応する。このシーケンスは、大 容量記憶素子インタフェース104からステージングメモリ110へのデータの 転送の間に付勢されるテーブル400における項目から用意される。図示の目的 のために、ケーブル八に対する素子インタフェースがシステムプロセッサ107 により選択されることを以下に仮定する。各識別子は、好ましくは相対するステ ージング要素およびタグ番号TAにおいて記憶された再書込み見出し領域の開始 メモリアドレスを構成する。
TMT ADDRFIFO702aのプログラミングの後に、システムブOtッ f107は、TMT ADDR’ FIFO702aからの第1のステージング 要素識別子をアクセスするために、素子インタフェース108に対し相対するス テージング要素に記憶されたパケットを転送するために、DMA制御論理103 のポート制御ハードウェア706に指向させる。システムプロセッサ107は、 他のプロセッサに対し自由である。DMA制御論理は、TMT ADDRFIF O702aにおける各識別子についてプロセスを繰返す。各パケットが素子イン タフェース108に対し転送された後、DMA制御論理は、 FIFO回路(ラ ベル付けされたTMT 5TATUS FIFO)に相対する状態識別子を負荷 する。ここに、状態識別子は、RCV 5TATUS FIFO206と関係す る前述した状態ビットに加えて、不成功の計算を転送に対して試みることを含む べく拡張される。空の状態から空でない状態へのTMT 5TATUS FIF O704aのトランザクションについて、システムプロセッサ107に対する割 込みは、パケットが転送されることを表示ために発生する。システムプロセッサ 107は、素子インタフェース108に対し最初のパケットの転送の状態を検査 し、そして追加の状態識別子を検索する。もし、状態が転送の成功を表示すれば 、RCV 5TATUS FTFO704aから読出されたタグ番号と対応する テーブル705aにおける項目は、空の値が設定される。
TMT 5TATUS FIFO702aにおける追加の状態識別子を検査した 後は、システムプロセッサ107は、再度割込まれるまで他の操作にリターンす る。
データは、バス109より受信されたパケットの見出しおよびデータの領域の長 さよりも異なる長さを有する見出し/データセグメントにおける、ステージング メモリ110と大容量記憶素子インタフェース104との間で転送されることが 好ましい。それは、また、パケットの見出しおよびデータの領域の長さおよび/ または見出し/データセグメントの長さが、1から他に変わるステージングメモ リ110と大容量記憶素子インタフェース104との間で転送され得る。いずれ か一方の場合において、長さの相違は、可変パラメータとなるステージングメモ リ110におけるステージング要素の長さの限界を定めることにより調整される 。そのようにすることにおいて、個々のステージング要素の可変長さは、データ をステージングメモリ110に対しまたはステージングメモリ110から転送す る際に、計算しなければならない。
例えば、図8は、図5の蛇行/非蛇行システムの別の実施例をを示し、これはス テージング要素識別子が相対するステージングメモリ要素アドレスと共にFIF O804に負荷されるステージング要素長さパラメータを含んでいる。追加のカ ウンタ回路802(ラベル付けされたSE LENGTHCNTR)は、相対す るステージング要素アドレスがポート制御ハードウェア806により、アドレス カウンタ509に負荷された後に、負荷されるFMFO804からのステージン グ要素長さの値を得る。カウンタ802の値は、見出し/データセグメント51 7の各バイトがステーシンダメモリ110へまたはステージングメモリ110か ら転送するために、1回減少し、そしてポート制御ハードウェア506がFIF O804から次のステージング要素アドレスおよび長さを取出す際に、決定すべ きブロック長さカウンタ508の値の代わりに使用される。ブロック長さカウン タ508は、ポート制御ハードウェア506がDMAチャネル105上のデータ ストリームにデータの妥当性検査情報(、rcRcJ)を挿入する際に決定し、 そして前述した同様の方法により埋込みが実行される。
図8に示されるように、ステージング要素長さのパラメータの使用は、大容量記 憶システム100によって受信されたパケットの個々の長さについて、ステージ ングメモリ110と大容量記憶素子インタフェース104との間で転送されたデ ータの見出し/データ領域の長さを許容する。
このようなステージングメモリを介するデータ転送のための新規な方法および装 置は、以上述べた通りである。当業者であれば、本発明が前述した実施例以外に よっても実施することができ、そして特に前述した大容量記憶システム以外の回 路に組込むことが可能であることは、理解し得るであろう。前述された実施例は 、図示の目的で提出され、限定されるものではなく、そして本発明は次のクレ− ムのみによって限定される。
FIG、 / FIG、4 FIG、 7 F/θθ 要約書 ステージングメモリとダイレクトメモリアクセス(DMA)チャネルの要素を経 て、1つの素子インタフェースから他の素子インタフェースへのデータの転送の ための方法および装置。
補正嘗の写しく翻沢カ提出書 (特許法第184条の8) PCT/US91101251 、発明の名称 ステージングメモリを介してデータを転送する方法および装置3、特許出願人 住 所 アメリカ合衆国、カリフォルニア 92807、アナハイム、イー ハ ンター アベニ、−5065名 称 マイクロ テクノロジー インコーホレイ テッド1992年 4月 6日(平成 4年 4月 6日)6、添付書類の目録 (1)補正書の写しく翻訳力 1通 請求の範囲 1、データ処理システムにおいて、第1群の素子の1つから第2群の素子の1つ へ第1の論理組合せデータを転送する間に、ステージングメモリで第1の論理組 合せデータの一時的記憶を行い、そして第2群の素子の1つから第1群の素子の 1つへ第2の論理組合せデータを転送する間に、ステージングメモリで第2の論 理組合せデータの一時的記憶を行う方法であって、ステージングメモリは、シス テムプロセッサを有する装置内において、第1群の素子からデータを受信しおよ び第1群の素子に対しデータを転送するための第1の素子インタフェース手段と 、第2群の素子からデータを受信しおよび第2群の素子に対しデータを転送する ための第2の素子インタフェース手段とを含み、そしてステージングメモリが、 第1と第2のデータチャネルにより第1および第2の素子インタフェース手段と が交互に結合され、(りステージングメモリにおいて複数のステージング要素を 定義し、そしてシステムプロセッサのメモリにおいて、データについて利用可能 なステージング要素と対応するステージング要素識別子のフリーブールリストを 記憶するステップと、 (b)記憶したフリープールリストから第1の一連のステージング要素識別子を 選択し、そして第1の記憶回路に第1の一連のステージング要素識別子をプログ ラムするステップと、 (C1システムプロセッサのメモリにおいて、ステージングメモリに伴う進行で 転送操作を確認する情報が記憶されたテーブルを定義し、そして第1群の素子の 1つから東2群の素子の1つへ第1の論理組合せデータの転送を第1のトランザ クション番号により確認する第1のテーブル情報において、および第2群の素子 の1つから第1群の素子の1つへ第2の論理組合せデータの転送を東2のトラン ザクション番号により確認する第2のテーブル情報において記憶するステップと 、 (d+第1群の素子の1つからステージングメモリに対し、第1の論理組合せデ ータを次の各ステップにより転送するステップと、+1)第1の素子インタフェ ース手段で、複数の分割された部分における纂1群の素子の1つにより転送され た第1の論理組合せデータを転送するステップ、 (2)第1の素子インタフェース手段からステージングメモリへ、第1の素子イ ンタフェース手段により受信された第1の論理組合せデータのそれぞれ分割され た部分を、第1のデータチャネルに対し制御回路を起動することにより、各分割 された部分に対し、第1の記憶回路からステージング要素識別子をアクセスし、 そして第1の素子インタフェース手段から第1のデータチャネルを経て相対する ステージング要素へ分割された部分を応答的に転送するステップ、および (3)システムプロセッサメモリにおけるテーブルの第1部分において、第1の トランザクション番号と結合し、第1の論理組合せデータの分割された部分を受 信したステージング要素を確認する項目のリスト、第1の論理組合せデータの記 憶した分割された部分の論理命令を表示するために配置される項目のリストを記 憶するステップ、 (el ステージングメモリから第1群の素子の1つへ第1の論理組合せデータ を次の各ステップにより転送するステップと、(1)第1のトランザクション番 号と結合して記憶された項目のリストの配置により表示される論理命令に従って 、システムプロセッサメモリにおけるテーブルの第1部分において、第2の記憶 回路に、第1の論理組合せデータの分割された部分が記憶されているステージン グ要素と対応する一連のステージング要素識別子をプログラミングするステップ 、および(2)ステージングメモリから第2の素子インタフェース手段へ第1の 論理組合せデータからなるデータの分割された部分を、第2のデータチャネルに 対し制御回路を起動することにより、自動的に繰返されるシルケンスにおいて、 第2の記憶回路からステージング要素識別子をアクセスし、そして相対するステ ージング要素から第2のデータチャネルを経て第2の素子インタフェース手段へ 分割された部分を応答的に転送し、第1の論理組合せデータからなる分割された 部分が、それぞれ転送された分割された部分に対しプロセッサの割込みの要求な しに東2のデータチャネル上の単一のデータ転送としての論理命令で転送される ステップ、 ([)第1群の素子の1つからステージングメモリへ第2の論理組合せデータを 次の各ステップにより転送するステップと、fl)記憶されたフリープールリス トから第2の一連のステージング要素識別子を選択し、そして第2の記憶回路に 、第2の一連のステージング要素識別子をプログラミングするステップ、 (2)¥42の素子インタフェース手段で、第2群の素子の1つにより転送され た第2の論理組合せデータを受信するステップ、(3)第2の素子インタフェー ス手段からステージングメモリへのた第2の論理組合せデータは、第2の論理組 合せデータが複数の分割された部分に分割される第2のデータチャネルに対し制 御回路を起動することにより、各分割された部分に対し、第2の記憶回路からス テージング要素識別子をアクセスし、そして第2の素子インタフェース手段から 第2のデータチャネルを経て相対するステージング要素へ分割された部分を応答 的に転送し、第2の論理組合せデータからなる分割された部分が、それぞれ転送 された分割された部分に対しプロセッサの割込みの要求なしに第2のデータチャ ネル上の単一のデータ転送としての論理命令で転送されるステップ、および(4 )システムプロセッサメモリにおけるテーブルの第2部分において、第2のトラ ンザクション番号と結合し、第2の論理組合せデータの分割された部分を受信し たステージング要素を確認する項目のリスト、第2の論理組合せデータの記憶し た分割された部分の論理命令を表示するために配置される項目のリストを記憶す るステップ、 (g)ステージングメモリから第1群の素子の1つへ第2の論理組合せデータを 次の各ステップにより転送するステップと、(1)第2のトランザクション番号 と結合して記憶された項目のリストの配置により表示される論理命令に従って、 システムプロセッサメモリにおけるテーブルの第2部分において、第3の記憶回 路に、第2の論理組合せデータの分割された部分が記憶されているステージング 要素と対応する一連のステージング要素識別子をプログラミングするステップ、 および(2)ステージングメモリから第1の素子インタフェース手段へ第2の論 理組合せデータからなるデータの分割された部分を、第1のデータチャネルに対 し制御回路を起動することにより、自動的に繰返されるシーケンスにおいて、第 3の記憶回路からステージング要素識別子をアクセスし、そして相対するステー ジング要素かケ第1のデータチャネルを経て第1の素子インタフェース手段へ分 割された部分を応答的に転送するステップ、および第1および第2群の素子は、 各論理組合せデータが転送素子によって命名されたメモリまたはステージングメ モリにおける連続ステージング要素に記憶されることが要求されることなくステ ージングメモリを経て論理組合せデータの他の1つに通信可能に結合されること を特徴とする方法。
2、各ステージング要素は、固有の開始メモリアドレスおよび長さにより特徴付 けられる一群の連続する物理的メモリ位置から構成し、そしてステージング要素 識別子は少なくとも相対するステージング要素のステージングアドレスと長さと を含んでなる請求の範囲1記載の方法。
3、ステージングメモリから第2のデータチャネルへ論理組合せデータの転送を する前において、転送される論理組合せデータの分割された部分に含まれるデー の量が、多数の等しいサイズのユニットとして量を定めるブロック長さの値を発 生し、論理組合せデータに含まれるデータの全体量が、多数の等しいサイズのユ ニットとして量を定めるデータ転送長さの値を発生し、そして前記ブロック長さ の値のデータ転送長さの値は、データ転送の量に従って、ステージングメモリか ら第2のデータチャネルへ転送されるデータとして減少させることからなる請求 の範囲1記載の方法。
4、ブロック長さの値は、それぞれブロック長さの値がゼロに減少するように再 発生し、そしてデータ転送長さの値がゼロでない値を有してなる請求の範囲3記 載の方法。
5、データ転送長さの値がゼロに減少しそしてブロック長さの値がゼロでない値 となるならば、ブロック長さの値がゼロに減少するまで、東2のデータチャネル 上の埋込みシーケンスを転送するステップをさらに設けてなる請求の範囲4記載 の方法。
6、ステージングメモリから第2群の素子の1つへ第1の論理組合せデータを転 送するステップ(りにおいて、 第1の論理組合せデータの各分割された部分に対し、第1の論理組合せデータの 分割された部分がステージングメモリから転送された後に、第2のデータチャネ ル上に相対するデータの妥当性検査情報を発生し、そして相対するデータの妥当 性検査情報を転送するステップをさらに設けてなる請求の範囲1記載の方法。
7、第2群の素子の1つからステージングメモリへ第2の論理組合せデータを次 の各ステップにより転送するステップ(1)において、分割された部分がステー ジングメモリに転送された際に、第2の論理組合せデータの分割された部分を付 加するデータの妥当性検査情報を認識し、そして確認するステップをさらに設け てなる請求の範囲1記載の方法。
8、ステージングメモリから第2群の素子の1つへ第1の論理組合せデータを転 送するステップ(りにおいて、 ステージングメモリに記憶された第1の論理組合せデータの各分割された部分に 対し、分割された部分に対応する第2のデータチャネル見出し情報およびデータ の妥当性検査情報を発生し、そして転送するステップであって、ステージングメ モリから第2のデータチャネルへ第1の論理組合せデータの転送が、見出し、デ ータ領域およびデータの妥当性検査情報の繰返しシーケンスの転送からなるステ ップをさらに設けてなる請求の範囲1記載の方法。
9、データ処理システムにおいて、第1および第2の素子の間をいずれかの方向 にデータを転送する間にデータをステージングする装置であって、記憶データに 対し利用可能な複数のステージング要素と、複数のステージング要素にアクセス するための第1および東2ポート手段とを有するステージングメモリと、 第1の素子から第1の論理組合せデータからなる複数のデータパケットを受信す るための、そして分割された部分におけるステージングメモリの第1のポート手 段に対し第1の論理組合せデータを転送するための第1のポート手段と、および 第1素子と結合する第1のデータバス手段と、第1のポート手段に対し転送され た第1の論理組合せデータの分割された部分ヘステージングメモリにおける非連 続ステージング要素をアクセスするために第1のポート手段と結合する第1のプ ログラム可能なステージングメモリアドレッシング手段と、 第2の素子により転送された第2の論理組合せデータを受信するための、そして ステージングメモリの第2のポート手段に対し第2の論理組合せデータを転送す るための第2のポート手段と、および第2素子と結合する第2のデータバス手段 と、 単一の転送における分割された部分での第2の論理組合せデータを記憶するため にステージングメモリにおける非連続ステージング要素をアクセスするために第 2のポート手段と結合する第2のプログラム可能なステージングメモリアドレッ シング手段と、 第1および第2論理組合せデータの分割された部分を記憶するために利用可能な ステージング要素と対応するステージング要素識別子を、第1および第2のプロ グラム可能なステージングメモリアドレッシング手段にプログラミングするため に、そして第1および第2の論理組合せデータの分割された部分を受信したステ ージング要素のステージング要素識別子、そして番茶1および第2の論理組合せ データに対するステージング要素識別子の論理命令を確認する情報を、プロセッ サメモリ手段におけるテーブルに記憶するために、ステージングメモリと、およ び第1および第2のプログラム可能なステージングメモリアドレッシング手段と 結合するプロセッサ手段と、ステージングメモリから第2の素子へ第1の論理組 合せデータを転送するために、プロセッサ手段は、プロセッサメモリ手段におい てテーブルからのステージング要素識別子を第2のプログラム可能なステージン グメモリアドレッシング手段にプログラムし、第2のプログラム可能なステージ ンダメそりアドレッング手段は、第1の論理組合せデータに記憶するステージン グ要素を論理命令において交互にアクセスし、そして第2のデータバス手段は、 第2の素子に対する単一転送で第1の論理組合せデータを転送し、およびステー ジングメモリから第1の素子へ墓2の論理組合せデータを転送するために、プロ セッサ手段は、プロセッサメモリ手段においてテーブルからのステージング要素 識別子を第1のプログラム可能なステージングメモリアドレッシング手段にプロ グラムし、第1のプログラム可能なステージングメモリアドレッシング手段は、 第2の論理組合せデータに記憶するステージング要素を論理命令において交互に アクセスし、そして第1のデータバス手段は、第2の素子に対するぶんりパケッ トで第2の論理組合せデータの分離された部分を転送することを特徴とする装置 。
国際調査報告 DrT/I+(01/l’N2(++)rT/IIc CD/n +2ζ1 国際調査報告

Claims (23)

    【特許請求の範囲】
  1. 1.データを記憶するために利用可能な複数のステージング要素をメモリにおい て定義するステップと、 複数の利用可能なステージング要素から一連のステージング要素を選択するステ ップと、 データチャネルから選択された一連のステージング要素にデータを転送するステ ップと、 データを受信した各ステージング要素と対応する識別情報識別子を一覧表にし、 この一覧表を記憶したデータの論理命令の表示として得るステップと、および 一覧表により表示される論理命令に従って、データチャネルに対しメモリの選択 された一連の要素からデータを転送するステップとから構成することを特徴とす るメモリにデータをステージングする方法。
  2. 2.各ステージング要素は、固有の開始メモリアドレスおよび長さにより特徴付 けられる一群の連続する物理的メモリ位置から構成してなる請求の範囲1記載の 方法。
  3. 3.メモリからデータチャネルヘデータの転送をする前において、転送される各 メモリ要素における多数のデータユニットと等しいブロック長さの値が発生し、 および一連のメモリ要素におけるデータユニットの合計数と等しいデータ転送長 さの値が発生し、そして前記ブロック長さの値とデータ転送長さの値は、各デー タユニットがデータチャネルに対し転送されるように減少させることからなる請 求の範囲1記載の方法。
  4. 4.ブロック長さの値はそれぞれブロック長さの値がゼロに減少するように再発 生し、そしてデータ転送長さの値がゼロでない値を有してなる請求の範囲3記載 の方法。
  5. 5.データ転送長さの値がゼロに減少しそしてブロック長さの値がゼロでない値 となるならば、ブロック長さの値がゼロに減少するまで、データチャネル上の埋 込みシーケンスを転送するステップをさらに設けてなる請求の範囲4記載の方法 。
  6. 6.メモリ要素からデータが転送された後にデータチャネル上のデータの妥当性 検査情報を転送するステップをさらに設けてなる請求の範囲1記載の方法。
  7. 7.メモリ要素に転送されるべきデータに付加するデータの妥当性検査情報の確 認をするためのステップをさらに設けてなる請求の範囲1記載の方法。
  8. 8.メモリからデータチャネルヘのデータ転送は、見出しの繰返しシーケンスの 転送、データ領域およびデータの妥当性検査情報から構成してなる請求の範囲1 記載の方法。
  9. 9.ステージングメモリと、 ステージングメモリにおいて、データを記憶するために利用可能な複数のステー ジング要素を定義するための手段と、複数の利用可能なステージング要素から一 連のステージング要素を選択するための手段と、 データチャネルから選択された一連のステージング要素を転送するための手段と 、 データを受信した各ステージング要素と対応する識別情報識別子の一覧表を作成 する手段であって、一覧表は記憶されたデータの論理命令の表示を得るものと、 および 一覧表により表示された論理命令に従ってデータチャネルに対しメモリの選択さ れた一連の要素からデータを転送する手段とから構成することを特徴とするデー タをステージングする装置。
  10. 10.ステージング要素は、選択されたメモリ要素において記憶されるべきデー タの種類を考慮しないで選択されてなる請求の範囲9記載の方法。
  11. 11.各ステージング要素は、固有の開始メモリアドレスおよび長さにより特徴 付けられる一群の連続する物理的メモリ位置から構成してなる請求の範囲9記載 の装置。
  12. 12.ステージングメモリからデータチャネルヘデータの転送をする前において 、転送される各メモリ要素における多数のデータユニットと等しいブロック長さ の値が発生し、および一連のメモリ要素におけるデータユニットの合計数と等し いデータ転送長さの値が発生し、そして前記ブロック長さの値とデータ転送長さ の値は、各データユニットがデータチャネルに対し転送されるように減少させる ことからなる請求の範囲9記載の装置。
  13. 13.ブロック長さの値はそれぞれブロック長さの値がゼロに減少するように再 発生し、そしてデータ転送長さの値がゼロでない値を有してなる請求の範囲12 記載の装置。
  14. 14.データ転送長さの値がゼロに減少しそしてブロック長さの値がゼロでない 値となるならば、ブロック長さの値がゼロに減少するまで、データチャネル上の 埋込みシーケンスを転送する手段をさらに設けてなる請求の範囲12記載の装置 。
  15. 15.ステージング要素からデータが転送された後にデータチャネル上のデータ の妥当性検査情報を転送する手段をさらに設けてなる請求の範囲9記載の装置。
  16. 16.ステージング要素に転送されるべきデータに付加するデータの妥当性検査 情報の確認をするための手段をさらに設けてなる請求の範囲9記載の装置。
  17. 17.メモリからデータチャネルヘのデータ転送は、見出しの繰返しシーケンス の転送、データ領域およびデータの妥当性検査情報から構成してなる請求の範囲 9記載の装置。
  18. 18.通信バスに対し大容量記憶システムを接続するための素子インタフェース と、 データを記憶するためのランダムに利用可能な複数の定義されたステージング要 素を有するステージングメモリと、複数の利用可能なステージング要素から一連 のステージング要素を選択するための手段と、 選択された一連のステージング要素にデータを記憶するための手段と、データを 受信した各ステージング要素と対応する識別子からなるデータテーブルを維持す るための手段であって、データテーブルが記憶されたデータの論理命令の表示を し得るようにしてなるものと、記憶されたデータの表示された論理命令に従って データを含む各ステージング要素に対しアドレス情報をシーケンス記憶回路に負 荷するための手段と、および データチャネルに対しその論理命令でデータを転送するための手段であって、デ ータが大容量記憶または通信バス素子インタフェースに転送するようにしたもの とから構成することを特徴とする通信バスと接続する大容量記憶システムにおけ る、大容量記憶素子インタフェースと通信バス素子インタフェースとの間でデー タの転送をする装置。
  19. 19.一連のステージング要素を選択するための手段は、一連のステージング要 素において、各ステージング要素に対しアドレス情報でマイクロプロセッサの制 御下に負荷される記憶回路により構成してなる請求の範囲18記載の装置。
  20. 20.選択された一連のステージング要素にデータを記憶するための手段は、素 子インタフェースがデータを受信した際に記憶回路からステージング要素アドレ ス情報をアクセスするための手段と、およびアクセスアドレス情報により決定さ れる開始メモリアドレスで始まるステージングメモリに対し、受信データを転送 するための手段とから構成してなる請求の範囲18記載の装置。
  21. 21.シーケンス記憶回路は、FIFO回路からなる請求の範囲18記載の装置 。
  22. 22.データチャネルに対しデータを転送するための手段は、状態機械語シーケ ンス回路からなる請求の範囲21記載の装置。
  23. 23.状態機械語シーケンス回路は、FIFO回路からアドレス情報をアクセス することにより、およびステージングメモリからデータチャネルヘデータを転送 するためのアドレス情報を使用することによりデータを転送することからなる請 求の範囲22記載の装置。
JP3506032A 1990-02-28 1991-02-27 ステージングメモリを介してデータを転送する方法および装置 Expired - Fee Related JP2989665B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48653590A 1990-02-28 1990-02-28
US486,535 1990-02-28

Publications (2)

Publication Number Publication Date
JPH05505049A true JPH05505049A (ja) 1993-07-29
JP2989665B2 JP2989665B2 (ja) 1999-12-13

Family

ID=23932273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3506032A Expired - Fee Related JP2989665B2 (ja) 1990-02-28 1991-02-27 ステージングメモリを介してデータを転送する方法および装置

Country Status (5)

Country Link
EP (1) EP0517808A1 (ja)
JP (1) JP2989665B2 (ja)
AU (1) AU7497091A (ja)
CA (1) CA2076533A1 (ja)
WO (1) WO1991013397A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0528273B1 (en) * 1991-08-16 1999-10-27 Fujitsu Limited Buffer memory and method of managing the same
JPH11110315A (ja) * 1997-07-31 1999-04-23 Matsushita Electric Ind Co Ltd 通信装置
CN103199952A (zh) * 2012-01-06 2013-07-10 上海华虹集成电路有限责任公司 通信接收机中的业务数据传输方法及业务数据传输模块

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3824551A (en) * 1972-05-18 1974-07-16 Little Inc A Releasable buffer memory for data processor
US4507760A (en) * 1982-08-13 1985-03-26 At&T Bell Laboratories First-in, first-out (FIFO) memory configuration for queue storage
JPS60181942A (ja) * 1984-02-29 1985-09-17 Fujitsu Ltd メモリ制御装置
JPS6336348A (ja) * 1986-07-30 1988-02-17 Toshiba Corp バツフアメモリ管理方法
FR2633744B1 (fr) * 1988-07-01 1991-02-08 Dassault Electronique Dispositif de memoire vive electronique

Also Published As

Publication number Publication date
CA2076533A1 (en) 1991-08-29
AU7497091A (en) 1991-09-18
EP0517808A1 (en) 1992-12-16
JP2989665B2 (ja) 1999-12-13
WO1991013397A1 (en) 1991-09-05

Similar Documents

Publication Publication Date Title
US5315708A (en) Method and apparatus for transferring data through a staging memory
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
US6651119B2 (en) Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status
EP0622922A1 (en) Method and device of multicasting data in a communications system
EP1019838B1 (en) Fast 16-bit, split transaction i/o bus
CA2152984A1 (en) Data streaming between peer subsystems of a computer
US6108736A (en) System and method of flow control for a high speed bus
JPH09223089A (ja) 複数バス・ターゲットへのパケット・データの分割を可能にする方法および装置
US5901291A (en) Method and apparatus for maintaining message order in multi-user FIFO stacks
JP2001273154A (ja) 有限状態のマシーン制御をハードウエア実行データ構造操作により置換するパーフォーマンス向上方法およびシステム
US5848297A (en) Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
US6578096B1 (en) Method and system for efficient I/O operation completion in a fibre channel node
JPH05505049A (ja) ステージングメモリを介してデータを転送する方法および装置
US7107371B1 (en) Method and apparatus for providing and embedding control information in a bus system
US9804959B2 (en) In-flight packet processing
JPH0221619B2 (ja)
EP0073081B1 (en) Data processing system having a control device for controlling an intermediate memory during a bulk data transport between a source device and a destination device
JPS6148745B2 (ja)
JP2710587B2 (ja) 情報処理システム
JP3487641B2 (ja) 並列計算機システムにおける記憶装置アクセス方式
JPH05502316A (ja) データ記憶サブシステム
CN116701084A (zh) 总线协议验证方法、装置、设备、存储介质及程序产品
JPH08241262A (ja) 外部記憶拡張方式
JPH05324571A (ja) システムバス接続ユニット

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees