JP6327762B2 - 集積回路装置およびシステム - Google Patents

集積回路装置およびシステム Download PDF

Info

Publication number
JP6327762B2
JP6327762B2 JP2017011263A JP2017011263A JP6327762B2 JP 6327762 B2 JP6327762 B2 JP 6327762B2 JP 2017011263 A JP2017011263 A JP 2017011263A JP 2017011263 A JP2017011263 A JP 2017011263A JP 6327762 B2 JP6327762 B2 JP 6327762B2
Authority
JP
Japan
Prior art keywords
read
bit pattern
data
memory module
bus interface
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
JP2017011263A
Other languages
English (en)
Other versions
JP2017107584A (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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2017107584A publication Critical patent/JP2017107584A/ja
Application granted granted Critical
Publication of JP6327762B2 publication Critical patent/JP6327762B2/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
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Error Detection And Correction (AREA)

Description

本明細書において記載される複数の実施形態は、概して、メモリコントローラが、チャネル及びメモリコントローラに連結される複数のスロットと互換性のあるピンレイアウトを有する複数のメモリモジュールと、単一のチャネル又はバス上で通信するメモリシステムに関する。
メモリコントローラは、インターフェース又はバス上の、プロセッサと1又は複数のメモリモジュールとの間におけるデータのフローを管理する。メモリコントローラは、メモリモジュールへのリード及びライト、及び、DRAMに格納されたデータのリフレッシュに必要とされるロジックを含み、別個のチップとして実装される。メモリコントローラは、チャネルに連結される複数のメモリモジュールによって用いられる、Joint Electron Device Engineering Council(JEDEC)Double Data Rate Third Generation(DDR3)Synchronous Dynamic Random Access Memory(SDRAM)プロトコルなどのプロトコルをサポートする。
メモリへのインターフェースを用いる前に、メモリコントローラは、複数のメモリモジュールからリードデータをサンプリングすべくメモリコントローラがアクティブ化するタイミングを調整することによって、複数の動作について複数のメモリモジュールを設定しなくてはならない。位相補間器などの信号調整装置は、メモリコントローラによって制御されてクロック位相情報を生成し、かつ、異なる決定された位相を有する複数の基準信号及び複数の位相制御信号に応答してデータサンプリング信号を調整し、リードデータが送信される中心か又はデータアイにおいて、リードデータの中心をサンプリングする。
複数の添付の図面を参照して、複数の実施形態が例として説明される。図面は縮尺通りではなく、同様の参照番号は同様の要素を指す。
メモリシステムを有するシステムの実施形態を示す。 メモリモジュールの実施形態を示す。 メモリコントローラとメモリモジュールとの間のバスインターフェースの実施形態を示す。 サンプル信号を生成すべく位相補間器を調節するよう細かいリードトレーニングを実行するための複数の動作の実施形態である。 リードデータが受信されるリードオフセットを決定するよう粗いリードトレーニングを実行するための複数の動作の実施形態を示す。 複数の通常リード動作中に位相補間器のトレーニングを実行するための複数の動作の実施形態を示す。
メモリインターフェース上で、メモリモジュールはデータ信号と共に複数のストローブ信号をメモリコントローラに送信する。ここで、メモリコントローラはそれらのストローブ信号を処理して、いつ複数の受信機をオンにし、データをリードするべきかを決定する。次にメモリコントローラは他の複数の手順を用いて、位相補間器を用いるなどして、リードするためにどこでリードデータをサンプリングすべきかを決定する。
複数の記載される実施形態は、複数の通常リード動作中に位相補間器を調節すべく、細かいリードトレーニング、続いて粗いリードトレーニング、及びその次に高度なリードトレーニングを実行するための複数の技術を提供する。複数の記載される実施形態は、位相補間器を調節すべく、メモリコントローラによって用いられる複数の信号を戻すよう、メモリモジュールに側波帯信号レーンを提供する。さらに、メモリコントローラは、データ及びコマンドのバスラインとは別個のバス上の側波帯レーンを介してメモリモジュールがメモリコントローラのために戻す複数のメモリモジュール信号パターンを提供し、これを用いて、いつ複数の受信機をオンにし、戻されたリードデータをサンプリングすべきかのリードオフセットタイミングを決定する。
以下の説明では、本発明のより完全な理解を提供すべく、ロジック実装、演算コード、オペランドを指定する手段、リソースパーティショニング/共有/重複の実装、システムコンポーネントのタイプ及び相互関係、及び、ロジックパーティショニング/統合の選択などの多数の具体的な詳細が記載される。しかしながら、当業者ならば、そのような具体的な詳細なしに本発明は実施され得ることを理解するであろう。他の複数の例において、制御構造、ゲートレベルの回路、及び完全なソフトウェア命令シーケンスは、本発明を不明瞭にさせないように、詳細には示されていない。当業者であれば、含まれた説明を読むことで、過度に実験をすることなく、適切な機能を実装可能であろう。
明細書における、「一実施形態」、「実施形態」、「例示的な実施形態」等への言及は、説明される実施形態は特定の特徴、構造、又は特性を含み得るが、全ての実施形態が必ずしも、その特定の特徴、構造、又は特性を含まなくてもよいことを示す。さらに、そのような表現は、必ずしも同一の実施形態を指すわけではない。
以下の説明及び特許請求の範囲において、「連結」及び「接続」という用語、並びにこれらの派生語が用いられ得る。これらの用語は互いに同義であると意図されてはいないことが理解されるべきである。「連結」は、互いに直接物理的に又は電気的に接触していても、していなくてもよい2又は2より多い要素が、互いに協同又は相互作用することを示すために使用される。
「接続」は、互いに連結される2又は2より多い要素の間での通信の確立を示すために使用される。複数の特定の実施形態は、複数のメモリデバイスの複数の電子アセンブリに関する。複数の実施形態は、複数の電子アセンブリを形成するための複数のデバイス及び複数の方法の両方を含む。
図1は、通常マザーボード上に搭載される1又は複数のプロセッサ102と、メモリコントローラ104と、複数のメモリモジュール200a、200bとを含むコンピューティングシステム100の実施形態を示す。プロセッサ102は、中央処理装置、マルチコアプロセッサを備え得る。メモリコントローラ104は、プロセッサ102からの複数のメモリアクセスリクエストに応答して、チャネル、バスインターフェース等とも称されるバス108を介して複数のメモリモジュール200a、200bと通信する。ここで、メモリモジュール200a、200bの両方は、同一のバス108に別々に且つ独立して接続される。メモリコントローラ104は、複数の動作を実行すべく実行されるコード又はロジックと、複数の入力タイミング信号を受信し、かつ受信されたリードデータ信号のデータアイと揃えられる補間サンプリング信号を生成するための位相補間器112と、粗いリードトレーニングフェーズ及び高度なリードトレーニングフェーズにおいて用いられるランダムな複数のリード識別子を生成するためのリニアフィードバックシフトレジスタ(LFSR)114と、複数のトレーニング動作中に用いられる複数の値を格納するためのトレーニングレジスタ116とを備えるコントローラロジック110を含み得る。
図1の実施形態において、メモリモジュール200a、200bはシステム100のマザーボード上の複数のスロット又は複数のメモリソケットに搭載される。メモリモジュール200a、200bは、マザーボード上の複数のメモリスロットにおけるピン配置と互換性のあるピン配置を有する、同一又は異なる複数のタイプのメモリモジュールを含み得る。さらに、それらのメモリモジュールは、Double Data Rate Fourth Generation(DDR4)プロトコル及び追加の複数のプロトコルなどの、同一又は異なる複数のメモリプロトコルをサポートし得る。2つのメモリモジュール200a、200bのみが示されるが、複数のメモリモジュールが存在してよい。
メモリモジュール200a、200bのそれぞれは、メモリモジュール200a、200bの片面又は両面においてメモリチップ202a、204a、206a、208a及び202b、204b、206b、208bをそれぞれ含み、データを格納する。メモリモジュールパッケージ200a、200bの片面又は両面において配置されるそれらのメモリチップ、例えば、複数のDRAMチップは、プロセッサ102によって用いられているデータを格納する複数の記憶素子を備える。
各メモリモジュール200a、200bは、メモリコントローラ104と共に、メモリの管理及び複数のアクセス動作を調整すべく、メモリモジュールコントローラ210a、210bを含み得る。メモリコントローラ104は、バス108に接続されるメモリモジュール200a、200bに関して、複数のリードトレーニング動作、リード動作及びライト動作、並びにメモリ管理動作を管理し、且つ、プロセッサ102をメモリモジュール200a、200bにインターフェースで接続する、ロジック110などのロジックを含む。メモリコントローラ104及び/又はメモリモジュール200a、200bは、プロセッサ102と統合され得るか、又は、図1において示されるように、システム100のマザーボード上にプロセッサ102とは別個のロジックにおいて実装され得る。
システム100のマザーボードは、異なる複数のタイプのメモリチップと互換性のあるメモリソケットを含んでよい。それにより、異なる複数のタイプのメモリモジュール200a、200bが、メモリソケットにおけるピンアーキテクチャと互換性がある限り、異なる複数のタイプのメモリモジュール200a、200bが、複数の異なるメモリプロトコルをサポートする異なる複数のタイプのメモリデバイスをサポートすることを可能にする。
一実施形態において、メモリモジュール200a、200bは、LPDDR、デュアルインラインメモリモジュール(DIMM)、例えば、バッファ無しDIMM(UDIMM)、Load Reduced Dual−inline Memory Module(LRDIMM)、Small Outline Dual In−line Memory Module(SODIMM)等、の同一又は異なるタイプのダブルデータレートシンクロナスダイナミックランダムアクセスメモリ(DDR SDRAM)メモリモジュールを含み得る。メモリモジュール200a、200bは、NAND(フラッシュ)メモリ、強誘電体ランダムアクセスメモリ(FeTRAM)、ナノワイヤベースの不揮発性メモリ、相変化メモリ(PCM)などの3次元(3D)クロスポイントメモリ、メモリスタ技術を組み込むメモリ、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントランスファートルク(STT)−MRAM等を含む様々な形態のメモリを実装し得るが、それらに限定されない。
図2は、複数のメモリモジュール動作、及びメモリコントローラ104との相互作用を実行するメモリモジュールコントローラ210を含むものとして、メモリモジュール200a、200bなどのメモリモジュール200の実施形態のさらなる詳細が提供される。メモリモジュール200は、モードレジスタセット(MRS)コマンドを用いて設定され得る、データを有するメモリモジュールコントローラ210中のモードレジスタ212と、メモリチップ202、204、206、208のための、リードデータ及びライトデータをバッファリングするためのリードバッファ214及びライトバッファ216とを含み得る。バッファ214、216は、メモリモジュールコントローラ210内において実装されるか、又は、メモリモジュール200において、メモリモジュールコントローラ210の外部の回路において実装され得る。さらなる複数の実施形態において、モードレジスタ212はメモリチップ202、204、206、208において実装され得る。
メモリモジュールコントローラ210及びメモリコントローラ104の動作を実装するコード又はロジックは、メモリの中にロードされ、且つプロセッサによって実行されるコンピュータ可読コードとして実装され得るか、又は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等においてなど、ハードウェアロジックにおいてエンコードされ得る。
記載される複数の実施形態のロジック又はコードは、複数の機械実行可能命令を格納するための電気的ハードウェア及び他のハードウェアの複数の要素を有するデバイス又は装置を含む機械可読記憶媒体において実装され得る。機械可読媒体は、フラッシュメモリ、光ディスク、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタルバーサタイル/ビデオディスク(DVD)ROM、ランダムアクセスメモリ(RAM)、消去可能プログラム可能リードオンリメモリ(EPROM)、電気的消去可能プログラム可能リードオンリメモリ(EEPROM)、磁気カード又は光カード、及び、複数の電子命令を格納するのに好適な他の機械可読媒体を含み得るが、それらに限定されない。
複数の代替的な実装において、記載される複数の実施形態のロジック又はコードは、信号伝送媒体において実装され得る。
図3は、メモリコントローラ104とメモリモジュール200との間の複数のバスインターフェースライン108の実施形態を示す。複数のバスインターフェースライン108は、複数の側波帯ラインを有する側波帯レーン300と、メモリコントローラ104がメモリモジュール200に複数のコマンドを通信するコマンド及び制御信号ライン302と、メモリモジュール200がコマンド/制御ライン302上でアドレス信号及び制御信号をサンプリングするために用いる、メモリコントローラ104からメモリモジュール200への差動クロック入力信号(DCLK)304と、リードデータ及びライトデータがメモリコントローラ104とメモリモジュール200との間で送信されるデータライン306とを含む。追加の複数のバスラインが他の複数の目的のために含まれてよい。
側波帯レーン300は、メモリコントローラ104がトレーニング及び他の複数の目的のために用いることが可能であり、メモリコントローラ104からの複数の制御信号に応答した追加の情報を送信するための1又は複数の信号ラインを有する。例えば、メモリコントローラ104は、リード受信肯定応答を受信することに応答して、メモリモジュール200にグラントメッセージを送信し得る。このことは、メモリモジュール200に、データを送信する前に、側波帯レーン300上でリード識別子(ID)信号を送信させ得る。メモリモジュール200は、側波帯レーン300を用いて、メモリコントローラ104がリードリクエストと共に前に送信したリードIDを通信し、それに応答して、メモリモジュール200は、処理、例えば、フィルタリング、解釈等、を施すことなく、側波帯レーン300上でリードIDをループバックし得る。さらに、特定の複数の実施形態において、側波帯レーン300はメモリモジュール200上に複数のクロック信号対を備え得る。
一実施形態において、メモリコントローラ104にリードIDを送信して戻す側波帯レーン300は、クロック周波数ではなく、コマンドの周波数で複数の信号を送信する。一実施形態において、側波帯レーン300は、クロックを送信し、且つ、クロック入力信号(DCLK)304の周期の2倍であるクロックパターンを送信するよう意図され得る。メモリモジュール200は、リードデータを送信する前に、複数の信号及び受信されたリードIDを制御信号の一部として側波帯レーン300上で送信し得る。これらのリードID信号は、グラント信号などの制御信号に対する特定のタイミング関係でデータバーストを送信し得る。このタイミング関係は、メモリモジュールの複数の遅延及びチャネルに依存して、ある範囲内で変化し得る。特定の複数の実施形態においては、メモリモジュール200はデータバーストと共にストローブを送信しなくてよい。それにより、メモリコントローラ104は細かいリードトレーニングを実行し、リードID信号の複数のサンプリング遅延をトレーニングしてリードIDのシグナリングアイの中心に揃え、低いビットエラーレートを実現する。リードIDの複数の信号は、データバスの周波数の1/2で送信され得るが、これらの速さは最大1600MTpsにまで更に上げることが可能である。
図4は、メモリコントローラロジック110がメモリモジュール200と連携して位相補間器112の細かいリードトレーニングを実行し、データアイに調整される補間された複数のサンプル信号を提供できるようにする、メモリコントローラロジック110及びメモリモジュールコントローラ202のロジックによって実行される複数の動作の実施形態を示す。細かいリードトレーニングは、システム100のブート中、バス108のプロービング中に開始され得る。細かいリードトレーニングを開始すべく、メモリコントローラロジック110は(ブロック400において)コマンドを送信して、細かいリードトレーニングモードを開始するよう、メモリモジュール200中の複数のモードレジスタ212にプログラムする。細かいリードトレーニングモードを示すべく複数のモードレジスタ212がライトされたことに応答して、側波帯レーン300上でメモリモジュールコントローラ210は(ブロック404及び406において)、側波帯レーン300の第1の信号ライン上で第1のパターンを、及び第1の信号ラインとは異なる第2の信号ライン上で第2のパターンを送信する。第1及び第2のパターンは、1010及び0101などの反対の値を有する複数のクロック信号を備え得る。特定の複数の実施形態において、それらのクロックパターンはDCLK304のクロック信号の周期の2倍の周期を有し得て、クロック周波数304ではなく、コマンド/制御信号ライン302における周波数を有し得る。側波帯レーン300の別個の信号ライン上の1010及び0101などのそれらの信号は、位相がずれていてよいし、又は同相であってもよい。さらに、ブロック404及び406における送信されたそれらのパターンは、側波帯レーン300の別個のライン上で連続モードで送信され得る。
第1及び第2のパターンの複数のビットを送信した後、(ブロック408において)複数のモードレジスタ212が細かいリードトレーニングモードを示し続ける場合、制御はブロック404に戻って、反対の値を有する複数のパターンを送信することを続ける。(ブロック408において)細かいモードのトレーニングが終了した場合、粗いリードトレーニングフェーズが(ブロック410において)開始し得る。
メモリコントローラロジック110が(ブロック412において)送信されたビットパターンを受信すると、(ブロック414において)受信されたビットが複数のトレーニングレジスタ116に格納されるビット値の反対の値、0に対して1、1に対して0、でない場合、(ブロック416において)その受信されたビットが複数のトレーニングレジスタ116に格納される。(ブロック414において)受信されたビット値が格納されたビット値の反対である場合、(ブロック418において)その反対の値のビット(又はパターン)が受信されたタイミングの決定が成される。次に、(ブロック420において)メモリコントローラロジック110は、タイミングを変更して、一致が見つけられなくなるまで、決定されたタイミングから外側に両方向にリードする、すなわちスイープすることによって、決定されたタイミングから両端部を決定する。そのポイントにおいて、データアイの両端部は、反対のビットパターンが受信された、決定されたタイミングからの各方向において決定される。次に、(ブロック422において)データアイは両端部のタイミングの間のタイミングにあると決定される。一実施形態において、データアイの両端部は、位相補間器112の複数のタイミングを変更して、決定されたデータアイから外側に各方向にスイープし、一致がないポイントを見つけることによって決定される。
これらのタイミング信号に基づいて、(ブロック424において)、決定されたデータアイにおいてデータをサンプリングするために使用される複数の補間信号を生成する位相補間器112を制御するための設定の決定が成される。両端部の間のデータアイにおけるサンプリングのための複数の補間信号を生成すべく位相補間器112をトレーニングした後、(ブロック426において)メモリコントローラロジック110は、細かいリードトレーニングモードを停止して、メモリモジュールコントローラが側波帯レーン300上で反対の複数のビットパターンを送信し続けることを停止させるよう、メモリモジュール220のモードレジスタ212にライトする。
特定の複数の実施形態において、1及び0のサンプルとその逆と間の複数の遷移の検出は、データアイを備え得る、リードデータを有するタイミング、両端部、又は両端部の間のリードデータを示す。これらのトレーニング動作は、信号毎に偶数/奇数を取り込むために4つのトレーニング結果のビットを必要とし得る。2つのビットは偶数又は奇数を取り込む場合のみに用いられ得る。位相補間器112は、データアイの複数のマージンの中央においてデータをリードすべく補間されたサンプルを生成するよう構成される。
上述された実施形態において、パターンのビットが比較されて、データアイの両端部のためのスイープを開始すべき決定されたタイミングを決定する。代替の実施形態において、メモリコントローラ110は単なるビットを比較するのではなく、代わりにパターン全体(例えば、0101、1010)を比較し得る。そうして、データアイはブロック414及び418において、単なる単一のビットではなく、格納されたパターンの反対のパターンが検出されるタイミングで決定される。さらに、パターン全体が比較されるそのような複数の実施形態においては、単なる単一のビットではなくパターン全体が、ブロック416において複数のトレーニングレジスタ116に格納されるだろう。
図5は、メモリコントローラロジック110がメモリモジュール200と連携してメモリコントローラ104の粗いリードトレーニングを実行し、リードデータを取り出すべくグラント信号が送信されるのに続いてメモリコントローラ104がデータをリードすべくアクティブ化する前に待機すべきオフセット又はタイミングを決定できるようにするよう、メモリコントローラロジック110及びメモリモジュールコントローラ202のロジックによって実行される複数の動作の実施形態を示す。(ブロック500において)粗いリードトレーニングを開始すると、(ブロック502において)メモリコントローラロジック110はLFSR114を用いてランダムなリードIDを生成する。生成されたリードIDは、(ブロック504において)複数のトレーニングレジスタ116にバッファリングされる。メモリコントローラロジック110は、(ブロック506において)生成されたリードIDと共にリードコマンドをメモリモジュール200に送信する。メモリモジュールコントローラ210が(ブロック508において)粗いリードトレーニングモードで動作している間、(ブロック510において)リードコマンド及びリードIDを受信すると、(ブロック512において)メモリモジュールコントローラ210はリードコマンドを実行する。
(ブロック506において)リードIDと共にリードコマンドを送信した後、(ブロック514において)メモリコントローラロジック110はバスインターフェース108を介してメモリモジュール200にグラント信号を送信する。(ブロック516において)グラント信号を受信すると、(ブロック518において)リクエストされたデータがデータバス306上で戻され、(ブロック520において)受信されたリードIDが側波帯レーン300上で戻される。リードID信号はバーストモードで戻される。特定の複数の実施形態においては、リードデータの前にまずリードIDが側波帯リードID信号300上で戻される。このように、メモリモジュールコントローラ200はデータをフィルタリングも解釈もすることなく、メモリコントローラ104にリードIDをループバックする。特定の複数の実施形態において、メモリコントローラロジック110は、リードコマンドに対するメモリモジュール200からの肯定応答(ACK)を待機することなくグラント信号を提供し得る。
(ブロック522において)メモリコントローラ104が側波帯レーン300上でリードIDを受信すると、(ブロック524において)メモリコントローラロジック110は受信されたリードIDが、複数のトレーニングレジスタ116に格納される送信されたリードIDと一致するかどうかを決定する。(ブロック524のいいえの分岐から)一致がない場合、(ブロック526において)メモリコントローラロジック110はサイクル遅延設定を、グラントが送信されたときからリードIDが受信されるときまでのサイクル数になるように変更する。複数のサイクル遅延設定は、いつメモリコントローラロジック110がデータをリードしようと試みるかの粗いタイミング設定であり、ブロック526においてこの粗いサイクル遅延タイミング又はサイクルレベル時間は、タイミングが、リードIDが受信されるときか、又は、グラントが設定されるときからの往復レイテンシ設定に一致するまで調整される。制御はブロック526からブロック502に戻り、一致があるまで、粗いリードトレーニングのためのランダムな複数のリードIDを継続して生成する。(ブロック528において)送信されたリードIDと受信されたリードIDとが一致する場合、(ブロック526において)メモリコントローラロジック110は、グラント信号の送信から、受信されるリードIDと一致するときまでの時間の差分としてリードオフセットを決定する。リードオフセットを決定した後、(ブロック530において)粗いリードトレーニングを終了すべく、メモリコントローラロジック110はメモリモジュール200にモードレジスタコマンドを送信し得る。メモリモジュールコントローラ200は、コマンドを受信すると(ブロック540において)複数のモードレジスタ212にプログラムし、(ブロック542において)粗いリードトレーニングを終了する。
細かいリードトレーニングは、リードデータが送信されるとき、データアイ内でリードするよう、補間されたサンプル信号を生成する位相補間器112を制御するための複数の設定を生成し、粗いリードトレーニング段階により得られるものは、グラント信号が設定された後、いつリードデータの受信を開始すべきかを決定するために使用されるリードオフセットである。細かいリードトレーニング及び粗いリードトレーニングの後、決定された、位相補間器112の複数の設定及びリードオフセットを用いて、複数の通常リード動作が開始し得る。
図6は、複数の通常リード動作中に高度なリードトレーニングを実行して、リードデータ信号をサンプリングするために使用されるサンプル信号を生成するために使用される位相補間器112の複数の設定をさらに改善すべく、メモリコントローラロジック110及びメモリモジュールコントローラ202のロジックによって実行される複数の動作の実施形態を示す。決定された、位相補間器の複数の設定及びリードオフセットを用いて通常リード/ライト動作中に(ブロック600において)高度なトレーニングを開始すると、メモリコントローラロジック110は図5のブロック502−514における動作を(ブロック602において)実行してリードコマンドと共にリードID信号を生成し送信する。(ブロック604において)通常リード/ライト動作中に高度なトレーニングモードにある間、メモリモジュールコントローラ210は、図5のブロック510、512、516、518における動作を(ブロック606において)実行して、受信されたリードコマンドを処理し、側波帯レーン300上でリードIDを戻す。
(ブロック608において)メモリコントローラ104が側波帯レーン300上でリードIDを受信すると、(ブロック610において)受信されたリードIDが、複数のトレーニングレジスタ116に格納される送信されたリードIDと一致する場合、(ブロック612において)リードIDがリードされたタイミングが決定される。次に(ブロック614において)メモリコントローラロジック110は、ブロック418から426における動作を実行して、決定されたリードIDタイミングから両端部を、決定された両端部からデータアイを、及び、決定されたデータアイにおいてデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定する。ランダムに生成された複数のリードIDを用いて位相補間器112を調節するためのこれらの動作は継続的に実行されて、細かいリードトレーニング中に用いられる複数の反対パターンの反復とは対照的に、データアイの複数のマージンを決定し、ランダムに生成された複数のリードIDの形で、よりアグレッシブかつ現実的な複数のパターンと位相補間器112の複数の設定の中心を再度合わせる。
(ブロック610のいいえの分岐から)一致がない場合、(ブロック616において)メモリコントローラロジック110はサイクル遅延設定を、グラントが送信されたときからリードIDが受信されるときまでのサイクル数になるように変更する。複数のサイクル遅延設定は、いつメモリコントローラロジック110がデータをリードしようと試みるかの粗いタイミング設定であり、ブロック616においてこの粗いサイクル遅延タイミング又はサイクルレベル時間は、タイミングが、リードIDが受信されるときか、又は、グラントが設定されるときからの往復レイテンシ設定に一致するまで調整される。制御はブロック616からブロック602に戻り、一致があるまで、高度な細かいグレイン(grain)のトレーニングのためのランダムな複数のリードIDを継続して生成する。
記載される複数の実施形態は、リードIDライン300上の複数の側波帯リードID信号のトレーニングが、バス100上で低いビットエラーレートを実現すること可能にする。記載されるリードトレーニングは、簡単なパターンでアイ中心のサンプリングを実現するという点で効率のよいものである。記載される複数の実施形態は、最悪の場合の複数のマージンを決定すべく、リードIDバス300上に複数の高ストレス(high stress)なパターンをさらに生成し得る。
本明細書全体を通して、「一実施形態」又は「実施形態」への言及は、その実施形態に関連して説明される特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味することが理解されるべきである。したがって、本明細書の様々な部分における「実施形態」又は「一実施形態」又は「代替の実施形態」への2回又はそれより多くの言及は、必ずしもすべてが同一の実施形態を指すものではないことが強調され、理解されるべきである。さらに、特定の複数の特徴、複数の構造、又は複数の特性は本発明の1又は複数の実施形態において好適に組み合わせられ得る。
同様に、本発明の複数の実施形態の上記説明において、発明の様々な態様のうち1又は複数のものへの理解を助ける本開示を簡素化する目的で、様々な特徴は、場合によっては単一の実施形態、図、又はそれらの説明に一緒にグループ化されることが理解されるべきである。しかしながら、この開示方法は、特許請求の範囲の主題が、各請求項において明確に記述されるものより多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の複数の態様は、上記開示された単一の実施形態のすべての特徴より少ないところにある。したがって、詳細な説明に続く特許請求の範囲は、ここでこの詳細な説明に明示的に組み込まれる。
メモリコントローラ104及びメモリモジュール200の記載された複数の動作は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを作り出すための標準的なプログラミング技術及び/又はエンジニアリング技術を用いる方法、装置、コンピュータ可読記憶媒体として実装され得る。記載された複数の動作は、「コンピュータ可読記憶媒体」に保持されるコード又はロジックとして実装され得る。コンピュータ可読記憶媒体は複数の機能を直接的に実行するか、又はコンピュータ可読記憶媒体からのコードをプロセッサが読み出し且つ実行し得る。コンピュータ可読記憶媒体は、電子回路、記憶材料、無機材料、有機材料、生物材料、ケーシング、筐体、コーティング、及びハードウェアのうちの少なくとも1つを含む。コンピュータ可読記憶媒体は、磁気記憶媒体(例えば、ハードディスクドライブ、フロッピー(登録商標)ディスク、テープ等)、光記憶装置(CD−ROM、DVD,光ディスク等),揮発性及び不揮発性のメモリデバイス(例えば、EEPROM、ROM、PROM,RAM,DRAM、SRAM,フラッシュメモリ、ファームウェア、プログラマブルロジック等)、ソリッドステートデバイス(SSD)等を備え得るが、それらに限定されない。コンピュータ可読記憶媒体は、ハードウェア装置(例えば、集積回路チップ、プログラマブルロジック装置、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等)に実装されるデジタルロジックをさらに備え得る。さらに、記載された複数の動作を実行するコードは、複数の「送信信号」において実装され得て、複数の送信信号は、空間中、又は例えば光ファイバ、銅線等の送信メディア中を伝播し得る。コード又はロジックがエンコードされる複数の送信信号は、無線信号、衛星送信、無線波、赤外線信号、Bluetooth(登録商標)等をさらに備え得る。コンピュータ可読記憶媒体に埋め込まれるプログラムコードは、送信側の局又はコンピュータから受信側の局又はコンピュータへと複数の送信信号として送信され得る。コンピュータ可読記憶媒体は複数の送信信号のみからなるものではない。当業者ならば、本発明の範囲から逸脱することなく本構成に対して多数の変更が成され得て、製造物品は、当技術分野において既知の好適な情報担持媒体を備え得ることを認識するであろう。
[例]
以下の複数の例はさらなる複数の実施形態に関する。
例1は、バスを介して少なくとも1つのメモリモジュールに連結される装置であり、当該装置は、少なくとも1つのメモリモジュールへのバスインターフェースと、動作するとき複数の動作を実行するメモリコントローラロジックとを備え、当該複数の動作は、メモリモジュールがバスインターフェースの側波帯レーン上で、連続する複数のビットパターンを送信するトレーニングモードを開始するようメモリモジュールにプログラムすることと、バスインターフェースを介して当該複数のビットパターンを受信することと、受信された複数のビットパターンからビットパターンにおける複数の値の遷移を決定して、複数の値の決定された複数の遷移の間でデータアイを決定することと、決定されたデータアイ内でデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定することを備える。
例2において、例1の主題は、複数の動作が、トレーニングモードを終了するようメモリモジュールにプログラムすることと、データアイ、及び位相補間器を制御するための設定を決定することに応答して複数のビットパターンを送信することとをさらに備えることを任意に含み得る。
例3において、例1の主題は、受信された複数のクロックビットパターンから遷移を決定することが、レジスタにビットパターンからのリードされた値を格納することと、次のビットパターンの送信からの次にリードされた値が、レジスタ中のリードされた値と一致するかどうかを決定することとを備え、データアイはレジスタに格納される複数の値と一致する2つのリードされた値の端部の間で決定されることを任意に含み得る。
例4において、例1の主題は、複数のビットパターンが、複数のリード識別子信号のために用いられるバスインターフェースの側波帯レーン上に第1の連続するビットパターンを、及び、側波帯レーン上に第2の連続するビットパターンを含み、第1及び第2の連続するビットパターンは反対の値を有することを任意に含み得る。
例5において、例4の主題は、第1の連続するビットパターンは第1のリード識別子信号ライン上で送信され、連続する1010パターンを備え、第2の連続するパターンは第2のリード識別子信号ライン上で送信され、連続する0101パターンを備えることを任意に含み得る。
例6において、例5の主題は、第1及び第2の連続するパターンがクロック間隔毎に0と1との間で交互に変化して、バスインターフェース上のクロック間隔の周期の2倍の周期を有するクロックパターンを作成することを任意に含み得る。
例7において、例1の主題は、バスインターフェースが、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、複数のビットパターンは、クロック周波数より小さいコマンド周波数で複数のリード識別子信号ライン上で送信されることを任意に含み得る。
例8において、例1の主題は、複数の動作が、位相補間器を制御するための設定を決定することに応答して、リード識別子と共にリードコマンドをメモリモジュールに送信することと、戻されたリード識別子を含む、メモリモジュールからのリードデータを受信することと、戻されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致すると決定することに応答してリードオフセットを決定することとをさらに備え、リードオフセットは、位相補間器のための決定された設定を用いてデータアイにおいてリードデータをサンプリングすることをいつ開始すべきかを決定するために使用されることを任意に含み得る。
例9はバスを介して少なくとも1つのメモリモジュールに連結される装置であって、当該装置は、少なくとも1つのメモリモジュールへのバスインターフェースと、動作するとき粗いリードトレーニングの複数の動作を実行するメモリコントローラロジックとを備え、当該複数の動作は、メモリモジュールにリードコマンド及びリード識別子を送信することと、バスインターフェースを介してメモリモジュールからリードデータ及び受信されたリード識別子を受信することと、メモリモジュールからの受信されたリード識別子がリードコマンドと共に送信されたリード識別子を含むと決定することに応答してリードオフセットを決定することを備え、リードオフセットは、受信されたリードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定するために使用される。
例10において、例9の主題は、当該複数の動作が、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致しないと決定することに応答して、メモリモジュールからの受信されたリードデータが、生成された新たなリード識別子を含むことに応答してリードオフセットが決定されるまで、新たなリード識別子を生成して、メモリモジュールに送信される新たなリードコマンドに含めるイタレーションを少なくとも1回実行することをさらに備えることを任意に含み得る。
例11において、例10の主題は、複数のランダムなリード識別子の値を提供すべく、リード識別子及び複数の新たなリード識別子を生成するために使用されるリニアフィードバックシフトレジスタ(LFSR)を任意に含み得る。
例12において、例9の主題は、粗いリードトレーニングが、受信されたリード識別子がリードコマンドと共に送信されたリード識別子を含むことに応答して終了されることを任意に含み得る。
例13において、例9の主題は、リードコマンドに応答してリードデータを戻すとき、リード識別子は、メモリモジュールにリード識別子をループバックさせることを任意に含み得る。
例14において、例9の主題は、リード識別子が側波帯レーン上でメモリモジュールから送信されることを任意に含み得る。
例15において、例8の主題は、バスインターフェースが、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、メモリモジュールは複数のリード識別子信号ライン上でリード識別子を戻すことを任意に含み得る。
例16において、例15の主題は、リード識別子が、メモリモジュールから複数のクロック信号上で戻されることを任意に含み得る。
例17において、例9の主題は、複数の動作が、リードコマンドの送信に続いて、メモリモジュールにグラント信号を送信することをさらに備え、メモリモジュールはグラント信号に応答してリード識別子信号を送信し、リードオフセットはグラント信号が送信された後からのデータが到達する時間の長さであることを任意に含み得る。
例18はバスを介して少なくとも1つのメモリモジュールに連結される装置であって、当該装置は、少なくとも1つのメモリモジュールへのバスインターフェースと、位相補間器と、動作するとき、粗いリードトレーニングの複数の動作を実行するメモリコントローラロジックとを備え、当該複数の動作は、バスインターフェースのコマンド及びデータの信号ラインとは別個の、バスインターフェースの側波帯レーン上でメモリモジュールから戻されるリード識別子を用いて、バスインターフェース上でリードデータがサンプリングされるリードオフセットを決定すること、及び、リードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定すべくリードオフセットを用いる間、リード識別子と共にリードコマンドをメモリモジュールに送信することと、バスインターフェースの側波帯レーン上でメモリモジュールからの受信されたリード識別子を受信することと、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致すると決定することに応答して、受信されたリード識別子がリードされた場所としてデータアイを決定すること、及び、受信されたリード識別子がリードされた、決定されたデータアイにおいてデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定することとを実行することを備える。
例19において、例18の主題は、リードオフセットを決定すべくリード識別子を用いることが、リード識別子と共にリードコマンドをメモリモジュールに送信することと、バスインターフェースを介してメモリモジュールから、リードデータと、バスインターフェースの側波帯レーン上で受信される、受信されたリード識別子とを受信することと、受信されたリードデータが、リードコマンドと共に送信されたリード識別子と一致するタイミングとしてリードオフセットを決定することとを備えることを任意に含み得る。
例20において、例18の主題は、粗いリードトレーニング中、及び、データアイにおいてデータをサンプリングすることをいつ開始すべきかを決定すべくリードオフセットを用いる間、複数のリード識別子を生成するために使用されるリニアフィードバックシフトレジスタ(LFSR)を任意に含み得る。
例21は、バスへのバスインターフェースを介して少なくとも1つのメモリモジュールに連結されるコンピュータ可読記憶媒体であり、当該コンピュータ可読記憶媒体は、実行されるとき、複数の動作を実行するロジックを実装し、当該複数の動作は、メモリモジュールがバスインターフェースの側波帯レーン上で、連続する複数のビットパターンを送信するトレーニングモードを開始するようメモリモジュールにプログラムすることと、バスインターフェースを介して複数のビットパターンを受信することと、受信された複数のビットパターンからビットパターンにおける複数の値の遷移を決定して、複数の値の決定された複数の遷移の間でデータアイを決定することと、決定されたデータアイ内でデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定することを備える。
例22において、例21の主題は、複数のビットパターンが、複数のリード識別子信号のために用いられるバスインターフェースの側波帯レーン上に第1の連続するビットパターンを、及び、側波帯レーン上に第2の連続するビットパターンを含み、第1及び第2の連続するビットパターンは反対の値を有することを任意に含み得る。
例23において、例18の主題は、当該複数の動作が、位相補間器を制御するための設定を決定することに応答して、リード識別子と共にリードコマンドをメモリモジュールに送信することと、メモリモジュールから、戻されたリード識別子を含むリードデータを受信することと、戻されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致すると決定することに応答してリードオフセットを決定することとをさらに含み、当該リードオフセットは、位相補間器のための決定された設定を用いて、データアイにおいてリードデータをサンプリングすることをいつ開始すべきかを決定するために使用されることを任意に含み得る。
例24は、粗いリードトレーニングの複数の動作を実行すべく、バスへのバスインターフェースを介して少なくとも1つのメモリモジュールに連結されるコンピュータ可読記憶媒体であって、当該コンピュータ可読記憶媒体は、実行されるとき、複数の動作を実行するロジックを実装し、当該動作は、メモリモジュールにリードコマンド及びリード識別子を送信することと、バスインターフェースを介してメモリモジュールからリードデータ及び受信されたリード識別子を受信することと、メモリモジュールからの受信されたリード識別子が、リードコマンドと共に送信されたリード識別子を含むと決定することに応答して、リードオフセットを決定することとを備え、当該リードオフセットは、受信されたリードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定するために使用される。
例25において、例24の主題は、当該複数の動作が、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致しないと決定することに応答して、メモリモジュールからの受信されたリードデータが、生成された新たなリード識別子を含むことに応答してリードオフセットが決定されるまで、新たなリード識別子を生成して、メモリモジュールに送信される新たなリードコマンドに含めるイタレーションを少なくとも1回実行することをさらに備えることを任意に含み得る。
例26は、バスインターフェースを介して少なくとも1つのメモリモジュールに連結されるバスへのバスインターフェースをトレーニングするための方法であり、当該方法は、メモリモジュールがバスインターフェースの側波帯レーン上で、連続する複数のビットパターンを送信するトレーニングモードを開始するようメモリモジュールにプログラムする段階と、バスインターフェースを介して当該複数のビットパターンを受信する段階と、受信された複数のビットパターンからビットパターンにおける複数の値の遷移を決定して、複数の値の決定された複数の遷移の間でデータアイを決定する段階と、決定されたデータアイ内でデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定する段階とを備える。
例27において、例26の主題は、複数のビットパターンが、複数のリード識別子信号のために用いられるバスインターフェースの側波帯レーン上に第1の連続するビットパターンを、及び、側波帯レーン上に第2の連続するビットパターンを含み、第1及び第2の連続するビットパターンは反対の値を有することを任意に含み得る。
例28において、例26及び例27の主題は、実行されるとき、機械に例26及び例27の何れか1つの方法を実行させるコードを含む機械可読媒体を任意に含み得る。
例29は、バスインターフェースを介して少なくとも1つのメモリモジュールに連結されるバスへのバスインターフェースをトレーニングするための方法であり、当該方法は、メモリモジュールにリードコマンド及びリード識別子を送信する段階と、バスインターフェースを介してメモリモジュールからリードデータ及び受信されたリード識別子を受信する段階と、メモリモジュールからの受信されたリード識別子がリードコマンドと共に送信されたリード識別子を含むと決定することに応答してリードオフセットを決定する段階とを備え、当該リードオフセットは、受信されたリードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定するために使用される。
例30において、例29の主題は、複数の動作が、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致しないと決定することに応答して、メモリモジュールからの受信されたリードデータが、生成された新たなリード識別子を含むことに応答してリードオフセットが決定されるまで、新たなリード識別子を生成して、メモリモジュールに送信される新たなリードコマンドに含めるイタレーションを少なくとも1回実行することをさらに備えることを任意に含み得る。
例31はバスを課して少なくとも1つのメモリモジュールに連結される装置であり、当該装置は、メモリモジュールがバスインターフェースの側波帯レーン上で、連続する複数のビットパターンを送信するトレーニングモードを開始するようメモリモジュールにプログラムするための手段と、バスインターフェースを介して当該複数のビットパターンを受信するための手段と、受信された複数のビットパターンからビットパターンにおける複数の値の遷移を決定して、複数の値の決定された複数の遷移の間でデータアイを決定するための手段と、決定されたデータアイ内でデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定するための手段とを備える。
例32において、例31の主題は、トレーニングモードを終了するようメモリモジュールにプログラムし、データアイ、及び位相補間器を制御するための設定を決定することに応答して、複数のビットパターンを送信するための手段を任意に含み得る。
例33において、例31の主題は、受信された複数のクロックビットパターンから遷移を決定するための手段が、レジスタにビットパターンからのリードされた値を格納するための手段と、次のビットパターンの送信からの次にリードされた値が、レジスタ中のリードされた値と一致するかどうかを決定するための手段とを備え、データアイはレジスタに格納される複数の値と一致する2つのリードされた値の端部の間で決定されることを任意に含み得る。
例34において、例31の主題は、位相補間器を制御するための設定を決定することに応答して、リード識別子と共にリードコマンドをメモリモジュールに送信するための手段と、戻されたリード識別子を含む、メモリモジュールからのリードデータを受信するための手段と、戻されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致すると決定することに応答してリードオフセットを決定するための手段とを任意に含み得て、当該リードオフセットは、位相補間器のための決定された設定を用いて、データアイにおいてリードデータをサンプリングすることをいつ開始すべきかを決定するために使用される。
例35において、例34の主題は、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致しないと決定することに応答して、メモリモジュールからの受信されたリードデータが、生成された新たなリード識別子を含むことに応答してリードオフセットが決定されるまで、新たなリード識別子を生成して、メモリモジュールに送信される新たなリードコマンドに含めるイタレーションを少なくとも1回実行するための手段を任意に含み得る。
例36において、例31の主題は、リード識別子と共にリードコマンドをメモリモジュールに送信することと、バスインターフェースの側波帯レーン上でメモリモジュールからの受信されたリード識別子を受信することと、受信されたリード識別子が、リードコマンドと共に送信されたリード識別子と一致すると決定することに応答して、受信されたリード識別子がリードされた場所としてデータアイを決定すること、及び、受信されたリード識別子がリードされた、決定されたデータアイにおいてデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定することとを実行することによる、バスインターフェースのコマンド及びデータの信号ラインとは別個の、バスインターフェースの側波帯レーン上で、メモリモジュールから戻されたリード識別子を用いて、リードデータがバスインターフェース上でサンプリングされるリードオフセットを決定するための手段と、リードオフセットを用いて、リードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定するための手段とを任意に含み得る。
本実施形態の例を下記の各項目として示す。
[項目1]
少なくとも1つのメモリモジュールへのバスインターフェースと、
動作するとき、複数の動作を実行するメモリコントローラロジックとを備え、前記複数の動作は、
前記メモリモジュールが前記バスインターフェースの側波帯レーン上で、連続する複数のビットパターンを送信するトレーニングモードを開始するよう前記メモリモジュールにプログラムすることと、
前記バスインターフェースを介して前記複数のビットパターンを受信することと、
前記受信された複数のビットパターンからビットパターンにおける複数の値の遷移を決定して、前記複数の値の前記決定された複数の遷移の間でデータアイを決定することと、
前記決定されたデータアイ内でデータをサンプリングするために使用される複数の補間信号を生成する位相補間器を制御するための設定を決定することとを備える、
デバイス。
[項目2]
前記複数の動作は、
前記トレーニングモードを終了するよう前記メモリモジュールにプログラムすることと、前記データアイ、及び前記位相補間器を制御するための前記設定を決定することに応答して、前記複数のビットパターンを送信することとをさらに備える
項目1に記載のデバイス。
[項目3]
前記受信された複数のビットパターンから前記遷移を決定することは、
レジスタに前記ビットパターンからのリードされた値を格納することと、
次の前記ビットパターンの送信からの次にリードされた値が、前記レジスタ中の前記リードされた値と一致するかどうかを決定することとを含み、前記データアイは前記レジスタに格納される複数の値と一致する2つのリードされた値の端部の間で決定される
項目1又は2に記載のデバイス。
[項目4]
前記複数のビットパターンは、複数のリード識別子信号のために用いられる前記バスインターフェースの前記側波帯レーン上に第1の連続するビットパターンを、及び、前記側波帯レーン上に第2の連続するビットパターンを含み、前記第1の連続するビットパターン及び前記第2の連続するビットパターンは反対の値を有する
項目1から3の何れか一項に記載のデバイス。
[項目5]
前記第1の連続するビットパターンは、第1のリード識別子信号ライン上で送信され、連続する1010パターンを備え、第2の連続するパターンは、第2のリード識別子信号ライン上で送信され、連続する0101パターンを備える
項目4に記載のデバイス。
[項目6]
前記第1の連続するパターン及び前記第2の連続するパターンは、クロック間隔毎に0と1との間で交互に変化して、前記バスインターフェース上のクロック間隔の周期の2倍の周期を有するクロックパターンを作成する
項目5に記載のデバイス。
[項目7]
前記バスインターフェースは、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、前記複数のビットパターンは、クロック周波数より小さいコマンド周波数で前記複数のリード識別子信号ライン上で送信される
項目1から6の何れか一項に記載のデバイス。
[項目8]
前記複数の動作は、
位相補間器を制御するための前記設定を決定することに応答して、リード識別子と共にリードコマンドを前記メモリモジュールに送信することと、
前記メモリモジュールから、戻されたリード識別子を含むリードデータを受信することと、
前記戻されたリード識別子が、前記リードコマンドと共に送信された前記リード識別子と一致すると決定することに応答してリードオフセットを決定することとをさらに含み、前記リードオフセットは、前記位相補間器のための前記決定された設定を用いて、前記データアイにおいて前記リードデータをサンプリングすることをいつ開始すべきかを決定するために使用される
項目1から7の何れか一項に記載のデバイス。
[項目9]
少なくとも1つのメモリモジュールへのバスインターフェースと、
動作するとき、粗いリードトレーニングの複数の動作を実行するメモリコントローラロジックとを備え、前記複数の動作は、
前記メモリモジュールにリードコマンド及びリード識別子を送信することと、
前記バスインターフェースを介して前記メモリモジュールからリードデータ及び受信されたリード識別子を受信することと、
前記メモリモジュールからの前記受信されたリード識別子が、前記リードコマンドと共に送信された前記リード識別子を含むと決定することに応答してリードオフセットを決定することを備え、前記リードオフセットは、受信されたリードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定するために使用される、
デバイス。
[項目10]
前記動作は、
前記受信されたリード識別子が、前記リードコマンドと共に送信された前記リード識別子と一致しないと決定することに応答して、前記メモリモジュールからの前記受信されたリードデータが、生成された新たなリード識別子を含むことに応答して前記リードオフセットが決定されるまで、前記新たなリード識別子を生成して、前記メモリモジュールに送信される新たなリードコマンドに含めるイタレーションを少なくとも1回実行することをさらに備える
項目9に記載のデバイス。
[項目11]
複数のランダムなリード識別子の値を提供すべく、前記リード識別子及び複数の前記新たなリード識別子を生成するために使用されるリニアフィードバックシフトレジスタ(LFSR)をさらに含む
項目10に記載のデバイス。
[項目12]
前記粗いリードトレーニングは、前記受信されたリード識別子が、前記リードコマンドと共に送信された前記リード識別子を含むことに応答して終了される
項目9から11の何れか一項に記載のデバイス。
[項目13]
前記リード識別子は、前記リードコマンドに応答して前記リードデータを戻すとき、前記メモリモジュールに前記リード識別子をループバックさせる
項目9から12の何れか一項に記載のデバイス。
[項目14]
前記リード識別子は側波帯レーン上で、前記メモリモジュールから送信される
項目9から13の何れか一項に記載のデバイス。
[項目15]
前記バスインターフェースは、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、前記メモリモジュールは前記複数のリード識別子信号ライン上で前記リード識別子を戻す
項目8から14の何れか一項に記載のデバイス。
[項目16]
前記リード識別子は、前記メモリモジュールから複数のクロック信号上で戻される
項目15に記載のデバイス。
[項目17]
前記複数の動作は、
前記リードコマンドの前記送信に続いて、前記メモリモジュールにグラント信号を送信することをさらに備え、前記メモリモジュールは前記グラント信号に応答して前記リード識別子の信号を送信し、前記リードオフセットは前記グラント信号が送信された後データが到達する時間の長さである
項目9から16の何れか一項に記載のデバイス。
[項目18]
少なくとも1つのメモリモジュールへのバスインターフェースと、
位相補間器と、
動作するとき、粗いリードトレーニングの複数の動作を実行するメモリコントローラロジックとを備え、前記複数の動作は、
前記バスインターフェースのコマンド及びデータの信号ラインとは別個の、前記バスインターフェースの側波帯レーン上で前記メモリモジュールから戻されるリード識別子を用いて、前記バスインターフェース上でリードデータがサンプリングされるリードオフセットを決定することと、
リードデータのデータアイにおいてデータをサンプリングすることをいつ開始すべきかを決定すべく前記リードオフセットを用いる間、
リード識別子と共にリードコマンドを前記メモリモジュールに送信することと、
前記バスインターフェースの前記側波帯レーン上で前記メモリモジュールからの受信されたリード識別子を受信することと、
前記受信されたリード識別子が、前記リードコマンドと共に送信された前記リード識別子と一致するという決定に応答して、
前記受信されたリード識別子がリードされた場所として前記データアイを決定すること、及び、
前記受信されたリード識別子がリードされた、前記決定されたデータアイにおいてデータをサンプリングするために使用される複数の補間信号を生成する前記位相補間器を制御するための設定を決定することと、を実行することを備える、
デバイス。
[項目19]
前記リードオフセットを決定すべく前記リード識別子を用いることは、
リード識別子と共にリードコマンドを前記メモリモジュールに送信することと、
前記バスインターフェースを介して前記メモリモジュールから、リードデータと、前記バスインターフェースの前記側波帯レーン上で受信される、受信されたリード識別子とを受信することと、
前記受信されたリードデータが、前記リードコマンドと共に送信された前記リード識別子と一致するタイミングとして前記リードオフセットを決定することとを備える
項目18に記載のデバイス。
[項目20]
前記粗いリードトレーニング中、及び、前記データアイにおいてデータをサンプリングすることをいつ開始すべきかを決定すべく前記リードオフセットを用いる間、複数の前記リード識別子を生成するために使用されるリニアフィードバックシフトレジスタ(LFSR)をさらに含む
項目18又は19に記載のデバイス。

Claims (21)

  1. バスインターフェースを介してメモリモジュールと通信するためのインターフェースと、
    複数の動作を実行するためのメモリコントローラロジックとを備え、
    前記複数の動作は、
    前記メモリモジュールが前記バスインターフェースの側波帯レーン上で連続する複数のビットパターンを送信するトレーニングモードを開始すべく、前記メモリモジュールにリクエストを送信すること、
    前記バスインターフェースの前記側波帯レーンを介して前記連続する複数のビットパターンを受信すること、
    受信したビットパターンにおけるビットに対するデータアイを決定するべく、前記受信したビットパターンにおける複数の値の間での遷移を検出すること、
    前記受信したビットパターンにおけるビットに対するデータアイを決定すること、および
    前記決定したデータアイにおけるデータをサンプリングすべく、補間信号を生成するための位相補間器の設定を決定すること、を含む
    集積回路装置。
  2. 前記メモリコントローラロジックは、
    前記データアイの前記決定に応答して前記メモリモジュールが連続する複数のビットパターンを送信する前記トレーニングモードを終了すべく、前記メモリモジュールにリクエストを送信すること、および
    位相補間器遅延に対して前記位相補間器の前記設定を適用すること、をさらに含む複数の動作を実行するためのものである
    請求項1に記載の集積回路装置。
  3. 受信したビットパターンにおける複数の値の間での遷移を検出すること、および前記受信したビットパターンにおけるビットに対するデータアイを決定することは、さらに、
    前記ビットパターンからのリードされた値をレジスタに格納すること、および
    前記ビットパターンの次の送信からの次のリードされた値が、前記レジスタ内の前記リードされた値に一致するかどうかを決定することを含み、
    前記データアイは、前記レジスタ内に格納された値に一致する2つのリードされた値の端部の間で決定される
    請求項1または2に記載の集積回路装置。
  4. 前記連続する複数のビットパターンは、前記バスインターフェースの前記側波帯レーン上の第1の連続するビットパターンと、前記側波帯レーン上の第2の連続するビットパターンとを含み、
    前記第1の連続するビットパターンおよび前記第2の連続するビットパターンは、複数の反対の値を有する
    請求項1から3のいずれか1項に記載の集積回路装置。
  5. 前記第1の連続するビットパターンは、第1のリード識別子信号ライン上で送信され、連続する1010パターンを有し、前記第2の連続するビットパターンは、第2のリード識別子信号ライン上で送信され、連続する0101パターンを有する
    請求項4に記載の集積回路装置。
  6. 前記第1の連続するビットパターン及び前記第2の連続するビットパターンは、クロック間隔毎に0と1との間で交互に変化して、前記バスインターフェース上のクロック間隔の周期の2倍の周期を有するクロックパターンを作成する
    請求項5に記載の集積回路装置。
  7. 前記バスインターフェースは、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、前記複数のビットパターンは、クロック周波数より小さいコマンド周波数で前記複数のリード識別子信号ライン上で送信される
    請求項1から6のいずれか1項に記載の集積回路装置。
  8. 前記メモリコントローラロジックは、
    位相補間器の前記設定の決定に応答して、前記メモリモジュールに、リード識別子を有するリードコマンドを送信すること、
    戻されたリード識別子を含む前記メモリモジュールからのリードデータを受信すること、
    前記戻されたリード識別子が前記リードコマンドとともに送信された前記リード識別子と一致するとの前記決定に応答して、リードオフセットを決定すること、をさらに有する複数の動作を実行するためのものであり、
    前記リードオフセットは、前記位相補間器の前記決定された設定を用いて前記データアイにおける前記リードデータをサンプリングすることをいつ開始するかを決定するためものである
    請求項1から7のいずれか1項に記載の集積回路装置。
  9. プロセッサと、
    メモリモジュールと、
    バスインターフェースと、
    前記プロセッサに接続されるメモリコントローラとを備え、
    前記メモリモジュールは前記バスインターフェースを介して前記メモリコントローラに接続され、
    前記メモリコントローラは、
    前記メモリモジュールが前記バスインターフェースの側波帯レーン上で連続する複数のビットパターンを送信するトレーニングモードを開始すべく、前記メモリモジュールにリクエストを送信すること、
    前記バスインターフェースの前記側波帯レーンを介して前記複数のビットパターンを受信すること、
    受信したビットパターンにおけるビットに対するデータアイを決定するべく、前記受信したビットパターンにおける複数の値の間での遷移を検出すること、
    前記受信したビットパターンにおけるビットに対するデータアイを決定すること、および
    前記決定したデータアイ内でデータをサンプリングすべく、補間信号を生成するための位相補間器の設定を決定すること、を含む複数の動作を実行するためのロジックを有する
    システム。
  10. 前記メモリコントローラは、
    前記データアイを決定することに応答して前記メモリモジュールが連続する複数のビットパターンを送信する前記トレーニングモードを終了するべく、前記メモリモジュールにリクエストを送信すること、および
    位相補間器遅延に対して、前記位相補間器を制御する前記設定を適用すること、をさらに含む複数の動作を実行するためのロジックを有する
    請求項9に記載のシステム。
  11. 受信したビットパターンにおける複数の値の間での遷移を検出すること、および前記受信したビットパターンにおけるビットに対するデータアイを決定することは、さらに、
    前記ビットパターンからのリードされた値をレジスタに格納すること、および
    前記ビットパターンの次の送信からの次のリードされた値が、前記レジスタ内の前記リードされた値に一致するかどうかを決定すること、を含み、
    前記データアイは、前記レジスタ内に格納された値に一致する2つのリードされた値の端部の間で決定される
    請求項9または10に記載のシステム。
  12. 前記複数のビットパターンは、前記バスインターフェースの前記側波帯レーン上の第1の連続するビットパターンと、前記側波帯レーン上の第2の連続するビットパターンとを含み、
    前記第1の連続するビットパターンおよび前記第2の連続するビットパターンは、複数の反対の値を有する
    請求項9から11のいずれか1項に記載のシステム。
  13. 前記第1の連続するビットパターンは、第1のリード識別子信号ライン上で送信され、連続する1010パターンを有し、前記第2の連続するビットパターンは、第2のリード識別子信号ライン上で送信され、連続する0101パターンを有する
    請求項12に記載のシステム。
  14. 前記第1の連続するビットパターン及び前記第2の連続するビットパターンは、クロック間隔毎に0と1との間で交互に変化して、前記バスインターフェース上のクロック間隔の周期の2倍の周期を有するクロックパターンを作成する
    請求項12に記載のシステム。
  15. 前記バスインターフェースは、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、前記複数のビットパターンは、クロック周波数より小さいコマンド周波数で前記複数のリード識別子信号ライン上で送信される
    請求項9から14のいずれか1項に記載のシステム。
  16. 前記メモリコントローラは、
    位相補間器の前記設定の決定に応答して、前記メモリモジュールに、リード識別子を有するリードコマンドを送信すること、
    戻されたリード識別子を含む前記メモリモジュールからのリードデータを受信すること、および
    前記戻されたリード識別子が前記リードコマンドとともに送信された前記リード識別子と一致するとの前記決定に応答して、リードオフセットを決定すること、をさらに含む複数の動作を実行するためのものであり、
    前記リードオフセットは、前記位相補間器の前記決定された設定を用いて前記データアイにおける前記リードデータをサンプリングすることをいつ開始するかを決定するために用いられる
    請求項9から15のいずれか1項に記載のシステム。
  17. バスインターフェースを介してメモリコントローラと通信する第1のインターフェース、および1又は複数のメモリチップと通信する第2のインターフェースと、
    複数の動作を実行するためのメモリモジュールコントローラロジックと、を備え、
    前記複数の動作は、
    トレーニングモードを開始するべく、前記メモリコントローラからリクエストを受信すること、
    前記メモリコントローラからの前記リクエストを受信することに応答して、前記メモリコントローラへ、前記バスインターフェースの側波帯レーン上で連続する複数のビットパターンを送信すること、
    前記トレーニングモードを終了するべく、前記メモリコントローラからリクエストを受信すること、および
    前記メモリコントローラからのリクエストの受信に応答して、前記側波帯レーン上での前記連続する複数のビットパターンの前記送信を停止すること、を含む
    集積回路装置。
  18. 前記連続する複数のビットパターンは、前記バスインターフェースの前記側波帯レーン上の第1の連続するビットパターンと、前記側波帯レーン上の第2の連続するビットパターンとを含み、
    前記第1の連続するビットパターンおよび前記第2の連続するビットパターンは、複数の反対の値を有する
    請求項17に記載の集積回路装置。
  19. 前記第1の連続するビットパターンは、第1のリード識別子信号ライン上で送信され、連続する1010パターンを有し、前記第2の連続するビットパターンは、第2のリード識別子信号ライン上で送信され、連続する0101パターンを有する
    請求項18に記載の集積回路装置。
  20. 前記第1の連続するビットパターン及び前記第2の連続するビットパターンは、クロック間隔毎に0と1との間で交互に変化して、前記バスインターフェース上のクロック間隔の周期の2倍の周期を有するクロックパターンを作成する
    請求項19に記載の集積回路装置。
  21. 前記バスインターフェースは、複数のコマンドが送信される複数のコマンドラインと、データが送信される複数のデータラインと、複数のリード識別子信号ラインとを含み、前記複数のビットパターンは、前記集積回路装置により、クロック周波数より小さいコマンド周波数で前記複数のリード識別子信号ライン上で送信される
    請求項17から20のいずれか1項に記載の集積回路装置。
JP2017011263A 2013-09-27 2017-01-25 集積回路装置およびシステム Active JP6327762B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/040,548 US9021154B2 (en) 2013-09-27 2013-09-27 Read training a memory controller
US14/040,548 2013-09-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016540884A Division JP6084756B2 (ja) 2013-09-27 2014-07-29 メモリコントローラのリードトレーニング

Publications (2)

Publication Number Publication Date
JP2017107584A JP2017107584A (ja) 2017-06-15
JP6327762B2 true JP6327762B2 (ja) 2018-05-23

Family

ID=52741301

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2016540884A Active JP6084756B2 (ja) 2013-09-27 2014-07-29 メモリコントローラのリードトレーニング
JP2017011263A Active JP6327762B2 (ja) 2013-09-27 2017-01-25 集積回路装置およびシステム
JP2017011265A Active JP6327764B2 (ja) 2013-09-27 2017-01-25 集積回路装置およびシステム
JP2017011264A Active JP6327763B2 (ja) 2013-09-27 2017-01-25 集積回路装置およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016540884A Active JP6084756B2 (ja) 2013-09-27 2014-07-29 メモリコントローラのリードトレーニング

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2017011265A Active JP6327764B2 (ja) 2013-09-27 2017-01-25 集積回路装置およびシステム
JP2017011264A Active JP6327763B2 (ja) 2013-09-27 2017-01-25 集積回路装置およびシステム

Country Status (8)

Country Link
US (6) US9021154B2 (ja)
EP (1) EP3049946B1 (ja)
JP (4) JP6084756B2 (ja)
KR (3) KR102058019B1 (ja)
CN (2) CN112069110B (ja)
BR (3) BR112016003865A2 (ja)
RU (1) RU2643664C2 (ja)
WO (1) WO2015047532A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021154B2 (en) 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller
US10074417B2 (en) * 2014-11-20 2018-09-11 Rambus Inc. Memory systems and methods for improved power management
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
US9921763B1 (en) * 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
US10222989B1 (en) 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US9558850B1 (en) 2015-12-01 2017-01-31 International Business Machines Corporation Efficient calibration of a data eye for memory devices
US9620184B1 (en) 2015-12-16 2017-04-11 International Business Machines Corporation Efficient calibration of memory devices
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10552252B2 (en) * 2016-08-29 2020-02-04 Seagate Technology Llc Patterned bit in error measurement apparatus and method
US10067689B1 (en) * 2016-08-29 2018-09-04 Cadence Design Systems, Inc. Method and apparatus for high bandwidth memory read and write data path training
US10148416B2 (en) 2016-09-02 2018-12-04 Intel Corporation Signal phase optimization in memory interface training
US10262751B2 (en) * 2016-09-29 2019-04-16 Intel Corporation Multi-dimensional optimization of electrical parameters for memory training
KR20180049338A (ko) * 2016-10-31 2018-05-11 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US10416912B2 (en) 2016-11-03 2019-09-17 Intel Corporation Efficiently training memory device chip select control
KR102687267B1 (ko) * 2016-12-15 2024-07-22 에스케이하이닉스 주식회사 반도체 장치, 반도체 시스템 및 트레이닝 방법
KR102532173B1 (ko) 2017-06-23 2023-05-16 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 액세스 기술 및 컴퓨터 시스템
KR102353027B1 (ko) * 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
US20190095308A1 (en) 2017-09-26 2019-03-28 Intel Corporation Registering clock driver controlled decision feedback equalizer training process
US10810141B2 (en) * 2017-09-29 2020-10-20 Intel Corporation Memory control management of a processor
US11074151B2 (en) 2018-03-30 2021-07-27 Intel Corporation Processor having embedded non-volatile random access memory to support processor monitoring software
US10691466B2 (en) * 2018-04-02 2020-06-23 Intel Corporation Booting a computing system using embedded non-volatile memory
JP2019215662A (ja) * 2018-06-12 2019-12-19 株式会社日立製作所 不揮発性メモリデバイス、及びインターフェース設定方法
JP2020046918A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 記憶装置及び制御方法
KR102685470B1 (ko) * 2018-12-24 2024-07-17 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 장치 및 반도체 시스템
KR102648186B1 (ko) * 2018-12-24 2024-03-18 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 시스템
CN110210018B (zh) * 2019-05-14 2023-07-11 北京百度网讯科技有限公司 挂号科室的匹配方法和装置
CN113728385A (zh) 2019-05-24 2021-11-30 英特尔公司 针对存储器设备的芯片选择信号读取操作的训练
CN112764667B (zh) * 2019-10-21 2024-09-06 伊姆西Ip控股有限责任公司 用于存储管理的方法、设备、存储系统和计算机程序产品
TWI693796B (zh) * 2019-11-08 2020-05-11 群聯電子股份有限公司 訊號產生電路、記憶體儲存裝置及訊號產生方法
US11126585B1 (en) 2020-03-09 2021-09-21 Western Digital Technologies, Inc. Data storage device with improved interface transmitter training
US11288225B2 (en) 2020-04-14 2022-03-29 Western Digital Technologies, Inc. Adapting transmitter training behavior based upon assumed identity of training partner
KR20210136203A (ko) * 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법
US11190331B1 (en) * 2020-12-16 2021-11-30 Cadence Design Systems, Inc. Data alignment in physical layer device
CN116052742B (zh) * 2022-07-13 2024-07-02 成都海光集成电路设计有限公司 数据处理方法、装置、存储控制器、设备及介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570944B2 (en) 2001-06-25 2003-05-27 Rambus Inc. Apparatus for data recovery in a synchronous chip-to-chip system
KR100233122B1 (ko) 1992-03-25 1999-12-01 윤종용 모뎀 운용 테스트 회로
US6266379B1 (en) * 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
JP3922765B2 (ja) 1997-07-22 2007-05-30 富士通株式会社 半導体装置システム及び半導体装置
JPH11139869A (ja) 1997-11-10 1999-05-25 Murata Mfg Co Ltd 半導体セラミックおよびその製造方法
JP2002082830A (ja) 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
WO2001084724A2 (en) 2000-04-28 2001-11-08 Broadcom Corporation Methods and systems for adaptive receiver equalization
US6651148B2 (en) * 2000-05-23 2003-11-18 Canon Kabushiki Kaisha High-speed memory controller for pipelining memory read transactions
US6658523B2 (en) 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US7437624B2 (en) 2002-09-30 2008-10-14 Lecroy Corporation Method and apparatus for analyzing serial data streams
US7167946B2 (en) 2003-09-30 2007-01-23 Intel Corporation Method and apparatus for implicit DRAM precharge
US6958634B2 (en) 2003-12-24 2005-10-25 Intel Corporation Programmable direct interpolating delay locked loop
US7403584B2 (en) 2003-12-31 2008-07-22 Intel Corporation Programmable phase interpolator adjustment for ideal data eye sampling
US7107424B1 (en) * 2004-03-25 2006-09-12 Emc Corporation Memory read strobe pulse optimization training system
KR100594294B1 (ko) * 2004-09-21 2006-06-30 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
KR100618870B1 (ko) * 2004-10-23 2006-08-31 삼성전자주식회사 데이터 트레이닝 방법
JP2006260071A (ja) * 2005-03-16 2006-09-28 Oki Data Corp メモリ制御装置および情報処理装置
KR100703976B1 (ko) * 2005-08-29 2007-04-06 삼성전자주식회사 동기식 메모리 장치
US7607031B2 (en) * 2006-03-28 2009-10-20 Advanced Micro Devices, Inc. Power management in a communication link
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7983368B2 (en) * 2006-12-11 2011-07-19 International Business Machines Corporation Systems and arrangements for clock and data recovery in communications
US7814401B2 (en) 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
US8341450B2 (en) * 2007-07-23 2012-12-25 Rambus Inc. Continuous timing calibrated memory interface
US7913033B2 (en) 2007-10-09 2011-03-22 Micron Technology, Inc. Non-volatile memory device having assignable network identification
US8793525B2 (en) * 2007-10-22 2014-07-29 Rambus Inc. Low-power source-synchronous signaling
JP2012515376A (ja) * 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
US7978538B2 (en) * 2009-01-29 2011-07-12 International Business Machines Corporation Setting memory device termination in a memory device and memory controller interface in a communication bus
US8037375B2 (en) * 2009-06-30 2011-10-11 Intel Corporation Fast data eye retraining for a memory
US8578086B2 (en) 2009-09-25 2013-11-05 Intel Corporation Memory link initialization
US8681571B2 (en) * 2010-06-15 2014-03-25 International Business Machines Corporation Training a memory controller and a memory device using multiple read and write operations
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
KR20120011491A (ko) 2010-07-29 2012-02-08 주식회사 하이닉스반도체 반도체 시스템 및 그 데이터 트래이닝 방법
US20120066471A1 (en) 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
JP5792384B2 (ja) * 2011-07-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated シリアル通信システムにおけるスタンバイ電力低減のためのシステムおよび方法
US8954408B2 (en) 2011-07-28 2015-02-10 International Business Machines Corporation Allowing writes to complete without obtaining a write lock to a file
US9021154B2 (en) 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller

Also Published As

Publication number Publication date
JP2017107584A (ja) 2017-06-15
BR122017013533B1 (pt) 2023-03-07
US20150113234A1 (en) 2015-04-23
US20170286330A1 (en) 2017-10-05
KR102058019B1 (ko) 2019-12-20
KR20160034961A (ko) 2016-03-30
CN105723351A (zh) 2016-06-29
CN112069110A (zh) 2020-12-11
EP3049946B1 (en) 2021-06-23
KR101855512B1 (ko) 2018-06-25
US9058111B2 (en) 2015-06-16
JP6084756B2 (ja) 2017-02-22
KR102058018B1 (ko) 2019-12-20
KR20180050765A (ko) 2018-05-15
BR122017013543B1 (pt) 2023-03-07
EP3049946A1 (en) 2016-08-03
EP3049946A4 (en) 2017-04-26
US10482041B2 (en) 2019-11-19
US20150095565A1 (en) 2015-04-02
BR112016003865A2 (pt) 2017-08-01
JP2016534472A (ja) 2016-11-04
US20150113215A1 (en) 2015-04-23
RU2643664C2 (ru) 2018-02-02
US10331585B2 (en) 2019-06-25
US9766817B2 (en) 2017-09-19
CN112069110B (zh) 2024-09-13
JP6327763B2 (ja) 2018-05-23
US9021154B2 (en) 2015-04-28
JP2017097907A (ja) 2017-06-01
WO2015047532A1 (en) 2015-04-02
US20170031846A1 (en) 2017-02-02
US20150113235A1 (en) 2015-04-23
JP6327764B2 (ja) 2018-05-23
KR20180049244A (ko) 2018-05-10
US9495103B2 (en) 2016-11-15
RU2016107022A (ru) 2017-08-31
CN105723351B (zh) 2020-08-18
JP2017097908A (ja) 2017-06-01

Similar Documents

Publication Publication Date Title
JP6327762B2 (ja) 集積回路装置およびシステム
CN109074333B (zh) 非确定性存储器协议
CN111566737B (zh) 包含用于半导体存储器的存储器命令的设备和方法
US7694099B2 (en) Memory controller having an interface for providing a connection to a plurality of memory devices
US10283186B2 (en) Data alignment circuit of a semiconductor memory device, a semiconductor memory device and a method of aligning data in a semiconductor memory device
CN102446546A (zh) 产生片内终结信号的电路和方法及使用它的半导体装置
KR20170032053A (ko) 메모리 장치 및 메모리 장치를 포함하는 전자 장치
US20240086087A1 (en) Managing synchronous data transfer
US9129705B2 (en) Semiconductor devices
CN117672282A (zh) 电子装置及其操作方法以及存储器装置
TW202005058A (zh) 記憶體裝置及其控制方法以及控制記憶體的方法
BR122017013540B1 (pt) Dispositivo de circuito integrado e sistema para treinamento de leitura de um controlador de memória

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170412

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6327762

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