JP5819027B2 - メモリアクセス遅延トレーニングのための方法および装置 - Google Patents

メモリアクセス遅延トレーニングのための方法および装置 Download PDF

Info

Publication number
JP5819027B2
JP5819027B2 JP2015514160A JP2015514160A JP5819027B2 JP 5819027 B2 JP5819027 B2 JP 5819027B2 JP 2015514160 A JP2015514160 A JP 2015514160A JP 2015514160 A JP2015514160 A JP 2015514160A JP 5819027 B2 JP5819027 B2 JP 5819027B2
Authority
JP
Japan
Prior art keywords
signal
data strobe
enable signal
strobe signal
preamble
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
JP2015514160A
Other languages
English (en)
Other versions
JP2015520902A (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2015520902A publication Critical patent/JP2015520902A/ja
Application granted granted Critical
Publication of JP5819027B2 publication Critical patent/JP5819027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • 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 
    • 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
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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

Description

本発明は、コンピュータシステムに関し、より詳細には、コンピュータシステム内のメモリの読み取りを同期化するのに用いられる信号に対する遅延時間のトレーニングに関する。
メモリからデータを適切に読み出すために、データが有効な時間を判断することは重要なファクターである。コンピュータシステムの性能を最適化するために、この値を最小限にすることが望ましい。メモリから受信したデータが読み出され得る最適な時間を判断するために、トレーニング手順が実行され得る。
様々なタイプのダブルデータレート(DDR)メモリ(例えば、DDR、DDR2、およびDDR3など)に対して、読み取り操作中に、データストローブ信号がデータと共にメモリから返される場合がある。データストローブ信号は、メモリコントローラ内の受信器でデータを同期化するために使用され得るソース同期クロック信号であることに加えて、そのデータが有効であることを示す。正確なタイミングを確実にするためのデータストローブ信号のトレーニングが、システム動作の開始時に実行され得る。
DDRデータストローブのトレーニングを実行するための一つ方法は、シードとして知られている低動作周波数での読み取りの実行で始まる。次いで、トレーニング手順は、シードとして知られている第1の周波数で返されたデータをデータストローブ信号が観察するのを可能にする最適時間を判断するために、一連の読み取りを実行し得る。シードは、コンピュータシステムの設計段階において、研究所で実施された特性評価に基づき判断され得る。トレーニングは、データストローブ信号を有効にする最適時間が判断されるまで、異なる周波数で実施され得る。元の周波数で結果として生じるトレーニングされた最適時間は、次のさらに高い周波数での後続のトレーニングに対するおおよその開始時間を計算するために使用され得る。結果として生じる第2のトレーニングされた値は、第3のさらに高い周波数などでのトレーニングに対するおおよその開始時間を計算するために使用され得る。さらに高い周波数でのトレーニングに対する開始時間を決定するために低周波数でトレーニングされた時間を使用する方法は、通常の操作で使用される全ての周波数がトレーニングされるまで、複数回繰り返され得る。
データストローブ信号を有効にするための遅延をトレーニングする様々な方法および装置の実施形態が開示される。一実施形態では、システムは、データストローブ信号を受信するように構成されたメモリコントローラを含む。メモリコントローラは、トレーニング回路を含む。トレーニング回路は、データ入力のデータストローブ信号とクロック入力のイネーブル信号を受信するように結合された第1の記憶回路と、前記第1の記憶回路から受信した出力信号に基づき、イネーブル信号のアサーションがデータストローブ信号内のプリアンブル指示と一致するまで、イネーブル信号の位相を調整するように構成されたトレーニングユニットと、を含む。
一実施形態では、方法は、メモリから受信したデータストローブ信号に対するイネーブル信号の位相を調整することを含む。この位相は、イネーブル信号のアサーションがデータストローブ信号内のプリアンブル指示と一致するまで調整され得る。この調整は、遅延ロックループ(DLL)の遅延を調整することによって達成され得る。本方法は、遅延指示をレジスタに格納することをさらに含む。
メモリサブシステムの一実施形態は、メモリコントローラに結合されたメモリを含む。メモリコントローラは、読み取り要求をメモリに送信するように構成されている。メモリは、読み取り要求に応じて、データとデータストローブ信号とを、メモリコントローラに提供するように構成されている。メモリコントローラは、イネーブル信号のアサーションがデータストローブ信号内のプリアンブル指示と一致するまで、データストローブ信号に対するイネーブル信号の位相を調整するように構成されたトレーニングユニットを含む。前記調整することは、遅延ロックループ(DLL)の遅延を調整することを含む。メモリコントローラは、遅延指示をレジスタに格納するようにさらに構成されている。
本開示の他の態様は、以下の詳細な説明と、添付の図面とを参照することで明らかになる。添付の図面の簡単な説明を以下に示す。
処理装置と、ディスプレイと、周辺機器用バスと、メモリと、メモリコントローラとを含むシステムのブロック図である。 トレーニングユニットを含むメモリコントローラの一実施形態のブロック図である。 データストローブ信号に対するイネーブル信号の遅延をトレーニングするための方法の一実施形態を示すタイミング図である。 データストローブ信号に対するイネーブル信号の遅延をトレーニングするための方法の一実施形態を示すフロー図である。 コンピュータ可読キャリア媒体の一実施形態のブロック図である。
本発明は、様々な修正および代替形式を受け入れる余地があるが、図面では、本発明の特定の実施形態を一例として示し、本明細書において詳細に説明する。しかし、図面およびそれに関連する説明は、本発明を開示する特定の形式に限定することを意図しておらず、それとは逆に、本発明は、添付の請求項によって定義されるような本発明の精神ならびに範囲に含まれる、全ての修正、均等物および代替手段を包含することが理解されるべきである。
図1は、コンピュータシステム10の一実施形態のブロック図である。図示した実施形態では、コンピュータシステム10は、メモリ6に結合された集積回路(IC)2を含む。コンピュータシステム10は、例えばラップトップ、デスクトップまたはサーバーコンピュータなどの従来型のコンピュータシステムや、例えばハンドヘルドコンピューティング装置(例えば、携帯電話またはスマートフォン)、デジタルテレビ、タブレットコンピューティング装置などの様々な他のタイプのコンピューティング装置を含み得る。図示した実施形態では、IC 2は、いくつかのプロセッサコア11を有するシステムオンチップ(SoC)である。IC 2の実施形態は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、アプリケーションプロセッサ、デジタル信号プロセッサ(DSP)などを含み得る。様々な実施形態では、プロセッサコアの数は、わずか1つであってもよいし、ICダイ上の実装に適するだけの数であってもよい。マルチコアの実施形態では、プロセッサコア11は、互いに同一(すなわち、ホモジニアスマルチコア)であってもよいし、1つ以上のコアが他のコアと異なって(すなわち、ヘテロジニアスマルチコア)いてもよい。各プロセッサコア11は、1つ以上の実行ユニット、キャッシュメモリ、スケジューラ、分岐予測回路などを含んでもよい。さらに、各プロセッサコア11は、メモリ6へのアクセス要求をアサートするように構成されてもよく、メモリ6は、コンピュータシステム10におけるメインメモリとして機能し得る。かかる要求は、読み取り要求および/または書込み要求を含んでもよく、当初は各プロセッサコア11からノースブリッジ12によって受信され得る。メモリ6へのアクセス要求は、ある命令の実行に応じて開始されてもよく、プリフェッチ操作に応じて開始されてもよい。
図示した実施形態では、ノースブリッジ12は、IC 2の様々な機能ユニット間の通信の経路指定および制御を提供し得る。このため、ノースブリッジ12は、異なる機能ユニットを互いに結合する(例えば、メモリアクセス要求中に、何れか1つのプロセッサコア11をメモリコントローラ18に結合する)ように構成された1つ以上のクロスバーユニットを含んでもよい。さらに、ノースブリッジ12は、IC 2の動作中に、電力消費対性能を最適化するために使用される様々な電力管理機能を実装し得る。
図示した実施形態では、I/Oインタフェース13は、ノースブリッジ12に結合されている。I/Oインタフェース13は、コンピュータシステム10におけるサウスブリッジ装置として機能してもよい。いくつかの異なるタイプの周辺機器用バスが、I/Oインタフェース13に結合されてもよい。この特定の実施例では、バスタイプは、Peripheral Component Interconnect(PCI)バス、PCI−Extended(PCI−X)、ギガビットイーサネット(登録商標)(GBE)バスおよびユニバーサルシリアルバス(USB)を含む。しかし、これらのバスタイプは例示であり、多数の他のバスタイプがI/Oインタフェース13に結合されてもよい。周辺機器は、周辺機器用バスの一部または全部に結合されてもよい。かかる周辺機器は、キーボード、マウス、プリンタ、スキャナ、ジョイスティックや他のタイプのゲームコントローラ、媒体記録装置、外部記憶装置、ネットワークインタフェースカードなどを含むが、これらに限定されない。対応する周辺機器用バスを介してI/Oユニット13に結合され得る周辺機器の少なくともいくつかは、直接メモリアクセス(DMA)を用いてメモリアクセス要求をアサートし得る。(読み取りおよび書込み要求を含み得る)これらの要求は、I/Oインタフェース13を介してノースブリッジ12に伝達され得る。
図示した実施形態では、IC 2は、コンピュータシステム10のディスプレイ3に結合されるグラフィック処理装置14を含む。ディスプレイ3は、フラットパネルLCD(液晶ディスプレイ)、プラズマディスプレイ、CRT(ブラウン管)または任意の他の適切なディスプレイタイプであり得る。GPU 14は、様々なビデオ処理機能を実行し、処理情報を、視覚情報としての出力のためにディスプレイ3に提供し得る。
図示した実施形態におけるメモリコントローラ18は、ノースブリッジ12に結合されており、いくつかの実施形態では、実際に、ノースブリッジ12の構成要素であってもよい。メモリコントローラ18は、ノースブリッジ12から伝達されたメモリ要求を受信し得る。(プリフェッチを含む)読み取り要求に応じてメモリ6からアクセスされたデータは、メモリコントローラ18によって、ノースブリッジ12を介して要求エージェントに伝達され得る。メモリコントローラ18は、書込み要求に応じて、要求および書き込まれるデータの両方を、ノースブリッジ12を介して要求エージェントから受信し得る。複数のメモリアクセス要求がある時間において保留中である場合に、メモリコントローラ18は、これらの要求間を調停(arbitrate)し得る。
メモリコントローラ18は、メモリ6へのデータの書込みをサポートする機能も含むが、その機能については、便宜上、ここでは示していないことに留意されたい。
図示した実施形態におけるメモリ6は、一実施形態では、複数のメモリモジュールとして実装され得る。各メモリモジュールは、メモリモジュール上に実装された1つ以上のメモリデバイス(例えば、メモリチップ)を含み得る。別の実施形態では、メモリ6は、IC 2が実装され得るマザーボードまたは他のキャリア上に設けられた1つ以上のメモリデバイスを含み得る。さらに別の実施形態では、メモリ6の少なくとも一部は、IC 2のダイ上に実装され得る。前述した様々な実施態様の組合せを有する実施形態も可能であり、検討され得る。メモリ6は、動作中にIC 2とともに用いられるランダムアクセスメモリ(RAM)を実現するために使用され得る。
図示した実施形態では、メモリ6は、いくつかの異なるタイプのダブルデータレート(DDR)ダイナミックRAM(DRAM)のうちの1つとして実装される。かかるタイプのDDR DRAMは、オリジナルDDR標準DRAM、DDR2 DRAMおよびDDR3 DRAMを含む。メモリ6は、将来の規格のDDR DRAMとして実装され得ることも考えられる。特定の規格に関わらず、メモリ6は、メモリコントローラ18からの読み取り要求に応じて、要求されたデータと共に、データストローブ信号、DQSを返し得る。データストローブ信号は、事実上、メモリコントローラ18の受信器25でデータを同期化するために使用されるソース同期クロック信号である。メモリ6からデータが返されていない場合には、データストローブ信号は、アイドルであってもよいし、トライステート(tri−stated)であってもよい。いくつかの事例では、データストローブ信号は、読み取りが実行されていない場合、トライステート状態にされ得る(すなわち、高インピーダンス状態に置かれる)。トライステート状態の間にデータストローブ信号がサンプリングされる場合には、誤った読み取りや受信器25内での遅延ロックループ(DLL)の内部操作の破損を含む、予測できない挙動を引き起こし得る。しかし、以下で説明する方法および装置の実施形態では、データストローブ信号がトライステート状態である場合には、データストローブ信号のサンプリングを回避し得る。
図示した実施形態では、メモリコントローラ18は、読み取りコマンドをノースブリッジ12から受信するために結合されたスケジューラ21を含む。スケジューラ21は、メモリ6への伝送のために様々な読み取りコマンドをスケジューリングするように構成されている。いくつかの実施形態では、スケジューラ21は、競合する読み取りコマンドの調停を実行するように構成されてもよい。読み取りコマンドは、メモリ6への伝送のために送信器23に転送され得る。加えて、スケジューラ21は、読み取りコマンドに応じてメモリ6からのデータの受信を可能にするために、受信イネーブル信号(Rx_Enable)を受信器25に提供し得る。図示した実施形態では、受信器25は、データストローブ信号のメモリ6からの伝送と合わせるために、イネーブル信号のアサーションを保留するいくつかのバッファリングおよびタイミング回路を含み得る。これにより、誤ったデータが受信器25によって受信されるのを防ぎ得る。受信器25内のイネーブル信号のアサーションのタイミングは、トレーニングユニット30によって実行されるトレーニング手順によって判断され得る。トレーニングユニット30および対応するトレーニング手順については、以下でさらに詳細に説明する。
ここで、図2を参照すると、メモリコントローラ18の一実施形態のブロック図が示されている。この図では、メモリコントローラ18の全ての構成要素が示されておらず、従って、様々な実施形態では(前述のものを含む)他の構成要素が含まれ得ることに留意されたい。
図示した実施形態では、メモリコントローラ18は、メモリ6から伝達されたデータを受信するために結合された受信器25を含む。データは、メモリ6から伝達されたデータストローブ信号に基づいて、受信したデータストローブ信号(RDQS)と同期化され得る(受信したデータストローブ信号は、メモリ6から提供されたデータストローブ信号と実質的に同一の信号であり得るが、ここでは、バッファ33の存在のために別々に参照される)。受信したデータストローブ信号は、イネーブル信号(Rx_enable)を用いて、(本実施形態においてANDゲートとして実装された)論理ゲート34を介してゲートされ得る。イネーブル信号がアサートされる場合には、受信したデータストローブは、受信器25の遅延ロックループ(DLL)251に渡すために有効にされる。次いで、DLL 251は、着信データを同期化するために、対応するクロック信号をフリップフロップ39(またはフリップフロップのグループ)に提供し得る。一方、イネーブル信号がアサートされない場合には、受信したデータストローブはDLL 251に提供されない。これにより、受信器25における意図しないデータの受信を抑制する。イネーブル信号がアサート解除される場合には、トライステートのデータストローブ信号のサンプリングが回避される。このことは、上述したように、誤った動作が発生する可能性を防ぎ得る。従って、イネーブル信号がいつアサートされ、いつアサート解除されるかという制御は、データストローブ信号が、正しい動作を保証する適切なタイミング(すなわち、図3に示すパターンのように、データストローブ信号が、高状態と低状態との間でアクティブに切り換わっているタイミング)でサンプリングされることを確実にし得る。
イネーブル信号は、DLL 35に提供されたクロック信号(pclk)と同じ領域から受信したイネーブル信号(Rx_enable_p)に基づく。図示した実施形態では、受信したイネーブル信号は、先入れ先出しメモリ(FIFO)29に提供される。FIFO 29の読み取りおよび書込みポインタはpclk信号と同期化される。pclk信号は、メモリコントローラ18内の位相ロックループ(PLL)によって生成されてもよく、その内部の動作を同期化するために使用される。FIFO 29の出力は、記憶回路(本実施形態では、フリップフロップ32)に結合される。また、FIFO 29の出力は、クロック信号をDLL 35から受信するために結合される。図示した実施形態では、DLL 35は、pclk信号を入力クロックとして受信するように結合され、pclk信号の遅延バージョンをフリップフロップ32に提供するように構成されている。その結果、論理ゲート34に提供されたRx_enable信号は、DLL 35からの出力としてのpclk信号の遅延バージョンと同期化され得る。
読み取り中、イネーブル信号は、特定の時点でアサートされ得る。イネーブル信号があまりにも早くアサートされることにより、受信したデータストローブ信号がDLL 251に渡るのを可能にする場合には、受信器25は、誤ったデータを受信する場合がある。イネーブル信号のアサートが遅すぎる場合には、メモリ6から返されるデータは、受信器25に受信されない場合がある。従って、イネーブル信号のアサーションに最適な時間を判断するために、トレーニングが実施され得る。図示した実施形態では、メモリコントローラ18は、トレーニングユニット30を含む。トレーニングユニット30は、フリップフロップ31と、位相検出器37と、トレーニング制御論理38と、を含む。
図示した実施形態では、RDQS信号は、フリップフロップ31のデータ入力で受信される。フリップフロップ31のクロック入力は、フリップフロップ32から出力されたイネーブル信号出力を受信するように結合されている。フリップフロップ31の出力は、位相検出器37に提供される。位相検出器37は、フリップフロップ31から受信した出力信号に基づき、受信したデータストローブ信号、RDQSに対する、イネーブル信号、Rx_enableの位相を判断し得る。この実施形態では、FIFO 29は、Rx_enable信号がプリアンブルに応じてアサートされるように、論理高(logic high)をフリップフロップ32のD入力に提供し得る。したがって、フリップフロップ31によるRDQS信号のサンプリングを生じさせ得るプリアンブルを生成する読み取りとなる。
イネーブル信号のトレーニングは、トレーニング制御論理38の制御下で実施され得る。トレーニングを実施するために、トレーニング制御論理38に提供されたトレーニング信号(Train)がアサートされ得る。トレーニング制御論理38は、トレーニングアルゴリズムの実行中に位相検出器37に指示し得る。位相検出器37によって提供される情報は、トレーニングアルゴリズムにおいて実行される様々なステップの判断において、トレーニング制御論理38によって使用され得る。
図示した実施形態における位相検出器37の出力は、制御レジスタ36に格納された値を増加または減少させる1つ以上の信号を含む。制御レジスタ38の出力は、フリップフロップ32に提供されるクロック信号を生成するためにpclk信号の遅延を設定するのに使用される、DLL 35に提供される指示であってよい。したがって、位相検出器37は、イネーブル信号と、受信したデータストローブ信号との間の位相関係を効果的に制御するのに使用され得る。より詳細には、図示した実施形態における位相検出器37は、制御レジスタ36に格納された値を増加させることにより、DLL 32によって提供される遅延を増加し得る。DLLによって提供される遅延の減少は、制御レジスタ36に格納された値を減少させる位相検出器37によって実行され得る。一般に、DLL 32によって提供される遅延の変化は、受信したデータストローブ信号と、イネーブル信号との間の位相関係を変化させ得る。トレーニング中、位相検出器37は、アルゴリズムのいくつかの部分においてフリップフロップ31によって提供される出力信号と、アルゴリズムの他の部分におけるトレーニング制御論理38からの直接制御とに基づいて、DLL 32の遅延を変化させ得る。
図3は、トレーニングユニット30によって実行され得るトレーニングアルゴリズムの一実施形態を示すタイミング図である。トレーニングは、トレーニング制御論理38へtrain信号をアサートすることにより開始され得る。また、アルゴリズムのステップ0では、連続読み取りが、プリアンブルによって中断されている読み取りとともに、トレーニング手順の実行時に開始され得る。図示の例では、読み取りは、論理1と論理0との間の受信したデータストローブ信号のサイクルによって示される。図示の例におけるプリアンブルは、論理1の間のいくつか(図の例では3つ)の連続した論理0によって示される。一般に、データ読取り操作は、限定数のデータビットを受信するバースト内で行われてよく、その後、データストローブ信号は、トライステート状態にされ得る(すなわち、高インピーダンス状態に置かれる)。読取りバーストごとに準備するために、各読取り操作は、データストローブがlowになる期間に先行され得る。この期間はプリアンブルとして知られている。読取り操作が連続して生じる場合には、着信データストローブは、クロックのように見える波形を示し、プリアンブルは生成されない。より詳細には、バーストは、図に示すように、プリアンブルによって中断される。バーストは、データストローブ信号がトライステート状態になるのを防ぐために、継続期間において十分に短い場合がある。一方、読み取りの間の期間がプリアンブルの継続期間よりも長い場合には、データストローブ信号は、メモリによってトライステート状態にされ得る。
アルゴリズムのステップ1は、受信したデータストローブ信号の立ち上がりエッジを見つけることである(この代わりに、立ち下がりエッジを見つける実施形態も可能であり、検討されることに留意されたい)。これは、イネーブル信号を循環させ、イネーブル信号と(循環している)受信したデータストローブ信号との間の位相差を測定して、位相差がゼロになるまで調整することによって達成され得る。立ち上がりエッジが見つかると、トレーニング制御論理38は、位相検出器37に対して、データストローブ信号の2分の1の単位間隔をDLL 36の遅延から減算するように指示する。本明細書では、単位間隔は、受信したデータストローブ信号の2分の1の期間であってよい。従って、データストローブ信号が50%のデューティサイクルを有する場合には、単位間隔は、当該デューティサイクルと同等であり得る。
受信したデータストローブ信号に対するイネーブル信号の位相をデータストローブ信号の2分の1の単位間隔だけ調整した後に、トレーニング制御論理38は、位相検出器37に対して、プリアンブルの終端が見つかるまで、イネーブル信号の位相を1単位間隔だけ増加するように調整する(ステップ3)のを開始するように指示し得る。図の例では、位相調整は、増加によって実行される。しかし、同じ目的を達成するためには、増加の代わりに減少も使用され得る。位相の増加調整ごとに、位相関係が、トレーニング制御論理38に報告されてもよく、トレーニング制御論理38は、測定値の履歴を保持および監視し得る。その履歴に基づき、トレーニング制御論理38は、イネーブル信号が、受信したデータストローブ信号の第1のポストプリアンブルサイクルの第1の立ち下がりエッジと一致するタイミングを判断し得る。
トレーニング制御論理38は、プリアンブルの終端が検出されたことを判断すると、位相検出器37に対して、イネーブル信号の位相がプリアンブル内で生じるまで遅延を減算する(ステップ4)ように調整することを指示し得る。一実施形態では、イネーブル信号は、プリアンブルのおおよその中間点に位置合わせされ得る。この調整が生じると、位相検出器37は、受信したデータストローブ信号に対するイネーブル信号の位相の指標を、制御レジスタ36に記録し得る。このとき、トレーニングが完了する。ミッション(すなわち、通常)モードでの将来の動作のために、メモリ6からのデータの1つ以上の連続読み取り中に、イネーブル信号のアサーションが、データストローブ信号の第1の立ち上がりエッジよりも前のプリアンブル中に生じ得る。
イネーブル信号の立ち上がりエッジをプリアンブル内の点と一致させることによって、温度および電圧変動に起因したドリフトを許容するためにより多くのマージンが提供され得る。これにより、メモリに対するインタフェースが、より高速な周波数で動作されることを可能にし得る。前述のトレーニングアルゴリズムは、異なる周波数での複数の反復を必要としないこと、および、「シード値」としても知られている、事前特性化された開始条件も必要としないことにさらに留意されたい。これにより、トレーニング手順が、従来の方法よりも確実に、かつ、短時間で実行されることを可能にし得る。
ここで図4を参照すると、データストローブ信号に対するイネーブル信号の遅延をトレーニングするための方法の一実施形態を示すフロー図が表されている。方法400は、図1および図2に関連して前述したハードウェアの実施形態を使用して実行され得るが、他のハードウェアの実施形態で本方法を実行することも可能であり、検討されることに留意されたい。
方法400は、プリアンブルによって中断されている読み取りとともに、複数の一連の連続メモリ読み取りを実行すること(ブロック405)によるトレーニングの開始で始まる。読み取りは、データストローブ信号と同期化されてもよく、データストローブ信号は、プリアンブル(例えば、1と0の交互に入れ替わるサイクル間の複数の連続した0)を含む。読み取りは、連続、次いでプリアンブル、その後、別の連続などのように実行されてもよい。
トレーニング手順中に、データストローブ信号のエッジ(本実施例では、立ち上がりエッジ)が、データストローブの立ち上がりエッジとの位相差がゼロになるまでイネーブル信号の立ち上がりエッジの位相を調整することによって、見つけられ得る(ブロック410)。この時点でイネーブル信号が調整される立ち上がりエッジは、データストローブ信号の任意の立ち上がりエッジであり得る。
データストローブ信号の立ち上がりエッジの位置決めに応じて、イネーブル信号の位相は、2分の1の単位間隔分減算されてもよく、次いで、一単位間隔分増加するように調整され得る(ブロック415)。調整は、増加または減少を含み得る。プリアンブルの終端が見つからなかった(ブロック420,いいえ)場合には、ブロック415の調整が継続する。プリアンブルの終端が見つかった(ブロック420,はい)場合には、プリアンブル内のポイントにイネーブル信号のアサーションを置くために、最終位相調整が行われ得る(ブロック425)。一実施形態では、最終位相調整において、イネーブル信号のアサーションを、プリアンブルの中間点または中間点の近くに置き得る。最終位相調整が完了した後に、対応する遅延値の指示が制御レジスタに格納される(ブロック430)。この遅延値は、通常動作中に、遅延ロックループの遅延を設定するために使用され得る。
次に図5を参照すると、システム10を表すデータベース505を含むコンピュータアクセス可能記憶媒体500のブロック図が示されている。一般的に言えば、コンピュータアクセス可能記憶媒体500は、命令および/またはデータをコンピュータに提供するために、使用中にコンピュータによってアクセス可能な任意の持続性(non−transitory)記憶媒体を含み得る。例えば、コンピュータアクセス可能記憶媒体500は、磁気または光媒体などの記憶媒体(例えば、ディスク(固定もしくは取り外し可能)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW、Blu−Rayなど)を含み得る。記憶媒体は、例えばユニバーサルシリアルバス(USB)インタフェースなどの周辺インタフェースを介してアクセス可能な、RAM(例えば、シンクロナスダイナミックRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3など)SDRAM、低電力DDR(例えばLLDDR2など)SDRAM、Rambus DRAM(RDRAM)、スタティックRAM(例えばSRAMなど)など)、ROM、フラッシュメモリ、不揮発性メモリ(例えばフラッシュメモリ)などの、揮発性または不揮発性メモリ媒体をさらに含み得る。記憶媒体は、微小電気機械システム(MEMS)、ならびに、ネットワークおよび/または無線リンクなどの通信媒体を介してアクセス可能な記憶媒体を含み得る。
一般に、コンピュータアクセス可能記憶媒体500で実行される、システム10および/またはその部分を表すデータ505は、システム10を含むハードウェアを製造するために、直接または間接に、プログラムによって読み取られて使用可能なデータベースまたは他のデータ構造であり得る。例えば、データベース505は、VerilogまたはVHDLなどの高水準設計用言語(HDL)でのハードウェア機能性の動作レベル記述またはレジスタ転送レベル(RTL)記述であり得る。記述は、ゲートのリストを含むネットリストを合成ライブラリから生成するために、記述を合成し得る合成ツールによって読み取られ得る。ネットリストは、システム10を含むハードウェアの機能性も表すゲートの組を含む。ネットリストは、次いで、マスクに適用される幾何学形状を記述するデータセットを生成するために、設置され、経路指定され得る。マスクは、次いで、システム10に対応する半導体回路または複数の回路を製造するための様々な半導体製造ステップで使用され得る。あるいは、コンピュータアクセス可能記憶媒体500上のデータベース505は、必要に応じて、ネットリスト(合成ライブラリ有りまたは無し)もしくはデータセット、または、グラフィックデータシステム(GDS)IIデータであり得る。
コンピュータアクセス可能記憶媒体500は、システム10の表現を含むが、他の実施形態では、必要に応じて、IC 2、エージェントの任意の組(例えば、処理コア11、I/Oインタフェース13、ノースブリッジ12など)、または、エージェントの部分を含む、システム10の任意の部分の表現を含み得る。
本発明は、特定の実施形態に関して説明してきたが、実施形態は例示であること、および、発明の範囲はこのように限定されないことが理解されるであろう。説明した実施形態に対する任意の変形、修正、追加および改善が可能である。これらの変形、修正、追加および改善は、以下の特許請求の範囲内で詳述するように、本発明の範囲内に含まれ得る。

Claims (19)

  1. データストローブ信号を受信するように構成されたメモリコントローラを備えるシステムであって、
    前記メモリコントローラは、
    データ入力の前記データストローブ信号と、クロック入力のイネーブル信号とを受信するように結合された第1の記憶回路と、
    前記第1の記憶回路から受信した出力信号に基づき、前記イネーブル信号のアサーションが前記データストローブ信号内のプリアンブル指示と一致するまで、前記イネーブル信号の位相を調整するように構成されたトレーニングユニットと、
    を含むトレーニング回路と、
    前記データストローブ信号を受信するように結合された第1の入力と、前記イネーブル信号を受信するように結合された第2の入力とを有する論理ゲートであって、前記イネーブル信号がアサートされる場合に、前記データストローブ信号を渡すように構成されている論理ゲートと、を備える、
    システム。
  2. 前記イネーブル信号を前記第1の記憶回路の前記クロック入力に提供するように結合された第2の記憶回路であって、前記イネーブル信号を前記論理ゲートの前記第2の入力に提供するように結合された第2の記憶回路をさらに備え、前記第1および第2の記憶回路はフリップフロップである、請求項1に記載のシステム。
  3. 入力クロック信号を受信するように結合された遅延ロックループ(DLL)であって、遅延を前記入力クロック信号に提供することに基づいて、出力クロック信号を生成するように構成されたDLLをさらに備える、請求項2に記載のシステム。
  4. 前記トレーニングユニットは制御レジスタを含み、前記DLLは、前記制御レジスタ内に格納された値に基づいて、遅延量を前記入力クロック信号に提供するように構成されている、請求項3に記載のシステム。
  5. 前記トレーニングユニットは、前記データストローブ信号に対する前記イネーブル信号の前記位相を検出するように構成されており、且つ、前記制御レジスタ内に格納された前記値を更新するように構成されている、請求項4に記載のシステム。
  6. 前記プリアンブルは、前記データストローブ信号内に複数の連続した論理ゼロを含み、前記トレーニングユニットは、前記イネーブル信号が前記プリアンブル内でアサートされるように、前記イネーブル信号の前記位相を調整するように構成されている、請求項1に記載のシステム。
  7. 前記トレーニングユニットは、トレーニング手順の開始に応じて、前記データストローブ信号の立ち上がりエッジがいつ受信されるかを判断するように構成されている、請求項6に記載のシステム。
  8. 前記トレーニングユニットは、前記データストローブ信号の立ち上がりエッジがいつ受信されるかの判断に応じて、
    前記イネーブル信号の立ち上がりエッジが前記プリアンブルの終端と一致するまで、前記イネーブル信号の前記位相を増加するように調整することと、
    調整における増加ごとに、制御レジスタ内に格納された値を更新することと、
    前記イネーブル信号の前記立ち上がりエッジが前記プリアンブルの前記終端といつ一致するかの判断に応じて、前記値から所定量を減算することと、
    を行うように構成されている、
    請求項7に記載のシステム。
  9. データおよび前記データストローブ信号を前記メモリコントローラに伝達するように結合されたメモリをさらに備え、前記メモリコントローラは、前記メモリから受信したデータを、前記データストローブ信号と同期化するように構成されている、請求項1に記載のシステム。
  10. 第1の記憶回路が、データ入力のデータストローブ信号と、クロック入力のイネーブル信号とを受信して、対応する出力信号を生成することと、
    メモリから受信した前記データストローブ信号に対する前記イネーブル信号の位相を、前記イネーブル信号のアサーションが前記データストローブ信号内のプリアンブル指示と一致するまで調整することであって、遅延ロックループ(DLL)の遅延を調整することを含む、ことと、
    前記遅延の指示をレジスタに格納することと、
    を含む方法。
  11. トレーニングユニットが前記プリアンブルを検出することをさらに含み、前記プリアンブルを検出することは、前記データストローブ信号内の複数の連続した論理ゼロを検出することを含む、請求項10に記載の方法。
  12. 前記イネーブル信号が前記プリアンブル内でアサートされるように、前記トレーニングユニットが、前記イネーブル信号の前記位相を調整することをさらに含む、請求項11に記載の方法。
  13. 前記トレーニングユニットが、トレーニング手順の開始に応じて、前記データストローブ信号の第1の立ち上がりエッジを検出することをさらに含む、請求項11に記載の方法。
  14. 前記イネーブル信号が、前記プリアンブルの終端で生じる前記データストローブ信号のエッジと一致するまで、前記トレーニングユニットが、前記イネーブル信号の前記位相を増加させるように調整することをさらに含む、請求項13に記載の方法。
  15. 前記イネーブル信号の前記位相を前記プリアンブルの前記終端と一致するように調整した後に、前記トレーニングユニットが、前記イネーブル信号の前記位相を前記プリアンブルの前記終端から前記プリアンブル内に調整することをさらに含む、請求項14に記載の方法。
  16. 前記イネーブル信号がアサートされる場合に、論理ゲートが、前記データストローブ信号をメモリコントローラ内の受信器に渡すことと、
    前記イネーブル信号がアサートされない場合に、前記論理ゲートが、前記データストローブ信号の前記受信器への引き渡しを抑制することと、をさらに含む、請求項10に記載の方法。
  17. レーニングユニットが、前記出力信号に基づいて、前記データストローブ信号に対する前記イネーブル信号の前記位相を判断することと、
    前記トレーニングユニットが、前記データストローブ信号に対する前記イネーブル信号の前記位相に基づいて、前記DLLの前記遅延を調整することと、
    第2の記憶回路が、クロック信号を前記DLLから受信することと、前記DLLから受信した前記クロック信号と同期して、前記イネーブル信号をアサートすることと、
    をさらに含む、請求項10に記載の方法。
  18. 前記調整中にメモリからの複数の連続読み取りを実行することをさらに含み、前記データストローブ信号は前記調整中に切り換わり続ける、請求項10に記載の方法。
  19. メモリコントローラが、読み取り要求をメモリに提供することと、
    前記メモリが、前記読み取り要求の受信に応じて、前記データストローブ信号を前記メモリコントローラに提供することと、
    前記イネーブル信号を、前記プリアンブル内で生じた時点でアサートすることと、
    をさらに含む、請求項10に記載の方法。
JP2015514160A 2012-05-22 2013-05-22 メモリアクセス遅延トレーニングのための方法および装置 Active JP5819027B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/477,642 US8760946B2 (en) 2012-05-22 2012-05-22 Method and apparatus for memory access delay training
US13/477,642 2012-05-22
PCT/US2013/042281 WO2013177315A1 (en) 2012-05-22 2013-05-22 Method and apparatus for memory access delay training

Publications (2)

Publication Number Publication Date
JP2015520902A JP2015520902A (ja) 2015-07-23
JP5819027B2 true JP5819027B2 (ja) 2015-11-18

Family

ID=48614140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015514160A Active JP5819027B2 (ja) 2012-05-22 2013-05-22 メモリアクセス遅延トレーニングのための方法および装置

Country Status (7)

Country Link
US (1) US8760946B2 (ja)
EP (1) EP2852898B1 (ja)
JP (1) JP5819027B2 (ja)
KR (1) KR101549648B1 (ja)
CN (1) CN104335197B (ja)
IN (1) IN2014DN10277A (ja)
WO (1) WO2013177315A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9824772B2 (en) * 2012-12-26 2017-11-21 Nvidia Corporation Hardware chip select training for memory using read commands
US20140181452A1 (en) * 2012-12-26 2014-06-26 Nvidia Corporation Hardware command training for memory using read commands
US9607714B2 (en) 2012-12-26 2017-03-28 Nvidia Corporation Hardware command training for memory using write leveling mechanism
US9378169B2 (en) 2012-12-31 2016-06-28 Nvidia Corporation Method and system for changing bus direction in memory systems
US9190129B2 (en) * 2013-05-31 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Continuous tuning of preamble release timing in a double data-rate memory device interface
US9478268B2 (en) * 2014-06-12 2016-10-25 Qualcomm Incorporated Distributed clock synchronization
KR20160147517A (ko) 2015-06-15 2016-12-23 에스케이하이닉스 주식회사 반도체시스템
KR102472123B1 (ko) 2016-03-16 2022-11-30 에스케이하이닉스 주식회사 반도체 시스템 및 그의 동작 방법
US10331195B2 (en) * 2016-06-06 2019-06-25 Qualcomm Incorporated Power and performance aware memory-controller voting mechanism
US10103837B2 (en) 2016-06-23 2018-10-16 Advanced Micro Devices, Inc. Asynchronous feedback training
US10749756B2 (en) 2016-06-24 2020-08-18 Advanced Micro Devices, Inc. Channel training using a replica lane
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
US10311236B2 (en) 2016-11-22 2019-06-04 Advanced Micro Devices, Inc. Secure system memory training
KR102649888B1 (ko) 2016-11-29 2024-03-22 에스케이하이닉스 주식회사 트레이닝 장치 및 이를 포함하는 반도체 시스템
KR20180070174A (ko) * 2016-12-16 2018-06-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6890055B2 (ja) * 2017-06-30 2021-06-18 ルネサスエレクトロニクス株式会社 半導体装置
US10545866B1 (en) * 2017-06-30 2020-01-28 Cadence Design Systems, Inc. Method and system for efficient re-determination of a data valid window
KR102273191B1 (ko) 2017-09-08 2021-07-06 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
KR102447499B1 (ko) * 2017-10-19 2022-09-26 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
CN108922570B (zh) * 2018-07-13 2020-11-13 豪威科技(上海)有限公司 读dqs信号的相位偏移检测方法、训练方法、电路及系统
JP2020046918A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 記憶装置及び制御方法
KR20200077077A (ko) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 메모리 시스템, 메모리 시스템의 동작 방법 및 메모리 콘트롤러
US10622982B1 (en) * 2019-01-10 2020-04-14 Western Digital Technologies, Inc. Measurement, calibration and tuning of memory bus duty cycle
CN113450852B (zh) 2020-03-25 2022-04-12 长鑫存储技术有限公司 半导体存储器的训练方法及相关设备
KR20210136203A (ko) 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법
JP2022146543A (ja) * 2021-03-22 2022-10-05 キオクシア株式会社 半導体記憶装置、メモリシステム、および方法
US20230035110A1 (en) * 2021-07-30 2023-02-02 Advanced Micro Devices, Inc. Methods and apparatus for synchronizing data transfers across clock domains using heads-up indications
US20230206986A1 (en) * 2021-12-28 2023-06-29 Micron Technology, Inc. Low power clock injection during idle mode operations
CN116501268B (zh) * 2023-06-28 2024-02-27 牛芯半导体(深圳)有限公司 应用于ddr phy的数据读取方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543910B1 (ko) * 2003-05-30 2006-01-23 주식회사 하이닉스반도체 디지털 지연고정루프 및 그의 제어 방법
US20050050375A1 (en) 2003-08-29 2005-03-03 Mark Novak Memory interface system and method
KR100605588B1 (ko) * 2004-03-05 2006-07-28 주식회사 하이닉스반도체 반도체 기억 소자에서의 지연 고정 루프 및 그의 클럭록킹 방법
US7543172B2 (en) 2004-12-21 2009-06-02 Rambus Inc. Strobe masking in a signaling system having multiple clock domains
US7457175B1 (en) 2006-10-23 2008-11-25 3Par, Inc. Dual data rate memory strobe checker
WO2008079910A2 (en) 2006-12-20 2008-07-03 Rambus Inc. Strobe acquisition and tracking
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
US7924637B2 (en) 2008-03-31 2011-04-12 Advanced Micro Devices, Inc. Method for training dynamic random access memory (DRAM) controller timing delays
KR101040242B1 (ko) * 2008-10-13 2011-06-09 주식회사 하이닉스반도체 데이터 스트로브 신호 생성장치 및 이를 이용하는 반도체 메모리 장치
US8385144B2 (en) 2011-02-25 2013-02-26 Lsi Corporation Utilizing two algorithms to determine a delay value for training DDR3 memory
JP5733126B2 (ja) * 2011-09-15 2015-06-10 富士通セミコンダクター株式会社 メモリインタフェース回路及びタイミング調整方法

Also Published As

Publication number Publication date
CN104335197B (zh) 2017-04-19
KR101549648B1 (ko) 2015-09-03
KR20140147898A (ko) 2014-12-30
EP2852898A1 (en) 2015-04-01
EP2852898B1 (en) 2017-08-02
WO2013177315A1 (en) 2013-11-28
IN2014DN10277A (ja) 2015-08-07
US8760946B2 (en) 2014-06-24
CN104335197A (zh) 2015-02-04
JP2015520902A (ja) 2015-07-23
US20130315014A1 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
JP5819027B2 (ja) メモリアクセス遅延トレーニングのための方法および装置
US8880831B2 (en) Method and apparatus to reduce memory read latency
US9430027B2 (en) Power-management for integrated circuits
EP3105761B1 (en) Memory physical layer interface logic for generating dynamic random access memory (dram) commands with programmable delays
US20120284576A1 (en) Hardware stimulus engine for memory receive and transmit signals
US20130064025A1 (en) Dynamic data strobe detection
US20220350390A1 (en) Optimizing power in a memory device
US20110040902A1 (en) Compensation engine for training double data rate delays
US8422319B2 (en) System and method for gate training in a memory system
JP2009163758A (ja) クロックの異なるバス間におけるデータ転送
US6898682B2 (en) Automatic READ latency calculation without software intervention for a source-synchronous interface
JP7299890B2 (ja) ポインタオフセットを用いた非同期バッファ
US9672882B1 (en) Conditional reference voltage calibration of a memory system in data transmisson
US9183125B2 (en) DDR receiver enable cycle training
US20230112432A1 (en) Dynamic setup and hold times adjustment for memories
US8786332B1 (en) Reset extender for divided clock domains
JP2023536056A (ja) メモリキャリブレーションシステム及び方法
US9170768B2 (en) Managing fast to slow links in a bus fabric
WO2023064729A1 (en) Dynamic setup and hold times adjustment for memories
JP2011150533A (ja) 集積回路

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150929

R150 Certificate of patent or registration of utility model

Ref document number: 5819027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250