JP2016532230A - メモリコントローラコネクタのメモリコネクタへのマッピング - Google Patents

メモリコントローラコネクタのメモリコネクタへのマッピング Download PDF

Info

Publication number
JP2016532230A
JP2016532230A JP2016545724A JP2016545724A JP2016532230A JP 2016532230 A JP2016532230 A JP 2016532230A JP 2016545724 A JP2016545724 A JP 2016545724A JP 2016545724 A JP2016545724 A JP 2016545724A JP 2016532230 A JP2016532230 A JP 2016532230A
Authority
JP
Japan
Prior art keywords
memory
memory data
value
pattern
programming
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.)
Granted
Application number
JP2016545724A
Other languages
English (en)
Other versions
JP6187841B2 (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 JP2016532230A publication Critical patent/JP2016532230A/ja
Application granted granted Critical
Publication of JP6187841B2 publication Critical patent/JP6187841B2/ja
Expired - Fee Related 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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

複数のメモリコントローラコネクタを複数のメモリコネクタにマッピングするためのデバイス、システム、および方法が提供される。複数のメモリデータコネクタの各々に対し、複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する第1の値とは異なる値を有する複数のメモリデータコネクタのパターンを送信するようメモリはプログラムされる。複数のメモリデータコネクタの各々に対し、複数のメモリデータコネクタのパターンを読み取るための読み取りコマンドが発行される。読み取られたパターン内の第1の値を受信するデバイスデータコネクタが、第1の値を送信する選択されたメモリデータコネクタにマッピングされる。

Description

本明細書に記載の複数の実施形態は概して、単一のチャネルまたはバス上で、メモリコントローラが、当該チャネルおよび当該メモリコントローラに連結された複数のスロットと互換性のあるピンレイアウトを有する複数のメモリチップまたはモジュールと通信するメモリシステムに関する。
メモリコントローラは、チャネルに連結された複数のメモリモジュールによって使用されるプロトコル、例えば、電子素子技術連合評議会(JEDEC)Double Data Rate(DDR)Third Generation Synchronous Dynamic Random Access Memory(SDRAM)プロトコル、JEDEC SDRAM Low Power Double Data Rate 3(LPDDR3)等をサポートし得る。メモリチャネルを使用する前に、メモリコントローラは、メモリモジュール内のメモリチップを動作のために構成する。
複数の添付図面を参照しつつ、例示目的で複数の実施形態が記載される。図面は正確な縮尺率ではなく、同一の参照番号は、同様の要素を指す。
メモリシステムを有するシステムの実施形態を示す。 メモリチップの実施形態を示す。 メモリコントローラ上の複数のコネクタのメモリチップ上の複数のコネクタへのスウィズルの実施形態を示す。 メモリコントローラデータコネクタをメモリチップ上の1つのデータコネクタに関連付けるコネクタマッピングの実施形態を示す。 メモリチップの複数のデータコネクタをメモリコントローラ上の複数のデータコネクタにマッピングする、メモリコントローラのための複数の動作の実施形態を示す。 メモリチップの複数のデータコネクタをメモリコントローラ上の複数のデータコネクタにマッピングする、メモリコントローラのための複数の動作の実施形態を示す。 メモリチップ上のコネクタをメモリコントローラ上のコネクタにマッピングするために送信されるビットパターンの実施形態を示す。
複数の特定のメモリ実装において、メモリチップ上の複数のコネクタ(例えば、複数のDQピン)の内部または外部にあるデータは、ルーティングを最適化するために、スウィズルされる。スウィズルのために、メモリコントローラは、複数のピンを動的にデスウィズルする必要があり、このことはメモリコントローラ上の複数のピンのメモリチップ若しくはモジュール上の複数のピンへのマッピングの決定を伴う。複数のDQピンを覆うデータストローブ数に応じて、複数のDQピンがニブルまたはバイト内でスウィズルされてよい。単一のデータストローブが1バイトを覆う場合、複数のDQピンはスウィズルされ、そのバイト内の長さは一致する。しかしながら、LPDDR2およびLPDDR3のような特定のメモリデバイスは、スウィズルを許容しない。DDR4のような他のメモリデバイスは、メモリコントローラ上の複数のピンのメモリモジュール上の複数のピンへのマッピングを決定する、複雑なトレーニング方法を提供する。DDR4では、MPR(多目的レジスタ)からの複数の読み取りのために、動作のシリアルおよびパラレルモードが定義される。
記載される複数の実施形態は、マッピングするメモリチップ上の複数のコネクタの各々に対し、ビットパターンの複数のインスタンスを送信するようメモリチップをプログラミングすることによって、メモリコントローラが、データ入力および出力ピン(DQピン)のようなメモリチップ上の複数のデータコネクタのメモリコントローラ上の複数のコネクタへのマッピングを決定する技術を提供する。パターンの送信の各インスタンスにおいて、メモリコントローラは、複数の他のデータコネクタで受信されるビット値とは異なる第1のビット値を受信するメモリコントローラ上のコネクタを決定する。メモリコントローラは、複数のビットパターンの送信の例から、第1のビット値を送信するメモリデバイスコネクタを決定し、それにより、第1の値を送信するメモリチップコネクタを、その第1の値を受信するメモリコントローラ上のコネクタにマッピングできる。このマッピングが一回実行されると、複数のI/O動作のために、メモリコントローラおよびメモリチップを準備すべく、読み取りトレーニングシーケンスが実行されてよい。
以下の詳細な説明には、本発明のより完全な理解を提供すべく、多数の具体的な詳細が記載されている。それらは例えば、複数のロジック実装、演算コード、複数のオペランドを指定する手段、リソースパーティショニング/共有/重複の実装、複数のシステムコンポーネントのタイプおよび相互関係、およびロジックパーティショニング/統合の選択肢である。しかしながら、本発明は、そのような具体的な詳細がなくても、実施可能であることが当業者によって理解されるであろう。複数の他の例において、本発明を不明瞭にしないため、コントロール構造、ゲートレベル回路および完全なソフトウェア命令シーケンスは詳細に示されていない。詳細な説明を読んだ当業者であれば、何度も実験を繰り返さなくても、適切な機能を実装できるであろう。
本明細書における「一実施形態」、「実施形態」、「例示的な実施形態」等の言及は、記載された実施形態が、特定の特徴、構造または特性を含む場合があるが、各実施形態が必ずしもその特定の特徴、構造または特性を含むものではないことを示す。また、そのような表現は必ずしも同一の実施形態を指すものではない。
以下の詳細な説明および特許請求の範囲において、「連結され」および「接続され」という用語がそれらの派生語とともに使用される可能性がある。これらの用語は、互いの同義語として意図されていないと理解されるべきである。「連結され」は、2または2より多い要素が直接物理的若しくは電気的に互いに接触していてもしていなくてもよいが、互いに連携または対話することを示すため使用される。「接続され」は、互いに連結された2または2より多い要素の間での通信の確立を示すのに使用される。複数の特定の実施形態は、複数のメモリデバイスの電子アセンブリに関する。複数の実施形態は、複数の電子アセンブリを形成するための複数のデバイスおよび方法の両方を含む。
図1は、バス104上で追加のストレージ若しくはメモリ、複数のディスプレイデバイス、入力デバイス等のような1または複数の入/出力(I/O)デバイス106a、106bに接続する1または複数のプロセッサ102を含むコンピューティングシステム100の実施形態を示す。プロセッサ102の集積回路は、メモリチップ200a、200bとメモリコントローラ108との間で複数の信号をルーティングするメモリチャネル110上でメモリチップ200a、200bと通信するメモリコントローラ108を含んでよい。メモリチップ200a、200bは、「パッケージオンパッケージ」実装のようにプロセッサ102パッケージ上に直接搭載されてよく、その場合、メモリチップ200a、200bは、プロセッサ102の上部に、それらの間で複数の信号をルーティングするためのメモリチャネル110の標準インタフェースとともに設置される。あるいは、メモリチップ200a、200bはチップスタック実装でプロセッサ102上にスタックされてよく、またはメモリデバイス106a、160bは、プロセッサ102とメモリコントローラ108とを実装する同一の集積回路ダイに実装されてよい。メモリデバイス200a、200bは、メモリチャネル110を介して、メモリコントローラ108と通信する。さらなる実施形態において、メモリチップ200a、200bは、別個のパッケージのシステム100マザーボード上に実装されてよく、あるいは複数のチップが、単一のメモリモジュール若しくはパッケージ上に実装されてよい。
メモリコントローラ108はメモリコントローラ108の複数の動作を実装するロジック112およびメモリチャネル110上の複数のHMCデータコネクタのメモリチップ200a、200bのうちの一方上の複数のメモリデータコネクタへのマッピングを提供するコネクタマップ400を含み、その結果、複数のメモリデータコネクタがスウィズルされる場合、コネクタマップ400は、複数のHMCデータコネクタと複数のメモリチップデータコネクタとの関係を提供し、それらの間の通信を可能にする。各メモリチップ200a、200bのための別個のコネクタマップ400が存在してよい。
一実施形態において、システム100はスマートフォン、デジタルカメラ等のようなモバイル若しくは小型のコンピュータデバイスを備え、メモリチップ200a、200bはLPDDR3、LPDDR4等のような複数の低電力ダブルデータレート(LPDDR)メモリチップを備えてよい。複数の代替的な実施形態において、メモリチップ200a、200bは、複数のダブルデータレート(DDR)メモリのような複数の他のメモリチップを備えてよい。複数のさらなる実施形態において、メモリチップ200a、200bはメモリモジュール上に搭載されてよい。複数のさらなる実施形態において、システム100は、モバイル若しくは小型のコンピューティングデバイス以外のコンピューティングデバイスを備えてよい。
図2は、メモリチップ200aおよび200bのうちの1つを備える、メモリチップ200の実施形態を示す。メモリチップ200は、モードレジスタビット202、メモリコントローラ108からの例えば、読み取り、書き込み、およびモードレジスタコマンドといった複数のコマンドに応答して、複数の動作を実行するメモリロジック204、およびメモリチップ200に対するデータを複数のアドレス指定可能な場所に格納するメモリストレージセル206を含む。モードレジスタビット202は、動作のモードを定義するために使用されてよい。
メモリロジック204およびメモリコントローラロジック112を実装するコードまたはロジックは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等のようなハードウェアロジックにエンコードされてよい。
図3は、複数のコネクタからなるコネクタレイアウトの配置を示し、複数のコネクタは、HMC108の複数のコネクタおよびメモリ200の複数のコネクタの複数のピン、半田ボール、または他の電気的連結構造を備える。図3において、複数のコネクタ指定は、例示的であり限定ではないが、差分クロック入力302a、302b、クロックイネーブル(CKE)信号ピン304a、304b、コマンドアドレス(CA)ピン306a、306bおよび双方向データ入/出力I/O(DQ0...DQ15)および入力データマスク(DMI0〜DMI1)ピン308a...308bを含む。DQおよびDMIコネクタ308aおよび308bは、メモリコントローラ108とメモリモジュール200との間のメモリチャネル110上でスウィズルされる。メモリコントローラ108は、メモリコントローラ108上のDQおよびDMIコネクタ308aをメモリチップ200上の対応するメモリピン308bに関連付けるためのコネクタマップ400を決定する必要があり、それはメモリ200のコネクタレイアウトに応じ異なってよい。複数の電源ピン、図3に示される16ビットバスに対し、32ビットバス用の追加のDQおよびDMIコネクタといった、追加目的のための複数の追加のコネクタがコネクタレイアウト上に存在してよい。
図4は、例えばDQおよびDMIコネクタのような1つのメモリコントローラコネクタ402を複数のメモリコネクタ404のうちの1つに関連付けるコネクタマップ400内のエントリ400の例の実施形態を示す。例えば、メモリコントローラ402ピンは、ピン番号を含んでよく、メモリモジュールピン404は例えばDQ0〜DQ15、DMI0、DMI1等のピン名を識別してよい。
図5Aおよび5Bは、メモリコントローラロジック112が例えば、DQ0〜DQ15のデータコネクタのためのコネクタマップ400を決定することを可能にすべく、メモリコントローラロジック112およびメモリモジュールコントローラロジック204によって実行される複数の動作の実施形態を示す。複数のメモリコントローラデータ(HMC)コネクタ308aを、例えば複数のDQコネクタのような複数のメモリデータコネクタ308bにデスウィズルまたはマッピングするための動作を開始する際(ブロック500において)、HMCロジック112は、少なくとも1つのパターンモードレジスタビット202を複数のメモリデータコネクタのためのパターンでプログラムすべく、HMCコマンド上の少なくとも1つのモードレジスタ(MR)セットコマンドおよび複数のアドレスコネクタ306aを送信する(ブロック502において)。例えば、一実装において、データコネクタDQ0〜DQ7に対するパターンのビットを提供するモードレジスタがある場合、別のモードレジスタは、コネクタDQ8〜DQ15に対するパターンのビットを提供し、故にこれらのパターンモードレジスタビットの各々は、コネクタDQ0〜DQ15上で出力する0のような、パターン値でプログラムされる。メモリ200上のデータコネクタの数に応じて、より多いまたはより少ないパターンモードレジスタビットが存在してよい。
複数のパターンモードレジスタビットをプログラムするための少なくとも1つのコマンドの送信に応答して、メモリロジック204は、例えばDQ0〜DQ15のデータコネクタのための複数のパターン値を提供するパターンモードレジスタビット202を、提供されたパターン値、例えば0に設定する(ブロック504において)。
モードレジスタ202のためのパターンをプログラミング後、HMCロジック204は変数iをゼロに設定し(ブロック506において)、次にブロック508、512、および532〜542において、コネクタマップ400内でマッピングする、各データコネクタ(例えば、DQ0〜DQ15)に対し、複数の動作を実行する。
HMCロジック112は、メモリデータコネクタiをマスクすることを示す少なくとも1つのマスクモードレジスタ202をプログラムすべく、HMCコマンド上の少なくとも1つのセットコマンドおよび複数のアドレスコネクタ306aを送信し(ブロック508において)、ここにおいて、コネクタi以外の複数の他のメモリデータコネクタはマスクされない。マスクのための少なくとも1つのモードレジスタセットコマンドに応答して、メモリロジック204は、メモリデータコネクタiをマスクするよう示すべく、少なくとも1つのマスクモードレジスタビット202を設定する(ブロック510において)。マスクは、マスクされるよう示されたデータコネクタのためのパターン値を反転するよう指示してよく、その結果、マスクされるデータコネクタに対し、複数の他のデータコネクタに生成される値以外の異なる第1の値が生成される。
例えば、2つのパターンモードレジスタおよびマスクするメモリデータコネクタを示す2つのマスクモードレジスタがある場合、DQ0〜DQ15のための、例えばMR32およびMR40のパターンモードレジスタは0に設定されてよく、例えば、MR15およびMR20のマスクモードレジスタのうちの1つは、パターン値、例えば0とは異なる値、例えば1として出力されるようマスクする、または反転するデータコネクタを示すよう設定されてよい。よって、マスクはマスクすべきデータコネクタまたはパターン値が反転されるデータコネクタを示すのに対し、パターン値、例えば0はマスクされない複数のデータコネクタに対し出力される。複数のデータコネクタのための複数のマスクモードレジスタが存在し、各マスクモードレジスタが当該複数のデータコネクタの異なるサブセットに対応してよい場合、マスクするデータコネクタを含まない複数のマスクモードレジスタはマスクされない。例えば、DQ0がマスクされる、またはパターン値、例えば0以外の異なる値、例えば1を出力するよう反転される場合、DQ0〜DQ7のためのマスクモードレジスタとしてのMR15は、DQ0をマスクするよう示し、その場合、DQ08〜DQ15のためのMR20レジスタは、DQ0がマスクされるので、データコネクタDQ8〜DQ15はどれもマスクされないことを示す。
メモリデータコネクタiをマスクするようマスクモードレジスタをプログラムするためのコマンドを送信後、制御は図5Bのブロック512に進み、そこではHMCロジック112が、パターン内に示されるデータを出力し、メモリデータコネクタ(DQ0〜DQ15)上のマスクモードレジスタビット202をマスクするための、読み取りトレーニングコマンドをメモリチップ200に送信する。読み取りトレーニングコマンドを受信すると、メモリロジック204は、変数jをゼロに設定し(ブロック516において)、複数のマスクモードレジスタビット202のうちの1つが、データメモリコネクタj、例えばDQjをマスクするよう示す場合(ブロック518において)、メモリロジック204は、データコネクタのパターンモードレジスタ内で示される値の反転されたパターン値を出力する(ブロック520において)。このように、マスクは反転機能が実行されるビットを示す。どのマスクモードレジスタ202もデータコネクタjをマスクするよう示さない場合(ブロック518において)、メモリロジック204は、メモリデータコネクタjのためのパターンモードレジスタ202内で示されるパターン値を出力する(ブロック522において)。メモリデータコネクタjに出力する値を決定後(ブロック520または522から)、メモリデータコネクタjがマッピングする最後のメモリデータコネクタでない場合、jはインクリメントされ(ブロック528において)、制御はブロック518に戻り、次のメモリデータコネクタのために出力する次の値、例えば、パターン値または反転されたパターン値を決定する。メモリデータコネクタjがマッピングする最後のものである場合(ブロック526において)、メモリロジック204は読み取りコマンドに対し、複数の対応するデータメモリコネクタ上に、マスクされたメモリデータコネクタj(例えば、第1の反復に対するDQ0)のための第1の反転された値(例えば、1)および複数の他のメモリデータコネクタ(例えば、第1の反復のDQ1〜DQ15)のための異なるパターン値(例えば、0)を含む、すべての出力されたデータを戻す(ブロック530において)。
図6は、第1のメモリデータコネクタDQ0 602をマッピングすべく出力されたパターン600の実施形態を示し、ここにおいてDQ0は、すべての他のデータコネクタDQ1〜DQ15に対するパターン値とは異なる、例えば1のマスクされた第1の値を有する。
メモリコントローラ104が、すべてのHMCデータコネクタ308a(DQ0〜DQ15)上で読み取られたデータを受信すると(ブロック532において)、HMCロジック204は、反転された第1の値、例えば1を受信するHMCデータコネクタを決定し(ブロック534において)、この場合、すべての他のHMCデータコネクタはパターン値、例えば0を受信する。マスクがマスクモードレジスタ202内でプログラムされたメモリデータコネクタiを、反転されたマスクの第1の値を受信する決定されたHMCデータメモリコネクタと関連付けるべく、メモリ200のためのコネクタマップ400が更新される(ブロック536において)。例えば、DQ15またはi=15のように、メモリデータコネクタiが、マッピングする最後のメモリデータコネクタである場合(ブロック538において)、読み取りトレーニングモードが終了する(ブロック540において)。あるいは、例えば、DQ(i+1)−DQ15のように、マッピングするさらなるデータメモリコネクタが存在する場合、iがインクリメントされ(ブロック542において)、マップする次のメモリデータコネクタのためのマスクモードレジスタビット202をプログラムすべく、制御は図5Aのブロック508に戻る。
記載された複数の実施形態では、マッピングされる複数のデータメモリコネクタのためのメモリモードレジスタビット202内でパターンが最初にプログラムされ、マップするデータメモリコネクタに対応するマスクモードレジスタは、マップするコネクタの値を反転することを示すよう設定される。このように、HMC108が複数のデータメモリコネクタ308bのための複数のパターンモードレジスタ内で示されるパターンをトレーニングモードで読み取る場合、マスクされるデータコネクタの値は、第1の値、例えば1を生成すべく、パターンから反転され、それは他のデータコネクタに使用されるパターン値とは異なる。これによって、HMC108が、マスク若しくは反転されたビットを受信した、すなわち、メモリチャネル110上でマスクされたメモリデータコネクタ308bに接続されているHMCデータコネクタ308aを決定すべく、マスクされたメモリデータコネクタ308bを識別することを可能にし、複数のメモリデータコネクタ308bのデスウィズルを可能にする。読み取りおよび書き込み動作中、HMC108は、データを送信したメモリデータコネクタ308bを決定すべく、コネクタマップ400を使用する。
複数の特定の実施形態において、パターンは複数のパターンモードレジスタ内で一回プログラムされ、マッピングする各データコネクタに対し、反転された値が出力されるデータコネクタを示すマスクを設定する複数の動作の反復が実行される。
記載された複数の特定の実施形態では、複数の多目的モードレジスタが、パターンおよびマスクされるデータコネクタを示すようプログラムされ、その場合、パターンが一回設定され、マッピングする各メモリデータコネクタに対しマスクが設定される。複数の代替的な実施形態においては、読み取りトレーニング内で使用される複数の値を設定するために使用され得るメモリ内の複数の他のタイプのレジスタが使用されてよく、複数のデータコネクタに対するパターンが一旦設定され、複数のメモリデータコネクタ308bの各々にわたり、マッピングされるデータコネクタに対するマスクが複数の動作の特定の反復において設定される。
複数のデータコネクタが一旦マッピングされると、HMC108は、複数の読み取りに対するデータバス反転をオンにし、複数のDMIピンの反転をもたらす特定のパターンをメモリに対しプログラミングすることによって、複数のデータマスクコネクタ(複数のDMIピン)をマッピングしてよく、その結果、複数のピンの各々のマッピング時に、複数のDMIピンの各々は、別々に反転されてよい。例えば、あるパターンは、すべて1の書き込みがメモリ200のDQ0〜DQ7上になされ、次に、読み取りは、DMI0ピンが1に設定され、かつDQ0〜DQ7上のデータはすべて0で反転されることをもたらすであろう。
記載された複数の実施形態は、複数のメモリデータコネクタの各々に対し、マッピングする複数のメモリデータコネクタ上の複数のビットパターンの例を送信するようメモリチップをプログラミングすることによって、メモリコントローラにおけるメモリチップ上の複数のピンをデスウィズルするための複数の技術を提供する。そこでは、複数のメモリデータコネクタの各々に対し、1つのマスクされるデータコネクタを除く、すべてのデータコネクタに対しパターン値が送信され、そのデータコネクタのマッピングを可能にする。次に、メモリコントローラ108はビットが反転された第1の値を受信するHMCデータコネクタを、複数の他のメモリデータコネクタに対し送信された値とは異なる、反転された第1の値を送信するようプログラムされたデータコネクタにマッピングしてよい。これによって、メモリチップ200上の複数のデータコネクタのデスウィズルが可能になり、その結果、メモリチップおよびメモリコントローラは、異なるピンレイアウトアーキテクチャを有する複数のシステム内で動作してよい。
記載された複数の実施形態のロジックまたはコードが、電子回路、ストレージ材、無機物、有機物、生体物質、ケーシング、筐体、コーティング、およびハードウェアのうちの少なくとも1つを含む「コンピュータ可読記録媒体」内に格納若しくは記録されてよい。コンピュータ可読記録媒体は限定されないが、磁気ストレージ媒体(例えば、複数のハードディスクドライブ、フロッピー(登録商標)ディスク、テープ等)、光ストレージ(複数のCD―ROM、DVD、光ディスク等)、揮発性および不揮発性メモリデバイス(例えば、複数のEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュメモリ、ファームウェア、プログラマブルロジック等)、複数のソリッドステートデバイス(SSD)等を含んでよい。記載された複数の動作を実装するコードはさらに、ハードウェアデバイス(例えば、集積回路チップ、プログラマブルゲートアレイ(PGA)、特定用途向け集積回路(ASIC)等)に実装されるハードウェアロジックに実装されてよい。さらにまた、記載された複数の動作を実装するコードは、「複数の送信信号」内に実装されてよく、当該複数の送信信号は、空間を介してまたは光ファイバ、銅線等のような送信媒体を介して伝播してよい。コードまたはロジックがエンコードされた複数の送信信号はさらに、無線信号、衛星送信、電波、赤外線信号、Bluetooth(登録商標)等を含んでよい。コンピュータ可読記録媒体内に埋め込まれたプログラムコードが、複数の送信信号として、送信局若しくはコンピュータから、受信局若しくはコンピュータへ送信されてよい。コンピュータ可読記録媒体は、複数の送信信号のみで構成されない。当業者は、本発明の範囲を逸脱することなく、多くの修正が本構成に対しなされ得、製造物品は、当該技術分野で既知の好適な情報保持媒体を含んでよいことを認識するであろう。
本明細書における「一実施形態」または「ある実施形態」という言及は、当該実施形態に関連して説明された特定の特徴、構造、または特性が、本発明の少なくとも一実施形態に含まれることを意味することを理解されたい。従って、本明細書の様々な箇所における「ある実施形態」または「一実施形態」または「代替的な実施形態」という2または2より多い言及は、すべて必ずしも同一の実施形態について言及しているわけではないことを強調し、かつ理解されたい。さらに、複数の特定の特徴、構造、または特性は、本発明の1または複数の実施形態において、好適に組み合わされてよい。
同様に、複数の実施形態の上記説明において、本開示を合理化し、種々の本発明の態様を理解するのに役立つために、様々な特徴が時として単一の実施形態、図、またはその説明においてグループ化されていることを理解されたい。しかしながら、この開示方法は、特許請求された主題が、各請求項に明示的に記載されたものより、多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。そうではなく、以降の特許請求の範囲が反映しているように、複数の発明的態様は、上記で開示されている単一の実施形態のすべての特徴より少ないものに存する。よって、詳細な説明の後に続く、特許請求の範囲は、本明細書において、この詳細な説明に明示的に組み込まれる。
[複数の例]
以下の複数の例は、複数のさらなる実施形態に関する。
例1は、メモリチャネルを介してメモリに連結されるデバイスであって、メモリがメモリチャネルに対する複数のメモリデータコネクタを含む複数のメモリコネクタを有し、メモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含むメモリチャネルに対する複数のデバイスコネクタと、実行時に動作を実行するロジックと、を備え、上記動作は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングすることを実行することと、を含むデバイスである。
例2において、例1の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムすることは、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行することと、を含み得る。
例3において、例2の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムすることを含み得る。
例4において、例3の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
例5において、例4の主題は任意に、上記第1の値を生成すべく、上記マスクは、上記メモリに、上記マスク内で示される上記選択されたメモリデータコネクタのための上記パターン内の上記値を反転させることを含み得る。
例6において、例3の主題は任意に、上記メモリ内で上記パターンを上記プログラムすること、および上記複数のメモリデータコネクタの各々に対し、上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることを上記実行することは、上記メモリのモードレジスタ内で複数のビットをプログラムすることを含み得る。
例7において、例3の主題は任意に、上記パターンを上記プログラムすることは、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含み得る。
例8において、例7の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
例9において、例8の主題は任意に、上記少なくとも1つのパターンモードレジスタビットは、上記複数のメモリデータコネクタに対し、すべてゼロのパターンを示し、上記第1の値は1を含むことを含み得る。
例10において、例8の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
例11において、例7の主題は任意に、上記少なくとも1つのパターンモードレジスタビットを上記プログラムすることは、複数のパターンモードレジスタビットをプログラムすることを含み、各パターンモードレジスタビットは、複数のメモリデータコネクタピンのサブセットのための複数のパターン値を提供し、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記第1の値が生成される上記選択されたメモリデータコネクタを示すべく、複数のマスクモードレジスタビットをプログラムすることを含むことを含み得る。
例12は、メモリコントローラと、メモリモジュールと、上記メモリコントローラと上記メモリモジュールとを連結するメモリチャネルと、を備え、上記メモリチャネルは、複数のメモリデータコネクタを含む上記メモリモジュール上の複数のメモリコネクタと、データを送信すべく、上記複数のメモリデータコネクタのうちの1つに各々が接続する複数のメモリコントローラデータコネクタを含む上記メモリコントローラ上の複数のメモリコントローラコネクタと、を含むシステムである。上記メモリコントローラは、実行時に動作を実行するロジックを含み、上記動作は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングすることを実行することと、を含む。
例13において、例12の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムすることは、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムすること、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行すること、を含むことを含み得る。
例14において、例13の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムすることを含むことを含み得る。
例15において、例14の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
例16において、例14の主題は任意に、上記パターンを上記プログラムすることは、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含むことを含み得る。
例17において、例16の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
例18において、例17の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
例19は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムする段階と、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行する段階および読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングする段階を実行する段階と、を備える方法である。
例20において、例19の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムする段階は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムする段階と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行する段階と、を含むことを含み得る。
例21において、例20の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行する段階は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムする段階を含むことを含み得る。
例22において、例21の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
例23において、例21の主題は任意に、上記パターンを上記プログラムする段階は、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムする段階を含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行する段階は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムする段階を含むことを含み得る。
例24において、例23の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
例25において、例24の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムする段階は、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
例26は、複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するようメモリをプログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行するための手段と、上記複数のメモリデータコネクタの各々に対し、読み取られた上記パターン内の上記第1の値を受信するデバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングするための手段と、を備える装置である。
例27において、例25の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段と、を含むことを含み得る。
例28において、例24の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを実行するための手段は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムするための手段を含むことを含み得る。
例29は、メモリチャネルを介してメモリに連結されるデバイスであって、メモリはメモリチャネルに対する複数のメモリデータコネクタを含む複数のメモリコネクタを有し、メモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含む、メモリチャネルに対する複数のデバイスコネクタを備え、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムするための手段を含み、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行するための手段と、上記複数のメモリデータコネクタの各々に対し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングするための手段と、を含むデバイスである。
例30において、例29の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段と、を含むことを含み得る。
例31において、例30の主題は任意に、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムするための手段を含むことを含み得る。
例32において、例31の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
例33において、例32の主題は任意に、上記第1の値を生成すべく、上記マスクは、上記メモリに、上記マスク内で示される上記選択されたメモリデータコネクタのための上記パターン内の上記値を反転させることを含み得る。
例34において、例31の主題は任意に、上記メモリ内で上記パターンを上記プログラムするための、および上記複数のメモリデータコネクタの各々に対し、上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることを上記実行するための手段は、上記メモリのモードレジスタ内で複数のビットをプログラムするための手段を含むことを含み得る。
例35において、例31の主題は任意に、上記パターンをプログラムするための手段は、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムするための手段を含み、上記複数のメモリデータコネクタの各々に対し、上記マスクをプログラムするための手段は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムするための手段を含むことを含み得る。
例36において、例35の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
例37において、例36の主題は任意に、上記少なくとも1つのパターンモードレジスタビットは、上記複数のメモリデータコネクタに対し、すべてゼロのパターンを示し、上記第1の値は1を含むことを含み得る。
例38において、例36の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムするための手段は、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
例39において、例35の主題は任意に、上記少なくとも1つのパターンモードレジスタビットを上記プログラムするための手段は、複数のパターンモードレジスタビットをプログラムするための手段を含み、各パターンモードレジスタビットは、複数のメモリデータコネクタピンのサブセットのための複数のパターン値を提供し、上記少なくとも1つのマスクモードレジスタビットをプログラムするための手段は、上記第1の値が生成される上記選択されたメモリデータコネクタを示すべく、複数のマスクモードレジスタビットをプログラムするための手段を含むことを含み得る。
例40は、上記例29〜39のいずれかにおけるメモリおよびデバイスを含むシステムである。

Claims (25)

  1. メモリチャネルを介してメモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含む、前記メモリチャネルへの複数のデバイスコネクタと、
    実行時に動作を実行するロジックと、を備え、
    前記動作は、前記複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および前記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する前記第1の値とは異なる値を有する前記複数のメモリデータコネクタのパターンを送信するよう前記メモリをプログラムすることと、
    前記複数のメモリデータコネクタの各々に対し、
    前記複数のメモリデータコネクタの前記パターンを読み取るための読み取りコマンドを発行し、
    読み取られた前記パターン内の前記第1の値を受信する前記デバイスデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングすることを実行することとを含む、デバイス。
  2. 前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムすることは、
    前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムすることと、
    前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行することと、を含む、請求項1に記載のデバイス。
  3. 前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることの前記インスタンスを前記実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムすることを含む、請求項2に記載のデバイス。
  4. 前記第1の値は、前記選択されたメモリデータコネクタのための前記パターン内で示される前記値とは異なる、請求項3に記載のデバイス。
  5. 前記第1の値を生成すべく、前記マスクは、前記メモリに、前記マスク内で示される前記選択されたメモリデータコネクタのための前記パターン内の前記値を反転させる、請求項4に記載のデバイス。
  6. 前記メモリ内で前記パターンを前記プログラムすること、および前記複数のメモリデータコネクタの各々に対し、前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることを前記実行することは、前記メモリのモードレジスタ内で複数のビットをプログラムすることを含む、請求項3に記載のデバイス。
  7. 前記パターンを前記プログラムすることは、前記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、
    前記複数のメモリデータコネクタの各々に対し、前記メモリを前記プログラムすることの前記インスタンスを実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含む、請求項3に記載のデバイス。
  8. 前記少なくとも1つのマスクモードレジスタビット内で示される前記選択されたメモリデータコネクタのために出力される前記第1の値は、前記少なくとも1つのパターンモードレジスタビット内の前記選択されたメモリデータコネクタのために提供される値とは異なる、請求項7に記載のデバイス。
  9. 前記少なくとも1つのパターンモードレジスタビットは、前記複数のメモリデータコネクタに対し、すべてゼロのパターンを示し、前記第1の値は1を含む、請求項8に記載のデバイス。
  10. 前記少なくとも1つのマスクモードレジスタビットを前記プログラムすることは、前記メモリに、
    前記少なくとも1つのマスクモードレジスタビット内で示される前記選択されたメモリデータコネクタのための前記第1の値を出力させ、
    前記選択されたメモリデータコネクタ以外の前記複数のメモリデータコネクタのための前記少なくとも1つのパターンモードレジスタビット内で示される前記パターンを出力させ、
    前記第1の値は、前記選択されたメモリデータコネクタのための前記少なくとも1つのマスクモードレジスタビット内で示される前記パターン内の値の反転を含む、請求項8に記載のデバイス。
  11. 前記少なくとも1つのパターンモードレジスタビットを前記プログラムすることは、複数のパターンモードレジスタビットをプログラムすることを含み、
    各パターンモードレジスタビットは、複数のメモリデータコネクタピンのサブセットのための複数のパターン値を提供し、
    前記少なくとも1つのマスクモードレジスタビットを前記プログラムすることは、前記第1の値が生成される前記選択されたメモリデータコネクタを示すべく、複数のマスクモードレジスタビットをプログラムすることを含む、請求項7に記載のデバイス。
  12. メモリコントローラと、
    メモリモジュールと、
    前記メモリコントローラと前記メモリモジュールとを連結するメモリチャネルと、を備え、
    前記メモリチャネルは、
    複数のメモリデータコネクタを含む前記メモリモジュール上の複数のメモリコネクタと、
    データを送信すべく、前記複数のメモリデータコネクタのうちの1つに各々が接続する複数のメモリコントローラデータコネクタを含む前記メモリコントローラ上の複数のメモリコントローラコネクタと、を含み、
    前記メモリコントローラは、実行時に動作を実行するロジックを含み、
    前記動作は、前記複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および前記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する前記第1の値とは異なる値を有する前記複数のメモリデータコネクタのパターンを送信するよう前記メモリをプログラムすることと、
    前記複数のメモリデータコネクタの各々に対し、
    前記複数のメモリデータコネクタの前記パターンを読み取るための読み取りコマンドを発行し、
    読み取られた前記パターン内の前記第1の値を受信する前記メモリコントローラデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングすることを実行することとを含む、システム。
  13. 前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムすることは、
    前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムすること、および
    前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行すること、を含む、請求項12に記載のシステム。
  14. 前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることの前記インスタンスを前記実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムすることを含む、請求項13に記載のシステム。
  15. 前記第1の値は、前記選択されたメモリデータコネクタのための前記パターン内で示される前記値とは異なる、請求項14に記載のシステム。
  16. 前記パターンを前記プログラムすることは、前記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、
    前記複数のメモリデータコネクタの各々に対し、前記メモリを前記プログラムすることの前記インスタンスを実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含む、請求項14または15に記載のシステム。
  17. 複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および前記選択されたメモリデータコネクタ以外の前記複数のメモリデータコネクタに対する前記第1の値とは異なる値を有する前記複数のメモリデータコネクタのパターンを送信するようメモリをプログラムする段階と、
    前記複数のメモリデータコネクタの各々に対し、
    前記複数のメモリデータコネクタの前記パターンを読み取るための読み取りコマンドを発行する段階および
    読み取られた前記パターン内の前記第1の値を受信するデバイスデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングする段階を実行する段階とを備える、方法。
  18. 前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムする段階は、
    前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムする段階と、
    前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行する段階と、を含む、請求項17に記載の方法。
  19. 前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることの前記インスタンスを前記実行する段階は、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムする段階を含む、請求項18に記載の方法。
  20. 前記パターンを前記プログラムする段階は、前記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムする段階を含み、
    前記複数のメモリデータコネクタの各々に対し、前記メモリを前記プログラムすることの前記インスタンスを実行する段階は、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムする段階を含む、請求項18または19に記載の方法。
  21. 前記少なくとも1つのマスクモードレジスタビット内で示される前記選択されたメモリデータコネクタのために出力される前記第1の値は、前記少なくとも1つのパターンモードレジスタビット内の前記選択されたメモリデータコネクタのために提供される値とは異なる、請求項20に記載の方法。
  22. 前記少なくとも1つのマスクモードレジスタビットを前記プログラムする段階は、前記メモリに、
    前記少なくとも1つのマスクモードレジスタビット内で示される前記選択されたメモリデータコネクタのための前記第1の値を出力させ、
    前記選択されたメモリデータコネクタ以外の前記複数のメモリデータコネクタのための前記少なくとも1つのパターンモードレジスタビット内で示される前記パターンを出力させ、
    前記第1の値は、前記選択されたメモリデータコネクタのための前記少なくとも1つのマスクモードレジスタビット内で示される前記パターン内の値の反転を含む、請求項21に記載の方法。
  23. 複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および前記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する前記第1の値とは異なる値を有する前記複数のメモリデータコネクタのパターンを送信するようメモリをプログラムするための手段と、
    前記複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタの前記パターンを読み取るための読み取りコマンドを発行するための手段と、
    前記複数のメモリデータコネクタの各々に対し、読み取られた前記パターン内の前記第1の値を受信するデバイスデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングするための手段と、を備える、装置。
  24. 前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムするための手段は、
    前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムするための手段と、
    前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムするための手段と、を含む、請求項23に記載の装置。
  25. 前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行するための手段は、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムするための手段を含む、請求項24に記載の装置。
JP2016545724A 2013-09-27 2013-09-27 デバイス、システム、方法、および装置 Expired - Fee Related JP6187841B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062474 WO2015047352A1 (en) 2013-09-27 2013-09-27 Mapping memory controller connectors to memory connectors

Publications (2)

Publication Number Publication Date
JP2016532230A true JP2016532230A (ja) 2016-10-13
JP6187841B2 JP6187841B2 (ja) 2017-08-30

Family

ID=52741289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545724A Expired - Fee Related JP6187841B2 (ja) 2013-09-27 2013-09-27 デバイス、システム、方法、および装置

Country Status (6)

Country Link
US (1) US9384164B2 (ja)
EP (2) EP3812913A1 (ja)
JP (1) JP6187841B2 (ja)
KR (1) KR101845368B1 (ja)
CN (1) CN105474187B (ja)
WO (1) WO2015047352A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9281067B1 (en) * 2014-08-11 2016-03-08 Samsung Electronics Co., Ltd. Semiconductor test system and operation method of the same
US10496332B2 (en) * 2017-12-18 2019-12-03 Intel Corporation Data path training and timing signal compensation for non-volatile memory device interface
DE112019007656T5 (de) * 2019-08-23 2022-06-15 Micron Technology, Inc. Dynamische kanalzuordnung für ein speichersystem
CN111078156B (zh) * 2019-12-27 2023-09-08 深圳大普微电子科技有限公司 一种闪存数据映射方法、dq映射模组及存储设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153925A1 (en) * 2009-12-22 2011-06-23 Bains Kuljit S Memory controller functionalities to support data swizzling
JP2012003812A (ja) * 2010-06-18 2012-01-05 Sony Corp 半導体デバイス

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370668B1 (en) 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
JP4383601B2 (ja) 1999-09-30 2009-12-16 株式会社東芝 高速メモリ装置、高速メモリ装置のソケット実装構造、及び高速メモリ装置の実装方法
US6801459B2 (en) * 2002-03-22 2004-10-05 Intel Corporation Obtaining data mask mapping information
US6957307B2 (en) * 2002-03-22 2005-10-18 Intel Corporation Mapping data masks in hardware by controller programming
US7200787B2 (en) * 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US20070005836A1 (en) * 2005-06-07 2007-01-04 Sandeep Jain Memory having swizzled signal lines
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7756123B1 (en) 2006-12-21 2010-07-13 Nvidia Corporation Apparatus, system, and method for swizzling of a PCIe link
US7624310B2 (en) * 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
US8495330B2 (en) * 2010-04-02 2013-07-23 Intel Corporation Method and apparatus for interfacing with heterogeneous dual in-line memory modules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153925A1 (en) * 2009-12-22 2011-06-23 Bains Kuljit S Memory controller functionalities to support data swizzling
JP2012003812A (ja) * 2010-06-18 2012-01-05 Sony Corp 半導体デバイス

Also Published As

Publication number Publication date
WO2015047352A1 (en) 2015-04-02
EP3049942B1 (en) 2021-10-20
KR101845368B1 (ko) 2018-04-05
US20150095547A1 (en) 2015-04-02
KR20160034978A (ko) 2016-03-30
CN105474187A (zh) 2016-04-06
US9384164B2 (en) 2016-07-05
EP3812913A1 (en) 2021-04-28
CN105474187B (zh) 2018-08-21
EP3049942A4 (en) 2017-05-17
JP6187841B2 (ja) 2017-08-30
WO2015047352A9 (en) 2021-02-18
EP3049942A1 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
CN109074851B (zh) 利用额外系统位的内部错误校验和校正(ecc)
US8819377B2 (en) System and method of operating memory devices of mixed type
KR102005855B1 (ko) 하이브리드 메모리 모듈들을 위한 메모리의 i/o들을 구성하기 위한 장치들 및 방법들
CN105283918A (zh) 使用多周期命令实现存储器装置访问的设备、方法和系统
JP6187841B2 (ja) デバイス、システム、方法、および装置
US11200932B2 (en) Non-volatile memory device, controller and memory system
US10860518B2 (en) Integrated circuit system
CN108139992B (zh) 访问存储设备的方法和存储设备
KR20220083883A (ko) 메모리 장치, 그것의 데이터 출력 방법 및 그것을 갖는 메모리 시스템
KR101221265B1 (ko) 구성가능 입력/출력 포트를 구비한 메모리 모듈
CN102053936A (zh) Fpga通过ddr2接口与dsp通信的方法及装置
JP2021099892A (ja) 動的近接ベースのオンダイターミネーション技術
US9281033B2 (en) Semiconductor devices and semiconductor systems including the same
KR20120130871A (ko) 메모리 시스템 및 그 리프레시 제어 방법
EP3958134B1 (en) Storage device for high speed link startup and storage system including the same
CN111370051B (zh) 一种非易失存储器验证系统及方法
US20230112776A1 (en) Operation method of memory module, operation method of memory controller, and operation method of memory system
EP4160419A1 (en) Operation method of memory module, operation method of memory controller, and operation method of memory system
US10452277B2 (en) Memory device and operating method thereof
CN112309444A (zh) 存储器接口电路、存储器存储装置及设定状态检测方法
CN116504289A (zh) 存储器件
KR20150001946A (ko) 순환 중복 검사 회로를 갖는 반도체 장치 및 메모리 시스템
KR20100070595A (ko) 프로세서와 다수의 낸드 플래시 메모리의 액세스 연결 구조

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170719

R150 Certificate of patent or registration of utility model

Ref document number: 6187841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees