DE112017006599T5 - Programmierbare datenstruktur zum wiederholten schreiben in einen speicher - Google Patents

Programmierbare datenstruktur zum wiederholten schreiben in einen speicher Download PDF

Info

Publication number
DE112017006599T5
DE112017006599T5 DE112017006599.2T DE112017006599T DE112017006599T5 DE 112017006599 T5 DE112017006599 T5 DE 112017006599T5 DE 112017006599 T DE112017006599 T DE 112017006599T DE 112017006599 T5 DE112017006599 T5 DE 112017006599T5
Authority
DE
Germany
Prior art keywords
data structure
memory
command
data
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017006599.2T
Other languages
English (en)
Inventor
Shigeki Tomishima
Kuljit S. 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.)
Sony 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 DE112017006599T5 publication Critical patent/DE112017006599T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/38Information transfer, e.g. on bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine programmierbare Datenstruktur zum wiederholten Schreiben in einen Speicher kann ein effizientes Schreiben einer Datenstruktur in mehrere Speicherstellen ermöglichen, ohne für jedes Schreiben die Datenstruktur zu senden. In einer Ausführungsform umfasst eine Speichervorrichtung ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum Empfangen eines Befehls, ein Register zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, und ein Zugriffsschaltungssystem zum Schreiben der Datenstruktur in einen Speicher, basierend auf der Quelle, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls.

Description

  • PRIORITÄT
  • Die vorliegende Anmeldung beansprucht nach 35 U.S.C. § 365(c) die Priorität der US-Anmeldung Nr. 15/391,684 , eingereicht am 27. Dezember 2016, mit der Bezeichnung „PROGRAMMABLE DATA PATTERN FOR REPEATED WRITES TO MEMORY“, welche hiermit durch Verweis in ihrer Gesamtheit einbezogen wird.
  • GEBIET
  • Die Beschreibungen betreffen allgemein Speicher und insbesondere eine programmierbare Datenstruktur zum wiederholten Schreiben in einen Speicher, ohne dass für jedes Schreiben ein Senden der Datenstruktur erforderlich ist.
  • URHEBERRECHTSHINWEIS/GENEHMIGUNG
  • Teile der Offenbarung dieses Patentdokuments können Material enthalten, welches dem Urheberrechtsschutz unterliegt. Der Inhaber des Urheberrechts hat keine Einwände gegen die Reproduktion des Patentdokuments oder der Offenbarung des Patents, wie es in der Patentdatei oder den Aufzeichnungen des Patent and Trademark Office erscheint, durch irgendjemanden, behält sich jedoch ansonsten alle Urheberrechte vor. Der Urheberrechtshinweis gilt für alle Daten, wie nachstehend und in den begleitenden Zeichnungen beschrieben, sowie für jegliche nachstehend beschriebene Software: Copyright © 2016, Intel Corporation, All Rights Reserved.
  • HINTERGRUND
  • Speicherressourcen werden verwendet, um in elektronischen Vorrichtungen und anderen Computerumgebungen Informationen zu speichern. Auf Speicherressourcen wird typischerweise über Befehle zugegriffen, die durch eine Speichersteuerung gesendet werden. Beispielsweise sendet eine Speichersteuerung Lese- und Schreibbefehle über Signalleitungen, umfassend Befehlssignalleitungen zum Senden von Befehlen und Datensignalleitungen zum Senden von Daten, an eine Speichervorrichtung. Das Senden von Daten über die Datensignalleitungen ist oft ein Engpass, welcher die Systemleistung begrenzt, und kann außerdem eine bedeutende Menge an Strom verbrauchen.
  • Figurenliste
  • Die folgende Beschreibung umfasst die Erörterung von Figuren, welche beispielhafte Veranschaulichungen von Realisierungen von Ausführungsformen der Erfindung aufweisen. Die Zeichnungen sollten als beispielhaft und nicht als beschränkend verstanden werden. Wie hierin verwendet, sind Bezugnahmen auf eine oder mehrere „Ausführungsformen“ so zu verstehen, dass sie mindestens eine Realisierung der Erfindung beschreiben, welche ein(e) oder mehrere spezielle Merkmale, Strukturen oder Eigenschaften umfasst. Somit beschreiben Ausdrücke wie „in einer Ausführungsform“ oder „in einer alternativen Ausführungsform“, die hierin vorkommen, verschiedene Ausführungsformen und Realisierungen der Erfindung und beziehen sich nicht notwendigerweise alle auf dieselbe Ausführungsform. Sie schließen sich jedoch auch nicht notwendigerweise gegenseitig aus.
    • 1 ist ein Blockschaubild eines Systems, welches ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher durchführen kann, gemäß einer Ausführungsform.
    • 2 ist ein Blockschaubild eines Systems, welches ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher durchführen kann, gemäß einer Ausführungsform.
    • 3 ist ein Blockschaubild einer Speichervorrichtung mit einer Steuerlogik zum Durchführen eines wiederholten Schreibens einer programmierbaren Datenstruktur gemäß einer Ausführungsform.
    • 4 ist ein Beispiel für einen logischen Schaltplan eines typischen Schreibtreibers einer Speichervorrichtung.
    • 5 ist ein logischer Schaltplan eines Schreibtreibers einer Speichervorrichtung zum Ermöglichen eines wiederholten Schreibens einer programmierbaren Datenstruktur in einen Speicher gemäß einer Ausführungsform.
    • 6 ist ein Beispiel für ein Modusregister zum Steuern einer Datenstruktur, die in einen Speicher geschrieben wird, gemäß einer Ausführungsform.
    • 7 ist ein Ablaufplan eines Verfahrens zum Schreiben einer Datenstruktur in einen Speicher gemäß einer Ausführungsform.
    • 8A, 8B, 8C und 8D sind Ablaufpläne von Verfahren zum Schreiben einer Datenstruktur in einen Speicher gemäß einer Ausführungsform.
    • 9A und 9B sind Ablaufpläne von Verfahren zum Schreiben einer Datenstruktur in einen Speicher gemäß einer Ausführungsform.
    • 10A und 10B sind Zeitdiagramme, welche Operationen zum Schreiben einer Datenstruktur in einen Speicher zeigen, gemäß einer Ausführungsform.
    • 11 ist ein Blockschaubild eines Computersystems, bei welchem ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher realisiert werden kann, gemäß einer Ausführungsform.
    • 12 ist ein Blockschaubild eines mobilen Geräts, bei welchem ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher realisiert werden kann, gemäß einer Ausführungsform.
  • Es folgen Beschreibungen bestimmter Einzelheiten und Realisierungen, umfassend eine Beschreibung der Figuren, in welchen einige oder alle der nachstehend beschriebenen Ausführungsformen abgebildet sein können, außerdem werden andere mögliche Ausführungsformen oder Realisierungen der hierin vorgestellten erfinderischen Konzepte erörtert.
  • DETAIILLIERTE BESCHREIBUNG
  • Hierin werden Vorrichtungen, Systeme und Verfahren für eine programmierbare Datenstruktur zum wiederholten Schreiben in einen Speicher beschrieben.
  • Der Betrieb eines Computersystems kann manchmal das wiederholte Schreiben einer Struktur, wie z.B. lauter Nullen, lauter Einsen oder einer anderen Datenstruktur, in einen Speicher mit sich bringen. Beispielsweise bringt die Ausführung einiger Anwendungen das Löschen von Speicherblöcken (z.B. durch Schreiben von Nullen) zu verschiedenen Zeiten während der Ausführung mit sich. In einem solchen Beispiel können einige Graphik-Intensivanwendungen das Schreiben von Nullen in Speicherblöcke mit sich bringen, um schnell Bereiche eines Displays zu schwärzen. In einem anderen Beispiel können einige Systeme ein schnelles Schreiben von Nullen zur Initialisierung oder Kalibrierung einer Fehlerkorrektur-Codierung (Error Correction Coding, ECC) erforderlich machen. Ein wiederholtes Schreiben von Nullen unter Verwendung von Standard-Einspeicherungsbefehlen kann dazu führen, dass wiederholt dieselbe Datenstruktur über den Datenbus gesendet wird, was eine ineffiziente Nutzung von Systemressourcen ist. In einigen Fällen kann die Anzahl der mit Nullen oder einer anderen Datenstruktur zu füllenden Speicherzellen bedeutend sein (z.B. eine gesamte Seite oder jede Speicherzelle auf einem Speicherchip) und das Senden der Datenstruktur für jedes Schreiben kann eine bedeutende Stromverbrauchsquelle sein.
  • Es gibt einige Techniken zur Verbesserung der Effizienz des Schreibens von ausschließlich Nullen. Beispielsweise wird in einigen Computersystemen ein Befehl speziell zum Schreiben von Nullen realisiert. Es können jedoch Umstände vorliegen, bei welchen ein Rechensystem wiederholt eine andere Datenstruktur als Nullen in einen Speicher schreibt. Beispielsweise kann eine Anwendung bewirken, dass Speicherblöcke mit Einsen gefüllt werden, um Bereiche eines Displays schnell weiß zu machen. In einem anderen Beispiel umfassen einige Computersysteme Sicherheitselemente, welche Daten modifizieren (z.B. verwürfeln), bevor sie in den Speicher geschrieben werden. In einem solchen Beispiel könnte ein Prozessor anfordern, dass Nullen in den Speicher geschrieben werden, aber die Speichersteuerung kann die in den Speicher zu schreibenden Daten zu Sicherheitszwecken zu einer anderen Struktur (z.B. eine Kombination von Nullen und Einsen) modifizieren. In einem solchen Beispiel handelt es sich bei den in dem Speicher gespeicherten Daten um eine sich wiederholende Datenstruktur, aber nicht um ausschließlich Nullen. Deswegen könnten vorhandene Techniken, welche nur auf das effiziente Schreiben von ausschließlich Nullen gerichtet sind, zum wiederholten Schreiben einer anderen Datenstruktur nicht genutzt werden.
  • Anders als bei vorhandenen Techniken, welche auf das Schreiben von Nullen beschränkt sind, kann eine Speichersteuerung in einer Ausführungsform bewirken, dass ausschließlich Nullen, ausschließlich Einsen oder eine andere Datenstruktur in einen Speicher geschrieben werden, ohne die Datenstruktur wiederholt über den Datenbus zu senden. Gemäß Ausführungsformen kann die Speichersteuerung einen einzelnen Befehl oder mehrere Befehle senden, um zu bewirken, dass eine Datenstruktur wiederholt geschrieben wird (wenn z.B. dieselbe Datenstruktur wiederholt in mehrere Speicherstellen zu schreiben ist). Gemäß Ausführungsformen ist ungeachtet dessen, ob das wiederholte Schreiben mit einem einzelnen oder mehreren Schreibbefehlen erreicht wird, die wiederholt zu schreibende Datenstruktur programmierbar, anstatt auf ausschließlich Nullen beschränkt zu sein.
  • In einer Ausführungsform umfasst die Speichervorrichtung ein Modusregister, welches die Quelle der Datenstruktur anzeigt, die in Reaktion auf einen Befehl zu schreiben ist. Beispielsweise umfasst das Modusregister in einer Ausführungsform ein Feld, welches so programmiert sein kann, dass es eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht, eine Datenquelle einer Datenstruktur, die ausschließlich aus Einsen besteht, oder Daten-Latches der Speichervorrichtung anzeigt, welche eine Datenstruktur aus einem früheren Schreibbefehl speichern. In einer solchen Ausführungsform kann die Schreibschaltung der Speichervorrichtung ein Schaltungssystem (z.B. einen Multiplexer oder ein anderes Schaltungssystem) umfassen, um eine Datenstrukturquelle auf der Grundlage des Werts auszuwählen, der in dem Modusregister gespeichert ist.
  • Gemäß Ausführungsformen zeigt das Modusregister an, welche Datenstruktur zu schreiben ist, indem es eine Quelle der Datenstruktur anzeigt. Wenn beispielsweise die gewünschte Datenstruktur ausschließlich aus Nullen besteht, kann die Quelle der Datenstruktur ein Eingang sein, der an einen Niederspannungs-Referenzwert (z.B. Masse) innerhalb des Speicher-Dies gebunden ist. In einem anderen Beispiel kann, wenn die gewünschte Datenstruktur ausschließlich aus Einsen besteht, die Quelle der Datenstruktur ein Eingang sein, der an einen Hochspannungs-Referenzwert (z.B. Spannungsquelle) innerhalb des Speicher-Dies gebunden ist. In einer Ausführungsform basiert die Datenstruktur auf Daten, die in Daten-Latches aus einer früheren Einspeicherung latch-gespeichert sind.
  • Deswegen können anders als bei vorhandenen Techniken, welche auf das Schreiben von Datenstrukturen aus ausschließlich Nullen beschränkt sind, Ausführungsformen ein effizientes Schreiben von programmierbaren Datenstrukturen in einen Speicher ermöglichen, ohne für jedes Schreiben ein Senden der Datenstruktur erforderlich zu machen.
  • 1 ist ein Blockschaubild eines Systems, welches ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher ohne wiederholtes Senden der Datenstruktur durchführen kann, gemäß einer Ausführungsform. Das System 100 umfasst Elemente eines Speicher-Teilsystems in einer Computervorrichtung. Der Prozessor 110 repräsentiert eine Verarbeitungseinheit einer Wirtscomputerplattform, welche ein Betriebssystem (OS) und Anwendungen ausführt, die zusammenfassend als ein „Wirt“ für den Speicher bezeichnet werden können. Das OS und die Anwendungen führen Operationen aus, welche zu Speicherzugriffen führen. Der Prozessor 110 kann einen oder mehrere separate Prozessoren umfassen. Jeder separate Prozessor kann eine einzelne Verarbeitungseinheit, eine mehrkernige Verarbeitungseinheit oder eine Kombination umfassen. Die Verarbeitungseinheit kann ein Primärprozessor sein, wie z.B. eine CPU (Zentralprozessoreinheit), ein peripherer Prozessor, wie z.B. eine GPU (Graphikprozessoreinheit) oder eine Kombination. Das System 100 kann als ein SOC (System on a chip, System auf einem Chip) oder mit selbständigen Komponenten realisiert sein.
  • Die Speichersteuerung 120 repräsentiert eine oder mehrere Speichersteuerungsschaltungen oder -vorrichtungen für das System 100. Die Speichersteuerung 120 repräsentiert eine Steuerlogik, welche in Reaktion auf die Ausführung von Operationen durch den Prozessor 110 Speicherzugriffsbefehle erzeugt. Die Speichersteuerung 120 greift auf eine oder mehrere Speichervorrichtungen 140 zu.
  • Eine Bezugnahme auf Speichervorrichtungen kann für verschiedene Speichertypen gelten. In einer Ausführungsform umfasst die Speichervorrichtung 140 eine flüchtige Speichervorrichtung. Ein flüchtiger Speicher ist ein Speicher, dessen Zustand (und daher der der in ihm gespeicherten Daten) unbestimmt ist, wenn die Stromzufuhr zu der Vorrichtung unterbrochen wird. Ein nichtflüchtiger Speicher bezieht sich auf einen Speicher, dessen Zustand festgelegt ist, auch wenn die Stromzufuhr zu der Vorrichtung unterbrochen wird. Ein dynamischer flüchtiger Speicher macht ein Aktualisieren der in der Vorrichtung gespeicherten Daten erforderlich, um den Zustand aufrechtzuerhalten. Ein Beispiel für einen dynamischen flüchtigen Speicher umfasst einen DRAM (Dynamic Random Access Memory, Dynamischen Direktzugriffsspeicher) oder eine Variante davon, wie z.B. einen synchronen DRAM (SDRAM). Ein Speicher-Teilsystem, wie hierin beschrieben, kann mit einer Anzahl von Speichertechnologien kompatibel sein, wie z.B. DDR3 (Double Data Rate Version 3, ursprüngliche Veröffentlichung durch JEDEC (Joint Electronic Device Engineering Council) am 27. Juni 2007, aktuelle Ausgabe 21), DDR4 (DDR Version 4, ursprüngliche Spezifikation veröffentlicht im September 2012 durch JEDEC), DDR4E (DDR Version 4, erweitert, aktuell erwogen durch JEDEC), LPDDR3 (Low-Power-DDR Version 3, JESD209-3B, Aug 2013 durch JEDEC), LPDDR4 (LOW POWER DOUBLE DATA RATE (LPDDR) Version 4, JESD209-4, ursprünglich veröffentlicht durch JEDEC im August 2014), WI02 (Wide I/O 2 (WideI02), JESD229-2, ursprünglich veröffentlicht durch JEDEC im August 2014), HBM (HIGH BANDWIDTH MEMORY, JESD235, ursprünglich veröffentlicht durch JEDEC im Oktober 2013), DDR5 (DDR Version 5, aktuell erwogen durch JEDEC), LPDDR5 (aktuell erwogen durch JEDEC), HBM2 (HBM Version 2, JESD235a, ursprünglich veröffentlicht durch JEDEC im Januar 2016), HBM3 (HBM Version 3, aktuell erwogen durch JEDEC) oder anderen oder Kombinationen von Speichertechnologien und Technologien auf der Basis von Ableitungen oder Erweiterungen solcher Spezifikationen.
  • Zusätzlich oder alternativ zu flüchtigem Speicher kann sich eine Bezugnahme auf Speichervorrichtungen in einer Ausführungsform auf eine nichtflüchtige Speichervorrichtung beziehen, deren Zustand festgelegt ist, auch wenn die Stromzufuhr zu der Vorrichtung unterbrochen ist. In einer Ausführungsform kann der nichtflüchtige Speicher byte- oder blockadressierbar sein. Blockadressierbarer oder byteadressierbarer Speicher kann, ohne darauf beschränkt zu sein, 3D-Kreuzpunktspeicher, Speicher, bei dem ein Chalkogenid-Phasenwechselmaterial (z.B. Chalkogenidglas) verwendet wird, mehrschwelliger NAND-Flash-Speicher, NOR-Flash-Speicher, ein- oder mehrstufiger Phasenwechselspeicher (Phase Change Memory, PCM), resistiver Speicher, Nanodrahtspeicher, ferroelektrischer Transistor-Direktzugriffsspeicher (FeTRAM), magnetoresistiver Direktzugriffsspeicher (MRAM), Speicher, bei dem die Memristor-Technologie eingesetzt wird, oder Spin-Transfer-Torque-MRAM (STT-MRAM) oder eine Kombination beliebiger der obigen oder anderer nichtflüchtiger Speichertypen umfassen.
  • Beschreibungen hierin, die sich auf einen „RAM“ oder eine „RAM-Vorrichtung“ beziehen, können für eine beliebige Speichervorrichtung gelten, welche einen Direktzugriff ermöglicht, entweder eine flüchtige oder nichtflüchtige. Ein „DRAM“ bezieht sich auf einen dynamischen RAM und ist flüchtig. Die Speichervorrichtung oder der DRAM kann sich auf den Die als solchen, ein endmontiertes Speicherprodukt, welches einen oder mehrere Dies umfasst, oder beides beziehen.
  • Die Speichervorrichtungen 140 sind in Form verschiedener Kanäle organisiert und werden als solche verwaltet, wobei jeder Kanal mit Bussen und Signalleitungen koppelt, welche parallel mit mehreren Speichervorrichtungen koppeln. Jeder Kanal ist unabhängig betreibbar. Daher wird auf jeden Kanal unabhängig zugegriffen und jeder Kanal wird unabhängig gesteuert und die zeitliche Ablaufplanung, die Datenübertragung, der Austausch von Befehlen und Adressen und andere Operationen erfolgen für jeden Kanal separat. Wie hierin verwendet, kann sich „Koppeln“ auf elektrisches Koppeln, kommunikatives Koppeln, physisches Koppeln oder eine Kombination davon beziehen. Physisches Koppeln kann direkten Kontakt umfassen. Elektrisches Koppeln umfasst eine Schnittstelle oder Verbindung, welche einen elektrischen Stromfluss zwischen Komponenten, eine Signalisierung zwischen Komponenten oder beides ermöglicht. Kommunikatives Koppeln umfasst Verbindungen, sowohl drahtgebundene als auch drahtlose, welche ermöglichen, dass Komponenten Daten austauschen.
  • In einer Ausführungsform werden Einstellungen für jeden Kanal durch separate Modusregister oder andere Registereinstellungen gesteuert. In einer Ausführungsform verwaltet jede Speichersteuerung 120 einen separaten Speicherkanal, obwohl das System 100 so konfiguriert sein kann, dass es mehrere Kanäle aufweist, die von einer einzelnen Speichersteuerung verwaltet werden, oder mehrere Speichersteuerungen auf einem einzelnen Kanal aufweist. In einer Ausführungsform ist die Speichersteuerung 120 Teil des Wirtsprozessors 110, z.B. eine Logik, die auf demselben Die oder in demselben Package-Raum realisiert ist wie der Prozessor (wie im Block 101 dargestellt).
  • Die Speichersteuerung 120 umfasst eine Eingabe/Ausgabe(I/O)-Schnittstellenlogik 122 zum Koppeln mit einem Systembus oder einem Speicherbus oder beidem, z.B. einem Speicherkanal, wie oben beschrieben. Die I/O-Schnittstellenlogik 122 (sowie die I/O-Schnittstellenlogik 142 der Speichervorrichtung 140) kann Pins, Kontaktflecken, Steckverbinder, Signalleitungen, Leitungsspuren oder Drähte oder andere Hardware zum Verbinden der Vorrichtungen oder eine Kombination dieser umfassen. Die I/O-Schnittstellenlogik 122 kann eine Hardware-Schnittstelle umfassen. Wie dargestellt, umfasst die I/O-Schnittstellenlogik 122 zumindest Treiber/Sendeempfänger für Signalleitungen. Üblicherweise koppeln Drähte innerhalb einer IC-Schnittstelle mit einem Kontaktfleck, Pin oder Steckverbinder, um Signalleitungen oder Leitungsspuren oder andere Drähte zwischen Vorrichtungen zu verbinden. Die I/O-Schnittstellenlogik 122 kann Treiber, Empfänger, Sendeempfänger oder Anschlüsse oder andere Schaltungen oder Kombinationen von Schaltungen zum Austausch von Signalen auf den Signalleitungen zwischen den Vorrichtungen umfassen. Der Austausch von Signalen umfasst mindestens eines aus Senden und Empfangen. Obwohl in 1 die I/O-Schnittstellenlogik 122 und 142 so dargestellt ist, dass sie bidirektionale Verbindungen umfasst, umfassen einige Ausführungsformen unidirektionale Verbindungen. Obwohl ein Koppeln der I/O 122 von der Speichersteuerung 120 zur I/O 142 der Speichervorrichtung 142 dargestellt ist, versteht es sich, dass in einer Realisierung des Systems 100, wobei auf Gruppen von Speichervorrichtungen 140 parallel zugegriffen wird, mehrere Speichervorrichtungen I/O-Schnittstellen zu derselben Schnittstelle der Speichersteuerung 120 umfassen können. In einer Realisierung des Systems 100, welche ein oder mehrere Speichermodule 130 umfasst, kann die I/O 142 zusätzlich zu Schnittstellen-Hardware auf der Speichervorrichtung selbst Schnittstellen-Hardware des Speichermoduls umfassen. Andere Speichersteuerungen 120 umfassen separate Schnittstellen zu anderen Speichervorrichtungen 140.
  • Der Systembus kann als mehrere Signalleitungen realisiert sein, welche die Speichersteuerung 120 mit den Speichervorrichtungen 140 koppeln. Der Systembus umfasst zumindest Takt(CLK)- 132, Befehls/Adress(CMD)- 134, Lese-DQ- 136 und null oder mehr andere Signalleitungen 138. In einer Ausführungsform kann ein Bus oder eine Verbindung zwischen der Speichersteuerung 120 und einem Speicher als ein Speicherbus bezeichnet werden. Die Signalleitungen für CMD können als ein „C/A-Bus“ (oder ADD/CMD-Bus oder mit irgendeiner anderen Bezeichnung, welche die Übertragung von Befehlen und Adressinformationen anzeigt) bezeichnet werden und die Signalleitungen für Schreib- und Lese-DQ können als ein „Datenbus“ bezeichnet werden. In einer Ausführungsform weisen unabhängige Kanäle unterschiedliche Taktsignale, C/A-Busse, Datenbusse und andere Signalleitungen auf. Daher kann man es so sehen, dass das System 100 mehrere „Systembusse“ aufweist, in dem Sinne, dass ein unabhängiger Schnittstellenpfad als ein separater Systembus angesehen werden kann. Es versteht sich, dass ein Systembus zusätzlich zu den explizit dargestellten Leitungen Impulssignalisierungsleitungen, Alarmleitungen, Hilfsleitungen und andere Signalleitungen aufweisen kann.
  • Es versteht sich, dass der Systembus einen Befehlsbus 134 umfasst, der so konfiguriert ist, dass er mit einer Bandbreite arbeitet. In einer Ausführungsform können die Befehls- und Schreib-Signalleitungen unidirektionale Leitungen für Schreib- und Befehlsdaten von dem Wirt zum Speicher umfassen und Lese DQ 136 kann unidirektionale Leitungen für Lesedaten aus dem Speicher zu dem Wirt umfassen. In einer Ausführungsform kann der Datenbus bidirektionale Leitungen für Lesedaten und für Schreib-/Befehlsdaten umfassen. Basierend auf dem Design des Systems 100 oder der Realisierung, wenn ein Design mehrere Realisierungen unterstützt, kann der Datenbus mehr oder weniger Bandbreite je Speichervorrichtung 140 aufweisen. Beispielsweise kann der Datenbus Speichervorrichtungen unterstützen, welche entweder eine x32-Schnittstelle, eine x16-Schnittstelle, eine x8-Schnittstelle oder eine andere Schnittstelle aufweisen. Die Schreibweise „xW“, wobei W eine Zweierpotenz ist, bezieht sich auf eine Schnittstellengröße der Speichervorrichtung 140, welche eine Anzahl von Signalleitungen zum Austauschen von Daten mit der Speichersteuerung 120 repräsentiert. Die Schnittstellengrößen der Speichervorrichtungen ist ein steuernder Faktor dafür, wie viele Speichervorrichtungen je Kanal in dem System 100 gleichzeitig benutzt werden können oder parallel mit denselben Signalleitungen verbunden werden können. Der Begriff „gekoppelt“ kann sich auf Elemente beziehen, welche entweder direkt oder indirekt physisch, elektrisch und/oder kommunikativ verbunden sind, und kann hierin austauschbar mit dem Begriff „verbunden“ verwendet werden. Physisches Koppeln kann direkten Kontakt umfassen. Elektrisches Koppeln umfasst eine Schnittstelle oder Verbindung, welche elektrischen Stromfluss und/oder Signalisierung zwischen Komponenten ermöglicht. Kommunikatives Koppeln umfasst Verbindungen, umfassend drahtgebundene und drahtlose Verbindungen, welche ermöglichen, dass Komponenten Daten austauschen.
  • Die Speichervorrichtungen 140 stehen für Speicherressourcen für das System 100. In einer Ausführungsform ist jede Speichervorrichtung 140 ein separater Speicher-Die. In einer Ausführungsform kann jede Speichervorrichtung 140 mit mehreren (z.B. 2) Kanälen je Vorrichtung oder Die verbinden. Jede Speichervorrichtung 140 umfasst eine I/O-Schnittstellenlogik 142, welche eine Bandbreite aufweist, die durch die Realisierung der Vorrichtung bestimmt wird (z.B. x16 oder x8 oder irgendeine andere Schnittstellen-Bandbreite). Die I/O-Schnittstellenlogik 142 ermöglicht, dass die Speichervorrichtungen mit der Speichersteuerung 120 verbunden werden. Die I/O-Schnittstellenlogik 142 kann eine Hardware-Schnittstelle umfassen und kann der I/O 122 der Speichersteuerung entsprechen, jedoch auf der Seite der Speichervorrichtung. In einer Ausführungsform sind mehrere Speichervorrichtungen 140 parallel mit denselben Datenbussen verbunden. Beispielsweise kann das System 100 mit mehreren parallel gekoppelten Speichervorrichtungen 140 konfiguriert sein, wobei jede Speichervorrichtung auf einen Befehl reagiert und intern jeder auf Speicherressourcen 160 zugegriffen wird. Für eine Schreiboperation kann eine einzelne Speichervorrichtung 140 einen Teil des gesamten Datenworts schreiben und für eine Leseoperation kann eine einzelne Speichervorrichtung 140 einen Teil des gesamten Datenworts abrufen. Als nichtbeschränkende Beispiele kann eine spezielle Speichervorrichtung für eine Lese- oder Schreib-Transaktion 8 Bits eines 128-Bit-Datenworts oder 8 Bits oder 16 Bits (entsprechend für eine x8- oder x16-Vorrichtung) eines 256-Bit-Datenworts bereitstellen bzw. empfangen. Die restlichen Bits des Wortes werden parallel dazu von anderen Speichervorrichtungen bereitgestellt oder empfangen.
  • In einer Ausführungsform sind die Speichervorrichtungen 140 direkt auf einer Hauptplatine oder einer Wirtssystem-Plattform (z.B. einer PCB (Leiterplatte), auf welcher sich der Prozessor 110 befindet) einer Computervorrichtung angeordnet. In einer Ausführungsform können die Speichervorrichtungen 140 in Speichermodulen 130 organisiert sein. In einer Ausführungsform können die Speichermodule 130 Dual-Inline-Speichermodule (Dual Inline Memory Modules, DIMMs) umfassen. In einer Ausführungsform können die Speichermodule 130 eine andere Organisation mehrerer Speichervorrichtungen repräsentieren, um wenigstens einen Teil eines Zugriffs- oder Steuerungsschaltungssystems gemeinsam zu benutzen, welcher eine separate Schaltung, eine separate Vorrichtung oder eine separate Platte von der Wirtssystem-Plattform sein kann. Die Speichermodule 130 können mehrere Speichervorrichtungen 140 umfassen und die Speichermodule können eine Unterstützung für mehrere separate Kanäle zu den auf diesen angeordneten umfassten Speichervorrichtungen umfassen.
  • Die Speichervorrichtungen 140 umfassen jeweils Speicherressourcen 160. Die Speicherressourcen 160 repräsentieren einzelne Matrixfelder von Speicherstellen oder Speicherungsstellen für Daten. Typischerweise werden die Speicherressourcen 160 als Reihen von Daten verwaltet, auf welche über Wortleitungs- (Reihen) und Bitleitungssteuerung (einzelne Bits innerhalb einer Reihe) zugegriffen werden kann. Die Speicherressourcen 160 können als separate Speicherkanäle, -ränge und -bänke organisiert sein. Kanäle sind unabhängige Steuerungspfade zu Speicherungsstellen innerhalb der Speichervorrichtungen 140. Ränge beziehen sich auf gemeinsame Stellen über mehrere Speichervorrichtungen (z.B. dieselben Reihenadressen innerhalb unterschiedlicher Vorrichtungen). Bänke beziehen sich auf Matrixfelder von Speicherstellen innerhalb einer Speichervorrichtung 140. In einer Ausführungsform sind die Speicherbänke in Teilbänke unterteilt, wobei wenigstens ein Teil des gemeinsam benutzten Schaltungssystems (z.B. Treiber, Signalleitungen, Steuerlogik) den Teilbänken zugeordnet ist. Es versteht sich, dass Kanäle, Ränge, Bänke oder andere Organisationen der Speicherstellen und Kombinationen der Organisationen physische Ressourcen überlappen können. Beispielsweise kann über einen speziellen Kanal ebenso wie über eine spezielle Bank, welche auch zu einem Rang gehören können, auf dieselben physischen Speicherstellen zugegriffen werden. So versteht sich die Organisation der Speicherressourcen in einer einbeziehenden statt einer einander ausschließenden Weise.
  • In einer Ausführungsform umfassen die Speichervorrichtungen 140 ein oder mehrere Register 144. Die Register 144 repräsentieren eine oder mehrere Speicherungsvorrichtungen oder Speicherungsstellen, welche eine Konfiguration oder Einstellungen für den Betrieb der Speichervorrichtung bereitstellen. In einer Ausführungsform kann das Register 144 eine Speicherungsstelle für die Speichervorrichtung 140 zum Speichern von Daten zum Zugriff durch die Speichersteuerung 120 als Teil einer Steuerungs- oder Verwaltungsoperation bereitstellen. In einer Ausführungsform umfasst das Register 144 ein oder mehrere Modusregister. In einer Ausführungsform umfasst das Register 144 ein oder mehrere Mehrzweckregister. Durch die Konfiguration der Stellen innerhalb des Registers 144 kann die Speichervorrichtung 140 konfiguriert werden, in einem anderen „Modus“ zu arbeiten, wobei die Befehlsinformationen basierend auf dem Modus andere Operationen innerhalb der Speichervorrichtung 140 auslösen können. Zusätzlich oder alternativ können unterschiedliche Modi in Abhängigkeit von dem Modus auch unterschiedliche Operationen aus Adressinformations- oder anderen Signalleitungen auslösen. Die Einstellungen des Registers 144 können eine Konfiguration für I/O-Einstellungen anzeigen (z.B. eine Datenstruktur oder eine Datenquelle zum Schreiben einer Datenstruktur in den Speicher, eine Ablaufplanung, einen Anschluss oder ODT (On-Die-Termination), eine Treiberkonfiguration oder andere I/O-Einstellungen).
  • Die Speichervorrichtung 140 umfasst eine Steuerung 150, welche eine Steuerlogik innerhalb der Speichervorrichtung repräsentiert, um interne Operationen innerhalb der Speichervorrichtung zu steuern. Beispielsweise decodiert die Steuerung 150 Befehle, die von der Speichersteuerung 120 gesendet werden, und erzeugt interne Operationen zum Ausführen oder Befolgen der Befehle. Die Steuerung 150 kann als eine interne Steuerung bezeichnet werden. Die Steuerung 150 kann auf der Basis des Registers 144 bestimmen, welcher Modus gewählt wird, und kann auf der Basis des gewählten Modus die interne Ausführung von Operationen zum Zugreifen auf Speicherressourcen 160 oder anderen Operationen konfigurieren. Die Steuerung 150 erzeugt Steuerungssignale zum Steuern des Leitwegs von Bits innerhalb der Speichervorrichtung 140, um eine passende Schnittstelle für den gewählten Modus bereitzustellen und einen Befehl zu den richtigen Speicherstellen oder Adressen zu leiten.
  • Wieder Bezug nehmend auf die Speichersteuerung 120, umfasst die Speichersteuerung 120 eine Befehlslogik (CMD) 124, welche eine Logik oder ein Schaltungssystem zum Erzeugen von Befehlen zum Senden zu den Speichervorrichtungen 140 repräsentiert. Typischerweise umfasst die Signalisierung in Speicherteilsystemen Adressinformationen innerhalb des Befehls oder den Befehl begleitende Adressinformationen, um eine oder mehrere Speicherstellen anzuzeigen oder auszuwählen, wo die Speichervorrichtungen den Befehl ausführen sollten. In einer Ausführungsform umfasst die Steuerung 150 der Speichervorrichtung 140 eine Befehlslogik 152 zum Empfangen und Decodieren von Befehls- und Adressinformationen, die über eine I/O 142 von der Speichersteuerung 120 empfangen werden. Auf der Basis der empfangenen Befehls- und Adressinformationen kann die Steuerung 150 die zeitliche Ablaufplanung von Operationen der Logik und des Schaltungssystems innerhalb der Speichervorrichtung 140 steuern, um die Befehle auszuführen. Die Steuerung 150 ist für das Einhalten von Normen oder Spezifikationen innerhalb der Speichervorrichtung 140 verantwortlich, wie z.B. Anforderungen für die zeitliche Ablaufplanung und die Signalisierung. Die Speichersteuerung 120 kann durch Zugriffsplanung oder -steuerung ebenfalls das Einhalten von Normen oder Spezifikationen sicherstellen.
  • In einer Ausführungsform umfasst die Speichersteuerung 120 eine Aktualisierungslogik (REF) 126. Die Aktualisierungslogik 126 kann verwendet werden, wo die Speichervorrichtungen 140 flüchtig sind und aktualisiert werden müssen, um einen determinierten Zustand zu bewahren. In einer Ausführungsform zeigt die Aktualisierungslogik 126 eine Stelle zum Aktualisieren und einen durchzuführenden Aktualisierungstyp an. Die Aktualisierungslogik 126 kann eine Selbstaktualisierung innerhalb der Speichervorrichtung 140 auslösen und externe Aktualisierungen ausgeben, indem sie Aktualisierungsbefehle sendet, um die Ausführung einer Aktualisierungsoperation auszulösen. Beispielsweise unterstützt in einer Ausführungsform das System 100 Aktualisierungen aller Bänke sowie Aktualisierungen je Bank oder andere Befehle für alle Bänke oder je Bank. Befehle für alle Bänke bewirken eine Operation einer ausgewählten Bank innerhalb aller parallel gekoppelten Speichervorrichtungen 140. Befehle je Bank bewirken die Operation einer spezifizierten Bank innerhalb einer spezifizierten Speichervorrichtung 140. In einer Ausführungsform umfasst die Steuerung 150 innerhalb der Speichervorrichtung 140 eine Aktualisierungslogik 154 zum Anwenden einer Aktualisierung innerhalb der Speichervorrichtung 140. In einer Ausführungsform erzeugt die Aktualisierungslogik 154 interne Operationen zur Durchführung einer Aktualisierung gemäß einer externen Aktualisierung, die von der Speichersteuerung 120 empfangen wird. Die Aktualisierungslogik 154 kann in Reaktion auf den Befehl bestimmen, ob eine Aktualisierung an die Speichervorrichtung 140 gerichtet ist und welche Speicherressourcen 160 zu aktualisieren sind. Für eine Selbstaktualisierung steuert die Aktualisierungslogik 154 die zeitliche Ablaufplanung und die Ausführung der Aktualisierung in Reaktion auf das Eintreten in einen Schwachstrommodus und die Selbstaktualisierung auf der Basis eines Befehls von der Speichersteuerung.
  • Wie oben erwähnt, kann die Speichersteuerung 120 in einer Ausführungsform einen Befehl an die Speichervorrichtung 140 senden, um zu bewirken, dass eine Datenstruktur in den Speicher geschrieben wird, ohne für jedes Schreiben die Datenstruktur zu senden. Beispielsweise kann die Befehlslogik 124 der Speichersteuerung 120 einen solchen Befehl erzeugen und das I/O-Schaltungssystem 122 kann den Befehl über den C/A-Bus 134 an die Speichervorrichtung 140 senden. In einer Ausführungsform kann der Befehl ein modifizierter Schreibbefehl sein, welcher bewirkt, dass die Speichervorrichtung 140 in Reaktion auf den Befehl eine Datenstruktur in den Speicher schreibt. Der Begriff „Write-Force“ oder „Force-Write“ (WRITE-F) wird hierin so verwendet, dass er sich auf einen Befehl bezieht, um zu bewirken, dass die Speichervorrichtung 140 in Reaktion auf den Befehl eine programmierbare Datenstruktur schreibt, ohne dass für jedes Schreiben ein Senden der Daten erforderlich ist. Ein solcher Befehl kann jedoch eine andere Bezeichnung (z.B. WRITE-X oder WRITEX oder eine sonstige Bezeichnung) aufweisen oder kann eine Folge von Befehlen sein, welche bewirkt, dass die Datenstruktur geschrieben wird.
  • In einer Ausführungsform kann der WRITE-F-Befehl ein einzelner Befehl sein, welcher mehrere interne Schreibvorgänge in eine Speichervorrichtung hervorbringt. In einer solchen Ausführungsform sendet die Speichersteuerung den WRITE-F-Befehl einmal, um zu bewirken, dass eine Datenstruktur in mehrere Speicherstellen geschrieben wird, ohne die Struktur oder den Befehl für jedes Schreiben über einen Datenbus zu senden. In einer anderen Ausführungsform sendet die Speichersteuerung für jedes Schreiben den WRITE-F-Befehl, sendet aber nicht für jedes Schreiben die Datenstruktur. Gemäß Ausführungsformen kann der WRITE-F-Befehl ungeachtet dessen, wie viele interne Schreibvorgänge durch einen einzelnen WRITE-F-Befehl ausgelöst werden, bewirken, dass eine Datenstruktur in den Speicher geschrieben wird, ohne jedes Mal, wenn die Datenstruktur geschrieben wird, die Datenstruktur über einen Datenbus zu senden. Somit umfasst die Befehlslogik gemäß Ausführungsformen ein Schaltungssystem zum Erzeugen eines WRITE-F-Befehls oder eines vergleichbaren Befehls oder einer vergleichbaren Folge von Befehlen.
  • Die Speichervorrichtung 140 umfasst ein I/O-Schaltungssystem 142 zum Empfangen des WRITE-F-Befehls. Die interne Steuerung 150 der Speichervorrichtung 140 umfasst eine Befehlslogik 152 zum Decodieren des WRITE-F-Befehls. Die Speichervorrichtung umfasst außerdem ein Register (z.B. das Register 144) zum Speichern eines Werts, welcher anzeigt, welche Datenstruktur in Reaktion auf den Empfang des WRITE-F-Befehls zu schreiben ist. In einer Ausführungsform umfasst das Register ein „Datenstatus“-Feld, obwohl in anderen Ausführungsformen die Bezeichnung des Registerfelds oder der Registerfelder anders sein kann. Datenstatus bezieht sich darauf, ob die Schreibdaten aus den externen Datenleitungen oder aus einer anderen Quelle kommen. Das Datenstatusfeld kann gemäß Ausführungsformen so eingestellt sein, dass es einen von mehreren „Modi“ anzeigt, umfassend einen oder mehrere aus: einem „Ausschließlich-Nullen“-Modus, einem „Ausschließlich-Einsen“-Modus, einem „Externe oder latch-gespeicherte Daten“-Modus und einem anderen Datenstrukturmodus. Gemäß einer Ausführungsform zeigt das Datenstatusfeld eine von mehreren Quellen einer Datenstruktur an. Wenn beispielsweise die gewünschte Datenstruktur ausschließlich aus Nullen besteht, kann das Datenstatusfeld anzeigen, dass die Quelle der Datenstruktur ein Eingang ist, der an Masse gebunden ist. In einem anderen Beispiel kann das Datenstatusfeld, wenn die gewünschte Datenstruktur ausschließlich aus Einsen besteht, anzeigen, dass die Quelle der Datenstruktur ein Eingang ist, der an eine Spannungsquelle gebunden ist. In einer Ausführungsform kann das Datenstatusfeld anzeigen, dass die Quelle ein Daten-Latch der Speichervorrichtung ist, welches eine Datenstruktur aus einem früheren Speicherschreibvorgang speichert.
  • Die Steuerung 150 der Speichervorrichtung 140 kann dann die Datenstruktur, die durch das Modusregister angezeigt wird, in den Speicher schreiben. Wenn beispielsweise das Modusregister eine Quelle für „ausschließlich Nullen“ anzeigt, schreibt die Steuerung 150 ausschließlich Nullen in den Speicher. Wenn das Modusregister eine Quelle für „ausschließlich Einsen“ anzeigt, schreibt die Steuerung 150 ausschließlich Einsen in den Speicher.
  • Wenn in einer Ausführungsform das Modusregister anzeigt, dass die Quelle der Datenstruktur externe Daten sind, dann schreibt die Steuerung 150 die latch-gespeicherte Datenstruktur aus einem früheren Schreibbefehl, die in Daten-Latches gespeichert ist. In einem solchen Beispiel sendet die Speichersteuerung 120 einen ersten Schreibbefehl an die Speichervorrichtung mit der gewünschten Schreibstruktur, was bewirkt, dass die Datenstruktur in Daten-Latches der Speichervorrichtung latch-gespeichert wird. Anschließend sendet die Speichersteuerung 120 einen zweiten Befehl (z.B. den WRITE-F-Befehl), welcher bewirkt, dass die Speichervorrichtung 140 die latch-gespeicherten Daten in den Speicher schreibt, ohne erneut die Datenstruktur über die Signalleitungen für einen Datenbus zu empfangen.
  • Gemäß Ausführungsformen kann die Speichervorrichtung in Reaktion auf einen WRITE-F-Befehl einen einzelnen Schreibvorgang oder mehrere Schreibvorgänge durchführen. Beispielsweise führt die Speichervorrichtung in einer Ausführungsform in Reaktion auf den Empfang des WRITE-F-Befehls einen Schreibvorgang durch; deswegen sendet die Speichersteuerung in einer solchen Ausführungsform mehrere WRITE-F-Befehle an die Speichervorrichtung, um die Datenstruktur in mehrere Speicherstellen zu schreiben. In einer anderen Ausführungsform führt die Speichervorrichtung in Reaktion auf den Empfang eines einzelnen WRITE-F-Befehlsmehrere Schreiboperationen durch. In einer solchen Ausführungsform kann die Speichervorrichtung auf verschiedene Weisen bestimmen, wie viele Schreibvorgänge durchzuführen sind, z.B. eine Modusregistereinstellung, Befehlscodierung oder auf andere Weise. Somit kann bei Verwendung des WRITE-F-Befehls und eines Modusregisters zum Anzeigen der Quelle der Datenstruktur, die in Reaktion auf den Empfang des WRITE-F-Befehls zu schreiben ist, die Speichersteuerung die Datenstruktur in den Speicher schreiben, ohne die Datenstruktur mehrfach über den Datenbus zu übermitteln. Anders als bei den existierenden Lösungen, die das wiederholte Schreiben von Nullen angehen, können Ausführungsformen ein effizientes Schreiben einer programmierbaren Datenstruktur ermöglichen, welche eine andere Struktur als ausschließlich Nullen sein kann.
  • 2 ist ein Blockschaubild eines Systems, welches ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher durchführen kann, gemäß einer Ausführungsform. Das System 200 veranschaulicht ein Beispiel eines Systems entsprechend dem System 100 der 1. Das System 200 umfasst einen Prozessor 210, welcher ein oder mehrere Prozessoren sein oder umfassen kann, deren Ausführung Anforderungen von Daten oder Code oder beidem erzeugt, die in einem Speicher 230 gespeichert sind. Der Speicher 230 repräsentiert Speicherressourcen wie die Speicherressourcen, die die oben in Bezug auf 1 beschrieben werden. Eine Speichersteuerung 220 erzeugt Speicherzugriffsbefehle für spezielle Adressen oder Speicherungsstellen des Speichers 230 in Reaktion auf Speicheranforderungen, die durch die Ausführung des Prozessors 210 erzeugt werden. Die Speichersteuerung 220 umfasst Abbildungsinformationen zum Abbilden von Datenadressinformationen im Prozessor 210 auf physische Stellen im Speicher 230. In einer Ausführungsform ist die Speichersteuerung 220 eine integrierte Speichersteuerung (z.B. iMC). In einer Ausführungsform ist die Speichersteuerung 220 eine selbständige Steuerungsvorrichtung oder eine selbständige Schaltung. In einer Ausführungsform sind der Prozessor 210 und die Speichersteuerung 220 Teil eines gemeinsamen SOC.
  • Die Speichersteuerung 220 umfasst eine I/O 222, welche Schnittstellen-Hardware und -Logik repräsentiert, so wie oben in Bezug auf die I/O 122 des Systems 100 beschrieben. Eine I/O 232 des Speichers 230 weist entsprechende Signalleitungen zum Austauschen von Daten und Befehlen mit der Speichersteuerung 220 auf. Eine Befehlslogik 224 repräsentiert eine Logik, um der Speichersteuerung 220 zu ermöglichen, Befehle an den Speicher 230 auszugeben. Die Befehle können Befehle zum Einstellen eines Modus des Speichers 230 umfassen. Die Befehle können Befehle zum Zugreifen auf eine oder mehrere Speicherstellen des Speichers 230 umfassen. Beispielsweise kann die Befehlslogik 224 eine Logik zum Erzeugen eines WRITE-F-Befehls umfassen, um zu bewirken, dass die Speichervorrichtung eine Datenstruktur in den Speicher schreibt. In einer Ausführungsform umfasst der Speicher 230 mehrere separate Speichervorrichtungen und die I/O 222 kann sich parallel mit den mehreren Vorrichtungen verbinden. Der Speicher 230 umfasst ein Speichermatrixfeld 240, welches Hardware-Speicherungsstellen repräsentiert.
  • Der Speicher 230 umfasst eine Befehlsausführungslogik 234, welche eine Logik repräsentiert, die ermöglicht, dass der Speicher 230 Befehle innerhalb der Speichervorrichtung decodiert. Beispielsweise umfasst die Befehlsausführungslogik 234 eine Logik zum Decodieren eines WRITE-F-Befehls, der von der Speichersteuerung 220 gesendet wird. Auf der Basis der Decodierung des Befehls kann die Befehlsausführungslogik 234 einen oder mehrere interne Befehle zur Durchführung der Operationen erzeugen, die von den Befehlen gefordert werden. Die internen Befehle können das Einstellen von Logikwerten von Schaltern, Gates oder anderen Hardware-Ressourcen oder einer Kombination umfassen, um die gewünschten Operationen durchzuführen. Der Speicher 230 umfasst ein Zugriffsschaltungssystem 242, welches ein Schaltungssystem zum Zugreifen auf das Speichermatrixfeld 240 repräsentiert. In einer Ausführungsform umfasst das Zugriffsschaltungssystem 242 eine Spalten- und Reihenlogik 257 zum Auswählen spezieller Spalten und Reihen des Speichermatrixfelds 240. Die Spalten- und Reihenlogik 257 kann ein Schaltungssystem umfassen, wie z.B. Decoder, Puffer, Zähler und Treiber, um die Auswahl spezieller Bits spezieller Reihen 246 einer oder mehrerer Bänke 244 des Speichermatrixfelds 240 zu ermöglichen. Die Spaltenlogik kann in Reaktion auf die Adressdecodierung von Adressinformationen in einem empfangenen Befehl Spaltenadressimpulse (Column Address Strobes, CAS) ausgeben und die Reihenlogik kann Reihenadressimpulse (Row Address Strobes, RAS) ausgeben. In einer Ausführungsform umfasst die Spalten- und Reihenlogik Multiplexer, Logikgatter oder andere Schaltungssysteme oder eine Kombination von Schaltungen zum Decodieren der Adressinformationen.
  • Das Zugriffsschaltungssystem 242 umfasst außerdem ein Schreibschaltungssystem 254 und ein Leseschaltungssystem 256. Das Schreibschaltungssystem 254 umfasst ein Schaltungssystem zum Ermöglichen des Schreibens von Daten in die Speicherzellen des Matrixfelds 240 und das Leseschaltungssystem 256 umfasst ein Schaltungssystem zum Ermöglichen des Lesens der Daten, die in den Speicherzellen des Speichermatrixfelds 240 gespeichert sind. Das Schreibschaltungssystem 254 kann beispielsweise Schreibtreiber zum Verbinden mit Leseverstärkern des Speichermatrixfelds 240 umfassen, um Daten in die Speicherzellen zu treiben. Das Leseschaltungssystem 256 kann einen oder mehrere Lesetreiber zum Verbinden mit den Leseverstärkern des Speichermatrixfelds 240 umfassen, um die gespeicherten Daten zu lesen. In einer Ausführungsform umfasst das Zugriffsschaltungssystem 242 einen Lese- und Schreibtreiber für jede Bank. Obwohl das Zugriffsschaltungssystem 242 so veranschaulicht ist, dass es extern des Speichermatrixfelds 240 angeordnet ist, umfasst das Speichermatrixfeld 240 in einigen Ausführungsformen das Zugriffsschaltungssystem 242. Beispielsweise ist das Zugriffsschaltungssystem in einigen Ausführungsformen in jeder Bank 244 enthalten.
  • In einer Ausführungsform umfasst der Speicher 230 ein Modusregister 236 oder ein Äquivalent zum Speichern von Konfigurationsinformationen, welche zumindest teilweise den Betrieb des Speichers 230 steuern. Einstellungen innerhalb des Modusregisters 236 steuern den Modus oder Betriebszustand des Speichers 230 und können steuern, wie empfangene Befehle für eine Ausführung durch den Speicher 230 decodiert werden. In einer Ausführungsform umfasst das Modusregister 236 ein oder mehrere Bits zum Steuern des Datenstatus, wie oben in Bezug auf 1 beschrieben.
  • In einer Ausführungsform umfasst das Schreibschaltungssystem 254 ein Schaltungssystem zum Ermöglichen der Durchführung eines WRITE-F-Befehls zum Schreiben einer Datenstruktur. Gemäß einer Ausführungsform schreibt das Schreibschaltungssystem 254 in Abhängigkeit von einer Modusregistereinstellung eine Datenstruktur aus einer von mehreren Quellen in den Speicher. Beispielsweise umfasst das Schreibschaltungssystem 254 in einer Ausführungsform Multiplexer (wie z.B. in der nachstehend beschriebenen 5 veranschaulicht) zum Auswählen einer von mehreren Datenquellen auf der Basis eines Werts, der in dem Modusregister 236 gespeichert ist. Beispielsweise können die Eingänge eines Multiplexers in einer Schreibtreiberschaltung Datensignalleitungen von Daten-Latches, Masse, eine Spannungsquelle oder eine andere Datenstrukturquelle umfassen. In Abhängigkeit von dem Wert in dem Modusregister bewirkt das Zugriffsschaltungssystem 242, dass in Reaktion auf den Befehl eine der mehreren Datenstrukturen in die Speicherzellen in dem Speichermatrixfeld 240 geschrieben wird. Entsprechend muss die Speichersteuerung 220 in einer Ausführungsform nicht für jedes Schreiben senden, das zu dem WRITE-F-Befehl gehört. Durch Vermeiden des Sendens der Daten für jedes Schreiben können Ausführungsformen effizienteres Schreiben einer programmierbaren Datenstruktur ermöglichen, die mehrfach geschrieben wird.
  • 3 ist ein Blockschaubild einer Speichervorrichtung mit einer Steuerlogik zum Durchführen eines wiederholten Schreibens einer programmierbaren Datenstruktur gemäß einer Ausführungsform. Der DRAM 300 repräsentiert ein Beispiel für eine Speichervorrichtung gemäß irgendeinem hierin beschriebenen System, in welchem ein DRAM benutzt werden kann, um eine Datenstruktur in mehrere Speicherstellen zu schreiben. Die Steuerlogik 302 repräsentiert eine Steuerung oder Steuerlogik innerhalb der Speichervorrichtung gemäß irgendeiner hierin beschriebenen Ausführungsform. Die Steuerlogik 302 empfängt Takt(CLK)-, Takt-Aktivierungs(CKE)- und Befehls(CMD)-Signale und steuert den Betrieb des DRAM 300 gemäß diesen Signalen. Die Steuerlogik 302 kann auf der Basis einer Einstellung arbeiten, die in einem Modusregister bzw. Modusregistern (MR) 306 gespeichert ist. Das bzw. die Modusregister 306 kann/können ein oder mehrere Bits zum Steuern des Datenstatus umfassen, wie oben erwähnt. In einer Ausführungsform bietet die Steuerlogik 302 eine Kontrolle über Speicherbänke in verschiedenen Bankgruppen und erzeugt mehrere interne Operationen in Reaktion auf einen einzelnen Befehl von der Speichersteuerung oder dem Wirt.
  • Ein Adressregister 304 empfängt Adressinformationen (ADDR), wie z.B. Reihenadress- und Bankadresssignale, zum Identifizieren des Speicherteils, der von einem bestimmten Befehl betroffen ist. Das Adressregister 304 verteilt die Adressinformationen an den Reihenadress-Multiplexer 310, die Banksteuerlogik 322, den Spaltenadresszähler 324 und das Modusregister 306. Der Reihenadress-Multiplexer 310 nimmt die Reihenadressinformationen und ein Signal aus dem Aktualisierungszähler 312 als Eingabe und steuert das Reihenadress-Latch (RAL) und den Decoder für jede Bankgruppe. Die Logik kann mit mehreren Bänken verbunden sein, welche die Bankgruppe bilden. Die Banksteuerlogik 322 wählt aus, welche Bankgruppe für die empfangene Speicherzugriffsoperation (Befehl) ausgewählt wird. Der Spaltenadresszähler 324 erzeugt ein Signal zum Auswählen der Spalte für die Operation. In einer Ausführungsform umfasst die Steuerlogik 302 einen Zähler (nicht explizit dargestellt) zum internen Erzeugen von Bankgruppenadressen und einer Sequenz durch ausgewählte Bankgruppen für einen einzelnen Befehl. So kann für einen einzelnen Befehl auf eine oder mehrere ausgewählte Bankgruppen zugegriffen werden.
  • Das Reihenadress-Latch und der Decoder für die Bankgruppen wählt eine Adresse in dem Speichermatrixfeld/den Speichermatrixfeldern der Bänke/Bankgruppen aus und die Leseverstärker können aktiviert werden, abhängig von der Operation. Eine I/O-Torsteuerung 340 kann für eine Schreiboperation Daten in die Leseverstärker geben und kann die Daten für eine Leseoperation auslesen. Ein Spalten-Decoder 330 empfängt die Auswahl der Banksteuerungslogik und die Auswahl des Spaltenadresszählers und trifft eine Spaltenauswahl für die I/O-Torsteuerung 340.
  • In einer Ausführungsform umfasst der DRAM 300 eine ZQCal 380 zum Bereitstellen von Impedanzkalibrierungsfunktionen in Bezug auf Daten auf dem Datenbus. In einer Ausführungsform umfasst der DRAM 300 eine ODT(On-Die-Termination)-Steuerung 372 zum Steuern von Eingangs- und/oder Ausgangsimpedanzschaltungen, die auf die I/O zu dem Datenbus angewendet werden. ODT 374 repräsentiert die Impedanzschaltungen, die gemäß einer Konfigurationseinstellung für die Impedanz für den DRAM 300 auf eine gegebene Transaktion angewendet werden.
  • Eine Leseschnittstelle 350 ist so gekoppelt, dass sie für eine Leseoperation Daten-Bits von der I/O-Torsteuerung 340 empfängt. Die Leseschnittstelle 350 kann ein Lese-Latch und einen Mux umfassen und führt ausgewählte Ausgabedaten dem Lesetreiber 352 zu, welcher die Daten auf die Signalleitungen des Datenbusses (DATA) gibt. Die zeitliche Ablaufplanung zum Treiben des Datenbusses wird durch ein DLL 354 bereitgestellt, welches durch die Steuerlogik 302 gesteuert wird. Ein Treiber 352 kann auf der Basis der zeitlichen Ablaufplanung Datenimpulsleitungen treiben, um die Datensignale zu begleiten.
  • Ein Schreibtreiber 360 empfängt Schreibdaten aus dem Datenbus und gibt sie in Daten-Latches (welche auch als ein Eingangsregister oder Eingangspuffer bezeichnet werden können) der Schreibdaten-Schnittstelle 362 ein. Die Datenschnittstelle 362 kann die daten der I/O-Torsteuerung 340 bereitstellen. Die Datenschnittstelle 362 umfasst gemäß Ausführungsformen Schreib-Daten-Latches 363 und einen Demultiplexer 365 (für Umwandlung von seriell auf parallel). Die Daten-Latches 363 empfangen im Allgemeinen externe Schreibdaten über ein I/O-Schaltungssystem (z.B. einen DRAM-DQ-Empfänger) aus dem Datenbus und latch-speichern die externen Daten durch das Takt-Toggling. Der Demultiplexer 365 (oder ein anderer Wandler von seriell auf parallel) ändert gemäß Ausführungsformen typischerweise das serielle Double-Data-Rate(DDR)-Datenformat auf ein paralleles Datenformat. Die Daten-Latches 363 latch-speichern gemäß Ausführungsformen die Schreibdaten, bis die nächsten neuen Daten ankommen. Deswegen sind nach der Durchführung einer Schreiboperation die empfangenen Daten für diese Schreiboperation innerhalb des DRAM-Die latch-gespeichert.
  • Wieder Bezug nehmend auf die I/O-Torsteuerung 340, umfasst die I/O-Torsteuerung 340 in einer Ausführungsform ein Schreib- und Leseschaltungssystem, welches das gleiche oder ein ähnliches ist wie das Schreibschaltungssystem 254 und das Leseschaltungssystem 256, die oben in Bezug auf 2 beschrieben sind. Beispielsweise kann die I/O-Torsteuerung 340 einen oder mehrere Schreibtreiber (z.B. interne Schreibtreiber zwischen den Leseverstärkern und der Datenschnittstelle 362, zu unterscheiden von dem Schreibtreiber 360 zwischen der Datenschnittstelle 362 und den externen Signalleitungen) zum Treiben von Daten in den Leseverstärker zum Latch-Speichern des neuen gewünschten Logikzustands umfassen. In existierenden Speichervorrichtungen schreiben die Schreibtreiber Daten in die Speicherzellen auf der Basis der externen Daten, die von einer Speichersteuerung über den Datenbus gesendet werden. Im Gegensatz dazu treiben in einer Ausführungsform die Schreibtreiber in der I/O-Torsteuerung 340 Daten in das Speichermatrixfeld auf der Basis von latch-gespeicherten Daten aus einem früheren Schreibbefehl oder anderen Quellen, was von einer Registereinstellung (z.B. dem oben beschriebenen Datenstatusfeld) abhängt. Beispielsweise können die Schreibtreiber in der I/O-Torsteuerung 340 gesteuert werden, die Daten aus dem Datenbus zu schreiben, oder alternativ ausschließlich Nullen, ausschließlich Einsen oder eine andere Struktur, basierend auf einer Speicher-Die-internen Quelle. In einer Ausführungsform basiert die Datenstruktur auf latch-gespeicherten Daten (z.B. Daten, die in den Daten-Latches 363 der Datenschnittstelle 362 latch-gespeichert sind). Deswegen kann die Speichersteuerung in einer solchen Ausführungsform steuern, dass die Datenstruktur durch einen WRITE-F-Befehl geschrieben wird, indem sie zuerst einen Standard-Speicherschreibbefehl mit der Datenstruktur sendet, welcher bewirkt, dass die Datenstruktur in den Daten-Latches 363 latch-gespeichert wird. Dann kann die Speichersteuerung den WRITE-F-Befehl ohne Daten senden und die internen Daten-Latches 363 behalten dieselben Daten aus dem vorhergehenden Schreibbefehl, bis mit einem anderen regulären Schreibbefehl neue Daten empfangen werden.
  • In einer Ausführungsform kann die Speichervorrichtung ein Schaltungssystem zum internen Berechnen von Speicheradressen für einen oder mehrere interne Schreibvorgänge umfassen, die zu einem WRITE-F-Befehl gehören. Beispielsweise empfängt in einer Ausführungsform der DRAM 300 den WRITE-F-Befehl und eine Anfangsadresse (z.B. eine Reihenadresse und Spaltenadresse). Der DRAM 300 kann dann die Datenstruktur zu der Adresse speichern, wobei er die Reihen- und Spaltenadressinformationen verwendet, die von der Speichersteuerung gesendet werden. Für anschließende WRITE-F-Befehle (oder für anschließende interne Schreibvorgänge, die durch einen WRITE-F-Befehl bewirkt werden) kann der DRAM die nächste Spaltenadresse unter Verwendung eines Zähler-Schaltungssystems (z.B. des Zähler-Schaltungssystems in dem Spaltenadresszähler 324) berechnen. Das Zähler-Schaltungssystem kann die nächste Spaltenadresse unter Verwendung der anfänglich gesendeten Spaltenadresse berechnen (z.B. durch Inkrementieren der anfänglich gesendeten Spaltenadresse). Entsprechend muss die Speichersteuerung nicht für jedes Schreiben Adressinformationen über die Adresssignalleitungen senden. In anderen Ausführungsformen sendet die Speichersteuerung für jeden WRITE-F-Befehl Adressinformationen.
  • Entsprechend umfasst in Ausführungsformen ein Schreibtreiber ein Schaltungssystem zum Auswählen einer von mehreren Quellen zum Schreiben einer Datenstruktur, was eine Reduzierung oder einen Wegfall des Sendens der Datenstruktur über den Datenbus ermöglichen kann. Die Befehls- und Adressinformationen, welche die Speichersteuerung sendet, können gemäß Ausführungsformen ebenfalls reduziert werden.
  • 4 ist ein Beispiel für einen logischen Schaltplan eines typischen Schreibtreibers 400 einer Speichervorrichtung gemäß einer Ausführungsform. In einer Ausführungsform umfasst der Schreibtreiber 400 ein Schaltungssystem zum Verbinden mit einem Speichermatrixfeld und Treiben von Daten in Speicherzellen des Matrixfelds. Beispielsweise kann ein typischer Schreibtreiber in dem I/O-Torsteuerungsblock 340 der 3 angeordnet sein. Die Schreibtreiberschaltung 400 empfängt ein Datensignal (DATA) und ein Schreibaktivierungssignal (WRITE) als Eingabe. Die Schreibtreiberschaltung 400 gibt globale Eingabe/Ausgabe(I/O)-Signale (GIO und #GIO) aus.
  • Die Daten auf der Datensignalleitung werden auf den globalen I/O-Leitungen ausgegeben, wenn das Schreibaktivierungssignal bestätigt ist. Beispielsweise umfasst in der dargestellten Ausführungsform die Schreibtreiberschaltung 400 einen Inverter 404, welcher ein Datensignal (DATA) zu der Schreibtreiberschaltung 400 empfängt, und einen Inverter 406, welcher ein Schreibaktivierungssignal (WRITE) empfängt. Die dargestellte Schreibtreiberschaltung 400 umfasst außerdem ein NOR-Gatter 408, welches die Ausgaben der Inverter 404, 406 als Eingabe empfängt, und ein NOR-Gatter 410, welches die Ausgabe des Inverters 406 und eine Ausgabe eines Inverters 412 empfängt, welcher die Ausgabe des Inverters 404 als eine Eingabe empfängt. Die Schreibtreiberschaltung 400 umfasst außerdem ein Paar Inverterschaltungen 420, 422, die in einer Push-Pull-Verstärkerkonfiguration angeordnet sind und zugehörige globale Eingabe/Ausgabe(I/O)-Leitungen (GIO- und #GIO-Signalleitungen) treiben. Die Inverterschaltungen 420, 422 treiben die globalen I/O-Leitungen auf ein logisches High oder ein logisches Low, basierend auf einem Eingabepaar, definiert durch die Ausgaben der NOR-Gatter 408, 410 und der zugehörigen Inverter 414, 418. Entsprechend werden in der dargestellten Ausführungsform die auf dem Datenbus der Schreibtreiberschaltung 400 empfangenen Daten zu den zugehörigen globalen I/O-Leitungen getrieben, wenn das Schreibaktivierungssignal bestätigt ist. Somit kommt die Datenausgabe aus einem typischen Schreibtreiber auf den globalen I/O-Signalleitungen aus einer einzelnen Quelle: den Daten, die für den aktuellen Schreibbefehl über den Datenbus gesendet werden.
  • Im Gegensatz dazu kann, wie in 5 dargestellt, die Ausgabe eines Schreibtreibers gemäß Ausführungsformen auf dem Datenbus oder einer oder mehreren anderen Quellen basieren. 5 ist ein logischer Schaltplan eines Schreibtreibers einer Speichervorrichtung gemäß einer Ausführungsform. In einer Ausführungsform umfasst der Schreibtreiber 500 ein Schaltungssystem zum Verbinden mit einem Speichermatrixfeld und Treiben von Daten in Speicherzellen des Matrixfelds. Beispielsweise kann der Schreibtreiber 500 in dem I/O-Torsteuerungsblock 340 der 3 angeordnet sein. In einer Ausführungsform umfasst jede Bank in dem Speichermatrixfeld einen Schreibtreiber wie den Schreibtreiber 500 der 5.
  • Ähnlich wie in 4 empfängt die Schreibtreiberschaltung 500 ein Datensignalleitungs- (DATA) und ein Schreibaktivierungssignal (WRITE) als Eingabe und gibt allgemeine Eingabe/Ausgabe(I/O)-Signale (GIO und #GIO) aus. Jedoch umfasst die Schreibtreiberschaltung 500 anders als der Schreibtreiber 400 der 4 ein Schaltungssystem zum Aktivieren einer Programmierung der Datenquelle, die auf den allgemeinen I/O-Leitungen ausgegeben wird. Speziell umfasst in der Ausführungsform, die in 5 dargestellt ist, die Schreibtreiberschaltung 500 einen Multiplexer 506 zum Auswählen der Datenquelle unter den Datensignalleitungen (DATA), einer Spannungsquelle oder Masse. Gemäß Ausführungsformen koppeln die Datensignalleitungen schließlich mit den Datensignalleitungen des Datenbusses zwischen der Speichervorrichtung und der Speichersteuerung. Jedoch kann es ein zwischengeschaltetes Schaltungssystem und einen oder mehrere zwischengeschaltete Sätze von internen Datensignalleitungen geben. Der Ausgang 501 des Multiplexers 506 ist Eingang in das NOR-Gatter 508 und in einen Inverter 504, welcher Eingang in ein weiteres NOR-Gatter 510 ist. Das Schreibaktivierungssignal wird in einen Inverter 507 eingegeben, welcher ebenfalls Eingang zu den NOR-Gattern 508, 510 ist. Die Ausgänge der NOR-Gatter 508, 510 sind Eingang in die Inverter-Schaltungen 520 und 522. Die Inverter-Schaltungen 520, 522 in der dargestellten Ausführungsform sind als Push-Pull-Verstärker konfiguriert, wobei jeder von ihnen ein Paar aufeinander abgestimmter Transistoren umfasst. Der Ausgang des NOR-Gate 508 ist mit dem Gate des Transistors T2 gekoppelt und Eingang zu einem Inverter 518, welcher einen Ausgang aufweist, der mit dem Gate des Transistors T3 gekoppelt ist. Der Ausgang des NOR-Gate 510 ist mit dem Gate des Transistors T4 und mit einem Inverter 514 gekoppelt, welcher einen Ausgang aufweist, der mit dem Transistor T1 gekoppelt ist.
  • Anders als die typische Schreibtreiberschaltung 400, die in 4 dargestellt ist, umfasst die Schreibtreiberschaltung 500 einen Multiplexer 506 zum Ermöglichen einer Auswahl von einer von mehreren Datenquellen. In einer Ausführungsform basiert der Auswahleingang (SEL) des Multiplexers 506 auf einem Wert, der in einem Modusregister gespeichert ist. In einer Ausführungsform umfasst ein Modusregister ein oder mehrere Felder (wie z.B. das oben beschriebene Datenstatusfeld) zum Anzeigen der Quelle der Datenstruktur, die in Reaktion auf einen WRITE-F-Befehl zu schreiben ist. In einer solchen Ausführungsform kann das Modusregister ein oder mehrere Felder zum Anzeigen umfassen, ob der Eingang in den Multiplexer 506 eine Datensignalleitung oder ein anderer Eingang ist, wie z.B. Masse oder eine Spannungsquelle. Daher umfasst der Multiplexer 506 in einer solchen Ausführungsform: einen Eingang, der mit einer Spannungsquelle gekoppelt ist (Eingang 1), einen Eingang, der mit einer Datensignalleitung gekoppelt ist (Eingang 2) und einen Eingang, der an Masse gebunden ist (Eingang 3). Andere Ausführungsformen können einen Multiplexer mit weniger, mehr oder anderen Eingängen umfassen. In der dargestellten Ausführungsform gibt die Datentreiberschaltung 500 eine 0 oder 1 auf den globalen I/O-Signalleitungen aus, basierend auf dem ausgewählten Eingang in den Multiplexer 506. Entsprechend kann eine Speichervorrichtung, welche Schreibtreiber wie den Schreibtreiber 500 umfasst, eine Flexibilität in der Datenstruktur ermöglichen, die in Reaktion auf einen Befehl zu schreiben ist.
  • 6 ist ein Beispiel für ein Modusregister zum Steuern einer Quelle einer Datenstruktur, die in einen Speicher geschrieben wird, gemäß einer Ausführungsform. Das Modusregister 600 repräsentiert eine Ausführungsform eines Modusregisters in einer Speichervorrichtung oder DRAM-Vorrichtung in einem System, welches das Schreiben einer Datenstruktur in mehrere Speicherstellen unterstützt. Somit kann das Modusregister 600 ein Modusregister für eine Speichervorrichtung gemäß dem System 100 der 1 oder dem System 200 der 2 repräsentieren. In einer Ausführungsform bietet das Modusregister 600 ein Beispiel dafür, wie ein Modusregistereinstellungs(MRS)-Befehl eine Modusregisterkonfiguration einstellen kann, um eine Quelle einer Datenstruktur anzuzeigen, die in Reaktion auf einen WRITE-F-Befehl in einen Speicher zu schreiben ist.
  • Die Konfigurationseinstellung 602 repräsentiert ein Feld oder ein oder mehrere Bits zum Steuern eines Datenstatus. In einer solchen Ausführungsform kann die Einstellung 602 auf einen Wert zum Anzeigen einer Quelle einer Datenstruktur von ausschließlich Nullen eingestellt werden (beispielsweise zeigt ein Wert „1“ in der Einstellung 602 eine interne Quelle einer Datenstruktur von ausschließlich Nullen an). In einer Ausführungsform kann die Einstellung 602 auf einen Wert zum Anzeigen einer Quelle einer Datenstruktur von ausschließlich Einsen eingestellt werden (beispielsweise zeigt ein Wert „2“ in der Einstellung 602 eine interne Quelle einer Datenstruktur von ausschließlich Einsen an). In einer Ausführungsform kann die Einstellung 602 auf einen Wert zum Anzeigen einer externen Schreibdatenquelle eingestellt werden (beispielsweise zeigt ein Wert „0“ in der Einstellung 602 an, dass die Datenstruktur auf externen Schreibdaten basiert). Man beachte, dass, obwohl eine Datenstruktur auf der Basis von externen Daten manchmal als eine andere Struktur als ausschließlich Nullen oder ausschließlich Einsen bezeichnet wird, die externen Daten eine beliebige Kombination von Nullen und Einsen sein können, auch ausschließlich Nullen oder ausschließlich Einsen.
  • In einer Ausführungsform basiert der Auswahleingang in einen Multiplexer in einer Schreibtreiberschaltung auf dem Wert, der in dem Modusregister 600 gespeichert ist. Beispielsweise weist, Bezug nehmend auf 5, der Multiplexer 506 einen Auswahleingang auf, welcher auf dem Wert basiert, der in einem Modusregister wie dem Modusregister 600 gespeichert ist. In den Beispielen, die in 5 und 6 dargestellt sind, wird der Eingang 2 ausgewählt, wenn in der Einstellung 602 ,0' gespeichert ist, um eine Datenstruktur anzuzeigen, die auf externen Schreibdaten basiert, der Eingang 3 wird ausgewählt, wenn in der Einstellung 602 ,1' gespeichert ist, um eine Quelle einer Datenstruktur von ausschließlich Nullen anzuzeigen; und der Eingang 1 wird ausgewählt, wenn in der Einstellung 602 ,2' gespeichert ist, um eine Quelle einer Datenstruktur von ausschließlich Einsen anzuzeigen. Wenn somit in der dargestellten Ausführungsform das Datenstatus-Registerfeld auf einen Wert eingestellt ist, um eine Datenstruktur von ausschließlich Nullen oder ausschließlich Einsen anzuzeigen, ignorieren oder umgehen die Schreibtreiber die auf den Datensignalleitungen vorliegenden Daten (falls vorhanden) und schreiben stattdessen ausschließlich Nullen oder Einsen, wie durch das Datenstatusfeld angezeigt. Wenn anderenfalls das Datenstatus-Registerfeld auf einen Wert eingestellt ist, um anzuzeigen, dass die Datenstruktur auf externen Daten basiert, schreiben die Schreibtreiber die Datenstruktur auf die Datensignalleitungen (z.B. die Datenstruktur aus einem früheren Schreibvorgang, die in den Daten-Latches gespeichert ist).
  • In einer Ausführungsform wird das Datenstatusfeld (z.B. nach dem Systemstart) auf einen Wert initialisiert, welcher bewirkt, dass die Schreibtreiber gemäß dem normalen Betrieb die Daten aus den Datensignalleitungen schreiben. Beispielsweise kann ein DRAM eine Einschaltrückstellung aufweisen, um das Modusregister 600 während des Einschaltens und vor der Initialisierung auf „0“ als Standardwert zurückzustellen. In einer solchen Ausführungsform sendet die Speichersteuerung, um die Daten aus den Signalleitungen zu umgehen, einen Befehl zum Programmieren des Datenstatusfelds 602 auf einen Wert zum Auswählen einer Datenstrukturquelle von ausschließlich Nullen oder ausschließlich Einsen. Außerdem kann es erforderlich sein, dass die Speichersteuerung oder Speichervorrichtung das Datenstatusfeld nach Beendigung eines WRITE-F-Befehls, welcher die Datensignalleitungen umgeht, so zurückstellt oder einstellt, dass es dem normalen Betrieb entspricht. Wenn beispielsweise in einer Ausführungsform die Speichersteuerung einen Wert in dem Datenstatusfeld 602 speichert, der eine Datenstruktur von ausschließlich Nullen oder ausschließlich Einsen anzeigt (z.B. einen Wert „1“ oder „2“, wie in 6 veranschaulicht), stellt die Speichersteuerung nach Beendigung des WRITE-F-Befehls (der WRITE-F-Befehle) das Datenstatusfeld so zurück, dass es anzeigt, dass die Datenstruktur auf externen Schreibdaten basiert (z.B. auf einen Wert „0“, wie in 6 veranschaulicht). Entsprechend umfasst in einer Ausführungsform ein Modusregister ein oder mehrere Bits zum Aktivieren einer programmierbaren Datenstruktur zum Schreiben in einen Speicher.
  • 7 ist ein Ablaufplan eines Verfahrens zum Schreiben einer Datenstruktur in einen Speicher gemäß einer Ausführungsform. Das Verfahren 700 der 7 kann durch eine Speichervorrichtung durchgeführt werden, wie z.B. die Speichervorrichtung 140 der 1 oder den Speicher 230 der 2.
  • Das Verfahren 700 beginnt in der Operation 702 damit, dass eine Speichervorrichtung einen Befehl von einer Speichersteuerung empfängt. Der Befehl kann bewirken, dass die Speichervorrichtung eine Datenstruktur in eine oder mehrere Stellen im Speicher schreibt. In einer Ausführungsform kann der Befehl einer von mehreren Befehlen (z.B. einer Sequenz von Befehlen) sein, um zu bewirken, dass eine Datenstruktur in mehrere Speicherstellen geschrieben wird. In einer Ausführungsform ist der Befehl ein WRITE-F-Befehl, welcher bewirkt, dass eine Datenstruktur in einen Speicher geschrieben wird, ohne für jedes Schreiben die Datenstruktur über den Datenbus zu senden.
  • Das Verfahren umfasst außerdem in der Operation 704 Erfassen einer Modusregistereinstellung, welche eine Quelle einer Datenstruktur zum Schreiben in Reaktion auf den Befehl anzeigt. Beispielsweise kann die Speichervorrichtung in Reaktion auf den WRITE-F-Befehl basierend auf einer Modusregistereinstellung, z.B. der Einstellung 602 der 6, erfassen oder bestimmen, welche Datenstruktur zu schreiben ist. In einer solchen Ausführungsform bestimmt die Speichervorrichtung, dass die zu schreibende Datenstruktur aus einer von mehreren Quellen stammt, wie z.B. einer Quelle einer Datenstruktur von ausschließlich Nullen, einer Quelle einer Datenstruktur von ausschließlich Einsen, Daten-Latches der Speichervorrichtung oder einer anderen Quelle.
  • In Reaktion auf den Empfang des Befehls schreibt die Speichervorrichtung in der Operation 706 basierend auf der Modusregistereinstellung die Datenstruktur in den Speicher. Beispielsweise schreibt die Speichervorrichtung in einer Ausführungsform in Reaktion auf den Empfang eines Befehls (z.B. eines WRITE-F-Befehls) auf der Basis der Modusregistereinstellung eine Datenstruktur, welche ausschließlich aus Nullen besteht, eine Datenstruktur, welche ausschließlich aus Einsen besteht, oder eine andere Datenstruktur.
  • 8A, 8B, 8C und 8D sind Ablaufpläne von Verfahren zum Schreiben einer Datenstruktur in einen Speicher gemäß einer Ausführungsform. Die Verfahren 800A bis 800D können durch eine Speichervorrichtung durchgeführt werden, wie z.B. durch die Speichervorrichtung 140 der 1 oder den Speicher 230 der 2. Die Verfahren 800A bis 800D veranschaulichen mehrere Verfahren zum Schreiben einer Datenstruktur in einen Speicher, ohne für jedes Schreiben die Datenstruktur über den Datenbus zu übertragen. Andere Verfahren sind ebenfalls möglich. Die Verfahren 800A der 8A und 800B der 8B veranschaulichen Ausführungsformen, bei welchen die Quelle der Datenstruktur beispielsweise ein Eingang ist, der an Masse oder eine Spannungsquelle gebunden ist. Die Verfahren 800C der 8C und 800D der 8D sind ähnliche wie die Verfahren 800A und 800B, veranschaulichen jedoch Ausführungsformen, bei welchen die Datenstruktur auf latch-gespeicherten Daten aus einem früheren Schreibvorgang basiert. 8A und 8C veranschaulichen Ausführungsformen, bei welchen ein WRITE-F-Befehl für jedes Schreiben wiederholt wird, während 8B und 8D Ausführungsformen veranschaulichen, bei welchen ein einzelner WRITE-F-Befehl mehrere interne Schreibvorgänge der Datenstruktur bewirkt.
  • Bezug nehmend auf 8A, beginnt das Verfahren 800A in der Operation 802 damit, dass eine Speichervorrichtung einen Befehl zum Einstellen eines Modusregisters zum Anzeigen einer Quelle einer Datenstruktur empfängt. Beispielsweise kann die Speichervorrichtung einen Modusregistereinstellungs(MRS)-Befehl von einer Speichersteuerung empfangen, einen Wert in einem Modusregister zu speichern. In einer solchen Ausführungsform zeigt der in dem Modusregister gespeicherte Wert an, welche der mehreren Datenstrukturquellen in Reaktion auf einen Befehl zum Schreiben der Datenstruktur zu verwenden ist. Beispielsweise kann das Modusregister auf Werte zum Anzeigen von Quellen von Datenstrukturen eingestellt werden, die ausschließlich Einsen, ausschließlich Nullen oder eine andere Datenstruktur sind
  • Die Speichervorrichtung empfängt außerdem in der Operation 804 einen Befehl zum Schreiben der Datenstruktur in einen Speicher, basierend auf dem Modusregister. Beispielsweise empfängt die Speichervorrichtung einen WRITE-F-Befehl zum Schreiben der Datenstruktur in einen Speicher ohne Empfang der Datenstruktur über den Datenbus. In der dargestellten Ausführungsform basiert die Datenstruktur nicht auf externen Daten auf dem Datenbus. Stattdessen wird die Quelle der Datenstruktur durch ein Modusregister angezeigt, wie z.B. das Modusregister 600 der 6. Beispielsweise zeigt das Modusregister in einer Ausführungsform an, dass die Quelle der Datenstruktur eine Quelle von ausschließlich Nullen, ausschließlich Einsen oder einer anderen Datenstruktur ist. Zum Beispiel kann das Modusregister anzeigen, dass die Quelle ein Eingang ist, der an Masse oder eine Spannungsquelle gebunden ist, um eine Datenstruktur aus ausschließlich Nullen bzw. ausschließlich Einsen zu schreiben.
  • In einigen Ausführungsformen sendet die Speichersteuerung für jeden WRITE-F-Befehl Adressinformationen (z.B. eine Reihen- und/oder Spaltenadresse). In anderen Ausführungsformen sendet die Speichersteuerung Adressinformationen für einen anfänglichen WRITE-F-Befehl in einem Bündel von WRITE-F-Befehlen, aber nicht für die folgenden WRITE-F-Befehle in dem Bündel. Stattdessen berechnet in einer solchen Ausführungsform die Speichervorrichtung die Adressen für die folgenden WRITE-F-Befehle. Beispielsweise sendet die Speichersteuerung in einer Ausführungsform eine Spaltenadresse mit dem anfänglichen WRITE-F-Befehl und die Speichervorrichtung berechnet (z.B. mit einem Zähler-Schaltungssystem) die nächsten Spaltenadressen für die folgenden WRITE-F-Befehle. Entsprechend schreibt, wenn die Speichervorrichtung für den WRITE-F-Befehl Adressinformationen von der Speichersteuerung empfangen hat, 805, JA-Zweig, die Speichervorrichtung in der Operation 806 die von dem Modusregister angezeigte Datenstruktur mit den empfangenen Adressinformationen in das Speichermatrixfeld. Wenn die Speichervorrichtung für den WRITE-F-Befehl keine Adressinformationen von der Speichersteuerung empfangen hat, 805, NEIN-Zweig, berechnet die Speichervorrichtung in der Operation 810 die Adressinformationen und schreibt dann in der Operation 806 die Datenstruktur. Somit kann die Speichersteuerung entweder mit jedem WRITE-F-Befehl Adressinformationen senden oder sie kann für weniger als alle WRITE-F-Befehle Adressinformationen senden. In einer Ausführungsform umfasst die Speichervorrichtung keinen Zähler für eine Spaltenadresserzeugung und die Speichervorrichtung erfasst für jeden WRITE-F-Befehl anschließende WRITE-F-Befehle mit der externen Spaltenadresse. In einer anderen Ausführungsform kann die Spaltenadresserzeugung oder der Empfang einer externen Spaltenadresse optional oder programmierbar sein.
  • Wieder Bezug nehmend auf die Operation 806, schreibt die Speichervorrichtung in Reaktion auf den WRITE-F-Befehl die von dem Modusregister angezeigte Datenstruktur in das Speichermatrixfeld. Wenn beispielsweise das Modusregister einen Wert enthält, der eine Quelle von ausschließlich Nullen anzeigt, ignoriert das Schreibschaltungssystem der Speichervorrichtung die Daten auf den externen Datenleitungen (falls vorhanden) und schreibt ausschließlich Nullen. Zum Beispiel kann die Datenstruktur auf einem internen Eingang oder einer Signalleitung in der Speichervorrichtung basieren, welche(r) an Masse gebunden ist. In einem anderen Beispiel zeigt das Register eine Quelle von ausschließlich Einsen an und das Schreibschaltungssystem der Speichersteuerung ignoriert die Daten auf den externen Datenleitungen und schreibt stattdessen ausschließlich Einsen. Beispielsweise kann die Datenstruktur auf einer internen Eingabe oder einer internen Signalleitung in der Speichervorrichtung basieren, welche(r) an eine Spannungsquelle gebunden ist. In einer Ausführungsform kann das Schreibschaltungssystem einen Multiplexer zum Auswählen der passenden Datenstrukturquelle zum Schreiben der gewünschten Datenstruktur umfassen (z.B. den Multiplexer in dem Schreibtreiber 500 der 5).
  • In einer Ausführungsform empfängt die Speichervorrichtung weiterhin WRITE-F-Befehle zum Schreiben der Datenstruktur auf der Basis des Modusregisters. Beispielsweise kann die Speichersteuerung mehrere WRITE-F-Befehle hintereinander senden (z.B. als eine Bündeloperation). Entsprechend werden, wenn die Speichervorrichtung weiterhin WRITE-F-Befehle empfängt, 809, JA-Zweig, dann die Operationen 804, 805 und 806 wiederholt. Wenn anderenfalls die Speichervorrichtung keine folgenden WRITE-F-Befehle zum Schreiben derselben Struktur empfängt, 809, NEIN-Zweig, kann die Datenstruktur geändert werden. Wie oben erwähnt, kann es sein, dass nach Beendigung des Schreibens der Datenstruktur in mehrere Speicherstellen mit dem WRITE-F-Befehl das Modusregister zurückgestellt werden muss, bevor Standard-Schreiboperationen wiederaufgenommen werden. Wenn zum Beispiel das Datenstatusregister anzeigt, dass die Datenstruktur aus ausschließlich Nullen bestehen sollte, umfasst der Schreibtreiber in einer Ausführungsform ein Schaltungssystem zum Ignorieren der Daten aus dem Datenbus. Das Ignorieren der Daten aus dem Datenbus ist für die meisten Standardschreibbefehle nicht wünschenswert. Deswegen kann die Speichersteuerung oder die Speichervorrichtung bewirken, dass das Datenstatusfeld auf einen „normalen“ Betriebsmodus eingestellt wird, bei welchem die Schreibtreiber die Daten aus dem Datenbus schreiben. In einer Ausführungsform kann die Speichervorrichtung, um die Datenstruktur zu ändern, Operation 812, JA-Zweig, einen anderen Befehl zum Einstellen des Modusregisters auf einen Wert für die gewünschte Datenstrukturquelle empfangen.
  • Somit im Gegensatz zu einem typischen Verfahren zum wiederholten Schreiben einer Datenstruktur das Verfahren der 8A dasselbe Ergebnis erzielen, ohne für jedes Schreiben Informationen über den Datenbus zu senden. In dem Fall, wenn die gewünschte Datenstruktur aus ausschließlich Nullen, ausschließlich Einsen besteht, ist es nicht einmal erforderlich, dass die Speichersteuerung die Datenstruktur einmal sendet, bevor sie die Datenstruktur in mehrere Speicherstellen schreibt. Außerdem ermöglicht im Gegensatz zu existierenden Techniken, welche das Schreiben von ausschließlich Nullen umfassen, das Verfahren der 8A das Schreiben von anderen Speicherstrukturen als ausschließlich Nullen (z.B. ausschließlich Einsen oder eine andere Datenstruktur, welche sowohl Einsen als auch Nullen umfasst) in den Speicher, ohne für jedes Schreiben die Struktur über den Datenbus zu senden.
  • 8B veranschaulicht ebenfalls eine Ausführungsform, bei welcher die Quelle der Datenstruktur beispielsweise ein Eingang ist, der an Masse oder eine Spannungsquelle gebunden ist. Die meisten der Operationen des Verfahrens 800B der 8B sind die gleichen oder ähnliche wie die Operationen des Verfahrens 800A. Jedoch veranschaulicht das Verfahren 800B anders als das Verfahren 800A, bei welchem die Speichervorrichtung für jedes Schreiben der Datenstruktur einen Befehl empfängt (wie durch die Operation 809 angezeigt), eine Ausführungsform, bei welcher ein einzelner Befehl mehrere Schreibvorgänge der Datenstruktur in den Speicher bewirkt. Zum Beispiel werden in dem Verfahren 800B die Operationen 806, 808 und 810 wiederholt, bis alle Schreibvorgänge, die durch den empfangenen einzelnen Befehl bewirkt werden, abgeschlossen sind.
  • 8C ist ein weiterer Ablaufplan eines Verfahrens zum Schreiben von Daten in einen Speicher gemäß einer Ausführungsform. Wie oben erwähnt, kann die 8C eine Ausführungsform veranschaulichen, bei welcher eine Datenstrukturquelle ein Daten-Latch der Speichervorrichtung ist, welches Daten speichert, die aus einem früheren Speicherschreibvorgang latch-gespeichert sind. Ein Aspekt, in welchem sich die in 8C dargestellte Ausführungsform von 8A und 8B unterscheidet, ist, dass das Verfahren 800C kein Einstellen des Modusregisters umfasst (z.B. zeigt der Ablaufplan der 8C keine Operation, die mit der Operation 802 der 8A vergleichbar ist). In einer solchen Ausführungsform muss das Modusregister nicht eingestellt werden, da der Standardwert (z.B. ein Wert, auf welchen das Modusregister initialisiert wurde) anzeigt, dass die Datenstruktur auf externen Daten basieren muss. In einer anderen Ausführungsform kann das Verfahren 800C jedoch ein Einstellen des Modusregisters (z.B. Empfangen eines Befehls von der Speichersteuerung zum Einstellen des Modusregisters) umfassen.
  • Deswegen beginnt unter der Annahme, dass das Modusregister anzeigt, dass die Datenstruktur auf externen Daten basieren muss (entweder aufgrund des Empfangs eines MRS-Befehls oder aufgrund dessen, dass der Initialisierungswert der gewünschte Wert ist), das Verfahren 800C der 8C in der Operation 820 mit dem Empfangen eines Befehls zum Latch-Speichern einer Datenstruktur in Latch-Schaltungen. In einer Ausführungsform werden die daten in Daten-Latches auf der Speichervorrichtung latch-gespeichert, wenn die Speichervorrichtung einen Standardschreibbefehl ausführt, wie z.B. einen WRITE-Befehl. Deswegen sendet in einer Ausführungsform eine Speichersteuerung einen Schreibbefehl mit der gewünschten Datenstruktur und die Speichervorrichtung latch-speichert die Datenstruktur. Beispielsweise umfasst, Bezug nehmend auf 3, die Datenschnittstellenlogik 362 Daten-Latches 363 zum Latch-Speichern von Daten, die zu einem Schreibbefehl gehören.
  • Nachdem die Daten latch-gespeichert sind, kann die Speichervorrichtung in der Operation 822 einen Befehl zum Schreiben der latch-gespeicherten Datenstruktur in den Speicher empfangen. Beispielsweise kann die Speichervorrichtung einen WRITE-F-Befehl empfangen, wie oben beschrieben. In der Ausführungsform, die in 8C veranschaulicht ist, zeigt das Modusregister an, dass die Quelle der Datenstruktur ein Daten-Latch der Speichervorrichtung ist (z.B. durch einen Wert ,0' in dem Datenstatusfeld des Modusregisters 600 der 6).
  • Wie bei der oben beschriebenen 8A sendet die Speichersteuerung in einigen Ausführungsformen für jeden WRITE-F-Befehl Adressinformationen (z.B. eine Reihen- und/oder Spaltenadresse). In anderen Ausführungsformen sendet die Speichersteuerung für einen anfänglichen WRITE-F-Befehl in einem Bündel von WRITE-F-Befehlen Adressinformationen, aber nicht für die folgenden WRITE-F-Befehle in dem Bündel. Stattdessen berechnet die Speichervorrichtung in einer solchen Ausführungsform die Adressen für die folgenden WRITE-F-Befehle. Beispielsweise sendet in einer Ausführungsform die Speichersteuerung eine Spaltenadresse mit dem anfänglichen WRITE-F-Befehl und die Speichervorrichtung berechnet (z.B. mit einem Zähler-Schaltungssystem) die nächsten Spaltenadressen für die folgenden WRITE-F-Befehle. Entsprechend schreibt, wenn die Speichervorrichtung von der Speichersteuerung für den WRITE-F-Befehl Adressinformationen empfangen hat, 823, JA-Zweig, in der Operation 824 die Speichervorrichtung die latch-gespeicherte Datenstruktur in das Speichermatrixfeld. Wenn die Speichervorrichtung von der Speichersteuerung für den WRITE-F-Befehl keine Adressinformationen empfangen hat, 823, NEIN-Zweig, berechnet die Speichervorrichtung die Adressinformationen in der Operation 828 und schreibt dann in der Operation 824 die latch-gespeicherte Datenstruktur. Somit kann die Speichersteuerung entweder mit jedem WRITE-F-Befehl Adressinformationen senden oder sie kann für weniger als alle WRITE-F-Befehle Adressinformationen senden.
  • Bezug nehmend auf die Operation 824, schreibt die Speichervorrichtung dann die latch-gespeicherte Datenstruktur in den Speicher. Die Speichervorrichtung kann weiterhin WRITE-F-Befehle zum Schreiben derselben Struktur empfangen, 826, JA-Zweig, in diesem Fall werden die Operationen 822, 823 und 824 wiederholt. Wenn anderenfalls die Speichervorrichtung nicht weiterhin WRITE-F-Befehle zum Schreiben derselben Struktur empfängt, 826, NEIN-Zweig, kann die Datenstruktur geändert werden. Beispielsweise kann, wenn die Datenstruktur geändert werden muss (um z.B. eine andere Datenstruktur in mehrere Speicherstellen zu schreiben), Operation 830, JA-Zweig, die Speichersteuerung einen anderen Schreibbefehl mit einer anderen Struktur senden, was bewirkt, dass die Speichervorrichtung in der Operation 820 die neue Datenstruktur latch-speichert. Die Quelle der Datenstruktur kann auch durch Ändern der Registereinstellung geändert werden (wie z.B. in Bezug auf die Operationen 812 und 802 der 8A beschrieben). Anderenfalls ist das dargestellte Verfahren 800C beendet, 830, NEIN-Zweig.
  • 8D veranschaulicht ebenfalls eine Ausführungsform, bei welcher die Datenstruktur auf latch-gespeicherten Daten aus einem früheren Schreibbefehl basiert. Die meisten der Operationen des Verfahrens 800D der 8D sind die gleichen oder ähnliche wie die Operationen des Verfahrens 800C. Jedoch veranschaulicht das Verfahren 800D anders als das Verfahren 800C, bei welchem die Speichervorrichtung für jedes Schreiben der Datenstruktur einen Befehl empfängt (wie durch die Operation 826 angezeigt), eine Ausführungsform, bei welcher ein einzelner Befehl mehrere Schreibvorgänge der Datenstruktur in den Speicher bewirkt. Beispielsweise werden bei dem Verfahren 800D die Operationen 824, 827 und 828 wiederholt, bis alle Schreibvorgänge beendet sind, die von dem einzelnen Befehl bewirkt werden, der in der Operation 822 empfangen wird.
  • 9A und 9B sind Ablaufpläne von Verfahren zum Schreiben einer Datenstruktur in einen Speicher gemäß Ausführungsformen. Anders als bei den Verfahren der 8A bis 8D, welche durch eine Speichervorrichtung durchgeführt werden können, veranschaulichen 9A und 9B Verfahren, die von einer Speichersteuerung durchgeführt werden, gemäß einer Ausführungsform. Beispielsweise kann eine Speichersteuerung wie die Speichersteuerung 120 der 1 oder die Speichersteuerung 220 der 2 das Verfahren 900A und 900B der 9A und 9B durchführen. Das Verfahren 900A veranschaulicht ein Verfahren, bei welchem die Quelle der Datenstruktur ein Eingang, der an Masse gebunden ist, an eine Spannungsquelle gebunden ist, oder eine andere Quelle ist, und das Verfahren 900B veranschaulicht ein Verfahren, bei welchem die Quelle der Datenstruktur ein Daten-Latch ist, welches Daten aus einem früheren Schreibbefehl enthält. Somit veranschaulicht das Verfahren 900A ein gleiches oder ähnliches Verfahren wie 800A oder 800B, jedoch aus der Perspektive der Speichersteuerung statt aus der Perspektive der Speichervorrichtung. In ähnlicher Weise veranschaulicht das Verfahren 900B ein gleiches oder ähnliches Verfahren wie 800C oder 800D, jedoch aus der Perspektive der Speichersteuerung.
  • Das Verfahren 900A beginnt in der Operation 902 mit dem Senden eines Befehls zum Einstellen eines Modusregisters. Beispielsweise kann eine Speichersteuerung einen Modusregistereinstellungs(MRS)-Befehl zum Speichern eines Werts in einem Modusregister zum Anzeigen einer Quelle einer Datenstruktur (z.B. einer Quelle einer Datenstruktur von ausschließlich Nullen, ausschließlich Einsen oder einer anderen Quelle) senden.
  • Die Speichersteuerung sendet außerdem in der Operation 904 einen Befehl, um zu bewirken, dass die Datenstruktur in den Speicher geschrieben wird. Beispielsweise sendet die Speichersteuerung in einer Ausführungsform einen WRITE-F-Befehl an eine Speichervorrichtung. In einer Ausführungsform muss die Speichersteuerung nicht die Datenstruktur über den Datenbus senden, was eine Verringerung des Stromverbrauchs ermöglicht.
  • Die Speichersteuerung kann in der Operation 906 weiterhin Befehle senden, um zu bewirken, dass die Datenstruktur basierend auf dem Modusregister in den Speicher geschrieben wird. Beispielsweise kann die Speichersteuerung aufeinander folgende WRITE-F-Befehle an die Speichervorrichtung senden. In einer solchen Ausführungsform sendet die Speichersteuerung lediglich mit dem anfänglichen WRITE-F-Befehl (z.B. dem Befehl, auf den in der Operation 904 Bezug genommen wird) Adressinformationen und sendet keine Adressinformationen mit den folgenden WRITE-F-Befehlen (z.B. den Befehlen, auf die in der Operation 906 Bezug genommen wird). In anderen Ausführungsformen kann die Speichersteuerung mit jedem WRITE-F-Befehl Adressinformationen (z.B. Spaltenadressen) senden.
  • Das Verfahren 900B veranschaulicht ein Verfahren, bei welchem die Datenstruktur auf latch-gespeicherten Daten basiert. Entsprechend umfasst das Verfahren 900B in der Operation 910 Senden eines Schreibbefehls mit der gewünschten Datenstruktur. Beispielsweise sendet die Speichersteuerung einen einzelnen Schreibbefehl mit der gewünschten Datenstruktur als Schreibdaten. Die Speichervorrichtung empfängt den Schreibbefehl und die Daten und latch-speichert die Daten als Teil des Verfahrens zum Speichern der Daten in den Speicherzellen.
  • Nach dem Senden des Schreibbefehls an die Speichervorrichtung sendet die Speichersteuerung in der Operation 912 einen zweiten Befehl, um zu bewirken, dass die Datenstruktur in den Speicher geschrieben wird. Beispielsweise sendet die Speichersteuerung in einer Ausführungsform einen WRITE-F-Befehl an eine Speichervorrichtung. In einer solchen Ausführungsform verwendet die Speichervorrichtung die aus dem vorhergehenden Schreibbefehl latch-gespeicherte Datenstruktur und deswegen muss die Speichersteuerung die Datenstruktur nicht erneut mit dem WRITE-F-Befehl senden.
  • Die Speichersteuerung kann in der Operation 914 weiterhin Befehle senden, um zu bewirken, dass die Datenstruktur basierend auf dem Modusregister in den Speicher geschrieben wird. Beispielsweise kann die Speichersteuerung aufeinander folgende WRITE-F-Befehle an die Speichervorrichtung senden. In einer solchen Ausführungsform sendet die Speichersteuerung lediglich mit dem anfänglichen WRITE-F-Befehl (z.B. dem Befehl, auf den in der Operation 904 Bezug genommen wird) Adressinformationen und sendet keine Adressinformationen mit den folgenden WRITE-F-Befehlen (z.B. den Befehlen, auf die in der Operation 906 Bezug genommen wird). Somit kann die Speichersteuerung gemäß Ausführungsformen bewirken, dass eine Datenstruktur in mehrere Speicherstellen geschrieben wird, ohne für jedes Schreiben die Datenstruktur oder die Adressinformationen zu senden.
  • 10A und 10B sind Zeitdiagramme, welche Operationen zum Schreiben einer Datenstruktur in einen Speicher zeigen, gemäß einer Ausführungsform. Die Zeitdiagramme 1000A und 1000B der 10A und 10B veranschaulichen ausgewählte Elemente des zeitlichen Ablaufs und sind nicht notwendigerweise eine vollständige Darstellung aller auftretenden Signale oder stattfindenden Operationen. Ferner übermitteln die dargestellten Blöcke nicht notwendigerweise einen Maßstab oder eine zeitliche Dauer. Stattdessen veranschaulicht das Diagramm eine relative Reihenfolge der Operationen. Das Zeitdiagramm 1000A der 10A veranschaulicht das Schreiben einer Datenstruktur auf der Basis eines Modusregisters, wobei die Quelle der Datenstruktur ein Eingang ist, der an Masse oder eine Spannungsquelle gebunden ist (wie z.B. bei den Verfahren 800A der 8A und 900A der 9A). Das Zeitdiagramm 1000B der 10B veranschaulicht das Schreiben einer Datenstruktur auf der Basis von latch-gespeicherten Daten (wie z.B. bei den Verfahren 800A der 8A und 900A der 9A) gemäß einer Ausführungsform.
  • Bezug nehmend auf 10A, veranschaulicht das Zeitdiagramm Signale, die über Signalleitungen gesendet werden, welche eine Speichersteuerung und eine Speichervorrichtung verbinden. Beispielsweise zeigt das Zeitdiagramm 1000A ein Taktsignal 1002 (CLK), ein Befehlssignal 1004 (CMD), ein Adresssignal 1006 (ADDR) und ein Datensignal 1008 (DQ), welche eine Kommunikation zwischen einer Speichersteuerung und einer Speichervorrichtung ermöglichen. Gemäß einer Ausführungsform sind das Taktsignal 1002, das Befehlssignal 1004, das Adresssignal 1006 und das Datensignal 1008 aus externen Signalleitungen, welche die Speichersteuerung und Speichervorrichtung koppeln. Die externen Signale in dem Zeitdiagramm 1000A können welche gemäß dem System 100 der 1 oder dem System 200 der 2 oder einem anderen System sein, welches eine Speichersteuerung und Speichervorrichtung umfasst. Das Zeitdiagramm 1000A veranschaulicht außerdem interne Signale, welche intern in der Speichervorrichtung erzeugt werden und nicht zur Kommunikation mit der Speichersteuerung verwendet werden. Beispielsweise veranschaulicht das Zeitdiagramm eine Wortleitung 1007, ausgewählte globale Eingabe/Ausgabe(I/O)-Paare 1010 (man beachte, dass in der dargestellten Ausführungsform die gestrichelte Linie der globalen I/O-Paare 1010 die #GIO repräsentiert).
  • Wie oben erwähnt, veranschaulicht das Zeitdiagramm 1000A einen Fall, wobei ein Modusregister (z.B. das Register 600 der 6) so programmiert worden ist, dass es anzeigt, dass die Quelle der Datenstruktur nicht latch-gespeicherte Daten aus einem vorhergehenden Schreibbefehl sind. Stattdessen basiert die Datenstruktur beispielsweise auf einem Eingang, der an Masse oder eine Spannungsquelle gebunden ist. Somit wird in dem Zeitdiagramm 1000A angenommen, dass die Speichersteuerung bereits das Modusregister so programmiert hat, dass es die gewünschte Datenstruktur anzeigt.
  • Das Zeitdiagramm 1000A veranschaulicht WRITE-F-Befehle zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird. In der Ausführungsform, die in 10A dargestellt ist, sendet die Speichersteuerung zu der Zeit 1003 einen Aktivierungsbefehl (ACT) über das Befehlssignal 1004, um eine Reihe (Bank Row) zu aktivieren, die durch das Adresssignal 1006 identifiziert wird. Der Aktivierungsbefehl bewirkt, dass ein internes Wortleitungssignal 1007 bestätigt wird. Nach dem Senden des Aktivierungsbefehls (z.B. nach einer Zeit, tRCD, welche die Verzögerungszeit von ACT bis zum internen Lesen oder Schreiben der Speichervorrichtung ist) sendet die Speichersteuerung einen WRITE-F-Befehl. Die Speichersteuerung sendet außerdem eine entsprechende Spaltenadresse (Bank Column) zum Identifizieren der Speicherstelle, in welche eine Datenstruktur zu schreiben ist. Man beachte, dass die Speichersteuerung für den WRITE-F-Befehl keine Daten über die Datenleitung 1008 sendet. Stattdessen schreibt die Speichervorrichtungen die Datenstruktur gemäß der Modusregistereinstellung. Beispielsweise schreibt die Speichervorrichtung eine Datenstruktur von ausschließlich Nullen, ausschließlich Einsen oder eine andere Datenstruktur.
  • Nach einer Zeitperiode nach dem ACT-Befehl sendet die Speichersteuerung zu der Zeit 1005 einen ersten Write-Force-Befehl (WRITE-F) über das Befehlssignal 1004. Die Zeitperiode zwischen dem ACT-Befehl und dem ersten WRITE-F-Befehl ist in dem dargestellten Zeitdiagramm tRCD, wenngleich auch andere Zeitverzögerungen möglich sind. Die Speichervorrichtung sendet außerdem für den WRITE-F-Befehl die Spaltenadresse (Bank Column) an die Speichervorrichtung. Der erste WRITE-F-Befehl bewirkt, dass die ausgewählten globalen Eingabe/Ausgabe-Paare 1010 die Datenstruktur reflektieren, wodurch eine Bestätigung der ausgewählten Spaltenauswahlleitung (CSL) bewirkt wird. Eine Bestätigung der ausgewählten Spaltenbestätigungsleitung bewirkt, dass die Datenstruktur auf die Bitleitungspaare 1014 getrieben und somit in den ausgewählten Speicherzellen der Speichervorrichtung gespeichert wird.
  • Wie in dem Zeitdiagramm 1000A veranschaulicht, sendet die Speichersteuerung zu der Zeit 1011 einen zweiten WRITE-F-Befehl über die Befehlssignalleitungen 1004. Obwohl nur zwei WRITE-F-Befehl dargestellt sind, kann die Speichersteuerung weniger oder zusätzliche WRITE-F-Befehle ausgeben. Beispielsweise kann man eine Ausführungsform erwägen, bei welcher die Seitengröße, die durch ACT mit einer Bank- und Reihenadresse aktiviert wird, im Allgemeinen 8 kB oder 1 kB beträgt. Für eine Seitengröße von 8 kB können wir durch die Spaltenadresse CSL-Leitungen auswählen und gemäß Ausführungsformen 64 Byte, 128 Byte oder 256 Byte Daten herein- und herausbringen. In einem Beispiel, wobei die Auswahl der CSL-Leitungen ermöglicht, dass in Reaktion auf die Auswahl der CSL-Leitungen 128 Byte an Daten gelesen oder geschrieben werden, kann die angezeigte Datenstruktur durch eine WRITE-F-Operation in 128 Speicherstellen von 8192 Byte (8kB) Speicherzellen schreiben. Deswegen würde in einem solchen Beispiel, wenn die Anwendungen oder das System eine Datenstruktur auf eine gesamte Seite schreiben möchten (in diesem Beispiel z.B. 8192 Byte), die Speichersteuerung 64 WRITE-F-Operationen bewirken (8192 Byte/128 Byte = 64 Schreibvorgänge). In diesem Beispiel könnten die 64 WRITE-F-Operationen gemäß irgendeiner hierin beschriebenen Ausführungsform erfolgen. Beispielsweise kann in einer Ausführungsform ein einzelner WRITE-F-Befehl bewirken, dass genug interne Schreiboperationen die gesamte Seite mit der Datenstruktur füllen. In einer anderen Ausführungsform sendet die Speichersteuerung für jedes Schreiben einen Schreib- oder WRITE-F-Befehl, um die Seite mit der Datenstruktur zu füllen. Beispielsweise sendet in einer solchen Ausführungsform die Speichersteuerung für jedes Schreiben einen WRITE-F-Befehl. In einer anderen Ausführungsform sendet die Speichersteuerung zuerst einen Schreibbefehl, gefolgt von genug WRITE-F-Befehlen zum Füllen der Seite mit der Datenstruktur (in dem obigen Beispiel 1 Schreibbefehl, gefolgt von 63 WRITE-F-Befehlen).
  • In der dargestellten Ausführungsform beträgt die Zeitverzögerung zwischen zwei aufeinander folgenden WRITE-F-Befehlen tCCD_L, welche die lange Verzögerung von Spalte zu Spalte ist (z.B. für Befehle für dieselbe Bank). Der tCCD-Zeitparameter definiert die minimale Anzahl an Zyklen, die zwischen Auswahlen verschiedener Speicherspalten durchlaufen werden müssen. In anderen Ausführungsformen könnte jedoch die Zeit zwischen den Schreib- und Write-Force-Befehlen tCCD_S, welche eine kürzere Verzögerung von Spalte zu Spalte ist (z.B. für Befehle für verschiedene Bänke) oder irgendeine andere Zeitperiode sein. In der dargestellten Ausführungsform sendet die Speichersteuerung keine weiteren Adressinformationen über das Adresssignal 1006 oder Daten über das DQ-Signal 1008 für den folgenden WRITE-F-Befehl. Stattdessen bestimmt die Speichervorrichtung die Adressen der nächsten Speicherstellen, in welche die Datenstruktur zu schreiben ist, in Reaktion auf den Empfang des WRITE-F-Befehls, anstatt auf den Empfang zusätzlicher Adressinformationen über die Adresssignalleitungen zurückzugreifen. Beispielsweise berechnet ein Zählerschaltungssystem (z.B. ein Spaltenadressenzähler) in der Speichervorrichtung die Spaltenadresse für die folgenden WRITE-F-Befehle. Die Speichervorrichtung fährt damit fort, die Datenstruktur in zusätzliche Spalten der ausgewählten Reihe zu schreiben, bis die Speichervorrichtung keine WRITE-F-Befehle mehr empfängt. Die Speichervorrichtung schreibt deswegen die Datenstruktur in mehrere Speicherstellen, ohne für jedes Schreiben die Datenstruktur oder die Adresse zu empfangen.
  • Nachdem der letzte Spaltenschreibvorgang beendet ist, können die Wortleitung und die Spaltenleitungen zu der Zeit 1009 durch einen Vorladungsbefehl (PRE) deaktiviert werden, welchen die Speichersteuerung eine Zeit nach dem letzten Spaltenschreibvorgang ausgeben kann, welche durch die Schreiberholungszeit (Write Recovery time, tWR) der Speichervorrichtung definiert ist. Wie oben beschrieben, definiert der tWR-Zeitparameter die minimale Anzahl an Taktzyklen, die nach einer Schreiboperation erforderlich sind, um sicherzustellen, dass die geschriebenen Inhalte richtig in den entsprechenden Speicherzellen gespeichert werden.
  • Das Zeitdiagramm 1000B veranschaulicht einen Schreibbefehl mit einer Datenstruktur, gefolgt von einem WRITE-F-Befehl, um zu bewirken, dass die latch-gespeicherte Datenstruktur in mehrere Speicherstellen geschrieben wird. Das Zeitdiagramm 1000B veranschaulicht Signale, welche ähnliche sind wie in dem Zeitdiagramm 1000A. Beispielsweise zeigt das Zeitdiagramm 1000 ein Taktsignal 1002 (CLK), ein Befehlssignal (CMD), ein Adresssignal 1006 (ADDR) und ein Datensignal 1008 (DQ), welche eine Kommunikation zwischen einer Speichersteuerung und einer Speichervorrichtung ermöglichen. Die Signale im Zeitdiagramm 1000 können welche gemäß dem System 100 der 1 oder dem System 200 der 2 oder einem anderen System sein, welches eine Speichersteuerung und Speichervorrichtung umfasst.
  • Wie oben erwähnt, veranschaulicht das Zeitdiagramm 1000B zuerst einen Speicherschreibbefehl. Somit sendet in der Ausführungsform, die in 10 veranschaulicht ist, die Speichersteuerung zu der Zeit 1003 einen Aktivierungsbefehl (ACT) über das Befehlssignal 1004 zum Aktivieren einer Reihe (Bank Row), welche durch das Adresssignal 1006 identifiziert wird. Der Aktivierungsbefehl bewirkt, dass ein internes Wortleitungssignal 1007 bestätigt wird. Nach dem Senden des Aktivierungsbefehls (z.B. nach einer Zeit tRCD, welche die Verzögerungszeit von ACT bis zum internen Lesen oder Schreiben der Speichervorrichtung ist) sendet die Speichersteuerung einen Schreibbefehl (WRT) zu der Zeit 1005. Die Speichersteuerung sendet außerdem eine entsprechende Spaltenadresse (Bank Column) zum Identifizieren der Speicherstelle, in welche die Daten (Data Pattern) auf DQ 1008 zu schreiben sind. Der Schreibbefehl bewirkt, dass die Daten latch-gespeichert und auf den ausgewählten globalen I/O-Paaren 1010 ausgegeben werden, was bewirkt, dass die ausgewählte Spaltenauswahlleitung bestätigt wird, was bewirkt, dass die Daten an die Bitleitungspaare 1014 ausgegeben und anschließend in die spezifizierte Speicherstelle geschrieben werden. Somit bewirkt, wie oben beschrieben, die Verarbeitung des Schreibbefehls, dass die Speichervorrichtung die Daten vor dem Speichern in den Speicherzellen latch-speichert. Die latch-gespeicherten Daten können dann von der Speichervorrichtung verwendet werden, um einen folgenden WRITE-F-Befehl zu verarbeiten.
  • Nach einer Zeitperiode sendet die Speichersteuerung zu der Zeit 1005 einen Write-Force-Befehl (WRITE-F) über das Befehlssignal 1004. Die Zeitperiode zwischen dem Schreibbefehl und dem Write-Force-Befehl ist in dem dargestellten Zeitdiagramm tCCD_L, jedoch in anderen Ausführungsformen die Zeit zwischen dem Schreibbefehl und dem Write-Force-Befehl tCCD_S, welche eine kurze Verzögerung von Spalte zu Spalte ist (z.B. für Befehle für verschiedene Bänke), oder irgendeine andere Zeitperiode sein. In der dargestellten Ausführungsform sendet die Speichersteuerung keine weiteren Adressinformationen über das Adresssignal 1006 oder Daten über das DQ-Signal 1008 für den Write-Force-Befehl. Stattdessen bestimmt, wie oben in Bezug auf 10A beschrieben, die Speichervorrichtung die Adressen der nächsten Speicherstellen, in welche die Datenstruktur zu schreiben ist, in Reaktion auf den Empfang des WRITE-F-Befehls, anstatt auf den Empfang zusätzlicher Adressinformationen über die Adresssignalleitungen 1006 zurückzugreifen
  • Die Speichervorrichtung fährt damit fort, die Datenstruktur in zusätzliche Spalten der ausgewählten Reihe zu schreiben, bis die Speichervorrichtung keine WRITE-F-Befehle mehr empfängt. In dem dargestellten Beispiel ist die Verzögerung zwischen gegebenen Schreibvorgängen tCCD_L, wenngleich in anderen Ausführungsformen die Verzögerung tCCD_S oder eine andere Verzögerung sein könnte. Das Zeitdiagramm 1000B veranschaulicht zwei WRITE-F-Befehle, die Speichersteuerung kann jedoch gemäß Ausführungsformen weniger oder zusätzliche WRITE-F-Befehle ausgeben. Die Speichervorrichtung schreibt deswegen die Datenstruktur in mehrere Speicherstellen, ohne für jedes Schreiben die Datenstruktur oder die Adresse zu empfangen.
  • Nachdem der letzte Spaltenschreibvorgang beendet ist, können die Wortleitung und die Spaltenleitungen zu der Zeit 1009 durch einen Vorladungsbefehl (PRE) deaktiviert werden, welchen die Speichersteuerung eine Zeit nach dem letzten Spaltenschreibvorgang ausgeben kann, welche durch die Schreiberholungszeit (tWR) der Speichervorrichtung definiert ist.
  • Somit veranschaulichen die Zeitdiagramme 1000A und 1000B WRITE-F-Befehle gemäß Ausführungsformen. Die Zeitdiagramme 1000A und 1000B sind lediglich Beispiele und andere Ausführungsformen können eine andere zeitliche Ablaufplanung und andere Elemente umfassen. Beispielsweise veranschaulichen die Zeitdiagramme 1000A und 1000B Ausführungsformen, bei welchen die Speichersteuerung für jeden folgenden Schreibvorgang einen WRITE-F-Befehl über den Befehlsbus sendet. Jedoch kann in anderen Ausführungsformen ein einzelner Befehl bewirken, dass eine Speichervorrichtung mehrere interne Schreibvorgänge durchführt. In einem anderen Beispiel können andere Ausführungsformen das Senden von Adressinformationen für jedes Schreiben umfassen, anstatt dass die Speichervorrichtung die folgenden Spaltenadressen berechnet.
  • 11 ist ein Blockschaubild eines Computersystems, bei welchem ein wiederholtes Schreiben einer programmierbaren Datenstruktur in einen Speicher realisiert werden kann, gemäß einer Ausführungsform.
  • Das System 1100 repräsentiert eine Computervorrichtung gemäß einer beliebigen hierin beschriebenen Ausführungsform und kann ein Laptop-Computer, ein Desktop-Computer, ein Server, ein Spiel- oder Unterhaltungs-Steuerungssystem, ein Scanner, ein Kopierer, ein Drucker, eine Routing- oder Schaltvorrichtung, eine eingebettete Computervorrichtung oder eine andere elektronische Vorrichtung sein.
  • Das System 1100 umfasst einen Prozessor 1110, welcher eine Verarbeitung, Operationsverwaltung und Ausführung von Befehlen für das System 1100 bereitstellt. Der Prozessor 1110 kann eine beliebige Art von Mikroprozessor, Zentralprozessoreinheit (CPU), Graphikprozessoreinheit (GPU), Prozessorkern oder anderer Prozessor-Hardware zum Bereitstellen einer Verarbeitung für das System 1100 oder eine Kombination von Prozessoren umfassen. Der Prozessor 1110 steuert den Gesamtbetrieb des Systems 1100 und kann ein(e) oder mehrere programmierbare allgemeine oder spezielle Mikroprozessoren, digitale Signalprozessoren (DSPs), programmierbare Steuerungen, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikvorrichtungen (PLDs) oder Ähnliches oder eine Kombination solcher Vorrichtungen sein oder umfassen.
  • In einer Ausführungsform umfasst das System 1100 eine mit dem Prozessor 1110 gekoppelte Schnittstelle 1112, welche eine Schnittstelle höherer Geschwindigkeit oder eine Schnittstelle mit hohem Durchsatz für Systemkomponenten repräsentieren kann, die Verbindungen höherer Bandbreite benötigen, wie z.B. das Speicher-Teilsystem 1120 oder die Graphikschnittstellenkomponenten 1140. Die Schnittstelle 1112 kann eine „Nordbrücken“-Schaltung repräsentieren, welche eine selbständige Komponente sein kann oder in einem Prozessor-Die integriert sein kann. Die Graphikschnittstelle 1140 verbindet mit Graphikkomponenten zum Bereitstellen eines visuellen Displays für einen Benutzer des Systems 1100. In einer Ausführungsform erzeugt die Graphikschnittstelle 1140 ein Display auf der Grundlage von Daten, die in einem Speicher 1130 gespeichert sind, oder auf der Grundlage von Operationen, die vom Prozessor 1110 ausgeführt werden, oder beidem.
  • Das Speicher-Teilsystem 1120 repräsentiert den Hauptspeicher des Systems 1100 und sorgt für eine Speicherung von Code, der von dem Prozessor 1110 auszuführen ist, oder Datenwerten, die bei der Ausführung einer Routine zu verwenden sind. Das Speicher-Teilsystem 1120 kann eine oder mehrere Speichervorrichtungen 1130 umfassen, wie z.B. Nur-Lese-Speicher (ROM), Flash-Speicher, eine oder mehrere Formen von Direktzugriffsspeicher (RAM) oder andere Speichervorrichtungen oder eine Kombination solcher Vorrichtungen.
  • Der Speicher 1130 speichert und beherbergt unter anderem ein Betriebssystem (OS) 1132 zum Bereitstellen einer Software-Plattform zur Ausführung von Befehlen im System 1100. Außerdem können auf der Software-Plattform des OS 1132 aus dem Speicher 1130 Anwendungen 1134 ablaufen. Die Anwendungen 1134 repräsentieren Programme, welche ihre eigene Betriebslogik zur Ausführung einer oder mehrerer Funktionen aufweisen. Verfahren 1136 repräsentieren Agenten oder Routinen, welche Hilfsfunktionen für das OS 1132 oder eine oder mehrere Anwendungen 1134 oder eine Kombination bereitstellen. Das OS 1132, die Anwendungen 1134 und die Verfahren 1136 stellen Logik bereit, um Funktionen für das System 1100 bereitzustellen. In einer Ausführungsform umfasst das Speicher-Teilsystem 1120 eine Speichersteuerung 1122, welche eine Speichersteuerung zum Erzeugen und Ausgeben von Befehlen an den Speicher 1130 ist. Es versteht sich, dass die Speichersteuerung 1122 ein physischer Teil des Prozessors 1110 oder ein physischer Teil der Schnittstelle 1112 sein könnte. Beispielsweise kann die Speichersteuerung 1122 eine integrierte Speichersteuerung sein, die in einer Schaltung mit dem Prozessor 1110 integriert ist.
  • Wenngleich nicht speziell veranschaulicht, versteht es sich, dass das System 1100 einen oder mehrere Busse oder ein Bussystem zwischen Vorrichtungen umfassen kann, z.B. einen Speicherbus, einen Graphikbus, Schnittstellenbusse oder andere. 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, Steuerungen oder andere Schaltungen oder eine Kombination umfassen. Busse können beispielsweise einen oder mehrere aus einem Systembus, einem Peripheral-Component-Interconnect(PCI)-Bus, einem HyperTransport- oder Industry-Standard-Architecture(ISA)-Bus, einem Small-Computer-System-Interface(SCSI)-Bus, einem Universal-Serial-Bus (USB) oder einem Bus des Institute-of-Electrical-and-Electronics-Engineers(IEEE)-Standards 1394 (gewöhnlich als „Firewire“ bezeichnet) umfassen.
  • In einer Ausführungsform umfasst das System 1100 eine Schnittstelle 1114, welche mit der Schnittstelle 1112 gekoppelt sein kann. Die Schnittstelle 1114 kann eine Schnittstelle niedrigerer Geschwindigkeit sein als die Schnittstelle 1112. In einer Ausführungsform kann die Schnittstelle 1114 eine „Südbrücken“-Schaltung sein, welche selbständige Komponenten und ein integriertes Schaltungssystem umfassen kann. In einer Ausführungsform sind mehrere Benutzerschnittstellenkomponenten oder Peripheriekomponenten oder beides mit der Schnittstelle 1114 gekoppelt. Eine Netzwerkschnittstelle 1150 verleiht dem System 1100 die Fähigkeit, über ein oder mehrere Netzwerke mit entfernten Vorrichtungen (z.B. Servern oder anderen Computervorrichtungen) zu kommunizieren. Die Netzwerkschnittstelle 1150 kann einen Ethernet-Adapter, drahtlose Verbindungskomponenten, USB(Universal Serial Bus)- oder andere drahtgebundene oder drahtlose Schnittstellen auf Standardbasis oder proprietäre Schnittstellen umfassen. Die Netzwerkschnittstelle 1150 kann Daten mit einer entfernten Vorrichtung austauschen, was das Senden von Daten, die im Speicher gespeichert sind, oder das Empfangen von Daten umfassen kann, die im Speicher zu speichern sind.
  • In einer Ausführungsform umfasst das System 1100 eine oder mehrere Eingabe/Ausgabe(IIO)-Schnittstellen 1160. Eine I/O-Schnittstelle 1160 kann eine oder mehrere Schnittstellenkomponenten umfassen, durch welche ein Benutzer mit dem System 1100 interagiert (z.B. Audio-, alphanumerische, taktile/Berührungs- oder andere Schnittstellen). Eine Peripherieschnittstelle 1170 kann eine beliebige Hardware-Schnittstelle umfassen, die oben nicht speziell erwähnt ist. Peripheriegeräte beziehen sich im Allgemeinen auf Vorrichtungen, welche abhängig mit dem System 110 verbunden sind. Eine abhängige Verbindung ist eine, wobei das System 1100 die Software-Plattform oder Hardware-Plattform oder beides bereitstellt, auf welcher eine Operation ausgeführt wird und mit welcher ein Benutzer interagiert.
  • In einer Ausführungsform umfasst das System 1100 ein Speicherungs-Teilsystem 1180 zum nichtflüchtigen Speichern von Daten. In einer Ausführungsform können sich in bestimmten Systemrealisierungen zumindest bestimmte Komponenten der Speicherung 1180 mit Komponenten des Speicher-Teilsystems 1120 überlappen. Das Speicherungs-Teilsystem 1180 umfasst Speicherungsvorrichtung(en) 1184, welche ein beliebiges herkömmliches Medium zum nichtflüchtigen Speichern von großen Datenmengen sein oder umfassen können, z.B. eine oder mehrere Platten auf magnetischer, Halbleiter- oder optischer Basis oder eine Kombination. Die Speicherung 1184 enthält Code oder Befehle und Daten 1186 in einem anhaltenden Zustand (d.h. der Wert wird trotz einer Unterbrechung der Stromzufuhr zu dem System 1100 behalten). Die Speicherung 1184 kann im Allgemeinen als ein „Speicher“ angesehen werden, obwohl der Speicher 1130 typischerweise der ausführende oder operierende Speicher ist, der dem Prozessor 1110 Befehle bereitstellt. Während die Speicherung 1184 nichtflüchtig ist, kann der Speicher 1130 flüchtigen Speicher umfassen (d.h. der Wert oder Zustand der Daten ist unbestimmt, wenn die Stromzufuhr zu dem System 1100 unterbrochen wird). In einer Ausführungsform umfasst das Speicherungs-Teilsystem 1180 eine Steuerung 1182 zum Verbinden mit der Speicherung 1184. In einer Ausführungsform ist die Steuerung 1182 ein physischer Teil der Schnittstelle 1114 oder des Prozessors 1110 oder kann Schaltungen oder Logik sowohl im Prozessor 1110 als auch in der Schnittstelle 1114 umfassen.
  • Eine Stromquelle 1102 liefert den Komponenten des Systems 110 Strom. Insbesondere ist die Stromquelle 1102 typischerweise mit einer oder mehreren Stromversorgungen 1104 im System 1100 verbunden, um den Komponenten des Systems 1100 Strom zu liefern. In einer Ausführungsform umfasst eine Stromversorgung 1104 einen AC-DC(Wechselstrom-zu-Gleichstrom)-Adapter zum Stecken in eine Wandsteckdose. Ein solcher Wechselstrom kann aus einer Stromquelle 1102 aus erneuerbarer Energie (z.B. bei Solarstrom) stammen. In einer Ausführungsform umfasst die Stromquelle 1102 eine Gleichstromquelle, z.B. einen externen AC-DC-Wandler. In einer Ausführungsform umfasst die Stromquelle 1102 oder die Stromversorgung 1104 eine drahtlose Auflade-Hardware zum Aufladen durch die Nähe zu einem Aufladungsfeld. In einer Ausführungsform kann die Stromquelle 1102 eine interne Batterie oder Brennstoffzellenquelle umfassen.
  • In einer Ausführungsform ermöglicht das Speicher-Teilsystem 1120 eine programmierbare Datenstruktur zum mehrfachen Schreiben in einen Speicher gemäß oben beschriebenen Ausführungsformen.
  • 12 ist ein Blockschaubild eines mobilen Geräts, bei welchem ein Verfahren zum Schreiben einer Datenstruktur in mehrere Speicherstellen realisiert werden kann, gemäß einer Ausführungsform. Die Vorrichtung 1200 repräsentiert eine mobile Computervorrichtung, z.B. einen Tablet-Computer, ein Mobiltelefon oder ein Smartphone, einen drahtlosen E-Reader, eine tragbare Computervorrichtung oder eine andere mobile Vorrichtung oder eine eingebettete Computervorrichtung. Es versteht sich, dass bestimmte der Komponenten allgemein dargestellt sind und in der Vorrichtung 1200 nicht alle Komponenten einer solchen Vorrichtung dargestellt sind.
  • Die Vorrichtung 1200 umfasst einen Prozessor 1210, welcher die Hauptverarbeitungsoperationen der Vorrichtung 1200 durchführt. Der Prozessor 1210 kann eine oder mehrere physische Vorrichtungen umfassen, z.B. Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Die von dem Prozessor 1210 durchgeführten Verarbeitungsoperationen umfassen die Ausführung einer Betriebsplattform oder eines Betriebssystems, auf welcher/welchem Anwendungen und Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen, die auf eine I/O (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen bezogen sind, Operationen, die auf die Stromverwaltung bezogen sind, Operationen, die auf ein Verbinden der Vorrichtung 1200 mit einer anderen Vorrichtung bezogen sind, oder eine Kombination. Die Verarbeitungsoperationen können außerdem Operationen umfassen, die auf Audio-I/O, Display-I/O oder andere Verbindungen oder eine Kombination bezogen sind. Der Prozessor 1210 kann Daten ausführen, die im Speicher gespeichert sind. Der Prozessor 1210 kann Daten, die im Speicher gespeichert sind, schreiben oder editieren.
  • In einer Ausführungsform umfasst das System 1200 einen oder mehrere Sensoren 1212. Die Sensoren 1212 repräsentieren eingebettete Sensoren oder Schnittstellen zu externen Sensoren oder eine Kombination. Die Sensoren 1212 ermöglichen dem System 1200, eine oder mehrere Bedingungen einer Umgebung oder einer Vorrichtung zu überwachen oder zu erfassen, in welcher das System 1200 realisiert ist. Die Sensoren 1212 können Umgebungssensoren (z.B. Temperatursensoren, Bewegungsdetektoren, Lichtdetektoren, Kameras, chemische Sensoren (z.B. Kohlenmonoxid-, Kohlendioxid- oder andere chemische Sensoren)), Drucksensoren, Beschleunigungsmessgeräte, Gyroskope, medizinische oder physiologische Sensoren (z.B. Biosensoren, Herzfrequenz-Überwachungsvorrichtungen, Glucose-Überwachungsvorrichtungen oder andere Sensoren zum Erfassen medizinischer oder physiologischer Merkmale) oder andere Sensoren oder eine Kombination umfassen. Die Sensoren 1212 können außerdem Sensoren für biometrische Systeme umfassen, wie z.B. Fingerabdrucksensoren, Gesichtserfassungs- oder -wiedererkennungssysteme oder andere Systeme, welche Benutzermerkmale erfassen oder wiedererkennen. Die Sensoren 1212 sollten weit ausgelegt werden und nicht auf die vielen verschiedenen Typen von Sensoren beschränkt werden, die mit dem System 1200 realisiert werden könnten. In einer Ausführungsform sind ein oder mehrere Sensoren 1212 über eine Front-End-Schaltung, die in den Prozessor 1210 integriert ist, mit dem Prozessor 1210 gekoppelt. In einer Ausführungsform sind ein oder mehrere Sensoren 1212 über eine andere Komponente des Systems 1200 mit dem Prozessor 1210 gekoppelt
  • In einer Ausführungsform umfasst die Vorrichtung 1200 ein Audio-Teilsystem 1220, welches Hardware- (z.B. Audio-Hardware und Audio-Schaltungen) und Software-Komponenten (z.B. Treiber, Codecs) repräsentiert, welche mit dem Bereitstellen von Audiofunktionen für die Computervorrichtung in Verbindung stehen. Die Audiofunktionen können Lautsprecher- oder kopfhörerausgaben sowie Mikrofoneingaben umfassen. Vorrichtungen für solche Funktionen können in die Vorrichtung 1200 integriert oder mit der Vorrichtung 1200 verbunden sein. In einer Ausführungsform interagiert ein Benutzer mit der Vorrichtung 1200, indem er Audio-Befehle bereitstellt, welche von dem Prozessor 1210 empfangen und verarbeitet werden.
  • Ein Display-Teilsystem 1230 repräsentiert Hardware- (z.B. Display-Vorrichtungen) und Software-Komponenten (z.B. Treiber), welche ein visuelles Display für eine Darstellung für einen Benutzer bereitstellen. In einer Ausführungsform umfasst das Display taktile Komponenten oder Touchscreen-Elemente für einen Benutzer zum Interagieren mit der Computervorrichtung. Das Display-Teilsystem 1230 umfasst eine Display-Schnittstelle 1232, welche den speziellen Bildschirm oder die spezielle Hardware-Vorrichtung umfasst, der/die verwendet wird, um einem Benutzer ein Display bereitzustellen. In einer Ausführungsform umfasst die Display-Schnittstelle 1232 eine von dem Prozessor 1210 getrennte Logik (z.B. einen Graphikprozessor), um zumindest einige auf das Display bezogene Verarbeitungen auszuführen. In einer Ausführungsform umfasst das Display-Teilsystem 1230 eine Touchscreen-Vorrichtung, welche einem Benutzer sowohl Ausgaben bereitstellt als auch Eingaben ermöglicht. In einer Ausführungsform umfasst das Display-Teilsystem 1230 ein High-Definition(HD)-Display, welches eine Ausgabe zu einem Benutzer bereitstellt. High Definition kann sich auf ein Display mit einer Pixeldichte von ungefähr 100 PPI (Pixel per Inch) oder mehr beziehen und kann Formate wie Full HD (z.B. 1080 p), Retina-Displays 4K (Ultra High Definition oder UHD) oder andere umfassen. In einer Ausführungsform erzeugt das Display-Teilsystem 1230 Display-Informationen auf der Grundlage von Daten, die in dem Speicher gespeichert sind, und Operationen, die von dem Prozessor 1210 ausgeführt werden.
  • Eine I/O-Steuerung 1240 repräsentiert Hardware-Vorrichtungen und Software-Komponenten, die auf eine Interaktion mit einem Benutzer bezogen sind. Die I/O-Steuerung 1240 kann so arbeiten, dass sie Hardware verwaltet, welche Teil des Audio-Teilsystems 1220 oder des Display-Teilsystems 1230 oder von beiden ist. Außerdem stellt die I/O-Steuerung 1240 einen Verbindungspunkt für weitere Vorrichtungen dar, welche mit der Vorrichtung 1200 verbunden sind und durch welche ein Benutzer mit dem System interagieren könnte. Beispielsweise könnten Vorrichtungen, welche an der Vorrichtung 1200 befestigt werden können, Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder eine andere Display-Vorrichtung, Tastatur- oder Tastenfeldvorrichtungen oder andere I/O-Vorrichtungen zur Verwendung mit speziellen Anwendungen, wie z.B. Kartenlesegeräte, oder andere Vorrichtungen umfassen.
  • Wie oben erwähnt, kann die I/O-Steuerung 1240 mit dem Audio-Teilsystem 1220 oder dem Display-Teilsystem 1230 oder beidem interagieren. Beispielsweise kann eine Eingabe durch ein Mikrofon oder eine andere Audiovorrichtung Eingaben oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 1200 liefern. Außerdem kann statt oder zusätzlich zu der Display-Ausgabe eine Audio-Ausgabe bereitgestellt werden. In einem anderen Beispiel, wenn das Display-Teilsystem einen Touchscreen umfasst, fungiert die Display-Vorrichtung auch als eine Eingabevorrichtung, welche zumindest teilweise von der I/O-Steuerung 1240 verwaltet werden kann. Es kann auch weitere Tasten oder Schalter auf der Vorrichtung 1200 geben, um I/O-Funktionen bereitzustellen, die von der I/O-Steuerung 1240 verwaltet werden.
  • In einer Ausführungsform verwaltet die I/O-Steuerung 1240 Vorrichtungen wie Sensoren 1212, Beschleunigungsmessgeräte, Kameras. Lichtsensoren oder andere Umgebungssensoren, Gyroskope, ein Global Positioning System (GPS) oder andere Hardware, welche in der Vorrichtung 1200 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein, ebenso wie Umgebungseingaben in das System bereitgestellt werden können, um dessen Operationen zu beeinflussen (wie z.B. Rauschfilterung, Einstellen von Displays nach einer Helligkeitserfassung, Anwenden eines Blitzes für eine Kamera oder andere Elemente).
  • In einer Ausführungsform umfasst die Vorrichtung 1200 eine Stromverwaltung 1250, welche den Batteriestromverbrauch, das Aufladen der Batterie und Elemente verwaltet, die auf einen Stromsparbetrieb bezogen sind. Eine Stromverwaltung 1250 verwaltet Strom von einer Stromquelle 1252, welche den Komponenten des Systems 1200 Strom liefert. In einer Ausführungsform umfasst die Stromquelle 1252 einen AC-DC(Wechselstrom-zu-Gleichstrom)-Adapter zum Stecken in eine Wandsteckdose. Ein solcher Wechselstrom kann erneuerbare Energie sein (z.B. Solarstrom, Strom auf Bewegungsbasis). In einer Ausführungsform umfasst die Stromquelle 1252 nur Gleichstrom, welcher von einer Gleichstromquelle geliefert werden kann, z.B. einen externen AC-DC-Wandler. In einer Ausführungsform umfasst die Stromquelle 1252 eine drahtlose Auflade-Hardware zum Aufladen durch die Nähe zu einem Aufladungsfeld. In einer Ausführungsform kann die Stromquelle 1252 eine interne Batterie oder Brennstoffzellenquelle umfassen.
  • Das Speicher-Teilsystem 1260 umfasst Speichervorrichtung(en) 1262 zum Speichern von Informationen in der Vorrichtung 1200. Das Speicher-Teilsystem 1260 kann nichtflüchtige (Zustand ändert sich nicht, wenn die Stromzufuhr zu der Vorrichtung unterbrochen wird) oder flüchtige (Zustand ist unbestimmt, wenn die Stromzufuhr zu der Vorrichtung unterbrochen wird) Speichervorrichtungen oder eine Kombination umfassen. Der Speicher 1260 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (Langzeitdaten oder temporäre Daten) speichern, die auf die Ausführung der Anwendungen und Funktionen des Systems 1200 bezogen sind. In einer Ausführungsform umfasst das Speicher-Teilsystem 1260 eine Speichersteuerung 1264 (welche auch als Teil der Steuerung des Systems 1200 angesehen werden könnte und möglicherweise als Teil des Prozessors angesehen werden könnte). Die Speichersteuerung 1264 umfasst eine Ablaufsteuerung zum Erzeugen und Ausgeben von Befehlen an die Speichervorrichtung 1262. Die Vorrichtung 1200 umfasst außerdem ein Speicherungs-Teilsystem 1206. Das Speicherungs-Teilsystem 1206 umfasst eine oder mehrere Speicherungsvorrichtungen 1201 und eine Steuerung 1205 zum Steuern des Zugriffs auf die Speicherungsvorrichtungen 1201.
  • Verbindungsmöglichkeiten 1270 umfassen Hardware-Vorrichtungen (z.B. drahtlose oder drahtgebundene Verbinder und Kommunikations-Hardware oder eine Kombination von drahtgebundener und drahtloser Hardware) und Software-Komponenten (z.B. Treiber, Protokollstapel), um der Vorrichtung 1200 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die externen Vorrichtungen könnten separate Vorrichtungen sein, z.B. andere Computervorrichtungen, drahtlose Zugangspunkte oder Basisstationen, ebenso wie Peripheriegeräte wie Kopfhörer, Drucker oder andere Vorrichtungen. In einer Ausführungsform tauscht das System 1200 Daten mit einer externen Vorrichtung aus, um sie im Speicher zu speichern oder auf einer Display-Vorrichtung anzuzeigen. Die ausgetauschten Daten können Daten umfassen, die im Speicher zu speichern sind, oder Daten, die bereits im Speicher gespeichert sind, um Daten zu lesen, zu schreiben oder zu editieren.
  • Die Verbindungsmöglichkeiten 1270 können mehrere verschiedene Typen von Verbindungsmöglichkeiten umfassen. Zur Verallgemeinerung ist die Vorrichtung 1200 mit zellulären Verbindungsmöglichkeiten 1272 und drahtlosen Verbindungsmöglichkeiten 1274 dargestellt. Die zellulären Verbindungsmöglichkeiten 1272 beziehen sich allgemein auf zelluläre Netzwerk-Verbindungsmöglichkeiten, die von drahtlosen Trägern bereitgestellt werden, z.B. über GSM (Global System for Mobile Communications) oder Variationen oder Ableitungen, CDMA (Code Division Multiple Access, Codemultiplex-Vielfachzugriff) oder Variationen oder Ableitungen, TDM (Time Division Multiplexing, Zeitmultiplex) oder Variationen oder Ableitungen, LTE (Long Term Evolution - auch als „4G“ bezeichnet) oder andere zelluläre Dienststandards. Die drahtlosen Verbindungsmöglichkeiten 1274 beziehen sich auf drahtlose Verbindungsmöglichkeiten, die nicht zellulär sind, und können persönliche Netzwerke (wie Bluetooth), lokale Netzwerke (wie WiFi) oder Fernbereichs-Netzwerke (wie WiMax) oder eine andere drahtlose Kommunikation oder eine Kombination umfassen. Drahtlose Kommunikation bezieht sich auf die Übertragung von Daten durch die Verwendung modulierter elektromagnetischer Strahlung durch ein nicht-festes Medium. Drahtgebundene Kommunikation erfolgt durch ein festes Kommunikationsmedium.
  • Peripherieverbindungen 1280 umfassen Hardware-Schnittstellen und Verbinder sowie Software-Komponenten (z.B. Treiber, Protokollstapel) zur Herstellung von Peripherieverbindungen. Es versteht sich, dass die Vorrichtung 1200 sowohl eine Peripherievorrichtung („zu“ 1282) für andere Computervorrichtungen sein könnte als auch mit ihr verbundene Peripherievorrichtungen aufweisen könnte („von“ 1284). Die Vorrichtung 1200 weist im Allgemeinen einen „Docking“-Verbinder zum Verbinden mit anderen Computervorrichtungen für Zwecke wie Verwalten (z.B. Herunterladen, Hochladen, Ändern, Synchronisieren) von Inhalt auf der Vorrichtung 1200 auf. Außerdem kann ein Docking-Verbinder der Vorrichtung 1200 ermöglichen, mit bestimmten Peripheriegeräten verbunden zu werden, welche ermöglichen, dass die Vorrichtung 1200 eine Inhaltsausgabe steuert, beispielsweise an audiovisuelle oder andere Systeme.
  • Zusätzlich zu einem proprietären Docking-Verbinder oder einer anderen proprietären Hardware kann die Vorrichtung 1200 Peripherieverbindungen 1280 über gewöhnliche Verbinder oder Verbinder auf Standard-Basis herstellen. Gewöhnliche Typen können einen Universal-Serial-Bus(USB)-Verbinder (welcher beliebige aus einer Anzahl verschiedener Hardware-Schnittstellen umfassen kann), einen DisplayPort einschließlich eines MiniDisplayPort (MDP), eine High Definition Multimedia Interface (HDMI), Firewire oder einen anderen Typ umfassen.
  • In einer Ausführungsform ermöglicht das Speicher-Teilsystem 1120 eine programmierbare Datenstruktur für mehrere Schreibvorgänge in einen Speicher gemäß oben beschriebenen Ausführungsformen. Somit kann gemäß Ausführungsformen eine programmierbare Datenstruktur für mehrere Schreibvorgänge in einen Speicher ein effizientes Schreiben einer Struktur in mehrere Stellen in dem Speicher ermöglichen.
  • Es folgen einige Ausführungsformen der Offenbarung. In einer Ausführungsform umfasst eine Speichervorrichtung ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum Empfangen eines Befehls, ein Register zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, und ein Zugriffsschaltungssystem zum Schreiben der Datenstruktur in einen Speicher, basierend auf der Quelle, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls. In einer Ausführungsform zeigt das Register eine von mehreren Datenstrukturquellen an, umfassend eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht. In einer Ausführungsform umfassen die mehreren Datenstrukturquellen ferner eine Quelle einer Datenstruktur, die ausschließlich aus Einsen besteht. In einer Ausführungsform umfassen die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl, die latch-gespeichert ist. In einer Ausführungsform schreibt das Zugriffsschaltungssystem die Datenstruktur in den Speicher, ohne die Datenstruktur für den Schreibvorgang über einen Datenbus zu empfangen.
  • In einer Ausführungsform empfängt das I/O-Schaltungssystem einen ersten Befehl zum einmaligen Schreiben der Datenstruktur vor dem Empfang des Befehls. Die Speichervorrichtung umfasst ein Daten-Latch zum Latch-Speichern der Datenstruktur in Reaktion auf den Empfang des ersten Befehls und in Reaktion auf den Empfang des Befehls schreibt das Zugriffsschaltungssystem die Datenstruktur aus dem ersten Befehl, die von dem Daten-Latch latch-gespeichert ist. In einer Ausführungsform zeigt das Register eine von mehreren Datenstrukturquellen an, das Zugriffsschaltungssystem umfasst einen Multiplexer zum Auswählen einer der mehreren Datenstrukturquellen. In einer Ausführungsform umfasst der Multiplexer einen Eingang, der an Masse gebunden ist, einen Eingang, der mit einer Spannungsquelle gekoppelt ist, und einen Eingang, der mit einer Datensignalleitung gekoppelt ist. In einer Ausführungsform basiert eine Auswahleingabe in den Multiplexer auf dem Wert in dem Register und in Reaktion darauf, dass der Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Nullen zu schreiben ist, gibt der Multiplexer eine ,0' aus, basierend auf einer Auswahl des Eingangs, der an Masse gebunden ist. In einer Ausführungsform gibt der Multiplexer in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Einsen zu schreiben ist, eine , 1' aus, basierend auf einer Auswahl des Eingangs, der mit der Spannungsquelle gekoppelt ist. In einer Ausführungsform gibt der Multiplexer in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine latch-gespeicherte Datenstruktur zu schreiben ist, eine ,0' oder , 1' aus, basierend auf einer Auswahl des Eingangs, der mit der Datensignalleitung gekoppelt ist.
  • In einer Ausführungsform empfängt das I/O-Schaltungssystem keine Adressinformationen, die zu dem Befehl gehören, und das Zugriffsschaltungssystem berechnet die Adresse, in welche die Datenstruktur zu schreiben ist, auf der Grundlage von zuvor empfangenen Adressinformationen, die zu einem zuvor empfangenen Befehl gehören. In einer solchen Ausführungsform umfasst das Zugriffsschaltungssystem eine Zählerschaltung zum Bestimmen einer Spaltenadresse, in welche die Datenstruktur zu schreiben ist, auf der Grundlage einer zuvor empfangenen Spaltenadresse, die zu dem zuvor empfangenen Befehl gehört.
  • In einer Ausführungsform umfasst eine Speichersteuerung ein Befehlsschaltungssystem zum Erzeugen eines Befehls, um zu bewirken, dass eine Datenstruktur in einen Speicher geschrieben wird, wobei eine Quelle der zu schreibenden Datenstruktur auf einem Register basiert, und zum Erzeugen eines Befehls, um das Register zu programmieren, in Reaktion auf den Empfang des Befehls die Quelle der zu schreibenden Datenstruktur anzuzeigen. Die Speichersteuerung umfasst außerdem ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum Senden des Befehls zum Programmieren des Registers und zum Senden des Befehls zum Bewirken, dass die Datenstruktur geschrieben wird. In einer Ausführungsform programmiert das Befehlsschaltungssystem das Register so, dass es anzeigt, aus welcher von mehreren Datenstrukturquellen zu schreiben ist, umfassend eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht. In einer Ausführungsform umfassen die mehreren Datenstrukturquellen ferner eine Quelle einer Struktur, die ausschließlich aus Einsen besteht. In einer Ausführungsform umfassen die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl, die latch-gespeichert ist. In einer Ausführungsform sendet das I/O-Schaltungssystem den Befehl zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird, ohne die Datenstruktur über einen Datenbus zu senden. In einer Ausführungsform sendet das I/O-Schaltungssystem vor dem Senden des Befehls zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird, einen ersten Befehl zum einmaligen Schreiben der Datenstruktur.
  • In einer Ausführungsform umfasst ein System einen Prozessor und eine Speichervorrichtung, die kommunikativ mit dem Prozessor gekoppelt ist, wobei die Speichervorrichtung einer beliebigen Ausführungsform hierin entspricht. In einer Ausführungsform umfasst das System ferner eines aus einem Display, das kommunikativ mit dem Prozessor gekoppelt ist, einer Netzwerk-Schnittstelle, die kommunikativ mit dem Prozessor gekoppelt ist, und einer Batterie, die so gekoppelt ist, dass sie dem System Strom liefert.
  • In einer Ausführungsform umfasst eine Speichervorrichtung ein Mittel zum Empfangen eines Befehls, ein Mittel zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, und ein Mittel zum Schreiben der Datenstruktur in den Speicher, basierend auf der Datenstruktur, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls. In einer Ausführungsform zeigt das Mittel zum Speichern des Werts eine von mehreren Datenstrukturquellen an, umfassend eine Quelle einer Datenstruktur, die aus ausschließlich Nullen besteht. In einer solchen Ausführungsform umfassen die mehreren Datenstrukturquellen ferner eine Quelle einer Struktur, die aus ausschließlich Einsen besteht. In einer solchen Ausführungsform umfassen die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl, die latch-gespeichert ist. In einer Ausführungsform schreibt das Mittel zum Schreiben der Datenstruktur in einen Speicher die Datenstruktur in den Speicher, ohne für das Schreiben die Datenstruktur über einen Datenbus zu empfangen. In einer Ausführungsform empfängt das Mittel zum Empfangen des Befehls vor dem Empfang des Befehls einen ersten Befehl zum einmaligen Schreiben der Daten, wobei die Speichervorrichtung ein Daten-Latch zum Latch-Speichern der Datenstruktur in Reaktion auf den Empfang des ersten Befehls umfasst und wobei in Reaktion auf den Empfang des Befehls das Mittel zum Schreiben der Datenstruktur die Datenstruktur schreibt, die in Reaktion auf den Empfang des ersten Befehls latch-gespeichert wurde.
  • In einer Ausführungsform zeigt das Mittel zum Speichern des Werts eine von mehreren Datenstrukturquellen an, wobei das Mittel zum Schreiben der Datenstruktur einen Multiplexer zum Auswählen einer der mehreren Datenstrukturquellen umfasst. In einer Ausführungsform empfängt das Mittel zum Empfangen des Befehls keine Adressinformationen, die zu dem Befehl gehören, und das Mittel zum Berechnen einer Adresse zum Schreiben der Datenstruktur basiert auf zuvor empfangenen Adressinformationen, die zu einem zuvor empfangenen Befehl gehören. In einer solchen Ausführungsform umfasst das Mittel zum Berechnen der Adresse eine Zählerschaltung zum Bestimmen einer Spaltenadresse zum Schreiben der Datenstruktur basierend auf einer zuvor empfangenen Spaltenadresse, die zu dem zuvor empfangenen Befehl gehört.
  • In einer Ausführungsform umfasst ein Verfahren Empfangen eines Befehls, Speichern eines Werts in einem Hardware-Register zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, und in Reaktion auf den Empfang des Befehls Schreiben der Datenstruktur in einen Speicher, basierend auf der Quelle, die durch den Wert in dem Register angezeigt wird. In einer Ausführungsform zeigt das Register eine von mehreren Datenstrukturquellen an, umfassend eine Quelle einer Datenstruktur, welche aus ausschließlich Nullen besteht. In einer Ausführungsform umfassen die mehreren Datenstrukturquellen ferner eine Quelle einer Struktur, die aus ausschließlich Einsen besteht. In einer solchen Ausführungsform umfassen die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl, die latch-gespeichert ist. In einer Ausführungsform umfasst das Verfahren ferner Empfangen eines ersten Befehls zum einmaligen Schreiben der Datenstruktur vor dem Empfang des Befehls, Latch-Speichern der Datenstruktur in einem Daten-Latch in Reaktion auf den Empfang des ersten Befehls und Schreiben der Datenstruktur aus dem ersten Befehl, die von dem Daten-Latch latch-gespeichert wurde, in Reaktion auf den Empfang des Befehls. In einer Ausführungsform in Reaktion darauf, dass der Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Nullen zu schreiben ist, Schreiben von Nullen auf der Grundlage einer Auswahl eines Multiplexer-Eingangs, der an Masse gebunden ist. In einer Ausführungsform in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Einsen zu schreiben ist, Schreiben von Einsen auf der Grundlage einer Auswahl eines Multiplexer-Eingangs, der mit einer Spannungsquelle gekoppelt ist. In einer Ausführungsform in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine latch-gespeicherte Datenstruktur zu schreiben ist, Schreiben der latch-gespeicherten Datenstruktur auf der Grundlage einer Auswahl eines Multiplexer-Eingangs, der mit einer Datensignalleitung gekoppelt ist In einer Ausführungsform umfasst das Verfahren ferner Berechnen einer Adresse zum Schreiben der Datenstruktur auf der Grundlage von zuvor empfangenen Adressinformationen, die zu einem zuvor empfangenen Befehl gehören.
  • In einer Ausführungsform umfasst ein Verfahren Erzeugen eines Befehls zum Bewirken, dass eine Datenstruktur in einen Speicher geschrieben wird, wobei eine Quelle der zu schreibenden Datenstruktur auf einem Register basiert, Erzeugen eines Befehls zum Programmieren des Registers zum Anzeigen der Quelle der Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, Senden des Befehls zum Programmieren des Registers und Senden des Befehls zum Bewirken, dass die Datenstruktur geschrieben wird. In einer Ausführungsform zeigt das Register eine von mehreren Datenstrukturquellen an, umfassend eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht, ausschließlich aus Einsen besteht, oder Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl, die latch-gespeichert ist. In einer Ausführungsform umfasst das Verfahren kein Senden der Datenstruktur über einen Datenbus mit dem Befehl zum Bewirken, dass die Datenstruktur geschrieben wird. In einer Ausführungsform umfasst das Verfahren ferner Senden eines ersten Befehls zum einmaligen Schreiben der Datenstruktur vor dem Senden des Befehls zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird.
  • Verschiedene hierin beschriebene Komponenten können ein Mittel zum Durchführen der beschriebenen Operationen oder Funktionen sein. Jede hierin beschriebene Komponente umfasst Software, Hardware oder eine Kombination dieser. Die Komponenten können als Software-Module, Hardware-Module, Spezial-Hardware (z.B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASICs), digitale Signalprozessoren (DSPs) usw.), eingebettete Steuerungen, festverdrahtete Schaltungen usw. realisiert sein.
  • Neben dem, was hierin beschrieben ist, können verschiedene Modifikationen an den offenbarten Ausführungsformen und Realisierungen der Erfindung vorgenommen werden, ohne von deren Umfang abzuweichen. Deswegen sollten die Darstellungen und Beispiele hierin in einem veranschaulichenden und nicht in einem beschränkenden Sinn ausgelegt werden. Der Umfang der Erfindung sollte einzig unter Bezugnahme auf die folgenden Patentansprüche bemessen 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 15391684 [0001]

Claims (25)

  1. Speichervorrichtung, umfassend: ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum Empfangen eines Befehls; ein Register zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist; und ein Zugriffsschaltungssystem zum Schreiben der Datenstruktur in einen Speicher, basierend auf der Quelle, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls.
  2. Speichervorrichtung nach Anspruch 1, wobei das Register eine von mehreren Datenstrukturquellen anzeigt, umfassend eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht.
  3. Speichervorrichtung nach Anspruch 2, wobei die mehreren Datenstrukturquellen ferner eine Quelle einer Datenstruktur umfassen, die ausschließlich aus Einsen besteht.
  4. Speichervorrichtung nach Anspruch 2, wobei die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl umfassen, die latch-gespeichert ist.
  5. Speichervorrichtung nach Anspruch 1, wobei: das Zugriffsschaltungssystem die Datenstruktur in den Speicher schreibt, ohne für das Schreiben die Datenstruktur über einen Datenbus zu empfangen.
  6. Speichervorrichtung nach Anspruch 1, wobei: das I/O-Schaltungssystem einen ersten Befehl zum einmaligen Schreiben der Datenstruktur vor dem Empfang des Befehls empfängt; wobei die Speichervorrichtung ein Daten-Latch zum Latch-Speichern der Datenstruktur in Reaktion auf den Empfang des ersten Befehls umfasst; und wobei in Reaktion auf den Empfang des Befehls das Zugriffsschaltungssystem die Datenstruktur aus dem ersten Befehl schreibt, die durch das Daten-Latch latch-gespeichert ist.
  7. Speichervorrichtung nach Anspruch 1, wobei: das Register eine von mehreren Datenstrukturquellen anzeigt; und das Zugriffsschaltungssystem einen Multiplexer zum Auswählen einer der mehreren Datenstrukturquellen umfasst.
  8. Speichervorrichtung nach Anspruch 7, wobei: der Multiplexer umfasst: einen Eingang, der an Masse gebunden ist, einen Eingang, der mit einer Spannungsquelle gekoppelt ist, und einen Eingang, der mit einer Datensignalleitung gekoppelt ist.
  9. Speichervorrichtung nach Anspruch 8, wobei: eine Auswahleingabe in den Multiplexer auf dem Wert in dem Register basiert; und wobei in Reaktion darauf, dass der Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Nullen zu schreiben ist, der Multiplexer eine ,0' ausgibt, basierend auf einer Auswahl des Eingangs, der an Masse gebunden ist.
  10. Speichervorrichtung nach Anspruch 8, wobei: eine Auswahleingabe in den Multiplexer auf dem Register basiert; und wobei in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine Struktur von ausschließlich Einsen zu schreiben ist, der Multiplexer eine , 1' ausgibt, basierend auf einer Auswahl des Eingangs, der mit der Spannungsquelle gekoppelt ist.
  11. Speichervorrichtung nach Anspruch 8, wobei: eine Auswahleingabe in den Multiplexer auf dem Register basiert; und wobei in Reaktion darauf, dass ein Wert in dem Register anzeigt, dass eine latch-gespeicherte Datenstruktur zu schreiben ist, der Multiplexer eine ,0' oder , 1' ausgibt, basierend auf einer Auswahl des Eingangs, der mit der Datensignalleitung gekoppelt ist.
  12. Speichervorrichtung nach Anspruch 1, wobei: das I/O-Schaltungssystem keine Adressinformationen empfängt, die zu dem Befehl gehören; und wobei das Zugriffsschaltungssystem eine Adresse, in welche die Datenstruktur zu schreiben ist, auf der Grundlage von zuvor empfangenen Adressinformationen berechnet, die zu einem zuvor empfangenen Befehl gehören.
  13. Speichervorrichtung nach Anspruch 12, wobei: das Zugriffsschaltungssystem eine Zählerschaltung zum Bestimmen einer Spaltenadresse, in welche die Datenstruktur zu schreiben ist, auf der Grundlage einer zuvor empfangenen Spaltenadresse umfasst, die zu dem zuvor empfangenen Befehl gehört.
  14. Speichersteuerung, umfassend: ein Befehlsschaltungssystem zum: Erzeugen eines Befehls, um zu bewirken, dass eine Datenstruktur in einen Speicher geschrieben wird, wobei eine Quelle der zu schreibenden Datenstruktur auf einem Register basiert, und Erzeugen eines Befehls, um das Register zu programmieren, in Reaktion auf den Empfang des Befehls die Quelle der zu schreibenden Datenstruktur anzuzeigen; und ein Eingabe/Ausgabe(I/0)-Schaltungssystem zum: Senden des Befehls zum Programmieren des Registers, und Senden des Befehls zum Bewirken, dass die Datenstruktur geschrieben wird.
  15. Speichersteuerung nach Anspruch 14, wobei das Befehlsschaltungssystem das Register so programmiert, dass es anzeigt, welche von mehreren Datenstrukturquellen zu schreiben ist, umfassend eine Quelle einer Datenstruktur, die ausschließlich aus Nullen besteht.
  16. Speichersteuerung nach Anspruch 15, wobei die mehreren Datenstrukturquellen ferner eine Quelle einer Struktur umfassen, die ausschließlich aus Einsen besteht.
  17. Speichersteuerung nach Anspruch 15, wobei die mehreren Datenstrukturquellen ferner Daten-Latches der Speichervorrichtung zum Speichern einer Datenstruktur aus einem früheren Befehl umfassen, die latch-gespeichert ist.
  18. Speichersteuerung nach Anspruch 14, wobei: das I/O-Schaltungssystem den Befehl zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird, sendet, ohne die Datenstruktur über einen Datenbus zu senden.
  19. Speichersteuerung nach Anspruch 14, wobei: das I/O-Schaltungssystem vor dem Senden des Befehls zum Bewirken, dass die Datenstruktur in den Speicher geschrieben wird, einen ersten Befehl zum einmaligen Schreiben der Datenstruktur sendet.
  20. System, umfassend: einen Prozessor; und eine Speichervorrichtung, welche kommunikativ mit dem Prozessor gekoppelt ist, wobei die Speichervorrichtung umfasst: ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum Empfangen eines Befehls; ein Register zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, die in Reaktion auf den Empfang des Befehls zu schreiben ist, und ein Zugriffsschaltungssystem zum Schreiben der Datenstruktur in einen Speicher, basierend auf der Quelle, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls.
  21. System nach Anspruch 20, ferner umfassend: eine Speichersteuerung, die kommunikativ mit dem Prozessor gekoppelt ist, wobei die Speichersteuerung umfasst: ein Befehlsschaltungssystem zum: Erzeugen eines Befehls, um zu bewirken, dass eine Datenstruktur in einen Speicher geschrieben wird, wobei eine Quelle der zu schreibenden Datenstruktur auf einem Register basiert, und Erzeugen eines Befehls, um das Register zu programmieren, in Reaktion auf den Empfang des Befehls die Quelle der zu schreibenden Datenstruktur anzuzeigen; und ein Eingabe/Ausgabe(I/O)-Schaltungssystem zum: Senden des Befehls zum Programmieren des Registers, und Senden des Befehls zum Bewirken, dass die Datenstruktur in die Speichervorrichtung geschrieben wird.
  22. System nach Anspruch 20, ferner umfassend: beliebiges aus einem Display, welches kommunikativ mit dem Prozessor gekoppelt ist, einer Netzwerkschnittstelle, welche kommunikativ mit dem Prozessor gekoppelt ist, oder einer Batterie, welche so gekoppelt ist, dass sie dem System Strom liefert.
  23. Speichervorrichtung, umfassend: ein Mittel zum Empfangen eines Befehls; ein Mittel zum Speichern eines Werts zum Anzeigen einer Quelle einer Datenstruktur, welche in Reaktion auf den Empfang des Befehls zu schreiben ist; und ein Mittel zum Schreiben der Datenstruktur in den Speicher, basierend auf der Datenstruktur, die durch den Wert in dem Register angezeigt wird, in Reaktion auf den Empfang des Befehls.
  24. Speichervorrichtung nach Anspruch 23, wobei das Mittel zum Speichern des Werts: eine von mehreren Datenstrukturquellen anzeigt, umfassend eine Quelle einer Datenstruktur, die aus ausschließlich Nullen besteht.
  25. Speichervorrichtung nach Anspruch 24, wobei die mehreren Datenstrukturquellen ferner eine Quelle einer Struktur umfassen, die aus ausschließlich Einsen besteht.
DE112017006599.2T 2016-12-27 2017-11-07 Programmierbare datenstruktur zum wiederholten schreiben in einen speicher Pending DE112017006599T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/391,684 2016-12-27
US15/391,684 US10490239B2 (en) 2016-12-27 2016-12-27 Programmable data pattern for repeated writes to memory
PCT/US2017/060448 WO2018125385A1 (en) 2016-12-27 2017-11-07 Programmable data pattern for repeated writes to memory

Publications (1)

Publication Number Publication Date
DE112017006599T5 true DE112017006599T5 (de) 2019-10-02

Family

ID=62625582

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006599.2T Pending DE112017006599T5 (de) 2016-12-27 2017-11-07 Programmierbare datenstruktur zum wiederholten schreiben in einen speicher

Country Status (4)

Country Link
US (1) US10490239B2 (de)
CN (1) CN110023914B (de)
DE (1) DE112017006599T5 (de)
WO (1) WO2018125385A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249351B2 (en) 2016-11-06 2019-04-02 Intel Corporation Memory device with flexible internal data write control circuitry
US10566038B2 (en) * 2017-05-29 2020-02-18 Samsung Electronics Co., Ltd. Method of controlling on-die termination and system performing the same
US10346244B2 (en) 2017-08-10 2019-07-09 Micron Technology, Inc. Shared address counters for multiple modes of operation in a memory device
US10672496B2 (en) * 2017-10-24 2020-06-02 Micron Technology, Inc. Devices and methods to write background data patterns in memory devices
US10824503B2 (en) * 2017-11-14 2020-11-03 Micron Technology, Inc. Systems and methods for performing a write pattern in memory devices
US10825491B2 (en) 2017-12-11 2020-11-03 Micron Technology, Inc. Systems and methods for writing zeros to a memory array
US10402116B2 (en) 2017-12-11 2019-09-03 Micron Technology, Inc. Systems and methods for writing zeros to a memory array
US10795830B2 (en) * 2018-07-20 2020-10-06 Qualcomm Incorporated Write access control for double data rate write-x/datacopy0 commands
US10726905B2 (en) * 2018-09-21 2020-07-28 Micron Technology, Inc. Memory device with improved writing features
US11360704B2 (en) 2018-12-21 2022-06-14 Micron Technology, Inc. Multiplexed signal development in a memory device
KR20200078994A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 터미네이션을 수행하는 반도체 장치 및 이를 포함하는 반도체 시스템
US11307791B2 (en) * 2019-05-24 2022-04-19 Texas Instruments Incorporated Quick clearing of registers
US11036432B2 (en) * 2019-07-09 2021-06-15 Micron Technology, Inc. Low power mode for a memory device
US11327867B2 (en) * 2020-10-09 2022-05-10 Micron Technology, Inc. On-die logic analyzer
US11914532B2 (en) * 2021-08-31 2024-02-27 Apple Inc. Memory device bandwidth optimization

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0194434A (ja) * 1987-10-06 1989-04-13 Nec Corp マイクロプログラム制御回路
US5381368A (en) 1993-12-10 1995-01-10 Micron Semiconductor, Inc. Hardware implemented row copy enable mode for DRAMS to create repetitive backgrounds for video images or DRAM testing
US5625601A (en) 1994-04-11 1997-04-29 Mosaid Technologies Incorporated DRAM page copy method
US5440517A (en) 1994-08-15 1995-08-08 Micron Technology, Inc. DRAMs having on-chip row copy circuits for use in testing and video imaging and method for operating same
US5835436A (en) 1995-07-03 1998-11-10 Mitsubishi Denki Kabushiki Kaisha Dynamic type semiconductor memory device capable of transferring data between array blocks at high speed
JPH09288888A (ja) 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体記憶装置
TW349196B (en) 1996-10-18 1999-01-01 Ibm Cached synchronous DRAM architecture having a mode register programmable cache policy
JP4102870B2 (ja) 1996-10-28 2008-06-18 株式会社ルネサステクノロジ ロジックとの混載に適した構成を有するメモリを備えるメモリ集積回路装置
KR100234714B1 (ko) 1996-12-30 1999-12-15 김영환 페이지 카피 모드를 갖는 디램
JPH10302459A (ja) 1997-04-28 1998-11-13 Mitsubishi Electric Corp 半導体記憶装置
JP2000067577A (ja) 1998-06-10 2000-03-03 Mitsubishi Electric Corp 同期型半導体記憶装置
JP3765931B2 (ja) 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
JP4748828B2 (ja) 1999-06-22 2011-08-17 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP3457611B2 (ja) 2000-02-16 2003-10-20 日本電気株式会社 半導体記憶装置
JP4707244B2 (ja) 2000-03-30 2011-06-22 ルネサスエレクトロニクス株式会社 半導体記憶装置および半導体装置
ATE477634T1 (de) 2001-10-22 2010-08-15 Rambus Inc Phaseneinstellvorrichtung und verfahren für ein speicherbaustein-signalisierungssystem
KR100609038B1 (ko) 2004-05-06 2006-08-09 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티-포트 메모리 소자
US7342835B2 (en) 2005-04-14 2008-03-11 Winbond Electronics Corp. Memory device with pre-fetch circuit and pre-fetch method
US20070011596A1 (en) 2005-06-22 2007-01-11 Jungwon Suh Parity check circuit to improve quality of memory device
JP5400262B2 (ja) 2005-12-28 2014-01-29 ピーエスフォー ルクスコ エスエイアールエル 半導体装置
JP5011818B2 (ja) * 2006-05-19 2012-08-29 富士通セミコンダクター株式会社 半導体記憶装置及びその試験方法
US7596039B2 (en) 2007-02-14 2009-09-29 Micron Technology, Inc. Input-output line sense amplifier having adjustable output drive capability
JP5063337B2 (ja) 2007-12-27 2012-10-31 株式会社日立製作所 半導体装置
US8205138B2 (en) 2008-08-07 2012-06-19 International Business Machines Corporation Memory controller for reducing time to initialize main memory
US8134852B2 (en) 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
JP2010140579A (ja) 2008-12-15 2010-06-24 Elpida Memory Inc 半導体記憶装置
US8386736B2 (en) 2008-12-18 2013-02-26 Spansion Llc Rapid memory buffer write storage system and method
JP2010152962A (ja) 2008-12-24 2010-07-08 Toshiba Corp 半導体記憶装置
JP5431028B2 (ja) * 2009-05-28 2014-03-05 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置
KR20110004164A (ko) 2009-07-07 2011-01-13 삼성전자주식회사 반도체 메모리 장치
US9001607B2 (en) 2009-08-19 2015-04-07 Samsung Electronics Co., Ltd. Method and design for high performance non-volatile memory
US9881099B2 (en) 2010-05-24 2018-01-30 International Business Machines Corporation System, method and computer program product for data transfer management
US9418016B2 (en) 2010-12-21 2016-08-16 Intel Corporation Method and apparatus for optimizing the usage of cache memories
KR101970712B1 (ko) 2012-08-23 2019-04-22 삼성전자주식회사 단말기의 데이터 이동장치 및 방법
KR102007364B1 (ko) 2012-08-28 2019-08-05 에스케이하이닉스 주식회사 반도체 메모리 장치
US9098400B2 (en) 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
KR102067029B1 (ko) 2012-12-13 2020-01-16 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US20140177347A1 (en) 2012-12-20 2014-06-26 Advanced Micro Devices, Inc. Inter-row data transfer in memory devices
US9489997B2 (en) 2013-07-03 2016-11-08 Crossbar, Inc. Hardware assisted meta data lookup
US9443614B2 (en) 2013-12-30 2016-09-13 Qualcomm Incorporated Data pattern generation for I/O testing
US9418752B2 (en) 2014-03-27 2016-08-16 Intel Corporation Ramping inhibit voltage during memory programming
US9922695B2 (en) 2015-03-25 2018-03-20 Intel Corporation Apparatus and method for page copying within sections of a memory
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
US9805802B2 (en) 2015-09-14 2017-10-31 Samsung Electronics Co., Ltd. Memory device, memory module, and memory system

Also Published As

Publication number Publication date
CN110023914A (zh) 2019-07-16
US20180181344A1 (en) 2018-06-28
US10490239B2 (en) 2019-11-26
CN110023914B (zh) 2023-06-02
WO2018125385A1 (en) 2018-07-05

Similar Documents

Publication Publication Date Title
DE112017006599T5 (de) Programmierbare datenstruktur zum wiederholten schreiben in einen speicher
DE102020104367A1 (de) Refresh-befehlssteuerung für eine hostunterstützung einer rowhammer-mitigation
DE112015003397B4 (de) Vorrichtung, System und Verfahren zur Bestimmung von Vergleichsinformationen basierend auf Speicherdaten
DE112016004243T5 (de) Hybrides Auffrischen mit verborgenen Auffrischungen und externen Auffrischungen
US20220334777A1 (en) APPARATUSES AND METHODS FOR CONFIGURING I/Os OF MEMORY FOR HYBRID MEMORY MODULES
CN108369819B (zh) 在自刷新模式期间附加刷新操作的执行
DE112016004314T5 (de) Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system
US9886378B2 (en) Nonvolatile memory system using control signals to transmit varied signals via data pins
DE112006000644B4 (de) Speichereinrichtungskommunikation unter Verwendung eines Systemspeicherbusses
DE112017004268T5 (de) Befehlsbus mit doppelter datenrate
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
TWI758247B (zh) 用於長叢發長度之內部連續列存取技術
DE112011106021B4 (de) Zugreifen auf Daten, die in einem Befehls-/Adressregister-Gerät gespeichert sind
DE102006062383B4 (de) Halbleiterspeicherelement und System für ein Halbleiterspeicherelement
DE112017004966T5 (de) Erweiterte anwendung eines fehlerprüfungs- und korrekturcodes in einem speicher
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE102013109327A1 (de) Speichervorrichtung zum Verringern eines Schreibfehlers, ein System mit derselben und Verfahren davon
DE102020118897A1 (de) Verfahren und Vorrichtung zum Reduzieren des Leistungsverbrauchs für dieAktualisierung von Speicherbauelementen auf einem Speichermodul
DE102012104474A1 (de) Speichervorrichtung
DE102021122170A1 (de) Adaptive fehlerbereinigung und fehlerbehandlung für internen speicher
DE112013003219T5 (de) Flexible Befehlsadressierung für Speicher
DE112022000580T5 (de) Reduzierung der Latenzauswirkungen von Fehlerprüfung und Korrektur auf dem Chip (ECC)
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
DE102020133664A1 (de) Initialisierung und Leistungsausfallisolation eines Speichermoduls in einem System
DE112022000954T5 (de) Doppelabruf für Speicherdatenübertragung mit langer Burst-Länge

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: SONY CORPORATION, JP

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: MUELLER HOFFMANN & PARTNER PATENTANWAELTE MBB, DE