JP2009503640A - 非同期データバッファ - Google Patents

非同期データバッファ Download PDF

Info

Publication number
JP2009503640A
JP2009503640A JP2008522161A JP2008522161A JP2009503640A JP 2009503640 A JP2009503640 A JP 2009503640A JP 2008522161 A JP2008522161 A JP 2008522161A JP 2008522161 A JP2008522161 A JP 2008522161A JP 2009503640 A JP2009503640 A JP 2009503640A
Authority
JP
Japan
Prior art keywords
data
input
valid bit
output
memory
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.)
Withdrawn
Application number
JP2008522161A
Other languages
English (en)
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of JP2009503640A publication Critical patent/JP2009503640A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

本発明は、m個のデータ要素を2つの非同期システム間でバースト転送するための非同期データバッファに関するものである。この非同期データバッファは、データバーストのm個のデータ要素を記憶するためのデータメモリー(112)、及びm個のデータ要素に対応するm個の入力有効ビットを記憶するための有効ビットメモリー(114)を具えている。入力論理制御回路(116)はm個の入力有効ビットを生成し、これらの入力有効ビット及びm個のデータ要素の記憶を制御する。m個の入力有効ビットの記憶後に、次のデータバーストの入力有効ビットを反転させるための入力制御信号を供給する。従って、m個のデータ要素の各バースト転送後に入力有効ビットが反転され、前のバースト転送のデータ要素はすべて自動的に無効にされる。

Description

本願は、先に出願した米国特許出願第60/702053号(代理人整理番号002086US1)、発明の名称”Efficient Asynchronous Data Buffer Implementation”、2005年7月22日出願に基づいて優先権を主張する。
本発明は一般に2つのシステム間のインタフェース技術に関するものであり、特に、非同期のクロック領域(クロックドメイン)にリンクされた2つのシステム間のデータ転送用のバッファに関するものである。
単純なコンピュータにおいても、互いに通信し合う多くの異なる構成要素が異なるクロック領域にリンクされ、即ち、これらの構成要素は、異なる周波数を有する異なるクロックに同期している。例えばCPUは、ディスクドライブ(駆動装置)のようなコンピュータの他の構成要素より大幅に高い周波数で動作している。2つの構成要素またはシステムが異なるクロック領域にリンクされている際に、これらの間のデータ通信は同期または非同期のいずれかで実現される。同期データ転送では、2つのシステムのクロックが第3のクロック領域に同期される。しかし、同期データ転送におけるクロック領域の強度なリンクは、高性能通信リンクの設計に制約を与える。非同期データ転送は、クロック領域の強度なリンクをなくすことによってより大きな設計の柔軟性(フレキシビリティ)を提供する。
米国特許第6516420号明細書 米国特許出願公開第2003/0074593号明細書
不都合なことに、非同期インタフェースは、データ同期のための特別なレイテンシ、及びデータ転送中のデータ破壊の確率の増加のような欠点も有する。データ破壊は、非同期インタフェース上の準安定性に起因して発生する。最先端の概念は2段同期装置(シンクロナイザ)及び2段階ハンドシェイク法である。しかし、これらの概念は性能と信頼性との間に不所望なトレードオフがあるか、あるいは、システムの複雑性を大幅に増加させる複雑な同期論理回路を使用する。近年の技術はデータ有効ビットを用いて準安定条件のリスクを低減している。米国特許第6516420号明細書では、Audityan他が有効ビットを用いて個々のデータ要素を同期させることを教示し、これらの有効ビットは、データサンプラ(データサンプリング器)を用いて各処理が行われた後にリセットされる。しかし、有効ビットをリセットすることは効率及びデータ・スループット(データ処理量)を大幅に制限する、というのは、有効ビットをリセットして初めてデータバッファ記憶域が利用可能になるからである。Carpenter他が米国特許出願公開第2003/0074593号明細書において教示している、一旦使用した有効ビットのクリーニングを必要とする方法にも同じ問題が生じる。
より効率的でより高いデータ・スループットを有する非同期データバッファを提供することが望まれる。
従って、本発明の目的は、レイテンシを大幅に低減することによって、より効率的でより高いデータ・スループットを有する非同期データバッファを提供することにある。
本発明の目的はさらに、有効ビットのリセットまたはクリーニングを必要としない非同期データバッファを提供することにある。
本発明によれば、m個のデータ要素を2つの非同期システム間でバースト転送するための非同期データバッファを提供することにある。この非同期データバッファは、送信システムからのデータバーストのm個のデータ要素を受信するためのデータ入力ポート、及びこのデータ入力ポートと通信してこれらm個のデータ要素を記憶するデータメモリーを具え、各データ要素は所定アドレス位置に記憶される。有効ビットメモリーには、m個の入力有効ビットが記憶され、各入力有効ビットは、それぞれのデータ要素の所定アドレス位置に対応する所定アドレス位置に記憶される。これらのデータメモリー及び有効ビットメモリーと制御通信する入力制御論理回路はこれらのアドレス位置を決定し、m個の有効ビットを生成し、そして入力有効ビットを次のデータバースト用に反転させるための入力制御信号を供給する。出力制御論理回路は、上記データメモリー、上記有効ビットメモリー、及び有効ビット出力ポートと通信して、上記m個のデータ要素の読出し、及びこれらのデータ要素の受信システムへの供給を制御し、上記m個の入力有効ビット及び出力制御信号に基づいてm個の出力有効ビットを生成し、これらm個の出力有効ビットは受信システムに供給され、そして、上記データメモリー及び上記有効ビットメモリーと制御通信する制御論理回路を反転させる。
以下、本発明の好適な実施例について図面を参照しながら説明する。
本発明は種々の変形及び代案の形態にすることができるが、その詳細を例として図に示して詳細に説明する。しかし、その意図は本発明を以下に説明する特定実施例に限定することにはない。逆に、その意図は、請求項に記載する本発明の範囲内に入るすべての変形、等価なもの、及び代案をカバーすることにある。
本発明による非同期データバッファ及びその動作のより良い理解を提供するために、非同期データバッファの実施例を用いた2つのシステム間の通信を、以下に図1を参照しながら説明する。2つの異なるクロック領域、即ちそれぞれクロック信号clk_A及びclk_Bにリンクされた送信システムAと受信システムBとの間のデータ転送中のデータ損失を回避するために、ハンドシェイク・プロトコルを実現する。送信システムAが受信システムBにデータを送信し始める前に、受信システムBはデータ、必ずしもすべてのデータが失われないならば少なくともデータの一部分を受信する用意ができている必要がある。図1に示すように、送信システムAはハンドシェイク信号hs_Aを送信することによってデータ転送を要求し、そして、受信システムBがハンドシェイク信号sh_Bを送信システムAに送信することによってデータを受信する用意ができていることを確認応答(アクノレッジ)するまで待機する。これら2つのシステム間のデータ・スループットを増加させるためにバースト転送を使用し、即ち、個々のデータ要素毎にハンドシェイクを実行する代わりに、データ転送が受信システムBによって確認応答されると複数のデータ要素を送信する。この場合には、受信システムBは、ハンドシェイク信号hs_Bを送信する際に、m個のnビットデータ要素を受信する用意ができていることを確認応答する。送信システムAのクロック領域clk_Aが受信システムBのクロック領域clk_Bより高い周波数を有する際の、例えばCPUとディスクドライブのような周辺装置との間のデータ転送におけるデータ損失を防止するために、非同期データバッファ100を送信システムAと受信システムBとの間に挿入する。受信システムBがデータを受信する用意ができていることを確認応答した後に、送信システムAは、m個のデータ要素の各々についてライトイネーブル(書込み許可)信号WE及び出力dout[n]上のデータ要素を送信することによって、m個のデータ要素をデータバッファ100に転送して記憶させる。バースト転送当りのデータ要素数mの増加に伴うバースト転送のレイテンシの増加を回避するために、送信システムAと受信システムBとは同時にデータバッファ100にアクセスする必要があり、即ち、受信システムBは、送信システムAがm個のデータ要素をデータバッファ100のメモリーに完全に書き込むまでデータ要素の読出しを待たない。しかし、異なるクロック領域にリンクされた2つのシステムは同じメモリー上で動作するので、準安定性の問題によりデータ破壊が発生しやすい。この問題は、データ要素がデータバッファのメモリーに記憶される毎に、記憶されたデータ要素が、ハンドシェイク信号ha_A及びhs_Bによって確認応答された現在のm個のデータ要素のバースト転送に属することを受信システムBに示す有効ビットを生成することによって克服される。
図2に、本発明による非同期データバッファ100の実施例のブロック図を示す。データバッファ100は、送信システムAに接続される入力ポート102及びライトイネーブル入力ポート104、及び受信システムBに接続されるデータ出力ポート106、リードイネーブル(読出し許可)入力ポート108、及び有効ビット出力ポート110を具えている。図2に縦の点線で示すように、データバッファ100は2つの部分を具え、即ち:送信システムAに接続される、従ってクロック領域clk_Aにリンクされる左側のデータ入力部分、及び受信システムBに接続される、従ってクロック領域clk_Bにリンクされる右側のデータ出力部分を具えている。データ入力ポート102はデータメモリー112のデータ入力ポートDに接続され、データメモリー112は、各nビットのm個のデータ要素用の記憶空間、即ちシステムAとシステムBとの間のバースト転送に最大あり得るサイズを有するRAMであることが好ましい。ライトイネーブル入力ポート104は、データメモリー112のライトイネーブル入力ポートWE、有効ビットメモリー114のライトイネーブル入力ポートWE、及び入力制御論理回路116に接続され、有効ビットメモリー114はmビットのRAMであることが好ましい。入力制御論理回路116は、データメモリー112のアドレス入力ポートA及び有効ビットメモリー114のアドレス入力ポートAに接続されて、これらに論理信号を供給する。
実施例では、入力制御論理回路116が、バイナリ(2進)アドレスカウンタのような入力カウンタ118及び有効ビット発生器を具え、有効ビット発生器は入力トグル・フリップフロップ120と入力XOR(排他的論理和)ゲート112との組合せである。入力カウンタ118は、ライトイネーブル入力ポート104に接続されたE入力ポート、メモリー112及び114のそれぞれのアドレス入力ポートAに接続されたQ出力ポート、及び入力トグル・フリップフロップ120の入力ポートEに接続されたC出力ポートを具えている。入力XORゲート122は、それぞれライトイネーブル入力ポート104及び入力トグル・フリップフロップ120のE入力ポートに接続された第1及び第2入力ポート、及び有効ビットメモリー114のデータ入力ポートDに接続された出力ポートを具えている。
動作中には、ライトイネーブル信号WEを受信すると、データ要素のメモリー112への書込みがこれに続き、カウンタ118は第1入力論理信号(の値)を増加させ、この第1入力論理信号をメモリー112の入力ポートに送信することによってメモリー112内の次の空き位置をアドレス指定する。同時に、入力有効ビット、即ちバイナリ(2進数)0または1が、XORゲート122において、入力トグル・フリップフロップ120から受信した論理信号及びライトイネーブル信号WEに基づいて生成され、そして入力有効ビットは有効ビットメモリー114に記憶され、そのアドレス位置は、第1入力論理信号によって制御されるデータ要素のアドレス位置に対応する。ライトイネーブル信号WEが常に同じ、好適にはバイナリ信号0または1であり、入力トグル・フリップフロップ120が同じ、好適にはバイナリ信号0または1を生成すれば、第3入力論理信号を入力カウンタ118から受信するまで、同じ入力有効ビットが生成される。m個のデータ要素に対応するm個のライトイネーブル信号を受信した後に、入力カウンタ118はループバックして(一巡して元の値に戻って)、第3入力論理信号を入力トグル・フリップフロップ120に送信する。第3入力論理信号の受信時に、入力トグル・フリップフロップ120は反転された第2入力論理信号を生成し、この信号はXORゲート122に反転された有効ビットを生成させ、即ち有効ビットをバイナリ0からバイナリ1、またはその逆に変化させる。従って、m個のデータ要素の各バースト転送後に入力有効ビットが自動的に反転され、前のバースト転送のデータ要素をすべて無効にする。
データバッファ100のデータ出力部分は、有効ビット同期回路123、有効ビット・マルチプレクサ(多重器)124、出力データ・マルチプレクサ125、及び出力制御論理回路126を具えている。有効ビット同期回路123は、有効ビットメモリー114のデータ出力ポートQ及び有効ビット・マルチプレクサ124のデータ入力ポートに接続され、本実施例ではm個の並列な2段同期装置synch[1]〜synch[m]、即ち、m個のデータ要素に対応するm個の入力有効ビット毎に1つの同期装置を具え、各2段同期装置は直列に接続された2つのフリップフロップ123A及び123Bを具え、第1フリップフロップ123Aは送信システムAのクロック領域clk_Aにリンクされ、第2フリップフロップ123Bは受信システムBのクロック領域clk_Bにリンクされている。動作中には、有効ビット同期回路123は入力有効ビットを受信システムBのクロック領域clk_Bにリンクさせる。有効ビット・マルチプレクサ124のデータ入力ポートは有効ビット同期回路123に接続され、そのデータ出力ポート及び制御論理入力ポートは出力制御論理回路126に接続されている。出力制御論理回路126から受信した第1出力論理信号に応じて、有効ビット・マルチプレクサ124は入力有効ビットを、m個の同期装置synch[1]〜synch[m]のうちの1つから転送する。出力データ・マルチプレクサ125のデータ入力ポートはデータメモリー112のデータ出力ポートQに接続され、出力データ・マルチプレクサ125のデータ出力ポートはデータ出力ポート106に接続され、その制御論理入力ポートは出力制御論理回路126に接続されている。出力論理制御回路126から受信した第1出力論理信号に応じて、出力データ・マルチプレクサ125は、データメモリー112内の対応するアドレス位置からのm個のデータ要素のうちの1つを転送する。
本実施例では、出力制御論理回路126は入力制御論理回路116と同様の構造のものであり、バイナリアドレスカウンタのような出力カウンタ128、及び出力トグル・フリップフロップ130と出力XORゲート132との組合せを具えている。出力カウンタ128は、リードイネーブル入力ポート108に接続されたE入力ポート、マルチプレクサ124及び125のそれぞれの制御論理入力ポートに接続されたQ出力ポート、及び出力トグル・フリップフロップ130のE入力ポートに接続されたC出力ポートを具えている。出力XORゲート132は、それぞれ有効ビット・マルチプレクサ124のデータ出力ポート及び出力トグル・フリップフロップ130のQ出力ポートに接続された第1及び第2入力ポート、及び有効ビット出力ポート110に接続された出力ポートを具えている。
動作中には、リードイネーブル信号REを受信すると、従ってデータ要素をメモリー112から読み出す際に、出力カウンタ128が第1出力論理信号(の値)を増加させ、この第1出力論理信号をデータ・マルチプレクサ125の制御論理入力ポートに送信することによってメモリー112内の次の位置をアドレス指定する。同時に、出力有効ビット、即ちバイナリ0または1が、XORゲート132において、出力トグル・フリップフロップ130から受信した第2出力論理信号及び有効ビット・マルチプレクサ124から受信した入力有効ビットに基づいて生成され、そして出力有効ビットは有効ビット出力ポート110に転送され、入力有効ビットの供給は、有効ビット・マルチプレクサ124に供給される第1出力論理信号によって制御される。入力有効ビットがバースト転送のm個のデータ要素について同じであり、出力トグル・フリップフロップ130が同じ、好適にはバイナリ信号0または1を生成すれば、第3出力論理信号を出力カウンタ128から受信するまで、同じ出力有効データが生成される。m個のデータ要素に対応するm個のリードイネーブル信号REを受信した後に、出力カウンタ128はループバックして、第3出力論理信号を出力トグル・フリップフロップ130に送信する。第3出力論理信号の受信時に、出力トグル・フリップフロップ130は反転された第2出力論理信号を生成する。反転された入力有効ビット及び反転された出力論理信号を受信して、出力XOR132は次のバースト転送において同じ出力有効ビットを生成して受信システムBに供給する。従って、本発明によるデータバッファ100は、m個のデータ要素の各バースト転送後に、入力有効ビットを内部的かつ自動的に反転させ、前のバースト転送のデータ要素をすべて無効にするが、同じ出力有効ビットを受信システムBに供給する。
図3に、本発明による非同期データバッファを用いてm個のデータ要素をバースト転送する方法の簡略化した流れ図を示す。以下では、本発明の方法を、非同期データバッファの入力部分及び出力部分に関係する2つの部分に分けて説明する。図3の流れ図に示すように、バースト転送の最初のデータ要素がデータメモリーに記憶されたことを示す最初の有効ビットを一旦検出すると、これら2つの部分は同時に実行される。
ボックス10では、最初のライトイネーブル信号WE、及びバースト転送のm個のデータ要素の最初のものを送信システムAから受信する。そしてボックス12では、この最初のデータ要素がデータメモリー112内の最初のアドレス位置に記憶される。ボックス114では、最初のライトイネーブル信号WE及び入力制御信号を用いて、最初の入力有効ビットが生成され、有効ビットメモリー114の最初のアドレス位置に記憶される。ボックス16では、このライトイネーブル信号WEをさらに用いてアドレス位置を増加させる。そしてボックス18では、ボックス10〜16で示す以上のステップを、m番目のライトイネーブル信号WE及びm番目のデータ要素を受信するまで繰り返す。ボックス20では、m番目のデータ要素がデータメモリー112内のm番目のアドレス位置に記憶される。ボックス22では、m番目のライトイネーブル信号WE及び入力制御信号を用いてm番目の入力有効ビットが生成され、有効ビットメモリー114内のm番目のアドレス位置に記憶される。最後に、ボックス24では、m番目のライトイネーブル信号WEを用いて最初のアドレス位置にループバックして(戻って)入力制御信号を反転させ、次のバースト転送用に反転された入力有効ビットを生成する。
ボックス30では、最初のリードイネーブル信号REを受信システムBから受信する。そしてボックス32では、有効ビットメモリー114の最初のアドレス位置から最初の入力有効ビットを取り出す。ボックス34では、このステップに続いて、この最初の入力有効ビット及び出力制御信号を用いて最初の出力有効ビットを生成して受信システムBに供給する。ボックス36では、最初の出力有効ビットを確認すると、データメモリー112内の最初のアドレス位置から最初のデータ要素を取り出して受信システムBに供給する。ボックス38では、最初のリードイネーブル信号REを用いてアドレス位置を増加させる。そしてボックス40では、ボックス30〜38で示す以上のステップを、m番目のリードイネーブル信号REを受信するまで繰り返す。そしてボックス42では、有効ビットメモリー114内のm番目のアドレス位置からm番目の入力有効ビットを取り出す。ボックス44では、このステップに続いて、m番目の入力有効ビット及び出力制御信号を用いてm番目の出力有効ビットを生成して受信システムBに供給する。ボックス46では、m番目の出力有効ビットを確認すると、データメモリー112内のm番目のアドレス位置からm番目のデータ要素を取り出して受信システムBに供給する。最後に、ボックス48では、m番目のリードイネーブル信号REを用いて最初のアドレス位置にループバックして出力制御信号を反転させ、次のバースト転送中に、反転された入力有効ビットと共に処理される際と同じ出力有効ビットを生成する。
非同期データバッファ100は、2つの非同期システム間のバースト転送のデータ要素を、各バースト転送後に反転させた有効ビットで個別に同期させることによって非常に有利になる。従って、非同期データバッファ100は、有効ビットのクリーニングまたはリセットの必要性をなくすことによってレイテンシを大幅に低減しつつ、準安定問題のリスクを大幅に低減した、送信システム並びに受信システムによる同時アクセスを可能にする。さらに、非同期データバッファ100は、ゲートカウント数が低く、入力制御論理回路116と出力制御論理回路126とのほぼ同じ設計である単純な設計によって容易に実現され、設計及び製造コストを大幅に低減する。すべての構成要素が単一の半導体チップ上に集積されることが好ましく、このことは、ほぼ同じ製造ステップを必要とする同一設計の構成要素を入力制御論理回路116及び出力制御論理回路126に用いることによって促進される。随意的に、非同期データバッファ100はシステムA及びBの一方と共に単一の半導体チップ上に集積される。例えば、非同期データバッファ100は、2つの非同期システム間のバースト転送を可能にするシステムバスの実現において非常に有用である。バースト転送についてのシステム要求を知れば、記憶媒体上に記憶された上述した事項に基づくコマンドを実行することによって、コンピュータ上の非同期データバッファ100を設計することが可能である。
本発明による非同期データバッファ100の実現を実施例を用いて例示してきたが、こうした実現はこの実施例に限定されないことは明らかである。入力有効ビットの反転を実現し、同じ有効ビットを生成するための多くの可能性が存在する。非同期データバッファ100の論理回路は、実施例と組み合わせて開示したバイナリ0及び1以外の論理信号を入力及び出力有効ビットとして生成するように容易に構成することができる。随意的に、非同期データバッファ100の論理回路は、1つのライトイネーブル及び/またはリードイネーブル信号を受信して、例えばクロック信号clk_A及びclk_Bによって制御されるm個のデータ要素を連続的に書込み及び/または読出しするように構成することができる。さらに、図2に示す実現は、クロックパルスの立上りエッジによってトリガされるエッジトリガの論理構成要素を具えているが、クロックパルスの立下りエッジを用いることも可能であることは明らかである。
請求項に規定する本発明の範囲を逸脱しない本発明の他の多くの実施例が、当業者にとって明らかである。
本発明による非同期データバッファを用いた2つの非同期システム間の通信を示す簡略化したブロック図である。 本発明による非同期データバッファの実施例を示す簡略化したブロック図である。 本発明による非同期データバッファを用いたデータ転送を示す簡略化した流れ図である。

Claims (11)

  1. m個のデータ要素を2つの非同期システム間でバースト転送する方法において、
    a)データバーストの前記m個のデータ要素の第1データ要素を送信システムから受信するステップと;
    b)前記第1データ要素をデータメモリー内の第1アドレス位置に記憶するステップと;
    c)第1入力有効ビットを生成して有効ビットメモリー内の第1アドレス位置に記憶するステップと;
    d)前記データ要素を記憶するアドレス位置及び前記入力有効ビットを記憶するアドレス位置を増加させるステップと;
    e)m番目の前記データ要素及びm番目の前記入力有効ビットを記憶するまで、ステップa)からステップd)までを反復するステップと;
    f)前記第1アドレス位置にループバックして、前記入力有効ビットを次のデータバースト用に反転させるための入力制御信号を供給するステップと;
    g)前記有効ビットメモリー内の前記第1アドレス位置から前記第1入力有効ビットを読み出すステップと;
    h)前記第1入力有効ビット及び出力制御信号に基づいて第1出力有効ビットを生成するステップと;
    i)前記データメモリーの前記第1アドレス位置から前記第1データ要素を読み出して前記受信システムに供給するステップと;
    j)前記入力有効ビットを読み出すアドレス位置及び前記データ要素を読み出すアドレス位置を増加させるステップと;
    k)m番目の前記データ要素を読み出して前記受信システムに供給するまで、ステップg)からステップk)までを反復するステップと;
    l)前記第1アドレス位置にループバックして、前記出力制御信号を次のデータバースト用に反転させるステップと
    を具えていることを特徴とする非同期システム間のバースト転送方法。
  2. ステップg)からステップl)までの少なくとも一部分を、ステップe)と同時に実行することを特徴とする請求項1に記載の非同期システム間のバースト転送方法。
  3. m個のデータ要素を2つの非同期システム間でバースト転送するための非同期データバッファにおいて、
    データバーストのm個のデータ要素を送信システムから受信するためのデータ入力ポートと;
    前記データ入力ポートと通信して、前記m個のデータ要素の各々を所定アドレス位置に記憶するデータメモリーと;
    m個の入力有効ビットの各々を、前記データ要素のそれぞれの前記所定アドレス位置に対応する所定アドレス位置に記憶する有効ビットメモリーと;
    前記データメモリー及び前記有効ビットメモリーと制御通信して、前記データ要素の前記所定アドレス位置及び前記入力有効ビットの前記所定アドレス位置を決定し、前記m個の入力有効ビットを生成し、次のデータバースト用に前記入力有効ビットを反転させるための入力制御信号を供給する入力制御論理回路と;
    前記データメモリー、前記有効ビットメモリー、及び有効ビット出力ポートと通信して、前記m個のデータ要素の読出し及び受信システムへの供給を制御し、前記m個の入力有効ビット及び出力制御信号に基づいて、前記受信システムに供給されるm個の出力有効ビットを生成し、前記出力制御信号を次のデータバースト用に反転させる出力制御論理回路と;
    前記データメモリーと通信して、前記m個のデータ要素を前記受信システムに供給するためのデータ出力ポートと
    を具えていることを特徴とする非同期データバッファ。
  4. 前記有効ビットメモリー、前記データメモリー、及び前記入力制御論理回路と通信し、前記送信システムからのライトイネーブル信号を受信するためのライトイネーブル入力ポートを具えていることを特徴とする請求項3に記載の非同期データバッファ。
  5. 前記入力制御論理回路が、前記ライトイネーブル入力ポート、前記有効ビットメモリー、及び前記データメモリーと通信する入力カウンタを具え、該入力カウンタは、前記ライトイネーブル信号に応じて前記データ要素の前記所定アドレス位置及び前記入力有効ビットの前記所定アドレス位置を決定し、前記入力制御信号を供給することを特徴とする請求項4に記載の非同期データバッファ。
  6. 前記入力制御論理回路が、前記ライトイネーブル入力ポート、前記有効ビットメモリー、及び前記入力カウンタと通信する入力有効ビット発生器を具え、該入力有効ビット発生器は、前記ライトイネーブル信号及び前記入力制御信号に応じて前記m個の入力有効ビットを生成することを特徴とする請求項5に記載の非同期データバッファ。
  7. 前記有効ビットメモリー及び前記出力制御論理回路と通信し、前記出力制御論理回路から受信した第2制御信号に応じて前記m個の入力有効ビットを送信する有効ビット・マルチプレクサを具えていることを特徴とする請求項3〜6のいずれかに記載の非同期データバッファ。
  8. 前記出力制御論理回路と通信し、前記受信システムからのリードイネーブル信号を受信するためのリードイネーブル入力ポートを具えていることを特徴とする請求項3〜7のいずれかに記載の非同期データバッファ。
  9. 前記出力制御論理回路が、前記リードイネーブルポート、前記有効ビット・マルチプレクサ、及びデータ・マルチプレクサと通信する出力カウンタを具え、該出力カウンタは、前記リードイネーブル信号に応じて、前記m個の入力有効ビットの前記所定アドレス位置及び前記m個のデータ要素の前記所定アドレス位置を決定し、前記出力制御信号を供給することを特徴とする請求項8に記載の非同期データバッファ。
  10. 前記出力制御論理回路が、前記有効ビット・マルチプレクサ、前記出力カウンタ、及び前記有効ビット出力ポートと通信する出力有効ビット発生器を具え、該出力有効ビット発生器は、前記m個の入力有効ビット及び前記出力制御信号に応じて前記m個の出力有効ビットを生成することを特徴とする請求項9に記載の非同期データバッファ。
  11. 内部にデータを記憶する記憶媒体であって、前記データが、実行時に、m個のデータ要素を2つの非同期システム間でバースト転送するための非同期データバッファの集積回路設計を生成する記憶媒体において、前記データバッファが、
    送信システムからのデータバーストのm個のデータ要素を受信するためのデータ入力ポートと;
    前記データ入力ポートと通信して、前記m個のデータ要素の各々を所定アドレス位置に記憶するデータメモリーと;
    m個の入力有効ビットの各々を、前記データ要素のそれぞれの前記所定アドレス位置に対応する所定アドレス位置に記憶する有効ビットメモリーと;
    前記データメモリー及び前記有効ビットメモリーと制御通信して、前記データ要素の前記所定アドレス位置及び前記入力有効ビットの前記所定アドレス位置を決定し、前記m個の入力有効ビットを生成し、次のデータバースト用に前記入力有効ビットを反転させるための入力制御信号を供給する入力制御論理回路と;
    前記データメモリー、前記有効ビットメモリー、及び有効ビット出力ポートと通信して、前記m個のデータ要素の読出し及び受信システムへの供給を制御し、前記m個の入力有効ビット及び出力制御信号に基づいて、前記受信システムに供給されるm個の出力有効ビットを生成し、前記出力制御信号を次のデータバースト用に反転させる出力制御論理回路と;
    前記データメモリーと通信して、前記m個のデータ要素を前記受信システムに供給するためのデータ出力ポートと
    を具えていることを特徴とする記憶装置。
JP2008522161A 2005-07-22 2006-07-21 非同期データバッファ Withdrawn JP2009503640A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US70205305P 2005-07-22 2005-07-22
US73545605P 2005-11-10 2005-11-10
PCT/IB2006/052514 WO2007010502A1 (en) 2005-07-22 2006-07-21 Asynchronous data buffer

Publications (1)

Publication Number Publication Date
JP2009503640A true JP2009503640A (ja) 2009-01-29

Family

ID=37451210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008522161A Withdrawn JP2009503640A (ja) 2005-07-22 2006-07-21 非同期データバッファ

Country Status (6)

Country Link
US (1) US7899955B2 (ja)
EP (1) EP1911188B1 (ja)
JP (1) JP2009503640A (ja)
CN (1) CN101228733B (ja)
AT (1) ATE529966T1 (ja)
WO (1) WO2007010502A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205110B2 (en) * 2008-11-03 2012-06-19 Oracle America, Inc. Synchronous operation of a system with asynchronous clock domains
CN102207919A (zh) * 2010-03-30 2011-10-05 国际商业机器公司 加速数据传输的处理单元、芯片、计算设备和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084837A (en) * 1988-01-22 1992-01-28 Sharp Kabushiki Kaisha Fifo buffer with folded data transmission path permitting selective bypass of storage
US5781802A (en) * 1995-02-03 1998-07-14 Vlsi Technology, Inc. First-in-first-out (FIFO) controller for buffering data between systems which are asynchronous and free of false flags and internal metastability
US5898893A (en) * 1995-10-10 1999-04-27 Xilinx, Inc. Fifo memory system and method for controlling
US5884099A (en) * 1996-05-31 1999-03-16 Sun Microsystems, Inc. Control circuit for a buffer memory to transfer data between systems operating at different speeds
US5956748A (en) * 1997-01-30 1999-09-21 Xilinx, Inc. Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization
US6058439A (en) * 1997-03-31 2000-05-02 Arm Limited Asynchronous first-in-first-out buffer circuit burst mode control
JP3545908B2 (ja) * 1997-06-25 2004-07-21 株式会社リコー データ処理装置
US6055285A (en) * 1997-11-17 2000-04-25 Qlogic Corporation Synchronization circuit for transferring pointer between two asynchronous circuits
US6141691A (en) * 1998-04-03 2000-10-31 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
US6516420B1 (en) * 1999-10-25 2003-02-04 Motorola, Inc. Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
US6519688B1 (en) * 2000-09-29 2003-02-11 S3 Incorporated Read data valid loop-back for high speed synchronized DRAM controller
US6880050B1 (en) * 2000-10-30 2005-04-12 Lsi Logic Corporation Storage device, system and method which can use tag bits to synchronize queuing between two clock domains, and detect valid entries within the storage device
US6931561B2 (en) * 2001-10-16 2005-08-16 International Business Machines Corporation Apparatus and method for asynchronously interfacing high-speed clock domain and low-speed clock domain using a plurality of storage and multiplexer components
JP4095317B2 (ja) * 2002-03-14 2008-06-04 富士通株式会社 非同期式半導体記憶装置、非同期式半導体記憶装置の内部制御方法及びシステム

Also Published As

Publication number Publication date
ATE529966T1 (de) 2011-11-15
WO2007010502A1 (en) 2007-01-25
CN101228733B (zh) 2011-10-12
US20080201499A1 (en) 2008-08-21
CN101228733A (zh) 2008-07-23
EP1911188A1 (en) 2008-04-16
EP1911188B1 (en) 2011-10-19
US7899955B2 (en) 2011-03-01

Similar Documents

Publication Publication Date Title
US7555590B2 (en) Fast buffer pointer across clock domains
US6055285A (en) Synchronization circuit for transferring pointer between two asynchronous circuits
JP2000099193A (ja) 同期装置および同期方法ならびにインタフェ―ス回路
US6424688B1 (en) Method to transfer data in a system with multiple clock domains using clock skipping techniques
JP2005071354A (ja) ストローブ信号に対して整合されたクロックを使用するデータ信号受信ラッチ制御
US7454538B2 (en) Latency insensitive FIFO signaling protocol
JP3645584B2 (ja) データ転送同期装置
US9620196B2 (en) Reception circuit, method for adjusting timing in reception circuit, and semiconductor device
US5539739A (en) Asynchronous interface between parallel processor nodes
EP2628157A1 (en) Memory subsystem for counter-based and other applications
KR100933667B1 (ko) 버스 반전 기술을 적용한 반도체 메모리 장치
US6546451B1 (en) Method and apparatus for decoupling processor speed from memory subsystem speed in a node controller
JP2009503640A (ja) 非同期データバッファ
US6640277B1 (en) Input staging logic for latching source synchronous data
US7529960B2 (en) Apparatus, system and method for generating self-generated strobe signal for peripheral device
US6952791B2 (en) Method and circuit for initializing a de-skewing buffer in a clock forwarded system
US10680963B2 (en) Circuit and method for credit-based flow control
US20080183948A1 (en) Flash memory system with higher data transmission rate and method thereof
JP3475857B2 (ja) ソースシンクロナス転送方式
US20120246367A1 (en) Memory system, memory controller, and synchronizing apparatus
JP2000163959A (ja) 半導体記憶装置
US8707080B1 (en) Simple circular asynchronous clock domain crossing technique for digital data
US20230377618A1 (en) Circuit for synchronization for an interconnection protocol, controller and storage device
JP3562416B2 (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
JP5315882B2 (ja) 半導体装置及び通信方法

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090929