DE102007013761B4 - Speicher mit einem Schreibtrainingsblock - Google Patents

Speicher mit einem Schreibtrainingsblock Download PDF

Info

Publication number
DE102007013761B4
DE102007013761B4 DE102007013761.5A DE102007013761A DE102007013761B4 DE 102007013761 B4 DE102007013761 B4 DE 102007013761B4 DE 102007013761 A DE102007013761 A DE 102007013761A DE 102007013761 B4 DE102007013761 B4 DE 102007013761B4
Authority
DE
Germany
Prior art keywords
fifo
memory
write
output pointer
data pattern
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.)
Expired - Fee Related
Application number
DE102007013761.5A
Other languages
English (en)
Other versions
DE102007013761A1 (de
Inventor
Stefan Dietrich
Rex Kho
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.)
Polaris Innovations Ltd
Original Assignee
Polaris Innovations Ltd
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 Polaris Innovations Ltd filed Critical Polaris Innovations Ltd
Publication of DE102007013761A1 publication Critical patent/DE102007013761A1/de
Application granted granted Critical
Publication of DE102007013761B4 publication Critical patent/DE102007013761B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization

Landscapes

  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Speicher, umfassend: mehrere first-in-first-out- bzw. FIFO-Zellen; einen Ausgangszeigerzähler zum Umschalten eines Werts eines FIFO-Ausgangszeigers unter den FIFO-Zellen; und einen Schreibtrainingsblock zum Erzeugen von Informationen zum Verlagern des FIFO-Ausgangszeigers auf der Basis von aus den FIFO-Zellen gelesenen Daten, wobei der Schreibtrainingsblock den Wert des FIFO-Ausgangszeigers und aus den FIFO-Zellen ausgelesene Daten empfängt.

Description

  • Allgemeiner Stand der Technik
  • Graphikintensive Anwendungen, die durch eine prozessorgestützte Einrichtung, wie zum Beispiel einen Computer, ausgeführt werden, werden immer allgegenwärtiger. Zu solchen Anwendungen gehören CAD-Anwendungen (computer-aided Design), Videospiele, Bildgebungsanwendungen und dergleichen. Eine Anzahl dieser Anwendungen operieren in Echtzeit, so daß die Verarbeitungseinrichtung die Graphik mit sehr großen Geschwindigkeiten wiedergeben muß. Da Verbraucher und Programmierer fortwährend größere Graphikkomplexität in ihren Anwendungen verlangen, müssen sich auch die Einrichtungen, die die Graphik wiedergeben, kontinuierlich verbessern.
  • Die prozessorgestützte Einrichtung kann mindestens teilweise eine Graphik-(d. h. Video-)Karte zum Anzeigen von Graphik auf einer Anzeigeeinrichtung wie etwa einem Monitor verwenden. Eine Graphikkarte enthält in der Regel einen oder mehrere eigene Graphikprozessoren, die für Graphikwiedergabe optimiert sind. Eine Graphikkarte enthält außerdem in der Regel einen oder mehrere eigene Speicher, wie zum Beispiel einen synchronen Graphik-Direktzugriffsspeicher (SGRAM), bei denen es sich im wesentlichen um spezialisierten synchronen dynamischen Direktzugriffsspeicher (SDRAM) für die Verwendung auf Graphikkarten handelt.
  • Ein andauerndes Problem für Speicherentwickler ist die Vergrößerung der Leistungsfähigkeit, d. h. der Geschwindigkeit, mit der Daten zu und vom Speicher transferiert werden. Dynamischer Direktzugriffsspeicher mit Doppeldatenrate (DDR DRAM) vergrößert die Leistungsfähigkeit, indem in einem einzigen Taktzyklus zwei Datenzugriffe vorgesehen werden, d. h. indem es dem Speicher ermöglicht wird, Daten sowohl an der ansteigenden als auch an der fallenden Flanke jedes Taktzyklus zu lesen. Dieses wesentliche Konzept des DDR DRAM wurde auf SDRAMs und SGRAMs erweitert, was zu DDR SDRAM und DDR SGRAM führt.
  • Eine Anzahl von Graphikkarten verwenden Graphik-Doppeldatenraten-(GDDR-)SGRAM. Der JEDEC (Joint Electron Devices Engineering Council) führt u. a. eine Spezifikation für GDDR4-SGRAM, die eine minimale Menge von Anforderungen für mit dem JEDEC-Standard kompatible GDDR4-SGRAM-Bausteine definiert. Lediglich zur Veranschaulichung wird auf Ballot Template Version draft rev. G der GDDR4-SGRAM-Spezifikation (im folgenden ”GDDR4-SGRAM-Spezifikation”) verwiesen, auf die hiermit ausdrücklich Bezug genommen wird.
  • Die GDDR4-SGRAM-Spezifikation definiert die Verwendung zweier unidirektionaler Daten-Strobe-Signale: eines Lesedaten-Strobe-Signals (RDQS) und eines Schreibdaten-Strobe-Signals (WDQS). Das RDQS ist ein durch den GDDR4-SGRAM während READ-Operationen gesendeter Daten-Strobe und ist mit Daten für READ-Operationenflanken synchronisiert. WDQS ist ein Daten-Strobe, der von einem Speichercontroller während WRITE-Operationen gesendet wird und ist mit Daten für WRITE-Operationen mittensynchronisiert.
  • Während eines Schreibzugriffs wird das erste gültige Dateneingangselement an der ansteigenden Flanke des WDQS im Anschluß an die Schreiblatenz (WL), die über das Modusregister (MR) programmierbar ist, registriert. Nachfolgende Datenelemente werden an sukzessiven Flanken des WDQS registriert. Gemäß der GDDR4-SGRAM-Spezifikation kann die WL von eins bis sieben Taktzyklen eingestellt werden.
  • Die Zeit zwischen dem WRITE-Befehl (d. h. an der ansteigenden Flanke des externen Takts (CLK)) und der ersten gültigen Flanke von WDQS wird als TDQSS bezeichnet. Gemäß der GDDR4-SGRAM-Spezifikation wird die TDQSS relativ zu der WL zwischen (WL –0,25 CLK) und (WL +0,25 CLK) spezifiziert.
  • Ein als GDDR5-SGRAM bekannter vorgeschlagener Graphikstandard definiert die TDQSS durch eine spezifische Entfernung (–500 bis +500 Picosekunden (ps)) von CLK. Dies stellt bei höheren Betriebsfrequenzen ein potentielles Problem dar, das bei GDDR4-SGRAM nicht auftritt. Zum Beispiel führt bei einer Betriebsfrequenz von 1,25 GHz die Toleranz von –500 ps bis +500 ps zu mehr als einem halben Taktzyklus in jeder Richtung. Bei einer Toleranz von mehr als einem halben Taktzyklus in jeder Richtung wird die Unterscheidung zwischen einer sehr frühen Phase (d. h. mehr als ein halber Taktzyklus) im Vergleich zu einer etwas zu späten Phase (d. h. weniger als ein Taktzyklus) oder zwischen einer sehr späten Phase (d. h. mehr als ein Taktzyklus) im Vergleich zu einer etwas zu frühen Phase (d. h. weniger als ein Taktzyklus) schwierig.
  • Die Druckschrift US 2005/0066142 A1 offenbart ein System zum Befördern von Daten mit hoher Geschwindigkeit über eine weite, quellensynchrone, parallele Verbindung zwischen einem Sender und einem Empfänger mit einem Empfangskerntakt.
  • Aus diesen und anderen Gründen wird die vorliegende Erfindung benötigt.
  • Kurzfassung
  • Eine Ausführungsform der vorliegenden Erfindung stellt einen Speicher bereit. Der Speicher enthält mehrere FIFO-Zellen (first-in-first-out), einen Ausgangszeigerzähler und einen Schreibtrainingsblock. Der Ausgangszeigerzähler dient zum Umschalten eines Werts eines FIFO-Ausgangszeigers zwischen den FIFO-Zellen. Der Schreibtrainingsblock dient zum Erzeugen von Informationen zum Verschieben des FIFO-Ausgangszeigers auf der Basis von aus den FIFO-Zellen gelesenen Daten.
  • Kurze Beschreibung der Zeichnungen
  • Die beigefügten Zeichnungen sollen ein weiteres Verständnis der vorliegenden Erfindung ermöglichen und sind in die vorliegende Beschreibung integriert und bilden einen Teil dieser. Die Zeichnungen stellen die Ausführungsformen der vorliegenden Erfindung dar und dienen zusammen mit der Beschreibung zur Erläuterung der Prinzipien der Erfindung. Andere Ausführungsformen der vorliegenden Erfindung und viele der beabsichtigten Vorteile der vorliegenden Erfindung werden ohne weiteres ersichtlich, wenn sie durch Bezugnahme auf die folgende ausführliche Beschreibung besser verständlich werden. Die Elemente der Zeichnungen sind nicht unbedingt maßstabsgetreu zueinander. Gleiche Bezugszahlen kennzeichnen entsprechende ähnliche Teile.
  • 1 ist ein Blockschaltbild einer Ausführungsform eines elektrischen Systems.
  • 2 ist ein Blockschaltbild einer Ausführungsform eines Speichers.
  • 3 ist ein Blockschaltbild einer Ausführungsform eines Ausgangszeigerzählers.
  • 4 ist ein Flußdiagramm einer Ausführungsform eines Schreibtrainingsprozesses.
  • 5 ist ein Impulsdiagramm einer Ausführungsform einer Operation eines Schreibbefehls.
  • 6 ist ein Diagramm einer Ausführungsform von Inhalt eines temporären Datenregisters.
  • 7 ist ein Diagramm einer Ausführungsform von Inhalt eines Ausgangszeigerregisters.
  • 8 ist ein Diagramm einer Ausführungsform eines Vergleichs zwischen einem temporären Datenregister und einem Ausgangszeigerregister.
  • 9 ist ein Flußdiagramm einer Ausführungsform eines Verfahrens zum Vergleichen eines temporären Datenregisters und eines Ausgangszeigerregisters.
  • 10 ist ein Diagramm einer Ausführungsform von Inhalt eines Ausgangszeigerregisters.
  • 11 ist ein Diagramm einer Ausführungsform eines Vergleichs zwischen einem temporären Datenregister und einem Ausgangszeigerregister.
  • 12 ist ein Impulsdiagramm einer Ausführungsform von Bitpositionierungsunbestimmtheit.
  • 13 ist ein Flußdiagramm einer Ausführungsform eines Verfahrens zum Beseitigen von Bitpositionierungsunbestimmtheit.
  • Ausführliche Beschreibung
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die Teil dieser bilden und die zur Veranschaulichung spezifischer Ausführungsformen gezeigt werden, in denen die Erfindung ausgeübt werden kann. In dieser Hinsicht wird Richtungsterminologie wie zum Beispiel ”oben”, ”unten”, ”vorne”, ”hinten”, ”vorderes”, ”hinteres” usw. mit Bezug auf die Orientierung der beschriebenen Figur(en) verwendet. Da Komponenten von Ausführungsformen der vorliegenden Erfindung in einer Anzahl verschiedener Orientierungen positioniert werden können, wird die Richtungsterminologie zum Zwecke der Veranschaulichung verwendet und ist auf keinerlei Weise einschränkend.
  • 1 ist ein Blockschaltbild einer Ausführungsform eines elektrischen Systems 100. Das elektrische System 100 enthält einen Controller 105 und einen Speicher 110. Der Controller 105 ist über einen Speicherkommunikationspfad 115 elektrisch an den Speicher 110 angekoppelt. Über den Speicherkommunikationspfad 115 liest der Controller 105 Daten aus dem Speicher 110 und schreibt Daten in diesen. Bei einer Ausführungsform ist das elektrische System 100 eine Videokarte. Bei einer Ausführungsform ist der Controller 105 ein Speichercontroller, der Videodaten aus dem Speicher 110 liest und/oder Videodaten in den Speicher 110 schreibt. Bei anderen Ausführungsformen kann das elektrische System 20 ein beliebiges geeignetes elektrisches System sein, und der Controller 105 kann ein beliebiger geeigneter Controller oder Steuerlogik sein.
  • Der Speicher 110 enthält einen Schreibtrainingsblock 120. Der Schreibtrainingsblock 120 synchronisiert ein Schreibdaten-Strobe-Signal WDQS durch Verlagern oder Verschieben eines Ausgangszeigers mit einem externen Takt CLK. Bei einer Ausführungsform ist der Speicher 110 ein GDDR5-SDRAM. Bei anderen Ausführungsformen ist der Speicher 100 ein beliebiger geeigneter RAM, wie zum Beispiel ein beliebiger geeigneter SDRAM.
  • 2 ist ein Blockschaltbild einer Ausführungsform eines Speichers 110. Der Speicher 110 enthält ein PAD 205, einen Empfanger-(RCV-)Block 210, sechs first-in-first-out- bzw. FIFO-Zellen 215 (die kollektiv als ”FIFO” bezeichnet werden), einen Eingangszeiger-(INP-)Zähler 220, einen Ausgangszeiger-(OUTP-)Zähler 225 und einen Schreibtrainingsblock 120.
  • Das PAD 205 ist über den Dateneingangsweg 230 elektrisch an den RCV-Block 210 angekoppelt. Der RCV-Block 210 ist über den internen Datenpfad 235 elektrisch an den FIFO 215 angekoppelt. Der INP-Zähler 220 ist über den Eingangsbuspfad 240 elektrisch an den FIFO 215 angekoppelt. Der OUTP-Zähler 225 ist über den parallelen Ausgangsbuspfad 245 elektrisch an den FIFO- 215 angekoppelt. Der FIFO 215 ist über einen Rückkopplungspfad 250 elektrisch an den Schreibtrainingsblock 120 angekoppelt. Der Schreibtrainingsblock 120 ist über den erweiterten Schreibpfad 255 und den Multiplexerinformationspfad 260 elektrisch an den OUTP-Zähler 225 angekoppelt.
  • Der Eingangsbuspfad 240 und der Ausgangsbuspfad 245 enthalten jeweils sechs Bitpfade, entsprechend sechs Zellen in dem FIFO 215. Nur einer der sechs Bitpfade ist jedoch zu einem gegebenen Zeitpunkt logisch hoch. Der Bitpfad, der logisch hoch ist, öffnet die entsprechende Zelle in dem FIFO 215 zum Laden von Daten.
  • Das PAD 205 sendet Daten DIN über den Dateneingangspfad 230 zu dem RCV-Block 210. Der RCV-Block 210 transformiert die Daten DIN auf der Basis eines speicherinternen Spannungspegels in interne Daten DIN_I. Der FIFO 215 empfängt die internen Daten DIN_I über den internen Datenpfad 235. Der Eingangszeigerzähler 220 empfängt das Schreibdaten-Strobe-Taktsignal WDQS bei 265. In den FIFO 215 ankommende Daten sind mit den Schreibdaten-Strobe-Taktsignal WDQS synchron. Der Eingangszeigerzähler 220 gibt den Eingangszeiger INP aus.
  • Der Eingangszeiger INP zeigt auf eine Zelle in dem FIFO 215 zum Laden von Daten. Das Schreibdaten-Strobe-Taktsignal WDQS triggert den Eingangszeiger INP. Der Eingangszeiger INP schaltet bei jeder ansteigenden Flanke des Schreibdaten-Strobe-Taktsignals WDQS von einer Zelle auf eine andere Zelle in den FIFO 215 um.
  • Der FIFO 215 transformiert die internen Daten DIN_I aus einer Zeitdomäne des Schreibdaten-Strobe-Taktsignals WDQS in eine Zeitdomäne des externen Taktsignals CLK. Dies ist wichtig, weil sich Befehle (z. B. zum Schreiben) in der Zeitdomäne des externen Taktsignals CLK befinden.
  • Jede Zelle in dem FIFO 215 speichert ein oder mehrere Bit. Bei einer Ausführungsform speichert der FIFO 215 vier Bit. Bei einer Ausführungsform enthält der FIFO 215 eines oder mehrere Master-Slave-Flipflops.
  • Der FIFO 215 ist groß genug, um eine Gesamtzahl von Taktzyklen zu berücksichtigen, die sich aus einer Schreiblatenz (WL), einer Burst-Länge (BL) und einer etwaigen Taktumbestimmtheit ergibt. Bei einer Ausführungsform ist bei einer gegebenen Schreiblatenz von zwei Takten (WL = 2), einer Burst-Länge von zwei Takten (BL = 2) und einer Taktunbestimmtheit von einem Takt der FIFO fünf Zellen tief (2 + 2 + 1).
  • In dem FIFO 215 gespeicherte Daten DOUT werden in eine oder mehrere Speichermatrizen in dem Speicher 110 bei 262 geschrieben. Die Daten DOUT werden außerdem über den Rückkopplungspfad 250 zu dem Schreibtrainingsblock 120 gesendet.
  • Der Ausgangszeigerzähler 225 empfängt das externe Taktsignal CLK bei 270. Abgehende Daten aus dem FIFO 215 sind mit dem externen Taktsignal CLK synchron. Der Ausgangszeigerzähler 225 gibt den Ausgangszeiger OUTP aus. Der Ausgangszeiger OUTP zeigt auf eine Zelle in dem FIFO 215 zum Ausgeben von Daten. Das externe Taktsignal CLK triggert den Ausgangszeiger OUTP. Der Ausgangszeiger OUTP schaltet bei jeder ansteigenden Flanke des externen Takts CLK von einer Zelle auf eine andere Zelle in dem FIFO 215 um. Der Ausgangszeiger OUTP wird außerdem durch den externen Takt CLK zu dem Schreibtrainingsblock 120 gelatcht.
  • Der Schreibtrainingsblock 120 empfängt ein Freigabe-Schreibtrainingssignal EN_WRITE_TRAINING bei 275 von dem Speichercontroller 105. Der Schreibtrainingsblock 120 empfängt einen Schreibbefehl WRITE bei 280 von dem Speichercontroller 105. Der Schreibtrainingsblock 120 empfängt außerdem das externe Taktsignal CLK bei 285. Das Freigabe-Schreibtrainingssignal EN_WRITE_TRAINING zeigt den Start eines Schreibtrainingsprozesses zum Synchronisieren des Schreibdaten-Strobe-Signals WDQS mit dem externen Takt CLK an. Bei einer Ausführungsform wird das Freigabe-Schreibtrainingssignal EN_WRITE_TRAINING in den erweiterten Modusregistersatz (EMRS) des Speichers 110 einprogrammiert.
  • Der Schreibtrainingsblock 120 transformiert den Schreibbefehl WRITE in den erweiterten Schreibbefehl WRITE_I. Der Schreibtrainingsblock 120 sendet den erweiterten Schreibbefehl WRITE_I über den erweiterten Schreibpfad 255 zu dem Ausgangszeigerzähler 225. Der erweiterte Schreibbefehl WRITE_I liest den gesamten FIFO 215 aus. Der Schreibtrainingsblock 120 sendet außerdem Multiplexerinformationen OUTP_MUX über den Multiplexerinformationspfad 260. Die Multiplexerinformationen OUTP_MUX geben Informationen für den Ausgangszeigerzähler 225 zum Verlagern oder Verschieben des Ausgangszeigers OUTP.
  • Bei einer Ausführungsform wird die Ausleseoperation des FIFO 215 durch Verwendung eines (nicht gezeigten) temporären Datenregisters erweitert, um Inhalt zu speichern, während er ausgelesen wird. Ohne das temporäre Datenregister wird der alte ausgelesene Inhalt aus dem FIFO 215 durch neuen ausgelesenen Inhalt aus dem FIFO 215 überschrieben. Bei einer Ausführungsform enthält der Speicher 110 ferner ein (nicht gezeigtes) Ausgangszeigerregister zum Speichern des Werts des Ausgangszeigers OUTP während des Anfangs der erweiterten Ausleseoperation.
  • 3 ist ein Blockschaltbild einer Ausführungsform eines Ausgangszeigerzählers. Der Ausgangszeigerzähler 225 enthält einen Zähler 305, einen Multiplexer 310 und einen Neusynchronisationsblock 315. Der Zähler 305 ist über den Multiplexerpfad 320 elektrisch mit dem Multiplexer 310 gekoppelt. Der Multiplexer 310 ist über den Neusynchronisationspfad 325 mit dem Neusynchronisationsblock 315 gekoppelt.
  • Der Zähler 305 empfängt das externe Taktsignal CLK bei 330. Der MUX 310 empfängt den aktuellen Ausgangszeiger OUTP_C von dem Zähler 305 über den Multiplexerpfad 320. Der MUX 310 empfängt Multiplexerinformationen OUTP_MUX aus dem Schreibtrainingsblock 120 über den Multiplexerinformationspfad 260. Auf der Basis der Multiplexerinformationen OUTP_MUX verlagert oder verschiebt der MUX 310 den aktuellen Ausgangszeiger OUTP_C und gibt den verwürfelten Ausgangszeiger OUTP_S aus. Der Neusynchronisationsblock 315 empfängt den verwürfelten Ausgangszeiger OUTP_S von dem MUX 310 über den Neusynchronisationspfad 325. Der Neusynchronisationsblock 315 empfängt außerdem das externe Taktsignal CLK bei 335. Der Neusynchronisationsblock 315 synchronisiert den verwürfelten Ausgangszeiger OUTP_S mit dem externen Taktsignal CLK und gibt den Ausgangszeiger OUTP bei 340 aus.
  • 4 ist ein Flußdiagramm einer Ausführungsform eines Schreibtrainingsprozesses. Bei einer Ausführungsform wird der Schreibtrainingsprozeß 400 durch den Speichercontroller 105 und den Schreibtrainingsblock 120 ausgeführt. Der Schreibtrainingsprozeß 400 bestimmt, ob das Schreibdaten-Strobe-Taktsignal WDQS in bezug auf das externe Taktsignal CLK synchronisiert ist. Wenn bestimmt wird, daß das Schreibdaten-Strobe-Taktsignal WDQS nicht in bezug auf das externe Taktsignal CLK synchronisiert ist, synchronisiert der Schreibtrainingsprozeß 400 das Schreibdaten-Strobe-Taktsignal WDQS mit dem externen Taktsignal CLK.
  • Der Schreibtrainingsprozeß 400 wird bei 405 eingeleitet. Bei einer Ausführungsform sendet der Speichercontroller 105 einen Befehl für den erweiterten Speicherregistersatz (EMRS) zur Einleitung bei 405 des Schreibtrainingsprozesses 400 zu dem Schreibtrainingsblock 120.
  • Bei 410 wird eine gegebene Anzahl von NOP-Operationen (no-operation) ausgeführt. Bei einer Ausführungsform leitet der Speichercontroller 105 NOP-Operationen über das PAD 205 ein. Jede NOP-Operation legt effektiv eine Reihe von Einsen (1en) in jede FIFO-Zelle ab. Bei einer Ausführungsform werden NOP-Operationen verwendet, um die FIFO-Zellen zurückzusetzen.
  • Bei 415 wird ein gegebenes Datenmuster in den FIFO 215 geschrieben. Bei einer Ausführungsform schreibt der Speichercontroller 105 das Datenmuster über das PAD 205. Bei einer Ausführungsform enthalt das Datenmuster eine Null (0), um das Datenmuster von den Einsen (1en) zu unterscheiden, die durch die NOP-Operationen in den FIFO 215 geschrieben werden. Bei einer Ausführungsform wird bei einer gegebenen Burst-Länge von acht (BL = 8) ein Datenmuster von ”1101 1111” in den FIFO 215 eingefügt.
  • Bei 420 wird bestimmt, ob das Datenmuster in der korrekten Position registriert ist. Bei einer Ausführungsform erfolgt die Bestimmung bei 420, ob das Datenmuster in der korrekten Position registriert ist, durch Analysieren des gesamten Inhalts des FIFO 215 (der z. B. durch ein vollständiges Auslesen des FIFO 215 beschafft wird) zusammen mit der Adresse des Ausgangszeigers OUTP am Anfang der Ausleseoperation.
  • Während des Schreibtrainingsprozesses 400 wird der FIFO 215 vollständig ausgelesen, um zu bestimmen, ob das Datenmuster in der korrekten Position registriert ist. Während eines typischen Schreibbefehls WRITE sind die einzigen Zellen in dem FIFO 215, die ausgelesen werden, die Zellen, in die durch den Schreibbefehl WRITE geschrieben wird. Um den gesamten FIFO auszulesen, wird ein erweiterter Schreibbefehl WRITE_I verwendet.
  • Wenn sich das Datenmuster in einer falschen Position befindet, wird der Ausgangszeiger OUTP bei 425 korrigiert. Bei einer Ausführungsform wird der Ausgangszeiger OUTP verlagert. Bei einer anderen Ausführungsform wird der Ausgangszeiger OUTP verschoben. Bei einer Ausführungsform wird der Ausgangszeiger OUTP durch den Ausgangszeigerzähler 225 verschoben. Bei einer Ausführungsform wird in den Blöcken 420 und 425 eine gegebene Anzahl von NOP-Operationen ausgeführt. Die Blöcke 415 bis 425 werden wiederholt, bis bei 420 bestimmt wird, daß das Datenmuster in der korrekten Position registriert ist. Zu diesem Zeitpunkt ist der Schreibtrainingsprozeß 400 bei 430 beendet. Bei einer Ausführungsform sendet der Speichercontroller 105 einen EMRS-Befehl zu dem Schreibtrainingsblock 120, um den Schreibtrainingsprozeß 400 bei 430 zu beenden.
  • 5 ist ein Impulsdiagramm der Funktionsweise eines Schreibbefehls. Das Impulsdiagramm 500 enthält ein Differenz-Taktpaar CLK# 505 und CLK 510, ein Befehls-(Com.-)Signal 515, ein kontinuierliches Schreibdaten-Strobe-Taktsignal WDQS 520, ein Daten-(DQ-)Signal 525 und ein Ausgangszeiger-OUTP-Signal 530.
  • Bei externem Takt CLK auf null (CLK 0) leitet der Speichercontroller 105 einen Schreibbefehl (WR) 535 in dem Speicher 110 ein. Bei diesem Beispiel besitzt der Speicher 110 eine Schreiblatenz 540 von zwei Taktzyklen (WL = 2) und eine Burst-Länge 545 von acht Bit (BL = 8), die ungefähr zwei Taktzyklen des externen Taktsignals CLK 510 dauert. Nach der Schreiblatenz 540 werden die Daten DQ 525 beginnend bei 550 bei externem Takt CLK zwei (CLK 2) in den FIFO 215 geschrieben. Es werden vier Bit der Daten DQ 525 an aufeinanderfolgenden ansteigenden Flanken des Schreibdaten-Strobe-Signals WDQS 520 beginnend bei 555 in den FIFO 215 geschrieben. Bei diesem Beispiel wird das Datenmuster ”1101 1111” in den FIFO 215 geschrieben. Wenn der FIFO 215 zum Beispiel vier Bit in jeder Zelle speichert, wird in einer Zelle ”1101” und in einer anderen Zelle ”1111” gespeichert. Die Bestimmung, in welche Zellen in den FIFO 215 geschrieben wird, wird durch den Eingangszeiger INP bestimmt.
  • Der Ausgangszeiger OUTP 530 ändert sich bei jeder ansteigenden Flanke des externen Taktsignals 510. Bei externem Takt CLK vier (CLK 4) zeigt der Ausgangszeiger OUTP 530 auf die Zelle null (0) 560. Daten werden beginnend mit der Zelle null (0) 560 aus dem FIFO 215 ausgelesen.
  • 6 ist ein Diagramm von Inhalt eines temporären Datenregisters. Das temporäre Datenregister 600 speichert die aus dem FIFO 215 ausgelesenen Inhalte. Bei einer Ausführungsform enthält das temporäre Datenregister 600 eine der Tiefe des FIFO 215 entsprechende Anzahl von Bit. Bei diesem Beispiel enthält das temporäre Datenregister 600 sechs Bit, entsprechend sechs Zellen in dem FIFO 215.
  • Jeder Wert des temporären Datenregisters 600 repräsentiert eine Zelle in dem FIFO 215. Das heißt, obwohl jedes Zelle in dem FIFO 215 mehr als ein Bit enthalten kann, werden etwaige mehrfache Bit zu einem einzigen Bit, null (0) oder eins (1)) vereinfacht. Wie nachfolgend ausführlicher mit Bezug auf 12 beschrieben werden wird, gibt eine Eins (1) an, daß eine Zelle in dem FIFO 215 Bit von durchweg eins (1) enthält, und eine Null (0) zeigt an, daß die Zelle in dem FIFO 215 ein Bit von null (0) enthält. Deshalb zeigen Werte des temporären Datenregisters 600 von [1, 1, 0, 1, 1, 1] an, daß die erste Zelle 605, die zweite Zelle 610, die vierte Zelle 620, die fünfte Zelle 630 und die sechste Zelle 635 in dem FIFO 215 durchweg Einsen (1en) enthalten und daß die dritte Zelle 615 in dem FIFO 215 eine Null (0) enthält.
  • 7 ist ein Diagramm von Inhalt eines Ausgangszeigerregisters. Das Ausgangszeigerregister 700 speichert den Wert des Ausgangszeigers OUTP während des Anfangs der erweiterten Ausleseoperation. Das Ausgangszeigerregisters 700 enthält die Werte [0, 0, 0, 1, 0, 0].
  • 8 ist ein Diagramm einer Ausführungsform eines Vergleichs zwischen einem temporären Datenregister und einem Ausgangszeigerregister. 9 ist ein Flußdiagramm einer Ausführungsform eines Verfahrens zum Vergleichen eines temporären Daten- und eines Ausgangszeigerregisters. 8 wird in Verbindung mit 9 beschrieben.
  • Der Inhalt des temporären Datenregisters 600 wird bei 905 invertiert. Der invertierte Inhalt 805 enthält die Werte [0, 0, 1, 0, 0, 0]. Der Ausgangszeigerregisterinhalt 810 enthält die Werte [0, 0, 0, 1, 0, 0]. Bei 910 wird eine logische AND-Verknüpfung 815 mit dem invertierten Inhalt 805 und dem Ausgangszeigerregisterinhalt 810 durchgeführt. Das Ergebnis 820 der logischen AND-Verknüpfung ist [0, 0, 0, 0, 0]. Die Reihe von Nullen (0en) ohne eine Eins (1) zeigt an, daß sich das Datenmuster (d. h. das in dem Schreibtrainingsprozeß 400 verwendete Datenmuster) nicht in der korrekten und geschätzten Position in dem FIFO 215 befindet.
  • 10 ist ein Diagramm einer Ausfuhrungsform von Inhalt eines Ausgangszeigerregisters. Das Ausgangszeigerregister 1000 enthält den Wert des Ausgangszeigers OUTP, nachdem er durch den MUX 310 verschoben wurde. Das Ausgangszeigerregister 1000 enthält die Werte [0, 0, 1, 0, 0, 0].
  • 11 ist ein Diagramm einer Ausführungsform eines Vergleichs zwischen einem temporären Datenregister und einem Ausgangszeigerregister. Es wird wieder das temporäre Datenregister 600 verwendet, weil sich die TDQSS nicht ändert.
  • Bei 905 wird der Inhalt des temporären Datenregisters 600 invertiert. Der invertierte Inhalt 805 enthält die Werte [0, 0, 1, 0, 0, 0]. Der Ausgangszeigerregisterinhalt 910 enthält die Werte [0, 0, 1, 0, 0, 0]. Bei 910 wird eine logische AND-Verknüpfung 815 mit dem invertierten Inhalt 805 und dem Ausgangszeigerregisterinhalt 910 durchgeführt. Das Ergebnis 920 der logischen AND-Verknüpfung ist [0, 0, 1, 0, 0, 0]. Die Eins (1) zeigt an, daß sich das Datenmuster in der korrekten Position in dem FIFO 215 befindet. Somit wird die korrekte Beziehung zwischen dem Eingangszeiger INP und dem Ausgangszeiger OUTP bestimmt. Bei einer Ausführungsform wird die Einstellung des MUX 310 in einem Register gespeichert und der Schreibtrainingsprozeß 400 wird bei 430 beendet.
  • Wie oben mit Bezug auf 6 beschrieben wurde, enthält das temporäre Datenregister 600 eine vereinfachte Ansicht jeder Zelle in dem FIFO 215. Das heißt, ungeachtet der Anzahl der in jeder Zelle in dem FIFO 215 enthaltenen Bit assoziiert das temporäre Datenregister 600 nur ein einziges Bit mit jeder Zelle.
  • Ein potentielles Problem während Schreibzugriffen ist die Ungenauigkeit der Bitposition. 12 ist ein Impulsdiagramm einer Auführungsform von Bitpositionierungsunbestimmtheit. Das Impulsdiagramm 1200 stellt ein WDQS-Signal 1205 dar. Das Impulsdiagramm 1200 zeigt ferner ein synchronisiertes Daten-DQ-Signal 1210, das mit dem WDQS-Signal 1205 synchronisiert ist und ein fehlsynchronisiertes Daten-DQ-Signal 1215, das relativ zu dem WDQS-Signal 1205 fehlsynchronisiert ist. Bei diesem Beispiel ist eine ansteigende Flanke 1220 des WDQS-Signals 1205 mit ”1101” des synchronisierten Daten-DQ-Signals 1210 synchronisiert. Die ansteigende Flanke 1220 des WDQS-Signals 1205 ist jedoch mit ”1011” des fehlsynchronisierten Daten-DQ-Signals 1215 fehlsynchronisiert. Das heißt, die erste Eins (1) 1225 geht verloren.
  • 13 ist ein Flußdiagramm einer Ausführungsform eines Verfahrens zum Beseitigen von Bitpositionsunbestimmtheit. Bei 1305 werden die in einer Zelle in dem FIFO 215 gespeicherten Bit invertiert. Bei 1310 wird eine logische OR-Verknüpfung an dem invertierten Bit ausgeführt. Das Ergebnis der logischen OR-Operation (d. h. eine Null oder Eins) wird bei 1315 in dem temporären Datenregister 600 gespeichert.
  • Wenn eine Zelle in dem FIFO 215 zum Beispiel ”1111” enthält, ist der invertierte Wert ”0000”. Das Ergebnis einer logischen OR-Verknüpfung an ”0000” ist eine Null (0). Als ein weiteres Beispiel ist, wenn eine Zelle in dem FIFO 215 ”1011” enthält, der invertierte Wert ”0100”. Das Ergebnis einer logischen OR-Verknüpfung an ”0100” ist eine Eins (1).

Claims (17)

  1. Speicher, umfassend: mehrere first-in-first-out- bzw. FIFO-Zellen; einen Ausgangszeigerzähler zum Umschalten eines Werts eines FIFO-Ausgangszeigers unter den FIFO-Zellen; und einen Schreibtrainingsblock zum Erzeugen von Informationen zum Verlagern des FIFO-Ausgangszeigers auf der Basis von aus den FIFO-Zellen gelesenen Daten, wobei der Schreibtrainingsblock den Wert des FIFO-Ausgangszeigers und aus den FIFO-Zellen ausgelesene Daten empfängt.
  2. Speicher nach Anspruch 1, ferner umfassend: einen Eingangszeigerzähler zum Umschalten eines Werts eines FIFO-Eingangszeigers unter den FIFO-Zellen.
  3. Speicher nach einem der vorherigen Ansprüche, wobei der Schreibtrainingsblock den Speicher zwischen einem Normalmodus mit einem normalen Schreibzyklus und einem Schreibtrainingsmodus mit einem erweiterten Schreibzyklus umschaltet.
  4. Speicher nach einem der vorhergehenden Ansprüche, wobei eine TDQSS des Speichers einen Bereich vom mehr als einen halben Taktzyklus zu früh oder zu spät aufweist.
  5. Speicher, umfassend: mehrere first-in-first-out- bzw. FIFO-Zellen zum Annehmen eines Datenmusters; einen Ausgangszeigerzähler zum Umschalten eines Werts eines FIFO-Ausgangszeigers unter den FIFO-Zellen als Reaktion auf einen externen Takt; und einen Schreibtrainingsblock zum Erweitern eines Schreibzyklus zum Auslesen aller der FIFO-Zellen, zum Bestimmen, ob sich das Datenmuster in einer korrekten Position in den FIFO-Zellen befindet, und zum Erzeugen von Informationen zum Verlagern des FIFO-Ausgangszeigers von einer FIFO-Zelle zu einer anderen FIFO-Zelle, wenn bestimmt wird, daß sich das Datenmuster in der falschen Position befindet, wobei der Schreibtrainingsblock als Eingabe den Wert des FIFO-Ausgangszeigers und aus den FIFO-Zellen ausgelesene Daten annimmt.
  6. Speicher nach Anspruch 5, ferner umfassend: einen Eingangszeigerzähler zum Umschalten eines Werts eines FIFO-Eingangszeigers unter den FIFO-Zellen als Reaktion auf ein Schreibdaten-Strobe-Taktsignal.
  7. Speicher nach einem der Ansprüche 5 oder 6, wobei der Schreibtrainingsblock den Speicher zwischen einem Normalmodus mit einem normalen Schreibzyklus und einem Schreibtrainingsmodus mit einem erweiterten Schreibzyklus umschaltet.
  8. Speicher nach einem der Ansprüche 5 bis 7, wobei eine TDQSS des Speichers einen Bereich von mehr als einem halben Taktzyklus zu früh oder zu spät aufweist.
  9. Verfahren zum Synchronisieren eines Schreibdaten-Strobe-Taktsignals mit einem externen Taktsignal, umfassend: (a) Schreiben eines Datenmusters in einen ersten first-in-first-out- bzw. FIFO-Puffer; (b) Bestimmen, ob sich das Datenmuster in bezug auf einen externen Takt in einer korrekten Speicherstelle in dem FIFO-Puffer befindet; (c) Verlagern eines FIFO-Ausgangszeigers, wenn bestimmt wird, daß sich das Datenmuster in einer falschen Speicherstelle in dem FIFO-Puffer befindet, und (d) Auslesen des gesamten Inhalts des FIFO-Puffers.
  10. Verfahren nach Anspruch 9, ferner umfassend: Ausführen mehrerer No-Operation- bzw. NOP-Operationen zum Zurücksetzen des FIFO-Puffers.
  11. Verfahren nach Anspruch 9 oder 10, wobei das Schreiben des Datenmusters folgendes umfaßt: Schreiben eines Datenmusters, das mehrere Einsen und nur eine einzige Null umfaßt.
  12. Verfahren nach einem der Ansprüche 9 bis 11, ferner umfassend: Empfangen eines Startbefehls aus einem erweiterten Speicherregistersatz (EMRS).
  13. Verfahren nach einem der Ansprüche 9, 11 oder 12, umfassend: Wiederholen von (a), (b) und (c), bis bestimmt wird, daß sich das Datenmuster in der korrekten Speicherstelle befindet.
  14. Direktzugriffsspeicher, umfassend: Mittel zum Schreiben eines Datenmusters in einen ersten first-in-first-out- bzw. FIFO-Puffer; Mittel zum Bestimmen, ob sich das Datenmuster in bezug auf einen externen Takt in einer korrekten Speicherstelle in dem FIFO-Puffer befindet; Mittel zum Verlagern eines FIFO-Ausgangszeigers, wenn bestimmt wird, daß sich das Datenmuster in einer falschen Speicherstelle in dem FIFO-Puffer befindet; und Mittel zum Auslesen des gesamten Inhalts des FIFO-Puffers.
  15. Direktzugriffsspeicher nach Anspruch 14, ferner umfassend: Mittel zum Ausführen mehrerer No-Operation- bzw. NOP-Operationen zum Zurücksetzen des FIFO-Puffers.
  16. Direktzugriffsspeicher nach Anspruch 14 oder 15, wobei die Mittel zum Schreiben des Datenmusters folgendes umfassen: Mittel zum Schreiben eines Datenmusters, das mehrere Einsen und nur eine einzige Null umfaßt.
  17. Direktzugriffsspeicher nach einem der Ansprüche 14 bis 16, ferner umfassend: Mittel zum Empfangen eines Startbefehls aus einem erweiterten Speicherregistersatz (EMRS).
DE102007013761.5A 2006-03-22 2007-03-22 Speicher mit einem Schreibtrainingsblock Expired - Fee Related DE102007013761B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/386,360 2006-03-22
US11/386,360 US7415569B2 (en) 2006-03-22 2006-03-22 Memory including a write training block

Publications (2)

Publication Number Publication Date
DE102007013761A1 DE102007013761A1 (de) 2007-11-15
DE102007013761B4 true DE102007013761B4 (de) 2017-05-11

Family

ID=38534945

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007013761.5A Expired - Fee Related DE102007013761B4 (de) 2006-03-22 2007-03-22 Speicher mit einem Schreibtrainingsblock

Country Status (2)

Country Link
US (1) US7415569B2 (de)
DE (1) DE102007013761B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791456B1 (ko) 2010-10-11 2017-11-21 삼성전자주식회사 라이트 트레이닝 방법 및 이를 수행하는 반도체 장치
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
KR102353027B1 (ko) * 2017-07-03 2022-01-20 삼성전자주식회사 스토리지 장치의 데이터 트레이닝 방법
KR20190046491A (ko) 2017-10-26 2019-05-07 삼성전자주식회사 반도체 메모리, 반도체 메모리를 포함하는 메모리 시스템, 그리고 반도체 메모리의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066142A1 (en) * 2003-06-16 2005-03-24 Cisco Technology, Inc. (A California Corporation) Method and apparatus for aligning data in a wide, high-speed, source synchronous parallel link

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10203893B4 (de) 2002-01-31 2004-01-15 Infineon Technologies Ag DDR-Speicher und Speicherverfahren
US7082504B2 (en) * 2002-07-19 2006-07-25 Edmundo Rojas Method and apparatus for asynchronous read control
JP2004062630A (ja) 2002-07-30 2004-02-26 Fujitsu Ltd Fifoメモリ及び半導体装置
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7315600B2 (en) 2004-03-30 2008-01-01 Arm Limited Asynchronous FIFO apparatus and method for passing data between a first clock domain and a second clock domain and a second clock domain of a data processing apparatus
DE102004021694B4 (de) 2004-04-30 2010-03-11 Qimonda Ag Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7230858B2 (en) * 2005-06-28 2007-06-12 Infineon Technologies Ag Dual frequency first-in-first-out structure
US7203127B1 (en) * 2005-09-29 2007-04-10 Infineon Technologies Ag Apparatus and method for dynamically controlling data transfer in memory device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066142A1 (en) * 2003-06-16 2005-03-24 Cisco Technology, Inc. (A California Corporation) Method and apparatus for aligning data in a wide, high-speed, source synchronous parallel link

Also Published As

Publication number Publication date
US7415569B2 (en) 2008-08-19
US20070226429A1 (en) 2007-09-27
DE102007013761A1 (de) 2007-11-15

Similar Documents

Publication Publication Date Title
DE4432217C2 (de) Halbleiterspeichereinrichtung
DE69923634T2 (de) Synchrone Burstzugriffshalbleiterspeicheranordnung
DE69830962T2 (de) Integrierte Halbleiterschaltungsanordnung
DE102004021694B4 (de) Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
DE102019118638A1 (de) Ein-Chip-System, das ein Training des Tastgrades des Schreibtakts unter Verwendung eines Modus-Register-Schreibbefehls durchführt, Betriebsverfahren des Ein-Chip-Systems, elektronische Vorrichtung mit dem Ein-Chip-System
DE19932683A1 (de) Halbleiterspeicher
DE102006028683A1 (de) Parallele Datenpfadarchitektur
DE19830111A1 (de) Integrierter Speicher
DE19823931C2 (de) Testmustergeneratorschaltung für ein IC-Testgerät
DE10209398A1 (de) Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite
DE19941196A1 (de) Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern
DE102014107661A1 (de) Kontinuierliches Einstellen einer Präambel-Freigabe-Zeitsteuerung in einer Schnittstelle einer Speichereinrichtung mit doppelter Datenrate
DE102006030373A1 (de) Halbleiterspeichervorrichtung
DE102006035870A1 (de) Halbleiterspeicher mit gemeinsam genutzter Schnittstelle
DE102004060348A1 (de) Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben
DE102007013761B4 (de) Speicher mit einem Schreibtrainingsblock
DE102005003863A1 (de) Speichervorrichtung mit Nicht-Variabler Schreiblatenz
DE19954564B4 (de) Steuerungsschaltung für die CAS-Verzögerung
DE10326774A1 (de) Auf-Chip Erfassung der Systemoperationsfrequenz in einem DRAM, um DRAM-Operationen einzustellen
DE68929482T2 (de) Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet
DE102006022124A1 (de) Eingangsschaltung mit aktualisiertem Ausgangssignal, das mit Taktsignal synchronisiert ist
DE102007013760B4 (de) Speichervorrichtung und Verfahren zum Synchronisieren eines Schreibdaten-Strobe-Taktsignals
DE102006060803B4 (de) Schreib-Burst-Stoppfunktion in einem leistungsarmen DDR-SDRAM
US20070245096A1 (en) Finding a data pattern in a memory
DE102004015868A1 (de) Rekonstruktion der Signalzeitgebung in integrierten Schaltungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee