DE112016004314T5 - Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system - Google Patents

Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system Download PDF

Info

Publication number
DE112016004314T5
DE112016004314T5 DE112016004314.7T DE112016004314T DE112016004314T5 DE 112016004314 T5 DE112016004314 T5 DE 112016004314T5 DE 112016004314 T DE112016004314 T DE 112016004314T DE 112016004314 T5 DE112016004314 T5 DE 112016004314T5
Authority
DE
Germany
Prior art keywords
odt
memory
latency
command
write
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
DE112016004314.7T
Other languages
English (en)
Inventor
Kuljit Bains
Alexey Kostinsky
Nadav Bonen
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 DE112016004314T5 publication Critical patent/DE112016004314T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017545Coupling arrangements; Impedance matching circuits
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

Eine chipinterne Terminierungssteuerung (ODT-Steuerung) ermöglicht programmierbare ODT-Latenzeinstellungen. Eine Arbeitsspeichervorrichtung kann über einen oder mehrere Busse, die von in mehrere Arbeitsspeichervorrichtungen organisierten Arbeitsspeicherrängen gemeinsam genutzt werden, an eine zugehörige Arbeitsspeichersteuerung koppeln. Die Arbeitsspeichersteuerung generiert einen Arbeitsspeicherzugriffsbefehl für einen Zielrang. Als Reaktion auf den Befehl können Arbeitsspeichervorrichtungen selektiv ODT für den Arbeitsspeicherzugriffsvorgang auf Grundlage davon, dass sie im Zielrang oder in einem Nichtzielrang sind, und davon, ob der Zugriffsbefehl einen Lese- oder einen Schreibvorgang enthält, aktivieren. Die Arbeitsspeichervorrichtung kann ODT in Übereinstimmung mit einer programmierbaren ODT-Latenzeinstellung aktivieren. Die programmierbare ODT-Latenzeinstellung kann verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festlegen.

Description

  • GEBIET
  • Ausführungsformen der Erfindung betreffen allgemein Arbeitsspeichervorrichtungen und genauer eine dynamische, selektive Steuerung einer chipinternen Terminierung von Arbeitsspeicherzugriffsvorgängen in einem System mit einer mehrrangigen Arbeits speicherarchitektur.
  • URHEBERRECHTSHINWEIS/GENEHMIGUNG
  • Teile der Offenbarung dieses Patentdokuments können Material enthalten, das urheberrechtlich geschützt ist. Der Urheberrechtsinhaber hat keine Einwände gegen die Vervielfältigung des Patentdokuments oder der Patentoffenbarung durch irgendjemanden, wie sie in der Patentakte oder den Patentakten des Patent- und Markenamts erscheint, behält sich aber ansonsten alle Urheberrechte vor. Der Urheberrechtshinweis gilt für alle Daten, die nachfolgend und in den beigefügten Zeichnungen beschrieben werden, sowie für etwaige nachfolgend beschriebene Software: Copyright © 2015, Intel Corporation, alle Rechte vorbehalten.
  • STAND DER TECHNIK
  • Arbeitsspeichervorrichtungen sind in Rechenvorrichtungen allgegenwärtig, um Daten und Code zu speichern, damit ein Prozessor Vorgänge ausführen kann und das Funktionieren der Rechenvorrichtungen erzielen kann. Auch wenn die Nachfrage nach Rechenvorrichtungen wächst, besteht der Trend zu kleineren Rechenvorrichtungen, die mit weniger Energie arbeiten, insbesondere in mobilen Vorrichtungen. Da mobile Rechenvorrichtungen ihre rechnerische Leistung erhöht haben, haben sie immer mehr Speicher und Arbeitsspeicher aufgenommen, um der wachsenden Verarbeitung und Ausführung, die auf den Vorrichtungen durchgeführt werden, zu entsprechen. In mobilen Rechenvorrichtungen ist die Steuerung des Energieverbrauchs ein wesentlicher Konstruktionsschwerpunkt. Arbeitsspeichervorrichtungen und Arbeitsspeicherteilsysteme verbrauchen einen wesentlichen Betrag des Gesamtenergieverbrauchs in Kleinleistungs- und anderen mobilen Vorrichtungen.
  • Figurenliste
  • Die folgende Beschreibung enthält eine Erörterung von Figuren mit Darstellungen, die beispielhaft für Implementierungen von Ausführungsformen der Erfindung gegeben sind. Die Zeichnungen sollen beispielhaft und nicht einschränkend verstanden werden. Wie hierin verwendet, sollen Bezugnahmen auf eine oder mehrere „Ausführungsformen“ so verstanden werden, dass sie ein bestimmtes Merkmal, eine bestimmte Struktur und/oder Eigenschaft beschreiben, die in mindestens einer Implementierung der Erfindung enthalten sind. Somit beschreiben Ausdrücke wie „in einer Ausführungsform“ oder „in einer alternativen Ausführungsform“, die hier erscheinen, verschiedene Ausführungsformen und Implementierungen der Erfindung und beziehen sich nicht notwendigerweise alle auf die gleiche Ausführungsform. Sie schließen sich jedoch auch nicht notwendigerweise gegenseitig aus.
    • 1 ist ein Blockdiagramm einer Ausführungsform eines Systems, das eine selektive Steuerung von chipinterner Terminierung (ODT), einschließlich einer ODT-Zeitsteuerung anwendet.
    • 2 ist ein Blockdiagramm einer Ausführungsform eines Systems, das eine ODT mit Zeitsteuerung für Arbeitsspeichervorrichtungen in einem Arbeitsspeichersystem anwendet.
    • 3A ist ein Blockdiagramm von Ausführungsformen von bekannter Acht-Chip-Verpackung.
    • 3B ist ein Blockdiagramm von Ausführungsformen von Arbeitsspeichervorrichtungen, die in Vier-Chip-Paketen montiert sind, wobei das System eine selektive chipinterne Terminierungssteuerung vorsieht.
    • 3C ist ein Blockdiagramm einer Ausführungsform eines Arbeitsspeichersystems mit einer Reihenschaltungstopologie, wobei das System eine selektive chipinterne Terminierungssteuerung vorsieht.
    • 4A ist eine Darstellung einer Ausführungsform einer Befehlscodierung zum Steuern einer chipinternen Terminierung für den Arbeitsspeicherzugriff.
    • 4B ist eine Darstellung einer Ausführungsform einer Tabelle zum Steuern eines chipinternen Terminierungswerts für den Arbeitsspeicherzugriff.
    • 4C ist eine Darstellung einer Ausführungsform einer Arbeitsspeicherzugriffsbefehlscodierung zum Steuern einer Zeitgebung für chipinterne Terminierung für den Arbeitsspeicherzugriff.
    • 4D ist eine Darstellung einer Ausführungsform einer Tabelle zum Steuern einer Zeitgebung für chipinterne Terminierung für den Arbeitsspeicherzugriff.
    • 5A ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Anwenden von chipinterner Terminierung für einen Schreibvorgang.
    • 5B ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Anwenden von chipinterner Terminierung für einen Lesevorgang.
    • 5C ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Aktivieren von chipinterner Terminierung für einen Schreibvorgang.
    • 5D ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Aktivieren von chipinterner Terminierung für einen Lesevorgang.
    • 6 ist ein Blockdiagramm einer Ausführungsform eines Rechensystems, in dem eine chipinterne Terminierungssteuerung implementiert werden kann.
    • 7 ist ein Blockdiagramm einer Ausführungsform einer mobilen Vorrichtung, in der eine chipinterne Terminierungssteuerung implementiert werden kann.
  • Beschreibungen bestimmter Details und Implementierungen folgen, einschließlich einer Beschreibung der Figuren, die einige oder alle der nachstehend beschriebenen Ausführungsformen darstellen können, sowie das Erörtern anderer möglicher Ausführungsformen oder Implementierungen der hierin vorgestellten erfinderischen Konzepte.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Gegenwärtige Arbeitsspeicherteilsysteme können einen Energieverbrauch des Arbeitsspeichersystems steuern, indem sie eine chipinterne Terminierung (ODT) während Schreibvorgängen eliminieren. Während die Signalqualität aufgrund des Fehlens von ODT vermindert sein kann, kann ein solcher Kompromiss toleriert werden, falls die Distanz zwischen den Arbeitsspeichervorrichtungen klein genug ist, sodass die Signalreflexionen das gewünschte Signal nicht wesentlich beeinflussen. Diese Annahmen sind in gegenwärtigen Systemen nicht immer erfüllt. Während einige Verpackungslösungen existieren, um die Arbeitsspeicherdichte in einer mobilen Vorrichtung zu erhöhen, während die Distanzen zwischen den Vorrichtungen klein gehalten werden, tendieren diese Lösungen dazu, teurer und nicht standardmäßig zu sein. Standardmäßigere Verpackungslösungen sind weniger teuer, aber erhöhen die Distanzen zwischen Arbeitsspeichervorrichtungen auf dem Arbeitsspeicherbus, wenn sich die Dichten erhöhen. Deshalb können die Distanzen zwischen Arbeitsspeichervorrichtungen eine Signaldegradierung aufgrund von Signalreflexionen ohne ODT in Standardverpackungslösungen verursachen. Zusätzlich können Signalreflexionen in nicht symmetrischen Verpackungen und/oder mit asymmetrischer Belastung ansteigen.
  • Gegenwärtige ODT-Lösungen verwenden ODT-Pins, die die Herstellungskosten erhöhen und mehr Platz verbrauchen, da dies die Pinanzahl erhöht. Es gibt einige ODT-Lösungen, die keine separaten ODT-Pins verwenden, aber diese Lösungen sind darauf beschränkt, eine Terminierung in einem Rang bereitzustellen, wie durch festes Codieren des Terminierungsschemas. Einzelrang-ODT ist keine ausreichende Lösung für mehrrangige Arbeitsspeichersysteme.
  • Gegenwärtige ODT-Lösungen sehen auch einen festen Wert für ODT-Ein- und Ausschaltzeiten vor, die Arbeitsspeichervorrichtungen aus Konfigurationseinstellungen für Lese- und Schreiblatenzen ableiten. Die Verwendung von fixierten ODT-Ein- und Ausschaltzeiten kann die Signalqualität degradieren, wenn die Topologieroutenplanung nicht angepasst wird oder die Last nicht angepasst wird oder beides.
  • Wie hierin beschrieben ermöglicht eine chipinterne Terminierungssteuerung (ODT-Steuerung) programmierbare ODT-Latenzeinstellungen. Eine Arbeitsspeichervorrichtung kann über einen oder mehrere Busse, die von in mehrere Arbeitsspeichervorrichtungen organisierten Arbeitsspeicherrängen gemeinsam genutzt werden, an eine zugehörige Arbeitsspeichersteuerung koppeln. Die Arbeitsspeichersteuerung generiert einen Arbeitsspeicherzugriffsbefehl für einen Zielrang. Als Reaktion auf den Befehl können Arbeitsspeichervorrichtungen selektiv ODT für den Arbeitsspeicherzugriffsvorgang auf Grundlage davon, dass sie im Zielrang oder in einem Nichtzielrang sind, und davon, ob der Zugriffsbefehl einen Lese- oder einen Schreibvorgang enthält, aktivieren. Die Arbeitsspeichervorrichtung kann ODT in Übereinstimmung mit einer programmierbaren ODT-Latenzeinstellung aktivieren. Die programmierbare ODT-Latenzeinstellung kann verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festlegen.
  • Ein Rang eines Arbeitsspeichers bezeichnet eine Anzahl an Arbeitsspeichervorrichtungen oder Chips, die alle einen gemeinsamen Befehl von einer zugehörigen Arbeitsspeichersteuerung oder einer vergleichbaren Steuereinheit empfangen und auf diesen reagieren. Ein Rang eines Arbeitsspeichers enthält eine oder mehrere parallel verbundene Arbeitsspeichervorrichtungen. Die Arbeitsspeichervorrichtungen im Rang teilen sich üblicherweise einen Datenbus, einen C/A-Bus (Befehls-/Adressbus) und teilen sich im Allgemeinen Taktsignale. Die separaten Vorrichtungen in einem Rang können dedizierte Taktaktivierungs(CKE)-, Chipauswahl(CS)- und chipinterne Terminierungs(ODT)-Signale empfangen. Die Arbeitsspeichersteuerung bezeichnet einen Schaltkreis und/oder eine Vorrichtung, die einen Zugriff auf die Arbeitsspeichervorrichtungen steuert.
  • Die Arbeitsspeichersteuerung sendet einen Arbeitsspeicherzugriffsbefehl gleichzeitig an einige oder alle der Ränge des Arbeitsspeichers. Die Arbeitsspeichersteuerung kann die Arbeitsspeicherränge selektiv auslösen, um eine chipinterne Terminierungseinstellung (ODT-Einstellung) zu ändern, wie Aktivieren von ODT für einen Schreibvorgang, Aktivieren von ODT für einen Lesevorgang und/oder Ändern eines Werts von ODT für einen Lese- oder Schreibvorgang. Genauer löst die Arbeitsspeichersteuerung in einer Ausführungsform selektiv einen oder mehrere Nichtzielränge aus, um die ODT zu aktivieren. Die Arbeitsspeichervorrichtung kann die ODT in Übereinstimmung mit einer oder mehreren Zeitgebungseinstellungen aktivieren, die steuern, wann die ODT ein- und auszuschalten ist. Mit programmierbaren ODT-Zeitgebungseinstellungen kann die Arbeitsspeichervorrichtung ODT nur bei Bedarf aktivieren, indem das Einschalten und Ausschalten der ODT zeitlich geplant wird, um die ODT spezifisch nur zu den benötigten Zeiten zu aktivieren. Es ist klar, dass ODT ein Verbinden einer Impedanz zwischen einer Energieversorgungsschiene und der Signalleitung auf der Empfangsseite bezeichnet. In einer Ausführungsform ist die Energieversorgungsschiene VDD oder die Hochspannungsversorgung. In einer Ausführungsform kann eine Arbeitsspeichervorrichtung von der Signalleitung an VSS oder Erde oder der Niederspannungsversorgung abschließen. In einer Ausführungsform kann eine Arbeitsspeichervorrichtung die Signalleitung sowohl an VDD und an VSS abschließen. In allen Szenarien wird einer der Ränge ausgewählt, um den Arbeitsspeicherzugriffsbefehl auszuführen, wobei der Rang als das Ziel des Arbeitsspeicherbefehls bezeichnet werden kann. Der Zielrang führt den Befehl aus, während die anderen ausgelösten Ränge die geänderte ODT-Einstellung für den Arbeitsspeicherzugriffsvorgang beibehalten. Ränge, die adressiert, aber nicht als Zielrang ausgewählt sind, können als Nichtzielränge bezeichnet werden.
  • Einige ODT-Implementierungen, wie herkömmliche LPDDR4-Implementierungen, definieren einen festen Wert für ODT-Ein- und Ausschaltzeiten, den der DRAM oder die Arbeitsspeichervorrichtung aus einer Modusregistereinstellung für Lese- und Schreiblatenzen ableitet. Einige ODT-Implementierungen, wie DDR3, LPDDR3 und DDR4 verwenden ein spezielles ODT-Steuersignal, um Latenzen zu steuern. Mit einem festen Wert für Einschalt- und Ausschaltzeiten muss die Topologie des Layouts der Arbeitsspeichervorrichtungen sowohl für eine Leiterbahnenlegung zwischen Vorrichtungen sowie beim Belasten des Zugriffs auf die Vorrichtungen perfekt abgestimmt werden. Die programmierbare Zeitgebungseinstellung oder -einstellungen, die hierin beschrieben sind, berücksichtigen eine Fehlanpassung der Topologie durch Aktivieren der Programmierung der ODT-Zeitgebung. Die Fehlanpassung der Zeitgebung kann abgestimmte Topologien mit nicht abgestimmten Lasten, nicht abgestimmte Topologien und/oder Reihenschaltungs-Topologien enthalten. In einer Ausführungsform ermöglicht die Bereitstellung von programmierbaren Zeitgebungseinstellungen, dass ODT-Anpassungen eine nicht abgestimmte Belastung kompensieren.
  • In einer Ausführungsform stellt das System programmierbare Zeitgebungseinstellungen über einen programmierbaren Latenzwert in einem oder mehreren Registern der Arbeitsspeichervorrichtung (z. B. einem Modusregister) oder an einer oder mehreren Speicherstellen eines einzelnen Registers bereit. In einer Ausführungsform kann ein Register einen Wert speichern, der einen Offset anzeigt, um eine Zeitgebung für das Ein- oder Ausschalten anzupassen. In einer Ausführungsform kann die Arbeitsspeichersteuerung eine Offsetkonfiguration über einen Modusregistersatzbefehl (MRS-Befehl) oder einen vergleichbaren Mechanismus programmieren, um Konfigurationseinstellungen zu schreiben. In einer Ausführungsform stellt das System programmierbare Zeitgebungseinstellungen über eine Arbeitsspeicherzugriffsbefehlscodierung bereit. In einer Ausführungsform kann eine Arbeitsspeichervorrichtung auf Basis eines Hinweises in einem Arbeitsspeicherzugriffsbefehl für eine oder mehrere Einstellungen konfiguriert werden. Deshalb kann die Arbeitsspeichersteuerung die Anwendung einer ODT-Zeitgebungseinstellung durch Codieren innerhalb eines Arbeitsspeicherzugriffsbefehls auslösen und die Arbeitsspeichervorrichtung wird auf ein Register oder einen anderen Konfigurationsspeicher zugreifen, um auf die Konfigurationseinstellung zuzugreifen.
  • Die Bezugnahme auf Arbeitsspeichervorrichtungen kann für verschiedene Arbeitsspeichertypen gelten. Arbeitsspeichervorrichtungen bezeichnen im Allgemeinen flüchtige Arbeitsspeichertechnologien. Ein flüchtiger Arbeitsspeicher ist ein Arbeitsspeicher, dessen Zustand (und deshalb der darauf gespeicherten Daten) unbestimmt ist, falls Energiezufuhr zur Vorrichtung unterbrochen ist. Nichtflüchtiger Arbeitsspeicher bezeichnet einen Arbeitsspeicher, dessen Zustand bestimmt ist, auch wenn die Energiezufuhr zur Vorrichtung unterbrochen ist. Ein dynamischer flüchtiger Arbeitsspeicher erfordert ein Auffrischen der in der Vorrichtung gespeicherten Daten, um den Zustand beizubehalten. Ein Beispiel eines dynamischen flüchtigen Arbeitsspeichers enthält DRAM (dynamischen Arbeitsspeicher mit wahlfreiem Zugriff) oder eine Variante wie synchronen DRAM (SDRAM). Ein Arbeitsspeicherteilsystem, wie es hierin beschrieben ist, kann mit einer Anzahl an Arbeitsspeichertechnologien kompatibel sein, wie DDR3 (doppelte Datenrate Version 3, ursprüngliche Version von JEDEC (Joint Electronic Device Engineering Council) vom 27. Juni 2007, derzeit bei Version 21), DDR4 (DDR-Version 4, anfängliche Spezifikation im September 2012 von JEDEC veröffentlicht), LPDDR3 (Niedrigenergie-DDR-Version 3, JESD209-3B, Aug 2013 von JEDEC), LPDDR4 (NIEDRIGENERGIE-VERSION 4 MIT DOPPELTER DATENRATE (LPDDR), JESD209-4, ursprünglich von JEDEC im August 2014 veröffentlicht), WIO2 (Breit-E/A 2 (WideoIO2), JESD229-2, ursprünglich von JEDEC im August 2014 veröffentlicht), HBM (ARBEITSSPEICHER-DRAM MIT HOHER BANDBREITE, JESD235, ursprünglich von JEDEC im Oktober 2013 veröffentlicht), DDR5 (DDR-Version 5, derzeit im Gespräch durch JEDEC), LPDDR5 (derzeit im Gespräch durch JEDEC), HBM2 (HBM-Version 2), derzeit im Gespräch durch JEDEC) und/oder andere und Technologien, die auf Derivaten oder Erweiterungen dieser Spezifikationen basieren.
  • Zusätzlich oder alternativ zu flüchtigem Arbeitsspeicher kann sich in einer Ausführungsform eine Bezugnahme auf Arbeitsspeichervorrichtungen auf eine nichtflüchtige Arbeitsspeichervorrichtung beziehen, dessen Zustand bestimmt ist, auch wenn die Energieversorgung zur Vorrichtung unterbrochen ist. In einer Ausführungsform ist die nichtflüchtige Arbeitsspeichervorrichtung eine blockadressierbare Arbeitsspeichervorrichtung, wie NAND- oder NOR-Technologien. Deshalb kann eine Arbeitsspeichervorrichtung auch nichtflüchtige Vorrichtungen einer zukünftigen Generation enthalten, wie eine dreidimensionale Koppelpunkt-Arbeitsspeichervorrichtung oder andere Byte-adressierbare nichtflüchtige Arbeitsspeichervorrichtungen. In einer Ausführungsform kann die Arbeitsspeichervorrichtung NAND-Flashspeicher mit mehrfachen Schwellenwerten, NOR-Flashspeicher, einzel- oder mehrstufiger Phasenwechselspeicher (PCM), ein Widerstandsspeicher, Nanodraht-Arbeitsspeicher, ferroelektrischer Transistor-Arbeitsspeicher mit wahlfreiem Zugriff (FeTRAM), magnetoresistiver Arbeitsspeicher mit wahlfreiem Zugriff (MRAM), der Memristor-Technologie einbindet, oder Spin-Transfer-Torque(STT)-MRAM oder eine Kombination von beliebigem des Obenstehenden oder ein anderer Arbeitsspeicher sein oder einen solchen enthalten.
  • Beschreibungen hierin, die auf ein „DRAM“ Bezug nehmen, können für eine beliebige Arbeitsspeichervorrichtung gelten, die einen wahlfreien Zugriff erlaubt, egal ob flüchtig oder nichtflüchtig. Die Arbeitsspeichervorrichtung oder DRAM kann den Chip selbst und/oder ein verpacktes Arbeitsspeicherprodukt bezeichnen.
  • Niedrigenergie-Technologie mit doppelter Datenrate 4 (LPDDR4) ist ein Beispiel einer Arbeitsspeichertechnologie, die für moderne Rechensysteme konstruiert ist. Während einige Arbeitsspeichertechnologien breitere E/A-Schnittstellen (Eingabe/Ausgabe-Schnittstellen) implementieren, sind einige Technologien wie LPDDR4 konstruiert, eine engere Schnittstelle aufzuweisen, aber dennoch erhöhte Arbeitsspeicherdichten zu erlauben. Eine Verpackung mit mehreren Vorrichtungen kann in Technologien verwendet werden, die nach einer Erhöhung der Dichte bei gleichzeitiger Beibehaltung einer engen E/A-Schnittstelle streben. Während spezifisch auf eine Arbeitsspeichervorrichtung und in bestimmten Beispielen auf LPDDR4-Arbeitsspeicher Bezug genommen wird, ist klar, dass eine Kommunikation zwischen Chips aller Arten in modernen Rechensystemen wesentlich ist. Deshalb können die Beschreibungen hierin gleichermaßen für Arbeitsspeichertechnologien gelten, die nicht eigens identifiziert sind, und können auch für eine Kommunikation zwischen Vorrichtungen eines beliebigen Typs gelten, die einen gemeinsamen Bus zu Vorrichtungen in einer Verpackung mit mehreren Vorrichtungen gemeinsam nutzen.
  • LPDDR4 illustriert ein Beispiel eines Systems, in dem Mehrtaktbefehle verwendet werden können. Für LPDDR4 enthält ein Schreibbefehl zwei Takte von Schreiben-1 gefolgt von zwei Takten von CAS-2. Das grundlegende Prinzip hinter Mehrtaktbefehlen ist ein Aussenden des Befehls (z. B. eines Schreiben-1-Befehls) an mehrere Ränge durch Erklären eines Chipauswahlsignals (CS-Signals) im anfänglichen Befehl. In einer Ausführungsform schalten die Arbeitsspeichervorrichtungen, die Schreiben-1-Befehle empfangen (z. B. die mit einem CS-Signal ausgewählten) eine ODT für die Dauer der Schreibtransaktion ein. Die Arbeitsspeichersteuerung sendet einen CAS-2-Befehl nur an den Rang, der die Daten empfängt, oder an den Zielrang. Deshalb empfängt der Zielrang ein Schreiben-1- und ein CAS-2-Signal, während der Nichtzielrang bzw. die Nichtzielränge ein Schreiben-1-, aber kein CAS-2-Signal empfängt bzw. empfangen. Ein ähnlicher Ansatz kann für Lesetransaktionen durch Senden von Lesen-1 mit CAS-2 an den Zielrang und von Lesen-1 ohne CAS-2 an den Nichtzielrang bzw. die Nichtzielränge angewandt werden.
  • 1 ist ein Blockdiagramm einer Ausführungsform eines Systems, das eine selektive Steuerung von chipinterner Terminierung (ODT), einschließlich einer ODT-Zeitsteuerung anwendet. Ein System 100 enthält Elemente eines Arbeitsspeicherteilsystems in einer Rechenvorrichtung. Ein Prozessor 110 stellt eine Verarbeitungseinheit einer Host-Rechenplattform dar, die ein Betriebssystem (OS) und Anwendungen ausführt, die gemeinsam als ein „Host“ für den Arbeitsspeicher bezeichnet werden können. Das OS und die Anwendungen führen Vorgänge aus, die in Arbeitsspeicherzugriffen resultieren. Der Prozessor 110 kann einen oder mehrere separate Prozessoren enthalten. Jeder separate Prozessor kann eine einzelne und/oder eine Mehrkern-Verarbeitungseinheit enthalten. Die Verarbeitungseinheit kann ein primärer Prozessor wie eine CPU (Zentralverarbeitungseinheit) und/oder ein peripherer Prozessor wie eine GPU (Grafikverarbeitungseinheit) sein. Das System 100 kann als ein SOC implementiert sein oder mit eigenständigen Komponenten implementiert sein.
  • Eine Arbeitsspeichersteuerung 120 stellt einen oder mehrere Arbeitsspeichersteuerungsschaltkreise oder -vorrichtungen für das System 100 dar. Die Arbeitsspeichersteuerung 120 stellt Steuerlogik dar, die Arbeitsspeicherzugriffsbefehle als Reaktion auf die Ausführung von Vorgängen durch den Prozessor 110 generiert. Die Arbeitsspeichersteuerung 120 greift auf eine oder mehrere Arbeitsspeichervorrichtungen 140 zu. In einer Ausführungsform sind Arbeitsspeichervorrichtungen 140 als verschiedene Kanäle organisiert und verwaltet, wobei jeder Kanal an Busse und Signalleitungen koppelt, die parallel an mehrere Arbeitsspeichervorrichtungen koppeln. Jeder Kanal ist unabhängig betriebsfähig. Deshalb wird auf jeden Kanal unabhängig zugegriffen und gesteuert, und die Zeitgebung, Datenübertragung, Befehls- und Adressaustauschvorgänge und andere Vorgänge erfolgen für jeden Kanal getrennt. In einer Ausführungsform werden die Einstellungen für jeden Kanal durch ein separates Modusregister oder andere Registereinstellungen gesteuert. In einer Ausführungsform verwaltet jede Arbeitsspeichersteuerung 120 einen separaten Arbeitsspeicherkanal, obwohl das System 100 konfiguriert werden kann, mehrere Kanäle aufzuweisen, die von einer einzigen Steuerung verwaltet werden, oder mehrere Steuerungen an einem einzigen Kanal aufzuweisen. In einer Ausführungsform ist die Arbeitsspeichersteuerung 120 Teil des Hostprozessors 110, wie Logik, die auf dem gleichen Chip implementiert ist oder im gleichen Paketraum wie der Prozessor implementiert ist.
  • Die Arbeitsspeichersteuerung 120 enthält eine E/A-Schnittstellenlogik 122, um an einen Systembus zu koppeln. Die E/A-Schnittstellenlogik 122 (sowie die E/A 142 der Arbeitsspeichervorrichtung 140) kann Pins, Anschlüsse, Signalleitungen und/oder andere Hardware enthalten, um die Vorrichtungen zu verbinden. Die E/A-Schnittstellenlogik 122 kann eine Hardwareschnittstelle enthalten. Üblicherweise koppeln Drähte in einem integrierten Schaltkreis über eine Schnittstelle an ein Kontaktfeld oder einen Verbindungsanschluss, um an Signalleitungen oder Leiterbahnen zwischen Vorrichtungen zu koppeln. Die E/A-Schnittstellenlogik 122 kann Treiber, Empfänger, Sende-Empfänger, einen Abschluss und/oder eine andere Verschaltung enthalten, um ein Signal auf den Signalleitungen zwischen den Vorrichtungen zu senden und/oder zu empfangen. Der Systembus kann als mehrere Signalleitungen implementiert sein, die die Arbeitsspeichersteuerung 120 an Arbeitsspeichervorrichtungen 140 koppeln. Der Systembus enthält mindestens Takt- (CLK-) 132, Befehls-/Adress- (CMD-) 134, Daten- (DQ-) 136 und andere Signalleitungen 138. Die Signalleitungen für CMD 134 können als ein „C/A-Bus“ (oder ADD/CMD-Bus oder eine andere Bezeichnung, die die Übertragung von Befehlen und Adressinformationen anzeigt) bezeichnet werden und die Signalleitungen für DQ 136 können als ein „Datenbus“ bezeichnet werden. In einer Ausführungsform weisen unabhängige Kanäle unterschiedliche Taktsignale, C/A-Busse, Datenbusse und andere Signalleitungen auf. Deshalb kann das System 100 als mehrere „Systembusse“ aufweisend angesehen werden, in dem Sinn, dass ein unabhängiger Schnittstellenpfad als ein separater Systembus angesehen werden kann. Es ist klar, dass ein Systembus zusätzlich zu den explizit gezeigten Leitungen Stroboskop-Signalleitungen, Warnleitungen, Hilfsleitungen und andere Signalleitungen enthalten kann.
  • Es ist klar, dass der Systembus einen Datenbus (DQ 136) enthält, der ausgelegt ist, mit einer Bandbreite zu arbeiten. Auf Grundlage der Konstruktion und/oder Implementierung des Systems 100 kann der DQ 136 mehr oder weniger Bandbreite pro Arbeitsspeichervorrichtung 140 aufweisen. Beispielsweise kann der DQ 136 Arbeitsspeichervorrichtungen unterstützen, die entweder eine x32-Schnittstelle, eine x16-Schnittstelle, eine x8-Schnittstelle oder eine andere Schnittstelle aufweisen. Die Konvention „xN“, wobei N eine binäre ganze Zahl ist, bezeichnet eine Schnittstellengröße der Arbeitsspeichervorrichtung 140, die eine Anzahl an Signalleitungen DQ 136 darstellt, die Daten mit der Arbeitsspeichersteuerung 120 austauschen. Die Schnittstellengröße der Arbeitsspeichervorrichtungen ist ein Faktor, der steuert, wie viele Arbeitsspeichervorrichtungen gleichzeitig pro Kanal im System 100 verwendet werden können oder parallel an die gleichen Signalleitungen gekoppelt werden können.
  • Die Arbeitsspeichervorrichtungen 140 stellen Arbeitsspeicherressourcen für das System 100 dar. In einer Ausführungsform ist jede Arbeitsspeichervorrichtung 140 ein separater Arbeitsspeicherchip, der mehrere (z. B. 2) Kanäle pro Chip enthalten kann. Jede Arbeitsspeichervorrichtung 140 enthält E/A-Schnittstellenlogik 142, die eine Bandbreite aufweist, die durch die Implementierung der Vorrichtung (z. B. x16 oder x8 oder eine andere Schnittstellenbandbreite) bestimmt wird, und ermöglicht den Arbeitsspeichervorrichtungen, an die Arbeitsspeichersteuerung 120 zu koppeln. E/A-Schnittstellenlogik 142 kann eine Hardwareschnittstelle enthalten und kann in Übereinstimmung mit E/A 122 der Arbeitsspeichersteuerung sein, aber am Arbeitsspeichervorrichtungsende. In einer Ausführungsform sind mehrere Arbeitsspeichervorrichtungen 140 in parallel mit den gleichen Datenbussen verbunden. Beispielsweise kann das System 100 mit mehreren Arbeitsspeichervorrichtungen 140 konfiguriert sein, die parallel gekoppelt sind, wobei jede Arbeitsspeichervorrichtung auf einen Befehl antwortet und auf jeweils interne Arbeitsspeicherressourcen 160 zugreift. Bei einem Schreibvorgang kann eine einzelne Arbeitsspeichervorrichtung 140 einen Teil des gesamten Datenworts schreiben und bei einem Lesevorgang kann eine einzelne Arbeitsspeichervorrichtung 140 einen Teil des gesamten Datenworts abrufen.
  • In einer Ausführungsform sind die Arbeitsspeichervorrichtungen 140 direkt auf einer Hauptplatine oder einer Hostsystemplattform (z. B. einer PCB (gedruckten Leiterplatte), auf der der Prozessor 110 angeordnet ist) einer Rechenvorrichtung angeordnet. In einer Ausführungsform können die Arbeitsspeichervorrichtungen 140 in Arbeitsspeichermodule 130 organisiert sein. In einer Ausführungsform stellen die Arbeitsspeichermodule 130 doppelreihige Arbeitsspeichermodule (DIMMs) dar. In einer Ausführungsform stellen die Arbeitsspeichermodule 130 eine andere Organisation von mehreren Arbeitsspeichervorrichtungen dar, um zumindest einen Teil der Zugriffs- oder Steuerverschaltung gemeinsam zu nutzen, die ein von der Hostsystemplattform separater Schaltkreis, eine von der Hostsystemplattform separate Vorrichtung oder eine von der Hostsystemplattform separate Platte sein kann. Arbeitsspeichermodule 130 können mehrere Arbeitsspeichervorrichtungen 140 enthalten, und die Arbeitsspeichermodule können Unterstützung für mehrere separate Kanäle zu den auf diesen angeordneten enthaltenen Arbeitsspeichervorrichtungen enthalten.
  • Die Arbeitsspeichervorrichtungen 140 enthalten jeweils Arbeitsspeicherressourcen 160. Die Arbeitsspeicherressourcen 160 stellen einzelne Anordnungen von Arbeitsspeicherstellen oder Speicherstellen für Daten dar. Üblicherweise werden die Arbeitsspeicherressourcen 160 als Datenreihen verwaltet, auf die über eine Zwischenspeicherleitungs- (Zeilen) und eine Bitleitungs-Steuerung (einzelne Bits innerhalb einer Zeile) zugegriffen wird. Die Arbeitsspeicherressourcen 160 können als separate Kanäle, Ränge und Bänke von Arbeitsspeicher organisiert sein. Kanäle sind unabhängige Steuerpfade zu Speicherstellen in den Arbeitsspeichervorrichtungen 140. Ränge bezeichnen über mehrere Arbeitsspeichervorrichtungen hinweg gemeinsame Stellen (z. B. die gleichen Zeilenadressen in verschiedenen Vorrichtungen). Bänke bezeichnen Anordnungen von Arbeitsspeicherstellen in einer Arbeitsspeichervorrichtung 140. In einer Ausführungsform sind Arbeitsspeicherbänke in Teilbänke mit mindestens einem Teil von gemeinsam genutzter Verschaltung für die Teilbänke aufgeteilt.
  • In einer Ausführungsform enthalten die Arbeitsspeichervorrichtungen 140 ein oder mehrere Register 144. Die Register 144 stellen Speichervorrichtungen oder Speicherstellen dar, die eine Konfiguration oder Einstellungen für den Vorgang der Arbeitsspeichervorrichtung bereitstellen. In einer Ausführungsform können die Register 144 eine Speicherstelle bereitstellen, damit die Arbeitsspeichervorrichtung 140 Daten für einen Zugriff durch die Arbeitsspeichersteuerung 120 als Teil eines Steuer- oder Verwaltungsvorgangs speichern können. In einer Ausführungsform enthalten die Register 144 Modusregister. In einer Ausführungsform enthalten die Register 144 Mehrzweckregister. Die Konfiguration der Stellen im Register 144 kann die Arbeitsspeichervorrichtung 140 konfigurieren, in einem anderen „Modus“ zu arbeiten, wobei Befehle und/oder Adressinformationen oder Signalleitungen abhängig vom Modus verschiedene Vorgänge in der Arbeitsspeichervorrichtung 140 auslösen können. Die Einstellungen des Registers 144 können eine Konfiguration für E/A-Einstellungen (z. B. Zeitgebung, Terminierung oder ODT (chipinterne Terminierung), Treiberkonfiguration und/oder andere E/A-Einstellungen anzeigen.
  • In einer Ausführungsform enthält die Arbeitsspeichervorrichtung 140 die ODT 146 als Teil der mit E/A 142 assoziierten Schnittstellenhardware. Die ODT 146 kann wie oben erwähnt konfiguriert sein und Einstellungen für eine Impedanz vorsehen, die an bestimmten Signalleitungen auf die Schnittstelle anzulegen ist. Die ODT-Einstellungen können auf Grundlage davon geändert werden, ob eine Arbeitsspeichervorrichtung ein ausgewähltes Ziel eines Zugriffsvorgangs oder eine Nichtzielvorrichtung ist. Die ODT-Einstellungen 146 können die Zeitgebung und Reflexionen von Signalgebung an den terminierten Leitungen beeinflussen. Eine sorgfältige Steuerung der ODT 146 kann einen Vorgang mit höherer Geschwindigkeit ermöglichen.
  • Die Arbeitsspeichervorrichtung 140 enthält eine Steuerung 150, die Steuerlogik innerhalb der Arbeitsspeichervorrichtung darstellt, um interne Vorgänge innerhalb der Arbeitsspeichervorrichtung zu steuern. Die Steuerung 150 decodiert beispielsweise von der Arbeitsspeichersteuerung 120 gesendete Befehle und generiert interne Vorgänge, um die Befehle auszuführen oder zu erfüllen. Die Steuerung 150 kann auf Grundlage des Registers 144 ermitteln, welcher Modus ausgewählt ist, und den Zugriff und/oder die Ausführung von Vorgängen für die Arbeitsspeicherressourcen 160 auf Grundlage des ausgewählten Modus konfigurieren. Die Steuerung 150 generiert Steuersignale, um die Weiterleitung von Bits innerhalb der Arbeitsspeichervorrichtung 140 zu steuern, um eine angemessene Schnittstelle für den ausgewählten Modus bereitzustellen und einen Befehl an die richtigen Arbeitsspeicherstellen oder Adressen zu lenken.
  • Wieder auf die Arbeitsspeichersteuerung 120 Bezug nehmend, enthält die Arbeitsspeichersteuerung 120 Befehlslogik (CMD-Logik) 124, die eine Logik oder Verschaltung darstellt, um Befehle zum Senden an die Arbeitsspeichervorrichtungen 140 zu generieren. Üblicherweise enthält die Signalgebung in Arbeitsspeicherteilsystemen Adressinformationen innerhalb des Befehls oder diesen begleitend, um eine oder mehrere Arbeitsspeicherstellen auszuwählen, an denen die Arbeitsspeichervorrichtungen den Befehl ausführen sollen. In einer Ausführungsform enthält die Steuerung 150 Befehlslogik 152, um Befehls- und Adressinformationen zu empfangen und zu decodieren, die über die E/A 142 von der Arbeitsspeichersteuerung 120 empfangen wurden. Auf Grundlage der empfangenen Befehls- und Adressinformationen kann die Steuerung 150 die Zeitgebung von Vorgängen der Logik und Verschaltung innerhalb der Arbeitsspeichervorrichtung 140 steuern, um die Befehle auszuführen. Die Steuerung 150 ist für die Einhaltung von Standards oder Spezifikationen verantwortlich.
  • In einer Ausführungsform enthält die Arbeitsspeichersteuerung 120 Auffrischlogik (REF) 126. Die Auffrischlogik 126 kann verwendet werden, wenn die Arbeitsspeichervorrichtungen 140 flüchtig sind und aufgefrischt werden müssen, um einen deterministischen Zustand zu halten. In einer Ausführungsform zeigt die Auffrischlogik 126 eine Stelle für eine Auffrischung an und eine Art der durchzuführenden Auffrischung an. Die Auffrischlogik 126 kann eine Eigenauffrischung innerhalb der Arbeitsspeichervorrichtung 140 auslösen und/oder externe Auffrischvorgänge durch Senden von Auffrischbefehlen ausführen. Externe Auffrischvorgänge von der Arbeitsspeichersteuerung können Auffrischvorgänge für alle Bänke und/oder Auffrischvorgänge pro Bank enthalten. Auffrischvorgänge für alle Bänke bewirken eine Auffrischung einer ausgewählten Bank innerhalb aller parallel gekoppelten Arbeitsspeichervorrichtungen 140. Auffrischvorgänge pro Bank bewirken die Auffrischung einer bestimmten Bank innerhalb einer bestimmten Arbeitsspeichervorrichtung 140. In einer Ausführungsform enthält die Steuerung 150 innerhalb der Arbeitsspeichervorrichtung 140 Auffrischlogik 154, um ein Auffrischen innerhalb der Arbeitsspeichervorrichtung 140 anzuwenden. In einer Ausführungsform generiert die Auffrischlogik 154 interne Vorgänge, um ein Auffrischen in Übereinstimmung mit einem externen Auffrischen durchzuführen, das von der Arbeitsspeichersteuerung 120 empfangen wurde. Die Auffrischlogik 154 kann ermitteln, ob ein Auffrischen auf eine Arbeitsspeichervorrichtung 140 gerichtet ist und welche Arbeitsspeicherressourcen 160 als Reaktion auf den Befehl aufzufrischen sind.
  • In einer Ausführungsform enthält die Arbeitsspeichersteuerung 120 ODT-Logik 128, um die auf an die Arbeitsspeichervorrichtung 140 gesandte Arbeitsspeicherzugriffstransaktionen angewandte ODT zu steuern. In einer Ausführungsform ermöglicht die ODT-Logik 128 der Arbeitsspeichersteuerung 120, eine oder mehrere Konfigurationseinstellungen für einen ODT-Wert festzulegen, der von der Arbeitsspeichervorrichtung 140 auf Grundlage des Transaktionstyps (z. B. Schreiben oder Lesen) anzuwenden ist. In einer Ausführungsform ermöglicht die ODT-Logik 128 der Arbeitsspeichersteuerung 120, eine oder mehrere Konfigurationseinstellungen für die ODT-Zeitgebung oder Latenz festzulegen, der von der Arbeitsspeichervorrichtung 140 anzuwenden ist. Die Zeitgebungs- oder Latenzparameter können beeinflussen, wann die Arbeitsspeichervorrichtung 140 die ODT einschaltet (die ODT aktiviert) und die ODT ausschaltet (die ODT deaktiviert).
  • In einer Ausführungsform können die Latenzparameter für Ziel- und Nichtzielränge von Arbeitsspeichervorrichtungen unterschiedlich sein. In einer Ausführungsform können die Latenzparameter für Schreib- und für Lesetransaktionen unterschiedlich sein. In einer Ausführungsform können die ODT-Zeitgebungen für verschiedene Biteinheiten oder Segmente eines Busses, wie verschiedene Bytes, Halbbytes oder andere Teile eines Busses unterschiedlich sein. In einer Ausführungsform können die ODT-Zeitgebungen für verschiedene DRAMs oder verschiedene Arbeitsspeichervorrichtungschips oder -chipplatten unterschiedlich sein. Deshalb können zum Beispiel unterschiedliche DRAMs auf dem gleichen Bus, Kanal und/oder Rang unterschiedliche ODT-Zeitgebungen aufweisen. Solche Zeitgebungen können auf Grundlage des Layouts der Zwischenverbindungen unterschiedlich sein, die leicht unterschiedliche Verzögerungen bei der Signalausbreitung verursachen können. Deshalb kann in einer Ausführungsform jeder Abschnitt eines Busses und/oder jede Verbindung zum Bus mit separaten ODT-Zeitgebungen gesteuert werden. Arbeitsspeicherteilsysteme, in denen ein Zugriff pro DRAM (PDA) aktiviert ist, können zum Beispiel ODT-Zeitgebungen separat für jeden DRAM definieren. Eine solche Steuerung kann mit einem oder mehreren PDA-Befehlen und/oder für die Verwendung von PDA-Befehlen durchgeführt werden. In Übereinstimmung mit einer programmierbaren ODT-Zeitgebung kann die ODT nur nach Bedarf und in Übereinstimmung mit der Zeitgebung, wenn sie benötigt wird, angewandt werden, was Energie im System sparen kann. Falls die Arbeitsspeichervorrichtungen verzögern können, wann sie die ODT einschalten und/oder wann sie sie ausschalten, können sie ein Aktivieren der ODT verhindern, wenn sie nicht benötigt wird.
  • In einer Ausführungsform enthält die Steuerung 150 der Arbeitsspeichervorrichtung 140 ODT-Logik 156, um die ODT selektiv auf Grundlage von von der Arbeitsspeichersteuerung 120 empfangenen Befehlen anzuwenden. Die Arbeitsspeichersteuerung 120 kann zum Beispiel einen Arbeitsspeicherzugriffsbefehl senden, den die Befehlslogik 152 decodiert. Auf Grundlage der Decodierung des Befehls kann die ODT-Logik 156 selektiv für eine oder mehrere Abschnitte der E/A 142 die ODT 146 aktivieren und/oder deaktivieren. In einer Ausführungsform speichern eine oder mehrere Register 144 die ODT-Zeitgebungsparameter für die ODT 146. In einer Ausführungsform speichern ein oder mehrere Register 144 (nicht notwendigerweise das bzw. die gleiche(n) Register, aber möglicherweise das bzw. die gleiche(n) Register) ODT-Werteparameter für die ODT 146. Die ODT-Werteparameter zeigen an, welches Ausmaß von Impedanz zu aktivieren ist, während die Zeitgebungsparameter anzeigen können, wann die ODT ein- und auszuschalten ist. Die ODT-Logik 156 kann die ODT 146 auf Grundlage eines empfangenen Befehls aktivieren, in Übereinstimmung mit einer oder mehreren ODT-Einstellungen, die im Register 144 gespeichert sind. In einer Ausführungsform wendet die ODT-Logik 156 verschiedene Zeitgebungsparameter für eine Lesetransaktion versus eine Schreibtransaktion an.
  • In einer Ausführungsform wendet die ODT-Logik 156 verschiedene Zeitgebungsparameter davon abhängig an, ob die Arbeitsspeichervorrichtung ein Teil eines Zielrangs oder eines Nichtzielrangs ist.
  • In einer Ausführungsform können die Arbeitsspeichervorrichtungen 140 in Übereinstimmung mit einer Implementierung von LPDDR4 oder einer Variante oder einem Derivat arbeiten. Wie oben erwähnt, verwendet LPDDR4 Mehrtaktbefehle. In einer Ausführungsform, wenn die Arbeitsspeichervorrichtungen 140 einen Schreiben-1-Befehl empfangen, können sie die ODT 146 für die Dauer der Schreibtransaktion einschalten. Die Zeitgebung kann relativ zu einem Parameter WL erfolgen, der sich hier auf eine Schreiblatenz bezieht. Die Dauer der Schreibtransaktion enthält die Zeitperiode des Befehls selbst, einschließlich der Takte auf einem Datenbus, auf dem die Arbeitsspeichersteuerung die zu schreibenden Daten bereitstellt, sowie von Präambel- und Postambelwerten für Schreibvorgänge. Die Präambel enthält eine Zeitspanne vor der ersten Flanke der Schreibdaten. Die Postambel enthält eine Zeitspanne nach der letzten abfallenden Flanke der Schreibdaten. Üblicherweise geht die Präambel einem Schreibburst (z. B. 8 Datenbits) voran und die Postambel folgt auf den Schreibburst. In einer Ausführungsform ermöglichen programmierbare ODT-Zeitgebungsparameter den Arbeitsspeichervorrichtungen 140, zu steuern, wann die ODT relativ zur Präambel aktiviert werden soll (z. B. innerhalb einer Zeit, um die Impedanz vor dem Empfang von Daten auszugleichen) und wann die ODT relativ zur Postambel deaktiviert werden soll (um beispielsweise eine ausreichende Zeit für eine richtige Abtastung der Daten zu erlauben).
  • Was für Schreibvorgänge beschrieben wurde, kann auf ähnliche Weise auch für Lesevorgänge angewandt werden. In einer Ausführungsform empfangen die Arbeitsspeichervorrichtungen 140 von Ziel- und Nichtzielrängen Lesen-1 und nur der Zielrang empfängt einen CAS-2-Befehl. In einer Ausführungsform deaktiviert der Zielrang seine ODT beim Lesen und eine Arbeitsspeichervorrichtung eines Nichtzielrangs, die nur den Lesen-1-Befehl empfängt, stellt eine ODT-Terminierung auf Grundlage von CL oder einer Latenz bereit, die mit einer Lesetransaktion assoziiert ist (z. B. einer CAS-Latenz). Die Dauer der Lesetransaktion enthält die Zeitspanne, zu der die abgerufenen Daten der Arbeitsspeichersteuerung von der Arbeitsspeichervorrichtung bereitgestellt werden, sowie die Lesepräambel- und Lesepostambelwerte, die in ein Register programmiert sind.
  • Herkömmliche Arbeitsspeicherteilsysteme können einen Energieverbrauch des Arbeitsspeichersystems steuern, indem sie die Verwendung von ODT während eines Schreibvorgangs eliminieren. Es ist klar, dass ein vollständiges Eliminieren von ODT von einem selektiven Anwenden von ODT, wie es hierin beschrieben ist, unterschieden wird. Während die Signalqualität aufgrund des Fehlens von ODT im Fall eines herkömmlichen Schreibvorgangs vermindert sein kann, kann ein solcher Kompromiss toleriert werden, falls die Distanz zwischen den Arbeitsspeichervorrichtungen klein genug ist, sodass die Signalreflexionen das gewünschte Signal nicht wesentlich beeinflussen. Solche Annahmen sind in gegenwärtigen Systemen nicht immer gültig, insbesondere wenn eine Verpackung mit mehreren Vorrichtungen verwendet wird. Während einige herkömmliche Verpackungslösungen existieren, um die Arbeitsspeicherdichte in einer mobilen Vorrichtung zu erhöhen, während die Distanzen zwischen den Vorrichtungen hinreichend klein gehalten werden, um die Annahmen zu erfüllen, tendieren diese Lösungen mit sich erhöhenden Arbeitsspeicherdichten dazu, teurer und nicht standardmäßig zu sein. Es gibt auch standardmäßigere und weniger teure Verpackungslösungen, aber diese erhöhen die Distanzen zwischen den Arbeitsspeichervorrichtungen auf dem Arbeitsspeicherbus mit höherer Dichte, was die Annahmen nicht bewahrt. Deshalb können die Distanzen zwischen Arbeitsspeichervorrichtungen in standardmäßigen Verpackungslösungen eine Signaldegradierung aufgrund von Signalreflexionen ohne ODT verursachen. Durch ein selektives Anwenden von ODT bei Schreibvorgängen (oder ähnlich selektives Deaktivieren von ODT bei Lesevorgängen) können diese standardmäßigen Verpackungslösungen auch bei erhöhten Speicherdichten verwendet werden. Durch Programmieren der Zeitgebungsparameter zum Ein- und Ausschalten der ODT kann das System ferner die Wirksamkeit der selektiven ODT regeln.
  • 2 ist ein Blockdiagramm einer Ausführungsform eines Systems, das eine ODT mit Zeitsteuerung für Arbeitsspeichervorrichtungen in einem Arbeitsspeichersystem anwendet. System 200 illustriert Abschnitte eines Arbeitsspeicherteilsystems einer Rechenvorrichtung und bietet ein Beispiel einer Ausführungsform eines Systems 100 von 1. Host 210 stellt Logik dar, die Zugriff auf den Systemarbeitsspeicher verwaltet. Der Host 210 kann eine Arbeitsspeichersteuerung oder einen anderen Schaltkreis auf einem Prozessor oder SoC oder in einen Prozessor integriert enthalten, um den Arbeitsspeicherzugriff zu steuern.
  • Arbeitsspeichervorrichtungen 220 stellen mehrere Vorrichtungen dar, die Code und/oder Daten für ein Hostsystem zur Ausführung von Operationen speichern. Die Arbeitsspeichervorrichtungen 220 können als Ränge 240 organisiert sein, um einen gleichzeitigen Zugriff auf größere Anzahlen von Bits zu ermöglichen. Ein Rang enthält mehrere Arbeitsspeichervorrichtungen in Parallelschaltung. In einer Ausführungsform teilen sich die Ränge 240 Datenpins, Befehls-/Adresspins (C/A-Pins) und Taktpins. Jeder Rang 240 enthält ein oder mehrere bestimmte Aktivierungssignale, um zwischen verschiedenen Rängen auszuwählen.
  • Wie illustriert enthält das System 200 N Ränge 240. Die spezifische Gruppierung der Signalleitungen ist nicht notwendigerweise physisch nach Rang gruppiert. In einer Ausführungsform werden bestimmte Signalleitungen zwischen den Rängen 240 wiederverwendet. In einer Ausführungsform teilen sich alle Arbeitsspeichervorrichtungen 220 den gleichen Datenbus, Befehls-/Adressbus (C/A-Bus) und ein Takt- oder Stroboskopsignal (das eine oder mehrere Signalleitungen enthalten kann). Das System 200 kann Aktivierungssignale, wie CKE- (Taktaktivierungs-) und Chipauswahl- (CS-) und/oder CS- und andere Aktivierungssignale verwenden, um einen Rang oder eine Vorrichtungsgruppierung von einer anderen zu unterscheiden. Deshalb können sich Arbeitsspeichervorrichtungen 220, die Teil des gleichen Rangs 240 sind, das gleiche Aktivierungs-/Auswahlsignal teilen. In einer Implementierung, die eine E/A-Schnittstelle zwischen einer von einem Arbeitsspeicherteilsystem verschiedenen Einrichtung involviert, kann der Rang 240 eine andere Gruppierung von Vorrichtungen durch einen gemeinsamen Bus darstellen.
  • Arbeitsspeichervorrichtungen 220 können in mehreren Mehrchippaketen (MCP) oder in einer anderen Verpackung verteilt sein, die mehrere Vorrichtungen enthält. Während die Vorrichtungen in den Paketen ausreichend nahe beabstandet sein können, sodass das Risiko einer Signaldegradierung aufgrund von Reflexionen tolerierbar ist, besteht eine hohe Wahrscheinlichkeit einer Signaldegradierung aufgrund des Abstands von Rängen zwischen Paketen, wenn es mehrere Vorrichtungspakete gibt. In einer Ausführungsform nutzen die Arbeitsspeichervorrichtungen 220 in einem gleichen Rang 240 die ODT-Signalgebung gemeinsam.
  • Der Host 210 enthält Befehlslogik 212, um Befehle an Arbeitsspeichervorrichtungen 220 zu erzeugen. In einer Ausführungsform stellt die ODT-Steuerung 214 Logik dar, um die selektive Betreibung der ODT innerhalb der Arbeitsspeichervorrichtungen 220 zu steuern, und kann eine der ODT-Logik von System 100 ähnliche ODT-Logik sein. Die ODT-Steuerung 214 kann Zeitgebungseinstellungen konfigurieren, die von den Arbeitsspeichervorrichtungen 220 zur Anwendung von ODT angewandt werden. In einer Ausführungsform identifiziert der Host 210 eine Systemkonfiguration für die Arbeitsspeichervorrichtungen 220, zum Beispiel durch Abfragen der Komponenten nach ihrem Typ und/oder durch Zugreifen auf Informationen, die in einem BIOS (grundlegendes Eingabe-/Ausgabesystem) oder einer anderen Systemsteuerung gespeichert sind, die Konfigurationsinformationen bereitstellt. Auf Grundlage der Konfiguration (z. B. die Anzahl der Vorrichtungen pro Paket, die Art der Zuordnung der Ränge pro Paket) und des ausgewählten Zielrangs (z. B. ein Ermitteln, in welchem Paket bzw. in welchen Paketen sich der Zielrang befindet) kann die ODT-Steuerung 214 bestimmen, die ODT-Einstellungen zusätzlich zum Zielrang selektiv für einen oder mehrere Arbeitsspeicherränge 240 zu ändern. Die ODT-Einstellungen können einen ODT-Wert sowie eine oder mehrere programmierbare Latenzeinstellungen enthalten.
  • Die Arbeitsspeichervorrichtungen 220 enthalten einen Decoder 222, der Logik darstellt, um Befehle vom Host 210 zu empfangen und zu decodieren. Das Decodieren kann ermitteln, ob der Befehl auf die Arbeitsspeichervorrichtung zutrifft. In einer Ausführungsform ermittelt die Arbeitsspeichervorrichtung 220 auf Grundlage des Decoders 222, welcher Wert der ODT-Impedanz anzuwenden ist sowie welche Zeitgebungsparameter auf die ODT anzuwenden sind. Die Arbeitsspeichervorrichtung 220 wendet die Einstellungen auf die ODT 226 an, die eine E/A-Schnittstelle mit dem Host 210 steuert. In einer Ausführungsform enthält die Arbeitsspeichervorrichtung 220 ein Register 224, um eine oder mehrere Konfigurationsparameter für die ODT-Zeitgebung festzulegen. Durch Bereitstellen einer oder mehrerer schreibbarer Einstellungen im Register 224 können die ODT-Zeitgebungseinstellungen innerhalb der Arbeitsspeichervorrichtung 220 programmierbar sein.
  • In einer Ausführungsform ändern alle Ränge 240, die einen Arbeitsspeicherzugriffsbefehl empfangen, eine ODT-Einstellung. Die Anzahl der Ränge 240, die den Arbeitsspeicherzugriffsbefehl empfangen, kann eine Teilmenge oder die Gesamtheit der Ränge im System 200 sein. In einer Ausführungsform löst das Senden des Befehls an die Ränge 240 aus, dass ein oder mehrere Ränge eine ODT-Einstellung für die Arbeitsspeichertransaktion ändern. Die Arbeitsspeichervorrichtungen 220 können konfiguriert sein, die ODT-Einstellung für eine Zeitspanne zu ändern, die gleich einer erwarteten Dauer einer Arbeitsspeicherzugriffstransaktion ist. Eine Arbeitsspeichertransaktion kann eine vollständige Anzahl von Zyklen bezeichnen, die verwendet werden, um Daten für einen Lese- oder Schreib-Arbeitsspeicherzugriffsvorgang auszutauschen. Eine Lesetransaktion kann zum Beispiel ausreichend lange dauern, damit jede Arbeitsspeichervorrichtung über einen oder mehrere Ausführungszyklen (Taktzyklen) auf ein oder mehrere Informationsbits zugreift und diese der Arbeitsspeichersteuerung bereitstellt, mit einer nominalen Dauer von tCL. Gleichermaßen kann eine Schreibtransaktion ausreichend lange dauern, sodass die Arbeitsspeichersteuerung alle Datenbits in die Empfangspuffer der ausgewählten Zielarbeitsspeichervorrichtungen übertragen kann, mit einer nominalen Dauer von tWL. Eine Transaktion kann eine Burstlänge sein (eine Anzahl von Takten, die verwendet werden, um mit einem Arbeitsspeicherzugriffsbefehl assoziierte Daten über den Datenbus zu übertragen).
  • In einer Ausführungsform kann die ODT-Steuerung 214 die ODT 226 mit Zeitgebungseinstellungen auf Basis von E/A-Training zwischen den Arbeitsspeichervorrichtungen 220 und dem Host 210 konfigurieren. In einer Ausführungsform kann der Host 210 beispielsweise eine Prüfung der E/A an den Arbeitsspeichervorrichtungen 220 während einer Bootphase durchführen, um zu ermitteln, welche Einstellungen die höchste Signalqualität bieten. Die Prüfung kann die Prüfung verschiedener Ein- und Ausschaltzeiten durch die Arbeitsspeichervorrichtungen 220 der ODT 226 enthalten. Auf Grundlage einer Analyse der Prüfung kann der Host 210 eine Einstellung für eines oder mehrere von Folgendem für jede Arbeitsspeichervorrichtung 220 programmieren. In einer Ausführungsform programmiert der Host 210 eine Lese-ODT-Einschaltzeit oder einen solchen Latenzparameter. In einer Ausführungsform programmiert der Host 210 eine Lese-ODT-Ausschaltzeit oder einen solchen Latenzparameter. In einer Ausführungsform programmiert der Host 210 eine Schreib-ODT-Einschaltzeit oder einen solchen Latenzparameter. In einer Ausführungsform programmiert der Host 210 eine Schreib-ODT-Ausschaltzeit oder einen solchen Latenzparameter. In einer Ausführungsform programmiert der Host 210 einen oder mehrere Parameter über einen Modusregistersatzbefehl (MRS-Befehl), um eine oder mehrere Modusregistereinstellungen festzulegen.
  • 3A ist ein Blockdiagramm von Ausführungsformen einer bekannten Acht-Chip-Verpackung. Vorrichtungen 302 und 304 stellen beide bekannte Beispiele von vierrangigen Systemen unter Verwendung von x16-Vorrichtungen dar. Es ist klar, dass x16 eine Vorrichtung mit einem 16-Bit breiten Daten-E/A-Bus bezeichnet. Deshalb weist eine x8-Vorrichtung einen 8-Bit breiten Daten-E/A-Bus auf, eine x32-Vorrichtung weist einen 32-Bit breiten Daten-E/A-Bus auf und so weiter. Ein Paket 312, das Teil der Vorrichtung 302 ist, und ein Paket 314, das Teil der Vorrichtung 304 ist, enthalten Arbeitsspeichervorrichtungen in einem Acht-Chip-Paket (ODP). Die Vorrichtungen 302 und 304 können Arbeitsspeichermodule und/oder Komponenten sein, die auf ein Hostsystemsubstrat oder eine Platine verarbeitet sind.
  • Wie illustriert, enthält das Paket 312 acht Chips oder Arbeitsspeichervorrichtungen, die aufeinander gestapelt sind, und ist in vier Ränge (R0 ... R3) organisiert. Die Vorrichtung 302 organisiert die Arbeitsspeichervorrichtungen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung als: R0, R1, R2, R3, R0, R1, R2 und R3. Da die Vorrichtungen x16 sind, sollten sie jeweils mit 16 DQ-Signalleitungen verbunden sein. Die Vorrichtung 302 ist so konfiguriert, dass die unteren vier Vorrichtungen mit DQ[8:23] verbunden sind und die oberen vier Vorrichtungen mit DQ[0:7] und DQ[24:31] verbunden sind. Die Vorrichtung 304 organisiert die Arbeitsspeichervorrichtungen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung als: R0, R0, R1, R1, R2, R2, R3 und R3. Die Vorrichtung 304 ist so konfiguriert, dass die nullte, zweite, vierte und sechste Vorrichtung mit DQ[8:23] verbunden sind und die erste, dritte, fünfte und siebente Vorrichtung mit DQ[0:7] und DQ[24:31] verbunden sind.
  • Die ODP illustriert einen bekannten Ansatz zur Verpackung, der die Annahme der Nähe bewahrt, die nicht erlaubt, ODT auf mehrere Ränge anzuwenden. Da die Vorrichtungen ein Paket gemeinsam nutzen, eliminieren die Distanzen der Signalleitungen zu jeder Arbeitsspeichervorrichtung die Notwendigkeit für eine Terminierung durch eine andere Vorrichtung als der Zielvorrichtung oder ausgewählten Vorrichtung für den Schreibvorgang. Deshalb muss nur die Zielvorrichtung oder der Zielrang eine Terminierung beim Schreibvorgang vorsehen. Es ist klar, dass das Paket 312 Teil der Vorrichtung 302 ist, die mehrere Pakete enthält, die dem Paket 312 ähnlich sind. Das Gleiche gilt für das Paket 314 der Vorrichtung 304. Deshalb enthalten die Ränge wie illustriert ähnlich positionierte Vorrichtungen in anderen Paketen der Vorrichtung. Während die Pakete 312 und 314 die Notwendigkeit einer Terminierung eliminieren können, resultieren gegenwärtige Verarbeitungsmethoden in sehr niedrigen Leistungen für Stapel, die acht Chips hoch sind, wie die gezeigten. Die niedrigen Leistungen erhöhen die Kosten und reduzieren den Einsatz der Verpackung.
  • 3B ist ein Blockdiagramm von Ausführungsformen von Arbeitsspeichervorrichtungen, die in Vier-Chip-Paketen montiert sind, wobei das System eine selektive chipinterne Terminierungssteuerung vorsieht. In einer Ausführungsform können Arbeitsspeichervorrichtungen in Paketen mit mehreren Vorrichtungen sein, die üblicherweise Arbeitsspeichervorrichtungen mit verschiedenen Rängen im gleichen Paket enthalten. Ähnlich wie das in 3A Illustrierte, kann ein Arbeitsspeicherteilsystem aus x16-Vorrichtungen, wie illustriert, oder x8-Vorrichtungen gefertigt werden, anstatt einen einzelnen Chip mit einer 64-Bit breiten (oder größeren) Schnittstelle oder gar eine 32-Bit breite Schnittstelle aufzuweisen. In einer Ausführungsform verwendet eine Arbeitsspeicherarchitektur zwei separate Pakete aus vier Vorrichtungen oder Chips, um jeweils einen vierrangigen x16-Arbeitsspeicher bereitzustellen. Eine Vorrichtung 306 und eine Vorrichtung 308 stellen Vorrichtungen dar, die eine solche Arbeitsspeicherarchitektur einbinden. Die Vorrichtung 306 und die Vorrichtung 308 können Arbeitsspeichermodule sein oder selbst Hostsystemplatinen sein. Die Vorrichtungen 306 und 308 illustrieren eine „T“-Topologie auf dem Datenbus, wobei Signalleitungsverbinder von den Signalleitungsverbindern in zwei separate Pakete abzweigen. Die mit den Rängen des Arbeitsspeichers assoziierte Arbeitsspeichersteuerung kann ODT selektiv aktivieren, um selektiv eine Terminierung an beiden Zweigen des „T“ bereitzustellen, um eine Reflexion beim Schreiben zu minimieren. Deshalb kann das System eine Terminierung in einer von der ausgewählten oder Zielvorrichtung verschiedenen Vorrichtung (oder zusätzlich zu dieser) auf einer Basis pro Transaktion bereitstellen. In einer Ausführungsform muss das System keine Terminierung an allen Vorrichtungen bereitstellen, sondern kann eine Teilmenge der Vorrichtungen auswählen, um eine ODT beim Schreiben anzuwenden.
  • In einer Ausführungsform enthält die Vorrichtung 306 Pakete 322 und 324, die jeweils vier Vorrichtungen enthalten, die als zwei Ränge der insgesamt vier Ränge organisiert sind. Genauer enthält das Paket 322 die Ränge R0 und R1 und das Paket 324 enthält die Ränge R2 und R3. Das Paket 322 enthält wie illustriert die Arbeitsspeichervorrichtungen, die folgendermaßen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung organisiert sind: R0, R1, R0 und R1. Das Paket 322 ist so konfiguriert, dass die näheren R0- und Rl-Vorrichtungen mit DQ[8:23] verbunden sind und die entfernteren R0- und Rl-Vorrichtungen mit DQ[0:7] und DQ[24:31] verbunden sind. Das Paket 324 enthält wie illustriert die Arbeitsspeichervorrichtungen, die folgendermaßen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung organisiert sind: R3, R2, R3 und R2. Das Paket 322 ist so konfiguriert, dass die näheren R3- und R2-Vorrichtungen mit DQ[8:23] verbunden sind und die entfernteren R3- und R2-Vorrichtungen mit DQ[0:7] und DQ[24:31] verbunden sind.
  • In einer Ausführungsform enthält die Vorrichtung 308 Pakete 326 und 328, die jeweils vier Vorrichtungen enthalten, die als zwei Ränge der insgesamt vier Ränge organisiert sind. Genauer enthält das Paket 326 die Ränge R0 und R1 und das Paket 328 enthält die Ränge R2 und R3. Das Paket 326 enthält wie illustriert die Arbeitsspeichervorrichtungen, die folgendermaßen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung organisiert sind: R0, R0, R1 und R1. Das Paket 326 ist so konfiguriert, dass die näheren R0- und Rl-Vorrichtungen mit DQ[8:23] verbunden sind und die entfernteren R0- und Rl-Vorrichtungen mit DQ[0:7] und DQ[24:31] verbunden sind. Das Paket 328 enthält wie illustriert die Arbeitsspeichervorrichtungen, die folgendermaßen von der den Signalleitungen am nächsten liegenden Vorrichtung bis zur von den Signalleitungen am weitesten entfernten Vorrichtung organisiert sind: R3, R3, R2 und R2. Das Paket 328 ist so konfiguriert, dass die entfernteren R3- und R2-Vorrichtungen mit DQ[8:23] verbunden sind und die näheren R3- und R2-Vorrichtungen mit DQ[0:7] und DQ[24:31] verbunden sind.
  • Es ist klar, dass in beiden Fällen der Vorrichtung 306 oder 308 andere Konfigurationen der Arbeitsspeichervorrichtungen, die Rangorganisation und die Verbindungen zu den Signalleitungen modifiziert werden können. Deshalb sind die Beispiele veranschaulichend und nicht einschränkend. Beide Vorrichtungen 306 und 308 setzen Vier-Chip-Paket-Technologie (QDP-Technologie) ein, die im Allgemeinen viel bessere Leistungen als ODP bietet. Während das Aufteilen der acht Arbeitsspeichervorrichtungschips in zwei separate Pakete ein vollständiges Ausschalten der ODT verhindert, kann das System die ODT selektiv anwenden.
  • Betrachtet wird ein Beispiel einer selektiven Anwendung von ODT in der Vorrichtung 306. Betrachtet wird ein Schreibbefehl, um in den Rang R1 zu schreiben. In einer Ausführungsform terminiert R1 das Signal, da er der Zielrang ist und absorbiert die Signalenergie, die in das Paket 322 tritt. In einer Ausführungsform kann das System auch den Rang R3 und/oder den Rang R2 auslösen, um die ODT zu aktivieren, um die Signalenergie im Paket 324 zu absorbieren, um die Signalqualität durch Reduzieren von Reflexionen zu erhalten. Die verschiedenen Vorrichtungen, die ausgelöst wurden, um die ODT anzuwenden, können die ODT für eine Zeitdauer einer Arbeitsspeicherzugriffstransaktion aktiviert halten.
  • In einer Ausführungsform können die Betriebsbedingungen auch mit der ausgeglichenen Routenplanung der T-Topologie der Vorrichtungen 306 und 308 in einer unausgeglichenen Belastung der Ränge resultieren, was in Impedanzfehlanpassungen für die ODT resultieren kann. In einer Ausführungsform konfiguriert eine zugehörige Arbeitsspeichersteuerung (nicht spezifisch gezeigt) eine oder mehrere ODT-Zeitgebungs- oder Latenzeinstellungen für die Arbeitsspeichervorrichtungen in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform. Deshalb können Arbeitsspeichervorrichtungen zusätzlich zum selektiven Anwenden von Terminierung auf Grundlage der empfangenen Befehle unterschiedliche ODT-Latenzen auf Grundlage der Konfiguration anwenden. Auch ohne externe ODT-Pins für Steuersignale zwischen der Arbeitsspeichervorrichtung und einer Arbeitsspeichersteuerung können die Arbeitsspeichervorrichtungen eine ODT-Terminierung mit programmierbaren ODT-EIN- und AUSSCHALT-Zeiten bereitstellen. In einer Ausführungsform speichert jede Arbeitsspeichervorrichtung einen Offset, der auf eine Standard-Schreiblatenz, Leselatenz, Schreibpräambel oder Postambel und/oder Lese-Präambel- oder Postambelwerte anzuwenden ist.
  • 3C ist ein Blockdiagramm einer Ausführungsform eines Arbeitsspeichersystems mit einer Reihenschaltungstopologie, wobei das System eine selektive chipinterne Terminierungssteuerung vorsieht. Es ist klar, dass die Topologie der Ränge mit programmierbaren ODT-Zeitparametern nicht auf T-Zweige beschränkt ist. Betrachtet wird beispielsweise eine Darstellung einer Reihenschaltungstopologie (die nur illustrativ ist und nicht notwendigerweise ein Produktionslayout ist). Andere Konfigurationen sind möglich.
  • Der Systemdesigner kann auf Grundlage des Systems, in das der Arbeitsspeicher aufgenommen wird, verschiedene Arbeitsspeicherlayouts vorsehen. Die verschiedenen Layouts werden durch die Programmierbarkeit der verschiedenen Lese-ODT- und Schreib-ODT-Zeitgebungen aktiviert. Deshalb kann die Zeitgebung für die ODT allgemein als standardmäßige Voreinstellung definiert werden, mit einer um eine Anzahl von Taktzyklen in beide Richtungen auf Basis davon möglichen Anpassung, welche Zeitgebung die ODT für jede Arbeitsspeichervorrichtung auf eine Weise ein- und ausschalten wird, um die Signalqualität in der Vorrichtung 332 zu verbessern. Deshalb kann jeder Rang R[3:0] für Lese- und Schreibzeitgebungseinstellungen unterschiedlich konfiguriert werden. Die Zeitgebungseinstellungen können abhängig davon unterschiedlich sein, wann der Rang der Zielrang oder der Nichtzielrang ist. Der Zielrang kann einem Standardwert folgen, der angepasst werden kann, wenn er ein Nichtzielrang ist.
  • 4A ist eine Darstellung einer Ausführungsform einer Befehlscodierung zum Steuern einer chipinternen Terminierung für den Arbeitsspeicherzugriff. Eine Befehlstabelle 400 kann genauer ein Beispiel einer Ausführungsform von Befehlen zur Verwendung in einem LPDDR4-System sein und kann für eine hierin beschriebene Ausführungsform eines Arbeitsspeicherteilsystems gelten, das eine ODT-Zeitsteuerung unterstützt. Eine Arbeitsspeichersteuerung erstellt die aufgeführten Befehle, um den gewünschten Vorgang zu generieren. LPDDR4 verwendet Mehrzyklusbefehle. Zum Beispiel besteht ein Schreibbefehl aus zwei Takten von SCHREIBEN-1 gefolgt von zwei Takten von CAS-2 (siehe Tabelle 400). Das SoC oder die Arbeitsspeichersteuerung oder eine gleichwertige Steuerung (generisch eine „Arbeitsspeichersteuerung“) sendet jeden Takt aufeinanderfolgend oder sequenziell ohne Lücken.
  • In einer Ausführungsform sendet die Arbeitsspeichersteuerung einen SCHREIBEN-1-Befehl an mehrere Ränge über Broadcast oder Multicast. Die Arbeitsspeichersteuerung kann ein Chipauswahl(CS)-Signal oder ein anderes Aktivierungssignal geltend machen, wenn sie den Schreibbefehl sendet, um sicherzustellen, dass die gewünschten Ränge den Befehl erhalten. Der Befehl wird nicht notwendigerweise an jeden Rang oder jede DRAM-Vorrichtung gesendet, aber er kann es werden. In einer Ausführungsform sendet die Arbeitsspeichersteuerung den Befehl an mindestens einen Rang pro Paket. In einer Ausführungsform sind die DRAM-Vorrichtungen, die einen SCHREIBEN-1-Befehl empfangen, konfiguriert, die ODT automatisch einzuschalten. Die DRAMs können die ODT für die Dauer der Schreibtransaktion aktiviert halten, was alle Takte aller Befehle enthält, die verwendet werden, um den Vorgang zu implementieren. In einer Ausführungsform sendet die Arbeitsspeichersteuerung nur einen CAS-2 an den Rang, der die Daten empfängt. Deshalb können die DRAMs einen SCHREIBEN-1-Befehl empfangen und die ODT aktivieren, aber keinen nachfolgenden CAS-2-Befehl empfangen. Deshalb führt der DRAM den Befehl nicht aus, aber kann dennoch konfiguriert sein, die ODT aktiviert zu halten.
  • Ein ähnlicher Ansatz kann auf Lesetransaktionen angewandt werden. Die Arbeitsspeichersteuerung kann beispielsweise einen LESEN-1-Befehl an zwei oder mehr Ränge über Broadcast oder Multicast senden. Die Arbeitsspeichersteuerung kann dann einen CAS-2-Befehl senden, der nur an den Zielrang adressiert ist, wobei die anderen Nichtzielränge den CAS-2-Befehl nicht empfangen. Die Arbeitsspeichersteuerung kann den Zielrang und einen oder mehrere andere Ränge auswählen, um die ODT für die Lesetransaktion zu deaktivieren.
  • Deshalb bewirkt die Arbeitsspeichersteuerung, dass der Zielrang den Befehl oder den Arbeitsspeicherzugriffsvorgang (z. B. Lesen oder Schreiben) ausführt, während ein oder mehrere Ränge selektiv ODT anwenden, indem sie eine ODT-Einstellung für die Dauer der Arbeitsspeicherzugriffstransaktion oder des Arbeitsspeicherzugriffsvorgangs ändern. In einer Ausführungsform kann die Dauer der Arbeitsspeicherzugriffstransaktion auch die programmierten Präambel- und Postambelwerte für die Art des Arbeitsspeicherzugriffs (z. B. Lesen oder Schreiben) abdecken.
  • In einer Ausführungsform wenden alle Ränge im Arbeitsspeicherteilsystem standardmäßig ODT für Schreibvorgänge an. In einem Arbeitsspeicherteilsystem können alle Ränge standardmäßig ODT beispielsweise beim Terminieren an Vss anwenden. Falls deshalb der Bus auf Tristate oder Vss liegt, gibt es keinen Energieverbrauch. Rtt_park bezeichnet einen Widerstand mit hohem Wert, der mit der Terminierung verbunden ist, was den Bedarf einer Aktivierung von ODT mit Ausnahme des Zielrangs eliminieren kann. Der Zielrang kann einen Widerstand mit niedrigerem Wert (z. B. Rtt_wr) verwenden. Während eine solche Implementierung kein selektives Steuern der ODT an Nichtzielrängen erfordern würde, kann der hohe Widerstandswert die Signalintegrität reduzieren und den Energieverbrauch erhöhen. In einer Ausführungsform unterstützen die Arbeitsspeichervorrichtungen einen verschiedenen ODT-Wert. In einer Ausführungsform kann das System einen Rang an jedem Zweig des T auswählen und einen höheren Widerstandswert für die ODT verwenden (wie den Wert, der für Rtt_park verwendet werden würde). In einer Ausführungsform kann das System den gleichen Rtt_park-Wert für Lese- und Schreibvorgänge am Nichtzielrang bzw. an den Nichtzielrängen verwenden. Für Lesebefehle an einen Nichtzielrang kann jedoch das Festlegen der ODT auf den Rtt_park-Wert in einer nicht optimalen Lösung resultieren. Deshalb kann die Arbeitsspeichersteuerung einen LESE-1-Broadcast-Befehl senden, um zu bewirken, dass die Arbeitsspeichervorrichtungen Rtt_park am Nichtzielrang bzw. an den Nichtzielrängen auf Rtt_nom abändern. In einer Ausführungsform kann die Arbeitsspeichersteuerung einen LESEN-1-Befehl senden, um ODT selektiv nach Bedarf am Nichtzielrang bzw. an den Nichtzielrängen zu aktivieren.
  • Betrachtet wird ein spezifisches Beispiel eines Schreibbefehls in LPDDR4 in Übereinstimmung mit Tabelle 400. In LPDDR4 verwendet das System zwei Befehle, die jeweils zwei Takte für einen Schreib- oder Lesevorgang verwenden. Deshalb dauert ein Schreibvorgang vier Takte, indem zwei Takte von SCHREIBEN-1-Befehlen, sequenziell gefolgt von zwei Takten von CAS-2 gesendet werden. In einer Ausführungsform aktiviert eine Arbeitsspeichervorrichtung ODT, wenn sie einen Schreibbefehl (SCHREIBEN-1) sieht (oder wenn sie einen Befehl empfängt, für den sie ausgewählt wird). Die Arbeitsspeichersteuerung kann die ODT an mehreren Rängen aktivieren, indem sie ein CS-Signal (CS=H in Takt 1 von SCHREIBEN-1) am Befehl auslöst. In einer Ausführungsform aktiviert die Vorrichtung ODT für eine Burstlänge aktivieren oder einschalten und danach die ODT ausschalten.
  • Deshalb kann das System ein SCHREIBEN-1 auf dem gemeinsam genutzten C/A-Bus senden und ein CS an mehrere Ränge gleichzeitig senden. Die Vorrichtungen, die den SCHREIBEN-1-Befehl mit dem CS empfangen, können die ODT aktivieren oder einschalten. Das System sendet dann einen CAS-2 an einen ausgewählten oder Zielrang. Wenn ein Rang ein CS im SCHREIBEN-1-Befehl (CS = H im ersten Takt von SCHREIBEN-1) empfangen hat, aber kein CAS-2-Signal empfängt (CS = L im ersten Takt von CAS-2), dann lässt die Arbeitsspeichervorrichtung die ODT aktiviert, aber führt den Befehl oder den Vorgang nicht aus. In einer Ausführungsform führt nur die ausgewählte Arbeitsspeichervorrichtung mit einem CS = H im zweiten Takt des CAS-2-Befehls den Arbeitsspeicherzugriffsvorgang aus. Deshalb empfangen in einer Ausführungsform Ränge, die nicht für die ODT ausgewählt sind, ein CS L-L für SCHREIBEN-1 und ein CS L-L für CAS-2. Ränge, die für die ODT ausgewählt sind, aber nicht der Zielrang sind, empfangen ein CS H-L für SCHREIBEN-1 und ein CS L-L für CAS-2. Der Zielrang empfängt ein CS H-L für SCHREIBEN-1 und CS H-L für CAS-2. Die Arbeitsspeichersteuerung kann selektiv alle dieser Signale erzeugen, um selektiv die gewünschte ODT auszulösen. In einer Ausführungsform aktiviert die Arbeitsspeichersteuerung die ODT für mindestens einen Rang pro Paket.
  • Es ist klar, dass das System gleichermaßen selektiv die ODT für Lesevorgänge aktivieren kann. Beispielsweise könnte die Arbeitsspeichersteuerung selektiv ein CS-Signal für LESEN-1- und CAS-2-Befehle aktivieren, um eine Aktivierung der ODT durch bestimmte Ränge (z. B. einen oder mehrere Nichtzielränge) auszulösen, wobei sie auch den Zielrang identifiziert, um den Lesebefehl auszuführen. In einer Ausführungsform hat eine Arbeitsspeichervorrichtung anfänglich die ODT nicht aktiviert. In einer Ausführungsform ermittelt eine Arbeitsspeichervorrichtung, die einen LESEN-1-Befehl empfängt, auf Grundlage des CAS-2-Befehls, ob die ODT zu aktivieren ist. In einer Ausführungsform erwartet die Arbeitsspeichervorrichtung, einen CAS-2-Befehl zu empfangen, der unmittelbar auf einen LESEN-1-Befehl folgt. Falls deshalb die Arbeitsspeichervorrichtung einen LESEN-1-Befehl mit einem auf wahr gesetzten Auswahlsignal gefolgt von einem CAS-2-Befehl mit dem auf falsch gesetzten Auswahlsignal empfängt, kann die Arbeitsspeichervorrichtung die ODT aktivieren. Eine Arbeitsspeichervorrichtung, die den LESEN-1-Befehl mit dem auf wahr gesetzten Auswahlsignal, gefolgt von einem CAS-2-Befehl mit dem auf wahr gesetzten Auswahlsignal empfängt, deaktiviert die ODT oder lässt die ODT deaktiviert und führt den Befehl aus. In einer Ausführungsform aktiviert ein Rang, der ein SCHREIBEN-1 mit einem auf wahr gesetzten Auswahlsignal gefolgt von einem CAS-2 mit dem auf falsch gesetzten Auswahlsignal bei einem Schreibvorgang empfängt, die ODT und lässt sie aktiviert, während er den Befehl nicht ausführt. Ein Rang, der ein SCHREIBEN-1 mit dem auf wahr gesetzten Auswahlsignal, gefolgt von einem CAS-2 mit dem auf wahr gesetzten Auswahlsignal empfängt, aktiviert die ODT und führt den Befehl aus. Deshalb kann das Fehlen eines CAS-2-Befehls für einen Lesevorgang in einer Ausführungsform auslösen, dass der Rang die ODT aktiviert, während das Empfangen des SCHREIBEN-1-Befehls für einen Schreibvorgang auslösen kann, dass der Rang die ODT aktiviert. Die Registrierung einer Arbeitsspeichervorrichtung (d. h., der Rang, zu dem die Arbeitsspeichervorrichtung gehört, empfängt ein CS-Signal zusammen mit dem auf dem C/A-Bus gesandten Befehl) oder ein Fehlen einer Registrierung kann verwendet werden, um zu ermitteln, welchen Zustand von ODT die Arbeitsspeichervorrichtung anwenden sollte.
  • 4B ist eine Darstellung einer Ausführungsform einer Tabelle zum Steuern eines chipinternen Terminierungswerts für den Arbeitsspeicherzugriff. Ein Register 410 stellt ein Register oder einen lokalen Speicherbereich dar, wie ein Modusregister für eine Arbeitsspeichervorrichtung, das verwendet werden kann, um einen gewünschten ODT-Wert für Schreibvorgänge auf einem bestimmten Rang zu programmieren. In einer Ausführungsform kann das Register 410 einen Impedanzwert für die Terminierung für jede Vorrichtung anzeigen. Das Register 410 zeigt verschiedene Werte auf Grundlage der Einstellungen von OP[0:2]. Auf Grundlage der Einstellungen von OP[2:0] kann die ODT deaktiviert sein [000], einen intrinsischen Wert aufweisen [001] oder durch ein Vielfaches dividiert sein (durch 2, 3, 4, 5 bzw. 6 für [010] bis [110]). In einer Ausführungsform können verschiedene unterschiedliche Widerstandswerte für die Terminierung durch Festlegen des Registers 410 ausgewählt werden.
  • In einer Ausführungsform kann ein Rtt_park-Wert ungefähr 240 Ohm betragen und ein Rtt_nom-Wert kann ungefähr 40 Ohm betragen (was abhängig vom intrinsischen Wert von RZQ unterschiedlichen Werten im Register 410 entsprechen kann). Rtt_nom kann festgelegt werden, um eine Terminierung des Signals auf Grundlage eines erwarteten Impedanzabgleichs bereitzustellen. Der Wert von Rtt_park kann hinreichend niedrig festgelegt sein, um das meiste Rauschen zu unterdrücken (und wird deshalb nicht als ein Zustand hoher Impedanz angesehen), aber terminiert nicht so gut wie der Rtt_nom-Wert. Der Vorteil des Festlegens von Rtt_park auf einen höheren Wert als Rtt_nom ist, dass der höhere Wert weniger Strom aufnimmt. Es ist klar, dass unterschiedliche Ränge und/oder DRAMs auf Grundlage vom empfangenen Befehl oder davon, ob ein Befehl empfangen wurde oder nicht, auf unterschiedliche Widerstandswerte gesetzt werden können.
  • 4C ist eine Darstellung einer Ausführungsform einer Arbeitsspeicherzugriffsbefehlscodierung zum Steuern einer Zeitgebung für chipinterne Terminierung für den Arbeitsspeicherzugriff. Befehlstabelle 420 illustriert SCHREIBEN-1- und LESEN-1-Befehle einer Ausführungsform in Übereinstimmung mit der Befehlstabelle 400 von 4A. Unterschiede zwischen entsprechenden Befehlen in der Befehlstabelle 400 und der Befehlstabelle 420 sind hervorgehoben. Genauer, während CA3 an der zweiten Taktflanke von sowohl SCHREIBEN-1 und LESEN-1 in der Befehlstabelle 400 einen Wert von „V“ oder „egal“ aufweist, kann CA3 an der zweiten Taktflanke in der Befehlstabelle 420 eine Art des Zugriffsbefehls anzeigen. Die unterschiedlichen Befehlstypen können signalisieren, dass die Arbeitsspeichervorrichtung eine andere Zeitgebung oder einen anderen Offset für die ODT zu verwenden hat.
  • Beispielsweise kann SCHREIBEN-1 separat als SCHREEBEN-1A und SCHREIBEN-1B interpretiert werden, abhängig vom Logikwert von CA3 (wobei H einen Schreibtyp auswählt und L den anderen auswählt). Gleichermaßen kann LESEN-1 separat als LESEN-1A und LESEN-1B interpretiert werden, abhängig vom Logikwert von CA3 (wobei H einen Lesetyp auswählt und L den anderen auswählt). Deshalb kann der Logikwert von CA3 ein Bezeichner oder ein Hinweis in der Befehlscodierung darüber sein, wie die ODT zu aktivieren ist, wie ein ODT-Zeitgebungstyp. In einer Ausführungsform kann SCHREIBEN-1A für einen Nichtzielrang anzeigen, den Offset A für die ODT-Zeitgebung zu verwenden, und SCHREIBEN-1B kann anzeigen, den Offset B für die ODT-Zeitgebung zu verwenden. Gleichermaßen kann LESEN-1A anzeigen, den Offset A für die ODT-Zeitgebung zu verwenden, und LESEN-1B kann anzeigen, den Offset B für die ODT-Zeitgebung zu verwenden. Wenn deshalb ein Nichtzielrang einen Zugriffsbefehl ohne einen begleitenden CAS-2-Befehl empfängt, können die Arbeitsspeichervorrichtungen den angezeigten Typ der ODT-Zeitgebung abhängig davon anwenden, ob ein 1A- oder ein 1B-Befehl gesendet wurde.
  • 4D ist eine Darstellung einer Ausführungsform einer Tabelle zum Steuern einer Zeitgebung für chipinterne Terminierung für den Arbeitsspeicherzugriff. In einer Ausführungsform kann der Wert der Lese-ODT definiert sein, die gleiche wie die ODT für einen Schreibvorgang zu sein, die ein in einem Register gespeicherter Wert sein kann (z. B. Modusregister 11). Falls der gespeicherte Wert nicht optimal ist, kann ein anderes Register in einer Ausführungsform definiert sein, einen Lese-ODT-Wert für Nichtzielränge zu programmieren. Die Verwendung des gleichen Werts funktioniert mit T-Topologien mit ausgeglichener Belastung gut, wie oben besprochen. Falls die Topologie in Reihe geschaltet ist oder eine andere Nicht-T-Topologie ist oder die Belastung nicht ausgeglichen ist, dann ist ein anderer Wert optimaler. Die Dauer der ODT-Einschaltzeit in einem Nichtzielrang kann auch auf ein anders bemessenes Fenster als den Zielrang festgelegt werden. In einer Ausführungsform unterstützt das System einen programmierbaren Offset auf Grundlage der WL für Schreibvorgänge und einen programmierbaren Offset auf Grundlage der CL für Lesevorgänge. In einer Ausführungsform deckt der Offset mindestens einige (z. B. 2, 4, 8 oder andere Anzahl) zusätzliche Zyklen in sowohl der negativen als auch der positiven Richtung in Bezug auf die Latenzperiode (z. B. WL oder CL) ab.
  • Das Register 430 stellt eine Ausführungsform eines Registers dar, das einen oder mehrere Werte speichern kann, die die ODT-Zeitgebung anzeigen. In einer Ausführungsform wird auf das Register 430 durch Identifizieren einer Adresse (z. B. 432, 434, 436 und 438) zugegriffen, die einen Eintrag im Register oder ein Register anzeigt, auf das für einen Zeitgebungswert zuzugreifen ist. In einer Ausführungsform identifiziert der Eintrag 432 eine Schreib-ODT-EINSCHALT-Zeitgebung, mit einem Offsetwert 442. Der Offset 442 kann genauer eine Anzahl an Taktzyklen vor der WL identifizieren, um die ODT zu aktivieren. In einer Ausführungsform identifiziert der Eintrag 434 eine Schreib-ODT-AUSSCHALT-Zeitgebung, mit einem Offsetwert 444. Der Offset 444 kann genauer eine Anzahl an Taktzyklen nach der WL identifizieren, um die ODT zu deaktivieren. In einer Ausführungsform identifiziert der Eintrag 436 eine Lese-ODT-EINSCHALT-Zeitgebung, mit einem Offsetwert 446. Der Offset 446 kann genauer eine Anzahl an Taktzyklen vor der CL identifizieren, um die ODT zu aktivieren. In einer Ausführungsform identifiziert der Eintrag 438 eine Lese-ODT-AUSSCHALT-Zeitgebung, mit einem Offsetwert 448. Der Offset 448 kann genauer eine Anzahl an Taktzyklen nach der CL identifizieren, um die ODT zu deaktivieren.
  • In einer Ausführungsform können vier Modusregister oder Modusregistereinstellungen für einen Offset mit einem Bereich an Werten definiert sein (wobei jeder Eintrag 432, 434, 436 und 438 die verschiedenen Modusregister oder Modusregistereinstellungen darstellt). In einer Ausführungsform kann der Wert der Offsets 442, 444, 446 und 448 von 1 tCK bis N tCK sein, wobei N beispielsweise 8, 12, 16 oder eine andere Zahl sein kann. In einer Ausführungsform kann die ODT-AUSSCHALT-Zeitgebung als ein zusätzlicher Offset zusätzlich zu WL/CL + BL (Burstlänge) angewandt werden. Programmierbare ODT-Einstellungen können einem Rang (z. B. einen Nichtzielrang) ermöglichen, die Ein- und Ausschaltzeitgebung der ODT zu steuern, um zu verhindern, dass die ODT angewandt wird, wenn sie nicht benötigt wird. Deshalb kann eine programmierbare ODT-Zeitgebung eine ODT nur bei Bedarf bereitstellen. Beispielsweise können Arbeitsspeichervorrichtungen die ODT nur für eine gerade ausreichende Zeit anwenden, um Signalreflexionen zu reduzieren, und die ODT mit ausreichender Präzision ein- und/oder ausschalten, sodass anderweitig die Energie nicht verwendet wird, die für die Anwendung der ODT benötigt wird.
  • In einer Ausführungsform enthält das Register 430 zwei oder mehr Terminierungsoffsets, abhängig von der Art der anzuwendenden ODT-Zeitgebung, wie durch die Befehlscodierung angezeigt wird. Beispielsweise kann das Register 430 A- und B-Einträge für jeden ODT-Zeitgebungstyp enthalten (Schreiben EIN A und Schreiben EIN B, Schreiben AUS A, Schreiben AUS B und so weiter). Eine solche Auswahl des ODT-Zeitgebungstyps kann in Übereinstimmung mit der Befehlstabelle 420 von 4C erfolgen.
  • 5A ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Anwenden von chipinterner Terminierung für einen Schreibvorgang. Ein Arbeitsspeicherteilsystem kann mehrere Arbeitsspeichervorrichtungen oder DRAMs, die Daten speichern, und eine Arbeitsspeichersteuerung enthalten, die den Arbeitsspeichervorrichtungen Arbeitsspeicherzugriffsbefehle bereitstellt. Die Arbeitsspeichervorrichtungen sind als Arbeitsspeicherränge mit mehreren Vorrichtungen organisiert, die gemeinsam auf einen Arbeitsspeicherzugriffsbefehl reagieren und einen Rang bilden. In einer Ausführungsform sind die Ränge auf Arten getrennt, die die Symmetrie der Terminierungen beeinflussen, wie mit verschiedenen Mehrvorrichtungspaketen, nicht ausgeglichener Belastung, nicht symmetrischen Topologien oder anderen Symmetriediskrepanzen.
  • Die Vorgänge des Prozesses 510 geschehen im Arbeitsspeicherteilsystem. In einer Ausführungsform empfängt die Arbeitsspeichersteuerung eine Anforderung von einem Hostsystemprozessor, die einen Vorgang zum Schreiben in den Arbeitsspeicher, 512, enthält. In einer Ausführungsform identifiziert die Arbeitsspeichersteuerung einen der Anzahl der Arbeitsspeicherränge im System als einen Zielrang für den Schreibbefehl, 514. Die Arbeitsspeichersteuerung identifiziert den Zielarbeitsspeicherrang auf Grundlage davon, wie Daten in die Arbeitsspeicherarrays der Arbeitsspeichervorrichtungen abgebildet sind.
  • In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung, welche Ränge die ODT auf Grundlage des als Zielrang identifizierten Rangs aktivieren sollen, 516. Die Arbeitsspeichersteuerung kann beispielsweise einer Anleitung oder Regel folgen, um sicherzustellen, dass mindestens ein Rang pro Arbeitsspeichervorrichtung die ODT für einen Schreibvorgang aktiviert. In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung ferner, welcher Wert der ODT von jedem Rang angewandt werden soll, 518. In bestimmten Implementierungen kann eine Nichtziel-Arbeitsspeichervorrichtung eine ausreichende Terminierung durch Anwenden eines Werts der ODT bereitstellen, der sich vom Wert unterscheidet, der vom Zielrang angewandt wird. In einer Ausführungsform kann eine Arbeitsspeichervorrichtung, die ein Teil des Zielrangs ist, beispielsweise Rtt_wr ansteuern, und falls sie nicht Teil des Zielrangs ist, kann sie Rtt_nom (einen nominalen Widerstandswert) ansteuern.
  • In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung, welchen Wert der ODT-Zeitgebung ein Rang anwenden soll und programmiert selektiv die Zeitgebungseinstellung für die ODT für die Ränge, 520. Die Programmierung der ODT-Zeitgebung kann in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform der programmierbaren ODT-Zeitgebung erfolgen. In einer Ausführungsform basiert die Zeitgebungseinstellung auf die Art der Transaktion sowie darauf, ob der Rang ein Zielrang oder ein Nichtzielrang ist. In einer Ausführungsform basiert der Wert der Zeitgebungseinstellungen auf einem Training, das eine höhere Signalintegrität für die Schreibtransaktion ermittelt.
  • Die Arbeitsspeichersteuerung löst die Aktivierung von ODT durch mehrere Ränge auf Grundlage davon aus, welche Ränge die ODT aktivieren sollen, 522. Wie oben beschrieben kann die Arbeitsspeichersteuerung die Aktivierung von ODT durch eine Arbeitsspeichervorrichtung durch ein Aktivierungs- oder Chipauswahlsignal auslösen. In einer Ausführungsform könnte die Arbeitsspeichersteuerung einen separaten Befehl erteilen, der bewirkt, dass die Arbeitsspeichervorrichtung die ODT aktiviert. Der Zielrang führt den Schreibbefehl aus, während alle Ränge, die für die Aktivierung der ODT ausgewählt sind, eine aktivierte ODT aufweisen, 524. Die Ränge aktivieren die ODT selektiv für die Schreibtransaktion in Übereinstimmung mit programmierbaren Zeitgebungsparametern. Unterschiedliche Zeitgebungsparameter können für Schreib- und Lesetransaktionen verwendet werden.
  • 5B ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Anwenden von chipinterner Terminierung für einen Lesevorgang. Ein Arbeitsspeicherteilsystem kann mehrere Arbeitsspeichervorrichtungen oder DRAMs, die Daten speichern, und eine Arbeitsspeichersteuerung enthalten, die den Arbeitsspeichervorrichtungen Arbeitsspeicherzugriffsbefehle bereitstellt. Die Arbeitsspeichervorrichtungen sind als Arbeitsspeicherränge mit mehreren Vorrichtungen organisiert, die gemeinsam auf einen Arbeitsspeicherzugriffsbefehl reagieren und einen Rang bilden. In einer Ausführungsform sind die Ränge auf Arten getrennt, die die Symmetrie der Terminierungen beeinflussen, wie mit verschiedenen Mehrvorrichtungspaketen, nicht ausgeglichener Belastung, nicht symmetrischen Topologien oder anderen Symmetriediskrepanzen.
  • Die Vorgänge des Prozesses 530 geschehen im Arbeitsspeicherteilsystem. In einer Ausführungsform empfängt die Arbeitsspeichersteuerung eine Anforderung von einem Hostsystemprozessor, die einen Vorgang zum Lesen aus dem Arbeitsspeicher, 532, enthält. In einer Ausführungsform identifiziert die Arbeitsspeichersteuerung einen der Anzahl der Arbeitsspeicherränge im System als einen Zielrang für den Lesebefehl, 534. Die Arbeitsspeichersteuerung identifiziert den Zielarbeitsspeicherrang auf Grundlage davon, wie Daten in die Arbeitsspeicherarrays der Arbeitsspeichervorrichtungen abgebildet sind. In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung, welche Ränge die ODT auf Grundlage des als Zielrang identifizierten Rangs aktivieren sollen und/oder eine ODT-Einstellung auf dieser Grundlage ändern sollen, 536. In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung ferner, welcher Wert der ODT von jedem Rang angewandt werden soll, der die ODT anwenden wird, 538.
  • In einer Ausführungsform ermittelt die Arbeitsspeichersteuerung, welchen Wert der ODT-Zeitgebung ein Rang anwenden soll und programmiert selektiv die Zeitgebungseinstellung für die ODT für die Ränge, 540. Die Programmierung der ODT-Zeitgebung kann in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform der programmierbaren ODT-Zeitgebung erfolgen. In einer Ausführungsform basiert die Zeitgebungseinstellung auf die Art der Transaktion sowie darauf, ob der Rang ein Zielrang oder ein Nichtzielrang ist. In einer Ausführungsform basiert der Wert der Zeitgebungseinstellungen auf einem Training, das eine höhere Signalintegrität für die Lesetransaktion ermittelt.
  • In einer Ausführungsform löst die Arbeitsspeichersteuerung aus, dass ein oder mehrere Nichtansteuerungs- oder Nichtzielränge die ODT aktivieren und/oder ändern, auf Grundlage der erfolgten Ermittlung, 542. Deshalb kann die Arbeitsspeichersteuerung einen oder mehrere Ränge auswählen, um die Terminierung zu aktivieren, um Reflexionen zu reduzieren, während der Zielrang Daten an die Arbeitsspeichersteuerung sendet. Wie oben beschrieben kann die Arbeitsspeichersteuerung die Aktivierung von ODT oder eine Änderung der ODT-Einstellung durch eine Arbeitsspeichervorrichtung durch die Verwendung eines Aktivierungs- oder Chipauswahlsignals selektiv auslösen. In einer Ausführungsform könnte die Arbeitsspeichersteuerung einen separaten Befehl erteilen, der bewirkt, dass die Arbeitsspeichervorrichtung die ODT aktiviert. Der Zielrang führt den Lesebefehl aus, während alle Ränge, die für die Aktivierung der ODT ausgewählt sind, eine aktivierte ODT aufweisen, 544. Die Ränge aktivieren die ODT selektiv für die Lesetransaktion in Übereinstimmung mit programmierbaren Zeitgebungsparametern. Unterschiedliche Zeitgebungsparameter können für Schreib- und Lesetransaktionen verwendet werden.
  • 5C ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Aktivieren von chipinterner Terminierung für einen Schreibvorgang. Ein Arbeitsspeicherteilsystem kann mehrere Arbeitsspeichervorrichtungen oder DRAMs, die Daten speichern, und eine Arbeitsspeichersteuerung enthalten, die den Arbeitsspeichervorrichtungen Arbeitsspeicherzugriffsbefehle bereitstellt. Die Arbeitsspeichervorrichtungen sind als Arbeitsspeicherränge mit mehreren Vorrichtungen organisiert, die gemeinsam auf einen Arbeitsspeicherzugriffsbefehl reagieren und einen Rang bilden. In einer Ausführungsform sind die Ränge auf Arten getrennt, die die Symmetrie der Terminierungen beeinflussen, wie mit verschiedenen Mehrvorrichtungspaketen, nicht ausgeglichener Belastung, nicht symmetrischen Topologien oder anderen Symmetriediskrepanzen.
  • Die Vorgänge des Prozesses 550 geschehen im Arbeitsspeicherteilsystem. In einer Ausführungsform empfängt eine Arbeitsspeichervorrichtung, die eine von mehreren Arbeitsspeichervorrichtungen in einem von mehreren Rängen im Arbeitsspeicherteilsystem ist, einen Schreibbefehl von der Arbeitsspeichersteuerung, 552. Viele Erörterungen oben beziehen sich auf einen „Arbeitsspeicherrang“, der einen Vorgang durchführt. Ein solcher Ausdruck versteht sich als Kurzform, um auf die Tatsache zu verweisen, dass jede Arbeitsspeichervorrichtung innerhalb des Rangs den Vorgang als Reaktion auf den Befehl durchführt. Wie oben besprochen empfängt eine Arbeitsspeichervorrichtung in einer Ausführungsform einen Arbeitsspeicherzugriffsbefehl, wenn die Arbeitsspeichersteuerung die Vorrichtung auswählt, den Befehl zu empfangen. In einer Ausführungsform führt die Arbeitsspeichervorrichtung als Reaktion auf das Empfangen eines Befehls eine Änderung an einer ODT-Einstellung auf Grundlage davon durch, welche Art von Befehl empfangen wird.
  • Deshalb decodiert die Arbeitsspeichervorrichtung den eingehenden Arbeitsspeicherzugriffsbefehl und ermittelt, dass er ein Schreibbefehl ist und dass sie ausgewählt ist, den Befehl zu empfangen. Als Reaktion auf die Decodierung kann die Arbeitsspeichervorrichtung ermitteln, welcher Wert der ODT aktiviert werden soll, 554. In einer Ausführungsform greift die Arbeitsspeichervorrichtung auf ein Modusregister (MR) für die Arbeitsspeichervorrichtung zu, um zu ermitteln, welcher Wert von ODT in den MR-Einstellungen ausgewählt ist.
  • In einer Ausführungsform ermittelt die Arbeitsspeichervorrichtung, welcher Wert der ODT-Zeitgebung angewandt werden soll, 556. Die Anwendung der ODT-Zeitgebung kann in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform der programmierbaren ODT-Zeitgebung erfolgen. In einer Ausführungsform basiert die Zeitgebungseinstellung auf die Art der Transaktion sowie darauf, ob der Rang ein Zielrang oder ein Nichtzielrang ist. In einer Ausführungsform basiert der Wert der Zeitgebungseinstellungen auf einem Training, das eine höhere Signalintegrität für die Schreibtransaktion ermittelt. In einer Ausführungsform basiert die ODT-Zeitgebung auf einem oder mehreren Zeitgebungsparametern, die in einem oder mehreren Registern gespeichert sind und von der Arbeitsspeichersteuerung festgelegt werden können.
  • In einer Ausführungsform aktiviert die Arbeitsspeichervorrichtung die ODT als Reaktion auf das Empfangen des Schreibbefehls, in Übereinstimmung mit dem angezeigten ODT-Wert, 558. In einer Ausführungsform kann eine Arbeitsspeichervorrichtung, die ein Teil des Zielrangs ist, Rtt_wr ansteuern, und falls sie nicht Teil des Zielrangs ist, kann sie Rtt_nom ansteuern. Deshalb steuern nicht alle Ränge, die ODT anwenden, das gleiche Ausmaß an Widerstand an.
  • In einer Ausführungsform ermittelt die Arbeitsspeichervorrichtung, ob sie Teil des Zielrangs für den Schreibbefehl ist, 560. In einer Ausführungsform führt die Arbeitsspeichervorrichtung die Ermittlung auf Grundlage davon durch, ob sie in einem nachfolgenden Arbeitsspeicherzugriffsbefehl ausgewählt wird (z. B. in einem CAS-2-Befehl, wie oben beschrieben). In einer Ausführungsform kann die Arbeitsspeichervorrichtung einen anderen Befehl von der Arbeitsspeichersteuerung empfangen, der den Zielrang anzeigt. Falls die Arbeitsspeichervorrichtung ein Teil des Zielrangs ist, 562-JA-Zweig, dann behält die Arbeitsspeichervorrichtung die ODT aktiviert bei und führt den Befehl aus, 564. Falls die Arbeitsspeichervorrichtung nicht Teil des Zielrangs ist, 562-NEIN-Zweig, dann behält die Arbeitsspeichervorrichtung die ODT aktiviert bei, führt jedoch den Befehl nicht aus, 566. Die Arbeitsspeichervorrichtung aktiviert die ODT selektiv für die Schreibtransaktion in Übereinstimmung mit programmierbaren Zeitgebungsparametern. Unterschiedliche Zeitgebungsparameter können für Schreib- und Lesetransaktionen verwendet werden.
  • 5D ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum selektiven Aktivieren von chipinterner Terminierung für einen Lesevorgang. Ein Arbeitsspeicherteilsystem kann mehrere Arbeitsspeichervorrichtungen oder DRAMs, die Daten speichern, und eine Arbeitsspeichersteuerung enthalten, die den Arbeitsspeichervorrichtungen Arbeitsspeicherzugriffsbefehle bereitstellt. Die Arbeitsspeichervorrichtungen sind als Arbeitsspeicherränge mit mehreren Vorrichtungen organisiert, die gemeinsam auf einen Arbeitsspeicherzugriffsbefehl reagieren und einen Rang bilden. In einer Ausführungsform sind die Ränge auf Arten getrennt, die die Symmetrie der Terminierungen beeinflussen, wie mit verschiedenen Mehrvorrichtungspaketen, nicht ausgeglichener Belastung, nicht symmetrischen Topologien oder anderen Symmetriediskrepanzen.
  • Die Vorgänge des Prozesses 570 geschehen im Arbeitsspeicherteilsystem. In einer Ausführungsform empfängt eine Arbeitsspeichervorrichtung, die eine von mehreren Arbeitsspeichervorrichtungen in einem von mehreren Rängen im Arbeitsspeicherteilsystem ist, einen Lesebefehl von der Arbeitsspeichersteuerung, 572. Wie oben besprochen empfängt eine Arbeitsspeichervorrichtung in einer Ausführungsform einen Arbeitsspeicherzugriffsbefehl, wenn die Arbeitsspeichersteuerung die Vorrichtung auswählt, den Befehl zu empfangen. In einer Ausführungsform decodiert die Arbeitsspeichervorrichtung den eingehenden Arbeitsspeicherzugriffsbefehl und ermittelt, dass er ein Lesebefehl ist und dass sie ausgewählt ist, den Befehl zu empfangen. Als Reaktion auf das Empfangen des Lesebefehls und das Decodieren des Befehls kann die Arbeitsspeichervorrichtung eine Standard-ODT-Einstellung anwenden, 574. In einer Ausführungsform ist die Standardeinstellung, die ODT für die Lesetransaktion zu deaktivieren. In einer Ausführungsform weist die Arbeitsspeichervorrichtung eine deaktivierte ODT auf, wenn sie einen Lesebefehl empfängt, und aktiviert die ODT, falls sie nicht in einem direkt auf den Lesebefehl folgenden CAS-2-Befehl registriert oder ausgewählt ist.
  • In einer Ausführungsform ermittelt die Arbeitsspeichervorrichtung, welcher Wert der ODT-Zeitgebung angewandt werden soll, 576. Die Anwendung der ODT-Zeitgebung kann in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform der programmierbaren ODT-Zeitgebung erfolgen. In einer Ausführungsform basiert die Zeitgebungseinstellung auf die Art der Transaktion sowie darauf, ob der Rang ein Zielrang oder ein Nichtzielrang ist. In einer Ausführungsform basiert der Wert der Zeitgebungseinstellungen auf einem Training, das eine höhere Signalintegrität für die Lesetransaktion ermittelt. In einer Ausführungsform basiert die ODT-Zeitgebung auf einem oder mehreren Zeitgebungsparametern, die in einem oder mehreren Registern gespeichert sind und von der Arbeitsspeichersteuerung festgelegt werden können.
  • In einer Ausführungsform ermittelt die Arbeitsspeichervorrichtung, ob sie Teil des Zielrangs für den Lesebefehl ist, 578. In einer Ausführungsform führt die Arbeitsspeichervorrichtung die Ermittlung auf Grundlage davon durch, ob sie in einem nachfolgenden Arbeitsspeicherzugriffsbefehl ausgewählt wird (z. B. in einem CAS-2-Befehl, wie oben beschrieben). In einer Ausführungsform kann die Arbeitsspeichervorrichtung einen anderen Befehl von der Arbeitsspeichersteuerung empfangen, der den Zielrang anzeigt. Falls die Arbeitsspeichervorrichtung ein Teil des Zielrangs ist, 580-JA-Zweig, dann deaktiviert die Arbeitsspeichervorrichtung die ODT, 582, und hält die ODT deaktiviert und und führt den Befehl aus, 584. Falls die Arbeitsspeichervorrichtung nicht Teil des Zielrangs ist, 580-NEIN-Zweig, dann ermittelt die Arbeitsspeichervorrichtung, ob die ODT zu aktivieren ist oder ob eine ODT-Einstellung zu ändern ist, 586. In einer Ausführungsform werden keine anderen Ränge im Arbeitsspeicherteilsystem ausgewählt und empfangen deshalb den Lesebefehl nicht. Diese Ränge behalten eine Standard-ODT-Einstellung bei, wie zum Beispiel deaktiviert. In einer Ausführungsform aktiviert ein Rang, der ausgewählt ist, den Lesebefehl zu empfangen, aber der nicht der Zielrang ist, die ODT oder erhöht einen ODT-Wert, falls der Standardwert ein Widerstandswert ist. Der Nichtzielrang hält die ODT für die Lesetransaktion aktiviert, aber führt den Lesebefehl nicht aus, 588. Die Arbeitsspeichervorrichtung aktiviert die ODT selektiv für die Lesetransaktion in Übereinstimmung mit programmierbaren Zeitgebungsparametern. Unterschiedliche Zeitgebungsparameter können für Schreib- und Lesetransaktionen verwendet werden.
  • 6 ist ein Blockdiagramm einer Ausführungsform eines Rechensystems, in dem eine chipinterne Terminierungssteuerung implementiert werden kann. Ein System 600 stellt eine Rechenvorrichtung nach einer beliebigen hierin beschriebenen Ausführungsform dar und kann ein Laptopcomputer, ein Desktopcomputer, ein Server, ein Spiele- oder Entertainment-Steuersystem, ein Scanner, ein Kopierer, ein Drucker, eine Weiterleitungs- oder Schaltvorrichtung oder eine andere elektronische Vorrichtung sein. Das System 600 enthält einen Prozessor 620, der eine Verarbeitung, eine Vorgangsverwaltung und eine Ausführung von Anweisungen für das System 600 bereitstellt. Der Prozessor 620 kann eine beliebige Art von Mikroprozessor, einer Zentralprozessoreinheit (CPU), eines Verarbeitungskerns oder einer anderen Verarbeitungshardware enthalten, um die Verarbeitung für das System 600 bereitzustellen. Der Prozessor 620 steuert den Gesamtbetrieb des Systems 600 kann ein oder mehrere programmierbare Universal- oder Sondermikroprozessoren, digitale Signalprozessoren (DSPs), programmierbare Steuerungen, anwendungsspezifische integrierte Schaltkreise (ASICs), programmierbare Logikvorrichtungen (PLDs) oder Ähnliches oder eine Kombination solcher Vorrichtungen sein oder diese enthalten.
  • Ein Arbeitsspeicherteilsystem 630 stellt den Hauptspeicher des Systems 600 dar und stellt eine temporäre Speicherung für Code, der vom Prozessor 620 auszuführen ist, oder für Datenwerte bereit, die beim Ausführen einer Routine zu verwenden sind. Das Arbeitsspeicherteilsystem 630 kann eine oder mehrere Arbeitsspeichervorrichtungen wie schreibgeschützten Arbeitsspeicher (ROM), Flashspeicher, eine oder mehrere Varianten von Arbeitsspeicher mit wahlfreiem Zugriff (RAM) oder andere Arbeitsspeichervorrichtungen oder eine Kombination solcher Vorrichtungen enthalten. Das Arbeitsspeicherteilsystem 630 speichert und hostet unter anderem ein Betriebssystem (OS) 636, um eine Softwareplattform zur Ausführung von Anweisungen im System 600 bereitzustellen. Zusätzlich werden andere Anweisungen 638 durch das Arbeitsspeicherteilsystem 630 gespeichert und ausgeführt, um die Logik und die Verarbeitung des Systems 600 bereitzustellen. Das OS 636 und die Anweisungen 638 werden vom Prozessor 620 ausgeführt. Das Arbeitsspeicherteilsystem 630 enthält eine Arbeitsspeichervorrichtung 632, in der es Daten, Anweisungen, Programme und andere Objekte speichert. In einer Ausführungsform enthält das Arbeitsspeicherteilsystem eine Arbeitsspeichersteuerung 634, die eine Arbeitsspeichersteuerung ist, um Befehle an die Arbeitsspeichervorrichtung 632 zu erzeugen und dieser zu erteilen. Es ist klar, dass die Arbeitsspeichersteuerung 634 ein physischer Teil des Prozessors 620 sein könnte.
  • Der Prozessor 620 und das Arbeitsspeicherteilsystem 630 sind an einen Bus/ein Bussystem 610 gekoppelt. Der Bus 610 ist eine Abstraktion, die einen beliebigen oder mehrere beliebige separate physische Busse, Kommunikationsleitungen/-schnittstellen und/oder Punktzu-Punkt-Verbindungen darstellt, die durch geeignete Brücken, Adapter und/oder Steuerungen verbunden sind. Deshalb kann der Bus 610 beispielsweise einen oder mehrere von einem Systembus, einem Peripheral-Component-Interconnect(PCI)-Bus, einem HyperTransprot- oder Industry-Standard-Architecture(ISA)-Bus, einem Small-Computer-System-Interface(SCSI)-Bus, einem Universal Serial Bus (USB) oder einem Bus nach der Norm 1394 des Institute of Electrical and Electronics Engineers (IEEE) (üblicherweise als „Firewire“ bezeichnet) enthalten. Die Busse des Bus 610 können auch Schnittstellen in einer Netzwerkschnittstelle 650 entsprechen.
  • Das System 600 enthält auch eine oder mehrere Eingabe-/Ausgabe(E/A)-Schnittstellen 640, eine Netzwerkschnittstelle 650, eine oder mehrere interne Massenspeichervorrichtungen 660 und eine periphere Schnittstelle 670, die an den Bus 610 gekoppelt sind. Die E/A-Schnittstelle 640 kann eine oder mehrere Schnittstellenkomponenten enthalten, über die ein Benutzer mit dem System 600 wechselwirkt (z. B. Video-, Audio- und/oder alphanumerische Schnittstellen). Die Netzwerkschnittstelle 650 stellt dem System 600 die Fähigkeit bereit, mit entfernten Vorrichtungen (z. B. Servern, anderen Computervorrichtungen) über ein oder mehrere Netzwerke zu kommunizieren. Die Netzwerkschnittstelle 650 kann einen Ethernetadapter, drahtlose Verbindungskomponenten USB (Universal Serial Bus) oder andere verdrahtete oder drahtlose, auf Normen basierende oder proprietäre Schnittstellen enthalten.
  • Ein Speicher 660 kann ein beliebiges herkömmliches Medium zum Speichern großer Datenmengen auf nichtflüchtige Weise sein oder ein solches enthalten, wie eine oder mehrere Magnet-, Festkörper- oder optische Platten oder eine Kombination davon. Der Speicher 660 hält Code oder Anweisungen und Daten 662 in einem persistenten Zustand (d. h., der Wert wird trotz Unterbrechung der Energie zum System 600 beibehalten). Der Speicher 660 kann allgemein als ein „Arbeitsspeicher“ angesehen werden, obwohl der Arbeitsspeicher 630 der ausführende oder Betriebsarbeitsspeicher ist, um dem Prozessor 620 Anweisungen bereitzustellen. Während der Speicher 660 nichtflüchtig ist, kann der Arbeitsspeicher 630 flüchtigen Arbeitsspeicher enthalten (d. h., der Wert oder Zustand der Daten ist unbestimmt, falls die Energie zum System 600 unterbrochen wird).
  • Eine periphere Schnittstelle 670 kann eine beliebige Hardwareschnittstelle enthalten, die oben nicht spezifisch erwähnt wurde. Peripheriegeräte bezeichnen allgemein Vorrichtungen, die abhängig mit dem System 600 verbunden sind. Eine abhängige Verbindung ist eine, bei der das System 600 die Software- und/oder Hardwareplattform bereitstellt, auf der der Vorgang ausgeführt wird und mit der ein Benutzer wechselwirkt.
  • In einer Ausführungsform ist das Arbeitsspeicherteilsystem 630 ein mehrrangiges Arbeitsspeichersystem. In einer Ausführungsform enthält das System 600 eine ODT-Steuerung 680, die dem System ermöglicht, die Aktivierung der ODT selektiv in den verschiedenen Rängen zu steuern, in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform. Die selektive Anwendung der ODT kann für jeden Rang spezifische ODT-Wert- und ODT-Zeitgebungseinstellungen für einen Befehlstyp enthalten, und ob der Rang der Zielrang ist oder nicht. Die ODT-Steuerung 680 kann eine ODT-Zeitgebungssteuerung nach einer beliebigen hierin besprochenen Ausführungsform von ODT-Zeitgebung durchführen.
  • 7 ist ein Blockdiagramm einer Ausführungsform einer mobilen Vorrichtung, in der eine chipinterne Terminierungssteuerung implementiert werden kann. Vorrichtung 700 repräsentiert eine mobile Rechenvorrichtung, wie ein Rechentablet, ein Mobiltelefon oder Smartphone, ein E-Lesegerät mit Drahtlosfunktion, eine tragbare Rechenvorrichtung oder eine andere mobile Vorrichtung. Es versteht sich, dass bestimmte der Komponenten allgemein gezeigt sind und nicht alle Komponenten einer solchen Vorrichtung in der Vorrichtung 700 gezeigt sind.
  • Die Vorrichtung 700 enthält einen Prozessor 710, der die Hauptverarbeitungsvorgänge der Vorrichtung 700 durchführt. Der Prozessor 710 kann eine oder mehrere physische Vorrichtungen enthalten, wie Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Die Verarbeitungsvorgänge, die vom Prozessor 710 durchgeführt werden, enthalten die Ausführung einer Betriebsplattform oder eines Betriebssystems, auf der bzw. dem Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsvorgänge enthalten Vorgänge, die mit E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen verbunden sind, Vorgänge, die mit Energieverwaltung verbunden sind, und/oder Vorgänge, die mit einem Verbinden der Vorrichtung 700 mit einer anderen Vorrichtung verbunden sind. Die Verarbeitungsvorgänge können auch Vorgänge enthalten, die mit Audio-E/A und/oder Anzeige-E/A verbunden sind.
  • In einer Ausführungsform enthält die Vorrichtung 700 ein Audio-Teilsystem 720, das Hardware-Komponenten (z. B. Audio-Hardware und Audio-Schaltkreise) und Software-Komponenten (z. B. Treiber, Codecs) repräsentiert, die mit dem Bereitstellen von Audiofunktionen an die Rechenvorrichtung assoziiert sind. Audiofunktionen können eine Lautsprecher- und/oder Kopfhörerausgabe sowie eine Mikrofoneingabe enthalten. Vorrichtungen für solche Funktionen können in die Vorrichtung 700 integriert sein oder mit der Vorrichtung 700 verbunden sein. In einer Ausführungsform interagiert ein Benutzer mit der Vorrichtung 700, indem er Audiobefehle bereitstellt, die vom Prozessor 710 empfangen und verarbeitet werden.
  • Anzeige-Teilsystem 730 repräsentiert Hardware-Komponenten (z. B. Anzeigevorrichtungen) und Software-Komponenten (z. B. Treiber), die einem Benutzer eine visuelle und/oder tastempfindliche Anzeige zur Interaktion mit der Rechenvorrichtung bereitstellen. Das Anzeige-Teilsystem 730 enthält eine Anzeigeschnittstelle 732, die den bestimmten Bildschirm oder die bestimmte Hardware-Vorrichtung enthält, die verwendet wird, um einem Benutzer eine Anzeige bereitzustellen. In einer Ausführungsform enthält die Anzeigeschnittstelle 732 eine vom Prozessor 710 separate Logik, um zumindest einige der mit der Anzeige verbundenen Verarbeitung durchzuführen. In einer Ausführungsform enthält das Anzeige-Teilsystem 730 einen Berührungsbildschirm, der einem Benutzer sowohl Ausgabe als auch Eingabe zur Verfügung stellt. In einer Ausführungsform enthält das Anzeige-Teilsystem 730 eine hochauflösende (HD) Anzeige, die einem Benutzer eine Ausgabe zur Verfügung stellt. Hochauflösung kann eine Anzeige bezeichnen, die eine Pixeldichte von ungefähr 100 ppi (Pixel pro Zoll) oder darüber aufweist, und kann Formate wie volle HD-Auflösung (z. B. 1080p), Retina-Anzeigen, 4K (Ultrahochauflösung oder UHD) oder andere enthalten.
  • Eine E/A-Steuerung 740 repräsentiert Hardware-Vorrichtungen und Software-Komponenten, die mit der Interaktion mit einem Benutzer verbunden sind. Die E/A-Steuerung 740 kann arbeiten, um Hardware zu verwalten, die Teil des Audio-Teilsystems 720 und/oder des Anzeige-Teilsystems 730 ist. Zusätzlich illustriert die E/A-Steuerung 740 einen Verbindungspunkt für zusätzliche Vorrichtungen, die mit der Vorrichtung 700 verbunden sind, über die ein Benutzer mit dem System interagieren kann. Vorrichtungen, die beispielsweise an der Vorrichtung 700 angebracht werden können, können Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder eine andere Anzeigevorrichtung, Tastatur- oder Nummernfeldvorrichtungen oder andere E/A-Vorrichtungen zur Verwendung mit bestimmten Anwendungen wie Kartenlesern oder anderen Vorrichtungen enthalten.
  • Wie oben erwähnt kann die E/A-Steuerung 740 mit dem Audio-Teilsystem 720 und/oder dem Anzeige-Teilsystem 730 wechselwirken. Eine Eingabe über ein Mikrofon oder eine andere Audiovorrichtung kann zum Beispiel eine Eingabe oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 700 bereitstellen. Zusätzlich kann eine Audioausgabe anstatt einer oder zusätzlich zu einer Anzeigeausgabe bereitgestellt werden. In einem anderen Beispiel, wenn das Anzeige-Teilsystem einen Berührungsbildschirm enthält, fungiert die Anzeigevorrichtung auch als eine Eingabevorrichtung, die zumindest teilweise von der E/A-Steuerung 740 verwaltet werden kann. Es kann auch zusätzliche Tasten oder Schalter an der Vorrichtung 700 geben, um E/A-Funktionen bereitzustellen, die von der E/A-Steuerung 740 verwaltet werden.
  • In einer Ausführungsform verwaltet die E/A-Steuerung 740 Vorrichtungen wie Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren, Gyroskope, ein globales Positionierungssystem (GPS) oder andere Hardware, die in der Vorrichtung 700 enthalten sein kann. Die Eingabe kann Teil von direkten Benutzerinteraktionen sein sowie Umgebungseingaben in das System bereitstellen, um seine Vorgänge (wie Filtern von Rauschen, Anpassen von Anzeigen zur Helligkeitserkennung, Anwenden eines Blitzes für eine Kamera und andere Funktionen) zu beeinflussen. In einer Ausführungsform enthält die Vorrichtung 700 eine Energieverwaltung 750, die eine Akkuenergienutzung, ein Laden des Akkus und mit einem Energiesparbetrieb verbundene Funktionen verwaltet.
  • Ein Arbeitsspeicherteilsystem 760 enthält eine Arbeitsspeichervorrichtung bzw. Arbeitsspeichervorrichtungen 762 zum Speichern von Informationen in der Vorrichtung 700. Das Arbeitsspeicherteilsystem 760 kann nichtflüchtige (ein Zustand ändert sich nicht, wenn eine Energieversorgung der Arbeitsspeichervorrichtung unterbrochen wird) und/oder flüchtige (ein Zustand ist unbestimmt, wenn die Energieversorgung der Arbeitsspeichervorrichtung unterbrochen wird) Arbeitsspeichervorrichtungen enthalten. Der Arbeitsspeicher 760 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente und andere Daten sowie Systemdaten (egal, ob langfristig oder temporär) speichern, die mit der Ausführung der Anwendungen und Funktionen des Systems 700 verbunden sind. In einer Ausführungsform enthält das Arbeitsspeicherteilsystem 760 eine Arbeitsspeichersteuerung 764 (die auch als Teil der Steuerung des Systems 700 angesehen werden könnte und möglicherweise als Teil des Prozessors 710 angesehen werden könnte). Die Arbeitsspeichersteuerung 764 enthält eine Planungseinheit, um Befehle an die Arbeitsspeichervorrichtung 762 zu erzeugen und auszugeben.
  • Eine Verbindungsvorrichtung 770 enthält Hardware-Vorrichtungen (z. B. drahtlose und/oder verdrahtete Anschlüsse und Kommunikationshardware) und Software-Komponenten (z. B. Treiber, Protokollstapel), um der Vorrichtung 700 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die externe Vorrichtung könnte separate Vorrichtungen, wie andere Rechenvorrichtungen, drahtlose Zugangspunkte oder Basisstationen, sowie Peripheriegeräte, wie Hörsprechvorrichtungen, Drucker oder andere Vorrichtungen, sein.
  • Die Verbindungsvorrichtung 770 kann mehrere verschiedene Typen von Verbindungsvorrichtungen enthalten. Um zu verallgemeinern, wird die Vorrichtung 700 mit einer Mobilfunk-Verbindungsvorrichtung 772 und einer drahtlosen Verbindungsvorrichtung 774 dargestellt. Die Mobilfunk-Verbindungsvorrichtung 772 bezeichnet allgemein Mobilfunknetz-Verbindungsvorrichtungen, die von drahtlosen Überbringern bereitgestellt werden, wie sie über GSM (globales System für mobile Kommunikation) oder Variationen oder Ableitungen, CDMA (Codemultiplexverfahren) oder Variationen oder Ableitungen, TDM (Zeitmultiplexverfahren) oder Variationen oder Ableitungen, LTE (Long Term Evolution - auch als „4G“ bezeichnet) oder andere Mobilfunk-Dienststandards bereitgestellt werden. Die drahtlose Verbindungsvorrichtung 774 bezeichnet eine drahtlose Verbindungsvorrichtung, die keine Mobilfunkvorrichtung ist und persönliche Netzwerke (wie Bluetooth), lokale Netzwerke (wie WiFi) und/oder Weitverkehrsnetze (wie WiMax) oder andere drahtlose Kommunikation enthalten kann. Drahtlose Kommunikation bezeichnet eine Übertragung von Daten durch die Verwendung von modulierter elektromagnetischer Strahlung durch ein nicht festes Medium. Verdrahtete Kommunikation erfolgt durch ein festes Kommunikationsmedium.
  • Periphere Verbindungen 780 enthalten Hardwareschnittstellen und -anschlüsse sowie Software-Komponenten (z. B. Treiber, Protokollstapel), um periphere Verbindungen herzustellen. Es versteht sich, dass die Vorrichtung 700 sowohl eine periphere Vorrichtung („zu“ 782) oder andere Rechenvorrichtungen sein kann als auch mit ihr verbundene periphere Vorrichtungen („von“ 784) aufweisen kann. Die Vorrichtung 700 weist häufig einen „Andock“-Anschluss zur Verbindung mit anderen Rechenvorrichtungen für Zwecke wie Verwalten (z. B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalten auf der Vorrichtung 700 auf. Zusätzlich kann ein Andock-Anschluss der Vorrichtung 700 ermöglichen, mit bestimmten Peripherievorrichtungen Verbindung aufzunehmen, die der Vorrichtung 700 ermöglichen, Inhaltsausgaben zum Beispiel an audiovisuelle oder andere Systeme zu steuern.
  • Zusätzlich zu einem proprietären Andock-Anschluss oder andere proprietäre Verbindungshardware kann die Vorrichtung 700 periphere Verbindungen 780 über gemeinsame oder auf Standards basierende Anschlüsse aufnehmen. Gemeinsame Typen können einen Universal-Serial-Bus-Anschluss (USB-Anschluss) (der beliebige aus einer Anzahl von verschiedenen Hardwareschnittstellen enthalten kann), DisplayPort einschließlich MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), FireWire oder eines anderen Typs enthalten.
  • In einer Ausführungsform ist das Arbeitsspeicherteilsystem 760 ein mehrrangiges Arbeitsspeichersystem. In einer Ausführungsform enthält das System 700 eine ODT-Steuerung 766, die dem System ermöglicht, die Aktivierung der ODT selektiv in den verschiedenen Rängen zu steuern, in Übereinstimmung mit einer beliebigen hierin beschriebenen Ausführungsform. Die selektive Anwendung der ODT kann für jeden Rang spezifische ODT-Wert- und ODT-Zeitgebungseinstellungen für einen Befehlstyp enthalten, und ob der Rang der Zielrang ist oder nicht. Die ODT-Steuerung 766 kann eine ODT-Zeitgebungssteuerung in Übereinstimmung mit einer beliebigen hierin besprochenen Ausführungsform von ODT-Zeitgebung durchführen.
  • In einem Aspekt enthält eine Arbeitsspeichervorrichtung mit chipinterner Terminierung (ODT): eine Hardwareschnittstelle, um an einen Arbeitsspeicherbus zu koppeln, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; und Logik, um einen Arbeitsspeicherzugriffsbefehl auf dem Arbeitsspeicherbus zu empfangen, wobei der Arbeitsspeicherzugriffsbefehl auf einen Zielrang gerichtet ist, um den Befehl auszuführen, wobei die Logik ferner selektiv eine ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung als Reaktion auf den Empfang des Arbeitsspeicherzugriffsbefehls zu aktivieren hat; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  • In einer Ausführungsform umfasst die ODT-Latenzeinstellung einen Zeitgebungsoffsetwert. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert mindestens einen Lese-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Spaltenadressauswahl-Latenz (CAS-Latenz), einen Offset zum Anpassen einer Ausschaltzeit nach einer CAS-Latenz oder beides enthält. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert mindestens einen Schreib-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Schreiblatenz, einen Offset zum Anpassen einer Ausschaltzeit nach einer Schreiblatenz oder beides enthält. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert zusätzlich zu einer Schreiblatenz plus einer Burstlängenlatenz eine Schreiblatenz, oder eine CAS-Latenz plus eine Burstlängenlatenz oder beides. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert einen Offsetwert von 1 bis 8 Taktzyklen (tCK). In einer Ausführungsform umfasst die ODT-Latenzeinstellung einen Wert, der auf Grundlage von E/A-Training zwischen den Arbeitsspeichervorrichtungen und einer zugehörigen Arbeitsspeichersteuerung programmiert ist. In einer Ausführungsform hat die Logik die ODT selektiv zu aktivieren, einschließlich einer Festlegung einer ODT-Latenzeinstellung für einen Nichtzielrang, der den Befehl nicht ausführt. In einer Ausführungsform hat die Logik die ODT selektiv in Übereinstimmung mit der programmierbaren ODT-Latenzeinstellung als Reaktion auf einen Empfang entweder eines Lese- oder eines Schreibbefehls ohne Empfang eines begleitenden CAS-2-Befehls zu aktivieren. In einer Ausführungsform hat die Logik die ODT selektiv auf Grundlage eines Bezeichners in einer Befehlscodierung des Arbeitsspeicherzugriffsbefehls zu aktivieren. In einer Ausführungsform hat der Bezeichner einen ODT-Zeitgebungstyp zu identifizieren. In einer Ausführungsform, ferner umfassend: ein Register, um die ODT-Latenzeinstellung zu speichern. In einer Ausführungsform umfasst das Register zum Speichern der ODT-Latenzeinstellung ein Modusregister, um eine Modusregistersatzeinstellung (MRS-Einstellung) zu speichern. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Ränge festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene DRAM-Vorrichtungen (dynamische Arbeitsspeichervorrichtungen mit wahlfreiem Zugriff) festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Kanäle festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Bytes festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Halbbytes festzulegen.
  • In einem Aspekt enthält ein System mit einer chipinternen Terminierungssteuerung (ODT-Steuerung): eine Arbeitsspeichersteuerung, um Arbeitsspeicherzugriffsbefehle zu generieren; und mehrere Arbeitsspeichervorrichtungen, die an die Arbeitsspeichersteuerung gekoppelt sind, wobei die Arbeitsspeichervorrichtungen als Arbeitsspeicherränge organisiert sind, wobei jede Arbeitsspeichervorrichtung Logik enthält, um einen Arbeitsspeicherzugriffsbefehl von der Arbeitsspeichersteuerung zu empfangen, wobei der Arbeitsspeicherzugriffsbefehl auf einen Zielrang gerichtet ist, um den Befehl auszuführen, wobei die Logik ferner eine ODT (chipinterne Terminierung) für den Arbeitsspeicherzugriffsvorgang für einen oder mehrere Nichtzielränge in Übereinstimmung mit einer ODT-Latenzeinstellung als Reaktion auf den Empfang des Arbeitsspeicherzugriffsbefehls selektiv zu aktivieren hat; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  • In einem Aspekt enthält ein Verfahren zum Steuern von chipinterner Terminierung (ODT): Empfangen eines Arbeitsspeicherzugriffsbefehls an einer Arbeitsspeichervorrichtung, die an einen Arbeitsspeicherbus gekoppelt ist, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; Ermitteln an der Arbeitsspeichervorrichtung, ob sie Teil eines durch den Arbeitsspeicherzugriffsbefehl identifizierten Zielrangs ist; und selektives Aktivieren von ODT für den Arbeitsspeicherzugriffsvorgang für einen oder mehrere Nichtzielränge in Übereinstimmung mit einer ODT-Latenzeinstellung als Reaktion auf den Empfang des Arbeitsspeicherzugriffsbefehls; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  • In einem Aspekt des Systems hat das System eine Arbeitsspeichervorrichtung nach einer der oben angeführten Ausführungsformen in Bezug auf die Arbeitsspeichervorrichtung zu enthalten. In einem Aspekt des Verfahrens hat das Verfahren Vorgänge nach einer der oben angeführten Ausführungsformen in Bezug auf die Arbeitsspeichervorrichtung zu enthalten. In einem Aspekt umfasst ein Fabrikat ein computerlesbares Speichermedium mit darauf gespeichertem Inhalt, der bei Zugriff eine Durchführung von Vorgängen bewirkt, um ein Verfahren zum Steuern von ODT nach einer Ausführungsform des Verfahrens auszuführen. In einem Aspekt umfasst eine Einrichtung Mittel zum Durchführen von Vorgängen, um ein Verfahren zum Steuern von ODT nach einer Ausführungsform des Verfahrens auszuführen.
  • In einem Aspekt enthält eine Arbeitsspeichersteuerung, um eine chipinterne Terminierung (ODT) zu steuern: eine Hardwareschnittstelle, um an einen Arbeitsspeicherbus zu koppeln, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; und Logik, um einen Arbeitsspeicherzugriffsbefehl auf dem Arbeitsspeicherbus zu senden, wobei der Arbeitsspeicherzugriffsbefehl auf einen Zielrang gerichtet ist, um den Befehl auszuführen, wobei der Arbeitsspeicherzugriffsbefehl zu bewirken hat, dass eine Arbeitsspeichervorrichtung ferner die ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung selektiv aktiviert; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  • In einer Ausführungsform umfasst die ODT-Latenzeinstellung einen Zeitgebungsoffsetwert. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert mindestens einen Lese-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Spaltenadressauswahl-Latenz (CAS-Latenz), einen Offset zum Anpassen einer Ausschaltzeit nach einer CAS-Latenz oder beides enthält. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert mindestens einen Schreib-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Schreiblatenz, einen Offset zum Anpassen einer Ausschaltzeit nach einer Schreiblatenz oder beides enthält. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert zusätzlich zu einer Schreiblatenz plus einer Burstlängenlatenz eine Schreiblatenz, oder eine CAS-Latenz plus eine Burstlängenlatenz oder beides. In einer Ausführungsform umfasst der Zeitgebungsoffsetwert einen Offsetwert von 1 bis 8 Taktzyklen (tCK). In einer Ausführungsform umfasst die ODT-Latenzeinstellung einen Wert, der auf Grundlage von E/A-Training zwischen den Arbeitsspeichervorrichtungen und einer zugehörigen Arbeitsspeichersteuerung programmiert ist. In einer Ausführungsform hat die Arbeitsspeichervorrichtung die ODT selektiv zu aktivieren, einschließlich einer Festlegung einer ODT-Latenzeinstellung für einen Nichtzielrang, der den Befehl nicht ausführt. In einer Ausführungsform hat die Arbeitsspeichervorrichtung die ODT selektiv in Übereinstimmung mit der programmierbaren ODT-Latenzeinstellung als Reaktion auf einen Empfang entweder eines Lese- oder eines Schreibbefehls ohne Empfang eines begleitenden CAS-2-Befehls zu aktivieren. In einer Ausführungsform hat die Arbeitsspeichervorrichtung die ODT selektiv auf Grundlage eines Bezeichners in einer Befehlscodierung des Arbeitsspeicherzugriffsbefehls zu aktivieren. In einer Ausführungsform hat der Bezeichner einen ODT-Zeitgebungstyp zu identifizieren. In einer Ausführungsform umfasst die Arbeitsspeichervorrichtung ferner ein Register, um die ODT-Latenzeinstellung zu speichern. In einer Ausführungsform ferner umfassend Logik, um eine ODT-Latenzeinstellung über eine Modusregistersatzeinstellung (MRS-Einstellung) für ein Modusregister der Arbeitsspeichervorrichtung bereitzustellen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Ränge festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene DRAM-Vorrichtungen (dynamische Arbeitsspeichervorrichtungen mit wahlfreiem Zugriff) festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Kanäle festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Bytes festzulegen. In einer Ausführungsform enthält die ODT-Latenzeinstellung eine programmierbare Einstellung, um verschiedene Zeitwerte für verschiedene Halbbytes festzulegen.
  • In einem Aspekt enthält ein Verfahren zum Steuern von chipinterner Terminierung (ODT): Auswählen eines Zielrangs für einen Arbeitsspeicherzugriffsbefehl; und Senden des Arbeitsspeicherzugriffsbefehls an eine Arbeitsspeichervorrichtung, die an einen Arbeitsspeicherbus gekoppelt ist, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind, wobei das Senden des Arbeitsspeicherzugriffsbefehls zu bewirken hat, dass die Arbeitsspeichervorrichtung ermittelt, ob sie Teil des Zielrangs ist, und die ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung selektiv aktiviert; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  • In einem Aspekt des zweiten Verfahrens hat das Verfahren Vorgänge nach einer der oben angeführten Ausführungsformen in Bezug auf die Arbeitsspeichersteuerung zu enthalten. In einem Aspekt umfasst ein Fabrikat ein computerlesbares Speichermedium mit darauf gespeichertem Inhalt, der bei Zugriff eine Durchführung von Vorgängen bewirkt, um ein Verfahren zum Steuern von ODT nach einer Ausführungsform des zweiten Verfahrens auszuführen. In einem Aspekt umfasst eine Einrichtung Mittel zum Durchführen von Vorgängen, um ein Verfahren zum Steuern von ODT nach einer Ausführungsform des zweiten Verfahrens auszuführen.
  • Ablaufdiagramme, wie sie hierin veranschaulicht sind, liefern Beispiele für Abfolgen verschiedener Prozessschritte. Die Ablaufdiagramme können Vorgänge anzeigen, die von einer Software- oder Firmware-Routine ausgeführt werden, sowie physikalische Vorgänge. In einer Ausführungsform kann ein Ablaufdiagramm den Zustand eines endlichen Zustandsautomaten (EA) illustrieren, der in Hardware und/oder Software implementiert werden kann. Obwohl in einer bestimmten Abfolge oder Reihenfolge angegeben, kann die Reihenfolge der Schritte geändert werden, sofern nicht anders angegeben. Daher sollten die veranschaulichten Ausführungsformen nur als ein Beispiel verstanden werden, und der Prozess kann in einer anderen Reihenfolge durchgeführt werden, und einige Schritte können parallel ausgeführt werden. Zusätzlich können eine oder mehrere Schritte in verschiedenen Ausführungsformen weggelassen werden; deshalb sind nicht alle Schritte in jeder Ausführungsform erforderlich. Andere Prozessabläufe sind möglich.
  • Soweit hierin verschiedene Vorgänge oder Funktionen beschrieben sind, können sie als Softwarecode, Anweisungen, Konfiguration und/oder Daten beschrieben oder definiert werden. Der Inhalt kann direkt ausführbar („Objekt“ oder „ausführbare“ Form), Quellcode oder Differenzcode („Delta“- oder „Patch“-Code). Der Softwareinhalt der hier beschriebenen Ausführungsformen kann über ein Fabrikat mit dem darauf gespeicherten Inhalt oder über ein Verfahren zum Betreiben einer Kommunikationsschnittstelle zum Senden von Daten über die Kommunikationsschnittstelle bereitgestellt werden. Ein maschinenlesbares Speichermedium kann bewirken, dass eine Maschine die beschriebenen Funktionen oder Vorgänge durchführt, und enthält einen beliebigen Mechanismus, der Informationen in einer für eine Maschine zugänglichen Form speichert (z. B. eine Rechenvorrichtung, ein elektronisches System usw.), wie beschreibbare/nicht beschreibbare Medien (z. B. schreibgeschützten Arbeitsspeicher (ROM), Arbeitsspeicher mit wahlfreiem Zugriff (RAM), magnetische Plattenspeichermedien, optische Speichermedien, Flashspeichervorrichtungen usw.). Eine Kommunikationsschnittstelle enthält einen beliebigen Mechanismus, der an ein beliebiges Medium aus einem festverdrahteten, drahtlosen, optischen usw. Medium koppelt, um mit einer anderen Vorrichtung, wie einer Arbeitsspeicherbusschnittstelle, einer Prozessorbusschnittstelle, einer Internetverbindung, einer Plattensteuerung usw. zu kommunizieren. Die Kommunikationsschnittstelle kann konfiguriert sein, indem Konfigurationsparameter bereitgestellt werden und/oder Signale gesendet werden, um die Konfigurationsschnittstelle vorzubereiten, um ein Datensignal bereitzustellen, das den Softwareinhalt beschreibt. Auf die Kommunikationsschnittstelle kann über einen oder mehrere Befehle oder Signale zugegriffen werden, die an die Kommunikationsschnittstelle gesandt werden.
  • Verschiedene hierin beschriebene Komponenten können ein Mittel zum Ausführen der beschriebenen Vorgänge oder Funktionen sein. Jede hierin beschriebene Komponente umfasst Software, Hardware oder eine Kombination davon. Die Komponenten können als Softwaremodule, Hardwaremodule, Spezialhardware (z. B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASICs), digitale Signalprozessoren (DSPs) usw.), eingebettete Steuerungen, fest verdrahtete Schaltungen usw. implementiert werden.
  • Neben dem hierin Beschriebenen können verschiedene Modifikationen an den offenbarten Ausführungsformen und Implementierungen der Erfindung vorgenommen werden, ohne von deren Geltungsbereich abzuweichen. Daher sollten die Illustrationen und Beispiele hier in einem illustrativen und nicht in einem einschränkenden Sinn aufgefasst werden. Der Geltungsbereich der Erfindung sollte nur unter Bezugnahme auf die folgenden Ansprüche gemessen werden.

Claims (21)

  1. Arbeitsspeichervorrichtung mit chipinterner Terminierung (ODT), umfassend: eine Hardwareschnittstelle, um an einen Arbeitsspeicherbus zu koppeln, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; und Logik, um einen Arbeitsspeicherzugriffsbefehl auf dem Arbeitsspeicherbus zu empfangen, wobei der Arbeitsspeicherzugriffsbefehl auf einen Zielrang gerichtet ist, um den Befehl auszuführen, wobei die Logik ferner selektiv eine ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung als Reaktion auf den Empfang des Arbeitsspeicherzugriffsbefehls zu aktivieren hat; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  2. Arbeitsspeichervorrichtung nach Anspruch 1, wobei die ODT-Latenzeinstellung einen Zeitgebungsoffsetwert umfasst.
  3. Arbeitsspeichervorrichtung nach Anspruch 2, wobei der Zeitgebungsoffsetwert mindestens einen Lese-ODT-Zeitgebungswert umfasst, der einen Offset zum Anpassen einer Einschaltzeit vor einer Spaltenadressauswahl-Latenz (CAS-Latenz), einen Offset zum Anpassen einer Ausschaltzeit nach einer CAS-Latenz oder beides enthält.
  4. Arbeitsspeichervorrichtung nach Anspruch 2, wobei der Zeitgebungsoffsetwert mindestens einen Schreib-ODT-Zeitgebungswert umfasst, der einen Offset zum Anpassen einer Einschaltzeit vor einer Schreiblatenz, einen Offset zum Anpassen einer Ausschaltzeit nach einer Schreiblatenz oder beides enthält.
  5. Arbeitsspeichervorrichtung nach Anspruch 2, wobei der Zeitgebungsoffsetwert zusätzlich zu einer Schreiblatenz plus einer Burstlängenlatenz eine Schreiblatenz, oder eine CAS-Latenz plus eine Burstlängenlatenz oder beides umfasst.
  6. Arbeitsspeichervorrichtung nach Anspruch 2, wobei der Zeitgebungsoffsetwert einen Offsetwert von 1 bis 16 Taktzyklen (tCK) umfasst.
  7. Arbeitsspeichervorrichtung nach einem der Ansprüche 1 bis 6, wobei die ODT-Latenzeinstellung einen Wert umfasst, der auf Grundlage von E/A-Training zwischen den Arbeitsspeichervorrichtungen und einer zugehörigen Arbeitsspeichersteuerung programmiert ist.
  8. Arbeitsspeichervorrichtung nach einem der Ansprüche 1 bis 7, wobei die Logik die ODT selektiv zu aktivieren hat, einschließlich einer Festlegung einer ODT-Latenzeinstellung für einen Nichtzielrang, der den Befehl nicht ausführt.
  9. Arbeitsspeichervorrichtung nach Anspruch 8, wobei die Logik die ODT selektiv in Übereinstimmung mit der programmierbaren ODT-Latenzeinstellung als Reaktion auf einen Empfang entweder eines Lese- oder eines Schreibbefehls ohne Empfang eines begleitenden CAS-2-Befehls zu aktivieren hat.
  10. Arbeitsspeichervorrichtung nach einem der Ansprüche 1 bis 9, wobei die Logik die ODT selektiv auf Grundlage eines Bezeichners in einer Befehlscodierung des Arbeitsspeicherzugriffsbefehls zu aktivieren hat.
  11. Arbeitsspeichervorrichtung nach Anspruch 10, wobei der Bezeichner einen ODT-Zeitgebungstyp zu identifizieren hat.
  12. Arbeitsspeichervorrichtung nach einem der Ansprüche 1 bis 11, ferner umfassend: ein Modusregister, um eine Modusregistersatzeinstellung (MRS-Einstellung) zu speichern, um die ODT-Latenz zu steuern.
  13. Arbeitsspeichervorrichtung nach einem der Ansprüche 1 bis 12, wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene Zeitgebungswerte für einen oder mehrere von Folgendem festzulegen: unterschiedliche Ränge, unterschiedliche DRAM-Vorrichtungen (dynamische Arbeitsspeichervorrichtungen mit wahlfreiem Zugriff), unterschiedliche Kanäle, unterschiedliche Bytes oder unterschiedliche Halbbytes.
  14. System mit einer chipinternen Terminierungssteuerung (ODT-Steuerung), umfassend: eine Arbeitsspeichersteuerung, um Arbeitsspeicherzugriffsbefehle zu generieren; und mehrere an die Arbeitsspeichersteuerung gekoppelte Arbeitsspeichervorrichtungen, wobei die Arbeitsspeichervorrichtungen als Ränge von Arbeitsspeicher organisiert sind, die Arbeitsspeichervorrichtungen nach einem der Ansprüche 1 bis 13.
  15. Verfahren zum Steuern von chipinterner Terminierung (ODT), umfassend: Empfangen eines Arbeitsspeicherzugriffsbefehls an einer Arbeitsspeichervorrichtung, die an einen Arbeitsspeicherbus gekoppelt ist, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; Ermitteln an der Arbeitsspeichervorrichtung, ob sie Teil eines durch den Arbeitsspeicherzugriffsbefehl identifizierten Zielrangs ist; und selektives Aktivieren von ODT für den Arbeitsspeicherzugriffsvorgang für einen oder mehrere Nichtzielränge in Übereinstimmung mit einer ODT-Latenzeinstellung als Reaktion auf den Empfang des Arbeitsspeicherzugriffsbefehls; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  16. Verfahren nach Anspruch 15, wobei die ODT-Latenzeinstellung einen Zeitgebungsoffsetwert umfasst, wobei der Zeitgebungsoffsetwert mindestens eines von Folgendem enthält: einen Lese-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Spaltenadressauswahl-Latenz (CAS-Latenz), einen Offset zum Anpassen einer Ausschaltzeit nach einer CAS-Latenz oder beides enthält; oder einen Schreib-ODT-Zeitgebungswert, der einen Offset zum Anpassen einer Einschaltzeit vor einer Schreiblatenz, einen Offset zum Anpassen einer Ausschaltzeit nach einer Schreiblatenz oder beides enthält.
  17. Verfahren nach einem der Ansprüche 15 bis 16, wobei das Ermitteln, ob die Arbeitsspeichervorrichtung ein Teil des Zielrangs ist, ein Lesen eines Bezeichners in der Befehlscodierung des Arbeitsspeicherzugriffsbefehls umfasst, um einen ODT-Zeitgebungstyp zu identifizieren.
  18. Verfahren nach einem der Ansprüche 15 bis 17, das ferner ein Lesen eines Registers umfasst, das die ODT-Latenzeinstellung speichert.
  19. Verfahren nach Anspruch 18, wobei das Lesen des Registers ein Lesen der ODT-Latenzeinstellung pro Vorrichtung oder pro Rang umfasst.
  20. Arbeitsspeichersteuerung zum Steuern von chipinterner Terminierung (ODT), umfassend: eine Hardwareschnittstelle, um an einen Arbeitsspeicherbus zu koppeln, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind; und Logik, um einen Arbeitsspeicherzugriffsbefehl auf dem Arbeitsspeicherbus zu senden, wobei der Arbeitsspeicherzugriffsbefehl auf einen Zielrang gerichtet ist, um den Befehl auszuführen, wobei der Arbeitsspeicherzugriffsbefehl zu bewirken hat, dass eine Arbeitsspeichervorrichtung ferner die ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung selektiv aktiviert; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
  21. Verfahren zum Steuern von chipinterner Terminierung (ODT), umfassend: Auswählen eines Zielrangs für einen Arbeitsspeicherzugriffsbefehl; und Senden des Arbeitsspeicherzugriffsbefehls an eine Arbeitsspeichervorrichtung, die an einen Arbeitsspeicherbus gekoppelt ist, der von mehreren Arbeitsspeichervorrichtungen gemeinsam genutzt wird, die als Arbeitsspeicherränge organisiert sind, wobei das Senden des Arbeitsspeicherzugriffsbefehls zu bewirken hat, dass die Arbeitsspeichervorrichtung ermittelt, ob sie Teil des Zielrangs ist, und die ODT für den Arbeitsspeicherzugriffsvorgang in Übereinstimmung mit einer ODT-Latenzeinstellung selektiv aktiviert; wobei die ODT-Latenzeinstellung eine programmierbare Einstellung enthält, um verschiedene ODT-Zeitwerte für Lese- und Schreibtransaktionen festzulegen.
DE112016004314.7T 2015-09-25 2016-08-18 Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system Pending DE112016004314T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/865,866 2015-09-25
US14/865,866 US10141935B2 (en) 2015-09-25 2015-09-25 Programmable on-die termination timing in a multi-rank system
PCT/US2016/047511 WO2017052853A1 (en) 2015-09-25 2016-08-18 Programmable on-die termination timing in a multi-rank system

Publications (1)

Publication Number Publication Date
DE112016004314T5 true DE112016004314T5 (de) 2018-10-04

Family

ID=58386711

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016004314.7T Pending DE112016004314T5 (de) 2015-09-25 2016-08-18 Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system

Country Status (4)

Country Link
US (2) US10141935B2 (de)
CN (1) CN107924693B (de)
DE (1) DE112016004314T5 (de)
WO (1) WO2017052853A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system
US20170289850A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Write delivery for memory subsystem with narrow bandwidth repeater channel
US10339072B2 (en) 2016-04-01 2019-07-02 Intel Corporation Read delivery for memory subsystem with narrow bandwidth repeater channel
US10789185B2 (en) * 2016-09-21 2020-09-29 Rambus Inc. Memory modules and systems with variable-width data ranks and configurable data-rank timing
KR20180078864A (ko) * 2016-12-30 2018-07-10 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10459659B2 (en) * 2017-03-31 2019-10-29 Intel Corporation Technologies for issuing commands on selected memory devices
US20180322914A1 (en) * 2017-05-03 2018-11-08 Mediatek Inc. Multi-rank topology of memory module and associated control method
US10496584B2 (en) 2017-05-11 2019-12-03 Samsung Electronics Co., Ltd. Memory system for supporting internal DQ termination of data buffer
US10566038B2 (en) * 2017-05-29 2020-02-18 Samsung Electronics Co., Ltd. Method of controlling on-die termination and system performing the same
US10621117B2 (en) 2017-06-15 2020-04-14 Micron Technology, Inc. Controlling memory devices using a shared channel
KR102553266B1 (ko) 2017-11-03 2023-07-07 삼성전자 주식회사 온-다이-터미네이션 회로를 포함하는 메모리 장치
US11003386B2 (en) * 2017-11-22 2021-05-11 Micron Technology, Inc. Methods for on-die memory termination and memory devices and systems employing the same
US10424356B2 (en) 2017-11-22 2019-09-24 Micron Technology, Inc. Methods for on-die memory termination and memory devices and systems employing the same
KR102407439B1 (ko) 2017-12-05 2022-06-10 삼성전자주식회사 메모리 장치의 구동 강도, odt 트레이닝 방법, 이를 수행하는 컴퓨팅 시스템 및 시스템 온 칩
KR20190068094A (ko) 2017-12-08 2019-06-18 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
KR102532995B1 (ko) * 2018-03-26 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102665412B1 (ko) * 2018-03-27 2024-05-20 삼성전자주식회사 멀티-랭크들의 온-다이 터미네이션(odt) 셋팅을 최적화하는 방법 및 메모리 시스템
US10489316B1 (en) * 2018-06-04 2019-11-26 Micron Technology, Inc. Methods for performing multiple memory operations in response to a single command and memory devices and systems employing the same
US10318464B1 (en) * 2018-06-28 2019-06-11 Montage Technology Co., Ltd. Memory system and method for accessing memory system
KR102621098B1 (ko) 2018-07-23 2024-01-04 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN117524272A (zh) * 2018-08-14 2024-02-06 联发科技股份有限公司 延迟追踪方法以及存储器系统
US10797700B2 (en) 2018-12-21 2020-10-06 Samsung Electronics Co., Ltd. Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device
WO2020176291A1 (en) * 2019-02-28 2020-09-03 Rambus Inc. Quad-channel dram
KR20200124937A (ko) * 2019-04-25 2020-11-04 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
KR102654905B1 (ko) * 2019-07-17 2024-04-05 에스케이하이닉스 주식회사 메모리 컨트롤러, 메모리 장치, 메모리 시스템 및 그들의 동작 방법
KR20210057859A (ko) 2019-11-12 2021-05-24 삼성전자주식회사 위치 정보를 식별하여 셀프 캘리브레이션을 수행하는 메모리 장치 및 그것을 포함하는 메모리 모듈
WO2021101536A1 (en) * 2019-11-20 2021-05-27 Hewlett-Packard Development Company, L.P. Address-based fluidic die output signal selection
US11797186B2 (en) * 2019-12-20 2023-10-24 Micron Technology, Inc. Latency offset for frame-based communications
US20200133669A1 (en) * 2019-12-23 2020-04-30 Intel Corporation Techniques for dynamic proximity based on-die termination
US11127443B2 (en) 2020-01-08 2021-09-21 Micron Technology, Inc. Timing chains for accessing memory cells
US11189338B1 (en) 2020-03-27 2021-11-30 Xilinx, Inc. Multi-rank high bandwidth memory (HBM) memory
US11750190B2 (en) * 2020-12-14 2023-09-05 Intel Corporation Encoded on-die termination for efficient multipackage termination
KR20220146271A (ko) 2021-04-23 2022-11-01 에스케이하이닉스 주식회사 터미네이션동작을 수행하는 전자장치 및 전자시스템
KR20220165535A (ko) * 2021-06-08 2022-12-15 삼성전자주식회사 데이터 트레이닝을 수행하는 메모리 컨트롤러, 이를 포함하는 시스템 온 칩 및 메모리 컨트롤러의 동작방법
CN115602215A (zh) * 2021-07-09 2023-01-13 长鑫存储技术有限公司(Cn) 使能控制电路以及半导体存储器
CN113505094B (zh) * 2021-09-06 2022-01-25 上海类比半导体技术有限公司 Mcu、主机与多个mcu传输数据的方法
JP2023045884A (ja) * 2021-09-22 2023-04-03 キオクシア株式会社 メモリシステム

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW451193B (en) * 1999-11-30 2001-08-21 Via Tech Inc A method to determine the timing setting value of dynamic random access memory
US6880094B2 (en) 2002-01-14 2005-04-12 Micron Technology, Inc. Cas latency select utilizing multilevel signaling
KR100578649B1 (ko) * 2004-04-20 2006-05-11 주식회사 하이닉스반도체 온-다이 터미네이션 제어 회로 및 온-다이 터미네이션제어 신호 생성 방법
US7138823B2 (en) * 2005-01-20 2006-11-21 Micron Technology, Inc. Apparatus and method for independent control of on-die termination for output buffers of a memory device
US7365570B2 (en) * 2005-05-25 2008-04-29 Micron Technology, Inc. Pseudo-differential output driver with high immunity to noise and jitter
KR100625298B1 (ko) 2005-09-29 2006-09-15 주식회사 하이닉스반도체 온 다이 터미네이션 제어 장치
US7414426B2 (en) * 2005-12-07 2008-08-19 Intel Corporation Time multiplexed dynamic on-die termination
US7486104B2 (en) * 2006-06-02 2009-02-03 Rambus Inc. Integrated circuit with graduated on-die termination
JP5019573B2 (ja) * 2006-10-18 2012-09-05 キヤノン株式会社 メモリ制御回路とメモリシステム、及びそのメモリ制御方法、及び集積回路
US20080197877A1 (en) * 2007-02-16 2008-08-21 Intel Corporation Per byte lane dynamic on-die termination
US7595657B2 (en) * 2007-05-01 2009-09-29 Sony Corporation Dynamic dual control on-die termination
KR100881195B1 (ko) * 2007-05-22 2009-02-05 삼성전자주식회사 고주파 성능을 개선한 odt 회로
KR100853468B1 (ko) * 2007-07-12 2008-08-21 주식회사 하이닉스반도체 온 다이 터미네이션 장치를 구비하는 반도체메모리소자 및그의 구동방법
KR100927401B1 (ko) * 2007-12-12 2009-11-19 주식회사 하이닉스반도체 온 다이 터미네이션 제어회로 및 제어방법
US8719606B2 (en) * 2008-03-31 2014-05-06 Intel Corporation Optimizing performance and power consumption during memory power down state
US8452917B2 (en) * 2008-09-15 2013-05-28 Diablo Technologies Inc. Load reduction dual in-line memory module (LRDIMM) and method for programming the same
US7944726B2 (en) * 2008-09-30 2011-05-17 Intel Corporation Low power termination for memory modules
US20100106904A1 (en) * 2008-10-23 2010-04-29 Dell Products L.P. Shadow raid cache memory
JP2010192030A (ja) * 2009-02-17 2010-09-02 Elpida Memory Inc 半導体記憶装置及びこれを備えるメモリモジュール、並びに、データ処理システム
JP5474458B2 (ja) 2009-09-10 2014-04-16 ピーエスフォー ルクスコ エスエイアールエル 半導体装置及びこれを備えるデータ処理システム
KR20110052941A (ko) * 2009-11-13 2011-05-19 삼성전자주식회사 어디티브 레이턴시를 가지는 반도체 장치
KR101110819B1 (ko) * 2009-11-30 2012-03-13 주식회사 하이닉스반도체 반도체 메모리의 동작 타이밍 제어 장치 및 그 방법
KR101789077B1 (ko) * 2010-02-23 2017-11-20 삼성전자주식회사 온-다이 터미네이션 회로, 데이터 출력 버퍼, 반도체 메모리 장치, 메모리 모듈, 온-다이 터미네이션 회로의 구동 방법, 데이터 출력 버퍼의 구동 방법 및 온-다이 터미네이션 트레이닝 방법
KR20110133308A (ko) * 2010-06-04 2011-12-12 주식회사 하이닉스반도체 반도체 메모리 장치 및 집적회로
US8274308B2 (en) 2010-06-28 2012-09-25 Intel Corporation Method and apparatus for dynamic memory termination
US9153296B2 (en) * 2010-06-28 2015-10-06 Intel Corporation Methods and apparatuses for dynamic memory termination
KR101075496B1 (ko) * 2010-07-06 2011-10-20 주식회사 하이닉스반도체 반도체 메모리 장치
KR101841622B1 (ko) * 2010-11-04 2018-05-04 삼성전자주식회사 온-다이 터미네이션 회로를 가지는 불휘발성 메모리 장치 및 그것의 제어 방법
WO2012106131A1 (en) * 2011-02-02 2012-08-09 Rambus Inc. On-die termination
US9098281B2 (en) * 2011-03-09 2015-08-04 Rambus Inc. Power-management for integrated circuits
US8984320B2 (en) * 2011-03-29 2015-03-17 Micron Technology, Inc. Command paths, apparatuses and methods for providing a command to a data block
WO2012145360A2 (en) * 2011-04-18 2012-10-26 Shaeffer Ian P Memory circuit and method for its operation
US9224430B2 (en) * 2011-07-27 2015-12-29 Micron Technology, Inc. Devices, methods, and systems supporting on unit termination
KR101853874B1 (ko) 2011-09-21 2018-05-03 삼성전자주식회사 메모리 장치의 동작 방법 및 상기 방법을 수행하기 위한 장치들
JP2013097850A (ja) * 2011-11-07 2013-05-20 Elpida Memory Inc 半導体装置
KR20130072042A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 터미네이션 회로
JP2013134792A (ja) * 2011-12-26 2013-07-08 Elpida Memory Inc 半導体装置
KR101919145B1 (ko) * 2012-03-30 2018-11-15 에스케이하이닉스 주식회사 반도체모듈
US9054675B2 (en) * 2012-06-22 2015-06-09 Micron Technology, Inc. Apparatuses and methods for adjusting a minimum forward path delay of a signal path
US9001594B2 (en) 2012-07-06 2015-04-07 Micron Technology, Inc. Apparatuses and methods for adjusting a path delay of a command path
US8928349B2 (en) * 2012-07-25 2015-01-06 Samsung Electronics Co., Ltd. On-die termination circuit, semiconductor memory device and memory system
WO2014085267A1 (en) 2012-11-30 2014-06-05 Intel Corporation Apparatus, method and system for providing termination for multiple chips of an integrated circuit package
US9130557B2 (en) * 2012-12-03 2015-09-08 Samsung Electronics Co., Ltd. Operating method of input/output interface
US9536626B2 (en) * 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9599639B2 (en) * 2013-04-05 2017-03-21 Tektronix, Inc. Device and method to prevent inter-system interference
US9524255B2 (en) 2013-05-28 2016-12-20 Marvell World Trade Ltd. System and method for automatic DQS gating based on counter signal
US9292391B2 (en) 2014-02-12 2016-03-22 Apple Inc. Interface calibration using configurable on-die terminations
US9780782B2 (en) * 2014-07-23 2017-10-03 Intel Corporation On-die termination control without a dedicated pin in a multi-rank system
KR102219451B1 (ko) * 2014-09-22 2021-02-24 삼성전자주식회사 스토리지 컨트롤러, 이의 동작 방법 및 이를 포함하는 솔리드 스테이트 디스크
KR20160056618A (ko) * 2014-11-12 2016-05-20 삼성전자주식회사 온다이 터미네이션 회로 및 온다이 터미네이션 방법
US10025685B2 (en) * 2015-03-27 2018-07-17 Intel Corporation Impedance compensation based on detecting sensor data
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system
US9536591B1 (en) 2016-03-07 2017-01-03 Micron Technology, Inc. Staggered DLL clocking on N-Detect QED to minimize clock command and delay path

Also Published As

Publication number Publication date
CN107924693B (zh) 2022-04-26
US10141935B2 (en) 2018-11-27
WO2017052853A1 (en) 2017-03-30
US20190036531A1 (en) 2019-01-31
CN107924693A (zh) 2018-04-17
US10680613B2 (en) 2020-06-09
US20170093400A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
DE112016004314T5 (de) Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system
DE112015003397B4 (de) Vorrichtung, System und Verfahren zur Bestimmung von Vergleichsinformationen basierend auf Speicherdaten
US10109340B2 (en) Precharging and refreshing banks in memory device with bank group architecture
US9948299B2 (en) On-die termination control without a dedicated pin in a multi-rank system
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
US10698640B2 (en) Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
TWI758247B (zh) 用於長叢發長度之內部連續列存取技術
DE112011106021B4 (de) Zugreifen auf Daten, die in einem Befehls-/Adressregister-Gerät gespeichert sind
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
US20160350002A1 (en) Memory device specific self refresh entry and exit
CN110059048A (zh) 基于检测传感器数据的阻抗补偿
DE112016004243T5 (de) Hybrides Auffrischen mit verborgenen Auffrischungen und externen Auffrischungen
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
CN108292513A (zh) 灵活dll(延迟锁相环)校准
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
KR20180113520A (ko) 커맨드 기반 온 다이 종단을 위한 기법
US10199084B2 (en) Techniques to use chip select signals for a dual in-line memory module
DE112019002100T5 (de) Zugriff auf dram durch wiederverwendung von pins
CN110659228B (zh) 存储器系统以及用于访问存储器系统的方法
DE102022133778A1 (de) Schaltung und verfahren zum lesen von ecc aus speicher

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed