特許第6187841号(P6187841)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル・コーポレーションの特許一覧

<>
  • 特許6187841-デバイス、システム、方法、および装置 図000002
  • 特許6187841-デバイス、システム、方法、および装置 図000003
  • 特許6187841-デバイス、システム、方法、および装置 図000004
  • 特許6187841-デバイス、システム、方法、および装置 図000005
  • 特許6187841-デバイス、システム、方法、および装置 図000006
  • 特許6187841-デバイス、システム、方法、および装置 図000007
  • 特許6187841-デバイス、システム、方法、および装置 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6187841
(24)【登録日】2017年8月10日
(45)【発行日】2017年8月30日
(54)【発明の名称】デバイス、システム、方法、および装置
(51)【国際特許分類】
   G06F 12/06 20060101AFI20170821BHJP
   G06F 13/16 20060101ALI20170821BHJP
   G11C 7/10 20060101ALI20170821BHJP
【FI】
   G06F12/06 510A
   G06F13/16 510A
   G11C7/10 154
【請求項の数】25
【全頁数】24
(21)【出願番号】特願2016-545724(P2016-545724)
(86)(22)【出願日】2013年9月27日
(65)【公表番号】特表2016-532230(P2016-532230A)
(43)【公表日】2016年10月13日
(86)【国際出願番号】US2013062474
(87)【国際公開番号】WO2015047352
(87)【国際公開日】20150402
【審査請求日】2016年3月23日
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】バインス、クルジット
(72)【発明者】
【氏名】マッコール、ジェイムス エイ.
【審査官】 後藤 彰
(56)【参考文献】
【文献】 米国特許出願公開第2011/0153925(US,A1)
【文献】 特開2012−3812(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/06
G06F 13/16
G11C 7/10
(57)【特許請求の範囲】
【請求項1】
メモリチャネルを介してメモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含む、前記メモリチャネルへの複数のデバイスコネクタと、
実行時に動作を実行するロジックと、を備え、
前記動作は、前記複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第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の値を受信する前記メモリコントローラデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングすることを実行することとを含む、システム。
【請求項13】
前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムすることは、
前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムすること、および
前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行すること、を含む、請求項12に記載のシステム。
【請求項14】
前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることの前記インスタンスを前記実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムすることを含む、請求項13に記載のシステム。
【請求項15】
前記第1の値は、前記選択されたメモリデータコネクタのための前記パターン内で示される前記値とは異なる、請求項14に記載のシステム。
【請求項16】
前記パターンを前記プログラムすることは、前記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、
前記複数のメモリデータコネクタの各々に対し、前記メモリを前記プログラムすることの前記インスタンスを実行することは、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含む、請求項14または15に記載のシステム。
【請求項17】
複数のメモリデータコネクタの各々に対し、前記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および前記選択されたメモリデータコネクタ以外の前記複数のメモリデータコネクタに対する前記第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の値を受信するデバイスデータコネクタを、前記第1の値を送信する前記選択されたメモリデータコネクタにマッピングするための手段と、を備える、装置。
【請求項24】
前記複数のメモリデータコネクタの各々に対し、前記パターンを送信するよう前記メモリを前記プログラムするための手段は、
前記複数のメモリデータコネクタに対し、前記メモリ内で前記パターンを一回プログラムするための手段と、
前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムするための手段と、を含む、請求項23に記載の装置。
【請求項25】
前記複数のメモリデータコネクタの各々に対し、前記第1の値が送信される前記選択されたメモリデータコネクタを示すべく、前記メモリを前記プログラムすることのインスタンスを実行するための手段は、前記第1の値が送信される前記選択されたメモリデータコネクタを示すマスクを前記メモリ内でプログラムするための手段を含む、請求項24に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の複数の実施形態は概して、単一のチャネルまたはバス上で、メモリコントローラが、当該チャネルおよび当該メモリコントローラに連結された複数のスロットと互換性のあるピンレイアウトを有する複数のメモリチップまたはモジュールと通信するメモリシステムに関する。
【背景技術】
【0002】
メモリコントローラは、チャネルに連結された複数のメモリモジュールによって使用されるプロトコル、例えば、電子素子技術連合評議会(JEDEC)Double Data Rate(DDR)Third Generation Synchronous Dynamic Random Access Memory(SDRAM)プロトコル、JEDEC SDRAM Low Power Double Data Rate 3(LPDDR3)等をサポートし得る。メモリチャネルを使用する前に、メモリコントローラは、メモリモジュール内のメモリチップを動作のために構成する。
【0003】
複数の添付図面を参照しつつ、例示目的で複数の実施形態が記載される。図面は正確な縮尺率ではなく、同一の参照番号は、同様の要素を指す。
【図面の簡単な説明】
【0004】
図1】メモリシステムを有するシステムの実施形態を示す。
図2】メモリチップの実施形態を示す。
図3】メモリコントローラ上の複数のコネクタのメモリチップ上の複数のコネクタへのスウィズルの実施形態を示す。
図4】メモリコントローラデータコネクタをメモリチップ上の1つのデータコネクタに関連付けるコネクタマッピングの実施形態を示す。
図5A】メモリチップの複数のデータコネクタをメモリコントローラ上の複数のデータコネクタにマッピングする、メモリコントローラのための複数の動作の実施形態を示す。
図5B】メモリチップの複数のデータコネクタをメモリコントローラ上の複数のデータコネクタにマッピングする、メモリコントローラのための複数の動作の実施形態を示す。
図6】メモリチップ上のコネクタをメモリコントローラ上のコネクタにマッピングするために送信されるビットパターンの実施形態を示す。
【発明を実施するための形態】
【0005】
複数の特定のメモリ実装において、メモリチップ上の複数のコネクタ(例えば、複数のDQピン)の内部または外部にあるデータは、ルーティングを最適化するために、スウィズルされる。スウィズルのために、メモリコントローラは、複数のピンを動的にデスウィズルする必要があり、このことはメモリコントローラ上の複数のピンのメモリチップ若しくはモジュール上の複数のピンへのマッピングの決定を伴う。複数のDQピンを覆うデータストローブ数に応じて、複数のDQピンがニブルまたはバイト内でスウィズルされてよい。単一のデータストローブが1バイトを覆う場合、複数のDQピンはスウィズルされ、そのバイト内の長さは一致する。しかしながら、LPDDR2およびLPDDR3のような特定のメモリデバイスは、スウィズルを許容しない。DDR4のような他のメモリデバイスは、メモリコントローラ上の複数のピンのメモリモジュール上の複数のピンへのマッピングを決定する、複雑なトレーニング方法を提供する。DDR4では、MPR(多目的レジスタ)からの複数の読み取りのために、動作のシリアルおよびパラレルモードが定義される。
【0006】
記載される複数の実施形態は、マッピングするメモリチップ上の複数のコネクタの各々に対し、ビットパターンの複数のインスタンスを送信するようメモリチップをプログラミングすることによって、メモリコントローラが、データ入力および出力ピン(DQピン)のようなメモリチップ上の複数のデータコネクタのメモリコントローラ上の複数のコネクタへのマッピングを決定する技術を提供する。パターンの送信の各インスタンスにおいて、メモリコントローラは、複数の他のデータコネクタで受信されるビット値とは異なる第1のビット値を受信するメモリコントローラ上のコネクタを決定する。メモリコントローラは、複数のビットパターンの送信の例から、第1のビット値を送信するメモリデバイスコネクタを決定し、それにより、第1の値を送信するメモリチップコネクタを、その第1の値を受信するメモリコントローラ上のコネクタにマッピングできる。このマッピングが一回実行されると、複数のI/O動作のために、メモリコントローラおよびメモリチップを準備すべく、読み取りトレーニングシーケンスが実行されてよい。
【0007】
以下の詳細な説明には、本発明のより完全な理解を提供すべく、多数の具体的な詳細が記載されている。それらは例えば、複数のロジック実装、演算コード、複数のオペランドを指定する手段、リソースパーティショニング/共有/重複の実装、複数のシステムコンポーネントのタイプおよび相互関係、およびロジックパーティショニング/統合の選択肢である。しかしながら、本発明は、そのような具体的な詳細がなくても、実施可能であることが当業者によって理解されるであろう。複数の他の例において、本発明を不明瞭にしないため、コントロール構造、ゲートレベル回路および完全なソフトウェア命令シーケンスは詳細に示されていない。詳細な説明を読んだ当業者であれば、何度も実験を繰り返さなくても、適切な機能を実装できるであろう。
【0008】
本明細書における「一実施形態」、「実施形態」、「例示的な実施形態」等の言及は、記載された実施形態が、特定の特徴、構造または特性を含む場合があるが、各実施形態が必ずしもその特定の特徴、構造または特性を含むものではないことを示す。また、そのような表現は必ずしも同一の実施形態を指すものではない。
【0009】
以下の詳細な説明および特許請求の範囲において、「連結され」および「接続され」という用語がそれらの派生語とともに使用される可能性がある。これらの用語は、互いの同義語として意図されていないと理解されるべきである。「連結され」は、2または2より多い要素が直接物理的若しくは電気的に互いに接触していてもしていなくてもよいが、互いに連携または対話することを示すため使用される。「接続され」は、互いに連結された2または2より多い要素の間での通信の確立を示すのに使用される。複数の特定の実施形態は、複数のメモリデバイスの電子アセンブリに関する。複数の実施形態は、複数の電子アセンブリを形成するための複数のデバイスおよび方法の両方を含む。
【0010】
図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マザーボード上に実装されてよく、あるいは複数のチップが、単一のメモリモジュール若しくはパッケージ上に実装されてよい。
【0011】
メモリコントローラ108はメモリコントローラ108の複数の動作を実装するロジック112およびメモリチャネル110上の複数のHMCデータコネクタのメモリチップ200a、200bのうちの一方上の複数のメモリデータコネクタへのマッピングを提供するコネクタマップ400を含み、その結果、複数のメモリデータコネクタがスウィズルされる場合、コネクタマップ400は、複数のHMCデータコネクタと複数のメモリチップデータコネクタとの関係を提供し、それらの間の通信を可能にする。各メモリチップ200a、200bのための別個のコネクタマップ400が存在してよい。
【0012】
一実施形態において、システム100はスマートフォン、デジタルカメラ等のようなモバイル若しくは小型のコンピュータデバイスを備え、メモリチップ200a、200bはLPDDR3、LPDDR4等のような複数の低電力ダブルデータレート(LPDDR)メモリチップを備えてよい。複数の代替的な実施形態において、メモリチップ200a、200bは、複数のダブルデータレート(DDR)メモリのような複数の他のメモリチップを備えてよい。複数のさらなる実施形態において、メモリチップ200a、200bはメモリモジュール上に搭載されてよい。複数のさらなる実施形態において、システム100は、モバイル若しくは小型のコンピューティングデバイス以外のコンピューティングデバイスを備えてよい。
【0013】
図2は、メモリチップ200aおよび200bのうちの1つを備える、メモリチップ200の実施形態を示す。メモリチップ200は、モードレジスタビット202、メモリコントローラ108からの例えば、読み取り、書き込み、およびモードレジスタコマンドといった複数のコマンドに応答して、複数の動作を実行するメモリロジック204、およびメモリチップ200に対するデータを複数のアドレス指定可能な場所に格納するメモリストレージセル206を含む。モードレジスタビット202は、動作のモードを定義するために使用されてよい。
【0014】
メモリロジック204およびメモリコントローラロジック112を実装するコードまたはロジックは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等のようなハードウェアロジックにエンコードされてよい。
【0015】
図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コネクタといった、追加目的のための複数の追加のコネクタがコネクタレイアウト上に存在してよい。
【0016】
図4は、例えばDQおよびDMIコネクタのような1つのメモリコントローラコネクタ402を複数のメモリコネクタ404のうちの1つに関連付けるコネクタマップ400内のエントリ400の例の実施形態を示す。例えば、メモリコントローラ402ピンは、ピン番号を含んでよく、メモリモジュールピン404は例えばDQ0〜DQ15、DMI0、DMI1等のピン名を識別してよい。
【0017】
図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上のデータコネクタの数に応じて、より多いまたはより少ないパターンモードレジスタビットが存在してよい。
【0018】
複数のパターンモードレジスタビットをプログラムするための少なくとも1つのコマンドの送信に応答して、メモリロジック204は、例えばDQ0〜DQ15のデータコネクタのための複数のパターン値を提供するパターンモードレジスタビット202を、提供されたパターン値、例えば0に設定する(ブロック504において)。
【0019】
モードレジスタ202のためのパターンをプログラミング後、HMCロジック204は変数iをゼロに設定し(ブロック506において)、次にブロック508、512、および532〜542において、コネクタマップ400内でマッピングする、各データコネクタ(例えば、DQ0〜DQ15)に対し、複数の動作を実行する。
【0020】
HMCロジック112は、メモリデータコネクタiをマスクすることを示す少なくとも1つのマスクモードレジスタ202をプログラムすべく、HMCコマンド上の少なくとも1つのセットコマンドおよび複数のアドレスコネクタ306aを送信し(ブロック508において)、ここにおいて、コネクタi以外の複数の他のメモリデータコネクタはマスクされない。マスクのための少なくとも1つのモードレジスタセットコマンドに応答して、メモリロジック204は、メモリデータコネクタiをマスクするよう示すべく、少なくとも1つのマスクモードレジスタビット202を設定する(ブロック510において)。マスクは、マスクされるよう示されたデータコネクタのためのパターン値を反転するよう指示してよく、その結果、マスクされるデータコネクタに対し、複数の他のデータコネクタに生成される値以外の異なる第1の値が生成される。
【0021】
例えば、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はどれもマスクされないことを示す。
【0022】
メモリデータコネクタ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において)。
【0023】
図6は、第1のメモリデータコネクタDQ0 602をマッピングすべく出力されたパターン600の実施形態を示し、ここにおいてDQ0は、すべての他のデータコネクタDQ1〜DQ15に対するパターン値とは異なる、例えば1のマスクされた第1の値を有する。
【0024】
メモリコントローラ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に戻る。
【0025】
記載された複数の実施形態では、マッピングされる複数のデータメモリコネクタのためのメモリモードレジスタビット202内でパターンが最初にプログラムされ、マップするデータメモリコネクタに対応するマスクモードレジスタは、マップするコネクタの値を反転することを示すよう設定される。このように、HMC108が複数のデータメモリコネクタ308bのための複数のパターンモードレジスタ内で示されるパターンをトレーニングモードで読み取る場合、マスクされるデータコネクタの値は、第1の値、例えば1を生成すべく、パターンから反転され、それは他のデータコネクタに使用されるパターン値とは異なる。これによって、HMC108が、マスク若しくは反転されたビットを受信した、すなわち、メモリチャネル110上でマスクされたメモリデータコネクタ308bに接続されているHMCデータコネクタ308aを決定すべく、マスクされたメモリデータコネクタ308bを識別することを可能にし、複数のメモリデータコネクタ308bのデスウィズルを可能にする。読み取りおよび書き込み動作中、HMC108は、データを送信したメモリデータコネクタ308bを決定すべく、コネクタマップ400を使用する。
【0026】
複数の特定の実施形態において、パターンは複数のパターンモードレジスタ内で一回プログラムされ、マッピングする各データコネクタに対し、反転された値が出力されるデータコネクタを示すマスクを設定する複数の動作の反復が実行される。
【0027】
記載された複数の特定の実施形態では、複数の多目的モードレジスタが、パターンおよびマスクされるデータコネクタを示すようプログラムされ、その場合、パターンが一回設定され、マッピングする各メモリデータコネクタに対しマスクが設定される。複数の代替的な実施形態においては、読み取りトレーニング内で使用される複数の値を設定するために使用され得るメモリ内の複数の他のタイプのレジスタが使用されてよく、複数のデータコネクタに対するパターンが一旦設定され、複数のメモリデータコネクタ308bの各々にわたり、マッピングされるデータコネクタに対するマスクが複数の動作の特定の反復において設定される。
【0028】
複数のデータコネクタが一旦マッピングされると、HMC108は、複数の読み取りに対するデータバス反転をオンにし、複数のDMIピンの反転をもたらす特定のパターンをメモリに対しプログラミングすることによって、複数のデータマスクコネクタ(複数のDMIピン)をマッピングしてよく、その結果、複数のピンの各々のマッピング時に、複数のDMIピンの各々は、別々に反転されてよい。例えば、あるパターンは、すべて1の書き込みがメモリ200のDQ0〜DQ7上になされ、次に、読み取りは、DMI0ピンが1に設定され、かつDQ0〜DQ7上のデータはすべて0で反転されることをもたらすであろう。
【0029】
記載された複数の実施形態は、複数のメモリデータコネクタの各々に対し、マッピングする複数のメモリデータコネクタ上の複数のビットパターンの例を送信するようメモリチップをプログラミングすることによって、メモリコントローラにおけるメモリチップ上の複数のピンをデスウィズルするための複数の技術を提供する。そこでは、複数のメモリデータコネクタの各々に対し、1つのマスクされるデータコネクタを除く、すべてのデータコネクタに対しパターン値が送信され、そのデータコネクタのマッピングを可能にする。次に、メモリコントローラ108はビットが反転された第1の値を受信するHMCデータコネクタを、複数の他のメモリデータコネクタに対し送信された値とは異なる、反転された第1の値を送信するようプログラムされたデータコネクタにマッピングしてよい。これによって、メモリチップ200上の複数のデータコネクタのデスウィズルが可能になり、その結果、メモリチップおよびメモリコントローラは、異なるピンレイアウトアーキテクチャを有する複数のシステム内で動作してよい。
【0030】
記載された複数の実施形態のロジックまたはコードが、電子回路、ストレージ材、無機物、有機物、生体物質、ケーシング、筐体、コーティング、およびハードウェアのうちの少なくとも1つを含む「コンピュータ可読記録媒体」内に格納若しくは記録されてよい。コンピュータ可読記録媒体は限定されないが、磁気ストレージ媒体(例えば、複数のハードディスクドライブ、フロッピー(登録商標)ディスク、テープ等)、光ストレージ(複数のCD―ROM、DVD、光ディスク等)、揮発性および不揮発性メモリデバイス(例えば、複数のEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュメモリ、ファームウェア、プログラマブルロジック等)、複数のソリッドステートデバイス(SSD)等を含んでよい。記載された複数の動作を実装するコードはさらに、ハードウェアデバイス(例えば、集積回路チップ、プログラマブルゲートアレイ(PGA)、特定用途向け集積回路(ASIC)等)に実装されるハードウェアロジックに実装されてよい。さらにまた、記載された複数の動作を実装するコードは、「複数の送信信号」内に実装されてよく、当該複数の送信信号は、空間を介してまたは光ファイバ、銅線等のような送信媒体を介して伝播してよい。コードまたはロジックがエンコードされた複数の送信信号はさらに、無線信号、衛星送信、電波、赤外線信号、Bluetooth(登録商標)等を含んでよい。コンピュータ可読記録媒体内に埋め込まれたプログラムコードが、複数の送信信号として、送信局若しくはコンピュータから、受信局若しくはコンピュータへ送信されてよい。コンピュータ可読記録媒体は、複数の送信信号のみで構成されない。当業者は、本発明の範囲を逸脱することなく、多くの修正が本構成に対しなされ得、製造物品は、当該技術分野で既知の好適な情報保持媒体を含んでよいことを認識するであろう。
【0031】
本明細書における「一実施形態」または「ある実施形態」という言及は、当該実施形態に関連して説明された特定の特徴、構造、または特性が、本発明の少なくとも一実施形態に含まれることを意味することを理解されたい。従って、本明細書の様々な箇所における「ある実施形態」または「一実施形態」または「代替的な実施形態」という2または2より多い言及は、すべて必ずしも同一の実施形態について言及しているわけではないことを強調し、かつ理解されたい。さらに、複数の特定の特徴、構造、または特性は、本発明の1または複数の実施形態において、好適に組み合わされてよい。
【0032】
同様に、複数の実施形態の上記説明において、本開示を合理化し、種々の本発明の態様を理解するのに役立つために、様々な特徴が時として単一の実施形態、図、またはその説明においてグループ化されていることを理解されたい。しかしながら、この開示方法は、特許請求された主題が、各請求項に明示的に記載されたものより、多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。そうではなく、以降の特許請求の範囲が反映しているように、複数の発明的態様は、上記で開示されている単一の実施形態のすべての特徴より少ないものに存する。よって、詳細な説明の後に続く、特許請求の範囲は、本明細書において、この詳細な説明に明示的に組み込まれる。
【0033】
[複数の例]
以下の複数の例は、複数のさらなる実施形態に関する。
例1は、メモリチャネルを介してメモリに連結されるデバイスであって、メモリがメモリチャネルに対する複数のメモリデータコネクタを含む複数のメモリコネクタを有し、メモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含むメモリチャネルに対する複数のデバイスコネクタと、実行時に動作を実行するロジックと、を備え、上記動作は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングすることを実行することと、を含むデバイスである。
【0034】
例2において、例1の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムすることは、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行することと、を含み得る。
【0035】
例3において、例2の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムすることを含み得る。
【0036】
例4において、例3の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
【0037】
例5において、例4の主題は任意に、上記第1の値を生成すべく、上記マスクは、上記メモリに、上記マスク内で示される上記選択されたメモリデータコネクタのための上記パターン内の上記値を反転させることを含み得る。
【0038】
例6において、例3の主題は任意に、上記メモリ内で上記パターンを上記プログラムすること、および上記複数のメモリデータコネクタの各々に対し、上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることを上記実行することは、上記メモリのモードレジスタ内で複数のビットをプログラムすることを含み得る。
【0039】
例7において、例3の主題は任意に、上記パターンを上記プログラムすることは、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含み得る。
【0040】
例8において、例7の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
【0041】
例9において、例8の主題は任意に、上記少なくとも1つのパターンモードレジスタビットは、上記複数のメモリデータコネクタに対し、すべてゼロのパターンを示し、上記第1の値は1を含むことを含み得る。
【0042】
例10において、例8の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
【0043】
例11において、例7の主題は任意に、上記少なくとも1つのパターンモードレジスタビットを上記プログラムすることは、複数のパターンモードレジスタビットをプログラムすることを含み、各パターンモードレジスタビットは、複数のメモリデータコネクタピンのサブセットのための複数のパターン値を提供し、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記第1の値が生成される上記選択されたメモリデータコネクタを示すべく、複数のマスクモードレジスタビットをプログラムすることを含むことを含み得る。
【0044】
例12は、メモリコントローラと、メモリモジュールと、上記メモリコントローラと上記メモリモジュールとを連結するメモリチャネルと、を備え、上記メモリチャネルは、複数のメモリデータコネクタを含む上記メモリモジュール上の複数のメモリコネクタと、データを送信すべく、上記複数のメモリデータコネクタのうちの1つに各々が接続する複数のメモリコントローラデータコネクタを含む上記メモリコントローラ上の複数のメモリコントローラコネクタと、を含むシステムである。上記メモリコントローラは、実行時に動作を実行するロジックを含み、上記動作は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムすることと、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングすることを実行することと、を含む。
【0045】
例13において、例12の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムすることは、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムすること、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行すること、を含むことを含み得る。
【0046】
例14において、例13の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムすることを含むことを含み得る。
【0047】
例15において、例14の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
【0048】
例16において、例14の主題は任意に、上記パターンを上記プログラムすることは、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムすることを含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行することは、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムすることを含むことを含み得る。
【0049】
例17において、例16の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
【0050】
例18において、例17の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムすることは、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
【0051】
例19は、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムする段階と、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行する段階および読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングする段階を実行する段階と、を備える方法である。
【0052】
例20において、例19の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムする段階は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムする段階と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることのインスタンスを実行する段階と、を含むことを含み得る。
【0053】
例21において、例20の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを上記実行する段階は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムする段階を含むことを含み得る。
【0054】
例22において、例21の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
【0055】
例23において、例21の主題は任意に、上記パターンを上記プログラムする段階は、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムする段階を含み、上記複数のメモリデータコネクタの各々に対し、上記メモリを上記プログラムすることの上記インスタンスを実行する段階は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムする段階を含むことを含み得る。
【0056】
例24において、例23の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
【0057】
例25において、例24の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムする段階は、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
【0058】
例26は、複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するようメモリをプログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行するための手段と、上記複数のメモリデータコネクタの各々に対し、読み取られた上記パターン内の上記第1の値を受信するデバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングするための手段と、を備える装置である。
【0059】
例27において、例25の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段と、を含むことを含み得る。
【0060】
例28において、例24の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることの上記インスタンスを実行するための手段は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムするための手段を含むことを含み得る。
【0061】
例29は、メモリチャネルを介してメモリに連結されるデバイスであって、メモリはメモリチャネルに対する複数のメモリデータコネクタを含む複数のメモリコネクタを有し、メモリ上の複数のメモリデータコネクタに接続する複数のデバイスデータコネクタを含む、メモリチャネルに対する複数のデバイスコネクタを備え、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタのうちの選択されたメモリデータコネクタに対する第1の値および上記選択されたメモリデータコネクタ以外の複数のメモリデータコネクタに対する上記第1の値とは異なる値を有する上記複数のメモリデータコネクタのパターンを送信するよう上記メモリをプログラムするための手段を含み、上記複数のメモリデータコネクタの各々に対し、上記複数のメモリデータコネクタの上記パターンを読み取るための読み取りコマンドを発行するための手段と、上記複数のメモリデータコネクタの各々に対し、読み取られた上記パターン内の上記第1の値を受信する上記デバイスデータコネクタを、上記第1の値を送信する上記選択されたメモリデータコネクタにマッピングするための手段と、を含むデバイスである。
【0062】
例30において、例29の主題は任意に、上記複数のメモリデータコネクタの各々に対し、上記パターンを送信するよう上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタに対し、上記メモリ内で上記パターンを一回プログラムするための手段と、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段と、を含むことを含み得る。
【0063】
例31において、例30の主題は任意に、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムするための手段は、上記複数のメモリデータコネクタの各々に対し、上記第1の値が送信される上記選択されたメモリデータコネクタを示すマスクを上記メモリ内でプログラムするための手段を含むことを含み得る。
【0064】
例32において、例31の主題は任意に、上記第1の値は、上記選択されたメモリデータコネクタのための上記パターン内で示される上記値とは異なることを含み得る。
【0065】
例33において、例32の主題は任意に、上記第1の値を生成すべく、上記マスクは、上記メモリに、上記マスク内で示される上記選択されたメモリデータコネクタのための上記パターン内の上記値を反転させることを含み得る。
【0066】
例34において、例31の主題は任意に、上記メモリ内で上記パターンを上記プログラムするための、および上記複数のメモリデータコネクタの各々に対し、上記選択されたメモリデータコネクタを示すべく、上記メモリを上記プログラムすることを上記実行するための手段は、上記メモリのモードレジスタ内で複数のビットをプログラムするための手段を含むことを含み得る。
【0067】
例35において、例31の主題は任意に、上記パターンをプログラムするための手段は、上記パターンを示すべく、少なくとも1つのパターンモードレジスタビットをプログラムするための手段を含み、上記複数のメモリデータコネクタの各々に対し、上記マスクをプログラムするための手段は、上記第1の値が送信される上記選択されたメモリデータコネクタを示すべく、少なくとも1つのマスクモードレジスタビットをプログラムするための手段を含むことを含み得る。
【0068】
例36において、例35の主題は任意に、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのために出力される上記第1の値は、上記少なくとも1つのパターンモードレジスタビット内の上記選択されたメモリデータコネクタのために提供される値とは異なることを含み得る。
【0069】
例37において、例36の主題は任意に、上記少なくとも1つのパターンモードレジスタビットは、上記複数のメモリデータコネクタに対し、すべてゼロのパターンを示し、上記第1の値は1を含むことを含み得る。
【0070】
例38において、例36の主題は任意に、上記少なくとも1つのマスクモードレジスタビットを上記プログラムするための手段は、上記メモリに、上記少なくとも1つのマスクモードレジスタビット内で示される上記選択されたメモリデータコネクタのための上記第1の値を出力させ、上記選択されたメモリデータコネクタ以外の上記複数のメモリデータコネクタのための上記少なくとも1つのパターンモードレジスタビット内で示される上記パターンを出力させ、上記第1の値は、上記選択されたメモリデータコネクタのための上記少なくとも1つのマスクモードレジスタビット内で示される上記パターン内の値の反転を含むことを含み得る。
【0071】
例39において、例35の主題は任意に、上記少なくとも1つのパターンモードレジスタビットを上記プログラムするための手段は、複数のパターンモードレジスタビットをプログラムするための手段を含み、各パターンモードレジスタビットは、複数のメモリデータコネクタピンのサブセットのための複数のパターン値を提供し、上記少なくとも1つのマスクモードレジスタビットをプログラムするための手段は、上記第1の値が生成される上記選択されたメモリデータコネクタを示すべく、複数のマスクモードレジスタビットをプログラムするための手段を含むことを含み得る。
【0072】
例40は、上記例29〜39のいずれかにおけるメモリおよびデバイスを含むシステムである。
本実施形態の例を下記の各項目として示す。
[項目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に記載の装置。
図1
図2
図3
図4
図5A
図5B
図6