JP2000137676A - バッファ制御方式 - Google Patents

バッファ制御方式

Info

Publication number
JP2000137676A
JP2000137676A JP10326082A JP32608298A JP2000137676A JP 2000137676 A JP2000137676 A JP 2000137676A JP 10326082 A JP10326082 A JP 10326082A JP 32608298 A JP32608298 A JP 32608298A JP 2000137676 A JP2000137676 A JP 2000137676A
Authority
JP
Japan
Prior art keywords
buffer
memory
data
address
read
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
JP10326082A
Other languages
English (en)
Inventor
Kunihiko Suzuki
邦彦 鈴木
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 Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP10326082A priority Critical patent/JP2000137676A/ja
Publication of JP2000137676A publication Critical patent/JP2000137676A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】ブリッジ装置内のデータバッファの数及び容量
を可変にすることにより、PCIバス配下のチャネル装
置の性能に合わせた転送を可能にする。 【解決手段】複数のメモリ11〜1nと、PCIバス配
下のチャネル装置61〜6nとの間のデータ転送をブリ
ッジ装置40内のデータバッファを介して行う。ブリッ
ジ装置40は、複数のメモリブロック4161〜416
nで前記データバッファを構成し、メモリブロック41
61〜416nを組合わせたデータバッファの構成をバ
ッファ構成メモリ413に格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スーパーコンピュ
ーターの入出力(I/O)装置等に適用されるバッファ
制御方式に関する。
【0002】
【従来の技術】スーパーコンピューターのみならず、あ
らゆるコンピュータにはメモリ装置が使用される。特
に、スーパーコンピューターにあっては、使用するメモ
リの個数及びメモリ客量において、一般的なコンピュー
タのメモリよりも多いことは勿論である。
【0003】高速CPU(中央処理装置)を使用するコ
ンピューターシステムの従来例は、例えば、特開平9−
231164号公報の「バスブリッジ及びそれを備えた
計算機システム」に開示されている。斯る従来のシステ
ムの例を図9及び図10を参照して、その構成及び動作
を説明する。
【0004】先ず、図14の従来装置にあっては、複数
のメモリ装置11、12、…1n、ネットワーク装置
2、I/Oアダプタ装置31〜3n、ブリッジ装置4、
PCIバス5、及びこのPCIバス5に接続された複数
のチャネル装置61〜6nを備える。ここで、I/Oア
ダプタ装置31〜3nは、ネットワーク装置2とブリッ
ジ装置4を接続する。
【0005】ブリッジ装置4は、ネットワーク上のメモ
リ装置11〜1nとPCIバス5の間のデータ転送を制
御する。チャネル装置61〜6nは、PCIバス5と、
各チャネル装置に接続される複数のデバイス装置611
〜61n、6n1〜6nn間を接続する。
【0006】ブリッジ装置4は、メモリリクエスト送信
レジスタ41、アドレス変換回路42、判定用アドレス
格納メモリ43、比較器44、アドレス受信レジスタ4
5、インタフェース制御回路46、ライト制御回路4
7、リード制御回路48、n個のデータバッファ491
〜49n及びバッファセレクタ41Aを有する。
【0007】アドレス変換回路42は、PCIバス5か
ら受信したアドレスを、メモリ11〜1n内のメモリア
ドレスに変換し、メモリリクエストを生成する回路であ
る。判定用アドレス格納メモリ43は、メモリリクエス
トの元となったPCIバス5のアドレスを格納するレジ
スタである。
【0008】比較器44は、判定用アドレス格納メモリ
43のアドレス受信レジスタ45に格納されたPCIバ
ス5から受信したアドレスを比較する。アドレス受信レ
ジスタ45は、PCIバス5から送信されてくるアドレ
スを格納するレジスタである。
【0009】インタフェース制御回路46は、ブリッジ
装置4とPCIバス5間の転送制御を行う。ライト制御
回路47は、データバッファ49のデータライト(書込
み)制御を行う。I/Oアダプタ装置31の指示でデー
タを書込み、内部にアドレスカウンタ(図示せず)を有
する。
【0010】リード制御回路48は、データバッファ4
91〜49nのデータリード(読出し)制御を行う。イ
ンタフェース制御回路46の指示でデータを読出し、内
部にはアドレスカウンタ(図示せず)を有する。また、
バッファセレクタ41Aは、読出すデータバッファ49
1〜49nを選択する。
【0011】次に、図15を参照して、図14の従来装
置の各部分の動作を説明する。チャネル装置61〜6n
は、PCIバス5の使用権を獲得後にブリッジ装置4に
対してメモリリードコマンドとアドレスを送信する。ブ
リッジ装置4は、アドレスをアドレス受信レジスタ45
に受信し、コマンド(指令)をインタフェース制御回路
46に受信する(図15の)。
【0012】メモリリードコマンドをデコード(復号)
したインタフェース制御回路46は、アドレス変換回路
42にメモリリードリクエストの作成を指示する。チャ
ネル装置61〜6nには、リトライを指示して、トラン
ザクションを一旦終了する(図15の)。
【0013】以後、インタフェース制御回路46は、デ
ータバッファ49nにメモリデータの格納が完了するま
で、チャネル装置61〜6nのメモリリードトランザク
ションをリトライする(図15の)。
【0014】メモリリードリクエスト作成の指示を受け
たアドレス変換回路42は、アドレス受信レジスタ45
内のPCIアドレスをメモリアドレスに変換し、メモリ
リードリクエストを作成する。次に、作成したメモリリ
ードリクエストは、メモリリクエスト送信レジスタ41
を通してI/Oアダプタ31〜3nに送信する(図15
の)。また、この時のPCIアドレスを判定用アドレ
ス格納メモリ43に格納する。この判定用アドレス格納
メモリ43は、複数のPCIアドレスをデータバッファ
491〜49nに対応付けて格納することができる。
【0015】メモリリードリクエストは、I/Oアダプ
タ装置31〜3n→ネットワーク装置2→メモリ装置1
1〜1nの経路でメモリに到達する。1つのメモリリー
ドリクエストに対して、数十ワードのデータが読出され
る。読出されたデータは、メモリ装置11〜1n→ネッ
トワーク装置2→I/Oアダプタ装置31〜3n→ブリ
ッジ装置4の経路で、ブリッジ装置4に送信される(図
15の)。ブリッジ装置4は、I/Oアダプタ装置3
1〜3nからのデータ有効信号を受信し、ライト制御回
路47により、リクエスト元データバッファ491〜4
9nへデータを書込む。
【0016】メモリデータのデータバッファ49nへ書
込みが完了したら、インタフェース制御回路46は、チ
ャネル装置61〜6nからのメモリリード要求を受け付
ける(図15の)。この受け付けたPCIアドレス
と、判定用アドレス格納メモリ43内のアドレスとを、
比較器44で比較する。もし、両アドレスが一致する
と、データバッファ49nのデータのリクエスト元とみ
なし、データの読出しを開始する。読出し対象のデータ
バッファは、バッファセレクタ41Aにより選択し、リ
ード制御回路48により読出しが行われる。
【0017】転送は、データバッファ49nが空になる
か、チャネル装置61〜6nからの転送中断によって終
了する。データバッファ491〜49nは、一度アクセ
スが行われると、転送終了時に、未読データがあっても
廃棄される。データバッファ49nが空になり、更にデ
ータを要求する場合は上述した動作を図15のから反
復する。
【0018】尚、上述の説明では、チャネル装置61〜
6nが1つの場合でリード動作を説明したが、データバ
ッファ491〜49nは複数あるので、実際には複数の
チャネル装置で並行して行われる。
【0019】
【発明が解決しようとする課題】上述した従来技術で
は、一度アクセルが行われたデータバッファのデータ
は、まだ未読データが残っていても廃棄される。例え
ば、1回に読出すデータ量がデータバッファの半分しか
ないような低速チャネル装置等では、毎回バッファデー
タの半分を破棄するために転送の効率が半分となるとい
う問題があった。
【0020】また、転送性能の異なるチャネル装置で
は、1回のバストランザクションで要求するデータ量は
異なる。例えば、低速チャネル装置では、データバッフ
ァの一部分しか読出さないが、高速チャネル装置では、
バッファデータの複数個分の読出しが可能である。
【0021】この場合、低速チャネル装置では、上述の
如く読み残しの部分を捨てることとなるので効率が悪
く、高速チャネル装置では、本来1個以上のデータバッ
ファの読出しが可能であるにも拘らずブリッジ装置4が
1つずつメモリ装置から読出すために効率が悪いという
問題があった。特に、図14に示す如くメモリ装置11
〜1nへのアクセス時間がかかる装置の場合には、次の
データ読出しまでに時間がかかるために、バスの最大転
送性能を大きくすることができなかった。
【0022】そこで、本発明の目的は、バッファデータ
の廃棄による転送効率の低下を阻止すると共に、チャネ
ル装置毎に必要な量のデータを供給することにより、チ
ャネル装置の性能に合わせた最適なデータ転送を可能と
し、高速/低速チャネル混在又は低速チャネルのみ等の
幅広い措置構成のバスに対応可能なバッファ制御方式を
提供することにある。
【0023】
【課題を解決するための手段】前述の課題を解決するた
め、本発明によるバッファ制御方式は次のような特徴的
な構成を採用している。
【0024】(1)複数のメモリ装置及びチャネル装置
間の転送を仲介するデータバッファを有するブリッジ装
置を含むバッファ制御方式において、前記ブリッジ装置
は、前記データバッファを構成する複数のメモリブロッ
クと、前記でデータバッファの構成を格納するバッファ
構成メモリとを有することを特徴とするバッファ制御方
式。
【0025】(2)前記データバッファに格納されるメ
モリデータは、リクエスト生成及びバッファ管理部と、
アドレス交換回路と、メモリリクエスト送信レジスタに
より要求する上記(1)のバッファ制御方式。
【0026】(3)前記データバッファ内データは、前
記チャネル装置から受信したPCIアドレスと、前記バ
ッファ構成メモリ内の判定用アドレスにより、ヒット判
定部で前記チャネル装置への転送の可否を判定する上記
(1)又は(2)のバッファ制御方式。
【0027】(4)前記データバッファのリード/ライ
トは、リード制御回路。ライト制御回路。及びバッファ
セレクトにより行う上記(1)、(2)又は(3)のバ
ッファ制御方式。
【0028】(5)更にインタフェース制御回路を有
し、PCIバス制御を行う上記(1)、(2)、(3)
又は(4)のバッファ制御方式。
【0029】(6)前記バッファ構成メモリは、前記複
数のメモリブロックを任意に組合わせた前記データバッ
ファの制御情報を格納する上記(1)のバッファ制御方
式。
【0030】
【発明の実施の形態】以下、本発明のバッファ制御方式
の好適実施形態例の構成及び動作を添付図、特に図1乃
至図13を参照して詳細に説明する。尚、これらの図に
おいて図14及び図15で説明した従来例の回路素子と
類似する素子には、同様の参照符号を使用する。
【0031】図1は、本発明のバッファ制御方式の好適
実施形態例の構成を示すブロック図である。図1のバッ
ファ制御方式の例では、複数のメモリ装置11〜1n、
ネットワーク装置2、I/Oアダプタ装置31〜3n、
ブリッジ装置4、PCIバス5、チャネル装置61〜6
n、この各チャネル装置61〜6nに接続されるデバイ
ス装置611〜61n、…6n1〜6nnを有する点で
は、図14の従来装置と同様である。しかし、データバ
ッファの数及び大きさを自由に組替えて使用できるよう
構成している点を特徴とする。そのために、ブリッジ装
置4の具体的構成、特に後述する如くバッファ構成メモ
リ等を使用することを特徴とする。そこで、図1のブリ
ッジ装置には、以下参照符号40を使用し、従来のブリ
ッジ装置4と区別することとする。
【0032】ブリッジ装置40は、メモリリクエスト送
信レジスタ401、アドレス変換回路402、アドレス
受信レジスタ405、インタフェース制御回路406、
ライト制御回路407、リード制御回路408を有す
る。更に、このブリッジ装置40は、アドレスカウンタ
411、バッファ番号生成回路412、バッファ構成メ
モリ413、ヒット判定部414、リクエスト生成及び
バッファ管理部415、メモリブロック4161〜41
6n及びバッファセレクタ417を有する。
【0033】アドレスカウンタ411は、データ転送の
頭でPCIバス5から受信したPCIアドレスを初期値
とし、メモリブロック4161〜416nからデータを
読出す度に+4カウントを行う。転送終了時のアドレス
を、次回のヒット判定用アドレスとしてバッファ構成メ
モリ413に格納する。
【0034】バッファ番号生成回路412は、PCIア
ドレスからバッファ構成メモリ413のリード/ライト
アドレスを生成する。バッファ構成メモリ413は、デ
ータバッファであるメモリブロック4161〜416n
の組合せの制御情報を格納する。ヒット判定部414
は、チャネル装置61〜6nから受信したPCIアドレ
スとバッファ構成メモリ413内のPCIアドレスとを
比較し、転送可能なメモリブロックの有無を判定する。
【0035】リクエスト生成及びバッファ管理部415
は、メモリブロック4161〜416nのデータの有無
を管理するバッファ管理回路と、このバッファ管理回路
からのメモリブロックが空になったことを受け、メモリ
リクエストを自動的に生成するリクエスト生成回路とを
有する。
【0036】上述した本発明のバッファ制御方式の特徴
とするデータバッファの数及びその大きさを自由に組替
えて使用する機能は、上述したバッファ構成メモリ41
3及びメモリブロック4161〜416nにより主とし
て構成され、実現される。このデータバッファの構成
(メモリブロック数)の設定は、装置の起動時に一度だ
け行われるが、この設定方式を図2を参照して以下に説
明する。
【0037】〈データバッファの構成〉複数のメモリブ
ロック4161〜416nを組合わせて構成したデータ
転送用のメモリをデータバッファと呼ぶこととする。図
2には、ブリッジ装置40内のメモリブロック数が8個
である場合のデータバッファの構成例を示す。
【0038】図2のでは、例1乃至例3の3つの構成
例を示している。先ず、例1では、1つのデータバッフ
ァを1つのメモリブロックで構成した場合であって、デ
ータバッファは#0乃至#7の8個ができる。例2で
は、1つのデータバッファを2個のメモリブロックで構
成した場合であって、#0〜#1のデータバッファ0か
ら#6〜#7のデータバッファ3の4つのデータバッフ
ァができる。最後に、例3ではメモリブロック2つ(#
0〜#1)で構成されるデータバッファ1つと、メモリ
ブロック3つ(#2−#3−#4、#5−#6−#7)
で構成されるデータバッファ2つの計3つのデータバッ
ファにした場合を示す。
【0039】尚、これらの例の他に、メモリブロック8
つで構成されるデータバッファ1つの構成でもよく、そ
の他考えられる全ての組合せが可能である。但し、組合
せ方の制限として、データバッファを構成するメモリブ
ロックは、必ず連絡した番号でなければならない。番号
とは、メモリブロックに付された管理番号であり、各デ
ータバッファのメモリブロック構成は、この番号で管理
する。
【0040】――バッファ構成メモリへの登録―― データバッファの構成をバッファ構成メモリ413に記
述することにより、システム毎のデータバッファの設定
を行うことができる。バッファ構成メモリ413は、図
9に示す内容から成る。
【0041】データバッファの設定時、図9の項番3番
の先頭メモリブロック番号と項番4の最終メモリブロッ
ク番号を書込む。図2の例3の設定値は、図10に示す
とおりである。
【0042】データバッファは、バッファ構成メモリ4
13のワード数分作成できる。図2では、例として8個
分としている。8つにデータバッファ数が満たないとき
は、必要数のみ(例3の場合では3つ分)登録する。
【0043】――PCIバス空間のメモリマッピング―
― 本発明におけるPCIアドレスマッピングを図3に示
す。この例では、PCIのアドレス空間を必ず2のn乗
(例えば、2、4、8、16、32…)で等分割し、チ
ャネル装置61〜6nとブリッジ装置40とに割り当て
る。このような制限を加えることにより、アドレスの判
定をPCIアドレスの上位の数ビットにより行うことが
できる。
【0044】図3の例では、空間を32等分し、上位1
6空間をチャネル装置61〜68割り当て(2空間/1
チャネル装置)、残りの下位16空間をブリッジ装置4
0に割り当てている。この場合、PCIアドレスのビッ
ト0のみで(値が“1”のとき)ブリッジ装置40に割
当てられた16の空間は、ビット1〜4によりアクセス
先の空間が特定できる。
【0045】――PCIアドレス→メモリアドレス変換
―― 本発明では、アドレス変換回路402により、上述した
16のブリッジ空間を個別にメモリ装置11〜1nの任
意のアドレス空間に変換することができる。アドレス変
換回路402は、ブリッジ空間に対応したメモリベース
アドレスをもち(本例では、16アドレス)、ブリッジ
空間にチャネル装置がアクセスすると、対応するメモリ
ベースアドレスとPCIアドレスのビット5〜31を加
算してリクエスト先のメモリアドレスを作成する。すな
わち、予めアドレス変換回路402内に16空間に対応
するメモリベースアドレスを準備しておく。(これもデ
ータバッファの設定と同じく、装置の起動時にアドレス
変換回路402に一度だけ設定する。)チャネル装置6
1〜6nから受信したPCIアドレスのビット1〜4に
よりメモリベースアドレスを選択する。
【0046】メモリリクエスト時のメモリアドレスは、
このベースアドレスにPCIアドレスのビット5〜31
をオフセットアドレスとして加算することにより作成す
る。尚、メモリアドレスには、メモリ装置11〜1nの
任意4バイト境界のアドレス(PCIアドレスが4バイ
ト境界アドレスのため)を指定する。
【0047】――ブリッジ空間とデータバッファ―― 本発明では、データバッファをブリッジ空間に割当て使
用する。チャネル装置61〜6nが使用する空間にデー
タバッファを割当てる。データバッファは、複数の空間
が共用することは可能で、どの空間が使用されているか
はバッファ構成メモリ413内のビット判定用アドレス
により知る。
【0048】バッファ番号生成回路412の構成例を図
4に示す。ブリッジ空間とデータバッファとの対応は、
バッファ番号生成回路412内のバッファ番号レジスタ
に設定する。受信したPCIアドレス内の空間番号によ
り、対応するバッファ番号レジスタ内のバッファ番号を
読出す。この番号をアドレスとして、バッファ構成メモ
リ413から目的のデータバッファの情報を取出す。
【0049】――データバッファの動作説明―― 次に、本発明のデータバッファのメモリリード時の動作
を図5のフローチャートに基づき説明する。
【0050】(1)転送開始 チャネル装置61〜6nからアドレスとリードコマンド
の受信により、転送動作を開始する(これは従来例と同
じ)。アドレスは、アドレス受信変換レジスタ405、
メモリリードコマンドをインタフェース制御回路406
に受信する。
【0051】(2)ヒット判定(ヒット判定部414) インタフェース回路にてメモリリードコマンドをデコー
ド(復号)後、受信アドレスから、使用するデータバッ
ファの構成情報を読出し、ヒット判定部414にてデー
タバッファが読出し可能か否か判断する。判定は、以下
の2条件を満足していたら読出し可能(ヒットした)と
する。 (a)ヒット判定用PCIアドレスと受信アドレスとが
一致。 (b)データバッファ内のメモリブロックに読出し可能
なデータがある。
【0052】次に、ヒット判定条件の詳細を説明する。
データバッファとバッファ構成メモリ413の情報の対
応イメージを図6に示す。
【0053】(ヒット判定用PCIアドレスと受信アド
レスとの比較)ヒット判定用アドレスには、データバッ
ファにメモリデータを要求したリクエスト元のPCIア
ドレスが格納されている。受信したPCIアドレスがこ
のアドレスと一致していれば、本データバッファの要求
元と判断し、今1つの条件である読出し可能なメモリブ
ロックの有無の判定を行う。
【0054】不一致の場合、データバッファ内のデータ
を破棄し、ヒット判定用アドレスを今回受信したアドレ
スに書き換える。リクエスト生成及びバッファ管理部4
15は、バッファデータの破棄をきっかけに新しいメモ
リデータの要求リクエストを生成する(詳細は後述)。
ここで、ブリッジ装置40の初期化後(バッファ構成メ
モリ413の設定後)の初めての転送では、ヒット判定
用アドレスは0が入っているために必ずこの場合は転送
が開始する。
【0055】(データバッファ内のデータの有無の判
定)データバッファ内にデータがあるか否かは、バッフ
ァを構成しているメモリブロックのVビットにより判定
する。各メモリブロックは、Vビット、即ちデータの有
無を示すフラグを有しており、内部にデータがある場合
には、このVビットが“1”となっている。データバッ
ファを構成するメモリブロックのうち1つでもVビット
が“1”ならばデータがあるとして転送を行う。メモリ
ブロック内のデータが全て読出されると、Vビットは
“0”となり、メモリブロックにデータがフルに格納さ
れると“1”となる。データを破棄する場合には、この
Vビットを強制的に“0”にする。このVビットは、リ
クエスト生成及びバッファ管理部415内に存在する。
【0056】(データバッファのデータ読出し)データ
読出し時の内部動作を説明する。データバッファの読出
しは、リード制御回路408にて行う。このリード制御
回路408は、ヒット判定部414のヒット判定に基づ
き、バッファ構成メモリ413から「開始ブロック番
号」「最終ブロック番号」「リードブロック番号」及び
「ブロック内リードアドレス」を情報として読出す。
【0057】データの読出しは、リードアドレスとして
全メモリブロックに「ブロック内リードアドレス」を分
配し、各ブロックのデータを読出し、「リードブロック
番号」によりバッファセレクタ417で目的とするメモ
リブロック4161〜416nのデータを選択して読出
す。「ブロック内リードアドレス」は、カウント回路で
構成され、データを読出す毎に+1する。同時に、アド
レスカウンタ411は、受信したPCIアドレスを初期
値として、データを読出す毎に+4ずつカウントし、次
のヒット判定用のアドレスを作成する。
【0058】メモリブロック4161〜416n内の全
データを読出すと、そのメモリブロックのVビットをリ
セットする。そして、「ブロック内リードアドレス」に
は、メモリブロック4161〜416nの先頭のアドレ
スをセットし、「リードブロック番号」は+1し、次の
メモリブロック4161〜416nのVビットをチェッ
クする。V=“1”の場合には転送を続け、V=“0”
なら終了する。尚、「リードブロック番号」が「最終ブ
ロック番号」と同じ場合には、「リードブロック番号」
は+1せず、「開始ブロック番号」をセットする。これ
によりメモリブロック416をサイクリックに使用す
る。データバッファが図6の構成の場合には、メモリブ
ロック4161〜416nは、#5→#6→#7→#5
→#6→#7→…の如く使用される。
【0059】(データバッファへのメモリデータの供
給)データバッファへのデータの供給動作を説明する。
メモリに対するデータの要求(メモリリクエスト)は、
リクエスト生成及びバッファ管理部415で作られ、ア
ドレス変換回路402を介してメモリに送られる。メモ
リリクエストは、1ブロック当り1リクエスト発行し、
1つのメモリリクエストに対して読出されるデータ量
は、メモリブロック4161〜416nの1つ分の客量
である。
【0060】次にメモリからのリプライデータは、ライ
ト制御回路407により、メモリブロック4161〜4
16nに書込まれる。その手順は次のとおりである。
【0061】(メモリリクエストの生成)ヒット判定部
414でミスヒット(ヒット判定用PCIアドレス≠受
信アドレス)により、Vビット=0となったメモリブロ
ック4161〜416n、又はデータを読出してVビッ
ト=0となったメモリブロックについて、メモリリクエ
ストの発行データを供給する。
【0062】次に、メモリリクエスト生成及びバッファ
管理部415は、データバッファを構成するメモリブロ
ック(「開始ブロック番号」と「最終ブロック番号」か
ら構成ブロックを解読)でVビットが0のものに対し
て、メモリリクエストを発行する。メモリリクエストす
るブロック番号は、バッファ構成メモリ413の「NE
XTリクエストブロック番号」により管理する。
【0063】メモリリクエストするブロック番号は、
「開始ブロック番号」から始まり、メモリリクエストす
る毎に+1する。「最終ブロック番号」まで来ると、次
は「開始ブロック番号」をセットし、サイクリックにリ
クエストする。リクエストアドレスは、チャネル装置6
1〜6nから受信したPCIアドレスに現在データバッ
ファに保持されているデータ数分加算したアドレスを初
期値とし、リクエスト毎にバッファのデータ数分を加算
して生成する。
【0064】メモリリクエストの形式は、図11に示す
とおりである。作成されたメモリリクエストの内容は、
図12のとおりである。
【0065】この作成したメモリリクエストは、アドレ
ス変換回路402でPCIアドレス部分をメモリアドレ
スに変換してからI/Oアダプタ装置31〜3nを介し
てメモリ装置1に送られる。
【0066】(リプライデータの書込み)メモリ装置1
1〜1nは、メモリリクエスト内の「ブリッジ装置番
号」と「メモリブロック番号」を付加して要求データを
送信する。I/Oアダプタ装置31〜3nは「ブリッジ
装置番号」により、自分の配下のブリッジ装置40のデ
ータなら受信し「メモリブロック番号」とデータとを、
そのブリッジ装置40に送信する。
【0067】ブリッジ装置40のライト制御回路407
は、受信した「メモリブロック番号」の示すメモリブロ
ック4161〜416nに、データを書込む。
【0068】(バッファ構成メモリ413の内容更新)
チャネル装置40からの転送中断、又はデータバッファ
内のデータバッファ内のデータがなくなることにより、
リード転送は終了する。転送終了時に、各制御部の値を
バッファ構成メモリ413に書き戻し、次の転送に備え
る。書き戻す内容は図13のとおりである。
【0069】次に、本発明のバッファ制御方式のメモリ
リード動作時にヒット制定部414でミスヒットした場
合の転送動作を図7を参照して説明する。データバッフ
ァは、メモリブロック4161〜416nが#5、#
6、#7の3つの構成であるとする。
【0070】チャネル装置61〜6nからアドレスをア
ドレス受信レジスタ405、メモリリードコマンドをイ
ンタフェース制御回路406に受信する(図7の)。
ブリッジ装置40は、リトライによりPCIバストラン
ザクションを一旦終了し(図7の)、メモリリクエス
トを発行し(図7の)、メモリデータをバッファへ格
納する(図7の)。リクエスト生成及びバッファ管理
部415は、この場合にデータバッファ内の全メモリブ
ロック(#5〜#7)が空であるので#5,#6,#7
で3つのメモリリクエストを発行する。
【0071】バッファにデータ格納中のトランサクショ
ンは、メモリブロック4161〜416nのVビット=
“0”のためにミスヒットするので、リトライとなる
(図7の)。このトランザクションリトライ中に、他
のチャネル装置が他のデータバッファにアクセスするこ
とは可能である。その場合も同様に判定動作を行う。
【0072】データが準備できたら、読出しを開始する
(図7の)。メモリブロック分のデータを全て読出し
終えると、リクエスト生成及びバッファ管理部415に
より、メモリリクエストが発行される(図7−)。こ
のようにしてチャネル装置61〜6nがデータ要求する
限りデータを供給し続ける。
【0073】図7の転送例では、ブリッジ装置40のデ
ータ供給速度が速いために(メモリブロック数が多いた
めにデータ供給量が多い)、チャネル装置61〜6nの
中断により転送を終了した。
【0074】次に、ブリッジ装置40のデータ供給速度
が遅い(メモリブロック数が少ないためにデータ供給量
が少ない)例を、図8を参照して説明する。これは、ブ
リッジ装置40はデータがなくなって終了するケースで
あり、この特定例でデータバッファの構成がメモリブロ
ック#5のみと仮定する場合である。ブリッジ装置40
は、転送終了時にバッファ情報RAMの中身を更新し、
次回のアクセルに備える。
【0075】中断後に、続きを行いたい場合には、チャ
ネル装置61〜6nは、前回の続きのアドレスでアクセ
スすれば、図7のの状態から転送が開始できる。チャ
ネル装置61〜6n又は他のチャネル装置が異なるアド
レスで同一データバッファにアクセスした場合にはミス
ヒットとなるので、最初からの動作を行うこととなる。
【0076】以上、本発明のバッファ制御方式の好適実
施形態例の構成及び動作を説明した。しかし、本発明は
斯る特定例のみに限定されるべきではなく、特定用途に
応じて種々の変形変更が可能であることが理解されよ
う。
【0077】
【発明の効果】上述の説明から理解される如く、本発明
のバッファ制御方式によると、他のチャネル装置が同一
のデータバッファをアクセスしない限りデータバッファ
内の未読データを廃棄しないので、未読データの廃棄に
よる効率低下の問題が解消できる。
【0078】また、データバッファの容量を可変設定で
きることにより、チャネル装置の要求データ量に合わせ
てデータフェッチが行える。これにより、各チャネル装
置の転送性能に見合ったデータ転送が可能であり、性能
の異なる複数のチャネル装置が混在するシステムでも、
この機能により、各チャネル装置毎に最適な転送が可能
であるという実用上の顕著な効果を有する。
【図面の簡単な説明】
【図1】本発明によるバッファ制御方式の好適実施形態
例の構成を示すブロック図である。
【図2】図1のバッファ制御方式のデータバッファの構
成例とバッファ構成メモリへの記述例を示す図である。
【図3】図1におけるPCIバス空間のマッピングとメ
モリアドレス空間の関係を示す図である。
【図4】図1のバッファ番号生成回路の具体的構成例を
示す図である。
【図5】図1のバッファ制御方式のメモリリード時の動
作フローチャートを示す図である。
【図6】図1のデータバッファとバッファ構成メモリの
情報の対応を示すイメージ図である。
【図7】図1のバッファ制御方式の動作例を示す図であ
る。
【図8】図1のバッファ制御方式の他の動作例を示す図
である。
【図9】本発明の実施形態におけるバッファ構成メモリ
の内容を示す図である。
【図10】図2の例3のデータバッファ設定を示す図で
ある。
【図11】本発明の実施形態におけるメモリリクエスト
の形式を示す図である。
【図12】本発明の実施形態におけるメモリリクエスト
の内容を示す図である。
【図13】本発明の実施形態におけるバッファ構成メモ
リの更新内容を示す図である。
【図14】従来のバッファ制御方式の構成を示すブロッ
ク図である。
【図15】図9の動作説明図である。
【符号の説明】
11〜1n メモリ装置 5 PCIバス 61〜6n チャネル装置 40 ブリッジ装置 401 メモリリクエスト送信レジスタ 402 アドレス変換回路 406 インタフェース制御回路 407 ライト制御回路 408 リード制御回路 413 バッファ構成メモリ 414 ヒット判定部 415 リクエスト生成及びバッファ管理
部 4161〜416n メモリブロック

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】複数のメモリ装置及びチャネル装置間の転
    送を仲介するデータバッファを有するブリッジ装置を含
    むバッファ制御方式において、 前記ブリッジ装置は、前記データバッファを構成する複
    数のメモリブロックと、前記でデータバッファの構成を
    格納するバッファ構成メモリとを有することを特徴とす
    るバッファ制御方式。
  2. 【請求項2】前記データバッファに格納されるメモリデ
    ータは、リクエスト生成及びバッファ管理部と、アドレ
    ス交換回路と、メモリリクエスト送信レジスタにより要
    求することを特徴とする請求項1に記載のバッファ制御
    方式。
  3. 【請求項3】前記データバッファ内データは、前記チャ
    ネル装置から受信したPCIアドレスと、前記バッファ
    構成メモリ内の判定用アドレスにより、ヒット判定部で
    前記チャネル装置への転送の可否を判定することを特徴
    とする請求項1又は2に記載のバッファ制御方式。
  4. 【請求項4】前記データバッファのリード/ライトは、
    リード制御回路。ライト制御回路及びバッファセレクト
    により行うことを特徴とする請求項1、2又は3に記載
    のバッファ制御方式。
  5. 【請求項5】更にインタフェース制御回路を有し、PC
    Iバス制御を行うことを特徴とする請求項1、2、3又
    は4に記載のバッファ制御方式。
  6. 【請求項6】前記バッファ構成メモリは、前記複数のメ
    モリブロックを任意に組合わせた前記データバッファの
    制御情報を格納することを特徴とする請求項1に記載の
    バッファ制御方式。
JP10326082A 1998-10-30 1998-10-30 バッファ制御方式 Pending JP2000137676A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10326082A JP2000137676A (ja) 1998-10-30 1998-10-30 バッファ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10326082A JP2000137676A (ja) 1998-10-30 1998-10-30 バッファ制御方式

Publications (1)

Publication Number Publication Date
JP2000137676A true JP2000137676A (ja) 2000-05-16

Family

ID=18183916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10326082A Pending JP2000137676A (ja) 1998-10-30 1998-10-30 バッファ制御方式

Country Status (1)

Country Link
JP (1) JP2000137676A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527877A (ja) * 2001-09-28 2005-09-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バスシステム及びバスにつなぐためのバスインターフェース
JP2013012106A (ja) * 2011-06-30 2013-01-17 Hitachi Ltd 制御システムおよび制御システムのメモリ制御方法
JP2014182822A (ja) * 2013-03-15 2014-09-29 Boeing Co 異なるタイミング要件をもつコマンドそれぞれによる異なるタイプのメモリへのアクセス

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527877A (ja) * 2001-09-28 2005-09-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バスシステム及びバスにつなぐためのバスインターフェース
JP2013012106A (ja) * 2011-06-30 2013-01-17 Hitachi Ltd 制御システムおよび制御システムのメモリ制御方法
JP2014182822A (ja) * 2013-03-15 2014-09-29 Boeing Co 異なるタイミング要件をもつコマンドそれぞれによる異なるタイプのメモリへのアクセス

Similar Documents

Publication Publication Date Title
US6073205A (en) System and method of write posting in a universal serial bus system
USRE44151E1 (en) Switching ethernet controller
US5864876A (en) DMA device with local page table
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US7085275B2 (en) Method for accessing a non-symmetric dual-slot address table and switching apparatus using same
US5907684A (en) Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US6233641B1 (en) Apparatus and method of PCI routing in a bridge configuration
JP5280135B2 (ja) データ転送装置
EP0889622B1 (en) Apparatus and method for remote buffer allocation and management for message passing between network nodes
JP2005050324A (ja) インタフェース変換システム及びその方法
US5987530A (en) Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US20060004983A1 (en) Method, system, and program for managing memory options for devices
CN115374046B (zh) 一种多处理器数据交互方法、装置、设备及存储介质
JP2004054845A (ja) データ管理装置
JP2002084311A (ja) パケット転送処理装置
JP2000137676A (ja) バッファ制御方式
US5867664A (en) Transferring messages in a parallel processing system using reception buffers addressed by pool pages in a virtual space
US6961837B2 (en) Method and apparatus for address translation pre-fetch
KR20040110540A (ko) 네트워크 전자기기의 데이터 인터페이스 장치 및 방법
JPS6145269B2 (ja)
JPH07271654A (ja) コントローラ
CN117312201B (zh) 一种数据传输方法、装置及加速器设备、主机和存储介质
US5875299A (en) disk access apparatus for performing a stride processing of data
JPH1166022A (ja) クラスタシステム
JPS59112327A (ja) リングバツフア制御方式