JP6432699B2 - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP6432699B2
JP6432699B2 JP2017564277A JP2017564277A JP6432699B2 JP 6432699 B2 JP6432699 B2 JP 6432699B2 JP 2017564277 A JP2017564277 A JP 2017564277A JP 2017564277 A JP2017564277 A JP 2017564277A JP 6432699 B2 JP6432699 B2 JP 6432699B2
Authority
JP
Japan
Prior art keywords
data
timing information
memory
strobe
worst
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
JP2017564277A
Other languages
English (en)
Other versions
JPWO2017130983A1 (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.)
Aisin AW Co Ltd
Original Assignee
Aisin AW Co 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 Aisin AW Co Ltd filed Critical Aisin AW Co Ltd
Publication of JPWO2017130983A1 publication Critical patent/JPWO2017130983A1/ja
Application granted granted Critical
Publication of JP6432699B2 publication Critical patent/JP6432699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、メモリに対する複数ビットのデータの書き込み及び読み出しを制御するメモリコントローラに関する。
特開2008−52335号公報(特許文献1)に記載されているように、メモリや論理回路などが集積された、例えばシステムLSIと称されるような半導体集積回路では、多くの場合、メモリと論理回路との間にメモリインターフェイス回路(メモリコントローラ)が備えられている。特許文献1の図1や図13等に例示されているように、メモリ(3,103)から出力されるデータ信号(DQ)は、同様にメモリ(3,103)から提供されるストローブ信号(DQS)によって規定されたタイミング(ストローブポイント)でレジスタ等の取込回路(12,112)にラッチされる。このストローブポイントは、データ信号が変化する変化点の近傍ではなく、データ信号が安定している期間(ウィンドウ(window)、アイ(eye)等と称される)内に設けられることが好ましい。
但し、データ信号やストローブ信号の位相は、動作環境(電源電圧、半導体集積回路全体の消費電力、周囲温度、近隣の信号線を通る信号のクロストークノイズ等)の影響によって変動することがある。このため、メモリインターフェイス回路には、しばしば、データ信号やストローブ信号の位相を調整するための調整回路が備えられている。特許文献1には、インターフェイス回路(10,110)に、ストローブ信号(DQS)の位相を調整する可変遅延回路(13,113)や、遅延調整回路(14,114)を備えた構成や、さらにデータ信号(DQ)の位相を調整するための固定遅延回路(11)を備えた構成が例示されている。遅延調整回路(14,114)の遅延設定値は、製品組み立て後や出荷前等の適切な時期に、メモリ(3,13)及びインターフェイス回路(10,110)を調整モードで動作させるキャリブレーションを行うことによって設定される(特許文献1の[0022]等)。尚、このようなキャリブレーションは、半導体集積回路にテストデータを格納しておいて、半導体集積回路に電源が投入される都度、実行されてもよい。
特許文献1にも記載されているように、このようなキャリブレーションは、多くの場合、特別な動作モード(例えば、上述した調整モード)で実施される。このため、例えば、半導体集積回路が実際に動作している際に、データ信号(実データ)とストローブポイントとの間にどの程度の余裕(タイミングマージン)が確保されているかなどを知ることは困難である。実データの内容によっては、複数ビットのデータを伝送する複数のデータ信号線の多くが同時に変化して消費電流が増加して遷移時間が長くなり、変化点の位相がずれる場合もある。このような場合には、データ信号に対するストローブポイントが好ましくない位置となることも考えられる。従って、遅延設定値の再設定や調整の要否の判断などを可能とするために、半導体集積回路が実際に動作している状態で、そのようなタイミングマージン等を確認できると好ましい。
ところで、このようなメモリ及びメモリコントローラを備える形態は、上述したようなシステムLSI(半導体集積回路)に限らず、独立したチップ(パッケージが共通でダイが独立している形態も含む)を複数備えたマルチチップモジュールの場合もある。このような形態では、互いに独立したメモリチップとメモリコントローラとが用いられ、それぞれ異なるクロック信号を基準として動作する。多くの場合、メモリチップには、メモリコントローラのクロック信号と、メモリチップのクロック信号との位相差を調整するための位相調整器が備えられている。しかし、近年使用量が飛躍的に増加しているスマートフォンに用いられるメモリチップには、消費電力の抑制やコストの抑制のために、そのような位相調整器を備えないものが多い。そして、このようなメモリチップは、大量生産によるボリュームメリットもあって、比較的低コストである。このため、このようなメモリチップをスマートフォンなどとは異なる製品に転用する場合がある。このような場合には、さらに、マルチチップモジュールが実際に動作している際に、データ信号(実データ)とストローブポイントとの間にどの程度の余裕(タイミングマージン)が確保されているかなどを把握できると好ましい。
特開2008−52335号公報
上記背景に鑑みて、実データによりメモリが動作している状態で、データに対するストローブポイントを知ることができる技術の提供が望まれる。
1つの態様として、上記に鑑みた、メモリに対する複数ビットのデータの書き込み及び読み出しを制御するメモリコントローラは、
データ信号の相互の位相差であるデータスキューを調整するデータスキュー調整部と、
信号の変化点によってストローブポイントを規定するストローブ信号の当該変化点を調整するストローブ調整部と、を有するタイミング調整部と、
前記データ信号のそれぞれの変化点であるデータ変化点を検出するデータ変化点検出部と、
前記ストローブポイントを検出するストローブポイント検出部と、
前記データ信号のそれぞれについて、前記ストローブポイントと前記データ信号の変化点とに基づく動的タイミング情報を演算する動的タイミング演算部と、
前記動的タイミング情報を記憶する動的タイミング情報記憶部と、
前記動的タイミング情報を出力する動的タイミング情報出力部と、を備える。
本構成によれば、データ変化点検出部及びストローブポイント検出部は、特別な動作モードではなく、メモリが実データを出力する通常の動作モードにおいて、データ変化点及びストローブポイントを検出する。そして、これら実データを対象としたデータ変化点及びストローブポイントに基づいて、動的タイミング情報が演算される。さらに、動的タイミング情報が記憶され、メモリコントローラから出力される。即ち、本構成によれば、実データによりメモリが動作している状態で、データに対するストローブポイントを知ることができる。
メモリコントローラのさらなる特徴と利点は、図面を参照して説明する実施形態についての以下の記載から明確となる。
半導体集積回路の構成例を模式的に示すブロック図 リード制御部の構成例を模式的に示すブロック図 評価期間内ワーストタイミング情報の説明図 動的タイミング情報を更新する例を示すタイミングチャート 最悪条件が更新された際の動作の一例を示すフローチャート 最悪条件が更新された際の動作の他の例を示すフローチャート リード制御部の他の構成例を模式的に示すブロック図 半導体集積回路の他の構成例を模式的に示すブロック図
以下、メモリコントローラの実施形態を図面に基づいて説明する。図1に示すように、半導体集積回路100は、中核となるメインコントローラ(MAIN-CTRL)50(例えばCPUコア)と、メモリ(MEM)40と、メモリコントローラ(MEM-CTRL)1と有するシステムLSIである。尚、半導体集積回路100は、システムLSIに限らず、マルチチップモジュールなど複数の半導体チップを集めて構成されたハイブリッド回路であってもよい。メモリ40は、DRAMなどの揮発性のメモリである。メモリコントローラ1は、メモリ40への複数ビット(例えば8ビット、16ビットなど)のデータの書き込み及びメモリ40からのデータの読み出しを制御するメモリインターフェイス回路である。
メモリコントローラ1は、リード制御部(RD-CTRL)10、ライト制御部(WR-CTRL)20、アドレス制御部(AD-CTRL)30を有している。リード制御部10は、メモリからのデータの読み出しを制御し、リードデータバス61にデータを出力する回路である。ライト制御部20は、ライトデータバス62から入力されるデータをメモリ40へ書き込む制御を行う回路である。アドレス制御部30は、アドレスバス63から入力されるアドレスをデコードしてメモリ40を制御する回路である。
メモリ40とメモリコントローラ1とは、メモリコントローラ1に備えられた入出力バッファ12を介して接続されている。メモリ40へデータを書き込む場合には、入出力バッファ12の出力バッファを介して、データ信号とストローブ信号(ライトストローブ信号)とがメモリコントローラ1からメモリ40へ出力される。メモリ40からデータを読み出す場合には、入出力バッファ12の入力バッファを介して、データ信号とストローブ信号(リードストローブ信号)とがメモリ40からメモリコントローラ1へ入力される。尚、入出力バッファ12の出力バッファ及び入力バッファは、トライステート出力型の素子であり、排他的に出力イネーブル状態となる。
図2のブロック図は、メモリコントローラ1のリード制御部10を中心とした構成を模式的に示している。リード制御部10は、データスキュー調整部(SKEW-ADJ)2と、ストローブ調整部(ST-ADJ)3と、データ変化点検出部(DET-DATA)4と、ストローブポイント検出部(DET-ST)5と、動的タイミング演算部(ACD-CALC)6、動的タイミング情報記憶部(ACD-SRG)7と、動的タイミング情報出力部(ACD-OUT)8と、キャリブレーション情報記憶部(CALIB-SRG)9と、レジスタ(REG)11とを有している。尚、データスキュー調整部2及びストローブ調整部3は、タイミング調整部23を構成する。メモリ40からデータを読み出す際には、メモリ40から出力されたデータがストローブ信号をトリガとしてレジスタ11にラッチされ、レジスタ11からリードデータバス61に出力される。尚、レジスタ11は、例えば、データのビット幅に応じた数のDフリップフロップやDラッチなどの記憶素子によって構成されている。
データスキュー調整部2は、データの読み出しにおいて、複数ビットの読み出しデータ信号の相互の位相差であるデータスキューを調整する。メモリ40の各メモリセルから読み出されるデータは、単一ビットごとに独立している。従って、複数ビットの各信号線の電気的な状態は、信号線ごとに異なっており、データがハイ状態(H(データ値:1))からロー状態(L(データ値:0))に変化するタイミング(変化点)、L(データ値:0)からH(データ値:1)に変化するタイミング(変化点)も一様ではない。一方、レジスタ11のトリガとなるストローブ信号は、レジスタ11を構成する複数個の記憶素子(DフリップフロップやDラッチ)の全てに共通の信号である。従って、ストローブ信号と各データ信号との間のタイミングマージンは、読み出しデータ信号ごとに異なる。
つまり、データ信号ごとにストローブ信号の変化点(ストローブポイントSP)に対するデータ信号の変化点は異なる。データ信号とストローブポイントSPとの関係は、例えば、ストローブポイントSPに対するデータ信号のセットアップ時間(set up time)、ホールド時間(hold time)として規定することができる。これらセットアップ時間、ホールド時間は、データ信号ごとに異なるものとなる。換言すれば、データ信号が安定していてレジスタ11にデータをラッチするために好適な期間(データ有効期間:ウィンドウ(window)、アイ(eye)等と称される)は、データ信号ごとに異なる。このため、データ信号全体のデータ有効期間は、最悪条件のセットアップ時間、及び最悪条件のホールド時間によって定まる。このデータ有効期間をできるだけ長くするためには、複数のデータ信号の相互の変化点が近いことが好ましい。データスキュー調整部2は、データ信号の相互の位相差(データスキュー)が小さくなるように、各データ信号の位相を必要に応じてずらすことで適切なデータ有効期間を確保する。
ストローブポイントSPに対するセットアップ時間及びホールド時間を考慮すると、ストローブポイントSPは、データ有効期間の中央付近にあることが好ましい。データスキュー調整部2により、適切なデータ有効期間が確保されていても、ストローブポイントSPが適切でないと、レジスタ11によるデータのラッチの安定性が損なわれる。ストローブ調整部3は、データ有効期間に対するストローブポイントSPの位置を調整する。即ち、ストローブ調整部3は、信号の変化点によって読み出しデータ(読み出しデータ信号)をラッチするタイミングであるストローブポイントSPを規定するストローブ信号の当該変化点を調整する。尚、上記においては、「ストローブポイントSPは、データ有効期間の中央付近にあることが好ましい」と説明したが、要求されるセットアップ時間に比べて要求されるホールド時間が短いことも多い。従って、中央付近に限らず、レジスタ11の特性に応じて、データ有効期間に対するストローブポイントSPが調整されると好適である。
データ変化点検出部4は、複数ビットのデータ信号(読み出しデータ信号)のそれぞれの変化点であるデータ変化点を検出する。具体的には、データスキュー調整部2によりデータスキューを調整された後のデータ信号のそれぞれのデータ変化点を検出する。ストローブポイント検出部5は、ストローブポイントSPを検出する。具体的には、ストローブ調整部3によりストローブポイントSPが調整された後の信号であり、レジスタ11に提供されるストローブ信号の変化点であるストローブポイントSPを検出する。
動的タイミング演算部6は、ストローブポイントSPとデータ信号(読み出しデータ信号)のそれぞれのデータ変化点とに基づいて、データ信号のそれぞれについて、ストローブポイントSPに対する動的タイミング情報“ACD”を演算する。動的タイミング情報は、例えば、上述したセットアップ時間及びホールド時間とすることができる。また、半導体集積回路100及びメモリコントローラ1は、基準となるクロック信号によって動作しており、データ信号は、このクロック信号により変化する。従って、クロック信号を基準として、動的タイミング情報が演算されてもよい。例えば、動的タイミング情報は、データ変化点においてデータ信号が変化を始める時点又は変化を終える時点とクロック信号との時間と、クロック信号に対するストローブ信号の時間とによって規定されていてもよい。以下においては、動的タイミング情報が、セットアップ時間及びホールド時間によって規定されている形態を例示して説明する。動的タイミング情報記憶部7は、セットアップ時間及び前記ホールド時間を少なくとも含む動的タイミング情報を記憶する。動的タイミング情報出力部8は、動的タイミング情報を出力する。
尚、動的タイミング情報には、セットアップ時間及びホールド時間の他、データ信号の値(1又は0)や、データ信号の遷移状態を示す値(000,001,010,111,110,101,011,100)、ストローブポイントSPの時刻等を含んでいてもよい。データ信号の値は、ストローブポイントSPにおけるデータ信号の値を示している。遷移状態を示す値は、ストローブポイントSPに対応するデータ値の前後のデータ値を含む3ビットの値を例示している。例えば、“010”は、データ値が“0”から“1”に遷移し、再び“0”に遷移した場合を示している。ストローブポイントSPは、データ値が“1”の期間にあり、“0”から“1”への遷移の際のセットアップ時間、“1”から“0”への遷移の際のホールド時間が当該遷移状態を示す値と関連づけて記憶される。
上述したように、複数ビットのデータ信号全体のデータ有効期間(ウィンドゥ、アイ)は、最悪条件のセットアップ時間、及び最悪条件のホールド時間によって定まる。従って、動的タイミング情報記憶部7は、複数ビットの各データ信号のセットアップ時間及びホールド時間の内、最も条件の悪いデータ信号のセットアップ時間、及び最も条件の悪いデータ信号のホールド時間を記憶してもよい。即ち、1回のストローブポイントSPに関しては、当該ストローブポイントSPに対して最も悪い条件となるセットアップ時間及びホールド時間であるワーストタイミング情報“WST−ACD”を記憶してもよい。
このように記憶することによって、動的タイミング情報記憶部7の記憶容量が大きくなることを抑制できる。尚、当然ながら、動的タイミング情報記憶部7の記憶容量が充分に確保できるような場合などでは、各ビットに対応するデータ信号について、最も条件の悪いセットアップ時間及びホールド時間が記憶されてもよい。
また、動的タイミング情報記憶部7は、図3に示すように、予め規定された評価期間Te内で、ストローブポイントSPに対して最も悪い条件となるワーストタイミング情報を、評価期間内ワーストタイミング情報“WST−ACD(Te)”として記憶してもよい。図3には、評価期間内ワーストタイミング情報として、最悪セットアップ時間(worst set up time)d1、最悪ホールド時間(worst hold time)d2、ストローブポイントSPの時刻(time)d3(最悪セットアップ時間d1に対応するストローブポイントSPの時刻、及び最悪ホールド時間d2に対応するストローブポイントSPの時刻)、データの遷移状態を示す値(data)d4(最悪セットアップ時間d1に対応するデータの遷移状態を示す値、及び最悪ホールド時間d2に対応するデータの遷移状態を示す値)が、動的タイミング情報記憶部7に記憶される例を示している。
尚、評価期間内ワーストタイミング情報は、図4に示すように、評価期間Te内において逐次更新される。図4において、“ACD(i)”は、動的タイミング情報を示している(i:任意の数)。括弧内の添え字は、評価期間Te内における動的タイミング情報の番号を示している。例えば、“ACD(n)”は、n番目の動的タイミング情報を示しており、“ACD(n−1)”は(n−1)番目の動的タイミング情報、即ち、“ACD(n)”の1つ前の動的タイミング情報を示している。各動的タイミング情報“ACD(i)”は、その時点におけるワーストタイミング情報“WST−ACD”と比較され、動的タイミング情報“ACD(i)”の方がワーストタイミング情報よりも悪い条件であった場合には、ワーストタイミング情報が当該動的タイミング情報“ACD(i)”に更新される。
例えば、図4に示すように、動的タイミング情報“ACD(i)”が“ACD(n)”の時には、ワーストタイミング情報“ACD(n−4)”の方が悪い条件であるので、ワーストタイミング情報“WST−ACD”は更新されない。動的タイミング情報“ACD(i)”が“ACD(n)”の次の“ACD(n+1)”の時には、ワーストタイミング情報“ACD(n−4)”よりも悪い条件であるので、ワーストタイミング情報が“ACD(n+1)”に更新される。このように、逐次、新しい動的タイミング情報“ACD(i)”がワーストタイミング情報と比較され、より悪い条件の動的タイミング情報がワーストタイミング情報として更新される。即ち、動的タイミング情報記憶部は、予め規定された評価期間Te内で、ストローブポイントSPに対して最も悪い条件となるセットアップ時間及びホールド時間であるワーストタイミング情報を、評価期間内ワーストタイミング情報として更新して記憶する。図4に示す例では、最終的に、動的タイミング情報“ACD(n+5)”が評価期間内ワーストタイミング情報として記憶されている。
ところで、上述したように、メモリ40は、揮発性のメモリであり、メモリに書き込まれたデータを保持するために電荷を補充するリフレッシュ動作(REFRESH)を、予め規定された時間であるリフレッシュ期間Trに亘って実施する必要がある。図3に示すように、このリフレッシュ動作は、予め規定された間隔であるリフレッシュサイクルTcycで、繰り返し実施される。換言すれば、リフレッシュサイクルTcycの1周期には、メモリ40に対するデータの書き込み及び読み出しが行われないリフレッシュ期間Trと、メモリ40に対するデータの書き込み及び読み出しが行われる通常動作(NORMAL)の期間とが含まれる。上述した評価期間Teは、実際にメモリ40から読み出されるデータ信号とストローブ信号との動的タイミングが評価される期間であり、通常動作の期間に対応する。1回の評価期間Teは、リフレッシュサイクルTcycの1周期における通常動作期間である。そして、動的タイミング情報出力部8は、リフレッシュ期間Trに動的タイミング情報(評価期間内ワーストタイミング情報)を出力する。
動的タイミング情報出力部8から出力された動的タイミング情報(評価期間内ワーストタイミング情報)は、モニタ情報として、メモリコントローラ1の外部、好適には半導体集積回路100の外部に、半導体集積回路100の端子を介して伝達されるとよい。これにより、実際にメモリ40から読み出されるデータのタイミングマージンを半導体集積回路100の外部から適切に検証することができる。或いは、動的タイミング情報(評価期間内ワーストタイミング情報)は、半導体集積回路100の内部で、データスキュー調整部2やストローブ調整部3による調整内容を示すキャリブレーション情報を補正するための補正情報として用いられても好適である。尚、このキャリブレーション情報(調整内容)とは、例えば、信号の位相の遅れや進みなどの調整方向や、当該調整方向への調整量である。
図2に示すように、タイミング調整部23(データスキュー調整部2及びストローブ調整部3)のキャリブレーション情報は、キャリブレーション情報記憶部9に記憶されており、キャリブレーション情報記憶部9からタイミング調整部23に提供される。尚、キャリブレーション情報の初期値は、例えば半導体集積回路100の製造工程や、半導体集積回路100が実装される基板の製造工程など、生産時において決定されてキャリブレーション情報記憶部9に格納されてもよいし、半導体集積回路100の使用時に電源が投入される都度、決定されて格納されてもよい。
例えば、半導体集積回路100の生産時、又は使用時に電源が投入される都度、初期化処理の1つとしてキャリブレーション動作が実行される。キャリブレーション動作では、はじめに、ライトデータバス62及びライト制御部20を介して予め規定されたテストデータがメモリ40に対して書き込まれる。次に、リード制御部10及びリードデータバス61を介してメモリ40に書き込まれたテストデータが読み出される。リード制御部10は、この読み出しの際に、上述したような動的タイミング情報を取得する。そして、リード制御部10は、動的タイミング情報に基づいて、キャリブレーション情報の初期値を決定する。即ち、動的タイミング演算部6は、キャリブレーション動作の実行中に検出されたデータ変化点とストローブポイントSPに基づいて、キャリブレーション情報の初期値を決定する。
1つの態様として、このキャリブレーション情報の初期値など、キャリブレーション情報記憶部9に記憶されたキャリブレーション情報が、評価期間内ワーストタイミング情報に基づいて更新されると好適である。例えば、動的タイミング演算部6は、動的タイミング情報出力部8から出力される評価期間内ワーストタイミング情報に基づいてキャリブレーション情報記憶部9に記憶されたキャリブレーション情報を更新する。即ち、動的タイミング演算部6は、評価期間内ワーストタイミング情報が、キャリブレーション情報に含まれるワーストタイミング情報よりも悪い条件の場合には、キャリブレーション情報を評価期間内ワーストタイミング情報に基づいて更新する。
図5のフローチャートは、半導体集積回路100に電源が投入される都度、初期化処理の1つとしてキャリブレーション動作が実行される場合の例を示している。半導体集積回路100に電源が投入されると、はじめに初期化処理が実行され、キャリブレーション情報の初期値が決定される(#1)。次に、動的タイミング情報出力部8から出力される評価期間内ワーストタイミング情報に基づいて、最悪条件が更新されたか否かが判定される(#3)。最悪条件が更新されている場合、即ち、評価期間内ワーストタイミング情報が、キャリブレーション情報に含まれるワーストタイミング情報よりも悪い条件の場合には、キャリブレーション情報が、評価期間内ワーストタイミング情報に基づいて更新される(#3:Yes→#5)。最悪条件が更新されていない場合には、キャリブレーション情報はそのまま維持される(#3:No→#7)。メモリ40が動作を継続している間、新たな評価期間内ワーストタイミング情報に基づいてステップ#3の判定が繰り返される。
上記においては、キャリブレーション情報記憶部9に記憶されたキャリブレーション情報が、評価期間内ワーストタイミング情報に基づいて、メモリコントローラ1内において更新される形態について例示した。しかし、メモリコントローラ1は、最悪条件が更新されたか否かの判定及びその判定結果の出力のみを行い、キャリブレーション情報を更新するか否かの判定は、例えばメインコントローラ50などの上位のコントローラが行ってもよい。例えば、動的タイミング情報出力部8は、少なくともメモリコントローラ1よりも上位のコントローラ(50)に対して、動的タイミング情報を出力すると共に、当該動的タイミング情報に含まれる評価期間内ワーストタイミング情報が、キャリブレーション情報に含まれるワーストタイミング情報よりも悪い条件の場合には、上位のコントローラ(50)に対して割込信号を出力する。
図6のフローチャートは、そのような割込信号を出力する場合の例を示している。図5の例と同様に、半導体集積回路100に電源が投入されると、はじめに初期化処理が実行され、キャリブレーション情報の初期値が決定される(#1)。次に、動的タイミング情報出力部8は、例えばメインコントローラ50に対して、動的タイミング情報(評価期間内ワーストタイミング情報)を出力する(#2)。この際、動的タイミング情報出力部8は、出力する動的タイミング情報(評価期間内ワーストタイミング情報)に基づき、最悪条件が更新されたか否かを判定する(#3)。最悪条件が更新されている場合、即ち、評価期間内ワーストタイミング情報が、キャリブレーション情報に含まれるワーストタイミング情報よりも悪い条件の場合には、動的タイミング情報出力部8は、例えばメインコントローラ50に対して、割込信号も出力する(#3:Yes→#4)。最悪条件が更新されていない場合には、割込信号は出力されない(#3:No→#7)。メモリ40が動作を継続している間、新たな評価期間内ワーストタイミング情報に基づいてステップ#2による動的タイミング情報の出力、及びステップ#3の判定が繰り返される。
割込信号を受けた上位のコントローラ、例えばメインコントローラ50は、割込信号と共に出力された動的タイミング情報(評価期間内ワーストタイミング情報)に基づいて、キャリブレーション情報記憶部9に記憶されたキャリブレーション情報を更新するか否かを判定する。メインコントローラ50は、例えば、キャリブレーション情報記憶部9に記憶されたキャリブレーション情報に基づく調整量では、タイミングマージンが予め規定された許容量未満となるような場合に、当該キャリブレーション情報を更新すると判定する。そして、メインコントローラ50は、メモリコントローラ1に対して、キャリブレーション情報の更新を指令する。この際、更新の指令のみを与えて、新たなキャリブレーション情報の演算はメモリコントローラ1(動的タイミング演算部6)に任せてもよいし、メインコントローラ50が新たなキャリブレーション情報を演算して、メモリコントローラ1に提供してもよい。
ところで、システムLSIなどの内部には、多くの信号線が存在するため、動的タイミング情報をメモリコントローラ1から出力するための信号線を単純に追加した場合には、配線密度の増加が問題となるおそれがある。このため、すでに存在する信号線を兼用して、動的タイミング情報を出力すると好適である。図3及び図4等を参照して、上述したように、動的タイミング情報は、メモリ40に対するアクセス(書き込み及び読み出し)が行われない、リフレッシュ期間Trに出力される。リフレッシュ期間Trでは、デコード後のアドレス信号は使用されない。従って、図7に例示するように、デコード後のアドレス信号を出力する信号線(アドレス制御部30からの出力信号線)を利用して動的タイミング情報を出力すると好適である。
〔その他の実施形態〕
以下、その他の実施形態について説明する。尚、以下に説明する各実施形態の構成は、それぞれ単独で適用されるものに限られず、矛盾が生じない限り、他の実施形態の構成と組み合わせて適用することも可能である。
(1)上記においては、メモリコントローラ1のリード制御部10にタイミング調整部23等を有して、データスキュー及びストローブポイントSPを調整する形態を例示して説明した。しかし、このようなタイミング調整部23は、ライト制御部20にも備えられていてもよい。ライト制御部20にタイミング調整部23等を備える形態については、当業者であれば、リード制御部10についての説明から容易に理解可能であるので、詳細な説明は省略する。
(2)上記においては、タイミング調整部23による調整内容を示すキャリブレーション情報の初期値が決定されている形態、具体的には当該初期値がキャリブレーション情報記憶部9に記憶されている形態を例示した。そして、評価期間内ワーストタイミング情報が、キャリブレーション情報に含まれるワーストタイミング情報よりも悪い条件の場合に、キャリブレーション情報が評価期間内ワーストタイミング情報に基づいて更新され、当該更新されたキャリブレーション情報に基づいてタイミング調整部23がデータスキュー及びストローブポイントSPを調整する形態を例示した。
しかし、このようにキャリブレーション情報の初期値が決定されておらず、都度、タイミング調整部23が、ワーストタイミング情報に基づいてデータスキュー及びストローブポイントを調整する形態であってもよい。即ち、評価期間Teにおいて検出した動的タイミング情報(ワーストタイミング情報)に基づいて、次の評価期間Teに相当する通常動作(NORMAL)においてデータスキュー及びストローブポイントSPを調整してもよい。
尚、初期値が設定されない場合においても、キャリブレーション情報記憶部9を備えていてよい。例えば、キャリブレーション情報記憶部9に、ワーストタイミング情報に基づくキャリブレーション情報が記憶され、タイミング調整部23がキャリブレーション情報記憶部9に記憶されたキャリブレーション情報に基づいてデータスキュー及びストローブポイントSPを調整してもよい。初期値が設定されていない場合には、最初の評価期間Teにおいて検出した動的タイミング情報(ワーストタイミング情報)に基づいてキャリブレーション情報が設定されることになる。また、当然ながら、初期値が設定されない場合においても、キャリブレーション情報が更新され、当該更新されたキャリブレーション情報に基づいてタイミング調整部23がデータスキュー及びストローブポイントSPを調整してもよい。
(3)上述したように、メモリ40及びメモリコントローラ1を備える形態は、システムLSI(半導体集積回路)に限らず、独立したチップ(パッケージが共通でダイが独立している形態も含む)を複数備えたマルチチップモジュールであってもよい。このような形態では、互いに独立したメモリチップとメモリコントローラとが用いられ、それぞれ異なるクロック信号を基準として動作する。このように独立して汎用的に利用可能なメモリチップには、多くの場合、メモリコントローラのクロック信号と、メモリチップのクロック信号との位相差を調整するための位相調整器が備えられている。しかし、例えば、近年使用量が飛躍的に増加しているスマートフォンに用いられるメモリチップには、消費電力の抑制やコストの抑制のために、そのような位相調整器を備えないものがある。図1のメモリ40はそのような位相調整器を備えていない形態を例示している。
汎用的なメモリ40に位相調整器を付加するとカスタム品となり、スケールメリットも無くなってコストメリットが低下する。そこで、メモリコントローラ1に位相調整器を備えると好適である。図8は、メモリコントローラ1がさらに位相調整部(DLL)70を備えている形態を例示している。図8に示すように、位相調整部70は、リード制御部10及びライト制御部20に接続され、メモリ40のクロック信号(内部クロック)と、メモリコントローラ1のクロック信号(外部クロック)との位相を調整する。ここでは、DLL(Delay Locked Loop)により位相調整部70が構成されている形態を例示しているが、PLL(Phase Locked Loop)により構成されていてもよい。DLLやPLLについては、当業者であれば容易に理解可能であるので詳細な説明は省略する。
位相調整部70を備えることにより、ライト制御部20における書き込み用のデータ信号のスキューや、ストローブ信号のタイミングはメモリ40に入力される前に適切に調整される。しかし、リード制御部10では、メモリ40に位相調整器が備えられていないため、データ信号のスキューや、ストローブ信号のタイミングは、リード制御部10に入力される前には調整されない。このため、メモリコントローラ1は、位相調整部70を備えていても、上述したようにタイミング調整部23を備えてデータスキューやストローブポイントSPが調整されると好適である。
〔実施形態の概要〕
以下、上記において説明したメモリコントローラ(1)の概要について簡単に説明する。
1つの態様として、メモリ(40)に対する複数ビットのデータの書き込み及び読み出しを制御するメモリコントローラ(1)は、
データ信号の相互の位相差であるデータスキューを調整するデータスキュー調整部(2)と、
信号の変化点によってストローブポイント(SP)を規定するストローブ信号の当該変化点を調整するストローブ調整部(3)と、を有するタイミング調整部(23)と、
前記データ信号のそれぞれの変化点であるデータ変化点を検出するデータ変化点検出部(4)と、
前記ストローブポイント(SP)を検出するストローブポイント検出部(5)と、
前記データ信号のそれぞれについて、前記ストローブポイント(SP)と前記データ信号の変化点とに基づく動的タイミング情報を演算する動的タイミング演算部(6)と、
前記動的タイミング情報を記憶する動的タイミング情報記憶部(7)と、
前記動的タイミング情報を出力する動的タイミング情報出力部(8)と、を備える。
本構成によれば、データ変化点検出部(4)及びストローブポイント検出部(5)は、特別な動作モードではなく、メモリ(40)が実データを出力する通常の動作モードにおいて、データ変化点及びストローブポイント(SP)を検出する。そして、これら実データを対象としたデータ変化点及びストローブポイント(SP)に基づいて、動的タイミング情報が演算される。さらに、動的タイミング情報が記憶され、メモリコントローラ(1)から出力される。即ち、本構成によれば、実データによりメモリ(40)が動作している状態で、データに対するストローブポイント(SP)を知ることができる。
1つの態様として、前記データ信号は、基準となるクロック信号によりデータが変化するものであり、前記動的タイミング情報は、前記データ変化点において前記データ信号が変化を始める時点又は変化を終える時点と前記クロック信号との時間と、前記クロック信号に対する前記ストローブ信号の時間とを含むと好適である。この構成によれば、クロック信号を基準とした適切な動的タイミング情報を得ることができる。
また、1つの態様として、前記動的タイミング情報は、前記ストローブポイントに対する前記データ信号のセットアップ時間及びホールド時間を含むと好適である。この構成によれば、セットアップ時間及びホールド時間を用いて適切な動的タイミング情報を得ることができる。
ここで、前記動的タイミング情報記憶部(7)は、予め規定された評価期間(Te)内で、前記ストローブポイント(SP)に対して最も悪い条件となる前記動的タイミング情報であるワーストタイミング情報を、評価期間内ワーストタイミング情報として更新して記憶すると好適である。最も悪い条件となるワーストタイミング情報を更新して記憶することにより、メモリコントローラ(1)は、動的タイミング情報記憶部(7)の記憶容量が増大することを抑制しつつ、適切に必要な情報を得ることができる。
1つの態様として、前記メモリ(40)は、前記メモリ(40)に書き込まれたデータを保持するために電荷を補充するリフレッシュ動作を、予め規定された時間であるリフレッシュ期間(Tr)に亘って実施する揮発性メモリであり、前記リフレッシュ動作は、予め規定された間隔であるリフレッシュサイクル(Tcyc)で、繰り返し実施され、前記リフレッシュサイクル(Tcyc)の1周期には、前記メモリ(40)に対するデータの書き込み及び読み出しが行われない前記リフレッシュ期間(Tr)と、前記メモリ(40)に対するデータの書き込み及び読み出しが行われる通常動作期間と、を含み、前記評価期間(Te)は、前記リフレッシュサイクル(Tcyc)の1周期における前記通常動作期間であり、前記動的タイミング情報出力部(8)は、前記リフレッシュ期間(Tr)に前記動的タイミング情報を出力すると、好適である。
通常動作期間を評価期間(Te)とすることによって、実データによりメモリ(40)が動作している状態で、当該メモリ(40)から出力される読み出しデータ(読み出しデータ信号)に対するストローブポイント(SP)を適切に評価することができる。また、リフレッシュ期間(Tr)にはメモリ(40)を使用することはできないから、動的タイミング情報を出力することによってメモリコントローラ1の負荷が増大しても、メモリ(40)に対する実データの書き込み及び読み出しに影響を与えることがなく、好適である。
1つの態様として、前記タイミング調整部(23)は、前記ワーストタイミング情報に基づいて前記データスキュー及び前記ストローブポイントを調整すると好適である。タイミング調整部(23)は、ワーストタイミング情報が示す厳しい条件下でタイミングを調整するので、メモリ(40)の動作の信頼性が向上する。
ここで、前記タイミング調整部は、前記ストローブポイント(SP)が前記データ信号の有効期間の中央となるように、前記データスキュー及び前記ストローブポイントを調整すると好適である。ストローブポイント(SP)がデータ信号の有効期間の中央であると、安定した動作が期待でき、メモリ(40)の動作の信頼性が向上する。
また、1つの態様として、前記タイミング調整部(23)は、調整内容を示すキャリブレーション情報に基づいて前記データスキュー及び前記ストローブポイント(SP)を調整するものであり、前記動的タイミング演算部(6)は、予め規定されたテストデータが前記メモリ(40)に対して書き込まれ、読み出されるキャリブレーション動作の実行中に検出された前記データ変化点と前記ストローブポイント(SP)とに基づいて、前記キャリブレーション情報の初期値を決定すると共に、前記動的タイミング情報出力部(8)から出力された前記動的タイミング情報に基づき、前記評価期間内ワーストタイミング情報が、前記キャリブレーション情報に含まれる前記ワーストタイミング情報よりも悪い条件の場合には、前記キャリブレーション情報を前記評価期間内ワーストタイミング情報に基づいて更新すると好適である。
この構成によれば、メモリコントローラ(1)において、キャリブレーション情報の更新が必要か否かを判定し、キャリブレーション情報を更新する。従って、メモリ(40)のタイミング調整の信頼性を迅速に向上させることができる。
また、1つの好適な態様として、前記動的タイミング演算部(6)は、予め規定されたテストデータが前記メモリ(40)に対して書き込まれ、読み出されるキャリブレーション動作の実行中に検出された前記データ変化点と前記ストローブポイント(SP)とに基づいて、前記タイミング調整部(23)による調整内容を示すキャリブレーション情報の初期値を決定し、前記動的タイミング情報出力部(8)は、少なくとも当該メモリコントローラ(1)よりも上位のコントローラに対して、前記動的タイミング情報を出力すると共に、当該動的タイミング情報に含まれる前記評価期間内ワーストタイミング情報が、前記キャリブレーション情報に含まれる前記ワーストタイミング情報よりも悪い条件の場合には、前記上位のコントローラに対して割込信号を出力すると好適である。
この構成によれば、例えば、メモリコントローラ(1)よりも上位のコントローラが、キャリブレーション情報の更新が必要か否かを判定するための材料を迅速且つ適切に、当該上位のコントローラに提供することができる。上位のコントローラによるシステム全体の最適化を考慮した判定に基づいて、メモリ(40)からデータを読み出す際のタイミング調整の信頼性を適切に向上させることができる。
また、1つの態様として、前記メモリ(40)は、メモリセルに対する動作の基準となる内部クロックと、前記メモリ(40)の外部での動作の基準となる外部クロックとの位相を調整する位相調整機能を持たない簡易型メモリであり、当該メモリコントローラ(1)は、さらに、前記内部クロックと前記外部クロックとの位相を調整する位相調整部(70)を備えると好適である。
メモリ(40)とメモリコントローラ(1)とが、それぞれ異なるクロック信号を基準として動作するような場合、好適には、メモリ(40)に位相調整器が設けられる。しかし、消費電力の抑制やコストの抑制のために、そのような位相調整器を備えないメモリ(40)もある。この場合、メモリコントローラ(1)に位相調整部(70)を設けることによって、例えばデータ書き込み時におけるデータ信号のスキューやストローブポイント(SP)のずれを抑制することができる。さらに、上述したようなタイミング調整部(23)を設けることによって、データ読み出し時におけるデータ信号のスキューやストローブポイント(SP)のずれも調整することができるので、メモリ(40)の動作の信頼性が向上する。
1 :メモリコントローラ
2 :データスキュー調整部
3 :ストローブ調整部
4 :データ変化点検出部
5 :ストローブポイント検出部
6 :動的タイミング演算部
7 :動的タイミング情報記憶部
8 :動的タイミング情報出力部
23 :タイミング調整部
40 :メモリ
70 :位相調整部
SP :ストローブポイント
Tcyc:リフレッシュサイクル
Te :評価期間
Tr :リフレッシュ期間

Claims (9)

  1. メモリに対する複数ビットのデータの書き込み及び読み出しを制御するメモリコントローラであって、
    データ信号の相互の位相差であるデータスキューを調整するデータスキュー調整部と、
    信号の変化点によってストローブポイントを規定するストローブ信号の当該変化点を調整するストローブ調整部と、を有するタイミング調整部と、
    前記データ信号のそれぞれの変化点であるデータ変化点を検出するデータ変化点検出部と、
    前記ストローブポイントを検出するストローブポイント検出部と、
    前記データ信号のそれぞれについて、前記ストローブポイントと前記データ信号の変化点とに基づく動的タイミング情報を演算する動的タイミング演算部と、
    前記動的タイミング情報を記憶する動的タイミング情報記憶部と、
    前記動的タイミング情報を出力する動的タイミング情報出力部と、を備え
    前記データ信号は、基準となるクロック信号によりデータが変化するものであり、
    前記動的タイミング情報は、前記データ変化点において前記データ信号が変化を始める時点又は変化を終える時点と前記クロック信号との時間と、前記クロック信号に対する前記ストローブ信号の時間と、を含むメモリコントローラ。
  2. 前記動的タイミング情報は、前記ストローブポイントに対する前記データ信号のセットアップ時間及びホールド時間を含む、請求項1に記載のメモリコントローラ。
  3. 前記動的タイミング情報記憶部は、予め規定された評価期間内で、前記ストローブポイントに対して最も悪い条件となる前記動的タイミング情報であるワーストタイミング情報を、評価期間内ワーストタイミング情報として更新して記憶する請求項1又は2に記載のメモリコントローラ。
  4. 前記メモリは、前記メモリに書き込まれたデータを保持するために電荷を補充するリフレッシュ動作を、予め規定された時間であるリフレッシュ期間に亘って実施する揮発性メモリであり、
    前記リフレッシュ動作は、予め規定された間隔であるリフレッシュサイクルで、繰り返し実施され、
    前記リフレッシュサイクルの1周期には、前記メモリに対するデータの書き込み及び読み出しが行われない前記リフレッシュ期間と、前記メモリに対するデータの書き込み及び読み出しが行われる通常動作期間とを含み、
    前記評価期間は、前記リフレッシュサイクルの1周期における前記通常動作期間であり、
    前記動的タイミング情報出力部は、前記リフレッシュ期間に前記動的タイミング情報を出力する請求項に記載のメモリコントローラ。
  5. 前記タイミング調整部は、前記ワーストタイミング情報に基づいて前記データスキュー及び前記ストローブポイントを調整する請求項又はに記載のメモリコントローラ。
  6. 前記タイミング調整部は、前記ストローブポイントが前記データ信号の有効期間の中央となるように、前記データスキュー及び前記ストローブポイントを調整する請求項に記載のメモリコントローラ。
  7. 前記タイミング調整部は、調整内容を示すキャリブレーション情報に基づいて前記データスキュー及び前記ストローブポイントを調整するものであり、
    前記動的タイミング演算部は、予め規定されたテストデータが前記メモリに対して書き込まれ、読み出されるキャリブレーション動作の実行中に検出された前記データ変化点と前記ストローブポイントとに基づいて、前記キャリブレーション情報の初期値を決定すると共に、
    前記動的タイミング情報出力部から出力された前記動的タイミング情報に基づき、前記評価期間内ワーストタイミング情報が、前記キャリブレーション情報に含まれる前記ワーストタイミング情報よりも悪い条件の場合には、前記キャリブレーション情報を前記評価期間内ワーストタイミング情報に基づいて更新する請求項からの何れか一項に記載のメモリコントローラ。
  8. 前記動的タイミング演算部は、予め規定されたテストデータが前記メモリに対して書き込まれ、読み出されるキャリブレーション動作の実行中に検出された前記データ変化点と前記ストローブポイントとに基づいて、前記タイミング調整部による調整内容を示すキャリブレーション情報の初期値を決定し、
    前記動的タイミング情報出力部は、少なくとも当該メモリコントローラよりも上位のコントローラに対して、前記動的タイミング情報を出力すると共に、当該動的タイミング情報に含まれる前記評価期間内ワーストタイミング情報が、前記キャリブレーション情報に含まれる前記ワーストタイミング情報よりも悪い条件の場合には、前記上位のコントローラに対して割込信号を出力する請求項又はに記載のメモリコントローラ。
  9. 前記メモリは、メモリセルに対する動作の基準となる内部クロックと、前記メモリの外部での動作の基準となる外部クロックとの位相を調整する位相調整機能を持たない簡易型メモリであり、
    当該メモリコントローラは、さらに、前記内部クロックと前記外部クロックとの位相を調整する位相調整部を備える、請求項1からの何れか一項に記載のメモリコントローラ。
JP2017564277A 2016-01-25 2017-01-24 メモリコントローラ Active JP6432699B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016011737 2016-01-25
JP2016011737 2016-01-25
PCT/JP2017/002392 WO2017130983A1 (ja) 2016-01-25 2017-01-24 メモリコントローラ

Publications (2)

Publication Number Publication Date
JPWO2017130983A1 JPWO2017130983A1 (ja) 2018-09-06
JP6432699B2 true JP6432699B2 (ja) 2018-12-05

Family

ID=59398293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017564277A Active JP6432699B2 (ja) 2016-01-25 2017-01-24 メモリコントローラ

Country Status (4)

Country Link
US (1) US10438637B2 (ja)
JP (1) JP6432699B2 (ja)
CN (1) CN108431785B (ja)
WO (1) WO2017130983A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10418125B1 (en) * 2018-07-19 2019-09-17 Marvell Semiconductor Write and read common leveling for 4-bit wide DRAMs
CN111367569B (zh) * 2018-12-26 2023-04-28 合肥杰发科技有限公司 一种存储器校准系统及方法、可读存储介质
US11507310B2 (en) 2019-09-02 2022-11-22 SK Hynix Inc. Memory controller and operating method thereof
KR20210097938A (ko) * 2020-01-31 2021-08-10 에스케이하이닉스 주식회사 클록변조를 통해 리드 데이터의 신뢰성을 검증하는 메모리 장치 및 메모리 장치를 포함하는 메모리 시스템
US12051470B2 (en) 2019-09-02 2024-07-30 SK Hynix Inc. Memory controller and operating method thereof
JP2021135820A (ja) * 2020-02-27 2021-09-13 キオクシア株式会社 不揮発性半導体記憶装置
KR20220019944A (ko) * 2020-08-11 2022-02-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US11736098B2 (en) 2021-12-03 2023-08-22 Samsung Electronics Co., Ltd. Memory package, semiconductor device, and storage device

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692165A (en) * 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
US6247138B1 (en) * 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
JP4002811B2 (ja) * 2002-10-04 2007-11-07 株式会社アドバンテスト マルチストローブ生成装置、試験装置、及び調整方法
JP4656862B2 (ja) * 2004-05-28 2011-03-23 ルネサスエレクトロニクス株式会社 半導体装置
US7755402B1 (en) * 2006-04-28 2010-07-13 Nvidia Calibration of separate delay effects for multiple data strobe signals
JP4921888B2 (ja) 2006-08-22 2012-04-25 ルネサスエレクトロニクス株式会社 インターフェース回路
KR101470975B1 (ko) * 2007-12-21 2014-12-09 램버스 인코포레이티드 메모리 시스템 내 기록 타이밍을 교정하기 위한 방법 및 장치
KR100911201B1 (ko) * 2008-02-14 2009-08-06 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 스트로브 클럭 버퍼 및 그제어 방법
CN102292774B (zh) * 2008-06-30 2014-07-02 富士通半导体股份有限公司 存储器装置以及控制该存储器装置的存储器控制器
JP2010086246A (ja) * 2008-09-30 2010-04-15 Nec Electronics Corp メモリインターフェース及びメモリインターフェースの動作方法
JP2010108217A (ja) * 2008-10-30 2010-05-13 Nec Electronics Corp メモリインターフェース及びメモリインターフェースの動作方法
JP2010122842A (ja) * 2008-11-19 2010-06-03 Nec Electronics Corp 遅延調整装置、半導体装置及び遅延調整方法
US7965093B2 (en) * 2009-02-13 2011-06-21 Advantest Corporation Test apparatus and test method for testing a device under test using a multi-strobe
US8081527B1 (en) * 2009-05-08 2011-12-20 Juniper Networks, Inc. Per-bit de-skew mechanism for a memory interface controller
US8040721B2 (en) * 2009-08-31 2011-10-18 Sandisk 3D Llc Creating short program pulses in asymmetric memory arrays
KR20110100467A (ko) * 2010-03-04 2011-09-14 삼성전자주식회사 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법
JP2011258134A (ja) * 2010-06-11 2011-12-22 Renesas Electronics Corp インタフェース回路
US8526249B1 (en) * 2010-08-04 2013-09-03 Marvell International Ltd. Methods and systems for detecting and correcting timing signal drift in memory systems
JP2012203515A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 半導体装置
US8918666B2 (en) * 2011-05-23 2014-12-23 Intel Mobile Communications GmbH Apparatus for synchronizing a data handover between a first and second clock domain through FIFO buffering
US9158330B1 (en) * 2011-11-15 2015-10-13 Marvell Israel (M.I.S.L) Ltd. Apparatus and method to compensate for data skew for multiple memory devices and adjust delay for individual data lines based on an optimized critical window
JP2013109637A (ja) * 2011-11-22 2013-06-06 Renesas Electronics Corp メモリインターフェース回路、および、そのメモリインターフェース回路の動作方法
KR101995950B1 (ko) * 2012-05-03 2019-07-03 에스케이하이닉스 주식회사 반도체 장치 및 그의 구동 방법
US9304530B1 (en) * 2012-08-28 2016-04-05 Rambus Inc. Skew-tolerant strobe-to-clock domain crossing
US8947140B2 (en) * 2013-03-12 2015-02-03 Uniquify, Inc. Continuous adaptive training for data interface timing calibration
US8902693B2 (en) * 2013-04-25 2014-12-02 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for per-bit de-skew for datamask in a double data-rate memory device interface
US9147463B1 (en) * 2014-03-25 2015-09-29 Megachips Corporation Method and apparatus for data capture in DDR memory interface
KR102248279B1 (ko) * 2014-06-13 2021-05-07 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 및 메모리 컨트롤러 사이의 통신을 중개하는 리타이밍 회로의 동작 방법
US9607672B2 (en) * 2014-11-14 2017-03-28 Cavium, Inc. Managing skew in data signals with adjustable strobe
US9349434B1 (en) * 2015-03-30 2016-05-24 Cavium, Inc. Variable strobe for alignment of partially invisible data signals
WO2016195637A1 (en) * 2015-05-29 2016-12-08 Hewlett Packard Enterprise Development Lp Memristance feedback tuning
US10332575B2 (en) * 2017-11-29 2019-06-25 Micron Technology, Inc. Signal training for prevention of metastability due to clocking indeterminacy

Also Published As

Publication number Publication date
US20180366168A1 (en) 2018-12-20
CN108431785A (zh) 2018-08-21
JPWO2017130983A1 (ja) 2018-09-06
WO2017130983A1 (ja) 2017-08-03
US10438637B2 (en) 2019-10-08
CN108431785B (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
JP6432699B2 (ja) メモリコントローラ
CN109643566B (zh) 用于调整命令信号路径的延迟的设备及方法
JP4450586B2 (ja) 半導体集積回路
US9508417B2 (en) Methods and apparatuses for controlling timing paths and latency based on a loop delay
US9735765B2 (en) Apparatuses, methods, and systems for jitter equalization and phase error detection
CN110870010B (zh) 在ddr5 dram中调整到锁存路径的指令延迟
KR101062741B1 (ko) Dll 회로 및 그 제어 방법
TWI651934B (zh) 輸入緩衝器中之偏移電壓調整之裝置
US7518946B2 (en) Memory control device
JP2009118479A (ja) オンダイターミネーションの制御回路およびその制御方法
KR20120030354A (ko) 메모리 시스템 내에서 쓰기 레벨링을 위한 시작 값들을 조정하는 방법
CN110770832A (zh) 命令信号时钟门控
US8826059B2 (en) Apparatus and method for buffering data between memory controller and DRAM
KR102240157B1 (ko) 메모리 디바이스의 병렬화기에서의 dqs 게이팅
US8300496B2 (en) Semiconductor memory apparatus and test method thereof
KR100906644B1 (ko) 반도체 메모리장치
US8816742B2 (en) Adaptive memory calibration using bins
US8344776B2 (en) Memory interface circuit and drive capability adjustment method for memory device
CN107452420B (zh) 存储装置和存储器控制器
US20020172080A1 (en) Propagation delay independent sdram data capture device and method
WO2009139101A1 (ja) 電子機器システム、および半導体集積回路のコントローラ
JP2007280562A (ja) リフレッシュ制御装置
JP5338357B2 (ja) メモリ制御装置及びその遅延量測定方法
US20240203469A1 (en) Semiconductor apparatus including a plurality of clock paths and a semiconductor system using the same
JP2012243251A (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6432699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150