JP4998519B2 - 非同期インタフェース回路及び非同期データ転送方法 - Google Patents

非同期インタフェース回路及び非同期データ転送方法 Download PDF

Info

Publication number
JP4998519B2
JP4998519B2 JP2009129798A JP2009129798A JP4998519B2 JP 4998519 B2 JP4998519 B2 JP 4998519B2 JP 2009129798 A JP2009129798 A JP 2009129798A JP 2009129798 A JP2009129798 A JP 2009129798A JP 4998519 B2 JP4998519 B2 JP 4998519B2
Authority
JP
Japan
Prior art keywords
data
transfer
asynchronous
read
circuit
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.)
Active
Application number
JP2009129798A
Other languages
English (en)
Other versions
JP2010278798A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009129798A priority Critical patent/JP4998519B2/ja
Priority to US12/787,020 priority patent/US8356203B2/en
Publication of JP2010278798A publication Critical patent/JP2010278798A/ja
Application granted granted Critical
Publication of JP4998519B2 publication Critical patent/JP4998519B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Landscapes

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

Description

非同期インタフェース回路及び非同期データ転送方法に関し、特に、非同期回路間で非同期バッファを経由してデータを転送する非同期インタフェース回路及び非同期データ転送方法に関する。
非同期回路間でデータを転送するための非同期インタフェース回路では、転送元のクロック信号に同期して転送先回路から出力されるデータを、転送先のクロックに同期して転送先回路に入力させるクロック乗換が行われる。
そのためのクロック乗換回路として、転送元(送信側)と、転送先(受信側)とで同期をとる必要のない非同期バッファを介したデータ転送手法がある。例えば、非同期バッファとして、送信側のデータ伝送経路と受信側のデータ伝送経路との間に先入れ先出しバッファ(以下、FIFO(First In First Out)とする)を備えたクロック乗換回路がある(例えば、特許文献1参照)。送信側から送られる書き込みクロックでFIFO内に書き込まれたデータは、受信側の読み出しクロックによって、書き込まれた順に読み出すことができる。
また、非同期インタフェース回路は、データの転送元と転送先との製造元が異なることも多く、予めインタフェース仕様が決められている場合も多い。例えば、NAND型フラッシュメモリのインタフェース仕様であるONFI(Open NAND Flash Interface)は、DDR(Double Data Rate)インタフェースをベースにしたフラッシュメモリ・インタフェースを規定している。ONFIでは、コントローラからのデータ読み出し要求に対し、フラッシュメモリは要求データの出力に必要なクロック数の出力クロック信号を生成し、この出力クロック信号に同期してデータを出力する。そのインタフェース仕様の詳細は、業界標準団体のひとつであるONFIによって規定され、仕様書が公表されている(URL;http://onfi.org/)。
特開平7−115410号公報
しかし、従来の非同期インタフェース回路では、仕様に準拠していてもデータ転送が正常にできないケースがあった。
例えば、上記のONFIは、DDRインタフェースをベースとしているが、対象となるフラッシュメモリは、内部動作について一般的なDDR−RAM(Random Access Memory)と同等であるとは限らない場合がある。このため、フラッシュメモリのデータ読み書きを制御する制御装置(以下、コントローラとする)をONFI仕様通りに設計した場合でも、ONFI仕様準拠のすべてのフラッシュメモリと接続できない場合があった。例を挙げて説明する。
図6は、ONFI仕様のDDR−DATAリードのタイミング例を示した図である。DDR−DATAリードは、フラッシュメモリからコントローラへのデータ転送になる。
ここで、図のCLKは、転送先のコントローラの発生させるクロック信号であり、例えば、クロック・サイクルを12ナノ秒(以下、nsecとする)とする。ALE(Address Latch Enable)/CLE(Command Latch Enable)は、コントローラが発生させる信号で、フラッシュメモリから読み出したいデータ数に応じたクロック・サイクル数の間アサートされる。図の例では、5ワード分のデータ読み出しのため、クロックCLKの5クロック・サイクルの間ALE/CLEがHighレベルになる。以下、この区間をアサートサイクルと呼ぶ。
フラッシュメモリ側では、ALE/CLEのアサートサイクルの間のクロックCLK数をカウントし、発行するDQSの数を決める。DQSは、出力データ(コントローラ側からは読み出しデータになる)を転送するための出力クロック信号になる。図の例では、ALE/CLEのアサートサイクル90の間に検出されたクロックCLK数は「5」であり、DQSの発行数は、「5」になる。しかし、フラッシュメモリが、コントローラのクロックCLKを検出してから、実際にDQSを発行するまでには、遅延tDQSD91が生じる。ONFIの仕様では、tDQSD91の最大値は20ナノ秒と決められている。フラッシュメモリの個体差などもあり、tDQSD91は0〜20nsecの幅を持つ。この値は、コントローラ側のクロック・サイクル(12ナノ秒)よりも大きく、コントローラ側でデータを取り込む際のタイミングを定義することができない。このため、コントローラ側でタイミングを合わせてデータを取り込むことができないという問題点がある。
また、FIFOを用いたデータ転送を行う場合、少なくともデータ(DQ)の取り込みと、FIFOへの書き込みという2段以上のデータ伝送が行われる。DQSはコントローラの要求サイズ分しか発行されないため、コントローラ側がリードデータをDQS同期で2段以上伝送する場合、最終データ92が転送不可になるという問題点もある。すなわち、最終のDQSでは、最終データ92が取り込まれる(1段目)。しかし、次のDQSが発生しないため、最終データがFIFOに書き込むという2段目の処理が実行されない。
上記課題を解決するために、確実にデータ転送が可能な非同期インタフェース回路及び非同期データ転送方法を提供することを目的とする。
上記課題を解決するために、データ保持回路、非同期バッファ及び選択回路を有し、ONFI(Open NAND Flash Interface)に従って非同期回路間でデータを転送する非同期インタフェース回路が提供される。
データ保持回路は、データ転送元の第1のクロック信号に同期して所定の単位で順次入力される転送データを、次の転送データが入力されるまでの間保持する。非同期バッファは、このデータ保持回路に接続され、データ保持回路に保持される転送データを第1のクロック信号に同期して順次記憶する。また、記憶された転送データは、データ転送先の第2のクロック信号に同期して記憶された順に読み出す。選択回路は、非同期バッファと、データ保持回路とに接続し、第2のクロック信号に同期して、非同期バッファの動作状態を監視する。そして、非同期バッファの動作状態として、転送データの転送処理中が検出されたときは、この非同期バッファを選択して転送データを読み出す。また、転送データの転送処理停止が検出されたときは、データ保持回路を選択して保持される転送データを読み出す。読み出した転送データは、データ転送先に出力する。
また、上記課題を解決するために、上記の非同期インタフェース回路の処理手順を実行する非同期データ転送方法が提供される。
開示の非同期インタフェース回路及び非同期データ転送方法によれば、非同期バッファをデータ転送経路とする経路を用いてデータを転送するとともに、最終データは、別の経路によりデータを転送する。これにより、転送元のクロック消失で転送できない最終データを別の経路を介して転送することができ、非同期回路間で確実にデータ転送を行うことが可能となる。
第1の実施の形態の非同期インタフェース回路の構成例を示したブロック図である。 図1の非同期インタフェース回路におけるデータ転送(バッファへの書き込み)動作のタイミング例を示した図である。 図1の非同期インタフェース回路におけるデータ転送(バッファからの読み出し)動作のタイミング例を示した図である。 第2の実施の形態の非同期インタフェース回路の構成例を示したブロック図である。 図4の非同期インタフェース回路におけるデータ転送動作のタイミング例を示した図である。 ONFI仕様のDDR−DATAリードのタイミング例を示した図である。
以下、実施の形態を、図面を参照して説明する。
図1は、第1の実施の形態の非同期インタフェース回路の構成例を示したブロック図である。
この非同期インタフェース回路は、例えば、NAND型フラッシュメモリ(以下、NANDとする)にデータの読み書きを行うメモリコントローラに実装される。また、図は、NANDに記憶されるデータをコントローラ側に転送する読み出し回路を示している。
非同期インタフェース回路内は、システムクロックで動作するシステム部(System−CLK Domain)と、DQSで動作するDQS部(DQS−CLK Domain)とに分かれる。図の1点鎖線は、システム部とDQS部との境界を示している。また、非同期バッファ(ここでは、FIFO)30は、DQS部とシステム部の境界線上に配置され、DQSと、システムクロックのどちらでも動作する。
ここで、NANDから入力されるDQ21及びDQS22と、NANDに出力されるALE/CLE(信号)23について説明する。
DQ21は、データ信号であり、NANDからは、1ワードを単位とするデータが8ビット幅で入力される。例えば、上位側(bit8−15)と、下位側(bit0−7)が交互に入力される。DQS22は、DQ21を転送するため、NANDが発行するデータストローブ信号であり、I/Oブロック10を動作させるクロック信号になる。後述するALE/CLE23のアサートサイクルの間に計測されたシステムクロック数に相当するクロック数のクロック信号が発行される。ALE/CLE23は、アクセス制御を行うアクセス制御ブロックが、要求するデータ数に応じたアサートサイクルの間、Highレベルになるイネーブル信号であり、システム側が設定する。
NANDは、ALE/CLE23がアサートサイクルの間に検出されたシステムクロック数に応じたDQS22を、アサートサイクル開始の検出からtDQSD遅延後に発行開始する。このとき、DQS22に同期させて、DQ21も出力する。
DQS部は、データ保持回路11、ライトイネーブル(以下、WEとする)設定回路12、CLKバッファ13及びシフト回路14を有し、NANDとの間の信号伝達処理を行うI/Oブロック10として動作する。DQS部内において、システム部から読み出し要求されたリードデータに相当するDQ21は、データ保持回路11、FIFO30と経由する2段のデータ転送が行われる。
データ保持回路11は、入力側はDQ21、出力側はFIFO30と、システム部のマルチプレクサ42に接続され、NANDからDQ21を入力し、入力したデータを、次のデータが入力されるまでの間保持する。クロック信号の立ち上がりエッジに同期して、入力されたDQ21を保持する第1のフリップフロップ回路(FF1)と、クロック信号の立ち下がりエッジに同期して入力されたDQ21を保持する第2のフリップフロップ回路(FF2)と、を有する。なお、クロック信号は、シフト回路14が生成するDQSシフト信号を用いる。DQSシフト信号については後述する。
WE設定回路12は、入力側がCLKバッファ13、出力側がFIFO30に接続され、例えば、FFで構成される。CLKバッファ13を介して入力されるDQSシフト信号が検出されたときは、FIFO30のライトイネーブル信号WEの状態を「書き込み許可」にする。一旦セットした「書き込み許可」は、アクセス制御ブロックからの指示でリセットする。
シフト回路14は、DQS22を入力し、DQS22の位相を90度シフトしたDQSシフト信号を生成し、データ保持回路11及びCLKバッファ13に出力する。
FIFO30は、入力側がDQS部のデータ保持回路11、出力側がシステム部のFF44を介してマルチプレクサ42に接続し、DQS部からシステム部へのデータ転送を行う。データ転送処理は、書き込み処理部31aと、読み出し処理部31bとを有する転送処理部31によって制御される。書き込み処理部31aでは、DQSシフト信号を書き込みクロックWCLKとして、データ保持回路11に保持されている転送データをFIFO30に書き込む。書き込みが行われている領域は、書き込みポインタWPによって指示される。読み出し処理部31bでは、システムクロックを読み出しクロックRCLKとしてFIFO30に書き込まれたデータを読み出し、システム部内部に出力する。読み出し処理部31bでは、システムクロックで動作するが、書き込みポインタWPをシステムクロックで同期化して、システムクロック同期の読み出しポインタRPと比較することで、FIFO30にデータがセットされたことを認識する。そして、データがセットされていれば、FIFO30から読み出す。すなわち、FIFO30を介してデータが転送されているときは、書き込みポインタWPの指示が、読み出しポインタRPの指示に先行する。したがって、不一致のときは、FIFO30へのデータ転送処理中であると判断できる。データ転送が停止すると、ポインタは一致する。
以上のI/Oブロック10に含まれる各回路は、DQS22が入力しているときのみ、動作する。
システム部は、メモリコントローラのシステムクロック41で動作する。マルチプレクサ42、FIFO30の状態を監視する監視部43及びFF44を有する。
マルチプレクサ42は、FF44を介してFIFO30に接続するとともに、DQS部のデータ保持回路11に接続し、FIFO30またはデータ保持回路11からの入力信号(リードデータ)をメモリコントローラに選択出力する選択回路として機能する。監視部43の指示するFIFO30の動作状態に基づいて、DQS部によってFIFO30への転送データ書き込みが処理中と判断されるときは、FIFO30から入力する転送データを選択出力する。DQS部によるFIFO30への転送データ書き込みが終了していると判断されるときは、データ保持回路11に保持されるデータを選択出力する。
監視部43は、FIFO30の動作状態をチェックするためのカウンタ43aと、動作状態をステートとして表すステートマシン43bとを有する。カウンタ43aは、FIFO30のデータ転送が停止してからの経過時間をカウントする。通常状態、すなわち、FIFO30を介してデータが転送されているときは、書き込みポインタWPが、読み出しポインタRPに先行する。したがって、不一致のときは、FIFO30へのデータ書き込みが処理中であると判断できる。データ転送が停止すると、ポインタは一致する。そこで、書き込みポインタWPと、読み出しポインタRPと、を比較し、一致しているときはカウント値を増加させ、不一致のときはカウント値を減じる動作を行う。これにより、データ転送が行われている間は、カウント値は増加せず、データ転送が停止するとカウント値が増加を始める。ステートマシン43bは、カウンタ43aのカウント値を監視し、カウント値が所定の値を超えたとき、データ転送が停止したと判断する。そして、マシンステートを設定する。以下の説明では、ステートは、データ転送が行われていない初期状態を示す「idle」、データ転送中の「state−1」、データ転送の停止が検出された「state−2」のいずれかの状態にあるとする。
この非同期インタフェース回路の動作について図2と図3を用いて説明する。
図2は、図1の非同期インタフェース回路におけるデータ転送(バッファへの書き込み)動作のタイミング例を示した図である。
図の「Sys」は、システムクロック及びシステムクロックで動作する部分の入出力信号を示している。「DQS」は、DQS及びDQSで動作する部分の入出力信号を示している。
図2の“Sys.CLK”は、システムクロック信号を示している。“Sys.ALE/CLE”は、システム部が、読み出しを要求するデータ数に応じて決められたアサートサイクルの間Highレベルに維持する。図2の例では、Sys.CLK(0)からSys.CLK(7)の間の8データ分のアサートサイクルで、ALE/CLEがHighレベルになっている。また、データ転送の方向を決める“Sys.W/R”は、NANDからコントローラへのデータ転送を行うことを示している。以上の“Sys.CLK”、“Sys.ALE/CLE”及び“Sys.W/R”は、システム部が発生させる信号で、NANDに伝達される。
上記の信号を受け、NANDは、ALE/CLEのアサートサイクル間のクロック・サイクル数分のDQS22及びDQ21をI/Oブロック10に出力する。図の例では、アサートサイクル間のクロック・サイクル数「8」分のDQ21と、DQS22が出力される[a]。DQ21は、1ワード単位のデータが8ビットずつに分割され、DQS22に同期して出力される。各8ビット単位のデータをd1,d2,・・・,d16(図2では、d10以降のdは省略)とする。図2では、DQS22は、“DQS DQS”、DQは“DQS DQ[7:0]”によって表されている。
続いて、DQS部内のI/Oブロック10の動作について説明する。DQS22が入力されるとともに、I/Oブロック10の各回路は動作を開始する。
I/Oブロック10では、シフト回路14が入力されたDQSからDQSシフト信号を生成する(図2では、“DQS shift DQS”)。DQSシフト信号の入力が開始されると、WE設定回路12はFIFO30のライトイネーブル信号WE(図2では、“DQS Buf./WE”)をセットする。また、データ保持回路11では、DQSシフト信号の立ち上がりでFF1に、立ち下がりでFF2にDQ21の値をセットする。FF1のDQ21セットは、図2では“DQS Upedge−capture FF”で表されている。同様に、FF2のDQ21セットは、図2では“DQS Downedge−capture FF”で表されている。また、FF1及びFF2に保持されているデータは、DQSシフト信号をクロックとして、FIFO30に転送される。例えば、最初のDQSシフト信号の立ち上がりで、FIFO30のライトイネーブル信号WEがセットされるとともに、DQ21がFF1にセットされる。
また、FF1にセットされたデータ“DQS Upedge−capture FF”は、FIFO30に伝搬できる状態になる(図2では、“DQS Buf/Wt.Data−Hi”)。同様に、FF2にセットされたデータ“DQS Downedge−capture FF”は、FIFO30に伝搬できる状態になる(図2では、“DQS Buf/Wt.Data−Lo”)。そして、DQSシフト信号をクロックとして、次のDQSクロック(“DQS Buf./WP(bin.)”と同じ)のタイミングで、1ワード単位でFIFO30にデータが書き込まれる。このときの書き込みポインタの値は、図2の“DQS Buf./WP(grey)”のように変化する。“DQS Buf./WP(grey)”は、FIFO30のライトイネーブル信号WEがセットされている間、更新される。
上記の動作により、DQS部のI/Oブロック10では、DQS22に基づくクロック信号でDQ21をFIFO30にセットする。なお、図2から明らかなように、最後のデータd15,d16は、それぞれデータ保持回路11のFF1とFF2にセットされる。しかし、DQSシフト信号が消滅しているので、FIFO30へのデータ転送は行われない。
次に、システム部の読み出し処理について説明する。
図3は、図1の非同期インタフェース回路におけるデータ転送(バッファからの読み出し)動作のタイミング例を示した図である。“Sys.CLK”から“Sys.Buf./WP(grey)”は、図2と同じであるので説明は省略する。
読み出し処理部31bでは、システムクロックで同期化した書き込みポインタ(図3では、“Sys.Buf./WP(bin.)”)と、読み出しポインタ(図3では“Sys.Buf./RP(bin.)”)とを比較し、一致していないときは、FIFO30からデータを読み出し、読み出しポインタRPを進める。“Sys.Buf./Rd.Data”は、FIFO30に書き込まれているデータ、すなわち、読み出し処理部31bで読み出し可能なデータを示している。図3に示したように、最後のデータd15,16は、FIFO30には書き込まれていない。読み出し処理部31bでは、システムクロックに同期し、書き込みポインタWPが進むごとにデータの読み出しを行う。図3の“Sys.Rd.Data Buf.”に示したように、FIFO30に書き込まれている読み出し可能なデータ(d1,・・・,d14)は、ワード単位で順次読み込まれる。
また、ステートマシン43bは、書き込みポインタ(図3では、“Sys.Buf./RP(bin.)”)が「0」から「1」に変化したとき、次のシステムクロックでステートを「idle」から「state−1」に変更する[b]。同時に、FIFO30からのデータ読み出しも開始される。なお、「state−1」のとき、マルチプレクサ42は、FF44を介して入力するFIFO30からの読み出しデータを選択出力する。したがって、図3の“Sys.Rd.Data Buf.”は、マルチプレクサ42の出力信号に相当する。また、ステートが「state−1」となったことで、カウンタ43aも動作を開始する。カウンタ43aは、システムクロックに同期し、読み出しポインタと書き込みポインタとを比較する。図3では、カウンタ43aの動作は、“Sys.Buf./Counter”で示している。カウンタ43aのカウント値は、FIFO30を介したデータ転送が行われている間は、「1」と「0」を繰り返している。そして、読み出しポインタと書き込みポインタとが一致した状態が継続されると、カウンタの値は、増加していく。カウンタの値が一定値(図3の例では、「4」)に到達すると、ステートマシン43bは、ステートを「state−2」に遷移させる[c]。ステート「state−2」は、システムクロック“Sys.CLK”の1サイクルで初期状態に遷移するステートである。
ステートが「state−2」となったことで、マルチプレクサ42は、システムクロックに同期して、I/Oブロック10のデータ保持回路11に保持されるデータ(d15,d16)を読み出す[d]。こうして、最後のデータ(d15,d16)がシステム部内に取り込まれる。すべてのデータが読み出されたことを検出したアクセス制御ブロックは、読み出し処理を終了し、FF12にライトイネーブル信号WEのリセット指示を行う。そして、FIFO30のライトイネーブル信号WEがリセットされる。ステートは、初期状態「idle」に遷移する。
以上のように、2段以上のデータ転送を行うONFI準拠のシステムにおいて、非同期バッファに書き込まれない最終データを、最終データを保持するデータ保持回路と直接接続する経路を用いて取り込むことが可能となる。これにより、最終データを転送することができるようになり、非同期回路間で確実にデータ転送を行うことが可能となる。
なお、上記の構成では、書き込みポインタと、読み出しポインタとを比較してデータ転送の終了時点を検出し、最終データをデータ保持回路より直接取得していた。一般に、データ転送は、複数ワードをまとめて処理する場合が多く、この場合には確実にデータ転送を行うことができる。
しかし、読み出しデータが最小単位の1ワードであるとき、DQSは1しか発生しない。このため、データ保持回路11のFF1,FF2まではDQ21が転送されるが、FIFO30には書き込まれない。このため、書き込みポインタと読み出しポインタが不一致となることはなく、データ転送の停止を検出する指標とはならない。もちろん、アクセス制御ブロックは、読み出し要求データが1ワードであるか否かを知っているので、データ保持回路11にデータが取り込まれたころを見計らってデータをシステム内部に入力することはできる。
第2の実施の形態では、1ワードのデータ転送を検出し、より確実にシステム内部にデータを転送する。
図4は、第2の実施の形態の非同期インタフェース回路の構成例を示したブロック図である。図1と同じものには同じ番号を付し、説明は省略する。
第2の実施の形態の非同期インタフェース回路は、図1に示した非同期インタフェース回路に、同期回路46を付加した構成である。
同期回路46は、FF3及びFF4を有し、FIFO30のライトイネーブル信号WEを生成するFF12の出力信号を入力し、ライトイネーブル信号WEの変化を検出する。そして、検出されたライトイネーブル信号WEをシステム部へのデータ取り込みを実行する同期信号としてステートマシン43bに通知する。図4の例では、アクセス制御ブロック47を介してステートマシン43bに通知している。どちらの構成でもよい。
こうして通知された同期信号に基づき、ステートマシン43bは、ステートを「state−2」に遷移させる。マルチプレクサ42は、「state−2」を受け、データ保持回路11のFF1及びFF2に保持されるデータを選択出力する。
第2の実施の形態の非同期インタフェース回路において、1ワードをリードする場合の動作について説明する。
図5は、図4の非同期インタフェース回路におけるデータ転送動作のタイミング例を示した図である。各信号は、図2,3に示した同名の信号名と同様である。
アクセス制御ブロック47からは、1ワード分のリードデータを要求するALE/CLE信号が出力される。図5の“Sys.ALE/CLE”で表されたアサートサイクルの間に検出されるシステムクロック“Sys.CLK”は、「1」である。NANDは、クロック・サイクル分のDQ21とDQS22とを出力する[e]。図5の“DQS DQS”で表されたDQS22と同期して、リードデータであるDQ21が8ビット単位で出力される。図5では、“DQS DQ[7:0]”のd1,d2がDQ21を表している。
DQ21であるd1,d2は、DQSシフト信号に同期して、データ保持回路11のFF1とFF2とにそれぞれ取り込まれる(図5の“DQS Upedge−capture FF”と“DQS Downedge−capture FF”)。なお、DQSシフト信号は、FF1,FF2に保持されるデータをFIFO30に書き込む際のクロック信号としても用いられる。しかし、今回のDQSは1クロックであるので、FF1,FF2に保持されるデータをFIFO30に転送することはできない。
しかし、DQSシフト信号の入力が開始されると、WE設定回路12はFIFO30のライトイネーブル信号WE(図5では、“DQS Buf./WE”)をセットする。
また、FIFO30には書き込みが行われないので、書き込みポインタWP及び読み出しポインタRPとも変化はない。しかし、同期回路を構成するFF3(図5の“Sys.Buf./Sync−FF3”)は、FF12(図5の“DQS Buf./WE”)がHighレベルに変化したことを検出した次のシステムクロックでHighレベルに変化する。次のシステムクロック・サイクルでは、FF4(図5の“Sys.Buf./Sync−FF4”)が、FF3の入力を受け、Highレベルに変化する[f]。
FF4がHighレベルに変化したことを直接またはアクセス制御ブロック47経由で検知したステートマシン43bは、ステートを「state−2」に切り替える。これにより、マルチプレクサ42は、I/Oブロック10のデータ保持回路11を選択し、FF1,FF2に保持されるリードデータd1,d2を出力する(図5では、“Sys.Rd.Data Buf”)。その後、初期状態「idle」に戻り、処理を終了する。
「state−2」のときは、1Sys.CLKサイクルで初期状態「idle」に遷移することは、図2,3の場合と同様である。
このように、転送データサイズが最小単位の1ワードであるときは、ライトイネーブル信号WEに基づいてデータの書き込みを検出し、要求データを読み出すことができる。
なお、上記の実施の形態の説明では、ONFIに準拠した非同期インタフェース回路について説明したが、本発明はこれに限定されない。開示の非同期インタフェース回路によれば、転送データ分のクロックのみが発行され、このクロックに基づいて2段以上のデータ伝送を行う非同期インタフェース回路に対し、確実にデータ転送を行うことができる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 非同期回路間でデータを転送する非同期インタフェース回路において、
データ転送元の第1のクロック信号に同期して転送データを所定の単位で順次入力し、次の転送データが入力されるまでの間保持するデータ保持回路と、
前記データ保持回路に接続し、前記データ保持回路に保持される前記転送データを前記第1のクロック信号に同期して順次記憶するとともに、記憶された前記転送データをデータ転送先の第2のクロック信号に同期して記憶された順に読み出す非同期バッファと、
前記非同期バッファと、前記データ保持回路とに接続するとともに、前記第2のクロック信号に同期して前記非同期バッファの動作状態を監視し、前記非同期バッファの動作状態として前記転送データの転送処理中が検出されたときは前記非同期バッファを選択して前記転送データを読み出し、前記転送データの転送処理停止が検出されたときは前記データ保持回路を選択して保持される転送データを読み出し、読み出した前記転送データを前記データ転送先に出力する選択回路と、
を有することを特徴とする非同期インタフェース回路。
(付記2) 前記データ転送元の第1のクロック信号は、前記転送データの読み出し要求を取得したときに、読み出し対象の前記転送データの転送に必要なクロック数分の信号のみが生成されるクロック信号であり、前記データ転送先の第2のクロック信号は装置全体を動作させるシステムクロックである、ことを特徴とする付記1記載の非同期インタフェース回路。
(付記3) 前記データ保持回路は、前記第1のクロック信号に同期して入力されるデータを保持するフリップフロップ回路であることを特徴とする付記1または2記載の非同期インタフェース回路。
(付記4) 前記非同期バッファに前記転送データを書き込む領域を指示する書き込みポインタと、前記非同期バッファから前記転送データを読み出す領域を指示する読み出しポインタとを比較し、前記書き込みポインタと前記読み出しポインタとが一致している時間を計時するカウンタを有し、
前記選択回路は、前記カウンタの値が所定の値を超えたとき、前記非同期バッファを介した前記転送データの転送処理が停止したと判断する、
ことを特徴とする付記1〜3記載の非同期インタフェース回路。
(付記5) 前記第1のクロック信号に同期する前記転送データの前記非同期バッファへの書き込み許可信号を監視し、前記書き込み許可信号が所定の期間許可状態にあるときは、前記書き込み許可信号を同期信号として検出する同期回路を、さらに有し、
前記選択回路は、前記非同期バッファに対する前記転送データの転送処理停止が検出され、かつ、前記書き込みデータ有が検出されたときは、前記データ保持回路から読み出した転送データを選択出力する、
ことを特徴とする付記1〜4記載の非同期インタフェース回路。
(付記6) 非同期回路間でのデータ転送を制御する非同期データ転送方法において、
データ保持回路が、データ転送元の第1のクロック信号に同期して転送データを所定の単位で順次入力し、次の転送データが入力されるまでの間保持し、
非同期バッファが、前記データ保持回路に接続し、前記データ保持回路に保持される前記転送データを前記第1のクロック信号に同期して順次記憶するとともに、記憶された前記転送データをデータ転送先の第2のクロック信号に同期して記憶された順に読み出し、
選択回路が、前記非同期バッファと、前記データ保持回路とに接続するとともに、前記第2のクロック信号に同期して前記非同期バッファの動作状態を監視し、前記非同期バッファの動作状態として前記転送データの転送処理中が検出されたときは前記非同期バッファを選択して前記転送データを読み出し、前記転送データの転送処理停止が検出されたときは前記データ保持回路を選択して保持される転送データを読み出し、読み出した前記転送データを前記データ転送先に出力する、
ことを特徴とする非同期データ転送方法。
10 I/Oブロック
11 データ保持回路
12 WE設定回路
21 DQ
22 DQS
23 ALE/CLE
30 非同期バッファ(FIFO)
31 転送処理部
41 システムクロック
42 マルチプレクサ
43 監視部

Claims (4)

  1. ONFI(Open NAND Flash Interface)に従って非同期回路間でデータを転送する非同期インタフェース回路において、
    データ転送元の第1のクロック信号に同期して所定の単位で順次入力される転送データを、次の転送データが入力されるまでの間保持するデータ保持回路と、
    前記データ保持回路に接続され、前記データ保持回路に保持される前記転送データを前記第1のクロック信号に同期して順次記憶するとともに、記憶された前記転送データをデータ転送先の第2のクロック信号に同期して記憶された順に読み出す非同期バッファと、
    前記非同期バッファと、前記データ保持回路とに接続するとともに、前記第2のクロック信号に同期して前記非同期バッファの動作状態を監視し、前記非同期バッファの動作状態として前記転送データの転送処理中が検出されたときは前記非同期バッファを選択して前記転送データを読み出し、前記転送データの転送処理停止が検出されたときは前記データ保持回路を選択して保持される転送データを読み出し、読み出した前記転送データを前記データ転送先に出力する選択回路と、
    を有することを特徴とする非同期インタフェース回路。
  2. 前記非同期バッファに前記転送データを書き込む領域を指示する書き込みポインタと、前記非同期バッファから前記転送データを読み出す領域を指示する読み出しポインタとを比較し、前記書き込みポインタと前記読み出しポインタとが一致している時間を計時するカウンタを有し、
    前記選択回路は、前記カウンタの値が所定の値を超えたとき、前記非同期バッファを介した前記転送データの転送処理が停止したと判断する、
    ことを特徴とする請求項1記載の非同期インタフェース回路。
  3. 前記第1のクロック信号に同期する前記転送データの前記非同期バッファへの書き込み許可信号を監視し、前記書き込み許可信号が所定の期間許可状態にあるときは、前記書き込み許可信号を同期信号として検出する同期回路を、さらに有し、
    前記選択回路は、前記非同期バッファに対する前記転送データの転送処理停止が検出され、かつ、前記書き込みデータ有が検出されたときは、前記データ保持回路から読み出した転送データを選択出力する、
    ことを特徴とする請求項1または2記載の非同期インタフェース回路。
  4. ONFIに従って非同期回路間でのデータ転送を制御する非同期データ転送方法において、
    データ保持回路が、データ転送元の第1のクロック信号に同期して所定の単位で順次入力される転送データを、次の転送データが入力されるまでの間保持し、
    記データ保持回路に接続された非同期バッファが、前記データ保持回路に保持される前記転送データを前記第1のクロック信号に同期して順次記憶するとともに、記憶された前記転送データをデータ転送先の第2のクロック信号に同期して記憶された順に読み出し、
    選択回路が、前記非同期バッファと、前記データ保持回路とに接続するとともに、前記第2のクロック信号に同期して前記非同期バッファの動作状態を監視し、前記非同期バッファの動作状態として前記転送データの転送処理中が検出されたときは前記非同期バッファを選択して前記転送データを読み出し、前記転送データの転送処理停止が検出されたときは前記データ保持回路を選択して保持される転送データを読み出し、読み出した前記転送データを前記データ転送先に出力する、
    ことを特徴とする非同期データ転送方法。
JP2009129798A 2009-05-29 2009-05-29 非同期インタフェース回路及び非同期データ転送方法 Active JP4998519B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009129798A JP4998519B2 (ja) 2009-05-29 2009-05-29 非同期インタフェース回路及び非同期データ転送方法
US12/787,020 US8356203B2 (en) 2009-05-29 2010-05-25 Asynchronous interface circuit and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009129798A JP4998519B2 (ja) 2009-05-29 2009-05-29 非同期インタフェース回路及び非同期データ転送方法

Publications (2)

Publication Number Publication Date
JP2010278798A JP2010278798A (ja) 2010-12-09
JP4998519B2 true JP4998519B2 (ja) 2012-08-15

Family

ID=43221635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009129798A Active JP4998519B2 (ja) 2009-05-29 2009-05-29 非同期インタフェース回路及び非同期データ転送方法

Country Status (2)

Country Link
US (1) US8356203B2 (ja)
JP (1) JP4998519B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010012428A1 (de) * 2009-08-20 2011-02-24 Rohde & Schwarz Gmbh & Co. Kg Kodiervorrichtung, Vorrichtung zur Weiterverarbeitung eines digitalen Basisband- oder Zwischenfrequenzsignals, System und Verfahren zur externen digitalen Kodierung
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
GB2503472A (en) 2012-06-27 2014-01-01 Nordic Semiconductor Asa Data transfer between clock domains following clock transition in destination domain
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9323312B2 (en) * 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
GB2513529A (en) * 2012-11-15 2014-11-05 Ibm System and method of low latency data tranfer between clock domains operated in various synchronization modes
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
KR102248279B1 (ko) 2014-06-13 2021-05-07 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 및 메모리 컨트롤러 사이의 통신을 중개하는 리타이밍 회로의 동작 방법
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
GB2539459A (en) * 2015-06-16 2016-12-21 Nordic Semiconductor Asa Waveform generation
CN117991867B (zh) * 2024-04-01 2024-06-14 合肥奎芯集成电路设计有限公司 一种onfi物理层的通路时钟控制电路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0730528A (ja) 1993-07-09 1995-01-31 Fujitsu Ltd クロック乗換回路
JPH07115410A (ja) 1993-10-15 1995-05-02 Fujitsu Ltd データ挿入機能付きクロック乗換回路
JPH07249010A (ja) * 1994-03-10 1995-09-26 Hitachi Ltd ジョブスケジューラおよびジョブスケジューリング方法
JP2000295295A (ja) * 1999-04-08 2000-10-20 Kokusai Electric Co Ltd ブロック・データ転送用バッファメモリ及びシリアルデータ送受信システム
US6724683B2 (en) * 2002-03-06 2004-04-20 Applied Micro Circuits Corporation Transferring data between different clock domains
JP4143907B2 (ja) * 2002-09-30 2008-09-03 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5013446B2 (ja) * 2006-03-17 2012-08-29 株式会社リコー メモリ制御装置およびこれを用いた表示装置
JP4758311B2 (ja) * 2006-09-14 2011-08-24 Okiセミコンダクタ株式会社 非同期データ保持回路
US8095717B1 (en) * 2007-10-17 2012-01-10 Marvell International Ltd. System and method for configuration register synchronization

Also Published As

Publication number Publication date
JP2010278798A (ja) 2010-12-09
US8356203B2 (en) 2013-01-15
US20100306570A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP4998519B2 (ja) 非同期インタフェース回路及び非同期データ転送方法
US7962669B2 (en) Memory controller and memory control method
US6763416B1 (en) Capturing read data
US7542371B2 (en) Memory controller and memory system
KR20060101334A (ko) 메모리 인터페이스 제어 회로
KR100910852B1 (ko) 반도체 메모리 소자
JP2010122842A (ja) 遅延調整装置、半導体装置及び遅延調整方法
JP5637145B2 (ja) バスモニタ回路及びバスモニタ方法
US7966435B2 (en) Integrated circuit design structure for an asychronous data interface
US20150146477A1 (en) Semiconductor device
US8180990B2 (en) Integrated circuit including a plurality of master circuits transmitting access requests to an external device and integrated circuit system including first and second interated circuits each including a plurality of master circuits transmitting access requests
US8688944B2 (en) Memory sharing between embedded controller and central processing unit chipset
KR100935728B1 (ko) 스트로브 신호 제어 회로
JP2007334943A (ja) メモリ制御装置
US7966468B1 (en) Apparatus, system, and method for fast read request transfer through clock domains
JP2004280558A (ja) インタフェース回路及びインタフェース回路を有する光ディスク装置
JP4569163B2 (ja) データ入出力装置およびデータ入出力方法
JP4696003B2 (ja) データ転送回路
US20230087576A1 (en) Domain-selective control component
JP3592169B2 (ja) 非同期データ転送制御装置および非同期データ転送制御方法
US7852689B2 (en) Semiconductor integrated circuit and method of measuring a maximum delay
JPH11328961A (ja) 電子回路装置及びインタフェース回路
JP2003196972A (ja) メモリ装置
JP2002324009A (ja) メモリ制御方法及びメモリ制御システム
JP5258039B2 (ja) インタフェース回路およびクロック/データ供給方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120430

R150 Certificate of patent or registration of utility model

Ref document number: 4998519

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3