JP2021099892A - 動的近接ベースのオンダイターミネーション技術 - Google Patents

動的近接ベースのオンダイターミネーション技術 Download PDF

Info

Publication number
JP2021099892A
JP2021099892A JP2020154130A JP2020154130A JP2021099892A JP 2021099892 A JP2021099892 A JP 2021099892A JP 2020154130 A JP2020154130 A JP 2020154130A JP 2020154130 A JP2020154130 A JP 2020154130A JP 2021099892 A JP2021099892 A JP 2021099892A
Authority
JP
Japan
Prior art keywords
memory device
memory
package
command
odt
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.)
Pending
Application number
JP2020154130A
Other languages
English (en)
Inventor
カワミ シェコウフェ
Qawami Shekoufeh
カワミ シェコウフェ
サンダラム ラジェシュ
Sundaram Rajesh
サンダラム ラジェシュ
ジー.ヒエムストラ シェルドン
G Hiemstra Sheldon
ジー.ヒエムストラ シェルドン
エム.シャー セトゥル
M Shah Setul
エム.シャー セトゥル
モーニング−スミス アンドリュー
Morning-Smith Andrew
モーニング−スミス アンドリュー
ジャヤチャンドラン ソウミヤ
Jayachandran Sowmiya
ジャヤチャンドラン ソウミヤ
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 JP2021099892A publication Critical patent/JP2021099892A/ja
Pending legal-status Critical Current

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/225Clock input buffers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0005Modifications of input or output impedance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】メモリデバイスにコマンドベースの動的ODTスキームを実装するオンダイターミネーション技術を提供する。【解決手段】近接ベースのオンダイターミネーション(ODT)に基づくシステム100は、他のメモリデバイスへのメモリデバイスの近接およびコマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、メモリデバイスとして同一データチャネルに連結される別のメモリデバイスによりコマンドが実行される間、どのODT設定を適用するかを決定する、メモリデバイスを含む。【選択図】図1

Description

ここで説明される実施例は全般的にメモリデバイスのオンダイターミネーション技術に関する。
コントローラとして機能する特定用途向け集積回路(ASIC)に連結されるメモリデバイスまたはダイを有するメモリシステムのいくつかにおいては、内部抵抗ターミネーション(RTT)の値と、メモリデバイスまたはダイのODTのオンオフタイミングを制御するために、複数のオンダイターミネーション(ODT)ピンがASICおよびメモリデバイスの両方に設けられる。これらのODTピンは、一般的に、メモリデバイスまたはダイに対する読み取りまたは書き込み動作中の適切なRTT時間量を確保するために、ASICと所定のメモリデバイスまたはダイとの間の協働を必要とする。
実施例としての第1のシステムを示す図である。
実施例としての第1のレジスタテーブルを示す図である。
実施例としての第2のレジスタテーブルを示す図である。
実施例としての第3のレジスタテーブルを示す図である。
実施例としての第2のシステムを示す図である。
実施例としての第1のロジックフローを示す図である。
実施例としての装置を示す図である。
実施例としての第2のロジックフローを示す図である。
実施例としての記憶媒体を示す図である。
実施例としての第3のシステムを示す図である。
メモリデバイスへのアクセスを制御するコントローラとして機能するASICが連結されたメモリデバイスは、たとえば、限定されないが、ソリッドステートドライブ(SSD)またはデュアルインラインメモリモジュール(DIMM)などの記憶デバイスに展開され得る。いくつかの実施例においては、複数のメモリデバイスまたはダイが「パッケージ」と称され得るダイのグループに含まれてよい。これらの実施例では、複数のパッケージがシングルデータまたはDQチャネルを介してASICと連結されてよい。また、複数のDQチャネル(たとえば4から10またはそれ以上)は、いくつかのSSDソリューションまたは実装に含まれてよい。一般的には、内部抵抗ターミネーション(RTT)は、DQチャネルを介してASICと連結されるパッケージへの、反射によるノイズを低減するためおよびシグナルインテグリティを改善するために、パッケージに含まれるそれぞれのメモリデバイスまたはダイにおいて使用され得る。現在のRTT要件は、一般的に、それぞれのメモリデバイスでRTTを起動させるためにDQチャネル毎に複数のODTピンを使うことにより満たされている。この結果として、これらのSSDソリューションのためのコントローラとして機能するASIC上の10数個のODTピンが必要となる。10数個のピンを必要とすることは、これらのタイプのSSDソリューションのコストに不利な影響を与えるとともに、ASICのフォームファクタに不利な制限を課し得る。
図1は、実施例としてのシステム100を示す図である。いくつかの実施例においては、図1に示されるように、システム100は複数のパッケージ105に含まれる複数のメモリデバイス120に連結されるコントローラ110を含む。いくつかの実施例において、システム100は、これに限定されるものではないが、SSDなどの記憶デバイスであってよい。この開示においては、メモリデバイス120などのメモリデバイスまたは複数のメモリデバイスについての言及は、1または複数の異なるメモリタイプを含み得る。ここで説明されるメモリデバイスは、不揮発性または揮発性のメモリタイプを指してよい。不揮発性メモリタイプの中には、NANDまたはNOR技術などのブロックアドレス指定可能なものもあり得る。他の不揮発性メモリタイプは、カルコゲナイド相変化材料(たとえばカルコゲナイドガラス)を含むがこれに限定されない、以下に「3−Dクロスプリントメモリ」と称される、3次元(3−D)クロスプリントメモリ構造を有する、バイトまたはブロックアドレス指定可能な不揮発性メモリタイプであってよい。不揮発性タイプのメモリは、複数閾値レベルのNANDフラッシュメモリと、NORフラッシュメモリと、シングルまたはマルチレベルの相変化メモリ(PCM)と、抵抗性メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベースおよび導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリと、メモリスタ技術、スピン転送トルクMRAM(STT−MRAM)、または上記の任意の組み合わせを組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)などの、ただしこれらに限定されない、他のバイトタイプまたはブロックアドレス指定可能な不揮発性メモリをも含んでよい。
本明細書における「RAM」または「RAMデバイス」と称する記載は、揮発性か不揮発性かどうかにかかわらず、ランダムアクセスを可能とするあらゆるメモリデバイスに適用可能である。動的ランダムアクセスメモリ(DRAM)、またはシンクロナスDRAM(SDRAM)、DRAMデバイスまたはSDRAMデバイスに言及する説明は、揮発性ランダムアクセスメモリデバイスへの言及であり得る。メモリデバイス、SDRAMまたはDRAMは、ダイ自体について、1または複数のダイを含むパッケージ化されたメモリプロダクトについて、またはその両方についての言及であり得る。いくつかの実施例においては、リフレッシュされる必要のある揮発性メモリを有するシステムは、少なくとも最小レベルのメモリ持続性でサポートする少なくとも複数の不揮発性メモリをも含み得る。
図1で示されるコントローラ110は、パッケージ105に位置するメモリデバイス120へアクセスするコントローラを表わしてよい。いくつかの実施例においては、システム100は記憶デバイスであってよく、コントローラ110はメモリデバイス120へアクセスするための特有のソリューション用に設計されたASICであってよい。たとえば、データセンタ環境において展開されるSSDのためのストレージエンタープライズソリューションである。また、コントローラ110の回路112は、メモリデバイス120へのアクセスリクエストに応答するメモリアクセスコマンドを生成するためのロジックおよび/または機能をサポートしてよい(たとえば、システム100をホストしてよいホスト演算プラットフォームのプロセッサから)。いくつかの実施例においては、コントローラ110は1または複数のメモリデバイス120であってよい。別個のパッケージ105に位置するメモリデバイス120のグループは、異なるチャネルがバスおよび信号線を介してコントローラ110へ並列に連結される場合は、これらのチャネルを通して組織され管理されてよい。各チャネルは独立して動作し得る。それゆえ、別個のチャネルは独立してアクセスおよび管理されて、タイミング、データ転送、コマンドとアドレスの交換、およびその他の動作はそれぞれのチャネルごとに別個であってよい。連結とは、電気的連結、通信的連結、物理的連結、またはこれらの組み合わせであってよい。物理的連結は直接接触を含んでよい。電気的連結は、たとえば、コンポーネント間の電気の流れを可能にする、またはコンポーネント間のシグナリングを可能にする、またはその両方のインターフェイスまたは相互接続を含む。通信的連結は、たとえば、有線または無線を含む、コンポーネントがデータを交換できるようにする接続を含む。
いくつかの実施例によれば、コントローラ110は、上記で言及されるメモリチャネルなどのメモリバスへ連結するためのI/Oインターフェイス回路114を含む。メモリデバイス120のI/Oインターフェイス回路114(およびI/Oインターフェイス回路122)は、ピン、パッド、コネクタ、信号線、トレース、またはワイヤ、またはデバイスへ接続するその他のハードウェア、またはこれらの組み合わせを含んでよい。I/Oインターフェイス回路114は、ハードウェアインターフェイスを含んでよい。図1で示されるように、I/Oインターフェイス回路114は、信号線用に少なくともドライバ/トランシーバを含む。共通には、集積回路インターフェイス内のワイヤは、パッド、ピン、またはインターフェイス信号線へのコネクタまたはトレース、またはデバイス間のその他のワイヤを連結する。I/Oインターフェイス回路114は、ドライバ、レシーバ、トランシーバ、または終端、またはコントローラ110と別個のパッケージ105に位置するメモリデバイス120のグループとの間で信号を交換するその他の回路または回路の組み合わせを含み得る。信号の交換は、送信または受信の少なくとも1つを含む。コントローラ110からメモリデバイス120のI/Oインターフェイス回路122への連結I/Oインターフェイス回路114として示されるが、メモリデバイス120のグループが並列にアクセスされるシステム100の実装においては、複数のパッケージ105における複数のメモリデバイス120は、コントローラ110の同一インターフェイスへのI/Oインターフェイス回路を含むものと理解される。
いくつかの実施例においては、コントローラ110は複数の信号線を介してメモリデバイス120と連結されてよい。複数の信号線は、少なくともクロック(CLK)132、コマンド/アドレス(CMD)134、および書き込みデータ(DQ)および読み取りデータ(DQ)136、およびゼロまたはそれ以上のその他の信号線138を含んでよい。いくつかの実施例によれば、メモリのコントローラ110をメモリデバイス120へ連結する信号線の構成は、総称してメモリバスと称されてよい。CMD134用の信号線は、「コマンドバス」、「C/Aバス」またはADD/CMDバス、またはコマンドの転送を指示するその他の名称で称されてよい。DQ136用の信号線は、「データバス」と称されてよい。
いくつかの実施例によれば、独立したチャネルは、異なるクロック信号、コマンドバス、データバス、およびその他の信号線を有し得る。これらの実施例では、独立のインターフェイスパスが別個のバスであると見なされてよいという意味で、システム100は複数の「バス」を有すると見なされてよい。図1で示される信号線に追加して、バスは、ストローブ信号線、アラート線、補助線、またはその他の信号線、またはこれらの追加の信号線の組み合わせのうち少なくとも1つをも含んでよいことが理解される。また、シリアルバス技術はコントローラ110とメモリデバイス120との間の信号送信に使われてよいことも理解される。シリアルバス技術の例として、符号化を行うとともに埋め込みクロックを有してそれぞれの方向での単一の信号作動対上で高速データ送信を行う、8B10Bがある。いくつかの実施例においては、CMD134は、所定のパッケージ105に位置する複数のメモリデバイス120と並列に共有される信号線を表している。たとえば、「n」を3より大きいあらゆる正の整数とする場合における、パッケージ105−1のメモリデバイス120−1から120−nと並列に共有される信号線である。他の実施例においては、所定のパッケージ105のメモリデバイス120はCMD134の符号化コマンド信号線を共有し、それぞれのメモリデバイスは所定のパッケージ105用の個々のメモリデバイス120を選択する別個のチップ選択(CS#)信号線を有してよい。
いくつかの実施例においては、コントローラ110とメモリデバイス120との間のバスは、CMD134に含まれる信号線を介してルーティングされる補助コマンドバスと、DQ136に含まれる信号線を介してルーティングされる書き込みおよび読み取りデータを運ぶ補助データバスとを含む。いくつかの実施例においては、CMD134とDQ136は、別々に双方向線を含んでよい。他の実施例においては、DQ136は、メモリデバイス120へデータを書き込む非双方向の書き込み信号線と、メモリデバイス120から読み取りデータを読み取る非双方向線とを含んでよい。
いくつかの実施例によれば、選択されたメモリ技術およびシステム設計に従って、他の信号線138に含まれる信号線がメモリバスまたは補助バスを増やしてもよい。たとえば、DQS用のストローブ線信号線である。システム100、またはメモリ技術の実装の設計に基づき、メモリバスはメモリデバイス120に含まれるメモリデバイス毎により多いまたはより少ない帯域幅を有してよい。メモリバスは、x32インターフェイス、x16インターフェイス、x8インターフェイス、またはその他のインターフェイスのいずれかを有するメモリデバイス120に含まれるメモリデバイスをサポートしてよい。Wをメモリデバイス120のインターフェイスのインターフェイスサイズまたは幅を指す整数とする従来の「xW」は、コントローラ110とデータを交換する複数の信号線を表している。これらのメモリデバイスのインターフェイスサイズは、いくつのメモリデバイスがシステム100におけるチャネル毎に同時に使用され得るかまたは同一信号線と並列に連結され得るかを制御する要素であってよい。いくつかの実施例においては、高帯域幅メモリデバイス、ワイドインターフェイスメモリデバイス、または積層型メモリデバイス、または組み合わせは、x128インターフェイス、x256インターフェイス、x512インターフェイス、x1024インターフェイス、またはその他のデータバスインターフェイス幅などの、より幅の広いインターフェイスを可能にし得る。
いくつかの実施例においては、メモリデバイス120とコントローラ110は、バーストでのDQ136に含まれる信号線、または連続データ転送のシーケンスを介して、データバス上でデータを交換する。バーストは、バスの周波数に相対する転送サイクルの数に対応する。所定の転送サイクルは、同一のクロックまたはストローブ信号エッジ上(たとえば立ち上がりエッジ上)で生じる転送のための全クロックサイクルであってよい。いくつかのにおいては、システムクロックのサイクルを参照するそれぞれのクロックサイクルは、それぞれのUIが転送サイクルである場合は、複数の単位サイクル(UI)に分離されてよい。たとえば、2倍のデータ速度転送はクロック信号の両方のエッジ(たとえば、立ち上がりと立ち下がり)上でトリガする。バーストは、レジスタに記憶されるまたはフライ上でトリガされるコンフィギュレーションであり得る、構成されたUIの数だけ継続し得る。たとえば、連続する8つの転送期間のシーケンスはバースト長8(BL8)と見なされ、それぞれのメモリデバイス120はそれぞれのUI上でデータを転送することができる。それゆえ、BL8上で動作するx8メモリデバイスは、64ビットのデータ(8データ信号線にバースト上の線毎に転送される8データビットを乗じたもの)を転送することができる。この単純な例は単なる図示であり、限定するものではないことが理解される。
いくつかの実施例によれば、メモリデバイス120はシステム100用のメモリリソースを表す。これらの実施例では、メモリデバイス120の各メモリデバイスは別個のメモリダイを表してよい。メモリダイのグループは、別個のパッケージ105上に含まれてよい。メモリデバイス120の所定のメモリデバイスは、I/Oインターフェイス回路122を含んでよく、所定のメモリデバイスの実装またはコンフィギュレーションと関連付けられたインターフェイス幅(たとえば、x16またはx8またはいくつかの他のインターフェイス帯域幅)により決定される帯域幅を有してよい。I/Oインターフェイス回路122は、コントローラ110とインターフェイスするようにメモリデバイスを使用可能にしてよい。I/Oインターフェイス回路122は、ハードウェアインターフェイスを含んでコントローラ110のI/Oインターフェイス回路114と協働して動作してよい。
いくつかの実施例においては、メモリデバイス120とパッケージ105は、同一のより大きなパッケージにコントローラ110として組み込まれてよい。たとえば、マルチチップモジュール(MCM)、スルーシリコンビア(TSV)付きのパッケージオンパッケージ、またはその他の技術、または組み合わせにおいて組み込まれる。これらのおよび他の実施例につては、コントローラ110はプロセッサの部分であるかプロセッサに組み込まれてもよいことを理解されたい。
いくつかの実施例によれば、図1で示されるように、メモリデバイス120は1または複数のレジスタ124を含む。レジスタ124は、メモリデバイス120の構成あるいは構成および/または動作のための設定を提供する、1または複数の記憶デバイスまたは記憶位置を表してよい。1つの実施例においては、レジスタ124は、制御または管理の動作の一部としてコントローラ110によりアクセスされるデータを記憶するためのメモリデバイス120の記憶位置を提供してよい。たとえば、レジスタ124は、1または複数のモードレジスタ(MR)を含んでよく、および/または1または複数の多目的レジスタを含んでよい。
いくつかの実施例においては、レジスタ124のうち1または複数のレジスタへの書き込みまたはプログラミングは、異なる「モード」で動作させるようにメモリデバイス120を構成してよい。これらの例については、1または複数のレジスタへ書き込まれるまたはプログラミングされるコマンド情報は、メモリデバイス120内で異なるモードをトリガしてよい。追加で、または代替的に、異なるモードは、トリガされたモードに応じて、アドレス情報または他の信号線から、異なる動作をトリガすることもできる。レジスタ124のプログラミングされた設定は、I/O設定のコンフィギュレーションを指示またはトリガする。たとえば、タイミングのコンフィギュレーション、終端、オンダイターミネーション(ODT)、ドライバコンフィギュレーション、または他のI/O設定などである。以下でより詳しく説明されるとおり、コントローラ110の回路112は、モードレジスタ(MR)プログラムロジック115を実行して1または複数のレジスタ124をプログラミングしてODT設定125を設定またはプログラミングしてよい。メモリデバイス120の制御回路121は、ODT設定125へアクセスして動的ODTスキームに基づくコマンドを実装することができるようになっていてよい。コマンドベースの動的ODTスキームの使用は、MRプログラムロジック115が1または複数のレジスタ124をプログラミングしてODT設定125を確立して、I/Oインターフェイス回路114におけるODTピンの必要性を取り除いてメモリデバイス120でのODT設定を起動させることができるようにし得る。いくつかの実施例においては、10数個のODTピンは、コマンドメースの動的ODTスキームが実装される場合はコントローラ110のI/Oインターフェイス回路114から取り除かれてよい。ODTピンもまた、メモリデバイス120のI/Oインターフェイス回路122から取り除かれてよいが、いくつかの例においては、ODTピンは、メモリデバイス120がODT設定を起動するためにODTピンをいまだに使用しているレガシコントローラとともにまだ動作できるようにするために残ってもよい。
いくつかの実施例によれば、メモリデバイス120は、I/Oインターフェイス回路122と関連付けられたインターフェイスハードウェアの部分としてODT126を含む。ODT126は、指定される信号線へのインターフェイスに適用されるインピーダンスのための設定を提供してよい。たとえば、ODT126はDQ136またはCMD134に含まれる信号線へインピーダンスを適用するように構成されてよい。ODT126のODT設定は、上記で言及される動的ODTスキームに基づくコマンドに基づいて変更されてよい。以下でさらに説明されるように、コマンドベースの動的ODTスキームは、同一または異なるパッケージにあってよいアクセスされたメモリデバイスへの所定のパッケージに位置する終端メモリデバイスのメモリアクセス(例えば、読み取りまたは書き込み)および近接のタイプに基づいてよい。ODT126のODT設定125において指示されるODT設定は、たとえばCMD134またはDQ136に含まれる終端した信号線上のシグナリングのタイミングと反映とに影響し得る。ODT126を設定するのにどのODT設定125を使うかを決定することで、適用されるインピーダンスとローディングとのマッチングが改善された高速動作を可能にすることができる。インピーダンスとローディングは、I/Oインターフェイス回路122(たとえば、たとえばCMD134またはDQ136)の特定の信号線に適用されてよく、また必ずしもすべての信号線に適用されなくてもよい。
いくつかの実施例においては、図1で示されるように、メモリデバイス120が制御回路121を含む。制御回路121は、メモリデバイス120内の内部動作を制御するためにメモリデバイス120内でロジックを実行してよい。たとえば、制御回路121は、コントローラ110により送信されたコマンドを復号し、実行する内部動作を生成するか、またはコマンドを満たす。制御回路121は内部コントローラと称されてもよく、コントローラ110とは別個である。制御回路121は、レジスタ124において指示されるプログラミングされたまたはデフォルトの設定に基づいてどのモードが選択されるかを決定するロジックおよび/または機能を含んで、選択されたモードに基づいて所定のメモリデバイス120または他の動作へのアクセスの動作の内部実行を構成してよい。制御回路121は、メモリデバイス120内のビットのルーティングを制御して選択されたモード用の適正なインターフェイスを提供する制御信号を生成して、所定のメモリデバイス120に含まれる物理メモリリソースの適切なメモリ位置またはアドレスへコマンドを指令する。
コントローラ110を再度参照すると、コントローラ110は、メモリデバイス120へ送信するコマンドを生成するロジックおよび/または機能を実行できる回路112を含む。コマンドの生成は、スケジューリング前のコマンド、または送信準備ができたキューされたコマンドの準備を参照することができる。一般的に、メモリサブシステムにおけるシグナリングは、メモリデバイス120がコマンドを実行すべき1または複数のメモリ位置を指示または選択するコマンドの中にある、あるいはそれを伴うアドレス情報を含む。メモリデバイス120のためのトランザクションのスケジューリングに応答して、コントローラ110はI/Oインターフェイス回路114を介してコマンドを発して、メモリデバイス120にコマンドを実行させることができる。いくつかの実施例においては、メモリデバイス120の制御回路121は、コントローラ110からI/Oインターフェイス回路122を介して受信したコマンドとアドレス情報を受信して復号する。受信したコマンドとアドレス情報に基づいて、回路112は、メモリデバイス120内でロジック、機能および/または回路の動作のタイミングを制御して、コマンドを実行してよい。
図2は、実施例としてのレジスタテーブル200を示す図である。いくつかの実施例においては、図2で示されるように、レジスタテーブル200はODTタイプおよび16ビットレジスタの設定を示す。16ビットレジスタは、たとえば、メモリデバイス120のレジスタ124に含まれてよい。MRプログラムロジック115は、ビット[4:1]がRtt_nomを設定し、ビット[8:5]がRtt_Wrを設定し、ビット[12:9]がRtt_parkを設定し、ビット[13]がマトリクスODTが使用可能にされるかどうかを指示し(たとえば、動的ODT選択を近接に基づいて使用可能にする)、動的モードが使用可能にされるかどうかをビット[14]が指示するように設定またはプログラミングすることができてもよい。
いくつかの実施例においては、マトリクスODTは終端メモリデバイスまたはダイが別のメモリデバイスへのアクセス中(たとえば、書き込み動作中)にどのようにそのそれぞれのODT設定を設定するかの確立に基づいて使用可能にされてよい。これらの実施例については、アクセスされるメモリデバイスへの終端メモリデバイスの近接が、少なくとも2つの別個のマトリクスODT設定のうちの1つから終端メモリデバイスに選択させるようにしてもよい。いくつかの実施例によれば、以下でさらに説明されるとおり、少なくとも2つの別個のマトリクスODT設定は、レジスタ124に含まれるレジスタを介してMRプログラムロジック115により設定またはプログラムされてもよい。実施例は、240オームから30オームの範囲であってODT使用不能オプションを含むレジスタテーブル200において指示されるODT設定値に限定されない。これらのODT設定は、ODT設定の可能な範囲と使用不能オプションの例として提供される。
いくつかの実施例によれば、動的モードは、別のメモリデバイスへの書き込みアクセス中に、非終端メモリデバイスまたはダイがどのようにそのそれぞれのODT設定を設定するかの確立に基づいて使用可能にされてよい。動的モードが使用可能にされると、非終端メモリデバイスはビット[12:9]において指示されるRtt_parkのODT設定を使用する。動的モードが使用可能にされないと、非終端メモリデバイスはHi_z(最大インピーダンス)のODT設定を使用する。
図3は、実施例としてのレジスタテーブル300を図示したものである。いくつかの実施例においては、図3で示されるように、レジスタテーブル300は8ビットレジスタ用のODTのタイプと設定を指示する。8ビットレジスタは、たとえば、メモリデバイス120のレジスタ124に含まれてよい。MRプログラムロジック115は、ビット[3:0]をRtt_matrix1に設定し、そしてビット[7:4]をRtt_matrix2に設定するように設定またはプログラミングが可能であってよい。以下でさらに説明されるとおり、Rtt_matrix1は、書き込み動作中にアクセスされる、アクセスされるメモリデバイスを含む同一グループの中に終端メモリデバイスが位置する場合に使用されてよく、Rtt_matrix2は、アクセスされるメモリデバイス以外の異なるグループの中に終端メモリデバイスが位置する場合に使用されてよい。実施例は、240オームから30オームの範囲であってODT使用不能オプションを含むレジスタテーブル200において示されるODT設定値に限定されない。これらのODT設定は、ODT設定の可能な範囲と使用不能オプションの例として提供される。また、実施例は、2つだけのマトリクスODT設定に限定されない。いくつかの実施例においては、1または複数のレジスタが、2つ以上のODT設定を示すように設定されてよい。
図4は、実施例としてのレジスタテーブル400を示す図である。いくつかの実施例においては、図4で示されるように、レジスタテーブル400では、8ビットレジスタが、メモリデバイスのグループ化を、0、1、2および3のSelectIDを持つ4つのグループにするように指示してよい。これらの実施例については、所定のグループ用のSelectIDが、読み取りまたは書き込みコマンドのいずれかに応答するメモリデバイスにアクセスするようアドレス指定されるビット[4:3]のコマンドで指示されてよい。いくつかの実施例によれば、レジスタテーブル300において示される4つのグループは、コントローラのついた同一のDQチャネルへ連結されてもよい。たとえば、パッケージ105−1、105−2、105−3および105−nは、DQ136を介したDQチャネルを介してコントローラ110と連結されてよい。この実施例では、それぞれのパッケージが、メモリデバイス120へのアクセス中にそのそれぞれのパッケージ用の終端を提供する終端メモリデバイスまたはダイを有してよい。たとえば、それぞれのパッケージ105用のメモリデバイス120−nは、そのそれぞれのパッケージ用の終端メモリデバイスとして働いてよい。実施例は4つのグループに限定されない。それより多いまたは少ないグループが本開示によって考えられる。
いくつかの実施例によれば、コントローラ110のMRプログラムロジック115は、アクセスされているとともにアクセスのタイプに基づく所定のグループに対する終端メモリデバイスの相対的物理的位置に基づいて終端メモリデバイスのビット0−7を設定またはプログラミングしてよい。たとえば、メモリデバイス120−nは、SelectID=0を持つパッケージ105−1用の終端メモリデバイスであってよい。MRプログラムロジック115はビット[1:0]をプログラミングする必要はない。これは、これらのビットがメモリデバイス120−nと同一のグループへのアクセスを表すものであって、メモリデバイス120−nが読み取りコマンド用のHi_z(最大インピーダンス)のODT設定を使用するかまたはグループ0への書き込みコマンド用のRtt_Mt1のマトリクスODT設定を使用するように訓練されているからである。Rtt_Mt1の使用は、Rtt_Mt1用のレジスタ124−1内で維持されるODT設定(たとえばレジスタテーブル300内で示されるビット[3:0])をメモリデバイス120−nが参照するよう促す。
いくつかの実施例においては、読み取りコマンドについて、グループ0の相対的位置がアクセスされているグループに隣接するまたは近い(Rtt_nomを使用)か、あるいは、隣接しないまたはそれから遠い(Rtt_parkを使用)かに基づいて、Rtt_nomを使うかRtt_parkを使うかを指示するようにビット[2]、[4]および[6]がMRプログラムロジック115により別々に設定またはプログラミングされてよい。たとえば、グループ0がグループ1の近くに位置している場合、メモリデバイス120−n用のビット[2]はRtt_nomに設定され、次にメモリデバイス120−nはRtt_nom用のレジスタ124−1内で維持されるODT設定(たとえば、レジスタテーブル200の中で示されるビット[4:1])を参照する。また、グループ0がグループ2およびグループ3から遠くに位置していた場合、メモリデバイス120−n用のビット[4]と[6]はRtt_parkに設定され、次にメモリデバイス120−nはRtt_park用のレジスタ124−1内で維持されるODT設定(たとえば、レジスタテーブル200の中で示されるビット[12:9])を参照する。
いくつかの実施例によれば、書き込みコマンドについて、ビット[3]、[5]、および[7]はMRプログラムロジック115により別々に設定またはプログラムされてRtt_Mt2のマトリクスODT設定の使用を指示する。これらの実施例については、Rtt_Mt2はこれらのビット用に設定される。これは、グループ0以外のあらゆるグループへのアクセスは、Rtt_Mt2用のレジスタ124−1内で維持されるODT設定(たとえば、レジスタテーブル300の中で示されるビット[7:4])を参照するようにメモリデバイス120−nを促すからである。
図5は、実施例としてのシステム500を示す図である。いくつかの実施例においては、図5で示されるように、システム500は、どのメモリデバイスがアクセスされているのかを示すCS[#]514を介してチップ選択[CS]信号を利用する同一のチャネルDQ[7:0]512を介してコントローラ510に連結されるパッケージ520、530、540、550を含む。これらの実施例については、コントローラ510は、図1で示され上記で説明されるコントローラ110と同様のものであってよい。また、それぞれのメモリデバイス522、532、542、552を含むパッケージ520、530、540、550も、図1で示され上記で説明される、メモリデバイス120を含むパッケージ105と同様のものであってよい。
いくつかの実施例によれば、それぞれのパッケージ用のターミネータまたは終端メモリデバイスは、パッケージ520用のメモリデバイス522−4、パッケージ530用の532−4、パッケージ540用のメモリデバイス542−4、およびパッケージ550用のメモリデバイス552−4であってよい。また、パッケージ520はSelectID=0を有し、パッケージ530はSelectID=1を有し、パッケージ540はSelectID=2を有し、パッケージ550はSelectID=3を有する。図5で示されるように、いくつかの実施例においては、4つのターミネータメモリデバイス用の別個のODTテーブルが、これらのターミネータメモリデバイスのための決定マトリクスを指示して、アクセスされているパッケージのSelectIDに基づいてどのODT設定が使われるか、およびアクセスが書き込みまたは読み取りコマンドに応答しているかどうかを個別に決定させる。これらの実施例の場合、それぞれのターミネータメモリデバイスは、そのそれぞれの決定マトリクスを実行して、コマンドのタイプおよびアクセスされるパッケージへの相対的近接に基づいてどのODT設定を適用するかを決定する。
第1の実施例においては、メモリデバイス522−4用のODTテーブルは、SelectIDが00XXXの場合は、これはアクセスされるメモリデバイスがメモリデバイス522−4と同一のパッケージまたはグループ内に位置することを指示しており、アクセスが書き込みコマンドに応答している場合は、メモリデバイス522−4はRtt_matrix1を含むレジスタビットを参照して、書き込み動作のターミネータとして働いている間にどのODT設定を適用するかを決定することを指示する。アクセスが読み取りコマンドに応答している場合は、メモリデバイス522−4はHi_z ODT設定を適用してよい。
第2の実施例においては、SelectIDが01XXXの場合は、これはアクセスされるメモリデバイスがパッケージ520の近くに位置するまたは隣接する異なるパッケージ(パッケージ530)に位置することを指示しており、アクセスが書き込みである場合は、メモリデバイス522−4がRtt_matrix2を含むレジスタビットを参照して、どのODT設定を適用するかを決定することを指示している。アクセスが読み取りコマンドに応答している場合、メモリデバイス522−4はRtt_nomを含むレジスタビットを参照して、どのODT設定を適用するかを決定してよい。
第3の実施例では、SelectIDが10XXXまたは11XXXのいずれかの場合、これもまた異なるパッケージを指示するものであるが、これらのパッケージはパッケージ520に隣接しないかまたは相対して遠くに位置しているものとして特徴づけられてよい。メモリデバイス522−4用のODTテーブルによれば、この第3の実施例については、アクセスが書き込みの場合、メモリデバイス522−4はRtt_matrix2を含むレジスタビットを参照して、どのODT設定を適用するかを決定するものである。アクセスが読み取りコマンドに応答している場合、メモリデバイス522−4はRtt_parkを含むレジスタビットを参照して、どのODT設定を適用するかを決定してよい。Rtt_nomではなくRtt_parkを使用することは、この第3の実施例については、パッケージ520と相対するそれらの物理的な位置との関係において遠いパッケージであると特徴づけられるパッケージ540および550に基づくものである。
いくつかの実施例によれば、非ターゲット先の終端ダイは選択された終端値を保持することから、クロックサイクルを増やすために(必要な場合)非ターゲット先の終端ダイによりポストアンブルが適用されてよい。ポストアンブルは、たとえばルーティングの不一致により、データが複数のメモリデバイスにわたり遅延している場合に必要となり得る。
図6は、実施例としてのロジックフロー600を示す図である。いくつかの実施例においては、ロジックフロー600はODT設定を決定するためにメモリデバイスの制御回路によりアクションが図示されてもよい。これらの実施例については、ロジックフロー600は、図1から図4の上記のメモリデバイス120など、または図5の上記のメモリデバイス522、532、542、552などのメモリデバイスの制御回路により実装されてよい。また、これらのメモリデバイスにより使用されるレジスタも、図2から図4について上記で述べられるように、レジスタテーブル200、300または400の中で指示されるように設定またはプログラミングされてよい。レジスタは、MRプログラムロジック115またはコントローラ110などのモードレジスタプログラムロジックを有するコントローラにより設定またはプログラミングされてよい。実施例は、図1および図5に含まれるメモリデバイス120、522、532、542または552、図2から図4に示されるODT設定またはODTタイプ、またはMRプログラムロジック115によりプログラミングまたは設定されるレジスタに限定されない。
ブロック605からスタートして、コマンドは、それぞれが複数のメモリデバイスを有する複数のパッケージに連結されるDQチャネル上で受信されてよい。
ブロック605から決定ブロック610へ移動して、メモリデバイスは、マトリクスODTが使用可能にされるかどうかを決定してよい。いくつかの実施例においては、メモリデバイスの制御回路は、マトリクスODTが使用可能にされたかどうかを確認するために、レジスタテーブル200に示される16ビットレジスタのビット[13]などのレジスタのビットを読み取ってよい。マトリクスODTが使用可能にされていないことをビット[13]が示すと、ロジックフロー600はブロック615へ移動する。マトリクスODTが使用可能にされていることをビット[13]が示すと、ロジックフロー600は決定ブロック620へ移動する。
決定ブロック610からブロック615へ移動して、メモリデバイスはレガシODTモードを使用する。いくつかの実施例においては、レガシODTモードは、メモリデバイスに連結されたコントローラからODT設定を起動するためのODT起動信号を受信するための、メモリデバイス上のODTピンの使用を含んでよい。
決定ブロック610から決定ブロック620へ移動して、メモリデバイスは、それが複数のメモリデバイスまたはダイを含むパッケージの終端メモリデバイスであるかどうかを決定する。いくつかの実施例においては、メモリデバイスが所定のパッケージに物理的に配置されたときにそれぞれのパッケージの終端デバイスが予め定められてもよい。メモリデバイスが予め定められた終端メモリデバイスである場合、ロジックフロー600は決定ブロック620へ移動する。そうでない場合は、ロジックフロー600は決定ブロック625へ移動する。
決定ブロック620から決定ブロック625へ移動して、メモリデバイスは、コマンドが読み取りコマンドであるかどうかを決定する。いくつかの実施例においては、コマンドが読み取りコマンドではないとメモリデバイスの制御回路が決定すると、ロジックフロー600は決定ブロック635へ移動する。そうでない場合、ロジックフロー600はブロック630へ移動して、制御回路がメモリデバイスに、コマンドの実行中はHi_z ODT設定を使用するようにさせる。
決定ブロック625から決定ブロック635へ移動して、メモリデバイスは、コマンドが書き込みコマンド(たとえば、アレイ書き込み、強制書き込み、または修正書き込み)であるかどうかを決定する。いくつかの実施例においては、メモリデバイスの制御回路は、コマンドが書き込みコマンドでないことを決定し、ロジックフロー600がブロック645へ移動して、制御回路は、メモリデバイスに、ブロック630により指示されるコマンドの実行中はHi_z ODT設定を使用するようにさせる。そうでない場合は、ロジックフロー600は決定ブロック645へ移動する。
決定ブロック635から決定ブロック645へ移動して、メモリデバイスは、動的モードが使用可能にされているかどうかを決定する。いくつかの実施例によれば、メモリデバイスの制御回路は、動的モードが使用可能にされたかどうかを確認するために、レジスタテーブル200に示される16ビットレジスタのビット[14]などのレジスタのビットを読み取ってよい。動的モードが使用可能にされていないことをビット[14]が示す場合、制御回路は、メモリデバイスに、ブロック650により示されるように、書き込み動作中はHi_z ODT設定を使用するようにさせる。そうでない場合は、ロジックフロー600はブロック655へ移動する。
決定ブロック645からブロック655へ移動して、終端メモリデバイスは、Rtt_Wrの終端用のODT設定を使用する。いくつかの実施例においては、メモリデバイスの制御回路は、Rtt_Wrのために使われる値(たとえば、100オーム)を決定するために、レジスタテーブル200に示される16ビットレジスタのビット[8:5]などのレジスタのビットを読み取ってよい。
終端メモリデバイスは、決定ブロック620へ戻り、決定ブロック660へ移動し、コマンドが読み取りコマンドであるかどうかおよび読み取りコマンドにおいて指示されるSelectIDが終端メモリデバイスを含むパッケージ用のSelectIDと一致するかどうかを決定する。いくつかの実施例によれば、終端メモリデバイスの制御回路は、読み取りコマンドのSelectIDがSelectIDと一致すると決定し、メモリデバイスに、ブロック665へと示される読み取り動作中にHi_z ODT設定を使用させる。そうでない場合、コマンドが読み取りコマンドでないかまたは終端メモリデバイスのパッケージのSelectIDと一致しないSelectIDを有する場合は、ロジックフロー600は決定ブロック670へ移動する。
決定ブロック660から決定ブロック670へ移動して、終端メモリデバイスは、コマンドが読み取りコマンドであるかどうかを決定する。いくつかの実施例によれば、終端メモリデバイスの制御回路は、コマンドが読み取りコマンドであると決定すると、ロジックフロー600は決定ブロック675へ移動する。そうでない場合は、ロジックフロー600は決定ブロック680へ移動する。
決定ブロック670からブロック675へ移動して、終端メモリデバイスは、Rtt_nomまたはRtt_parkのいずれかのODT設定のタイプを選択する。いくつかの実施例においては、終端メモリデバイスの制御回路は、どのタイプのODT設定を使用するかを決定するために、レジスタテーブル200に示される8ビットレジスタなどのレジスタのビットを読み取ってよい。これらの実施例については、終端メモリデバイスの制御回路は、終端メモリデバイスを含むパッケージと読み取りコマンドとに割り当てられたSelectIDに対応する8ビットレジスタのビットを読み取ってよい。たとえば、終端メモリデバイスがSelectID=0を有するパッケージにあった場合、制御回路はビット[1]を読み取ってどのタイプのODT設定を使用するかどうかを決定してよい。アクセスされるメモリデバイスへの終端デバイスの近接に応じて、ビット[1]は、アクセスされたメモリデバイスが近くのパッケージにあった場合は「0」の値(Rtt_nom)に、アクセスされたメモリデバイスが遠くのパッケージにあった場合は「1」の値(Rtt_park)に設定されていてよい。終端メモリデバイスの制御回路は、レジスタテーブル200において示される16ビットレジスタのビット[4:1]またはビット[12:9]のようなレジスタのビットを読み取って、Rtt_nomまたはRtt_park用にそれぞれ使用する値を決定してもよい。
決定ブロック670から決定ブロック680へ移動して、終端メモリデバイスは、コマンドが書き込みコマンド(たとえば、アレイ書き込み、強制書き込み、または修正書き込み)であるかどうかを決定する。いくつかの実施例においては、終端メモリデバイスの制御回路は、コマンドが書き込みコマンドでないことを決定して、終端メモリデバイスに、ブロック685により指示されるコマンドの実行中はHi_z ODT設定を使用するようにさせる。
決定ブロック680からブロック690へ移動して、終端メモリデバイスは、コマンドにおいて指示されるSelectIDに基づき、Rtt_matrix1またはRtt_matrix2のいずれかのタイプのODT設定を選択する。第1の実施例においては、SelectIDが終端メモリデバイスを含むパッケージ用のSelectIDと一致する場合、Rtt_matrix1が選択される。この第1の実施例においては、終端メモリデバイスの制御回路は、Rtt_matrix1のために使われる値を決定するために、レジスタテーブル300に示される8ビットレジスタのビット[3:0]などのレジスタのビットを読み取ってよい。第2の実施例においては、SelectIDが終端メモリデバイスを含むパッケージ用のSelectIDと一致しない場合、Rtt_matrix2が選択される。この第2の実施例では、終端メモリデバイスの制御回路は、Rtt_matrix2のために使われる値を決定するために、レジスタテーブル300に示される8ビットレジスタのビット[7:4]などのレジスタのビットを読み取ってよい。
図7は、実施例としての装置700のためのブロックダイヤグラムを示す図である。図7で示される装置700は、特定のトポロジにおける限定された数のエレメントを有するが、所定の実装のために望ましい場合は、装置700は代替的なトポロジにおいてそれより多いまたは少ないエレメントを含んでよい。
いくつかの実施例によれば、装置700は、コントローラ110の回路112などのコントローラの回路720によりサポートされてもよい。回路720は、ロジック、または1または複数のファームウェアに実装されたモジュール、コンポーネントまたはロジックの特徴を実行するように構成されてよい。本明細書の中で使用される「a」および「b」および「c」および類似の指定子は、任意の正の整数を表す変数を意図していることに留意されたい。それゆえ、たとえば、ある実装においてa=4の値が設定される場合、ロジック722−aの、モジュール、コンポーネントのためのソフトウェアまたはファームウェアの完全なセットは、ロジック722−1、722−2、722―3または722−4を含んでよい。表される例はこの状況に限定されるものではなく、通して使われる異なる変数が同一または異なる整数値を表してもよい。また、「モジュール」、「コンポーネント」または「機能」もまた、コンピュータ可読なまたは機械可読な媒体に記憶されるファームウェアを含んでよく、機能のタイプが図7で単体ボックスとして示されてはいるが、これはこれらのタイプの機能が明確なコンピュータ可読媒体コンポーネント(たとえば、別個のメモリなど)または明確なハードウェアコンポーネントによる実装(たとえば、別個の特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)における記憶に限定するものではない。
いくつかの実施例によれば、回路720は1または複数のASICまたはFPGAを含んでよく、またいくつかの実施例においては、少なくともいくつかのロジック722−aがこれらのASICまたはFPGAのハードウェアエレメントとして実装されてよい。
いくつかの実施例によれば、図7で示されるように、装置700は1または複数のメモリデバイスと連結するためのI/Oインターフェイス回路705を含んでよい。
いくつかの実施例においては、装置700はプログラムロジック722をも含んでよい。プログラムロジック722は、I/Oインターフェイス回路705を介して、第1のメモリデバイスにおける第1のレジスタをプログラミングして、第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合は、第1のレジスタに、選択する複数のODTタイプを指示させるように回路720により実行またはサポートされてよい。複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づいてよい。これらの実施例については、プログラムロジック722は、第2および第3のメモリデバイスと比較した第1のメモリデバイスの相対的位置付けを示すパケットレイアウト情報710を介して受信されるパケットレイアウト情報上の第1のレジスタのプログラミングの基となってよい。たとえば、これらのメモリデバイスが第1のメモリデバイスと同一または異なるパッケージに位置する場合である。また、RTT設定726−b(たとえば、ルックアップテーブル内に維持されるもの)は、どのODTタイプが少なくとも部分的にパケットレイアウト情報に基づく第1のメモリデバイスにおける第1のレジスタをプログラミングするかを指示してよい。レジスタ設定730は、複数のODTタイプが第1のメモリデバイスにより選択されることを指示するよう、どのように第1のレジスタがプログラムされるかを指示してよい。
いくつかの実施例によれば、プログラムロジック722もまた、I/Oインターフェイス回路を介して、第1のメモリデバイスにおける第2のレジスタをプログラミングして、別個のODT設定を有する少なくとも2つのODTタイプを第2のレジスタに指示させ、書き込みコマンドが第2のメモリデバイスにより実行されるか第3のメモリデバイスにより実行されるかに基づいて適用するように回路720により実行またはサポートされてよい。プログラムロジック722もまた、パケットレイアウト情報705を介して受信されるパケットレイアウト情報上の第2のレジスタのプログラミングの基となってよい。レジスタ設定740は、第2のレジスタがどのようにプログラミングされるかを指示してよい。
いくつかの実施例においては、第1のメモリデバイスグループは第1のグループ識別子に割り当てられる第1のパッケージに位置し、第2のメモリデバイスグループは第2のグループ識別子に割り当てられる第2のパッケージに位置してよい。第4のメモリデバイスが、第3のグループ識別子に割り当てられた第3のパッケージに位置する第3のメモリデバイスグループに含まれてよい。第1および第2および第3のパッケージは、同一のデータバスを介してI/Oインターフェイス回路705に連結されてよい。第2のパッケージは、第1のパッケージに隣接してまたは近くに位置してよい。この実施例については、第3のパッケージは第1のパッケージに隣接して位置していない。プログラムロジック722もまた、第1のメモリデバイスにおける第3のレジスタをプログラミングして、第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスであってコマンドが読み取りコマンドである場合は、選択的に適用するように第1のODT設定と第2のODT設定に指示する、回路720により実行またはサポートされてよい。第1のメモリデバイスは、読み取りコマンドが第3のメモリデバイスのためのものである場合は第1のODT設定を適用し、または読み取りコマンドが第4のメモリデバイスのためのものである場合は第2のODT設定を適用するようになっている。プログラムロジック722もまた、パケットレイアウト情報710を介して受信されるパケットレイアウト情報上の第3のレジスタのプログラミングの基となってよい。レジスタ設定750は、第3のレジスタがどのようにプログラミングされるかを指示してよい。
いくつかの実施例においては、プログラムロジック722もまた、第1のレジスタ、第2のレジスタ、または第3のレジスタが、選択されたODT設定を第1のメモリデバイスがそれを介して適用するポストアンブル時間を指示するようにプログラミングしてよい。ポストアンブル時間は、選択されたODT設定を1または複数の追加のクロックサイクルが適用することを指示するものである。
装置700のさまざまなコンポーネントが、動作を調和させるさまざまなタイプの通信媒体により、互いに通信可能に連結されてよい。調和には、単方向または双方向の情報の交換が伴ってよい。たとえば、コンポーネントは通信媒体上で通信される信号の形で情報を通信してもよい。情報はさまざまな信号線に割り当てられる信号として実装され得る。そのような割り当てにおいては、それぞれのメッセージは信号である。しかし、さらなる実施形態が代替的にデータメッセージを採用してよい。そのようなデータメッセージは、さまざまな接続にわたって送信されてよい。例としての接続には、並列インターフェイス、直列インターフェイス、およびバスインターフェイスが含まれる。
本明細書に含まれるのは、開示されるアーキテクチャの新規な態様を実行するための例示的な方法論の代表的なものとしての一組のロジックフローである。説明の簡素化の目的で、本明細書の中で示される1または複数の方法論は一連の動作として示され説明されるが、方法論は動作の順序により限定されるものではないことは当業者であれば理解および認識されるであろう。いくつかの動作は、それらに従って、本明細書の中で示され説明される他の動作とは異なる順序でおよび/または同時に起こり得る。たとえば、方法論は、状態図における場合などのように、一連の相関する状態またはイベントとして代替的に表され得ることは、当業者であれば理解および認識されるであろう。さらに、方法論において図示されるすべての動作が新規な実装に必要とされるわけではないこともある。
ロジックフローは、ソフトウェア、ファームウェア、および/またはハードウェアにおいて実装されてよい。ソフトウェアおよびファームウェアの実施形態において、ロジックフローは、光学、磁気または半導体記憶などの、少なくとも1つの非一時的コンピュータ可読媒体または機械可読媒体に記憶されているコンピュータ実行可能命令により実装されてよい。実施形態はこの状況に限定されるものではない。
図8は、実施例としてのロジックフロー800を示す図である。ロジックフロー800は、1または複数のロジック、機能、または装置700などの本明細書において説明されるデバイスにより実行されるいくつかまたはすべての動作を表してよい。より具体的には、ロジックフロー800はプログラムロジック722により実装されてよい。
いくつかの実施例によれば、ブロック802におけるロジックフロー800は、コントローラと連結された第1のメモリデバイスにおける第1のレジスタを、I/Oインターフェイス回路を介してプログラミングして、前記第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合は、第1のレジスタに、選択する複数のオンダイターミネーションODTタイプを指示させるものであって前記複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが、前記第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づいてよい。これらの実施例については、プログラムロジック722は第1のレジスタをプログラミングしてよい。
いくつかの実施例においては、ブロック804におけるロジックフロー800は、第1のメモリデバイスにおける第2のレジスタをプログラミングして、I/Oインターフェイス回路を介して、第2のレジスタに、別個のODT設定を有する少なくとも2つのODTタイプを指示させて、書き込みコマンドが第2のメモリデバイスにより実行されるか第3のメモリデバイスにより実行されるかに基づいて適用してよい。これらの実施例については、プログラムロジック722は第2のレジスタをプログラミングしてよい。
図9は、実施例としての記憶媒体900を示す図である。いくつかの実施例においては、記憶媒体900は製造品であってよい。記憶媒体900は、光学、磁気または半導体記憶などの、あらゆる非一時的コンピュータ可読媒体または機械可読媒体を含んでよい。記憶媒体900は、ロジックフロー800を実装する命令などの、さまざまなタイプのコンピュータ実行可能命令を記憶してよい。コンピュータ可読または機械可読な記憶媒体の例には、揮発性メモリまたは不揮発性メモリ、取り外し可能または取り外し不能メモリ、消去可能または消去不能メモリ、書き込み可能または再書き込み可能メモリなどを含む、電子データを記憶することができるあらゆる有形媒体が含まれてよい。コンピュータ実行可能命令の例には、ソースコード、コンパイル済コード、解釈済コード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコードなどの、あらゆる適切なタイプコードが含まれてよい。実施例は、この状況に限定されるものではない。
図10は、実施例としての演算プラットフォーム1000を示す図である。いくつかの実施例においては、図10で示されるように、演算プラットフォーム1000は、メモリシステム1030、処理コンポーネント1040、その他のプラットフォームコンポーネント1050、または通信インターフェイス1060が含まれてよい。いくつかの実施例によれば、演算プラットフォーム1000は、演算デバイスにおいて実装されてもよい。
いくつかの実施例によれば、メモリシステム1030には、コントローラ1032およびメモリデバイス1034が含まれてよい。これらの実施例については、コントローラ1032に所在するまたは位置するロジックおよび/または機能は、少なくとも複数の処理動作または装置700のためのロジックを実行してよく、また記憶媒体900を含む記憶媒体を含んでよい。また、メモリデバイス1034は、図1で示されるメモリデバイス120用として上記で説明される類似のタイプの揮発性または不揮発性メモリ(図示せず)、または図5で示されるメモリデバイス522、532、542、552を含んでよい。いくつかの実施例においては、コントローラ1032は、メモリデバイス1034と同じダイの部分であってもよい。その他の実施例においては、コントローラ1032およびメモリデバイス1034は、プロセッサ(たとえば処理コンポーネント1040に含まれるもの)と同じダイまたは集積回路に位置してよい。またその他の実施例においては、コントローラ1032は、メモリデバイス1034とは別個のダイまたは連結された集積回路にあってもよい。
いくつかの実施例によれば、処理コンポーネント1040は、さまざまなハードウェアエレメント、ソフトウェアエレメント、またはその両方の組み合わせを含んでよい。ハードウェアエレメントの例には、デバイス、ロジックデバイス、コンポーネント、プロセッサ、マイクロプロセッサ、管理コントローラ、コンパニオンダイ、回路、プロセッサ回路、回路エレメント(たとえば、トランジスタ、抵抗器、キャパシタ、インダクタ、など)、集積回路、ASIC、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、FPGA、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれてよい。ソフトウェアエレメントの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、デバイスドライバ、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーティン、サブルーティン、ファンクション、方法、プロシージャ、ソフトウェアインターフェイス、アプリケーションプログラムインターフェイス(API)、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、またはそれらの任意の組み合わせが含まれてよい。ある実施例がハードウェアエレメントおよび/またはソフトウェアエレメントを使用して実装されるかどうかの決定は、望ましい演算速度、電力レベル、熱耐性、処理サイクル割当量、入力データ速度、出力データ速度、メモリリソース、データバス速度、およびその他の設計上または性能上の制約等、所定の実施例にとって望ましいとされる任意の数の要因に従って変化してよい。
いくつかの実施例においては、他のプラットフォームコンポーネント1050は、共通の演算エレメント、メモリユニット(システムメモリを含むもの)、チップセット、コントローラ、周辺機器、インターフェイス、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント(たとえば、デジタルディスプレイ)、電力供給などを含んでよい。メモリユニットまたはメモリデバイスの例には、1または複数のより高速なメモリユニットの形のさまざまなタイプのコンピュータ可読および機械可読記憶媒体、たとえばリードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、静的RAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電体ポリマメモリなどのポリマメモリ、オボニックメモリ、相変化または強誘電体メモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光学カード、独立ディスク冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(たとえば、USBメモリ)、ソリッドステートドライブ(SSD)および情報記憶に適した任意の他のタイプの記憶媒体を含んでよいが、これらに限定されない。
いくつかの実施例においては、通信インターフェイス1060は、通信インターフェイスをサポートするロジックおよび/または機能を含んでよい。いくつかの実施例については、通信インターフェイス1060は、直接またはネットワーク通信リンク上で通信するさまざまな通信プロトコルまたは基準に従って動作する1または複数の通信インターフェイスを含んでよい。直接通信は、PCIe仕様、NVMe仕様またはI3C仕様と関連付けられたものなどの、1または複数の業界会基準(後継および変形を含む)に記載される通信プロトコルまたは基準の仕様を介して起こり得る。ネットワーク通信は、米国電気電子学会(IEEE)により公布されている1または複数のイーサネット(登録商標)基準の中で説明される通信プロトコルまたは基準の使用を介して起こり得る。たとえば、IEEEにより公布されているそのようなイーサネット(登録商標)基準の1つには、2018年8月に公開されたIEEE 802.3−2018、Carrier sense Multiple access with Collision Detection(CSMA/CD)アクセス方法および物理レイヤ仕様(以下、「IEEE 802.3仕様」)が含まれるが、これに限定されない。ネットワーク通信は、オープンフローハードウェア抽象化API仕様などの1または複数のオープンフロー仕様に従っても起こり得る。ネットワーク通信は、1または複数のインフィニバンドアーキテクチャ仕様に従っても起こり得る。
演算プラットフォーム1000は、たとえば、ユーザ機器、コンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレット、スマートフォン、埋め込みエレクトロニクス、ゲーミングコンソール、サーバ、サーバアレイまたはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワークアプライアンス、ウェブアプライアンス、分散型演算システム、マルチプロセッサシステム、プロセッサベースのシステム、またはそれらの組み合わせであり得る、演算デバイスの部分であってよい。それゆえ、本明細書で説明される演算プラットフォーム1000のファンクションおよび/または特定の構成は、適する所望のかたちで演算プラットフォーム1000のさまざまな実施形態において含まれるかまたは省かれてもよい。
演算プラットフォーム1000のコンポーネントおよび機能は、ディスクリート回路、ASIC、ロジックゲートおよび/またはシングルチップアーキテクチャの任意の組み合わせを使用して実装されてよい。さらに、演算プラットフォーム1000の機能は、適する範囲においてマイクロコントローラ、プログラマブルロジックアレイ、および/またはマイクロプロセッサ、または前記の任意の組み合わせを使用して実装されてよい。ハードウェア、ファームウェア、および/またはソフトウェアエレメントは、総称してまたは個別に「ロジック」または「回路」と称され得ることを理解されたい。
図10のブロック概略図に示される例示的な演算プラットフォーム1000は、多くの考え得る実装のうちの1つの機能的記述例を表し得ることを理解されたい。それゆえ、添付の図において図示されるブロックファンクションを分割、省略、または包含することは、これらのファンクションを実装するためのハードウェアコンポーネント、回路、ソフトウェアおよび/またはエレメントが必ずしも実施形態において分割、省略、または包含されることを暗示するものではない。
少なくとも1つの実施例の1または複数の形態は、機械により読み取られる場合に、演算デバイスまたはシステムが機械、演算デバイスまたはシステムに本明細書の中で説明される技術を実行するロジックを作製させる、プロセッサ内のさまざまなロジックを表す少なくとも1つの機械可読媒体上に記憶される代表的な命令により実装されてよい。そのような代表的なものは、「IPコア」として知られ、IPブロックに類似するものであってよい。IPコアは、有形の機械可読媒体上に記憶され、実際にロジックまたはプロセッサを作る作製機械へロードされるためにさまざまな顧客または製造工場へ供給されてよい。
ハードウェアエレメント、ソフトウェアエレメント、またはその両方の組み合わせを用いて、さまざまな実施例が実装されてよい。いくつかの実施例においては、ハードウェアエレメントは、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路エレメント(たとえば、トランジスタ、抵抗器、キャパシタ、インダクタ、など)、集積回路、ASIC、PLD、DSP)、FPGA、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでよい。いくつかの実施例においては、ソフトウェアエレメントは、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーティン、サブルーティン、ファンクション、方法、プロシージャ、ソフトウェアインターフェイス、API、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、またはそれらの任意の組み合わせを含んでよい。ある実施例がハードウェアエレメントおよび/またはソフトウェアエレメントを使用して実装されるかどうかの決定は、望ましい演算速度、電力レベル、熱耐性、処理サイクル割当量、入力データ速度、出力データ速度、メモリリソース、データバス速度、およびその他の設計上または性能上の制約等、所定の実装にとって望ましいとされる任意の数の要因に従って変化してよい。
いくつかの実施例は、製造品または少なくとも1つのコンピュータ可読媒体が含まれてよい。コンピュータ可読媒体は、ロジックを記憶するための非一時的記憶媒体を含んでよい。いくつかの実施例においては、非一時的記憶媒体は、揮発性メモリまたは不揮発性メモリ、取り外し可能または取り外し不能メモリ、消去可能または消去不能メモリ、書き込み可能または再書き込み可能メモリなどを含む、電子データを記憶することができる1または複数のタイプのコンピュータ可読記憶媒体有が含まれてよい。いくつかの実施例においては、ロジックは、ソフトウェアコンポーネントなどのさまざまなソフトウェア要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーティン、サブルーティン、ファンクション、方法、プロシージャ、ソフトウェアインターフェイス、API、命令セット、演算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、またはそれらの任意の組み合わせを含んでよい。
いくつかの実施例によれば、コンピュータ可読媒体は、機械、演算デバイスまたはシステムにより実行される場合に、前記で説明される例に従って、方法および/または動作を機械、演算デバイスまたはシステムに実行させるという命令を記憶または維持するための非一時的記憶媒体を有してよい。命令の例には、ソースコード、コンパイル済コード、解釈済コード、実行可能コード、静的コード、動的コードなどの、あらゆる適切なタイプのコードが含まれてよい。命令は、所定のファンクションを実行する機械、演算デバイスまたはシステムに命令するための予め定義されたコンピュータ言語、方法、または構文に従って実装されてよい。命令は、あらゆる適切な高レベル、低レベル、オブジェクト指向、ビジュアル、コンパイル済および/または解釈済のプログラミング言語を使用して実装されてよい。
いくつかの実施例は、「1つの実施例における」または「1つの実施例」、およびそれらの派生系の表現を使用して説明される場合がある。これらの語は、実施例に関連して説明される特定の機能、構造、または特性が少なくとも1つの実施例の中に含まれていることを意味する。本明細書の随所に現れる「1つの実施例において」というフレーズは、必ずしも同一の実施例について述べているものとは限らない。
いくつかの実施例は、「連結される」または「接続される」、およびそれらの派生系の表現を使用して説明される場合がある。これらの語は、必ずしも互いに同義語として意図されているとは限らない。たとえば、「接続される」および/または「連結され」という語の使用は、2またはそれ以上のエレメントが直接的物理的または電気的に互いに接触していることを示し得る。しかし、「連結され」または「と連結され」という語は、2またはそれ以上のエレメントが互いに直接的に接触していないものの、互いに協働するまたは相互作用することをも意味し得る。
本明細書の中でさまざまな動作またはファンクションが説明される範囲において、それらはソフトウェアコード、命令、コンフィギュレーション、および/またはデータとして説明または定義され得る。コンテンツは直接実行可能な(「オブジェクト」または「実行可能な」)フォーム、ソースコード、または異なるコード(「デルタ」または「パッチ」コード)であり得る。本明細書の中で説明されるソフトウェアコンテンツは、コンテンツがその上に記憶される製造品を介して、または通信インターフェイスを介してデータを送信するために通信インターフェイスを動作させる方法を介して提供され得る。機械可読な記憶媒体は、説明されるファンクションまたは動作を機械に実行させて、記録可能/記録不能媒体(たとえば、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスなど)などの機械によりアクセス可能なフォームの情報を記憶するあらゆる機構(たとえば、演算デバイス、電子システムなど)を含めさせることができる。通信インターフェイスは、メモリバスインターフェイス、プロセッサバスインターフェイス、インターネット接続、ディスクコントローラなどの別のデバイスと通信させるために、ハード配線型、ワイヤレス型、光学式等の任意の媒体とインターフェイス接続するあらゆる機構を含む。通信インターフェイスは、ソフトウェアコンテンツを説明するデータ信号を提供する通信インターフェイスを作成するためのコンフィギュレーションパラメータを提供することおよび/または信号を送信することにより構成され得る。通信インターフェイスは、通信インターフェイスへ送信される1または複数のコマンドまたは信号を介してアクセスされ得る。
以下の実施例は、本明細書で開示される技術の追加の例に属するものである。
実施例1。実施例としてのメモリデバイスは、ODT設定と制御回路を維持するよう構成される1または複数のレジスタを含んでよい。制御回路は、同一のデータチャネルと連結される別個のメモリデバイスによりコマンドが実行されるという指示を受信してよい。制御回路は、別個のメモリデバイスのメモリデバイスへの近接を示す第1のグループ識別子に基づくとともにコマンドが読み取りコマンドであるか書き込みコマンドであるかどうかに基づいて、コマンドの実行中にどのODT設定を適用するかを決定するために1または複数のレジスタをも読み出してよい。
実施例2。別個のメモリデバイスを含む第1のパッケージに位置してよいメモリデバイスであって、メモリデバイスは第1のパッケージ用の終端メモリデバイスとなるよう構成される、実施例1のメモリデバイス。
実施例3。第1のグループ識別子は、別個のメモリデバイスが同一のパッケージに位置することを指示する第1のパッケージへ割り当てられてよい、実施例2のメモリデバイス。コマンドは書き込みコマンドであってよい。制御回路は、別個のメモリデバイスへの書き込み動作中にメモリデバイスにHi_z ODT設定を提供させてよい。
実施例4。メモリデバイスは、少なくとも1つの他のメモリデバイスを含む第1のパッケージに位置してよい、実施例1のメモリデバイス。メモリデバイスは、第1のパッケージ用の終端メモリデバイスとなるように構成されてよい。別個のメモリデバイスは、第2のパッケージに位置してよい。第1のグループ識別子は第2のパッケージへ割り当てられてよく、第1のグループ識別子は別個のメモリデバイスが異なるパッケージに位置することを指示する。
実施例5。コマンドは読み取りコマンドであってよい、実施例4のメモリデバイス。制御回路は、メモリデバイスに、第2のパッケージが第1のパッケージに隣接するまたは近くに位置する場合は読み取り動作中に第1のODT設定を提供させ、または第2のパッケージが第1のパッケージに隣接して位置しない場合は読み取り動作中に第2のODT設定を提供させてよい。
実施例6。記憶デバイスのコントローラから受信されてよいコマンドを備える、実施例1のメモリデバイス。
実施例7。不揮発性タイプのメモリを含むメモリデバイスを備えてよく、記憶デバイスはソリッドステートドライブである、実施例6のメモリデバイス。
実施例8。不揮発性タイプのメモリは、相変化メモリ、ナノワイヤメモリ、FeTRAM、反強誘電体メモリ、金属酸化物ベースを含む抵抗性メモリ、CB−RAM、スピントロニクス磁気接合メモリ、MTJメモリ、磁壁(DW)およびスピン軌道転送(SOT)メモリ、サイリスタベースメモリアレイ、メモリスタ技術を組み込んだMRAM、またはSTT−MRAMを含んでよい、実施例7のメモリデバイス。
実施例9。実施例としての装置は、第1のメモリデバイスと連結するI/Oインターフェイス回路を含んでよい。装置はプログラムロジックを実行する回路をも含んでよく、プログラムロジックは、第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合に、第1のメモリデバイスにおける第1のレジスタをプログラミングして、I/Oインターフェイス回路を介して、第1のレジスタに、選択する複数のODTタイプを指示させてよい。複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づいてよい。プログラムロジックもまた、第1のメモリデバイスにおける第2のレジスタをプログラミングして、I/Oインターフェイス回路を介して、別個のODT設定を有する少なくとも2つのODTタイプを第2のレジスタに指示させて、書き込みコマンドが第2のメモリデバイスにより実行されるか第3のメモリデバイスにより実行されるかに基づいて適用してよい。
実施例10。第1のメモリデバイスグループは第1のグループ識別子に割り当てられる第1のパッケージに位置し、第2のメモリデバイスグループは第2のグループ識別子に割り当てられる第2のパッケージに位置してよい、実施例9の装置。この実施例では、第4のメモリデバイスが、第3のグループ識別子に割り当てられる第3のパッケージに位置する第3のメモリデバイスグループに含まれる。第1と第2と第3のパッケージは、第2のパッケージが第1のパッケージに隣接してまたは近くに位置し、第3のパッケージは第1のパッケージに隣接しないで位置しながら、同一のデータバスを介してI/Oインターフェイス回路へ連結されてよい。
実施例11。プログラムロジックもまた、第1のメモリデバイスにおける第3のレジスタをプログラミングして、第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスであってコマンドが読み取りコマンドである場合は、選択的に適用するように第1のODT設定と第2のODT設定を指示してよい、実施例10の装置。この実施例では、第1のメモリデバイスは、読み取りコマンドが第3のメモリデバイスのためのものである場合は第1のODT設定を適用し、または読み取りコマンドが第4のメモリデバイスのためのものである場合は第2のODT設定を適用するようになっていてもよい。
実施例12。第1、第2、および第3のメモリデバイスが、不揮発性タイプのメモリを含んでよい、実施例9の装置。装置は、第1、第2および第3のメモリデバイスを含むソリッドステートドライブ用のコントローラであってよい。
実施例13。不揮発性タイプのメモリは、相変化メモリ、ナノワイヤメモリ、FeTRAM、反強誘電体メモリ、金属酸化物ベースを含む抵抗性メモリ、CB−RAM、スピントロニクス磁気接合メモリ、MTJメモリ、磁壁(DW)およびスピン軌道転送(SOT)メモリ、サイリスタベースメモリアレイ、メモリスタ技術を組み込んだMRAM、またはSTT−MRAMを含んでよい、実施例12の装置。
実施例14。記憶デバイスは、同一のデータチャネルを介して複数のメモリデバイスグループと連結するI/Oインターフェイス回路を有するコントローラを含んでよい。記憶デバイスもまた、複数のメモリデバイスグループの第1のグループのメモリデバイスを含んでよい。実施例としてのメモリデバイスは、ODT設定を維持するよう構成される1または複数のレジスタを含んでよい。メモリデバイスは、同一のデータチャネルと連結される別個のメモリデバイスによりコントローラからのコマンドが実行されるという指示を受信する制御回路をも含んでよい。回路は、1または複数のレジスタを読み出して、別個のメモリデバイスのメモリデバイスへの近接を示す第1のグループ識別子に基づくとともにコマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、コマンドの実行中にどのODT設定を適用するかを決定してよい。
実施例15。複数のメモリデバイスグループの第1のグループは第1のパッケージに位置してよく、第1のグループは別個のメモリデバイスをも含み、メモリデバイスは第1のグループの終端メモリデバイスとなるように構成される、実施例14の記憶デバイス。
実施例16。第1のグループ識別子は、別個のメモリデバイスが同一のパッケージに位置することを指示する第1のグループへ割り当てられてよい、実施例15の記憶デバイス。コマンドは書き込みコマンドであってよく、制御回路は、別個のメモリデバイスへの書き込み動作中にメモリデバイスにHi_z ODT設定を提供させる。
実施例17。複数のメモリデバイスグループの第1のグループは第1のパッケージに位置してよい、実施例14の記憶デバイス。第1のグループは、別個のメモリデバイスをも含んでよい。メモリデバイスは、第1のグループ用の終端メモリデバイスとなるように構成されてよい。別個のメモリデバイスは、第2のパッケージに位置する複数のメモリデバイスグループの第2のグループに含まれてよい。第1のグループ識別子は第2のグループへ割り当てられてよく、第1のグループ識別子は別個のメモリデバイスが異なるパッケージに位置することを指示する。
実施例18。コマンドは読み取りコマンドであってよい、実施例17の記憶デバイス。制御回路は、メモリデバイスに、第2のパッケージが第1のパッケージに隣接するまたは近くに位置する場合は読み取り動作中に第1のODT設定を提供させ、または第2のパッケージが第1のパッケージに隣接して位置しない場合は読み取り動作中に第2のODT設定を提供させてよい。
実施例19。メモリデバイスは、不揮発性タイプのメモリを含んでよい、実施例14の記憶デバイス。記憶デバイスは、ソリッドステートドライブであってよい。
実施例20。不揮発性タイプのメモリは、相変化メモリ、ナノワイヤメモリ、FeTRAM、反強誘電体メモリ、金属酸化物ベースを含む抵抗性メモリ、CB−RAM、スピントロニクス磁気接合メモリ、MTJメモリ、磁壁(DW)およびスピン軌道転送(SOT)メモリ、サイリスタベースメモリアレイ、メモリスタ技術を組み込んだMRAM、またはSTT−MRAMを含んでよい、実施例19の記憶デバイス。
実施例21。実施例としての方法には、メモリデバイス用の回路において、同一のデータチャネルと連結される別個のメモリデバイスによりコマンドが実行されるという指示を受信する段階を含んでよい。方法は、別個のメモリデバイスのメモリデバイスへの近接を示す第1のグループ識別子に基づくとともにコマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、コマンドの実行中にどのODT設定を適用するかを決定するための、ODT設定を維持するように構成される1または複数のレジスタを読み出す段階をも含んでよい。
実施例22。メモリデバイスは、別個のメモリデバイスを含む第1のパッケージに位置してよい、実施例21の方法。メモリデバイスは、第1のパッケージ用の終端メモリデバイスとなるように構成されてよい。
実施例23。第1のグループ識別子は、別個のメモリデバイスが同一のパッケージに位置することを指示する第1のパッケージへ割り当てられてよい、実施例22の方法。コマンドは書き込みコマンドであってよく、方法は別個のメモリデバイスへの書き込み動作中にメモリデバイスにHi_z ODT設定を提供させることをも含んでよい。
実施例24。メモリデバイスは、少なくとも1つの他のメモリデバイスを含む第1のパッケージに位置してよい、実施例21の方法。メモリデバイスは、第1のパッケージ用の終端メモリデバイスとなるように構成されてよい。別個のメモリデバイスは第2のパッケージに位置し、第1のグループ識別子は第2のパッケージに割り当てられ、第1のグループ識別子は別個のメモリデバイスが異なるパッケージに位置することを指示してよい。
実施例25。コマンドは読み取りコマンドであってよく、方法は、メモリデバイスに、第2のパッケージが第1のパッケージに隣接するまたは近くに位置する場合は読み取り動作中に第1のODT設定を提供させ、第2のパッケージが第1のパッケージに隣接して位置しない場合は読み取り動作中に第2のODT設定を提供させることをも含んでよい、実施例24に記載の方法。
実施例26。コマンドは記憶デバイスのコントローラから受信されてよい、実施例21に記載の方法。
実施例27。メモリデバイスは不揮発性タイプのメモリを含んでよく、記憶デバイスはソリッドステートドライブであってよい、実施例26の方法。
実施例28。実施例としての少なくとも1つの機械可読媒体は、システムにより実行されることに応答して、システムに実施例21から27のいずれか1つの方法を実行させてよいという複数の命令を含んでよい。
実施例29。実施例としての装置は、実施例21から27のいずれか1つの方法を実行する手段を有してよい。
実施例30。実施例としての方法は、I/Oインターフェイス回路を介して、コントローラと連結された第1のメモリデバイスにおける第1のレジスタをプログラミングして、第1のメモリデバイスが第1のメモリデバイスグループのための終端メモリデバイスである場合に、第1のレジスタに、選択する複数のODTタイプを指示させることを含んでよい。複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づいてよい。方法もまた、第1のメモリデバイスにおける第2のレジスタをプログラミングして、I/Oインターフェイス回路を介して、別個のODT設定を有する少なくとも2つのODTタイプを第2のレジスタに指示させて、書き込みコマンドが第2のメモリデバイスにより実行されるか第3のメモリデバイスにより実行されるかに基づいて適用することを含んでよい。
実施例31。第1のメモリデバイスグループは、第1のグループ識別子に割り当てられる第1のパッケージに位置してよい、実施例30の方法。第2のメモリデバイスグループは、第2のグループ識別子に割り当てられる第2のパッケージに位置してよい。この実施例については、第3のメモリデバイスグループに含まれる第4のメモリデバイスが、第3のグループ識別子に割り当てられる第3のパッケージに位置し、第1と第2と第3のパッケージが同一のデータバスを介してI/Oインターフェイス回路に連結される。第2のパッケージは第1のパッケージに隣接してまたは近くに位置してよく、第3のパッケージは第1のパッケージに隣接しないで位置してよい。
実施例32。実施例31の方法もまた、第1のメモリデバイスにおける第3のレジスタをプログラミングして、第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスであってコマンドが読み取りコマンドである場合は、選択的に適用する第1のODT設定と第2のODT設定を指示することを含んでよい。この実施例では、第1のメモリデバイスは、読み取りコマンドが第3のメモリデバイスのためのものである場合は第1のODT設定を適用し、または読み取りコマンドが第4のメモリデバイスのためのものである場合は第2のODT設定を適用する。
実施例33。不揮発性タイプのメモリを含む第1、第2および第3のメモリデバイスを含んでよく、コントローラは、第1、第2および第3のメモリデバイスを含むソリッドステートドライブ用のコントローラであってよい、実施例32の方法。
実施例33。実施例としての少なくとも1つの機械可読媒体は、システムにより実行されることに応答して、システムに実施例31から33のいずれか1つの方法を実行させてよいという複数の命令を含んでよい。
実施例34。実施例としての装置は、実施例31から33のいずれか1つの方法を実行する手段を有してよい。
本開示の要約は米国特許規則連邦規則法典第37巻(37C.F.R.)に適合するように提供されていることが強調される。米国特許法施行規則セクション1.72(b)は、読者が迅速に技術的開示の性質を確認できる要約を要求するものである。特許請求の範囲または意味の解釈または制限のためにこれが使われるものではないという理解の下で提出されている。さらに、上述の詳細な説明においては、本開示内容をわかりやすくするためにさまざまな特徴が1つの実施例にまとめられていることがわかる。本開示のこの方法は、特許請求される実施例が各請求項において明示的に説明されている以上の特徴を要するという意図を反映したものと解釈されるものではない。むしろ、以下の請求項が反映するとおり、発明の主題事項は開示される1つの実施例のすべての特徴よりも少ない。それゆえ、以下の請求項は、それぞれの請求項が別個の実施例として詳細な説明の中に組み込まれる。添付の請求項における「含む」および「であって」という語句はそれぞれ「備える」および「において」と同等の平易な英語として使用されている。さらに、「第1」、「第2」、「第3」などの語句は単に呼称として使用されるものであり、その対象物についての数値的要件を課すものとして意図されるものではない。
主題事項は、構造的特徴および/または方法論的動作に特有の文言で説明されているが、添付の請求項において定義される主題事項は必ずしも上記で説明されるものに特有の特徴に限定されるものではないことは理解されたい。むしろ、上記で説明される特有の特徴および動作は、請求項を実施する形態の例として開示されている。
[考えられる他の項目]
(項目1)
オンダイターミネーション(ODT)設定を維持するように構成される1または複数のレジスタと、
同一のデータチャネルと連結される別個のメモリデバイスによりコマンドが実行されるという指示を受信し、
上記別個のメモリデバイスの上記メモリデバイスに近接していることを指示する第1のグループ識別子に基づくとともに、上記コマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、上記コマンドの実行中にどのODT設定を適用するかを決定するために上記1または複数のレジスタを読み取る、
制御回路と、
を備える、メモリデバイス。
(項目2)
上記別個のメモリデバイスを含む第1のパッケージに位置する上記メモリデバイスであって、上記メモリデバイスは上記第1のパッケージ用の終端メモリデバイスとなるよう構成される、上記メモリデバイスを備える、項目1に記載のメモリデバイス。
(項目3)
上記第1のパッケージへ割り当てられ、上記別個のメモリデバイスは同一パッケージに位置し、上記コマンドは書き込みコマンドであって、上記制御回路は、上記別個のメモリデバイスへの書き込み動作中に上記メモリデバイスにHi_z ODT設定を提供させることを指示する、上記第1のグループ識別子を備える、項目2に記載のメモリデバイス。
(項目4)
少なくとも1つの他のメモリデバイスを含む第1のパッケージに位置する上記メモリデバイスを備え、上記メモリデバイスは上記第1のパッケージの終端メモリデバイスとなるよう構成され、上記別個のメモリデバイスは第2のパッケージに位置し、上記第1のグループ識別子は上記第2のパッケージへ割り当てられ、上記第1のグループ識別子は上記別個のメモリデバイスが異なるパッケージに位置するように指示する、項目1に記載のメモリデバイス。
(項目5)
読み取りコマンドである上記コマンドと、上記メモリデバイスに、上記第2のパッケージが上記第1のパッケージに隣接するまたは近くに位置する場合は、読み取り動作中に第1のODT設定を提供させ、上記第2のパッケージが上記第1のパッケージに隣接して位置しない場合は、読み取り動作中に第2のODT設定を提供させる、上記制御回路とを備える、項目4に記載のメモリデバイス。
(項目6)
記憶デバイスのコントローラから受信される上記コマンドを備える、項目1に記載のメモリデバイス。
(項目7)
不揮発性タイプのメモリを含むメモリデバイスを備え、上記記憶デバイスはソリッドステートドライブである、項目6に記載のメモリデバイス。
(項目8)
上記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、項目7に記載のメモリデバイス。
(項目9)
第1のメモリデバイスと連結される入力/出力(I/O)インターフェイス回路と、
プログラムロジックを実行する回路と
を備え、
上記プログラムロジックは、
上記第1のメモリデバイスにおける第1のレジスタを、上記I/Oインターフェイス回路を介してプログラミングして、上記第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合は、上記第1のレジスタに、選択する複数のオンダイターミネーション(ODT)タイプを指示させるプログラムロジックであって、上記複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが、上記第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づくプログラムロジックであって、
上記第1のメモリデバイスにおける第2のレジスタを、上記I/Oインターフェイス回路を介してプログラミングして、上記第2のレジスタに、別個のODT設定を有する少なくとも2つのODTタイプを指示させて、書き込みコマンドが上記第2のメモリデバイスにより実行されるものであるか上記第3のメモリデバイスにより実行されるものであるかに基づいて適用する、回路、
を備える、装置。
(項目10)
第1のグループ識別子に割り当てられる第1のパッケージに位置する上記第1のメモリデバイスグループと、第2のグループ識別子に割り当てられる第2のパッケージに位置する第2のメモリデバイスグループとを備え、第3のメモリデバイスグループに含まれる第4のメモリデバイスは第3のグループ識別子に割り当てられる第3のパッケージに位置し、上記第1のパッケージ、上記第2のパッケージおよび上記第3のパッケージは同一データバスを介して上記I/Oインターフェイス回路に連結され、上記第2のパッケージは上記第1のパッケージに隣接するかまたは近くに位置し、上記第3のパッケージは上記第1のパッケージに隣接して位置しない、項目9に記載の装置。
(項目11)
上記第1のメモリデバイスにある第3のレジスタをプログラミングして、上記第1のメモリデバイスが上記第1のメモリデバイスグループの上記終端メモリデバイスであって上記コマンドが読み取りコマンドである場合は、選択的に適用するように第1のODT設定および第2のODT設定に指示するプログラムロジックであって、上記第1のメモリデバイスは、上記読み取りコマンドが上記第3のメモリデバイスに対するものである場合、は上記第1のODT設定を適用し、上記読み取りコマンドが上記第4のメモリデバイスに対するものである場合は、上記第2のODT設定を適用する、
プログラムロジックをさらに備える、項目10に記載の装置。
(項目12)
不揮発性タイプのメモリを含む上記第1のメモリデバイス、上記第2のメモリデバイスおよび上記第3のメモリデバイスを備える装置であって、上記装置は、上記第1のメモリデバイス、上記第2のメモリデバイスおよび上記第3のメモリデバイスを含むソリッドステートドライブ用のコントローラである、項目9に記載の装置。
(項目13)
上記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、項目12に記載の装置。
(項目14)
同一データチャネルを介して複数のメモリデバイスグループへ連結するための入力/出力(I/O)インターフェイス回路を有するコントローラと、
上記複数のメモリデバイスグループの第1のグループのメモリデバイスを備え、
上記メモリデバイスは、
オンダイターミネーション(ODT)設定を維持するよう構成される1または複数のレジスタと、
上記同一データチャネルと連結される別個のメモリデバイスにより上記コントローラからのコマンドが実行されるという指示を受信し、
上記別個のメモリデバイスが上記メモリデバイスに近接していることを指示する第1のグループ識別子に基づくとともに、上記コマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、上記コマンドの実行中にどのODT設定を適用するかを決定するために1または複数のレジスタを読み取る、制御回路と、を有する、
記憶デバイス。
(項目15)
第1のパッケージに位置する上記複数のメモリデバイスグループの第1のグループを備え、上記第1のグループは上記別個のメモリデバイスをも含み、上記メモリデバイスは上記第1のグループ用の終端メモリデバイスとなるように構成される、項目14に記載の記憶デバイス。
(項目16)
上記第1のグループへ割り当てられ、上記別個のメモリデバイスは同一パッケージに位置し、上記コマンドは書き込みコマンドであって、上記制御回路は上記別個のメモリデバイスへの書き込み動作中に上記メモリデバイスにHi_z ODT設定を提供させることを指示する、上記第1のグループ識別子を備える、項目15に記載の記憶デバイス。
(項目17)
第1のパッケージに位置する上記複数のメモリデバイスグループの上記第1のグループを備え、上記第1のグループは上記別個のメモリデバイスをも含み、上記メモリデバイスは上記第1のグループ用の終端メモリデバイスとなるように構成され、上記別個のメモリデバイスは第2のパッケージに位置する上記複数のメモリデバイスグループの第2のグループに含まれ、上記第1のグループ識別子は上記第2のグループへ割り当てられ、上記第1のグループ識別子は上記別個のメモリデバイスが異なるパッケージに位置するよう指示する、項目14に記載の記憶デバイス。
(項目18)
読み取りコマンドである上記コマンドと、上記メモリデバイスに、上記第2のパッケージが上記第1のパッケージに隣接するまたは近くに位置する場合は、読み取り動作中に第1のODT設定を提供させ、上記第2のパッケージが上記第1のパッケージに隣接して位置しない場合は、上記読み取り動作中に第2のODT設定を提供させる、上記制御回路とを備える、項目17に記載の記憶デバイス。
(項目19)
不揮発性タイプのメモリを含む上記メモリデバイスを備え、上記記憶デバイスはソリッドステートドライブである、項目14に記載の記憶デバイス。
(項目20)
上記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、項目19に記載の記憶デバイス。

Claims (35)

  1. オンダイターミネーション(ODT)設定を維持するように構成される1または複数のレジスタと、
    同一のデータチャネルと連結される別個のメモリデバイスによりコマンドが実行されるという指示を受信し、
    前記別個のメモリデバイスの前記メモリデバイスに近接していることを指示する第1のグループ識別子に基づくとともに、前記コマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、前記コマンドの実行中にどのODT設定を適用するかを決定するために前記1または複数のレジスタを読み取る、
    制御回路と、
    を備える、メモリデバイス。
  2. 前記別個のメモリデバイスを含む第1のパッケージに位置する前記メモリデバイスであって、前記メモリデバイスは前記第1のパッケージ用の終端メモリデバイスとなるよう構成される、前記メモリデバイスを備える、請求項1に記載のメモリデバイス。
  3. 前記第1のパッケージへ割り当てられ、前記別個のメモリデバイスは同一パッケージに位置し、前記コマンドは書き込みコマンドであって、前記制御回路は、前記別個のメモリデバイスへの書き込み動作中に前記メモリデバイスにHi_z ODT設定を提供させることを指示する、前記第1のグループ識別子を備える、請求項2に記載のメモリデバイス。
  4. 少なくとも1つの他のメモリデバイスを含む第1のパッケージに位置する前記メモリデバイスを備え、前記メモリデバイスは前記第1のパッケージの終端メモリデバイスとなるよう構成され、前記別個のメモリデバイスは第2のパッケージに位置し、前記第1のグループ識別子は前記第2のパッケージへ割り当てられ、前記第1のグループ識別子は前記別個のメモリデバイスが異なるパッケージに位置するように指示する、請求項1に記載のメモリデバイス。
  5. 読み取りコマンドである前記コマンドと、前記メモリデバイスに、前記第2のパッケージが前記第1のパッケージに隣接するまたは近くに位置する場合は、読み取り動作中に第1のODT設定を提供させ、前記第2のパッケージが前記第1のパッケージに隣接して位置しない場合は、前記読み取り動作中に第2のODT設定を提供させる、前記制御回路とを備える、請求項4に記載のメモリデバイス。
  6. 記憶デバイスのコントローラから受信される前記コマンドを備える、請求項1に記載のメモリデバイス。
  7. 不揮発性タイプのメモリを含むメモリデバイスを備え、前記記憶デバイスはソリッドステートドライブである、請求項6に記載のメモリデバイス。
  8. 前記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、請求項7に記載のメモリデバイス。
  9. 第1のメモリデバイスと連結される入力/出力(I/O)インターフェイス回路と、
    プログラムロジックを実行する回路と
    を備え、
    前記プログラムロジックは、
    前記第1のメモリデバイスにおける第1のレジスタを、前記I/Oインターフェイス回路を介してプログラミングして、前記第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合は、前記第1のレジスタに、選択する複数のオンダイターミネーション(ODT)タイプを指示させるプログラムロジックであって、前記複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが、前記第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づくプログラムロジックであって、
    前記第1のメモリデバイスにおける第2のレジスタを、前記I/Oインターフェイス回路を介してプログラミングして、前記第2のレジスタに、別個のODT設定を有する少なくとも2つのODTタイプを指示させて、書き込みコマンドが前記第2のメモリデバイスにより実行されるものであるか前記第3のメモリデバイスにより実行されるものであるかに基づいて適用する、
    装置。
  10. 第1のグループ識別子に割り当てられる第1のパッケージに位置する前記第1のメモリデバイスグループと、第2のグループ識別子に割り当てられる第2のパッケージに位置する第2のメモリデバイスグループとを備え、第3のメモリデバイスグループに含まれる第4のメモリデバイスは第3のグループ識別子に割り当てられる第3のパッケージに位置し、前記第1のパッケージ、前記第2のパッケージおよび前記第3のパッケージは同一データバスを介して前記I/Oインターフェイス回路に連結され、前記第2のパッケージは前記第1のパッケージに隣接するかまたは近くに位置し、前記第3のパッケージは前記第1のパッケージに隣接して位置しない、請求項9に記載の装置。
  11. 前記第1のメモリデバイスにある第3のレジスタをプログラミングして、前記第1のメモリデバイスが前記第1のメモリデバイスグループの前記終端メモリデバイスであって前記コマンドが読み取りコマンドである場合は、選択的に適用するように第1のODT設定および第2のODT設定に指示するプログラムロジックであって、前記第1のメモリデバイスは、前記読み取りコマンドが前記第3のメモリデバイスに対するものである場合は、前記第1のODT設定を適用し、前記読み取りコマンドが前記第4のメモリデバイスに対するものである場合は、前記第2のODT設定を適用する、
    プログラムロジックをさらに備える、請求項10に記載の装置。
  12. 不揮発性タイプのメモリを含む前記第1のメモリデバイス、前記第2のメモリデバイスおよび前記第3のメモリデバイスを備える装置であって、前記装置は、前記第1のメモリデバイス、前記第2のメモリデバイスおよび前記第3のメモリデバイスを含むソリッドステートドライブ用のコントローラである、請求項9に記載の装置。
  13. 前記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、請求項12に記載の装置。
  14. 同一データチャネルを介して複数のメモリデバイスグループへ連結するための入力/出力(I/O)インターフェイス回路を有するコントローラと、
    前記複数のメモリデバイスグループの第1のグループのメモリデバイスとを備え、
    前記メモリデバイスは、
    オンダイターミネーション(ODT)設定を維持するよう構成される1または複数のレジスタと、
    前記同一データチャネルと連結される別個のメモリデバイスにより前記コントローラからのコマンドが実行されるという指示を受信し、
    前記別個のメモリデバイスが前記メモリデバイスに近接していることを指示する第1のグループ識別子に基づくとともに、前記コマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、前記コマンドの実行中にどのODT設定を適用するかを決定するために1または複数のレジスタを読み取る制御回路と、を有する、
    記憶デバイス。
  15. 第1のパッケージに位置する前記複数のメモリデバイスグループの第1のグループを備え、前記第1のグループは前記別個のメモリデバイスをも含み、前記メモリデバイスは前記第1のグループの終端メモリデバイスとなるように構成される、請求項14に記載の記憶デバイス。
  16. 前記第1のグループへ割り当てられ、前記別個のメモリデバイスは同一パッケージに位置し、前記コマンドは書き込みコマンドであって、前記制御回路は前記別個のメモリデバイスへの書き込み動作中に前記メモリデバイスにHi_z ODT設定を提供させることを指示する、前記第1のグループ識別子を備える、請求項15に記載の記憶デバイス。
  17. 第1のパッケージに位置する前記複数のメモリデバイスグループの前記第1のグループを備え、前記第1のグループは前記別個のメモリデバイスをも含み、前記メモリデバイスは前記第1のグループ用の終端メモリデバイスとなるように構成され、前記別個のメモリデバイスは第2のパッケージに位置する前記複数のメモリデバイスグループの第2のグループに含まれ、前記第1のグループ識別子は前記第2のグループへ割り当てられ、前記第1のグループ識別子は前記別個のメモリデバイスが異なるパッケージに位置するよう指示する、請求項14に記載の記憶デバイス。
  18. 読み取りコマンドである前記コマンドと、前記メモリデバイスに、前記第2のパッケージが前記第1のパッケージに隣接するまたは近くに位置する場合は、読み取り動作中に第1のODT設定を提供させ、前記第2のパッケージが前記第1のパッケージに隣接して位置しない場合は、前記読み取り動作中に第2のODT設定を提供させる、前記制御回路とを備える、請求項17に記載の記憶デバイス。
  19. 不揮発性タイプのメモリを含む前記メモリデバイスを備え、前記記憶デバイスはソリッドステートドライブである、請求項14に記載の記憶デバイス。
  20. 前記不揮発性タイプのメモリは、相変化メモリと、ナノワイヤメモリと、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)と、反強誘電体メモリと、金属酸化物ベース、酸素欠損ベース、および導電性ブリッジランダムアクセスメモリ(CB−RAM)を含む抵抗性メモリと、スピントロニクス磁気接合メモリと、磁気トンネル接合(MTJ)メモリと、磁壁(DW)およびスピン軌道転送(SOT)メモリと、サイリスタベースメモリアレイと、メモリスタ技術またはスピン転送トルクMRAM(STT−MRAM)を組み込んだ磁気抵抗ランダムアクセスメモリ(MRAM)とを備える、請求項19に記載の記憶デバイス。
  21. メモリデバイスの回路において、同一データチャネルに連結される別個のメモリデバイスによりコマンドが実行されるという指示を受信する段階と、
    オンダイターミネーション(ODT)設定を維持するように構成される1または複数のレジスタを読み取る段階であって、前記別個のメモリデバイスが前記メモリデバイスに近接していることを指示する第1のグループ識別子に基づくとともに、前記コマンドが読み取りコマンドであるか書き込みコマンドであるかに基づいて、前記コマンドの実行中にどのODT設定を適用するかを決定する、読み取る段階と
    を備える、方法。
  22. 前記別個のメモリデバイスを含む第1のパッケージに位置する前記メモリデバイスを備え、前記メモリデバイスは前記第1のパッケージ用の終端メモリデバイスとなるよう構成される、請求項21に記載の方法。
  23. 前記第1のパッケージへ割り当てられ、前記別個のメモリデバイスは同一パッケージに位置し、前記コマンドは書き込みコマンドであることを指示する、前記第1のグループ識別子を備える方法であって、前記方法はさらに、
    前記別個のメモリデバイスへの書き込み動作中に前記メモリデバイスにHi_z ODT設定を提供させる段階を有する、請求項22に記載の方法。
  24. 少なくとも1つの他のメモリデバイスを含む第1のパッケージに位置する前記メモリデバイスを備え、前記メモリデバイスは前記第1のパッケージの終端メモリデバイスとなるよう構成され、前記別個のメモリデバイスは第2のパッケージに位置し、前記第1のグループ識別子は前記第2のパッケージへ割り当てられ、前記第1のグループ識別子は前記別個のメモリデバイスが異なるパッケージに位置するように指示する、請求項21に記載の方法。
  25. 読み取りコマンドである前記コマンドを備える方法であって、前記方法はさらに、
    前記メモリデバイスに、前記第2のパッケージが前記第1のパッケージに隣接するまたは近くに位置する場合は、読み取り動作中に第1のODT設定を提供させ、前記第2のパッケージが前記第1のパッケージに隣接して位置しない場合は、前記読み取り動作中に第2のODT設定を提供させる段階を備える、請求項24に記載の方法。
  26. 記憶デバイスのコントローラから受信される前記コマンドを備える、請求項21に記載の方法。
  27. 不揮発性タイプのメモリを含む前記メモリデバイスを備え、前記記憶デバイスはソリッドステートドライブである、請求項26に記載の方法。
  28. システムにより実行されることに応答して、前記システムに請求項21から27のいずれか1項の方法を実行させる複数の命令を備える、少なくとも1つの機械可読媒体。
  29. 請求項21から27のいずれか1項に記載の方法を実行する手段を備える装置。
  30. コントローラと連結された第1のメモリデバイスにおける第1のレジスタを、入力/出力(I/O)インターフェイス回路を介してプログラミングして、前記第1のメモリデバイスが第1のメモリデバイスグループ用の終端メモリデバイスである場合は、第1のレジスタに、選択する複数のオンダイターミネーション(ODT)タイプを指示させる、段階であって、前記複数のODTタイプは、読み取りコマンドまたは書き込みコマンドが、前記第1のメモリデバイスグループに含まれる第2のメモリデバイスにより実行されるものであるか、第2のメモリデバイスグループに含まれる第3のメモリデバイスにより実行されるものであるかに基づく、段階と、
    前記第1のメモリデバイスにおける第2のレジスタを、前記I/Oインターフェイス回路を介してプログラミングして、前記第2のレジスタに、別個のODT設定を有する少なくとも2つのODTタイプを指示させて、書き込みコマンドが前記第2のメモリデバイスにより実行されるものであるか前記第3のメモリデバイスにより実行されるものであるかに基づいて適用する、段階と、
    を備える、方法。
  31. 第1のグループ識別子に割り当てられる第1のパッケージに位置する前記第1のメモリデバイスグループと、第2のグループ識別子に割り当てられる第2のパッケージに位置する第2のメモリデバイスグループとを備え、第3のメモリデバイスグループに含まれる第4のメモリデバイスは第3のグループ識別子に割り当てられる第3のパッケージに位置し、前記第1のパッケージ、前記第2のパッケージおよび前記第3のパッケージは同一データバスを介して前記I/Oインターフェイス回路に連結され、前記第2のパッケージは前記第1のパッケージに隣接するかまたは近くに位置し、前記第3のパッケージは前記第1のパッケージに隣接して位置しない、請求項30に記載の方法。
  32. 前記第1のメモリデバイスにある第3のレジスタをプログラミングして、前記第1のメモリデバイスが前記第1のメモリデバイスグループの前記終端メモリデバイスであって前記コマンドが読み取りコマンドである場合は、選択的に適用するように第1のODT設定および第2のODT設定に指示する段階であって、前記第1のメモリデバイスは、前記読み取りコマンドが前記第3のメモリデバイスに対するものである場合は、前記第1のODT設定を適用し、前記読み取りコマンドが前記第4のメモリデバイスに対するものである場合は、前記第2のODT設定を適用する、
    プログラミングする段階をさらに備える、請求項31に記載の方法。
  33. 不揮発性タイプのメモリを含む前記第1のメモリデバイス、前記第2のメモリデバイスおよび前記第3のメモリデバイスを備える装置であって、前記コントローラは、前記第1のメモリデバイス、前記第2のメモリデバイスおよび前記第3のメモリデバイスを含むソリッドステートドライブ用のコントローラである、請求項32に記載の方法。
  34. システムにより実行されることに応答して前記システムに請求項31から33のいずれか1項の方法を実行させる複数の命令を備える、少なくとも1つの機械可読媒体。
  35. 請求項31から33のいずれか1項に記載の方法を実行する手段を備える装置。
JP2020154130A 2019-12-23 2020-09-14 動的近接ベースのオンダイターミネーション技術 Pending JP2021099892A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/725,521 US20200133669A1 (en) 2019-12-23 2019-12-23 Techniques for dynamic proximity based on-die termination
US16/725,521 2019-12-23

Publications (1)

Publication Number Publication Date
JP2021099892A true JP2021099892A (ja) 2021-07-01

Family

ID=70328681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020154130A Pending JP2021099892A (ja) 2019-12-23 2020-09-14 動的近接ベースのオンダイターミネーション技術

Country Status (5)

Country Link
US (1) US20200133669A1 (ja)
JP (1) JP2021099892A (ja)
KR (1) KR20210081224A (ja)
CN (1) CN113094303A (ja)
DE (1) DE102020129114A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750190B2 (en) * 2020-12-14 2023-09-05 Intel Corporation Encoded on-die termination for efficient multipackage termination
US11868621B2 (en) * 2021-06-22 2024-01-09 Seagate Technology Llc Data storage with multi-level read destructive memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system

Also Published As

Publication number Publication date
KR20210081224A (ko) 2021-07-01
CN113094303A (zh) 2021-07-09
US20200133669A1 (en) 2020-04-30
DE102020129114A1 (de) 2021-06-24

Similar Documents

Publication Publication Date Title
US10025737B2 (en) Interface for storage device access over memory bus
CN108538337B (zh) 具有固定带宽接口的存储器设备中的集成的错误检查和校正(ecc)
KR101904313B1 (ko) 멀티-랭크 시스템 내에서 온-다이 터미네이션을 선택적으로 제어하기 위한 디램 디바이스 및 그것의 터미네이션 방법
US20200293199A1 (en) Memory device
US7952944B2 (en) System for providing on-die termination of a control signal bus
US11082043B2 (en) Memory device
JP2015111458A (ja) 構成可能な仮想ページサイズを有するブリッジデバイス
EP2539898A1 (en) Semiconductor memory device with plural memory die and controller die
US20170285941A1 (en) Read delivery for memory subsystem with narrow bandwidth repeater channel
US20230297523A1 (en) Techniques for command bus training to a memory device
US11755255B2 (en) Memory device comprising a plurality of memories sharing a resistance for impedance matching
US10997096B2 (en) Enumerated per device addressability for memory subsystems
JP2021099892A (ja) 動的近接ベースのオンダイターミネーション技術
KR20220085004A (ko) 효율적인 멀티패키지 종단을 위한 인코딩된 온-다이 종단
KR20210050431A (ko) 신뢰성, 가용성 및 확장성(ras)에서의 개선을 위한 메모리 워드라인 격리
US20170289850A1 (en) Write delivery for memory subsystem with narrow bandwidth repeater channel
JP6710689B2 (ja) 最小限のパッケージングの複雑性で異なる外部メモリタイプをサポートするための共通のダイ
US9280454B1 (en) Method and system for re-ordering bits in a memory system
JP6187841B2 (ja) デバイス、システム、方法、および装置
US20230103368A1 (en) Memory module management device
US11042315B2 (en) Dynamically programmable memory test traffic router
KR20210157749A (ko) 메모리 장치 및 메모리 컨트롤러 사이 인터페이스를 위한 장치, 이를 포함하는 패키지 및 시스템
EP4155953A1 (en) Enabling logic for flexible configuration of memory module data width
US20230333928A1 (en) Storage and access of metadata within selective dynamic random access memory (dram) devices
US20220229575A1 (en) Dynamic multilevel memory system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230907