DE102005053916B4 - Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher - Google Patents

Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher Download PDF

Info

Publication number
DE102005053916B4
DE102005053916B4 DE102005053916A DE102005053916A DE102005053916B4 DE 102005053916 B4 DE102005053916 B4 DE 102005053916B4 DE 102005053916 A DE102005053916 A DE 102005053916A DE 102005053916 A DE102005053916 A DE 102005053916A DE 102005053916 B4 DE102005053916 B4 DE 102005053916B4
Authority
DE
Germany
Prior art keywords
fifo
write
wdqs
data
signal
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
DE102005053916A
Other languages
English (en)
Other versions
DE102005053916A1 (de
Inventor
Stefan Dietrich
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.)
Qimonda AG
Original Assignee
Qimonda AG
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 Qimonda AG filed Critical Qimonda AG
Priority to DE102005053916A priority Critical patent/DE102005053916B4/de
Priority to US11/593,236 priority patent/US7443762B2/en
Publication of DE102005053916A1 publication Critical patent/DE102005053916A1/de
Application granted granted Critical
Publication of DE102005053916B4 publication Critical patent/DE102005053916B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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/1093Input synchronization

Abstract

Synchronisationsschaltung (10) zur Behandlung und Synchronisation eines Schreibvorgangs auf einen Halbleiterspeicher, insbesondere einen DDR-Graphikspeicher, bei dem ein Schreibvorgang mehrere Schreibbefehle (WR) enthält,
mit einem durch ein WDQS-Signal (WDQS) getakteten steuerbaren ersten FIFO (11), in welchem Schreibdaten (DQ) aufgrund eines oder mehrerer aufeinander folgender Schreibbefehle (WR) abgelegt sind,
mit einem durch ein internes Taktsignal (CLK) getakteten steuerbaren zweiten FIFO (12), in welchem bei einem Schreibvorgang die Adressen (AX, AY) lediglich der im ersten FIFO (11) abgelegten gültigen Schreibdaten (DQ) abgelegt sind, wobei die Adressen (AX, AY) anzeigen, an welcher Stelle des ersten FIFOs (11) diese Schreibdaten (DQ) abgelegt sind.

Description

  • Die Erfindung betrifft eine Synchronisationsschaltung zur Behandlung und Synchronisation eines Schreibvorgangs auf einen Halbleiterspeicher, insbesondere einen DDR-Graphikspeicher.
  • Bei modernen Computer- und Software-Anwendungen besteht zunehmend der Bedarf, immer größere Datenmengen in immer kürzerer Zeit zu verarbeiten. Zur Speicherung der Daten werden hochintegrierte Speicher, wie zum Beispiel DRAM-Speicher, verwendet. Um nun dem Bedarf einer immer höheren Geschwindigkeit bei der Verarbeitung von Daten gerecht zu werden, müssen die Daten entsprechend schnell in den Speicher geschrieben werden bzw. wieder aus diesem Speicher herausgelesen werden. Dies lässt sich zum Beispiel mit einer immer weiter steigenden Betriebsfrequenz, mit der die Daten aus einem oder in einen Halbleiterspeicher gelesen bzw. geschrieben werden können, realisieren.
  • Eine weitere Möglichkeit besteht in der Verwendung speziell für hohe Datenraten ausgelegten Halbleiterspeichern. Ein Vertreter eines solchen Halbleiterspeichers ist der so genannte DDR-DRAM-Speicher, wobei DDR für "Double Data Rate" steht. Obwohl auf beliebige Halbleiterspeicher anwendbar, werden die vorliegende Erfindung sowie die ihr zugrunde liegende Problematik nachfolgend mit Bezug auf DDR-DRAM-Halbleiterspeicher und hier insbesondere auf solche Graphikspeicher erläutert. Während bei herkömmlichen Halbleiterspeichern Schreib- und Leseoperationen nur bei der ansteigenden oder bei der abfallenden Flanke eines Taktsignals vorgenommen werden, werden bei den genannten DDR-Halbleiterspeichern Daten sowohl bei der ansteigenden als auch bei der abfallenden Flanke eines Taktsignals aus dem Halbleiterspeicher ausgelesen bzw. wieder in den Speicher geschrieben. Diese Halbleiterspeicher zeichnen sich also durch eine doppelte Datenrate aus.
  • Zukünftige DDR-Graphikspeicher der 3. Generation (G-DDR-III) weisen eine verbesserte Leistungsfähigkeit auf. Der G-DDR-III-Spezifikation zufolge ist es nun erlaubt, Serien von Schreibbefehlen an den Graphikspeicher zu senden, wobei zumindest ein so genannter NOP-Befehl (NOP = No Operation) zwischen zwei aufeinanderfolgenden Schreibbefehlen WR vorgesehen sein muss. 1 zeigt ein Ablaufdiagramm für einen G-DDR-III-Schreibzugriff, bei dem für eine Serie von zwei Schreibbefehlen WR zunächst ein erster Schreibbefehl WR und anschließend ein zweiter Schreibbefehl WR abgearbeitet wird. Mit WL ist hier die Schreiblatenz bezeichnet.
  • Im Falle eines G-DDR-III-Speichers ist die Burst-Länge auf 4 festgelegt, das heißt innerhalb eines Datenbursts der Dauer von zwei Takten (WL = 2) des Taktsignals CLK werden vier Datenpakete D00–D03, D10–D13 parallel verarbeitet. Nach Ende eines jeweiligen Schreibbefehls WR steht der Zähler jeweils auf CS = "0". Die Steuerung des Schreibzugriffs wird von dem Taktsignal CLK oder einem davon abgeleiteten Steuersignal WDQS vorgenommen. Bei diesem Steuersignal WDQS handelt es sich um das Datenstrobe-Schreibtaktsteuersignal WDQS, nachfolgend auch als Schreibtaktsteuersignal WDQS oder kurz WDQS-Signal WDQS bezeichnet. Bei einer ersten fallenden Flanke des WDQS-Signals WDQS wird der Zähler gestartet. Diese Flanke des WDQS-Signals WDQS wird auch als Präambel PR bezeichnet. Bei jeder nachfolgenden ansteigenden oder abfallenden Flanke des WDQS-Signals WDQS wird jeweils ein Datenpaket D00–D03 eines ersten Datenbursts DB1 gelatcht, das heißt in einen Zwischenspeicher geschrieben. Das bedeutet, dass bei einem Zählerstand "4" das jeweils letzte Datenpaket D03 des ersten Datenbursts DB1 gelatcht wird. Die nachfolgende, dem Zählerstand "5" entsprechende ansteigende Flanke des WDQS-Signals WDQS wird auch als Postambel PO bezeichnet. Bei der Postambel PO wird der Zähler von "5" auf "0" zurück gesetzt.
  • Der Zählerstand bleibt dann solange auf "0", bis über einen zweiten Schreibbefehl WR ein weiterer Schreibzugriff signalisiert wird, um Datenpakete D10–D13 eines nachfolgenden zweiten Datenbursts DB2 zu latchen.
  • Ein für den Zähler kritischer Fall ergibt sich bei einem Schreibzugriff, bei dem zwischen zwei aufeinanderfolgenden Schreibbefehlen WR jeweils nur ein einziger NOP-Befehl (NOP = No Operation) vorhanden ist, das heißt für die Befehlsfolge WR, NOP, WR, NOP, etc. Eine derartige Folge mit lediglich einem NOP-Befehl NOP zwischen zwei Schreibbefehlen WR wird nachfolgend auch als "Gapless"-Schreibbefehl bezeichnet, da hier die Daten zweier aufeinander folgender Datenbursts in Form eines kontinuierlichen Datenstroms in den Graphikspeicher geschrieben werden sollen. 2 zeigt ein Ablaufdiagramm zur Darstellung dieses kritischen Falls im Falle dreier aufeinander folgender Gapless-Schreibbefehle. Problematisch ist hier, dass jeweils die letzte ansteigende Flanke, also die Postambel PO, welche dem letzten Datenpaket D03 des Datenbursts DB1 zugeordnet ist, und die erste abfallende Flanke, also die Präambel PR, welche dem ersten Datenpaket D10 des nachfolgenden Datenbursts DB2 zugeordnet ist, sich überlappen. Damit ist eine eindeutige Unterscheidung der Datenpakete D00–D03, D10–D13 zweier aufeinander folgender Datenbursts DB1, DB2 nicht mehr möglich.
  • Das Problem offenbart sich vor allem bei dem Zähler bzw. dessen Zählerstand. Entsprechend dem Zählerstand würde der Zähler die Flanke des WDQS-Signals WDQS des zweiten Datenbursts DB2 hier als Präambel PR interpretieren, obwohl die Präambel PR dieses Datenbursts DB2 tatsächlich bereits einen Takt vorher vorhanden war. Analogerweise wäre das Zählerausgangssignal beim dritten Gapless-Schreibbefehl, also beim dritten Datenburst DB3, entsprechend zwei Takte zu spät. Insbesondere bei einer großen Anzahl solcher aufeinander folgender Gapless-Schreibbefehlen WR kommt es dann zwangsläufig zu einer zunehmenden Verschiebung des Zählerausgangssignals mit der Folge, dass die einzelnen Datenpakete Dx0–Dx3 der verschiedenen Datenbursts DBx nicht mehr ordnungsgemäß gelatcht werden und damit nicht mehr ordnungsgemäß in den Speicher geschrieben werden können.
  • In der nach-veröffentlichten Deutschen Patentanmeldung mit dem Aktenzeichen DE 10 2004 021 694.0-55 ist ein Verfahren zum Steuern eines Schreibzugriffs und zur Behandlung solcher Konflikte bei Gapless-Schreibbefehlen beschrieben. Dort ist ein Zähler zum Zählen der WDQS-Flanken sowie eine Logikschaltung vorgesehen, die Gapless-Schreibbefehle anhand der detektierten Kommandofolgen erkennt und ein Steuersignal (bzw. Steuerflag) setzt, welches das Vorhandensein eines Gapless-Schreibbefehls anzeigt. Bei Vorhandensein des Steuerflags wird der Zähler dazu veranlasst, zwei Flanken des WDQS-Signals weniger zu zählen, als dies für herkömmliche, also nicht Gapless-Schreibbefehle (so genannte Gapped-Schreibbefehle) der Fall ist.
  • Problematisch hieran ist allerdings, dass dieses Steuerflag synchron zum chipinternen Takt CLK ist und das WDQS-Signal synchron zu den Schreibdaten DQ ist. Da somit das WDQS-Signal asynchron zu dem internen Taktsignal ist, kann es zu einer Schwankung zwischen dem Takt des WDQS-Signals und des internen Taktsignals kommen. Laut der G-DDR-III-Spezifikation dürften sich die Phasen des WDQS-Signals und des internen Taktsignals um bis zu einem halben Takt unterscheiden. Bei Betriebsfrequenzen des DRAM-Halbleiterspeichers bis in den MHz-Bereich lässt sich dies auch mehr oder weniger problemlos realisieren. Problematisch ist diese Forderung allerdings für Betriebsfrequenzen im hohen MHz-Bereich und ab dem GHz-Bereich, da dort der Unterschied zwischen den Phasen des WDQS-Signals und des internen Taktsignals sich zunehmend vergrößern kann. Zudem spielen dort Laufzeitunterschiede zunehmend eine Rolle.
  • Die US 6,337,809 B1 beschreibt einen DDR-SDRAM-Halbleiterspeicher, der ein Adress-FIFO und ein Daten-FIFO aufweist. Das Daten-FIFO dient hier dem Zweck, Daten solange aufzuheben, bis eine Leseoperation, die den internen Datenbus zwischen Daten-FIFO und Speicherzellenfeld belegt, abgeschlossen ist. Auf diese Weise wird eine interne Datenkollision verhindert und der externe Datenfluss optimiert. Das Daten-FIFO sendet also immer nur dann Daten zu dem Speicherzellenfeld des Halbleiterspeichers, wenn der interne Datenbus gerade nicht durch einen Lesezugriff belegt wird. Gleichzeitig werden die Adressen, die zu einem Schreibzugriff gehören, abgesendet. Der Selektor prüft, ob die Adresse des Lese- und Schreibzugriffs gleich sind, und sendet dann zusätzlich zu den von dem Daten-FIFO an das Speicherzellenfeld zu sendende Schreibdaten die selben Daten von dem Daten-FIFO zu einem externen Controller. Da die Lesedaten für diesen Spezialfall mit den Schreibdaten identisch sind, kann insgesamt ein Lesezugriff auf das Speicherzellenfeld eingespart werden.
  • Vor diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine verbesserte Steuerung bei der Behandlung von Schreibbefehlen, insbesondere bei sehr hohen Betriebsfrequenzen, zu ermöglichen.
  • Erfindungsgemäß wird zumindest eine dieser Aufgaben durch eine Synchronisationsschaltung mit den Merkmalen des Patentanspruchs 1 gelöst.
  • Demgemäß ist eine Synchronisationsschaltung zur Behandlung und Synchronisation eines Schreibvorgangs auf einen Halbleiterspeicher, insbesondere einen DDR-Graphikspeicher, bei dem ein Schreibvorgang mehrere Schreibbefehle enthält, vorgesehen, mit einem durch ein WDQS-Signal getakteten steuerbaren ersten FIFO, in welchem Schreibdaten aufgrund eines oder mehrerer aufeinander folgender Schreibbefehle abgelegt sind, mit einem durch ein internes Taktsignal getakteten steuerbaren zweiten FIFO, in welchem bei einem Schreibvorgang die Adressen lediglich der im ersten FIFO abgelegten gültigen Schreibdaten abgelegt sind, wobei die Adressen anzeigen, an welcher Stelle des ersten FIFOs diese Schreibdaten abgelegt sind.
  • Bei der vorliegenden Erfindung werden zwei unterschiedliche FIFOs verwendet, um Gapless-Schreibbefehle von herkömmlichen Gapped-Schreibbefehlen zu unterscheiden. Die der vorliegenden Erfindung zugrunde liegende Idee besteht darin, neben dem ersten FIFO, in dem die Schreibdaten abgelegt werden, nun ein zusätzliches zweites FIFO bereitzustellen, welches mit jedem Schreibbefehl die Startadresse, ab dem im ersten FIFO gültige Schreibdaten abgelegt sind, speichert. Das erste FIFO fungiert somit als Daten-FIFO und das zweite FIFO fungiert als Adress-FIFO für die im ersten FIFO abgelegten gültigen Daten.
  • Dabei werden die auf den Datenleitungen ankommenden Schreibdaten mit jeder gültigen Flanke des WDQS-Schreibtaktsteuer signals in das erste FIFO eingelesen, ohne zu berücksichtigen, ob es sich hier um gültige Schreibdaten handelt oder nicht. Dieses Einlesen der Schreibdaten erfolgt also synchron zum Takt des WDQS-Schreibtaktsteuersignals und ist somit nicht abhängig von weiteren Einflüssen, beispielsweise von dem Takt des internen Taktsignals oder dem Einfluss von Verbindungsleitungen.
  • Zudem ist das zweite FIFO vorgesehen, in dem die Adressen lediglich der gültigen, im ersten FIFO gespeicherten Schreibdaten abgelegt sind. Hierfür ist ein Adresszähler vorgesehen, dessen Inhalt mit jedem Schreibkommando um einen festen Wert erhöht wird, und ein Decoder zur Unterscheidung eines kontinuierlichen und unterbrochenen Datenflusses vorgesehen.
  • Handelt es sich um einen Zugriff mit kontinuierlichem, also nicht unterbrochenem Datenfluss (so genannter Gapless-Schreibbefehl), dann wird der Zählerstand des Adresszählers bei jedem Schreibbefehl, also mit jedem Datenburst, kontinuierlich um +2 erhöht. Dieser Wert (+2) leitet sich aus der Länge von zwei Takten ab, welche bei dem DDR-Standard einer Burstlänge von vier entsprechen. Ist hingegen ein Zugriff mit unterbrochenem, also nicht kontinuierlichem Datenfluss (so genannter Gapped-Schreibbefehl) vorhanden, dann wird aufgrund der Präambel und Postambel der Zählerstand des Adresszählers zusätzlich um +1 erhöht.
  • Erfindungsgemäß ist nun ein Decoder vorgesehen, der einen solchen Gapped-Schreibbefehl erkennt und im Falle eines erkannten Gapped-Schreibbefehls ein entsprechendes Steuersignal ausgibt, sodass der Adresszähler zusätzlich um +1 erhöht wird. Das zweite FIFO enthält dadurch die Startadressen, ab denen im ersten FIFO gültige Schreibdaten abgelegt sind, ungeachtet dessen, ob die Daten aufgrund eines Gapless-Schreibbefehls oder eines Gapped-Schreibbefehls ausgelesen wurden. Beim Auslesen des ersten FIFOs wird für jeden Schreibbefehl – also sowohl für einen Gapless-Schreibbefehl als auch bei einem Gapped-Schreibbefehl – die Startadresse aus dem zweiten FIFO geholt und die Daten ab dieser Startadresse aus dem ersten FIFO wieder ausgelesen.
  • Das zweite FIFO wird durch ein Taktsignal des Speichers, beispielsweise des internen Taktsignals, getaktet. Das Beschreiben des zweiten FIFOs erfolgt also vollständig in der Domain des internen Taktsignals, ist also vollständig unabhängig vom Takt des WDQS-Schreibtaktsteuersignals. Dies hat insgesamt zur Folge, dass das Einlesen der Daten in das erste FIFO und das Abspeichern der diesen Daten entsprechenden Adressen in das zweite FIFO vollständig unabhängig und voneinander entkoppelt ist. Ein Einsynchronisieren des ersten und zweiten FIFOs bzw. des WDQS-Schreibtaktsteuersignals auf das interne Taktsignal ist hier nicht erforderlich, da das erste FIFO eben unabhängig von dem zweiten FIFO betrieben werden kann.
  • Die erfindungsgemäße Schaltung zeichnet sich durch eine sehr hohe Leistungsfähigkeit im Falle eines Schreibzugriffes aus, da selbst bei Vorhandensein von Gapless-Schreibzugriffen keine Verzögerung eingebaut werden muss und damit eine hohe Schreibgeschwindigkeit beim Schreiben von Daten in den Halbleiterspeicher gewährleistet wird. Ein weiterer Vorteil besteht vor allem darin, dass das Schreiben von Daten in einen Halbleiterspeicher, wie beispielsweise einen DDR-Halbleiterspeicher, auch bei sehr hohen Betriebsfrequenzen möglich ist. Insbesondere lassen sich nun auch G-DDR-III-Halbleiterspeicher bei Betriebsfrequenzen von 1 GHz ohne Datenverluste bei Gapless-Schreibbefehlen betreiben.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den weiteren Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnungen.
  • Eine bevorzugte Ausgestaltung der Erfindung sieht eine durch das WDQS-Signal getaktete erste Steuerschaltung zur Steuerung des ersten FIFOs vor. Diese erste Steuerschaltung ist dazu ausgelegt, aus dem WDQS-Signal einen Eingangszeiger zu erzeugen, der anzeigt, an welche Stelle – also in welche FIFO-Zellen – des ersten FIFOs die Schreibdaten zwischenzuspeichern sind. Zum Latchen der Schreibdaten weist die erste Steuerschaltung vorzugsweise zumindest ein Latch oder eine entsprechende Pufferspeicherschaltung auf. Das Latchen der Schreibdaten erfolgt unter Steuerung des WDQS-Signals oder eines davon abgeleiteten Signals, beispielsweise eines inversen WDQS-Signals.
  • Eine bevorzugte Ausgestaltung sieht ein erstes Latch zum Latchen der Schreibdaten bei einer abfallenden Flanke des WDQS-Signals und ein zweites Latch zum Latchen der Schreibdaten bei einer ansteigenden Flanke des WDQS-Signals vor, wobei das Latchen jeweils abwechselnd bei einer abfallenden und einer ansteigenden Flanke des WDQS-Signals erfolgt. In diesem Zusammenhang ist es auch vorteilhaft, wenn das erste FIFO zweiteilig ausgebildet ist und entsprechend zwei Zähler zur Erzeugung jeweils eines Eingangszeigers jeweils für eine der beiden FIFO-Teile vorgesehen sind. Ein solcher Eingangszeiger zeigt an, an welcher Stelle die Schreibdaten in das erste FIFO zu schreiben sind. Im Falle des zweiteiligen Aufbaus des ersten FIFOs ist eine erste Hälfte der FIFO-Zellen zum Ablegen der bei einer abfallenden Flanke des WDQS-Signals gelatchten Schreibdaten und eine zweite Hälfte der FIFO-Zellen des zweiten FIFOs zum Ablegen der bei einer ansteigenden Flanke des WDQS-Signals gelatchten Schreibdaten vorgesehen. Auf diese Weise lassen sich die Daten sehr viel schneller in den Halbleiterspeicher schreiben.
  • In einer ebenfalls bevorzugten Ausgestaltung ist eine durch das interne Taktsignal getaktete zweite Steuerschaltung zur Steuerung des zweiten FIFOs vorgesehen. Anhand des internen Taktsignals und der Schreibbefehle erzeugt die zweite Steuerschaltung einen Ausgangszeiger zur Ansteuerung des ersten FIFOs, der anzeigt, an welcher Stelle des ersten FIFOs die gültigen Schreibdaten abgelegt sind.
  • Hierzu weist die zweite Steuerschaltung zum Einen einen Decoder auf, der aus dem Schreibbefehl und der Dauer zumindest zweier aufeinanderfolgender Schreibbefehle ein Steuersignal ableitet, welches angibt, ob aufgrund zweier aufeinander folgender Schreibbefehle ein kontinuierlicher (gapless) oder ein unterbrochener (gapped) Datenstrom vorhanden ist. Zum Anderen weist die zweite Steuerschaltung einen Adresszähler auf, dessen Zählerstand bei jedem Schreibbefehl um einen zweiten Wert inkrementiert wird und bei Vorhandensein zweier unmittelbar aufeinander folgender Schreibbefehle zusätzlich um einen zweiten Wert inkrementiert wird. Am Ende eines jeweiligen Schreibbefehls – also bei Erreichen eines Endwertes des Adresszählers – wird dessen Zählerstand auf einen Startwert zurückgesetzt. Typischerweise beträgt der erste Wert zwei und der zweite Wert eins.
  • In einer weiteren Ausgestaltung ist der Adresszähler ausgangsseitig mit Eingängen des zweiten FIFOs verbunden. Ferner weist die zweite Steuerschaltung einen zweiten Zähler auf, der für jeden Schreibbefehl einen Eingangszeiger erzeugt, welcher angibt, an welcher Stelle des zweiten FIFOs eine sich aus dem Zählerstand des Adresszählers ergebende Startadresse abzulegen ist. Anhand einer gespeicherten Startadresse im zweiten FIFO stellt dieses ausgangsseitig einen Ausgangszeiger bereit, der angibt, an welcher Stelle des ersten FIFOs gültige Schreibdaten abgelegt sind.
  • Bei zwei nicht unmittelbar aufeinander folgenden Schreibbefehlen, die zu einem unterbrochenen Datenstrom führen, also bei so genannten Gapped-Schreibbefehlen, sind am Anfang (Präambel) und am Ende (Postambel) des jeweiligen Datenbursts Zellen mit ungültigem Inhalt im ersten FIFO vorhanden. Hingegen gibt es bei zwei unmittelbar aufeinander folgenden Schreibbefehlen, die zu einem kontinuierlichen Datenstrom führen, also bei so genannten Gapless-Schreibbefehlen, nur am Anfang des ersten Datenbursts und am Ende des letzten Datenbursts Zellen im ersten FIFO mit ungültigem Inhalt. Speziell die FIFO-Zellen des ersten FIFOs, die jeweils benachbarten Datenbursts zugeordnet sind, enthalten aber gültige Schreibdaten.
  • Die Erfindung eignet sich vor allem für DDR-Halbleiterspeicher und insbesondere für entsprechende Graphikspeicher der dritten Generation (G-DDR-III). Gemäß der G-DDR-III-Spezifikation weist das WDQS-Signal im inaktiven Zustand einen fest definierten ersten logischen Pegel ("0" oder LOW) auf. Zu Beginn eines Schreibvorgangs wechselt das WDQS-Signal von einem fest definierten zweiten logischen Pegel ("1" oder HIGH) auf den ersten logischen Pegel ("0"). Laut der G-DDR-III-Spezifikation sind alle Signale auf einen logischen hohen Pegel ("1") und auf 60 OHM terminiert. Im Betrieb beträgt die "1" 40 OHM.
  • Die Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigt dabei:
  • 1 ein Ablaufdiagramm zur Darstellung eines unterbrochenen Datenstroms bei einer Serie von Schreibbefehlen;
  • 2 ein Ablaufdiagramm zur Darstellung der Präambel-Problematik bei Gapless-Schreibbefehlen;
  • 3 ein Blockschaltbild einer erfindungsgemäßen Schaltungsanordnung zur Umgehung der Präambel-Problematik bei Gapless-Schreibbefehlen;
  • 4 ein Blockschaltbild einer Ausgestaltung des Daten-FIFOs und der ersten Steuerschaltung;
  • 5 anhand eines Signal-Zeit-Diagramms den Signalverlauf der Daten- und Taktsignale der Schaltungsanordnung aus 4;
  • 6 ein Blockschaltbild einer Ausgestaltung der zweiten Steuerschaltung und des Adress-FIFOs;
  • 7 anhand eines Signal-Zeit-Diagramms den Signalverlauf der Signale der Schaltungsanordnung aus 6;
  • 8 anhand eines Blockschaltbildes eine erste beispielhafte Ausgestaltung des Gap-Decoders der Steuerschaltung aus 6;
  • 9 ein Blockschaltbild für eine beispielhafte Ausgestaltung des Start-Adresszählers der Steuerschaltung aus 6;
  • 10 ein Blockschaltbild für eine zweite bevorzugte Ausgestaltung eines Gap-Decoders der Steuerschaltung aus 6.
  • In den Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Elemente, Merkmale und Signale – sofern nichts Anderes angegeben ist – mit denselben Bezugszeichen versehen worden. Die Ausführungsbeispiele werden nachfolgend anhand des G-DDR-III-Standards beschrieben.
  • 3 zeigt ein Blockschaltbild einer erfindungsgemäßen Schaltungsanordnung zur Umgehung der Präambel-Problematik bei Gapless-Schreibbefehlen. Die erfindungsgemäße Schaltungsanordnung ist hier mit Bezugszeichen 10 bezeichnet. Die Schaltungsanordnung 10 ist dazu ausgelegt, einen kontinuierlichen, d. h. durchgehenden Datenstrom im Falle von Gapless-Schreibbefehlen von einem unterbrochenen Datenstrom im Falle von Gapped-Schreibbefehlen zu unterscheiden. Hierzu weist die erfindungsgemäße Schaltungsanordnung 10 ein erstes FIFO 11 und ein zweites FIFO 12 auf. Das erste FIFO 11 wird nachfolgend auch als Daten-FIFO, das zweite FIFO 12 als Adress-FIFO bezeichnet.
  • Die Schaltungsanordnung 10 weist einen Dateneingang 13 zur Einkopplung der Datensignale DQ und einen Datenausgang 14 zum Abgreifen der Datensignale DQOUT auf. Die Datensignale DQ, DQOUT liegen in Burst-Form vor, wobei ein Daten-Burst jeweils ein Datenpaket mit jeweils mehreren einzelnen Datenbits enthält. Die Datensignale DQ enthalten die Schreibdaten. Die Schaltungsanordnung 10 weist einen Befehlseingang 15 zum Einkoppeln von codierten Schreibkommandos COM auf. Ferner sind zwei Takteingänge 16, 17 vorgesehen, wobei der Takteingang 16 zum Einkoppeln eines internen Taktsignals CLK dient. Dieses interne Taktsignal CLK kann beispielsweise von einem jeweiligen Halbleiterspeicher selbst generiert werden oder über ein extern generiertes Taktsignal, beispielsweise unter Verwendung einer DLL-Schaltung, abgeleitet werden. In den zweiten Takteingang 17 ist das Datenstrobe-Schreibtaktsignal WDQS einkoppelbar. Das interne Taktsignal CLK und das Schreibtaktsignal WDQS sind typischerweise asynchron zueinander.
  • Die Schaltungsanordnung 10 weist zwei Steuerschaltungen 18, 19 auf. Die erste Steuerschaltung 18 ist zwischen dem Dateneingang 13 und dem Takteingang 17 und den Eingängen des Daten-FIFOs 11 angeordnet. Die zweite Steuerschaltung 19 ist zwischen dem Befehlseingang 15 und dem Takteingang 16 und den Eingängen des Adress-FIFOs 12 angeordnet. Die erste Steuerschaltung 18 erzeugt aus dem Datensignal DQ das datensynchrone Datensignal DQ', welches dem Daten-FIFO 11 zugeführt wird. Ferner wird dort aus dem Schreibtaktsignal WDQS ein Eingangszeiger INPX erzeugt, mittels dem eingangsseitig die einzelnen Zellen des Daten-FIFOs 11 angesteuert werden. Die zweite Steuerschaltung 19 erzeugt aus dem Schreibkommando COM und dem internen Taktsignal CLK eine Adresse AY zum Abspeichern im Adress-FIFO 12 sowie einen Eingangszeiger INPY zur eingangsseitigen Ansteuerung des Adress-FIFOs 12. Das Adress-FIFO 12 liefert ausgangsseitig eine Startadresse AX, die dem Daten-FIFO 11 zugeführt wird und die dem Daten-FIFO 11 signalisiert, an welcher Stelle des Daten-FIFOs 11 gültige Daten abgelegt sind, um diese als Ausgangsdaten DQOUT dem Datenaus gang 14 zuzuführen. Die Startadresse AX bildet den Ausgangszeiger AX für die jeweils richtige Zelle des Daten-FIFOs 11.
  • Nachfolgend werden der Aufbau und die Funktionsweise der erfindungsgemäßen Schaltung 10 und insbesondere dessen Steuerschaltungen 18, 19 anhand der nachfolgenden 410 detailliert beschrieben.
  • 4 zeigt eine Ausgestaltung des Daten-FIFOs 11 und der ersten Steuerschaltung 18 im Detail. Die erste Steuerschaltung 18 enthält zwei Empfängerschaltungen 20, 21, denen zwei Pufferschaltungen 22a, 22b, beispielsweise Input/Output-Latches 22a, 22b, nachgeschaltet sind. Die erste Empfängerschaltung 20 dient der Aufnahme des Datensignals DQ, welches anschließend beiden Pufferschaltungen 22a, 22b zugeführt wird. Die zweite Empfängerschaltung 21 dient dem Zweck, aus dem Schreibtaktsignal WDQS zwei zueinander invertierte Taktsignale DWS, bDWS zu erzeugen. Ferner sind zwei Zähler 25a, 25b vorgesehen, die jeweils bei einer abfallenden bzw. bei einer ansteigenden Flanke des Schreibtaktsignals WDQS ihren Zählerstand beispielsweise durch aufwärts Zählen, verändern. Die Zählerstände dieser Zähler 25a, 25b bilden die Eingangszeiger INPa, INPb zur Ansteuerung der FIFO-Zellenhälften 24a, 24b.
  • Das Daten-FIFO 11 weist hier zwei FIFO-Zellenhälften 24a, 24b mit jeweils einer gleichen Anzahl an FIFO-Zellen 24 auf, um dadurch sowohl bei der ansteigenden als auch bei der abfallenden Flanke des Schreibtaktsignals WDQS jeweils Daten Ya, Yb in das Daten-FIFO 11 schreiben zu können. Hier ist eine FIFO-Zellenhälfte 24a jeweils Daten-synchron zu der fallenden Flanke des Schreibtaktsignals WDQS, wohingegen die zweite FIFO-Zellenhälfte 24b Daten-synchron zu der ansteigenden Flanke des Schreibtaktsignals WDQS ist. Die in das Daten-FIFO 11 zu schreibenden Daten DQ sind im Falle der Pufferschaltung 22a bei einer fallenden Flanke und im Falle der Pufferschaltung 22b bei einer ansteigenden Flanke des Schreibtaktsignals WDQS ge taktet. In 4 sind diejenigen Elemente, die der ersten und der zweiten FIFO-Zellenhälfte 24a, 24b zugeordnet sind, jeweils mit einem "a" bzw. einem "b" im jeweiligen Bezugszeichen gekennzeichnet.
  • Die Schreibdaten DQ werden über die Empfängerschaltung 20 in den beiden Pufferschaltungen 22a, 22b auf die aus dem Schreibtaktsignal WDQS abgeleiteten internen Taktsignalen DWS, bDWS synchronisiert, um die Setup- und Hold-Zeiten zum Einlesen der Daten DQ in die einzelnen FIFO-Zellen 24 aufeinander abzustimmen. Anschließend werden die Schreibdaten DQ getrennt nach synchron aufsteigender und synchron abfallender Flanke des Schreibtaktsignals WDQS in parallel zueinander betriebenen FIFO-Zellenhälften 24a, 24b des Daten-FIFOs 11 abgelegt.
  • 5 zeigt anhand eines Signal-Zeit-Diagramms den entsprechenden Signalverlauf der Daten- und Taktsignale der Schaltungsanordnung aus 4. Die ersten beiden Zeilen zeigen den Signalverlauf der empfangenen Schreibdaten DQ und des entsprechenden internen Taktsignals DWS. Aus Gründen der besseren Übersicht wurde hier auf die Darstellung des inversen Taktsignals bDWS verzichtet. 5 zeigt, dass zu Beginn des empfangenen Datenstroms die mit 0 bis 7 bezeichneten Segmente des DQ-Signals DQ einem Gapless-Schreibbefehl zuzuordnen sind.
  • Mit Xa ist der Wert des Zählers 25a und mit Xb der Wert des Zählers 25b bezeichnet. Mit Ya sind entsprechend die synchronen Daten für die erste FIFO-Zellenhälfte 24a und mit Yb die Daten für die zweite FIFO-Zellenhälfte 24b bezeichnet.
  • Aus dem Signalverlauf des Datensignals DQ und des Datensignals Yb in 5 wird ersichtlich, dass das Datum „7" des Datensignals Yb, welches entsprechend dem Zählerstand Xb = 4 in der Zelle 4 (schraffiert) der zweiten FIFO-Zellenhälfte 24b abgelegt werden soll, ungültig ist, da es zur Postambel PO des zweiten Daten-Bursts des Gapless-Schreibbefehls gehört. Dasselbe gilt für das Datum „b" (schraffiert) des Datensignals YB, welches entsprechend dem Zählerstand Xb in die Zelle 7 (schraffiert) der zweiten FIFO-Zellenhälfte 24b geschrieben werden soll. Analog kann man aus dem Datensignal DQ und dem davon abgeleiteten Datensignal Ya die Zellen 4 und 7 der ersten FIFO-Zellenhälfte 24a für die Daten synchron zur fallenden WDQS-Flanke ableiten. Die gültigen Daten befinden sich demzufolge in beiden FIFO-Zellenhälften 24a, 24b jeweils in den Zellen 0, 1, 2, 3, 5, 6, 0, 1. Da in dem gewählten Beispiel die Burst-Länge 4 ist und eine DDR-Datenübertragung vorliegt, ergibt sich somit die Abfolge der gültigen Startadressen der einzelnen Daten-Bursts mit 0, 2, 5, 0.
  • 6 zeigt ein Blockschaltbild einer Ausgestaltung der zweiten Steuerschaltung 19 und des Adress-FIFOs 12. Die zweite Steuerschaltung 19 weist einen Kommando-Decoder 30, einen Gap-Decoder 31, einen Adresszähler 32 sowie einen Zähler 33 zur Erzeugung des Eingangszeigers INPY auf. Der Kommando-Decoder 30, dem über den Eingang 15 die Schreibkommandos COM zugeführt werden, decodiert diese und erzeugt ausgangsseitig decodierte Schreibbefehle WR, die getaktet über das interne Taktsignal CLK den Zähler 33 fortwährend erhöhen. Der Zählerstand des Zählers 33 stellt dann den Wert des Eingangszählers INPY für das Adress-FIFO dar. In gleicher Weise werden die Schreibbefehle WR auch dem Adresszähler 32 zugeführt und erhöhen dessen Zählerstand getaktet über das interne Taktsignal CLK fortwährend, wobei der Adresszähler 32 den Zählerstand AY ausgibt, der im Adress-FIFO 12 abgespeichert wird. Die im Adress-FIFO 12 abgespeicherten Adressen geben an, an welchen Stellen im Daten-FIFO 11 gültige Daten abgelegt sind. Über ein entsprechend vom Adress-FIFO 12 erzeugtes Signal AX, das als Ausgangszeiger des Daten-FIFOs 11 fungiert, können die Daten DQOUT dort ausgelesen werden.
  • Da die Daten DQ sowohl als kontinuierlicher Datenstrom, als auch als unterbrochener Datenstrom (Gapped-Schreibbefehl) auftreten können, müssen diese beiden Konstellationen voneinander unterschieden werden, um die entsprechenden Daten DQ auch korrekt weiterbehandelt werden können. Zu diesem Zwecke enthält die zweite Steuerschaltung 19 einen Gap-Decoder 31, der diesen Unterschied eines kontinuierlichen und nicht-kontinuierlichen Datenstroms erkennt. Ist ein nicht-kontinuierlicher Datenstrom vorhanden, d. h. handelt es sich um einen Gapped-Schreibbefehl, dann gibt der Gap-Decoder 31 ein entsprechendes Steuersignal WRGAP aus. Jeder Schreibbefehl WR erhöht den Zählerstand des Adresszählers 32 um +2, wohingegen das Steuersignal WRGAP den Zählerstand des Adresszählers 32 zusätzlich um +1 erhöht. Das Steuersignal WRGAP zeigt also an, ob es sich bei einem empfangenen Datenstrom um einen nicht-kontinuierlichen, d. h. unterbrochenen Datenstrom handelt oder nicht.
  • Nachfolgend wird die Funktionsweise dieser Steuerschaltung 19 anhand des Ablaufdiagramms in 7 näher erläutert. 7 nimmt hier Bezug auf das Beispiel in 5, d. h. die Zählabfolge des Adresszählers 32 muss bei diesem Beispiel die Ergebnisse, 0, 2, 5, 0 liefern. Die erste Zeile in dem Ablaufdiagramm in 7 zeigt den Verlauf der Schreibbefehle WR, die zweite Zeile zeigt den Verlauf des Steuerbefehls WRGAP und die dritte Zeile zeigt das Adresssignal AY.
  • Es sei angenommen, dass es sich bei dem Adresszähler 32 um einen binären 3-Bit-Adresszähler 32 handelt, dessen Zählerstände also von 0 bis 7 reichen. Ausgangsseitig gibt der Adresszähler 32 ein 3-Bit-Adresssignal AY für das Adress-FIFO 12 aus. Es sei ferner angenommen, dass der Adresszähler 32 zunächst auf 6 initialisiert ist. Eine Erhöhung um +2 im ersten Schritt S1 (erster Schreibbefehl) ergibt 0. Bei dem zweiten Schreiben S2 handelt es sich um einen Gapless-Schreibbefehl, so dass der Zählerstand um +2 auf 2 erhöht wird. Das dritte Schreiben S3 ist unterbrochen ("gapped"), so dass der Zähler über das Steuersignal WRGAP zunächst um +1 auf 3 erhöht wird und anschließend über den Schreibbefehl WR um +2 auf 5 erhöht wird. Der nächste Steuerbefehl WRGAP erhöht den Zähler um +1 auf 6 und das vierte Schreiben S4 erhöht den Zähler wiederum um +2 auf 0. Es folgt ein weiterer Steuerbefehl WRGAP, so dass der Zähler um +1 auf 1 erhöht wird und dort stehen bleibt. Somit wäre die Einstellung für die Steuerschaltung 19 und insbesondere dessen Adresszähler 32 für einen nachfolgenden Schreibbefehl WR bereits wieder richtig eingestellt.
  • 8 zeigt anhand eines Blockschaltbildes eine beispielhafte Ausgestaltung des GAP-Decoders 31 der Steuerschaltung 19 aus 6. Der GAP-Decoder 31 erzeugt ausgangsseitig ein Steuersignal WRGAP zur Ansteuerung des Start-Adresszählers 32. Der GAP-Decoder 31 weist drei DQ Flip-Flops 40a40c, ein UND-Gatter 41 und ein ODER-Gatter 42 auf. Dem Daten-Eingang D des ersten Flip-Flops 40a wird der Schreibbefehl WR zugeführt. Die Q-Ausgänge der ersten beiden Flip-Flops 40a, 40b sind jeweils über Inverter 43a, 43b mit den Daten-Eingängen des jeweils nachfolgenden, benachbarten Flip-Flops 40b, 40c verbunden. Sämtliche Flip-Flops 40a40c werden über das interne Taktsignal CLK getriggert. Dem UND-Gatter 41 wird das invertierte Ausgangssignal des ersten DQ-Flip-Flops 40a und die beiden Ausgangssignale der anderen beiden DQ-Flip-Flops 40b, 40c zugeführt. Das UND-Gatter 41 erzeugt somit das Steuersignal WRGAP. Dieses Steuersignal WRGAP wird zusammen mit dem Ausgangssignal des ersten DQ-Flip-Flops 40a dem ODER-Gatter 42 zugeführt, der ausgangsseitig ein Steuersignal CLK_1 erzeugt. Das Ausgangssignal des ersten DQ-Flip-Flops 40a bildet gleichermaßen das Steuersignal CLK_2. Das Steuersignal CLK_1 gibt eine Inkrementierung um +1 und das Steuersignal CLK_2 gibt eine Inkrementierung um +2 an. Das Steuersignal CLK_1 wird also durch jeden Schreibbefehl WR getriggert, der kein Schreiben anzeigt.
  • 9 zeigt ein Blockschaltbild für eine beispielhafte Ausgestaltung des Start-Adresszählers 32 der Steuerschaltung 19 aus 6. Der Start-Adresszähler 32 weist drei DQ-Flip- Flops 50a50c auf, von denen jeweils das erste DQ-Flip-Flop 50a von dem Steuerbefehl WRGAP und die beiden andere DQ-Flip-Flops 50b, 50c von dem Steuersignal CLK_1 getriggert werden. Das Ausgangssignal des ersten Flip-Flops wird über einen Inverter in dessen Dateneingang rückgekoppelt. Ferner wird das Ausgangssignal des ersten DQ-Flip-Flops 50a über ein ODER-Gatter 51, dem eingangsseitig das Steuersignal CLK_2 zugeführt wird, eingekoppelt. Dieses ODER-Gatter 51 erzeugt ausgangsseitig ein Signal, welches zusammen mit dem Ausgangssignal des zweiten DQ-Flip-Flops 50b, einem UND-Gatter 52 zugeführt wird. Das Ausgangssignal des UND-Gatters 52 wird zusammen mit dem Ausgangssignal des dritten DQ-Flip-Flops 50c einem NOR-Gatter 53 zugeführt, dessen Ausgangssignal in den Dateneingang des dritten DQ-Flip-Flops 50c rückgekoppelt wird. Das Ausgangssignal des UND-Gatters 51 wird zusammen mit dem Ausgangssignal des zweiten DQ-Flip-Flops 50b einem NOR-Gatter 54 zugeführt, dessen Ausgangssignal dem Dateneingang des zweiten DQ-Flip-Flops 50b zugeführt wird. An den Q-Ausgängen der drei DQ-Flip-Flops 50a50c liegen somit die Adress-Bits A0–A2 für das 3-Bit-Adress-Signal AY an, welches in das Adress-FIFO 12 geschrieben werden kann. 9 zeigt somit eine vorteilhafte Ausführung eines Start-Adresszählers 32, der abhängig davon, ob ein kontinuierlicher Datenstrom vorliegt oder nicht, den Zählerstand nach Maßgabe des Taktsignals CLK_1 jeweils um +1 oder nach Maßgabe des Taktsignals CLK_2 um +2 inkrementiert.
  • 10 zeigt ein Blockschaltbild für eine bevorzugte Ausgestaltung eines Gap-Decoders 31 der Steuerschaltung 19 aus 6. Der Gap-Decoder 31 enthält einen Decoder 60, dem eingangsseitig das interne Taktsignal CLK und der Schreibbefehl WR zugeführt wird. Der Decoder 60 ermittelt daraus, ob es sich bei dem Schreibbefehl WR um einen kontinuierlichen Datenstrom (gapless) oder einen unterbrochenen Datenstrom (gapped) handelt. Der Decoder 60 gibt ausgangsseitig das Steuersignal WRGAP aus, welches im Falle eines unterbrochenen Datenstroms (gapped) einen hohen logischen Pegel (HIGH, "1") und im Falle eines kontinuierlichen Datenstroms (gapless) einen niedrigen logischen Pegel (LOW, "0") aufweist. Dieses Steuersignal WRGAP kann nun zur Ansteuerung des Start-Adresszählers 32 verwendet werden.
  • Zur Erzeugung der Taktsignale CLK_1, CLK_2 weist die Steuerschaltung 31 ferner ein RS-Flip-Flop 61 auf. In den Set-Eingang des RS-Flip-Flops 61 wird das Steuersignal WRGAP eingekoppelt. Ferner ist ein DQ-Flip-Flop 62 vorgesehen, in dessen Dateneingang D das Schreibsignal WR und in dessen Takteingang das Taktsignal CLK eingekoppelt wird. Das invertierte Ausgangssignal des DQ-Flip-Flops 62 wird zusammen mit dem Ausgangssignal des RS-Flip-Flops 61 in ein UND-Gatter 63 eingekoppelt, das ausgangsseitig das Taktsignal CLK_1 erzeugt.
  • Das RS-Flip-Flop 61 weist ferner einen Reset-Eingang R auf, in welchen ein Reset-Signal STOP einkoppelbar ist. Zur Erzeugung dieses Reset-Signals STOP ist ein Zähler 64 vorgesehen, der über das Taktsignal CLK_1 getriggert wird und der über das invertierte Steuersignal WRGAP rückgesetzt werden kann. Der Zähler 64 ermittelt einen Zählerstand, der als Zählerstandsignal CNT_OUT zusammen mit dem Schreibsignal WR einem ODER-Gatter 65 zugeführt wird. Das ODER-Gatter 65 erzeugt ausgangsseitig das Reset-Signal STOP.
  • Der Zähler 64 weist ferner einen Steuereingang MCP auf, über welchen der Zähler 64 für verschiedene Betriebsmodi programmierbar ist.
  • Der Gap-Decoder 31 weist ferner ein weiteres DQ-Flip-Flop 66 auf, welches ausgangsseitig das Taktsignal CLK_2 erzeugt. Zu diesem Zwecke wird in dessen Dateneingang D das Schreibsignal WR und in dessen Takteingang das interne Taktsignal CLK zugeführt. Alternativ wäre es auch denkbar, das Taktsignal CLK_2 direkt aus dem Q-Ausgang des DQ-Flip-Flops 62 abzuleiten.
  • Nachfolgend sei die Funktionsweise des Gap-Decoders 31 aus 10 näher beschrieben. Der über den Gap-Decoder 31 anzusteuernde Adresszähler 32 wird bei jedem Schreibbefehl um +2 erhöht. Dies geschieht über das auf das interne Taktsignal CLK synchronisierte Schreibsignal WR und das Taktsignal CLK_2, welches eine Inkrementierung um +2 angibt. Der Decoder 60 kann ähnlich wie der in 8 dargestellte Decoder 31, jedoch ohne das ODER-Gatter 42 zur Erzeugung des Taktsignals CLK_1 ausgebildet sein. Das von dem Decoder 60 ausgangsseitig erzeugte Steuersignal WRGAP erfüllt hier zwei Funktionen: Zum Einen wird dadurch das RS-Flip-Flop 61 gesetzt. Zum Anderen wird der Reset dieses Flip-Flops 61 über den Zähler 64 vorgenommen. Wird das Flip-Flop 61 nicht gesetzt, dann wird der Zähler 64 zurückgesetzt. Der Zähler 64 ist so implementiert, dass er auf den binären Wert zurückgesetzt wird, der beispielsweise über den Steuereingang MCP vorgegeben wird. Im Betrieb zählt der Zähler 64 somit mit jedem Takt des Taktsignals CLK_1 um +1 zurück. Sobald der Zählerstand 0 erreicht ist, wird das Ausgangssignal CNT_OUT gesetzt, welches unter Verwendung des Schreibsignals WR das Reset-Signal STOP generiert, welches das RS-Flip-Flop 61 wieder zurücksetzt und die Generierung des Taktsignals CLK_1 beendet. Für verschiedene Werte des Steuersignals MCP kann der Zähler 64 auch programmierbar ausgeführt werden.
  • Obgleich die vorliegende Erfindung vorstehend anhand eines bevorzugten Ausführungsbeispiels näher erläutert wurde, sei sie nicht darauf beschränkt, sondern ist auf nachfolgend genannte Art und Weise modifizierbar.
  • Insbesondere wurde die Realisierung der Steuerschaltungen und der beiden FIFOs bewusst sehr einfach gestaltet. Es versteht sich von selbst, dass diese Schaltungsanordnungen beliebig anders ausgebildet sein können, ohne vom grundsätzlichen Prinzip der vorliegenden Erfindung abzuweichen. Grundsätzlich gilt, dass die Funktionalität dieser Schaltungen selbstverständlich auch durch eine programmgesteuerte Einrichtung, beispielsweise durch einen Mikroprozessor oder einen Mikrocontroller, oder auch durch eine programmierbare Logikschaltung, zum Beispiel eine PLD- oder FPGA-Schaltung, realisiert werden kann.
  • Die Erfindung wurde ferner beispielhaft anhand eines als Graphikspeicher ausgebildeten DDR-Halbleiterspeichers beschrieben. Die Erfindung lässt sich aber bei beliebig anderen Halbleiterspeichern ebenfalls einsetzen, die ein WDQS-Schreibsteuersignal mit definierter Präambel und Postambel aufweisen. Darüber hinaus muss nicht notwendigerweise ein so genannter Prefetch-4 Schreibzugriff, bei dem bei jedem Datenburst und damit mit jedem Schreibzugriff jeweils vier Datenpakete in den Speicher geschrieben werden, vorgesehen sein. Denkbar wären auch andere Prefetch-Schreibzugriffe, bei denen weniger oder auch mehr Datenpakete pro Schreibzugriff verarbeitet werden.
  • 10
    Schaltungsanordnung
    11
    erstes FIFO, Daten-FIFO
    12
    zweites FIFO, Adress-FIFO
    13
    Dateneingang
    14
    Datenausgang
    15
    Eingang
    16
    Takteingang für das interne Taktsignal
    17
    Takteingang für das WDQS-Signal
    18, 19
    Steuerschaltungen
    20, 21
    Empfängerschaltungen
    22a, 22b
    Pufferschaltungen, Latches
    24
    FIFO-Zellen
    24a, 24b
    FIFO-Zellenhälften
    25a, 25b
    Zähler
    30
    Kommandodecoder, Schreibbefehlsdecoder
    31
    GAP-Decoder
    32
    (Start-)Adresszähler
    33
    Zähler für den Eingangszeiger
    40a–40c
    DQ-Flip-Flops
    41
    UND-Gatter
    42
    ODER-Gatter
    43a, 43b
    Inverter
    43
    Inverter
    50a–50c
    DQ-Flip-Flops
    51
    ODER-Gatter
    52
    UND-Gatter
    53, 54
    NOR-Gatter
    60
    Decoder
    61
    RS-Flip-Flop
    62
    DQ-Flip-Flop
    63
    UND-Gatter
    64
    Zähler
    65
    ODER-Gatter
    66
    DQ-Flip-Flop
    A0–A2
    Adress-Bits für den Adresszeiger
    AX
    Startadresse, Ausgangszeiger
    AY
    Adresssignal
    bDWS
    aus dem WDQS-Signal abgeleitetes inverses Taktsignal
    CLK
    internes Taktsignal
    CLK_1
    Steuer-/Taktsignal zum Anzeigen einer Inkrementierung um +1
    CLK_2
    Steuer-/Taktsignal zum Anzeigen einer Inkrementierung um +2
    CNT_OUT
    Zählerstandsignal
    COM
    Kommando
    DQ, DQ'
    Datensignale
    DQOUT
    Datenausgangssignal
    DWS
    aus dem WDQS-Signal abgeleitetes Taktsignal
    INPa, INPb
    Eingangszeiger
    INPX, INPY
    Eingangszeiger
    INPY
    Eingangszeiger
    MCP
    Steuereingang
    S1–S4
    Schreibschritte
    STOP
    Reset-Signal
    WDQS
    WDQS-Signal, Datenstrobesignal, Schreibtaktsteuersignal
    WR
    Schreibbefehl, Schreibsignal
    WRGAP
    Steuersignal für das Vorhandensein eines unterbrochenen Datenstroms
    XA, XB
    Zählerstände
    Ya, Yb
    synchronisierte Datensignale
    CS
    Zählerstand
    PR
    Präambel
    PO
    Postambel
    NOP
    NOP-Befehl
    DB1–DB3
    Datenbursts

Claims (15)

  1. Synchronisationsschaltung (10) zur Behandlung und Synchronisation eines Schreibvorgangs auf einen Halbleiterspeicher, insbesondere einen DDR-Graphikspeicher, bei dem ein Schreibvorgang mehrere Schreibbefehle (WR) enthält, mit einem durch ein WDQS-Signal (WDQS) getakteten steuerbaren ersten FIFO (11), in welchem Schreibdaten (DQ) aufgrund eines oder mehrerer aufeinander folgender Schreibbefehle (WR) abgelegt sind, mit einem durch ein internes Taktsignal (CLK) getakteten steuerbaren zweiten FIFO (12), in welchem bei einem Schreibvorgang die Adressen (AX, AY) lediglich der im ersten FIFO (11) abgelegten gültigen Schreibdaten (DQ) abgelegt sind, wobei die Adressen (AX, AY) anzeigen, an welcher Stelle des ersten FIFOs (11) diese Schreibdaten (DQ) abgelegt sind.
  2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass eine durch das WDQS-Signal (WDQS) getaktete erste Steuerschaltung (18) zur Steuerung des ersten FIFOs (11) vorgesehen ist, welche aus dem WDQS-Signal (WDQS) einen Eingangszeiger (INPX; INPb, INPa) erzeugt, der anzeigt, an welche Stelle des ersten FIFOs (11) die Schreibdaten (DQ) zwischenzuspeichern sind.
  3. Schaltung nach Anspruch 2, dadurch gekennzeichnet, dass die erste Steuerschaltung (18) zumindest ein Latch (22a, 22b) zum Latchen der Schreibdaten (DQ) aufweist, wobei das Latchen der Schreibdaten (DQ) unter Steuerung des WDQS-Signals (WDQS) erfolgt.
  4. Schaltung nach Anspruch 3, dadurch gekennzeichnet, dass ein erstes Latch (22a) zum Latchen der Schreibdaten (DQ) bei einer abfallenden Flanke des WDQS-Signals (WDQS) und ein zweites Latch (22b) zum Latchen der Schreibdaten (DQ) bei einer ansteigenden Flanke des WDQS-Signals (WDQS) vorgesehen sind, wobei das Latchen jeweils abwechselnd bei einer abfallenden und einer ansteigenden Flanke des WDQS-Signals (WDQS) erfolgt.
  5. Schaltung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass die erste Steuerschaltung (18) zumindest einen ersten Zähler (25a, 25b) aufweist, der jeweils einen Eingangszeiger (INPb, INPa) erzeugt, der anzeigt, an welcher Stelle die Schreibdaten (DQ) in das erste FIFO (11) zu schreiben sind.
  6. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das erste FIFO (11) zweiteilig aufgebaut ist, wobei eine erste Hälfte (24a) der FIFO-Zellen (24) des ersten FIFOs (11) zum Ablegen der bei einer abfallenden Flanke des WDQS-Signals (WDQS) gelatchten Schreibdaten (DQ) und eine zweite Hälfte (24b) der FIFO-Zellen (24) des zweiten FIFOs (12) zum Ablegen der bei einer ansteigenden Flanke des WDQS-Signals (WDQS) gelatchten Schreibdaten (DQ) vorgesehen ist.
  7. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass eine durch das interne Taktsignal (CLK) getaktete zweite Steuerschaltung (19) zur Steuerung des zweiten FIFOs (12) vorgesehen ist, welche anhand des internen Taktsignals (CLK) und der Schreibbefehle (WR) einen Ausgangszeiger (AX) für das erste FIFO (11) erzeugt, der anzeigt, an welcher Stelle des ersten FIFOs (11) die gültigen Schreibdaten (DQ) abgelegt sind.
  8. Schaltung nach Anspruch 7, dadurch gekennzeichnet, dass die zweite Steuerschaltung (19) einen Decoder (31) aufweist, der aus dem Schreibbefehl (WR) und der Dauer zumindest zweier aufeinanderfolgender Schreibbefehle (WR) ein Steuersignal (WRGAP) ableitet, welches angibt, ob aufgrund zweier aufeinander folgender Schreibbefehle (WR) ein kontinuierlicher oder ein unterbrochener Datenstrom vorhanden ist.
  9. Schaltung nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass die zweite Steuerschaltung (19) einen Adresszähler (32) aufweist, dessen Zählerstand (AY) bei jedem Schreibbefehl (WR) um einen ersten Wert (CLK_2) inkrementiert wird und bei Vorhandensein zweier unmittelbar aufeinander folgender Schreibbefehle (WR) zusätzlich um einen zweiten Wert (CLK_1) inkrementiert wird und dessen Zählerstand (AY) am Ende eines jeweiligen Schreibbefehls (WR) bei Erreichen eines Endwertes des Adresszählers (32) auf einen Startwert zurückgesetzt wird.
  10. Schaltung nach Anspruch 9, dadurch gekennzeichnet, dass der erste Wert (CLK_2) zwei ist und der erste Wert (CLK_1) eins ist.
  11. Schaltung nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass die zweite Steuerschaltung (19) einen zweiten Zähler (33) aufweist, der für jeden Schreibbefehl (WR) einen Eingangszeiger (INPY) erzeugt, welcher angibt, an welcher Stelle des zweiten FIFOs (12) eine sich aus dem Zählerstand (AY) des Adresszählers (32) ergebende Startadresse abzulegen ist.
  12. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass anhand einer gespeicherten Startadresse im zweiten FIFO (12) dieses ausgangsseitig einen Ausgangszeiger (AX) bereit stellt, der angibt, an welcher Stelle des ersten FIFO (11) gültige Schreibdaten (DQ) abgelegt sind.
  13. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass bei zwei nicht unmittelbar aufeinander folgenden Schreibbefehlen (WR), die zu einem unterbrochenen Datenstrom führen, sämtliche im ersten FIFO (11) abgelegten Schreibdaten (DQ) gültig sind.
  14. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass bei zwei unmittelbar aufeinander folgenden Schreibbefehlen (WR), die zu einem kontinuierlichen Datenstrom führen, ein Teil der im ersten FIFO (11) abgelegten Schreibdaten (DQ) ungültig ist.
  15. Schaltung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das WDQS-Signal (WDQS) im inaktiven Zustand einen fest definierten ersten logischen Pegel ("0") aufweist und dass das WDQS-Signal (WDQS) zu Beginn eines Schreibvorgangs von einem fest definierten zweiten logischen Pegel ("1") auf den ersten logischen Pegel ("0") wechselt.
DE102005053916A 2005-11-11 2005-11-11 Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher Expired - Fee Related DE102005053916B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005053916A DE102005053916B4 (de) 2005-11-11 2005-11-11 Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher
US11/593,236 US7443762B2 (en) 2005-11-11 2006-11-06 Synchronization circuit for a write operation on a semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005053916A DE102005053916B4 (de) 2005-11-11 2005-11-11 Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher

Publications (2)

Publication Number Publication Date
DE102005053916A1 DE102005053916A1 (de) 2007-05-16
DE102005053916B4 true DE102005053916B4 (de) 2008-09-11

Family

ID=37982631

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005053916A Expired - Fee Related DE102005053916B4 (de) 2005-11-11 2005-11-11 Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher

Country Status (2)

Country Link
US (1) US7443762B2 (de)
DE (1) DE102005053916B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177254A1 (en) * 2007-08-17 2009-07-09 Searete Llc, A Limited Liability Of The State Of The State Of Delaware System, devices, and methods including actively-controllable electrostatic and electromagnetic sterilizing excitation delivery system
US7668025B2 (en) * 2007-10-04 2010-02-23 Hynix Semiconductor Inc. Input circuit of semiconductor memory apparatus and control method of the same
KR101086874B1 (ko) * 2009-09-04 2011-11-25 주식회사 하이닉스반도체 반도체 집적회로
US9230621B2 (en) 2013-03-05 2016-01-05 Samsung Electronics Co., Ltd. Semiconductor memory device with signal reshaping and method of operating the same
CN115328822B (zh) * 2022-08-19 2023-05-05 扬州宇安电子科技有限公司 一种基于ddr3的读写控制动态调度方法及其存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337809B1 (en) * 1999-04-06 2002-01-08 Samsung Electronics, Co., Ltd. Semiconductor memory device capable of improving data processing speed and efficiency of a data input and output pin and related method for controlling read and write
DE102004021694A1 (de) * 2004-04-30 2005-11-24 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594927A (en) * 1992-01-09 1997-01-14 Digital Equipment Corporation Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6337809B1 (en) * 1999-04-06 2002-01-08 Samsung Electronics, Co., Ltd. Semiconductor memory device capable of improving data processing speed and efficiency of a data input and output pin and related method for controlling read and write
DE102004021694A1 (de) * 2004-04-30 2005-11-24 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher

Also Published As

Publication number Publication date
US20070109907A1 (en) 2007-05-17
DE102005053916A1 (de) 2007-05-16
US7443762B2 (en) 2008-10-28

Similar Documents

Publication Publication Date Title
DE102004021694B4 (de) Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
DE69934401T2 (de) Datenerfassungssystem mit mitteln zur analyse und zum abspeichern in echtzeit
DE102005011386B4 (de) Schaltungseinheit zur Datenbitinvertierung
DE19860650B4 (de) Synchrone Halbleiter-Speichervorrichtung mit einer Chip-Satz-Speichersteuervorrichtung mit Datenausblend-Maskenfunktion
EP1291878B1 (de) Steuereinrichtung zur Steuerung von Burst-Zugriffen
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE10116914A1 (de) Schaltungsanordnung mit einem Speicherfeld
DE2703578A1 (de) Videospeicher
DE102005053916B4 (de) Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher
DE102004025900A1 (de) Leselatenz-Steuerschaltung
DE102006036969A1 (de) Elektronischer Schaltkreis, Wrapper-Schaltkreis, Speichersystem und Koppelverfahren
DE19954564B4 (de) Steuerungsschaltung für die CAS-Verzögerung
DE102005019568B4 (de) Speichereinrichtung, Verwendung derselben und Verfahren zur Synchronisation eines Datenwortes
DE102005009806A1 (de) Pufferbaustein für ein Speichermodul, Speichermodul und Speichersystem
DE19709229A1 (de) Ein Zeitablauf-konsistenter dynamischer Vergleich mit einer Zwangsfehlgriffschaltung
DE60015271T2 (de) Schaltungsanordnung zur parallel/seriell-wandlung
DE102008004857B4 (de) Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
DE102005053294B4 (de) Schaltungsanordnung zur zeitlichen Verzögerung von Lesedaten, Halbleiterspeicherschaltung und Verfahren
DE102005053486B4 (de) Schaltungsanordnung zur Erzeugung eines n-Bit Ausgangszeigers, Halbleiterspeicher und Verfahren
EP1148647A2 (de) Schaltungsanordnung zum Empfang von wenigstens zwei digitalen Signalen
EP1548603B1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE102004020030A1 (de) Testvorrichtung zum Testen einer integrierten Schaltung
DE602004005806T2 (de) Serieller Speicher mit Mitteln zur Integration eines erweiterten Speicherfeldes
DE10156749B4 (de) Speicher, Prozessorsystem und Verfahren zum Durchführen von Schreiboperationen auf einen Speicherbereich
DE102007003584A1 (de) Phasendetektor

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee