DE10315528B4 - Datenspeicherschaltung - Google Patents

Datenspeicherschaltung Download PDF

Info

Publication number
DE10315528B4
DE10315528B4 DE10315528A DE10315528A DE10315528B4 DE 10315528 B4 DE10315528 B4 DE 10315528B4 DE 10315528 A DE10315528 A DE 10315528A DE 10315528 A DE10315528 A DE 10315528A DE 10315528 B4 DE10315528 B4 DE 10315528B4
Authority
DE
Germany
Prior art keywords
command
data storage
buffer
storage circuit
execution
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
DE10315528A
Other languages
English (en)
Other versions
DE10315528A1 (de
Inventor
Bernhard Dr.rer.nat. Knüpfer
Helmut Dr.-Ing. Fischer
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
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 DE10315528A priority Critical patent/DE10315528B4/de
Priority to US10/817,504 priority patent/US7360036B2/en
Publication of DE10315528A1 publication Critical patent/DE10315528A1/de
Application granted granted Critical
Publication of DE10315528B4 publication Critical patent/DE10315528B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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

Abstract

Datenspeicherschaltung (10) mit einer Vielzahl adressierbarer Speicherzellen (11), einer Befehls-Decodiereinrichtung (13) zum Decodieren externer Befehle und einer Steuereinrichtung (12) zum Steuern oder Einleiten von Operationen für den Betrieb der Datenspeicherschaltung (10) jeweils abhängig von den decodierten Befehlen, wobei sich im Laufe bestimmter Operationen in der Datenspeicherschaltung (10) kritische Betriebszustände ergeben, in denen die Ausführung bestimmter Befehle unzulässig ist,
mit einer Entscheidungseinrichtung zum Erkennen der Unzulässigkeit empfangener Befehle,
gekennzeichnet durch
eine Befehlspuffereinrichtung (50-1:n), die Befehle, welche während der Dauer ihrer Unzulässigkeit empfangen werden, zwischenspeichert und sie nach Beendigung ihrer Unzulässigkeit zur Ausführung freigibt.

Description

  • Die Erfindung betrifft eine Datenspeicherschaltung mit einer Vielzahl adressierbarer Speicherzellen, einer Befehls-Decodiereinrichtung zum Decodieren externer Befehle und einer Steuereinrichtung zum Steuern oder Einleiten von Operationen für den Betrieb der Speicherschaltung jeweils abhängig von den decodierten Befehlen, gemäß dem Oberbegriff des Patentanspruchs 1. Bevorzugtes, jedoch nicht ausschließliches Anwendungsgebiet der Erfindung sind DRAMs (Dynamic Random Access Memories), d. h. dynamische Schreib-Lese-Speicher mit der Möglichkeit direkten Zugriffs auf die Speicherzellen.
  • Zum Betrieb einer Datenspeicherschaltung gehört vor allem das Einschreiben und Auslesen von Daten an selektiv adressierten Speicherzellen. Ein Schreib- oder Lesezugriff besteht im Prinzip darin, eine Datenverbindung herzustellen zwischen den jeweils adressierten Speicherzellen und den Datenanschlüssen der Speicherschaltung, was üblicherweise durch Schließen ausgewählter elektronischer Schalter in einem Netz von Steuer- und Datenleitungen besteht, welches das gesamte Feld der Speicherzellen überzieht. Jeder Schreib- oder Lesevorgang besteht aus einer Abfolge einzelner Operationen, und bei den meisten gebräuchlichen Speicherschaltungen werden die betreffenden Operationsbefehle von einem externen Controller angelegt. Der Controller "kennt" im allgemeinen die Spezifikation der Speicherschaltung und "weiß" somit von vorn herein, wie lange die Ausführung eines Operationsbefehls dauert und wie lange er demzufolge warten muss, bis er einen neuen Befehl senden darf, der die zuvor befohlene Operation beendet.
  • Es kann jedoch vorkommen, dass der Controller nicht exakt auf die Spezifikation der Speicherschaltung abgestimmt ist und einen neuen Befehl verfrüht absendet. In diesem Fall darf der neue Befehl nicht befolgt werden, zumindest dann nicht, wenn die neu befohlene Operation auf eine erfolgreiche Ausführung der vorherigen Operation baut.
  • Des weiteren gibt es in manchen Speicherschaltungen gewisse Betriebsabläufe, die vom Controller durch einen Befehl eingeleitet werden und dann als interner selbstgesteuerter Prozess ablaufen, z. B. unter dem Einfluss eines internen Taktsignals, ohne Synchronisation mit dem Controller. Hierbei kann es sich um Prozesse handeln, die zwar durch einen neuen Befehl unterbrochen werden dürfen, jedoch nicht während bestimmter kritischer Phasen ihres Ablaufs. Da der Controller nicht weiß oder wissen kann, wann genau diese kritischen Phasen existieren, besteht die Möglichkeit, dass ein neuer Befehl zeitlich mit einer solchen Phase zusammenfällt. Auch in diesem Fall darf der neue Befehl nicht befolgt werden. Ein Beispiel für solche selbstgesteuerte Prozesse ist die "selbstgesteuerte Auffrischung" von Daten (Self-Timed Refresh) in DRAMs.
  • Bei DRAMs sind die Speicherzellen innerhalb einzelner Felder oder Segmente jeweils matrixförmig in Zeilen und Spalten angeordnet. Jeder Zeile ist eine als "Wortleitung" bezeichnete Steuerleitung zugeordnet, und jeder Spalte ist eine sogenannte "Bitleitung" zugeordnet, die üblicherweise zweiadrig ist und zu einem der betreffenden Spalte zugeordneten Verstärker führt. Diese Verstärker werden als "Leseverstärker" bezeichnet, obwohl sie nicht nur auszulesende Daten sondern auch einzuschreibende Daten verstärken. Der Zugriff auf eine Zelle wird begonnen durch Aktivierung der betreffenden Wortleitung gemäß einer Zeilenadresse, wodurch Schalter an allen Zellen der zugeordneten Zeile geschlossen (also leitend gemacht) werden, um diese Zellen über die Bitleitungen mit den Leseverstärkern zu verbinden. Im einzelnen wird bei diesem Vorgang die Ladung der Zellen auf die Bitleitungen entleert, die bis dahin auf ein gemeinsames "Vorladepotential" gelegt waren. Infolge der Entleerung der Zellenladung steigt oder sinkt das Potential der einen Bitleitsader jeweils gegenüber der anderen Bitleitungsader, die auf dem Vorladepotential verbleibt. Die Leseverstärker detektieren die jeweiligen Potentialunterschiede der Bitleitungspaare und verstärken diese Unterschiede, so dass die Bitleitungsader mit niedrigerem Potential auf das "niedrige" (Masse-)Potential "L" und die Bitleitungsader mit höherem Potential auf das "hohe" Versorgungspotential "H" des Speicherzellenfeldes gebracht wird. Hierdurch wird die an den Zellen gefühlte Information verstärkt in die Zellen zurückgeschrieben und somit aufgefrischt.
  • Im eigentlichen Lese- oder Schreibbetrieb werden, nach dem vorstehend beschriebenen Aktivierungsvorgang, die Leseverstarker selektiv unter Steuerung durch Spaltenadressinformation mit den Datenanschlüssen des DRAM verbunden. Beim Lesen werden die in den Leseverstärkern "gelatchten" (also gehaltenen) Daten an den Datenanschlüssen entnommen; zum Schreiben werden die in den Leseverstärkern gehaltenen Daten von den an den Datenanschlüssen eingegebenen neuen Daten überschrieben und somit über die Bitleitungen in die Speicherzellen übertragen.
  • Da die Zellen ihre Ladung und somit die in ihnen gespeicherte Information aber jeweils nach relativ kurzer Zeit verlieren, müssen sie zwischen den Lese- oder Schreibzugriffen periodisch aufgefrischt werden. Zu diesem Zweck müssen alle Wortleitungen des DRAM nacheinander in geeigneten zeitlichen Abständen aktiviert werden, um das oben beschriebene verstärkte Zurückschreiben der gefühlten Zellinformation zu bewirken. Nach dem so erfolgten Auffrischen der Zellinformation wird die betreffende Wortleitung wieder in den nicht-aktiven Normalzustand gebracht, wodurch die Bitleitungsadern von den Speicherzellen elektrisch isoliert werden. Ist dies erfolgt, so werden beide Bitleitungsadern wieder auf das gemeinsame Vorladepotential gebracht ("Precharge"-Zustand). Der gesamte Vorgang der Wortleitungsaktivierung und Bitleitungsverstärkung durch den Leseverstärker beansprucht eine gewisse Mindestzeit, die durch den Spezifikationsparameter tRAS be schrieben wird. Wird diese Zeit verkürzt, etwa durch eine zu frühe Ausführung des internen "Precharge" (also des Vorladens) der Bitleitungen, so kann nicht der volle Ladungszustand der Zellen wiederhergestellt werden. Im Extremfall kann die Zellinformation auf diese Weise anstatt aufgefrischt sogar geschwächt werden. Um diese Gefahr auszuschließen, wird bei der Wortleitungsaktivierung ein tRAS-Timer aktiviert, der die Ausführung des Precharge erst dann veranlasst, wenn der volle Ladungszustand der Zellen hergestellt ist. Diese Wartezeit bedeutet somit einen kritischen Betriebszustand des DRAM, während dessen bestimmte externe Befehle als unzulässig anzusehen sind, weil ihre Ausführung zu dieser Zeit unzulässig wäre.
  • Im laufenden Nutzbetrieb des DRAM koordiniert der externe Controller die Auffrischungszyklen mit den Schreib- und Lesezyklen, etwa indem er jeweils rechtzeitig zwischen Schreib- bzw. Lesevorgängen einen "Autorefresh"-Befehl sendet, um einen internen Refreshzähler in Gang zu setzen, der über den gemeinsamen Systemtakt mit dem Controller synchronisiert ist und die zyklische Aktivierung der Wortleitungen für die Auffrischung steuert. Infolge dieser Synchronisierung und in Kenntnis der Spezifikation des DRAM kann der Controller vermeiden, dass sein nächster Befehl (z. B. der externe Aktivierungsbefehl bei Wiederaufnahme eines Schreib- oder Lesezyklus) in die Laufzeit des tRAS-Timers fällt.
  • Beim Self-Timed Refresh ist die Sache jedoch anders. Dieser Betrieb wird während längerer Ruhezeiten des DRAM durchgeführt. Hierzu wird das durch das DRAM gesteuerte Auffrischen der Zellinformation einmal durch ein externes Kommando des Controllers angestoßen, üblicherweise durch Nullsetzung seines Ausgangssignals CKE ("Clock Enable") bei gleichzeitiger Abgabe des Autorefresh-Befehls. Das DRAM bleibt in diesem Zustand, solange das externe Signal CKE den Logikwert 0 beibehält. Während dieser Zeit läuft im DRAM eine Self-Refresh-Zeitsteuereinrichtung unter dem Einfluss eines internen Os zillators und steuert ohne externe Einwirkung die sequentielle Aktivierung der Wortleitungen. Für den Controller bleibt dieser Ablauf verborgen. Wenn CKE durch den Controller auf eine logische 1 gebracht wird, verlässt das DRAM den Zustand des Self-Timed Refresh. Falls zu dieser Zeit aber gerade ein Wortleitungsrefresh im Gange ist, wird der Precharge durch den tRAS-Timer solange verzögert, bis das vollständige Auffrischen der entsprechenden Speicherzellen gewährleistet ist. Sollte während dieser Zeit der Controller einen der unzulässigen Befehle an das DRAM richten (z. B. Aktivierung einer anderen Wortleitung), so wird die Ausführung dieses Befehls im DRAM blockiert, und der Befehl wird verworfen. Diese Befehlsverweigerung erfolgt aufgrund einer Zustandsanzeige, welche besagt, dass die vom tRAS-Timer bestimmte Zeit noch nicht abgelaufen ist.
  • Der vorstehend beschriebene Self-Timed Refresh in einem DRAM ist nur ein anschauliches Beispiel für Prozesse oder Operationen, die in einem Datenspeicher ablaufen sollen und nicht jederzeit durch jeden beliebigen externen Befehl abgebrochen oder gestört werden dürfen. Es hängt vom jeweiligen Typ des Datenspeichers ab, welche derartige Prozesse hierfür in Frage kommen und welche externen Befehle jeweils unzulässig sind. Es gibt auch verschiedene bekannte Methoden, um unzulässige Befehle als solche zu erkennen und deren Ausführung zu sperren. Wie z. B. in US 6 377 509 B2 beschrieben ist, kann die Entscheidung über die Unzulässigkeit getroffen werden, indem man die aus dem vorherigen Befehl abgeleiteten Betriebssteuersignale berücksichtigt, die direkten oder indirekten Aufschluss über den jeweiligen Betriebszustand der Speicherschaltung geben, und die Sperrung der Befehlsausführung kann entweder durch Maskierung der aus dem unzulässigen Befehl abgeleiteten Betriebssteuersignale oder schon durch Verweigerung der Annahme des unzulässigen Befehls erfolgen. In jedem Fall aber wird der unzulässige Befehl verworfen.
  • Das Verwerfen von externen Befehlen an einer Datenspeicherschaltung kann zu ernsthaften Störungen des gesamten Systems führen, in dem sich die Speicherschaltung befindet. Die Aufgabe der Erfindung besteht darin, eine Datenspeicherschaltung so auszubilden, dass Situationen vermieden werden, in denen externe Befehle verworfen werden müssen. Diese Aufgabe wird erfindungsgemäß durch den im Patentanspruch 1 angegebenen Gegenstand gelöst.
  • Demnach wird die Erfindung realisiert an einer Datenspeicherschaltung mit einer Vielzahl adressierbarer Speicherzellen, einer Befehls-Decodiereinrichtung zum Decodieren externer Befehle und einer Steuereinrichtung zum Steuern oder Einleiten von Operationen für den Betrieb der Datenspeicherschaltung jeweils abhängig von den decodierten Befehlen, wobei sich im Laufe bestimmter Operationen in der Datenspeicherschaltung kritische Betriebszustände ergeben, in denen die Ausführung bestimmter Befehle unzulässig ist, und wobei eine Entscheidungseinrichtung zum Erkennen der Unzulässigkeit empfangener Befehle vorgesehen ist. Gemäß der Erfindung ist eine Befehlspuffereinrichtung vorgesehen, die Befehle, welche während der Dauer ihrer Unzulässigkeit empfangen werden, zwischenspeichert und sie nach Beendigung ihrer Unzulässigkeit zur Ausführung freigibt.
  • Dank der erfindungsgemäß vorhandenen Befehlspuffereinrichtung kann die Datenspeicherschaltung jeden externen Befehl ausführen, auch wenn der Befehl zum Zeitpunkt seines Empfangs unzulässig ist weil seine Ausführung zu diesem Zeitpunkt unverträglich mit einem gerade herrschenden Betriebszustand ist.
  • Es ist an sich bekannt, Befehlspuffer in Datenspeicherschaltungen vorzusehen. Solche Puffer wurden bisher jedoch zu anderen Zwecken und in anderer als der erfindungsgemäßen Weise eingesetzt. So ist in US 6 385 691 B2 beschrieben, einen Befehlspuffer mit Befehlen zu füllen, die unabhängig von externen Befehlen abgerufen werden können. Dies kann ersichtlich nichts zur Handhabung unzulässiger externer Befehle beitragen.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen gekennzeichnet. Zur näheren Erläuterung der Erfindung wird nachstehend ein Ausführungsbeispiel anhand von Zeichnungen beschrieben.
  • 1 zeigt schematisch den Aufbau einer erfindungsgemäß ausgebildeten Datenspeicherschaltung mit externem Controller.
  • 2 zeigt nähere Einzelheiten eines Ausführungsbeispiels einer erfindungsgemäßen Pufferschaltung in der Datenspeicherschaltung nach 1.
  • 3 zeigt eine modifizierte Version der Pufferschaltung nach 2
  • Die in 1 schematisch dargestellte Datenspeicherschaltung 10 ist ein "synchrones" DRAM (SDRAM), dessen Bestandteile alle auf einem Chip integriert sind, wie mit der fetten rechteckigen Umrisslinie angedeutet. Die Menge der Speicherzellen, die auf mehrere Bänke mit jeweils mehreren Segmenten verteilt sein können, ist schematisch durch den schattierten Block 11 dargestellt. Als weitere Blöcke auf dem Chip sind eine interne Steuereinrichtung 12 und ein Befehlsdecoderblock 13 (gestrichelte Umrisslinie) dargestellt.
  • Am Chip des DRAM 10 befinden sich mehrere externe Anschlüsse, von denen gezeigt sind: ein Datenanschluss DAT zur Ein- und Ausgabe von Speicherdatenbits in Parallelform; ein Adressanschluss ADR zum Anlegen von Adressbits in Parallelform; ein Befehlsanschluss zum Anlegen von m parallelen Befehlsbits CMB; ein Anschluss zum Anlegen eines Systemtaktsignals CLS; ein Anschluss zum Anlegen des Taktaktivierungssignals CKE.
  • Die Steuereinrichtung 12 steuert die Operationen des DRAM 10 abhängig von den m Befehlsbits CMB, die üblicherweise von einem externen Controller 20 (Memory Chip Controller MCC) geliefert werden. Hierzu werden die Befehlsbits CMB im Befehlsdecoderblock 13 decodiert, derart dass mit jedem Befehl eine bestimmte Kombination von Befähigungsleitungen ENL erregt wird, um bestimmte Elemente in der Steuereinrichtung 12 für die Ausführung des betreffenden Befehls zu konditionieren. So führt z. B. der Befehl "Aktivierung" (ACTIVATE) zur Erregung derjenigen Befähigungsleitungen ENL, welche die Elemente u. a. für den Abruf der Zeilenadresse an einem Adressenpuffer, für die Aufhebung des Precharge der Bitleitungen und für das Schalten der Wortleitung der adressierten Zeile auf H-Potential konditionieren. Ein anschließender Befehl "Lesen" erregt die Befähigungsleitungen ENL, welche die Elemente für die Aufrechterhaltung H-Potentials an der Wortleitung, für den Abruf der Spaltenadresse und für das Verbinden der gemäß Spaltenadresse selektierten Leseverstärker mit den Datenanschlüssen DAT konditioniert. Die einzelnen Schritte innerhalb solcher (und anderer) befohlener Operationen werden durch ein internes Taktsignal CLK zeitgesteuert, das eingeschaltet ist und mit dem Systemtaktsignal CLS synchronisiert wird, solange das Signal CKE vom Controller den Logikwert "1" hat.
  • Üblicherweise führt der Befehlsdecoderblock 13 die Decodierung der vom Controller 20 gesendeten Befehle in zwei Stufen durch. Gemäß der Darstellung in 1 empfängt ein Befehls-Vordecoder 30 die m Befehlsbits CMB und bringt für jede von n verschiedenen Bitkombinationen genau ein zugeordnetes Exemplar von n Befehlsleitungen CM-1 bis CM-n vorübergehend in einen aktivierten Zustand, und zwar für die Dauer einer Halbwelle des Taktsignals CLK. Ist m die Bitbreite der Befehlsbits, dann sind höchstens n = 2m verschiedene Befehle möglich, und jeder Befehl "i" wird durch Erregung der zugeordneten Befehlsleitung CM-i angezeigt (mit i = 1, 2, ... n). Ein Befehls-Enddecoder 40 hat n Eingänge, auf welche die Zustände der n Befehlsleitungen CM-1:n übertragen werden können (der Doppelpunkt ":" steht hier und im Folgenden für das Wort "bis").
  • Beim Stand der Technik werden die Zustände aller n Befehlsleitungen immer direkt an die n Eingänge des Enddecoders 40 übertragen. Somit bewirkt jeder Befehl unmittelbar die Aktivierung eines individuell zugeordneten Eingangs des Enddecoders 40, der daraufhin alle diejenigen Befähigungsleitungen ENL erregt, die zu den Steuerelementen für die Ausführung des betreffenden Befehls führen. Wenn zu diesem Zeitpunkt eine Operation im DRAM ein kritisches Stadium durchläuft, welches die Ausführung des Befehls nicht duldet, sorgt beim Stand der Technik ein Blockadesignal dafür, dass die betreffenden Steuerelemente nicht auf die Erregung der zugeordneten Befähigungsleitungen ansprechen. Der Befehl wird also ignoriert und verworfen.
  • Bei der erfindungsgemäßen Ausbildung des DRAM 10 nach 1 ist zwischen jeder Befehlsleitung CM-i und dem zugeordneten Eingang des Enddecoders 40 jeweils eine Pufferschaltung 50-i eingefügt. Jede Pufferschaltung 50-i empfängt neben dem Signal der zugeordneten Befehlsleitung CM-i das Taktsignal CLK und eine Zustandsanzeige DST, die aus der Steuereinrichtung 12 abgeleitet werden. Die Zustandsanzeige DST gibt Aufschluss darüber, ob im DRAN momentan ein kritischer Betriebszustand besteht, mit dem die Ausführung eines neuen Befehls in Konflikt geraten könnte. Vorzugsweise wird die Zustandsanzeige DST durch Aktivierung jeweils bestimmter Anzeigeleitungen in einem Leitungsbündel gegeben, womit auch angezeigt wird, um welche Art von kritischem Betriebszustand es sich handelt.
  • In jeder Pufferschaltung 50-i wird die Zustandsanzeige DST mit dem Zustand ("aktiviert" oder "nicht-aktiviert") der zugeordneten Befehlsleitung CM-i logisch verknüpft, um festzustellen, ob sich ein durch Aktivierung dieser Befehlsleitung angezeigter Befehl mit dem durch DST angezeigten Betriebszustand des DRAN verträgt. Falls nein, wenn also ein Konflikt zu befürchten ist, wird der Befehl als "unzulässiger Befehl" gedeutet, und diese Tatsache wird in der Pufferschaltung gespeichert, vorzugsweise durch Setzen eines Flipflops. Sobald DST anzeigt, dass das DRAN in einem Betriebszustand ist, der sich mit der Ausführung des bisher unzulässigen Befehls verträgt, wird der Zustand des Flipflops abgefragt und als Aktivierungsimpuls auf den zugeordneten Enddecoder-Eingang übertragen. Konfliktfälle werden also nicht wie beim Stand der Technik durch Verwerfen eines momentan unzulässigen Befehls vermieden, sondern durch Pufferung der Befehlsweitergabe.
  • Ein Beispiel für die schaltungstechnische Realisierung einer geeigneten Pufferschaltung 50-i ist in der 2 gezeigt. Die Pufferschaltung 50-i enthält verschiedene logische Schaltungen, die binäre Signale mit den Logikwerten (Binärzuständen) "0" bzw. "1" empfangen, verarbeiten und abgeben. Für die gezeigte Pufferschaltung sei folgendes angenommen: Das Taktsignal CLK wechselt von Halbwelle zu Halbwelle zwischen den beiden Logikwerten "0" und "1". Wenn der Vordecoder 30 (1) das Erscheinen des Befehls i decodiert, geht die zugeordnete Befehlsleitung CM-i für die Dauer einer "1"-Halbwelle des Taktsignals CLK in ihren "aktivierten" Zustand, der dem Logikwert "1" entspricht; ansonsten ist die Befehlsleitung auf dem Logikwert "0".
  • Die Pufferschaltung 50-i enthält eine Auswerteschaltung 51-i, welche die DRAN-Zustandsanzeige DST empfängt und analysiert. Die Auswerteschaltung 51-i erkennt aus den Bits der DRAM-Zustandsanzeige DST alle diejenigen Zustände des DRAM 10, die sich mit einer Ausführung des Befehls i nicht vertragen. Für die Dauer der Existenz eines solchen unverträglichen Zustandes ist das Ausgangssignal A51 der Auswerteschaltung 51-i auf "1" und bildet ein Pufferbereitschaftssignal, ansonsten ist A51 auf "0". Der Zustand des Signals A51 wird in einem UND-Gatter 52 mit dem Zustand der Befehlsleitung CM-i verknüpft. Nur wenn während der Erkennung eines mit dem Befehl i unverträglichen Zustandes (A51 = "1") die Befehlsleitung CM-i auf "1" geht, also der Befehl i als ein unzulässiger Befehl erscheint, geht das Ausgangssignal A52 des UND-Gatter 52 vorübergehend auf "1". Die "positive" Vorderflanke dieses "1"-Impulses setzt ein flankengetriggertes RS-Flipflop 53, so dass dessen Ausgangssignal A53 auf "1" geht und bis auf weiteres in diesem Zustand gehalten wird.
  • Der "1"-Zustand des Signals A53 bewahrt also die Information, dass ein Befehl i während der Zeit seiner Unzulässigkeit empfangen wurde, also während eines mit diesem Befehl unverträglichen "kritischen" DRAM-Zustandes. Dieser Befehl soll als "1"-Impuls zum Enddecoder 40 weitergegeben werden, sobald der kritische DRAM-Zustand beendet ist. Hierzu dient ein weiters UND-Gatter 55, dem neben dem Signal A53 die invertierte Version des Signals A51 und das Taktsignal CLK zugeführt wird und dessen Ausgang mit der Befehlsleitung CM-i verbunden ist. Solange der kritische DRAN-Zustand besteht, hält A51 das UND-Gatter 55 gesperrt. Wenn der kritische DRAM-Zustand zu Ende ist und A51 somit auf "0" gegangen ist, schaltet das UND-Gatter für die Dauer der nächstfolgenden "1"-Halbwelle des Taktsignals CLK durch und gibt somit den gewünschten "1" Impuls zum Enddecoder 40, um den Befehl i ausführen zu lassen. Dieser Impuls beginnt also mit der positiven Flanke des Taktsignals CLK und endet mit dessen negativer Flanke.
  • Anschließend muss das Flipflop 53 möglichst sofort wieder zurückgesetzt werden, um zu verhindern, dass der "1"-Impuls am Ausgang A55 durch die nachfolgenden "1"-Halbwellen des Taktsignals CLK wiederholt wird. Dies erledigt ein drittes UND-Gatter 54, das die invertierte Version des Signals A51 und die invertierte Version des Taktsignals CLK empfängt und dessen Ausgang mit dem Rücksetzeingang R des Flipflops 53 verbunden ist. Wenn und so lange kein kritischer DRAN-Zustand herrscht, lässt das UND-Gatter das invertierte Taktsignal durch, so dass das Flipflop mit jeder negativen Flanke des Taktsignals CLK zurückgesetzt wird. Das Flipflop bleibt also außerhalb der für einen Befehl i kritischen DRAM-Betriebszustände zurückgesetzt und kann nur während eines kritischen DRAM-Zustandes gesetzt werden, weil in dieser Zeit die Rucksetzflanken am R-Eingang ausbleiben.
  • Bei der in 2 gezeigten Ausführungsform einer Pufferschaltung 50-i wird ein decodierter Befehl i auch während der Zeit seiner Unzulässigkeit über die Befehlsleitung CM-i zum Enddecoder übertragen. Dies schadet jedoch nicht, wenn die Steuereinrichtung 12 des DRAM 10 wie üblich über die bekannten Mittel verfügt, welche die Ausführung eines Befehls im Konfliktfall blockieren. Diese Blockademittel können jedoch zumindest teilweise eingespart und einfach dadurch ersetzt werden, dass man in die Befehlsleitung CM-i der Pufferschaltung 50-i einen Schalter einfügt, wie in 3 gezeigt.
  • Gemäß der 3 ist im Wege der Befehlsleitung CM-i zwischen dem Punkt, wo sich der Abzweig zum UND-Gatter 52 befindet, und dem Punkt, wo der Ausgang A55 des UND-Gatters 55 angeschlossen ist, ein Schalter 56 eingefügt, der auf das Ausgangssignal A51 der Auswerteschaltung 51-i anspricht. Der Schalter 56 ist normalerweise, wenn kein für den Befehl kritischer DRAM-Zustand vorliegt und somit das Signal A51 den Logikwert "0" hat, in seiner gestrichelt gezeichneten geschlossenen Stellung, so dass ein Befehl i zum Enddecoder 40 (1) durchgeleitet wird. Sobald und so lange der kritische DRAN-Zustand erkannt wird und das Signal A51 demzufolge auf "1" ist, ist der Schalter 56 geöffnet, so dass ein während des kritischen Zustandes decodierter Befehl i nicht zum Enddecoder 40 gelangt und infolgedessen nicht ausgeführt wird. Ansonsten arbeitet die Schaltung nach 3 genau so, wie es oben anhand der 2 beschrieben wurde. Das heißt, der zurückgehaltene Befehl i wird sofort nach dem Ende des kritischen DRAN-Zustandes nachgeholt.
  • Vorzugsweise sind alle in 1 gezeigte Pufferschaltungen 50-1:n einander gleich ausgebildet, mit Ausnahme der jeweiligen Auswerteschaltung 51-i, die dem jeweiligen Befehl i speziell angepasst ist. Das heißt, jede Auswerteschaltung 51-i ist so programmiert, dass sie die Zustandsanzeige DST nur dann mit einer "1" beantwortet, wenn ein angezeigter DRAN-Zustand speziell den zugeordneten Befehl nicht verträgt. In der Zustandsanzeige DST kann sich z. B. für alle DRAN-Zustände, die überhaupt mit irgendeinem Befehl konfliktreich kollidieren könnten, jeweils eine eigens zugeordnete DST-Anzeigeleitung befinden, die nur beim Vorliegen des betreffenden Zustandes aktiviert ist. In diesem Fall genügt es, in jeder Auswerteschaltung 51-i eine simple ODER-Verknüpfung genau derjenigen "kritischen" DST-Anzeigeleitungen vorzunehmen, die den mit dem betreffenden Befehl i unvereinbaren DRAM-Zuständen zugeordnet sind.
  • Wie eingangs erwähnt, ist einer der kritischen Betriebszustände in einem DRAM die einzuhaltende tRAS-Zeit zwischen der Aktivierung einer Wortleitung und dem Precharge. Während dieser Zeit, die durch den Lauf des tRAS-Zählers angezeigt wird, darf keine neue Wortleitungsaktivierung und auch kein Precharge erfolgen. Somit sollten alle Pufferschaltungen, die Befehlen zugeordnet sind, deren Ausführung eine Wortleitungsaktivierung und/oder ein Precharge zur Folge hätte, auf die tRAS-Anzeige ansprechen, um den betreffenden Befehl erst nach Ablauf der tRAS-Zeit weiterzugeben bzw. zu wiederholen. Dies betrifft u. a. den Aktivierungsbefehl (ACTIVATE), den Befehl für einen Spaltenzugriff für Lese- oder Schreibbetrieb (READ, WRITE), ferner den Autorefresh-Befehl und praktisch jeden Befehl, der nach der Wiedererweckung des extern gesteuerten Speicherbetriebs aus einem Self-Timed Refresh an das DRAM gerichtet werden kann. Es betrifft auch eventuelle externe "Precharge"-Befehle im Falle eines DRAM, dessen Bitleitungs-Precharge nicht automatisch (wie beim sogenannten Auto-Precharge) erfolgt.
  • Ein anderer kritischer Betriebszustand eines DRAM für bestimmte Befehle kann der Lauf des tWR-Zählers sein, der ein verfrühtes Precharge nach dem Start der Ausführung eines Schreibbefehls verhindert. Somit sollten alle Pufferschaltungen, die Befehlen zugeordnet sind, deren Ausführung eine Wortleitungsaktivierung und/oder ein Precharge zur Folge hätte, auch auf die tWR-Anzeige ansprechen, um den betreffenden Befehl erst nach Ablauf der tWR-Zeit weiterzugeben bzw. zu wiederholen.
  • Die vorstehend genannten kritischen Betriebszustände und die für diese Betriebszustände als unzulässig genannten Befehle sind natürlich nur Beispiele. Es hängt vom jeweiligen Typ der Datenspeicherschaltung und ihrer Befehlsstruktur ab, welche Befehle während welcher Betriebszustände jeweils als unzulässig gelten müssen oder sollen. Wenn sichergestellt ist, dass der befehlsgebende externe Controller die Spezifikationen der Datenspeicherschaltung stets beachtet, ist es unwahrscheinlich, dass bei extern gesteuerten Betriebsabläufen ein Befehl zu unzulässiger Zeit gesendet wird. In solchen Fällen kann es genügen, die erfindungsgemäße Befehlspufferung auf Situationen zu beschränken, in denen ein externer Befehl einem kritischen Stadium eines intern gesteuerten Prozesses wie z. B. des Self-Timed Refresh begegnet. Auch diese Beschränkung liegt im Bereich der Erfindung und kann z. B. dadurch geschehen, dass man Pufferschaltungen nur für diejenigen Befehle vorsieht, die zum Abbruch intern gesteuerter Prozesse dienen könnten.
  • Hierdurch lässt sich der schaltungstechnische Aufwand für die Befehlspuffereinrichtung minimieren. Alternativ oder zusätzlich kann man dafür sorgen, dass die Befehlspuffereinrichtung nur dann in Funktion treten kann, wenn ein externer Befehl während kritischer Phasen eines intern gesteuerten Prozesses erscheint.
  • Die den in den Zeichnungen dargestellte zweistufige Struktur der Befehls-Decodiereinrichtung 30 und auch die dargestellten Pufferschaltungen selbst sind nur Ausführungsbeispiele für eine mögliche schaltungstechnische Realisierung der Erfindung.

Claims (8)

  1. Datenspeicherschaltung (10) mit einer Vielzahl adressierbarer Speicherzellen (11), einer Befehls-Decodiereinrichtung (13) zum Decodieren externer Befehle und einer Steuereinrichtung (12) zum Steuern oder Einleiten von Operationen für den Betrieb der Datenspeicherschaltung (10) jeweils abhängig von den decodierten Befehlen, wobei sich im Laufe bestimmter Operationen in der Datenspeicherschaltung (10) kritische Betriebszustände ergeben, in denen die Ausführung bestimmter Befehle unzulässig ist, mit einer Entscheidungseinrichtung zum Erkennen der Unzulässigkeit empfangener Befehle, gekennzeichnet durch eine Befehlspuffereinrichtung (50-1:n), die Befehle, welche während der Dauer ihrer Unzulässigkeit empfangen werden, zwischenspeichert und sie nach Beendigung ihrer Unzulässigkeit zur Ausführung freigibt.
  2. Datenspeicherschaltung nach Anspruch 1, dadurch gekennzeichnet, dass verschiedene kritische Betriebszustände möglich sind, in deren jedem eine ihm zugeordnete Menge von Befehlen unzulässig ist, wobei die Befehlspuffereinrichtung (50-1:n) für jeden einzelnen Befehl (i) der Menge der möglicherweise unzulässigen Befehle eine individuell zugeordnete Pufferschaltung (50-i) aufweist, enthaltend: – eine Zustands-Auswerteschaltung (51-i), die während genau derjenigen Zeit, in welcher mindestens ein für die Ausführung des zugeordneten Befehls kritischer Betriebszustand vorliegt, ein Pufferbereitschaftssignal (A51) erzeugt; – eine Logikschaltung (5255), die nur dann, wenn der zugeordnete Befehl (i) während der Dauer des Pufferbereitschaftssignals (A51) erscheint, ein bistabiles Element (53) in einen ersten Zustand versetzt, und die nach dem Ende des Pufferbereitschaftssignals (A51) den Befehl er neut erzeugt, falls das bistabile Element in seinem ersten Zustand ist.
  3. Datenspeicherschaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Steuereinrichtung (12) Blockademittel enthält, welche die Ausführung von Befehlen während ihrer Unzulässigkeit blockieren.
  4. Datenspeicherschaltung nach Anspruch 1, dadurch gekennzeichnet, dass die Befehlspuffereinrichtung (50-1:n) die Weitergabe eines empfangenen Befehls an die Steuereinrichtung (12) während der Unzulässigkeit des Befehls sperrt.
  5. Datenspeicherschaltung nach Anspruch 2, dadurch gekennzeichnet, dass die Befehls-Decodiereinrichtung (13) einen Vordecoder (30) enthält, der für jeden empfangenen Befehl (i) eine genau diesem Befehl zugeordnete Befehlsleitung (CM-i) aktiviert, und einen Enddecoder (40), der abhängig davon, welche der Befehlsleitungen aktiviert ist, ausgewählte Befähigungsleitungen (ENL) der Steuereinrichtung (12) erregt, wobei jede Pufferschaltung (50-i) an die jeweils zugeordnete Befehlsleitung (CM-i) zwischen dem Vordecoder (30) und dem Enddecoder (40) angeschlossen ist, um den betreffenden Befehl (i) von dieser Befehlsleitung (CM-i) zu empfangen und den von ihr erneut erzeugten Befehl an diese Befehlsleitung zu legen.
  6. Datenspeicherschaltung nach den Ansprüchen 4 und 5, dadurch gekennzeichnet, dass jede Pufferschaltung (50-i) im Wege der zugeordneten Befehlsleitung (CM-i) einen Schalter (56) enthält, der genau während der Dauer des Pufferbereitschaftssignals (A51) geöffnet wird, um die Weitergabe einer vom Vordecoder (30) bewirkten Aktivierung der Befehlsleitung (CM-i) an den Enddecoder (40) zu sperren.
  7. Datenspeicherschaltung nach einem der vorherge henden Ansprüche, dadurch gekennzeichnet, dass die Quelle (20) der externen Befehle hinsichtlich der Zeiten der Befehlsabgabe an die Spezifikationen der Datenspeicherschaltung angepasst ist, wobei die Funktion und/oder der Umfang der Befehlspuffereinrichtung auf diejenigen externen Befehle beschränkt ist, deren Durchführung zum Abbruch intern gesteuerter Prozesse in der Datenspeicherschaltung (10) führt.
  8. Datenspeicherschaltung nach Anspruch 7, dadurch gekennzeichnet, dass die Funktion und/oder der Umfang der Befehlspuffereinrichtung auf zumindest diejenigen externen Befehle beschränkt ist, deren Durchführung zum Abbruch eines selbstgesteuerten Daten-Auffrischungsprozesses (Self-Timed Refresh) in der Speicherschaltung (10) führt.
DE10315528A 2003-04-04 2003-04-04 Datenspeicherschaltung Expired - Fee Related DE10315528B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10315528A DE10315528B4 (de) 2003-04-04 2003-04-04 Datenspeicherschaltung
US10/817,504 US7360036B2 (en) 2003-04-04 2004-04-02 Data memory circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10315528A DE10315528B4 (de) 2003-04-04 2003-04-04 Datenspeicherschaltung

Publications (2)

Publication Number Publication Date
DE10315528A1 DE10315528A1 (de) 2004-11-11
DE10315528B4 true DE10315528B4 (de) 2009-01-15

Family

ID=33154087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10315528A Expired - Fee Related DE10315528B4 (de) 2003-04-04 2003-04-04 Datenspeicherschaltung

Country Status (2)

Country Link
US (1) US7360036B2 (de)
DE (1) DE10315528B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811109B2 (en) 2012-02-27 2014-08-19 Qualcomm Incorporated Memory pre-decoder circuits employing pulse latch(es) for reducing memory access times, and related systems and methods
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377509B2 (en) * 2000-01-19 2002-04-23 Fujitsu Limited Semiconductor integrated circuit
US6385691B2 (en) * 1998-09-03 2002-05-07 Micron Technology, Inc. Memory device with command buffer that allows internal command buffer jumps

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898683B2 (en) * 2000-12-19 2005-05-24 Fujitsu Limited Clock synchronized dynamic memory and clock synchronized integrated circuit
US6404689B1 (en) * 2001-03-30 2002-06-11 International Business Machines Corporation Method and structure for hiding a refresh operation in a DRAM having an interlocked pipeline
JP2002304885A (ja) * 2001-04-05 2002-10-18 Fujitsu Ltd 半導体集積回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385691B2 (en) * 1998-09-03 2002-05-07 Micron Technology, Inc. Memory device with command buffer that allows internal command buffer jumps
US6377509B2 (en) * 2000-01-19 2002-04-23 Fujitsu Limited Semiconductor integrated circuit

Also Published As

Publication number Publication date
DE10315528A1 (de) 2004-11-11
US7360036B2 (en) 2008-04-15
US20040233759A1 (en) 2004-11-25

Similar Documents

Publication Publication Date Title
DE69723105T2 (de) Speicher und verfahren zum lesen von speicherelementenuntergruppen
DE10337855B4 (de) Schaltung und Verfahren zur Auswertung und Steuerung einer Auffrischungsrate von Speicherzellen eines dynamischen Speichers
DE60114503T2 (de) Speicher mit automatischer Auffrischungsfunktion und Schaltungeinheit mit automatischer interner Befehlsfunktion
DE69822368T2 (de) Halbleiterspeicherschaltung mit einem Selektor für mehrere Wortleitungen, und Prüfverfahren dafür
DE10214707B4 (de) Auffrisch-Mechanismus in dynamischen Speichern
DE102005003863B4 (de) Speichervorrichtung mit Nicht-Variabler Schreiblatenz
DE19526411A1 (de) Programmierbarer dynamischer Direktzugriffsspeicher (DRAM)
DE60305409T2 (de) Synchroner Halbleiterspeicher mit dynamischen Speicherzellen und Refresh-Verfahren
DE60119995T2 (de) System und verfahren zum frühen schreiben in speicher durch halten der bitleitung auf festem potential
DE102008026762A1 (de) Vorrichtung und Verfahren zum Betreiben einer integrierten Schaltung
DE10029887A1 (de) Synchrone Halbleiterspeichervorrichtung
DE10315528B4 (de) Datenspeicherschaltung
DE4212841A1 (de) Halbleiterspeichervorrichtung zum durchfuehren einer refresh-operation beim lesen oder schreiben
DE102004060579A1 (de) Verfahren und Vorrichtung zum Steuern von Auffrischzyklen eines Mehrzyklusauffrischschemas bei einem dynamischen Speicher
DE10332601B4 (de) Schaltung und Verfahren zur Steuerung eines Zugriffs auf einen integrierten Speicher
DE102004060644B4 (de) Direktzugriffsspeicher, Speichersteuerung und Verfahren unter Verwendung von Vorladezeitgebern in einem Testmodus
DE10124742C1 (de) Verfahren und Einrichtung zum Testen einer Speicherschaltung
DE10329370B3 (de) Schaltung und Verfahren zum Auffrischen von Speicherzellen eines dynamischen Speichers
DE10329369B4 (de) Schaltung und Verfahren zum Auffrischen von Speicherzellen eines dynamischen Speichers
DE10341537B4 (de) Halbleiterspeichervorrichtung und Testverfahren desselben unter Verwendung eines Zeilenkomprimierungstestmodus
DE102007060710A1 (de) Programmierbare Leseverstärker-Multiplexer-Schaltung mit dynamischem Haltemodus
DE102007060205A1 (de) Verzögerte Leseverstärker-Multiplexer-Isolation
DE60303045T2 (de) Auffrischen von mehrportspeicher in integrierten schaltungen
DE10135814C2 (de) Halbleiterspeicher mit Precharge-Steuerung
DE60316702T2 (de) Mehrport-speicherzellen

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
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

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

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

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee