JP2012027734A - メモリコントローラおよびメモリアクセスシステム - Google Patents
メモリコントローラおよびメモリアクセスシステム Download PDFInfo
- Publication number
- JP2012027734A JP2012027734A JP2010166472A JP2010166472A JP2012027734A JP 2012027734 A JP2012027734 A JP 2012027734A JP 2010166472 A JP2010166472 A JP 2010166472A JP 2010166472 A JP2010166472 A JP 2010166472A JP 2012027734 A JP2012027734 A JP 2012027734A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- memory
- data
- unit
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/24—Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
【課題】メモリに対するデータ入出力を行うメモリコントローラにおいて、信号のタイミング関係を、実際の動作条件において適切に調整可能にする。
【解決手段】コントローラ部20は、データ信号DATAとデータストローブ信号DQSを出力する。データ信号DATAは、エラー検出部10が有するFIFOメモリ110を介してメモリI/F部30に入力される。メモリI/F部30はデータ信号DATAおよびデータストローブ信号DQSのタイミング調整を行いメモリ5に出力するが、データ信号DATAはエラー検出部10にもループバックされる。エラー検出部10では、メモリI/F部30からループバックされたデータ信号DATAと、FIFOメモリ110から出力された、ループバックされたデータ信号DATAに対応する元のデータ信号DATAとを、データ比較器125によって比較する。
【選択図】図1
【解決手段】コントローラ部20は、データ信号DATAとデータストローブ信号DQSを出力する。データ信号DATAは、エラー検出部10が有するFIFOメモリ110を介してメモリI/F部30に入力される。メモリI/F部30はデータ信号DATAおよびデータストローブ信号DQSのタイミング調整を行いメモリ5に出力するが、データ信号DATAはエラー検出部10にもループバックされる。エラー検出部10では、メモリI/F部30からループバックされたデータ信号DATAと、FIFOメモリ110から出力された、ループバックされたデータ信号DATAに対応する元のデータ信号DATAとを、データ比較器125によって比較する。
【選択図】図1
Description
本発明は、メモリアクセスシステムに関するものであり、特に、メモリアクセス時のデータ転送エラーを検出する技術に関する。
近年のメモリシステムでは、大容量、高速データ処理化に伴って、DDR−SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)の採用が主流となっている。DDR−SDRAMでは、データストローブ信号(DQS)の立ち上がりおよび立ち下がりの両エッジに同期してデータ信号(DQ)の転送が可能であるため、従来のSDRAMの2倍のデータ転送が可能である。
DDR方式では、規格として双方向のデータ信号及びデータストローブ信号を用い、DDR−SDRAMにデータ送信を行う動作(Write動作)とDDR−SDRAMからデータを受信する動作(Read動作)とが行われる。高速アクセスに対応する上で、Write動作およびRead動作の両方において、データストローブ信号の最適化が重要視される。特にRead動作では、DDR−SDRAMから送信されるデータ信号とデータストローブ信号はほぼ同相であるため、データ信号に対して90度位相をつけたデータストローブ信号を生成し、安定してデータをラッチできるタイミング調整ポイントを探す必要がある。
Write動作では、メモリに対するコマンド信号とクロック信号のタイミング関係とデータ信号をデータストローブ信号でラッチするタイミング関係とを適切に調整する必要がある。またRead動作では、データ信号をデータストローブ信号でラッチするタイミング関係を適切に調整する必要がある。このようなタイミング調整のために、例えば特許文献1では、ループバック試験を行う構成が開示されている。
図6は従来例として特許文献1に開示されたDDR−SDRAMインターフェース回路の構成である。図6に示すDDR−SDRAMインターフェース回路51は、データ信号DQをDDR−SDRAMと通信する通常動作モードと、DDR−SDRAMインターフェース回路51自身の動作確認を行う試験モードとを有する。テスト制御信号TESTがハイレベルになるととループバック試験モードとなり、データセレクタDSはパタン発生回路61から出力されるパタンデータDPを選択出力する。このループバック試験では、データストローブ信号入出力部52において、出力バッファOB1を介したデータストローブ信号DQSを折り返して入力バッファIB1へ入力し、データ信号入出力部53において、出力バッファOB2を介したデータ信号DQを折り返して入力バッファIB2へ入力する。そしてDDL回路10を介したデータストローブ信号DDQSを用いて、折り返されたデータ信号DQをデータ信号入出力部53のフリップフロップFF3でキャプチャする。判定部54において、キャプチャされたデータDQCと出力元のデータDPとが一致するか否かを判定する。
ところが図6に示すような従来の構成では、ループバック試験のためにパタン発生回路61を設けているため、特定パターンに依存する調整しか行うことができない。
また、実際の動作条件では、温度や電圧等の変化に伴ってデータ信号とデータストローブ信号のタイミング関係は変動する。このため、ループバック試験モードにおいてタイミング調整を行っても、その調整結果は必ずしも最適なものとは言えず、このため実際のメモリアクセス時にはデータ転送エラーが発生する可能性がある。
逆に言うと、実際の動作条件において最適なタイミング調整が可能になれば、電源電圧の設定をより適切に行うことができるので、回路の低消費電力化を実現することが可能になる。
本発明は、メモリに対するデータ入出力を行うメモリコントローラにおいて、一方の信号のエッジに同期して他方の信号が転送される場合の信号同士のタイミング関係を、実際の動作条件において適切に調整可能にすることを目的とする。
本発明の一態様では、メモリに対するデータ入出力を行うメモリコントローラは、回路ブロックとのデータ送受信を行い、第1の信号と、この第1の信号との位相関係を保持した第2の信号とを生成し出力するコントローラ部と、前記コントローラ部から出力された第2の信号を入力とするFIFOメモリを有するエラー検出部と、前記コントローラ部から出力された第1の信号と、前記エラー検出部の前記FIFOメモリから出力された第2の信号とを入力とし、前記第1および第2の信号についてタイミング調整を行い、前記メモリに出力するメモリI/F部とを備え、前記メモリI/F部から出力される第2の信号は、前記メモリに出力されるとともに、前記エラー検出部にループバックされ、前記エラー検出部は、ループバックされた第2の信号と、前記FIFOメモリから出力された、前記ループバックされた第2の信号に対応する元の第2の信号とを比較するデータ比較器を備えている。
この態様によると、第1の信号とこの第1の信号との位相関係を保持した第2の信号とが、コントローラ部から出力される。第1の信号はメモリI/F部に入力され、第2の信号はエラー検出部が有するFIFOメモリを介してメモリI/F部に入力される。メモリI/F部は第1および第2の信号についてタイミング調整を行いメモリに出力するが、第2の信号はエラー検出部にもループバックされる。エラー検出部では、メモリI/F部からループバックされた第2の信号と、FIFOメモリから出力された、前記ループバックされた第2の信号に対応する元の第2の信号とが、データ比較器によって比較される。この比較によって、メモリへのデータ転送中にエラーが生じたか否かが判断できる。しかも、ループバック試験のためにパタン発生回路を設けておらず、実際の動作条件における検査が可能となる。また、Write動作での不具合検出が可能になるので、データ転送エラーが発生した場合に、不具合がWrite動作で生じたのかRead動作で生じたのかの切り分けが可能になる。
また、前記エラー検出部は、前記データ比較器の比較結果を格納するためのレジスタを備えているのが好ましい。
さらには、前記コントローラ部は、前記第2の信号の出力元である回路ブロックを示すブロック識別信号を前記エラー検出部に出力するものであり、前記エラー検出部は、前記データ比較器の比較結果が不一致であるとき、前記ブロック識別信号を当該比較結果とともに前記レジスタに格納するのが好ましい。
これにより、エラーが検出されたとき、レジスタに、第2の信号の出力元である回路ブロックを示すブロック識別信号が格納されるので、レジスタの格納データをモニターすることによって、不具合が、メモリコントローラ内部で生じたのか、あるいは、特定の回路ブロックからの出力に原因があるのか、といった解析が容易になる。
以上のように本発明によると、特定のデータパターンを用いたテストでは検出できなかった、実際の動作状態におけるエラーの発生を検出することが可能になる。さらには、不具合の原因がメモリコントローラにあるのか特定の回路ブロックにあるのかといった解析が容易になる。これにより、不具合の解析時間を短縮できるとともに、信号のタイミング関係の調整をより適切に行うことができるので、メモリアクセスシステムの設計効率向上および品質向上が実現できる。
以下、本発明を実施するための形態について、図面を参照しながら説明する。
図1は実施形態に係るメモリアクセスシステムの構成を示すブロック図である。図1において、メモリコントローラ1は、メモリ5に対するデータ入出力を行うものであり、複数の回路ブロック(BlockA300,BlockB310,BlockC320)とデータ送受信を行い、メモリ5とデータ送受信を行う機能を有する。
メモリコントローラ1は、エラー検出部10、コントローラ部20およびメモリI/F部30を備えている。コントローラ部20において、データ生成部21は、複数の回路ブロック(BlockA300,BlockB310,BlockC320)に対して、データ送受信の制御、データ送受信の優先度などの調停を行う。そして、メモリ5にデータ送信するためのDDR方式の規定に従った信号、すなわち、クロック信号CK、コマンド信号CMD、データ信号DATAおよびデータストローブ信号DQSを生成する。第1の信号としてのクロック信号CKと第2の信号としてのコマンド信号CMDは、メモリ5に対するAC規定を保証し、転送される。コマンド信号CMDはクロック信号CKとの位相関係を保持したものである。第1の信号としてのデータストローブ信号DQSと第2の信号としてのデータ信号DATAも同様に、メモリ5に対するAC規定を保証し、転送される。データ信号DATAはデータストローブ信号DQSとの位相関係を保持したものである。また、データ生成部21は、コマンド信号CMDの出力元である回路ブロックを示す第1のブロック識別信号BL1と、データ信号DATAの出力元である回路ブロックを示す第2のブロック識別信号BL2とを生成する。
エラー検出部10は、コントローラ部20から出力されたコマンド信号CMDを入力とする第1のFIFOメモリ100と、コントローラ部20から出力されたデータ信号DATAを入力とする第2のFIFOメモリ110と、第1および第2のFIFOメモリ100,110を制御するための第1および第2のカウンタ121,122とを備えている。さらに、第1および第2のデータ比較器123,125と、第1および第2のレジスタ124,126とを備えているが、これらについては後述する。
第1のFIFOメモリ100は、複数段の記憶領域を有するメモリ本体101と、ライトポインタ(WP)102と、第1のリードポインタ(RP1)103と、第2のリードポインタ(RP2)104とを有している。コントローラ部20から出力されたコマンド信号CMDは、ライトポインタ102のポインタ値に従ってメモリ本体101に保持され、第1のリードポインタ103のポインタ値に従ってメモリ本体101から読み出されて、メモリI/F部30に出力される。また第2のリードポインタ104は、エラー検出のためのコマンド信号CMDの読み出しのために用いられる。
第2のFIFOメモリ110は、複数段の記憶領域を有するメモリ本体111と、ライトポインタ(WP)112と、第1のリードポインタ(RP1)113と、第2のリードポインタ(RP2)114とを有している。コントローラ部20から出力されたデータ信号DATAは、ライトポインタ112のポインタ値に従ってメモリ本体111に保持され、第1のリードポインタ113のポインタ値に従ってメモリ本体111から読み出されて、メモリI/F部30に出力される。また第2のリードポインタ114は、エラー検出のためのデータ信号DATAの読み出しのために用いられる。
第1のカウンタ121は、第1のFIFOメモリ100のライトポインタ102および第1のリードポインタ103のポインタ値と、第2のFIFOメモリ110のライトポインタ112および第1のリードポインタ113のポインタ値を制御する。例えば、第1のFIFOメモリ100にコマンド信号CMDが入力される毎にライトポインタ102をカウントアップし、第2のFIFOメモリ110にデータ信号DATAが入力される毎にライトポインタ112をカウントアップする。この場合、例えばコマンド信号CMDなどを第1のカウンタ121のイネーブル入力として用いればよい。第2のカウンタ122は、第1のFIFOメモリ100の第2のリードポインタ104のポインタ値と、第2のFIFOメモリ110の第2のリードポインタ114のポインタ値を制御する。
メモリI/F部30は、コントローラ部20から出力されたクロック信号CKと、エラー検出部10の第1のFIFOメモリ100から出力されたコマンド信号CMDとを受け、クロック遅延調整部31およびコマンド遅延調整部32によってDDR方式の規定に従ったACタイミング調整を行い、メモリ5に出力する。また、エラー検出部10の第2のFIFOメモリ110から出力されたデータ信号DATAと、コントローラ部20から出力されたデータストローブ信号DQSとを受け、データ遅延調整部33およびストローブ遅延調整部34によってDDR方式の規定に従ったACタイミング調整を行い、メモリ5に出力する。
図2はデータ信号およびデータストローブ信号のACタイミング調整の例を示す。図2(a)に示すように、データストローブ信号の立ち上がり(または立ち下がり)に対するデータ信号のタイミングを遅延値αで調整する。そして図2(b)に示すように、例えば電源電圧を下げたとき、データストローブ信号の立ち上がりに対してデータ信号のセットアップマージンが不足する場合がある。このような場合、図2(c)に示すように、遅延値をβ(<α)に変更してタイミングを調整する。
また、メモリI/F部30はさらに、エラー検出のためのループバックのために、第1および第2のフリップフロップ130,140を備えている。第1のフリップフロップ130は、コマンド遅延調整部32から出力されたコマンド信号CMDをD入力とし、クロック遅延調整部31から出力されたクロック信号CKをCK入力とする。そしてQ出力はエラー検出部10に戻される。すなわち、メモリI/F部30から出力されるコマンド信号CMDは、メモリ5に出力されるとともに、エラー検出部10にループバックされる。第2のフリップフロップ140は、データ遅延調整部33から出力されたデータ信号DATAをD入力とし、ストローブ遅延調整部34から出力されたデータストローブ信号DQSをCK入力とする。そしてQ出力はエラー検出部10に戻される。すなわち、メモリI/F部30から出力されるデータ信号DATAは、メモリ5に出力されるとともに、エラー検出部10にループバックされる。
エラー検出部10において、第1のデータ比較器123は、第1のフリップフロップ130のQ出力すなわちループバックされたコマンド信号CMDと、第1のFIFOメモリ100から第2のリードポインタ104に従って読み出された元のコマンド信号CMDとを比較する。この元のコマンド信号CMDは、ループバックされたコマンド信号CMDに対応している。第1のデータ比較器123による比較結果は、第1のレジスタ124に格納される。ここでは、第1のデータ比較器123の比較結果が“不一致”であるとき、第1のレジスタ124には、この比較結果を示す検出フラグとともに、不一致となったコマンド信号CMDの出力元の回路ブロックを示す第1のブロック識別信号BL1が格納される。このとき、不一致となったコマンド信号CMDのデータ列を第1のレジスタ124に格納してもよい。また、このとき、第2のカウンタ122のカウントを停止させてもよい。さらには、第1のカウンタ121のカウントを停止させてもよい。
また、第2のデータ比較器125は、第2のフリップフロップ140のQ出力すなわちループバックされたデータ信号DATAと、第2のFIFOメモリ110から第2のリードポインタ114に従って読み出された元のデータ信号DATAとを比較する。この元のデータ信号DATAは、ループバックされたデータ信号DATAに対応している。第2のデータ比較器125による比較結果は、第2のレジスタ126に格納される。ここでは、第2のデータ比較器125の比較結果が“不一致”であるとき、第2のレジスタ126には、この比較結果を示す検出フラグとともに、不一致となったデータ信号DATAの出力元の回路ブロックを示す第2のブロック識別信号BL2が格納される。このとき、不一致となったデータ信号DATAのデータ列を第2のレジスタ126に格納してもよい。また、このとき、第2のカウンタ122のカウントを停止させてもよい。さらには、第1のカウンタ121のカウントを停止させてもよい。
図1のメモリアクセスシステムはさらに、CPU330を備えている。第1および第2のレジスタの格納データは、CPU330からモニター可能である。図1の構成では、メモリコントローラ1、回路ブロック、およびCPU330は単一のチップ1Aに搭載されているものとしている。
図1のメモリコントローラ1の動作について、図3の動作タイミングチャートを用いて説明する。ここでは、メモリ5に対してWrite動作を行うものとする。
コントローラ部20において、データ生成部21は、複数の回路ブロックに対して調停を行い、クロック信号CK、コマンド信号CMD、および第1のブロック識別信号BL1を生成する。生成されたコマンド信号CMDは、エラー検出部10において、第1のFIFOメモリ100にライトポインタ(WP)102のポインタ値に従って順に格納される。なお図3では、第1のFIFOメモリ100のメモリ本体101は5段のフリップフロップFF0〜FF4によって構成されているものとしている。第1のFIFOメモリ100に格納されたコマンド信号CMDは、第1のライトポインタ(RP1)103のポインタ値に従って順に読み出され、メモリI/F部30に入力される。
メモリI/F部30において、クロック遅延調整部31およびコマンド遅延調整部32によって、コマンド信号CMDおよびクロック信号CKに対してACタイミング調整が行われる。そして、コマンド遅延調整部32から出力されたコマンド信号CMDは、メモリ5に送信されるとともに、第1のフリップフロップ130のD入力に与えられる。また、クロック遅延調整部31から出力されたクロック信号CKは、メモリ5に送信されるとともに、第1のフリップフロップ130のCK入力に与えられる。そして、第1のフリップフロップのQ出力すなわち、ループバックされたコマンド信号CMDがエラー検出部10に出力される。
エラー検出部10において、第1のデータ比較器123は、第1のフリップフロップ130のQ出力すなわちループバックされたコマンド信号CMDと、第1のFIFOメモリ100から第2のリードポインタ(RP2)104のポインタ値に従って読み出された元のコマンド信号CMDとを比較する。なお図3に示すように、第2のリードポインタ104のポインタ値には、第1のリードポインタ103のポインタ値と比べて、メモリI/F部30におけるコマンド信号CMDの遅延に応じたオフセットが与えられている。そして、比較結果が不一致のとき、この比較結果を示す検出フラグと、第1のブロック識別信号BL1とが、第1のレジスタ124に格納される。
また、コントローラ部20において、データ生成部21は、データ信号DATA、データストローブ信号DQS、および第2のブロック識別信号BL2を生成する。生成されたデータ信号DATAは、エラー検出部10において、第2のFIFOメモリ110にライトポインタ112のポインタ値に従って順に格納される。第2のFIFOメモリ110に格納されたデータ信号DATAは、第1のライトポインタ113のポインタ値に従って順に読み出され、メモリI/F部30に入力される。
メモリI/F部30において、データ遅延調整部33およびストローブ遅延調整部34によって、データ信号DATAおよびデータストローブ信号DQSに対してACタイミング調整が行われる。そして、データ遅延調整部33から出力されたデータ信号DATAは、メモリ5に送信されるとともに、第2のフリップフロップ140のD入力に与えられる。また、ストローブ遅延調整部34から出力されたデータストローブ信号DQSは、メモリ5に送信されるとともに、第2のフリップフロップ140のCK入力に与えられる。そして、第2のフリップフロップのQ出力すなわち、ループバックされたデータ信号DATAがエラー検出部10に出力される。
エラー検出部10において、第2のデータ比較器125は、第2のフリップフロップ140のQ出力すなわちループバックされたデータ信号DATAと、第2のFIFOメモリ110から第2のリードポインタ114のポインタ値に従って読み出された元のデータ信号DATAとを比較する。そして、比較結果が不一致のとき、この比較結果を示す検出フラグと、第2のブロック識別信号BL2とが、第2のレジスタ126に格納される。
このような動作の結果、CPU330から第1および第2のレジスタ124,126の格納データをモニターすることによって、不具合の原因が、メモリコントローラ1にあるのか、あるいは特定の回路ブロックにあるのかといった解析が容易になる。
以上のように本実施形態によると、エラー検出部10において、メモリI/F部30からループバックされたコマンド信号CMDと、第1のFIFOメモリ100から出力された、ループバックされたコマンド信号CMDに対応する元のコマンド信号CMDとが、第1のデータ比較器123によって比較される。また、メモリI/F部30からループバックされたデータ信号DATAと、第2のFIFOメモリ110から出力された、ループバックされたデータ信号DATAに対応する元のデータ信号DATAとが、第2のデータ比較器125によって比較される。このような比較によって、メモリ5へのデータ転送中にエラーが生じたか否かが判断できる。すなわち、特定のデータパターンを用いたテストではなく、実際の動作条件における検査が可能となる。また、Write動作での不具合検出が可能になるので、データ転送エラーが発生した場合に、不具合がWrite動作で生じたのかRead動作で生じたのかの切り分けが可能になる。
さらに、エラーが検出されたとき、第1または第2のレジスタ124,126に、コマンド信号CMDまたはデータ信号DATAの出力元である回路ブロックを示す第1または第2のブロック識別信号BL1,BL2が格納されるので、レジスタ124,126の格納データをモニターすることによって、不具合が、メモリコントローラ1内部で生じたのか、あるいは、特定の回路ブロックからの出力に原因があるのか、といった解析が容易になる。
なお、ブロック識別信号BL1,BL2を用いない構成とすることも可能である。さらには、比較結果を格納するレジスタ124,126を設けないで、例えば、データ比較器123,125の比較結果を直接外部に出力するような構成とすることも可能である。
図4は図1の構成の変形例である。図4において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。図4のメモリアクセスシステムにおいて、メモリコントローラ2は図1のメモリコントローラ1とほぼ同一構成であるが、CPU330の代わりに、第1および第2のレジスタ124,126の格納データを外部からモニターするための外部端子340が設けられている点が異なっている。図4の構成では、メモリコントローラ2および回路ブロックは単一のチップ2Aに搭載されているものとしている。外部端子340を設けたことによって、第1および第2のレジスタ124,126の格納データすなわちエラー検出結果を、外部から直接モニターすることが可能になる。これにより、CPUを有しない回路構成においてもメモリアクセス動作を確認することができるので、メモリコントローラ2は、種々のLSIに実装することが可能になる。また、第1および第2のレジスタ124,126の格納データをリアルタイムでモニターできるため、不具合があった場合の解析が容易になる。
図5は図1の構成の他の変形例である。図5において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。図5のメモリコントローラ3は、図1のメモリコントローラ1とほぼ同一構成であるが、CPU330の制御によって、メモリコントローラ3に与える電源電圧を制御する電源制御部350がさらに設けられている点が異なっている。図5の構成では、メモリコントローラ3、回路ブロック、およびCPU330は単一のチップ3Aに搭載されているものとしている。
第1および第2のレジスタ124,126に蓄積されたエラー検出データは、CPU330に集められ、解析される。ここで例えば、どの回路ブロックからのデータ送信時もエラー検出されず、メモリコントローラ3自身も正常に動作していると考えられる場合、CPU330は電源制御部350に対して、電源電圧を下げるためのコントロール信号を出力する。このような電源制御動作を繰り返す中でエラーが初めて検出されたとき、そのときの電源電圧が、この回路での正常動作と不具合動作の境界と認識できる。このようにして電源電圧の最低限界値を求めることによって、最適な電源マージンを設定し、回路の低消費電力化を図ることが可能となる。
なお、上述の説明では、DDR方式の規定に従った信号をメモリに送信する場合を例にとって説明したが、本発明の適用範囲はこれに限られるものではない。
本発明に係るメモリコントローラでは、実際の動作状態におけるエラーの発生を検出可能であり、通常のメモリアクセス動作中のデータ信号タイミングを調整することができるので、例えば、より高速なパフォーマンスが求められるテレビ、モバイル機器等への適用に有用である。
1,2,3 メモリコントローラ
5 メモリ
10 エラー検出部
20 コントローラ部
30 メモリI/F部
100 第1のFIFOメモリ
110 第2のFIFOメモリ
123 第1のデータ比較器
124 第1のレジスタ
125 第2のデータ比較器
126 第2のレジスタ
330 CPU
340 外部端子
350 電源制御部
CK クロック信号(第1の信号)
CMD コマンド信号(第2の信号)
DATA データ信号(第2の信号)
DQS データストローブ信号(第1の信号)
BL1 第1のブロック識別信号
BL2 第2のブロック識別信号
5 メモリ
10 エラー検出部
20 コントローラ部
30 メモリI/F部
100 第1のFIFOメモリ
110 第2のFIFOメモリ
123 第1のデータ比較器
124 第1のレジスタ
125 第2のデータ比較器
126 第2のレジスタ
330 CPU
340 外部端子
350 電源制御部
CK クロック信号(第1の信号)
CMD コマンド信号(第2の信号)
DATA データ信号(第2の信号)
DQS データストローブ信号(第1の信号)
BL1 第1のブロック識別信号
BL2 第2のブロック識別信号
Claims (8)
- メモリに対するデータ入出力を行うメモリコントローラであって、
回路ブロックとのデータ送受信を行い、第1の信号と、この第1の信号との位相関係を保持した第2の信号とを生成し出力するコントローラ部と、
前記コントローラ部から出力された第2の信号を入力とするFIFOメモリを有するエラー検出部と、
前記コントローラ部から出力された第1の信号と、前記エラー検出部の前記FIFOメモリから出力された第2の信号とを入力とし、前記第1および第2の信号についてタイミング調整を行い、前記メモリに出力するメモリI/F部とを備え、
前記メモリI/F部から出力される第2の信号は、前記メモリに出力されるとともに、前記エラー検出部にループバックされ、
前記エラー検出部は、ループバックされた第2の信号と、前記FIFOメモリから出力された、前記ループバックされた第2の信号に対応する元の第2の信号とを比較するデータ比較器を備えている
ことを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラにおいて、
前記エラー検出部は、前記データ比較器の比較結果を格納するためのレジスタを備えている
ことを特徴とするメモリコントローラ。 - 請求項2記載のメモリコントローラにおいて、
前記コントローラ部は、前記第2の信号の出力元である回路ブロックを示すブロック識別信号を前記エラー検出部に出力するものであり、
前記エラー検出部は、前記データ比較器の比較結果が不一致であるとき、前記ブロック識別信号を当該比較結果とともに前記レジスタに格納する
ことを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラにおいて、
前記第1の信号はクロック信号であり、前記第2の信号はコマンド信号である
ことを特徴とするメモリコントローラ。 - 請求項1記載のメモリコントローラにおいて、
前記第1の信号はデータストローブ信号であり、前記第2の信号はデータ信号である
ことを特徴とするメモリコントローラ。 - 請求項2記載のメモリコントローラと、
前記メモリコントローラの前記レジスタの格納データを、外部からモニターするための外部端子とを備えた
ことを特徴とするメモリアクセスシステム。 - 請求項2記載のメモリコントローラと、
前記メモリコントローラの前記レジスタの格納データをモニターするCPUとを備えた
ことを特徴とするメモリアクセスシステム。 - 請求項7記載のメモリアクセスシステムにおいて、
前記CPUの制御によって、当該メモリコントローラに与える電源電圧を制御する電源制御部をさらに備えた
ことを特徴とするメモリアクセスシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166472A JP2012027734A (ja) | 2010-07-23 | 2010-07-23 | メモリコントローラおよびメモリアクセスシステム |
PCT/JP2011/002480 WO2012011216A1 (ja) | 2010-07-23 | 2011-04-27 | メモリコントローラおよびメモリアクセスシステム |
US13/743,073 US8972790B2 (en) | 2010-07-23 | 2013-01-16 | Memory controller and memory access system with error detection using data comparison of loop-backed signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166472A JP2012027734A (ja) | 2010-07-23 | 2010-07-23 | メモリコントローラおよびメモリアクセスシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012027734A true JP2012027734A (ja) | 2012-02-09 |
Family
ID=45496654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010166472A Withdrawn JP2012027734A (ja) | 2010-07-23 | 2010-07-23 | メモリコントローラおよびメモリアクセスシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8972790B2 (ja) |
JP (1) | JP2012027734A (ja) |
WO (1) | WO2012011216A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016208849A1 (de) | 2015-05-28 | 2016-12-01 | Socionext Inc. | Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5975811B2 (ja) * | 2012-09-12 | 2016-08-23 | レノボ・エンタープライズ・ソリューションズ(シンガポール)プライベート・リミテッド | 計測した信号トレースデータのインテグリティ・チェック |
KR102077072B1 (ko) * | 2013-07-05 | 2020-02-14 | 에스케이하이닉스 주식회사 | 병렬 테스트 장치 및 방법 |
US11145343B1 (en) * | 2020-11-20 | 2021-10-12 | Faraday Technology Corporation | Method for controlling multi-cycle write leveling process in memory system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150386A (en) * | 1987-05-19 | 1992-09-22 | Crystal Semiconductor Corporation | Clock multiplier/jitter attenuator |
US6928593B1 (en) * | 2000-09-18 | 2005-08-09 | Intel Corporation | Memory module and memory component built-in self test |
US6707756B2 (en) * | 2002-03-12 | 2004-03-16 | Smart Modular Technologies, Inc. | System and method for translation of SDRAM and DDR signals |
US20050135167A1 (en) * | 2003-10-16 | 2005-06-23 | Nec Plasma Display Corporation | Memory access circuit for adjusting delay of internal clock signal used for memory control |
US7143312B1 (en) * | 2003-12-17 | 2006-11-28 | Altera Corporation | Alignment of recovered clock with data signal |
KR100606812B1 (ko) * | 2004-03-08 | 2006-08-01 | 엘지전자 주식회사 | 비디오 디코딩 시스템 |
EP1825479A4 (en) * | 2004-11-18 | 2008-04-16 | Mentor Graphics Corp | METHOD AND DEVICE FOR AN INTEGRATED PROGRAMMABLE MEMORY SELF TEST (MBIST) |
JP4785465B2 (ja) * | 2005-08-24 | 2011-10-05 | ルネサスエレクトロニクス株式会社 | インタフェース回路及び半導体装置 |
US7936789B2 (en) * | 2006-03-31 | 2011-05-03 | Intel Corporation | Disparate clock domain synchronization |
JP2007287218A (ja) * | 2006-04-14 | 2007-11-01 | Hitachi Information & Communication Engineering Ltd | メモリインターフェース回路及びメモリ試験装置 |
JP4878215B2 (ja) | 2006-05-26 | 2012-02-15 | ルネサスエレクトロニクス株式会社 | インタフェース回路及びメモリ制御装置 |
US7596729B2 (en) * | 2006-06-30 | 2009-09-29 | Micron Technology, Inc. | Memory device testing system and method using compressed fail data |
KR100827658B1 (ko) * | 2006-09-11 | 2008-05-07 | 삼성전자주식회사 | 반도체 메모리 장치, 이 장치를 구비하는 메모리 시스템,및 이 시스템의 테스트 방법 |
JP2008090989A (ja) * | 2006-10-05 | 2008-04-17 | Elpida Memory Inc | 半導体記憶装置 |
JP4837586B2 (ja) * | 2007-01-30 | 2011-12-14 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2008210487A (ja) | 2007-02-28 | 2008-09-11 | Fujitsu Ltd | Ddr−sdramインターフェース回路、その試験方法、およびその試験システム |
US7836372B2 (en) * | 2007-06-08 | 2010-11-16 | Apple Inc. | Memory controller with loopback test interface |
JP5268392B2 (ja) * | 2008-03-07 | 2013-08-21 | パナソニック株式会社 | メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法 |
JP2010026896A (ja) * | 2008-07-23 | 2010-02-04 | Nec Electronics Corp | メモリシステム、及び、メモリエラー要因特定方法 |
JP2010079520A (ja) * | 2008-09-25 | 2010-04-08 | Ricoh Co Ltd | メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法 |
JP2010182149A (ja) * | 2009-02-06 | 2010-08-19 | Renesas Electronics Corp | メモリ制御装置、及びメモリ制御方法 |
KR101585213B1 (ko) * | 2009-08-18 | 2016-01-13 | 삼성전자주식회사 | 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템 |
-
2010
- 2010-07-23 JP JP2010166472A patent/JP2012027734A/ja not_active Withdrawn
-
2011
- 2011-04-27 WO PCT/JP2011/002480 patent/WO2012011216A1/ja active Application Filing
-
2013
- 2013-01-16 US US13/743,073 patent/US8972790B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016208849A1 (de) | 2015-05-28 | 2016-12-01 | Socionext Inc. | Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung |
KR20160140433A (ko) | 2015-05-28 | 2016-12-07 | 가부시키가이샤 소시오넥스트 | 수신 회로, 수신 회로의 타이밍 조정 방법, 반도체 장치 |
US9620196B2 (en) | 2015-05-28 | 2017-04-11 | Socionext Inc. | Reception circuit, method for adjusting timing in reception circuit, and semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
US8972790B2 (en) | 2015-03-03 |
WO2012011216A1 (ja) | 2012-01-26 |
US20130173966A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8356203B2 (en) | Asynchronous interface circuit and data transfer method | |
US20050193293A1 (en) | Semiconductor device capable of performing test at actual operating frequency | |
US7672191B2 (en) | Data output control circuit | |
JP5653177B2 (ja) | メモリインターフェース回路及び半導体装置 | |
US7692980B2 (en) | Method of and apparatus for reading data | |
KR100930401B1 (ko) | 반도체 메모리 장치 | |
JP2007317016A (ja) | インタフェース回路及びメモリ制御装置 | |
JP5331902B2 (ja) | 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 | |
JP2010081577A (ja) | 半導体装置およびデータ伝送システム | |
KR101180405B1 (ko) | 반도체 메모리 장치 및 이의 테스트 방법 | |
WO2012011216A1 (ja) | メモリコントローラおよびメモリアクセスシステム | |
KR20090071893A (ko) | 반도체 메모리 장치의 데이터 입력 회로 및 그 제어 방법 | |
KR100557636B1 (ko) | 클럭신호를 이용한 데이터 스트로브 회로 | |
KR20150002129A (ko) | 반도체 장치, 그를 포함하는 반도체 시스템 및 그 반도체 시스템의 테스트 방법 | |
JP2013109637A (ja) | メモリインターフェース回路、および、そのメモリインターフェース回路の動作方法 | |
JP2003043117A (ja) | 半導体集積回路 | |
KR20110075558A (ko) | 스큐 검출 회로와 이를 이용한 반도체 메모리 장치 | |
US8904221B2 (en) | Arbitration circuitry for asynchronous memory accesses | |
US10902896B2 (en) | Memory circuit and method thereof | |
WO2010058441A1 (ja) | 試験装置、試験方法、および、プログラム | |
US9552310B2 (en) | Signal control circuit, information processing apparatus, and signal control method | |
US20240274214A1 (en) | Memory interface circuitry and built-in self-testing method | |
CN111933206B (zh) | Ddr物理层地址命令路径的内建自测试方法及测试系统 | |
US20230395175A1 (en) | Loopback datapath for clock quality detection | |
JP6500693B2 (ja) | 可変遅延制御回路の縮退故障診断方法および可変遅延制御回路を有するメモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131001 |