DE112017004268T5 - Befehlsbus mit doppelter datenrate - Google Patents

Befehlsbus mit doppelter datenrate Download PDF

Info

Publication number
DE112017004268T5
DE112017004268T5 DE112017004268.2T DE112017004268T DE112017004268T5 DE 112017004268 T5 DE112017004268 T5 DE 112017004268T5 DE 112017004268 T DE112017004268 T DE 112017004268T DE 112017004268 T5 DE112017004268 T5 DE 112017004268T5
Authority
DE
Germany
Prior art keywords
memory
signal lines
data rate
command
group
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
DE112017004268.2T
Other languages
English (en)
Inventor
George Vergis
Kuljit Bains
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 DE112017004268T5 publication Critical patent/DE112017004268T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • G06F13/1678Details of memory controller using bus width
    • 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
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

Ein Speicher-Subsystem weist einen Befehlsadressbus auf, der in der Lage ist, mit doppelter Datenrate betrieben zu werden. Eine Speicherschaltung weist N Befehlssignalleitungen auf, die mit einer Datenrate von 2R arbeiten, um Befehlsinformationen von einem Speichercontroller zu empfangen. Die Speicherschaltung weist 2N Befehlssignalleitungen auf, die mit einer Datenrate von R arbeiten, um die Befehle an eine oder mehrere Speichervorrichtungen zu übertragen. Während Verhältnisse von 1:2 spezifiziert sind, können ähnliche Techniken verwendet werden, um Befehlssignale mit höheren Datenraten über weniger Signalleitungen von einem Host an eine Logikschaltung zu senden, die dann die Befehlssignale mit niedrigeren Datenraten über mehr Signalleitungen überträgt.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität unter 35 U.S.C. § 365 (c) der US-Anmeldung Nr. 15/282,757 , eingereicht am 30. September 2016, mit dem Titel „DOUBLE DATA RATE COMMAND BUS“, die wiederum die Priorität der vorläufigen US-Patentanmeldung Nr. 62/380,360 , eingereicht am 26. August 2016, mit dem Titel „DOUBLE DATA RATE COMMAND BUS“, beansprucht, auf die hiermit in vollem Umfang Bezug genommen wird.
  • GEBIET
  • Die Beschreibungen betreffen im Allgemeinen Speichervorrichtungen, und insbesondere betreffen die Beschreibungen eine Befehlsbus-Schnittstelle mit doppelter Datenrate.
  • COPYRIGHT-HINWEIS/ERLAUBNIS
  • Teile der Offenbarung dieses Patentdokuments können Material enthalten, das dem Urheberrecht unterliegt. Der Urheberrechtsinhaber hat keine Einwände gegen die Vervielfältigung des Patentdokuments oder die Offenbarung des Patentes, wie sie in der Patentdatei oder den Patentakten des Patent- und Markenamtes angegeben ist, behält sich jedoch ansonsten alle Urheberrechte vor. Dieser Copyright-Hinweis gilt für alle Daten, wie sie unten und in den beigefügten Zeichnungen beschrieben sind, sowie für die unten beschriebene Software: Copyright © 2016, Intel Corporation, alle Rechte vorbehalten.
  • HINTERGRUND
  • Da die Leistung und der Durchsatz bei Prozessoren weiter zunehmen, kann der Datenaustausch von den Speichervorrichtungen zu dem Prozessor einen Engpass in der Elektronik und in den Computervorrichtungen schaffen. Um den Durchsatz zu erhöhen, wurden breitere Schnittstellen verwendet, um die Anzahl der Signalleitungen zu erhöhen, die zum Austausch von Signalen zwischen dem Speicher und den Prozessoren verwendet werden. Mehr Signalleitungen bedeuten jedoch mehr Pins an Anschlüssen, was zu größeren Paketen und mehr Stromverbrauch führt.
  • Im Fall von Speicher-Subsystemen mit Speichermodulen, wie z. B. Dual-Inline-Speichermodulen (DIMMs), ist es schwierig, breitere Speicherschnittstellen physisch zu implementieren. Bei DIMMs ist in der Regel die Pin-Anzahl der DIMM-Steckverbinder eingeschränkt, und die Verwendung breiterer Schnittstellen erfordert traditionell einen Kompromiss dahingehend, wie die Pin-Anzahl der Schnittstelle verwendet wird. Einige DIMMs weisen ein Register oder eine andere Logikvorrichtung zum Puffern der eingehenden Befehls- und Adresssignale vom Host auf, wodurch die Last des Hosts reduziert werden kann. Allerdings erfordern breitere Schnittstellen nicht nur einen Kompromiss der Pin-Verwendung für den DIMM-Steckverbinder, sondern können auch in einem größeren Registerpaket resultieren, was die Kosten erhöht. Außerdem erfordern breitere Busse mehr logische Stufen (z. B. mehr XOR- (Exklusiv-ODER) Stufen), um die Parität der Signale zu berechnen, was im Vergleich zu einem schmaleren Bus zu höheren Durchsatzverzögerungen führen kann.
  • Figurenliste
  • Die folgende Beschreibung beinhaltet die Diskussion von Figuren, die Darstellungen aufweisen, die für Implementierungen von Ausführungsformen der Erfindung beispielhaft angegeben sind. Die Zeichnungen sind beispielhaft und nicht einschränkend zu verstehen. Wie hierin verwendet, sind Bezugnahmen auf eine oder mehrere „Ausführungsformen“ so zu verstehen, dass sie ein bestimmtes Merkmal, eine Struktur und/oder eine Eigenschaft beschreiben, die in zumindest einer Implementierung der Erfindung enthalten ist. Daher beschreiben hier vorkommende Ausdrücke, wie etwa „in einer Ausführungsform“ oder „in einer alternativen Ausführungsform“ verschiedene Ausführungsformen und Implementierungen der Erfindung und beziehen sich nicht notwendigerweise auf dieselbe Ausführungsform. Sie schließen sich jedoch nicht notwendigerweise gegenseitig aus.
    • 1 ist ein Blockdiagramm einer Ausführungsform eines Systems mit einer Speichervorrichtung, die mit einem Befehlsbus mit doppelter Datenrate gekoppelt ist.
    • 2 ist ein Blockdiagramm einer Ausführungsform eines Systems mit einem Speichermodul, mit einem Befehlsbus mit doppelter Datenrate zwischen dem Host und dem Modul und einem Befehlsbus mit einer einfachen Datenrate zu den Speichervorrichtungen in dem Modul.
    • 3A ist ein Blockdiagramm einer Ausführungsform eines Systems mit einem Befehlsbus mit doppelter Datenrate mit Befehlssignalbursts.
    • 3B ist ein Blockdiagramm einer Ausführungsform eines Systems mit einem Befehlsbus mit doppelter Datenrate mit verschachtelten Befehlssignalen.
    • 4A ist ein Zeitdiagramm einer Ausführungsform einer relativen Signalisierungszeitsteuerung für einen Befehlsbus mit doppelter Datenrate.
    • 4B ist ein Zeitdiagramm einer Ausführungsform einer relativen Signalisierungszeitsteuerung, die einen Befehlsbus mit doppelter Datenrate und Befehlsbusse mit einer einfachen Datenrate darstellt.
    • 5 ist ein Blockdiagramm einer Ausführungsform eines Registers zum Koppeln an einen Host über einen Befehlsbus mit doppelter Datenrate und an einen Speicher über einen Befehlsbus mit einfacher Datenrate.
    • 6 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Senden von Befehlen über einen Befehlsbus mit doppelter Datenrate.
    • 7 ist ein Blockdiagramm einer Ausführungsform eines Computersystems, in dem ein Befehlsbus mit doppelter Datenrate implementiert werden kann.
    • 8 ist ein Blockdiagramm einer Ausführungsform einer mobilen Vorrichtung, in der ein Befehlsbus mit doppelter Datenrate implementiert werden kann.
  • Es folgen Beschreibungen bestimmter Einzelheiten und Implementierungen, einschließlich einer Beschreibung der Figuren, die einige oder alle der unten beschriebenen Ausführungsformen darstellen können, sowie andere mögliche Ausführungsformen oder Implementierungen der hierin dargestellten erfinderischen Konzepte.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie hier beschrieben, weist ein Speicher-Subsystem einen Befehlsadressbus auf, der ein Busbreitenmissverhältnis mit den Speichervorrichtungen hat. Der Befehlsbus vom Host ist schmaler und arbeitet mit einer höheren Datenrate als die native Befehlsbus-Schnittstelle der Speichervorrichtungen. Das Speicher-Subsystem weist eine Logik auf, um die Befehlssignale mit höherer Datenrate zu empfangen und diese mit der niedrigeren oder der Standarddatenrate an die Speichervorrichtungen weiterzuleiten. Die Logik kann somit eine Schnittstelle für einen Befehlsbus mit einer geringeren Anzahl von Signalleitungen und einer höheren Datenrate zu einem Befehlsbus mit einer höheren Anzahl von Signalleitungen und einer niedrigeren Datenrate sein.
  • In einer Ausführungsform kann der Befehlsbus vom Host in der Lage sein, mit doppelter Datenrate betrieben zu werden. In einer solchen Ausführungsform weist eine Speicherschaltung N Befehlssignalleitungen auf, die mit einer Datenrate von 2R arbeiten, um Befehlsinformationen von einem Speichercontroller zu empfangen. Die Speicherschaltung weist 2N Befehlssignalleitungen, die mit einer Datenrate von R arbeiten, um die Befehle an eine oder mehrere Speichervorrichtungen zu übertragen. Während Verhältnisse von 1:2 spezifiziert sind, können ähnliche Techniken verwendet werden, um Befehlssignale mit höheren Datenraten über weniger Signalleitungen von einem Host zu einer Logikschaltung zu senden, die dann die Befehlssignale mit niedrigeren Datenraten über mehr Signalleitungen überträgt. Mit Verhältnissen von 1:2 können Ausführungsformen für einen Befehlsbus mit doppelter Datenrate implementiert werden.
  • Mit der Verwendung von zwei unterschiedlichen Befehlsbussen oder zwei unterschiedlichen Stufen des Befehlsbusses, nämlich einer, die eine höhere Datenrate und eine niedrigere Signalanzahl aufweist, und einer, die eine niedrigere Datenrate und eine höhere Signalanzahl aufweist, kann die Busbreite vom Host reduziert werden, ohne die Bandbreite des Befehlsbusses zu beeinträchtigen. In einer Ausführungsform sind die zwei unterschiedlichen Busse oder unterschiedlichen Busabschnitte ein Abschnitt mit doppelter Datenrate (DDR) zwischen dem Host (z. B. dem Prozessor oder dem Speichercontroller) und der Steuerlogik und ein Abschnitt mit einfacher Datenrate (SDR) zwischen der Steuerlogik und den Speichervorrichtungen. DDR bezieht sich auf die Übertragung von Daten an beiden Flanken des Taktsignals (z. B. lösen eine steigende Flanke und eine fallende Flanke ein Datenbit aus), wohingegen sich SDR auf die Übertragung von Daten an jeder anderen Taktflanke oder an einer konsistenten Flanke (z. B. entweder die steigende oder die fallende Flanke, aber nicht beide) bezieht. Mit einer schmalen Busschnittstelle kann die Steuerlogik in einem kleineren physischen Paket implementiert werden. Außerdem kann die Paritätsberechnungslogik vereinfacht werden, da weniger Signalleitungen vorhanden sind. Die Parität wird normalerweise durch XOR-Verknüpfung unterschiedlicher Signalleitungen in Stufen (oder kaskadiert) berechnet; somit resultieren weniger Signalleitungen in weniger XOR-Stufen und einer geringeren Paritätsberechnungsverzögerung.
  • In einer Ausführungsform kann die Steuerlogik, wie etwa ein Register eines Speichermoduls, einen Modus aufweisen, der den hostzugewandten Befehls- und den Adressbus (C/A oder CMD/ADD, oder einfach CMD) mit einer höheren Rate (z. B. DDR) betreibt, und den speicherzugewandten CMD-Bus mit einer niedrigeren Rate (z. B SDR) betreibt. In einer solchen Ausführungsform können ältere Speichervorrichtungen verwendet werden, da die Befehlsbus-Schnittstelle für die Speichervorrichtungen nicht geändert wird. Somit können die Speichervorrichtungen die Befehlsbus-Schnittstelle immer noch mit einer niedrigeren Datenrate oder der Standarddatenrate (z. B. SDR) betreiben, während für den Befehlsbus vom Host eine höhere Datenrate ermöglicht wird.
  • In einer Ausführungsform weist das System eine Paritätsprüfung auf. In einer Ausführungsform berechnet die Steuerlogik die Parität der empfangenen Signale. In einer Ausführungsform sendet der Speichercontroller das Paritätssignal mit der gleichen Datenrate wie der Bus, den das Paritätssignal repräsentiert. Somit würde ein Paritätssignal für einen DDR-Bus zum Beispiel mit DDR gesendet werden, und ein Paritätssignal für einen SDR-Bus würde mit SDR gesendet werden.
  • 1 ist ein Blockdiagramm einer Ausführungsform eines Systems mit einer Speichervorrichtung, die mit einem Befehlsbus mit doppelter Datenrate gekoppelt ist. Das System 100 einen Prozessor und Elemente eines Speicher-Subsystems in einer Computervorrichtung auf. Der Prozessor 110 repräsentiert eine Verarbeitungseinheit einer Computerplattform, die ein Betriebssystem (OS) und Anwendungen ausführen kann, die gemeinsam als Host oder Benutzer des Speichers bezeichnet werden können. Das Betriebssystem und die Anwendungen führen Operationen aus, die in Speicherzugriffen resultieren. Der Prozessor 110 kann einen oder mehrere separate Prozessoren aufweisen. Jeder separate Prozessor kann eine einzelne Verarbeitungseinheit, eine Mehrkern-Verarbeitungseinheit, oder eine Kombination aufweisen. Die Verarbeitungseinheit kann ein Primärprozessor, wie etwa eine CPU (zentrale Verarbeitungseinheit), ein Peripherieprozessor, wie etwa eine GPU (Grafikverarbeitungseinheit), oder eine Kombination sein. Speicherzugriffe können auch von Vorrichtungen, wie etwa einem Netzwerkcontroller oder einem Festplattencontroller, initiiert werden. Solche Vorrichtungen können in einigen Systemen in den Prozessor integriert sein oder über einen Bus (z. B. PCI-Express), oder eine Kombination, mit dem Prozessor verbunden sein. Das System 100 kann als SOC (System-auf-Chip) oder mit Einzelkomponenten implementiert sein.
  • Ein Bezug auf Speichervorrichtungen kann auf unterschiedliche Speichertypen angewendet werden. Speichervorrichtungen beziehen sich häufig auf flüchtige Speichertechnologien. Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und damit die darauf gespeicherten Daten) unbestimmt ist, wenn die Stromversorgung der Vorrichtung unterbrochen ist. Nichtflüchtiger Speicher bezieht sich auf Speicher, dessen Zustand auch dann bestimmt ist, wenn die Stromversorgung der Vorrichtung unterbrochen ist. Für den dynamischen flüchtigen Speicher müssen die in der Vorrichtung gespeicherten Daten aktualisiert werden, um den Zustand zu erhalten. Ein Beispiel eines dynamischen flüchtigen Speichers umfasst DRAM (dynamischer Direktzugriffspeicher), oder eine Variante, wie etwa synchroner DRAM (SDRAM). Ein hier beschriebenes Speicher-Subsystem kann mit einer Anzahl von Speichertechnologien kompatibel sein, wie etwa DDR3 (doppelte Datenrate, Version 3, ursprüngliche Veröffentlichung von JEDEC (Joint Electronic Device Engineering Council) am 27. Juni 2007, derzeit auf Release 21), DDR4 (DDR-Version 4, initiale Spezifikation veröffentlicht im September 2012, von JEDEC), DDR4E (DDR-Version 4, erweitert, derzeit in Diskussion bei JEDEC), LPDDR3 (DDR-Version 3 mit niedriger Leistung, JESD209-3B, Aug. 2013, von JEDEC), LPDDR4 (DOPPELTE DATENRATE MIT NIEDRIGER LEISTUNG (LPDDR) Version 4, JESD209-4, ursprünglich im August 2014 veröffentlicht, von JEDEC), WI02 (Wide-I/O 2 (WideI02), JESD229-2, ursprünglich im August 2014 veröffentlicht, von JEDEC), HBM (DRAM-SPEICHER MIT HOHER BANDBREITE, JESD235, ursprünglich im Oktober 2013 veröffentlicht, von JEDEC), DDR5 (DDR-Version 5, derzeit in Diskussion bei JEDEC), LPDDR5 (derzeit in Diskussion bei JEDEC), HBM2 (HBM-Version 2), derzeit in Diskussion bei JEDEC), oder andere, oder Kombinationen von Speichertechnologien und auf Derivaten basierende Technologien oder Erweiterungen dieser Spezifikationen.
  • Zusätzlich oder alternativ zu einem flüchtigen Speicher kann sich der Bezug auf Speichervorrichtungen in einer Ausführungsform auf eine nichtflüchtige Speichervorrichtung beziehen, deren Zustand selbst dann bestimmt ist, wenn die Stromversorgung der Vorrichtung unterbrochen ist. In einer Ausführungsform ist die nichtflüchtige Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie etwa NAND- oder NOR-Technologien. Somit kann eine Speichervorrichtung auch eine nichtflüchtige Vorrichtung einer zukünftigen Generation aufweisen, wie etwa eine dreidimensionale Kreuzpunkt- (3DXP) Speichervorrichtung, andere byteadressierbare nichtflüchtige Speichervorrichtungen, oder Speichervorrichtungen, die Chalkogenid-Phasenänderungsmaterial (z. B. Chalkogenidglas) verwenden. In einer Ausführungsform kann die Speichervorrichtung ein NAND-Flash-Speicher mit mehreren Schwellwertpegeln, ein NOR-Flash-Speicher, ein Phasenänderungsspeicher (PCM) mit einer oder mehreren Ebenen, oder ein Phasenänderungsspeicher mit einem Schalter (PCMS), ein resistiver Speicher, ein Nanodrahtspeicher, ein ferroelektrischer Transistor-Direktzugriffsspeicher (FeTRAM), ein magnetoresistiver Direktzugriffs- (MRAM) Speicher, der Memristortechnologie aufweist, oder ein Spin-Transfer-Drehmoment- (STT) MRAM, oder eine Kombination aus einem der obigen Speicher oder einem anderen Speicher sein.
  • Beschreibungen hierin, die sich auf ein „RAM“ oder eine „RAM-Vorrichtung“ beziehen, können auf jede Speichervorrichtung angewendet werden, die einen wahlfreien Zugriff erlaubt, egal ob flüchtig oder nichtflüchtig. Beschreibungen, die sich auf ein „DRAM“ oder eine „DRAM-Vorrichtung“ beziehen, können sich auf eine flüchtige Direktzugriffsspeichervorrichtung beziehen. Die Speichervorrichtung oder der DRAM kann sich auf den Chip selbst, auf ein verpacktes Speicherprodukt, das einen oder mehrere Chips aufweist, oder auf beides beziehen. In einer Ausführungsform kann ein System mit einem flüchtigen Speicher, der aufgefrischt werden muss, auch einen nichtflüchtigen Speicher aufweisen.
  • Der Speichercontroller 120 repräsentiert eine oder mehrere Speichercontrollerschaltungen oder -vorrichtungen für das System 100 dar. Der Speichercontroller 120 repräsentiert eine Steuerlogik, die als Antwort auf die Ausführung von Operationen durch den Prozessor 110 Speicherzugriffsbefehle erzeugt. Der Speichercontroller 120 greift auf eine oder mehrere Speichervorrichtungen zu. Die Speichervorrichtungen 140 können DRAM-Vorrichtungen gemäß dem oben genannten sein. In einer Ausführungsform sind die Speichervorrichtungen 140 als unterschiedliche Kanäle organisiert und verwaltet, wobei jeder Kanal mit Bussen und Signalleitungen gekoppelt ist, die mit mehreren Speichervorrichtungen parallel gekoppelt sind. Jeder Kanal ist unabhängig voneinander betreibbar. Somit wird jeden Kanal unabhängig gesteuert und auf diesen zugegriffen, und die Zeitsteuerung, die Datenübertragung, der Befehls- und Adressenaustausch und andere Operationen sind für jeden Kanal separat. Wie hier verwendet, kann sich die Kopplung auf eine elektrische Kopplung, kommunikative Kopplung, physische Kopplung oder eine Kombination davon beziehen. Die physische Kopplung kann einen direkten Kontakt beinhalten. Die elektrische Kopplung umfasst eine Schnittstelle oder Verbindung, die den elektrischen Fluss zwischen Komponenten oder die Signalisierung zwischen Komponenten, oder beides, ermöglicht. Kommunikative Kopplung umfasst Verbindungen, einschließlich drahtgebundener oder drahtloser Verbindungen, über die Komponenten Daten austauschen können.
  • In einer Ausführungsform werden die Einstellungen für jeden Kanal durch separate Modusregister oder andere Registereinstellungen gesteuert. In einer Ausführungsform verwaltet jeder Speichercontroller 120 einen separaten Speicherkanal, obwohl das System 100 so konfiguriert sein kann, dass es mehrere Kanäle hat, die von einem einzelnen Controller verwaltet werden, oder dass es mehrere Controller für einen einzelnen Kanal hat. In einer Ausführungsform ist der Speichercontroller 120 Teil des Host-Prozessors 110, wie etwa eine Logik, die auf demselben Chip oder im selben Gehäuseraum wie der Prozessor implementiert ist.
  • Der Speichercontroller 120 weist eine E/A-Schnittstellenlogik 122 zum Koppeln an einen Speicherbus auf, wie etwa einen Speicherkanal, auf den oben Bezug genommen wurde. Die E/A-Schnittstellenlogik 122 (sowie die E/A-Schnittstellenlogik 142 der Speichervorrichtung 140) kann Pins, Kontaktstellen, Verbinder, Signalleitungen, Leiterbahnen oder Drähte oder andere Hardware zum Verbinden der Vorrichtungen, oder eine Kombination davon, aufweisen. Die E/A-Schnittstellenlogik 122 kann eine Hardwareschnittstelle aufweisen. Wie dargestellt, weist die E/A-Schnittstellenlogik 122 zumindest Treiber/Sendeempfänger für Signalleitungen auf. Üblicherweise sind Drähte innerhalb einer integrierten Schaltungsschnittstelle mit einer Kontaktstelle, einem Pin oder einem Steckverbinder gekoppelt, um Signalleitungen oder Leiterbahnen oder andere Drähte zwischen Vorrichtungen anzuschließen. Die E/A-Schnittstellenlogik 122 kann Treiber, Empfänger, Sendeempfänger oder Abschlüsse oder andere Schaltungen oder Kombinationen von Schaltungen aufweisen, um Signale auf den Signalleitungen zwischen den Vorrichtungen auszutauschen. Der Austausch von Signalen umfasst zumindest Senden oder Empfangen. Während hier eine Kopplung der E/A 122 von dem Speichercontroller 120 an die E/A 142 der Speichervorrichtung 140 gezeigt ist, versteht es sich, dass in einer Implementierung des Systems 100, bei der auf Gruppen von Speichervorrichtungen 140 parallel zugegriffen wird, mehrere Speichervorrichtungen E/A-Schnittstellen zu derselben Schnittstelle des Speichercontrollers 120 aufweisen können. In einer Implementierung des Systems 100, das eine oder mehrere Speichermodule 170 aufweist, kann die E/A 142 zusätzlich zu der Schnittstellenhardware in der Speichervorrichtung selbst Schnittstellenhardware des Speichermoduls aufweisen. Andere Speichercontroller 120 weisen separate Schnittstellen zu anderen Speichervorrichtungen 140 auf.
  • Der Bus zwischen dem Speichercontroller 120 und den Speichervorrichtungen 140 kann als mehrere Signalleitungen implementiert sein, die den Speichercontroller 120 mit den Speichervorrichtungen 140 koppeln. Der Bus kann typischerweise zumindest den Takt (CLK) 132, den Befehl/die Adresse (CMD) 134, Schreibdaten (DQ) und Lese-DQ 136, und Null oder mehr andere Signalleitungen 138 aufweisen. In einer Ausführungsform kann ein Bus oder eine Verbindung zwischen dem Speichercontroller 120 und dem Speicher als ein Speicherbus bezeichnet werden. Die Signalleitungen für CMD können als „C/A-Bus“ (oder ADD/CMD-Bus oder eine andere Bezeichnung, die 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. In einer Ausführungsform weisen unabhängige Kanäle unterschiedliche Taktsignale, C/A-Busse, Datenbusse und andere Signalleitungen auf. Somit kann das System 100 in dem Sinne als „mehrere Busse“ betrachtet werden, dass ein unabhängiger Schnittstellenpfad als separater Bus betrachtet werden kann. Es versteht sich, dass ein Bus zusätzlich zu den explizit gezeigten Leitungen zumindest eine von Strobe-Signalisierungsleitungen, Alarmleitungen, Hilfsleitungen, oder anderen Signalleitungen, oder eine Kombination aufweisen kann. Es versteht sich auch, dass serielle Bustechnologien für die Verbindung zwischen dem Speichercontroller 120 und den Speichervorrichtungen 140 verwendet werden können. Ein Beispiel für eine serielle Bustechnologie ist die 8B10B-Codierung und Übertragung von Hochgeschwindigkeitsdaten mit eingebettetem Takt über ein einzelnes differentielles Paar von Signalen in jeder Richtung.
  • In einer Ausführungsform können eine oder mehrere der CLK 132, CMD 134, DQ 136, oder eine andere 138 durch die Logik 180 zu den Speichervorrichtungen 140 geleitet werden. Die Logik 180 kann ein Register oder eine Pufferschaltung sein oder aufweisen. Die Logik 180 kann die Last der Schnittstelle zur E/A 122 reduzieren, was eine schnellere Signalisierung oder weniger Fehler oder beides ermöglicht. Die reduzierte Last kann daran liegen, dass die E/A 122 nur den Abschluss eines oder mehrerer Signale in der Logik 180 sieht, anstatt Abschlüsse der Signalleitungen an jeder der Speichervorrichtung 140 parallel. Während die E/A-Schnittstelle 142 nicht speziell so dargestellt ist, dass sie Treiber oder Sendeempfänger aufweist, ist zu verstehen, dass die E/A-Schnittstelle 142 Hardware aufweist, die zum Koppeln mit den Signalleitungen erforderlich ist. Außerdem zeigt, zum Zwecke der Vereinfachung der Darstellung, die E/A-Schnittstelle 142 nicht alle Signale, die dem entsprechen, was in Bezug auf die E/A-Schnittstelle 122 gezeigt ist. In einer Ausführungsform haben alle Signale der E/A-Schnittstelle 122 Entsprechungen bei der E/A-Schnittstelle 142. Einige oder alle der Signalleitungen, die die E/A-Schnittstelle 142 verbinden, können von der Logik 180 bereitgestellt werden. In einer Ausführungsform koppeln bestimmte Signale von der E/A-Schnittstelle 122 nicht direkt an die E/A-Schnittstelle 142, sondern koppeln durch Logik 180, während eines oder mehrere andere Signale direkt von der E/A-Schnittstelle 122 über die E/A-Schnittstelle 172 mit der E/A-Schnittstelle 142 gekoppelt werden können, jedoch ohne durch die Logik 180 gepuffert zu werden. Die Signale 182 repräsentieren die Signale, die durch die Logik 180 mit den Speichervorrichtungen 140 verbinden.
  • Es versteht sich, dass in dem Beispiel des Systems 100 der Bus zwischen dem Speichercontroller 120 und den Speichervorrichtungen 140 einen subsidiären Befehlsbus CMD 134 und einen subsidiären Bus zum Übertragen der Schreib- und Lesedaten DQ 136 aufweist. In einer Ausführungsform kann der Datenbus bidirektionale Leitungen für Lesedaten und für Schreib-/Befehlsdaten aufweisen. In einer anderen Ausführungsform kann der subsidiäre Bus DQ 136 unidirektionale Schreibsignalleitungen zum Schreiben und für Daten vom Host zum Speicher aufweisen, und kann unidirektionale Leitungen zum Lesen von Daten vom Speicher zum Host aufweisen. Gemäß der gewählten Speichertechnologie und dem Systemdesign können andere Signale 138 einen Bus oder einen Sub-Bus, wie etwa Strobe-Leitungen DQS, begleiten. Basierend auf dem Design des Systems 100 oder der Implementierung kann, wenn ein Design mehrere Implementierungen unterstützt, der Datenbus mehr oder weniger Bandbreite pro Speichervorrichtung 140 aufweisen. Zum Beispiel kann der Datenbus Speichervorrichtungen unterstützen, die entweder eine x32-Schnittstelle oder eine xl6-Schnittstelle, eine x8-Schnittstelle oder eine andere Schnittstelle aufweisen. Die Konvention ist „xW“, wobei W eine ganze Zahl ist, die sich auf eine Schnittstellengröße oder Breite der Schnittstelle der Speichervorrichtung 140 bezieht, die eine Anzahl von Signalleitungen zum Austauschen von Daten mit dem Speichercontroller 120 repräsentiert. Die Anzahl ist häufig binär, aber ist nicht darauf begrenzt. Die Schnittstellengröße der Speichervorrichtungen ist ein Steuerungsfaktor dafür, wie viele Speichervorrichtungen gleichzeitig pro Kanal im System 100 verwendet werden können oder parallel mit den gleichen Signalleitungen gekoppelt sind. In einer Ausführungsform können Speichervorrichtungen mit hoher Bandbreite, breite Schnittstellenvorrichtungen, oder gestapelte Speicherkonfigurationen, oder Kombinationen, breitere Schnittstellen ermöglichen, wie etwa eine x128-Schnittstelle, eine x256-Schnittstelle, eine x512-Schnittstelle, eine xl024-Schnittstelle oder eine andere Datenbusschnittstellenbreite.
  • Die Speichervorrichtungen 140 repräsentieren Speicherressourcen für das System 100. In einer Ausführungsform ist jede Speichervorrichtung 140 ein separater Speicherchip. In einer Ausführungsform kann jede Speichervorrichtung 140 mit mehreren (z. B. 2) Kanälen pro Vorrichtung oder Chip verbunden sein. Jede Speichervorrichtung 140 weist eine E/A-Schnittstellenlogik 142 auf, die eine durch die Implementierung der Vorrichtung bestimmte Bandbreite aufweist (z. B. x16 oder x8 oder eine andere Schnittstellenbandbreite). Die E/A-Schnittstellenlogik 142 ermöglicht es den Speichervorrichtungen, sich mit dem Speichercontroller 120 zu verbinden. Die E/A-Schnittstellenlogik 142 kann eine Hardwareschnittstelle aufweisen und kann der E/A 122 des Speichercontrollers entsprechen, aber am Ende der Speichervorrichtung. In einer Ausführungsform sind mehrere Speichervorrichtungen 140 parallel an den gleichen Befehls- und Datenbus angeschlossen. In einer anderen Ausführungsform sind mehrere Speichervorrichtungen 140 parallel an den gleichen Befehlsbus angeschlossen und an unterschiedliche Datenbusse angeschlossen. Zum Beispiel kann das System 100 mit mehreren parallel gekoppelten Speichervorrichtungen 140 konfiguriert sein, wobei jede Speichervorrichtung auf einen Befehl reagiert und auf interne Speicherressourcen 160 zugreift. Für eine Schreiboperation kann eine individuelle Speichervorrichtung 140 einen Teil des Gesamtdatenworts schreiben, und für eine Leseoperation kann eine individuelle Speichervorrichtung 140 einen Teil des Gesamtdatenworts abrufen. Als nicht einschränkende Beispiele kann eine spezifische Speichervorrichtung 8 Bits eines 128-Bit-Datenworts für eine Lese- oder Schreibtransaktion bereitstellen bzw. empfangen, oder 8 Bits oder 16 Bits (abhängig von einer x8- oder einer x16-Vorrichtung) eines 256-Bit-Datenworts. Die verbleibenden Bits des Wortes werden parallel von anderen Speichervorrichtungen bereitgestellt oder empfangen.
  • In einer Ausführungsform sind die Speichervorrichtungen 140 direkt auf einer Hauptplatine oder einer Hostsystemplattform (z. B. einer PCB (gedruckte Leiterplatte), auf der der Prozessor 110 angeordnet ist) einer Computervorrichtung angeordnet. In einer Ausführungsform können Speichervorrichtungen 140 in Speichermodulen 170 organisiert sein. In einer Ausführungsform repräsentieren Speichermodule 170 Dual-Inline-Speichermodule (DIMMs). In einer Ausführungsform repräsentieren die Speichermodule 170 eine andere Organisation von mehreren Speichervorrichtungen, um sich zumindest einen Teil der Zugriffs- oder Steuerschaltung zu teilen, die eine separate Schaltung, eine separate Vorrichtung oder eine von der Hostsystemplattform separate Platine sein kann. Die Speichermodule 170 können mehrere Speichervorrichtungen 140 aufweisen, und die Speichermodule können Unterstützung mehrerer getrennter Kanäle für die darin enthaltenen Speichervorrichtungen beinhalten. In einer anderen Ausführungsform können die Speichervorrichtungen 140 in das gleiche Gehäuse wie der Speichercontroller 120 eingebaut sein, wie etwa durch Techniken, wie etwa Multi-Chip-Modul (MCM), „Package-on-Package“, „Through-Silicon-VIA“ (TSV), oder andere Techniken, oder Kombinationen. In ähnlicher Weise können in einer Ausführungsform mehrere Speichervorrichtungen 140 in Speichermodule 170 eingebaut sein, die selbst in das gleiche Gehäuse wie der Speichercontroller 120 eingebaut sein können. Es wird geschätzt werden, dass der Speichercontroller 120 für diese und andere Ausführungsformen Teil des Hostprozessors 110 sein kann.
  • Die Speichervorrichtungen 140 weisen jeweils Speicherressourcen 160 auf. Die Speicherressourcen 160 repräsentieren individuelle Arrays von Speicherstellen oder Speicherplätzen für Daten. Typischerweise werden die Speicherressourcen 160 als Datenleitung verwaltet, auf die über die Steuerung der Wortleitung (Leitungen) und der Bitleitung (einzelne Bits innerhalb einer Zeile) zugegriffen wird. Die Speicherressourcen 160 können als separate Kanäle, Ränge und Speicherbanken organisiert sein. Kanäle können sich auf unabhängige Steuerpfade zu Speicherplätzen in Speichervorrichtungen 140 beziehen. Ränge können sich auf gemeinsame Positionen über mehrere Speichervorrichtungen hin beziehen (z. B. gleiche Leitungsadressen in unterschiedlichen Vorrichtungen). Banken können sich auf Arrays von Speicherstellen in einer Speichervorrichtung 140 beziehen. In einer Ausführungsform sind Speicherbanken in Subbanken mit zumindest einem Teil einer gemeinsam genutzten Schaltung (z. B. Treiber, Signalleitungen, Steuerlogik) für die Banken aufgeteilt. Es versteht sich, dass Kanäle, Ränge, Banken, Subbänke, Bankgruppen oder andere Organisationen der Speicherstellen und Kombinationen der Organisationen bei ihrer Anwendung auf physische Ressourcen überlappen können. Zum Beispiel kann auf die gleichen physischen Speicherstellen über einen spezifischen Kanal als eine spezifische Bank zugegriffen werden, die auch zu einem Rang gehören kann. Somit wird die Organisation von Speicherressourcen auf inklusive und nicht auf exklusive Weise verstanden.
  • In einer Ausführungsform weisen die Speichervorrichtungen 140 eines oder mehrere Register 144 auf. Das Register 144 repräsentiert eine oder mehrere Speichervorrichtungen oder Speicherplätze, die eine Konfiguration oder Einstellungen für den Betrieb der Speichervorrichtung bereitstellen. In einer Ausführungsform kann das Register 144 einen Speicherplatz für die Speichervorrichtung 140 bereitstellen, um Daten für den Zugriff durch den Speichercontroller 120 als Teil einer Steuer- oder Verwaltungsoperation zu speichern. In einer Ausführungsform weist das Register 144 eines oder mehrere Modusregister auf. In einer Ausführungsform weist das Register 144 eines oder mehrere Mehrzweckregister auf. Die Konfiguration von Orten innerhalb des Registers 144 kann die Speichervorrichtung 140 so konfigurieren, dass sie in einem anderen „Modus“ arbeitet, wobei Befehlsinformationen basierend auf dem Modus unterschiedliche Operationen in der Speichervorrichtung 140 auslösen können. Zusätzlich oder alternativ können unterschiedliche Modi abhängig von der Betriebsart auch eine zu Adressinformation unterschiedliche Operationen oder andere Signalleitungen auslösen. Die Einstellungen des Registers 144 können die Konfiguration der E/A-Einstellungen angeben (z. B. Zeitsteuerung, Abschluss oder ODT (Abschluss auf Die), Treiberkonfiguration, oder andere E/A-Einstellungen).
  • In einer Ausführungsform weist die Speichervorrichtung 140 einen ODT als Teil der Schnittstellenhardware auf, die der E/A-Schnittstelle 142 zugeordnet ist. In einer Ausführungsform ist die I/O-Schnittstelle 172 in der Logik 180 enthalten. Im Allgemeinen kann der ODT Einstellungen für die Impedanz bereitstellen, die auf die Schnittstelle zu spezifizierten Signalleitungen angewendet werden. In einer Ausführungsform wird der ODT auf DQ-Signalleitungen angewendet. In einer Ausführungsform wird der ODT auf Befehlssignalleitungen angewendet. In einer Ausführungsform wird der ODT auf Adresssignalleitungen angewendet. In einer Ausführungsform kann der ODT auf eine beliebige Kombination des Vorstehenden angewendet werden. Die ODT-Einstellungen können abhängig davon geändert werden, ob eine Speichervorrichtung ein ausgewähltes Ziel einer Zugriffsoperation oder eine Nicht-Zielvorrichtung ist. ODT-Einstellungen können die Zeitsteuerung und die Reflexionen der Signalisierung auf den abgeschlossenen Leitungen beeinflussen. Eine sorgfältige Steuerung des ODT kann einen Betrieb mit höherer Geschwindigkeit mit verbesserter Anpassung der angewendeten Impedanz und Last ermöglichen. Der ODT kann auf spezifizierte Signalleitungen der E/A-Schnittstellen angewendet werden und wird nicht notwendigerweise auf alle Signalleitungen angewendet.
  • Die Speichervorrichtung 140 weist einen Controller 150 auf, der eine Steuerlogik in der Speichervorrichtung zur Steuerung von internen Operationen in der Speichervorrichtung repräsentiert. Zum Beispiel dekodiert der Controller 150 Befehle, die von dem Speichercontroller 120 gesendet werden, und erzeugt interne Operationen, um die Befehle auszuführen oder zu erfüllen. Der Controller 150 kann als interner Controller bezeichnet werden und ist zu dem Speichercontroller 120 des Hosts separat. Der Controller 150 kann basierend auf dem Register 144 bestimmen, welcher Modus ausgewählt ist, und die interne Ausführung von Operationen für den Zugriff auf die Speicherressourcen 160 oder andere Operationen basierend auf dem ausgewählten Modus konfigurieren. Der Controller 150 erzeugt Steuersignale, um die Weiterleitung von Bits innerhalb der Speichervorrichtung 140 zu steuern, um eine geeignete Schnittstelle für den ausgewählten Modus bereitzustellen und einen Befehl an die richtigen Speicherstellen oder Adressen zu leiten.
  • Unter erneuter Bezugnahme auf den Speichercontroller 120, weist der Speichercontroller 120 einen Scheduler 130 auf, der Logik oder Schaltungen zum Erzeugen und Ordnen von Transaktionen zum Senden an die Speichervorrichtung 140 repräsentiert. Aus einer Perspektive könnte man sagen, die primäre Funktion des Speichercontrollers 120 ist das Planen eines Speicherzugriffs auf die Speichervorrichtung 140 und anderer Transaktionen. Eine solche Planung kann das Erzeugen der Transaktionen selbst aufweisen, um die Anforderungen von Daten durch den Prozessor 110 zu implementieren und die Integrität der Daten aufrechtzuerhalten (z. B. mit Befehlen, die sich auf die Auffrischung beziehen). Transaktionen können einen oder mehrere Befehle aufweisen und resultieren in der Übertragung von Befehlen oder Daten oder beidem über einen oder mehrere Zeitzyklen, wie etwa Taktzyklen oder Einheitsintervalle. Transaktionen können zum Zugriff, wie etwa Lesen oder Schreiben, oder für verwandte Befehle, oder eine Kombination, bestimmt sein, und andere Transaktionen können Speicherverwaltungsbefehle zur Konfiguration, für Einstellungen, für die Datenintegrität, oder andere Befehle, oder eine Kombination, aufweisen.
  • Der Speichercontroller 120 weist typischerweise eine Logik auf, um eine Auswahl und Anordnung von Transaktionen zu ermöglichen, um die Leistung des Systems 100 zu verbessern. Somit kann der Speichercontroller 120 auswählen, welche der ausstehenden Transaktionen in welcher Reihenfolge an die Speichervorrichtung 140 gesendet werden soll, was typischerweise durch Logik erreicht wird, die viel komplexer ist als ein einfacher First-In-First-Out-Algorithmus. Der Speichercontroller 120 verwaltet die Übertragung der Transaktionen an die Speichervorrichtung 140 und verwaltet die der Transaktion zugeordnete Zeitsteuerung. In einer Ausführungsform haben Transaktionen eine deterministische Zeitsteuerung, die von dem Speichercontroller 120 verwaltet wird und bei der Bestimmung, wie die Transaktionen zu planen sind, verwendet werden kann.
  • Unter erneuter Bezugnahme auf den Speichercontroller 120, weist der Speichercontroller 120 eine Befehlslogik (CMD-Logik) 124 auf, die eine Logik oder Schaltungsanordnung zum Erzeugen von Befehlen zum Senden an die Speichervorrichtungen 140 repräsentiert. Die Erzeugung der Befehle kann sich auf den Befehl vor der Planung, oder die Vorbereitung von bereitgestellten Befehlen, die zum Senden bereit sind, beziehen. Im Allgemeinen weist das Signalisieren in Speicher-Subsystemen Adressinformationen innerhalb des oder begleitend zu dem Befehl auf, um einen oder mehrere Speicherstellen anzugeben oder auszuwählen, an denen die Speichervorrichtungen den Befehl ausführen sollte. In Antwort auf das Planen von Transaktionen für die Speichervorrichtung 140 kann der Speichercontroller 120 Befehle über die E/A 122 ausgeben, um die Speichervorrichtung 140 zu veranlassen, die Befehle auszuführen. In einer Ausführungsform empfängt und dekodiert die Steuerung 150 der Speichervorrichtung 140 Befehls- und Adressinformationen, die über die E/A 142 von dem Speichercontroller 120 empfangen werden. Basierend auf den empfangenen Befehls- und Adresseninformationen kann die Steuerung 150 die Zeitsteuerung von Operationen der Logik und der Schaltung innerhalb der Speichervorrichtung 140 steuern, um die Befehle auszuführen. Der Controller 150 ist für die Einhaltung von Standards oder Spezifikationen in der Speichervorrichtung 140, wie etwa Zeitsteuerungs- und Signalisierungsanforderungen, verantwortlich. Der Speichercontroller 120 kann die Einhaltung von Standards oder Spezifikationen durch Zugriffsplanung und - Steuerung implementieren.
  • In einer Ausführungsform weist der Speichercontroller 120 eine Auffrischungs- (REF) Logik 126 auf. Die Auffrischungslogik 126 kann für flüchtige Speicherressourcen verwendet werden und muss aufgefrischt werden, um einen deterministischen Zustand aufrechtzuerhalten. In einer Ausführungsform gibt die Auffrischungslogik 126 einen Ort für die Auffrischung und eine Art der Auffrischung an, die ausgeführt werden soll. Die Auffrischungslogik 126 kann eine Selbstauffrischung in der Speichervorrichtung 140 auslösen und/oder externe Auffrischungen durch Senden von Auffrischungsbefehlen ausführen. In einer Ausführungsform unterstützt das System 100 beispielsweise Alle-Banken-Auffrischungen sowie Pro-Bank-Auffrischungen. Eine Alle-Banken-Auffrischung bewirkt das Auffrischen einer spezifizierten Bank in allen parallel gekoppelten Speichervorrichtungen 140. Pro-Bank-Auffrischungen bewirken das Auffrischen einer spezifizierten Bank in einer bestimmten Speichervorrichtung 140. In einer Ausführungsform weist die Steuerung 150 in der Speichervorrichtung 140 eine Auffrischungslogik 154 auf, um eine Auffrischung in der Speichervorrichtung 140 anzuwenden. In einer Ausführungsform erzeugt die Auffrischungslogik 154 interne Operationen, um eine Auffrischung gemäß einer von der Speichercontroller 120 empfangenen externen Auffrischung durchführen. Die Auffrischungslogik 154 kann bestimmen, ob eine Auffrischung an die Speichervorrichtung 140 gerichtet ist und welche Speicherressourcen 160 in Antwort auf den Befehl aufzufrischen sind.
  • Unter erneuter Bezugnahme auf die Logik 180, puffert die Logik 180 in einer Ausführungsform bestimmte Signalleitungen 182 von dem Host zu den Speichervorrichtungen 142. In einer Ausführungsform puffert die Logik 180 die Datensignalleitungen von DQ 136 als DQ 186, und puffert Befehls- (oder Befehls- und Adress-) Leitungen von CMD 134 als CMD 184. In einer Ausführungsform wird DQ 186 gepuffert, enthält jedoch dieselbe Anzahl von Signalleitungen wie DQ 136. Somit sind beide als X-Signalleitungen dargestellt. Im Gegensatz dazu hat der CMD 134 weniger Signalleitungen als der CMD 184. Somit ist P > N. Die N Signalleitungen des CMD 134 werden mit einer Datenrate betrieben, die höher ist als die der P Signalleitungen des CMD 184. Zum Beispiel kann P gleich 2N sein, und der CMD 184 kann mit einer Datenrate von 1/2 der Datenrate von CMD 134 betrieben werden.
  • Somit kann das System 100 eine Speicherschaltung aufweisen, die eine Logik 180 sein kann oder aufweisen kann. Insofern die Schaltung als Logik 180 betrachtet wird, kann sie sich auf eine Schaltung oder Komponente (wie etwa eines oder mehrere diskrete Elemente, oder eines oder mehrere Elemente eines Logikchip-Pakets) beziehen, die den Befehlsbus puffert. Insofern die Schaltung als eine Logik 180 enthaltend betrachtet wird, kann die Schaltung die Pins des Gehäuses der einen oder der mehreren Komponenten aufweisen, und kann die Signalleitungen aufweisen. Die Speicherschaltung weist eine Schnittstelle zu den N Signalleitungen des CMD 134 auf, der mit einer ersten Datenrate betrieben werden soll. Die N Signalleitungen des CMD 134 sind in Bezug auf die Logik 180 dem Host zugewandt. Die Speicherschaltung kann auch eine Schnittstelle zu den P Signalleitungen des CMD 184 aufweisen, der mit einer zweiten Datenrate betrieben werden soll, die niedriger als die erste Datenrate ist. Die P Signalleitungen des CMD 184 sind in Bezug auf die Logik 180 dem Speicher zugewandt. Die Logik 180 kann entweder als Steuerlogik betrachtet werden, die die Befehlssignale empfängt und sie den Speichervorrichtungen bereitstellt, oder sie kann Steuerlogik aufweisen (z. B. deren Verarbeitungselemente oder Logikkern), die die Befehlssignale empfängt und sie den Speichervorrichtungen bereitstellt.
  • 2 ist ein Blockdiagramm einer Ausführungsform eines Systems mit einem Speichermodul, mit einem Befehlsbus mit doppelter Datenrate zwischen dem Host und dem Modul, und einem Befehlsbus mit einfacher Datenrate zu den Speichervorrichtungen in dem Modul. Das System 200 repräsentiert eine Ausführungsform des Systems 100 von 1. Der Host 210 repräsentiert einen Prozessor oder einen Speichercontroller, oder beides. In einer Ausführungsform weist der Host 210 eine zentrale Verarbeitungseinheit (CPU) des Systems 200 auf, die einen eingebetteten Speichercontroller (iMC) oder einen separaten Speichercontroller aufweisen kann. In einer Ausführungsform kann der Host 210 einen Grafikprozessor oder eine Grafikverarbeitungseinheit (GPU) aufweisen, die einen Speichercontroller zum Koppeln mit dem Speicher aufweist oder mit diesem gekoppelt ist.
  • Das DIMM 220 repräsentiert ein Speichermodul mit mehreren Speichervorrichtungen und kann allgemein als „Speicher“ bezeichnet werden. In einer Ausführungsform weist das System 200 mehrere DFMMs 220 auf, von denen jedes mehrere Speichervorrichtungen oder DRAM-Vorrichtungen 222 und 224 aufweist. Das DIMM 220 ist so dargestellt, dass es ein Register 230 aufweist, das eine Logik zum Steuern des Sendens von Befehlen an die DRAM-Vorrichtungen sein kann. Eine Bezugnahme auf die Steuerlogik des DIMM 220 als „Register 230“ ist eine mögliche Implementierung. Ein Register bezieht sich auf eine Logikschaltung, die Signale in den Speicher puffern kann. Spezieller kann das Register die einzelnen Speichervorrichtungen registrieren, um Konfigurationseinstellungen zu speichern, die sich auf den Austausch von Signalen zwischen dem Register und den Speichervorrichtungen beziehen. Das Register 230 könnte alternativ ein Puffer in einer anderen möglichen Implementierung sein. Ein Puffer puffert die Signale, kann jedoch nicht die Speichereinheiten registrieren oder spezifische E/A-Einstellungen in Bezug auf jede Speichereinheit speichern. Das Puffern des Signals kann sich auf das vorübergehende Speichern eines Signals und das erneute Ansteuern des Signals beziehen. Das Speichern kann in einem Register oder Puffer oder einer anderen Speichervorrichtung erfolgen.
  • In einer Ausführungsform ist das Register 230 Teil eines DIMM-Controllers (nicht speziell gezeigt). Der DIMM-Controller bezieht sich auf einen Controller oder eine Steuerlogik, die das Senden von Signalen zu dem und von dem DIMM 220 steuert. Der DIMM-Controller kann die Zeitsteuerung und die Signalisierung des DIMM 220 steuern. Der DIMM-Controller kann als Mikrocontroller, Mikroprozessor oder anderer Controller implementiert sein. Unter dem DIMM-Controller wird verstanden, dass er zu einem Controller auf den individuellen DRAM-Vorrichtungen und von dem Speichercontroller des Hosts separat ist. In einer Ausführungsform ist das Register 230 zu dem DIMM-Controller separat.
  • In einer Ausführungsform weist das Register 230 oder ein DIMM-Controller eine Paritätsprüfungslogik 232 auf. Die Paritätsprüfungslogik kann eine Logik aufweisen, um die Bestimmung einer Parität bei eingehenden Befehlen zu ermöglichen, um die Paritätsberechnung mit einem empfangenen Paritätssignal zu vergleichen. Eine einfache Parität wird normalerweise als Gerade/Ungerade ausgeführt, wobei ein Nullparitätsbit eine gerade Parität repräsentiert und ein Einsparitätsbit eine ungerade Parität repräsentiert. Eine gerade/ungerade Parität kann über mehrere Stufen von XOR (exklusives ODER) oder andere kombinatorische Logik berechnet werden. Es versteht sich, dass, da XOR-Funktionen kommuntabel sind, jede Kombination von XOR an den Eingängen zu dem gleichen Ergebnis führen sollte. Die Anzahl der XOR-Stufen wird durch die Anzahl der Signalleitungen bestimmt, über die die Parität berechnet werden soll. Die Parität für die Befehlsbusse kann mit schmaleren Bussen vereinfacht werden, indem die Anzahl der XOR-Stufen reduziert wird. In einer Ausführungsform weist der Host 210 eine Steuerlogik zum Auslösen des Sendens eines Paritätsbitsignals mit der gleichen Zeitsteuerung wie die Befehls- und Adressbits auf. Somit stimmt das Paritätsbitsignal mit der Datenrate der Befehls- und Adressbits überein. Wenn in einer Ausführungsform der CA-Bus 242 oder der CA-Bus 252 mit einer höheren Datenrate arbeitet, wird das Paritätssignal, das zur Paritätsberechnung durch die Paritätsprüfung 232 gesendet wird, auch mit der höheren Datenrate gesendet.
  • In einer Ausführungsform empfängt das Register 230 die Signalleitungen in einer Punkt-zu-Punkt-Verbindung vom Host 210 und sendet Signale über einen Multi-Drop-Bus oder eine Fly-By-Topologie an die DRAM-Vorrichtungen, wobei alle Vorrichtungen an einen gemeinsamen Bus oder eine gemeinsame Signalleitung gekoppelt sind. Es versteht sich, dass die Bezugnahme auf die DRAM-Vorrichtungen 222 eine Abkürzung ist, um die N DRAM-Vorrichtungen 222[0] bis 222[N-1] zu repräsentieren, und in ähnlicher Weise ist die Bezugnahme auf die DRAM-Vorrichtungen 224 eine Abkürzung, um die N DRAM-Vorrichtungen 224 [0] bis 224 [N-1] zu repräsentieren.
  • In einer Ausführungsform weist die Verbindung oder Schnittstelle zwischen dem Host 210 und dem Register 230 zwei C/A-Busse 242 und 252 auf, die unterschiedlichen Speicherkanälen entsprechen können. Die Aufteilung der Vorrichtungen in unterschiedliche Kanäle kann den Durchsatz erhöhen, während der physische Platzbedarf und die Anzahl der erforderlichen Anschlüsse reduziert wird. Jedoch kann sich die Anzahl der Signalleitungen zwischen dem Host 210 und dem DIMM 220 erhöhen. Wenn der C/A-Bus 242 und der C/A-Bus 252 N-Bit-Busse sind, die mit einer doppelten Datenrate betrieben werden, können zwei Kanäle mit der gleichen Anzahl von Signalleitungen, wie sie früher für einen einzelnen Kanal benötigt würden, enthalten sein. Somit können DRAM-Vorrichtungen mit höheren Dichten (z. B. gestapelte Vorrichtungsgehäuse) in dem System 200 enthalten sein, um die Speicherkapazität zu erhöhen, während die Durchsatzleistung beibehalten oder verbessert wird.
  • Während der C/A-Bus 242 und der C/A-Bus 252 N Signalleitungen aufweisen, sind die C/A-Busse auf dem DIMM 220 so dargestellt, dass sie 2N Bits oder 2N Signalleitungen aufweisen. Die Bezugnahme auf 2N Bits bezieht sich darauf, wie viele Bits in einem einzigen Übertragungszyklus (z. B. Taktzyklus oder UI (Einheitsintervall)) übertragen werden können, und entspricht der Anzahl der Signalleitungen. Die Bezugnahme auf die 2N-Signalleitungen bezieht sich expliziter auf die Hardwarearchitektur. Somit kann ein Missverhältnis zwischen der Busbreite von dem Host 210 zu dem DIMM 220 (und dem Register 230 auf dem DIMM 220) und der Busbreite von dem Register 230 zu den DRAM-Vorrichtungen 222 und 224 bestehen. Das dargestellte Missverhältnis besteht darin, dass der C/A-Bus 242 N Bits aufweist, und der C/A-Bus 244, der die Befehlssignale des C/A-Busses 242 an die DRAM-Vorrichtungen 222 bereitstellt, 2N Bits aufweist. In ähnlicher Weise weist der C/A-Bus 252 N Bits auf und der C/A-Bus 254, der die Befehlssignale des C/A-Busses 252 an die DRAM-Vorrichtungen 224 bereitstellt, weist 2N Bits auf.
  • Es versteht sich, dass der C/A-Bus 244 die Befehlssignale des C/A-Busses 242 an die DRAMs 222 überträgt. Somit können der C/A-Bus 242 und der C/A-Bus 244 aus einer Perspektive als derselbe Befehlsbus betrachtet werden, der beispielsweise zwei Abschnitte aufweist, den schmalen C/A-Busabschnitt (C/A-Bus 242) und den breiten oder Standard-C/A-Busabschnitt (C/A-Bus 244). Alternativ können die separaten Teile als Hostseitenabschnitt (C/A-Bus 242) und als Speicherseitenabschnitt (C/A-Bus 244) betrachtet werden. Alternativ können die separaten Abschnitte als separate Busse betrachtet werden, die durch das Register 230 abgebildet werden. Dieselbe Diskussion kann auf den C/A-Bus 252 und den C/A-Bus 254 zutreffen. Es ist zu beobachten, dass die unterschiedlichen Abschnitte oder Busse unterschiedliche Datenraten aufweisen. Es versteht sich, dass „Datenrate“ sich auf die Rate bezieht, mit der Informationen über die Signalleitungen gesendet werden, und nicht auf das Senden von Datenbits über einen Datenbus beschränkt ist. Das System 200 weist einen oder mehrere Datenbusse auf, die aus Gründen der Vereinfachung der Zeichnung nicht explizit dargestellt sind. Somit ist die Datenrate der C/A-Busse 242 und 252 DDR, bezogen auf die Übertragung eines Datenbits bei jeder Taktflanke, während die Datenrate der C/A-Busse 244 und 254 SDR ist, bezogen auf die Übertragung eines Datenbit bei nur jeder anderen Taktflanke.
  • In Bezug auf ein herkömmliches DIMM weist das DIMM 220 eine reduzierte Pin-Anzahl pro Kanal zwischen dem Host 210 und dem DIMM 220 auf. Eine solche reduzierte Pin-Anzahl kann verwendet werden, um entweder die Pin-Anzahl des Systems 200 tatsächlich zu reduzieren oder die Pin-Nutzung zu erhöhen. Die tatsächliche Reduzierung der Pin-Anzahl kann sich auf die Eliminierung von Signalleitungen und Anschlüssen von der Hardware des Systems 200 beziehen, wie etwa Leiterbahnen, Kontaktstellen, und Steckverbinder auf einer Hauptplatinen-PCB (gedruckte Leiterplatte) und Leiterbahnen, Kontaktstellen, und Steckverbinder auf der DIMM-Leiterplatte. Die erhöhte Nutzung eines DIMMs kann die Pin-Anzahl dieses DIMMs möglicherweise nicht wirksam reduzieren, kann jedoch die Pin-Anzahl des Systems reduzieren, indem das Entfernen eines oder mehrerer Steckverbinder ermöglicht wird, die zuvor als notwendig erachtet wurden, um die gewünschten Speicherkapazitäten zu erreichen. In einer Ausführungsform kann der Host 210 auswählen, ob er die Signalleitungen der C/A-Busse 242 und 252 mit DDR oder SDR ansteuert. Zum Beispiel kann ein Speichercontroller (nicht explizit gezeigt) konfiguriert sein, die C/A-Busse mit DDR anzusteuern, wenn ein DIMM 220 mit einem unterstützendes Register 230 gekoppelt ist. Wenn ein angeschlossenes DIMM das Empfangen eines DDR-C/A-Signals nicht unterstützt, kann der Speichercontroller die C/A-Busse 242 und 252 als einen einzigen C/A-Bus ansteuern, der das Register 230 an alle Speichervorrichtungen 222 und 224 bereitstellen kann. Somit kann das System 200 in einer Ausführungsform den Betrieb der C/A-Busse 242 und 252 mit DDR oder mit SDR unterstützen. Eine solche Konfiguration kann beispielsweise durch Konfigurationseinstellungen des Speichercontrollers unterstützt werden. Somit kann ein gemeinsamer Speichercontroller verwendet werden, um entweder einen Standard- oder einen schmalen C/A-Bus anzusteuern.
  • 3A ist ein Blockschaltbild einer Ausführungsform eines Systems mit einem Befehlsbus mit doppelter Datenrate mit Befehlssignalbursts. Die Schaltung 302 repräsentiert eine Speichercontrollerschaltung gemäß einer Ausführungsform des Systems 100 oder des Systems 200. Die Schaltung 302 weist einen Speichercontroller 310 auf. Der Speichercontroller 310 verwaltet den Zugriff auf eine oder mehrere zugeordnete Speichervorrichtungen. Eine zugeordnete Speichervorrichtung ist eine, die mit einem Bus gekoppelt ist, der von dem Speichercontroller 310 verwaltet wird. In einem System mit mehreren Speichercontrollern werden bestimmte Speichercontroller ausgewählten Speichervorrichtungen zugeordnet.
  • Der Speichercontroller 310 weist einen Scheduler 320 auf, der eine Logik in dem Controller repräsentiert zum zu bestimmen, welche Signale an den Speicher gesendet werden sollen, um die Durchführung der gewünschten Operationen zu veranlassen. In einer Ausführungsform kann der Scheduler 320 betrachtet werden, eine Befehls- (CMD) Logik 322 aufzuweisen zum Bestimmen, welche Befehlssignale zu erzeugen sind, um bestimmte Speicherzugriffsoperationen (z. B. Lesen oder Schreiben) oder Speicherverwaltungsoperationen (z. B. Auffrischen, Modusregister Einstellen) zu veranlassen. Zum Beispiel kann die Befehlslogik 322 für eine Leseoperation aus verschiedenen Arten von Lesebefehlen, die für die Speichervorrichtung zulässig sind, und einer Adresse für den Lesebefehl auswählen.
  • Die Befehlslogik 322 kann den Lesebefehl mit den Adressinformationen erzeugen, und der Scheduler 320 kann die Zeitsteuerung für den Befehl bestimmen. Die Zeitsteuerung kann sich auf die Einhaltung eines Standards oder auf die Koordination mit anderen Befehlen oder Operationen oder auf eine Kombination beziehen. Der Scheduler 320 kann den Befehl in der Befehlswarteschlange 312 basierend auf den ermittelten Zeitinformationen speichern. In einer Ausführungsform können die Zeitsteuerungsinformation eine Bestimmung aufweisen, wie und wann Befehlssignale für eine Befehlsbus-Schnittstelle gesendet werden sollen, die schneller als eine Befehlsschnittstelle der Speichervorrichtungen betrieben wird. Zum Beispiel kann die Zeitsteuerung gemäß dem System 200 eine Bestimmung der Zeitsteuerung und eine Koordination der Sendesignale auf einem Befehlsbus 330 mit doppelter Datenrate aufweisen.
  • Wenn es Zeit ist, den Befehl an den Speicher zu senden, kann der Speichercontroller 310 das Befehlssignal oder die Signale aus der Befehlswarteschlange 312 nehmen und über den Befehlsbus 330 übertragen. Wie in der Schaltung 302 dargestellt, betreibt der Speichercontroller 310 einen Befehlsbus 330 mit doppelter Datenrate und sendet einen Befehl direkt nach dem anderen. Wie dargestellt, kann ein Befehl mehrere Bits aufweisen, die sich auf einen Befehl beziehen, der Bits aufweist, die über mehrere Einheitenintervalle nacheinander gesendet werden (wie etwa LPDDR-Befehle). Die Darstellung ist dazu gedacht, allgemein sein, und es versteht sich, dass einige Befehle in einem einzelnen Zyklus auftreten. Somit kann der Speichercontroller 310 zum Beispiel durch Bursting der Befehle mit DDR anstelle von SDR ein einzelnes UI für den CMD 0 und dann ein einzelnes UI für den CMD 1 senden. Alternativ kann ein Burst von Befehlen zum Beispiel mehrere UIs für den CMD 0, gefolgt von mehreren UIs für den CMD 1, aufweisen.
  • 3B ist ein Blockdiagramm einer Ausführungsform eines Systems mit einem Befehlsbus mit doppelter Datenrate mit verschachtelten Befehlssignalen. Die Schaltung 304 kann gleich oder ähnlich zu der Schaltung 302 von 3A sein, mit der Ausnahme, dass der Befehlsbus 340 mit einer doppelten Datenrate betrieben wird und die Befehlssignale verschachtelt werden. Es versteht sich, dass Verschachtelungsbefehlssignale nur eine Bedeutung haben können, wenn für jeden Befehl oder jeden zu sendenden Kanal mehrere UIs von Befehlssignalen vorhanden sind. Zum Beispiel kann der Speichercontroller 310 Befehlssignale aus der Befehlswarteschlange 312 in den Befehlsbus 340 nehmen, indem er ein UI von CMD 0, gefolgt von einem UI von CMD 1, gefolgt von einem UI von CMD 0, usw. sendet, bis alle Befehlssignal-UIs für beide Befehle gesendet sind. In einer Ausführungsform sind die Befehle zwei aufeinanderfolgende Befehle für denselben Kanal. In einer Ausführungsform sind die zwei Befehle für separate Kanäle.
  • 4A ist ein Zeitsteuerungsdiagramm einer Ausführungsform einer relativen Signalisierungszeitsteuerung für einen Befehlsbus mit doppelter Datenrate. Das System 400 weist den Host 402, die Logik 404 und den Speicher 406 auf. Das System 400 stellt eine Darstellung der relativen Zeitsteuerung zwischen dem Host, der Pufferlogik und dem Speicher bereit. Das System 400 stellt ein Beispiel einer Ausführungsform eines Systems gemäß dem System 100 oder dem System 200 bereit. Die Logik 404 repräsentiert eine beliebige Ausführungsform eines hier beschriebenen Puffers oder Registers und kann eine Speicherschaltung oder Teil einer solchen sein. Zum Zwecke des Verständnisses der Zeichnung befinden sich die zeitlich zuerst gesendeten Bits am weitesten links. Somit stellt eine Bewegung von links nach rechts auf einem bestimmten Bus Datenbits dar, die im Laufe der Zeit übertragen werden.
  • Der Host 402 repräsentiert einen Host gemäß einer hierin beschriebenen Ausführungsform und weist zumindest eine Logik zum Verwalten des Zugriffs auf den Speicher auf. Zum Beispiel kann der Host 402 einen Hostprozessor und eine Speichercontrollerschaltung aufweisen. Der Host 402 auf Hardwareschnittstellen zu einer oder mehreren Taktsignalleitungen 412 und kann das Taktsignal auf den Signalleitungen treiben. Wie dargestellt, können die Taktsignalleitungen 412 mit einem Taktsignal angesteuert werden, das eine ansteigende Flanke und eine fallende Flanke aufweist. Die ansteigende Flanke bezieht sich auf einen Übergang von einem niedrigen Logikwert (z. B. ‚0‘) zu einem hohen Logikwert (z. B. ‚1‘). Die fallende Flanke bezieht sich auf den entgegengesetzten Übergang von einem hohen Logikwert zu einem niedrigen Logikwert. Wie bei der Busverbindung zwischen der Logik 404 und dem Speicher 406 dargestellt, bezieht sich SDR auf die Übertragung eines Datenbits bei einem einzigen Flankentyp, wodurch Daten für jede andere Taktzyklusflanke übertragen werden. In der Darstellung wird die Datenübertragung bei einer steigenden Flanke ausgelöst, was ein Beispiel ist, und andere Systeme können die fallende Flanke verwenden. Wie mit der Busverbindung zwischen dem Host 402 und der Logik 404 dargestellt, bezieht sich DDR auf die Übertragung eines Datenbits als Antwort auf beide Arten von Taktflanken.
  • Das System 400 stellt eine DQ oder eine Schnittstelle zu einem Datenbus sowohl auf der Busverbindung zwischen dem Host 402 und der Logik 404 als auch auf der Busverbindung zwischen der Logik 404 und dem Speicher 406 dar. Es wird zum Zwecke des Vergleichs mit den Befehlssignalen nur eine Datensignalleitung dargestellt. Es ist zu beobachten, dass für beide Busverbindungen die Datensignale mit DDR betrieben werden. In einer Ausführungsform werden die Befehlssignale bei der Hostlogikverbindung mit DDR und bei der Logikspeicherverbindung mit SDR betrieben.
  • Spezieller in Bezug auf die Befehlssignalisierung ist gezeigt, dass der Host 402 Schnittstellen zu dem C/A 420 aufweist, der N Signalleitungen aufweist, die mit DDR betrieben werden. Obwohl es nicht speziell gezeigt ist, versteht es sich, dass die Logik 404 eine entsprechende Schnittstelle aufweist. Die Logik 404 weist Schnittstellen zu dem C/A 430 auf, der 2N Signalleitungen aufweist, die mit SDR betrieben werden. Obwohl dies nicht speziell gezeigt ist, versteht es sich, dass der Speicher 406 eine entsprechende Schnittstelle aufweist. In einer Ausführungsform werden die auf den Signalleitungen von dem C/A 420 übertragenen Daten separiert, um auf den Signalleitungen des C/A 430 übertragen zu werden. Eine einfache mögliche Abbildung ist dargestellt, wobei die Leitung 0 des C/A 420 auf die Leitungen 0 und 1 des C/A 430 abgebildet werden, die Leitung 1 des C/A 420 auf die Leitungen 2 und 3 des C/A 430 abgebildet werden, und so weiter. Es versteht sich, dass andere Abbildungen gemacht werden könnten. Die Logik 404 kann die Signalleitungen des C/A 420 auf den C/A 430 abbilden.
  • Wie in dem System 400 dargestellt, stellt der Host 402 in einer Ausführungsform einen Speicherkanal für die Speichervorrichtungen bereit, und die Signalleitungen werden durch die Logik 404 gepuffert. In einer Ausführungsform kann die Logik 404 zwei oder mehr Kanäle vom Host 402 empfangen. Ein Speicherkanal weist einen Befehlsbus oder einen C/A-Bus 420 auf. Der C/A-Bus 420 kann halb so breit sein (halb so viele Signalleitungen) und doppelt so schnell arbeiten (doppelte Datenrate). Die Logik 404 kann dann die Befehlssignale auf dem C/A-Bus 430 mit der halben Rate (einfache Datenrate), aber mit doppelter Breite (doppelt so viele Signalleitungen) weiterleiten.
  • 4B ist ein Zeitsteuerungsdiagramm einer Ausführungsform der relativen Signalisierungszeitsteuerung, die einen Befehlsbus mit doppelter Datenrate und Befehlsbusse mit einer einfachen Datenrate darstellt. Das Diagramm 440 liefert ein Beispiel für einen Vergleich der Befehlsdatenraten für ein System gemäß einer Ausführungsform des Systems 400 von 4A. Das Zeitsteuerungsdiagramm 440 kann gemäß anderen hier beschriebenen Ausführungsformen ein Systems sein, das einen Befehlsbus mit doppelter Datenrate bereitstellt. Das Taktsignal DCK 452 repräsentiert einen Takt mit doppelter Datenrate, der ein Takt ist, der zum Beispiel zum Übertragen der Befehls- und Adressinformationen von einem Host zu einem Speichermodul verwendet wird. Wie dargestellt, wird das DCK 452 bei den ansteigenden und fallenden Flanken des Taktsignals ausgelöst. Das Taktsignal QCK 462 repräsentiert einen einzelnen Datenratentakt, wie er von den Speichervorrichtungen selbst angewendet wird. Das QCK 462 wird verwendet, um die Befehls- und Adressinformationen an bestimmte Speichervorrichtungen zu übertragen. Wie dargestellt, löst das QCK 462 bei den ansteigenden Flanken des Taktsignals aus. Alternativ können die fallenden Flanken verwendet werden. Das DCK 452 repräsentiert einen Takt zwischen einem Host und einer Gruppe von Speichervorrichtungen und spezieller für eine Logik, die die Befehlsinformation mit doppelter Datenrate in eine einfache Datenrate separiert, und das QCK 462 repräsentiert einen Takt für die Speichervorrichtungen von der Decodierlogik.
  • Das Befehls- und Adresssignal DCA 454 repräsentiert Befehls- und Adressinformationen für den Kanal N und für den Kanal N+1. Wie dargestellt ist, sind die Befehls- und Adressinformationen verschachtelt, wobei die Befehls- und Adressinformationen für den Kanal N bei den ansteigenden Taktflanken ausgelöst werden. Somit sind CAn, CAn' und Can" mit den ansteigenden Taktflanken des DCK 452 ausgerichtet und repräsentieren Befehls- und Adressbits für den ersten Kanal. Die Befehls- und Adressinformationen für den Kanal N+1 werden an den fallenden Taktflanken ausgelöst, wobei CAn+1, CAn'+1 und CAn''+1 mit den fallenden Taktflanken des DCK 452 ausgerichtet sind. Die Signale repräsentieren Befehls- und Adressbits für den zweiten Kanal.
  • In einer Ausführungsform beträgt die Zeit zwischen der ansteigenden und der fallenden Flanke des Taktsignals tPDM. In einer Ausführungsform gibt es eine Verzögerung von tPDM von der ansteigenden Flanke des DCK 452 zu der ansteigenden Flanke des QCK 462. Die Befehls- und Adresssignale QCA 464 (für Kanal N) und QCA 466 (für Kanal N+1) repräsentieren Befehls- und Adressinformationen separat, um an bestimmte Speichereinheiten übertragen zu werden. Es ist zu beobachten, dass das Befehls- und Adressinformationsbit Can, wenn es in QCA 464 repräsentiert wird, doppelt so breit ist als wenn es in DCQ 454 repräsentiert wird. Dasselbe gilt für die anderen Befehls- und Adressinformationsbits in QCA 464 und QCA 466. In einer Ausführungsform stellt die Empfangs- und Verarbeitungslogik, die die Befehls- und Adressinformationen mit doppelter Datenrate separiert, den Speichervorrichtungen Befehls- und Adressinformationen mit einer Zeitsteuerung gemäß der einfachen Datenrate bereit.
  • 5 ist ein Blockdiagramm einer Ausführungsform eines Registers zum Koppeln an einen Host über einen Befehlsbus mit doppelter Datenrate und an einen Speicher über einen Befehlsbus mit einfacher Datenrate. Die Schaltung 500 weist ein Register 510 auf und kann eine Speicherschaltung oder eine Logik des Systems 100 oder des Systems 200 repräsentieren. Die Schaltung 500 kann eine Schaltung des Systems 400 repräsentieren.
  • Das Register 510 weist eine hostzugewandte Schnittstelle oder eine hostzugewandte E/A 512 und eine speicherzugewandte Schnittstelle oder eine speicherzugewandte E/A 514 auf. Eine hostzugewandte E/A 512 stellt eine Schnittstelle zum C/A-Bus 502 bereit, der eine Verbindung mit einem Host herstellt. Eine speicherzugewandte E/A 514 stellt eine Schnittstelle zum C/A-Bus 504 bereit, der eine Verbindung zu DRAM-Geräten oder anderen Speichervorrichtungen herstellt. Der C/A-Bus 502 weist weniger Signalleitungen oder weniger Bits als der C/A-Bus 504 auf und soll mit einer höheren Datenrate arbeiten. In einer Ausführungsform weist der C/A-Bus 502 N Bits auf und arbeitet mit DDR, während der C/A-Bus 504 2N Bits aufweist und mit SDR arbeitet.
  • In einer Ausführungsform weist das Register 510 mehrere Multiplexer (muxes) 520 auf. In einer Ausführungsform sind Multiplexer 520 1:2-Multiplexer, die durch die Taktpolarität ausgewählt oder gesteuert werden. Somit ist das Taktsignal 522 in der Schaltung 500 dargestellt, ein Signal an den Auswahleingang der Multiplexer 520 bereitzustellen. In einer Ausführungsform lenken die ausgewählten Taktmultiplexer ankommende Signalbits zu geradzahligen und ungeradzahligen Adressleitungen des C/A-Busses 504 zu einer oder mehreren DRAM-Vorrichtungen. Somit kann das Register 510 die Busbreite zu den DRAM-Vorrichtungen, die an das Register 510 angeschlossen sind, effektiv verdoppeln. Die Signale von den Signalleitungen, die mit der höheren Datenrate betrieben werden, können selektiv auf Signalleitungen angeordnet werden, die mit der langsameren Datenrate betrieben werden.
  • 6 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Senden von Befehlen auf einem Befehlsbus mit doppelter Datenrate. Das Flussdiagramm stellt Operationen dar, die von einem Speichercontroller und einer Schnittstellenlogik, die Befehle puffert, die von dem Speichercontroller an die Speichervorrichtungen gesendet werden, ausgeführt werden können.
  • In einer Ausführungsform erzeugt der Speichercontroller einen Befehl zum Zugriff auf den Speicher 602. Der Befehl kann für eine Leseoperation, eine Schreiboperation, oder ein anderer Befehl, sein. In einer Ausführungsform bestimmt der Speichercontroller Planungsinformationen für den Befehl und stellt den Befehl in eine Warteschlange 604. Der Befehl wird für die Speichervorrichtungen durch eine Gruppe von Bits repräsentiert, die auf mehreren Signalleitungen vorgesehen sind, die als Befehlsbus bezeichnet werden können. Das Muster von Einsen und Nullen der Befehlsbussignalleitungen gibt dem Speicher eine Operation an.
  • In einer Ausführungsform unterstützt der Speichercontroller den Betrieb der Befehlsbus-Schnittstelle mit einer einfachen Datenrate oder einer doppelten Datenrate. Beispielsweise könnte der Speichercontroller Konfigurationseinstellungen zum Betrieb der Befehlsbussignalleitungen mit niedrigerer oder höherer Datenrate aufweisen. Somit bestimmt der Speichercontroller in einer Ausführungsform, ob der Befehl in der Warteschlange mit einer einfachen Datenrate oder einer doppelten Datenrate gesendet werden soll, 606.
  • In einer Ausführungsform ist, wenn der Befehl mit SDR gesendet werden soll, 608 SDR-Zweig, der Speichercontroller für den herkömmlichen Betrieb konfiguriert. Der Speichercontroller sendet den Befehl mit SDR, und die Schnittstellenlogik empfängt den SDR-Befehl, 610. Die Schnittstellenlogik kann dann den Befehl an die Speichervorrichtungen auf einem Befehlsbus mit der gleichen Breite wie die des Befehlsbus von dem Speichercontroller senden, und die Speichervorrichtungen führen den Befehl aus, 612.
  • In einer Ausführungsform ist, wenn der Befehl mit DDR gesendet werden soll, 608 DDR-Zweig, der Speichercontroller konfiguriert, den Befehlsbus mit einer höheren Datenrate zu betreiben, und der Befehlsbus weist eine geringere Breite als der herkömmliche Befehlsbus auf. Der Speichercontroller sendet den DDR-Befehl mit DDR, und die Schnittstellenlogik empfängt den DDR-Befehl, 614. Die Schnittstellenlogik verarbeitet den DDR-Befehl, um den Befehl auf mehr Signalleitungen des Befehlsbusses auf die Speichereinheiten abzubilden. In einer Ausführungsform weist die Schnittstellenlogik Multiplexer zum Multiplexen der DDR-Befehlssignale von dem hostzugewandten Befehlsbus zu einem speicherzugewandten Befehlsbus mit größerer Breite auf, 616. Die Schnittstellenlogik sendet die Befehlssignale über den Befehlsbus mit höherer Breite an die Speichervorrichtungen, damit die Speichervorrichtungen den Befehl auszuführen, 618.
  • 7 ist ein Blockdiagramm einer Ausführungsform eines Computersystems, in dem ein Befehlsbus mit doppelter Datenrate implementiert werden kann. Das System 700 repräsentiert eine Computervorrichtung gemäß einer hier beschriebenen Ausführungsform und kann ein Laptop-Computer, ein Desktop-Computer, ein Tablet-Computer, ein Server, ein Spiel- oder Entertainmentsteuersystem, ein Scanner, ein Kopierer, ein Drucker, ein Routing- oder eine Schaltvorrichtung, eine eingebettete Computervorrichtung, ein Smartphone, eine tragbares Vorrichtung, eine Internet-der-Dinge-Vorrichtung, oder eine andere elektronische Vorrichtung sein.
  • Das System 700 weist einen Prozessor 710 auf, der eine Verarbeitung, Operationsverwaltung, und eine Ausführung von Anweisungen für das System 700 bereitstellt. Der Prozessor 710 kann einen Mikroprozessor beliebigen Typs, eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Verarbeitungskern oder andere Verarbeitungshardware, um eine Verarbeitung für das System 700 bereitzustellen, oder eine Kombination von Prozessoren aufweisen. Der Prozessor 710 steuert den Gesamtbetrieb des Systems 700 und kann einer oder mehrere programmierbare Mikroprozessoren für allgemeine Zwecke oder spezielle Zwecke, digitale Signalprozessoren (DSPs), programmierbare Controller, anwendungsspezifische integrierte Schaltungen (ASICs) und programmierbare Logikvorrichtungen (PLDs), oder dergleichen, oder eine Kombination solcher Vorrichtungen sein oder aufweisen.
  • In einer Ausführungsform weist das System 700 eine mit dem Prozessor 710 gekoppelte Schnittstelle 712 auf, die eine Schnittstelle mit höherer Geschwindigkeit oder eine Schnittstelle mit hohem Durchsatz für Systemkomponenten repräsentieren kann, die Verbindungen mit höherer Bandbreite benötigen, wie etwa das Speicher-Subsystem 720 oder die Grafikschnittstellenkomponenten 740. Die Schnittstelle 712 kann eine „Northbridge“-Schaltung repräsentieren, die eine eigenständige Komponente sein kann oder auf einem Prozessor-Die integriert sein kann. Wo vorhanden, ist die Grafikschnittstelle 740 mit Grafikkomponenten verbunden, um einem Benutzer des Systems 700 eine visuelle Anzeige bereitzustellen. In einer Ausführungsform kann die Grafikschnittstelle 740 eine Hight-Definition- (HD) Anzeige ansteuern, die einem Benutzer eine Ausgabe bereitstellt. High Definition kann sich auf eine Anzeige mit einer Pixeldichte von etwa 100 PPI (Pixel pro Zoll) oder mehr beziehen und kann Formate, wie etwa Full-HD (z. B. 1080p), Retina-Displays, 4K (Ultra-High-Definition oder UHD) oder andere aufweisen. In einer Ausführungsform kann die Anzeige eine Touchscreen-Anzeige aufweisen. In einer Ausführungsform erzeugt die Grafikschnittstelle 740 eine Anzeige basierend auf Daten, die in dem Speicher 730 gespeichert sind, oder basierend auf Operationen, die von dem Prozessor 710 ausgeführt werden, oder beides.
  • Das Speicher-Subsystem 720 repräsentiert den Hauptspeicher des Systems 700 und stellt Speicher für Code, der vom Prozessor 710 auszuführen ist, oder Datenwerte, die beim Ausführen einer Routine verwendet werden, bereit. Das Speicher-Subsystem 720 kann eine oder mehrere Speichervorrichtungen 730 aufweisen, wie etwa einen Nur-Lese-Speicher (ROM), einen Flash-Speicher, eine oder mehrere Arten von Direktzugriffsspeicher (RAM), wie etwa DRAM, oder andere Speichervorrichtungen, oder eine Kombination solcher Vorrichtungen. Der Speicher 730 speichert und hostet unter anderem das Betriebssystem (OS) 732, um eine Softwareplattform zur Ausführung von Anweisungen im System 700 bereitzustellen. Außerdem können Anwendungen 734 auf der Softwareplattform des OS 732 vom Speicher 730 ausgeführt werden. Die Anwendungen 734 repräsentieren Programme, die über eine eigene Betriebslogik verfügen, um die Ausführung einer oder mehrerer Funktionen durchzuführen. Die Prozesse 736 repräsentieren Agenten oder Routinen, die dem OS 732 oder einer oder mehreren Anwendungen 734, oder einer Kombination, Hilfsfunktionen bereitstellen. Das OS 732, die Anwendungen 734 und die Prozesse 736 stellen eine Softwarelogik bereit, um Funktionen für das System 700 bereitzustellen. In einer Ausführungsform weist das Speicher-Subsystem 720 einen Speichercontroller 722 auf, der ein Speichercontroller zum Erzeugen und Ausgeben von Befehlen an den Speicher 730 ist. Es versteht sich, dass der Speichercontroller 722 ein physischer Teil des Prozessors 710 oder ein physischer Teil der Schnittstelle 712 sein könnte. Zum Beispiel kann der Speichercontroller 722 ein integrierter Speichercontroller sein, der in einer Schaltung mit dem Prozessor 710 integriert ist.
  • Obwohl dies nicht speziell dargestellt ist, versteht es sich, dass das System 700 einen oder mehrere Busse oder Bussysteme zwischen Vorrichtungen, wie etwa ein Speicherbus, ein Grafikbus, Schnittstellenbusse, oder andere, 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, Controller oder andere Schaltungen, oder eine Kombination, aufweisen. Busse können beispielsweise einen oder mehrere Systembusse, einen Peripheral Component Interconnect (PCI) Bus, einen Hyper-Transport- oder Industriestandardarchitektur- (ISA) Bus, einen Small Computer System Interface (SCSI) Bus, einen universellen seriellen Bus (USB), oder einen Standard-1394 Bus des Institute of Electrical and Electronics Engineers (IEEE) (allgemein als „Firewire“ bezeichnet) aufweisen.
  • In einer Ausführungsform weist das System 700 eine Schnittstelle 714 auf, die mit der Schnittstelle 712 gekoppelt sein kann. Die Schnittstelle 714 kann eine Schnittstelle mit niedrigerer Geschwindigkeit als die Schnittstelle 712 sein. In einer Ausführungsform kann die Schnittstelle 714 eine „Southbridge“-Schaltung sein, die eigenständige Komponenten und eine integrierte Schaltung aufweisen kann. In einer Ausführungsform sind mehrere Benutzerschnittstellenkomponenten oder periphere Komponenten oder beides mit der Schnittstelle 714 gekoppelt. Die Netzwerkschnittstelle 750 stellt dem System 700 die Fähigkeit bereit, über eines oder mehrere Netzwerke mit entfernten Vorrichtungen (z. B. Servern oder anderen Computervorrichtungen) zu kommunizieren. Die Netzwerkschnittstelle 750 kann einen Ethernet-Adapter, Komponenten für eine drahtlose Verbindung, Komponenten für eine Mobilfunkverbindung, USB (universeller serieller Bus), oder auf andere drahtgebundene oder drahtlose Standards basierende, oder proprietäre Schnittstellen aufweisen. Die Netzwerkschnittstelle 750 kann Daten mit einer entfernten Vorrichtungen austauschen, was das Senden von im Speicher gespeicherten Daten oder das Empfangen von Daten zum Speichern in dem Speicher umfassen kann.
  • In einer Ausführungsform weist das System 700 eine oder mehrere Eingabe/Ausgabe- (E/A) Schnittstellen 760 auf. Die E/A-Schnittstelle 760 kann eine oder mehrere Schnittstellenkomponenten aufweisen, durch die ein Benutzer mit dem System 700 interagiert (z. B. Audio-, alphanumerische, taktile/Berührungs-, oder andere Schnittstellen). Die Peripherieschnittstelle 770 kann eine beliebige Hardwareschnittstelle aufweisen, die oben nicht ausdrücklich erwähnt wurde. Peripherievorrichtungen beziehen sich im Allgemeinen auf Vorrichtungen, die abhängig von dem System 700 eine Verbindung herstellen. Eine abhängige Verbindung ist eine Verbindung, bei der das System 700 die Softwareplattform oder Hardwareplattform, oder beides, bereitstellt, von der die Operation ausgeführt wird und mit der ein Benutzer interagiert.
  • In einer Ausführungsform weist das System 700 ein Speicher-Subsystem 780 zum Speichern von Daten auf eine nichtflüchtige Weise auf. In einer Ausführungsform können sich in bestimmten Systemimplementierungen zumindest bestimmte Komponenten des Speichers 780 mit Komponenten des Speicher-Subsystems 720 überlappen. Das Speicher-Subsystem 780 weist Speichervorrichtungen (eine Speichervorrichtung) 784 auf, die ein beliebiges herkömmliches Medium zum Speichern großer Datenmengen auf nichtflüchtige Weise, wie z. B. eine oder mehrere magnetische, Festkörper-, oder optische Platten, oder eine Kombination, sein können oder aufweisen können. Der Speicher 784 hält Code oder Anweisungen und Daten 786 in einem persistenten Zustand (d. h. der Wert wird trotz Unterbrechung der Stromversorgung des Systems 700 beibehalten). Der Speicher („storage“) 784 kann allgemein als „(Arbeits-) Speicher“ („memory“) betrachtet werden, obwohl der (Arbeits-) Speicher 730 typischerweise der ausführende oder Betriebsspeicher ist, um Anweisungen an den Prozessor 710 zu liefern. Während der Speicher 784 nicht flüchtig ist, kann der (Arbeits-) Speicher 730 einen flüchtigen Speicher aufweisen (d. h. der Wert oder der Zustand der Daten sind unbestimmt, wenn die Stromversorgung des Systems 700 unterbrochen wird). In einer Ausführungsform weist das Speicher-Subsystem 780 eine Steuerung 782 auf, um eine Schnittstelle mit dem Speicher 784 herzustellen. In einer Ausführungsform ist der Controller 782 ein physischer Teil der Schnittstelle 714 oder des Prozessors 710 oder kann Schaltungen oder Logik sowohl in dem Prozessor 710 als auch in der Schnittstelle 714 aufweisen.
  • Die Stromquelle 702 versorgt die Komponenten des Systems 700 mit Strom. Spezieller ist die Stromquelle 702 typischerweise mit einer oder mehreren Stromversorgungen 704 im System 702 verbunden, um die Komponenten des Systems 700 mit Strom zu versorgen. In einer Ausführungsform weist die Stromquelle 704 einen AC/DC- (Wechselstrom/Gleichstrom) Adapter zum Anschließen an eine Steckdose auf. Ein solcher Wechselstrom kann eine Stromquelle 702 von erneuerbarer Energie (z. B. Sonnenenergie) sein. In einer Ausführungsform weist die Stromquelle 702 eine Gleichstromquelle, wie etwa einen externen AC/DC-Wandler, auf. In einer Ausführungsform weist die Stromquelle 702 oder die Stromversorgung 704 drahtlose Ladehardware zum Laden durch die Nähe zu einem Ladefeld auf. In einer Ausführungsform kann die Stromquelle 702 eine interne Batterie- oder Brennstoffzellenquelle aufweisen.
  • In einer Ausführungsform weist das System 700 einen Befehlsadressbus (DDR CA) 790 mit doppelter Datenrate auf, der eine Busarchitektur repräsentiert, in der eine Logikschaltung Befehls- und Adressinformationen auf einem Befehlsbus mit schmaler Breite mit einer höheren Datenrate empfängt und die Befehls- und Adressinformationen auf einem Befehlsbus mit breiterer Breite mit einer niedrigeren Datenrate an eine oder mehrere Speichervorrichtungen sendet. Die niedrigere Datenrate kann eine Standarddatenrate für traditionelle Befehlssignale, wie etwa SDR; sein. Die höhere Datenrate kann DDR sein. Der Befehlsbus mit größerer Breite kann ein Standardbefehlsbus sein, der sich auf einen Bus bezieht, der eine Anzahl von Signalleitungen aufweist, die von einem Standard für die Schnittstelle mit einer Speichervorrichtung festgelegt sind. Der Befehlsbus mit geringerer Breite ist schmaler als die von der Speichervorrichtung verwendete Befehlsbusbreite. Es versteht sich, dass eine solche Architektur eine Steuerlogik aufweisen wird, um die Befehlssignale von dem Host mit der höheren Rate zu empfangen und die Befehlssignale mit der niedrigeren Rate an den Speicher zu senden. Das Empfangen und Senden kann gemäß jeder hier beschriebenen Ausführungsform erfolgen.
  • 8 ist ein Blockdiagramm einer Ausführungsform einer mobilen Vorrichtung, in dem ein Befehlsbus mit doppelter Datenrate implementiert werden kann. Die Vorrichtung 800 repräsentiert eine mobile Computervorrichtung, wie beispielsweise ein Tablet-Computer, ein Mobiltelefon oder Smartphone, einen drahtlosen E-Reader, eine tragbares Computervorrichtung, eine Internetvorrichtung oder eine andere mobile Vorrichtung oder eine eingebettete Computervorrichtung. Es versteht sich, dass bestimmte Komponenten allgemein gezeigt sind und nicht alle Komponenten einer solchen Vorrichtung in der Vorrichtung 800 gezeigt werden.
  • Die Vorrichtung 800 weist einen Prozessor 810 auf, der die primären Verarbeitungsoperationen der Vorrichtung 800 ausführt. Der Prozessor 810 kann eine oder mehrere physikalische Vorrichtungen aufweisen, wie etwa Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Die vom Prozessor 810 durchgeführten Verarbeitungsoperationen weisen die Ausführung einer Betriebsplattform oder eines Betriebssystems auf, auf dem Anwendungen und Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen, die sich auf die E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen beziehen, Operationen, die sich auf die Stromverwaltung beziehen, Operationen, die sich auf das Verbinden der Vorrichtung 800 mit einer anderen Vorrichtung beziehen, oder eine Kombination. Die Verarbeitungsoperationen können auch Operationen aufweisen, die sich auf Audio-E/A, Anzeige-E/A oder andere Schnittstellen, oder eine Kombination, beziehen. Der Prozessor 810 kann im Speicher gespeicherte Daten ausführen. Der Prozessor 810 kann im Speicher gespeicherte Daten schreiben oder bearbeiten.
  • In einer Ausführungsform weist das System 800 einen oder mehrere Sensoren 812 auf. Die Sensoren 812 repräsentieren eingebettete Sensoren oder Schnittstellen zu externen Sensoren, oder eine Kombination. Die Sensoren 812 ermöglichen dem System 800, eine oder mehrere Bedingungen einer Umgebung oder einer Vorrichtung, in der das System 800 implementiert ist, zu überwachen oder zu detektieren. Die Sensoren 812 können Umgebungssensoren (wie etwa Temperatursensoren, Bewegungsdetektoren, Lichtdetektoren, Kameras, chemische Sensoren (z. B. Kohlenmonoxid-, Kohlendioxid- oder andere chemische Sensoren)), Drucksensoren, Beschleunigungsdetektoren, Gyroskope, medizinische oder physiologische Sensoren (z. B. Biosensoren, Herzfrequenzmonitore oder andere Sensoren zum Detektieren physiologischer Merkmale), oder andere Sensoren, oder einer Kombination sein. Die Sensoren 812 können auch Sensoren für biometrische Systeme aufweisen, wie etwa Fingerabdruckdetektionssysteme, Gesichtsdetektions- oder Erkennungssysteme oder andere Systeme, die Benutzermerkmale detektieren oder erkennen. Die Sensoren 812 sollten allgemein verstanden werden und beschränken die vielen unterschiedlichen Arten von Sensoren, die mit dem System 800 implementiert werden könnten, nicht. In einer Ausführungsform sind ein oder mehrere Sensoren 812 über eine mit dem Prozessor 810 integrierte Frontend-Schaltung mit dem Prozessor 810 gekoppelt. Einer oder mehrere Sensoren 812 sind über eine andere Komponente des Systems 800 mit dem Prozessor 810 gekoppelt.
  • In einer Ausführungsform weist die Vorrichtung 800 ein Audio-Subsystem 820 auf, das Hardware- (z. B. Audio-Hardware- und Audio-Schaltungen) und Software-(z. B. Treiber, Codecs) Komponenten repräsentiert, die der Bereitstellung von Audiofunktionen für die Rechenvorrichtung zugeordnet sind. Die Audiofunktionen können einen Lautsprecher- oder Kopfhörerausgang sowie einen Mikrofoneingang aufweisen. Vorrichtungen für solche Funktionen können in die Vorrichtung 800 integriert sein oder mit der Vorrichtung 800 verbunden sein. In einer Ausführungsform interagiert ein Benutzer mit der Vorrichtung 800, indem er Audiobefehle bereitstellt, die vom Prozessor 810 empfangen und verarbeitet werden.
  • Das Anzeige-Subsystem 830 repräsentiert Hardware (z. B. Anzeigevorrichtungen) und Software-(z. B. Treiber) Komponenten, die eine visuelle Anzeige zur Präsentation für einen Benutzer bereitstellen. In einer Ausführungsform weist die Anzeige taktile Komponenten oder Touchscreen-Elemente für einen Benutzer zum Interagieren mit der Computervorrichtung auf. Das Anzeige-Subsystem 830 weist eine Anzeigeschnittstelle 832 auf, die den bestimmten Bildschirm oder die spezielle Hardwarevorrichtung aufweist, die verwendet wird, um für einen Benutzer eine Anzeige bereitzustellen. In einer Ausführungsform weist die Anzeigeschnittstelle 832 eine vom Prozessor 810 separate Logik (wie etwa einen Grafikprozessor) auf, um zumindest einige auf die Anzeige bezogene Verarbeitung durchzuführen. In einer Ausführungsform weist das Anzeige-Subsystem 830 eine Touchscreen-Vorrichtung auf, die einem Benutzer sowohl eine Ausgabe als auch eine Eingabe bereitstellt. In einer Ausführungsform weist das Anzeige-Subsystem 830 eine Hight-Definition- (HD) Anzeige auf, die einem Benutzer eine Ausgabe bereitstellt. High Definition kann sich auf eine Anzeige mit einer Pixeldichte von etwa 100 PPI (Pixel pro Zoll) oder mehr beziehen und kann Formate, wie etwa Full-HD (z. B. 1080p), Retina-Displays, 4K (Ultra-High-Definition oder UHD), oder andere, aufweisen. In einer Ausführungsform weist das Anzeige-Subsystem eine Touchscreen-Anzeige auf. In einer Ausführungsform erzeugt das Anzeige-Subsystem 830 Anzeigeinformationen basierend auf Daten, die in dem Speicher gespeichert sind, oder Operationen, die von dem Prozessor 810 ausgeführt werden, oder beides.
  • Der E/A-Controller 840 repräsentiert Hardwarevorrichtungen und Softwarekomponenten, die sich auf die Interaktion mit einem Benutzer beziehen. Der E/A-Controller 840 kann so arbeiten, dass er Hardware verwaltet, die Teil des Audio-Subsystems 820 oder des Anzeige-Subsystems 830, oder beides, ist. Außerdem stellt der E/A-Controller 840 einen Verbindungspunkt für zusätzliche Vorrichtungen dar, die mit der Vorrichtung 800 verbunden sind, über den ein Benutzer mit dem System interagieren kann. Zum Beispiel können Vorrichtungen, die an die Vorrichtung 800 angeschlossen werden können, Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder andere Anzeigevorrichtungen, eine Tastatur oder Tastaturvorrichtungen, oder andere E/A-Vorrichtungen zur Verwendung mit bestimmten Anwendungen, wie etwa Kartenlesern, oder andere Vorrichtungen, aufweisen.
  • Wie oben erwähnt, kann der I/O-Controller 840 mit dem Audio-Subsystem 820 oder dem Anzeige-Subsystem 830, oder beidem, interagieren. Zum Beispiel kann eine Eingabe über ein Mikrofon oder eine andere Audiovorrichtung Eingaben oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 800 bereitstellen. Außerdem kann eine Audioausgabe anstelle von oder zusätzlich zu der Anzeigeausgabe bereitgestellt werden. In einem anderen Beispiel fungiert, wenn das Anzeige-Subsystem einen Touchscreen aufweist, die Anzeigevorrichtung auch als eine Eingabevorrichtung, die zumindest teilweise von der E/A-Steuerung 840 verwaltet werden kann. Es können auch zusätzliche Tasten oder Schalter auf der Vorrichtung 800 vorhanden sein, um E/A-Funktionen, die vom E/A-Controller 840 verwaltet werden, bereitzustellen.
  • In einer Ausführungsform verwaltet der E/A-Controller 840 Vorrichtungen, wie etwa Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren, Gyroskope, ein globales Positionierungssystem (GPS), oder andere Hardware, die in der Vorrichtung 800 enthalten sein kann, oder Sensoren 812. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein und dem System eine Umgebungseingabe bereitstellen, um seine Operationen zu beeinflussen (z. B. eine Filterung nach Störgeräuschen, Anpassen von Anzeigen für die Helligkeitserkennung, Anwenden eines Blitzes für eine Kamera, oder andere Funktionen).
  • In einer Ausführungsform weist die Vorrichtung 800 eine Stromverwaltung 850 auf, die den Batteriestromverbrauch, das Laden der Batterie, und Merkmale im Zusammenhang mit dem Stromsparmodus verwaltet. Die Stromverwaltung 850 verwaltet den Strom von der Stromquelle 852, die die Komponenten des Systems 800 mit Strom versorgt. In einer Ausführungsform weist die Stromquelle 852 einen AC/DC- (Wechselstrom zu Gleichstrom) Adapter auf, der in eine Wandsteckdose eingesteckt wird. Eine solcher Wechselstrom kann aus erneuerbarer Energie (z. B. Sonnenenergie, Bewegungsleistung) kommen. In einer Ausführungsform weist die Stromquelle 852 nur Gleichstrom auf, der von einer Gleichstromquelle, beispielsweise einem externen AC/DC-Wandler, bereitgestellt werden kann. In einer Ausführungsform weist die Stromquelle 852 drahtlose Ladehardware zum Laden durch die Nähe zu einem Ladefeld auf. In einer Ausführungsform kann die Stromquelle 852 eine interne Batterie- oder Brennstoffzellenquelle aufweisen.
  • Das Speicher-Subsystem 860 weist eine oder mehrere Speichervorrichtungen 862 zum Speichern von Informationen in der Vorrichtung 800 auf. Das Speicher-Subsystem 860 kann nichtflüchtig (der Zustand ändert sich nicht, wenn die Stromversorgung zu der Speichervorrichtung unterbrochen wird) oder flüchtig (der Zustand ist unbestimmt, wenn die Stromversorgung zu der Speichervorrichtung unterbrochen wird) oder eine Kombination sein. Der Speicher 860 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten, sowie Systemdaten (egal ob langfristig oder temporär), die sich auf die Ausführung der Anwendungen und Funktionen des Systems 800 beziehen, speichern. In einer Ausführungsform weist das Speicher-Subsystem 860 einen Speichercontroller 864 auf (die auch als Teil der Steuerung des Systems 800 betrachtet werden könnte und möglicherweise als Teil des Prozessors 810 betrachtet werden könnte). Der Speichercontroller 864 weist einen Scheduler zum Erzeugen und Ausgeben von Befehlen zum Steuern des Zugriffs auf die Speichervorrichtung 862 auf.
  • Die Konnektivität 870 weist Hardwarevorrichtungen (z. B. drahtlose oder drahtgebundene Steckverbinder und Kommunikationshardware oder eine Kombination aus drahtgebundener und drahtloser Hardware) und Softwarekomponenten (z. B. Treiber, Protokollstapel) auf, um der Vorrichtung 800 die Kommunikation mit externen Vorrichtungen zu ermöglichen. Die externe Vorrichtung kann eine separate Vorrichtung sein, wie etwa andere Computervorrichtungen, drahtlose Zugangspunkte oder Basisstationen, sowie Peripherievorrichtungen, wie etwa Headsets, Drucker oder andere Vorrichtungen. In einer Ausführungsform tauscht das System 800 Daten mit einer externen Vorrichtung aus, um sie im Speicher zu speichern oder auf einer Anzeigevorrichtung anzuzeigen. Die ausgetauschten Daten können Daten aufweisen, die im Speicher gespeichert werden sollen, oder Daten, die bereits im Speicher gespeichert sind, um Daten zu lesen, zu schreiben oder zu bearbeiten.
  • Die Konnektivität 870 kann mehrere unterschiedliche Arten der Konnektivität aufweisen. Zur Verallgemeinerung ist die Vorrichtung 800 mit der zellularen Konnektivität 872 und der drahtlosen Konnektivität 874 dargestellt. Die zellulare Konnektivität 872 bezieht sich im Allgemeinen auf eine Mobilfunkkonnektivität, die von Mobilfunkbetreibern bereitgestellt wird, wie etwa über GSM (globales System für mobile Kommunikation) oder Variationen oder Derivate, CDMA (Code Division Multiple Access) oder Variationen oder Ableitungen, TDM (Zeitmultiplex) oder Variationen oder Ableitungen, LTE (Long Term Evolution - auch als „4G“ bezeichnet) oder andere Mobilfunkstandards. Die drahtlose Konnektivität 874 bezieht sich auf drahtlose Konnektivität, die nicht zellular ist, und kann persönliche Netzwerke (wie etwa Bluetooth), lokale Netzwerke (wie etwa WiFi) oder Weitverkehrsnetze (wie etwa WiMax) oder eine andere drahtlose Kommunikation, oder eine Kombination, aufweisen. Unter drahtloser Kommunikation versteht man die Übertragung von Daten durch Verwendung von modulierter elektromagnetischer Strahlung über ein nicht festes Medium. Die drahtgebundene Kommunikation erfolgt über ein solides Kommunikationsmedium.
  • Peripherieverbindungen 880 weisen Hardwareschnittstellen und Steckverbinder, sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) auf, um Peripherieverbindungen herzustellen. Es versteht sich, dass die Vorrichtung 800 sowohl eine Peripherievorrichtung („zu“ 882) für andere Computervorrichtungen sein kann als auch Peripherievorrichtungen („von“ 884) daran angeschlossen haben kann. Die Vorrichtung 800 hat üblicherweise einen „Docking“-Anschluss, um eine Verbindung zu anderen Computervorrichtungen herzustellen, beispielsweise zum Zwecke des Verwaltens (z. B. Herunterladen, Hochladen, Ändern, Synchronisieren) von Inhalt auf der Vorrichtung 800. Außerdem kann ein Docking-Anschluss der Vorrichtung 800 die Verbindung mit bestimmten Peripherievorrichtungen ermöglichen, die es der Vorrichtung 800 ermöglichen, die Ausgabe von Inhalt, zum Beispiel an audiovisuelle oder andere Systeme, zu steuern.
  • Zusätzlich zu einem proprietären Docking-Anschluss oder anderer proprietärer Verbindungshardware kann die Vorrichtung 800 Peripherieverbindungen 880 über gemeinsame oder auf Standards basierende Steckverbinder herstellen. Zu den gebräuchlichen Typen gehören ein USB-(universeller serieller Bus) Anschluss (der einen von einer Anzahl unterschiedlicher Hardwareschnittstellen aufweisen kann), DisplayPort, darunter MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), Firewire, oder andere Arten.
  • In einer Ausführungsform weist das System 800 einen Befehlsadressbus mit doppelter Datenrate (DDR CA) 890 im Speicher-Subsystem 860 auf, der eine Busarchitektur repräsentiert, in der eine Logikschaltung Befehls- und Adressinformationen auf einem Befehlsbus mit schmaler Breite bei einer höheren Datenrate empfängt und die Befehls- und Adressinformationen an eine oder mehrere Speichervorrichtungen auf einem Befehlsbus breiterer Breite mit einer niedrigeren Datenrate sendet. Die niedrigere Datenrate kann eine Standarddatenrate für traditionelle Befehlssignale sein, wie etwa SDR. Die höhere Datenrate kann DDR sein. Der Befehlsbus mit größerer Breite kann ein Standardbefehlsbus sein, der sich auf einen Bus bezieht, der eine Anzahl von Signalleitungen aufweist, die von einem Standard für die Schnittstelle mit einer Speichervorrichtung festgelegt sind. Der Befehlsbus mit geringerer Breite ist schmaler als die von der Speichervorrichtung verwendete Befehlsbusbreite. Es versteht sich, dass eine solche Architektur eine Steuerlogik aufweisen wird, um die Befehlssignale mit der höheren Rate von dem Host zu empfangen und die Befehlssignale mit der niedrigeren Rate an den Speicher zu senden. Das Empfangen und Senden kann gemäß jeder hier beschriebenen Ausführungsform erfolgen.
  • In einem Aspekt weist eine Speicherschaltung auf: eine erste Gruppe von Befehlssignalleitungen, die eine erste Anzahl von Signalleitungen aufweisen, um mit einer ersten Datenrate zu arbeiten, um mit einem Speichercontroller gekoppelt zu sein; eine zweite Gruppe von Befehlssignalleitungen, die eine zweite Anzahl von Signalleitungen aufweisen, um mit einer zweiten Datenrate zu arbeiten, um an eine oder mehrere Speichervorrichtungen gekoppelt zu sein, wobei die erste Anzahl von Signalleitungen niedriger ist als die zweite Anzahl von Signalleitungen ist und die erste Datenrate höher als die zweite Datenrate ist; und eine Steuerlogik zum Empfangen eines Speicherbefehls auf der ersten Gruppe von Signalleitungen von dem Speichercontroller, und Weiterleiten des Befehls auf der zweiten Gruppe von Signalleitungen an die eine oder die mehreren Speichervorrichtungen.
  • In einer Ausführungsform ist die zweite Anzahl von Signalleitungen doppelt so groß wie die erste Anzahl von Signalleitungen. In einer Ausführungsform beträgt die zweite Datenrate die Hälfte der ersten Datenrate. In einer Ausführungsform ist die zweite Datenrate eine einfache Datenrate, wobei die Datenbitübertragung entweder an steigenden oder fallenden Flanken eines Taktsignals ausgelöst wird, und wobei die erste Datenrate eine doppelte Datenrate ist, wobei die Datenbitübertragung sowohl bei der steigenden als auch bei der fallenden Flanke des Taktsignals ausgelöst wird. In einer Ausführungsform, ferner umfassend: einen Multiplexer zum Empfangen der ersten Gruppe von Befehlssignalleitungen als Eingabe und zum selektiven Ausgeben von Signalen von der ersten Gruppe von Signalleitungen an die zweite Gruppe von Befehlssignalleitungen, wobei die Auswahl des Multiplexers durch die Polarität eines Taktsignals gesteuert wird. In einer Ausführungsform empfängt die Steuerlogik zwei verschachtelte Befehlssignale auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen und gibt die beiden Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen aus. In einer Ausführungsform empfängt die Steuerlogik zwei Bursts von Befehlssignalen auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen und gibt die zwei Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen aus. In einer Ausführungsform umfassen die eine oder die mehreren Speichervorrichtungen synchrone dynamische Direktzugriffsspeicher- (SDRAM) Vorrichtungen, die einem DDR-basierten Standard entsprechen. In einer Ausführungsform umfasst die Speicherschaltung eine Schaltung auf einem Dual-Inline-Speichermodul (DIMM). In einer Ausführungsform umfasst die Speicherschaltung ein Register. In einer Ausführungsform umfasst die Speicherschaltung einen Puffer. In einer Ausführungsform ist die erste Gruppe von Signalleitungen in der Lage, entweder mit der ersten Datenrate oder der zweiten Datenrate arbeiten. In einer Ausführungsform, ferner umfassend: eine dritte Gruppe von Datensignalleitungen, um Daten zwischen dem Speichercontroller und der einen oder den mehreren Speichervorrichtungen auszutauschen, wobei die Datensignalleitungen mit der ersten Datenrate arbeiten sollen.
  • In einem Aspekt weist eine Computervorrichtung auf: ein Dual-Inline-Speichermodul (DIMM), das mehrere Speichervorrichtungen aufweist; und eine Logikschaltung, die eine erste Hardwareschnittstelle zum Koppeln an einen Speichercontroller über eine erste Gruppe von Befehlssignalleitungen mit einer ersten Anzahl von Signalleitungen, um mit einer ersten Datenrate zu arbeiten; und eine zweite Hardwareschnittstelle zum Koppeln an die Speichervorrichtungen über eine zweite Gruppe von Befehlssignalleitungen mit einer zweiten Anzahl von Signalleitungen, um mit einer zweiten Datenrate zum Koppeln zu arbeiten, wobei die erste Anzahl von Signalleitungen niedriger als die zweite Anzahl von Signalleitungen ist und die erste Datenrate höher als die zweite Datenrate ist; wobei die Logikschaltung Befehlssignale, die über die erste Gruppe von Befehlssignalleitungen empfangen werden, über die zweite Gruppe von Signalleitungen an die Speichervorrichtungen überträgt.
  • In einer Ausführungsform ist die zweite Anzahl von Signalleitungen doppelt so groß wie die erste Anzahl von Signalleitungen und beträgt die zweite Datenrate die Hälfte der ersten Datenrate. In einer Ausführungsform umfasst die Logikschaltung ferner: einen Multiplexer zum Empfangen der ersten Gruppe von Befehlssignalleitungen als Eingabe und zum selektiven Ausgeben von Signalen von der ersten Gruppe von Signalleitungen an die zweite Gruppe von Befehlssignalleitungen, wobei die Auswahl des Multiplexers durch die Polarität eines Taktsignals gesteuert wird. In einer Ausführungsform ist die zweite Datenrate eine einfache Datenrate, wobei die Datenbitübertragung entweder an steigenden oder fallenden Flanken eines Taktsignals ausgelöst wird, und wobei die erste Datenrate eine doppelte Datenrate ist, wobei die Datenbitübertragung sowohl bei der steigenden als auch bei der fallenden Flanke des Taktsignals ausgelöst wird. In einer Ausführungsform empfängt die Logikschaltung zwei verschachtelte Befehlssignale auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen und gibt die beiden Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen aus. In einer Ausführungsform umfasst die Speichervorrichtung eine synchrone dynamische Direktzugriffsspeicher- (SDRAM) Vorrichtung, die mit einem DDR-basierten Standard kompatibel ist. In einer Ausführungsform umfasst die Speichervorrichtung eine synchrone dynamische Direktzugriffsspeicher- (SDRAM) Vorrichtung, die mit einem auf doppelter Datenrate mit niedriger Leistung (LPDDR) basierenden Standard kompatibel ist. In einer Ausführungsform umfasst die Logikschaltung ein Register. In einer Ausführungsform umfasst die Logikschaltung einen Puffer. In einer Ausführungsform umfasst das DIMM ferner: eine dritte Gruppe von Datensignalleitungen, um Daten zwischen dem Speichercontroller und der einen oder den mehreren Speichervorrichtungen auszutauschen, wobei die Datensignalleitungen mit der ersten Datenrate arbeiten sollen. In einer Ausführungsform, ferner umfassend eines oder mehreres von: dem Speichercontroller zum Verwaltungen des Speicherzugriffs auf die Speichervorrichtungen des DIMMs; zumindest einen Prozessor, der kommunikativ mit dem Speichercontroller und dem DIMM gekoppelt ist; eine Anzeige, die kommunikativ mit zumindest einem Prozessor gekoppelt ist; eine Batterie zur Stromversorgung des Systems; oder eine Netzwerkschnittstelle, die kommunikativ mit zumindest einem Prozessor gekoppelt ist.
  • In einem Aspekt umfasst ein Verfahren zum Betreiben einer Speicherschnittstelle: Empfangen von Befehlssignalen von einem Speichercontroller über eine erste Gruppe von Befehlssignalleitungen mit einer ersten Anzahl von Signalleitungen, die mit einer ersten Datenrate betrieben werden; und Übertragen der Befehlssignale an Speichervorrichtungen über eine zweite Gruppe von Befehlssignalleitungen mit einer zweiten Anzahl von Signalleitungen, die mit einer zweiten Datenrate betrieben werden; wobei die erste Anzahl von Signalleitungen niedriger als die zweite Anzahl von Signalleitungen ist und die erste Datenrate höher als die zweite Datenrate ist.
  • In einer Ausführungsform ist die zweite Anzahl von Signalleitungen doppelt so groß wie die erste Anzahl von Signalleitungen und beträgt die zweite Datenrate die Hälfte der ersten Datenrate. In einer Ausführungsform umfasst das Übertragen des Befehlssignals an die Speichervorrichtungen: Empfangen einer Befehlssignalleitung der ersten Gruppe als eine Eingabe in einen Multiplexer; und Multiplexen der Befehlssignalleitung der ersten Gruppe auf zwei Befehlssignalleitungen der zweiten Gruppe. In einer Ausführungsform umfasst das Multiplexen der Befehlssignalleitung der ersten Gruppe auf zwei Befehlssignalleitungen der zweiten Gruppe selektives Ausgeben an die zwei Befehlssignalleitungen der zweiten Gruppe basierend auf der Polarität eines Taktsignals. In einer Ausführungsform ist die zweite Datenrate eine einfache Datenrate, wobei die Datenbitübertragung entweder an steigenden oder fallenden Flanken eines Taktsignals ausgelöst wird, und wobei die erste Datenrate eine doppelte Datenrate ist, wobei die Datenbitübertragung sowohl bei der steigenden als auch bei der fallenden Flanke des Taktsignals ausgelöst wird. In einer Ausführungsform umfasst das Empfangen der Befehlssignale von dem Speichercontroller Empfangen von zwei verschachtelten Befehlssignalen auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen, und wobei das Übertragen der Befehlssignale an die Speichervorrichtungen Ausgeben der zwei Befehlssignale auf getrennten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen umfasst. In einer Ausführungsform umfasst die Speichervorrichtung eine synchrone dynamische Direktzugriffsspeicher- (SDRAM) Vorrichtung, die mit einem auf DDR basierenden Standard kompatibel ist. In einer Ausführungsform umfasst die Speichervorrichtung eine synchrone dynamische Direktzugriffsspeicher- (SDRAM) Vorrichtung, die mit einem auf doppelter Datenraten mit niedriger Leistung (LPDDR) basierenden Standard kompatibel ist. In einer Ausführungsform umfassen das Empfangen und das Senden das Empfangen und Senden von einem Register eines Dual-Inline-Speichermoduls (DIMM). In einer Ausführungsform umfassen das Empfangen und das Senden das Empfangen an und das Senden von einem Puffer eines Dual-Inline-Speichermoduls (DIMM).
  • In einem Aspekt umfasst eine Vorrichtung Mittel zur Durchführung von Operationen zum Ausführen eines Verfahrens zum Betreiben einer Speicherschnittstelle gemäß einer beliebigen Ausführungsform des obigen Aspekts eines Verfahrens. In einem Aspekt umfasst ein Herstellungsartikel ein computerlesbares Speichermedium, auf dem Inhalt gespeichert ist, um Anweisungen bereitzustellen zum Veranlassen einer Maschine, Operationen durchzuführen, um ein Verfahren zum Betreiben einer Speicherschnittstelle gemäß einer beliebigen Ausführungsform des obigen Aspekts eines Verfahrens auszuführen.
  • Flussdiagramme, wie hierin dargestellt, stellen Beispiele für Sequenzen verschiedener Prozessaktionen bereit. Die Flussdiagramme können Operationen angeben, die von einer Software- oder Firmware-Routine ausgeführt werden sollen, sowie physische Operationen. In einer Ausführungsform kann ein Flussdiagramm den Zustand eines endlichen Automats („Finite-State-Machine“) (FSM) darstellen, die in Hardware, Software oder einer Kombination implementiert sein kann. Obwohl in einer bestimmten Sequenz oder Reihenfolge gezeigt, kann die Reihenfolge der Aktionen geändert werden, sofern nicht anders angegeben. Somit sind die dargestellten Ausführungsformen nur als ein Beispiel zu verstehen, und der Prozess kann in einer anderen Reihenfolge ausgeführt werden, und einige Aktionen können parallel ausgeführt werden. Außerdem können eine oder mehrere Aktionen in verschiedenen Ausführungsformen weggelassen werden; somit sind nicht in jeder Ausführungsform alle Aktionen erforderlich. Andere Prozessabläufe sind möglich.
  • Insofern hierin verschiedene Operationen oder Funktionen beschrieben sind, können sie als Softwarecode, Anweisungen, Konfigurationen, Daten, oder eine Kombination, beschrieben oder definiert sein. Der Inhalt kann direkt ausführbar („Objekt-“ oder „ausführbare“ Form), Quellcode oder Differenzcode („Delta-“ oder „Patch-“ Code) sein. Der Softwareinhalt der hier beschriebenen Ausführungsformen kann über einen Herstellungsartikel mit dem darauf gespeicherten Inhalt oder über ein Verfahren zum Betreiben einer Kommunikationsschnittstelle zum Senden von Daten über die Kommunikationsschnittstelle bereitgestellt werden. Ein maschinenlesbares Speichermedium kann veranlassen, dass eine Maschine die beschriebenen Funktionen oder Operationen ausführt, und umfasst einen Mechanismus, der Informationen in einer Form speichert, auf die eine Maschine (z. B. eine Computervorrichtung, ein elektronisches System usw.) zugreifen kann, wie etwa beschreibbare/nicht-beschreibbare Medien (z. B. Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Magnetplatten-Speichermedien, optische Speichermedien, Flash-Speichervorrichtungen usw.). Eine Kommunikationsschnittstelle weist einen beliebigen Mechanismus auf, der mit einem festverdrahteten, drahtlosen, optischen usw. Medium verbunden ist, um mit einer anderen Vorrichtung zu kommunizieren, z. B. eine Speicherbusschnittstelle, eine Prozessorbusschnittstelle, eine Internetverbindung, ein Plattencontroller usw. Die Kommunikationsschnittstelle kann konfiguriert werden, indem Konfigurationsparameter bereitgestellt werden oder Signale gesendet werden, oder beides, um die Kommunikationsschnittstelle vorzubereiten, ein Datensignal bereitzustellen, das den Softwareinhalt beschreibt. Auf die Kommunikationsschnittstelle kann über einen oder mehrere Befehle oder Signale zugegriffen werden, die an die Kommunikationsschnittstelle gesendet 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 davon, auf. Die Komponenten können als Softwaremodule, Hardwaremodule, Spezialhardware (z. B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASICs), digitale Signalprozessoren (DSPs) usw.), eingebettete Steuerungen, festverdrahtete Schaltungen usw. implementiert sein.
  • Abgesehen von dem hier beschrieben können verschiedene Modifizierungen an den offenbarten Ausführungsformen und Implementierungen der Erfindung vorgenommen werden, ohne von ihrem Umfang abzuweichen. Daher sollten die Darstellungen und Beispiele hierin in einem veranschaulichenden und nicht einschränkenden Sinne ausgelegt werden. Der Umfang der Erfindung sollte nur unter Bezugnahme auf die folgenden Ansprüche gemessen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 15282757 [0001]
    • US 62/380360 [0001]

Claims (25)

  1. Speicherschaltung zum Austausch von Speicherbefehlssignalen, umfassend: eine erste Hardwareschnittstelle zum Koppeln an einen Speichercontroller über eine erste Gruppe von Befehlssignalleitungen, um mit einer ersten Datenrate zu arbeiten; eine zweite Hardwareschnittstelle zum Koppeln an mehrere Speichervorrichtungen über eine zweite Gruppe von Befehlssignalleitungen, um mit einer zweiten Datenrate zu arbeiten, wobei die erste Anzahl von Signalleitungen niedriger ist als die zweite Anzahl von Signalleitungen und die erste Datenrate höher ist als die zweite Datenrate; und Steuerlogik zum Empfangen von Befehlssignalen über die erste Gruppe von Befehlssignalleitungen über die erste Hardwareschnittstelle und zum Übertragen der Befehlssignale über die zweite Gruppe von Befehlssignalleitungen über die zweite Hardwareschnittstelle.
  2. Speicherschaltung nach Anspruch 1, wobei die zweite Anzahl von Signalleitungen doppelt so groß ist wie die erste Anzahl von Signalleitungen und die zweite Datenrate die Hälfte der ersten Datenrate beträgt.
  3. Speicherschaltung nach Anspruch 2, ferner umfassend: einen Multiplexer zum Empfangen der ersten Gruppe von Befehlssignalleitungen als Eingabe und zum selektiven Ausgeben von Signalen von der ersten Gruppe von Signalleitungen an die zweite Gruppe von Befehlssignalleitungen, wobei die Auswahl des Multiplexers durch die Polarität eines Taktsignals gesteuert wird.
  4. Speicherschaltung nach Anspruch 2, wobei die Steuerlogik zwei verschachtelte Befehlssignale auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen empfangen soll und die beiden Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen ausgeben soll.
  5. Speicherschaltung nach Anspruch 2, wobei die Steuerlogik zwei Bursts von Befehlssignalen auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen empfangen soll und die zwei Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen ausgeben soll.
  6. Speicherschaltung nach Anspruch 2, wobei die zweite Datenrate eine einfache Datenrate ist, wobei die Datenbitübertragung entweder an steigenden oder an fallenden Flanken eines Taktsignals ausgelöst wird, und wobei die erste Datenrate eine doppelte Datenrate ist, wobei die Datenbitübertragung sowohl an steigenden als auch an fallenden Flanken des Taktsignals ausgelöst wird.
  7. Speicherschaltung nach Anspruch 2, wobei die Logikschaltung zwei verschachtelte Befehlssignale auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen empfangen soll und die zwei Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen ausgeben soll.
  8. Speicherschaltung nach einem der Ansprüche 1 bis 7, wobei die Speichervorrichtung eine synchrone dynamische Direktzugriffspeicher- (SDRAM) Vorrichtung umfasst, die mit einem auf doppelter Datenrate (DDR) basierenden Standard kompatibel ist.
  9. Speicherschaltung nach einem der Ansprüche 1 bis 8, wobei die Speichervorrichtung eine synchrone dynamische Direktzugriffspeicher- (SDRAM) Vorrichtung umfasst, die mit einem auf doppelter Datenrate mit niedriger Leistung (LPDDR) basierenden Standard kompatibel ist.
  10. Speicherschaltung nach einem der Ansprüche 1 bis 9, wobei die Logikschaltung ein Register umfasst.
  11. Speicherschaltung nach einem der Ansprüche 1 bis 10, wobei die Logikschaltung einen Puffer umfasst.
  12. Speicherschaltung nach einem der Ansprüche 1 bis 11, wobei die erste Gruppe von Signalleitungen in der Lage ist, entweder mit der ersten Datenrate oder der zweiten Datenrate zu arbeiten.
  13. Speicherschaltung nach einem der Ansprüche 1 bis 12, ferner umfassend: eine dritte Gruppe von Datensignalleitungen zum Austausch von Daten zwischen dem Speichercontroller und der einen oder den mehreren Speichervorrichtungen, wobei die Datensignalleitungen mit der ersten Datenrate arbeiten sollen.
  14. Speicherschaltung nach einem der Ansprüche 1 bis 13, ferner umfassend: ein Dual-Inline-Speichermodul (DIMM), das die mehreren Speichervorrichtungen aufweist.
  15. Speicherschaltung nach Anspruch 14, wobei das DIMM ferner umfasst: eine dritte Gruppe von Datensignalleitungen zum Austausch von Daten zwischen dem Speichercontroller und der einen oder den mehreren Speichervorrichtungen, wobei die Datensignalleitungen mit der ersten Datenrate arbeiten sollen.
  16. Rechenvorrichtung nach Anspruch 14, ferner umfassend eines oder mehrere von: dem Speichercontroller, um den Speicherzugriff auf die Speichervorrichtungen des DIMMs zu verwalten; zumindest einem Prozessor, der kommunikativ mit dem Speichercontroller und dem DIMM gekoppelt ist; einer Anzeige, die kommunikativ mit zumindest einem Prozessor gekoppelt ist; einer Batterie zur Stromversorgung des Systems; oder einer Netzwerkschnittstelle, die kommunikativ mit zumindest einem Prozessor gekoppelt ist.
  17. Verfahren zum Betreiben einer Speicherschnittstelle, umfassend: Empfangen von Befehlssignalen von einem Speichercontroller über eine erste Gruppe von Befehlssignalleitungen mit einer ersten Anzahl von Signalleitungen, die mit einer ersten Datenrate betrieben werden; und Übertragen der Befehlssignale an Speichervorrichtungen über eine zweite Gruppe von Befehlssignalleitungen mit einer zweiten Anzahl von Signalleitungen, die mit einer zweiten Datenrate betrieben werden; wobei die erste Anzahl von Signalleitungen niedriger als die zweite Anzahl von Signalleitungen ist und die erste Datenrate höher als die zweite Datenrate ist.
  18. Verfahren nach Anspruch 17, wobei die zweite Anzahl von Signalleitungen doppelt so groß wie die erste Anzahl von Signalleitungen ist und die zweite Datenrate die Hälfte der ersten Datenrate beträgt, und wobei das Übertragen des Befehlssignals an die Speichervorrichtungen umfasst: Empfangen einer Befehlssignalleitung der ersten Gruppe als Eingabe in einen Multiplexer; und Multiplexen der Befehlssignalleitung der ersten Gruppe auf zwei Befehlssignalleitungen der zweiten Gruppe.
  19. Verfahren nach Anspruch 18, wobei das Multiplexen der Befehlssignalleitung der ersten Gruppe auf zwei Befehlssignalleitungen der zweiten Gruppe selektives Ausgeben an die zwei Befehlssignalleitungen der zweiten Gruppe basierend auf einer Polarität eines Taktsignals umfasst.
  20. Verfahren nach einem der Ansprüche 17 bis 19, wobei die zweite Datenrate eine einfache Datenrate ist, wobei die Datenbitübertragung entweder an steigenden oder an fallenden Flanken eines Taktsignals ausgelöst wird, und wobei die erste Datenrate eine doppelte Datenrate ist, wobei die Datenbitübertragung sowohl an den steigenden als auch fallenden Flanken des Taktsignals ausgelöst wird.
  21. Verfahren nach einem der Ansprüche 17 bis 20, wobei das Empfangen der Befehlssignale von dem Speichercontroller Empfangen von zwei verschachtelten Befehlssignalen auf einer einzelnen Befehlssignalleitung der ersten Gruppe von Befehlssignalleitungen umfasst, und wobei das Senden der Befehlssignale an die Speichervorrichtungen Ausgeben der zwei Befehlssignale auf separaten Befehlssignalleitungen der zweiten Gruppe von Befehlssignalleitungen umfasst.
  22. Verfahren nach einem der Ansprüche 17 bis 21, wobei die Speichervorrichtung eine synchrone dynamische Direktzugriffspeicher- (SDRAM) Vorrichtung umfasst, die mit einem auf doppelter Datenrate (DDR) basierenden Standard oder mit einem auf doppelter Datenrate mit niedriger Leistung (LPDDR) basierenden Standard kompatibel ist.
  23. Verfahren nach einem der Ansprüche 17 bis 22, wobei das Empfangen und das Senden ein Empfangen in einem Register oder einem Puffer eines Dual-Inline-Speichermoduls (DIMM) und ein Senden von diesem umfasst.
  24. Vorrichtung, umfassend Mittel zur Durchführung von Operationen zum Ausführen eines Verfahrens zum Betreiben einer Speicherschnittstelle nach einem der Ansprüche 17 bis 23.
  25. Herstellungsartikel, umfassend ein computerlesbares Speichermedium, auf dem Inhalt gespeichert ist, um Anweisungen bereitzustellen zum Veranlassen einer Maschine, Operationen durchzuführen, um ein Verfahren zum Betreiben einer Speicherschnittstelle nach einem der Ansprüche 17 bis 23 auszuführen.
DE112017004268.2T 2016-08-26 2017-08-02 Befehlsbus mit doppelter datenrate Pending DE112017004268T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662380360P 2016-08-26 2016-08-26
US62/380,360 2016-08-26
US15/282,757 US10789010B2 (en) 2016-08-26 2016-09-30 Double data rate command bus
US15/282,757 2016-09-30
PCT/US2017/045046 WO2018038883A1 (en) 2016-08-26 2017-08-02 Double data rate command bus

Publications (1)

Publication Number Publication Date
DE112017004268T5 true DE112017004268T5 (de) 2019-05-16

Family

ID=61243326

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004268.2T Pending DE112017004268T5 (de) 2016-08-26 2017-08-02 Befehlsbus mit doppelter datenrate

Country Status (4)

Country Link
US (1) US10789010B2 (de)
CN (1) CN109478177B (de)
DE (1) DE112017004268T5 (de)
WO (1) WO2018038883A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102450296B1 (ko) * 2017-12-26 2022-10-04 삼성전자주식회사 동기식 및 비동기식 혼합 방식의 디지털 인터페이스를 포함하는 장치, 이를 포함하는 디지털 처리 시스템, 및 이들에 의해 수행되는 디지털 처리 방법
US10642535B2 (en) * 2018-01-23 2020-05-05 International Business Machines Corporation Register access in a distributed memory buffer system
US11080210B2 (en) 2018-09-06 2021-08-03 Micron Technology, Inc. Memory sub-system including an in package sequencer separate from a controller
US11061751B2 (en) 2018-09-06 2021-07-13 Micron Technology, Inc. Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller
US11250902B2 (en) 2019-09-26 2022-02-15 Intel Corporation Method and apparatus to reduce power consumption for refresh of memory devices on a memory module
CN111459864B (zh) 2020-04-02 2021-11-30 深圳朗田亩半导体科技有限公司 一种存储器件及其制造方法
US11468931B2 (en) * 2020-07-02 2022-10-11 Micron Technology, Inc. Memory subsystem register clock driver clock teeing
CN112052483B (zh) * 2020-08-21 2022-03-25 郑州信大捷安信息技术股份有限公司 一种密码卡的数据通信系统及方法
US11626149B2 (en) * 2020-09-15 2023-04-11 Integrated Silicon Solution, (Cayman) Inc. SPI NOR memory with optimized read and program operation
CN112328523B (zh) * 2020-10-28 2023-09-08 深圳市宏旺微电子有限公司 传输双倍速率信号的方法、装置及系统
CN114661641A (zh) * 2020-12-24 2022-06-24 华为技术有限公司 一种内存模组和内存总线信号处理方法
KR20220128789A (ko) * 2021-03-15 2022-09-22 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치
TWI769080B (zh) * 2021-09-17 2022-06-21 瑞昱半導體股份有限公司 用於同步動態隨機存取記憶體之控制模組及其控制方法
US20230178121A1 (en) * 2021-12-06 2023-06-08 Advanced Micro Devices, Inc. High-bandwidth memory module architecture

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950350B1 (en) * 2002-01-08 2005-09-27 #Dlabs, Inc., Ltd. Configurable pipe delay with window overlap for DDR receive data
US6996749B1 (en) * 2003-11-13 2006-02-07 Intel Coporation Method and apparatus for providing debug functionality in a buffered memory channel
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7454586B2 (en) * 2005-03-30 2008-11-18 Intel Corporation Memory device commands
US7702839B2 (en) * 2005-04-12 2010-04-20 Nokia Corporation Memory interface for volatile and non-volatile memory devices
US7620763B2 (en) * 2006-07-26 2009-11-17 International Business Machines Corporation Memory chip having an apportionable data bus
US20080155187A1 (en) 2006-12-20 2008-06-26 Maurizio Skerlj System including memory buffer configured to decouple data rates
US7921243B1 (en) 2007-01-05 2011-04-05 Marvell International Ltd. System and method for a DDR SDRAM controller
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US8793525B2 (en) 2007-10-22 2014-07-29 Rambus Inc. Low-power source-synchronous signaling
KR101529291B1 (ko) 2008-02-27 2015-06-17 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 플래시 메모리시스템
US20090323879A1 (en) * 2008-04-18 2009-12-31 Honeywell International Inc. Data alignment and de-skew system and method for double data rate input data stream
US20100005214A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Enhancing bus efficiency in a memory system
US20100005206A1 (en) 2008-07-01 2010-01-07 International Business Machines Corporation Automatic read data flow control in a cascade interconnect memory system
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
US9026714B2 (en) * 2010-06-04 2015-05-05 Cisco Technology, Inc. Memory expansion using rank aggregation
US8649210B2 (en) * 2011-09-06 2014-02-11 Mediatek Inc. DDR PSRAM and data writing and reading methods thereof
US8760945B2 (en) * 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
US9158726B2 (en) * 2011-12-16 2015-10-13 Inphi Corporation Self terminated dynamic random access memory
US9009540B2 (en) * 2012-12-05 2015-04-14 Intel Corporation Memory subsystem command bus stress testing
US9385724B1 (en) 2013-10-03 2016-07-05 Altera Corporation Methods for operating configurable storage and processing blocks at double and single data rates
US10241727B1 (en) * 2015-10-15 2019-03-26 Rambus Inc. Hybrid memory module with improved inter-memory data transmission path
US10032497B2 (en) 2016-04-05 2018-07-24 Integrated Device Technology, Inc. Flexible point-to-point memory topology

Also Published As

Publication number Publication date
WO2018038883A1 (en) 2018-03-01
US10789010B2 (en) 2020-09-29
US20180061478A1 (en) 2018-03-01
CN109478177A (zh) 2019-03-15
CN109478177B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
DE112017004268T5 (de) Befehlsbus mit doppelter datenrate
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
US10755753B2 (en) Memory device with flexible internal data write control circuitry
DE112016004243T5 (de) Hybrides Auffrischen mit verborgenen Auffrischungen und externen Auffrischungen
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
EP2324431B1 (de) Eingangs-ausgangs-modul, verarbeitungsplattform und verfahren zur erweiterung einer speicherschnittstelle für eingangs-ausgangs-operationen
US9940984B1 (en) Shared command address (C/A) bus for multiple memory channels
CN110023914B (zh) 用于重复写入存储器的可编程数据样式
US20180096719A1 (en) Staggering initiation of refresh in a group of memory devices
EP3462455B1 (de) Lesen aus einem modusregister mit unterschiedlichem lese- und schreib-timing
KR102501147B1 (ko) 메모리에서 에러 체킹 및 정정 코드의 확장된 적용
US11061590B2 (en) Efficiently training memory device chip select control
DE112015003397T5 (de) Vorrichtung, System und Verfahren zur Bestimmung von Vergleichsinformationen basierend auf Speicherdaten
US11675716B2 (en) Techniques for command bus training to a memory device
DE102020118897A1 (de) Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul
US11188264B2 (en) Configurable write command delay in nonvolatile memory
US20210175887A1 (en) Encoded on-die termination for efficient multipackage termination
DE112022000580T5 (de) Reduzierung der Latenzauswirkungen von Fehlerprüfung und Korrektur auf dem Chip (ECC)
US11200113B2 (en) Auto-increment write count for nonvolatile memory
DE102023110723A1 (de) Randomisierung von gezielten auffrischungsverwaltungs(directed refresh management - drfm)-pseudo-zielzeilenauffrischungs(pseudo target row refresh - pttr)-befehlen
DE102022105932A1 (de) Komprimierter verbindungsstiftmit geschlossenem regelkreis
DE112022000954T5 (de) Doppelabruf für Speicherdatenübertragung mit langer Burst-Länge
US20230333928A1 (en) Storage and access of metadata within selective dynamic random access memory (dram) devices

Legal Events

Date Code Title Description
R012 Request for examination validly filed