JP4952177B2 - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP4952177B2
JP4952177B2 JP2006270714A JP2006270714A JP4952177B2 JP 4952177 B2 JP4952177 B2 JP 4952177B2 JP 2006270714 A JP2006270714 A JP 2006270714A JP 2006270714 A JP2006270714 A JP 2006270714A JP 4952177 B2 JP4952177 B2 JP 4952177B2
Authority
JP
Japan
Prior art keywords
read
clock
qdr
delay
read clock
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.)
Expired - Fee Related
Application number
JP2006270714A
Other languages
English (en)
Other versions
JP2008090598A (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 JP2006270714A priority Critical patent/JP4952177B2/ja
Publication of JP2008090598A publication Critical patent/JP2008090598A/ja
Application granted granted Critical
Publication of JP4952177B2 publication Critical patent/JP4952177B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、記憶装置に関し、例えば、QDR(Quad Data Rate)方式に準拠したQDR SRAM等の高速動作可能なメモリデバイスをバス接続して用いる記憶装置に好適な技術に関する。
近年、インターネットなどの普及に伴って通信機器の伝送速度が高速化している。そのため、高速伝送が要求される通信機器には、高速動作が可能なメモリ等のデバイスが必要とされている。従来の高速動作が可能なメモリとしては、DDR(Double Data Rate)方式のメモリ(DDR SRAM)や、QDR(Quad Data Rate)方式のメモリ(QDR SRAM)が知られている、
ここで、DDR SRAMは、プロセッサやバスコントローラからのアドレス信号や制御信号を、システムクロックに同期してSRAM内部に取り込むとともに、クロックの立ち上がりと立ち下がりの両エッジに同期させることで、従来に比べて2倍の転送レートを実現したものである。そして、QDR SRAMは、さらにデータ入力とデータ出力とを分離し,それぞれをDDRで動作させつつ、読み出しと書き込みとを同時に行なうことで、DDR方式に比べて2倍(従来の4倍)の転送レートを実現したものである。
なお、これらのDDR方式やQDR方式とは直接の技術的関連性はないが、既知のクロックのタイミング調整技術として、例えば、下記特許文献1により提案されている技術がある。
即ち、特許文献1には、配線長遅延があっても、ライト時、リード時とも安定してデータの送受信を行なえるようにすることを目的として、折り返し配線による比較クロックと基準クロックとの位相差が0になるようにDLL(Delay Locked Loop)回路にてリードクロックの位相を調整する方式について開示がある。
特開2000−293429号公報
ところで、一般的に、QDR方式に準拠したプロセッサやバスコントローラ(以下、総称して「コントローラ」という)と接続可能なデバイスは、QDR SRAM等のQDR標準デバイスやLA-1〔NPF (Network Processing Forum)のLook-Aside〕規格に準拠したASIC(Application Specific Integrated Circuit)等に限定される。その理由は、コントローラが要求するA/C特性が非常にクリティカルであるため、QDR接続を前提として設計されているデバイスでないと要求条件を満足できない点にある。
図11及び図12に従来技術の一例を示す。図11はコントローラ101がQDRバス(ライトデータバス、リードデータバス等)を介して多段(直列)接続されたQDR SRAM102,103に対するアクセス制御(ライト/リード制御)を行なう場合の構成、図12はコントローラ101がQDRバスを介して単一のASIC104に対するアクセス制御を行なう場合の構成を示しており、これらの図11及び図12において、符号202がライトデータやライトアドレス、制御信号等の伝達経路(ライトデータバス)、符号201がライトクロックの伝達経路(ライトクロックライン)、符号203がリードデータの伝達経路(リードデータバス)、符号204がリードクロックの伝達経路(リードクロックライン)をそれぞれ示している。
つまり、図11に示す構成では、コントローラ101の出力ポート「K」からライトクロック、出力ポート「A/D/CNT」からライトデータがそれぞれQDR SRAM102に与えられることにより、当該ライトクロックに従ってライトデータのQDR SRAM102に対する書き込み、あるいはQDR SRAM103への転送が実行され、また、転送されたライトクロックに従ってライトデータのQDR SRAM103への書き込みが実行される。
一方、コントローラ101の出力ポート「CO」からはリードクロックが出力され、これがQDR SRAM103,102の順番で与えられることにより、QDR SRAM103,102からのデータ読み出しが順次実行され、コントローラ101の入力ポート「DIN」にリードデータが、入力ポート「CIN」にリードクロックがそれぞれ入力される。
図12に示す構成においても、同様に、コントローラ101の出力ポート「K」からライトクロック、出力ポート「A/D/CNT」からライトデータがそれぞれASIC104に与えられることにより、当該ライトクロックに従ってライトデータのASIC104に対する書き込みが実行される。また、コントローラ101の出力ポート「CO」からリードクロックがASIC104に与えられることにより、ASIC104からのデータ読み出しが実行され、コントローラ101の入力ポート「DIN」にリードデータが、入力ポート「CIN」にリードクロックがそれぞれ入力される。
このように、一般的なQDRの回路構成では、コントローラ101から出力されるクロックの接続に関し、ライトクロックはアドレス線やライトデータの接続順に合わせ、リードクロックはライトクロックの逆とする。こうすることで、データの進行方向に対してクロックと他信号ラインとのプリント板上での伝播遅延が同一となり、データの取り込みタイミングを一本化できる。なお、ライトクロックとリードクロックとは独立して制御することが可能であり、リードデータの出力タイミングは、リードクロックの入力位相により調整することが可能となっている。
ところで、QDRは、既述のとおり、データの入力ポートと出力ポートとを分離することに加え、クロックの両エッジを使用することで、データの転送スピードを向上させる技術であるが、クロックが高速である為に、要求されるA/C特性がクリティカルとなっている。即ち、一般的なQDR SRAMでは、ライトクロックとリードクロックとが同位相の場合、リード時のデータ出力タイミング(レイテンシ)が、アドレス、リードクロックの取り込みから1.5クロック(TCOは0〜500ps)後となっている(図11、図12および図13の矢印110参照)。なお、TCOとは、クロックエッジからデータ出力までの遅延時間を表す。
ただし、リードサイクルにおける上記考えは、回路を構成する各デバイスの出力遅延が、QDR規格を満足している(そのようなデバイスを以下QDR標準デバイスと称する)ことが前提であり、QDRバス上に1つでも遅延が大きい(あるいは小さい)デバイス(QDR規格外デバイス)が存在するとコントローラ101側でのデータ取り込みタイミングが固定できないため成立しなくなる。コントローラ101と接続するデバイスが特定のものに限定されるのは、QDRプロトコル以外に、この出力遅延を満足する必要があるためである。
そのため、本来、ASIC等のQDR標準デバイスを使用すべき部分にFPGA(Field Programmable Gate Array)等の汎用デバイスを使用したい場合でも、前述の1.5クロック(TCOは0〜500ps)という出力遅延を満足することは、FPGAの高速品(当然高価である)を使用してFPGA内部の回路構成を最適化しても、実現は非常に困難である。
即ち、同一QDRバス上にFPGA等の汎用デバイスのみが存在している回路構成の場合は、当該汎用デバイスの出力遅延に合わせて、コントローラ101側のデータ取り込みタイミングを調整すれば良いが、出力遅延の異なるデバイスが混在している場合は、コントローラ101側の設定だけでは対応できず実現は不可能である。
例えば図14に示すように、QDR SRAM102,103等のQDR標準デバイスと、FPGA105等の汎用デバイス(QDR規格外デバイス)とがQDRバス上に混在している場合を想定すると、図15に矢印111で示すように、QDR規格外デバイス105でのアドレス、リードクロック取り込み後からリードデータ出力までの遅延時間が1.5クロック(TCOは0〜500ps)以内という規格を満足できず、コントローラ101において正しくデータ読み取りを行なうことができなくなる。
ちなみに、150MHzのクロックを使用したとするとアドレス取り込みから10nsでリードクロックと位相の合った(0位相の)データを出力する必要があり、これが200MHzになると7.5nsという出力遅延時間が要求されることになる。
なお、前記特許文献1の技術(クロック位相制御回路)は、折り返し配線の存在に伴う配線長遅延に起因したクロックの位相ずれを吸収できるに過ぎないから、これを上記QDR技術に適用したとしても、QDR標準デバイスとFPGA等の汎用デバイスからそれぞれ出力されるデータ(リードデータ)の出力タイミングを一致あるいはQDR規格内に収めることはできない。
本発明は、このような課題に鑑み創案されたもので、所要の出力遅延に関する規格値に適合しないFPGA等の汎用デバイス(規格外デバイス)を同一バス上で規格デバイスと共存できるようにすることを目的とする。
上記の目的を達成するために、本発明では、下記の記憶装置を用いることを特徴としている。即ち、
(1)本発明の記憶装置は、リードクロックを受けてから規定の出力遅延時間内にリードデータをデータバスへ出力する規格デバイスと、リードクロックを受けてからリードデータを前記データバスへ出力するまでに前記出力遅延時間を超過する規格外デバイスと、第1のリードクロックを生成するコントローラと、該コントローラから前記第1のリードクロックを受けて該規格外デバイスへ供給するとともに、当該第1のリードクロックを前記規格外デバイスでの前記出力遅延時間に応じて遅延した第2リードクロックを生成して前記規格デバイスへ供給する遅延制御部とをそなえて構成されたことを特徴としている。
(2)ここで、本記憶装置は、該遅延制御部での前記第1のリードクロックの遅延量を設定するための設定レジスタをさらにそなえていてもよい。
(3)また、該コントローラは、該設定レジスタに対する前記遅延量の設定を変更しながら、該規格デバイス及び該規格外デバイスから出力されたリードデータを前記データバスから正常に受信できるか否かを確認して、前記遅延量の最適化を行なう遅延量設定制御部をそなえていてもよい。
(4)さらに、本記憶装置は、複数の該規格デバイスが、前記データバスを介して直列に接続されるとともに、該遅延制御部が、複数の前記第2リードクロックを生成して前記各規格デバイスのリードクロックとして個別に供給するように構成されていてもよい。
(5)また、該遅延制御部は、前記第2リードクロックの配線長と前記データバスの配線長との差分に応じて生じる遅延量を吸収すべく、前記各第2リードクロックの遅延量を個々に調整するように構成されていてもよい。
上記本発明によれば、少なくとも次のいずれかの効果ないし利点が得られる。
(1)コントローラから規格外デバイスに供給されるリードクロックを遅延制御部により規格外デバイスの出力遅延時間の超過時間に応じて遅延させて、規格デバイスへ供給するので、規格デバイスと規格外デバイスとのリードデータ出力タイミング(位相)を一致させることができる。したがって、規格デバイスと規格外デバイスとを混在して使用することが可能となる。その結果、規格デバイスに比して容易に回路変更が可能なFPGA等の汎用デバイスを適用できるようになり、柔軟な回路設計、製造コストの削減などを図ることが可能となる。
(2)また、前記設定レジスタを設けることにより、前記第2のリードクロックの出力位相をいつでも変更(調整)することが可能となる。
(3)さらに、前記遅延量設定制御部から、設定を変更しながら、該規格デバイス及び該規格外デバイスから出力されたリードデータを前記データバスから正常に受信できるか否かを確認して、前記遅延量の最適化を行なうこともできるので、常に、各デバイスに対して正常なアクセスを行なうことが可能となる。
(4)また、前記第2のリードクロックを各デバイスに対して個別に接続すれば、反射によるリードクロックの波形割れの影響を除去することが可能となり、製品の安定性や信頼性に大きく貢献することが可能である。
(5)さらに、前記各第2リードクロックの遅延量を個々に調整することで、前記第2リードクロックの配線長と前記データバスの配線長との差分に応じて生じる遅延量を吸収することが可能になるので、リードクロックライン長を最適化(最短化)することができる。したがって、反射によるリードクロックの波形割れの影響をより効果的に除去することが可能となり、さらなる製品の安定性や信頼性に大きく貢献することが可能である。
以下、本発明の実施の形態について、図面を参照しながら説明する。ただし、本発明は以下の実施形態に限定されず、本発明の趣旨を逸脱しない範囲で種々変形して実施できることはいうまでもない。
〔A〕概要説明
QDR SRAM等のQDR標準デバイスとASIC等とを同一バス上に共存させる構成において、本来ASICとすべき部分に機能追加、あるいは全く別の機能を実装する必要が発生した場合、通常であればASICを新規設計することとなるが、ここにFPGA等の汎用デバイスを用いることができれば、汎用デバイス(QDR非標準(規格外)デバイス)のもつ特性から開発期間の短縮や機能追加のフレキシブル性をもたせることが可能となる。
しかしながら、既述のとおり、リードサイクルにおけるFPGA等の汎用デバイスのレイテンシおよび遅延量は比較的大きいため、汎用デバイス内部の回路を最大限に最適化したとしても、ASICの場合と同様の構成ではQDR規格の要求を満足することはできない。
そこで、本実施形態では、QDR SRAM等のQDR標準デバイスに対するリードクロックを操作する、即ち、例えばDLL回路により意図的に遅延させることで、QDR標準デバイスのデータ出力を遅延させて、それぞれの出力位相を合わせる。これにより、FPGA等の汎用デバイスのリードサイクル時のデータ出力の遅延超過部分をなくすことができ、本来ASIC等のQDR標準デバイスであるべき部分にFPGA等の汎用デバイスを適用することが可能となる。
具体的には、QDR SRAM等のQDR標準デバイスへ供給するリードクロックを、DLL回路を使用しFPGA等の汎用デバイスの出力遅延超過分(1.5クロックを超過する時間)だけ遅らせて遅延量を合わせることで、QDRバスコントローラ側でみたクロックとデータの位相とを、リードアクセスを行なったデバイスに依存することなく、同一とすることが可能となる。
〔B〕第1実施形態の説明
図1は本発明の第1実施形態に係るQDRに準拠した記憶装置(QDRバス接続構成)の構成を示すブロック図で、この図1に示す記憶装置は、QDRバスコントローラ1と、QDR標準デバイス(規格デバイス)、即ち、リードクロックを受けてから1.5クロック+TCOという規定の出力遅延時間(QDR規格値)内にリードデータを出力するQDRメモリ(QDR SRAM)2,3と、QDR規格外デバイス、即ち、リードクロックを受けてからリードデータを出力するまでにQDR規格値を超過するFPGA等の汎用デバイス4(以下、FPGA4と表記する)とをそなえ、QDRバスコントローラ1に近い方から、QDRメモリ2,3,FPGA4の順に各デバイス2,3,4がデータバス及びクロックラインを介して接続されている。
即ち、この図1において、符号11がライトクロック(K)の伝達経路(ライトクロックライン)、符号12がライトデータ(ライトアドレス、制御信号を含む。以下、同じ)の伝達経路(ライトデータバス)、符号13がリードデータの伝達経路(リードデータバス)、符号14(14a,14b)がリードクロックの伝達経路(リードクロックライン)をそれぞれ表しており、ライトクロックとライトデータの進行方向(図1の紙面右方向)がそれぞれ同じで、且つ、リードクロックとリードデータの進行方向(図1の紙面左方向)がそれぞれ同じであるように、各データバス12,13及びクロックライン11,14が配線されている。
ただし、各データバス12,13、各クロックライン11,14はQDRバスコントローラ1,各デバイス2,3,4間にのみ配線されており、図1中に示すようにデバイス内を通過している部分は物理的な配線が存在しているのではなく単にクロック、データの伝達経路を表現しているに過ぎない。また、図1において、伝達経路11,12,13,14を途中(例えば、QDRメモリ2,3内等)でそれぞれ部分的に折り曲げ表記しているのは、ライト/リードクロック、ライト/リードデータが所要の出力遅延を受けることを表現している。さらに、点線矢印15は、QDRメモリ2,3が、FPGA4側から供給されるリードクロックを受けてから実際にリードデータをリードデータバス13へ出力するまでに「1.5クロック(レイテンシ)+TCO」の時間(出力遅延)を要することを表している。
ここで、QDRバスコントローラ(以下、単に「コントローラ」ともいう1は、出力ポート「K」からライトクロックをライトクロックライン11に出力するとともに、出力ポート「A/D/CNT」から当該ライトクロックに従ってライトデータをライトデータバス12へ出力することにより、QDRメモリ2,3及びFPGA4の内部メモリやレジスタに対する書き込み処理を実行する一方、出力ポート「CO」からリードクロック#1をリードクロックライン14aに出力するとともに、入力ポート「CIN」及び「DIN」にてそれぞれリードクロックライン14b及びリードデータバス13経由のリードクロック#2及びリードデータを受けることにより、QDRメモリ2,3及びFPGA4に対する読み出し処理を実行する機能を具備している。
QDRメモリ2,3は、それぞれ、上記コントローラ1からのライトクロック(K)に従ってライトデータバス12からのライトデータの記憶、転送を行なう一方、リードクロックライン14bから入力されるリードクロック#2に従ってデータの読み出しを行なってそのリードデータをリードデータバス13へ出力するとともに、前記入力リードクロック#2を出力側のリードクロックライン14bへ出力(転送)する機能を具備している。
FPGA4は、上記コントローラ1からのライトクロック(K)に従ってライトデータバス12からのライトデータの記憶を行なう一方、コントローラ1(リードクロックライン14a)から入力されるリードクロック#1に従ってデータの読み出しを行なってそのリードデータをリードデータバス13へ出力するとともに、前記入力リードクロック#1を内部のDLL回路47により遅延させてリードクロック#2としてリードクロックライン14bへ出力する機能を具備している。
即ち、本例のFPGA4は、例えば図2に示すように、コントローラ1からのリードクロック#1(CO)をDLL回路47によりFPGA4のリードデータ出力遅延分だけ遅らせて、QDRメモリ2,3へ供給するリードクロック#2(CIN)とすることで、QDR標準デバイス2,3とQDR規格外デバイス(FPGA)4とのリードデータ出力タイミング(位相)を一致させることができるようになっているのである。これにより、QDR規格外デバイス4がQDR標準デバイス2,3と混在していても、見かけ上、QDR規格に適合した動作となる。なお、図2では、パターン遅延の存在は無視している。
そのため、具体的に、本例のFPGA4は、その要部に着目すると、例えば図3に示すように、DLL設定部41,46,DLL回路42,47,フリップフロップ(FF)回路43,45,内部メモリ(レジスタ等)44等をそなえて構成される。なお、この図3において符号48はバッファを表す。また、上記のDLL回路47を除く構成要素を図1では内部メモリ・制御部40としてまとめて表している。
ここで、DLL回路42,47は、それぞれ、入力クロック位相をロックさせ、クロック位相シフト回路により、固定時間分遅延させた出力クロックを生成するものである。なお、これらのDLL回路42,47は、FPGA4内の既存DLL回路を利用してもよい。具体的に、DLL回路(遅延制御部)47は、コントローラ1から供給されるリードクロック#1(CO)からFF45に供給するリードデータ出力用クロック(Clk-C)及びQDR標準デバイス2,3へ供給するリードクロック#2(CIN)を生成するものであり、DLL回路42は、アドレス取込みのためのライトクロック(K)から、アドレス取込用内部クロック(Clk-A)及び内部メモリ44の制御用クロック(Clk-B)を生成するものである。なお、DLL回路42,47の固定遅延時間はDLL設定部41,46により設定され、FPGA4の回路データ生成工程段階で定義される。
FF43は、DLL回路42からの上記アドレス取込用内部クロック(Clk-A)に従って内部メモリ44のためのリードアドレス入力(A)を取り込んで内部メモリ44へ供給するものであり、内部メモリ44は、DLL回路42からの上記制御用クロック(Clk-B)に従ってFF43からのリードアドレスの示す記憶領域に書き込まれたデータをリードデータとして出力するものである。
FF45は、内部メモリ44から出力されたリードデータを、DLL回路47からの前記リードデータ出力用クロック(Clk-C)に従って取り込んでリードデータバス13へ出力するものである。
以下、上述のごとく構成されたFPGA4における内部メモリ44のリードサイクル時の動作と各DLL回路42,47の調整方法について、図4に示すタイムチャートを参照しながら説明する。
(S1)まず、図4の(1)及び(2)に示すように、アドレス取り込みのためのライトクロック(K)の立ち上がりを基準にDLL回路42にて生成したクロック(Clk-A)によりリードアドレス入力(A)を取り込む。クロック(Clk-A)の位相は、FF43のセットアップ時間を満足できる位置までマイナス側(早める方向)に設定することで、アドレス取り込みを早めることを実現する。
(S2)同様に、図4の(3),(4),(5)に示すように、ライトクロック(K)の立ち上がりを基準にDLL回路42にて遅延生成したクロック(Clk-B)により、内部メモリ44へのリードアドレス入力を行なう。クロック(Clk-B)は、(内部メモリ44までの配線遅延)+(内部メモリ44のセットアップ時間)を満足する位置に調整する。
(S3)図4の(6),(7),(8)に示すように、コントローラ1から供給されるリードクロック#1(CO)の立ち上がりを基準にDLL回路42にて遅延生成したクロック(Clk-C)により、内部メモリ44から出力されたリードデータを取り込み、FPGA4からリードデータを出力する。なお、通常、内部メモリ44からのデータ出力には、別のリード用クロックによる同期方式を用いるが、データ出力を早めるために非同期方式を採用し、FF45のセットアップ時間を満足する位置にクロック(Clk-C)を調整する。
(S4)図4の(9),(10)に示すように、DLL回路47からQDRメモリ2,3へ供給すべきリードクロック#2(CIN)の位相は、FF45及びその出力側のバッファ48にて生じる出力遅延量により、リードクロック#2の立ち下りからデータ出力までの時間がTCO(0〜500ps)規格を満足するように調整する。この調整は、DLL設定部46からのDLL回路47に対する設定により行なわれる。
ここで、本例のDLL回路47は、図3中に示すように、生成可能なクロック数に応じた数(ここでは、4つ)のクロック位相シフト回路(タップ遅延回路)471−1〜471−4と、当該クロック位相シフト回路471−i(i=1〜4)にそれぞれ対応したセレクタ472−1〜472−4とをそなえ、クロック位相シフト回路471−iにて入力クロックを段階的に位相シフトさせて異なる位相のクロックを複数生成し、そのいずれかをDLL設定部46からの設定に従ってセレクタ472−iにて選択出力することで、入力クロックを所要量だけ遅延させたクロックを最大4系統分生成、出力できるようになっている。
そして、本例では、図3から分かるように、4系統のうちの2系統を使用して、即ち、クロック位相シフト回路471−1及びセレクタ472−1の組で前記クロック(Clk-C)を生成し、クロック位相シフト回路471−2及びセレクタ472−2の組で前記リードクロック(CIN)を生成しているのである。なお、残りの2系統(クロック位相シフト回路471−3及びセレクタ472−3の組と、クロック位相シフト回路471−4及びセレクタ472−4の組)は、いずれも、本実施形態では未使用となっている(後述する第2実施形態にて用いる)。
より具体的に、上記クロック位相シフト回路471−iは、例えば図5に示すように、1クロック周期を360(deg)とした場合、9(deg)単位で入力クロックを位相シフトできる能力、即ち、40段階の調整タップを有しており、遅延させたい時間をt(秒)、リードクロック1の周波数をf(Hz)と表記すると、調整タップ値X=t/{(1/f)/(360/9)}となる。
したがって、例えば、位相シフト回路471−2への入力クロックであるリードクロック#1の周波数が150MHzで、1000ps程度遅延させたリードクロック#2を出力する必要がある場合、
X=(1000×1012)/{(1/150×106)/(360/9)}=6
となり、セレクタ472−2は、クロック位相シフト回路471−2で6タップ分の位相シフト量を受けたクロックを選択出力すればよいことになる。
以上のように、本実施形態によれば、コントローラ1からFPGA4に供給されるリードクロック#1(CO)をDLL回路47によりFPGA4の出力遅延分だけ遅らせて、QDRメモリ2,3へ供給するリードクロック#2(CIN)とすることで、QDR標準デバイス2,3とQDR規格外デバイス(FPGA)4とのリードデータ出力タイミング(位相)を一致させることができるので、QDR標準デバイス2,3とQDR規格外デバイス4とを混在して使用することが可能となる。
したがって、QDR規格外デバイス4としてFPGAを適用できるため、比較的容易に回路変更が可能であるというFPGA4がもつ特徴を利用でき、柔軟な回路設計、製造コストの削減などを図ることが可能となる。昨今の装置開発においては、開発期間が非常に短いことから、FPGA4で先行してプロトタイプを開発し、出荷が見込める部分についてASIC化を行なうことでコストダウンを実現するというオペレーションがごく一般的である。FPGA4を使用できるか否かは製品の売り上げだけでなく存在そのものを左右する極めて重要なファクターであり、その点だけでも効果は計り知れない。
(B1)変形例の説明
なお、上述したFPGA4には、例えば図6に示すように、図3に示したDLL設定部46(41)に対してクロック位相シフト量(つまり、DLL遅延量)に関する設定情報を与えるDLL設定レジスタ50を設けることができる。なお、この図6において、既述の符号と同一符号を付した部分は、それぞれ、既述の部分と同一若しくは同様の部分を表しており、また、図1に示す内部メモリ・制御部40の表記は省略している。
当該DLL設定レジスタ50を設けることにより、リードクロック#2の出力位相をいつでも変更(調整)することが可能となる。
そして、当該DLL設定レジスタ50に対するDLL遅延量の設定は、例えば図7に示すように、コントローラ1のソフトウェア10により、制御バス51を介して自動的に行なうことができる。
即ち、まず、ソフトウェア10は、
(S21)FPGA4のDLL遅延量として適当な初期値をDLL設定レジスタ50に設定し、
(S22)FPGA4に対して実際にライトクロック及びライトデータを与えるとともに、リードクロック#1を与えることにより、書き込み処理及び読み出し処理を実行して、正常にリードデータが受信できるか否かを確認する。
(S23)その結果、正常にリードデータを受信できなければ、ソフトウェア10は、前記初期値から所定量だけずらしたDLL遅延量をDLL設定レジスタ50に再設定する。
(S24)そして、ソフトウェア10は、正常にリードデータを受信できるようになるまで、上記S22及びS23の処理を繰り返し実行して、正常なアクセスが可能となるDLL遅延量の設定幅を確認し、
(S25)最終的に、当該設定幅の中心になるようにDLL遅延量をDLL設定レジスタ50に設定する。
つまり、本例のソフトウェア10は、DLL設定レジスタ50に対するDLL遅延量の設定を変更しながら、QDRメモリ2,3及びFPGA4から出力されたリードデータをリードデータバス13から正常に受信できるか否かを確認して、DLL遅延量の最適化を行なう遅延量設定制御部としての機能を果たしている。
このように、ソフトウェア10から、DLL遅延量の設定、および、ライト/リードチェックを行なうことにより、コントローラ1が正常にリードデータを受信可能なDLL遅延量の最適化を行なうことができるので、コントローラ1は、常に、各デバイス2,3,4に対して正常なアクセスを行なうことが可能となる。
〔C〕第2実施形態の説明
図8は本発明の第2実施形態に係るQDRに準拠した記憶装置(QDRバス接続構成)の構成を示すブロック図で、この図8に示す記憶装置は、図1により既述のものとそれぞれ同一若しくは同様の、コントローラ1と、QDRメモリ(QDR SRAM)2,3と、FPGA4とをそなえて構成されている(ただし、内部メモリ・制御部40の図示は省略している)が、図3により前述したDLL回路47の4系統のクロック出力のすべてを使用して、コントローラ1,QDRメモリ2,3に対してそれぞれ独立したリードクロック#4,#3,#2を与えることができるようになっている。
即ち、例えば図3に示すセレクタ472−2の出力(リードクロック#2)をリードクロックライン14(14b)によりQDRメモリ3のリードクロック入力に接続し、セレクタ472−3の出力(リードクロック#3)をリードクロックライン14(14c)によりQDRメモリ2のリードクロック入力に接続し、セレクタ472−4の出力(リードクロック#4)をリードクロックライン14(14d)によりコントローラ1の入力ポート「CIN」に接続する。なお、セレクタ472−1の出力(内部クロック(Clk-C))は、第1実施形態と同様に、FF45に供給される。
ただし、各リードクロックライン14b〜14dは、それぞれ対応するリードデータバスの配線長と等長となるように配線される。即ち、リードクロック#2用のリードクロックライン14bは、FPGA4−QDRメモリ3間のリードデータバス13と等長になるように配線され、リードクロック#3用のリードクロックライン14cは、FPGA4−QDRメモリ3間およびFPGA4−QDRメモリ2間のリードデータバス13の合計と等長になるように配線され、リードクロック#4用のリードクロックライン14dは、FPGA4−QDRメモリ3間、FPGA4−QDRメモリ2間およびQDRメモリ2−コントローラ1間のリードデータバス13の合計と等長になるように配線される。
これにより、各リードクロック#2,#3,#4のリードクロック#1に対する遅延量(位相シフト量)を同一にしても、コントローラ1は、各デバイス2,3,4に対するアクセスを正常に行なうことができる。
そして、本例では、リードクロック#1,#2,#3,#4を各デバイス4,3,2,1に対して個別に(1対1で)接続しているので、第1実施形態と同様の作用効果が得られるほか、第1実施形態に比して、反射によるリードクロックの波形割れの影響を除去することが可能となり、製品の安定性や信頼性に大きく貢献することが可能である。
なお、本例では、単一のDLL回路47により各リードクロック#1〜#4を生成しているが、それぞれ個別あるいは一部共用のDLL回路を複数用意して同等のクロックを生成できるようにしてもよい(以下の変形例においても同じ)。
(C1)変形例の説明
なお、図8により上述したリードクロック独立配線構成では、DLL回路47で生成される各リードクロック#2,#3,#4の遅延量をDLL設定部46により個々に調整することで、リードクロック#2,#3,#4の配線長を最適化することが可能である。
即ち、リードクロックライン14b〜14dは、それぞれ、最短長で配線し、対応するリードデータバス13の配線長との差分による遅延分は、DLL回路47での遅延量をリードクロック#2,#3,#4毎に調整する(つまり、図3に示すセレクタ472−2,472−3,472−4で選択するタップ出力を個々に設定する)ことで吸収する。
例えば、リードクロック#2の遅延量は、FPGA4−QDRメモリ3間のリードデータバス13との配線長差分による遅延分をFPGA4のTCO遅延分と併せて設定し、リードクロック#3の遅延量は、FPGA4−QDRメモリ3間およびFPGA4−QDRメモリ2間のリードデータバス13との配線長差分による遅延分をFPGA4のTCO遅延分と併せて設定し、リードクロック#4の遅延量は、FPGA4−QDRメモリ3間、FPGA4−QDRメモリ2間およびQDRメモリ2−コントローラ1間のリードデータバス13との配線長差分による遅延分をFPGA4のTCO遅延分と併せて設定する。
このように、上述した第2実施形態のようにリードクロックライン長をリードデータバス長と等長とするのではなく、リードクロックラインを最短とし、これによる配線長差をDLL回路47により吸収するように位相調整を行なうことで、リードクロックライン長を最適化(最短化)することができる。したがって、上述した第2実施形態に比して、反射によるリードクロックの波形割れの影響をより効果的に除去することが可能となり、さらなる製品の安定性や信頼性に大きく貢献することが可能である。
なお、上述した第2実施形態及びその変形例においても、第1実施形態の変形例(図6,図7)と同様に、設定レジスタ50をそなえてもよいし、ソフトウェア10によるDLL遅延量の設定およびライト/リードチェックを適用することも可能である。
〔D〕その他
上述した第1及び第2実施形態並びに各変形例では、いずれも、DLL回路47がFPGA4に内蔵されているが、例えば図10に示すように、FPGA4の外部に設けてもよい。ただし、QDRメモリ2,3へ供給するリードクロック#2をFPGA4へのリードクロック#1に対して遅延させる必要があるので、少なくともFGPA4から出力されるリードクロック#1をQDR標準デバイス3(2)へ供給する前に遅延させる必要がある。
また、上述した実施形態では、コントローラ1とFPGA4との間に、2つのQDR標準デバイス2,3が存在する場合について例示したが、勿論、1つでもよいし、3つ以上存在していても、上記と同様の作用効果が得られる。
〔E〕付記
(付記1)
リードクロックを受けてから規定の出力遅延時間内にリードデータをデータバスへ出力する規格デバイスと、
リードクロックを受けてからリードデータを前記データバスへ出力するまでに前記出力遅延時間を超過する規格外デバイスと、
第1のリードクロックを生成するコントローラと、
該コントローラから前記第1のリードクロックを受けて該規格外デバイスへ供給するとともに、当該第1のリードクロックを前記規格外デバイスでの前記出力遅延時間に応じて遅延した第2リードクロックを生成して前記規格デバイスへ供給する遅延制御部とをそなえて構成されたことを特徴とする、記憶装置。
(付記2)
該遅延制御部での前記第1のリードクロックの遅延量を設定するための設定レジスタをさらにそなえたことを特徴とする、付記1記載の記憶装置。
(付記3)
該コントローラが、
該設定レジスタに対する前記遅延量の設定を変更しながら、該規格デバイス及び該規格外デバイスから出力されたリードデータを前記データバスから正常に受信できるか否かを確認して、前記遅延量の最適化を行なう遅延量設定制御部をそなえたことを特徴とする、付記2記載の記憶装置。
(付記4)
複数の該規格デバイスが、前記データバスを介して直列に接続されるとともに、
該遅延制御部が、
複数の前記第2リードクロックを生成して前記各規格デバイスのリードクロックとして個別に供給するように構成されたことを特徴とする、付記1記載の記憶装置。
(付記5)
該遅延制御部が、
前記第2リードクロックの配線長と前記データバスの配線長との差分に応じて生じる遅延量を吸収すべく、前記各第2リードクロックの遅延量を個々に調整するように構成されたことを特徴とする、付記4記載の記憶装置。
(付記6)
該遅延制御部が、該規格外デバイス内に設けられたことを特徴とする、付記1〜5のいずれか1項に記載の記憶装置。
(付記7)
該遅延制御部が、該規格外デバイス外に設けられたことを特徴とする、付記1〜5のいずれか1項に記載の記憶装置。
本発明の第1実施形態に係るQDRに準拠した記憶装置(QDRバス接続構成)の構成を示すブロック図である。 図1に示す記憶装置のリードサイクル時の動作を説明するためのタイムチャートである。 図1に示す汎用デバイス(DLL回路周辺)の構成を示すブロック図である。 図3に示す汎用デバイスのリードサイクル時の動作を説明するためのタイムチャートである。 図3に示すDLL回路の遅延調整方法を説明するためのタイムチャートである。 図1に示す記憶装置の変形例を示すブロック図である。 図1に示す記憶装置の変形例を示すブロック図である。 本発明の第2実施形態に係るQDRに準拠した記憶装置(QDRバス接続構成)の構成を示すブロック図である。 図8に示す記憶装置の変形例を示すブロック図である。 図1,図6〜図9に示す記憶装置の変形例を示すブロック図である。 従来のQDRに準拠した記憶装置の構成を示すブロック図である。 従来のQDRに準拠した記憶装置の構成を示すブロック図である。 図11及び図12に示す記憶装置のリードサイクル時の動作を説明するためのタイムチャートである。 従来技術の課題を説明すべく記憶装置の構成を示すブロック図である。 図14に示す構成でのリードサイクル時の動作を説明するためのタイムチャートである。
符号の説明
1 QDRバスコントローラ
2,3 QDR SRAM(QDR標準デバイス:規格デバイス)
4 FPGA(QDR規格外デバイス)
10 ソフトウェア(遅延量設定制御部)
11 ライトクロックライン(伝達経路)
12 ライトデータバス(伝達経路)
13 リードデータバス(伝達経路)
14,14a,14b,14c,14d リードクロックライン(伝達経路)
40 内部メモリ・制御部
41,46 DLL設定部
42,47 DLL回路
471−1〜471−4 クロック位相シフト回路(タップ遅延回路)
472−1〜472−4 セレクタ
43,45 FF回路
48 バッファ
50 DLL設定レジスタ
51 制御バス

Claims (5)

  1. リードクロックを受けてから規定の出力遅延時間内にリードデータをデータバスへ出力する規格デバイスと、
    リードクロックを受けてからリードデータを前記データバスへ出力するまでに前記出力遅延時間を超過する規格外デバイスと、
    第1のリードクロックを生成するコントローラと、
    該コントローラから前記第1のリードクロックを受けて該規格外デバイスへ供給するとともに、当該第1のリードクロックを前記規格外デバイスでの前記出力遅延時間に応じて遅延した第2リードクロックを生成して前記規格デバイスへ供給する遅延制御部とをそなえて構成されたことを特徴とする、記憶装置。
  2. 該遅延制御部での前記第1のリードクロックの遅延量を設定するための設定レジスタをさらにそなえたことを特徴とする、請求項1記載の記憶装置。
  3. 該コントローラが、
    該設定レジスタに対する前記遅延量の設定を変更しながら、該規格デバイス及び該規格外デバイスから出力されたリードデータを前記データバスから正常に受信できるか否かを確認して、前記遅延量の最適化を行なう遅延量設定制御部をそなえたことを特徴とする、請求項2記載の記憶装置。
  4. 複数の該規格デバイスが、前記データバスを介して直列に接続されるとともに、
    該遅延制御部が、
    複数の前記第2リードクロックを生成して前記各規格デバイスのリードクロックとして個別に供給するように構成されたことを特徴とする、請求項1記載の記憶装置。
  5. 該遅延制御部が、
    前記第2リードクロックの配線長と前記データバスの配線長との差分に応じて生じる遅延量を吸収すべく、前記各第2リードクロックの遅延量を個々に調整するように構成されたことを特徴とする、請求項4記載の記憶装置。
JP2006270714A 2006-10-02 2006-10-02 記憶装置 Expired - Fee Related JP4952177B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006270714A JP4952177B2 (ja) 2006-10-02 2006-10-02 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006270714A JP4952177B2 (ja) 2006-10-02 2006-10-02 記憶装置

Publications (2)

Publication Number Publication Date
JP2008090598A JP2008090598A (ja) 2008-04-17
JP4952177B2 true JP4952177B2 (ja) 2012-06-13

Family

ID=39374673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006270714A Expired - Fee Related JP4952177B2 (ja) 2006-10-02 2006-10-02 記憶装置

Country Status (1)

Country Link
JP (1) JP4952177B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2329496A4 (en) * 2008-09-30 2012-06-13 Mosaid Technologies Inc SERIAL SWITCHED STORAGE SYSTEM WITH OUTPUT DELAY SETTING
CN113128156B (zh) * 2021-04-21 2023-12-19 北京时代民芯科技有限公司 一种qdr sram应用验证系统及其验证方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002324009A (ja) * 2001-04-24 2002-11-08 Nec Corp メモリ制御方法及びメモリ制御システム
JP2006260071A (ja) * 2005-03-16 2006-09-28 Oki Data Corp メモリ制御装置および情報処理装置

Also Published As

Publication number Publication date
JP2008090598A (ja) 2008-04-17

Similar Documents

Publication Publication Date Title
JP3929116B2 (ja) メモリサブシステム
JP4159415B2 (ja) メモリモジュール及びメモリシステム
US8700818B2 (en) Packet based ID generation for serially interconnected devices
KR100654125B1 (ko) 반도체메모리소자의 데이터 출력장치
US7668022B2 (en) Integrated circuit for clock generation for memory devices
US9201449B1 (en) Method and apparatus for source-synchronous capture using a first-in-first-out unit
WO1999046687A1 (fr) Emetteur de donnees
JPH10254579A (ja) クロック信号分配方法
JP4930593B2 (ja) データ転送装置およびデータ転送方法
JP2003044349A (ja) レジスタ及び信号生成方法
US7193429B2 (en) Serial data communication system having plurality of data transmission paths
JP2005353168A (ja) メモリインターフェース回路及びメモリインターフェース方法
US20020031016A1 (en) Data transmitter
JP4952177B2 (ja) 記憶装置
US20070186072A1 (en) Memory systems capable of reducing electromagnetic interference in data lines
JP4305616B2 (ja) 制御及びアドレスクロック非分配型メモリシステム
JP4893064B2 (ja) 半導体集積回路および半導体集積回路設計方法
JP2013236246A (ja) 半導体装置、及びそのデータ転送方法
JPH11265313A (ja) 記憶装置
JP5107152B2 (ja) Cpu動作クロック同調式plcバスシステム
US7894278B2 (en) Semiconductor memory device and method for operating the same
JP2004094776A (ja) 半導体集積回路
JP2006338689A (ja) メモリシステム
KR100546097B1 (ko) 제어 및 어드레스 클럭 비분배형 메모리 시스템
JP4305286B2 (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120209

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: 20120214

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: 20120227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees