DE102005011386B4 - Schaltungseinheit zur Datenbitinvertierung - Google Patents

Schaltungseinheit zur Datenbitinvertierung Download PDF

Info

Publication number
DE102005011386B4
DE102005011386B4 DE102005011386A DE102005011386A DE102005011386B4 DE 102005011386 B4 DE102005011386 B4 DE 102005011386B4 DE 102005011386 A DE102005011386 A DE 102005011386A DE 102005011386 A DE102005011386 A DE 102005011386A DE 102005011386 B4 DE102005011386 B4 DE 102005011386B4
Authority
DE
Germany
Prior art keywords
data
inversion
dwi
decoder
data word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102005011386A
Other languages
English (en)
Other versions
DE102005011386A1 (de
Inventor
Stefan Dietrich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polaris Innovations Ltd
Original Assignee
Qimonda AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qimonda AG filed Critical Qimonda AG
Priority to DE102005011386A priority Critical patent/DE102005011386B4/de
Priority to US11/372,738 priority patent/US7405981B2/en
Priority to CN200610059466.4A priority patent/CN1832027A/zh
Publication of DE102005011386A1 publication Critical patent/DE102005011386A1/de
Application granted granted Critical
Publication of DE102005011386B4 publication Critical patent/DE102005011386B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Schaltungseinheit (1) zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts mit: einem Zwischenspeicher (4) zum Zwischenspeichern des aus mehreren (m) Datenwörtern (DWi) bestehenden Datenbursts (DB), wobei jedes Datenwort (DWi) eine bestimmte Anzahl (n) von Datenbits umfasst; einer Dekodiereinheit (5), die aus mehreren (m) parallel verschalteten Dekodierern (5-i) besteht, wobei jeder der m Dekodierer (5-i) jeweils ein zugehoriges anliegendes Datenwort (DWi-1) des zwischengespeicherten Datenbursts (DB) mit einem benachbarten Datenwort (DWi) des zwischengespeicherten Datenbursts (DB), welches ein Referenzdatenwort bildet, bitweise vergleicht und ein Invertierungsflag (DBIi) erzeugt, wenn die Anzahl der unterschiedlichen Datenbits der beiden benachbarten Datenwörter mehr als die Halfte der Anzahl (n) von Datenbits innerhalb eines Datenwortes (DWi) beträgt; einer Korrektureinheit (23), die jedes von einem Dekodierer (5-i) erzeugte Invertierungsflag (DBIi) in Abhangigkeit von den Invertierungsflags, die von allen ubrigen Dekodierern erzeugt werden, zur Erzeugung eines korrigierten Invertierungsflags (DBICOR2) des Dekodierers (5-i) korrigiert; und mit einer Invertierungseinheit (24), die aus mehreren (m) Invertierern (24-i) besteht, die jeweils das anliegende Datenwort (DWi) eines zugehörigen Dekodierers (5-i) in Abhangigkeit von dem korrigierten Invertierungsflag (DBIKORR) des Dekodierers (5-i) invertiert oder nicht invertiert abgibt.

Description

  • Die Erfindung betrifft eine Schaltungseinheit und ein Verfahren zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts, insbesondere für DDR-SDRAM (Double Data Rate Synchronous Dynamic Random Access Memories).
  • 1 zeigt ein Computersystem nach dem Stand der Technik, bei dem ein Speicherchip und ein Controllerchip über einen gemeinsamen Datenbus Daten austauschen. Die zunehmende Geschwindigkeit von Computerprozessoren bzw. Controllern erfordert eine entsprechend höhere Geschwindigkeit bei Speicherzugriffen bzw. schnellere Speicherbausteine. Der Speicherbaustein und der Prozessor werden über ein Taktsignal CLK getaktet.
  • Es wurden verschiedene Generationen von RAM-Speichern entwickelt, deren Zugriffsrate beständig anstieg. Die zeitlichen Abstände, in denen neue, aus dem Speicherzellenfeld ausgelesene oder einzuschreibende Daten an den Datenein-/ausgängen des entsprechenden. Speicherbausteins bereitstehen, wurden dabei ständig verkürzt. Ausgehend von synchronen dynamischen RAMs (SDRAMS) wurden so genannte DDR-SDRAMs mit doppelter Datenrate entwickelt. Derartige DDR-SDRAMs liefern Daten doppelt so schnell wie herkömmliche SDRAMs. Bei DDR-SDRAMs wird allerdings nicht der Takt verdoppelt, sondern es werden zwei Aktionen in einem Takt ausgeführt. Während herkömmliche SDRAMs stets nur zur aufsteigenden Taktflanke des Bustaktes synchronisiert sind, werden bei einem DDR-SDRAM sowohl die aufsteigende als auch die fallende Taktflanke zur Datenübermittlung eingesetzt.
  • Die Datenübertragungsrate eines DDR-SDRAM, welche einer doppelten Taktfrequenz entspricht, liegt bei Taktfrequenzen im Bereich von 800 MHz bis 1 GHz bei fast 2 GHz.
  • Bei einem Lesezugriff auf den Speicherbaustein werden Daten als Datenburst ausgelesen, wobei jeder Datenburst aus mehreren Datenwörtern besteht, die jeweils eine vorbestimmte Anzahl n von Datenbits umfassen. Die Anzahl der Datenbits innerhalb eines Datenwortes entspricht der Busbreite N des Datenbusses. Bei einem Datenburst werden beispielsweise 4 Datenwörter (m = 4), die jeweils 8 Bit (n = 8) umfassen, ausgelesen. 2 zeigt das Auslesen eines Datenbursts aus einem SDRAM nach dem Stand der Technik. Aufgrund der zunehmenden Betriebsfrequenz bzw. Arbeitsfrequenz nehmen die induktiven und kapazitiven Kopplungen zu, so dass es zu Datenverfälschungen kommt. Mit zunehmender Betriebsfrequenz wird es immer schwieriger, die Daten von dem Speicherbaustein zu dem Controller zu übertragen. Eine Limitierung stellt hierbei das Rauschen bzw. Noise auf den Datenleitungen des Datenbusses dar. Das Rauschen limitiert die Gültigkeitsdauer der Daten und verringert die sogenannte Datenaugengröße. Je mehr Schaltvorgänge bzw. Datenübergänge auf den Datenleitungen auftreten, desto mehr nehmen die Datenverfälschungen zu, d. h. die Bitfehlerrate (BER) steigt an.
  • 3 zeigt die Übertragung eines Datenbursts bei einem Lesezugriff von einem Speicherbaustein zu einem Controller bei einem herkömmlichen Datenverarbeitungssystem nach dem Stand der Technik. Bei dem in 3 dargestellten Beispiel wird ein Datenburst mit 8 Datenwörtern, die jeweils 8 Bit umfassen, übertragen. Nachdem der Speicherbaustein über einen Steuerbus einen Lesebefehl (RD) von dem Controller empfangen hat, überträgt er nach einer gewissen Latenzzeit ein Datenburst über den Datenbus zu dem Controller. Bei dem dargestellten Beispiel überträgt der Speicherbaustein folgende Folge von Datenwörtern, nämlich: FF, 00, 00, EF, FF, 00, 02, FF. In 3 ist die Anzahl der dabei auftretenden Bits angegeben, die bei einem Übergang von einem Datenwort zu dem nächsten Datenwort ihren Wert ändern. Beim Übergang von dem ersten Datenwort (FF) zu dem zweiten Datenwort (00) ändern alle Bits des Datenworts ihren logischen Wert. Beim nächsten Übergang ändert keines der Bits seinen logischen Wert. Beim Übergang von dem Datenwort 00 zu dem Datenwort EF ändern sieben Bits ihren logischen Wert.
  • Um das durch das Schalten hervorgerufene Rauschen zu begrenzen, wird bei dem GDDR4-(Graphics Data Double Rate-)Standard eine sogenannte Datenbitinvertierung (DBI: Data Bit Inversion) eingeführt. Hierbei wird intern im Speicherchip vor der Übertragung der Daten mit Hilfe eines Dekoders überprüft, wie viele Datenbits eines Datenworts sich relativ zu den direkt zuvor übertragenen Datenbit des vorangehenden Datenworts geändert haben. Übersteigt die Anzahl der geänderten Datenbits die Hälfte der Datenbits des Datenwortes, werden alle Datenbits des nachfolgenden Datenwortes invertiert an den Controller auf den Datenbus übertragen. Die Invertierung der Datenbits des Datenwortes werden dem Controller durch zusätzliche Übertragung eines DBI-Flags angezeigt. 4 zeigt eine derartige Datenbitinvertierung nach dem Stand der Technik und für das in 3 dargestellte Beispiel.
  • Da zwischen den beiden ersten Datenwörtern (FF, 00) mehr als die Hälfte, nämlich acht Datenbits, den Datenzustand ändern, wird das zweite Datenwort invertiert übertragen als FF. Da zwischen dem invertierten Datenwort FF und dem nächsten zu übertragenden Datenwort 00 ebenfalls mehr als die Hälfte der Datenbits ihren Zustand ändern, wird auch das dritte Datenwort invertiert und als FF an den Controller übertragen. Da zwischen dem dritten invertierten übertragenen Datenwort und dem nächsten zu übertragenden Datenwort EF nur ein Datenbitübergang und somit weniger als die Hälfte der Anzahl der Datenbits innerhalb eines Datenworts invertiert wird, wird das vierte Datenwort EF nicht invertiert an den Controller übertragen usw.. Wie man aus 4 erkennen kann, ist die Anzahl der Datenbitübergänge bzw. schaltenden Bits erheblich geringer als bei einer Datenübertragung ohne Datenbitinvertierung, wie sie in 3 dargestellt ist. 4 zeigt auch das parallel übertragene Datenbitinvertierungsflag DBI, welches dem Prozessor anzeigt, ob das empfangene Datenwort invertiert wurde oder nicht.
  • 5 zeigt eine Schaltungseinheit zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts nach dem Stand der Technik. Aus dem Speicherzellenfeld wird der gesamte ausgelesene Datenburst zunächst in einem Burst-Zwischenspeicher zwischengespeichert. Beispielsweise werden in dem Burst-Zwischenspeicher m = 4 Datenwörter mit jeweils n = 8 Datenbits zwischengespeichert. Für jedes Datenwort DW innerhalb des Burst-Zwischenspeichers ist ein zugehöriger Dekodierer vorgesehen, beispielsweise m = 4 Dekodierer. Jeder Dekodierer vergleicht die Datenbits eines Datenwortes mit denjenigen Datenbits des vorangehenden Datenwortes.
  • 6 zeigt einen schaltungstechnischen Aufbau eines herkömmlichen Dekodierers, wie sie in der Datenbit-Invertierungseinheit nach dem Stand der Technik gemäß 5 eingesetzt wird. Das aus dem Burst-Zwischenspeicher ausgelesene Datenwort wird bei Empfang eines Enable-Signals (EN) in ein Register geladen. Gleichzeitig wird das vorangehende Datenwort (DWi-1) des Datenbursts als Referenzdatenwort ebenfalls in ein Register geladen. Eine XOR-Logikschaltung vergleicht bitweise den Dateninhalt der beiden Register. Eine Zähleinrichtung zählt die Anzahl der unterschiedlichen Datenbits. Ein Komparator vergleicht die Anzahl der unterschiedlichen Datenbits in den beiden Datenwörtern mit der Hälfte der Anzahl von Datenbits innerhalb eines Datenwortes. Beträgt beispielsweise die Anzahl von Datenbits innerhalb eines Datenworts 8 Bit, vergleicht der Komparator die aufgefundene Anzahl von unterschiedlichen Datenbits mit dem Wert 4. Ist die Anzahl der unterschiedlichen Datenbits höher als die Hälfte der Anzahl n von Datenbits innerhalb des Datenwortes, wird ein Datenbit-Invertierungsflag (DBI) durch den Komparator gesetzt. Das DBI-Flag steuert intern einen Multiplexer des Dekoders. Das in dem ersten Register zwischengespeicherte Datenwort DWi wird durch den Multiplexer entweder invertiert oder nicht invertiert durchgeschaltet. Wenn durch den Komparator das DBI-Flag gesetzt wird, folgt eine bitweise Invertierung der Datenbits. Ist der Komparator mit dem Vergleich fertig, leitet er ein Fertig-Anzeigesteuersignal an den nächsten Dekodierer innerhalb der Kaskade weiter.
  • Wie man aus 5 erkennen kann, werden die von den Dekodierern ausgegebenen Datenwörter an einen Parallel/Seriell-Wandler angelegt, der durch das Fertig-Steuersignal des letzten Dekodierers innerhalb der Kaskade aktiviert wird. Der Parallel/Seriell-Wandler wandelt die empfangenen Datenwörter und die zugehörigen Datenbit-Invertierungsflags in einen seriellen Datenstrom um. Über einen Datenbus wird ein Datenburst bestehend aus m Datenwörtern, die jeweils eine Bitbreite n aufweisen, sowie m Datenbit-Invertierungsflags an den Controller abgegeben. Wie man aus 5 erkennen kann, arbeiten die Dekodierer der Datenbit-Invertierungseinheit nach dem Stand der Technik seriell. Die Dekodierer sind als Kaskade verschaltet, d. h. ein Dekodierer i innerhalb der Kaskade benötigt stets den Ausgabewert des vorangehenden Dekodierers i-1 innerhalb der Kaskade als Referenzdatenwort, um den notwendigen Vergleich anstellen zu können. Der Parallel/Seriell-Wandler P/S kann mit der Umwandlung der parallel anliegenden Datenwörter zu einer seriellen Folge erst beginnen, nachdem der letzte Dekodierer DECm innerhalb der Kaskade mit dem Vergleich fertig ist und ihn über ein Enable-Signal aktiviert. Die Wartezeit beträgt somit das m-fache der notwendigen Dekodierzeit eines Dekodierers i innerhalb der Kaskade: TWarte = m·TDEC
  • Beträgt beispielsweise die Dekodierzeit für einen Dekodierer DECi innerhalb der Kaskade eine Nanosekunde und umfasst ein Datenburst m = 4 Datenwörter, beträgt die Wartezeit 4 ns.
  • Die erhöhte Wartezeit führt zu einer unerwünschten Verzögerung und der Speicherzugriffszeit auf Daten innerhalb des Speicherbausteins. Dies wirkt sich insgesamt negativ auf die System-Performance aus. Die serielle Bearbeitung bei der DBI-Bewertung führt zu einer starken zeitlichen Verzögerung bei der parallelen Datenübertragung, da abgewartet werden muss, bis die Dekodierung des letzten Datenworts innerhalb des Datenbursts beendet ist. Alle schon bearbeiteten Daten müssen diese Zeit abwarten, bis sie parallel weiter verarbeitet werden können.
  • Aus der US 6,671,212 ist eine Datenwortinvertierung bekannt, bei der über die Bitinvertierung im Datenwort durch Vergleich mit dem vorhergehenden Datenwort entschieden wird. Die Datenwörter des Datenbursts werden dabei nacheinander abgearbeitet.
  • Der US 6,243,779 ist eine Dekodiereinheit zur Datenwortinvertierung zu entnehmen, bei der ein bitweiser Datenvergleich sequentiell zwischen zwei aufeinanderfolgenden Datenwörtern erfolgt.
  • Es ist eine der Aufgabe der vorliegenden Erfindung, eine Schaltungseinheit und ein Verfahren zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts zu schaffen, bei denen die Wartezeit und somit die Speicherzugriffszeit minimal sind.
  • Diese Aufgabe wird erfindungsgemäß durch eine Schaltungseinheit zur Datenbitinvertierung mit den in Patentanspruch 1 angegebenen Merkmalen und durch eine Verfahren zum Datenbitinvertieren mit den in Patentanspruch 18 angegebenen Merkmalen gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
  • Die Erfindung schafft eine Schaltungseinheit zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts mit
    • (a) einem Zwischenspeicher zum Zwischenspeichern des aus mehreren Datenwörtern bestehenden Datenbursts, wobei jedes Datenwort eine bestimmte Anzahl von Datenbits umfasst; einer Dekodiereinheit, die aus mehreren parallel verschalteten Dekodierern besteht, wobei jeder der m Dekodierer jeweils ein zugehöriges anliegendes Datenwort des zwischengespeicherten Datenbursts mit einem benachbarten Datenwort des zwischengespeicherten Datenbursts, welches ein Referenzdatenwort bildet, bitweise vergleicht und ein Invertierungsflag erzeugt, wenn die Anzahl der unterschiedlichen Datenbits der beiden benachbarten Datenwörter mehr als die Halfte der Anzahl von Datenbits innerhalb eines Datenwortes betragt;
    • (c) einer Korrektureinheit, die jedes von einem Dekodierer erzeugte Invertierungsflag in Abhangigkeit von den Invertierungsflags, die von allen ubrigen Dekodierern erzeugt werden, zur Erzeugung eines korrigierten Invertierungsflags des Dekodierers korrigiert; und mit
    • (d) einer Invertierungseinheit, die aus mehreren Invertierern besteht, die jeweils das anliegende Datenwort eines zugehörigen Dekodierers in Abhängigkeit von dem korrigierten Invertierungsflag des Dekodierers invertiert oder nicht invertiert abgibt.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit ist ein Parallel/Seriell-Wandler vorgesehen, der die von der Invertierungseinheit abgegebenen Datenworter und die zugehörigen korrigierten Invertierungsflags parallel/seriell wandelt und als Datenburst aus dem Speicherbaustein ausgibt.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemaßen Schaltungseinheit bestehen die m Invertierer der Invertierungseinheit jeweils aus n XOR-Gattern.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemaßen Schaltungseinheit weist jeder Dekodierer der Dekodiereinheit eine Logikschaltung auf, die das an den Dekodierer anliegende Datenwort mit dem Referenzdatenwort bitweise vergleicht.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemaßen Schaltungseinheit besteht die Logikschaltung des Dekodierers aus n XOR-Gattern.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemäßen Schaltungseinheit weist jeder Dekodierer der Dekodiereinheit eine Zähleinrichtung auf, die die Anzahl der unterschiedlichen Datenbits des an den Dekodierer anliegenden Datenwortes und des Referenzdatenwortes ermittelt.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemäßen Schaltungseinheit weist jeder Dekodierer der Dekodiereinheit einen Komparator auf, der die von der Zählereinrichtung ermittelte Anzahl von Datenbits mit der halben Anzahl ( n / 2) von Datenbits innerhalb eines Datenwortes vergleicht.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinrichtung erzeugt der Komparator des Dekodierers ein logisch hohes Invertierungsflag (DBIi), wenn die durch die Zähleinrichtung ermittelte Anzahl mehr als die Hälfte der Anzahl (n) von Datenbits innerhalb eines Datenwortes betragt.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit bildet die Korrektureinheit eine separate Schaltungseinheit, die der Dekodiereinheit nachgeschaltet ist.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit ist die Korrektureinheit in die Dekodiereinheit integriert.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemäßen Schaltungseinheit besteht die integrierte Korrektureinheit aus mehreren Korrekturschaltungen, wobei jede Korrekturschaltung in einem zugehorigen Dekodierer der Dekodiereinheit enthalten ist.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit ist die Korrekturschaltung eines Dekodierers durch eine Logikschaltung gebildet, die das von dem Komparator des Dekodierers erzeugte Invertierungsflag in Abhangigkeit von den Invertierungsflags, die von den Komparatoren aller übrigen m-1 Dekodierer erzeugt werden, zur Generierung eines korrigierten Invertierungsflags des Dekodierers korrigiert.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemaßen Schaltungseinheit ist die integrierte Korrektureinheit durch einen Speicher gebildet, aus dem in Abhängigkeit von dem Invertierungsflag, das von dem Komparator des Dekodierers erzeugt wird, und in Abhängigkeit von allen Invertierungsflags, die von den Komparatoren der übrigen m-1 Dekodierer erzeugt werden, ein korrigiertes Invertierungsflag des Dekodierers ausgelesen wird.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit steuert das korrigierte Invertierungsflag einen Multiplexer des Dekodierers an, der an den Dekodierer angelegte Daten direkt oder invertiert abgibt.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemaßen Schaltungseinheit umfasst jeder Datenburst vier Datenwörter (m = 4).
  • Bei einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit umfasst jedes Datenwort acht Bit (n = 8).
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemaßen Schaltungseinheit weist jeder Dekodierer der Dekodiereinheit eine zugehörige GAP-Erkennungseinheit auf, die zur Erzeugung eines Steuersignals für einen Multiplexer feststellt, ob das Referenzdatenwort einen Teil einer Lücke (GAP) zwischen zwei Datenbursts bildet.
  • Bei einer bevorzugten Ausführungsform der erfindungsgemaßen Schaltungseinheit steuert die GAP-Erkennungseinheit, wenn das Referenzdatenwort einen Teil einer Lücke zwischen zwei Datenbursts bildet, den Multiplexer derart an, dass ein vorbestimmtes Datenwort (FF) zum bitweisen Vergleich mit dem an dem Dekodierer anliegenden Datenwort durchgeschaltet wird, wobei die GAP-Erkennungseinheit, wenn das Referenzdatenwort nicht einen Teil einer Lücke (GAP) zwischen zwei Datenbursts bildet, den Multiplexer derart ansteuert, dass das Referenzdatenwort zum bitweisen Vergleich mit dem an dem Dekodierer anliegenden Datenwort durchgeschaltet wird.
  • Bei einer bevorzugten Ausfuhrungsform der erfindungsgemäßen Schaltungseinheit sind dem Multiplexer, der durch das von der GAP-Erkennungseinheit erzeugte Steuersignal angesteuert wird, zwei separate Dekodierer nachgeschaltet,
    wobei ein erster Dekodierer das anliegende Datenwort mit dem Referenzdatenwort bitweise zur Erzeugung eines ersten Invertierungsflags (DBI1) vergleicht,
    wobei ein zweiter Dekodierer das anliegende Datenwort mit einem vorbestimmten Datenwort (FF) zur Erzeugung eines zweiten Invertierungsflags (DBI2) vergleicht, und wobei der Multiplexer das erste Invertierungsflag (DBI1) und das zweite Invertierungsflag (DBI2) in Abhangigkeit von einem Steuersignal an die Korrektureinheit durchschaltet.
  • Des Weiteren werden bevorzugte Ausfuhrungsformen der erfindungsgemaßen Schaltungseinheit unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.
  • Es zeigen:
  • 1 eine Schaltungsanordnung nach dem Stand der Technik;
  • 2 den Aufbau eines Datenbursts nach dem Stand der Technik;
  • 3 das Auslesen eines Datenbursts aus einem DRAM ohne Datenbitinvertierung nach dem Stand der Technik;
  • 4 das Auslesen eines Datenbursts aus einem DRAM mit Datenbitinvertierung nach dem Stand der Technik;
  • 5 eine Schaltungseinheit zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts nach dem Stand der Technik;
  • 6 ein Blockschaltbild eines Dekodierers innerhalb der herkömmlichen Schaltungseinheit zur Datenbitinvertierung nach dem Stand der Technik, wie sie in 5 dargestellt ist;
  • 7 eine erste Ausführungsform der erfindungsgemaßen Schaltungseinheit zur Datenbitinvertierung;
  • 8 ein Blockschaltbild eines Dekodierers innerhalb der Schaltungseinheit gemäß der ersten Ausführungsform, wie sie in 7 dargestellt ist;
  • 9 eine Tabelle der innerhalb einer Korrekturschaltung abgelegten Datenbit-Invertierungsflags gemäß einer ersten Ausführungsform der erfindungsgemäßen Schaltungseinheit;
  • 10 eine zweite Ausfuhrungsform der erfindungsgemäßen Schaltungseinheit zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts;
  • 11 ein Blockschaltbild eines Dekodierers innerhalb der Schaltungseinheit gemäß der in 10 dargestellten zweiten Ausführungsform;
  • 12 ein Blockschaltbild einer Korrektureinheit gemäß der zweiten Ausführungsform der erfindungsgemäßen Schaltungseinheit zur Datenbitinvertierung;
  • 13 ein Diagramm zur Erläuterung einer Lücke zwischen zwei Datenbursts zur Erlauterung der Funktionsweise einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit;
  • 14 eine bevorzugte Ausführungsform einer innerhalb der erfindungsgemäßen Schaltungseinheit eingesetzten GAP-Erkennungseinheit; und
  • 15 eine bevorzugte Ausführungsform der innerhalb der erfindungsgemäßen Schaltungseinheit eingesetzten GAP-Erkennungseinheit.
  • 7 stellt eine erste Ausführungsform der erfindungsgemäßen Schaltungseinheit 1 zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts dar. Die erfindungsgemaße Schaltungseinheit 1 ist innerhalb des Speicherbausteins integriert und bildet einen Teil des Lesesignalpfads. Der Speicherbaustein enthalt ein Speicherzellenfeld 2 mit einer Vielzahl von Speicherzellen zum Speichern von Datenbits. Uber einen internen Datenbus 3 werden alle Datenbits eines auszulesenden Datenbursts in einen Burst-Zwischenspeicher 4 der Schaltungseinheit 1 zwischengespeichert. Besteht der Datenburst aus m Datenwortern zu je n Datenbits, werden gleichzeitig m·n Datenbits in den Burst-Zwischenspeicher 4 eingeschrieben.
  • Die Schaltungseinheit 1 enthält eine Dekodiereinheit 5, die aus mehreren parallel verschalteten Dekodierern 5-i besteht. Für jedes Datenwort DWi ist ein zugehöriger Dekodierer 5-i innerhalb der Dekodiereinheit 5 vorgesehen. Jeder Dekodierer 5-i vergleicht bitweise jeweils das an ihm anliegende zugehörige Datenwort DWi des zwischengespeicherten Datenbursts DB mit einem benachbarten Datenwort DWi-1 des zwischengespeicherten Datenbursts DB. An einem ersten Dateneingang 6-i des Dekodierers 5-i liegt das zugehörige Datenwort DWi des zwischengespeicherten Datenbursts DB an. An einem zweiten Dateneingang 7-i des Dekodierers 5-i liegt jeweils das benachbarte Datenwort des zwischengespeicherten Datenbursts DB als Referenzdatenwort an. Jeder Dekodierer 5-i vergleicht das an dem ersten Dateneingang 6-i anliegende Datenwort des zwischengespeicherten Datenbursts DB mit dem an dem zweiten Dateneingang 7-i anliegenden benachbarten Datenwort bitweise und erzeugt ein Invertierungsflag DBIi, wenn die Anzahl der unterschiedlichen Datenbits der beiden benachbarten Datenwörter mehr als die Hälfte der Anzahl n von Datenbits innerhalb eines Datenwortes beträgt. Wie man aus 7 erkennen kann, sind die Dekodierer innerhalb der Dekodiereinheit parallel verschaltet und werden synchron uber eine gemeinsame Taktleitung 8 getaktet. Jeder Dekodierer 5-i weist einen Takteingang 9-i auf. Die parallel verschalteten Dekodierer 9-i der Dekodiereinheit 5 werden durch ein gemeinsames Aktivierungssignal (Enable) über eine Steuerleitung 10 aktiviert. Jeder Dekodierer enthalt einen Enable-Steuereingang 11.
  • Bei der in 7 dargestellten ersten Ausfuhrungsform weist jeder Dekodierer einen Datenausgang 12 zur Abgabe des anliegenden Datenwortes DWi in invertierter oder nicht invertierter Form auf. Die von den Dekodierern 5-i abgegebenen invertierten bzw. nicht invertierten Datenworter werden über einen internen Datenbus 13-i an einen nachgeschalteten Parallel/Seriell-Wandler 14 abgegeben. Dabei generiert bei der in 7 dargestellten ersten Ausfuhrungsform der erfindungsgemaßen Schaltungseinheit jeder Dekodierer 5-i ein Datenbit-Invertierungsflag, welches über eine Ausgabeleitung 15 ebenfalls an den Parallel/Seriell-Wandler 14 ausgegeben wird. Die von den Dekodierern 5-i ausgegebenen Datenbit-Invertierungsflags DBI werden über einen internen Bus 16 an alle übrigen Dekodierer 5-i innerhalb der Dekodiereinheit 5 angelegt. Bei der in 7 dargestellten ersten Ausfuhrungsform erzeugt eine innerhalb der Dekodierer 5-i vorgesehene integrierte Korrektureinheit in Abhängigkeit von den Invertierungsflags DBIi, die von allen übrigen Dekodierern erzeugt werden, in jedem Dekodierer jeweils ein korrigiertes Invertierungsflag
    Figure 00140001
    das über eine Datenleitung 17-i an den Parallel/Seriell-Wandler 14 abgegeben wird. Sobald ein Dekodierer 5-i mit der Dekodierung fertig ist, zeigt er dies an einem Steuerausgang 18-i an. Die Anzeigeausgänge der Dekodierer 5-i sind über eine gemeinsame Steuerleitung 19 an einen Aktivierungseingang (Enable) 20 des Parallel/Seriell-Wandlers 14 angeschlossen. Sobald alle Dekodierer 5-i der Schaltungseinheit 1 fertig sind mit dem Dekodieren, beginnt der Parallel/Seriell-Wandler 14 mit der Umwandlung. Der Parallel/Seriell-Wandler 14 wandelt die von den Dekodiereinheiten empfangenen Datenworter DW und die zugehörigen korrigierten Invertierungsflags DBI parallel/seriell um und gibt sie als Datenburst DB aus dem Speicherbaustein aus. Die korrigierten Invertierungsflags DBIKORR werden über einen m Bit breiten Datenbus 21 und die Datenworte werden über einen n Bit breiten Datenbus 22 ausgelesen. Auf diese Weise wird der Datenburst DB seriell an den Controller ubertragen.
  • Die Bewertung der Datenworter DW eines Datenbursts DB, die in dem Burst-Zwischenspeicher 4 zwischengespeichert sind, erfolgt erfindungsgemaß durch die Dekodiereinheit 5 parallel fur alle vorliegenden Datenbits zur gleichen Zeit. Sobald die Dekodierer 5-i der Dekodiereinheit 5 das Aktivierungssignal uber die Steuerleitung 10 erhalten haben, beginnen sie mit dem Dekodiervorgang. Als Referenzdatenwort dient das an dem zweiten Dateneingang 7-i anliegende benachbarte Datenwort DWi-1. Da die Dekodierer 5-i zu diesem Zeitpunkt keine Information darüber haben, ob der als Referenzdatenwort verwendete Datenwert seinerseits invertiert werden muss oder nicht, führt eine Korrektureinheit eine entsprechende Nachkorrektur durch. Sobald die Dekodierung durch die Dekodierer 5-i abgeschlossen ist, wird uber die Steuerleitung 19 der Parallel/Seriell-Wandler 14 aktiviert, der die durch die Dekodiereinheit 5 ausgegebenen Datenworter DW und die korrigierten Datenbit-Invertierungsflags ausgibt.
  • Da die Dekodierer 5-i der Dekodiereinheit 5 alle gleichzeitig parallel arbeiten, setzt sich die Wartezeit aus der Bearbeitungszeit eines Dekodierers und derjenigen Zeit, die für die Nachkorrektur notwendig ist, zusammen: TWARTE = TEC + TKORR < m·TDEC
  • Besteht ein Datenburst aus m = 4 Datenwörtern und betragt die Dekodierzeit eines Dekodierers 5-i beispielsweise 1 ns, betragt die Wartezeit einer herkömmlichen Schaltungseinheit zur Datenbitinvertierung 4·1 ns wahrend bei der erfindungsgemäßen Schaltungseinheit 1 zur Datenbitinvertierung die Wartezeit lediglich 1 ns zuzüglich derjenigen Zeit ist, die fur die Nachkorrektur benotigt wird. Da die fur die Nachkorrektur benotigte Zeit sehr gering ist und typischerweise unter 1 ns liegt, beträgt die Wartezeit der erfindungsgemäßen Schaltungseinheit zur Datenbitinvertierung weniger als 2 ns und somit weniger als die Halfte derjenigen Dekodierzeit, die bei einer herkommlichen Schaltungseinheit zur Datenbitinvertierung benotigt wird. Aufgrund der herabgesetzten Wartezeit TWARTE zur Dekodierung wird die Speicherzugriffszeit bei einem Speicherbaustein, der die erfindungsgemaße Schaltungseinheit zur Datenbitinvertierung enthalt, erheblich abgesenkt.
  • 8 zeigt den schaltungstechnischen Aufbau eines Dekodierers 5-i innerhalb der Dekodiereinheit 5 gemaß der ersten Ausführungsform der Erfindung, wie sie in 7 dargestellt ist. Der Dekodierer 5-i enthält ein erstes Register 5A zum Zwischenspeichern des an dem ersten Datensignaleingang 6-i anliegenden Datenwortes DWi, welches aus dem Burst-Zwischenspeicher 4 ausgelesen wird. Darüber hinaus enthalt der Dekodierer 5-i ein zweites Register 5B, das das an dem zweiten Dateneingang 7-i anliegende Referenzdatenwort, welches durch das benachbarte Datenwort gebildet wird, zwischenspeichert. Die beiden Register 5A, 5B werden über eine interne Steuerleitung in Abhangigkeit von dem Aktivierungssteuersignal (Enable) zum Zwischenspeichern der anliegenden Daten aktiviert. Der Dekodierer 5-i enthalt ferner eine Logikschaltung 5C, welche die in den beiden Registern 5A, 5B zwischengespeicherten Datenbits bitweise miteinander vergleicht. Die Logikschaltung 5C weist vorzugsweise n XOR-Gatter auf, welche jeweils ein Datenbit der beiden benachbarten Datenwörter miteinander vergleicht. Eine der Logikschaltung 5C nachgeschaltete Zähleinrichtung 5D ermittelt die Anzahl der unterschiedlichen Datenbits. Ein Komparator 5E vergleicht die Anzahl der unterschiedlichen Datenbits der beiden benachbarten Datenwörter mit der Hälfte der Anzahl n von Datenbits innerhalb eines Datenwortes DWi. Ist die Anzahl der unterschiedlichen Datenbits großer als die Halfte der Anzahl von Datenbits innerhalb eines Datenwortes DWi, wird durch den Komparator 5E ein internes Datenbit-Invertierungsflag DBIi gesetzt und uber eine Ausgabeleitung 15-i an den internen Bus 16 abgegeben. Bei einer bevorzugten Ausführungsform wird das interne Datenbit-Invertierungsflag logisch hoch gesetzt, wenn die Anzahl der unterschiedlichen Datenbits mehr als die Halfte der Anzahl von Datenbits innerhalb eines Datenwortes betragt.
  • Bei der in 8 gezeigten ersten Ausfuhrungsform des Dekodierers 5-i enthält der Dekodierer 5-i eine integrierte Korrektureinheit 5F. Die Korrektureinheit 5F wird entweder durch eine Logikschaltung gebildet oder durch einen Speicher. Wird die Korrektureinheit 5F durch eine Logikschaltung gebildet, korrigiert diese das erzeugte Invertierungsflag DBIi, welches durch den Komparator 5E generiert wird, in Abhängigkeit von denjenigen Invertierungsflags, die von den Komparatoren aller übrigen m-1 Dekodierer 5-i erzeugt werden. Die Korrektureinheit 5F erhält die Invertierungsflags, die von den übrigen Dekodierern 5-i erzeugt werden, uber den internen Bus 16. Die Korrektureinheit 5F erzeugt in Abhängigkeit von den empfangenen Invertierungsflags der ubrigen Dekodierer und dem von dem Komparator 5E erzeugten internen Invertierungsflag ein korrigiertes Invertierungsflag DBIKORR, das über eine Ausgabeleitung 17-i an den Parallel/Seriell-Wandler 14 abgegeben wird, wie dies in 7 dargestellt ist. Das korrigierte Invertierungsflag DBIKORR steuert zudem einen in dem Dekodierer 5-i integrierten Multiplexer 5G an. Das in dem Register 5A zwischengespeicherte Datenwort DWi wird uber eine Invertierungseinheit 5H an einen ersten Eingang des Multiplexers oder direkt an einen zweiten Eingang des Multiplexers 5G angelegt. Das korrigierte Invertierungsflag DBIKORR, welches von der Korrektureinheit 5F erzeugt wird, steuert den Multiplexer 5G an, so dass über die Ausgabeleitungen 13-i entweder das in dem Register 5A zwischengespeicherte Datenwort DWi unverändert oder invertiert ausgegeben wird. Bei einer bevorzugten Ausführungsform wird, wenn das korrigierte Invertierungsflag DBIKORR logisch hoch ist, das in dem Register 5A zwischengespeicherte Datenwort DWi invertiert ausgegeben.
  • Bei einer alternativen Ausführungsform wird die Korrektureinheit 5F innerhalb des Dekodierers 5-i durch einen Speicher gebildet, in dem eine Tabelle abgespeichert ist. 9 zeigt ein Beispiel fur eine derartige Korrekturtabelle innerhalb der Korrektureinheit 5F fur eine Dekodiereinheit 5, welche m = 4 Dekodierer 5-i enthält. Von den vier parallel verschalteten Dekodierern 5-i innerhalb der Dekodiereinheit 5 werden vier DBI-Werte erzeugt, die einer Nachkorrektur unterzogen werden. Fur vier DBI-Werte gibt es 16 Kombinationsmoglichkeiten, aus denen 16 korrigierte Kombinationen hergeleitet werden. Bei dem in 9 dargestellten Beispiel erhält jede Korrektureinheit 5F an allen Dekodiereinheiten 5-i die berechneten DBI-Flags über den internen Bus 16, d. h. die ersten vier Spalten der Tabelle in 9 bilden die Input-Daten für die Korrektureinheit 5F. Die Korrektureinheit 5F der ersten Dekodiereinheit 5-1 gibt die fünfte Spalte der Tabelle als korrigiertes Datenbit-Invertierungsflag über die zugehörige Ausgabeleitung 17-1 aus. Die zweite Korrektureinheit 5F innerhalb der zweiten Dekodiereinheit 5-2 gibt die sechste Spalte als korrigiertes Invertierungsflag DBIKORR2 aus, usw.. Die in 9 dargestellte Korrekturtabelle ist in Abhängigkeit von den 16 Kombinationsmöglichkeiten, die in den vier ersten Spalten angegeben sind, gebildet. Liest man die ersten vier Spalten der Korrekturtabelle reihenweise, so ergeben sich die letzten vier Spalten der Korrekturtabelle, indem man, sobald ein Datenbit-Invertierungsflag einen logisch hohen Wert (1) annimmt, die nachfolgenden Datenbit-Invertierungsflags innerhalb dieser Zeile bis zur nachsten logisch hohen Wert (1) invertiert und die übrigen Datenbit-Invertierungsflags innerhalb der Zeile belässt, bis die nächste logische 1 in der Zeile auftaucht.
  • 10 zeigt eine weitere alternative Ausführungsform der erfindungsgemäßen Schaltungseinheit 1 zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts. Bei der in 10 dargestellten Ausfuhrungsform ist die Korrektureinheit nicht in der Dekodiereinheit 5 integriert, sondern bildet eine selbstständige Einheit. Eine Korrektureinheit 23 ist bei dieser Ausfuhrungsform der Dekodiereinheit 5 nachgeschaltet. Auch die Invertierungseinheit bildet bei dieser Ausführungsform eine selbststandige Einheit 24. Die von den Dekodierern der Dekodiereinheit 5 erzeugten Invertierungsflags werden über Datenleitungen 15-i der Korrektureinheit 23 zugeführt.
  • 11 zeigt den schaltungstechnischen Aufbau eines Dekodierers 5-i innerhalb der Dekodiereinheit 5 bei der erfindungsgemäßen Schaltungseinheit 1 gemaß der in 10 dargestellten Ausfuhrungsform. Das von dem Dekodierer 5-i zwischengespeicherte Datenwort DWi wird über Datenleitungen 13-i an eine XOR-Logikschaltung 24-i innerhalb der Invertierungseinheit 24 abgegeben und in Abhängigkeit von den erzeugten korrigierten Datenbit-Invertierungsflags, die durch die Korrektureinheit 23 erzeugt werden, invertiert oder nicht invertiert von dem Parallel/Seriell-Wandler 14 ausgegeben.
  • 12 zeigt einen schaltungstechnischen Aufbau der Korrektureinheit 23 für ein Datenburst, der m = 4 Datenwörter umfasst.
  • 13 zeigt die Übertragung von Datenbursts in verschiedenen Betriebsmodi. Bei den in 13A dargestellten Betriebsmodus werden die Datenbursts DB luckenlos ubertragen, d. h. es besteht keine Datenlucke zwischen zwei Datenbursts. Demzufolge kann das letzte Datenwort des vorangehenden Datenbursts DBi-1 in diesem Betriebsmodus als Referenzdatenwert für das erste Datenwort des nachstfolgenden Datenbursts DBi dienen. In einem alternativen Betriebsmodus, bei der eine Datenlücke auftritt, sind die Datenbits während einer vorgegebenen Zeit, die den zeitlichen Mindestabstand zwischen Read-Befehlen (RD) angibt, auf dem Datenbus logisch hoch. Diese logisch hoch gesetzten Datenbits konnen als Referenzdatenwert (FF) für die Datenbitinvertierung genutzt werden, wie in 13B ersichtlich ist. Während dieser Zeit befinden sich alle Datenleitungen in einem definierten Datenzustand, d. h. alle Datenleitungen werden mittels aktiver Terminierungs-Pull-up-Widerstande logisch hoch gezogen. Wahrend in dem lückenlosen Betriebsmodus das letzte Datenwort des zuvorgehenden Datenbursts DBi-1 als Referenzdatenwert genutzt wird, wird in dem Betriebsfall, dass eine Datenlücke zwischen den Datenbursts auftritt ein Referenzdatenwort herangezogen, bei dem alle Daten logisch hoch gesetzt sind, d. h. in dem Gap-Betriebsmodus ist das Referenzdatenwort durch den Wert FF gebildet.
  • In einer bevorzugten Ausführungsform der erfindungsgemäßen Schaltungseinheit 1 werden die Dekodierer 5-i innerhalb der Dekodiereinheit 5 derart erweitert, dass sie beide Betriebsmodi berucksichtigen. Hierzu wird für jeden Dekodierer 5-i eine GAP-Erkennungseinheit 25 vorgesehen, die erkennt, ob eine Datenlücke zwischen zwei Datenbursts DB besteht oder nicht. Die GAP-Erkennungseinheit 25, wie sie in 14 dargestellt ist, erzeugt ein Steuersignal für einen Multiplexer 26 in Abhängigkeit davon, ob das Referenzdatenwort einen Teil einer Datenlucke zwischen zwei Bursts DB bildet oder nicht. Sobald ein Kommandodekoder 26 innerhalb des Speicherbausteins einen Read-Befehl (RD) erkennt, gibt er ein Trigger-Signal uber eine Leitung 27 an den Set-Eingang eines Flip-Flops 28 innerhalb der GAP-Erkennungseinheit 25 aus und startet gleichzeitig einen Zähler 29. Der Zähler 29 zählt die in einem Register des Speicherbausteins programmierte Lange N eines Datenbursts DB ab. Sobald die Datenlänge N des Datenbursts erreicht ist, sendet der Zahler 29 einen Rucksetzimpuls an das Flip-Flop 28. Im Falle eines kontinuierlichen Datenzugriffs, bei dem keine Datenlücke auftritt, wird der erzeugte Rücksetzimpuls durch erneutes Lesen an einem Gatter 30 innerhalb der GA2-Erkennungseinheit 25 unterdrückt, so dass das an der Steuerleitung 31 erzeugte Steuersignal (Read Gapless) gesetzt bleibt. Bei gesetztem Steuersignal der Steuerleitung 31, d. h. für über den Gapless-Betriebsfall, wird als Referenzdatenwort für die Dekodierer 5-i das benachbarte Datenwort des zwischengespeicherten Datenbursts, welches an dem ersten Signaleingang 32 des Multiplexers anliegt, uber Datenleitungen 33 als Referenzdatenwort an den Dekodierer 5-i durchgeschaltet. Wird durch die Erkennungseinheit 25 umgekehrt erkannt, dass zwischen beiden Datenbursts eine Lücke aufgetreten ist, wie dies in 13B dargestellt ist, wird der Multiplexer 26 auf seinen zweiten Signaleingang 34 umgeschaltet, so dass der Dekodierer 5-i ein vorbestimmtes Referenzdatenwort erhalt, vorzugsweise das Referenzdatenwort FF.
  • Bei kontinuierlichem Datenzugriff (Gapless) ist der Referenzdatenwert das letzte Datenwort, das auf dem Bus getrieben wurde. Bei Zugriffen mit Abständen wird der Referenzdatenwert durch ein vorbestimmtes Datenwort, beispielsweise FF, gebildet. Bei dem GDDR3- und GDDR4-Interface mit entsprechendem Standard wird der Datenbus bei auftretenden Datenlücken im Ruhezustand auf High-Pegel terminiert. Für die Datenbitinvertierung hat dies zur Folge, dass zum Start der ersten Bewertung der Referenzwert fur alle Datenbits auf high gesetzt ist.
  • 15 zeigt eine weitere Verbesserung der in 14 dargestellten Schaltungsanordnung. Bei der in 15 dargestellten Ausfuhrungsform wird jeder Dekodierer 5-i der Dekodiereinheit 5 durch zwei parallel verschaltete Dekodierer 5A-i, 5B-i ersetzt, die dem Multiplexer 26 vorgeschaltet sind. Bei der in 14 dargestellten Ausführungsform erfolgt die Gap-Erkennung und die anschließende Dekodierung seriell hintereinander, so dass hierdurch die Wartezeit bzw. Zugriffszeit entsprechend der Dauer des Erkennungsvorgangs erhoht wird. Bei der in 15 dargestellten bevorzugten Ausfuhrungsform erfolgt die Erzeugung des Datenbit-Invertierungsflags parallel für beide Betriebsfälle, d. h. durch den ersten Dekodierer 5A-i fur den Fall lückenloser Datenbursts und durch den Dekodierer 5B-i für den Fall, dass eine Datenlücke zwischen zwei Datenbursts auftritt. Parallel dazu erkennt die Gapless-Erkennungsschaltung 25, welcher der beiden Betriebsmodi vorliegt. Während die Datenbit-Invertierungsflags durch die beiden Dekodierer erzeugt werden, erfolgt die Erkennung, welcher der beiden Betriebsfalle vorliegt, durch die Gapless-Erkennungseinheit 25, so dass die Wartezeit das Maximum der beiden Bearbeitungszeiten der Gapless-Einheit 25 und der Dekodiereinheiten 5A, 5B ergibt. ΔT = max(TDEC, TGAPDEC) < TGAPDEC + TDEC
  • Durch das Vorsehen zweier paralleler Dekodierer 5A, 5B kann die Wartezeit bzw. Speicherzugriffszeit weiter minimiert werden.

Claims (19)

  1. Schaltungseinheit (1) zur Datenbitinvertierung eines aus einem Speicherbaustein ausgelesenen Datenbursts mit (a) einem Zwischenspeicher (4) zum Zwischenspeichern des aus mindestens zwei Datenwörtern (DWi; DWi-1) bestehenden Datenbursts (DB), wobei jedes Datenwort (DWi; DWi-1) eine bestimmte Anzahl (n) von Datenbits umfasst; (b) einer Dekodiereinheit (5), die aus mindestens zwei parallel verschalteten Dekodierern (5A, 5B, 5C, 5D, 5H; 5-i) besteht, wobei jeder der mindestens zwei parallel arbeitenden Dekodierer jeweils einen ersten Dateneingang (6-i), an dem ein zugehöriges Datenwort (DWi) des zwischengespeicherten Datenbursts (DB) anliegt, und einen zweiten Dateneingang (7-i), an dem ein benachbartes Datenwort (DWi-1) des zwischengespeicherten Datenbursts (DB) anliegt, aufweist, wobei der Dekodierer das anliegende Datenwort (DWi) des zwischengespeicherten Datenbursts (DB) mit dem benachbarten Datenwort (DWi-1) des zwischengespeicherten Datenbursts (DB), welches ein Referenzdatenwort bildet, bitweise vergleicht und ein Invertierungsflag (DBIi) erzeugt, wenn die Anzahl der unterschiedlichen Datenbits mehr als die Hälfte der Anzahl (n) von Datenbits innerhalb des Datenwortes (DWi) beträgt; (c) einer den mindestens zwei parallel verschalteten Dekodierern (5A, 5B, 5C, 5D, 5H; 5-i) nachgeordneten Korrektureinheit (5F, 23), die jedes von einem Dekodierer erzeugte Invertierungsflag (DBIi) in Abhängigkeit von dem erzeugten Invertierungsflag selbst und von den Invertierungsflags, die von allen übrigen Dekodierern erzeugt werden, zur Erzeugung eines korrigierten Invertierungsflags (DBIKORRi) des Dekodierers nachkorrigiert, wobei die Korrektureinheit eine Nachkorrektur des erzeugten Invertierungsflags (DBIi) für das Datenwort (DWi) abhängig von dem Invertierungsflag (DBIi-1) des benachbarten Datenwortes (DWi-1), welches das Referenzdatenwort bildet, durchführt, so dass das Invertierungsflag (DBIi) invertiert wird, wenn das benachbarte Invertierungsflag (DBIi-1) eine Invertierung anzeigt, weitere Invertierungsflags bis zum nächsten Invertierungsflag, das eine Invertierung anzeigt, invertiert werden und darauffolgende Invertierungsflags beibehalten werden, bis zum nächsten Invertierungsflag, das eine Invertierung anzeigt; und (d) einer Invertierungseinheit (24), die aus mindestens zwei Invertierern (5H, 5G; 24-i) besteht, die jeweils das an dem ersten Dateneingang (6-i) anliegende Datenwort (DWi) eines zugehörigen Dekodierers in Abhängigkeit von dem korrigierten Invertierungsflag (DBIKORRi) des zugehörigen Dekodierers invertiert oder nicht invertiert abgibt.
  2. Schaltungseinheit nach Anspruch 1, dadurch gekennzeichnet, dass ein Parallel-Seriell-Wandler (14) vorgesehen ist, der die von der Invertierungseinheit (24) abgegebenen Datenwörter und die zugehörigen korrigierten Invertierungsflags parallel-seriell wandelt und als Datenburst (DB) ausgibt.
  3. Schaltungseinheit nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die mindestens zwei Invertierer der Invertierungseinheit (24) jeweils aus n XOR-Gattern bestehen.
  4. Schaltungseinheit nach Anspruch 1 bis 3, dadurch gekennzeichnet, dass die Korrektureinheit (24) eine separate Schaltungseinheit bildet, die der Dekodiereinheit (5) nachgeschaltet ist.
  5. Schaltungseinheit nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Korrektureinheit in die Dekodiereinheit integriert ist.
  6. Schaltungseinheit nach Anspruch 4, dadurch gekennzeichnet, dass die integrierte Korrektureinheit aus mindestens zwei Korrekturschaltungen (5F) besteht, wobei jede Korrekturschaltung (5F) mit einem zugehörigen Dekodierer der Dekodiereinheit (5) integriert ausgebildet ist.
  7. Schaltungseinheit nach Anspruch 6, dadurch gekennzeichnet, dass die Korrekturschaltung (5F) des Dekodierers durch eine Logikschaltung gebildet ist, die das von dem Komparator (5E) des Dekodierers erzeugte Invertierungsflag (DBIi) in Abhängigkeit von den Invertierungsflags, die von den Komparatoren (5E) aller übrigen Dekodierer erzeugt werden, zur Generierung des korrigierten Invertierungsflags (DBIKORRi) des Dekodierers verwendet.
  8. Schaltungseinheit nach Anspruch 6, dadurch gekennzeichnet, dass die Korrekturschaltung (5F) durch einen Speicher gebildet ist, aus dem in Abhängigkeit von dem Invertierungsflag, das von dem Komparator (5E) des Dekodierers erzeugt wird, und in Abhängigkeit von allen Invertierungsflags, die von den Komparatoren (5E) der übrigen Dekodierern erzeugt werden, ein korrigiertes Invertierungsflag (DBIKORRi) des Dekodierers ausgelesen wird.
  9. Schaltungseinheit nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass das korrigierte Invertierungsflag (DBIKORRi) einen Multiplexer (5G) des Dekodierers ansteuert, der das an dem ersten Dateneingang (6-i) des Dekodierers angelegte Datenwort (DWi) direkt oder invertiert abgibt.
  10. Schaltungseinheit nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass jeder Datenburst (DB) vier Datenwörter (m = 4) umfasst.
  11. Schaltungseinheit nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass jedes Datenwort 8 Bit (n = 8) umfasst.
  12. Schaltungseinheit nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass jeder Dekodierer der Dekodiereinheit (5) an eine Datenlückenerkennungseinheit (25) angeschlossen ist, die zur Erzeugung eines Steuersignals für einen dem Dekodierer vorgeschalteten Multiplexer (26) feststellt, ob eine Datenlücke (GAP) zwischen zwei Datenbursts besteht.
  13. Schaltungseinheit nach Anspruch 12, dadurch gekennzeichnet, dass die Datenlückenerkennungseinheit (25), wenn die Datenlücke (GAP) zwischen zwei Datenbursts besteht, den Multiplexer (26) derart ansteuert, dass ein vorbestimmtes Datenwort (FF) zum bitweisen Vergleich mit dem an dem Dekodierer anliegenden Datenwort durchgeschaltet wird, wobei die Datenlückenerkennungseinheit, wenn keine Datenlücke (GAP) zwischen zwei Datenbursts besteht, den Multiplexer (26) derart ansteuert, dass das Referenzdatenwort zum bitweisen Vergleich mit dem an den Dekodierer anliegenden Datenwort durchgeschaltet wird.
  14. Schaltungseinheit nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass dem Multiplexer (26), der durch das von der Datenlückenerkennungseinheit (25) erzeugte Steuersignal angesteuert wird, zwei separate Dekodierer (5A-i, 5B-i) nachgeschaltet sind, wobei ein erster Dekodierer (5A-i) das anliegende Datenwort (DWi) mit dem Referenzdatenwort bitweise zur Erzeugung eines ersten Invertierungsflags (DBI2) vergleicht, wobei ein zweiter Dekodierer (5B-i) das anliegende Datenwort (DWi) mit einem vorbestimmten Datenwort (FF) zur Erzeugung eines zweiten Invertierungsflags (DBI2) vergleicht und wobei der Multiplexer (26) das erste Invertierungsflag (DBI2) oder das zweite Invertierungsflag (DBI2) in Abhängigkeit von dem Steuersignal an die Korrektureinheit (24) durchschaltet.
  15. Speicherbaustein mit einem Speicherzellenfeld (2) und einer Schaltungseinheit nach einem der Ansprüche 1 bis 14, wobei das Speicherzellenfeld (2) über einen internen Datenbus (3) mit dem Zwischenspeicher (4) der Schaltungseinheit (1) verbunden ist, um Datenbursts zu übertragen.
  16. Speicherbaustein nach Anspruch 15, der ein DDR-SDRAM ist.
  17. Speicherbaustein nach Anspruch 15 oder 16, wobei die Schaltungseinheit (1) mit einem Controller verbunden ist, um Datenbursts zu übertragen.
  18. Verfahren zum Datenbitinvertieren eines aus einem Speicherbaustein ausgelesenen Datenbursts (DB) bestehend aus mindestens zwei Datenwörtern (DWi; DWi-1), wobei jedes Datenwort (DWi; DWi-1) eine bestimmte Anzahl (n) von Datenbits umfasst, mit den Verfahrenschritten: (a) Zwischenspeichern des aus den mindestens zwei Datenwörtern (DWi; DWi-1) bestehenden Datenbursts (DB); (b) paralleles Dekodieren der mindestens zwei Datenwörter (DWi; DWi-1), wobei ein bitweise Vergleichen eines Datenwort (DWi) des zwischengespeicherten Datenbursts (DB) mit einem benachbarten Datenwort (DWi-1) des zwischengespeicherten Datenbursts (DB), welches ein Referenzdatenwort bildet, durchgeführt wird, um ein Invertierungsflag (DBIi) zu erzeugen, wenn die Anzahl der unterschiedlichen Datenbits mehr als die Hälfte der Anzahl (n) von Datenbits innerhalb des Datenwortes (DWi) beträgt; (c) Erzeugen eines korrigierten Invertierungsflags (DBIKORRi) in Abhängigkeit von dem erzeugten Invertierungsflag (DBIi) selbst und von allen übrigen für den Datenburst (DB) erzeugten Invertierungsflags, wobei eine Nachkorrektur des erzeugten Invertierungsflags (DBIi) für das Datenwort (DWi) in dem korrigierten Invertierungsflag (DBIKORRi) abhängig von dem Invertierungsflag (DBIi-1) des benachbarten Datenwortes (DWi-1), welches das Referenzdatenwort bildet, durchführt wird, so dass das Invertierungsflag (DBIi) invertiert wird, wenn das benachbarte Invertierungsflag (DBIi-1) eine Invertierung anzeigt, weitere Invertierungsflags bis zum nächsten Invertierungsflag, das eine Invertierung anzeigt, invertiert werden und darauffolgende Invertierungsflags beibehalten werden, bis zum nächsten Invertierungsflag, das eine Invertierung anzeigt; und (d) Invertieren oder Nicht-Invertieren des Datenwortes (DWi) in Abhängigkeit von dem korrigierten Invertierungsflag (DBIKORRi).
  19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass die von der Invertierungseinheit (24) abgegebenen Datenwörter und die zugehörigen korrigierten Invertierungsflags parallel-seriell gewandelt und als Datenburst (DB) ausgeben werden.
DE102005011386A 2005-03-11 2005-03-11 Schaltungseinheit zur Datenbitinvertierung Expired - Fee Related DE102005011386B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005011386A DE102005011386B4 (de) 2005-03-11 2005-03-11 Schaltungseinheit zur Datenbitinvertierung
US11/372,738 US7405981B2 (en) 2005-03-11 2006-03-10 Circuit for data bit inversion
CN200610059466.4A CN1832027A (zh) 2005-03-11 2006-03-13 用于数据位反相的电路单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005011386A DE102005011386B4 (de) 2005-03-11 2005-03-11 Schaltungseinheit zur Datenbitinvertierung

Publications (2)

Publication Number Publication Date
DE102005011386A1 DE102005011386A1 (de) 2006-09-14
DE102005011386B4 true DE102005011386B4 (de) 2013-10-24

Family

ID=36914746

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005011386A Expired - Fee Related DE102005011386B4 (de) 2005-03-11 2005-03-11 Schaltungseinheit zur Datenbitinvertierung

Country Status (3)

Country Link
US (1) US7405981B2 (de)
CN (1) CN1832027A (de)
DE (1) DE102005011386B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100621353B1 (ko) * 2005-11-08 2006-09-07 삼성전자주식회사 데이터 반전 확인 기능을 가지는 데이터 입출력 회로 및이를 포함하는 반도체 메모리 장치
KR100684909B1 (ko) * 2006-01-24 2007-02-22 삼성전자주식회사 읽기 에러를 방지할 수 있는 플래시 메모리 장치
DE102006053918B4 (de) * 2006-11-15 2011-03-17 Qimonda Ag Senden und Empfangen von Informationen
US8201071B2 (en) 2006-11-15 2012-06-12 Qimonda Ag Information transmission and reception
JP4956295B2 (ja) * 2007-06-27 2012-06-20 エルピーダメモリ株式会社 半導体記憶装置
JP2009238256A (ja) * 2008-03-25 2009-10-15 Toshiba Corp 半導体記憶装置
US8069403B2 (en) * 2008-07-01 2011-11-29 Sandisk Technologies Inc. Majority voting logic circuit for dual bus width
DE102008042355A1 (de) * 2008-09-25 2010-04-01 Biotronik Crm Patent Ag Elektrisches Therapiesystem und Therapiegerät
JP5972549B2 (ja) 2011-09-29 2016-08-17 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
CN104714902B (zh) * 2013-12-12 2018-08-14 华为技术有限公司 一种信号处理方法及装置
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
US10664432B2 (en) 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243779B1 (en) * 1996-11-21 2001-06-05 Integrated Device Technology, Inc. Noise reduction system and method for reducing switching noise in an interface to a large width bus
US6671212B2 (en) * 2002-02-08 2003-12-30 Ati Technologies Inc. Method and apparatus for data inversion in memory device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005013322B3 (de) * 2005-03-22 2006-10-05 Infineon Technologies Ag Schaltung zur Erzeugung eines Datenbitinvertierungsflags (DBI)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243779B1 (en) * 1996-11-21 2001-06-05 Integrated Device Technology, Inc. Noise reduction system and method for reducing switching noise in an interface to a large width bus
US6671212B2 (en) * 2002-02-08 2003-12-30 Ati Technologies Inc. Method and apparatus for data inversion in memory device

Also Published As

Publication number Publication date
US20060215473A1 (en) 2006-09-28
DE102005011386A1 (de) 2006-09-14
CN1832027A (zh) 2006-09-13
US7405981B2 (en) 2008-07-29

Similar Documents

Publication Publication Date Title
DE102005011386B4 (de) Schaltungseinheit zur Datenbitinvertierung
DE102005013322B3 (de) Schaltung zur Erzeugung eines Datenbitinvertierungsflags (DBI)
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE102004021694B4 (de) Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE10010440B9 (de) Synchrones dynamisches Speicherbauelement mit wahlfreiem Zugriff und Verfahren zur CAS-Latenzsteuerung
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE102019118638A1 (de) Ein-Chip-System, das ein Training des Tastgrades des Schreibtakts unter Verwendung eines Modus-Register-Schreibbefehls durchführt, Betriebsverfahren des Ein-Chip-Systems, elektronische Vorrichtung mit dem Ein-Chip-System
DE10220559A1 (de) Datenempfangs- und Dateneingabeschaltkreis, Dateneingabeverfahren und Halbleiterspeicherbauelement
DE2854485A1 (de) Datenverarbeitungssystem mit speicherhierarchie
EP1291878B1 (de) Steuereinrichtung zur Steuerung von Burst-Zugriffen
DE19932683A1 (de) Halbleiterspeicher
DE69829039T2 (de) Signalverzögerungsvorrichtung zur Verwendung in Halbleiterspeichervorrichtung für verbesserte Operation in Burst-Betriebsart
DE10208715B4 (de) Latenz-Zeitschalter für ein S-DRAM
DE102012219059A1 (de) Effizientes Befehlsabbildungsschema für Kurze-Datenburstlängen- Speichervorrichtungen
DE4418862C1 (de) Speichervorrichtung mit Seitenwählfähigkeit und Speichersystem für seriellen Zugriff
DE102006052338A1 (de) Schreibzugriff und nachfolgender Lesezugriff auf einen Speicherbaustein
DE102005035661A1 (de) Halbleiter-Speicherbauelement-System, und Verfahren zum Betreiben eines Halbleiter-Speicherbauelement-Systems
DE10015253B4 (de) Halbleiter-Speichervorrichtung und Schreibdaten-Maskierungsverfahren dafür
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE102005053916B4 (de) Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher
DE19842677A1 (de) Speicherzugriff-Steuerschaltung
DE102006043007B4 (de) Speicherbauelement, Speichersteuereinheit und Speichersystem
DE4302754C1 (de) Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb
DE102004014968B4 (de) Integrierte Schaltung mit einem Parallel-Seriell-Umsetzer und Verfahren

Legal Events

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

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

R082 Change of representative

Representative=s name: WILHELM & BECK, DE

Representative=s name: WILHELM & BECK, 80639 MUENCHEN, DE

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20140125

R082 Change of representative
R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

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

Owner name: POLARIS INNOVATIONS LTD., IE

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

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

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

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