JP2006099244A - データ信号取得装置 - Google Patents

データ信号取得装置 Download PDF

Info

Publication number
JP2006099244A
JP2006099244A JP2004282149A JP2004282149A JP2006099244A JP 2006099244 A JP2006099244 A JP 2006099244A JP 2004282149 A JP2004282149 A JP 2004282149A JP 2004282149 A JP2004282149 A JP 2004282149A JP 2006099244 A JP2006099244 A JP 2006099244A
Authority
JP
Japan
Prior art keywords
data signal
signal
data
output
delay
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
JP2004282149A
Other languages
English (en)
Inventor
Ryuichi Tsuji
龍一 辻
Fumitaka Sugimoto
文孝 杉本
Kazumasa Obikawa
一誠 帯川
Shuji Otsuka
修司 大▲塚▼
Keiji So
慶治 荘
Yoshikuni Shimazawa
嘉邦 島沢
Mitsuaki Ishii
光明 石井
Osamu Shibata
理 芝田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004282149A priority Critical patent/JP2006099244A/ja
Publication of JP2006099244A publication Critical patent/JP2006099244A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Dram (AREA)

Abstract

【課題】 データ信号のタイミングに応じてデータ信号を適切に取得することができる技術を提供することを目的とする。
【解決手段】 データ信号を互いに異なる複数のタイミングで取得することによって、元となるデータ信号が取得されたタイミングが互いに異なる複数種類の中継されたデータ信号である中間データ信号を出力し、出力された複数種類の中間データ信号の中から1種類の中間データ信号を選択して取得する。
【選択図】 図3

Description

本発明は、データ信号を取得するデータ信号取得装置に関するものである。
従来より、半導体メモリに対するデータの読み書きを行う装置としてメモリコントローラが用いられている。メモリコントローラは、半導体メモリに読出要求を送信し、半導体メモリから送られてくるデータ信号を取得する。ここで、データ信号を適切に取得するために様々な工夫がなされている。例えば、データ信号と、データ信号に同期させたデータストローブ信号と、の両方を用いてデータ信号を取得する方法が用いられている(例えば、特許文献1参照)。
特開2001−331365号公報
ところで、近年では、電子機器の性能の向上のために、データ信号の転送速度の高速化が図られている。データ信号の転送速度を高めると、データ信号の切り替わりも高速に行われることとなる。データ信号の取得は、このような切り替わりに追従して行われることが要求される。ところが、データ信号がメモリコントローラに到達するタイミングは、半導体メモリの個体差や配線の長さやレイアウト等の種々の要因によって変わり得る。その結果、データ信号を適切に取得できなくなる場合があった。
なお、このような問題は、データストローブ信号を用いるメモリコントローラに限らず、データストローブ信号を用いずにデータ信号の取得を行うメモリコントローラにも共通する問題であった。また、半導体メモリからデータ信号を取得する装置に限らず、他の種々の装置から送信されるデータ信号を取得する装置にも共通する問題であった。
本発明は、上述した従来の課題を解決するためになされたものであり、データ信号のタイミングに応じてデータ信号を適切に取得することができる技術を提供することを目的とする。
上述の課題の少なくとも一部を解決するために、本発明のデータ信号取得装置は、データ信号を出力するデータ信号出力装置から前記データ信号を取得するデータ信号取得装置であって、前記データ信号出力装置が出力する前記データ信号を取得して中継する中継部と、前記中継部の出力信号を取得する信号取得部と、を備え、前記中継部は、前記データ信号を互いに異なる複数のタイミングで取得することによって、N種類(Nは2以上の整数)の中間データ信号を生成する中間データ信号生成部と、前記N種類の中間データ信号の中から1種類の中間データ信号を選択して前記信号取得部に出力する選択部と、を備える。
このデータ信号取得装置によれば、データ信号出力装置が出力するデータ信号を、互いに異なる複数種類のタイミングで取得し、取得したN種類の中間データ信号の中から、1種類のデータ信号を選択して取得するので、データ信号のタイミングに応じてデータ信号を適切に取得することができる。
上記データ信号取得装置において、さらに、前記データ信号出力装置に対して前記データ信号の出力要求を送信するデータ信号要求部を備え、前記データ信号要求部が前記データ信号出力装置へ前記出力要求を送信してから、前記信号取得部が前記選択部によって出力されたデータ信号を取得するまでの時間を待ち時間と呼ぶときに、前記中間データ信号生成部は、各中間データ信号が前記信号取得部によって取得されるときの前記待ち時間が前記各中間データ信号で共通の同じ時間となるように、前記データ信号を取得してから前記各中間データ信号を出力するまでの時間を、前記複数種類の中間データ信号の少なくとも一部に関して遅延させることが好ましい。
この構成によれば、信号取得部は、取得されたタイミングが互いに異なるN種類の中間データ信号のそれぞれを、共通の同じ待ち時間で取得することができるので、信号取得部の構成を簡単なものとすることができる。
上記データ信号取得装置において、さらに、所定のクロック信号を生成するクロック信号生成部を備え、前記信号取得部は、前記所定のクロック信号に同期して前記選択部によって出力されたデータ信号を取得し、前記中間データ信号生成部は、前記クロック信号を可変の遅延時間だけ遅延させて遅延クロック信号を生成する可変遅延クロック信号生成部と、前記遅延クロック信号に同期して前記データ信号を取得するN個の前段取得部と、前記各前段取得部毎に設けられ、前記前段取得部が取得した前記データ信号を伝達することによって前記N種類の中間データ信号を出力するN個の伝達部と、を備え、前記N個の伝達部の少なくとも一部は、前記データ信号を遅延させて伝達することとしてもよい。
この構成によれば、取得されたタイミングが互いに異なるN種類の中間データ信号が、N個の前段取得部と各前段取得部毎に設けられたN個の伝達部とを用いて出力されるので、中間データ信号生成部の構成が過剰に複雑化することを防止することができる。
上記データ信号取得装置において、さらに、所定のクロック信号を生成するクロック信号生成部を備え、前記信号取得部は、前記所定のクロック信号に同期して前記選択部によって出力されたデータ信号を取得し、前記中間データ信号生成部は、前記クロック信号を可変の遅延時間だけ遅延させて遅延クロック信号を生成する可変遅延クロック信号生成部と、前記遅延クロック信号に同期して前記データ信号を取得する前段取得部と、前記前段取得部が取得した前記データ信号を伝達することによって前記中間データ信号を出力する伝達部と、を備え、前記伝達部は、直列に接続された1つ以上の遅延回路を備え、前記中間データ信号生成部は、前記前段取得部の出力信号と、前記各遅延回路のそれぞれの出力信号と、を含む複数種類の出力信号の中の少なくとも一部の複数種類の出力信号を、前記N種類の中間データ信号の中の少なくとも一部の複数種類の中間データ信号として出力することとしてもよい。
この構成によれば、取得されたタイミングが互いに異なる複数種類の中間データ信号の生成に共通の前段取得部が用いられるので、中間データ信号生成部の小型化を図ることが可能となる。
上記各データ信号取得装置において、前記データ信号出力装置は複数のデータ信号を並列に出力し、前記前段取得部は、前記複数のデータ信号を、共通の前記遅延クロック信号に同期して取得し、前記伝達部は、前記複数のデータ信号を並列に伝達することによって、元となる前記データ信号が取得されたタイミングが同じである複数の前記中間データ信号を出力することとしてもよい。
この構成によれば、複数のデータ信号を並列に扱う場合であっても、共通の遅延クロック信号に基づいて取得のタイミングを決定することができるので、中間データ信号生成部の構成が過剰に複雑化することを防止することができる。
上記各データ信号取得装置において、前記データ信号出力装置は前記クロック信号に同期して前記クロック信号の所定の基準周期毎に前記データ信号を出力する半導体メモリであり、前記前段取得部は、前記遅延クロック信号の前記基準周期のM倍(Mは2以上の整数)の周期毎に前記データ信号を取得するM個の部分前段取得部を備え、前記M個の部分前段取得部のそれぞれが前記データ信号を取得するタイミングは、時系列に沿って前記基準周期毎に順番に並ぶように設定されており、前記伝達部は、前記M個の部分前段取得部毎に設けられ、前記部分前段取得部が取得した前記データ信号を伝達することによってM種類の部分中間データ信号を出力するM個の部分伝達部を備え、前記選択部は、前記M個の部分伝達部毎に設けられ、前記部分中間データ信号を選択して前記信号取得部に出力するM個の部分選択部を備えることとしてもよい。
この構成によれば、前段取得部と伝達部と選択部とのそれぞれがM個の処理系列に分けられ、各処理系列は、基準周期のM倍の周期でデータ信号を取得して出力するので、データ信号の転送速度を各処理系列の処理速度のM倍の速度に高速化することができる。
上記各データ信号取得装置において、前記データ信号出力装置は半導体メモリであってもよい。
この構成によれば、半導体メモリからのデータ信号を適切に取得することが可能となる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、データ信号取得装置、半導体メモリとデータ信号取得装置とを備えた半導体メモリシステム、半導体メモリシステムを備えた電子機器等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.変形例:
A.第1実施例:
図1(A)は、本発明の一実施例としてのメモリシステムの構成を示すブロック図である。このメモリシステム300は、データ取得装置100と、DDRメモリ200と、を備えている。データ取得装置100は、可変データディレイ回路110と、メモリコントローラ120と、可変クロックディレイ回路130と、クロック生成回路140と、ディレイ設定回路150と、キャリブレーション回路160と、を備えている。
クロック生成回路140は、クロック信号CLKを生成し、クロック信号CLKをメモリシステム300の各構成要素に供給する。クロック生成回路140の構成としては、自発的に発振してクロック信号CLKを生成する構成を採用してもよく、また、外部から供給された基準クロック信号に従ってクロック信号CLKを生成する構成を採用してもよい。また、クロック生成回路140は、クロック信号CLKとは位相を180度だけずらした逆位相クロック信号#CLKを生成し、生成した逆位相クロック信号#CLKもDDRメモリ200に供給している。
可変クロックディレイ回路130は、クロック信号CLKを遅延させて遅延クロック信号DCLKを生成し、生成した遅延クロック信号DCLKを可変データディレイ回路110に供給する。
DDRメモリ200は、DDR−SDRAM(Double Data Rate Synchronous DRAM)である。このDDRメモリ200は、アドレスが連続する複数のデータを、クロック信号CLKの1/2周期毎にデータ信号を切り替えて、連続して「書き込み」または「読み出し」を実行することが可能である(「バースト転送」とも呼ばれる)。例えば、4つのデータを読み出す場合には、1/2周期毎に1アドレス分ずつのデータ信号が順番に連続して出力される。以下、DDRメモリ200から読み出しを行う際に、4つのデータを連続して転送するバースト転送を行うこととして説明を行う。なお、第1実施例では、DDRメモリ200は、1つのアドレスに16ビットのデータを格納することとしている。そこで、DDRメモリ200とデータ取得装置100とは、16本(16ビット)のデータ線で接続されている。
可変データディレイ回路110は、DDRメモリ200によって出力されたデータ信号(以下「メモリデータ信号」とも呼ぶ)を取得してメモリコントローラ120に転送する。また、可変データディレイ回路110は、2アドレス分(32ビット)のデータ信号を並列に出力する。
メモリコントローラ120は、可変データディレイ回路110によって出力されたデータ信号を取得する。メモリコントローラ120は、図示しないCPUからの要求に従って、DDRメモリ200に出力要求を送信し、さらに、取得したデータ信号を、CPUに転送する。
ディレイ設定回路150は、可変データディレイ回路110と可変クロックディレイ回路130とを制御して、各ディレイ回路110、130の遅延時間(「遅延量」とも呼ばれる)を設定する(詳細は後述)。
キャリブレーション回路160は、メモリコントローラ120がDDRメモリ200からのデータ信号を適切に取得することが可能となるように、各ディレイ回路110、130の設定(遅延時間)を決定する。ディレイ設定回路150は、採用された設定に従って、各ディレイ回路110、130を制御する。
図1(B)は、キャリブレーション回路160を中心とするメモリシステム300の構成を示すブロック図である。キャリブレーション回路160は、キャリブレーション制御回路162と、設定値メモリ163と、最適値決定回路164と、比較結果メモリ165と、データ比較回路166と、を備える算術論理演算回路である。キャリブレーション回路160の各構成要素の機能については後述する。なお、図1(B)では、クロック生成回路140の図示が省略されている。
図2は、可変クロックディレイ回路130の構成を示すブロック図である。この可変クロックディレイ回路130は、オフセットディレイバッファ(OffDB)132と、オフセットセレクタSL10と、直列に接続された15個のディレイバッファ(DB)1301〜1315と、4つの中段ディレイセレクタSL20〜SL23と、終段ディレイセレクタSL30と、インバータINVと、を備えている。
OffDB132と、DB1301〜1315とは、信号を遅延させて出力する遅延回路であり、種々の周知の構成を採用することができる。例えば、複数のゲート回路(NAND回路やインバータ回路等)を直列に接続した構成を採用してもよく、所定の長さの配線を用いて信号を遅延させる構成を採用してもよい。
セレクタSL10、SL20〜SL23、SL30は、複数の入力信号の中から1つを選択して出力する選択回路である。
OffDB132には、クロック信号CLKが供給される。このOffDB132の遅延量は、クロック信号CLKの1/4周期の時間と略同じとなるように設定されている(詳細は後述)。OffDB132の出力信号は、オフセットセレクタSL10に供給される。また、オフセットセレクタSL10には、クロック信号CLKも供給される。オフセットセレクタSL10は、クロック信号CLKと、遅延されたクロック信号と、の一方を選択して出力する。
オフセットセレクタSL10の出力側には、15個のディレイバッファ(DB)1301〜1315が直列に接続されている。各DB1301〜1315の遅延量は、クロック信号CLKの略1/2周期の時間を、ディレイバッファの数で等分した値に設定されている。第1実施例では、ディレイバッファの数が15であり、各DB1301〜1315の遅延量は、略1/30(=1/2/15)周期分の時間に設定されている。
図2の例では、直列に接続された15個のDB1301〜1315から取り出される16の出力信号の中の1つの出力信号が、遅延クロック信号DCLKの生成のために用いられる。出力信号の選択は、2段階に分けて行われる。まず、16の出力信号は、4つずつの4つのグループG1〜G4に分けられ、各グループG1〜G4毎に1つの出力信号が選択される。この選択は、各グループG1〜G4毎に設けられた中段ディレイセレクタSL20〜SL23によって行われる。次に、各グループG1〜G4から1つずつ選ばれた4つの出力信号の中から、1つの出力信号が選択される。この選択は、終段ディレイセレクタSL30によって行われる。終段ディレイセレクタSL30の出力側には、反転出力を正転出力に戻すインバータINVが接続されている。インバータINVの出力信号は遅延クロック信号DCLKとして利用される。
各ディレイセレクタSL20〜SL23、SL30の選択肢を設定すれば、終段ディレイセレクタSL30の出力信号を、0個〜15個の任意の数のディレイバッファを経由した信号とすることができる。換言すれば、遅延クロック信号DCLKの遅延時間を、0〜1/2周期の範囲内の16段階の任意の値に設定することができる。また、オフセットセレクタSL10の選択肢を設定すれば、遅延時間を略1/4周期時間だけ延長することができる。
各セレクタSL10、SL20〜SL23、SL30の選択肢は、メモリコントローラ120がDDRメモリ200からのデータ信号を適切に取得することが可能となるように設定される(詳細は後述)。また、各セレクタSL10、SL20〜SL23、SL30の選択肢は、ディレイ設定回路150によって制御される。
図3は、可変データディレイ回路110の構成を示すブロック図である。この可変データディレイ回路110は、並列に設けられた3つの中間処理回路T1〜T3と、エッジセレクタESと、終段出力回路FOと、を備えている。
3つの中間処理回路T1〜T3は、それぞれ、1/2周期毎に1ワード(16ビット)ずつのデータ信号(「ワード信号」とも呼ぶ)を取得し、1周期毎に2ワード(32ビット)ずつのデータ信号(「ダブルワード信号」とも呼ぶ)を並列に出力する。また、各中間処理回路T1〜T3の出力信号は、各中間処理回路T1〜T3がDDRメモリ200から取得したメモリデータ信号と同じデータを表している。ただし、元となるメモリデータ信号が取得されたタイミングが互いに異なっている(詳細は後述)。
各中間処理回路T1〜T3から出力されたダブルワード信号はエッジセレクタESに供給される。エッジセレクタESは、3つの中間処理回路T1〜T3から取得した3種類のダブルワード信号の中から1種類のダブルワード信号を選択して終段出力回路FOに供給する。終段出力回路FOは、取得したダブルワード信号をメモリコントローラ120へ転送する。メモリコントローラ120は、クロック信号CLK信号に同期して、このダブルワード信号を取得する。
なお、エッジセレクタESの選択肢は、メモリコントローラ120がDDRメモリ200からのデータ信号を適切に取得することが可能となるように設定される(詳細は後述)。また、エッジセレクタESの選択肢は、ディレイ設定回路150によって制御される。
図4は、可変データディレイ回路110の動作の概要を示すタイミングチャートである。図4には、エッジセレクタESが第1中間処理回路T1から出力されるダブルワード信号を選択する場合が示されている。
メモリコントローラ120は、DDRメモリ200に対して、データの読出要求を送信する。具体的には、メモリコントローラ120は、まず、アクティブ(Active)コマンドと行アドレスとを表す信号をDDRメモリ200に送信し(図示省略)、一定時間(例えば、クロック信号CLKの2周期分の時間)が経過した後に、リード(Read)コマンドと列アドレスとを表す信号をDDRメモリ200に送信する。DDRメモリ200は、これらの要求を、クロック信号CLKの立ち上がりエッジに同期して取得(判断)する。そこで、メモリコントローラ120は、これらの要求を、クロック信号CLKの立ち上がりエッジに同期して送信する。ただし、要求を表す信号は、そのエッジよりも所定の時間だけ早く出力される。これは、クロック信号CLKの立ち上がりエッジにおいて、これらの要求の信号値を確定させるためである。
行アドレスと列アドレスとは、先頭のデータを指定するアドレスである。DDRメモリ200は、指定されたデータを先頭に、アドレスが連続する指定された数のデータを出力する。連続して読み出されるデータの数は「バースト長」とも呼ばれる。バースト長としては、例えば、「2、4、8」の中から選択することができる。バースト長は、予め、メモリコントローラ120がDDRメモリ200に対して指定しておく。以下の説明では、バースト長として「4」が指定されたものとしている。
DDRメモリ200は、リードコマンドを取得した後、一定時間(例えば、クロック信号CLKの2周期分の時間)が経過した後に、クロック信号CLKに同期してデータ信号を送信し始める。ただし、データ信号の発生のタイミングとクロック信号CLKのエッジとは一致していない場合もある。このズレは、DDRメモリ200の個体差等の種々の要因によって生じ得る。このように、本明細書において、「ある信号がクロック信号CLKに同期する」という文言は、その信号がクロック信号CLKのエッジと同じ時刻に発生することを必ずしも意味している訳ではなく、クロック信号CLKのエッジと一定の時間的な関係を保って発生することを意味している。
メモリデータ信号(ワード信号)は、図3の可変データディレイ回路110(第1中間処理回路T1)に供給される。図4中の「DATA1」は、メモリデータ信号(ワード信号)が第1中間処理回路T1に届くタイミングを示している。また、「クロック信号CLK」には、番号(0、i、i+1,・・・。iは1以上の整数)が付され、「遅延クロック信号DCLK」には、番号(j、j+1、・・・。jは1以上の整数)が付されている。これらの番号i、jは、リードコマンドの送信から数えたクロック数を意味している。図4の例では、リードコマンドが同期するクロックの番号を「0」としている。なお、番号「i」と番号「j」との違いは、クロック信号CLKと遅延クロック信号DCLKとの違いを意味しており、数値そのものは同じ値となる。以下、i番目のクロック信号CLKを「iクロック」とも呼び、j番目の遅延クロック信号DCLKを「j遅延クロック」とも呼ぶ。
図4の例では、1番目の第1データ信号D1は、iクロックがHレベルである間に第1中間処理回路T1に到達している。以後、1/2周期分の時間毎に、3組のデータ信号D2、D3、D4が順に到達する。各組のデータ信号D1〜D4は、16ビット分のデータ信号を含んでいる。なお、各組のデータ信号D1〜D4の到達のタイミングとクロック信号CLKのエッジとが一致していないのは、DDRメモリ200の個体差や、DDRメモリ200とデータ取得装置100(第1中間処理回路T1)とを接続する配線による遅延があるからである。
また、図4の例では、遅延クロック信号DCLKのエッジが、各データ信号D1〜D4の中央付近のタイミングとなるように、可変クロックディレイ回路130が設定されている。
第1中間処理回路T1(図3)は、第1奇伝達回路T1aと、第1偶伝達回路T1bと、を備えている。第1奇伝達回路T1aは、直列に接続された3つのDフリップフロップ(DFF)11a〜13aを備え、第1偶伝達回路T1bは、直列に接続された2つのDフリップフリップ(DFF)11b、12bを備えている。各DFF11a〜12bは、いずれも、16ビット分の並列なDフリップフロップを表している。メモリデータ信号は、各伝達回路T1a、T1bの先頭に設けられた第1のDFF11a、11bに供給される。
図4の符号「Q11a」〜「Q12b」は、各DFF11a〜12bの出力信号を示している。以下、回路を示す符号の前に文字「Q」を加えた符号を、その回路の出力信号を示す符号として用いる。第1奇伝達回路T1aの第1のDFF11aは、遅延クロック信号DCLKの立ち下がりエッジに同期してメモリデータ信号を取得する(図3)。図4の例では、j遅延クロックの立ち下がりエッジに同期して第1データ信号D1を取得する。さらに、次の「j+1」遅延クロックの立ち下がりエッジに同期して第3データ信号D3を取得する。このように、第1のDFF11aは、1周期毎に1ワードのデータ信号を取得して出力(Q11a)する。また、第1のDFF11aは、連続する4つのデータ信号D1〜D4のうち、1つおきのデータ信号を取得する(図4の例では、奇数番目のデータ信号D1、D3)。
次の第2のDFF12aは、出力信号Q11aを遅延クロック信号DCLKの立ち上がりエッジに同期して取得して出力(Q12a)する。次の第3のDFF13aは、この出力信号Q12aをクロック信号CLKの立ち上がりエッジに同期して取得して出力(Q13a)する。図4では、出力信号Q12aは、「j+1」遅延クロックの立ち上がりエッジに同期して第1データ信号D1に変化し、「j+2」遅延クロックの立ち上がりエッジに同期して第3データ信号D3に変化する。また、出力信号Q13aは、「i+2」クロックの立ち上がりエッジに同期して第1データ信号D1に変化し、「i+3」クロックの立ち上がりエッジに同期して第3データ信号D3に変化する。
一方、第1偶伝達回路T1bの第1のDFF11b(図3)は、遅延クロック信号DCLKの立ち上がりエッジに同期してメモリデータ信号を取得して出力(Q11b)する。図4では、「j+1」遅延クロックの立ち上がりエッジに同期して第2データ信号D2を取得し、「j+2」遅延クロックの立ち上がりエッジに同期して第4データ信号D4を取得する。このように、第1のDFF11bは、第1奇伝達回路T1aの第1DFF11aとは1/2周期だけ異なるタイミングで、1周期毎に1ワードのデータ信号を取得する。その結果、第1DFF11bは、連続する4つのデータ信号D1〜D4のうち、第1DFF11aとは互い違いの、1つおきのデータ信号を取得する(図4の例では、偶数番目のデータ信号D2、D4)。
次の第2のDFF12bは、出力信号Q11bをクロック信号CLKの立ち上がりエッジに同期して取得して出力する(Q12b)。図4では、「i+2」クロックの立ち上がりエッジに同期して第2データ信号D2を出力し、「i+3」クロックの立ち上がりエッジに同期して第4データ信号D4を出力する。
このように、2つの伝達回路T1a、T1bの全体は、DDRメモリ200から、1/2周期毎に1ワードずつ(16ビットずつ)連続的に4組のデータ信号D1〜D4を取得し、1周期毎に2ワードずつ(32ビットずつ)出力する。
2つの伝達回路T1a、T1b(図3)の出力信号Q13a、Q12bは、エッジセレクタESによって選択され、終段出力回路FOに転送される。終段出力回路FOは、クロック信号CLKの立ち上がりエッジに同期してデータ信号を取得する2つのDFF40a、40bを備えている。第1DFF40aは出力信号Q13aを取得して出力し(Q40a)、第2DFF40bは出力信号Q12bを取得して出力する(Q40b)。
図4には、これらの出力信号Q40a、Q40bが示されている。出力信号Q40aは、「i+3」クロックの立ち上がりエッジに同期して第1データ信号D1に変化し、出力信号Q40bは、同じの立ち上がりエッジに同期して第2データ信号D2に変化する。同様に、各出力信号Q40a、Q40bは、それぞれ、「i+4」クロックの立ち上がりエッジに同期して、第3データ信号D3、第4データ信号D4に変化する。
これらの出力信号Q40a、Q40bは、メモリコントローラ120によって取得される。メモリコントローラ120は、クロック信号CLKの立ち下がりエッジに同期してデータ信号を取得する。図4では、「i+3」クロックの立ち下がりエッジに同期してデータ信号D1、D2を取得し、「i+4」クロックの立ち下がりエッジに同期してデータ信号D3、D4を取得する。以下、最初のデータ信号を取得するタイミングを「第1取得タイミングTD1」と呼び、次に取得するタイミングを「第2取得タイミングTD2」と呼ぶ。
このように、メモリコントローラ120は、リードコマンドを発行してから一定時間(「i+3+1/2」周期分の時間)だけ経過した後に、1周期毎に2ワードずつ(32ビットずつ)のデータ信号を取得する。
図5は、可変データディレイ回路110の動作の概要を示すタイミングチャートの別の例を示している。図4の例との差異は2点ある。1つ目は、メモリデータ信号D1〜D4が可変データディレイ回路110に到達するタイミングが、図4の例と比べて、略1/2周期だけ遅い点である。2つ目は、エッジセレクタESが、第1中間処理回路T1の代わりに第2中間処理回路T2から出力されるダブルワード信号を選択する点である。なお、メモリコントローラ120がデータ信号を取得するタイミングTD1、TD2は、図4の例と同じである。
図5中の「DATA2」は、メモリデータ信号が図3の可変データディレイ回路110(第2中間処理回路T2)に届くタイミングを示している。図5の例では、第1データ信号D1は、図4の例よりも略1/2周期だけ遅れたタイミングで(iクロックがLレベルである間に)第2中間処理回路T2に到達している。このような到達時刻の遅れは、DDRメモリ200と可変データディレイ回路110(第2中間処理回路T2)とを結ぶ配線が図4の例よりも長い場合等に起こり得る。
また、図5の例では、可変クロックディレイ回路130の設定は、遅延クロック信号DCLKのエッジが、各データ信号D1〜D4の中央付近のタイミングとなるように設定されている。なお、図5の例での可変クロックディレイ回路130の設定(遅延量)は、図4の例での設定と同じである。
第2中間処理回路T2(図3)は、第2奇伝達回路T2aと第2偶伝達回路T2bとを備えている。第2奇伝達回路T2aは、直列に接続された3つのDフリップフロップ(DFF)21a〜23aを備え、第2偶伝達回路T2bは、直列に接続された2つのDフリップフロップ(DFF)21b、22bを備えている。上述した第1中間処理回路T1との差異は、各DFFのエッジトリガの向き(データ信号を取得するタイミングを決定するエッジの向き。「立ち上がりエッジ」と「立ち下がりエッジ」とのいずれか一方)が、逆になっている点だけである。
第2奇伝達回路T2aの第1のDFF21aは、遅延クロック信号DCLKの立ち上がりエッジに同期してメモリデータ信号を取得して出力する(Q21a)。次の第2のDFF22aは、この出力信号Q21aを遅延クロック信号DCLKの立ち下がりエッジに同期して取得して出力(Q22a)する。次の第3のDFF23aは、この出力信号Q22aをクロック信号CLKの立ち下がりエッジに同期して取得して出力する(Q23a)。
図5には、各出力信号Q21a〜Q23aが示されている。出力信号Q21aは、「j+1」遅延クロックの立ち上がりエッジに同期して第1データ信号D1に変化し、「j+2」遅延クロックの立ち上がりエッジに同期して第3データ信号D3に変化する。出力信号Q22aは、「j+1」遅延クロックの立ち下がりエッジに同期して第1データ信号D1に変化し、「j+2」遅延クロックの立ち下がりエッジに同期して第3データ信号D3に変化する。出力信号Q23aは、「i+2」クロックの立ち下がりエッジに同期して第1データ信号D1に変化し、「i+3」クロックの立ち下がりエッジに同期して第3データ信号D3に変化する。
一方、第2偶伝達回路T2bの第1DFF21bは、遅延クロック信号DCLKの立ち下がりエッジに同期してメモリデータ信号を取得して出力する(Q21b)。次の第2のDFF22bは、この出力信号Q21bをクロック信号CLK信号の立ち下がりエッジに同期して取得して出力する(Q22b)。
図5には、各出力信号Q21b、Q22bが示されている。出力信号Q21bは、「j+1」遅延クロックの立ち下がりエッジに同期して第2データ信号D2に変化し、「j+2」遅延クロックの立ち下がりエッジに同期して第4データ信号D4に変化する。出力信号Q22bは、「i+2」クロックの立ち下がりエッジに同期して第2データ信号D2に変化し、「i+3」クロックの立ち下がりエッジに同期して第4データ信号D4に変化する。このように、第1DFF21bは、第2奇伝達回路T2aの第1のDFF21aとは互い違いの1つおきのデータ信号を取得する。
2つの伝達回路T2a、T2bの出力信号Q23a、Q22bは、エッジセレクタESによって選択され、終段出力回路FOへ転送される(Q23aは第1DFF40aへ、Q22bは第2のDFF40bへ)。図5では、第1DFF40aは、「i+3」クロックの立ち上がりエッジに同期して第1データ信号D1を取得して出力し、第2DFF40bは、同じ立ち上がりエッジに同期して第2データ信号D2を取得して出力する。同様に、第3データ信号D3と第4データ信号D4とは、「i+4」クロックの立ち上がりエッジに同期して取得して出力される(Q40a、Q40b)。
このように、第2中間処理回路T2を用いれば、メモリデータ信号D1〜D4が第2中間処理回路T2(可変データディレイ回路110)へ到達するタイミングが図4の例と比べて略1/2周期だけ遅れているにも拘わらずに、メモリコントローラ120に対しては、図4の例と同じタイミングでデータ信号を出力することができる。換言すれば、第2中間処理回路T2は第1中間処理回路T1と比べて1/2周期だけ遅いタイミングでデータ信号を取得し、さらに、第2中間処理回路T2の遅延量は第1中間処理回路T1の遅延量よりも1/2周期分だけ小さい、ということができる。
図6は、可変データディレイ回路110の動作の概要を示すタイミングチャートの別の例を示している。図5の例との差異は2点ある。1つ目は、メモリデータ信号D1〜D4が可変データディレイ回路110に到達するタイミングが、図5の例と比べて、略1/2周期だけ遅い点である。2つ目は、エッジセレクタESが、第2中間処理回路T2の代わりに第3中間処理回路T3から出力されるダブルワード信号を選択する点である。なお、メモリコントローラ120がデータ信号を取得するタイミングTD1、TD2は、図4、図5の例と同じである。
図6中の「DATA3」は、メモリデータ信号が図3の可変データディレイ回路110(第3中間処理回路T3)に届くタイミングを示している。図6の例では、第1データ信号D1は、図5の例よりも略1/2周期だけ遅れたタイミングで(「i+1」クロックがHレベルにある間に)第3中間処理回路T3に到達している。このような到達時刻の遅れは、上述したように、配線の長さ等の種々の要因によって生じ得る。
可変クロックディレイ回路130の設定は、遅延クロック信号DCLKのエッジが、各データ信号D1〜D4の中央付近のタイミングとなるように設定されている。図6の例では、可変クロックディレイ回路130の設定(遅延量)は、図4、図5の例と同じである。
第3中間処理回路T3(図3)は、第3奇伝達回路T3aと第3偶伝達回路T3bとを備えている。上述した第1奇伝達回路T1aと第1偶伝達回路T1bとの差異は、最後尾のDフリップフロップが省略されている点だけである。
第3奇伝達回路T3aの第1のDFF31aは、遅延クロック信号DCLKの立ち下がりエッジに同期してメモリデータ信号を取得して出力する(Q31a)。次の第2のDFF32aは、この出力信号Q31aを遅延クロック信号DCLKの立ち上がりエッジに同期して取得して出力する(Q32a)。
図6には、各出力信号Q31a、Q32aが示されている。出力信号Q31aは、「j+1」遅延クロックの立ち下がりエッジに同期して第1データ信号D1に変化し、「j+2」遅延クロックの立ち下がりエッジに同期して第3データ信号D3に変化する。出力信号Q32aは、「j+2」遅延クロックの立ち上がりエッジに同期して第1データ信号D1に変化し、「j+3」遅延クロックの立ち上がりエッジに同期して第3データ信号D3に変化する。
一方、第3偶伝達回路T3bの第1DFF31bは、遅延クロック信号DCLKの立ち上がりエッジに同期してメモリデータ信号を取得して出力する(Q31b)。図5に示すように、出力信号Q31bは、「j+2」遅延クロックの立ち上がりエッジに同期して第2データ信号D2に変化し、「j+3」遅延クロックの立ち上がりエッジに同期して第4データ信号D4に変化する。このように、第1DFF31bは、第3奇伝達回路T3aの第1のDFF31aとは互い違いの、1つおきのデータ信号を取得する。
2つの伝達回路T3a、T3bの出力信号Q32a、Q31bは、エッジセレクタESによって選択され、終段出力回路FOへ転送される(Q32aは第1DFF40aへ、Q31bは第2DFF40bへ)。図6では、第1DFF40aは、「i+3」クロックの立ち上がりエッジに同期して第1データ信号D1を取得して出力し、第2DFF40bは、同じ立ち上がりエッジに同期して第2データ信号D2を取得して出力する。同様に、第3データ信号D3と第4データ信号D4とは、「i+4」クロックの立ち上がりエッジに同期して取得して出力される(Q40a、Q40b)。
このように、第3中間処理回路T3を用いれば、メモリデータ信号D1〜D4が第3中間処理回路T3(可変データディレイ回路110)へ到達するタイミングが図5の例と比べて略1/2周期だけ遅れているにも拘わらずに、メモリコントローラ120に対しては、図5の例と同じタイミングでデータ信号を出力することができる。換言すれば、第3中間処理回路T3は第2中間処理回路T2と比べて1/2周期だけ遅いタイミングでデータ信号を取得し、さらに、第3中間処理回路T3の遅延量は第2中間処理回路T2の遅延量よりも1/2周期分だけ小さい、ということができる。
以上説明したように、各中間処理回路T1〜T3において、データ信号を取得してからエッジセレクタESに出力するまでの時間(以下「中間遅延時間」と呼ぶ)は、1/2周期ずつ異なっている。具体的には、第1中間処理回路T1の中間遅延時間が最も長く、第2中間処理回路T2の中間遅延時間は1/2周期だけ短く、第3中間処理回路T3の中間遅延時間は、さらに1/2周期だけ短い。従って、エッジセレクタES(終段出力回路FO)が同じタイミングでデータ信号を出力する場合の各中間処理回路T1〜T3の開始タイミングは、1/2周期ずつ異なることとなる。ここで、開始タイミングとは、各中間処理回路T1〜T3がDDRメモリ200からのメモリデータ信号(最初のデータ信号D1)を取得するエッジタイミングを意味している。
すなわち、第1実施例では、各中間処理回路T1〜T3の開始タイミングは1/2周期ずつずらされており、さらに、各中間処理回路T1〜T3の中間遅延時間は、メモリコントローラ120の待ち時間が同じとなるように設定されている。ここで、メモリコントローラ120の待ち時間とは、メモリコントローラ120が出力要求(リードコマンド)を送信してから、最初のデータ信号(第1データ信号D1)を取得するまでの時間を意味している。図4、図5、図6の例では、共通の「i+3+1/2」周期分の時間が待ち時間となる。
この結果、第1実施例では、中間処理回路T1〜T3を切り替えて用いることによって、メモリコントローラ120がデータ信号を取得するタイミングTD1、TD2を同じ時刻に保ちつつ、可変データディレイ回路110がメモリデータ信号を取得するタイミングを1/2周期間隔で粗く調整することが可能となる。
なお、図1、図2の例では、遅延クロック信号DCLKの遅延量(可変クロックディレイ回路130全体の遅延量)を、1/2周期よりも細かい時間間隔(第1実施例では、略1/30周期間隔)で微調整することが可能である。従って、各中間処理回路T1〜T3の開始タイミングを、1/2周期よりも細かい時間単位で微調整することができる。図7(A)は、開始タイミングの微調整可能範囲を示す説明図である。図7(A)では、メモリコントローラ120がデータ信号を適切に取得可能な微調整可能範囲が示されている。具体的には、最初のメモリデータ信号D1がメモリコントローラ120に供給されるタイミングが「i+3」クロックの立ち上がりエッジ(図4〜図6)に同期する範囲である。
図7(A)には、クロック信号CLKと、各中間処理回路T1〜T3の開始タイミングの微調整可能範囲との時間的な関係が示されている。クロック信号CLKに付された番号(i+1、i+2、i+3)は、図4〜図6で付された番号と同じである。また、図中の「第1開始タイミング例DATA1e」は、図4の例での開始タイミングを示している。同様に、「第2開始タイミング例DATA2e」は、図5の例での開始タイミングを示し、「第3開始タイミング例DATA3e」は、図6の例での開始タイミングを示している。
第1開始タイミング範囲RT1は、OffDB132(図2)の出力信号を用いない場合の、第1中間処理回路T1の開始タイミングの微調整可能範囲を示している。第1中間処理回路T1の開始タイミングは、遅延クロック信号DCLKの立ち下がりエッジに同期している(図3:第1DFF11a)。また、可変クロックディレイ回路130の遅延量は、0〜1/2周期の範囲内で変化させることが可能である。従って、この第1開始タイミング範囲RT1は、クロック信号CLKがLレベルである1/2周期幅の範囲となる。さらに、メモリコントローラ120が適切にデータ信号を取得可能であるとの条件を課すと、第1開始タイミング例DATA1eを含む実線の範囲(iクロックの立ち下がりエッジからiクロックの終わりまでの範囲)となる。
一方、第1遅延開始タイミング範囲RT1dは、OffDB132(図2)の出力信号を用いる場合の、第1中間処理回路T1の開始タイミングの微調整可能範囲を示している。第1実施例では、OffDB132による遅延量は略1/4周期に設定されている。従って、第1遅延開始タイミング範囲RT1dは、第1開始タイミング範囲RT1よりも略1/4周期分だけ遅れた範囲となる。この場合も、メモリコントローラ120へデータ信号を出力するタイミングは同じとなる。
同様に、第2開始タイミング範囲RT2は、OffDB132(図2)を用いない場合の第2中間処理回路T2の開始タイミングの微調整可能範囲を示し、第2遅延開始タイミング範囲RT2dは、OffDB132を用いる場合の微調整可能範囲を示している。第2中間処理回路T2の開始タイミングは、遅延クロック信号DCLKの立ち上がりエッジに同期している(図3:第1DFF21a)。従って、第2開始タイミング範囲RT2は、クロック信号CLKがHレベルである1/2周期の範囲の中の、第2開始タイミング例DATA2eを含む実線の範囲となる。また、第2遅延開始タイミング範囲RT2dは、第2開始タイミング範囲RT2よりも1/4周期だけ遅れた範囲となる。
同様に、第3開始タイミング範囲RT3は、OffDB132(図2)を用いない場合の第3中間処理回路T3の開始タイミングの微調整可能範囲を示し、第3遅延開始タイミング範囲RT3dは、OffDB132を用いる場合の微調整可能範囲を示している。第3中間処理回路T3の開始タイミングは、遅延クロック信号DCLKの立ち下がりエッジに同期している(図3:第1DFF31a)。従って、第3開始タイミング範囲RT3は、クロック信号CLKがLレベルである1/2周期の範囲の中の、第3開始タイミング例DATA3eを含む実線の範囲となる。また、第3遅延開始タイミング範囲RT3dは、第3開始タイミング範囲RT3よりも1/4周期だけ遅れた範囲となる。
なお、図4、図5、図6に示すタイミングチャートにおいて、遅延クロック信号DCLKの遅延量を微調整すると(遅延クロック信号DCLKをシフトさせると)、遅延クロック信号DCLKに同期する各信号(各出力信号Q11a、Q12a、Q11b(図4)、Q21a、Q22a、Q21b(図5)、Q31a、Q32a、Q31b(図6))のタイミングも、遅延クロック信号DCLKとの相対的な時間関係を保ちつつ、遅延クロック信号DCLKと共にシフトする。いずれの場合も、メモリコントローラ120へデータ信号を出力するタイミングは同じである。
図7(B)は、キャリブレーション回路160(図1)が、可変データディレイ回路110と可変クロックディレイ回路130との設定を決定する様子を示す説明図である。図7(B)には、図7(A)と同じ開始タイミングの調整可能範囲RT1〜RT3dが示されている。各調整可能範囲RT1〜RT3dに記された丸印は、各調整可能範囲内における選択可能な開始タイミングを示している。「白抜き丸印」と「塗りつぶし丸印」の意味は後述する。
メモリシステム300(図1)の電源が投入されると、キャリブレーション制御回路162は、メモリシステム300の初期化処理を実行する。キャリブレーション制御回路162は、較正データを予め格納するメモリを有しており(図示省略)、まず、メモリコントローラ120を制御して、較正データをDDRメモリ200に書き込ませる。第1実施例では、メモリコントローラ120は、可変データディレイ回路110を介さずに直接にDDRメモリ200にデータを書き込むこととしている。
次に、キャリブレーション制御回路162は、メモリコントローラ120を制御し、DDRメモリ200から較正データ信号を取得させる。DDRメモリ200から出力された較正データ信号は、上述したように、可変データディレイ回路110を介してメモリコントローラ120へ転送される。メモリコントローラ120は、取得した較正データ信号を、データ比較回路166に出力する。データ比較回路166は、メモリコントローラ120から取得した較正データ信号が表す較正データと、キャリブレーション制御回路162から取得した元の較正データとを比較し、データ信号の取得が正しく行われたか否かを判定する。この判定結果(比較結果)は、比較結果メモリ165に格納される。
キャリブレーション制御回路162は、メモリコントローラ120とディレイ設定回路150とデータ比較回路166とを制御し、各ディレイ回路110、130のそれぞれの複数の設定の全ての組み合わせで決まる複数の開始タイミング毎に、較正データ信号の取得と検証とを行わせる。その結果、比較結果メモリ165には、全ての開始タイミングにおける比較結果が格納されることとなる。
図7(B)には、こうして得られた比較結果が示されている。「白抜き丸印」は、データ信号の取得が正しく行われた開始タイミング(以下「成功開始タイミング」と呼ぶ)を示し、「塗りつぶし丸印」は、データ信号を適切に取得できなかった開始タイミングを示している。また、各調整可能範囲RT1〜RT3dの右側には、各調整可能範囲毎の成功開始タイミングの数(以下「成功数」と呼ぶ)が示されている。
各調整可能範囲RT1〜RT3dのそれぞれには、16ずつの開始タイミングが示されている。これら16の開始タイミングは、オフセットセレクタSL10(図2)とエッジセレクタES(図3)との設定(以下「粗調整設定」と呼ぶ)を固定し、中段ディレイセレクタSL20〜SL23(図2)と終段ディレイセレクタSL30との設定(以下「微調整設定」と呼ぶ)のみを変更して得られる開始タイミングの集まりである。
「粗調整設定」を固定し「微調整設定」を変更すれば、開始タイミングを比較的細かく(略1/30周期単位で)調整することができる。一方、「微調整設定」を固定し「粗調整設定」を変更すれば、開始タイミングを比較的粗く(略1/4周期単位で)調整することができる。このように、「粗調整設定」に関する構成要素、すなわち、可変クロックディレイ回路130(図2)のオフセットディレイバッファ(ODB)132とオフセットセレクタSL10と、可変データディレイ回路110との全体は、開始タイミングを比較的大きな時間間隔で調整可能な「粗調整部」に相当する。また、「微調整設定」に関する構成要素、すなわち、可変クロックディレイ回路130の15のディレイバッファ(DB)1301〜1315と5つのディレイセレクタSL20〜SL23、SL30との全体は、開始タイミングを比較的小さな時間間隔で調整可能な「微調整部」に相当する。
なお、「粗調整設定」を固定し「微調整設定」を変更して得られる複数の開始タイミング(すなわち「微調整設定」と「粗調整設定」との組み合わせ)からなるグループを「微調整グループ」とも呼ぶ。また、「粗調整設定」を固定し「微調整設定」を変更したときの開始タイミングの調整可能な範囲(すなわち、各微調整グループの微調整可能範囲)を「サブ微調整可能範囲」とも呼ぶ。また、サブ微調整可能範囲の幅を「サブ微調整幅」とも呼ぶ。また、各微調整グループのサブ微調整可能範囲は、各調整可能範囲RT1〜RT3dと同じである、そこで、以下の説明では、各微調整グループのことを、各調整可能範囲RT1〜RT3dと同じ符号を用いて呼ぶ。
最適値決定回路164は、各微調整グループ毎の成功数を算出し、成功数が最も多い微調整グループ(以下、「最多微調整グループ」と呼ぶ)の中から1つの開始タイミングを選択する。第1実施例では、最多微調整グループに含まれる成功開始タイミングの中の、時系列に沿った順番が真ん中である開始タイミングを採用する。図7(B)の例では、成功数が9である第2遅延微調整グループRT2dが最多微調整グループとなる。また、9つの成功開始タイミングの中の時系列に沿った順番が真ん中である開始タイミングPTが、採用される。
なお、図7(B)の例では、成功開始タイミングが分布する時間の幅(この例では、9/30周期)が、メモリデータ信号の幅(この例では、1/2=15/30周期)よりも短くなっている。このことは、データ信号やクロック信号の揺らぎ(「ジッタ」とも呼ばれる)や各回路の動作のタイミングの揺らぎ等の種々の要因によって起こり得る。
最適値決定回路164(図1)は、採用した1つの開始タイミングに対応する「微調整設定」と「粗調整設定」とを設定値メモリ163に格納する。以後、ディレイ設定回路150は、設定値メモリ163に格納された設定に従って、可変データディレイ回路110と可変クロックディレイ回路130とを制御する。
以上のように、キャリブレーション回路160は、複数の微調整グループの中の成功数が最も多い微調整グループの中から、制御用の開始タイミングを選択する。従って、他の微調整グループの中から開始タイミングを選択する場合と比べて、より適切な開始タイミングを選択することができる。
さらに、図7(B)の例では、最多微調整グループにおける時系列に沿って連続する複数の成功開始タイミングの中の真ん中に位置する開始タイミングを採用している。従って、ジッタの影響をより受けにくい開始タイミングを選択することが可能となる。なお、制御用の開始タイミングとしては、真ん中の開始タイミングに限らず、他の開始タイミングを採用してもよい。ただし、少なくとも、時系列に沿って連続する複数の成功開始タイミングの中の、先頭の開始タイミングと最後尾の開始タイミングとを除いた残りの開始タイミングの中から採用することが好ましい。
なお、較正データとしては、任意のデータを採用することができる。ただし、メモリデータ信号のレベルの種々の変化(例えば、HレベルからLレベルへの変化や、LレベルからHレベルへの変化)に対して適切にメモリデータ信号を取得するために、複数の較正データを用いて信号レベルを種々に変化させて検証を行うことが好ましい。例えば、第1実施例では、DDRメモリ200は、連続して4ワードのメモリデータ信号を出力する。そこで、メモリデータ信号のレベルが種々に変化するように、4ワード分の較正データ信号を用いることが好ましい。このような較正データ信号としては、例えば、以下に示すデータ信号グループを採用することができる。
(DG1)FFFF、0000、FFFF、5555:
(DG2)0000、FFFF、0000、AAAA:
2種類のデータ信号グループDG1、DG2の4つの数値のそれぞれは、連続する4ワードのメモリデータ信号を順番に16進法で表したものである。
第1データ信号グループDG1を較正データとして用いると、最初の3ワード分のデータ信号を取得する間に、16個のメモリデータ信号の全ては、まず、Hレベルに変化し、次に、HレベルからLレベルへ変化し、次に、LレベルからHレベルへ変化する(正論理の場合)。さらに、4つ目のワード信号を取得する際には、1つおきの8個のデータ信号がLレベルに変化し、残りの8個のデータ信号はHレベルを維持する。従って、この第1データ信号グループDG1を較正データ信号として用いれば、16個のデータ信号のそれぞれの信号レベルを種々に変化させて検証を行うことができる。
一方、第2データ信号グループDG2を用いると、16個のデータ信号のそれぞれのレベルは、第1データ信号グループDG1を用いる場合とは逆向きに変化する。ここで、これら2種類のデータ信号グループDG1、DG2の両方を用いて判定を行えば、データ比較回路166が、適切にデータ信号を取得できない可能性のある開始タイミングに対して「正常(成功)」との判定を行うことを抑制することができる。この際、2つのデータ信号グループDG1、DG2を用いて2回のバースト転送を行い、8ワード分の全てのデータが、元のデータと一致した場合のみ「正常(成功)」との判定をすることとすればよい。
なお、較正データ信号としては、上述したデータ信号に限らず、他の種々のデータ信号を採用することができる。また、メモリシステム300は「正論理」に従って構成されていても良く、また、「負論理」に従って構成されていてもよい。
以上のように、第1実施例では、メモリコントローラ120の待ち時間を同じ時刻に保ちつつ、連続する7/4周期分の長さの範囲内の複数のタイミングの中から開始タイミングを設定することができる。換言すれば、開始タイミング、すなわち、データ信号がデータ取得装置100に到達するタイミングの許容範囲を広げることが可能となる。従って、データ信号がデータ取得装置100に到達するタイミングに応じてデータ信号を適切に取得することが可能となる。その結果、データ信号の転送速度の高速化を容易なものとし、さらに、データ取得装置100とDDRメモリ200との配置に関する設計の自由度を高めることが可能となる。
また、第1実施例のデータ取得装置100は、開始タイミングを調整するために、開始タイミングが互いに異なるとともに、取得したデータ信号を伝達して出力する3つの中間処理回路T1〜T3を有している。従って、開始タイミングの選択肢を増やすためにデータ取得装置100が過剰に複雑化することを防止することができる。
また、これらの中間処理回路T1〜T3における遅延時間の差分、すなわち、開始タイミングの差分は、各中間処理回路T1〜T3の設計に応じて任意に設定可能である。従って、開始タイミングを定める遅延クロック信号の遅延時間の調整のみによって開始タイミングの調整を行う場合のように、調整可能範囲が1周期分の時間に限定されることなく、開始タイミングの調整可能範囲をより広くすることが可能となる。なお、このような中間処理回路の数は3に限らず、2でもよく、3以上であってもよい。
さらに、各中間処理回路T1〜T3においてメモリデータ信号を取得する先頭のDFF11a、11b、21a、21b、31a、31bは、共通の遅延クロック信号DCLKに同期してメモリデータ信号を取得する(ただし、エッジの位置は互いに異なる)。従って、複数(第1実施例では3つ)の中間処理回路T1〜T3のそれぞれの開始タイミングを微調整する場合であっても、1つの遅延クロック信号DCLKの遅延量を調整すれば済むので、回路が過剰に複雑化することを防止することができる。特に、DDRメモリ200から同時に出力されるデータ信号の数が複数(第1実施例では16ビット)である場合でも、1つの遅延クロック信号DCLKの遅延量を調整するだけで全てのデータ信号の開始タイミングを変えることができるので、回路の複雑化を抑制することができる。
なお、第1実施例では、3つの中間処理回路T1〜T3の全体が、本発明における「中間データ信号生成部に相当する。また、エッジセレクタESと終段出力回路FOとの全体が、「選択部」に相当する。また、先頭のDFF11a、11b、21a、21b、31a、31bと、エッジセレクタESとの間を接続する配線とDFFとの全体が「伝達部」に相当する。また、エッジセレクタESにおける3つの奇伝達回路T1a〜T3aのそれぞれの出力信号の中から1種類の出力信号を選択する部分と、第1DFF40aとの全体が、「部分選択部」に相当する。また、エッジセレクタESにおける3つの偶伝達回路T1b〜T3bのそれぞれの出力信号の中から1種類の出力信号を選択する部分と、第2のDFF40bとの全体が、別の「部分選択部」に相当する。
B.第2実施例:
図8は、第2実施例における可変データディレイ回路110aの構成を示すブロック図である。図3に示す第1実施例の可変データディレイ回路110との差違は2点ある。1つ目は、第1奇伝達回路T1aと第1偶伝達回路T1bとのそれぞれの途中からデータ信号が取り出されてエッジセレクタESaに供給されている点である。2つ目は、第3中間処理回路T3が省略されている点である。他の構成は、図1〜図3に示すメモリシステム300と同じである。
奇伝達線DT3aは、第2のDFF12aの出力信号Q12aをエッジセレクタESaに供給する。また、偶伝達線DT3bは、第1のDFF11bの出力信号Q11bをエッジセレクタESaに供給する。エッジセレクタESaは、伝達線DT3a、DT3bと、2つの中間処理回路T1、T2と、から取得した3種類のダブルワード信号の中から1種類のダブルワード信号を選択して終段出力回路FOに供給する。
第1中間処理回路T1の伝達線DT3a、DT3bとの接続位置よりも上流部分の構成は、図3に示す第3中間処理回路T3と同じである。従って、これらの伝達線DT3a、DT3bによって供給されるダブルワード信号は、第1実施例の第3中間処理回路T3(図3)によって供給されるダブルワード信号と同じとなる。従って、エッジセレクタESaが、これらの伝達線DT3a、DT3bが供給するダブルワード信号を選択すれば、開始タイミングを、第3中間処理回路T3を用いる場合と同じ範囲内で調整することができる(図7(A):第3開始タイミング範囲RT3、第3遅延開始タイミング範囲RT3d)。
このように、第2実施例では、第1中間処理回路T1の構成要素の一部(DFF11a、12a、11b)を、開始タイミングが異なる2種類のデータ信号(ダブルワード信号)を出力するために共用している。その結果、可変データディレイ回路110aの小型化を図ることが可能となる。
なお、第2実施例においても、上述の第1実施例と同様に、可変データディレイ回路110aと可変クロックディレイ回路130との設定を決定することができる。
C.第3実施例:
図9は、第3実施例における可変データディレイ回路110bの構成を示すブロック図である。図3、図8に示す可変データディレイ回路110、110aとの大きな差違は、メモリデータ信号を取得する複数の先頭DFF(例えば、図3のDFF11a、11b、21a、21b、31a、31b)を用いる代わりに、メモリデータ信号を取得する1つの先頭DFF101のみを用いて、開始タイミングが互いに異なる複数種類のデータ信号を出力している点である。なお、第3実施例の可変データディレイ回路110bは、1/2周期毎に1ワードずつのデータ信号を出力するDDRメモリ200の代わりに、1周期に1ワードずつのデータ信号を出力するメモリ(例えば、SDRAM)を対象としている。また、メモリコントローラ(図示せず)に1周期毎に出力するデータ信号の数は、メモリ(図示せず)から1周期毎に出力されるデータ信号の数(図9の例では1ワード(16個))と同じである。
第1中間処理回路T10は、直列に接続された4つのDフリップフロップ101〜104を備えている。各Dフリップフロップ101〜104は、それぞれ、16ビット分の並列なDフリップフロップを表している。
メモリ(図示省略)からのメモリデータ信号は、まず、先頭のDFF101に供給される。DFF101の出力側には、3つのDFF102〜104が順番に直列に接続されている。また、2つのDFF102、104の出力信号は、エッジセレクタESbに供給される。エッジセレクタESbは、各DFF102、104から取得した2種類のワード信号の中から1種類のワード信号を選択してメモリコントローラ(図示省略)に出力する。メモリコントローラは、クロック信号CLKに同期してワード信号を取得する。
先頭のDFF101は、遅延クロック信号DCLKの立ち上がりエッジに同期してメモリデータ信号を取得する。また、後ろの各DFF102〜104のエッジトリガの向きは、上流側から交互に逆向き(逆位相)となるように設定されている。従って、4段目の出力信号Q104は、2段目の出力信号Q102よりも1周期だけ遅れることとなる。この結果、出力信号Q102を用いる場合の開始タイミングは、出力信号Q104を用いる場合よりも、1周期だけ早くなる。
このように、第3実施例では、各DFF102、104の出力信号を切り替えて用いることによって、メモリコントローラ(図示省略)へのデータ信号を出力するタイミングを同じ時刻に保ちつつ、可変データディレイ回路110bがデータ信号を取得するタイミングを粗く1周期間隔で調整することが可能となる。ここで、1つの先頭DFF101を、開始タイミングが互いに異なる全ての種類(2種類)のデータ信号で共用しているので、データ取得装置100の小型化を図ることが可能となる。
また、可変データディレイ回路110bと可変クロックディレイ回路130との設定を決定する方法としては、上述の第1実施例と同様の方法を採用することができる。
D.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
変形例1:
開始タイミングが互いに異なる複数種類のデータ信号を出力する回路としては、上述の各実施例の可変データディレイ回路110、110a、110b以外の種々の構成を採用することができる。例えば、可変クロックディレイ回路130(図2)と同様の遅延回路を複数並列に設け、メモリデータ信号を各遅延回路で遅延させて出力することとしてもよい。この際、各遅延回路の遅延時間を互いに異なる時間に設定しておけばよい。また、開始タイミングが異なる複数種類のデータ信号の数としては、2以上の任意の数を採用することができる。
ここで、各遅延回路の先頭には、メモリデータ信号を共通のクロック信号に同期して取得する取得部(例えば、図3の先頭DFF11a、11b、21a、21b、31a、31b)を設けることが好ましい。こうすれば、クロック信号の遅延量を調整することによって、複数種類のデータ信号の開始タイミングを、まとめて微調整することができる。
変形例2:
上述の第1実施例と第2実施例では、開始タイミングが同じである1種類のデータ信号を出力するために2種類の並列な回路を用いている(例えば、図3の第1奇伝達回路T1aと第1偶伝達回路T1b)。これら2種類の回路は、DDRメモリ200から連続して出力される4ワードのメモリデータ信号を交互に取得し、取得したデータ信号を伝達してエッジセレクタESに出力する。このように、連続して出力される複数のメモリデータ信号を、2種類の回路で交互に処理すれば、各回路は、メモリデータ信号の転送速度の半分の速度で処理を行うことができる。すなわち、メモリデータ信号の転送速度を、データ信号を出力する回路の処理速度の倍の速度に高速化することが可能となる。
ここで、メモリデータ信号が出力される周期は、クロック信号の1/2周期に限らず、他の周期(例えば、クロック信号の1周期)であってもよい。また、並列に用いる回路の数は、2に限らず3以上であってもよい。また、各回路がデータ信号を出力するタイミングは、互いに異なっていてもよい。ただし、同じタイミングで出力すれば、各回路の出力信号を取得する取得回路(図1の例では、メモリコントローラ120)に要求される処理速度が過剰に高速化することを防止できる。いずれの場合も、連続して出力される複数のメモリデータ信号を複数の回路に順番に分散させて取得させれば、メモリデータ信号の転送速度の高速化を容易なものとすることができる。
変形例3:
クロック信号CLKを遅延させて遅延クロック信号DCLKを生成する回路としては、上述の各実施例の可変クロックディレイ回路130以外の種々の構成を採用することができる。例えば、16の出力信号からの1つの出力信号の選択を、1つのセレクタを用いて実現してもよい。また、微調整可能な段階数は16に限らず、他の任意の数を採用することができる。
変形例4:
上述の各実施例において、サブ微調整幅(例えば、図7の調整可能範囲RT1の幅)は、メモリデータ信号を適切に取得できることが可能な時間の長さ(以下「最大取得可能時間」と呼ぶ)よりも長いことが好ましい。こうすれば、全ての微調整グループに含まれる全ての成功開始タイミングの中の時系列に沿った順番が先頭のタイミングと最後尾のタイミングとの両方を、1つの微調整グループに含ませることが可能となる。従って、ジッタの影響を最も受けにくい中央の開始タイミング(先頭と最後尾の真ん中の開始タイミング)を容易に選択することが可能となる。
なお、最大取得可能時間は、理論的には、1つのメモリデータ信号が出力され続ける時間、すなわち、1つのデータ信号の長さと同じとなる(第1実施例では、1/2周期分の時間)。ただし、現実には、ジッタ等の影響によって、理論的な長さよりも短くなる傾向がある。そこで、予め、最大取得可能時間を実験的に測定しておき、得られた値を用いて、サブ微調整幅を設定してもよい。但し、サブ微調整幅が長いほど、上述した先頭と最後尾との成功開始タイミングが同じ微調整グループに含まれる可能性が高くなる。従って、理論的な最大取得可能時間を用いて、サブ微調整幅を設定してもよい。
変形例5:
上述の各実施例において、サブ微調整幅が、粗調整による複数の開始タイミングの時間間隔(例えば、図7の時系列に沿って隣り合う2つの調整可能範囲RT1、RT1dの間のズレの長さ)よりも短い値に設定されていてもよい。ただし、この時間間隔よりも長い時間をサブ微調整幅として採用することが好ましい。こうすれば、複数の微調整グループのサブ微調整可能範囲を時系列に沿って並べたときに、任意の隣り合う2つのサブ微調整可能範囲の一部ずつが互いに重なるので、微調整可能な範囲に隙間が生じることを防止し、より適切な開始タイミングを選択することが可能となる。
なお、隣り合う2つのサブ微調整可能範囲の重なり合う部分の時間幅(以下「重複幅」と呼ぶ)は、メモリデータ信号を適切に取得できることが可能な時間の長さ以上であることが好ましい。こうすれば、メモリデータ信号のタイミングに拘わらずに、全ての成功開始タイミングの中の時系列に沿った順番が先頭のタイミングと最後尾のタイミングとの両方を、1つの微調整グループに含ませることが可能となる。なお、重複幅の比較対象となる最大取得可能時間としては、サブ微調整幅の場合と同様に、理論的な値を用いてもよく、また、予め実験的に測定した値を用いてもよい。
変形例6:
上述の各実施例において、可変データディレイ回路110と可変クロックディレイ回路130との設定を定める方法としては、図7(B)に示す方法に限らず、DDRメモリ200から読み出したデータの正誤判定を各設定毎に行い、正しくデータを読み出せた設定を採用する種々の方法を用いることができる。ただし、図7(B)に示すように、「粗調整設定」が同じである微調整グループ毎に成功数を算出し、成功数が最も多い微調整グループの中から制御用の設定を採用すれば、適切な設定を採用することができる。
変形例7:
上述の各実施例において、微調整部の構成としては、図2に示す可変クロックディレイ回路130を用いる構成に限らず、他の種々の構成を採用することができる。例えば、可変クロックディレイ回路130(図2)がクロック信号CLKを遅延させるのと同様に、メモリデータ信号自体を可変の遅延時間だけ遅延させる遅延回路と、遅延したデータ信号を取得する取得回路と、を有する構成を採用してもよい。
また、粗調整部の構成としては、図2と図3とに示すディレイ回路130、110を用いる構成に限らず、他の種々の構成を用いることができる。例えば、上述したように、メモリデータ信号自体を可変の遅延時間で遅延させる場合を考える。この際、遅延時間を、比較的粗く(大きな時間間隔で)調整する複数の粗調整用のディレイバッファと、比較的細かく(小さな時間間隔で)調整する複数の微調整用のディレイバッファと、のそれぞれを切り替えて用いる構成を採用することができる。
一般に、粗調整部としては、比較的大きな時間間隔で開始タイミングを調整可能な任意の回路を採用することができ、さらに、微調整部としては、比較的小さな時間間隔で開始タイミングを調整可能な任意の回路を採用することができる。
変形例8:
キャリブレーション制御回路162が微調整設定と粗調整設定とを決定する処理(「キャリブレーション処理」とも呼ぶ)を実行するタイミングは、メモリシステム300の電源投入時に限らず、他のタイミングで実行することとしてもよい。例えば、キャリブレーション制御回路162が、定期的に実行することとしてもよい。また、メモリシステム300を工場から出荷する際に実行することとしてもよい。ただし、メモリシステム300の起動時や、動作中の指定されたタイミングで実行することとすれば、メモリシステム300の環境の変化(例えば、環境温度に変化)に応じた適切な微調整設定と粗調整設定とを定めることが可能となる。
変形例9:
上述の各実施例において、キャリブレーション回路160の機能の一部、または、全部をソフトウェアによって実現してもよい。但し、少なくとも機能の一部をハードウェアによって実現すれば、ソフトウェアを実行するためのCPUに過剰な負荷がかかることを防止することができる。また、較正データは、キャリブレーション回路160が有するメモリに予め格納しておく代わりに、CD−ROM等を用いて外部から供給することとしてもよく、また、DDRメモリ200内に較正データを予め格納する領域を設けてもよい。
変形例10:
上述の各実施例では、データ信号を出力するデータ信号出力装置として半導体メモリ(DDRメモリ200)を用いているが、半導体メモリ以外の種々のデータ信号出力装置を採用することができる。例えば、データ信号を転送するネットワークをデータ信号出力装置として用いてもよい。この場合には、ネットワークからデータ信号を取得するネットワーク通信機器が、データ信号取得装置に相当することとなる。
メモリシステム300の構成を示すブロック図。 可変クロックディレイ回路130の構成を示すブロック図。 可変データディレイ回路110の構成を示すブロック図。 可変データディレイ回路110の動作の概要を示すタイミングチャート。 可変データディレイ回路110の動作の概要を示すタイミングチャートの別の例。 可変データディレイ回路110の動作の概要を示すタイミングチャートの別の例。 開始タイミングの概要を示す説明図。 第2実施例における可変データディレイ回路110aの構成を示すブロック図。 第3実施例における可変データディレイ回路110bの構成を示すブロック図。
符号の説明
11a、11b、12a、12b、13a、21a、21b、22a、22b、23a、31a、31b、32a、40a、40b、101、102、103、104...Dフリップフロップ(DFF)
100...データ取得装置
110、110a、110b...可変データディレイ回路
120...メモリコントローラ
130...可変クロックディレイ回路
1301〜1315...ディレイバッファ(DB)
132...オフセットディレイバッファ(OffDB)
140...クロック生成回路
150...ディレイ設定回路
160...キャリブレーション回路
162...キャリブレーション制御回路
163...設定値メモリ
164...最適値決定回路
165...比較結果メモリ
166...データ比較回路
200...DDRメモリ
300...メモリシステム
SL10...オフセットセレクタ
SL20、SL21、SL22、SL23...中段ディレイセレクタ
SL30...終段ディレイセレクタ
DT3a...奇伝達線
DT3b...偶伝達線
T1...第1中間処理回路
T1a...第1奇伝達回路
T1b...第1偶伝達回路
T2...第2中間処理回路
T2a...第2奇伝達回路
T2b...第2偶伝達回路
T3...第3中間処理回路
T3a...第3奇伝達回路
T3b...第3偶伝達回路
T10...第1中間処理回路
FO...終段出力回路
ES、ESa、ESb...エッジセレクタ
INV...インバータ

Claims (7)

  1. データ信号を出力するデータ信号出力装置から前記データ信号を取得するデータ信号取得装置であって、
    前記データ信号出力装置が出力する前記データ信号を取得して中継する中継部と、
    前記中継部の出力信号を取得する信号取得部と、
    を備え、
    前記中継部は、
    前記データ信号を互いに異なる複数のタイミングで取得することによって、N種類(Nは2以上の整数)の中間データ信号を生成する中間データ信号生成部と、
    前記N種類の中間データ信号の中から1種類の中間データ信号を選択して前記信号取得部に出力する選択部と、を備える、
    データ信号取得装置。
  2. 請求項1に記載のデータ信号取得装置であって、さらに、
    前記データ信号出力装置に対して前記データ信号の出力要求を送信するデータ信号要求部を備え、
    前記データ信号要求部が前記データ信号出力装置へ前記出力要求を送信してから、前記信号取得部が前記選択部によって出力されたデータ信号を取得するまでの時間を待ち時間と呼ぶときに、
    前記中間データ信号生成部は、各中間データ信号が前記信号取得部によって取得されるときの前記待ち時間が前記各中間データ信号で共通の同じ時間となるように、前記データ信号を取得してから前記各中間データ信号を出力するまでの時間を、前記複数種類の中間データ信号の少なくとも一部に関して遅延させる、
    データ信号取得装置。
  3. 請求項2に記載のデータ信号取得装置であって、さらに、
    所定のクロック信号を生成するクロック信号生成部と、
    前記クロック信号を可変の遅延時間だけ遅延させて遅延クロック信号を生成する可変遅延クロック信号生成部と、を備え、
    前記信号取得部は、前記所定のクロック信号に同期して前記選択部によって出力されたデータ信号を取得し、
    前記中間データ信号生成部は、
    前記遅延クロック信号に同期して前記データ信号を取得するN個の前段取得部と、
    前記各前段取得部毎に設けられ、前記前段取得部が取得した前記データ信号を伝達することによって前記N種類の中間データ信号を出力するN個の伝達部と、
    を備え、
    前記N個の伝達部の少なくとも一部は、前記データ信号を遅延させて伝達する、
    データ信号取得装置。
  4. 請求項2に記載のデータ信号取得装置であって、さらに、
    所定のクロック信号を生成するクロック信号生成部と、
    前記クロック信号を可変の遅延時間だけ遅延させて遅延クロック信号を生成する可変遅延クロック信号生成部と、を備え、
    前記信号取得部は、前記所定のクロック信号に同期して前記選択部によって出力されたデータ信号を取得し、
    前記中間データ信号生成部は、
    前記遅延クロック信号に同期して前記データ信号を取得する前段取得部と、
    前記前段取得部が取得した前記データ信号を伝達することによって前記中間データ信号を出力する伝達部と、
    を備え、
    前記伝達部は、直列に接続された1つ以上の遅延回路を備え、
    前記中間データ信号生成部は、前記前段取得部の出力信号と、前記各遅延回路のそれぞれの出力信号と、を含む複数種類の出力信号の中の少なくとも一部の複数種類の出力信号を、前記N種類の中間データ信号の中の少なくとも一部の複数種類の中間データ信号として出力する、
    データ信号取得装置。
  5. 請求項3または請求項4に記載のデータ信号取得装置であって、
    前記データ信号出力装置は複数のデータ信号を並列に出力し、
    前記前段取得部は、前記複数のデータ信号を、共通の前記遅延クロック信号に同期して取得し、
    前記伝達部は、前記複数のデータ信号を並列に伝達することによって、元となる前記データ信号が取得されたタイミングが同じである複数の前記中間データ信号を出力する、
    データ信号取得装置。
  6. 請求項3または請求項4に記載のデータ信号取得装置であって、
    前記データ信号出力装置は前記クロック信号に同期して前記クロック信号の所定の基準周期毎に前記データ信号を出力する半導体メモリであり、
    前記前段取得部は、前記遅延クロック信号の前記基準周期のM倍(Mは2以上の整数)の周期毎に前記データ信号を取得するM個の部分前段取得部を備え、
    前記M個の部分前段取得部のそれぞれが前記データ信号を取得するタイミングは、時系列に沿って前記基準周期毎に順番に並ぶように設定されており、
    前記伝達部は、前記M個の部分前段取得部毎に設けられ、前記部分前段取得部が取得した前記データ信号を伝達することによってM種類の部分中間データ信号を出力するM個の部分伝達部を備え、
    前記選択部は、前記M個の部分伝達部毎に設けられ、前記部分中間データ信号を選択して前記信号取得部に出力するM個の部分選択部を備える、
    データ信号取得装置。
  7. 請求項1ないし請求項5のいずれかに記載のデータ信号取得装置であって、
    前記データ信号出力装置は半導体メモリである、データ信号取得装置。
JP2004282149A 2004-09-28 2004-09-28 データ信号取得装置 Pending JP2006099244A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004282149A JP2006099244A (ja) 2004-09-28 2004-09-28 データ信号取得装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004282149A JP2006099244A (ja) 2004-09-28 2004-09-28 データ信号取得装置

Publications (1)

Publication Number Publication Date
JP2006099244A true JP2006099244A (ja) 2006-04-13

Family

ID=36239017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004282149A Pending JP2006099244A (ja) 2004-09-28 2004-09-28 データ信号取得装置

Country Status (1)

Country Link
JP (1) JP2006099244A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110040A1 (ja) * 2008-03-07 2009-09-11 パナソニック株式会社 メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法
JPWO2013099035A1 (ja) * 2011-12-29 2015-04-30 ルネサスエレクトロニクス株式会社 半導体装置
JP2015197933A (ja) * 2014-03-31 2015-11-09 株式会社メガチップス データストローブエッジ検出回路、データストローブ処理回路及びデータリード回路
JP2016123111A (ja) * 2016-01-29 2016-07-07 ルネサスエレクトロニクス株式会社 半導体装置
US9864720B2 (en) 2015-09-30 2018-01-09 Samsung Electronics Co., Ltd. Data processing circuit for controlling sampling point independently and data processing system including the same

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110040A1 (ja) * 2008-03-07 2009-09-11 パナソニック株式会社 メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法
JP2009217344A (ja) * 2008-03-07 2009-09-24 Panasonic Corp メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法
US8589654B2 (en) 2008-03-07 2013-11-19 Panasonic Corporation Memory device, memory system, and access timing adjusting method in memory system
JPWO2013099035A1 (ja) * 2011-12-29 2015-04-30 ルネサスエレクトロニクス株式会社 半導体装置
US9536579B2 (en) 2011-12-29 2017-01-03 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
TWI575879B (zh) * 2011-12-29 2017-03-21 Renesas Electronics Corp Semiconductor device
US9761299B2 (en) 2011-12-29 2017-09-12 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
KR101837239B1 (ko) 2011-12-29 2018-03-09 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치
JP2015197933A (ja) * 2014-03-31 2015-11-09 株式会社メガチップス データストローブエッジ検出回路、データストローブ処理回路及びデータリード回路
US9864720B2 (en) 2015-09-30 2018-01-09 Samsung Electronics Co., Ltd. Data processing circuit for controlling sampling point independently and data processing system including the same
JP2016123111A (ja) * 2016-01-29 2016-07-07 ルネサスエレクトロニクス株式会社 半導体装置

Similar Documents

Publication Publication Date Title
US6738918B2 (en) High speed data transfer synchronizing system and method
US6052329A (en) Output circuit and synchronous semiconductor memory device having a function of preventing output of invalid data
US7957210B2 (en) Variable delay circuit, memory control circuit, delay amount setting apparatus, delay amount setting method and computer-readable recording medium in which delay amount setting program is recorded
TWI493546B (zh) 半導體記憶體裝置及具有半導體記憶體裝置之記憶體系統
KR101735091B1 (ko) 컬럼소스신호 생성회로
KR100630726B1 (ko) 동작 모드가 별도로 설정되는 메모리 장치들을 구비하는메모리 시스템 및 동작 모드 설정 방법
US5576997A (en) Data processing system and semiconductor memory suited for the same
US8185760B2 (en) Memory controller device, control method for memory controller device and data reception device
KR100883140B1 (ko) 데이터 출력 제어회로, 반도체 메모리 장치 및 그의 동작방법
CN111418015A (zh) 用于存储器装置中的命令同步的技术
KR101138832B1 (ko) 반도체 메모리 장치 및 그 동작방법
KR20090072269A (ko) 반도체 메모리 장치
US20080122513A1 (en) Delay control circuit
JPH10283779A (ja) 同期型半導体記憶装置
JP2006099245A (ja) データ信号取得装置
JP2004171738A (ja) 高速データの出力のためのパイプラッチ回路
JP2006099244A (ja) データ信号取得装置
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
JP4854258B2 (ja) 同期式メモリ装置のデータ出力時点調節方法
KR20140136203A (ko) 반도체 집적회로
US9374096B2 (en) Semiconductor apparatus and semiconductor system including the same, and method of operating the same
KR102656206B1 (ko) 반도체 장치
KR101046730B1 (ko) 반도체 메모리 장치 및 그 구동 방법
US7633814B2 (en) Memory device and method of operating such
JP2000163154A (ja) クロック信号位相遅延補償方法