DE102020132763A1 - Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals - Google Patents

Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals Download PDF

Info

Publication number
DE102020132763A1
DE102020132763A1 DE102020132763.3A DE102020132763A DE102020132763A1 DE 102020132763 A1 DE102020132763 A1 DE 102020132763A1 DE 102020132763 A DE102020132763 A DE 102020132763A DE 102020132763 A1 DE102020132763 A1 DE 102020132763A1
Authority
DE
Germany
Prior art keywords
interface
memory
data
bus
unidirectional
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
DE102020132763.3A
Other languages
English (en)
Inventor
Arvind Kumar
Dean-Dexter R. EUGENIO
John R. Goles
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 DE102020132763A1 publication Critical patent/DE102020132763A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/20Handling requests for interconnection or transfer for access to input/output bus

Abstract

Ein N-Bit-Bus weist (N - 1) bidirektionale Schnittstellen zur Kopplung mit (N - 1) bidirektionalen Signalleitungen für den Austausch (für das Senden und Empfangen) von Signalen zwischen Partnervorrichtungen auf. Der Bus weist zwei unidirektionale Signalleitungsschnittstellen auf. Die erste ist eine unidirektionale Empfangsschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale von der Partnervorrichtung zu empfangen. Die zweite ist eine unidirektionale Sendeschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale zur Partnervorrichtung zu senden. Der Bus stellt in jeder Richtung N Signalleitungen für den N-Bit-Bus bereit, wobei eine zusätzliche „rückwärts weisende“ Signalleitung bereitgestellt ist. Die rückwärts weisende Signalleitung kann es den Vorrichtungen ermöglichen, sich auf einen Wechsel der Richtung des N-Bit-Busses vorzubereiten.

Description

  • GEBIET
  • Beschreibungen beziehen sich generell auf die E/A (Ein-/Ausgabe) und insbesondere auf die Einstellung von E/A-Parametern eines bidirektionalen Busses.
  • HINTERGRUND
  • Ein bidirektionaler Bus ermöglicht es zwei Vorrichtungen, Daten über geteilte Signalleitungen auszutauschen. Ein bidirektionaler Bus kann die Anzahl die beiden Vorrichtungen verbindender Signalleitungen erheblich verringern. Ein Kommunikationsprotokoll steuert typischerweise die Art, in der sich die Vorrichtungen beim Senden von Daten über die geteilten Signalleitungen abwechseln. Ein gewöhnliches Beispiel eines bidirektionalen Busses tritt im Speichervorrichtungs- und Steuereinrichtungsszenario auf, wobei ein bidirektionaler Datenbus der Steuereinrichtung ermöglicht, Daten als Teil eines Schreibvorgangs zu senden, und der Speichervorrichtung ermöglicht, Daten als Teil eines Lesevorgangs zu senden.
  • Wenn der bidirektionale Bus schnell ist, beispielsweise in einem Speicheruntersystem, können die E/A(Ein-/Ausgabe)-Signalleitungen des Busses genau abgestimmte Steuerungen aufweisen, um die schnelle Kommunikation zu ermöglichen. Ohne die Steuerung könnten die Signale auf dem Bus einem erheblichen Rauschen, einer erheblichen Interferenz und einer erheblichen Drift ausgesetzt sein, was zu hohen Fehlerraten führen würde. Die Steuerung ändert sich typischerweise mit Umgebungsbedingungen (Spannungsdrift, Wärmeänderungen oder anderen Bedingungen), um die E/A-Treiber- und Empfängerschaltungen an die sich ändernden Bedingungen anzupassen.
  • Falls ein Empfänger verschiedene Steuerungen auf ein empfangenes Signal anwendet, ist zu verstehen, dass eine Änderung von Bedingungen auftreten könnte, während Daten in einer Richtung auf dem Bus fließen. Wenn der Bus die Richtung ändert, wird die Vorrichtung, die gesendet hat, zum Empfänger und kann nicht geeignet abgestimmt werden, um eine schnelle Signalisierung zu empfangen. Demgemäß kann die Vorrichtung, die gesendet hat, nicht die geeigneten E/A-Konfigurationseinstellungen aufweisen, um beim gegenwärtigen Zustand des Busses geeignet zu empfangen. Wenn die Geschwindigkeit der Kommunikation auf dem Bus zunimmt, können die Wirkungen der Drift zu einem größeren Teil des Augenrands werden, wobei sich der Augenrand auf die Toleranz bei der Signalisierung bezieht, bei der es einem Empfänger ermöglicht wird, ein Signal geeignet zu decodieren.
  • Die bidirektionale Kommunikation weist typischerweise die Fähigkeit zum Trainieren des Busses auf, was sich auf das Finden von E/A-Konfigurationseinstellungen bezieht, welche die Bitfehlerrate für einen gegebenen Zustand des Busses verringern. Bei einem schnellen Bus führt ein Wechsel der Busrichtung gewöhnlich dazu, dass ein Training ausgeführt werden muss, um die Vorrichtungen auf die Kommunikation in der anderen Richtung vorzubereiten. Dieses Training kann als Quittungsaustausch bezeichnet werden. Durch die Notwendigkeit des Ausführens eines Quittungsaustausches oder eines E/A-Trainings wird die Kommunikationsverzögerung erhöht, wenn die Vorrichtungen die Konfiguration feststellen, statt aktive Daten auszutauschen.
  • Figurenliste
  • Die folgende Beschreibung weist eine Erörterung von Figuren auf, welche als Beispiel für eine Implementation dienende Veranschaulichungen aufweisen. Die Zeichnungen sollten als Beispiel und nicht als Einschränkung verstanden werden. Hier sind Bezüge auf ein oder mehrere Beispiele als ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik in zumindest einer Implementation der Erfindung beschreibend zu verstehen. Hier auftretende Ausdrücke in der Art von „bei einem Beispiel“ oder „bei einem alternativen Beispiel“ stellen Beispiele von Implementationen der Erfindung bereit und beziehen sich nicht notwendigerweise alle auf dieselbe Implementation. Sie schließen einander jedoch auch nicht notwendigerweise aus.
  • Es zeigen:
    • 1 ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung,
    • 2 eine Repräsentation eines Beispiels eines Datenauges für ein System mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung,
    • 3 ein Zeitablaufdiagramm eines Beispiels einer Kommunikation über eine Datenschnittstelle mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung,
    • 4A ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane in einer Datenschnittstelle mit einer Master-Empfangsverfolgungsschaltung,
    • 4B ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane in einer Datenschnittstelle, wobei jeder Empfänger eine Empfangsverfolgungsschaltung aufweist,
    • 5 ein Blockdiagramm eines Beispiels eines Speicheruntersystems mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung,
    • 6 ein Blockdiagramm eines E/A-Empfängers mit E/A-Verfolgung,
    • 7 ein Blockdiagramm eines Beispiels eines Speichermoduls mit Speichervorrichtungen mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung,
    • 8 ein Flussdiagramm eines Beispiels eines Prozesses zur bidirektionalen Datenübertragung in einem System mit einer umgekehrt weisenden Daten-Lane,
    • 9 ein Blockdiagramm eines Beispiels eines Speicheruntersystems, worin eine bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann,
    • 10 ein Blockdiagramm eines Beispiels eines Rechensystems, worin eine bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann, und
    • 11 ein Blockdiagramm eines Beispiels einer mobilen Vorrichtung, worin eine bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann.
  • Es folgen Beschreibungen bestimmter Einzelheiten und Implementationen, einschließlich nicht einschränkender Beschreibungen der Figuren, die einige oder alle Beispiele sowie andere mögliche Implementationen zeigen können.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Vorrichtung weist eine Schnittstelle zu einem bidirektionalen N-Bit-Bus auf. Der N-Bit-Bus weist (N - 1) bidirektionale Schnittstellen zur Kopplung mit (N - 1) bidirektionalen Signalleitungen zum Austauschen (Senden und Empfangen) von Signalen zwischen Partnervorrichtungen auf. Bei einem Beispiel ist der bidirektionale Bus ein unsymmetrischer Bus. Der Bus weist zwei unidirektionale Signalleitungsschnittstellen auf. Die erste ist eine unidirektionale Empfangsschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale von der Partnervorrichtung zu empfangen. Die zweite ist eine unidirektionale Sendeschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale zur Partnervorrichtung zu senden. Eine Signalleitung kann als Lane oder als Informationskanal bezeichnet werden. Unabhängig davon, ob sie als Signalleitung, Lane oder Informationskanal bezeichnet wird, ermöglicht die Signalleitung das Senden von Informationssignalen zur Partnervorrichtung.
  • Der Bus stellt in jeder Richtung N Signalleitungen für den N-Bit-Bus bereit, wobei eine zusätzliche „rückwärts weisende“ oder „umgekehrt weisende“ Signalleitung vorgesehen ist. Die zusätzliche unidirektionale Signalleitung weist rückwärts oder umgekehrt, weil sie in entgegengesetzter Richtung zum aktuellen Datenfluss im bidirektionalen Bus unidirektional ist. Die rückwärts weisende Signalleitung ermöglicht es den Partnervorrichtungen, sich darauf vorzubereiten, dass der Bus Richtungen wechselt. Die Überwachung des Busses in Umkehrrichtung kann es einer Vorrichtung ermöglichen, Konfigurationseinstellungen für einen gegenwärtigen Zustand des Busses zu präparieren. Wenn der Bus Richtungen wechselt, können die Konfigurationseinstellungen für die Vorrichtung demgemäß für den gegenwärtigen Zustand des Busses festgelegt werden, wodurch das Training, das erforderlich ist, wenn der Bus Richtungen wechselt, verringert oder beseitigt wird.
  • Bei einer unidirektionalen Lane in jeder Richtung kann der Bus mit einer Lane, die nicht mit den Lanes im Bus umkippen muss, N Informationsbits in jeder Richtung bereitstellen, wie es traditionell geschieht. Es sei beispielsweise ein 10-Bit-Bus mit 10 Datensignalleitungen betrachtet. Statt den Bus mit 10 bidirektionalen Lanes zu implementieren, wie es traditionell geschieht, kann der Bus mit 11 Signalleitungen implementiert werden, nämlich 9 bidirektionalen Signalleitungen, einer unidirektionalen Signalleitung, die in eine Richtung weist, und einer anderen unidirektionalen Signalleitung, die in die andere Richtung weist. Unabhängig davon, in welche Richtung der Bus weist, gibt es 10 Signalleitungen zum Senden von Daten und eine zusätzliche Signalleitung, die in Umkehrrichtung weist.
  • Die Umkehrrichtung bezieht sich darauf, dass sie in entgegengesetzte Richtung zum Datenfluss weist. Demgemäß verläuft die Flussrichtung vom Sender zum Empfänger und verläuft die Umkehrrichtung vom Empfänger zum Sender. Es ist zu verstehen, dass für einen bidirektionalen Bus jede der Partnervorrichtungen wechselnd als Sender und als Empfänger wirkt. Für eine gegebene Transaktion ist eine Vorrichtung jedoch der Sender, der Daten sendet, und ist die andere Vorrichtung der Empfänger, der die Daten empfängt. Die Vorwärtsrichtung für Daten verläuft für die Transaktion vom Sender zum Empfänger, und die Umkehrrichtung verläuft für dieselbe Transaktion vom Empfänger zum Sender. Wenn sich die Rollen ändern, ändert sich die Busrichtung.
  • Als weiteres Beispiel sei ein 4-Bit-Bus in der Art eines x4-DQ-Busses mit 4 Signalleitungen für jede von M Speichervorrichtungen betrachtet, so dass sich insgesamt M*4 DQ-Signalleitungen ergeben. Jede der M Speichervorrichtungen kann eine 5-Bit-Schnittstelle mit 3 bidirektionalen Signalleitungen, einer von der Steuereinrichtung zur Speichervorrichtung weisenden unidirektionalen Signalleitung und einer von der Speichervorrichtung zur Steuereinrichtung weisenden unidirektionalen Signalleitung aufweisen. Wenngleich ein Beispiel eines x4-DQ-Busses bereitgestellt wird, ist zu verstehen, dass die gleichen Techniken auf einen x8-DQ-Bus, einen x16-DQ-Bus oder eine andere Busbreite oder Breite einer Vorrichtungsdaten-Schnittstelle oder einer Vorrichtungsbus-Schnittstelle angewendet werden könnte. Demgemäß ist zu verstehen, dass die Zusatzkosten der zusätzlichen unidirektionalen Signalleitungen mit breiteren Schnittstellen verringert werden können.
  • Die umgekehrt weisende unidirektionale Signalleitung kann Umkehrmetadaten zum Sender senden. Bei einem Beispiel sind die Metadaten einfach ein vom Empfänger bereitgestelltes Blindsignal. Das Blindsignal kann beispielsweise ein bekanntes Bitmuster (1010..., 11001100... oder ein anderes Muster) sein. Bei einem bekannten Signalmuster kann der Sender wissen, welche Daten zu erwarten sind, und er kann die Bedingungen der Kommunikation über den Bus verfolgen.
  • Bei einem Beispiel können die Metadaten an Stelle eines Blindsignals ein Datensignal sein. Das Datensignal kann ein beliebiger Informationstyp sein, der spezifisch Bedingungen auf dem Signalbus angibt. Bei einem Beispiel kann das Metadatensignal durch ein oder mehrere Signale gegeben sein, die in einer Quittungsaustauschroutine verwendet werden würden. Statt dass es erforderlich wäre, Daten für eine getrennte Quittungsaustauschroutine zu senden, kann die umgekehrt weisende Signalleitung einen Umkehrrichtungs-Quittungsaustausch vorsehen, der anzuwenden ist, sobald der Bus die Richtung ändert.
  • Bei einem Beispiel weist das Metadatensignal Informationen vom empfangenden Signal zur Angabe von Einstellungen für seine E/A-Konfiguration auf. Demgemäß können die Vorrichtungen Konfigurationsinformationen für einen oder mehrere Parameter weiterleiten, um zu ermöglichen, dass die andere Vorrichtung bei einer Konfiguration beginnt, die für den Zustand des Busses nahezu genau sein sollte.
  • Traditionell bestand für den Empfänger, wenn der Bus die Richtung gewechselt hat, eine sehr hohe Wahrscheinlichkeit, dass er die falschen Konfigurationseinstellungen für den Zustand des Busses hatte. Mit der Umkehrrichtungsüberwachung können die Vorrichtungen die korrekten Konfigurationseinstellungen haben, sobald der Bus die Richtung umkehrt, oder sie können die korrekten Konfigurationseinstellungen sehr schnell finden, nachdem der Bus Richtungen gewechselt hat.
  • Die E/A-Konfigurationseinstellungen können sich auf einen oder mehrere Informationstypen zur Konfiguration einer Einstellung für eine E/A-Übertragung beziehen. Beispiele von E/A-Konfigurationseinstellungen können Geschwindigkeit, Leistung, Spannung, Entzerrung, Entscheidungsrückkopplungsentzerrung (DFE), Phase oder andere Konfigurationseinstellungen einschließen, sind jedoch nicht darauf beschränkt. Generell sind die Informationen, die überwacht werden können, alles, was für die Signalisierung verwendet wird. Genauer gesagt, kann die Umkehrrichtungs-Signalleitung für Informationen für jeden E/A-Parameter verwendet werden, der über die Zeit oder mit verschiedenen Bedingungen driftet oder sich ändert.
  • Es sei bemerkt, dass die umgekehrt weisende Daten-Lane zu einer zusätzlichen Signalleitung pro Bus im System führt, die anwendet, was hier beschrieben wird. Die Kosten der einen oder der mehreren zusätzlichen Signalleitungen können gegen eine erwartete Verringerung der Zeit aufgewogen werden, die benötigt wird, um die Wirkungen des Richtungswechsels des Busses zu kompensieren. Beispielsweise kann bei einem Speicheruntersystem die Verwendung einer zusätzlichen Signalleitung gegen die Verringerung der Zeit aufgerechnet werden, die benötigt wird, um die Wirkungen einer Lese-zu-Schreib- oder Schreib-zu-Lese-Strobe-Verschiebung infolge von Temperatur und Spannung zu kompensieren. Die Strobe-Verschiebung bezieht sich auf eine Phasenverschiebung des DQS- oder Daten-Strobe-Signals.
  • Ein traditioneller Ansatz für das Verfolgen eines Phasendrifts einer DQS-Signalleitung besteht in der Verwendung eines DQS-Clock-Tree-Oszillators. Die Verwendung eines DQS-Clock-Tree-Oszillators kann jedoch erfordern, dass die Speichersteuereinrichtung die Speichervorrichtung periodisch abfragt, um während der Laufzeit Verzögerungswerte zu erhalten. Es ist zu verstehen, dass es eine solche Operation erforderlich macht, dass die Steuereinrichtung zusätzliche Befehle an den Speicher ausgibt, wodurch Kommunikationsbandbreite zwischen der Steuereinrichtung und der Speichervorrichtung verbraucht wird.
  • 1 ist ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung. Das System 100 weist einen Bus 102 auf, der einen bidirektionalen Bus repräsentiert. Bei einem Beispiel ist der Bus 102 ein unsymmetrischer Bus. Ein unsymmetrischer Bus bezieht sich auf einen Bus, bei dem jede Signalleitung ein anderes Signal überträgt. Eine Alternative zu einem unsymmetrischen Bus ist ein differenzieller Bus, der eine Signalleitung für ein Signal und eine Partnersignalleitung für ein komplementäres Signal (die Umkehrung oder das Komplement des vorgesehenen Signals) aufweist. Der Bus 102 kann ein beliebiger Typ eines bidirektionalen Busses sein.
  • Die Vorrichtung 110 und die Vorrichtung 130 sind abwechselnd Sender und Empfänger in Bezug auf den Bus 102. Die Vorrichtung 110 weist eine Schnittstelle 112 auf, die Kügelchen, Stifte oder andere Verbinder zur Verbindung mit den Informationskanälen des Busses 102 repräsentiert. Die Vorrichtung 130 weist eine Schnittstelle 132 mit entsprechenden Verbindern zur Verbindung mit dem Bus 102 auf.
  • Die Vorrichtung 110 weist als TX/RX 122 repräsentierte bidirektionale Schnittstellen auf. Die TX/RX 122 wird als Empfänger zur Bereitstellung einer Kommunikation in beiden Richtungen repräsentiert. Die Vorrichtung 130 weist einen TX/RX 142 auf, der die entsprechenden bidirektionalen Schnittstellen für die Vorrichtung 130 repräsentiert.
  • Die Vorrichtung 110 weist zwei unidirektionale Schnittstellen auf. Die Vorrichtung 130 weist auch zwei unidirektionale Schnittstellen auf. Eine TX (Senden) 124 repräsentiert eine Schnittstelle zu einem unidirektionalen Informationskanal, der von der Vorrichtung 110 zur Vorrichtung 130 verläuft. Die TX 124 ist eine ausschließlich sendende Schnittstelle für die Vorrichtung 110. Die Vorrichtung 130 weist eine RX (Empfangen) 144 auf, die der TX 124 der Vorrichtung 110 entspricht. Die RX 144 ist eine ausschließlich empfangende Schnittstelle für die Vorrichtung 130, um von der TX 124 gesendete Signale auf einem unidirektionalen Informationskanal des Busses 102 zu empfangen.
  • Ähnlich repräsentiert eine TX 146 eine Schnittstelle zu einem unidirektionalen Informationskanal, der von der Vorrichtung 130 zur Vorrichtung 110 verläuft. Die TX 146 ist eine ausschließlich sendende Schnittstelle für die Vorrichtung 130. Die Vorrichtung 110 weist eine RX 126 auf, die der TX 146 der Vorrichtung 130 entspricht. Die RX 126 ist eine ausschließlich empfangende Schnittstelle für die Vorrichtung 110, um von der TX 146 gesendete Signale auf einem unidirektionalen Informationskanal des Busses 102 zu empfangen. Wenn ein Informationskanal in Umkehrrichtung unidirektional ist, kann er bei einem Beispiel als Verfolgungs-Lane oder Verfolgungs-Signalleitung bezeichnet werden.
  • Die Vorrichtung 110 weist eine Parametersteuerung 114 auf, welche die Steuerung für die Konfigurationsparameter für E/A für die Vorrichtung 110 repräsentiert. Bei einem Beispiel repräsentiert die Parametersteuerung 114 die Steuerung, die ansprechend auf über die RX 126 empfangene Signale über E/A-Parameter zu implementieren ist, wenn die Vorrichtung 110 auf der TX/RX 122 und der TX 124 sendet. Signale auf der RX 126, wenn die Vorrichtung 110 zur Vorrichtung 130 sendet, sind Metadatensignale.
  • Die Vorrichtung 130 weist eine Parametersteuerung 134 auf, welche die Steuerung für die Konfigurationsparameter für E/A für die Vorrichtung 130 repräsentiert. Bei einem Beispiel repräsentiert die Parametersteuerung 134 die Steuerung, die ansprechend auf über die RX 144 empfangene Signale über E/A-Parameter zu implementieren ist, wenn die Vorrichtung 130 auf der TX/RX 142 und der TX 124 sendet. Signale auf der RX 144, wenn die Vorrichtung 130 zur Vorrichtung 110 sendet, sind Metadatensignale.
  • Bei einem Beispiel repräsentieren die Metadatensignale Signale zur Verfolgung von Parameterinformationen in der Art von Informationen für PI(Proportional-Integral)- oder PID(Proportional-Integral-Ableitend)-Einstellungen, DFE-Einstellungen, Verstärkungseinstellungen und Empfängerspannungs-Hüllkurveneinstellungen oder andere Informationen. Bei einem Beispiel können die unidirektionalen rückwärts weisenden Signalleitungen Informationen der Parametersteuerung 114 für Einstellungen für die E/A für die Vorrichtung 110 bereitstellen, sobald der Bus Richtungen wechselt. Bei einem Beispiel können die unidirektionalen rückwärts weisenden Signalleitungen Informationen der Parametersteuerung 134 für Einstellungen für die E/A für die Vorrichtung 130 bereitstellen, sobald der Bus Richtungen wechselt.
  • Eine Vorrichtung kann typischerweise E/A-Parameter für das Empfangen einer E/A beibehalten, wenn sie ein Signal empfängt. Eine solche Operation wird traditionell angewendet, wobei ein Empfänger eingehende Signale verfolgt, um E/A-Parameter einzustellen und dadurch eine gute Signalisierung aufrechtzuerhalten. Es sei bemerkt, dass die Vorrichtung 110 und die Vorrichtung 130 mit den unidirektionalen Signalleitungen stets eine Empfangssignalleitung haben. Indem sie eine Empfangssignalleitung haben, können die Vorrichtungen die E/A für die empfangende Vorrichtung aufrechterhalten und die Informationen mit den Parametersteuerungen verwenden, um die Konfiguration auf die bidirektionalen Signalleitungen (beispielsweise TX/RX 122 und TX/RX 142) anzuwenden. Bei einem Beispiel können die unidirektionalen Leitungen zur Verfolgung von Informationen für die DQS-Drift verwendet werden.
  • 2 ist eine Repräsentation eines Beispiels eines Datenauges für ein System mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung. Das Diagramm 200 repräsentiert ein Datenaugendiagramm für eine E/A-Schnittstelle einer Vorrichtung, die mit einem bidirektionalen Bus verbindet. Das Diagramm 200 repräsentiert ein Beispiel eines Datenaugendiagramms für ein Beispiel einer oder mehrerer Schnittstellen von der Schnittstelle 112 oder der Schnittstelle 132.
  • Das Diagramm 200 zeigt ein Datenauge 210, das eine Form eines Raums innerhalb des Signaldurchschnitts 220 repräsentiert. Der Signaldurchschnitt 220 repräsentiert Durchschnitte für die Signalisierung. Der Raum innerhalb des Signaldurchschnitts könnte als die gesamte Fläche innerhalb des Signaldurchschnitts angesehen werden, wobei der graue Diamant eine von Signalen frei zu haltende Zielfläche angibt. Der Diamant weist eine Augenbreite EW und eine Augenhöhe EH auf. Außerhalb von EW und EH gibt es Ränder, die durch den weißen Raum zwischen dem Datenauge 210 und dem Signaldurchschnitt 220 repräsentiert sind. Der weiße Raum kann als Rand bezeichnet werden. Ein Rand 230 zeigt einen Rand, der ein Bereich zwischen dem Datenauge 210 und dem Signaldurchschnitt 220 ist.
  • Das Datenauge 210 bezieht sich auf spezifische Einstellungen für E/A. Das Diagramm 200 zeigt zwei Signale als Szenarien für das Datenauge 210. Ein Signal 222 ist die gestrichelte Linie. Es kann beobachtet werden, dass das Signal 222 ganz innerhalb des Signaldurchschnitts 220 liegt und demgemäß geeignet mit den E/A-Einstellungen empfangen werden kann. Ein Signal 224 ist die durchgezogene Linie. Es kann beobachtet werden, dass das Signal 224 nach rechts phasenverschoben ist. Infolge der Verschiebung weist das Signal 224 außerhalb des Rands 230 innerhalb des Datenauges 210 eine ansteigende Flanke auf. Demgemäß verletzt das Signal 224 das Datenauge 210 und wird das Signal nicht zuverlässig gelesen.
  • Das Diagramm 200 zeigt die Wirkungen verschiedener Parameter, die überwacht und eingestellt werden können. VDD repräsentiert eine Empfangshochspannung. VSS repräsentiert eine Empfangsniederspannung. VTT repräsentiert eine zentrale Spannung zwischen VDD und VSS. Bei einem Beispiel schwingen die E/A-Signale zwischen VDD und VSS und kann auf VTT terminiert werden, wenn eine Terminierung verwendet wird. Bei einem Beispiel kann der Ausschlag zwischen VDD und VSS eingestellt werden.
  • Eine Periode 250 repräsentiert eine nominale Zeitperiode zwischen einer ansteigenden Flanke und einer abfallenden Flanke der Signale. Bei einem Beispiel kann die Periode 250 durch Ändern der Empfängerantwort eingestellt werden. Eine Steigung 240 repräsentiert eine Steigung der ansteigenden Flanke. Eine ähnliche Steigung kann für die abfallende Flanke überwacht werden. Die Steigung 240 kann als Anstiegsgeschwindigkeit oder Änderung der Spannung des Signals pro Zeiteinheit bezeichnet werden. Bei einem Beispiel kann die Steigung 240 so eingestellt werden, dass sie auf sich ändernde Umweltbedingungen anspricht.
  • Bei einem Beispiel kann eine Parametersteuerung in der Art der Parametersteuerung 114 oder der Parametersteuerung 134 des Systems 100 Parameter durch Teile der Gesamtperiode einstellen, um zu ermöglichen, dass die E/A-Schaltungsanordnung die Signale korrekt verfolgt. Beispielsweise könnte die E/A-Schaltungsanordnung die Phase durch Einstellen eines oder mehrerer Parameter um X Pikosekunden einstellen.
  • 3 ist ein Zeitablaufdiagramm eines Beispiels einer Kommunikation über eine Datenschnittstelle mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung. Das Diagramm 300 repräsentiert verschiedene Signale für ein System mit zwei Vorrichtungen, die sich einen bidirektionalen N-Bit-Bus teilen. Das Diagramm 300 stellt ein Beispiel eines Zeitablaufdiagramms für ein System gemäß dem System 100 aus 1 bereit.
  • Ein Signal 310 repräsentiert ein Taktsignal (CLK) und dient einfach als Bezug. Die spezifischen Anzahlen von Taktzyklen für eine Operation sind nicht wesentlich. Die gestrichelten Linien, die alle Signale kreuzen, repräsentieren zeitliche Unterbrechungen, die eine Periode von null oder mehr Taktzyklen angeben können. Beim Beispiel des Diagramms 300 treten Befehle über einen vollständigen Taktzyklus auf und werden Daten als ein Bit pro Taktflanke (ansteigende und abfallende Flanken oder doppelte Datenrate) gesendet. Bei einem Beispiel nehmen Befehle zwei Taktzyklen in Anspruch oder werden zwei Befehle benötigt, um eine einzige Befehlsoperation auszuführen. Solche Beispiele sind im Diagramm 300 nicht spezifisch dargestellt.
  • Ein Signal 320 repräsentiert ein Befehls(CMD)-Signal. Beim Beispiel des Diagramms 300 könnte der Befehl auf der Grundlage der dargestellten Befehle von einer Speichersteuereinrichtung zu einer Speichervorrichtung gesendet werden. Es sei bemerkt, dass andere Vorrichtungspaare einen ähnlichen Austausch über einen bidirektionalen Bus implementieren könnten. Für die Zwecke der Erläuterung der zusätzlichen Signalleitung für den Datenbus zeigt das Signal 320 einen Schreibbefehl (Schreiben 322) gefolgt von einem Lesebefehl (Lesen 324), gefolgt von einem Schreibbefehl (Schreiben 326). Der Schreiben-zu-Lesen-Übergang (Schreiben 322 zu Lesen 324) führt dazu, dass der Bus die Richtung wechselt. Der Lesen-zu-Schreiben-Übergang (Lesen 324 zu Schreiben 326) führt dazu, dass der Bus zurück wechselt. Es ist zu verstehen, dass die Befehle einfach den Busübergang zeigen und dass andere Befehle und Signale zwischen Übergängen des Busses gesendet werden könnten (einschließlich mehrerer Schreibbefehle nach dem Schreibbefehl oder mehrerer Lesebefehle nach dem Lesebefehl).
  • Ein Signal 330 repräsentiert eine Signalleitung für ein unidirektionales Signal von der Steuereinrichtung zum Speicher (C->M). Ein Signal 342, ein Signal 344 und ein Signal 346 repräsentieren ein bidirektionales Signal zwischen der Steuereinrichtung und dem Speicher (BIDIR). Die bidirektionalen Signale ändern die Richtung, wenn der Bus die Richtung wechselt, wie nachstehend erklärt. Ein Signal 350 repräsentiert eine Signalleitung für ein unidirektionales Signal vom Speicher zur Steuereinrichtung (M->C).
  • Nach dem Schreibbefehl 322 sendet die Steuereinrichtung Daten zum Speicher. Demgemäß stellen das Signal 330, das Signal 342, das Signal 344 und das Signal 346 von der Steuereinrichtung zum Speicher weitergeleitete Daten bereit. Die Daten sind für P Datenbits, die auf jeder Leitung zu senden sind, als D0, D1, ... D[P-1] repräsentiert. Typischerweise wird die Variable „N“ zur Angabe einer Anzahl über eine Leitung gesendeter Bits verwendet. P wird hier jedoch verwendet, weil N zuvor für die Angabe einer Anzahl von Signalleitungen verwendet wurde. Die Verwendung unterschiedlicher Variablen soll einfach angeben, dass unterschiedliche Anzahlen von Signalleitungen und unterschiedliche Anzahlen von Bits bei einer Implementation verwendet werden können. Das Diagramm 300 könnte alternativ als Daten D0, D1, ... D[N-1] sendend beschrieben werden, wobei N nicht notwendigerweise gleich der Anzahl der Signalleitungen im Bus ist. Das Signal 350 ist in Umkehrrichtung in Bezug auf einen Speicherschreibvorgang unidirektional. Demgemäß stellt das Signal 350 Metadaten (MD) in Umkehrrichtung bereit.
  • Nach dem Lesebefehl 324 sendet der Speicher Daten zur Steuereinrichtung. Demgemäß stellen das Signal 342, das Signal 344, das Signal 346 und das Signal 350 vom Speicher zur Steuereinrichtung weitergeleitete Daten bereit. Die Daten sind für P Datenbits, die auf jeder Leitung zu senden sind, als D0, D1, ... D[P-1] repräsentiert. Das Signal 330 ist in Bezug auf einen Speicherlesevorgang in Umkehrrichtung unidirektional. Demgemäß stellt das Signal 330 Metadaten (MD) in Umkehrrichtung bereit.
  • Nach dem Schreibbefehl 326 sendet die Steuereinrichtung Daten wieder zum Speicher. Demgemäß stellen das Signal 330, das Signal 342, das Signal 344 und das Signal 346 wiederum von der Steuereinrichtung zum Speicher weitergeleitete Daten bereit und stellt das Signal 350 in Umkehrrichtung Metadaten (MD) bereit.
  • Bei einem Beispiel sind die Metadaten zufällige Daten. Selbst mit zufälligen Daten kann die sendende Vorrichtung die Konfiguration ihres Kanals für den Empfang vorbereiten, wenn der Bus die Richtung wechselt. Bei einem Beispiel sendet das System, weil es Daten sendet, an Stelle zufälliger Daten verwendbare Metadaten. Bei einem Beispiel repräsentieren die verwendbaren Metadaten Rückmeldebits, die Informationen über eine oder mehrere E/A-Konfigurationseinstellungen angeben. Bei einem Beispiel weist das Metadatensignal Informationen über nur eine einzige Konfigurationseinstellung auf. Bei einem Beispiel weisen die Metadaten Informationen über mehrere Konfigurationseinstellungen auf. Wenn Informationen über mehrere Konfigurationseinstellungen gesendet werden, könnten die Daten über verschiedene Einstellungen der Reihe nach gesendet werden. Es könnte ein Protokoll bereitgestellt werden, damit der Absender und der Empfänger der Metadaten beide verstehen können, welche Informationen gesendet werden. Bei einem Beispiel können die Metadaten einen Rückmeldeindikator oder -Header für das Metadatenpaket, gefolgt von einem Metadatenpaket-Nutzinhalt, aufweisen.
  • 4A ist ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane in einer Datenschnittstelle mit einer Master-Empfangsverfolgungsschaltung. Das System 402 stellt ein Beispiel eines Systems gemäß dem System 100 aus 1 bereit. Das System 402 weist die Vorrichtung 410 und die Vorrichtung 440 auf, welche Partnervorrichtungen für die Kommunikation über einen bidirektionalen Bus miteinander sind. Das System 402 spezifiziert nicht die Größe des Busses, der für eine praktische Systemimplementation eine beliebige Breite aufweisen kann.
  • Die Vorrichtung 410 weist eine TX-Schnittstelle 412 als der RX-Schnittstelle 442 der Vorrichtung 440 entsprechende unidirektionale Schnittstelle auf. Die Vorrichtung 410 weist bidirektionale Schnittstellen TX/RX 414 und TX/RX 416 auf, die jeweils den bidirektionalen Schnittstellen TX/RX 444 und TX/RX 446 der Vorrichtung 440 entsprechen. Die Vorrichtung 410 weist eine RX-Schnittstelle 418 als der TX-Schnittstelle 448 der Vorrichtung 440 entsprechende unidirektionale Schnittstelle auf. Demgemäß weist der Bus N - 1 bidirektionale Schnittstellen und zwei unidirektionale Schnittstellen auf, wobei eine unidirektionale Schnittstelle in jede Richtung weist.
  • Bei einem Beispiel weist die Vorrichtung 410 eine mit der RX-Schnittstelle 418 gekoppelte Master-RX-Verfolgung 432 auf. Die Master-RX-Verfolgung 432 verfolgt die geeigneten E/A-Einstellungen auf der Grundlage über den RX-Kanal empfangener Umkehr-Metadaten, wenn die Vorrichtung 410 der Absender ist. Bei einem Beispiel stellt die Master-RX-Verfolgung 432 eine Steuerung für einen Slave 434 für die TX/RX 416 und einen Slave 436 für die TX/RX 414 bereit. Bei einem Beispiel erzeugt die Master-RX-Verfolgung 432 ansprechend auf die Metadaten Einstellungen für den Empfang, die sie zum Slave 434 und zum Slave 436 sendet. Bei einem Beispiel wenden der Slave 434 und der Slave 436 die Master-Einstellungen mit einem Slave-Offset an. Der Slave-Offset kann beispielsweise ein Offset sein, der dem Slave 434 oder dem Slave 436 in Bezug auf die Master-RX-Verfolgung 432 bekannt ist. Ein solcher Offset kann bekannt sein, falls die Master-RX-Verfolgung 432 sowohl ihre vorhergehenden Einstellungen als auch die aktuellen Einstellungen bereitstellt oder einfach den Offset bereitstellt.
  • Bei einem Beispiel wenden der Slave 434 und der Slave 436 die Master-Einstellungen, wie für die RX-Schnittstelle 418 angewendet, an. Dann können der Slave 434 und der Slave 436 ihre jeweilige TX/RX 414 und TX/RX 416 lokal einstellen, um die Master-Einstellungen für die lokale E/A für die spezifische E/A-Schnittstelle einzustellen. Demgemäß kann eine Slave-Schnittstelle anfänglich die Master-E/A-Einstellungen anwenden und die Einstellungen für die spezifische bidirektionale Schnittstelle lokal auf der Grundlage des Betriebs dieser Schnittstelle einstellen. Eine PLL 426 repräsentiert die Steuerschaltungsanordnung der Vorrichtung 410 zur Einstellung der E/A-Schnittstellen für die Empfangsschnittstellen. Die Steuerschaltungsanordnung kann die Phase des Strobes gegenüber dem Empfangsdatensignal einstellen, Spannung, Verstärkung, DFE-Abgriffseinstellungen, Taktfrequenz oder andere Einstellungen oder eine Kombination von Einstellungen einstellen.
  • Bei einem Beispiel stellt die PLL 426 die Einstellungen auf der Grundlage einer mit der RX 418 durch die Master-RX-Verfolgung 432 überwachten Konfiguration ein. Ähnlich kann die PLL 456 der Vorrichtung 440 ähnliche Funktionen für die Vorrichtung 440 ausführen. Bei einem Beispiel stellt die PLL 456 Einstellungen auf der Grundlage einer mit der RX 442 durch die Master-RX-Verfolgung 462 überwachten Konfiguration ein. Die Vorrichtung 440 zeigt eine Master-RX-Verfolgung 462, einen Slave 464 und einen Slave 466, die wie vorstehend in Bezug auf ähnliche Komponenten der Vorrichtung 410 beschrieben werden können. Bei einem Beispiel stellt die PLL 426 eine Zeitsteuerung für alle durch die Vorrichtung 410 verbundenen Lanes bereit. Bei einem Beispiel stellt die PLL 456 eine Zeitsteuerung für alle durch die Vorrichtung 440 verbundenen Lanes bereit.
  • Die Vorrichtung 410 zeigt die mit TX/RX 414 gekoppelte TX 422 und die mit TX/RX 416 gekoppelte TX 424. TX 422 und TX 424 repräsentieren Sendequellen für die bidirektionalen Schnittstellen. Die Datenwege der Schnittstellen sind im System 402 nicht spezifisch dargestellt, es ist jedoch zu verstehen, dass die TX 422 und die TX 424 aktiv sind, um Daten auf der TX/RX 414 bzw. der TX/RX 416 zu senden, wenn die Vorrichtung 410 der Sender ist. Wenn die Vorrichtung 410 ein Empfänger ist, wird die Konfiguration der bidirektionalen Schnittstellen durch den Slave 434 und den Slave 436 gesteuert, und sind die Sendewege nicht aktiv.
  • Die Vorrichtung 440 zeigt die mit TX/RX 444 gekoppelte TX 452 und die mit TX/RX 446 gekoppelte TX 454. TX 452 und TX 454 repräsentieren Sendequellen für die bidirektionalen Schnittstellen. Die Datenwege der Schnittstellen sind im System 402 nicht spezifisch dargestellt, es ist jedoch zu verstehen, dass die TX 452 und die TX 454 aktiv sind, um Daten auf der TX/RX 444 bzw. der TX/RX 446 zu senden, wenn die Vorrichtung 440 der Sender ist. Wenn die Vorrichtung 440 ein Empfänger ist, wird die Konfiguration der bidirektionalen Schnittstellen durch den Slave 464 und den Slave 466 gesteuert, und sind die Sendewege nicht aktiv.
  • Der Weg 428 repräsentiert die Zeit- oder Signalsteuerung, die von der PLL 426 oder einer anderen E/A-Signalisierungssteuerungs-Schaltungsanordnung für die Vorrichtung 410 bereitgestellt wird. Der Weg 430 repräsentiert die Kommunikation durch die Master-RX-Verfolgung 432 mit dem Slave 434 und dem Slave 436. Der Weg 458 repräsentiert die Zeit- oder Signalsteuerung, die von der PLL 456 oder einer anderen E/A-Signalisierungssteuerungs-Schaltungsanordnung für die Vorrichtung 440 bereitgestellt wird. Der Weg 460 repräsentiert die Kommunikation durch die Master-RX-Verfolgung 462 mit dem Slave 464 und dem Slave 466.
  • Die unidirektionalen Leitungen können generell für den Empfang von Metadaten verwendet werden, wenn eine Vorrichtung der Sender ist. Bei einem Beispiel können die Metadaten verwendet werden, um eine Master-E/A(Ein-/Ausgabe)-Einstellung zu trainieren. Beispielsweise können die Metadaten verwendet werden, um eine E/A-Leistungsaufnahme, E/A-Geschwindigkeit, E/A-Spannung oder E/A-Phase zu trainieren oder eine Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung zu trainieren.
  • 4B ist ein Blockdiagramm eines Beispiels eines Systems mit einer umgekehrt weisenden Daten-Lane in einer Datenschnittstelle, wobei jeder Empfänger eine Empfangsverfolgungsschaltung aufweist. Das System 404 stellt ein Beispiel eines Systems gemäß dem System 100 aus 1 bereit. Das System 404 stellt ein alternatives Beispiel zum System 402 bereit. Während das System 402 eine Master-Verfolgungsschaltung für alle RX-Schnittstellen bereitstellt, stellt das System 404 Metadaten für getrennte RX-Schnittstellenverfolgungsschaltungen für eine getrennte Steuerung bereit.
  • Das System 404 weist die Vorrichtung 410 und die Vorrichtung 440 auf, die vorstehend beschrieben wurden. Alle Komponenten des Systems 404, die im System 402 vorhanden sind, können mit den folgenden Alternativen ähnlich wie vorstehend beschrieben arbeiten.
  • Bei einem Beispiel weist die Vorrichtung 410 eine RX-Verfolgung 472 für die RX-Schnittstelle 418, eine RX-Verfolgung 474 für die TX/RX 416 und eine RX-Verfolgung 476 für die TX/RX 414 auf. Die RX-Verfolgung 472, die RX-Verfolgung 474 und die RX-Verfolgung 476 verfolgen die geeigneten E/A-Einstellungen auf der Grundlage über den RX-Kanal der RX-Schnittstelle 418 empfangener Umkehr-Metadaten, wenn die Vorrichtung 410 der Sender ist. Statt eine Master-Verfolgungsschaltung aufzuweisen, kann jede Schnittstelle eine getrennte Verfolgungsschaltung aufweisen. Die Verfolgungsschaltungen berechnen die E/A-Konfiguration für den Bus bei seinem Zustand, wenn der Bus die Richtungen wechselt.
  • Bei einem Beispiel weist die Vorrichtung 440 eine RX-Verfolgung 482 für die RX-Schnittstelle 442, eine RX-Verfolgung 484 für die TX/RX 444 und eine RX-Verfolgung 486 für die TX/RX 446 auf. Die RX-Verfolgung 482, die RX-Verfolgung 484 und die RX-Verfolgung 486 verfolgen die geeigneten E/A-Einstellungen auf der Grundlage über den RX-Kanal der RX-Schnittstelle 442 empfangener Umkehr-Metadaten, wenn die Vorrichtung 440 der Sender ist.
  • Der Weg 428 repräsentiert die Zeit- oder Signalsteuerung, die von der PLL 426 oder einer anderen E/A-Signalisierungssteuerungs-Schaltungsanordnung für die Vorrichtung 410 bereitgestellt wird. Der Weg 470 repräsentiert den Weg von Metadaten zu den getrennten Verfolgungsschaltungen für die getrennten E/A-Schnittstellen, einschließlich der RX-Verfolgung 472, der RX-Verfolgung 474 und der RX-Verfolgung 476. Der Weg 458 repräsentiert die Zeit- oder Signalsteuerung, die von der PLL 456 oder einer anderen E/A-Signalisierungssteuerungs-Schaltungsanordnung für die Vorrichtung 440 bereitgestellt wird. Der Weg 480 repräsentiert den Weg von Metadaten zu den getrennten Verfolgungsschaltungen für die getrennten E/A-Schnittstellen, einschließlich der RX-Verfolgung 482, der RX-Verfolgung 484 und der RX-Verfolgung 486.
  • Ob durch Master- und Slave-Offset, Master-Verfolgungs- und Slave-Einstellung oder eine getrennte Verfolgungssteuerung für jede Schnittstelle, können die unidirektionalen Leitungen generell für den Empfang von Metadaten verwendet werden, wenn eine Vorrichtung der Sender ist. Bei einem Beispiel können die Metadaten verwendet werden, um eine Master-E/A(Ein-/Ausgabe)-Einstellung zu trainieren. Beispielsweise können die Metadaten verwendet werden, um eine E/A-Leistungsaufnahme, E/A-Geschwindigkeit, E/A-Spannung oder E/A-Phase zu trainieren oder eine Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung zu trainieren.
  • 5 ist ein Blockdiagramm eines Beispiels eines Speicheruntersystems mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung. Das System 500 weist eine Steuereinrichtung 510 und einen Speicher 530 auf, die über einen schnellen, unsymmetrischen bidirektionalen Datenbus kommunizieren können. Die Steuereinrichtung 510 repräsentiert das Host-System oder das System, in das der Speicher 530 aufgenommen ist. Der Speicher 530 ist ein Hauptspeicher oder ein Betriebssystemspeicher.
  • Der Speicher 530 repräsentiert eine Speichervorrichtung mit einer x4-DQ-Schnittstelle. Es sei bemerkt, dass der Speicher 530 Schnittstellen zu 5 Signalleitungen aufweist, die alternativ als x5-DQ-Schnittstelle interpretiert werden könnten. Für die Zwecke der Anzahl der DQ-Signalleitungen kann jedoch verstanden werden, dass der Speicher 530 mit 4 DQ-Signalen, nämlich DQ[0:3], verbindet.
  • Bei einem Beispiel wird eine der DQ-Signalleitungen für die Vorwärts- und Umkehrrichtungen des DQ-Busses unterteilt. Das System 500 zeigt DQO als zwischen den beiden unidirektionalen Signalleitungen unterteilt. Es ist zu verstehen, dass jedes der DQ-Signale zwischen den unidirektionalen Signalleitungen aufgeteilt werden könnte. Indem DQ0 auf die unidirektionalen Leitungen gegeben wird, könnte eine bessere DQ0-Verbindung bereitgestellt werden, weil das Signal von der Steuereinrichtung 510 zum Speicher 530 stets in gleicher Richtung verläuft, wodurch die Konfiguration verbessert werden kann. Ein solches Merkmal könnte ein Vorteil für Funktionen in der Art einer Pro-Vorrichtung-Adressierbarkeit (PDA) oder andere Funktionen, die DQ0 für die Signalisierung verwenden, sein.
  • Die Steuereinrichtung 510 könnte entsprechend dem Speicher 530 mit mehreren Speichervorrichtungen gekoppelt werden. Im System 500 ist nur ein einziger Speicher 530 dargestellt. Die Steuereinrichtung 510 würde typischerweise für jede Speichervorrichtung andere DQ-Verbindungen aufweisen.
  • Bei einem Beispiel weist die Steuereinrichtung 510 eine unidirektionale Verbindung 514 zu einer C->M(Steuereinrichtung-zu-Speicher)-DQ0 auf, die mit der Verbindung 534 des Speichers 530 verbindet. Bei einem Beispiel weist die Steuereinrichtung 510 bidirektionale Verbindungen 516 zu DQ[1:3] auf, die mit Verbindungen 536 des Speichers 530 verbinden. Es sei bemerkt, dass für mehr als 4 DQ-Signale mehr bidirektionale Signalleitungen und zugeordnete Verbindungen vorhanden sind. Bei einem Beispiel weist die Steuereinrichtung 510 eine unidirektionale Verbindung 518 zu einer M->C(Speicher-zu-Steuereinrichtung)-DQO auf, die mit der Verbindung 538 des Speichers 530 verbindet. C->M DQ0und M->C DQO stellen gemeinsam eine bidirektionale DQ-Verbindung für DQO bereit.
  • Bei einem Beispiel stellt die PLL 526 eine Phasenzeitsteuerung für die Verbindung 514, die Verbindungen 516 und die Verbindung 518 der Steuereinrichtung 510 bereit. Bei einem Beispiel stellt die PLL 542 eine Phasenzeitsteuerung für die Verbindung 534, die Verbindungen 536 und die Verbindung 538 des Speichers 530 bereit. Die PLL 526 und die PLL 542 können die Signalkonfiguration für Empfänger für die Steuereinrichtung 510 bzw. den Speicher 530 einstellen.
  • Bei einem Beispiel weist die Steuereinrichtung 510 eine Host-Schnittstelle 522 auf, die eine Schnittstelle mit dem Host-Prozessor repräsentiert, der eine Anforderung von Daten aus dem Speicher 530 erzeugt. Der Host-Prozessor kann ein Primärprozessor sein, der das Host-Betriebssystem (OS) ausführt, oder er kann ein Graphikprozessor oder ein Peripherieprozessor sein. Ein Planer 524 der Steuereinrichtung 510 repräsentiert einen Planer zum Aussenden von Host-Befehlen und zum Planen des Sendens von Daten für Schreibbefehle. Bei einem Beispiel können empfangene Daten der Host-Schnittstelle 522 bereitgestellt werden, um sie zum Anfordernden zurückzusenden. Bei einem Beispiel können auf der Verbindung 518 empfangene Metadaten von der PLL 526 verwendet werden, um Empfangsschnittstellen der Steuereinrichtung 510 gemäß einer hier gegebenen Beschreibung zu konfigurieren.
  • Der Speicher 530 weist ein Array 544 auf, das ein Speicher-Array für den Speicher 530 repräsentiert. Das Array 544 kann eine beliebige für die Unterstützung eines schnellen Speicheruntersystems verwendete Speichertechnologie aufweisen. Ansprechend auf einen Schreibbefehl schreibt der Speicher 530 Daten in das Array 544. Ansprechend auf einen Lesebefehl gibt der Speicher 530 Daten aus dem Array 544 zurück. Mit einem Schreibbefehl kann der Speicher 530 der Steuereinrichtung 510 über DQO M->C Metadaten bereitstellen. Mit einem Lesebefehl kann die Steuereinrichtung 510 dem Speicher 530 über DQO C->M Metadaten bereitstellen.
  • 6 ist ein Blockdiagramm eines E/A-Empfängers mit einer E/A-Verfolgung. Das System 600 stellt ein Beispiel einer Empfängerschaltung gemäß dem System 100, dem System 402, dem System 404 oder dem System 500 bereit. Bei einem Beispiel kann die Schaltungsanordnung des Systems 600 eine Erkennung der Hüllkurve der Empfängerspannung bereitstellen. Bei einem Beispiel kann die Schaltungsanordnung in jedem Empfänger enthalten sein. Bei einem Beispiel wird das DQS-Signal zwischen verschiedenen RX-Empfangsschaltungen geteilt.
  • Das System 600 weist einen Weg 602 zur Repräsentation des Datenwegs und einen Weg 604 zur Repräsentation des Daten-Strobe-Wegs auf. Der Weg 602 ist der Weg der Daten (Dn) durch die RX-Schnittstelle. Die Daten können für das Datenauge verarbeitet und geprüft werden. Der Weg 604 ist der Weg des Daten-Strobes (DQS) durch die DQS-Schnittstelle. DQS ist ein zur Decodierung des Datensignals verwendetes Taktsignal.
  • Bei einem Beispiel stellt der Weg 604 das DQS-Signal dem Sampler 626 zur Abtastung der Daten für den Empfang des Datensignals bereit. Der Sampler 626 kann als Latch implementiert werden, der das Ausschalten des DQS-Signals auslöst. Das Datensignal (Dn) ist die Eingabe für den Sampler 626, und die Ausgabe ist Qn, die gepuffert und dann in das Speicher-Array geschrieben wird. Bei einem Beispiel kann die Ausgabe Qn, falls die RX-Schnittstelle die unidirektionale Schnittstelle für den Empfang von Metadaten ist, zur RX-Verfolgung 640 gesendet werden, falls die Metadaten nützliche Daten sind, oder fallen gelassen werden, falls die Metadaten Blinddaten sind.
  • Bei einem Beispiel stellt der Weg 604 das DQS-Signal einem Sampler 622 und einem Sampler 624 bereit. Der Sampler 622 und der Sampler 624 können als Latches implementiert werden, die das Ausschalten des DQS-Signals auslösen. Der Sampler 622 und der Sampler 624 stellen eine Hüllkurvenerkennung für das Datensignal bereit, um zu gewährleisten, dass das Datenauge aufrechterhalten wird, und die Daten können geeignet decodiert werden.
  • Das Datensignal (Dn) wird mit positiven und negativen Referenzen (VREF+ bzw. VREF-) verglichen. Ein Vergleicher 612 empfängt Dn zum Vergleich mit VREF-, und ein Vergleicher 614 empfängt Dn zum Vergleich mit VREF+. Die Ausgabe des Vergleichers 612 wird dem Sampler 622 als Eingabe bereitgestellt. Die Ausgabe des Vergleichers 614 wird dem Sampler 624 als Eingabe bereitgestellt. Bei einem Beispiel werden die Ausgaben des Samplers 622 und des Samplers 624 mit einem XOR(Exklusiv-ODER)-Gatter 630 verglichen, um ein FEHLER-Signal zu erzeugen. Das FEHLER-Signal kann der RX-Verfolgung 640 bereitgestellt werden. Falls die Abtastung des Datensignals das Datenauge verletzt, könnte das System 600 das FEHLER-Signal erzeugen, welches die RX-Verfolgung 640 verwenden kann, um die E/A-Konfiguration zur Verbesserung der E/A anzupassen.
  • Bei einem Beispiel repräsentiert eine Funktion 650 eine oder mehrere Funktionen zur Anwendung auf das empfangene Datensignal. Die Funktion 650 kann ein oder mehrere Schaltungselemente oder Schaltungsanordnungen zur Ausführung einer oder mehrerer Einstellungen am eingehenden Signal repräsentieren. Funktionen, die durch die Funktion 650 repräsentiert werden können, können DFE, Schreibabgleich, interne Schreibsignale, Wiederauffrischungssynchronisation, ODT oder andere Funktionen oder eine Kombination davon einschließen.
  • 7 ist ein Blockdiagramm eines Beispiels eines Speichermoduls mit Speichervorrichtungen mit einer umgekehrt weisenden Daten-Lane für die E/A-Verfolgung. Das System 700 stellt ein Beispiel eines Systems entsprechend dem System 100, dem System 402, dem System 404, dem System 500 oder dem System 600 bereit. Vorhergehende Beschreibungen konzentrierten sich auf die Verbindung einer Speichervorrichtung mit der Host-Steuereinrichtung, während das System 700 ein Beispiel einer mit mehreren Speichervorrichtungen verbundenen Host-Steuereinrichtung bereitstellt.
  • Das System 700 zeigt eine Ausführungsform eines Systems mit Speichervorrichtungen, die sich einen Steuerbus (C/A(Befehl/Adress)-Bus 742) und einen Datenbus, der als in einen Bus 744 für Kanal 0 (CH[0]) und einen Bus 746 für Kanal 1 (CH[1]) unterteilt dargestellt ist, teilen. Die Speichervorrichtungen sind als DRAM(dynamischer Direktzugriffsspeicher)-Vorrichtungen 730 repräsentiert. Bei einem Beispiel teilen sich die beiden getrennten Kanäle den C/A-Bus 742. Bei einem Beispiel weisen die getrennten Kanäle getrennte C/A-Busse auf. Auf DRAM-Vorrichtungen 730 kann individuell mit vorrichtungsspezifischen Befehlen zugegriffen werden, und es kann parallel mit parallelen Befehlen darauf zugegriffen werden.
  • Ein RCD (registrierter Takttreiber oder registrierender Takttreiber) 720 repräsentiert eine Steuereinrichtung für ein DIMM (Doppelreihen-Speichermodul) 710. Es sei bemerkt, dass die durch den RCD 720 repräsentierte Steuereinrichtung von der Host-Steuereinrichtung oder der Speichersteuereinrichtung verschieden ist, die durch die Steuereinrichtung 740 repräsentiert ist. Ebenso unterscheidet sich der RCD 720 von einer On-Chip- oder On-Die-Steuereinrichtung, die auf den DRAM-Vorrichtungen aufgenommen ist. Bei einem Beispiel empfängt der RCD 720 Informationen vom Host (in der Art der Steuereinrichtung 740) und puffert die Signale von der Steuereinrichtung 740 zu den verschiedenen DRAM-Vorrichtungen 730. Falls alle DRAM-Vorrichtungen 730 direkt mit der Steuereinrichtung 740 verbunden wären, würde die Belastung der Signalleitungen die Fähigkeit zur schnellen Signalisierung beeinträchtigen. Durch Puffern der Eingangssignale von der Steuereinrichtung 740 sieht die Steuereinrichtung nur die Last des RCDs 720, der dann die Zeitsteuerung und Signalisierung für die DRAM-Vorrichtungen 730 steuern kann.
  • Bei einem Beispiel steuert der RCD 720 die Signale für die DRAM-Vorrichtungen des Kanals 0 durch den C/A-Bus 722[0] und die Signale für die DRAM-Vorrichtungen des Kanals 1 durch den C/A-Bus 722[0]. Bei einem Beispiel weist der RCD 720 unabhängige Befehlsports für getrennte Kanäle auf. Bei einem Beispiel werden die Datenbusse auch durch den RCD 720 geleitet, was nicht spezifisch dargestellt ist. Bei einem Beispiel weist das DIMM 710 Datenpuffer (nicht dargestellt) zum Puffern der Datenbussignale zwischen den DRAM-Vorrichtungen 730 und der Steuereinrichtung 740 auf.
  • Der C/A-Bus 722[0] und der C/A-Bus 722[1] (gemeinsam C/A-Busse 722) sind typischerweise unilaterale Busse oder unidirektionale Busse zur Übertragung von Befehls- und Adressinformationen von der Steuereinrichtung 740 zu DRAM-Vorrichtungen 730. Demgemäß können die C/A-Busse 722 Multi-Drop-Busse sein. Datenbusse sind traditionell bidirektionale Punkt-zu-Punkt-Busse.
  • Bei einem Beispiel weist die DRAM-Vorrichtung 730 Schnittstellen zu Datenbussen mit einer unidirektionalen Signalleitung von der Steuereinrichtung 740 zur DRAM-Vorrichtung, einer anderen unidirektionalen Signalleitung von der DRAM-Vorrichtung zur Steuereinrichtung 740 und mehreren bidirektionalen Signalleitungen zwischen der DRAM-Vorrichtung und der Steuereinrichtung 740 auf. Eine solche Schnittstelle kann einem beschriebenen Beispiel entsprechen. Die unidirektionalen und bidirektionalen Datenbus-Signalleitungen können direkt zwischen der Speichervorrichtung und der Host-Steuereinrichtung verbinden, durch den RCD 720 geleitet sein oder durch Datenpuffer geleitet sein.
  • Gemäß anderen hier vorgenommenen Beschreibungen tauschen die DRAM-Vorrichtungen 730 und die Steuereinrichtung 740 bei einem Beispiel Metadaten in Umkehrdatenrichtung aus, um die Vorbereitung des Empfängers für einen Richtungswechsel des Datenbusses zu ermöglichen. Es sei bemerkt, dass beim System 700 der Zustand des Datenbusses 744 nicht notwendigerweise mit dem Zustand des Datenbusses 746 identisch ist, obwohl beide zwischen der Steuereinrichtung 740 und dem DIMM 710 verbinden. Zusätzlich können die verschiedenen Busse, abhängig von den Lese- und Schreibmustern der Arbeitslasten für die verschiedenen Kanäle, zu verschiedenen Zeiten in verschiedene Richtungen weisen. Zusätzlich kann jede DRAM-Vorrichtung 730, selbst wenn sie sich innerhalb desselben Kanals befindet, auf ihren getrennten Daten- oder DQ-Signalleitungen innerhalb desselben Datenbusses unterschiedliche Bedingungen erfahren. Demgemäß ermöglichen die in Umkehrrichtung verlaufenden Signalleitungen, dass jeder Kanal unter verschiedenen Bedingungen unabhängig von jedem anderen eingestellt wird und dass jede DRAM-Vorrichtung 730 unabhängig von jeder anderen unter verschiedenen Bedingungen eingestellt wird. Eine solche Steuerung ermöglicht es jeder Vorrichtung, ihre E/A-Signalisierungskonfiguration für die beste Leistungsfähigkeit an der individuellen Vorrichtung einzustellen.
  • Es sei bemerkt, dass es bei zwei unidirektionalen Signalleitungen, die mit jeder der M DRAM-Vorrichtungen 730 pro Kanal verbinden, zusätzliche M Signalleitungen pro Kanal geben kann, die zwischen der Steuereinrichtung 740 und dem DIMM 710 zu verlegen sind. Die zusätzlichen Signalleitungen sind mit Kosten verbunden. Die zusätzlichen Signalleitungen stellen auch Vorteile in Bezug auf eine verringerte Signalisierungsverzögerung bereit, wenn der Datenbus ansprechend auf Änderungen zwischen Lese- und Schreibbefehlen Richtungen wechselt.
  • Bei einem Beispiel weist der DIMM 710 redundante DRAM-Vorrichtungen 730 zur Implementation von ECC (Fehlerprüfung und -korrektur) auf. Solche redundanten DRAM-Vorrichtungen implementieren auch die zusätzlichen Signalleitungen in den Bussen, um ein schnelleres Schalten zu ermöglichen.
  • 8 ist ein Flussdiagramm eines Beispiels eines Prozesses zur bidirektionalen Datenübertragung in einem System mit einer umgekehrt weisenden Daten-Lane. Der Prozess 800 stellt ein Beispiel eines Prozesses bereit, der durch eine Speichervorrichtung und eine Steuervorrichtung ausgeführt werden kann, um Daten auf einer bidirektionalen Schnittstelle auszutauschen. Eine alternative Implementation des Prozesses 800 kann das Wechseln der Datenrichtung auf der Grundlage eines Auslösers an Stelle des Schreib- oder Lesebefehls ersetzen. Fachleute werden demgemäß verstehen, wie der Prozess 800 zum Austauschen von Daten auf einer bidirektionalen Schnittstelle in Systemkonfigurationen mit anderen Vorrichtungen als einem Speicher und einer Steuereinrichtung zu implementieren ist.
  • Bei einem Beispiel tauschen die Speichervorrichtung und die Steuereinrichtung bei 802 Daten mit E/A-Schnittstelleneinstellungen aus, die durch Konfigurieren der Schnittstelle festgelegt wurden. Bei einem Beispiel sendet der Host bei 804 einen nachfolgenden Befehl zur Speichervorrichtung. Falls der Befehl ein Befehl ist, der Daten in der gleichen Richtung sendet, in der gegenwärtig gesendet wird, tritt keine Richtungsänderung auf dem Datenbus auf. Falls der Befehl ein Befehl ist, der die Richtung des Datenflusses umkehrt, löst er einen Richtungswechsel des Datenbusses aus.
  • Falls der Befehl an der NEIN-Verzweigung bei 806 keinen Wechsel der Daten(DQ)-Richtung auslöst, können die Steuereinrichtung und die Speichervorrichtung bei 802 weiter Daten mit den E/A-Schnittstelleneinstellungen austauschen. Bei einem Beispiel kann diejenige Vorrichtung, die der Empfänger in diesem Modus ist, weiter Empfangskonfigurationseinstellungen auf der Grundlage der empfangenen Daten aktualisieren. Bei einem Beispiel löst der Befehl an der JA-Verzweigung 806 einen Wechsel der Datenrichtung aus. Falls die Speichervorrichtung beispielsweise ansprechend auf einen oder mehrere Lesebefehle Daten zur Steuereinrichtung sendet, könnte die Steuereinrichtung einen Schreibbefehl senden, der den Bus veranlassen würde, durch die Steuereinrichtung angesteuert zu werden, um Daten für das Schreiben zur Speichervorrichtung zu senden.
  • Bei einem Beispiel ändern die Vorrichtungen, wenn der Datenfluss die Richtung wechselt, bei 808 die Verwendung der umgekehrten unidirektionalen Signalleitung von einer umgekehrten Metadaten-Signalübertragung zu einem Vorwärtsdatensignal. Die Vorrichtungen ändern die Datenrichtung für bidirektionale Signalleitungsschnittstellen bei 810, wodurch Empfänger zu Treibern geändert werden oder umgekehrt. Bei einem Beispiel konfiguriert die Vorrichtung, die der Sender war, bei 812 die Empfänger für die Vorwärts-Datensignalschnittstellen auf der Grundlage der unidirektionalen Umkehr-Metadaten. Bei einem Beispiel wird die Konfiguration auf der Grundlage der Überwachung der Empfangsbedingungen auf der Grundlage der umgekehrt weisenden unidirektionalen Schnittstelle angewendet.
  • Die Vorrichtungen ändern die Verwendung der unidirektionalen Vorwärts-Signalleitungsschnittstelle bei 814 von einer Vorwärtsdaten- zu einer Umkehr-Metadatensignalisierung. Demgemäß wird die Vorrichtung, die Vorwärtsdaten auf der unidirektionalen Signalleitung gesendet hat, zur Empfängervorrichtung geändert und sendet weiter auf der unidirektionalen Signalleitung, nun jedoch mit Umkehr-Metadaten an Stelle von Benutzerdaten (Daten, die in das Speicher-Array zu schreiben sind, falls die Steuereinrichtung vom Sender zum Empfänger geändert wird, oder Daten vom Speicher-Array, falls die Speichervorrichtung vom Sender zum Empfänger geändert wird). Bei einem Beispiel sendet die Vorrichtung, die nun der Empfänger von Benutzerdaten ist, bei 816 Metadaten in Umkehrrichtung über die unidirektionale Umkehr-Signalleitung zur Überwachung der Empfangsschnittstelle, um die Vorrichtung, die gegenwärtig der Sender ist, darauf vorzubereiten, dass sie beim nächsten Richtungswechsel des Datenbusses zum Empfänger wird.
  • 9 ist ein Blockdiagramm eines Beispiels eines Speicheruntersystems, worin eine bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann. Das System 900 weist einen Prozessor und Elemente eines Speicheruntersystems in einer Rechenvorrichtung auf. Das System 900 stellt ein Beispiel eines Systems entsprechend dem System 100, dem System 402, dem System 404, dem System 500, dem System 600 oder dem System 700 bereit.
  • Eine E/A 922 der Speichersteuereinrichtung 920 weist Schnittstellen zu bidirektionalen Daten(BD DQ)-Leitungen 936 auf. Eine E/A 942 der Speichervorrichtung 940 weist Schnittstellen zu BD-DQ-Leitungen 936 auf. Bei einem Beispiel weist die E/A 922 Schnittstellen zu unidirektionalen Daten(UD DQ)-Leitungen 982 auf. Bei einem Beispiel weist die E/A 942 Schnittstellen zu UD-DQ-Leitungen 982 auf. Die unidirektionalen Leitungen sind im System 900 durch einen nur in eine Richtung weisenden Pfeil repräsentiert. Die unidirektionalen Leitungen werden zur Überwachung der Empfangskonfiguration für eine sendende Vorrichtung verwendet, wodurch es der sendenden Vorrichtung ermöglicht wird, schnell zu einer empfangenden Vorrichtung überzugehen, wenn der Datenbus die Richtung ändert. Der Betrieb kann gemäß einem beschriebenen Beispiel erfolgen.
  • Bei einem Beispiel weist die Speichersteuereinrichtung 920 eine Steuerung (CTRL) 986 zur Repräsentation einer Schaltungsanordnung an der Steuereinrichtung auf, wodurch die Konfiguration der Empfangs-E/A auf der Grundlage von Umkehr-Metadaten eingestellt wird. Bei einem Beispiel weist die Steuerung 986 eine Master- und Slave-Steuerung auf. Bei einem Beispiel weist die Steuerung 986 eine getrennte Konfigurationssteuerung für jede E/A-Schnittstelle auf. Bei einem Beispiel weist die Speichervorrichtung 940 eine Steuerung (CTRL) 984 zur Repräsentation einer Schaltungsanordnung am Speicher auf, wodurch die Konfiguration der Empfangs-E/A auf der Grundlage von Umkehr-Metadaten eingestellt wird. Bei einem Beispiel weist die Steuerung 984 eine Master- und Slave-Steuerung auf. Bei einem Beispiel weist die Steuerung 984 eine getrennte Konfigurationssteuerung für jede E/A-Schnittstelle auf.
  • Der Prozessor 910 repräsentiert eine Verarbeitungseinheit einer Rechenplattform, die ein Betriebssystem (OS) und Anwendungen ausführen kann, die gemeinsam als Host oder Benutzer des Speichers bezeichnet werden können. Das OS und Anwendungen führen Operationen aus, die zu Speicherzugriffen führen. Der Prozessor 910 kann einen oder mehrere getrennte Prozessoren aufweisen. Jeder getrennte Prozessor kann eine einzige Verarbeitungseinheit, eine Mehrkern-Verarbeitungseinheit oder eine Kombination aufweisen. Die Verarbeitungseinheit kann ein Primärprozessor in der Art einer CPU (Zentralverarbeitungseinheit), ein Peripherieprozessor in der Art einer GPU (Graphikverarbeitungseinheit) oder eine Kombination sein. Speicherzugriffe können auch durch Vorrichtungen in der Art einer Netzsteuereinrichtung oder einer Festplatten-Steuereinrichtung eingeleitet werden. Solche Vorrichtungen können bei einigen Systemen mit dem Prozessor integriert sein oder über einen Bus (beispielsweise PCI-Express) am Prozessor angebracht sein, oder es kann eine Kombination davon vorliegen. Das System 900 kann als SOC (System-on-a-Chip) oder durch autonome Komponenten implementiert sein.
  • Ein Bezug auf Speichervorrichtungen kann für verschiedene Speichertypen gelten. Speichervorrichtungen beziehen sich häufig auf flüchtige Speichertechnologien. Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und daher die darauf gespeicherten Daten) unbestimmt ist (sind), falls die Stromzufuhr für die Vorrichtung unterbrochen wird. Nichtflüchtiger Speicher bezieht sich auf einen Speicher, dessen Zustand selbst dann bestimmt ist, wenn die Stromzufuhr für die Vorrichtung unterbrochen wird. Ein dynamischer flüchtiger Speicher erfordert das Wiederauffrischen der in der Vorrichtung gespeicherten Daten zur Aufrechterhaltung des Zustands. Ein Beispiel eines dynamischen flüchtigen Speichers umfasst DRAM (dynamischer Direktzugriffsspeicher) oder eine Variante in der Art eines synchronen DRAMs (SDRAMs). Ein hier beschriebenes Speicheruntersystem kann mit einer Anzahl von Speichertechnologien kompatibel sein, wie DDR4 (DDR-Version 4, JESD79-4, ursprünglich im September 2012 von JEDEC veröffentlicht), LPDDR4 (DDR-Version 4 mit niedriger Leistungsaufnahme, JESD209-4, ursprünglich im August 2014 von JEDEC veröffentlicht), WI02 (Wide I/O 2 (WideI02), JESD229-2, ursprünglich im August 2014 von JEDEC veröffentlicht), HBM (DRAM-Speicher hoher Bandbreite, JESD235A, ursprünglich im November 2015 von JEDEC veröffentlicht), DDR5 (DDR-Version 5, gegenwärtig von JEDEC erörtert), LPDDR5 (LPDDR-Version 5, JESD209-5, ursprünglich im Februar 2019 von JEDEC veröffentlicht), HBM2 ((HBM-Version 2), gegenwärtig von JEDEC erörtert) oder andere oder Kombinationen von Speichertechnologien und Technologien auf der Grundlage von Ableitungen oder Erweiterungen dieser Spezifikationen.
  • Zusätzlich oder alternativ zu einem flüchtigen Speicher kann sich bei einem Beispiel ein Bezug auf Speichervorrichtungen auf eine nichtflüchtige Speichervorrichtung beziehen, deren Zustand selbst dann bestimmt ist, wenn die Stromzufuhr zur Vorrichtung unterbrochen wird. Bei einem Beispiel ist die nichtflüchtige Speichervorrichtung eine blockadressierbare Speichervorrichtung, die NAND- oder NOR-Technologien verwendet. Demgemäß kann eine Speichervorrichtung auch nichtflüchtige Vorrichtungen künftiger Generationen einschließen, wie eine dreidimensionale Crosspoint-Speichervorrichtung und andere byteadressierbare nichtflüchtige Speichervorrichtungen. Eine Speichervorrichtung kann ein nichtflüchtiges byteadressierbares Medium einschließen, das Daten auf der Grundlage eines resistiven Zustands der Speicherzelle oder einer Phase der Speicherzelle speichert. Bei einem Beispiel kann die Speichervorrichtung ein Chalcogenid-Phasenänderungsmaterial (beispielsweise Chalcogenidglas) verwenden. Bei einem Beispiel kann die Speichervorrichtung einen NAND-Flash-Speicher mit mehreren Schwellenniveaus, einen NOR-Flash-Speicher, einen Einzel- oder Mehrniveau-Phasenänderungsspeicher (PCM) oder einen Phasenänderungsspeicher mit einem Schalter (PCMS), einen resistiven Speicher, einen Nanodrahtspeicher, einen Ferroelektrischer-Transistor-Direktzugriffsspeicher (FeTRAM), einen magnetoresistiven Direktzugriffsspeicher (MRAM), der eine Memristor-Technologie aufweist, oder einen Spinübertragungsdrehmoment(STT)-MRAM oder eine Kombination jeglicher der vorstehend erwähnten oder einen anderen Speicher bilden oder einschließen.
  • Die Speichersteuereinrichtung 920 repräsentiert eine oder mehrere Speichersteuereinrichtungsschaltungen oder -vorrichtungen für das System 900. Die Speichersteuereinrichtung 920 repräsentiert eine Steuerlogik, die Speicherzugriffsbefehle ansprechend auf die Ausführung von Operationen durch den Prozessor 910 erzeugt. Die Speichersteuereinrichtung 920 greift auf eine oder mehrere Speichervorrichtungen 940 zu. Die Speichervorrichtungen 940 können jeglichen der vorstehend erwähnten entsprechende DRAM-Vorrichtungen sein. Bei einem Beispiel werden Speichervorrichtungen 940 als verschiedene Kanäle organisiert und behandelt, wobei jeder Kanal mit Bussen und Signalleitungen koppelt, die parallel mit mehreren Speichervorrichtungen koppeln. Jeder Kanal ist unabhängig betätigbar. Demgemäß wird auf jeden Kanal unabhängig zugegriffen und wird jeder Kanal unabhängig gesteuert und sind die Zeitsteuerungs-, Datenübertragungs-, Befehls- und Adressaustausch- und andere Operationen für jeden Kanal getrennt. Kopplung kann sich auf eine elektrische Kopplung, eine kommunikative Kopplung, eine physische Kopplung oder eine Kombination von diesen beziehen. Eine physische Kopplung kann einen direkten Kontakt einschließen. Eine elektrische Kopplung umfasst eine Schnittstelle oder Verbindung, die einen elektrischen Fluss zwischen Komponenten oder eine Signalübertragung zwischen Komponenten oder beides ermöglicht. Eine kommunikative Kopplung umfasst Verbindungen, einschließlich verdrahteter oder drahtloser, die es Komponenten ermöglichen, Daten auszutauschen.
  • Bei einem Beispiel werden Einstellungen für die jeweiligen Kanäle durch getrennte Modusregister oder andere Registereinstellungen gesteuert. Bei einem Beispiel behandelt jede Speichersteuereinrichtung 920 einen getrennten Speicherkanal, wenngleich das System 900 so ausgelegt sein kann, dass es mehrere von einer einzigen Steuereinrichtung behandelte Kanäle aufweist oder mehrere Steuereinrichtungen auf einem einzigen Kanal aufweist. Bei einem Beispiel ist die Speichersteuereinrichtung 920 Teil des Host-Prozessors 910 in der Art von auf demselben Die oder im selben Baugruppenraum wie der Prozessor implementierter Logik.
  • Die Speichersteuereinrichtung 920 weist eine E/A-Schnittstellenlogik 922 zur Kopplung mit einem Speicherbus in der Art eines Speicherkanals, wie vorstehend erwähnt, auf. Die E/A-Schnittstellenlogik 922 (sowie die E/A-Schnittstellenlogik 942 der Speichervorrichtung 940) kann Anschlussstifte, Pads, Verbinder, Signalleitungen, Leiterbahnen oder Drähte oder andere Hardware zur Verbindung der Vorrichtungen oder eine Kombination von diesen aufweisen. Die E/A-Schnittstellenlogik 922 kann eine Hardwareschnittstelle aufweisen. Wie dargestellt, weist die E/A-Schnittstellenlogik 922 zumindest Treiber/Sendeempfänger für Signalleitungen auf. Üblicherweise koppeln Drähte innerhalb einer Integrierte-Schaltung-Schnittstelle mit einem Pad, Anschlussstift oder Verbinder, um Signalleitungen oder Leiterbahnen oder andere Drähte zwischen Vorrichtungen zu verbinden. Die E/A-Schnittstellenlogik 922 kann Treiber, Empfänger, Sendeempfänger oder einen Abschluss oder eine andere Schaltungsanordnung oder eine Kombination von Schaltungsanordnungen aufweisen, um Signale auf den Signalleitungen zwischen den Vorrichtungen auszutauschen. Der Austausch von Signalen weist wenigstens eines von Senden oder Empfangen auf. Wenngleich es als eine Kopplung der E/A 922 von der Speichersteuereinrichtung 920 mit der E/A 942 der Speichervorrichtung 940 dargestellt ist, ist zu verstehen, dass bei einer Implementation des Systems 900, wobei auf Gruppen von Speichervorrichtungen 940 parallel zugegriffen wird, mehrere Speichervorrichtungen E/A-Schnittstellen zu derselben Schnittstelle der Speichersteuereinrichtung 920 aufweisen können. Bei einer Implementation des Systems 900, das ein oder mehrere Speichermodule 970 aufweist, kann die E/A 942 Schnittstellenhardware des Speichermoduls zusätzlich zu Schnittstellenhardware auf der Speichervorrichtung selbst aufweisen. Andere Speichersteuereinrichtungen 920 weisen getrennte Schnittstellen zu anderen Speichervorrichtungen 940 auf.
  • Der Bus zwischen der Speichersteuereinrichtung 920 und den Speichervorrichtungen 940 kann als mehrere Signalleitungen implementiert sein, welche die Speichersteuereinrichtung 920 mit den Speichervorrichtungen 940 koppeln. Der Bus kann typischerweise wenigstens Takt(CLK)-932-, Befehls/Adress(CMD)-934- und Schreibdaten(DQ)- und Lesedaten(DQ)- und null oder mehr andere Signalleitungen 938 aufweisen. Bei einem Beispiel kann ein Bus oder eine Verbindung zwischen der Speichersteuereinrichtung 920 und dem Speicher als Speicherbus bezeichnet werden. Bei einem Beispiel ist der Speicherbus ein Multi-Drop-Bus. Die Signalleitungen für CMD können als „C/A-Bus“ (oder ADD/CMD-Bus oder eine andere Bezeichnung, welche die Übertragung von Befehls(C oder CMD)- und Adress(A oder ADD)-Informationen angibt) bezeichnet werden, und die Signalleitungen für Schreib- und Lese-DQ können als „Datenbus“ bezeichnet werden. Bei einem Beispiel weisen unabhängige Kanäle verschiedene Taktsignale, C/A-Busse, Datenbusse und andere Signalleitungen auf. Demgemäß kann das System 900 in dem Sinne, dass ein unabhängiger Schnittstellenweg als getrennter Bus angesehen werden kann, als mehrere „Busse“ aufweisend angesehen werden. Es ist zu verstehen, dass ein Bus zusätzlich zu den explizit dargestellten Leitungen wenigstens eine von Strobe-Signalleitungen, Alarmleitungen, Hilfsleitungen oder anderen Signalleitungen oder eine Kombination davon aufweisen kann. Es sei auch bemerkt, dass serielle Bustechnologien für die Verbindung zwischen der Speichersteuereinrichtung 920 und den Speichervorrichtungen 940 verwendet werden können. Ein Beispiel einer seriellen Bustechnologie ist die 8B10B-Codierung, wobei Hochgeschwindigkeitsdaten mit einem eingebetteten Takt über ein einziges differenzielles Signalpaar in jeder Richtung übertragen werden. Bei einem Beispiel repräsentiert CMD 934 parallel mit mehreren Speichervorrichtungen geteilte Signalleitungen. Bei einem Beispiel teilen sich mehrere Speichervorrichtungen codierende Befehlssignalleitungen von CMD 934, wobei jede eine getrennte Chipwähl(CS_n)-Signalleitung zur Auswahl individueller Speichervorrichtungen aufweist.
  • Es sei bemerkt, dass beim Beispiel des Systems 900 der Bus zwischen der Speichersteuereinrichtung 920 und den Speichervorrichtungen 940 einen subsidiären Befehlsbus CMD 934 und einen subsidiären Bus zur Übertragung der Schreib- und Lesedaten DQ aufweist. Bei einem Beispiel kann der Datenbus bidirektionale Daten(BD DQ)-Leitungen 936 für Lesedaten und für Schreib-/Befehlsdaten aufweisen. Bei einem anderen Beispiel kann der subsidiäre Bus unidirektionale Schreibsignalleitungen für das Schreiben von Daten vom Host zum Speicher und unidirektionale Leitungen für das Lesen von Daten vom Speicher zum Host aufweisen. Die unidirektionalen Leitungen sind bei UD DQ 982 repräsentiert und können umgekehrt weisende unidirektionale Leitungen zusätzlich zu den bidirektionalen Leitungen von BD DQ 936 aufweisen. Gemäß der gewählten Speichertechnologie und dem gewählten Systementwurf können andere Signale 938 einen Bus oder Unterbus begleiten, wie Strobe-Leitungen DQS. Auf der Grundlage des Entwurfs des Systems 900 oder einer Implementation, falls ein Entwurf mehrere Implementationen unterstützt, kann der Datenbus mehr oder weniger Bandbreite pro Speichervorrichtung 940 aufweisen. Beispielsweise kann der Datenbus Speichervorrichtungen unterstützen, die entweder eine x4-Schnittstelle, eine x8-Schnittstelle, eine xl6-Schnittstelle oder eine andere Schnittstelle aufweisen. Die Konvention „xW“, wobei W eine natürliche Zahl ist, die sich auf die Größe oder Breite der Schnittstelle der Speichervorrichtung 940 bezieht, repräsentiert die Anzahl der Signalleitungen für den Austausch von Daten mit der Speichersteuereinrichtung 920. Die Schnittstellengröße der Speichervorrichtungen ist ein Faktor, der steuert, wie viele Speichervorrichtungen gleichzeitig pro Kanal im System 900 verwendet werden können oder parallel mit denselben Signalleitungen gekoppelt werden können. Bei einem Beispiel können Speichervorrichtungen hoher Bandbreite, Vorrichtungen mit einer breiten Schnittstelle oder gestapelte Speicherkonfigurationen oder Kombinationen breitere Schnittstellen in der Art einer x128-Schnittstelle, einer x256-Schnittstelle, einer x512-Schnittstelle, einer x1024-Schnittstelle oder einer Datenbusschnittstelle mit einer anderen Breite ermöglichen.
  • Bei einem Beispiel tauschen die Speichervorrichtungen 940 und die Speichersteuereinrichtung 920 Daten in einem Burst oder einer Sequenz aufeinander folgender Datenübertragungen über den Datenbus aus. Der Burst entspricht einer Anzahl von Übertragungszyklen, die sich auf eine Busfrequenz bezieht. Bei einem Beispiel kann der Übertragungszyklus ein gesamter Taktzyklus für auf derselben Takt- oder Strobe-Signalflanke (beispielsweise auf der ansteigenden Flanke) auftretende Übertragungen sein. Bei einem Beispiel wird jeder Taktzyklus, der sich auf einen Zyklus des Systemtakts bezieht, in mehrere Einheitsintervalle (UIs) unterteilt, wobei jedes UI ein Übertragungszyklus ist. Beispielsweise lösen Übertragungen mit doppelter Datenrate an beiden Flanken des Taktsignals (beispielsweise ansteigend und abfallend) aus. Ein Burst kann eine konfigurierte Anzahl von UIs dauern, wobei es sich um eine in einem Register gespeicherte Konfiguration handeln kann, oder ohne weitere Vorbereitung ausgelöst werden. Beispielsweise kann eine Sequenz von acht aufeinander folgenden Übertragungsperioden als eine Burst-Länge von acht (BL8) angesehen werden und kann jede Speichervorrichtung 940 Daten auf jedem UI übertragen. Demgemäß kann eine auf BL8 arbeitende x8-Speichervorrichtung 64 Datenbits übertragen (8 Datensignalleitungen mal 8 Datenbits, die pro Leitung über den Burst übertragen werden). Es sei bemerkt, dass dieses einfache Beispiel lediglich der Erläuterung dient und nicht einschränkend ist.
  • Die Speichervorrichtungen 940 repräsentieren Speicherressourcen für das System 900. Bei einem Beispiel ist jede Speichervorrichtung 940 ein getrennter Speicher-Die. Bei einem Beispiel kann sich jede Speichervorrichtung 940 mit mehreren (beispielsweise 2) Kanälen pro Vorrichtung oder Die verbinden. Jede Speichervorrichtung 940 weist eine E/A-Schnittstellenlogik 942 auf, die eine durch die Implementation der Vorrichtung bestimmte Bandbreite aufweist (beispielsweise x16 oder x8 oder eine andere Schnittstellenbandbreite). Die E/A-Schnittstellenlogik 942 ermöglicht es den Speichervorrichtungen, sich mit der Speichersteuereinrichtung 920 zu verbinden. Die E/A-Schnittstellenlogik 942 kann eine Hardwareschnittstelle aufweisen und der E/A 922 der Speichersteuereinrichtung entsprechen, jedoch am Ende der Speichervorrichtung. Bei einem Beispiel sind mehrere Speichervorrichtungen 940 parallel mit denselben Befehls- und Datenbussen verbunden. Bei einem anderen Beispiel sind mehrere Speichervorrichtungen 940 parallel mit demselben Befehlsbus verbunden und mit verschiedenen Datenbussen verbunden. Beispielsweise kann das System 900 mit mehreren parallel geschalteten Speichervorrichtungen 940 ausgelegt sein, wobei jede Speichervorrichtung auf einen Befehl anspricht, und auf Speicherressourcen 960 zugreifen, die sich innerhalb der jeweiligen befinden. Für einen Schreibvorgang kann eine individuelle Speichervorrichtung 940 einen Teil des Gesamtdatenworts schreiben, und für einen Lesevorgang kann eine individuelle Speichervorrichtung 940 einen Teil des Gesamtdatenworts abrufen. Die restlichen Bits des Worts werden anderen Speichervorrichtungen parallel bereitgestellt oder von diesen empfangen.
  • Bei einem Beispiel befinden sich Speichervorrichtungen 940 direkt auf einer Hauptplatine oder Host-Systemplattform (beispielsweise einer PCB (gedruckten Leiterplatte), auf der der Prozessor 910 angeordnet ist) einer Rechenvorrichtung. Bei einem Beispiel können die Speichervorrichtungen 940 in Speichermodule 970 organisiert sein. Bei einem Beispiel repräsentieren die Speichermodule 970 Doppelreihen-Speichermodule (DIMMs). Bei einem Beispiel repräsentieren die Speichermodule 970 eine andere Organisation mehrerer Speichervorrichtungen, um sich zumindest einen Teil einer Zugriffs- oder Steuerschaltungsanordnung zu teilen, wobei es sich um eine von der Host-Systemplattform getrennte Schaltung, Vorrichtung oder Platine handeln kann. Die Speichermodule 970 können mehrere Speichervorrichtungen 940 aufweisen, und die Speichermodule können eine Unterstützung für mehrere getrennte Kanäle zu den aufgenommenen Speichervorrichtungen, die darauf angeordnet sind, aufweisen. Bei einem anderen Beispiel können die Speichervorrichtungen 940 in dieselbe Baugruppe wie die Speichersteuereinrichtung 920 aufgenommen sein, beispielsweise durch Techniken in der Art einer Mehrchipmodul(MCM)-, Package-on-Package-, Silicium-Durchkontaktierung(TSV)- oder anderer Techniken oder Kombinationen. Ähnlich können bei einem Beispiel mehrere Speichervorrichtungen 940 in Speichermodule 970 aufgenommen sein, die selbst in dieselbe Baugruppe wie die Speichersteuereinrichtung 920 aufgenommen sein können. Es ist zu verstehen, dass die Speichersteuereinrichtung 920 für diese und andere Implementationen Teil des Host-Prozessors 910 sein kann.
  • Die Speichervorrichtungen 940 weisen jeweils ein oder mehrere Speicher-Arrays 960 auf. Das Speicher-Array 960 repräsentiert adressierbare Speicherstellen oder Speicherstellen für Daten. Typischerweise wird das Speicher-Array 960 als Zeilen von Daten behandelt, worauf durch Wortleitungs(Zeilen)- und Bitleitungs(individuelle Bits innerhalb einer Zeile)-Steuerung zugegriffen wird. Das Speicher-Array 960 kann als getrennte Speicherkanäle, -ranks und -bänke organisiert sein. Kanäle können sich auf unabhängige Steuerwege zu Speicherstellen innerhalb der Speichervorrichtungen 940 beziehen. Ranks können sich auf gemeinsame Stellen über mehrere parallele Speichervorrichtungen beziehen (beispielsweise gleiche Zeilenadressen innerhalb verschiedener Vorrichtungen). Bänke können sich auf Unter-Arrays von Speicherstellen innerhalb einer Speichervorrichtung 940 beziehen. Bei einem Beispiel sind Speicherbänke in Unter-Bänke mit zumindest einem Teil der geteilten Schaltungsanordnung (beispielsweise Treiber, Signalleitungen, Steuerlogik) für die Unter-Bänke unterteilt, wodurch eine getrennte Adressierung und ein getrennter Zugriff ermöglicht werden. Es sei bemerkt, dass Kanäle, Ranks, Bänke, Unter-Bänke, Bankgruppen oder andere Organisationen der Speicherstellen und Kombinationen der Organisationen in ihrer Anwendung auf physische Ressourcen überlappen können. Beispielsweise kann auf dieselben physischen Speicherstellen über einen spezifischen Kanal als spezifische Bank zugegriffen werden, der auch zu einem Rank gehören kann. Demgemäß ist die Organisation von Speicherressourcen als einschließend und nicht als ausschließend zu verstehen.
  • Bei einem Beispiel weisen die Speichervorrichtungen 940 ein oder mehrere Register 944 auf. Das Register 944 repräsentiert eine oder mehrere Speichervorrichtungen oder Speicherstellen, die eine Konfiguration oder Einstellungen für den Betrieb der Speichervorrichtung bereitstellen. Bei einem Beispiel kann das Register 944 eine Speicherstelle für die Speichervorrichtung 940 zum Speichern von Daten für den Zugriff durch die Speichersteuereinrichtung 920 als Teil eines Steuer- oder Verwaltungsvorgangs bereitstellen. Bei einem Beispiel weist das Register 944 ein oder mehrere Modusregister auf. Bei einem Beispiel weist das Register 944 ein oder mehrere Mehrzweckregister auf. Die Konfiguration von Stellen innerhalb des Registers 944 kann die Speichervorrichtung 940 dafür konfigurieren, in verschiedenen „Modi“ zu arbeiten, wobei Befehlsinformationen auf der Grundlage des Modus unterschiedliche Operationen innerhalb der Speichervorrichtung 940 auslösen können. Zusätzlich oder alternativ können verschiedene Modi auch abhängig vom Modus unterschiedliche Operationen von Adressinformationen oder anderen Signalleitungen auslösen. Einstellungen des Registers 944 können eine Konfiguration für E/A-Einstellungen (beispielsweise Zeitsteuerung, Beendigung oder ODT (On-Die-Beendigung) 946, Treiberkonfigurations- oder andere E/A-Einstellungen) angeben.
  • Bei einem Beispiel weist die Speichervorrichtung 940 eine ODT 946 als Teil der Schnittstellenhardware in Zusammenhang mit der E/A 942 auf. Die ODT 946 kann wie vorstehend erwähnt konfiguriert sein und Einstellungen für die Impedanz bereitstellen, die auf die Schnittstelle für spezifizierte Signalleitungen anzuwenden ist. Bei einem Beispiel wird die ODT 946 auf DQ-Signalleitungen angewendet. Bei einem Beispiel wird die ODT 946 auf Befehlssignalleitungen angewendet. Bei einem Beispiel wird die ODT 946 auf Adresssignalleitungen angewendet. Bei einem Beispiel kann die ODT 946 auf eine Kombination der vorstehend Erwähnten angewendet werden. Die ODT-Einstellungen können auf der Grundlage davon geändert werden, ob eine Speichervorrichtung ein ausgewähltes Ziel ist, oder auf der Grundlage einer Zugriffsoperation oder einer Nicht-Zielvorrichtung geändert werden. Die Einstellungen der ODT 946 können die Zeitsteuerung und Reflexionen der Signalisierung auf den abgeschlossenen Leitungen beeinflussen. Eine sorgfältige Steuerung über die ODT 946 kann einen schnelleren Betrieb mit einer besseren Anpassung zwischen der angewendeten Impedanz und der Belastung ermöglichen. Die ODT 946 kann auf spezifische Signalleitungen der E/A-Schnittstelle 942, 922 (beispielsweise ODT für DQ-Leitungen oder ODT für CA-Leitungen) angewendet werden und wird nicht notwendigerweise auf alle Signalleitungen angewendet.
  • Die Speichervorrichtung 940 weist eine Steuereinrichtung 950 auf, welche Steuerlogik innerhalb der Speichervorrichtung zur Steuerung interner Operationen innerhalb der Speichervorrichtung repräsentiert. Beispielsweise decodiert die Steuereinrichtung 950 von der Speichersteuereinrichtung 920 gesendete Befehle und erzeugt interne Operationen zur Ausführung oder Erfüllung der Befehle. Die Steuereinrichtung 950 kann als interne Steuereinrichtung bezeichnet werden, und sie ist von der Speichersteuereinrichtung 920 des Hosts getrennt. Die Steuereinrichtung 950 kann auf der Grundlage des Registers 944 feststellen, welcher Modus ausgewählt ist, und die interne Ausführung von Operationen für den Zugriff auf Speicherressourcen 960 oder anderen Operationen auf der Grundlage des ausgewählten Modus konfigurieren. Die Steuereinrichtung 950 erzeugt Steuersignale zur Steuerung der Übermittlung von Bits innerhalb der Speichervorrichtung 940, um eine geeignete Schnittstelle für den ausgewählten Modus bereitzustellen und einen Befehl zu geeigneten Speicherstellen oder Adressen zu leiten. Die Steuereinrichtung 950 weist eine Befehlslogik 952 auf, die eine auf Befehls- und Adresssignalleitungen empfangene Befehlscodierung decodieren kann. Demgemäß kann die Befehlslogik 952 ein Befehlsdecodierer sein oder diesen aufweisen. Mit der Befehlslogik 952 kann die Speichervorrichtung Befehle identifizieren und interne Operationen zur Ausführung angeforderter Befehle erzeugen.
  • Wiederum mit Bezug auf die Speichersteuereinrichtung 920 sei bemerkt, dass die Speichersteuereinrichtung 920 eine Befehls(CMD)-Logik 924 aufweist, die Logik oder eine Schaltungsanordnung zur Erzeugung zu Speichervorrichtungen 940 zu sendender Befehle repräsentiert. Die Erzeugung der Befehle kann sich auf den Befehl vor der Planung oder die Präparation für das Absenden bereiter eingereihter Befehle beziehen. Generell weist die Signalisierung in Speicheruntersystemen Adressinformationen innerhalb des Befehls oder diesen begleitend auf, um eine oder mehrere Speicherstellen anzugeben oder auszuwählen, an denen die Speichervorrichtungen den Befehl ausführen sollten. Ansprechend auf die Planung von Transaktionen für die Speichervorrichtung 940 kann die Speichersteuereinrichtung 920 Befehle über die E/A 922 erteilen, um die Speichervorrichtung 940 zu veranlassen, die Befehle auszuführen. Bei einem Beispiel empfängt und decodiert die Steuereinrichtung 950 der Speichervorrichtung 940 über die E/A 942 von der Speichersteuereinrichtung 920 empfangene Befehls- und Adressinformationen. Auf der Grundlage der empfangenen Befehls- und Adressinformationen kann die Steuereinrichtung 950 den Zeitablauf von Operationen der Logik und Schaltungsanordnung innerhalb der Speichervorrichtung 940 zur Ausführung der Befehle steuern. Die Steuereinrichtung 950 ist für die Einhaltung von Standards oder Spezifikationen innerhalb der Speichervorrichtung 940, wie Zeitsteuerungs- und Signalisierungsanforderungen, verantwortlich. Die Speichersteuereinrichtung 920 kann die Einhaltung von Standards oder Spezifikationen durch Zugriffsplanung und -steuerung implementieren.
  • Die Speichersteuereinrichtung 920 weist einen Planer 930 auf, der Logik oder Schaltungsanordnungen zur Erzeugung und Einordnung zur Speichervorrichtung 940 zu sendender Transaktionen repräsentiert. Aus einer Perspektive könnte ausgesagt werden, dass die Primärfunktion der Speichersteuereinrichtung 920 in der Planung des Speicherzugriffs und anderer Transaktionen mit der Speichervorrichtung 940 besteht. Diese Planung kann die Erzeugung der Transaktionen selbst einschließen, um die Anforderungen von Daten durch den Prozessor 910 zu implementieren und die Integrität der Daten aufrechtzuerhalten (beispielsweise mit Befehlen, die sich auf eine Wiederauffrischung beziehen). Transaktionen können einen oder mehrere Befehle aufweisen und zur Übertragung von Befehlen oder Daten oder beiden über einen oder mehrere Zeitzyklen in der Art von Taktzyklen oder Einheitsintervallen führen. Transaktionen können sich auf einen Zugriff beziehen, wie Lese- oder Schreib- oder verwandte Befehle oder eine Kombination davon, und andere Transaktionen können Speicherverwaltungsbefehle zur Konfiguration, Einstellungs-, Datenintegritäts- oder andere Befehle oder eine Kombination davon aufweisen.
  • Die Speichersteuereinrichtung 920 weist typischerweise Logik in der Art eines Planers 930 auf, um die Auswahl und Einordnung von Transaktionen zur Verbesserung der Leistungsfähigkeit des Systems 900 zu ermöglichen. Demgemäß kann die Speichersteuereinrichtung 920 wählen, welche der ausstehenden Transaktionen in welcher Reihenfolge zur Speichervorrichtung 940 gesendet werden sollten, was typischerweise mit Logik erreicht wird, die viel komplexer ist als ein einfacher Silo-Algorithmus. Die Speichersteuereinrichtung 920 behandelt die Übertragung der Transaktionen zur Speichervorrichtung 940 und die Zeitsteuerung in Zusammenhang mit der Transaktion. Bei einem Beispiel weisen Transaktionen eine deterministische Zeitsteuerung auf, die von der Speichersteuereinrichtung 920 behandelt werden kann und verwendet werden kann, um zu bestimmen, wie die Transaktionen mit dem Planer 930 zu planen sind.
  • Bei einem Beispiel weist die Speichersteuereinrichtung 920 eine Wiederauffrischungs(REF)-Logik 926 auf. Die Wiederauffrischungslogik 926 kann für Speicherressourcen verwendet werden, die flüchtig sind und wiederaufgefrischt werden müssen, um einen deterministischen Zustand aufrechtzuerhalten. Bei einem Beispiel gibt die Wiederauffrischungslogik 926 eine Stelle für die Wiederauffrischung und einen Typ für die auszuführende Wiederauffrischung an. Die Wiederauffrischungslogik 926 kann eine Selbstwiederauffrischung innerhalb der Speichervorrichtung 940 auslösen oder externe Wiederauffrischungen ausführen, die als Autowiederauffrischungsbefehle bezeichnet werden können, indem sie Wiederauffrischungsbefehle sendet, oder sie kann eine Kombination davon ausführen. Bei einem Beispiel weist die Steuereinrichtung 950 innerhalb der Speichervorrichtung 940 eine Wiederauffrischungslogik 954 zur Anwendung einer Wiederauffrischung innerhalb der Speichervorrichtung 940 auf. Bei einem Beispiel erzeugt die Wiederauffrischungslogik 954 interne Operationen zur Ausführung einer Wiederauffrischung entsprechend einer von der Speichersteuereinrichtung 920 empfangenen externen Wiederauffrischung. Die Wiederauffrischungslogik 954 kann feststellen, ob eine Wiederauffrischung auf die Speichervorrichtung 940 gerichtet ist, und welche Speicherressourcen 960 ansprechend auf den Befehl wiederaufzufrischen sind.
  • 10 ist ein Blockdiagramm eines Beispiels eines Rechensystems, worin die bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann. Das System 1000 repräsentiert eine Rechenvorrichtung gemäß einem hier vorgestellten Beispiel und kann ein Laptopcomputer, ein Desktopcomputer, ein Tabletcomputer, ein Server, ein Spiel- oder Unterhaltungssteuersystem, eine eingebettete Rechenvorrichtung oder eine andere elektronische Vorrichtung sein. Das System 1000 stellt ein Beispiel eines Systems entsprechend dem System 100, dem System 402, dem System 404, dem System 500, dem System 600 oder dem System 700 bereit.
  • Bei einem Beispiel weist das Speicheruntersystem 1020 eine Metadaten(MD)-Schnittstelle 1090 auf. Die Metadaten-Schnittstelle 1090 repräsentiert eine schnelle bidirektionale Datenschnittstelle gemäß einem beschriebenen Beispiel. Die Metadaten-Schnittstelle 1090 weist N - 1 bidirektionale Datenschnittstellen, eine unidirektionale Schnittstelle von der Speichersteuereinrichtung 1022 zum Speicher 1030 und eine unidirektionale Schnittstelle vom Speicher 1030 zur Speichersteuereinrichtung 1022 auf. Die unidirektionalen Schnittstellen stellen das N-te Bit für einen N-Bit-Datenbus in Vorwärtsrichtung bereit, während sie auch eine umgekehrt weisende Metadaten-Lane zur Überwachung der Empfangskonfiguration aufrechterhalten. Der Betrieb der Metadaten-Schnittstelle 1090 kann einem Betrieb eines Busses mit bidirektionalen und unidirektionalen Lanes, wie beschrieben, entsprechen.
  • Das System 1000 weist einen Prozessor 1010 auf, der einen beliebigen Typ eines Mikroprozessors, einer Zentralverarbeitungseinheit (CPU), einer Graphikverarbeitungseinheit (GPU), eines Verarbeitungskerns oder anderer Verarbeitungshardware, einer anderen Prozessorvorrichtung oder eine Kombination davon einschließen kann, um die Verarbeitung oder Ausführung von Befehlen für das System 1000 bereitzustellen. Der Prozessor 1010 steuert den Gesamtbetrieb des Systems 1000 und kann ein oder mehrere programmierbare Mikroprozessoren für allgemeine Zwecke oder spezielle Zwecke, Digitalsignalprozessoren (DSPs), programmierbare Steuereinrichtungen, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikvorrichtungen (PLDs) oder eine Kombination dieser Vorrichtungen sein oder aufweisen. Der Prozessor 1010 kann als Host-Prozessorvorrichtung für das System 1000 angesehen werden.
  • Bei einem Beispiel weist das System 1000 eine mit dem Prozessor 1010 gekoppelte Schnittstelle 1012 auf, die eine Schnittstelle mit höherer Geschwindigkeit oder eine Schnittstelle mit hohem Durchsatz für Systemkomponenten, die Verbindungen höherer Bandbreite benötigen, wie das Speicheruntersystem 1020 oder Graphikschnittstellenkomponenten 1040, repräsentieren kann. Die Schnittstelle 1012 repräsentiert eine Schnittstellenschaltung, die eine autonome Komponente sein kann oder auf einem Prozessor-Die integriert sein kann. Die Schnittstelle 1012 kann als Schaltung auf dem Prozessor-Die integriert sein oder als Komponente auf einem System-on-a-Chip integriert sein. Wo vorhanden, verbindet die Graphikschnittstelle 1040 mit Graphikkomponenten zur Bereitstellung einer Sichtanzeige für einen Benutzer des Systems 1000. Die Graphikschnittstelle 1040 kann eine autonome Komponente sein oder auf dem Prozessor-Die oder System-on-a-Chip integriert sein. Bei einem Beispiel kann die Graphikschnittstelle 1040 eine hochauflösende (HD-) Anzeige oder höchstauflösende (UHD-) Anzeige ansteuern, die einem Benutzer eine Ausgabe bereitstellt. Bei einem Beispiel kann die Anzeige eine Touchscreen-Anzeige einschließen. Bei einem Beispiel erzeugt die Graphikschnittstelle 1040 eine Anzeige auf der Grundlage im Speicher 1030 gespeicherter Daten oder auf der Grundlage vom Prozessor 1010 ausgeführter Operationen oder beider.
  • Das Speicheruntersystem 1020 repräsentiert den Hauptspeicher des Systems 1000 und stellt einen Speicher für durch den Prozessor 1010 auszuführenden Code oder Datenwerte, die bei der Ausführung einer Routine zu verwenden sind, bereit. Das Speicheruntersystem 1020 kann eine oder mehrere Speichervorrichtungen 1030 in der Art eines Nurlesespeichers (ROM), Flash-Speichers, einer oder mehrerer Spielarten eines Direktzugriffsspeichers (RAM) in der Art eines DRAMs, 3DXP (dreidimensionaler Crosspoint) oder anderer Speichervorrichtungen oder eine Kombination solcher Vorrichtungen aufweisen. Der Speicher 1030 speichert und hostet unter anderem ein Betriebssystem (OS) 1032 zum Bereitstellen einer Softwareplattform zur Ausführung von Befehlen im System 1000. Zusätzlich können Anwendungen 1034 aus dem Speicher 1030 auf der Softwareplattform des OS 1032 ausgeführt werden. Die Anwendungen 1034 repräsentieren Programme, die ihre eigene Betriebslogik zur Ausführung einer oder mehrerer Funktionen aufweisen. Prozesse 1036 repräsentieren Agenten oder Routinen, die Zusatzfunktionen zum OS 1032 oder eine oder mehrere Anwendungen 1034 oder eine Kombination bereitstellen. Das OS 1032, die Anwendungen 1034 und die Prozesse 1036 stellen Softwarelogik zum Bereitstellen von Funktionen für das System 1000 bereit. Bei einem Beispiel weist das Speicheruntersystem 1020 eine Speichersteuereinrichtung 1022 auf, die eine Speichersteuereinrichtung zur Ausführung und Erteilung von Befehlen an den Speicher 1030 ist. Es sei bemerkt, dass die Speichersteuereinrichtung 1022 ein physischer Teil des Prozessors 1010 oder ein physischer Teil der Schnittstelle 1012 sein könnte. Die Speichersteuereinrichtung 1022 kann beispielsweise eine integrierte Speichersteuereinrichtung sein, die mit dem Prozessor 1010 auf einer Schaltung integriert ist, beispielsweise auf dem Prozessor-Die oder einem System-on-a-Chip integriert.
  • Wenngleich dies nicht spezifisch dargestellt ist, ist zu verstehen, dass das System 1000 einen oder mehrere Busse oder Bussysteme zwischen Vorrichtungen in der Art eines Speicherbusses, eines Graphikbusses, von Schnittstellenbussen oder anderen aufweisen kann. Busse oder andere Signalleitungen können Komponenten kommunikativ oder elektrisch miteinander koppeln oder die Komponenten sowohl kommunikativ als auch elektrisch koppeln. Busse können physische Kommunikationsleitungen, Punkt-zu-Punkt-Verbindungen, Brücken, Adapter, Steuereinrichtungen oder andere Schaltungsanordnungen oder eine Kombination aufweisen. Busse können beispielsweise einen oder mehrere von einem Systembus, einem Peripheriekomponentenverbindungs(PCI)-Bus, einem HyperTransport- oder Industriestandardarchitektur(ISA)-Bus, einem Kleincomputersystem-Schnittstellen(SCSI)-Bus, einem universellen seriellen Bus (USB) oder einem anderen Bus oder eine Kombination aufweisen.
  • Bei einem Beispiel weist das System 1000 eine Schnittstelle 1014 auf, die mit der Schnittstelle 1012 gekoppelt sein kann. Die Schnittstelle 1014 kann eine geringere Geschwindigkeit aufweisen als die Schnittstelle 1012. Bei einem Beispiel repräsentiert die Schnittstelle 1014 eine Schnittstellenschaltung, die autonome Komponenten und eine integrierte Schaltung aufweisen kann. Bei einem Beispiel koppeln mehrere Benutzerschnittstellenkomponenten oder Peripheriekomponenten oder beide mit der Schnittstelle 1014. Eine Netzschnittstelle 1050 stellt dem System 1000 die Fähigkeit bereit, über ein oder mehrere Netze mit fernen Vorrichtungen (beispielsweise Servern oder anderen Rechenvorrichtungen) zu kommunizieren. Die Netzschnittstelle 1050 kann einen Ethernet-Adapter, drahtlose Verbindungskomponenten, zellenbasierte Netzverbindungskomponenten, USB(universeller serieller Bus)- oder andere auf drahtgestützten oder drahtlosen Standards basierte oder proprietäre Schnittstellen aufweisen. Die Netzschnittstelle 1050 kann Daten mit einer fernen Vorrichtung austauschen, wobei dies das Senden im Speicher gespeicherter Daten oder das Empfangen im Speicher zu speichernder Daten einschließt.
  • Bei einem Beispiel weist das System 1000 eine oder mehrere Ein-/Ausgabe(E/A)-Schnittstellen 1060 auf. Eine E/A-Schnittstelle 1060 kann eine oder mehrere Schnittstellenkomponenten aufweisen, durch die ein Benutzer mit dem System 1000 interagiert (beispielsweise Audio-, alphanumerische, taktile/Berührungs- oder andere Verbindung). Eine Peripherieschnittstelle 1070 kann eine vorstehend nicht spezifisch erwähnte Hardwareschnittstelle einschließen. Peripheriegeräte beziehen sich im Allgemeinen auf Vorrichtungen, die sich unabhängig mit dem System 1000 verbinden. Eine abhängige Verbindung ist eine Verbindung, bei der das System 1000 die Softwareplattform oder die Hardwareplattform oder beide bereitstellt, worauf der Betrieb ausgeführt wird und womit ein Benutzer interagiert.
  • Bei einem Beispiel weist das System 1000 ein Massenspeicher-Untersystem 1080 zum nichtflüchtigen Speichern von Daten auf. Bei einem Beispiel können bei bestimmten Systemimplementationen zumindest bestimmte Komponenten des Massenspeichers 1080 Komponenten des Speicheruntersystems 1020 überlappen. Das Massenspeicher-Untersystem 1080 weist eine oder mehrere Massenspeichervorrichtungen 1084 auf, die ein herkömmliches Medium zum nichtflüchtigen Speichern großer Datenmengen in der Art einer oder mehrerer Magnetplatten, Halbleiterplatten, 3DXP- oder Platten auf optischer Basis oder eine Kombination sein oder aufweisen können. Der Massenspeicher 1084 hält Code oder Befehle und Daten 1086 in einem dauerhaften Zustand (d.h. der Wert wird trotz einer Unterbrechung der Stromzufuhr zum System 1000 aufrechterhalten). Der Massenspeicher 1084 kann allgemein als „Speicher“ angesehen werden, wenngleich der Speicher 1030 typischerweise der ausführende Speicher oder Arbeitsspeicher ist, um dem Prozessor 1010 Befehle zuzuführen. Während der Massenspeicher 1084 nichtflüchtig ist, kann der Speicher 1030 einen flüchtigen Speicher einschließen (d. h. der Wert oder der Zustand der Daten ist unbestimmt, falls die Leistung für das System 1000 unterbrochen wird). Bei einem Beispiel weist das Massenspeicher-Untersystem 1080 eine Steuereinrichtung 1082 zur Verbindung mit dem Massenspeicher 1084 auf. Bei einem Beispiel ist die Steuereinrichtung 1082 ein physischer Teil der Schnittstelle 1014 oder des Prozessors 1010 oder kann Schaltungen oder Logik sowohl im Prozessor 1010 als auch in der Schnittstelle 1014 aufweisen.
  • Eine Stromquelle 1002 stellt den Komponenten des Systems 1000 Strom bereit. Insbesondere ist die Stromquelle 1002 typischerweise mit einer oder mehreren Stromversorgungen 1004 im System 1000 verbunden, um den Komponenten des Systems 1000 Strom bereitzustellen. Bei einem Beispiel weist die Stromversorgung 1004 einen AC-zu-DC(Wechselstrom-zu-Gleichstrom)-Adapter zum Einstecken in eine Wandsteckdose auf. Dieser Wechselstrom kann von einer Stromquelle 1002 auf der Grundlage erneuerbarer Energie (beispielsweise Solarenergie) stammen. Bei einem Beispiel weist die Stromquelle 1002 eine Gleichstromquelle in der Art eines externen AC-zu-DC-Wandlers auf. Bei einem Beispiel weist die Stromquelle 1002 oder die Stromversorgung 1004 Drahtlosladehardware zum Laden durch die Nähe zu einem ladenden Feld auf. Bei einem Beispiel kann die Stromquelle 1002 eine interne Batterie oder Brennstoffzellenquelle aufweisen.
  • 11 ist ein Blockdiagramm eines Beispiels einer mobilen Vorrichtung, worin eine bidirektionale Datenübertragung mit einer umgekehrt weisenden Daten-Lane implementiert werden kann. Das System 1100 repräsentiert eine mobile Rechenvorrichtung in der Art eines Rechentablets, eines Mobiltelefons oder Smartphones, einer tragbaren Rechenvorrichtung oder einer anderen mobilen Vorrichtung oder eine eingebettete Rechenvorrichtung. Es sei bemerkt, dass bestimmte der Komponenten allgemein dargestellt sind und dass nicht alle Komponenten einer solchen Vorrichtung im System 1100 dargestellt sind. Das System 1100 stellt ein Beispiel eines Systems entsprechend dem System 100, dem System 402, dem System 404, dem System 500, dem System 600 oder dem System 700 bereit.
  • Bei einem Beispiel weist das Speicheruntersystem 1160 eine Metadaten(MD)-Schnittstelle 1190 auf. Die Metadaten-Schnittstelle 1190 repräsentiert eine schnelle bidirektionale Datenschnittstelle gemäß einem beschriebenen Beispiel. Die Metadaten-Schnittstelle 1190 weist N - 1 bidirektionale Datenschnittstellen, eine unidirektionale Schnittstelle von der Speichersteuereinrichtung 1164 zum Speicher 1162 und eine unidirektionale Schnittstelle vom Speicher 1162 zur Speichersteuereinrichtung 1164 auf. Die unidirektionalen Schnittstellen stellen das N-te Bit für einen N-Bit-Datenbus in Vorwärtsrichtung bereit, während sie auch eine umgekehrt weisende Metadaten-Lane zur Überwachung der Empfangskonfiguration aufrechterhalten. Der Betrieb der Metadaten-Schnittstelle 1190 kann einem Betrieb eines Busses mit bidirektionalen und unidirektionalen Lanes, wie beschrieben, entsprechen.
  • Das System 1100 weist den Prozessor 1110 auf, der die Primärverarbeitungsoperationen des Systems 1100 ausführt. Der Prozessor 1110 kann eine oder mehrere physische Vorrichtungen in der Art von Mikroprozessoren, Anwendungsprozessoren, Mikrosteuereinrichtungen, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel oder Prozessorvorrichtungen aufweisen. Der Prozessor 1110 kann als Host-Prozessorvorrichtung für das System 1100 angesehen werden. Die vom Prozessor 1110 ausgeführten Verarbeitungsoperationen schließen die Ausführung einer Betriebsplattform oder eines Betriebssystems ein, worauf Anwendungen und Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen, die sich auf die E/A (Ein-/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen beziehen, Operationen, die sich auf die Leistungsverwaltung beziehen, Operationen, die sich auf das Verbinden des Systems 1100 mit einer anderen Vorrichtung beziehen, oder eine Kombination. Die Verarbeitungsoperationen können auch Operationen einschließen, die sich auf Audio-E/A, Anzeige-E/A oder andere Verbindungen oder eine Kombination beziehen. Der Prozessor 1110 kann im Speicher gespeicherte Daten ausführen. Der Prozessor 1110 kann im Speicher gespeicherte Daten schreiben oder bearbeiten.
  • Bei einem Beispiel weist das System 1100 einen oder mehrere Sensoren 1112 auf. Die Sensoren 1112 repräsentieren eingebettete Sensoren oder Schnittstellen zu externen Sensoren oder eine Kombination. Die Sensoren 1112 ermöglichen es dem System 1100, eine oder mehrere Bedingungen einer Umgebung oder einer Vorrichtung, worin das System 1100 implementiert ist, zu überwachen oder zu erfassen. Die Sensoren 1112 können Umgebungssensoren (wie Temperatursensoren, Bewegungsdetektoren, Lichtdetektoren, Kameras, chemische Sensoren (beispielsweise Kohlenmonoxid-, Kohlendioxid- oder andere chemische Sensoren)), Drucksensoren, Beschleunigungsmesser, Gyroskope, medizinische oder physiologische Sensoren (beispielsweise Biosensoren, Herzfrequenz-Überwachungseinrichtungen oder andere Sensoren zur Erfassung physiologischer Attribute) oder andere Sensoren oder eine Kombination einschließen. Die Sensoren 1112 können auch Sensoren für biometrische Systeme in der Art von Fingerabdruckserkennungssystemen, Gesichtserfassungs- oder -erkennungssystemen oder anderen Systemen, die Benutzermerkmale erfassen oder erkennen, einschließen. Die Sensoren 1112 sollten breit und nicht die vielen verschiedenen Typen von Sensoren, die mit dem System 1100 implementiert werden könnten, einschränkend verstanden werden. Bei einem Beispiel koppeln ein oder mehrere Sensoren 1112 über eine mit dem Prozessor 1110 integrierte Frontend-Schaltung mit dem Prozessor 1110. Bei einem Beispiel koppeln ein oder mehrere Sensoren 1112 über eine andere Komponente des Systems 1100 mit dem Prozessor 1110.
  • Bei einem Beispiel weist das System 1100 ein Audiountersystem 1120 auf, das Hardware(beispielsweise Audiohardware und Audioschaltungen)- und Software(beispielsweise Treiber, Codecs)-Komponenten in Zusammenhang mit der Bereitstellung von Audiofunktionen für die Rechenvorrichtung repräsentiert. Audiofunktionen können eine Lautsprecher- oder Kopfhörerausgabe sowie eine Mikrofoneingabe einschließen. Vorrichtungen für solche Funktionen können in das System 1100 integriert oder mit dem System 1100 verbunden sein. Bei einem Beispiel interagiert ein Benutzer durch Bereitstellen von Audiobefehlen, die vom Prozessor 1110 empfangen und verarbeitet werden, mit dem System 1100.
  • Ein Anzeigeuntersystem 1130 repräsentiert Hardware(beispielsweise Anzeigevorrichtungen)- und Softwarekomponenten (beispielsweise Treiber), die eine Sichtanzeige zur Präsentation für einen Benutzer bereitstellen. Bei einem Beispiel weist die Anzeige taktile Komponenten oder Touchscreen-Elemente, mit denen ein Benutzer mit der Rechenvorrichtung interagieren kann, auf. Das Anzeigeuntersystem 1130 weist eine Anzeigeschnittstelle 1132 auf, welche die bestimmte Bildschirm- oder Hardwarevorrichtung aufweist, die verwendet wird, um einem Benutzer eine Anzeige bereitzustellen. Bei einem Beispiel weist die Anzeigeschnittstelle 1132 vom Prozessor 1110 getrennte Logik (in der Art eines Graphikprozessors) auf, um zumindest einige Verarbeitungen in Bezug auf die Anzeige auszuführen. Bei einem Beispiel weist das Anzeigeuntersystem 1130 eine Berührungsbildschirmvorrichtung auf, welche einem Benutzer sowohl eine Ausgabe als auch eine Eingabe bereitstellt. Bei einem Beispiel weist das Anzeigeuntersystem 1130 eine hochauflösende (HD-) oder höchstauflösende (UHD-) Anzeige auf, die einem Benutzer eine Ausgabe bereitstellt. Bei einem Beispiel weist das Anzeigeuntersystem eine Touchscreen-Anzeige auf oder treibt diese. Bei einem Beispiel erzeugt das Anzeigeuntersystem 1130 Anzeigeinformationen auf der Grundlage im Speicher gespeicherter Daten oder auf der Grundlage vom Prozessor 1110 ausgeführter Operationen oder beider.
  • Eine E/A-Steuereinrichtung 1140 repräsentiert Hardwarevorrichtungen und Softwarekomponenten, welche sich auf die Interaktion mit einem Benutzer beziehen. Die E/A-Steuereinrichtung 1140 kann Hardware verwalten, die Teil des Audiountersystems 1120 oder des Anzeigeuntersystems 1130 ist, oder beides. Zusätzlich veranschaulicht die E/A-Steuereinrichtung 1140 einen Verbindungspunkt für zusätzliche Vorrichtungen, die sich mit dem System 1100 verbinden, wodurch ein Benutzer mit dem System interagieren könnte. Beispielsweise könnten Vorrichtungen, die an das System 1100 angeschlossen werden können, Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder eine andere Anzeigevorrichtung, Tastatur- oder Tastenfeldvorrichtungen, Tasten/Schalter oder andere E/A-Vorrichtungen zur Verwendung mit spezifischen Anwendungen in der Art von Kartenlesern oder anderen Vorrichtungen einschließen.
  • Wie vorstehend erwähnt, kann die E/A-Steuereinrichtung 1140 mit dem Audiountersystem 1120 oder dem Anzeigeuntersystem 1130 oder beiden interagieren. Beispielsweise kann eine Eingabe durch ein Mikrofon oder eine andere Audiovorrichtung eine Eingabe oder Befehle für eine oder mehrere Anwendungen oder Funktionen des Systems 1100 bereitstellen. Zusätzlich kann eine Audioausgabe an Stelle der Anzeigeausgabe oder zusätzlich dazu bereitgestellt werden. Bei einem anderen Beispiel wirkt die Anzeigevorrichtung, falls das Anzeigeuntersystem einen Berührungsbildschirm aufweist, auch als Eingabevorrichtung, die zumindest teilweise durch die E/A-Steuereinrichtung 1140 verwaltet wird. Es kann auch zusätzliche Tasten oder Schalter auf dem System 1100 geben, um E/A-Funktionen bereitzustellen, die durch die E/A-Steuereinrichtung 1140 verwaltet werden.
  • Bei einem Beispiel verwaltet die E/A-Steuereinrichtung 1140 Vorrichtungen in der Art von Beschleunigungsmessern, Kameras, Lichtsensoren oder anderen Umgebungssensoren, Gyroskopen, eines globalen Positionsbestimmungssystems (GPS) oder anderer Hardware, die im System 1100 oder den Sensoren 1112 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein sowie dem System eine Umgebungseingabe bereitstellen, um seine Operationen zu beeinflussen (in der Art einer Rauschfilterung, eines Einstellens von Anzeigen zur Helligkeitsdetektion, des Anwendens eines Blitzes für eine Kamera oder anderer Merkmale).
  • Bei einem Beispiel weist das System 1100 eine Leistungsverwaltung 1150 auf, welche die Batterieleistungsverwendung, das Laden der Batterie und Merkmale, die sich auf einen Energiesparvorgang beziehen, verwaltet. Die Leistungsverwaltung 1150 verwaltet Leistung von der Stromquelle 1152, die den Komponenten des Systems 1100 Strom bereitstellt. Bei einem Beispiel weist die Stromquelle 1152 einen AC-zu-DC(Wechselstrom-zu-Gleichstrom)-Adapter zum Einstecken in eine Wandsteckdose auf. Dieser Wechselstrom kann aus erneuerbarer Energie bestehen (beispielsweise Solarenergie, bewegungsbasierter Energie). Bei einem Beispiel weist die Stromquelle 1152 nur Gleichstrom auf, der durch eine Gleichstromquelle in der Art eines externen Wechselstrom-zu-Gleichstrom-Wandlers bereitgestellt werden kann. Bei einem Beispiel weist die Stromquelle 1152 Drahtlosladehardware zum Laden durch die Nähe zu einem ladenden Feld auf. Bei einem Beispiel kann die Stromquelle 1152 eine interne Batterie oder Brennstoffzellenquelle aufweisen.
  • Ein Speicheruntersystem 1160 weist eine oder mehrere Speichervorrichtungen 1162 zum Speichern von Informationen im System 1100 auf. Das Speicheruntersystem 1160 kann nichtflüchtige (der Zustand ändert sich nicht, falls die Stromzufuhr zur Speichervorrichtung unterbrochen wird) oder flüchtige (der Zustand ist unbestimmt, falls die Stromzufuhr zur Speichervorrichtung unterbrochen ist) Speichervorrichtungen oder eine Kombination aufweisen. Der Speicher 1160 kann Anwendungsdaten, Benutzerdaten, Musik, Photos, Dokumente oder andere Daten sowie Systemdaten (langfristig oder temporär), die sich auf die Ausführung der Anwendungen und Funktionen des Systems 1100 beziehen, speichern. Bei einem Beispiel weist das Speicheruntersystem 1160 eine Speichersteuereinrichtung 1164 auf (die auch als Teil der Steuerung des Systems 1100 angesehen werden könnte und möglicherweise als Teil des Prozessors 1110 angesehen werden könnte). Die Speichersteuereinrichtung 1164 weist einen Planer zum Erzeugen und Erteilen von Befehlen für die Zugriffssteuerung der Speichervorrichtung 1162 auf.
  • Eine Konnektivität 1170 weist Hardwarevorrichtungen (beispielsweise drahtlose oder drahtgestützte Verbinder und Kommunikationshardware oder eine Kombination drahtgestützter und drahtloser Hardware) und Softwarekomponenten (beispielsweise Treiber, Protokollstapel) auf, um es dem System 1100 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die externe Vorrichtung könnte aus getrennten Vorrichtungen in der Art anderer Rechenvorrichtungen, drahtlosen Zugangspunkten oder Basisstationen sowie Peripheriegeräten in der Art von Headsets, Druckern oder anderen Vorrichtungen bestehen. Bei einem Beispiel tauscht das System 1100 Daten mit einer externen Vorrichtung zur Speicherung im Speicher oder zur Anzeige auf einer Anzeigevorrichtung aus. Die ausgetauschten Daten können im Speicher zu speichernde Daten oder bereits im Speicher gespeicherte Daten zum Lesen, Schreiben oder Bearbeiten von Daten einschließen.
  • Die Konnektivität 1170 kann mehrere verschiedene Konnektivitätstypen einschließen. Beispielsweise ist das System 1100 mit einer Mobilfunkkonnektivität 1172 und einer drahtlosen Konnektivität 1174 dargestellt. Die Mobilfunkkonnektivität 1172 bezieht sich allgemein auf eine Mobilnetzkonnektivität, die von drahtlosen Trägern bereitgestellt wird, wie sie durch GSM (globales System für die Mobilkommunikation) oder Variationen oder Ableitungen, CDMA (Getrenntlagevielfachzugriff) oder Variationen oder Ableitungen, TDM (Zeitgetrenntlagemultiplexierung) oder Variationen oder Ableitungen, LTE (Langzeitentwicklung - auch als „4G“ bezeichnet), 5G oder andere Mobilfunkdienststandards bereitgestellt wird. Die drahtlose Konnektivität 1174 bezieht sich auf eine drahtlose Konnektivität, die nicht auf Mobilfunk beruht, und sie kann persönliche Netze (wie Bluetooth), lokale Netze (wie WiFi) oder Weitbereichsnetze (wie WiMax) oder eine andere Drahtloskommunikation oder eine Kombination einschließen. Drahtloskommunikation bezieht sich auf die Übertragung von Daten durch die Verwendung modulierter elektromagnetischer Strahlung über ein nicht festes Medium. Eine drahtgestützte Kommunikation geschieht über ein festes Kommunikationsmedium.
  • Peripherieverbindungen 1180 weisen Hardwareschnittstellen und -verbinder sowie Softwarekomponenten (beispielsweise Treiber, Protokollstapel) zur Bildung von Peripherieverbindungen auf. Es sei bemerkt, dass das System 1100 sowohl eine Peripherievorrichtung („zu“ 1182) zu anderen Rechenvorrichtungen sein könnte als auch dass Peripherievorrichtungen daran angeschlossen sein könnten („von“ 1184). Das System 1100 weist üblicherweise einen „Anschlussverbinder“ auf, um andere Rechenvorrichtungen für solche Zwecke wie das Verwalten (beispielsweise Herunterladen, Hochladen, Ändern, Synchronisieren) von Inhalt auf dem System 1100 anzuschließen. Zusätzlich kann ein Anschlussverbinder ermöglichen, dass das System 1100 bestimmte Peripheriegeräte anschließt, die es ermöglichen, dass das System 1100 eine Inhaltsausgabe beispielsweise an audiovisuelle oder andere Systeme steuert.
  • Zusätzlich zu einem proprietären Anschlussverbinder oder einer anderen proprietären Verbindungshardware kann das System 1100 Peripherieverbindungen 1180 über übliche oder auf einem Standard beruhende Verbinder herstellen. Übliche Typen können einen Universeller-serieller-Bus(USB)-Verbinder (der beliebige von einer Anzahl verschiedener Hardwareschnittstellen aufweisen kann), DisplayPort, einschließlich MiniDisplayPort (MDP), High-Definition-Multimedia-Schnittstelle (HDMI) oder einen anderen Typ einschließen.
  • Generell sei in Bezug auf die hier gegebenen Beschreibungen bemerkt, dass bei einem Beispiel eine Vorrichtung zur Kommunikation über einen N-Bit-Bus Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale von einer Partnervorrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale zur Partnervorrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit (N - 1) bidirektionalen Signalleitungen, um Signale zur Partnervorrichtung zu senden und von dieser zu empfangen.
  • Bei einem Beispiel soll die unidirektionale Empfangsschnittstelle Metadaten von der Partnervorrichtung empfangen, wenn sie mit den (N - 1) bidirektionalen Schnittstellen zur Partnervorrichtung sendet. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Master-E/A(Ein-/Ausgabe)-Einstellung empfangen, um sich auf den Empfang von Signalen von der Partnervorrichtung über die (N - 1) bidirektionalen Signalleitungen mit den (N - 1) bidirektionalen Schnittstellen vorzubereiten. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer E/A-Leistungsaufnahme, einer E/A-Geschwindigkeit, einer E/A-Spannung oder einer E/A-Phase empfangen. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung der (N - 1) bidirektionalen Schnittstellen empfangen. Bei einem Beispiel sollen alle (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anwenden. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anfänglich anwenden und die E/A-Einstellung für eine spezifische bidirektionale Schnittstelle einstellen. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung mit einem Slave-Offset anwenden. Bei einem Beispiel umfasst der N-Bit-Bus einen Datenbus. Bei einem Beispiel umfasst N eine Breite einer Vorrichtungsdatenschnittstelle. Bei einem Beispiel umfasst die Partnervorrichtung eine Speichersteuereinrichtung für eine Speichervorrichtung. Bei einem Beispiel umfasst die Partnervorrichtung eine Speichervorrichtung für eine Speichersteuereinrichtung.
  • Generell sei mit Bezug auf die hier gegebenen Beschreibungen bemerkt, dass bei einem Beispiel ein System Folgendes aufweist: eine Speichersteuereinrichtung und eine Speichervorrichtung, die über einen N-Bit-Datenbus mit der Speichersteuereinrichtung gekoppelt ist, wobei die Speichervorrichtung Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale von der Speichersteuereinrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung mit einer unidirektionalen Signalleitung, um Signale zur Speichersteuereinrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit (N - 1) bidirektionalen Signalleitungen, um Signale zur Speichersteuereinrichtung zu senden und von dieser zu empfangen.
  • Bei einem Beispiel soll die unidirektionale Empfangsschnittstelle Metadaten von der Speichersteuereinrichtung empfangen, wenn sie mit den (N - 1) bidirektionalen Schnittstellen zur Speichersteuereinrichtung sendet. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Master-E/A(Ein-/Ausgabe)-Einstellung empfangen, um sich auf den Empfang von Signalen von der Speichersteuereinrichtung über die (N - 1) bidirektionalen Signalleitungen mit den (N - 1) bidirektionalen Schnittstellen vorzubereiten. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer E/A-Leistungsaufnahme, E/A-Geschwindigkeit, E/A-Spannung, E/A-Phase oder einer Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung der (N - 1) bidirektionalen Schnittstellen empfangen. Bei einem Beispiel sollen alle (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anwenden. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anfänglich anwenden und die E/A-Einstellung für eine spezifische bidirektionale Schnittstelle einstellen. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung mit einem Slave-Offset anwenden. Bei einem Beispiel weist das System ferner eine oder mehrere der Folgenden auf: eine Host-Prozessorvorrichtung, die mit der Speichersteuereinrichtung gekoppelt ist, eine Anzeige, die kommunikativ mit einem Host-Prozessor gekoppelt ist, eine Netzschnittstelle, die kommunikativ mit einem Host-Prozessor gekoppelt ist, oder eine Batterie zur Versorgung des Systems mit Strom.
  • Generell sei in Bezug auf die hier gegebenen Beschreibungen bemerkt, dass bei einem Beispiel eine Vorrichtung zur Kommunikation über einen Bus Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung nur mit einer ersten Signalleitung, um Signale von einer Partnervorrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung nur mit einer zweiten Signalleitung, um Signale zur Partnervorrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit von der ersten und zweiten Signalleitung getrennten (N - 1) Signalleitungen, um Signale zur Partnervorrichtung zu senden und von dieser zu empfangen.
  • Bei einem Beispiel soll die unidirektionale Empfangsschnittstelle Metadaten von der Partnervorrichtung empfangen, wenn sie mit den (N - 1) bidirektionalen Schnittstellen zur Partnervorrichtung sendet. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Master-E/A(Ein-/Ausgabe)-Einstellung empfangen, um sich auf den Empfang von Signalen von der Partnervorrichtung mit den (N - 1) bidirektionalen Schnittstellen vorzubereiten. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer E/A-Leistungsaufnahme, einer E/A-Geschwindigkeit, einer E/A-Spannung oder einer E/A-Phase empfangen. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung der (N - 1) bidirektionalen Schnittstellen empfangen. Bei einem Beispiel sollen alle (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anwenden. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anfänglich anwenden und die E/A-Einstellung für eine spezifische bidirektionale Schnittstelle einstellen. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung mit einem Slave-Offset anwenden. Bei einem Beispiel weist der Bus N + 1 Bits zur Implementation eines N-Bit-Datenbusses in jeder Richtung zwischen den Partnervorrichtungen auf. Bei einem Beispiel weist N eine Breite einer Vorrichtungsdatenschnittstelle auf. Bei einem Beispiel umfasst die Partnervorrichtung eine Speichersteuereinrichtung für eine Speichervorrichtung. Bei einem Beispiel umfasst die Partnervorrichtung eine Speichervorrichtung für eine Speichersteuereinrichtung.
  • Generell sei mit Bezug auf die hier gegebenen Beschreibungen bemerkt, dass bei einem Beispiel ein System Folgendes aufweist: eine Speichersteuereinrichtung und eine Speichervorrichtung, die über einen Datenbus mit der Speichersteuereinrichtung gekoppelt ist, wobei die Speichervorrichtung Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung nur mit einer ersten Signalleitung, um Signale von der Speichersteuereinrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung nur mit einer zweiten Signalleitung, um Signale zur Speichersteuereinrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit von der ersten und zweiten Signalleitung getrennten (N - 1) Signalleitungen, um Signale zur Speichersteuereinrichtung zu senden und von dieser zu empfangen.
  • Bei einem Beispiel soll die unidirektionale Empfangsschnittstelle Metadaten von der Speichersteuereinrichtung empfangen, wenn sie mit den (N - 1) bidirektionalen Schnittstellen zur Speichersteuereinrichtung sendet. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer Master-E/A(Ein-/Ausgabe)-Einstellung empfangen, um sich auf den Empfang von Signalen von der Speichersteuereinrichtung mit den (N - 1) bidirektionalen Schnittstellen vorzubereiten. Bei einem Beispiel soll die Empfangsschnittstelle Metadaten zum Trainieren einer E/A-Leistungsaufnahme, E/A-Geschwindigkeit, E/A-Spannung, E/A-Phase oder einer Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung der (N - 1) bidirektionalen Schnittstellen empfangen. Bei einem Beispiel sollen alle (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anwenden. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anfänglich anwenden und die E/A-Einstellung für eine spezifische bidirektionale Schnittstelle einstellen. Bei einem Beispiel sollen die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung mit einem Slave-Offset anwenden. Bei einem Beispiel weist das System ferner Folgendes auf: eine Host-Prozessorvorrichtung, die mit der Speichersteuereinrichtung gekoppelt ist, eine Anzeige, die kommunikativ mit einem Host-Prozessor gekoppelt ist, eine Netzschnittstelle, die kommunikativ mit einem Host-Prozessor gekoppelt ist, oder eine Batterie zur Versorgung des Systems mit Strom.
  • Hier dargestellte Flussdiagramme stellen Beispiele von Sequenzen verschiedener Prozessaktionen bereit. Die Flussdiagramme können von einer Software- oder Firmwareroutine auszuführende Operationen sowie physikalische Operationen angeben. Ein Flussdiagramm kann ein Beispiel der Implementation von Zuständen einer Finite-State-Machine (FSM) zeigen, die in Hardware und/oder Software implementiert sein kann. Wenngleich sie in einer bestimmten Sequenz oder Reihenfolge dargestellt sind, kann, sofern nichts anderes spezifiziert wird, die Reihenfolge der Aktionen modifiziert werden. Demgemäß sollten die dargestellten Diagramme nur als Beispiele verstanden werden und kann der Prozess in einer anderen Reihenfolge ausgeführt werden und können einige Aktionen parallel ausgeführt werden. Zusätzlich können eine oder mehrere Aktionen fortgelassen wurden, so dass nicht alle Implementationen alle Aktionen ausführen.
  • In dem Maße, dass hier verschiedene Operationen oder Funktionen beschrieben werden, können sie als Softwarecode, Befehle, eine Konfiguration und/oder Daten beschrieben oder definiert werden. Der Inhalt kann direkt ausführbar sein („Objekt“- oder „ausführbare“ Form), Quellcode oder ein Differenzcode („Delta“- oder „Patch“-Code) sein. Der Softwareinhalt des hier Beschriebenen kann durch einen Herstellungsartikel mit dem darauf gespeicherten Inhalt oder durch ein Verfahren zum Betreiben einer Kommunikationsschnittstelle für das Senden von Daten über die Kommunikationsschnittstelle bereitgestellt werden. Ein maschinenlesbares Speichermedium kann eine Maschine veranlassen, die beschriebenen Funktionen oder Operationen auszuführen, und einen Mechanismus aufweisen, der Informationen in einer von einer Maschine (beispielsweise Rechenvorrichtung, elektronisches System usw.) zugänglichen Form, beispielsweise auf beschreibbaren/nicht beschreibbaren Medien (beispielsweise Nurlesespeicher (ROM), Direktzugriffsspeicher (RAM), magnetischen Plattenspeichermedien, optischen Speichermedien, Flash-Speichervorrichtungen usw.), speichert. Eine Kommunikationsschnittstelle weist einen Mechanismus auf, der sich mit einem fest verdrahteten, drahtlosen, optischen usw. Medium verbindet, um mit einer anderen Vorrichtung in der Art einer Speicherbusschnittstelle, einer Prozessorbusschnittstelle, einer Internetverbindung, einer Plattensteuereinrichtung usw. zu kommunizieren. Die Kommunikationsschnittstelle kann durch Bereitstellen von Konfigurationsparametern und/oder Senden von Signalen, um die Kommunikationsschnittstelle vorzubereiten, ein den Softwareinhalt beschreibendes Datensignal bereitzustellen, konfiguriert werden. Auf die Kommunikationsschnittstelle kann durch einen oder mehrere Befehle oder ein oder mehrere Signale, die zur Kommunikationsschnittstelle gesendet werden, zugegriffen werden.
  • Verschiedene hier beschriebene Komponenten können Mittel zum Ausführen der beschriebenen Operationen oder Funktionen sein. Jede hier beschriebene Komponente weist Software, Hardware oder eine Kombination von diesen auf. Die Komponenten können als Softwaremodule, Hardwaremodule, Hardware für spezielle Zwecke (beispielsweise anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASIC), digitale Signalprozessoren (DSP) usw.), eingebettete Steuereinrichtungen, fest verdrahtete Schaltungsanordnungen usw. implementiert werden.
  • Neben dem hier Beschriebenen können verschiedene Modifikationen am Offenbarten und Implementationen der Erfindung vorgenommen werden, ohne von ihrem Schutzumfang abzuweichen. Daher sollten die hier vorgestellten Erläuterungen und Beispiele als erläuternd und nicht in einem einschränkenden Sinne ausgelegt werden. Der Schutzumfang der Erfindung sollte ausschließlich anhand der folgenden Ansprüche bemessen werden.

Claims (14)

  1. Vorrichtung zur Kommunikation über einen Bus, welche Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung nur mit einer ersten Signalleitung, um Signale von einer Partnervorrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung nur mit einer zweiten Signalleitung, um Signale zur Partnervorrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit von der ersten und zweiten Signalleitung getrennten (N - 1) Signalleitungen, um Signale zur Partnervorrichtung zu senden und von dieser zu empfangen.
  2. Vorrichtung nach Anspruch 1, wobei die unidirektionale Empfangsschnittstelle Metadaten von der Partnervorrichtung empfangen soll, wenn sie mit den (N - 1) bidirektionalen Schnittstellen zur Partnervorrichtung sendet.
  3. Vorrichtung nach Anspruch 2, wobei die Empfangsschnittstelle Metadaten zum Trainieren einer Master-E/A(Ein-/Ausgabe)-Einstellung empfangen soll, um sich auf den Empfang von Signalen von der Partnervorrichtung mit den (N - 1) bidirektionalen Schnittstellen vorzubereiten.
  4. Vorrichtung nach Anspruch 3, wobei die Empfangsschnittstelle Metadaten zum Trainieren einer E/A-Leistungsaufnahme, einer E/A-Geschwindigkeit, einer E/A-Spannung oder einer E/A-Phase empfangen soll.
  5. Vorrichtung nach Anspruch 3, wobei die Empfangsschnittstelle Metadaten zum Trainieren einer Entscheidungsrückkopplungsentzerrer(DFE)-Schaltung der (N - 1) bidirektionalen Schnittstellen empfangen soll.
  6. Vorrichtung nach Anspruch 3, wobei alle (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anwenden sollen.
  7. Vorrichtung nach Anspruch 3, wobei die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung anfänglich anwenden sollen und die E/A-Einstellung für eine spezifische bidirektionale Schnittstelle einstellen sollen.
  8. Vorrichtung nach Anspruch 3, wobei die (N - 1) bidirektionalen Schnittstellen die Master-E/A-Einstellung mit einem Slave-Offset anwenden sollen.
  9. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei der Bus N + 1 Bits zur Implementation eines N-Bit-Datenbusses in jeder Richtung zwischen den Partnervorrichtungen aufweist.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei N eine Breite einer Vorrichtungsdatenschnittstelle umfasst.
  11. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei die Partnervorrichtung eine Speichersteuereinrichtung für eine Speichervorrichtung umfasst.
  12. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei die Partnervorrichtung eine Speichervorrichtung für eine Speichersteuereinrichtung umfasst.
  13. System, welches Folgendes aufweist: eine Speichersteuereinrichtung und eine Speichervorrichtung, die über einen Datenbus mit der Speichersteuereinrichtung gekoppelt ist, wobei die Speichervorrichtung Folgendes aufweist: eine unidirektionale Empfangsschnittstelle zur Kopplung nur mit einer ersten Signalleitung, um Signale von der Speichersteuereinrichtung zu empfangen, eine unidirektionale Sendeschnittstelle zur Kopplung nur mit einer zweiten Signalleitung, um Signale zur Speichersteuereinrichtung zu senden, und (N - 1) bidirektionale Schnittstellen zur Kopplung mit von der ersten und zweiten Signalleitung getrennten (N - 1) Signalleitungen, um Signale zur Speichersteuereinrichtung zu senden und von dieser zu empfangen.
  14. System nach Anspruch 13, welches ferner eine oder mehrere der Folgenden aufweist: eine Host-Prozessorvorrichtung, die mit der Speichersteuereinrichtung gekoppelt ist, eine Anzeige, die kommunikativ mit einem Host-Prozessor gekoppelt ist, eine Netzschnittstelle, die kommunikativ mit einem Host-Prozessor gekoppelt ist, oder eine Batterie zur Versorgung des Systems mit Strom.
DE102020132763.3A 2020-03-23 2020-12-09 Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals Pending DE102020132763A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/827,205 US20200233821A1 (en) 2020-03-23 2020-03-23 Unidirectional information channel to monitor bidirectional information channel drift
US16/827,205 2020-03-23

Publications (1)

Publication Number Publication Date
DE102020132763A1 true DE102020132763A1 (de) 2021-11-18

Family

ID=71610243

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020132763.3A Pending DE102020132763A1 (de) 2020-03-23 2020-12-09 Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals

Country Status (3)

Country Link
US (1) US20200233821A1 (de)
JP (1) JP2021149931A (de)
DE (1) DE102020132763A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11012147B1 (en) * 2020-01-16 2021-05-18 M2SL Corporation Multi-mode communication adapter system with smartphone protector mechanism and method of operation thereof
US20220066961A1 (en) * 2020-08-26 2022-03-03 Micron Technology, Inc. Efficient turnaround policy for a bus
KR20220064786A (ko) * 2020-11-12 2022-05-19 삼성전자주식회사 Ufs 장치, ufs 장치의 동작 방법 및 ufs 장치를 포함하는 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56109057A (en) * 1980-02-04 1981-08-29 Hitachi Ltd Data communication system
US7158536B2 (en) * 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US6961862B2 (en) * 2004-03-17 2005-11-01 Rambus, Inc. Drift tracking feedback for communication channels
US7562285B2 (en) * 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US8737162B2 (en) * 2009-01-12 2014-05-27 Rambus Inc. Clock-forwarding low-power signaling system
WO2010085405A1 (en) * 2009-01-22 2010-07-29 Rambus Inc. Maintenance operations in a dram
WO2010093529A2 (en) * 2009-02-12 2010-08-19 Rambus Inc. Memory interface with reduced read-write turnaround delay
US10496309B2 (en) * 2016-11-13 2019-12-03 Intel Corporation Input/output (I/O) loopback function for I/O signaling testing
US11281603B2 (en) * 2018-08-03 2022-03-22 Kioxia Corporation Serial interface for semiconductor package
US10693686B2 (en) * 2018-08-30 2020-06-23 Christopher P. Maiorana DFE open loop training for DDR data buffer and registered clock driver
US11175689B2 (en) * 2020-03-17 2021-11-16 Nxp Usa, Inc. System and method of early turnaround indication for a D-PHY communication interface
US20210326041A1 (en) * 2021-06-25 2021-10-21 Intel Corporation Reference voltage training per path for high speed memory signaling
US20220393682A1 (en) * 2022-08-18 2022-12-08 Intel Corporation Unidirectional command bus phase drift compensation

Also Published As

Publication number Publication date
JP2021149931A (ja) 2021-09-27
US20200233821A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
US10109340B2 (en) Precharging and refreshing banks in memory device with bank group architecture
US10455698B2 (en) Load reduced memory module
DE112017004268T5 (de) Befehlsbus mit doppelter datenrate
DE102020132763A1 (de) Undirektionaler informationskanal zur überwachung einer drift eines bidirektionalen informationskanals
US10636475B2 (en) Memory device for receiving operation codes through dq pins, a memory module including the same, and a setting method of the memory module
EP2324431B1 (de) Eingangs-ausgangs-modul, verarbeitungsplattform und verfahren zur erweiterung einer speicherschnittstelle für eingangs-ausgangs-operationen
DE112016004243T5 (de) Hybrides Auffrischen mit verborgenen Auffrischungen und externen Auffrischungen
DE112015003397T5 (de) Vorrichtung, System und Verfahren zur Bestimmung von Vergleichsinformationen basierend auf Speicherdaten
US8347005B2 (en) Memory controller with multi-protocol interface
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
TWI777580B (zh) 記憶體裝置、記憶體系統以及操作記憶體裝置的方法
DE102020118897A1 (de) Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul
US10147481B2 (en) Clean data strobe signal generating circuit in read interface device
DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
US10416912B2 (en) Efficiently training memory device chip select control
CN109661654B (zh) 存储器中的差错校验和纠正码的扩展应用
DE112022000580T5 (de) Reduzierung der Latenzauswirkungen von Fehlerprüfung und Korrektur auf dem Chip (ECC)
US11114143B2 (en) Bipolar decoder for crosspoint memory cells
US11200113B2 (en) Auto-increment write count for nonvolatile memory
DE102018106863A1 (de) Speichersystem zum Unterstützen einer internen DQ-Terminierung eines Datenpuffers
DE102023110723A1 (de) Randomisierung von gezielten auffrischungsverwaltungs(directed refresh management - drfm)-pseudo-zielzeilenauffrischungs(pseudo target row refresh - pttr)-befehlen
DE112022000954T5 (de) Doppelabruf für Speicherdatenübertragung mit langer Burst-Länge
DE102022105932A1 (de) Komprimierter verbindungsstiftmit geschlossenem regelkreis