-
Die Erfindung betrifft einen integrierten Halbleiterspeicher mit taktgesteuertem Speicherzugriff, bei dem Daten bei einem Schreib-/Lesezugriff in einer Speicherschaltung zwischengespeichert werden, bevor sie einem Speicherzellenfeld/Datenanschlüssen zugeführt werden. Des Weiteren betrifft die Erfindung ein Verfahren zum Betreiben eines integrierten Halbleiterspeichers mit taktgesteuertem Speicherzugriff, bei dem Daten bei einem Schreib-/Lesezugriff in einer Speicherschaltung zwischengespeichert werden, bevor sie einem Speicherzellenfeld/Datenanschlüssen zugeführt werden.
-
Ein integrierter Halbleiterspeicher, beispielsweise ein DRAM (Dynamit Random Access Memory)-Halbleiterspeicher umfasst im Allgemeinen mehrere Speicherzellenfelder beziehungsweise Speicherbänke, in denen Speicherzellen matrixartig entlang von Wort- und Bitleitungen angeordnet sind. Bei einem Zugriff auf eine Speicherzelle wird zunächst eine Adresse, die der Speicherzelle zugeordnet ist, an den integrierten Halbleiterspeicher angelegt. Anschließend wird mittels eines Wortleitungstreibers eine Steuerspannung auf die Wortleitung, an die die adressierte Speicherzelle angeschlossen ist, eingespeist. Dadurch wird bei einem DRAM-Speicher ein Auswahltransistor der adressierten Speicherzelle leitend gesteuert, so dass ein Speicherkondensator der Speicherzelle leitend mit der an die Speicherzelle angeschlossenen Bitleitung verbunden ist. Über die Bitleitung können in Abhängigkeit von einem Schreib- oder Lesezugriff Daten in der adressierten Speicherzelle abgespeichert beziehungsweise aus der adressierten Speicherzelle ausgelesen werden.
-
1 zeigt eine Speicherbank 100, die in vier Bereiche Q1, Q2, Q3 und Q4 eingeteilt ist. In jedem der Bereiche befinden sich Speicherzellen, die entlang von Wort- und Bitleitungen angeordnet sind. Aus Gründen der besseren Übersicht sind die Wort- und Bitleitungen in 1 nicht dargestellt.
-
Der in 1 dargestellte Halbleiterspeicher weist zur Datenein- und -ausgabe 16 Datenanschlüsse DQ0, ..., DQ15 auf, die über einen Bus IB mit einer Speicherschaltung 20 verbunden sind. Bei einem Schreibzugriff werden die Daten, die an die Datenanschlüsse DQ0, ..., DQ15 angelegt worden sind, zunächst an die Speicherschaltung 20 weitergeleitet und in der Speicherschaltung 20 zwischengespeichert, bevor sie zur Speicherung in den Speicherzellen dem Speicherzellenfeld 100 zugeführt werden. Die Speicherschaltung 20 ist dazu über einen Bus IB mit den Datenanschlüssen und über einen Datenbus DB mit dem Speicherzellenfeld verbunden. Der Bus IB ist bei einem DDR (Double Data Rate) II DRAM beispielsweise als ein 16 Bit breiter paralleler Bus ausgebildet, wohingegen der Datenbus DB als ein 64 Bit breiter paralleler Bus ausgebildet ist. Ausgehend von einem in 1 vertikal verlaufenden Hauptbuszweig des Datenbusses DB verzweigen sich die Leitungen des Datenbusses und führen zu Speicherzellen in den einzelnen Bereichen der Speicherbank 100.
-
Bei einem Schreibzugriff werden beispielsweise Daten, die an den Datenanschlüssen DQ0, DQ1, DQ2 und DQ3 anliegen in Speicherzellen 0, 1, 2 und 3 abgespeichert, die in dem Bereich Q1 der Speicherbank 100 angeordnet sind. Daten, die an den Datenanschlüssen DQ4, DQ5, DQ6 und DQ7 anliegen, werden über den Datenbus DB in Speicherzellen 4, 5, 6 und 7, die in dem Bereich Q2 angeordnet sind, gespeichert. Daten, die an den Datenanschlüssen DQ8, DQ9, DQ10 und DQ11 beziehungsweise an den Datenanschlüssen DQ12, DQ13, DQ14 und DQ15 anliegen, werden über den Datenbus in Speicherzellen 8, 9, 10 und 11 in dem Bereich Q3 beziehungsweise in Speicherzellen 12, 13, 14 und 15 in dem Bereich Q4 des Speicherzellenfeldes 100 gespeichert.
-
Bei einem Lesezugriff werden entsprechend dem Schreibzugriff Daten aus den Speicherzellen 0, 1, 2, 3 im Bereich Q1 über den Datenbus DB, die Speicherschaltung 20 und den Bus IB den Datenanschlüssen DQ1, DQ2 und DQ3 zugeführt. Daten aus den Speicherzellen 4, 5, 6 und 7 aus dem Bereich Q2 werden den Datenanschlüssen DQ4, DQ5, DQ6 und DQ7, Daten aus den Speicherzellen 8, 9, 10 und 11 aus dem Bereich Q3 werden den Datenanschlüssen DQ8, DQ9, DQ10 und DQ11 und Daten, die in Speicherzellen 12, 13, 14 und 15 im Bereich Q4 abgespeichert worden sind, werden den Datenanschlüssen DQ12, DQ13, DQ14 und DQ15 zugeführt.
-
2 zeigt ein Zeitdiagramm von Datenströmen Data0, Data1, Data2 und Data3, die in Speicherzellen in den vier Bereichen der Speicherbank 100 abgespeichert werden. Der Datenstrom Data0 umfassen dabei Datenpakete Data0a und Data0b. Der Datenstrom Data1 umfasst die Datenpakete Data1a und Data1b. Der Datenstrom Data2 enthält die Datenpakete Data2a und Data2b und der Datenstrom Data3 umfasst die Datenpakete Data3a und Data3b. Die Datenpakete Data0a, Data1a, Data2a und Data3a umfassen jeweils Daten D0, ..., D7, die an den Datenanschlüssen DQ0, ... DQ7 anliegen. Die Datenpakete Data0b, Data1b, Data2b und Data3b umfassen Daten, die an den Datenanschlüssen DQ8, DQ15 anliegen.
-
Beim Beschreiben des Speicherzellenfeldes werden zunächst Daten D0, ..., D15 an die Datenanschlüssen DQ0, ..., DQl5 angelegt. Diese werden von an den Datenanschlüssen angeschlossenen Empfängerschaltungen R0, ..., R15 empfangen und zu einer steigenden Flanke F1 eines Taktsignals CLK auf den Bus IB eingespeist. Der Bus IB ist, wie oben erläutert, ein schmaler Bus mit beispielsweise 16 Leitungen, über die die Daten D0, .... D15 als Datenpakete Data0a und Data0b zu der Speicherschaltung 20 geleitet werden.
-
Nach dem Anlegen der Datenpakete Data0a und Data0b werden nachfolgend das Datenpaket Data1a aus Daten D0, ..., D7 an die Datenanschlüsse DQ0, ..., DQ7 angelegt und das Datenpaket Data1b, das die Daten D7, ..., D15 umfasst, an die Datenanschlüsse DQ7, ..., DQ15 angelegt. Zu einer nächsten fallenden Flanke F2 des Taktsignals CLK werden diese Datenpakete über die Leitungen des Busses IB der Speicherschaltung 20 zugeführt. Ebenso werden nachfolgend die Datenpakete Data2a, Data2b und Data3a, Data3b an die Datenanschlüsse des integrierten Halbleiterspeichers angelegt und zu den Flanken F3 und F4 des Taktsignals CLK als Datenstrom Data2 und Data3 über den Bus IB der Speicherschaltung 20 zugeführt.
-
Die Datenströme Data0, Data1, Data2 und Data3, die zu unterschiedlichen Flanken über den Bus IB übertragen worden sind und somit zu unterschiedlichen Zeiten an der Speicherschaltung 20 angekommen sind, werden in der Speicherschaltung 20 zwischengespeichert und zu einer gemeinsamen Flanke des Taktsignals CLK, im Beispiel der 2 der Flanke F7, auf die 64 Leitungen des Datenbusses DB ausgegeben. Das Datenpaket Data0a, das die Daten D0, ..., D7 umfasst und zur Flanke F1 des Taktsignals CLK über den Bus IB übertragen worden ist, wird in den Speicherzellen 0, 1, 2 und 3 im Bereich Q1 beziehungsweise in den Speicherzellen 4, 5, 6 und 7 im Bereich Q2 gespeichert. Die Daten D8, ..., D11 des Datenpaketes Data0b, das ebenfalls zu der Flanke F1 des Taktsignals CLK über den Bus IB übertragen worden ist, werden in den Speicherzellen 8, 9, 10 und 11 im Bereich Q3 und die Daten D12, ..., D15 des Datenpaketes Data0b werden in den Speicherzellen 12, 13, 14 und 15 im Bereich Q4 gespeichert. Entsprechend werden die übrigen Datenpakete Data1a und Data1b, die zur Flanke F2 des Taktsignals CLK aber den Bus IB zur Speicherschaltung 20 übertragen worden sind, die Datenpakete Data2a und Data2b, die zur Flanke F3 des Taktsignals CLK über den Bus IB der Speicherschaltung 20 zugeführt worden sind, und die Datenpakete Data3a und Data3b, die zur Flanke F4 des Taktsignals CLK der Speicherschaltung 20 zugeführt worden sind, in den in 1 gezeigt Bereichen der Speicherbank 100 gespeichert.
-
Die Speicherschaltung 20 speist somit sämtliche Datenpakete Data0a, Data0b, ..., Data3a, Data3b zu einer gemeinsamen Flanke des Taktsignals CLK auf den Datenbus DB ein, von dem aus sie in den entsprechenden Bereichen des Speicherzellenfeldes 100 gespeichert werden. Die Übertragung der Datenpakete über den Datenbus DB erfolgt asynchron.
-
Bei einem Schreibvorgang auf das Speicherzellenfeld 100 werden die Speicherzellen, die in der Nähe des zugehörigen Wortleitungstreibers WT angeordnet sind, am Ende eines Schreibvorgangs als erste gesperrt, da die Änderung der Steuerspannung auf der Wortleitung in der Nähe des jeweiligen Wortleitungstreibers zuerst wirksam wird. Da die Datenpakete Data0a, Data0b, ..., Data3a, Data3b gemeinsam auf den Datenbus DB eingespeist werden, tritt das Problem auf, dass Speicherzellen, die in der Nähe des jeweiligen Wortleitungstreibers liegen, sich bei einem Schreibvorgang zeitkritisch verhalten, wenn die ihnen zugeführten Daten noch nicht vollständig gespeichert sind und die Auswahltransistoren dieser Speicherzellen durch die wirksam werdende Änderung der Steuerspannung auf der Wortleitung wieder gesperrt werden.
-
3 zeigt einen Lesezugriff auf die Speicherzellen des Speicherzellenfeldes 100. Bei einem Lesezugriff werden an den Datenanschlüssen DQ0, ..., DQ15 Daten ausgegeben, die aus Speicherzellen 0, ..., 3 des Bereiches Q1, Speicherzellen 4, ..., 7 des Bereiches Q2, Speicherzellen 8, 11 des Bereiches Q3 und Speicherzellen 12, ..., 15 des Bereiches Q4 ausgelesen worden sind. Nach dem Aktivieren einer gemeinsamen Wortleitung in den Bereichen Q1 und Q3 und einer gemeinsamen Wortleitung in den Bereichen Q2 und Q4 liegen als erstes die Daten des Datenpaketes Data0a aus den Speicherzellen 0, ..., 3 des Bereiches Q1 und aus den Speicherzellen 4, ..., 7 des Bereiches Q2 sowie das Datenpaket Data1a mit Daten, die in den Speicherzellen 0, ..., 3 des Bereiches Q1 und in den Speicherzellen 4, ..., 7 des Bereiches Q2 gespeichert worden sind, an der Speicherschaltung 20 an. Nachfolgend liegen die Datenpakete Data2a und Data3a, die ebenfalls in den Speicherbereichen Q1 und Q2 gespeichert worden sind, an der Speicherschaltung 20 an. Zuletzt treffen die Datenpakete Data0b, Data1b und Data2b, Data3b, die in Speicherbereichen abgespeichert sind, die von der Speicherschaltung 20 weiter entfernt liegen, an der Speicherschaltung 20 ein.
-
Die anliegenden Daten, im Beispiel der 1 und 3 insgesamt 64 Daten auf dem 64 Bit breiten Datenbus DB, werden zu einer gemeinsamen Flanke F3 des Taktsignals CLK in der Speicherschaltung 20 gespeichert. Die Daten werden anschließend nacheinander sequentiell auf den 16 Bit breiten Bus IB als Datenströme Data0, ..., Data3 ausgegeben und erscheinen zeitlich versetzt zu den Flanken F4, F5, F6 und F7 an den Datenanschlüssen DQ0, ..., DQ15.
-
Wie aus 3 ersichtlich ist, liegen die Datenpakete, die aus dem Speicherzellenfeld ausgelesen werden, unterschiedlich lange an der Speicherschaltung 20 an, bevor sie in der Speicherschaltung 20 zwischengespeichert werden. Die Datenpakete Data0a, Data1a, die am frühesten an der Speicherschaltung 20 eintreffen, liegen am längsten mit einer Setup-Zeit ts0 an der Speicherschaltung 20 an. Die Datenpakete Data2a, Data3a liegen mit einer Setup-Zeit ts1, die Datenpakete Data0b, Data1b liegen mit einer Setup-Zeit ts2 und die aufgrund des langen Datenpfades an der Speicherschaltung 20 zuletzt eintreffenden Daten Data2b, Data3b liegen mit einer relativ kurzen Setup-Zeit ts3 an der Speicherschaltung 20 an, bevor sie in der Speicherschaltung 20 zwischengespeichert werden.
-
Ein Auslesevorgang, wie in 3 gezeigt, hat den Nachteil, dass Daten, die bereits frühzeitig an der Speicherschaltung 20 anliegen, erst zwischengespeichert werden, wenn die Daten aus den übrigen Bereichen des Speicherzellenfeldes und somit auch Datenpakete, die wesentlich später an der Speicherschaltung 20 eintreffen, anliegen. Dies bedingt für einen Auslesevorgang eine große Latenzzeit.
-
Die Druckschrift
DE 10223726 A1 betrifft einen integrierten Speicher in Prefetch-Architektur, bei dem Daten mit unterschiedlicher Signallaufzeit aus einem Speicherzellenfeld ausgelesen werden und einem Anschlussfeld zur Ausgabe der Daten zugeführt werden.
-
Die Druckschrift
US 6,512,719 B2 betrifft einen Halbleiterspeicher, bei dem Daten aus einem Speicherzellenfeld ausgelesen und vor der Ausgabe in einer Verstärkerschaltung verstärkt und mit unterschiedlichen Verzögerungszeiten ausgegeben werden.
-
Die Aufgabe der vorliegenden Erfindung ist es, einen integrierten Halbleiterspeicher mit taktgesteuertem Speicherzugriff anzugeben, bei dem ein Schreibzugriff möglichst zuverlässig durchführbar ist. Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum Betreiben eines integrierten Halbleiterspeichers mit taktgesteuertem Speicherzugriff anzugeben, bei dem das Einschreiben von Daten in Speicherzellen möglichst zuverlässig durchführbar ist.
-
Die Aufgabe in Bezug auf den integrierten Halbleiterspeicher wird gelöst durch einen integrierten Halbleiterspeicher mit taktgesteuertem Speicherzugriff mit mindestens einem Datenanschluss zur Ein-/Ausgabe eines Datums, mit einem Speicherzellenfeld mit Speicherzellen zur Speicherung von Daten, mit einer Takterzeugerschaltung zur Erzeugung eines Taktsignals, mit einer Speicherschaltung zur Speicherung eines Datums und mit einer Steuerschaltung zur Steuerung eines Speicherns von Daten in die Speicherschaltung und zur Steuerung einer Ausgabe von Daten aus der Speicherschaltung. Die Speicherschaltung ist dabei mit dem Speicherzellenfeld und mit dem mindestens einen Datenanschluss verbunden. Die Steuerschaltung steuert die Speicherschaltung derart an, dass bei einem Schreibzugriff auf die Speicherzellen des Speicherzellenfeldes ein der Speicherschaltung von dem mindestens einen Datenanschluss zugeführtes erstes Datum zu einer ersten Flanke des Taktsignal und ein der Speicherschaltung von dem mindestens einen Datenanschluss nachfolgend zugeführtes zweites Datum zu einer der ersten Flanke nachfolgenden zweiten Flanke des Taktsignals in der Speicherschaltung zwischengespeichert wird. Des Weiteren steuert die Steuerschaltung die Speicherschaltung derart an, dass bei dem Schreibzugriff das zwischengespeicherte erste Datum zu einer der ersten Flanke nachfolgenden dritte Flanke des Taktsignals aus der Speicherschaltung ausgegeben und dem Speicherzellenfeld zugeführt wird und das zwischengespeicherte zweite Datum zu einer vierten Flanke des Taktsignals aus der Speicherschaltung ausgegeben und dem Speicherzellenfeld zugeführt wird, wobei die vierte Flanke eine zu der dritten Flanke nachfolgende Flanke ist.
-
Bei einer Weiterbildung des integrierten Halbleiterspeichers steuert die Steuerschaltung die Speicherschaltung derart an, dass bei einem Lesezugriff auf die Speicherzellen des Speicherzellenfeldes das der Speicherschaltung von dem Speicherzellenfeld zugeführte erste Datum zu einer ersten Flanke des Taktsignals und das der Speicherschaltung nachfolgend zugeführte zweite Datum zu einer der ersten Flanke nachfolgenden zweiten Flanke des Taktsignals in der Speicherschaltung zwischengespeichert wird.
-
Des Weiteren steuert die Steuerschaltung die Speicherschaltung derart an, dass bei dem Lesezugriff das zwischengespeicherte erste Datum zu einer der ersten Flanke nachfolgenden dritten Flanke des Taktsignals aus der Speicherschaltung ausgegeben und dem mindestens einen Datenanschluss zugeführt wird und das zwischengespeicherte zweite Datum zu einer vierten Flanke des Taktsignals aus der Speicherschaltung ausgegeben und dem mindestens einen Datenanschluss zugeführt wird, wobei die vierte Flanke eine zu der dritten Flanke nachfolgende Flanke ist.
-
Bei einer anderen Ausführungsform des integrierten Halbleiterspeichers umfasst das Speicherzellenfeld eine erste der Speicherzellen und eine zweite der Speicherzellen, wobei die erste der Speicherzellen in einem ersten Bereich des Speicherzellenfeldes angeordnet ist und die zweite der Speicherzellen in einem zweiten Bereich des Speicherzellenfeldes angeordnet ist, wobei der erste Bereich näher an der Speicherschaltung liegt als der zweite Bereich.
-
Bei einer anderen Ausgestaltungsform des integrierten Halbleiterspeichers wird bei dem Schreibzugriff das erste Datum in der ersten der Speicherzellen und das zweite Datum in der zweiten der Speicherzellen gespeichert. Es ist auch möglich, dass bei dem Speicherzugriff das erste Datum in der zweiten der Speicherzellen und das zweite Datum in der ersten der Speicherzellen gespeichert wird. In einer bevorzugten Ausführungsform wird bei dem Lesezugriff das erste Datum aus der ersten der Speicherzellen und das zweite Datum aus der zweiten der Speicherzellen ausgelesen.
-
Im Folgenden wird ein Verfahren zum Betreiben des integrierten Halbleiterspeichers beschrieben. Das Verfahren sieht das Bereitstellen eines integrierten Halbleiterspeichers mit mindestens einem Datenanschluss zur Ein-/Ausgabe eines Datums, mit einem Speicherzellenfeld mit Speicherzellen zur Speicherung von Daten und mit einer Speicherschaltung zur Speicherung eines Datums vor. Ein erstes Datum wird an den Datenanschluss zum Einschreiben in eine der Speicherzellen des Speicherzellenfeldes angelegt. Nachfolgend wird ein zweites Datum an den Datenanschluss zum Einschreiben in eine der Speicherzellen des Speicherzellenfeldes angelegt. Das erste und das zweite Datum werden der Speicherschaltung zugeführt, wobei das erste Datum der Speicherschaltung vor dem zweiten Datum zugeführt wird. Das erste Datum wird in der Speicherschaltung zu einer ersten Flanke eines Taktsignals gespeichert. Das zweite Datum wird in der Speicherschaltung zu einer der ersten Flanke nachfolgenden zweiten Flanke des Taktsignals gespeichert. Das erste Datum wird aus der Speicherschaltung zu einer der ersten Flanke des Taktsignals nachfolgenden dritten Flanke ausgegeben. Das erste Datum wird dem Speicherzellenfeld zum Einschreiben in eine der Speicherzellen zugeführt. Das zweite Datum wird aus der Speicherschaltung zu einer vierten Flanke des Taktsignals ausgegeben, wobei die vierte Flanke eine zu der dritten Flanke nachfolgende Flanke ist. Das zweite Datum wird dem Speicherzellenfeld zum Einschreiben in eine der Speicherzellen des Speicherzellenfeldes zugeführt.
-
Bei einer anderen Ausführungsform des Verfahrens wird das erste Datum aus einer der Speicherzellen ausgelesen und der Speicherschaltung zugeführt. Nachfolgend wird das zweite Datum aus einer der Speicherzellen des Speicherzellenfeldes ausgelesen und der Speicherschaltung zugeführt. Das erste Datum wird in der Speicherschaltung zu der ersten Flanke des Taktsignals gespeichert. Das zweite Datum wird in der Speicherschaltung zu der der ersten Flanke nachfolgend zweiten Flanke des Taktsignals gespeichert. Das erste Datum wird aus der Speicherschaltung zu einer der ersten Flanke des Taktsignals nachfolgenden dritten Flanke ausgegeben. Das erste Datum wird dem mindestens einem Datenanschluss zur Ausgabe des ersten Datums zugeführt. Das zweite Datum wird aus der Speicherschaltung zu der vierten Flanke des Taktsignals ausgegeben, wobei die vierte Flanke eine zu der dritten Flanke nachfolgende Flanke ist. Das zweite Datum wird dem mindestens einen Datenanschluss zur Ausgabe des zweiten Datums zugeführt.
-
Bei einer anderen Ausführungsform des Verfahrens wird bei dem Einschreiben des ersten und zweiten Datums das erste Datum in eine erste der Speicherzellen und das zweite Datum in eine zweite der Speicherzellen eingeschrieben, wobei die erste der Speicherzellen in einem ersten Bereich des Speicherzellenfeldes und die zweite der Speicherzellen in einem zweiten Bereich des Speicherzellenfeldes angeordnet ist, wobei der erste Bereich näher an der Speicherschaltung liegt als der zweite Bereich.
-
Eine andere Ausführungsform des Verfahrens sieht vor, dass bei dem Einschreiben des ersten und zweiten Datums das erste Datum in eine zweite der Speicherzellen und das zweite Datum in eine erste der Speicherzellen eingeschrieben wird, wobei die erste der Speicherzellen in einem ersten Bereich des Speicherzellenfeldes und die zweite der Speicherzellen in einem zweiten Bereich des Speicherzellenfeldes angeordnet ist, wobei der erste Bereich näher an der Speicherschaltung liegt als der zweite Bereich.
-
Weitere Ausführungsformen in Bezug auf den integrierten Halbleiterspeicher sowie auf das Verfahren zum Betreiben des integrierten Halbleiterspeichers sind den Unteransprüchen zu entnehmen.
-
Die Erfindung wird im Folgenden anhand von Figuren, die Ausführungsbeispiele der vorliegenden Erfindung zeigen, näher erläutert. Es zeigen:
-
1 einen Schreib- und Lesezugriff auf ein Speicherzellenfeld eines integrierten Halbleiterspeichers, das über einen Bus mit einer Speicherschaltung zum Einschreiben und Auslesen von Daten verbunden ist,
-
2 ein Zeitdiagramm beim Einschreiben von Datenpaketen in ein Speicherzellenfeld,
-
3 ein Zeitdiagramm beim Auslesen von Datenpaketen aus einem Speicherzellenfeld,
-
4 eine Ausführungsform eines integrierten Halbleiterspeichers mit mehreren Speicherbänken,
-
5 ein Zeitdiagramm beim Einschreiben von Daten in Speicherzellen eines Speicherzellenfeldes,
-
6 einen Schreibzugriff auf ein Speicherzellenfeld eines integrierten Halbleiterspeichers, das über einen Bus mit einer Speicherschaltung zum Einschreiben und Auslesen von Daten verbunden ist,
-
7 ein Zeitdiagramm beim Auslesen von Daten aus einem Speicherzellenfeld,
-
8 einen Lesezugriff auf ein Speicherzellenfeld eines integrierten Halbleiterspeichers, das über einen Bus mit einer Speicherschaltung zum Einschreiben und Auslesen von Daten verbunden ist,
-
9 einen Schreibzugriff auf ein Speicherzellenfeld eines integrierten Halbleiterspeichers, das über einen Bus mit einer Speicherschaltung zum Einschreiben und Auslesen von Daten verbunden ist,
-
10 ein Zeitdiagramm beim Auslesen von Daten aus einem Speicherzellenfeld,
-
11 einen Lesezugriff auf ein Speicherzellenfeld eines integrierten Halbleiterspeichers, das über einen Bus mit einer Speicherschaltung zum Einschreiben und Auslesen von Daten verbunden ist,
-
12 einen Datenbus mit mehreren Leitungen.
-
4 zeigt einen integrierten Halbleiterspeicher mit vier Speicherbänken 100, 200, 300 und 400. Zum Anlegen von Daten, die in Speicherzellen einer Speicherbank eingeschrieben werden sollen, beziehungsweise zur Ausgabe von Daten, die aus Speicherzellen einer Speicherbank ausgelesen werden, weist der Halbleiterspeicher mehrere Datenanschlüsse DQ0, ..., DQ15 auf. Jeder der Datenanschlüsse ist mit einer Empfängerschaltung R0, ..., R15 zum Empfang beziehungsweise zur Ausgabe der Daten verbunden. Die Empfängerschaltungen sind über einen Bus IB, der im Beispiel der 4 als ein 16 Bit breiter Bus mit 16 Leitungen ausgebildet ist, mit einer Speicherschaltung 20, beispielsweise einem Latch, verbunden.
-
Die Speicherschaltung 20 ist über einen breiten parallelen Datenbus DB mit den einzelnen Speicherbänken verbunden. Aus Gründen der besseren Übersicht ist in 4 nur eine Verbindung der Speicherschaltung 20 über den Datenbus DB mit der Speicherbank 100 dargestellt. Der Datenbus DB ist als ein 64 Bit breiter Bus, der insgesamt 64 Leitungen umfasst, ausgebildet. Das Speichern von Daten in der Speicherschaltung 20 sowie das Ausgeben der gespeicherten Daten auf den Datenbus DB und den Bus IB wird von einer Steuerschaltung 40 gesteuert.
-
Des Weitern sind die Empfängerschaltungen R0, ..., R15 und die Speicherschaltung 20 mit einer Takterzeugerschaltung 30 zur Erzeugung eines Taktsignals CLK verbunden. Die Empfängerschaltungen speisen taktgesteuert von dem Taktsignal CLK die von den Datenanschlüssen empfangenen Daten auf den Bus IB ein beziehungsweise führen die von dem Bus IB empfangenen Daten den Datenanschlüssen DQ0, ..., DQ15 synchron zu dem Taktsignal CLK zu. Das Speichern von Daten in der Speicherschaltung 20 beziehungsweise das Ausgeben von Daten aus der Speicherschaltung 20 erfolgt ebenfalls synchron zu dem Taktsignal CLK.
-
Im Folgenden wird ein Schreibzugriff auf die Speicherzellen des Speicherzellenfeldes 100 anhand der 5 und 6 beschrieben. 6 zeigt die Speicherbank 100 mit den Bereichen Q1, Q2, Q3 und Q4, in denen Speicherzellen angeordnet sind, die zum Einschreiben von Daten beziehungsweise zum Auslesen von Daten mit dem Datenbus DB verbunden sind. Der Datenbus DB ist mit einer Speicherschaltung 20 verbunden, die wiederum mit dem Bus IB verbunden ist. 5 zeigt ein Zeitdiagramm beim Einschreiben von Datenpaketen in die Speicherzellen des Speicherzellenfeldes 100.
-
Zunächst werden die Datenpakete Data0a mit den Daten D0, ..., D7 und Data0b mit den Daten D8, ..., D15 an die Datenanschlüsse DQ0, ..., DQ15 angelegt, wobei die Daten D0, ..., D7 des Datenpaketes Data0a an die Datenanschlüsse DQ0, ..., DQ7 und die Daten D8, ..., D15 des Datenpaketes Data0b an die Datenanschlüsse DQ8, ..., DQ15 angelegt werden. Die von den Empfängerschaltungen R0, ..., R15 empfangenen Datenpakete Data0a, Data0b werden als Datenstrom Data0 zu einer Flanke F0 des Taktsignals CLK von den Empfängerschaltungen auf den Bus IB als Datenstrom Data0 eingespeist. Nachfolgend werden die weiteren Datenpakete Data1a, Data1b, Data2a, Data2b und Data3a, Data3b an die Datenanschlüsse angelegt. Dabei werden die Datenpakete Data1a, Data1b als Datenstrom Data1 zu der Flanke F2 des Taktsignals CLK auf den Bus IB eingespeist. Entsprechend werden die Datenpakete Data2a, Data2b und Data3a, Data3b als Datenstrom Data2 und Datenstrom Data3 zu der Flanke F3 beziehungsweise zu der Flanke F4 des Taktsignals CLK auf den Bus IB eingespeist. Die Datenströme werden somit auf dem 16 Bit breiten Bus IB sequentiell zu der Speicherschaltung 20 übertragen.
-
Der Datenstrom Data0 erreicht die Speicherschaltung 20 als erstes. Nachfolgend treffen die zu den späteren Flanken des Taktsignals CLK auf den Bus IB eingespeisten Datenströme Data1, Data2 und Data3 an der Speicherschaltung 20 ein. Im Gegensatz zu der in 2 gezeigten Ausführungsform des integrierten Halbleiterspeichers werden die Datenströme entsprechend ihrer Ankunftszeit an der Speicherschaltung 20 zu unterschiedlichen Flanken des Taktsignals CLK auf den Datenbus DB eingespeist. So werden die zuerst an der Speicherschaltung 20 ankommenden Daten Data0a, Data0b des Datenstromes Data0 zur Flanke F2 des Taktsignals CLK auf den Datenbus eingespeist. Die nachfolgend ankommenden Datenströme Data1, Data2 und Data3 werden zu den nächst folgenden Flanken des Taktsignals CLK auf den Datenbus eingespeist. Dadurch wird vermieden, dass frühzeitig an der Speicherschaltung 20 einreffende Datenpakete eine lange Wartezeit erfahren, bevor sie gemeinsam mit später an der Speicherschaltung eintreffenden Datenpaketen an das Speicherzellenfeld 100 weitergeleitet werden.
-
6 zeigt die Zuordnung der einzelnen Datenströme zu Bereichen innerhalb der Speicherbank 100 bei einer ersten Variante eines Schreibzugriffs. Entsprechend 6 wird der Datenstrom Data0, der zu der Flanke F2 des Taktsignals CLK auf den Datenbus DB eingespeist worden ist, in den Speicherzellen 0''', ..., 15''' im Bereich Q3 und Q4 des Speicherzellenfeldes 100 abgespeichert. Der zur Flanke F3 von der Speicherschaltung 20 ausgegebene Datenstrom Data1 wird in den Speicherzellen 0'', ..., 15'' in den Speicherbereichen Q3 und Q4 gespeichert. Der zur Flanke F4 auf den Datenbus DB eingespeiste Datenstrom Data2 wird in den Speicherzellen 0', ..., 15' im Speicherbereich Q1 und Q2 des Speicherzellenfeldes 100 gespeichert. Schließlich wird der zuletzt zur Flanke F5 auf den Datenbus DB von der Speicherschaltung 20 ausgegebene Datenstrom Data3 in den Speicherzellen 0, ..., 15 in den Speicherbereichen Q1 und Q2 gespeichert.
-
Durch ein derartiges Einschreiben von Datenströmen in Speicherzellen einer Speicherbank werden diejenigen Daten, die als erstes an der Speicherschaltung 20 zur Verfügung stehen, in denjenigen Speicherbereichen der Speicherbank abgespeichert, die am weitesten von der Speicherschaltung 20 beziehungsweise von den Wortleitungstreibern entfernt sind. Die Daten haben von der Speicherschaltung ausgehend bis in die weit von der Speicherschaltung 20 entfernt liegenden Bereiche des Speicherzellenfeldes eine lange Laufzeit. Da jedoch diejenigen Daten, die am frühesten an der Speicherschaltung eintreffen, in die von den Wortleitungstreibern am weitesten entfernten Bereiche eingeschrieben werden, wird sichergestellt, dass die Daten bereits zuverlässig gespeichert sind, bevor die Speicherzellen durch ein entsprechendes Steuerpotential auf der Wortleitung gesperrt werden.
-
Ein Lesezugriff wird anhand der 7 und 8 beschrieben. 7 zeigt ein Zeitdiagramm von Datenströmen Data0, ..., Data3 beim Auslesen von Speicherzellen des Speicherzellenfeldes 100. 8 zeigt das Speicherzellenfeld 100 mit den zu den Flanken des Taktsignals CLK der 7 ausgelesenen Datenströmen Data0, ..., Data3. Durch ein entsprechendes Steuerpotential auf der Wortleitung, die mit dem Wortleitungstreiber WT1 beziehungsweise mit dem Wortleitungstreiber WT2 verbunden ist, werden die mit der Wortleitung verbundenen Speicherzellen für einen Auslesevorgang aktiviert und sind somit leitend mit der an sie jeweilig angeschlossenen Bitleitung verbunden.
-
Aufgrund des kurzen Datenpfades liegt der Datenstrom Data3 als erster an der Speicherschaltung 20 an. Nachfolgend treffen die Datenströme Data2, Data1 und Data0 an der Speicherschaltung 20 ein. Gemäß der Erfindung wird der zuerst eingetroffene Datenstrom Data3 nach einer kurzen Setup-Zeit ts0 bereits zu der Flanke F1 des Taktsignals CLK in der Speicherschaltung 20 gespeichert. Der Datenstrom Data3 wird auch als erstes von der Speicherschaltung 20 zur Flanke F2 des Taktsignals auf den Bus IB ausgegeben und den Empfängerschaltungen R0, ..., R15 zugeführt. Zur Flanke F2 wird der als nächstes an der Speicherrschaltung 20 eintreffende Datenstrom Data2 in der Speicherschaltung 20 zwischengespeichert und zur nächstfolgenden Flanke F3 auf den Bus IB ausgegeben und den Empfängerschaltungen zugeführt. Der Datenstrom Data1 wird nach einer Setup-Zeit ts2 zur Flanke F3 in der Speicherschaltung 20 zwischengespeichert und zur Flanke F4 auf den Bus IB ausgegeben. Der Datenstrom Data0, der der Speicherschaltung 20 aus dem am weitest entfernten Bereich des Speicherzellenfeldes zugeführt wird, wird nach einer Setup-Zeit ts3 zur Flanke F4 des Taktsignals CLK in der Speicherschaltung 20 zwischengespeichert und zur Flanke F5 auf den Bus IB ausgegeben.
-
Bei einem Lesezugriff auf Speicherzellen des Speicherzellenfeldes 104, wie in 8 dargestellt, wird der zuerst an der Speicherschaltung 20 anliegende Datensatz in der Speicherschaltung 20 gespeichert und auch als erstes wieder ausgegeben und den Datenanschlüssen zugeführt. Es ist somit nicht mehr erforderlich, dass der Datensatz, der als erster an der Speicherschaltung 20 anliegt, erst dann in die Speicherschaltung eingelesen wird bzw. auf den Datenbus IB ausgegeben wird, wenn alle Daten des Speicherzellenfeldes an der Speicherschaltung 20 eingetroffen sind. Somit wird das Auslesen von Daten aus dem Speicherzellenfeld beschleunigt und die Latenzzeit beim Auslesen verringert.
-
9 zeigt eine weitere Variante bei Einschreiben von Daten in Speicherzellen des Speicherzellenfeldes 100. Gemäß 9 wird der Datenstrom Data0, der zur Flanke F2 des Taktsignals CLK auf den Datenbus DB eingespeist worden ist, in den Speicherzellen 0, ..., 15 in den Speicherbereichen Q1 und Q2 des Speicherzellenfeldes abgespeichert. Die Daten des Datenstroms Data1, die zur Flanke F3 des Taktsignals CLK von der Speicherschaltung 20 auf den Datenbus DB ausgegeben werden, werden in den Speicherzellen 0', ..., 15' in den Speicherbereichen Q1 und Q2 des Speicherzellenfeldes 100 abgespeichert. Der Datenstrom Data2, der zur Flanke F4 des Taktsignals CLK von der Speicherschaltung 20 auf den Datenbus DB ausgegeben worden ist, wird in den Speicherzellen 0'', ..., 15'', die in den Bereichen Q3 und Q4 des Speicherzellenfeldes angeordnet sind, eingeschrieben. Die Daten des Datenstromes Data3, die als letzte Daten zur Flanke F5 des Taktsignals CLK auf den Datenbus DB ausgegeben worden sind, werden in den Speicherzellen 0''', ..., 15''' in den Speicherbereichen Q3 und Q4 des Speicherzellenfeldes 100 gespeichert.
-
Bei der in 9 gezeigte Ausführungsform werden beim Abspeichern von Daten in den Speicherzellen des Speicherzellenfeldes 100 diejenigen Daten, die als erste auf den Datenbus DB ausgegeben worden sind, in denjenigen Speicherzellen gespeichert, die aufgrund ihrer Nähe zum Wortleitungstreiber als erste durch ein entsprechendes Steuerpotential auf der Wortleitung wieder deaktiviert werden, indem ihr Auswahltransistor gesperrt wird. Dadurch wird sichergestellt, dass auch in denjenigen Speicherzellen, die den Wortleitungstreibern WT am nächsten liegen, Daten sicher gespeichert werden.
-
Ein Lesezugriff auf ein Speicherzellenfeld, das wie in 9 gezeigt im Daten beschrieben worden ist, ist anhand der 10 und 11 verdeutlicht. 10 zeigt ein Zeitdiagramm der Datenströme Data0, ..., Data3 beim Auslesen von Speicherzellen des Speicherzellenfeldes 100. Durch ein entsprechendes Steuerpotential auf den Wortleitungen, die mit den Wortleitungstreibern WT1 beziehungsweise WT2 verbunden sind, werden die mit diesen Wortleitungen verbunden Speicherzellen für einen Auslesevorgang aktiviert und sind somit leitend mit den an sie angeschlossenen Bitleitungen verbunden.
-
Aufgrund des kurzen Datenpfades trifft der Datenstrom Data0 als erster an der Speicherschaltung 20 ein. Nachfolgend treffen die Datenströme Data1, Data2 und Data3 an der Speicherschaltung 20 ein. Der zuerst eingetroffene Datenstrom Data0 wird nach einer kurzen Setup-Zeit ts0 bereits zur Flanke F1 des Taktsignals CLK in der Speicherschaltung 20 gespeichert. Der Datenstrom Data0 wird auch als erstes von der Speicherschaltung 20 zur Flanke F2 des Taktsignals auf den Bus IB ausgegeben und den Empfängerschaltungen R0, ..., R15 zugeführt. Zur Flanke F2 wird der als nächstes an der Speicherschaltung 20 eintreffende Datenstrom Data1 in der Speicherschaltung 20 zwischengespeichert und zur nächstfolgenden Flanke F3 auf den Bus IB ausgegeben und den Empfängerschaltungen zugeführt. Der Datenstrom Data2 wird nach einer Setup-Zeit ts2 zur Flanke F3 in der Speicherschaltung 20 zwischengespeichert und zur Flanke F4 auf den Bus IB ausgegeben. Der Datenstrom Data3, der der Speicherschaltung 20 aus dem am weitesten entfernten Bereich des Speicherzellenfeldes zugeführt wird, wird nach einer Setup-Zeit ts3 zur Flanke F4 des Taktsignals CLK in der Speicherschaltung 20 zwischengespeichert und zur Flanke F5 auf den Bus IB ausgegeben.
-
Auch bei der in den 10 und 11 gezeigten Ausführungsform des Lesezugriffs wird der zuerst an der Speicherschaltung 20 anliegende Datensatz in der Speicherschaltung 20 zuerst gespeichert und auch als erstes wieder ausgegeben und den Datenanschlüssen zugeführt. Es ist somit nicht mehr erforderlich, dass der Datensatz, der als erster an der Speicherschaltung 20 anliegt, erst dann in die Speicherschaltung eingelesen wird beziehungsweise auf den Datenbus IB ausgegeben wird, wenn alle Daten des Speicherzellenfeldes an der Speicherschaltung 20 eingetroffen sind. Somit kann auch hier das Auslesen von Daten aus dem Speicherzellenfeld beschleunigt und die Latenzzeit beim Auslesen verringert.
-
12 zeigt eine Ausführungsform des Datenbusses DB. Bei dieser Ausführungsform sind Leitungen L0, auf denen Daten des Datenstromes Data0 übertragen werden, und Leitungen L2, auf denen Daten des Datenstromes Data2 übertragen werden, sowie Leitungen L1 und L3, auf denen Daten der Datenströme Data1 und Data3 übertragen werden, räumlich benachbart angeordnet. Da nebeneinander angeordnete Leitungen Datensignale von Daten führen, die zu verschiedenen Flanken des Taktsignals CLK von der Speicherschaltung 20 auf den Bus DB ausgegeben worden sind, wird eine Störung von Signalen auf den Busleitungen weitestgehend vermieden.
-
Bezugszeichenliste
-
- 10
- integrierter Halbleiterspeicher
- 20
- Speicherschaltung
- 30
- Takterzeugerschaltung
- 40
- Steuerschaltung
- R
- Empfängerschaltung
- DQ
- Datenanschluss
- D
- Datum
- IB
- Bus
- DB
- Datenbus
- 100
- Speicherbank
- 200
- Speicherbank
- 300
- Speicherbank
- 400
- Speicherbank
- 0, ..., 15
- Speicherzelle
- Data
- Datenstrom
- Data a, Data b
- Datenpaket
- F
- Flanke eines Taktsignals
- CLK
- Taktsignal
- ts
- Setup-Zeit