JPH11175313A - デュアルポートバッファ - Google Patents

デュアルポートバッファ

Info

Publication number
JPH11175313A
JPH11175313A JP10278224A JP27822498A JPH11175313A JP H11175313 A JPH11175313 A JP H11175313A JP 10278224 A JP10278224 A JP 10278224A JP 27822498 A JP27822498 A JP 27822498A JP H11175313 A JPH11175313 A JP H11175313A
Authority
JP
Japan
Prior art keywords
signal
data
timing signal
circuit
control
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
JP10278224A
Other languages
English (en)
Other versions
JPH11175313A5 (ja
Inventor
Robert Warren
ロバート、ウォーレン
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.)
STMicroelectronics Ltd Great Britain
Original Assignee
STMicroelectronics Ltd Great Britain
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 STMicroelectronics Ltd Great Britain filed Critical STMicroelectronics Ltd Great Britain
Publication of JPH11175313A publication Critical patent/JPH11175313A/ja
Publication of JPH11175313A5 publication Critical patent/JPH11175313A5/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06—Methods 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/10—Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 【課題】 クロック境界の間でデータおよび制御情報を
転送するための、必要な回路を最少にし、かつ占有チッ
プ面積を最小にする回路および方法を得ることである。 【解決の手段】 第1のタイミング環境から第2のタイ
ミング環境へ情報を転送するための回路を説明する。こ
の回路は、第1のタイミング信号に応答する第1のポー
トおよび第2のタイミング信号に応答する第2のポート
を有するデュアルポートRAMと、第1のタイミング信
号に応答して、第1のポートを介するデュアルポートR
AMへのデータの格納を制御し、データがデュアルポー
トRAMに格納されたことを示す制御信号を発生する第
1の制御回路とを備える。この回路は制御信号を第2の
タイミング信号に同期させるための同期器と、第2の制
御回路とをも備える。第2の制御回路は、第2のタイミ
ング信号と同期させられた制御信号とに応答して、デュ
アルポートRAMの第2のポートを介する格納されてい
るデータの検索を制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異なるクロック環
境の間のクロック境界を横切って情報を転送するための
回路に関するものであり、とくにデュアルポートRAM
を用いた回路に関するものである。
【0002】
【従来の技術】1チップ集積回路、とくに同期設計技術
を用いて設計された集積回路、では2つ以上のクロック
が求められるような多くの用途がある。任意の1つのク
ロック環境から他の任意のクロック環境まで通る任意の
制御信号またはデータ信号について考慮しなければなら
ない。
【0003】第1のクロック環境から、第2のクロック
環境においてクロックされる記憶素子またはラッチの入
力端子に到達するデータまたは制御信号の1ビットにつ
いて考える。データまたは制御信号の1ビットの変化の
タイミング(そのタイミングは第1のクロック環境によ
って決定される)に応じて、データまたは制御信号の1
ビットが第2のクロック環境のクロックされる記憶素子
に記憶される、すなわち「捕らえられる」かどうかにつ
いては3つの可能性が存在する。その3つとは次の通り
である。 i) 第2のタイミング環境の大きなクロックエッ
ジより充分前にデータが変化するものとすると、第2の
タイミング環境のクロックエッジの少し後でデータは捕
らえられてラッチに転送される。 ii) 第2のタイミング環境の大きなクロックエッ
ジの直後にデータが変化するものとすると、第2のタイ
ミング環境の次のクロックエッジまでラッチ出力の変化
はない。 iii) 第2のタイミング環境の大きなクロックエッ
ジの近くでデータが変化するものとすると、データはそ
のクロックエッジで捕らえられ、クロック縁部の少し後
でラッチ出力端子に転送され、または、第2のタイミン
グ環境の次のクロックエッジの後までラッチ出力が変化
しなければデータは捕らえられないことがある。更に、
データが確実には捕らえられず、第2のタイミング環境
のクロックエッジの後の不確定な時刻に出力が変化しや
すいような「準安定(metastable)」状態に
ラッチが入る有限の確率がある。
【0004】(iii)で述べた準安定状態にラッチが
入らないとすると、出力が変化するまでの遅延は、クロ
ック周波数とラッチの設計とに応じて1クロックサイク
ルより長いことがある。これは、ラッチの出力が不確定
であること、設計における引き続くラッチからの出力も
不確定で有り得ること、および全体のチップの集合的な
状態が急速に不確定になることを意味する。
【0005】準安定というのは意思決定の基本原理であ
るから、どのような技術を用いようとも準安定の影響は
完全に除去することは決してできない。しかし、合理的
な設計技術によれば、準安定が望ましくないやり方で伝
わる確率を許容レベルまで低下できる。そのような許容
レベルは1年に1回の障害という確率から1世紀内の製
品の全体の寿命に1回(one failure in
an entireproduct range i
n a century)の障害まで及ぶことがある。
これは、2つのクロックの間に関係がない場合には一層
重要であり、相互に非同期であるといわれる。2つのク
ロックが公称同じ周波数で動いているとしても、独立し
ているが、周波数についての許容誤差が小さいクロック
源から得られたものであれば、クロックは相互にドリフ
トする傾向を持つ。
【0006】情報の1ビットをクロック環境の間で通す
ための既知の技術は、準安定の効果を最小にするために
構成され、同期器として一般に知られている特殊なラッ
チを使用することである。伝播させられる準安定の許容
できる確率に対する時間周期が1クロックサイクルより
長いとすると、最後の同期器の出力が許容できる障害確
率を持つように同期器が直列接続される。
【0007】制御情報をクロック環境の間で送るための
技術は多数ある。その技術の選択は環境のクロック周波
数の範囲に依存する。同期を取るためのコストは制御情
報を通す際の遅延、または待ち時間と、含まれている同
期器の数とで測定される。通常は、クロック環境の境界
を横切って通過する制御信号の数は最少化される。
【0008】同期器を介して通過する信号の数を最少化
するために、ほんのわずかな制御信号が同期器を通り、
残りの制御信号はデータとして処理される。データと同
じ向きにクロック境界を通る典型的な制御信号はデータ
が安定していることを示し、逆向きに通る典型的な制御
信号はデータが受け入れられたことを示す。
【0009】クロック環境の境界を横切って通過するデ
ータが、受信クロック環境にクロック制御されながら入
る時に安定であるとすると、そのデータは準安定の影響
を受けず、したがって、同期器を通る必要はない。しか
し、データは安定を維持しなければならず、逆向きの制
御信号がそれの同期器を通った後でデータが受けられた
ことを示すまで、データが安定であることを制御信号が
示す前のある程度の時間から変化してはならない。これ
は、データを格納しなければならず、かつ多くのクロッ
クサイクルの間不変でなければならないことを意味す
る。希望のデータ転送速度がこのクロックサイクル数よ
り遅いとすると、問題はない。しかし、通常のことでは
あるが、クロックサイクルごとに新しいデータが到達す
ることがある。
【0010】データサイクルごとに到達するデータのあ
らゆるデータバス幅に対して、引き続くいくつかのサイ
クルに到達する、格納、およびより一層広いバス幅を横
切って転送すべきデータを配置することが可能である。
たとえば、データバスの幅が8ビット、すなわち1バイ
トであれば、8バイトが存在するまで各バイトを格納で
き、その後でそれらの8バイトはたとえば64ビットバ
スを用いてクロック境界を横切って転送される。
【0011】クロック境界を横切って転送するために最
初の8バイトが安定に保たれている間に、別のバイトが
到達することがある。それらの別のバイトは別々に格納
すべきである。与えられたデータ転送速度と各クロック
周波数の範囲と、同期器の遅延と、使用している制御プ
ロトコルの全体の待ち時間とに対して、持続可能な最高
データ転送速度をサポートするために必要な記憶装置の
数を決定することが可能である。
【0012】プロトコル待ち時間が8サイクルで、デー
タバスの幅が8ビットであるとすると、クロック境界を
横切るデータバスの幅は64ビットでなければならな
い。データがクロック境界を横切っている間は安定して
いるように、その64ビットをなんらかの記憶装置で保
持しなければならない。したがって、求められる記憶装
置の量は、 (プロトコル待ち時間)×(バス幅) である。
【0013】8ビットバスにある新しいデータは、64
ビットがクロック境界を横切るために安定に保持されて
いる間に到達し続けることができるから、この新しいデ
ータをどこかに格納しなければならず、したがって、求
められる記憶装置の量は、 2×(プロトコル待ち時間)×(バス幅) である。
【0014】第2のクロック環境でも類似のやり方が求
められる。境界を横切って通過するデータを捕らえるた
めにバッファする価値がある第1の64ビットと、前回
の転送からデータを保持するためにバッファする第2の
64ビットとは、第2のクロック環境内を1度に8ビッ
トずつより深く通過する。したがって、求められる記憶
装置の量は、 4×(プロトコル待ち時間)×(バス幅) である。
【0015】更に、使用するプロトコルに従って、各同
期器は1ビットデータ記憶素子であるから、求められる
全体の記憶装置を、 4×(プロトコル待ち時間)×(バス幅)+同期器 として与えるためにその数の同期器が加え合わされる。
【0016】クロック境界を横切るデータの安全な転送
を保証するためのプロトコルを実現するいくつかの異な
るやり方がある。しかし、各場合に、決定されたプロト
コル待ち時間があり、大量のデータ記憶装置が要求され
る。
【0017】ある先行技術では、データがクロック境界
を横切って送信される前にフリップフロップに格納され
る。必要な量のデータを格納するためには多数のフリッ
プフロップを必要とするが、そのような構成はフリップ
フロップ回路が占めるチップスペースの面で費用が掛か
る。
【0018】
【発明が解決しようとする課題】したがって、本発明の
目的は、必要な回路および消費されるチップ面積を最小
にする、クロック環境の間でデータおよび制御情報を転
送するための回路および方法を得ることにある。
【0019】
【課題を解決するための手段】したがって、本発明によ
れば、第1のタイミング信号に応答する第1のポートと
第2のタイミング信号に応答する第2のポートとを有す
るデュアルポートRAMと、第1のタイミング信号に応
答し、第1のポートを介するデュアルポートRAMへの
データの格納を制御し、かつデータがデュアルポートR
AMに格納されていることを示す制御信号を発生する第
1の制御回路と、制御信号を第2のタイミング信号に同
期させるための同期器と、第2のタイミング信号および
同期された制御信号に応答して、格納されるデータがデ
ュアルポートRAMの第2のポートを通じて到達するこ
とを制御する第2の制御回路と、を備える第1のタイミ
ング環境から第2のタイミング環境へ情報を転送する回
路が得られる。
【0020】RAMセルはフリップフロップセルよりも
はるかに小さく、したがってデュアルポートRAM実現
によって占められるチップスペースは、オペランド同数
の記憶場所に対してフリップフロップ実現より減少させ
られる。有利なことに、本発明によればデュアルポート
RAMを用いるとどのような場合にもより少数の記憶場
所が求められる。
【0021】第2の制御回路は、データが第2のデュア
ルポートRAMから検索されたことを示す第2の制御信
号を発生し、第2の制御信号を第1のタイミング信号に
同期させるための第2の同期器を更に備え、第1の制御
回路は同期された別の制御信号に応答してデュアルポー
トRAMにデータを格納することが好ましい。
【0022】本発明は、第1のタイミング信号に応答し
て、デュアルポートRAMにそれの第1のポートを介い
てデータを格納するステップと、データがデュアルポー
トRAMに格納されていることを示す制御回路を、第1
のタイミング信号に応答して発生するステップと、制御
信号を第2のタイミング信号に同期させるステップと、
第2のタイミング信号および同期された制御信号に応答
して、デュアルポートRAMからそれの第2のポートを
通じてデータを検索するステップと、を備える第1のタ
イミング環境から第2のタイミング環境へ情報を転送す
る方法も提供するものである。
【0023】データが第2のデュアルポートRAMから
検索されたことを示す第2の制御信号を、第2のタイミ
ング信号に応答して発生するステップと、第2の制御信
号を第1のタイミング信号に同期させるステップと、を
更に備え、同期された第2の制御信号に依存してデータ
をデュアルポートRAMに格納することが好ましい。
【0024】制御信号は複数の同期器によって第2のタ
イミング信号に同期できる。また、第2の制御信号は複
数の他の同期器によって第2のタイミング信号に同期で
きる。
【0025】第1のタイミング信号は第1のクロック信
号となり得るし、第2のタイミングは第2のクロック信
号になり得る。
【0026】第1のタイミング信号と第2のタイミング
信号とは共通信号源から得ることができる。共通信号源
から得られる第1のタイミング信号と第2のタイミング
信号との位相関係の分散は、いずれかのタイミング信号
の周期に匹敵でき、またはその周期より長くできる。
【0027】第1のタイミング信号と第2のタイミング
信号は相互に非同期にできる。相互に非同期である第1
のタイミング信号と第2のタイミング信号は非同期信号
または同期信号にできる。
【0028】
【発明の実施の形態】本発明をより良く理解するため、
および本発明をどのように実施するかを示すために、例
によって添付図面を参照する。
【0029】まず、本発明のデュアルポートRAMの実
施例を示す図1を参照する。デュアルポートバッファは
デュアルポートRAM2と、第1のアクセス制御回路4
と、第2のアクセス制御回路6とを有する。第1のアク
セス制御回路4は第1の状態マシン8と、第1の同期器
10と、第1のアドレス増加器12と、第1のバッファ
14とを含む。第2のアクセス制御回路6は第2の同期
器16と、第2の状態マシン18と、第2のアドレス増
加器20と、第2のバッファ22とを含む。
【0030】クロック信号CLK1の制御の下に第1の
タイミング環境で動作する第1のアクセス制御回路4
は、第2のタイミング環境へ転送すべきデータDATA
1を信号源からバス52に受ける。
【0031】データDATA1は、信号の電気的駆動を
高めるために、またはクロック信号CLK1の制御の下
に再びタイミングを取るために、選択によって第1のバ
ッファ14を通ることができる。第1のバッファ14は
データを信号DATAINとしてバス54に出力する。
【0032】第1のバッファ14と第2のバッファ22
は希望に応じて使用できる。これらのバッファは次の2
つの理由により存在することできる。 1.信号を電気的にバッファして信号源に軽い負荷を与
え、または宛先に十分な駆動を提供する。 2.たとえば、データはサイクル中の後の方で信号源か
ら到達するが、宛先によってサイクル中の早いほうが要
求されている場合に、クロックに関してタイミング調整
(すなわち、信号のタイミングを取り直す)を行う。
【0033】第1のアクセス制御回路4は信号源から制
御信号REQ1を線24上においても受ける。この信号
源は、第2のタイミング環境に転送すべき有効なデータ
が存在することを示すためにその信号を線24上に出力
する。信号REQ1は第1の状態マシン8への入力を構
成する。信号REQ1に応答して、第1の状態マシン8
は信号INC1を線48を介して第1のアドレス増加器
12へ出力し、この第1のアドレス増加器はデュアルポ
ートRAMへのバス44におけるアドレス値ADDR1
を増加させる。この実施例では、転送すべきデータはデ
ュアルポートRAMの引き続くメモリ場所に格納され、
そのためにデュアルポートRAMに格納されるデータの
各ブロックに対して第1のアドレス増加器12が格納ア
ドレスを1ブロックだけ増加させる。したがって、最初
に、第1のアドレス増加器がデータを格納することを指
令するアドレスが最初のアドレスすなわちベースアドレ
スである。第1の状態マシン8は送信制御信号CONT
ROL1もバス40に出力して、選択されたアドレスへ
のデータのローディングを制御する。そうすると、クロ
ック信号CLK1の制御の下に、第1のバッファの出力
端子のバス54におけるデータDATAINがデュアル
ポートRAMの選択されたアドレスにロードされる。
【0034】転送すべきデータのデュアルポートRAM
へのロードが成功すると、第1の状態マシン8は信号G
RANT1を線26を介して信号源へ戻すことにより、
データDATA1の別のブロックをバス52へ送ること
を信号源が開始できることを信号源に示す。更に、十分
なデータがデュアルポートRAM2にロードされると、
第1の状態マシン8は信号VALIDを線28を介して
クロック境界を横切って第2のアクセス制御回路6へ送
る。
【0035】線28における信号VALIDは第2のア
ドレス制御回路6の第2の同期器16によって受けら
れ、第2の同期器16の同期された出力、第2のクロッ
ク信号CLK2に同期されている信号VALID、は第
2の状態マシン18への入力を構成する。同期された信
号VALIDに応答して、第2の状態マシン18は制御
信号を第2の制御バスCONTROL2 42を介して
デュアルポートRAM2に出力し、かつ信号INC2を
線50を介して第2のアドレス増加器20に出力する。
このプロセスは転送されたデータの量に従って繰り返さ
れる。このようにして、第2の状態マシン18は、第2
のアドレス増加器からアドレスバス46に出力されたア
ドレスADDR2によって特定された、デュアルポート
RAMのアドレス場所に格納されているデータブロック
のアクセスを制御する。第1のアドレス増加器12のよ
うに、この好適な実施例では第2のアドレス増加器は、
それの最初の状態において、ベースアドレスからデータ
ブロックを検索し、その後で引き続くアドレス場所から
データブロックを検索する。このようにして、データが
最初に書込まれたブロックからデータが最初に検索され
るように、第2のアドレス増加器は第1のアドレス増加
器に追従し、引き続くメモリアクセスサイクルでもその
ような動作を行う。このようにして、第1のアクセス制
御回路4によってデュアルポートRAMに格納されたデ
ータブロックは、線62におけるクロック信号CLK2
の制御の下に、DATAOUTとしてデータバス56に
出力され、第2のバッファ22に格納される。
【0036】デュアルポートRAM2からのデータブロ
ックの検索が成功すると、第2の状態マシン18は線3
0における信号ACKをセットする。その信号は第1の
タイミング環境および第1のアクセス制御回路4へ転送
される。信号ACKは第1の同期器10によって受けら
れ、同期されたそれの出力は線32を介して第1の状態
マシン8へ入力される。第1の状態マシン8が同期され
た信号ACKを線32を介して受けると、それは、第1
のアクセス制御回路がデータをロードするための別のス
ペースがデュアルポートRAMに存在することを示す。
【0037】デュアルポートRAM2からのデータブロ
ックのアクセスが成功すると、第2の状態マシン18
は、データを第2のタイミング環境内の転送すべき宛先
回路へ信号REQ2を線36を介して出力もする。この
信号は、第2のバッファ22の出力端子におけるデータ
バス58で有効なデータを利用できることを示す。宛先
回路が信号REQ2を受けると、それはバス58にある
データDATA2をそれにロードし、ひとたびこれが行
われると信号GRANT2を線38を介して第2の状態
マシン18へ戻す。それに応答して、第2の状態マシン
18は、デュアルブロックをアクセスしてそれらを宛先
回路へ送る。
【0038】図1の実施例では、2つのタイミング環境
の間の制御プロトコルは、第1のタイミング環境から第
2のタイミング環境への1つの向きの単一の信号VAL
IDと、第2のタイミング環境から第1のタイミング環
境への別の向きの単一の信号ACKであることが示され
ている。しかし、タイミング境界を横切るデータの流れ
を制御するために用いられる特定のプロトコルは、希望
の用途と、データの流れの量と、それぞれのタイミング
環境の2つのクロックの相対的な速さとに従ってかなり
変化することがある。たとえば、第2のタイミング環境
内のクロック信号CLK2が第1のタイミング環境内の
クロック信号CLK1よりはるかに速いと仮定すると、
図1を参照して説明したプロトコルの戻り信号、すなわ
ち、線30における信号ACKはなくてすむ。しかし、
1つの向きにのみ1つの流れ制御信号が存在する、すな
わち、線28における信号VALIDが存在するシステ
ムをうまく動作させるためには、2つのクロックが非常
に異なる速さを有する環境でデュアルポートRAMを使
用されようとしていたことを示す必要がある。
【0039】図1のプロトコルに従う流れ制御信号は、
それぞれの向きの信号VALIDおよびACKではなく
て、実際には複数の信号で構成することができ、流れ制
御プロトコルは一層複雑であることもわかる。いずれか
の向きの流れ制御信号が複数の信号で構成されていると
すると、この信号のおのおのには同期器10および16
などの同期器が関連付けられる。複数の制御信号のおの
おのには1つまたは複数の直列の同期器が関連付けられ
る。
【0040】使用するプロトコルに応じて、両方向の制
御信号が複数の制御信号を構成するものとしても、各向
きの信号の数は異なることがある。たとえば、異なるプ
ロトコルが各向きに使用され、または同じプロトコルが
各向きに使用される。
【0041】更に、使用する任意の1つの制御信号のい
ずれかの縁部または両方の縁部をアクティブな縁部にで
きる。
【0042】とくに、考えている1つの実施例では、デ
ュアルポートRAM2を2つの半分に分割でき、各信号
VALIDとACKは、デュアルポートRAM2の上半
分に関連させられた1つの信号と、デュアルポートRA
M2の下半分に関連させられた別の信号との、2つの信
号を有することができる。
【0043】上で述べたデュアルポートバッファは、デ
ータまたは情報を第1のクロック境界から第2のクロッ
ク境界へ1つの向きにのみ転送する。第2のクロック境
界から第1のクロッ境界へ他の向きにデータを転送でき
るようにするためには、第2のデュアルポートRAMを
設ける必要がある。ここで図2を参照する。この図に
は、図1を参照して説明した例としてのデュアルポート
バッファが、システム環境の間でデータをやり取りする
ために使用するように2つの半分にされていることが示
されている。
【0044】図2は、第1に、種々のオンチップ環境に
よって決定されるクロック環境で動作するオンチップ機
能回路とオンチップ手段との間のインタフェースとし
て、および、第2に、オフチップ要求によって決定され
る別々のクロックをおのおの有するオフチップデータソ
ースおよびデータシンクとオフチップ手段との間のイン
タフェースとしての、2つの場合における、図1のデュ
アルポートバッファの使用を示す。
【0045】図2を参照して、システム環境を78で全
体として示す。図2には受信インタフェースドライバ7
0と、受信デュアルポートバッファ74と、送信インタ
フェースドライバ76と、送信インタフェースドライバ
72も示す。受信デュアルポートバッファ74と送信イ
ンタフェースドライバ76のおのおのは、好適な実施例
では、図1を参照して上で説明したデュアルポートバッ
ファと同じものである。システム環境78は中央処理装
置と、デジタル信号プロセッサと、または何等かの形態
の特殊な論理回路を含むことができる。
【0046】受信インタフェースドライバ70は、ソー
スからバス82を介してデータRXDATAを受け、線
80を介してプロトコル制御信号RXCONTROLを
受ける。線98を介して受ける受信クロックRXCLK
の制御の下に、受信インタフェースドライバ70はソー
スからのデータをRXDATA1として線82を介して
バス88へ転送する。以下のことは理解されるであろう
が、通常の流れ制御プロトコルに従って、データがバス
88へ転送されると、受信インタフェースドライバ70
は流れ制御信号を信号RXCONTROLで線80を介
してソースへ送り返し、データが受信されたことを指示
する。受信インタフェースドライバ70によってバス8
8にRXDATA1として出力されるデータは、線84
に出力される信号RXと同時に出力される。その信号R
Xは、図1を参照して上で説明したように、プロトコル
制御信号である。その後で、受信デュアルポートバッフ
ァ74はクロック信号RXCLKのクロック環境からバ
ス88を介して受けたデータRXDATA1を、データ
RXDATA2としてバス94を介してシステムクロッ
ク環境へ転送する。そうすると、受信デュアルポートバ
ッファは受信クロックによってクロックされ、また線9
6におけるシステムクロックSYSCLKによってもク
ロックされる。バス94におけるデータRXDATA2
はシステムクロックSYSCLKに同期させられ、シス
テム環境78で受信される。
【0047】同様に、逆向きでは、異なるクロック環境
でデータTXDATA2をバス106を介して送るため
に、システムクロックSYSCLKの制御の下にシステ
ム環境はデータTXDATA1をバス112を介して出
力する。バス106におけるデータTXDATA2はバ
ス112におけるデータTXDATA1に直接対応する
が、線100における送信クロックTXCLKに同期さ
せられる。また、送信デュアルポートバッファ76は図
1を参照して説明したのと同じようにして動作する。ま
た、バス106におけるデータTXDATA2は送信イ
ンタフェースドライバ72によってTXDATAとして
宛先回路へ送られる。送信インタフェースドライバ72
からのバス102におけるTXDATAの制御は、線1
04における制御信号TXCONTROLによって制御
される。
【0048】宛先回路およびソース回路はオンチップま
たはオフチップとすることができる。また、受信インタ
フェースドライバ70と送信インタフェースドライバ7
2は複数のソース回路および宛先回路とインタフェース
できる。受信インタフェースドライバは、データをシス
テム環境78へ送ろうとしているソースの優先度を決定
するためのポーリング回路を含むことができ、線80に
おけるプロトコル制御信号RXCONTROLは種々の
ソースをポーリングするための制御信号を含むことがで
きる。同様に、送信インタフェースドライバ72は、送
信すべきデータの宛先を決定するため、および最高の優
先度を持つ宛先へデータを送信するためのポーリング回
路を含むことができる。システム環境へ送信するため、
またはシステム環境から送信するために、受信インタフ
ェースドライバ70と送信インタフェースドライバ72
でバッファされているデータが、それのソースまたは宛
先のアドレスに関してより高い優先度を持っているなら
ば、最高の優先度のソース/宛先に関連するデータが最
初に送信されるように、受信インタフェースドライバ7
0と送信インタフェースドライバ72割り込み回路を含
むこともできる。
【0049】システム環境はセルエンジン(それについ
ては、ATMフォーラム、技術委員会。ユートピア、A
TM−PHYインタフェース仕様、レベル2バージョン
1.0(The ATM Forum,Technic
al Committee.Utopia,An AT
M−PHY Interfaice Specific
ation,Level 2 Version 1.
0)1996年11月21日。AF−PHY−003
9.000 Editors:Des YOUNGet
al.ALANTEC,´“ Plumeria D
rive,AnJose,CA 95134−2134
参照)を備えることができ、かつ複数の受信デュアル
ポートバッファおよび送信デュアルポートバッファを介
して個々の装置に直接インタフェースできる。デュアル
ポートバッファはIEEE 1335に従うデータスト
ローブ直列リンクと、中央処理装置、または楽しむ環境
とインタフェースできる。デュアルポートバッファはシ
ステム環境をSDRAMにインタフェースさせることも
できる。
【0050】デュアルポートRAMの外部のデュアルポ
ートバッファの全ての論理は完全に走査試験できる。そ
れに加えて、小さいデュアルポートRAMに対しては実
現に費用がかかり過ぎることがある、構造走査試験また
は組み込み自己試験器とは異なって、機能試験を用いて
製造目的のためにデュアルポートRAMを試験できるよ
うに、タイミング環境の1つによってデュアルポートR
AMを完全にアクセスできることが好ましい。デュアル
ポートRAMのどのような種類の構造試験も実現でき
る。
【図面の簡単な説明】
【図1】本発明の一実施例によるデュアルポートRAM
の構成を示すブロック図。
【図2】図1のデュアルポートRAMの構成を示すブロ
ック図。
【符号の説明】
4、6 アクセス制御回路 8、18 状態マシン 10、16 同期器 12、20 アドレス増加器 14、22 バッファ 70 受信インタフェース回路 72 送信インタフェース回路 74 受信デュアルポートバッファ 76 送信デュアルポートバッファ 78 システム環境

Claims (31)

    【特許請求の範囲】
  1. 【請求項1】第1のタイミング信号に応答する第1のポ
    ートと第2のタイミング信号に応答する第2のポートと
    を有するデュアルポートRAMと、 第1のタイミング信号に応答し、第1のポートを介して
    デュアルポートRAMへのデータの格納を制御し、かつ
    データがデュアルポートRAMに格納されていることを
    示す制御信号を発生する第1の制御回路と、 制御信号を第2のタイミング信号に同期させるための同
    期器と、 第2のタイミング信号および同期された制御信号に応答
    して、格納されたデータをデュアルポートRAMの第2
    のポートを介して検索することを制御する第2の制御回
    路と、 を備える第1のタイミング環境から第2のタイミング環
    境へ情報を転送する回路。
  2. 【請求項2】請求項1記載の回路であって、前記第2の
    制御回路は、データが前記デュアルポートRAMから検
    索されたことを示す第2の制御信号を発生し、この第2
    の制御信号を前記第1のタイミング信号に同期させるた
    めの第2の同期器を更に備え、前記第1の制御回路は同
    期された別の制御信号に応答して前記デュアルポートR
    AMにデータを格納する回路。
  3. 【請求項3】請求項1または2記載の回路であって、受
    信バッファを更に備え、前記第2の制御回路が前記デュ
    アルポートRAMから検索したデータを前記受信バッフ
    ァへ転送する回路。
  4. 【請求項4】請求項1ないし3のいずれか1つに記載の
    回路であって、第1のバッファを更に備え、前記第1の
    制御回路が前記デュアルポートRAMに格納すべきデー
    タを前記第1のバッファから転送する回路。
  5. 【請求項5】請求項1ないし4のいずれか1つに記載の
    回路であって、前記第1の制御手段が第1のアドレス増
    加器を含み、データがデュアルポートRAMに連続した
    メモリ場所に格納される回路。
  6. 【請求項6】請求項5記載の回路であって、前記第2の
    制御手段が第2のアドレス増加器を含み、データが前記
    デュアルポートRAMに連続したメモリ場所から検索さ
    れる回路。
  7. 【請求項7】請求項6記載の回路であって、前記第1の
    アドレス増加器と前記第2のアドレス増加器は周期的で
    ある回路。
  8. 【請求項8】請求項1ないし8のいずれか1つに記載の
    回路であって、前記制御信号は直列の複数の同期器によ
    って前記第2のタイミング信号に同期させられる回路。
  9. 【請求項9】請求項1ないし7のいずれか1つに記載の
    回路であって、前記第1の制御回路が複数の制御信号を
    発生し、前記同期器は、それぞれ制御信号を前記第2の
    タイミング信号に同期させるための複数の制御信号のそ
    れぞれ1つにおのおの関連付けられている複数の同期器
    の1つである回路。
  10. 【請求項10】請求項9記載の回路であって、各制御信
    号は直列の複数の同期器によって前記第2のタイミング
    信号に同期させられる回路。
  11. 【請求項11】請求項2ないし10のいずれか1つに記
    載の回路であって、前記第2の制御信号は直列の複数の
    第2の同期器によって前記第1のタイミング信号に同期
    させられる回路。
  12. 【請求項12】請求項10記載の回路であって、前記第
    2の制御回路は複数の第2の制御信号を発生し、前記第
    2の同期器は、それぞれの前記第2の制御信号を前記第
    1のタイミング信号に同期させるための複数の第2の制
    御信号のそれぞれ1つにおのおの関連付けられている複
    数の前記第2の同期器の1つである回路。
  13. 【請求項13】請求項12記載の回路であって、各々の
    前記第2の制御信号は直列の複数の第2の同期器によっ
    て前記第1のタイミング信号に同期させられる回路。
  14. 【請求項14】請求項12記載の回路であって、前記第
    1の制御回路は、前記第2の制御回路によって発生され
    る前記第2の制御信号の数と同数の前記制御信号を発生
    する回路。
  15. 【請求項15】請求項1ないし14のいずれか1つに記
    載の回路であって、前記第1のタイミング信号は第1の
    クロック信号であり、前記第2のタイミング信号は第2
    のクロック信号である回路。
  16. 【請求項16】請求項1ないし15のいずれか1つに記
    載の回路であって、前記第1のタイミング信号と前記第
    2のタイミング信号とは共通信号源から得られる回路。
  17. 【請求項17】請求項1ないし16のいずれか1つに記
    載の回路であって、前記第1のタイミング信号と前記第
    2のタイミング信号は相互に非同期である回路。
  18. 【請求項18】第1のタイミング信号に応答して、デュ
    アルポートRAMに第1のポートを介してデータを格納
    するステップと、 データが前記デュアルポートRAMに格納されているこ
    とを示す制御信号を、第1のタイミング信号に応答して
    発生するステップと、 前記制御信号を第2のタイミング信号に同期させるステ
    ップと、 前記第2のタイミング信号および同期された前記制御信
    号に応答して、前記デュアルポートRAMから第2のポ
    ートを介してデータを検索するステップと、を備える第
    1のタイミング環境から第2のタイミング環境へ情報を
    転送する方法。
  19. 【請求項19】請求項18記載の方法であって、 データが前記第2のデュアルポートRAMから検索され
    たことを示す第2の制御信号を、前記第2のタイミング
    信号に応答して発生するステップと、 前記第2の制御信号を前記第1のタイミング信号に同期
    させるステップと、を更に備え、同期された前記第2の
    制御信号に依存してデータが前記デュアルポートRAM
    に格納される方法。
  20. 【請求項20】請求項18または19記載の方法であっ
    て、前記デュアルポートRAMに格納する前にデータを
    バッファするステップを更に備える方法。
  21. 【請求項21】請求項18ないし20のいずれか1つに
    記載の方法であって、前記デュアルポートRAMから検
    索された後でデータをバッファするステップを更に備え
    る方法。
  22. 【請求項22】請求項18ないし21のいずれか1つに
    記載の方法であって、格納するステップはデータを前記
    デュアルポートRAMに連続した場所に格納する方法。
  23. 【請求項23】請求項22記載の方法であって、前記検
    索ステップは、データを前記デュアルポートRAMに連
    続した場所から検索する方法。
  24. 【請求項24】請求項18ないし23のいずれか1つに
    記載の方法であって、前記発生するステップは複数の第
    1の制御信号を発生し、前記同期するステップは、複数
    の第1の制御信号のおのおのを前記第2のタイミング信
    号に同期させる方法。
  25. 【請求項25】請求項24記載の方法であって、前記発
    生するステップは複数の第2の制御信号を発生し、前記
    同期するステップは、複数の第2の制御信号のおのおの
    を同期させる方法。
  26. 【請求項26】請求項18ないし25のいずれか1つに
    記載の方法であって、前記第1のタイミング信号は第1
    のクロック信号であり、前記第2のタイミング信号は第
    2のクロック信号である方法。
  27. 【請求項27】請求項18ないし26のいずれか1つに
    記載の方法であって、前記第1のタイミング信号と前記
    第2のタイミング信号とは共通信号源から得られる回
    路。
  28. 【請求項28】請求項18ないし26のいずれか1つに
    記載の回路であって、前記第1のタイミング信号と前記
    第2のタイミング信号は相互に非同期である方法。
  29. 【請求項29】受信タイミング信号に応答する第1のポ
    ートと、システムタイミング信号に応答する第2のポー
    トとを有する受信デュアルポートRAMと、 前記受信タイミング信号に応答し、前記第2のポートを
    介して前記受信デュアルポートRAMへの受信データの
    格納を制御し、かつ受信されたデータが前記受信デュア
    ルポートRAMに格納されていることを示す受信制御信
    号を発生する第1の受信制御回路と、 前記受信制御信号をシステムタイミング信号に同期させ
    るための第2の同期器と、 前記システムタイミング信号に応答して、格納されてい
    る受信されたデータの前記受信デュアルポートRAMの
    第2のポートを介しての検索を、同期された前記受信制
    御信号に依存して、制御する第2の受信制御回路と、 前記システムタイミング信号に応答する第1のポート
    と、送信タイミング信号に応答する第2のポートとを有
    する送信デュアルポートRAMと、 前記システムタイミング信号に応答し、第2のポートを
    介して前記送信デュアルポートRAMへ送信すべきデー
    タの格納を制御し、かつデータが前記送信デュアルポー
    トRAMに格納されていることを示す送信制御信号を発
    生する第1の送信制御回路と、 前記送信制御信号を前記送信タイミング信号に同期させ
    るための第1の同期器と、 前記システムタイミング信号に応答して、格納されてい
    る送信すべきデータの前記送信デュアルポートRAMの
    第2のポートを通じての検索を、同期された前記送信制
    御信号に依存して制御する第2の送信制御回路と、を備
    える、情報をシステム環境へ送信しかつ情報をシステム
    環境から受信するためのインタフェース回路。
  30. 【請求項30】請求項29記載のインタフェースであっ
    て、受信したデータが前記受信デュアルポートRAMか
    ら検索されたことを示す前記第2の受信信号を前記第2
    の受信制御回路が発生し、前記第2の受信信号を前記受
    信タイミング信号に同期させるための第2の第2同期器
    を更に備え、前記第2の受信制御回路は受信したデータ
    を、同期された前記第2の受信制御信号に応答して前記
    受信デュアルポートRAMに格納し、送信すべきデータ
    が前記送信デュアルポートRAMから検索されたことを
    示す第2の送信信号を前記第2の送信制御回路が発生
    し、別の送信制御信号を前記システムタイミング信号に
    同期させるための第2の第1同期器を更に備え、前記第
    1の送信制御回路は同期された前記第2の送信制御信号
    に応答してデータを前記送信デュアルポートRAMに格
    納するインタフェース回路。
  31. 【請求項31】請求項29または30記載のインタフェ
    ース回路であって、前記システムタイミング信号と、受
    信した前記タイミング信号と、送信タイミング信号とは
    それぞれシステムクロック、受信クロック、および送信
    クロックであるインタフェース回路。
JP10278224A 1997-09-30 1998-09-30 デュアルポートバッファ Pending JPH11175313A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9720811.0 1997-09-30
GBGB9720811.0A GB9720811D0 (en) 1997-09-30 1997-09-30 Dual port buffer

Publications (2)

Publication Number Publication Date
JPH11175313A true JPH11175313A (ja) 1999-07-02
JPH11175313A5 JPH11175313A5 (ja) 2005-11-04

Family

ID=10819871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10278224A Pending JPH11175313A (ja) 1997-09-30 1998-09-30 デュアルポートバッファ

Country Status (5)

Country Link
US (1) US6249875B1 (ja)
EP (1) EP0905610B1 (ja)
JP (1) JPH11175313A (ja)
DE (1) DE69819648T2 (ja)
GB (1) GB9720811D0 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100443014B1 (ko) * 2001-12-24 2004-08-04 엘지전자 주식회사 듀얼포트램을 이용한 상이위상 클럭간 데이터 전송 장치
JP2008217450A (ja) * 2007-03-05 2008-09-18 Nec Access Technica Ltd デュアルポートメモリを用いた同期化回路
JP2013510357A (ja) * 2009-11-09 2013-03-21 アイメック データ転送デバイス

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700872B1 (en) * 1998-12-11 2004-03-02 Cisco Technology, Inc. Method and system for testing a utopia network element
US7194650B2 (en) * 2003-05-09 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for synchronizing multiple synchronizer controllers
US7239681B2 (en) * 2003-05-09 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for maintaining a stable synchronization state in a programmable clock synchronizer
US7100065B2 (en) * 2003-05-09 2006-08-29 Hewlett-Packard Development Company, L.P. Controller arrangement for synchronizer data transfer between a core clock domain and bus clock domain each having its own individual synchronizing controller
US7219251B2 (en) * 2003-05-09 2007-05-15 Hewlett-Packard Development Company, L.P. Programmable clock synchronizer
US7623482B2 (en) * 2003-05-10 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks including a header block across a clock boundary
US7480357B2 (en) * 2003-05-10 2009-01-20 Hewlett-Packard Development Company, L.P. System and method for effectuating the transfer of data blocks across a clock boundary
US7119582B2 (en) * 2004-07-23 2006-10-10 Hewlett-Packard Development Company, Lp. Phase detection in a sync pulse generator
US7340631B2 (en) * 2004-07-23 2008-03-04 Hewlett-Packard Development Company, L.P. Drift-tolerant sync pulse circuit in a sync pulse generator
US7382847B2 (en) * 2004-07-23 2008-06-03 Hewlett-Packard Development Company, L.P. Programmable sync pulse generator
US20060023819A1 (en) * 2004-07-29 2006-02-02 Adkisson Richard W Clock synchronizer
US7436917B2 (en) * 2004-07-29 2008-10-14 Hewlett-Packard Development Company, L.P. Controller for clock synchronizer
US9138825B2 (en) * 2005-10-07 2015-09-22 Illinois Tool Works Inc. Wireless communication system for welding-type devices
EP2360598A1 (en) * 2010-02-12 2011-08-24 Blue Wonder Communications GmbH Method and device for synchronizing data broadcasts
US8826062B2 (en) 2011-05-23 2014-09-02 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first clock domain and a second clock domain through phase synchronization
US8918666B2 (en) * 2011-05-23 2014-12-23 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first and second clock domain through FIFO buffering
US9706508B2 (en) * 2013-04-05 2017-07-11 Honeywell International Inc. Integrated avionics systems and methods
US11321511B2 (en) 2019-07-09 2022-05-03 SiFive, Inc. Reset crossing and clock crossing interface for integrated circuit generation
US10902171B1 (en) * 2019-07-09 2021-01-26 SiFive, Inc. Clock crossing interface for integrated circuit generation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5782217A (en) * 1980-11-10 1982-05-22 Matsushita Electric Ind Co Ltd Pcm recorder possible for synchronizing run
US4769792A (en) 1986-10-28 1988-09-06 Kabushiki Kaisha Toshiba Semiconductor memory device with voltage bootstrap
US5146477A (en) * 1987-03-17 1992-09-08 Antonio Cantoni Jitter control in digital communication links
US4805171A (en) * 1987-07-10 1989-02-14 Solid State Systems, Inc. Unitary PCM rate converter and multiframe buffer
US5029124A (en) * 1988-05-17 1991-07-02 Digital Equipment Corporation Method and apparatus for providing high speed parallel transfer of bursts of data
JP2536929B2 (ja) * 1989-07-21 1996-09-25 富士通株式会社 位相整合回路
DE4011241B4 (de) * 1990-04-06 2005-06-02 Micronas Gmbh Digitale Fernsehsignalverarbeitungsschaltung mit orthogonalem Ausgangstakt
US5933580A (en) * 1991-09-04 1999-08-03 Canon Kabushiki Kaisha Scanner printer server
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5509038A (en) * 1994-04-06 1996-04-16 Hal Computer Systems, Inc. Multi-path data synchronizer system and method
US5469851A (en) * 1994-08-09 1995-11-28 Hewlett-Packard Company Time multiplexed digital ultrasound beamformer
JPH0876713A (ja) * 1994-09-02 1996-03-22 Komatsu Ltd ディスプレイ制御装置
KR0177731B1 (ko) * 1994-09-15 1999-05-15 정장호 망동기용 디지탈 위상동기루프 제어방법
US5537362A (en) 1994-12-06 1996-07-16 National Semiconductor Corporation Low-voltage EEPROM using charge-pumped word lines
US5822341A (en) * 1995-04-06 1998-10-13 Advanced Hardware Architectures, Inc. Multiport RAM for use within a viterbi decoder
SG77135A1 (en) * 1996-04-26 2000-12-19 Texas Instruments Inc Method and system for assigning a channel number to a received data packet
US6088272A (en) * 1997-10-24 2000-07-11 Oki Data Corporation Data output system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100443014B1 (ko) * 2001-12-24 2004-08-04 엘지전자 주식회사 듀얼포트램을 이용한 상이위상 클럭간 데이터 전송 장치
JP2008217450A (ja) * 2007-03-05 2008-09-18 Nec Access Technica Ltd デュアルポートメモリを用いた同期化回路
JP2013510357A (ja) * 2009-11-09 2013-03-21 アイメック データ転送デバイス

Also Published As

Publication number Publication date
DE69819648T2 (de) 2004-09-30
DE69819648D1 (de) 2003-12-18
EP0905610B1 (en) 2003-11-12
EP0905610A1 (en) 1999-03-31
GB9720811D0 (en) 1997-12-03
US6249875B1 (en) 2001-06-19

Similar Documents

Publication Publication Date Title
EP0905610B1 (en) Dual port buffer
JP3856696B2 (ja) 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置
US6636518B1 (en) Synchronizing source-synchronous links in a switching device
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
US8520464B2 (en) Interface circuit and semiconductor device incorporating same
US6266778B1 (en) Split transaction I/O bus with pre-specified timing protocols to synchronously transmit packets between devices over multiple cycles
US6973078B2 (en) Method and apparatus for implementing low latency crossbar switches with integrated storage signals
US5539739A (en) Asynchronous interface between parallel processor nodes
US7519759B2 (en) Pipeline synchronisation device
JPH06259225A (ja) データ転送同期装置
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
US6754838B2 (en) Method for reducing tuning etch in a clock-forwarded interface
WO2009000794A1 (en) Data modification module in a microcontroller
US5758131A (en) Bus adapter for synchronizing communications between two circuits running at different clock rates
US8176353B2 (en) Method for the data transfer between at least two clock domains
US6546451B1 (en) Method and apparatus for decoupling processor speed from memory subsystem speed in a node controller
EP1317085B1 (en) A method and circuit for initializing a de-skewing buffer in a clock forwarded system
EP1122737A1 (en) Circuit for managing the transfer of data streams from a plurality of sources within a system
US6629226B1 (en) Fifo read interface protocol
KR100337059B1 (ko) 탄성 버스 인터페이스 데이터 버퍼
US6055588A (en) Single stage FIFO memory with a circuit enabling memory to be read from and written to during a single cycle from a single clock
US6901526B1 (en) Digital bus synchronizer for generating read reset signal
EP2515443A1 (en) Data serializer
JP3562416B2 (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
EP1911188B1 (en) Asynchronous data buffer

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050817

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616