DE69923769T2 - Asynchrones halbleiterspeicher-fliessband - Google Patents

Asynchrones halbleiterspeicher-fliessband Download PDF

Info

Publication number
DE69923769T2
DE69923769T2 DE69923769T DE69923769T DE69923769T2 DE 69923769 T2 DE69923769 T2 DE 69923769T2 DE 69923769 T DE69923769 T DE 69923769T DE 69923769 T DE69923769 T DE 69923769T DE 69923769 T2 DE69923769 T2 DE 69923769T2
Authority
DE
Germany
Prior art keywords
data
output
pipeline
clk
system clock
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 - Lifetime
Application number
DE69923769T
Other languages
English (en)
Other versions
DE69923769D1 (de
Inventor
Ian Mes
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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
Priority claimed from CA2233789A external-priority patent/CA2233789C/en
Application filed by Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of DE69923769D1 publication Critical patent/DE69923769D1/de
Application granted granted Critical
Publication of DE69923769T2 publication Critical patent/DE69923769T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • 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
    • 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/106Data output latches
    • 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
    • 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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Description

  • Die vorliegende Erfindung betrifft Halbleiterspeicher und insbesondere einen Datenzugriff in Pipeline-Ausführung in einem Speicher mit dynamischem wahlfreien Zugriff.
  • HINTERGRUND DER ERFINDUNG
  • In herkömmlichen dynamischen Speichern mit wahlfreiem Zugriff (DRAMs), die nicht in einer Pipeline-Ausführung sind, wird ein Datentransfer an den und von dem Speicher in einer Sequenz ausgeführt. Das heißt, wenn ein Lese- oder ein Schreibbefehl empfangen wird und eine Adresse verfügbar gemacht wird, wird der Datentransfer in Übereinstimmung mit entweder einem Lese- oder einem Schreibbefehl in seiner Gesamtheit ausgeführt, bevor ein anderer Befehl von dem Speicher akzeptiert wird. Dies führt dazu, dass nachfolgende Befehle um die Zeit verzögert werden, die für den Abschluss des gegenwärtigen Datentransfers benötigt wird.
  • Historisch sind DRAMs durch den Prozessor asynchron gesteuert worden. Dies bedeutet, dass der Prozessor Adressen auf die DRAM-Eingänge legt und diese unter Verwendung der Anschlussstifte des Zeilenadressen-Wählsignals (RAS) und des Spaltenadressen-Wählsignals (CAS) abgetastet werden. Die Adressen werden für eine erforderliche minimale Zeitspanne gehalten. Während dieser Zeit greift das DRAM auf die adressierten Stellen in dem Speicher zu und nach einer maximalen Verzögerung (Zugriffszeit) schreibt es entweder neue Daten von dem Prozessor in seinen Speicher oder stellt Daten von dem Speicher an seinen Ausgängen, damit der Prozessor sie liest, bereit.
  • Während dieser Zeit muss der Prozessor auf das DRAM warten, um verschiedene interne Funktionen wie eine Vorladung der Leitungen, eine Decodierung der Adressen und dergleichen auszuführen. Dies erzeugt einen "Wartezustand", in dem der Prozessor mit höherer Geschwindigkeit auf das DRAM wartet, um dadurch zu antworten, was das gesamte System verlangsamt.
  • Eine Lösung für dieses Problem besteht darin, die Speicherschaltung synchron zu machen, das heißt, Eingangs- und Ausgangshaltespeicher auf dem DRAM hinzuzufügen, die die Daten halten können. Eingangshaltespeicher können die Adressen, Daten und Steuersignale auf den Eingängen des DRAMs speichern, was den Prozessor für andere Tasks befreit. Nach einer vorgegebenen Anzahl von Taktzyklen können die Daten auf den Ausgangshaltespeichern eines DRAM mit einer synchronen Steuerung für einen Lesevorgang oder für eine Einschreibung in seinen Speicher für einen Schreibbetrieb verfügbar sein.
  • Eine synchrone Steuerung bedeutet, dass das DRAM (der DRAM-Speicher) Information hält, die zwischen dem Prozessor und ihm selbst unter der Steuerung des Systemtrakts transferiert wird. Somit ist ein Vorteil der synchronen DRAMs, dass der Systemtakt die einzige Timingflanke ist, die an dem Speicher bereitgestellt werden muss. Dies verringert oder beseitigt eine Ausbreitung von mehreren Timingabtastvorgängen um die gedruckte Schaltungsplatine herum.
  • Alternativ kann das DRAM asynchron gemacht werden. Es sei zum Beispiel angenommen, dass ein DRAM mit einer 60 ns-Verzögerung von einer Zeilenadressierung auf einen Datenzugriff gerade in einem System mit einem 10 ns-Takt verwendet wird, wobei der Prozessor die Zeilenadresse anlegen muss und sie aktiv halten muss, während er eine Abtastung mit dem (RAS) Anschlussstift vornimmt. 30 ns später folgt die Spaltenadresse, die gültig gehalten und mit dem (CAS) Anschlussstift abgetastet werden muss. Der Prozessor muss dann darauf warten, dass die Daten auf den Ausgängen 30 ns später auftreten, sich stabilisieren und gelesen werden.
  • Andererseits kann der Prozessor für eine synchrone Schnittstelle die Zeilen- und Spaltenadressen (und Steuersignale) in die Eingangshaltespeicher hinein verriegeln und andere Tasks vornehmen, während er auf das DRAM zum Ausführen des Lesebetriebs unter der Steuerung des Systemtakts wartet. Wenn die Ausgänge des DRAM sechs Zyklen (60 ns) später getaktet werden, sind die gewünschten Daten in den Ausgangshaltespeichern.
  • Eine synchrone DRAM-Architektur ermöglicht es auch, die durchschnittliche Zugriffszeit des DRAM durch eine Pipeline-Verarbeitung der Adressen zu beschleunigen. In diesem Fall ist es möglich, den Eingangshaltespeicher zum Speichern der nächsten Adresse bei dem Prozessor zu verwenden, während das DRAM gerade auf der vorangehenden Adresse arbeitet. Normalerweise sind dem Prozessor die Adressen, auf die zugegriffen werden soll, mehrere Zyklen vorher bekannt. Deshalb kann der Prozessor die zweite Adresse an den Eingangsadressen-Haltespeicher des DRAMs senden, um verfügbar zu sein, sobald sich die erste Adresse an die nächste Stufe der Verarbeitung in dem DRAM bewegt hat. Dies beseitigt die Notwendigkeit, dass der Prozessor auf einen vollen Zugriffszyklus wartet, bevor der nächste Zugriff auf das DRAM gestartet wird.
  • Ein Beispiel einer dreistufigen Spaltenadressen-Pipeline ist in dem schematischen Diagramm der 1(a) gezeigt. Der Spaltenadressen-Zu-Ausgang-Teil ist eine dreistufige Pipeline. Der Adressenpuffer ist der erste Haltespeicher. Der Spaltenschalter ist der zweite Haltespeicher und der Ausgangspuffer ist der dritte Haltespeicher. Die Latenz, die eigentümlich in der Spaltenzugriffszeit ist, wird deshalb zwischen diesen drei Stufen aufgeteilt.
  • Der Betrieb des Pipeline-Lesevorgangs kann wie folgt erläutert werden: Eine Spaltenadresse (A1) wird in einen Adressenpuffer hinein bei einem Taktzyklus getaktet und wird decodiert. Bei dem zweiten Taktzyklus transferiert der Spaltenschalter entsprechende Daten (D1) von dem Leseverstärker and den Lesebus und eine Spaltenadresse (A2) wird in den Adressenpuffer hinein getaktet. Bei einem Takt Drei werden die Daten (D1) in den Ausgangspuffer getaktet (D2) wird an den Lesebus transferiert und eine Adresse A3 wird in den Spaltenadressenpuffer getaktet. Wenn D1 auf dem Ausgang erscheint, sind D2 und D3 in der Pipeline dahinter. Für eine ausführlichere Diskussion der gegenwärtigen Technologie sei der Leser auf das Buch mit dem Titel (High Performance Memories) von Betty Prince verwiesen.
  • Die Verzögerung in der Anzahl von Taktzyklen zwischen der Verriegelung von CAS in einem SDRAM und die Verfügbarkeit des Datenbusses ist die "CAS-Latenz" des SDRAM. Wenn die Ausgangsdaten durch die zweite führende Flanke des Takts nach der Ankunft einer Spaltenadresse verfügbar sind, wird die Einrichtung so beschrieben, dass sie eine CAS-Latenz von Zwei aufweist. In ähnlicher Weise, wenn die Daten bei der dritten führenden Flanke des Takts nach der Ankunft des ersten Lesebefehls verfügbar sind, ist die Einrichtung bekannt, dass sie eine "CAS-Latenz" von Drei aufweist.
  • Synchrone DRAMs (SDRAM) kommen mit programmierbaren CAS-Latenzen. Wie voranstehend beschrieben, bestimmt die CAS-Latenz, an welcher Taktflanke zyklische Daten verfügbar sein werden, nachdem ein Lesebefehl initiiert wird, und zwar unabhängig von der Taktrate (CLK). Die programmierbaren CAS-Latenzen erlauben, dass SDRAMs in unterschiedlichen Speichersystemen mit unterschiedlichen Systemtaktfrequenzen effizient verwendet werden können.
  • Es gibt andere Vorgehensweisen, um einen SDRAM-Datenpfad in Latenzstufen aufzuteilen. Eine Wellen-Pipeline ist schematisch in 1(b) gezeigt. Eine reguläre getaktete Pipeline weist den Nachteil auf, dass die Leselatenz gleich zu der Verzögerung der langsamsten Pipeline-Stufe (d.h. der längsten Verzögerung) multipliziert mit der Anzahl von Pipeline-Stufen sein wird. Eine getaktete Pipeline mit eingestellten Takten verwendet Taktsignale, die auf jede Pipeline-Stufe eingestellt worden sind, so dass längere Pipeline-Stufen ohne Einwirkung auf die Leselatenz untergebracht werden können. Eine längere Pipeline-Stufe wird mit einem Takt beendet, der mehr verzögert als der Takt ist, der die Pipeline-Stufe startet. Eine kürzere Pipeline-Stufe wird mit einem Takt gestartet, der mehr verzögert ist als der Takt, der die Pipeline-Stufe beendet. Der Nachteil von dieser Vorgehensweise besteht darin, dass unterschiedliche Einstellungen an dem Takt für jede CAS-Latenz, die durch den Chip unterstützt wird, benötigt werden. Auch Architekturänderungen können einen großen Einfluss auf den Zusammenbruch der Latenzstufen haben, was erfordert, dass Entwickler sämtliche Takte neu einstellen, um die neue Aufteilung von Latenzstufen unterzubringen.
  • Ferner gibt es eine begrenzte Anzahl von Stellen, wo eine Latenzstufe eingefügt werden kann, ohne eine zusätzliche Latenz oder eine Chipfläche hinzuzufügen. Mehrere Latenzstufen weisen einen Nachteil dahingehend auf, dass nicht sämtliche Latenzstufen gleich in der Zeit sein werden, die benötigt wird, dass sich Signale durch die Stufe ausbreiten. Eine andere Komplikation ist die Notwendigkeit, Latenzstufen in Abhängigkeit von der CAS-Latenz, bei der der Chip für einen Betrieb programmiert worden ist, zu aktivieren oder zu deaktivieren.
  • In einer Wellen-Pipeline in der 1(b) laufen Impulse von Daten durch den gesamten Lesedatenpfad. Eine Wellen-Pipeline stützt sich auf eine ideale Datenpfadlänge, das heißt, sie nimmt an, dass sämtliche Datenpfade gleich sind. Jedoch werden Daten, die aus bestimmten Speicherzellen in einem Speicherfeld ausgelesen werden, inhärent schneller als Daten sein, die aus anderen Speicherzellen ausgelesen werden. Dies ist hauptsächlich die Folge des physikalischen Orts der Speicherzellen relativ sowohl zu dem Einlese- als auch Auslesedatenpfad. Somit müssen Daten neu synchronisiert werden, bevor sie von dem Chip ausgegeben werden. Diese Datenpfad-Verschiebung macht es schwierig, die ausgelesenen Daten in einer Wellen-Pipeline-Implementierung neu zu synchronisieren.
  • Wenn Adressensignale auf einen Datenpfad mit einer Zykluszeit angewendet werden, die Speicherzugriffszeit übersteigt, dann werden die Daten, die aus dem Speicher ausgelesen werden, nicht während der inhärenten Verzögerung des Speicherkerns ausgegeben. Mit anderen Worten, in der Wellen-Pipeline-Technik werden Adresseneingangssignale mit einer Periode angewendet, die kleiner als der kritische Pfad des Speicherkernabschnitts ist.
  • Ferner, wie in den 2(a) und 2(b) mit einem langsamen Takt dargestellt, ist es erforderlich, die Ausgangsdaten der Wellen-Pipeline zu speichern, bis die Daten benötigt werden.
  • Ein Artikel von Mehrdad Heshami et al. mit dem Titel "A 250 MHz Skewed-Clock Pipelined Data Buffer" (IEEE Journal of Solid State Circuits, vol. 31, Nr. 3, 1. März 1996, Seiten 376-383) offenbart ein SDRAM mit einem Speicher mit adressierbaren Speicherelementen und einem Adresseneingangsanschluss und einem I/O-Datenausgangsanschluss; einem Datenlesepfad, der zwischen dem Adresseneingangsanschluss und dem I/O-Datenausgangsanschluss definiert ist, wobei der Lesepfad wenigstens eine Pipeline-Stufe einschließt, wobei die oder jede Pipeline-Stufe Haltespeicher einschließt, die auf ein entsprechendes asynchrones Steuersignal reagieren; Verzögerungselementen, die zu der oder jeder Pipeline-Stufe zum Erzeugen des asynchronen Steuersignals als verzögerte Versionen eines Systemtakts.
  • Die EP 704848 offenbart eine ähnliche Anordnung.
  • Die US 5835443 offenbart ein synchrones DRAM mit einem Pipeline-Betrieb und eine Synchronisationsschaltung, die mit dem I/O-Anschluss zum Synchronisieren der Ausgangsdaten auf einen Systemtakt gekoppelt ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung zielt somit darauf ab, wenigstens einige der verschiedenen Nachteile, die im Hinblick auf den gegenwärtigen Stand der Technik beschrieben wurden, zu beseitigen.
  • Die vorliegende Erfindung stellt einen synchronen dynamischen Speicher mit wahlfreiem Zugriff in Pipeline-Ausführung bereit, umfassend: einen Adresseneingangsport; einen Speicherkern mit adressierbaren Speicherelementen; ein I/O-Datenausgangsport; Datenlesepfad, der zwischen dem Adresseneingangsport und dem I/O-Datenausgangsport definiert ist, wobei der Lesepfad eine Vielzahl von Pipeline-Stufen einschließt, wobei jede Pipeline-Stufe Haltespeicher einschließt, die auf ein entsprechendes asynchrones Steuersignal ansprechen; und ein Verzögerungselement, das zu jeder Pipeline-Stufe gehört, zum Erzeugen der entsprechenden asynchronen Steuersignale als verzögerte Versionen eines Systemtakts, dadurch gekennzeichnet, dass ein erstes Verzögerungselement angeordnet ist, um das Steuersignal auf Grundlage des Systemtakts zu erzeugen, nachfolgende Verzögerungselemente in der Pipeline angeordnet sind, um die Steuersignale unter Verwendung der Steuersignale zu erzeugen, die durch ein vorangehendes Verzögerungselement in der Pipeline erzeugt werden, und jedes der Verzögerungselemente eine Latenz entsprechend zu einer Latenz von seiner zughörigen Pipeline-Stufe aufweist, sodass die Pipeline-Stufen, die durch Steuersignale gesteuert werden, die durch nachfolgende Verzögerungselemente erzeugt werden, asynchron zu dem Systemtakt gesteuert werden.
  • Die vorliegende Erfindung stellt auch ein Verfahren bereit, um einen synchronen dynamischen Speicher mit wahlfreiem Zugriff in eine Pipeline-Ausführung zu bringen, wobei das Verfahren die folgenden Schritte umfasst: Definieren eines Lesepfads zwischen einem Adresseneingangsport und einem I/O-Datenport eines Speicherkerns mit adressierbaren Speicherelementen, wobei der Pfad ein oder mehrere Pipeline-Stufen einschließt; Halten von Daten von dem I/O-Datenport im Ansprechen auf einen Systemtakt; Erzeugen von asynchronen Steuersignalen aus einem Mastersteuersignal; und Steuern der Pipeline-Stufen mit den asynchronen Steuersignalen; dadurch gekennzeichnet, dass jedes der asynchronen Steuersignale durch Verzögern eines Steuersignals, das von einer vorangehenden Pipeline-Stufe empfangen wird, in Übereinstimmung mit einer Latenz einer zugehörigen der Pipeline-Stufen erzeugt wird, und die Pipeline-Stufen unter Verwendung der asynchronen Steuersignale derart gesteuert werden, dass Daten, die in jeder der Pipeline-Stufen gehalten werden, asynchron zu dem Systemtakt zeitlich eingestellt werden.
  • In Übereinstimmung mit einer Ausführungsform dieser Erfindung werden die asynchronen Steuersignale innerhalb des Chips erzeugt und auf die unterschiedlichen Latenzstufen optimiert.
  • In einer Ausführungsform der Erfindung sind die Stufen asynchron zu dem Systemtakt, wodurch ermöglicht wird, dass der Lesedatenpfad bei irgendeiner CAS-Latenz laufengelassen wird, die durch einen geeigneten Resynchronisationsausgang unterstützt werden kann.
  • Eine weitere Ausführungsform der Erfindung sieht eine Synchronisationsschaltung vor, die mit dem Ende des Lesedatenpfads gekoppelt ist, um die Ausgangsdaten auf einen Systemtakt zu synchronisieren.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Ein besseres Verständnis der Erfindung lässt sich durch Bezugnahme auf die ausführliche nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen erhalten. In den Zeichnungen zeigen:
  • 1(a) ein schematisches Diagramm einer herkömmlichen getakteten Pipeline-Speicherschaltung;
  • 1(b) ein schematisches Diagramm einer herkömmlichen Wellen-Pipeline-Speicherschaltung;
  • 2(a) und 2(b) Timing-Wellenformen für ein SDRAM mit einer CAS-Latenz von 3, das unter schnellen bzw. langsamen Taktbedingungen läuft;
  • 3 ein schematisches Diagramm einer verallgemeinerten Ausführungsform der vorliegenden Erfindung;
  • 4(a) und 4(b) ausführlichere schematische Diagramme der verallgemeinerten Ausführungsform der 3;
  • 5 ein Timing-Wellenformdiagramm gemäß einer ersten Ausführungsform der vorliegenden Erfindung;
  • 6(a), 6a'), 6(a''), 6(a''), 6(b) und 6(c) ausführliche Schaltbilder einer Pipeline-Steuerschaltung gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 7(a), 7(a'), 7(a''), 7(b), 7(b') und 7(e) ausführliche Schaltbilder für einen Pipeline-Haltespeicher und einen Datenausgangs-Haltespeicher gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 8 ein schematisches Diagramm einer Datenausgangs-Steuerschaltung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • In der folgenden Diskussion bezeichnen gleiche Bezugszeichen gleiche Elemente in den Figuren und Signale, die tiefgestellt sind, werden austauschbar mit einem x oder einem Überstrich, der zu dem entsprechenden Signalnamen gehört, gekennzeichnet. Bezugnehmend nun auf 3 ist ein schematisches Diagramm eines Halbleiterspeichers in Pipeline-Ausführung gemäß einer verallgemeinerten Ausführungsform der Erfindung allgemein mit dem Bezugszeichen 20 gezeigt. Der Speicher umfasst ein Kernspeicherfeld 22 mit einem Lesepfad 24, der zwischen einem Adresseneingangsport 25 und einem Datenausgang 32 definiert ist. Der Lesepfad 24 ist in Latenzstufen 27 aufgeteilt, von denen jede durch jeweilige asynchrone Steuersignale 28 verriegelt bzw. gehalten wird. Eine Synchronisationsschaltung 30 ist mit der letzten Latenzstufe des Lesepfads gekoppelt, um die Daten auf den Systemtakt CLK bei dem Ausgang 32 des Lesepfads zu resynchronisieren. Die Daten werden auf dem Systemtakt CLK zu einer vorgegebenen Anzahl von Taktzyklen nach der Anlegung eines Adressensignals A an den Adresseneingang 25, d.h. in Abhängigkeit von der CAS-Latenz des Systems, synchronisiert. Die Segmentierung des Lesepfads 24 in die drei hauptsächlichen Latenzstufen, die jeweils durch jeweilige Steuersignale 28 gesteuert werden, illustriert im Allgemeinen das Kombinieren der getakteten Techniken und der Wellen-Pipeline-Techniken, um eine asynchrone Pipeline-Implementierung gemäß einer Ausführungsform der Erfindung zu erreichen, die eine geringere Verschiebung als eine herkömmliche Wellen-Pipeline aufzeigt, die aber einen Betrieb mit irgendeiner CAS-Latenz erlaubt, ohne dass individuelle Takte in jeder Stufe eingestellt werden müssen, so wie dies in einer getakteten Pipeline-Implementierung benötigt werden würde. Die Beschreibung im Hinblick auf die 3 dient dazu, um einen Überblick der nachstehend diskutierten ausführlichen Schaltungen bereitzustellen.
  • Somit wird unter Bezugnahme auf 4 ein ausführliches schematisches Diagramm der verallgemeinerten Ausführungsform der 3 mit dem Bezugszeichen 40 gezeigt. Die Latenzstufen 27 in 3 umfassen einen Adresseneingangs-Haltespeicher 42 zum Empfangen eines Adressensignals A0 and dem Adresseneingangsport 25, dessen Ausgang mit einem Adressenvordecoder-Haltespeicher 44 gekoppelt ist, der wiederum mit einem Spaltenadressen-Decoderhaltespeicher 46 verbunden ist. Der Spaltenadressen-Decoderhaltespeicher 46 decodiert das Adressensignal und ist gekoppelt, um Speicherzellen 48 in dem Speicherzellenfeld 22 zu wählen. Der Spaltenadressen-Decoder 46 aktiviert relevante Leseverstärker (nicht gezeigt) zum Erfassen der Daten, die aus einer gewählten Speicherzelle 48 ausgelesen werden. Der Ausgang der Leseverstärker ist mit einem Lesehauptverstärkerblock 50 über einen lokalen Datenbus DB gekoppelt, der in dieser Ausführungsform 32-Bits breit ist. Der Ausgang des Lesehauptverstärkers 50 ist mit einem globalen Datenbus GDB gekoppelt. Ein Multiplexer 52 multiplexiert den GDB auf einen I/O-Datenbus IODB, der wiederum mit einem Lesedatenbusverstärker RDBAMP Haltespeicherblock 54 gekoppelt ist.
  • Die Synchronisationsschaltung 30 der 3 umfasst Pipe-Haltespeicher 56, einen Ausgangspuffer 58 und eine Steuerschaltungsanordnung, die mit einem Block 61 gezeigt ist. Insbesondere wird der Ausgang von dem RDBAMP-Haltespeicher selektiv an den Eingang von drei Pipe-Haltespeichern Pipe_Latch0, Pipe_Latch1 und Pipe_Latch2 gekoppelt, wie nachstehend diskutiert werden wird. Die Ausgänge von den Pipe-Haltespeichern sind zusammengeschaltet und mit dem Eingang des Ausgangspuffers 58 gekoppelt.
  • Der Speicher umfasst auch eine Befehls-Haltespeicherschaltung 62 mit einem Takteingangsanschluss, der mit dem Systemtakt CLK gekoppelt ist, und einem Befehlseingangsanschluss zum Empfangen von Befehlssignalen wie RAS, CAS, CS. Der Befehls-Haltespeicher 62 stellt ein erstes Steuersignal 64 bereit, welches durch eine Reihe von Steuerlogik- und Verzögerungselementen T1 bis T4 geführt wird. Die Verzögerungselemente T1, T2, 73 und T4 erzeugen jeweils jeweilige verzögerte Steuersignale, die an einen Eingangshaltespeicheranschluss des Vordecoder-Haltespeichers 44, des Y-Decoders 46, des RMA 50 bzs. des RDBAMP-Haltespeichers 54 geführt werden. Diese Signale dienen als individuelle asynchrone Steuersignale für diese Schaltungen. Andererseits wird der Adressenhaltespeicher-Takteingang direkt von dem Systemtaktsignal CLK abgeleitet.
  • Eine Steuerung der Pipe-Haltespeicher Pipe_Latch0, Pipe_Latch1 und Pipe_Latch2 wird durch die Pipe-Haltespeicher-Steueranordnung 61 bereitgestellt. Jeder Pipe-Haltespeicher wird Pipe-Haltespeicher-Freigabesignal Latch_enx(0), Latch_enx(1) und Latch_enx(2) angesteuert, das mit einem Haltespeichereingangs-Freigabesignal gekoppelt ist. Die Pipe-Haltespeicher-Freigabesignale werden von einem Pipe-Zähler 64 abgeleitet, der drei Zählsignale COUNT erzeugt. Der Pipe-Zähler ist ein freilaufender Zähler, der seinen Zählwert auf Grundlage der Gesamtanzahl von Pipe-Haltespeichern nach einer voreingestellten Anzahl von Taktzählungen, eingestellt durch das Systemtaktsignal, das mit dem Pipe-Zähler-Takteingangsanschluss gekoppelt ist, zurücksetzt. Die COUNT-Ausgangssignale von dem PIPE- Zähler werden über Zählverzögerungselemente 66 an Zählsynchronisations-Haltespeicher 68 gekoppelt. Die Ausgänge von den drei Haltespeichern 68 stellen das Pipe-Haltespeicher-Freigabesignal für eine Taklung des geeigneten Pipe-Haltespeichers 56 bereit. Der Takteingangs-Freigabeanschluss der Haltespeicher 68 ist mit dem asynchronen Steuersignal der Latenzstufe in dem Lesepfad, in diesem Fall, dem Signal IODB_READX des RDBAMP 54 gekoppelt, um sicherzustellen, dass der Pipe-Haltespeicher zu der richtigen Zeit verriegelt wird.
  • Alternativ kann eine genauere Synchronisation der Daten IODB_READX und der CNT_DEL-Signale in dem Haltespeicher 68 wie folgt erreicht werden:
    Die Zählverzögerungs-Schaltungsanordnung 66 könnte in mehrere Verzögerungsstufen, die jeweils Steuerlogik-Freigabesignale wie YSG oder Y_EXTRD empfangen, segmentiert werden. Die Timing-Beziehung zwischen der Adressenausbreitung und der Datenauslesung und der Taktzählverzögerung würden deshalb enger angepasst sein.
  • Zusätzlich ist der Ausgang COUNT des Pipe-Zählers 64 mit einem Pipe-Verzögerungselement 70 zum Erzeugen eines Pipe-Haltespeicher-Ausgangsfreigabesignals QEN_RISEX verbunden, das mit dem jeweiligen Ausgangsfreigabeanschluss der Pipe-Haltespeicher 56 verbunden ist. Ein CLK_IO-Signal, welches DLL erzeugt ist und dem Systemtakt CLK geringfügig vorausläuft, wird mit einem Ausgangsfreigabeanschluss der Pipe-Verzögerung und des Ausgangspuffers 58 gekoppelt. Die DLL (Verzögerungsregelschleife) stellt sicher, dass CLK_IO den Ausgangspuffer freigeben wird, um Daten zu der Systemtaktflanke richtig zu synchronisieren.
  • Der Betrieb der Schaltung wird wie folgt unter Bezugnahme auf das in 5 gezeigte Timing-Diagramm erläutert. Zur Zeit t0 des Systemtaktsignals CLK verriegelt der Adressen-Haltespeicher 42 das externe Adressensignal Ai, das dann frei ist, um sich an den Vordecoder-Haltespeicher 44 auszubreiten, der die Adresse nach einer durch das Verzögerungselement T1 eingestellten Verzögerung T1 verriegelt. Diese Adressensignale werden in den Y-Decoder 46 decodiert und durch das Signal YSG, das von CLK durch T1 und T2 verzögert ist, verriegelt. Zu dieser Zeit werden die geeigneten Spalten aktiviert und Daten werden aus den Speicherzellen in Spaltenleseverstärker ausgelesen und dann in dem RMA 50 durch das IOREAD-Signal, das von CLK durch T1 + T2 + T3 verzögert ist, verriegelt. Kurz danach sind die Daten auf dem globalen Datenbus GDB verfügbar. Der RDBAMP 54 kann nun zu der Zeit t1 durch das Signal IODB_READ, das von IOREAD durch T4 verzögert ist, verriegelt werden, um das DOUTE-Signal bereitzustellen.
  • Im Allgemeinen werden wie voranstehend beschrieben diese asynchronen Steuersignale verwendet, um die Pipeline-Stufen zu steuern. Diese Signale steuern, wann Daten in den Haltespeicher (gewöhnlicher Weise einen verriegelten Verstärker) gelesen werden. Sobald die Daten in den Haltespeicher gelesen sind, sind die Daten frei, um sich in Richtung auf die nächste Stufe hin auszubreiten. Jedes Steuersignal wird durch Verzögern des Steuersignals von der vorangehenden Latenzstufe erzeugt. Die erste Stufe wird durch den externen Takt CLK gestartet. Die nächste Stufe wird Daten von der vorangehenden Stufe bei dem Steuersignal verriegeln, das von dem externen Takt verzögert ist. Es sei darauf hingewiesen, dass einige von diesen Verzögerungen in den Schaltungen, die verwendet werden, um zu steuern, ob ein Lesevorgang stattfinden muss, inhärent sind, während einige der Verzögerungen absichtlich unter Verwendung von Timing-Verzögerungselementen hinzugefügt werden. Diese umfassen gewöhnlicher Weise Puffer, die so bemessen sind, dass sie langsam laufen und die zusätzliche widerstandsbehaftete oder kapazitätsbehaftete Elemente einschließen können.
  • Somit können die Verzögerungen T1 bis T4 auf den bestimmten Speicher unabhängig von dem externen Takt-Timing optimiert werden. Die Verzögerung für jeden von diesen Haltespeichern wird gewählt, um die Ausbreitungsverzögerungen zwischen diesen Blöcken aufzunehmen. Somit wird das Taktsignal, das an den Lesehauptverstärker-Haltespeicher angelegt wird, synchronisiert und von dem Taktsignal, das an den Spaltendecoder-Haltespeicher angelegt wird, verzögert, um das Nachhinken beim Zurückgewinnen von Daten aus unterschiedlichen Gebieten des Speicherfelds 22 an den Lesehauptverstärker 50 unterzubringen.
  • Die Daten müssen, sobald sie in dem RDBAMP 54 zur Zeit t1 gehalten werden, wie bei den herkömmlichen Wellen-Pipelines auf den Systemtakt CLK an dem Ausgang 32 des Speichers neu synchronisiert werden. Dies wird wie folgt erreicht. Die Pipe-Haltespeicher 56 ermöglichen, dass Daten für den Fall von schnellen Daten oder einen langsamen Takt gespeichert werden. Im Allgemeinen ist die Anzahl von Haltespeichern, die benötigt werden, äquivalent zu der Anzahl von Latenzstufen, die unterstützt werden sollen. Jedes Mal, wenn ein Lesevorgang ausgeführt wird, wird ein COUNT-Signal, wobei eines von diesen in 5 gezeigt ist, asynchron durch das Zählverzögerungselement 66 verzögert und durch das Steuersignal für die letzte Stufe in diesem Fall IODB_READ in einen Taktsynchronisations-Haltespeicher 68 getaktet. Dieses zeitverzögerte COUNT-Signal erzeugt LATCH_EN, was bestimmt, in welchem der Haltespeicher 56 die Daten von dem RDBAMP 54 gespeichert werden sollen. Ferner wird das COUNT-Signal auch durch die geeignete Anzahl von Taktzyklen verzögert, wie durch die gegenwärtige CAS-Latenz bestimmt, auf die der Chip programmiert ist. Dieses im Takt verzögerte COUNT-Signal, das als QEN_RISE in 5 gezeigt ist, steuert, welcher Ausgang von den Haltespeichern 56 freigegeben wird, um Daten an den Ausgangspuffer 58 auszugeben. Sobald COUNT gesetzt worden ist, nach der Verzögerung durch die Zählverzögerungs-Schaltungsanordnung 66, wird ein CNT_DEL-Signal erzeugt, das in dem Taktsynchronisations-Haltespeicher 68 mit dem IODB_READX-Signal kombiniert wird, um das LATCH_ENX-Signal zu erzeugen. Nach der vorgegebenen Taktverzögerung in der Pipe-Verzögerungsschaltung wird QEN_RISEX bereitgestellt, was einen Ausgang von dem Haltespeicher erlaubt, der die Daten für den geeigneten Taktzyklus enthält. Die Haltespeicher 56 arbeiten als ein FIFO-Register, wobei die ersten Daten, die einem des Satzes von Haltespeichern 56 eingegeben werden, die ersten Daten sind, die von dem Satz von Haltespeichern ausgegeben werden sollen.
  • Somit lässt sich aus der obigen Beschreibung ersehen, dass die Haltespeicher in dem Lesepfad den Pfad in Latenzstufen einer asynchronen Pipeline segmentieren. Die Chiparchitektur und die maximale Betriebsfrequenz bestimmen die Anzahl und die Anordnung von diesen Stufen. Im Allgemeinen wird eine höhere Betriebsfrequenz eine größere Anzahl von kürzeren Pipeline-Stufen erfordern. Andere Techniken können verwendet werden, wie eine Verdopplung der Anzahl von Datenpfaden in einer Stufe und das Abwechseln zwischen den Datenpfaden. Zum Beispiel wird ein Leseausgang von den Leseverstärkern zwischen zwei Datenbussen abgewechselt. Dies ist in dem Mosaid-Patent Nr. 5.416.743 beschrieben. Die Anordnung der Stufen wird im Allgemeinen durch die Position der Verstärker oder Puffer vorgegeben, die im Haltespeicher umgewandelt werden können, ohne zu einer extensiven Flächenbelegung zu führen. Zur Klarheit beziehen sich in der voranstehenden und der folgenden Diskussion Latenzstufen auf irgendein Schaltungselement, das in der Lage ist, in dem Signal- oder Datenpfad eine Verzögerung einzuführen.
  • Nun wird auf die 6 bis 8 Bezug genommen. Dort ist eine ausführliche Implementierung der verallgemeinerten Ausführungsform der 4 gezeigt. Bezugnehmend auf die 6a umfasst die Pipe-Steuerschaltungsanordnung demzufolge einen Pipe-Zähler 90, wobei ein ausführliches Schaltbild davon in 6b gezeigt ist, um einen zweistelligen Binärzählwert COUNT 0 und COUNT 1 zu erzeugen, der durch die Eingangssystemtaktfrequenz an seinem Takteingangsanschluss CLK bestimmt wird. Jede der Zählleitungen, COUNT 1 und COUNT 0, sind mit jeweiligen Zählverzögerungselementen 92 und 94 verbunden. Die verzögerten Zählsignale sind mit einem Zähldecoder 96 verbunden, der den Eingangsbinär-Zählwert decodiert, um eine der drei Zählverzögerungsleitungen 98, CNT0_DEL, CNT1_DEL, CNT2_DEL zu aktivieren. Die Signale auf diesen verzögerten Zählleitungen 98 entsprechen dem COUNT-Signal, wie in 5 gezeigt. In 5 wurden sämtliche Elemente mit nur einer der drei Komponenten zur Vereinfachung gezeigt, mit Ausnahme der drei Pipe-Haltespeicher. Die verzögerten COUNT-Signale 98 sind mit den Eingängen von jeweiligen getakteten Haltespeichern 100 gekoppelt, deren Ausgänge gepuffert sind und das jeweilige Haltespeicher-Freigabesignal bereitstellen, auf das in 5 Bezug genommen wird, LATCH_ENX(0), LATCH_ENX(1), LATCH_EN(2). Der Takteingangsanschluss von diesen Haltespeichern 100 wird mit dem IODB_READX asynchronen Steuersignal von der letzten Latenzstufe über einen Inverter gekoppelt.
  • Der Ausgang des Pipe-Zählers 90 ist ebenfalls mit einem zweiten Decoder 102 verbunden, der ebenfalls jeweilige Zählsignale CNT 0, CNT 1 und CNT 2 bereitstellt, die mit jeweiligen Pipe-Verzögerungselementen 104, 106 und 108 gekoppelt sind. Ein ausführliches Schaltungsdiagramm der Pipe-Verzögerungsschaltung-Implementierung ist in 6c gezeigt. Der Ausgang der Pipe-Verzögerung wird durch ein CLK_IO-Signal gesteuert und erzeugt das QEN_RISE-Signal, auf das in 5 Bezug genommen wird und das mit der Ausgangshaltespeicher-Freigabe der Pipe-Haltespeicher 56 verbunden ist. Entsprechende QEN_FALL-Signale werden für die abfallende Flanke des Systemtakts erzeugt, wohingegen QEN_RISE der ansteigenden Flanke des Systemtakts entspricht.
  • Bezugnehmend auf die 7a und 7b ist eine ausführliche schematische Darstellung der Pipe-Haltespeicher 56 und der Ausgangspuffer-Schaltungsanordnung gezeigt. Wie sich der 7a entnehmen lässt, werden die Datenbits von dem IODB-Datenbus an dem Eingang der RDB-Verstärker 110 empfangen. Zwei RDBAMPS sind in dieser Implementierung gezeigt, und zwar wegen der doppelten Datenrate (DDR), wobei Daten sowohl an den Anstiegs- als auch Abfallflanken des Systemtakts getaktet werden. Die Ausgänge von dem RDBAMPS sind mit einer Reihe von sechs Pipe-Haltespeichern 112 bis 122 verbunden. Sechs Haltespeicher werden anstelle von drei als Folge der DDR-Implementierung benötigt. Die Freigabeeingänge der Pipe-Haltespeicher 112 bis 122 sind mit den jeweiligen Haltespeicher-Freigabesignalen gekoppelt, die von der Schaltung der 6a abgeleitet werden. Die oberen drei Pipe-Haltespeicher 112 bis 116 haben ihre Ausgänge mit Eingängen von 3 ODER 2 NAND Gatters 124 verbunden. In ähnlicher Weise sind die Ausgänge der unteren drei Haltespeicher 118 bis 122 mit einem 3 ODER 2 NAND Gatter 126 verbunden. Das QEN_RISE-Signal ist mit den Eingängen des 3 ODER 2 NAND Gatters 124 verbunden, dessen Ausgang dann, wenn er freigegeben wird, Daten an den DOUT_RISE, DOUT_RISEX-Eingang des in 7b gezeigten Ausgangspuffers koppelt. Wie ebenfalls in 7a ersichtlich, wird ein Systemtakt-Steuersignal EDGE zum Richten von Daten an die oberen drei oder die unteren drei Haltespeicher bereitgestellt, nochmals ein DDR Merkmal. Ferner werden für einen schnellen Systemtakt relativ zu der Geschwindigkeit des Datenpfads die 3 ODER 2 NAND Gatter 124 oder 126 bereits ein sein, so dass ermöglicht wird, dass Daten zu dem Ausgangspuffer von den Pipe-Haltespeichern durchgehen. In einer Alternative, mit einem langsamen Takt, empfängt das System die Daten und wartet auf den Takt, so dass die 3 ODER 2 NAND Gatter 124 oder 126 verwendet werden. Zurückkehrend zur 7b ist der Datenausgangspuffer 58, wie in 4 gezeigt, aus Datenausgangs-Haltespeichern 130 bis 136 gebildet. Die Eingangsfreigabeanschlüsse der Datenausgangs-Haltespeicher 130 bis 136 sind mit dem CLK_IO-Signal zum Synchronisieren auf die richtige Systemtaktflanke gekoppelt. Eine ausführliche Schaltungsimplementierung der Pipe-Haltespeicher 112 bis 122 ist in 7c gezeigt.
  • Somit lässt sich ersehen, dass die vorliegende Erfindung ein flexibles Verfahren zum Implementieren eines Halbleiterspeichers in Pipeline-Ausführung bereitstellt, der leicht sowohl einen langsamen als auch einen schnellen Systemtakt aufnehmen kann. Ferner erlaubt die flexible Konstruktion eine weitere Segmentierung des Lesepfads für eine genauere Anpassung von internen Signalen. Ferner können verschiedene CAS-Latenzen einfach dadurch aufgenommen werden, dass der Ausgang von dem Pipe-Verzögerungselement 70 in 4a verzögert wird, um auf eine spezifische Anzahl von Taktzyklen zu warten, bevor die Daten herausgetaktet werden.

Claims (8)

  1. Synchroner dynamischer Speicher mit wahlfreiem Zugriff in Pipeline-Ausführung, umfassend: einen Adresseneingangsport (25); einen Speicherkern (22) mit adressierbaren Speicherelementen; einen I/O Datenausgangsport (32); einen Lesedatenpfad (24), der zwischen dem Adresseneingangsport (25) und dem I/O Datenausgangsport (32) definiert ist, wobei der Lesepfad (24) eine Vielzahl von Pipeline-Stufen (27) einschließt, wobei jede Pipeline-Stufe (27) Haltespeicher einschließt, die auf ein entsprechendes asynchrones Steuersignal (28) ansprechen; und ein Verzögerungselement (T1, T2, T3), das zu jeder Pipeline-Stufe (27) gehört, zum Erzeugen der entsprechenden asynchronen Steuersignale (28) als verzögerte Versionen eines Systemtakts (CLK), dadurch gekennzeichnet, dass ein erstes Verzögerungselement (T1) angeordnet ist, um das Steuersignal (28) auf Grundlage des Systemtakts (CLK) zu erzeugen, nachfolgende Verzögerungselemente in der Pipeline angeordnet sind, um die Steuersignale (28) unter Verwendung der Steuersignale (28) zu erzeugen, die durch ein vorangehendes Verzögerungselement in der Pipeline erzeugt werden, und jedes der Verzögerungselemente (T1, T2, T3) eine Latenz entsprechend zu einer Latenz von seiner zughörigen Pipeline-Stufe (27) aufweist, sodass die Pipeline-Stufen (27), die durch Steuersignale (28) gesteuert werden, die durch nachfolgende Verzögerungselemente erzeugt werden, asynchron zu dem Systemtakt (CLK) gesteuert werden.
  2. Speicher nach Anspruch 1, mit einer Synchronisationsschaltung (30), die mit dem I/O Datenausgangsport (32) gekoppelt ist, zum Synchronisieren von Ausgangsdaten zu dem Systemtakt (CLK).
  3. Speicher nach Anspruch 2, wobei die Synchronisationsschaltung (30) eine Vielzahl von Pipe-Haltespeichern (56) einschließt, die parallel gekoppelt sind und jeweils auf jeweilige Pipe-Steuersignale (LATCH_ENX) zum sequenziellen Eingeben von Daten in sukzessive Haltespeicher (56) ansprechen.
  4. Speicher nach Anspruch 3, mit einem Pipe-Zähler (64) zum Erzeugen der Pipe-Steuersignale (LATCH_ENX), wobei der Pipe-Zähler (64) Pipe-Verzögerungselemente (66) einschließt, die mit einem Ausgang davon gekoppelt sind.
  5. Speicher nach Anspruch 2, wobei die Synchronisationsschaltung (30) einschließt: eine Vielzahl von Ausgangshaltespeichern (56) zum Halten der Ausgangsdaten; einen Ausgangshaltespeicher-Signalgenerator (68), um sequenziell aus dem Systemtakt (CLK) zu erzeugen: i. einen Satz von Ausgangshaltespeicher-Eingangsfreischaltsignalen (LATCH_ENX), die jeweils eine vorgegebene Verzögerung im Bezug auf den Systemtakt (CLK) aufweisen; und ii. einen Satz von Ausgangshaltespeicher-Ausgangsfreischaltsignalen (QEN_RISEX), wobei jedes eine Verzögerung in Übereinstimmung mit einer Spaltenadressen-Wähllatenz des Speichers in Pipeline-Ausführung aufweist; und eine Verzögerungs-Halteschaltung (58) zum Koppeln der Ausgangshaltespeicher-Ausgangsfreischaltsignale (QEN_RISEX) mit den Ausgangshaltespeichern synchron zu dem Systemtakt.
  6. Verfahren, um einen synchronen dynamischen Speicher mit wahlfreiem Zugriff in eine Pipeline-Ausführung zu bringen; wobei das Verfahren die folgenden Schritte umfasst: Definieren eines Lesepfads zwischen einem Adresseneingangsport (24) und einem I/O Datenport (32) eines Speicherkerns (22) mit adressierbaren Speicherelementen, wobei der Pfad ein oder mehrere Pipeline-Stufen (27) einschließt; Halten von Daten von dem I/O Datenport (32) im Ansprechen auf einen Systemtakt (CLK); Erzeugen von asynchronen Steuersignalen (28) aus einem Mastersteuersignal; und Steuern der Pipeline-Stufen (27) mit den asynchronen Steuersignalen (28); dadurch gekennzeichnet, dass jedes der asynchronen Steuersignale (28) durch Verzögern eines Steuersignals (28), das von einer vorangehenden Pipeline-Stufe (27) empfangen wird, in Übereinstimmung mit einer Latenz einer zugehörigen der Pipeline-Stufen (27) erzeugt wird, und die Pipeline-Stufen (27) unter Verwendung der asynchronen Steuersignale (28) derart gesteuert werden, dass Daten, die in jeder der Pipeline-Stufen (27) gehalten werden, asynchron zu dem Systemtakt (CLK) zeitlich eingestellt werden.
  7. Verfahren nach Anspruch 6, mit dem Schritt zum Synchronisieren von Ausgangsdaten zu dem Systemtakt (CLK).
  8. Verfahren nach Anspruch 7, wobei der Schritt zum Synchronisieren der Ausgangsdaten zu dem Systemtakt (CLK) die folgenden Schritte einschließt: (a) Halten der Ausgangsdaten in einer Vielzahl von Ausgangshaltespeichern (56); (b) sequenzielles Erzeugen aus dem Systemtakt (CLK): i. eines Satzes von Ausgangshaltespeicher-Eingangsfreischaltsignalen (CNT_DEL), die jeweils eine vorgegebene Verzögerung in Bezug auf den Systemtakt (CLK) aufweisen; und ii. eines Satzes von Ausgangshaltespeicher-Ausgangsfreischaltsignalen (QEN_RISEX), die jeweils eine Verzögerung in Übereinstimmung mit einer Spaltenadressen-Wähllatenz des Speichers in Pipeline-Ausführung aufweist; und (c) Freischalten der Ausgangshaltespeicher-Ausgangsfreischaltsignale (QEN_RISEX) synchron zu dem Systemtakt (CLK).
DE69923769T 1998-04-01 1999-04-01 Asynchrones halbleiterspeicher-fliessband Expired - Lifetime DE69923769T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CA2233789A CA2233789C (en) 1998-04-01 1998-04-01 Semiconductor memory asynchronous pipeline
CA2233789 1998-04-01
US09/129,878 US6539454B2 (en) 1998-04-01 1998-08-06 Semiconductor memory asynchronous pipeline
US129878 1998-08-06
PCT/CA1999/000282 WO1999050852A1 (en) 1998-04-01 1999-04-01 Semiconductor memory asynchronous pipeline

Publications (2)

Publication Number Publication Date
DE69923769D1 DE69923769D1 (de) 2005-03-24
DE69923769T2 true DE69923769T2 (de) 2006-02-02

Family

ID=25680118

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69923769T Expired - Lifetime DE69923769T2 (de) 1998-04-01 1999-04-01 Asynchrones halbleiterspeicher-fliessband

Country Status (7)

Country Link
US (8) US6772312B2 (de)
EP (1) EP1068619B1 (de)
JP (1) JP2002510118A (de)
CN (1) CN1154111C (de)
AU (1) AU3021799A (de)
DE (1) DE69923769T2 (de)
WO (1) WO1999050852A1 (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69923769T2 (de) * 1998-04-01 2006-02-02 Mosaid Technologies Incorporated, Kanata Asynchrones halbleiterspeicher-fliessband
US6516363B1 (en) 1999-08-06 2003-02-04 Micron Technology, Inc. Output data path having selectable data rates
US6694416B1 (en) 1999-09-02 2004-02-17 Micron Technology, Inc. Double data rate scheme for data output
JP3482996B2 (ja) * 1999-12-03 2004-01-06 日本電気株式会社 Atmスイッチ
EP1122737A1 (de) * 2000-01-31 2001-08-08 STMicroelectronics S.r.l. Schaltung zur Steuerung von Datenströmenübertragung aus mehrerer Quellen eines Systems
US6788593B2 (en) 2001-02-28 2004-09-07 Rambus, Inc. Asynchronous, high-bandwidth memory component using calibrated timing elements
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
EP1291778B1 (de) * 2001-04-24 2007-06-27 Rambus Inc. Verfahren und Gerät zum Koordinieren von Speicheroperationen zwischen unterschiedlich angeordneten Speicherkomponenten
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
DE10121165B4 (de) * 2001-04-30 2011-02-03 Qimonda Ag Verfahren und Vorrichtung zum Initialisieren einer asynchronen Latch-Kette
US7028167B2 (en) * 2002-03-04 2006-04-11 Hewlett-Packard Development Company, L.P. Core parallel execution with different optimization characteristics to decrease dynamic execution path
KR100520677B1 (ko) * 2003-04-28 2005-10-11 주식회사 하이닉스반도체 동기형 반도체 메모리 장치의 데이터 입력 장치 및 이를이용한 데이터 입력 방법
US6970395B2 (en) * 2003-09-08 2005-11-29 Infineon Technologies Ag Memory device and method of reading data from a memory device
US6856270B1 (en) 2004-01-29 2005-02-15 International Business Machines Corporation Pipeline array
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7549092B2 (en) * 2005-09-29 2009-06-16 Hynix Semiconductor, Inc. Output controller with test unit
US7752611B2 (en) 2005-12-10 2010-07-06 Intel Corporation Speculative code motion for memory latency hiding
CN100458973C (zh) * 2006-05-17 2009-02-04 中国人民解放军国防科学技术大学 高速流水线中长延时多端口sram的快速访问方法
US7564738B2 (en) * 2006-08-11 2009-07-21 Freescale Semiconductor, Inc. Double-rate memory
KR100895072B1 (ko) * 2007-03-08 2009-04-27 삼성전자주식회사 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법
US7865756B2 (en) * 2007-03-12 2011-01-04 Mosaid Technologies Incorporated Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
CN101295537B (zh) * 2007-04-24 2010-10-27 南亚科技股份有限公司 记忆体的读取操作控制方法
US8467486B2 (en) * 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US8781053B2 (en) 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US7800974B2 (en) * 2008-02-21 2010-09-21 Freescale Semiconductor, Inc. Adjustable pipeline in a memory circuit
US7940543B2 (en) * 2008-03-19 2011-05-10 Nanya Technology Corp. Low power synchronous memory command address scheme
US8266471B2 (en) * 2010-02-09 2012-09-11 Mosys, Inc. Memory device including a memory block having a fixed latency data output
US8856579B2 (en) * 2010-03-15 2014-10-07 International Business Machines Corporation Memory interface having extended strobe burst for read timing calibration
US8635487B2 (en) * 2010-03-15 2014-01-21 International Business Machines Corporation Memory interface having extended strobe burst for write timing calibration
US8711639B2 (en) * 2010-11-02 2014-04-29 Micron Technology, Inc. Data paths using a first signal to capture data and a second signal to output data and methods for providing data
US8943242B1 (en) * 2012-03-30 2015-01-27 Integrated Device Technology Inc. Timing controllers having partitioned pipelined delay chains therein
US8826057B1 (en) 2012-03-30 2014-09-02 Integrated Device Technology Inc. Multiple time domain synchronizer circuits
US9431110B2 (en) * 2012-09-26 2016-08-30 Intel Corporation Column address decoding
US9431079B1 (en) 2012-12-13 2016-08-30 Gsi Technology, Inc. Systems and methods of memory and memory operation involving input latching, self-timing and/or other features
US9159391B1 (en) * 2012-12-13 2015-10-13 Gsi Technology, Inc. Systems and methods of double/quad data rate memory involving input latching, self-timing and/or other features
CN105393240B (zh) * 2013-09-06 2018-01-23 华为技术有限公司 具有辅助异步向量处理器的异步处理器的方法和装置
KR102101390B1 (ko) * 2013-10-08 2020-04-17 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
KR102200489B1 (ko) * 2014-05-30 2021-01-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
KR20160029382A (ko) * 2014-09-05 2016-03-15 에스케이하이닉스 주식회사 반도체 메모리 장치
WO2016081192A1 (en) 2014-11-20 2016-05-26 Rambus Inc. Memory systems and methods for improved power management
US9734127B2 (en) * 2015-02-05 2017-08-15 Weng Tianxiang Systematic method of synthesizing wave-pipelined circuits in HDL
US10019170B2 (en) * 2016-03-30 2018-07-10 Micron Technology, Inc. Controlling timing and edge transition of a delayed clock signal and data latching methods using such a delayed clock signal
KR20180072316A (ko) 2016-12-21 2018-06-29 에스케이하이닉스 주식회사 반도체장치
US10170166B1 (en) 2017-09-08 2019-01-01 Winbond Electronics Corp. Data transmission apparatus for memory and data transmission method thereof
KR102585218B1 (ko) 2017-09-28 2023-10-05 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
US10360956B2 (en) * 2017-12-07 2019-07-23 Micron Technology, Inc. Wave pipeline
US10410698B2 (en) * 2017-12-07 2019-09-10 Micron Technology, Inc. Skew reduction of a wave pipeline in a memory device
KR102517462B1 (ko) * 2018-04-23 2023-04-05 에스케이하이닉스 주식회사 반도체장치
KR20200088702A (ko) 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US11061836B2 (en) * 2019-06-21 2021-07-13 Micron Technology, Inc. Wave pipeline including synchronous stage
US11526441B2 (en) 2019-08-19 2022-12-13 Truememory Technology, LLC Hybrid memory systems with cache management
US11055220B2 (en) 2019-08-19 2021-07-06 Truememorytechnology, LLC Hybrid memory systems with cache management

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960003526B1 (ko) * 1992-10-02 1996-03-14 삼성전자주식회사 반도체 메모리장치
JPS58207152A (ja) * 1982-05-28 1983-12-02 Nec Corp パイプライン演算装置テスト方式
JPH023177A (ja) * 1988-03-11 1990-01-08 Hitachi Ltd 半導体集積回路
US6757809B1 (en) * 1989-12-16 2004-06-29 Renesas Technology Corp. Data processor having 2n bits width data bus for context switching functions
JP2796590B2 (ja) * 1991-08-07 1998-09-10 三菱電機株式会社 メモリ装置及びそれを使用したデータ処理装置
US5272390A (en) * 1991-09-23 1993-12-21 Digital Equipment Corporation Method and apparatus for clock skew reduction through absolute delay regulation
US5294842A (en) * 1991-09-23 1994-03-15 Digital Equipment Corp. Update synchronizer
JPH05144269A (ja) 1991-11-19 1993-06-11 Fujitsu Ltd 半導体記憶装置
AU4798793A (en) * 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5452324A (en) * 1992-09-23 1995-09-19 Texas Instruments Incorporated Packet data recovery system
JPH06187787A (ja) 1992-12-17 1994-07-08 Hitachi Ltd 半導体記憶装置とそのパイプライン動作制御方法
JP3078934B2 (ja) * 1992-12-28 2000-08-21 富士通株式会社 同期型ランダムアクセスメモリ
JPH06290582A (ja) * 1993-04-02 1994-10-18 Nec Corp 半導体記憶装置
US5402388A (en) 1993-12-16 1995-03-28 Mosaid Technologies Incorporated Variable latency scheme for synchronous memory
US5384737A (en) * 1994-03-08 1995-01-24 Motorola Inc. Pipelined memory having synchronous and asynchronous operating modes
JP3177094B2 (ja) * 1994-05-31 2001-06-18 富士通株式会社 半導体記憶装置
JPH0831180A (ja) 1994-07-08 1996-02-02 Hitachi Ltd 半導体記憶装置
TW367656B (en) 1994-07-08 1999-08-21 Hitachi Ltd Semiconductor memory device
JP3013714B2 (ja) 1994-09-28 2000-02-28 日本電気株式会社 半導体記憶装置
JP2616567B2 (ja) 1994-09-28 1997-06-04 日本電気株式会社 半導体記憶装置
US5796673A (en) * 1994-10-06 1998-08-18 Mosaid Technologies Incorporated Delay locked loop implementation in a synchronous dynamic random access memory
JP3543181B2 (ja) * 1994-11-09 2004-07-14 株式会社ルネサステクノロジ データ処理装置
US5713005A (en) 1995-02-10 1998-01-27 Townsend And Townsend And Crew Llp Method and apparatus for pipelining data in an integrated circuit
US5544124A (en) 1995-03-13 1996-08-06 Micron Technology, Inc. Optimization circuitry and control for a synchronous memory device with programmable latency period
JPH08263985A (ja) 1995-03-24 1996-10-11 Nec Corp 半導体記憶装置
US5655105A (en) * 1995-06-30 1997-08-05 Micron Technology, Inc. Method and apparatus for multiple latency synchronous pipelined dynamic random access memory
JP3497615B2 (ja) * 1995-07-12 2004-02-16 矢崎総業株式会社 雌型端子
JPH0963262A (ja) 1995-08-17 1997-03-07 Fujitsu Ltd シンクロナスdram
JP2907074B2 (ja) * 1995-08-25 1999-06-21 日本電気株式会社 半導体記憶装置
KR0164395B1 (ko) 1995-09-11 1999-02-18 김광호 반도체 메모리 장치와 그 리이드 및 라이트 방법
JP2817679B2 (ja) * 1995-09-20 1998-10-30 日本電気株式会社 半導体メモリ
JP3183321B2 (ja) 1995-11-10 2001-07-09 日本電気株式会社 半導体記憶装置
JP3183159B2 (ja) * 1996-03-29 2001-07-03 日本電気株式会社 同期型dram
US6209071B1 (en) 1996-05-07 2001-03-27 Rambus Inc. Asynchronous request/synchronous data dynamic random access memory
US5784705A (en) 1996-07-15 1998-07-21 Mosys, Incorporated Method and structure for performing pipeline burst accesses in a semiconductor memory
JP4070255B2 (ja) * 1996-08-13 2008-04-02 富士通株式会社 半導体集積回路
JPH10188556A (ja) * 1996-12-20 1998-07-21 Fujitsu Ltd 半導体記憶装置
JP3856892B2 (ja) * 1997-03-03 2006-12-13 日本電信電話株式会社 自己同期型パイプラインデータパス回路および非同期信号制御回路
KR100268429B1 (ko) * 1997-03-18 2000-11-01 윤종용 동기형반도체메모리장치의데이터의입력회로및데이터입력방법
JP3504104B2 (ja) * 1997-04-03 2004-03-08 富士通株式会社 シンクロナスdram
US5999258A (en) 1997-06-26 1999-12-07 Nortel Networks Corporation Optical interference measurement method and system
JP3901297B2 (ja) * 1997-09-09 2007-04-04 富士通株式会社 Dll回路及びそれを利用した半導体記憶装置
US6289494B1 (en) * 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
JPH11176158A (ja) * 1997-12-10 1999-07-02 Fujitsu Ltd ラッチ回路、データ出力回路及びこれを有する半導体装置
US6067648A (en) * 1998-03-02 2000-05-23 Tanisys Technology, Inc. Programmable pulse generator
CA2233789C (en) * 1998-04-01 2013-06-11 Ian Mes Semiconductor memory asynchronous pipeline
DE69923769T2 (de) 1998-04-01 2006-02-02 Mosaid Technologies Incorporated, Kanata Asynchrones halbleiterspeicher-fliessband
JP2004502267A (ja) * 2000-07-07 2004-01-22 モサイド・テクノロジーズ・インコーポレイテッド アクセス待ち時間が均一な高速dramアーキテクチャ
KR100391151B1 (ko) * 2000-11-20 2003-07-12 삼성전자주식회사 동기 반도체 메모리 장치 및 그의 동작방법

Also Published As

Publication number Publication date
US20100217928A1 (en) 2010-08-26
CN1296624A (zh) 2001-05-23
US7865685B2 (en) 2011-01-04
JP2002510118A (ja) 2002-04-02
DE69923769D1 (de) 2005-03-24
US8122218B2 (en) 2012-02-21
WO1999050852A1 (en) 1999-10-07
US20030065900A1 (en) 2003-04-03
US8601231B2 (en) 2013-12-03
US20090175103A1 (en) 2009-07-09
US7509469B2 (en) 2009-03-24
US6772312B2 (en) 2004-08-03
US8078821B2 (en) 2011-12-13
US20050033899A1 (en) 2005-02-10
US9548088B2 (en) 2017-01-17
US20140089575A1 (en) 2014-03-27
US7178001B2 (en) 2007-02-13
AU3021799A (en) 1999-10-18
EP1068619A1 (de) 2001-01-17
US20120144131A1 (en) 2012-06-07
US20070186034A1 (en) 2007-08-09
EP1068619B1 (de) 2005-02-16
US20110202713A1 (en) 2011-08-18
CN1154111C (zh) 2004-06-16

Similar Documents

Publication Publication Date Title
DE69923769T2 (de) Asynchrones halbleiterspeicher-fliessband
DE10084993B3 (de) Ausgabeschaltung für einen mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM), ein mit doppelter Datenrate arbeitender dynamischer Speicher mit wahlfreiem Zugriff (DDR DRAM), ein Verfahren zum getakteten Auslesen von Daten aus mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM)
DE102006054998B4 (de) Latenzsteuerschaltung, Halbleiterspeicherbauelement und Verfahren zum Steuern der Latenz
DE69628351T9 (de) Verfahren zur Leserverstärkersteuerung
DE69923634T2 (de) Synchrone Burstzugriffshalbleiterspeicheranordnung
DE19742700C2 (de) Halbleiterspeichervorrichtung mit mehreren Bänken
DE4432217C2 (de) Halbleiterspeichereinrichtung
DE69832455T2 (de) Halbleiterspeicheranordnung
DE60034788T2 (de) Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein
DE69725632T2 (de) Halbleiterspeicheranordnung mit "Pipeline" Betrieb
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE19839570B4 (de) Synchrones Halbleiterspeicherbauteil mit programmierbarer Latenzzeit
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE69535672T2 (de) Synchrone NAND DRAM Architektur
DE60214992T2 (de) Mehrbit-prefetch-ausgangsdatenweg
DE19645437C2 (de) Synchronhalbleiterspeichereinrichtung mit einer internen Schaltungseinrichtung, die nur dann betriebsberechtigt ist, wenn in normaler Reihenfolge Befehle angelegt sind
DE3742514C2 (de)
DE19807298A1 (de) Synchrone Halbleiterspeichereinrichtung
DE19951677B4 (de) Halbleiterspeichervorrichtung
DE60017419T2 (de) Verfahren für eine zweifache ausgangsdatenrate
DE102009020758A1 (de) Halbleiterspeicherbauelement und zugehöriges Zugriffsverfahren
DE112004001676B4 (de) Direktzugriffsspeicher mit Postambel-Datenübernahmesignal-Rauschunterdrückung
DE102006030373A1 (de) Halbleiterspeichervorrichtung
DE10208715B4 (de) Latenz-Zeitschalter für ein S-DRAM
DE19954564B4 (de) Steuerungsschaltung für die CAS-Verzögerung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MOSAID TECHNOLOGIES INC., OTTAWA, ONTARIO, CA

8328 Change in the person/name/address of the agent

Representative=s name: MARKS & CLERK (LUXEMBOURG) LLP, LUXEMBOURG, LU