DE102004062282B4 - Speicheranordnung und Verfahren zur Verarbeitung von Daten - Google Patents

Speicheranordnung und Verfahren zur Verarbeitung von Daten Download PDF

Info

Publication number
DE102004062282B4
DE102004062282B4 DE102004062282.5A DE102004062282A DE102004062282B4 DE 102004062282 B4 DE102004062282 B4 DE 102004062282B4 DE 102004062282 A DE102004062282 A DE 102004062282A DE 102004062282 B4 DE102004062282 B4 DE 102004062282B4
Authority
DE
Germany
Prior art keywords
clock signal
memory
interface
data
rdt
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
DE102004062282.5A
Other languages
English (en)
Other versions
DE102004062282A1 (de
Inventor
Frank Hellwig
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004062282.5A priority Critical patent/DE102004062282B4/de
Priority to US11/318,330 priority patent/US7443742B2/en
Publication of DE102004062282A1 publication Critical patent/DE102004062282A1/de
Application granted granted Critical
Publication of DE102004062282B4 publication Critical patent/DE102004062282B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used

Landscapes

  • Dram (AREA)

Abstract

Speicheranordnung zur Verarbeitung von Daten, mit einer mit einem Speicher (3) gekoppelten Schnittstelle (2), an der bei einem Lesezugriff auf den Speicher (3) Lesedaten (D2) anliegen und an der permanent ein von einem internen Taktsignal (CLK) abgeleitetes RDT-Taktsignal (RDT), welches synchron zu den Lesedaten (D2) ist, anliegt, mit einer DLL-Schaltung (20) zur Bestimmung des optimalen Abtastzeitpunktes der Lesedaten (D2), die durch Vergleichen des internen Taktsignals (CLK) mit dem RDT-Taktsignal (RDT) und bei einer Verletzung der Setup-Zeit (SZ) und/oder Hold-Zeit (HZ) durch Verschieben des durch Vergleich gewonnenen Taktsignals (CLK2) an einem Taktausgang ein verzögertes Taktsignal (CLK2) bereitstellt, welches einen Abtastzeitpunkt der an der Schnittstelle (2) anliegenden Lesedaten (D2) synchron zum internen Taktsignal (CLK) festlegt, mit mindestens einer Registereinrichtung (11), die dateneingangsseitig mit der Schnittstelle (2) verbunden ist und der zum Abtasten der an der Schnittstelle (2) anliegenden Lesedaten (D2) takteingangsseitig das verzögerte Taktsignal (CLK2) zuführbar ist, wobei über die Schnittstelle (2) auch ein DQS-Taktsignal (DQS) in die Registereinrichtung (11) einkoppelbar ist, wobei das DQS-Taktsignal (DQS) anzeigt, dass gültige Lesedaten (D2) an der Schnittstelle (2) anliegen.

Description

  • Die Erfindung betrifft eine Speicheranordnung zur Verarbeitung von Daten, die eine DLL-Schaltung aufweist. Die Erfindung betrifft ferner ein Verfahren zur Verarbeitung von Daten.
  • Eine DLL-Schaltung (DLL = Delay Locked Loop), die häufig auch als Phasenachführregelkreis bezeichnet wird, dient allgemein der Aufrechterhaltung einer definierten Verzogerung zweier korrelierter Signale. Eine solche DLL-Schaltung ist beispielsweise in der US-Patentschrift US 6,043,694 beschrieben.
  • Die immer höheren Anforderungen an die Zuverlassigkeit, kleinere Abmessungen, geringerer Energiebedarf, größere Verarbeitungsgeschwindigkeit und geringerer Preis von integrierten Schaltungen fuhren zu einer immer höheren Integration und zur Entwicklung von hoch und hochst integrierten Schaltkreisen. Im Zuge dieser Entwicklung werden zunehmend auch komplette Systeme auf einem Chip realisiert, die so genannten SOC-Systeme (SOC System On Chip). Solche SOC-Systeme werden fur die unterschiedlichsten Applikationen eingesetzt, damit sich der Entwicklungsaufwand in annehmbaren Grenzen hält und das System noch in hinreichend großer Stückzahl und damit kostenoptimiert hergestellt werden kann. Moderne SOC-Architekturen weisen aus Flexibilitatsgründen daher lediglich solche Funktionseinheiten auf dem Chip auf, die für die unterschiedlichen Applikationen erforderlich sind. Die weiteren applikationsspezifischen Funktionseinheiten können bei Bedarf uber eine Schnittstelle extern angekoppelt werden.
  • So verwenden moderne SOC-Architekturen externe Speicherbausteine, sofern für die jeweilige Applikation größere Speicherressourcen benötigt werden, als in dem jeweiligen SOC-System zur Verfügung stehen. Diese externen Speicherbausteine sind über eine externe Schnittstelle mit dem SOC-System gekoppelt und können über einen Schnittstellencontroller, der Bestandteil des SOC-Systems ist, ausgelesen und beschrieben werden.
  • Solche Speicherbausteine konnen beispielsweise als DDR-SDRAM-Speicher (DDR = Double Data Rate; SDRAM = Synchronous Dynamic Read Access Memory) ausgebildet sein. Im Gegensatz zu herkömmlichen SDR-SDRAM-Speichern (SDR = Single Data Rate) werden die Daten bei DDR-Speichern nicht nur auf der ansteigenden, sondern auch auf der abfallenden Flanke des Systemtaktes übertragen. Mittels eines DDR-SDRAM-Speichers können somit Daten mit einer hoheren Frequenz ubertragen werden, das heißt, ein DDR-SDRAM-Speicher operiert bei einem Bustakt von 100 MHz effektiv mit 200 MHz und die Ubertragungsrate steigt gegenüber herkömmlichen SDR-SDRAM-Speichern von beispielsweise 0,8 GBits auf 1,6 GBit/s. Die eigentlichen Speicherzellen von DDR-SDRAM-Speichern arbeiten nicht schneller als herkömmliche SDR-SDRAM-Speicher, jedoch werden sie paarweise angesprochen und dann nacheinander ausgelesen, so dass effektiv die doppelte Datenubertragungsrate ermöglicht wird. DDR-Speicher übertragen somit bei jedem Takt zwei Datenwörter. Dieses Prinzip ist seit langem bekannt und wird bei vielen Prozessoren genutzt, so dass auf den Aufbau und die Funktionsweise solcher Speicher nachfolgend nicht näher eingegangen wird.
  • Damit die Datenubertragung der beiden, je Taktschritt ausgelesenen Datenworte wirklich präzise abläuft, enthalten DDR-SDRAM-Speicher eine interne Taktsynchronisationsschaltung, die typischerweise als DLL-Schaltung ausgebildet ist. Diese DLL-Schaltung realisiert eine definierte Signalverzögerung von Signalen zum bzw. vom extern angekoppelten Speicher. Damit die genaue Synchronitat der Datensignale mit dem Taktsignal auch beim Datentransfer erhalten bleibt, benutzt man ein differenzielles Taktsignal.
  • Bei aktuellen Speichertechnologien, wie dem DDR-SDRAM-Speicher, werden vom Speicherbaustein zusammen mit den ausgelesenen Daten DQS-Signale bzw. DQS-Signalwechsel übertragen. Diese DQS-Signale, die auch als Daten-Strobe-Signale bezeichnet werden, werden gleichzeitig mit dem auszulesenden Daten mit übertragen und zeigen an, dass ein gültiges Datum an der Busschnittstelle anliegt und von dort ausgelesen werden kann. Diese DQS-Signale werden lediglich dann gesendet, wenn ein gultiges Datum anliegt. Mit Hilfe dieses DQS-Signals wird das auszulesende Datum uber die Busschnittstelle getaktet ausgelesen.
  • Aufgrund des asynchronen Charakters dieses auszulesenden Datums und der zugehorigen DQS-Signale muss das ausgelesene getaktete Datum an der Speicherschnittstelle entweder auf den Systemtakt des SOC-Systems synchronisiert werden oder es kann durch die Wahl kleiner Frequenzen und über weite Bereiche stabile Umgebungsparameter garantiert werden, dass das ausgelesene Datum an der Busschnittstelle synchron ankommt und dabei moglichst keine Verletzung der Setup-Zeit und Hold-Zeit mit dem Systemtakt registriert wird. Die Zeiträume der Hold-Zeit und der Setup-Zeit definieren eine so genannte ”verbotene Zone”, in die der Abtastzeitpunkt zum Auslesen der Lesedaten nicht gelegt werden darf, da es dann zu Datenverlusten bei einem Auslesen von Daten kommen konnte. Im ersteren Falle würde die Bandbreite zum externen Speicherbaustein durch die dadurch erforderlichen zusatzlichen Synchronisationsstufen unerwünschterweise reduziert werden. Im zweiten Falle ergibt sich eine Bandbreitenreduktion durch die geringere maximale Frequenz, mit welcher der externe Speicherbaustein betrieben wird. Für beide Fälle ergibt sich somit eine geringere maximale Frequenz und damit eine geringere Datenübertragungsrate. Ein weiterer Nachteil besteht darin, dass eine stabile Umgebungstemperatur, der das SOC-System und der daran angekoppelte Speicher ausgesetzt sind, für viele Anwendungen nicht immer garantiert werden können.
  • Eine dritte Möglichkeit besteht darin, den Abtastzeitpunkt der auszulesenden Daten so zu wählen, dass dieser stets synchron zum Systemtakt erfolgt. Durch eine über das DQS-Signal sowie den Systemtakt gesteuerte DLL-Schaltung kann hier der optimale Abtastzeitpunkt DQS-Signal gewonnen werden, wobei hier auch darauf geachtet wird, dass sich keine Setup-Zeit- und Hold-Zeit-Verletzung ergibt. Da nun die DLL-Schaltung über Signaländerungen des DQS-Signals vom Speicherbaustein gesteuert wird, muss aber sichergestellt sein, dass sich dieses DQS-Signal auch regelmäßig ändert, so dass der Abtastzeitpunkt, der vom DQS-Signal festgelegt ist, an Veranderungen der Umgebungsparameter (zum Beispiel der Temperatur oder der Spannung) angepasst wird.
  • Problematisch daran ist allerdings, dass dieses DQS-Signal lediglich dann gesendet wird, wenn auch Lesedaten gesendet werden. Werden uber einen längeren Zeitraum allerdings keine Daten gesendet, dann wird auch kein DQS-Signal gesendet, welches aber fur die Synchronisation der DLL-Schaltung erforderlich ware. Dies kann dazu fuhren, dass die DLL-Schaltung beispielsweise bei geanderten Umgebungsparametern nicht mehr an diese angepasst ist, was insgesamt dazu fuhrt, dass der optimale Abtastzeitpunkt fur einen Lesezugriff relativ zum Systemtakt verschoben wird, mit der Folge, dass sich der Abtastzeitpunkt nunmehr in dem ”verbotenen Zeitbereich” befindet. Wenn dann nach langerer Zeit ein Lesezugriff auf den externen Speicher durchgefuhrt wird und die aktuelle Einstellung der DLL-Schaltung nicht mehr an die Laufzeit der Signale vom Speicherbaustein zum Schnittstellencontroller angepasst ist, kann dies unter Umständen zu Datenverlusten fuhren. Dies gilt es aber möglichst zu vermeiden.
  • Besonders problematisch ist dies bei für Anwendungen im Kraftfahrzeugbereich (Automotive-Anwendungen) ausgelegte Speicheranordnungen. Wahrend bei herkömmlichen Anwendungen, beispielsweise bei so genannten Consumer- oder Industrieanwendungen, die Laufzeiten eines Taktsignals vom SOC-System zu dem externen Speicher und zurück im Allgemeinen kleiner als ein Takt des Systemtaktes ist, sind diese bei Automotive-Anwendungen aufgrund der dort vorkommenden, sehr viel stärker variierenden Umgebungsparametern mitunter deutlich größer. Insbesondere müssen Automotive-Anwendungen für einen relativ großen Temperaturbereich von –40°C bis 150°C ausgelegt sein. Aufgrund dieser großen Temperaturschwankungen kann es dazu kommen, dass die Laufzeiten von dem SOC-System zu dem Speicher und zurück größer sind als ein Takt des Systemtaktes, so dass hier der Lesepfad asynchron zu dem Taktpfad betrieben wird. Dies erschwert die Synchronisation der DLL-Schaltung ungemein, da hier nie davon ausgegangen werden kann, dass ein Takt des von dem Speicherbaustein kommenden DQS-Signals nun innerhalb oder außerhalb eines Taktes des Systemtaktes ist.
  • In der noch nicht veröffentlichten Deutschen Patentanmeldung mit dem Aktenzeichen DE 103 33 522.6-55 , die von der selben Anmelderin der vorliegenden Patentanmeldung angemeldet wurde, wird das obige Problem dadurch gelöst, dass nach einer vorbestimmten Zeit ein erzwungener Lesezugriff oder ein Dummy-Lesezugriff vorgenommen wird. Dadurch kann sich die DLL-Schaltung wieder auf den optimalen Abtastzeitpunkt einstellen. Allerdings geht dies mit einem schaltungstechnischen Zusatzaufwand einher. Darüber hinaus ist dies bei manchen Anwendungen, wie den oben beschriebenen Automotive-Anwendungen, nicht immer realisierbar.
  • Aus Xilinx Application Note XAPP750 (v1.0); QDR II SRAM Local Clocking Interface for Virtex-II Pro Devices, 24.05.2004, www.xilinx.com ist ein über eine Schnittstelle mit einem QDR SRAM Speicher gekoppelter FPGA bekannt, bei welchem bei einem Lesezugriff ein von dem Speicher übermitteltes Taktsignal mit Hilfe einer internen Verzögerungsschaltung verzögert wird. Dieses verzögerte Taktsignal dient anschließend als Taktsignal einer Registereinrichtung.
  • Aus der US 6 487 648 B1 ist eine programmierbare logische Schaltung (PLD) bekannt, welche zur Steuerung eines Speichers (SDRAM) ausgebildet ist. Zur Beseitigung von Signallaufzeitunterschieden zwischen einem Systemtakt, einem Taktsignal des PLDs und einem Taktsignal des SDRAMs sind zwei DLL-Schaltungen vorgesehen.
  • Aus der US 2003/0151433 A1 ist eine integrierte Halbleiterschaltung mit DLL-Schaltungen bekannt, welche unter anderem zwei Dummy-Puffer aufweist, die eine Verzögerungs- oder Laufzeit identisch der eines Ausgangs- bzw. Eingangspuffers der Schaltung aufweisen.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine Speicheranordnung und ein Verfahren zur Verarbeitung von Daten anzugeben, bei denen stets eine sichere Datenübertragung auch bei instabilen, insbesondere bei Temperatur instabilen Umgebungsparametern garantiert ist.
  • Erfindungsgemäß wird diese Aufgabe durch eine Speicheranordnung mit den Merkmalen des Patentanspruchs 1 sowie durch ein Verfahren mit den Merkmalen des Patentanspruchs 12 gelöst. Demgemäß ist vorgesehen:
    • – Eine Speicheranordnung zur Verarbeitung von Daten, mit einer mit einem Speicher gekoppelten Schnittstelle, an der bei einem Lesezugriff auf den Speicher Lesedaten anliegen und an der permanent ein von einem internen Taktsignal abgeleitetes RDT-Taktsignal, welches synchron zu den Lesedaten ist, anliegt, mit einer DLL-Schaltung zur Bestimmung des optimalen Abtastzeitpunktes der Lesedaten, die durch Vergleichen des internen Taktsignals mit dem RDT-Taktsignal und bei einer Verletzung der Setup-Zeit und/oder Hold-Zeit durch Verschieben des durch Vergleich gewonnenen Taktsignals an einem Taktausgang ein verzögertes Taktsignal bereitstellt, welches ein den Abtastzeitpunkt der an der Schnittstelle anliegenden Lesedaten synchron zum internen Taktsignal festlegt, mit mindestens einer Registereinrichtung, die dateneingangsseitig mit der Schnittstelle verbunden ist und der zum Abtasten der an der Schnittstelle anliegenden Lesedaten takteingangsseitig das verzögerte Taktsignal zuführbar ist, wobei über die Schnittstelle auch ein DQS-Taktsignal in die Registereinrichtung einkoppelbar ist, wobei das DQS-Taktsignal anzeigt, dass gültige Lesedaten an der Schnittstelle anliegen (Patentanspruch 1).
  • Die Erfindung betrifft ferner ein Verfahren zur Verarbeitung von Daten.
    • – Ein Verfahren zum Auslesen von Daten aus einem Speicher, insbesondere bei einer erfindungsgemäßen Speicheranordnung, – bei dem bei einem Lesezugriff auf den Speicher Lesedaten an einer Schnittstelle zu dem Speicher anliegen, – bei dem an der Schnittstelle permanent ein von einem internen Taktsignal abgeleitetes RDT-Taktsignal, welches synchron zu den Lesedaten ist, anliegt, – bei dem zur Bestimmung des optimalen Abtastzeitpunktes der Lesedaten eine DLL-Schaltung bereitgestellt wird, – bei dem die DLL-Schaltung durch Vergleichen des internen Taktsignals mit dem RDT-Taktsignal einen optimalen Abtastzeitpunkt für die Lesedaten bestimmt und abhängig von dem bestimmten Abtastzeitpunkt ein verzögertes Taktsignals erzeugt, welches zum Abtakten der Lesedaten verwendet wird, – bei dem über die Schnittstelle auch ein DQS-Taktsignal eingekoppelt wird, wobei das DQS-Taktsignal (DQS) anzeigt, dass gültige Lesedaten (D2) an der Schnittstelle (2) anliegen (Patentanspruch 13).
  • Die der vorliegenden Erfindung zugrunde liegende Idee besteht darin, mit Hilfe einer modifizierten, funktionserweiterten DLL-Schaltung den Abtastzeitpunkt für Lesedaten so zu wählen, dass er stets synchron zum Systemtakt, also dem intern erzeugten Taktsignal, ist, so dass eine Synchronisation der gelesenen Lesedaten auf den Systemtakt nicht mehr erforderlich ist. Zur Synchronisation der DLL-Schaltung wird dieser zu diesem Zwecke nicht das DQS-Signal zugeführt, sondern ein so genanntes RDT-Signal (Read Data Takt-Signal), welches direkt aus dem internen Taktsignal abgeleitet ist. Dieses RDT-Signal wird dem SOC-System permanent zugeführt, also auch dann, wenn kein Lesezugriff angefordert wird und damit keine Lesedaten an der Speicherschnittstelle anliegen.
  • Das RDT-Signal wird dem SOC-System direkt von dem Speicherbaustein zur Verfügung gestellt oder über eine Feedback-Schleife aus einem internen oder externen Taktsignal abgeleitet. Das RDT-Signal beziehungsweise dessen Takt ist stets synchron zu den Lesedaten und wird auch zusammen mit den Lesedaten übertragen. Das RDT-Signal entspricht vorzugsweise der Charakteristik des internen Taktsignals, welches aber einen Laufzeitunterschied zu diesem internen Taktsignal aufweist. Das RDT-Signal ist in diesem Falle also ein um diesen Laufzeitunterschied verzögertes internes Taktsignal. Dieser Laufzeitunterschied trägt der von dem Taktsignal benötigten Laufzeit von der Speicherschnittstelle zu dem externen Speicherbaustein und zurück Rechnung. Dadurch, dass das RDT-Signal zusammen mit den ausgelesenen Lesedaten übertragen wird, ist dem RDT-Signal bereits eine Information über solche Umgebungsparameter (z. B. die Umgebungstemperatur) inhärent, welche das RDT-Signal und damit die ausgelesenen Lesedaten gegenüber dem internen Taktsignal mehr oder weniger stark verzögert. Das RDT-Signal und die ausgelesenen Lesedaten sind daher synchron zueinander.
  • In der erfindungsgemaß modifizierten, funktionserweiterten DLL-Schaltung wird nun dieses RDT-Signal, welches von dem Speicherbaustein oder der Feedback-Schleife bereitgestellt wird, mit dem Systemtakt verglichen und so verschoben, dass die positive Flanke des verschobenen RDT-Signals zum Einen innerhalb des Zeitfensters liegt, in welchem die Lesedaten gültig sind, und zum Anderen aber weit genug von der positiven Taktflanke des Systemtaktes entfernt ist, so dass bei einem Abtakten durch das verschobene RDT-Signal und einem direkten Weiterverarbeiten der Daten auf der Basis des Systemtaktes dort keine Setup- bzw. Hold-Zeit-Verletzungen auftreten können. Zusätzlich oder alternativ kann auch der Systemtakt als Grundlage für den Abtasttakt verwendet werden. Eine wesentliche Randbedingung hierfur ist lediglich, dass die Länge, das heißt die Dauer des aufgrund der Setup- und Hold-Zeit gesperrten Zeitfensters kleiner ist als das Zeitfenster fur an der Speicherschnittstelle anliegende, gültige Lesedaten. Dies trifft aber in den meisten Fallen zu.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind Gegenstand der weiteren Unteranspruche sowie der Beschreibung unter Bezugnahme auf die Zeichnungen.
  • Die Erfindung wird nachfolgend anhand der in den Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert.
  • Es zeigt dabei:
  • 1 ein Blockschaltbild einer erfindungsgemaßen Speicheranordnung zur Verarbeitung von Daten mit einer Schnittstelle zu einem externen Speicherbaustein und einstellbaren DLL-Schaltung zur Bereitstellung eines verzogerten Taktsignals;
  • 2 Signal-Zeit-Diagramme des Systemtaktes und des RDT-Taktsignals zur Veranschaulichung der Funktionsweise der erfindungsgemaßen Speicheranordnung entsprechend 1.
  • In allen Figuren der Zeichnung sind gleiche und funktionsgleiche Elemente und Signale – sofern nichts anderes angegeben ist – mit denselben Bezugszeichen versehen worden.
  • 1 zeigt ein Blockschaltbild einer erfindungsgemaßen Speicheranordnung zur Verarbeitung von Daten mit einer Schnittstelle zu einem externen Speicherbaustein und einer einstellbaren DLL-Schaltung. Die erfindungsgemäße Schaltungsanordnung weist ein mit Bezugszeichen 1 bezeichnetes SOC-System auf. Das SOC-System 1 ist über eine externe Schnittstelle 2 mit einem Speicherbaustein 3 verbunden. Es sei angenommen, dass der Speicherbaustein 3 in 1 als DDR-SDRAM-Speicherbaustein – nachfolgend kurz als DDR-Speicher bezeichnet – ausgebildet ist. Der DDR-Speicher 3 ist uber einen Bus 4 mit der Speicherschnittstelle 2 gekoppelt. Im vorliegenden Ausfuhrungsbeispiel enthält der Bus 4 eine Vielzahl von Adress- und Datenleitungen, die vorzugsweise bidirektional betreibbar sind, sowie Taktleitungen zur bidirektionalen Ubertragung von Taktsignalen. Die Speicherschnittstelle 2 enthalt entsprechend eine Vielzahl von Eingangs-/Ausgangsanschlussen (I/O-Ports) zum Einkoppeln und Abgreifen von entsprechenden Daten-, Adress- und Taktsignalen.
  • Über die Speicherschnittstelle 2 sowie den Bus 4 lassen sich somit auf entsprechende Anfrage des SOC-Systems 1 hin Daten aus dem DDR-Speicher 3 auslesen bzw. Daten in entsprechend adressierte Bereiche des DDR-Speichers 3 schreiben. Die Steuerung dieser Datenkommunikation zwischen SOC-System 1 und DDR-Speicher 3 erfolgt über einen Schnittstellencontroller 5, der im SOC-System 1 enthalten ist. Der Schnittstellencontroller 5 ist mit der Speicherschnittstelle 2 über Daten-/Adressleitungen 6, 7 verbunden, über die unidirektional Daten D1 bzw. Adressen A1 vom Schnittstellencontroller 5 auf die Speicherschnittstelle 2 gelegt werden konnen. Über die Datenleitungen 7 können somit Daten D1 in den DDR-Speicher 3 geschrieben werden, wohingegen über die Adressleitungen 6 entsprechende Speicherbereiche des DDR-Speichers 2 adressiert werden.
  • Die entsprechenden Daten D1, die in den DDR-Speicher 3 geschrieben werden sollen (Schreibdaten, Write Data) werden in 1 von einer Recheneinrichtung 8 bereitgestellt. Die Recheneinrichtung 8 ist über bidirektional betreibbare Daten- und Steuerleitungen 9 mit dem Schnittstellencontroller 5 gekoppelt. Über diese Daten- und Steuerleitungen 9 erfolgt einerseits eine Datenkommunikation zwischen Recheneinrichtung 8 und Schnittstellencontroller 5 und andererseits eine Steuerung. Dabei kann sowohl die Recheneinrichtung 8 den Schnittstellencontroller 5 steuern. Zusatzlich oder alternativ kann auch der Schnittstellencontroller 5 die Recheneinrichtung 8 steuern. Die Recheneinrichtung 8 kann zum Beispiel eine programmgesteuerte Einrichtung, zum Beispiel einen Mikroprozessor oder Mikrocontroller, enthalten.
  • Auf entsprechende Anfragen des SOC-Systems 1 bzw. des Schnittstellencontrollers 5 können auch Daten D2 aus dem DDR-Speicher 3 ausgelesen werden. Diese werden dann zunächst über den Bus 4 auf die Speicherschnittstelle 2 gelegt. Zusammen mit diesen Daten D2 wird von dem Speicherbaustein 3 auch ein DQS-Signal DQS mit übertragen. Dieses DQS-Signal DQS wird hier als so genanntes ”Data Valid”-Signal verwendet, welches also anzeigt, ob bei einem Lesezugriff gültige Lesedaten D2 an der Speicherschnittstelle 2 anliegen.
  • Über unidirektional betreibbare Datenleitungen 10 werden die ausgelesenen Daten D2 (Lesedaten, Read Data) zunachst einer Registereinrichtung 11 zum Abtasten dieser Daten D2 zugeführt. Im Falle einer DDR-Speicherarchitektur enthalt die Registereinrichtung 11 zwei Datenabtastregister 12, 13, deren Dateneingänge mit den Datenleitungen 10 verbunden sind. Auszulesende Daten D2 werden abwechselnd in jeweils eines der Datenabtastregister 12, 13 abgelegt, wobei die Steuerung über den Takt eines verzögerten Taktsignals CLK2 erfolgt. Das verzögerte Taktsignal CLK2 wird in einer eigens dafür vorgesehenen DLL-Schaltung 20, wie nachfolgend noch beschrieben wird, erzeugt. Dabei wird in den Takteingang des Datenabtastregisters 12 das Taktsignal CLK2 und in den Takteingang des Datenabtastregisters 13 das invertierte Taktsignal CLK2 eingekoppelt. In den Datenabtastregistern 12, 13 erfolgt eine Abtastung der ausgelesenen Daten D2, wobei die mit doppelter Frequenz abgetasteten Daten D2 die halbe Datenbreite von zum Beispiel 32 Bit aufweisen.
  • Die so abgetasteten Daten D2' werden ausgangsseitig über Datenleitungen 14 einer Einrichtung 15 zur Datenvorverarbeitung zugeführt. In einen Takteingang dieser Einrichtung 15 wird zusätzlich das interne Taktsignal CLK zugefuhrt, mit welchen die Datensignale D2' in der Einrichtung 15 abgetaktet werden. Diese Einrichtung 15 kann beispielsweise als Speichercontroller, als FIFO-Speicher (FIFO = First In First Out), als Pufferspeicher, als Datenbus, als Cache-Speicher, etc. ausgebildet sein. Die Daten in der Einrichtung 15 weisen hier wieder die doppelte Bitbreite von zum Beispiel 64 Bit auf, da die von den beiden Datenabtastregistern 12, 13 ausgangsseitig breitgestellten Daten D2' gleichzeitig in die Einrichtung 15 eingekoppelt werden. Gegenuber den Datenabtastregistern 12, 13 werden hier die Daten allerdings mit der normalen, also einfachen Frequenz verarbeitet. Die von der Einrichtung 15 so vorverarbeiteten Daten D2'' werden uber Datenleitungen 16 der Recheneinrichtung 8 zugefuhrt, die entsprechend einem jeweiligen Programm die ausgelesenen Daten D2'' geeignet weiter verarbeitet.
  • Das SOC-System 1 in 1 weist somit einen Schreibpfad 17 sowie einen Lesepfad 18 auf. Über den Schreibpfad 17 lassen sich Daten D1 von der Recheneinrichtung 8 über den Schnittstellencontroller 5 in den DDR-Speicher 3 schreiben. Im Falle des Lesepfades 18 werden Daten D2 aus dem DDR-Speicher 3 über die Schnittstelle 2 ausgelesen und über die Registereinrichtung 11 und die Einrichtung 15 in die Recheneinrichtung 8 geschrieben. Sowohl für den Schreibpfad 17 als auch fur den Lesepfad 18 ist jeweils eine DLL-Schaltung 19, 20 vorgesehen. Im Falle des Schreibpfades 17 ist die DLL-Schaltung 19 Bestandteil des Schnittstellencontrollers 5. Die lesepfadseitige DLL-Schaltung 20 erzeugt ein verzögertes Taktsignal CLK2, welches über Taktleitungen 21 in die Takteingänge der Datenabtastregister 12, 13 eingekoppelt wird. Die DLL-Schaltungen 19, 20 weisen hierfür insbesondere ein (in 1 nicht dargestelltes) Verzögerungsglied auf, welches den eingekoppelten Takt CLK geeignet verzögert. Dieses Verzögerungsglied kann beispielsweise aus einer Reihe von Dioden bestehen, die eine definierte Zeitverzögerung bereitstellen.
  • Das SOC-System 1 weist ferner eine Einrichtung 22 zur Bereitstellung des internen Taktsignals CLK, der den Systemtakt des SOC-Systems 1 darstellt und mit welchem auch der externe Speicher 3 betrieben werden kann, auf. Diese Takterzeugungseinrichtung 22 ist im vorliegenden Ausfuhrungsbeispiel Bestandteil der Recheneinrichtung 8, kann jedoch auch gesondere Einrichtung im SOC-Systems 1 oder als externe Takterzeugung ausgebildet sein. Das von der Takterzeugungseinrichtung 22 an ihrem Taktausgang erzeugte Taktsignal CLK wird über Taktleitungen 23 in jeweilige Takteingänge der DLL-Schaltungen 19, 20 sowie der Einrichtung 15 eingekoppelt. Der interne Takt CLK wird über die Schnittstelle 2 auch dem DDR-Speicher 3 zugefuhrt. Zu diesem Zwecke wird das Taktsignal CLK zunächst einer Einrichtung 24 zugeführt, welche aus dem Taktsignal CLK ausgangsseitig differentielle Taktsignale CLK1, CLK1' erzeugt. Zur Verbesserung des Gleichklangs von Takt- und Datensignalen setzt man hier das differenzielles Taktsignal CLK1, CLK1' ein, welches im Unterschied zu einem nichtdifferentiellen, massebezogenen Taktsignal störfester ist und welches sich vorteilhafterweise mit höherer Prazision auswerten lässt. Die differentiellen Taktsignale CLK1, CLK1' werden über Taktleitungen 25, 26 der Schnittstelle 2 zugeführt.
  • Zusätzlich oder alternativ kann vorgesehen sein, dass in der Einrichtung 24 auch eine Verzogerung des Taktsignals CLK erfolgt.
  • In der DLL-Schaltung 20 wird das eingangsseitig eingekoppelte Taktsignal CLK geeignet verzögert. Die DLL-Schaltung 20 wird hierfur über ein so genanntes RDT-Signal RDT (Read Data Takt-Signal) gesteuert. Dieses RDT-Signal RDT wird der DLL-Schaltung 20 über eine Steuerleitung 27 zugeführt. Bei diesem RDT-Signal RDT handelt es sich um ein aus dem internen Taktsignal CLK bzw. aus den differentiellen Taktsignalen CLK1, CLK1' abgeleitetes Taktsignal RDT. Im Unterschied zu dem DQS-Signal, welches lediglich dann gesendet wird, wenn gültige Daten an der Speicherschnittstelle 2 anliegen, ist das RDT-Signal RDT permanent vorhanden und wird somit von dem Speicherbaustein 3 uber die Speicherschnittstelle 2 permanent dem SOC-System 1 zur Verfugung gestellt. Zur Erzeugung dieses RDT-Signals RDT kann in einer ersten Ausgestaltung ein Taktsignal von dem Speicher 3 zusammen mit den aus dem Speicher 3 ausgelesenen Daten D2 über Taktleitungen 28 und die Schnittstelle 2 zurück zu dem SOC-System 1 übertragen werden. Das Taktsignal kann beispielsweise von dem Speicher 3 selbst bereitgestellt worden sein oder von einer externen Takterzeugungseinrichtung bereitgestellt werden. Typischerweise wird das Taktsignal aus dem Systemtakt CLK, CLK1, CLK1' gewonnen. Zu diesem Zweck wird das Taktsignal CLK1, CLK1' über die Schnittstelle 2 und den Bus 4 dem Speicher zugeführt (siehe gestrichelte Leitung 28'). In dem Speicher kann dann das so in den Speicher 3 eingekoppelte Taktsignal beispielsweise über eine PLL-Schaltung 34 in geeigneter Weise verzögert werden und anschließend zusammen mit den aus dem Speicherbaustein 3 ausgelesenen Daten D2 uber die Taktleitungen 28 zurück zu dem SOC-System 1 übertragen werden.
  • Alternativ kann zur Erzeugung des RDT-Signals RDT auch eine Feedback-Schleife 30 bereitgestellt werden, die die Laufzeiten, welche das Taktsignal CLK1, CLK1' zu dem Speicherbaustein 3 und zurück benötigen würde, nachbildet. Die Taktleitungen 28, 28', die PLL-Schaltung 34 und die Feedback-Schleife 30 sind in 1 nur angedeutet.
  • Mittels des Taktes dieses RDT-Signals RDT wird die DLL-Schaltung 20 auf den Takt des RDT-Signals RDT kalibriert. Die DLL-Schaltung 20 stellt an ihrem Taktausgang 33 damit ein sowohl vom internen Taktsignal CLK als auch vom RDT-Signal RDT abgeleitetes und verzögertes Taktsignal CLK2 bereit, welches – wie bereits oben beschrieben wurde – den Takteingängen der Datenabtastregister 12, 13 zugefuhrt wird. Abhangig von dem verzögerten Taktsignal CLK2 wird somit ein fester, optimaler Abtastzeitpunkt in den Datenabtastregistern 12, 13 eingestellt, der insbesondere unabhängig von Schwankungen der Umgebungsparameter, insbesondere der Umgebungstemperatur, ist, da diese Parameter bereits im RDT-Signal RDT, welches fur die Erzeugung des verzögerten Taktsignals CLK2 verwendet wird, mit berucksichtigt wurde.
  • Der Aufbau und die Funktionsweise einer DLL-Schaltung 20 im Allgemeinen, wie sie in dem SOC-System der 1 verwendet wird, ist vielfach bekannt, so dass darauf nicht naher eingegangen wird. Hinsichtlich des Aufbaus einer DLL-Schaltung zur Verwendung in DDR-SDRAM-Speicherbausteinen, bei denen fur das Auslesen von Daten aus dem DDR-Speicher ein Datenabtastregisterpaar vorgesehen ist, wird auf die eingangs erwähnte US-Patentschrift US 6,043,694 verwiesen. Dort ist eine Einrastschaltung beschrieben, die für kalibrierte DLL-Schaltungen in DDR-SDRAM-Speicherbausteinen verwendet wird. Hinsichtlich des allgemeinen Aufbaus und der Funktionsweise einer solchen DLL-Schaltung sowie der verwendeten Abtastregisterpaare, wie sie zum Beispiel in 1 der vorliegenden Erfindung dargestellt sind, wird diese Druckschrift US 6,043,694 voll inhaltlich in die vorliegende Patentanmeldung mit einbezogen.
  • Nachfolgend sei das erfindungsgemaße Verfahren bzw. die erfindungsgemaße Anordnung zum Synchronisieren der DLL-Schaltung 20 beim Auslesen von Lesedaten aus dem DDR-Speicher 3 anhand des Blockschaltbildes in 1 und der Signal-Zeit-Diagramme in 2 näher erläutert:
    Der Speicherbaustein 3 sendet gültige Lesedaten D2 zusammen mit einem Wechsel des DQS-Signals DQS zu der Speicherschnittstelle 2. Zusatzlich erhalt die Speicherschnittstelle 2 ein RDT-Signal RDT, welches synchron zu den an der Speicherschnittstelle 2 anliegenden Lesedaten D2 und dem DQS-Signal DQS ist und welches – wie vorstehend beschrieben – der Speicherschnittstelle 2 entweder von dem Speicherbaustein 3 (über die Taktleitungen 28) direkt, von dem Speicherbaustein 3 aus dem internen Takt CLK1, CLK1' (über die Taktleitungen 28, 28' und ggfs. eine PLL-Schaltung 34) oder uber eine Feedback-Schleife 30 zugefuhrt wird. Die von dem Speicherbaustein 3 ubertragenen Lesedaten D2 sind wahrend eines definierten Zeitraumes nach einem Wechsel des DQS-Signals auf dem Datenbus 4 bzw. der Speicherschnittstelle 2 gültig (siehe 2A).
  • Die DLL-Schaltung 20 wird zur Bestimmung des optimalen Abtastzeitpunktes zum Takten und damit zum Auslesen der Lesedaten D2 verwendet. Die DLL-Schaltung 20 generiert aus dem über die Speicherschnittstelle 2 eingekoppelten Takt des RDT-Signals RDT sowie dem internen Taktsignal CLK einen Abtastzeitpunkt zum Abtasten der an der Speicherschnittstelle 2 gleichzeitig anliegenden Lesedaten D2.
  • Der Abtastzeitpunkt zum Abtasten der Lesedaten soll zum Einen synchron zum Systemtakt CLK und zum Anderen innerhalb eines definierten zugelassenen Zeitraums, in welchem die Lesedaten D2 stabil sind, liegen. Dieser definierte Zeitraum muss so gewählt sein, dass er definiert außerhalb eines so genannten ”verbotenen” Zeitraums VZ liegt, in dem die Setup-Zeit SZ und die Hold-Zeit HZ liegt. Synchron bedeutet in diesem Zusammenhang, dass der Abtastzeitpunkt unter Berücksichtigung der Setup-Zeit ST vor der nächsten Taktflanke des internen Taktsignals CLK liegt oder, falls dies nicht möglich ist, unter Berücksichtigung der Hold-Zeit HZ nach der nächsten Taktflanke des internen Taktsignals CLK liegt.
  • In einer alternativen Variante wäre es auch möglich, das RDT-Signal RDT in einem ersten Schritt zum Beispiel um eine ¼-Taktperiode zu verschieben und die Taktflanken somit in die Mitte des Zeitfensters ZF für die Lesedaten D2 zu legen (siehe 2B). Die Verschiebung um eine ¼-Taktperiode kann in der DLL-Schaltung 20 durch Ausmessen der Taktperiode des internen Taktsignals CLK oder des RDT-Taktsignals RDT und durch entsprechende skalierbare Ketten aus Verzögerungselementen realisiert werden.
  • In einem weiteren Verfahrensschritt wird der so verschobene Takt des RDT-Taktsignals RDT von der DLL-Schaltung 20 nochmals so verschoben, dass er außerhalb des verbotenen Zeitfensters VZ um die positive Taktflanke des Systemtaktes CLK liegt. Im Ergebnis erhält man auf diese Weise ein verschobenes Taktsignal CLK2, mit welchem die Lesedaten D2 innerhalb ihres Gultigkeitsbereiches, das heißt außerhalb des durch die Setup- und Hold-Zeit SZ, HZ vorgegebenen verbotenen Zeitbereiches VZ, und zugleich synchron zum Systemtakt CLK abtaktet werden konnen.
  • Verschieben sich nun die Takte des RDT-Taktsignals RDT und des Systemtaktes CLK relativ zueinander, beispielsweise aufgrund von sich andernden Temperaturverhältnissen, die sich insbesondere durch veränderte Laufzeiten des RDT-Taktsignals RDT äußern, so wird der zum Abtasten der Lesedaten D2 verwendete Takt CLK2 entsprechend mit verschoben, falls er mit dem verbotenen Zeitfenster VZ um den Systemtakt CLK kollidiert (2C).
  • Diese Vorgehensweise kann immer weiter fortgesetzt werden, allerdings nur solange, bis der verzögerte Takt CLK2 zum Abtasten der Lesedaten D2 aus dem Zeitfenster ZF für die gültigen Lesedaten D2 herausfällt. In diesem Falle wird das verzögerte Taktsignal CLK2 zum Abtasten der Lesedaten D2 von der modifizierten DLL-Schaltung 20 jeweils auf die andere Seite des verbotenen Zeitfensters VZ gelegt (siehe 2D). Man verliert so zwar einen Takt fur das Auslesen der Lesedaten D2. Jedoch wird auf diese Weise verhindert, dass es zu einem Datenverlust kommt. Gleichzeitig kommt es so zu keinerlei Verletzungen von Setup- und Hold-Zeiten SZ, HZ. Dieser Mechanismus zur Erzeugung und Anpassung des verzogerten Taktsignals CLK2, also zunächst das Verschieben dieses Taktsignals CLK2 und vor einem Verlassen des Zeitfensters ZF für die Lesedaten D2 das Springen auf die andere Seite des Zeitfensters ZF, funktioniert selbstverständlich in beide Richtungen.
  • Vorzugsweise erfolgt das Verändern beziehungsweise das Springen des verzogerten Taktsignals CLK2 idealerweise zwischen zwei Lesezugriffen. Dies stellt typischerweise kein Problem dar, da im Vergleich zur Dauer eines Lesezugriffes die Verschiebung von Systemtakt CLK und RDT-Takt RDT zueinander relativ langsam stattfinden. Das Springen des verzögerten Taktsignals CLK2 zwischen zwei Lesezugriffen kann zum Beispiel dadurch realisiert werden, dass der Schnittstellencontroller 5 mittels eines Steuersignals CTR der DLL-Schaltung 20 signalisiert, dass ein Lesezugriff durchgeführt werden soll und zu welchem Zeitpunkt dieser Lesezugriff durchgefuhrt wird. Denkbar wären hier naturlich auch andere Implementierungen und Losungen.
  • Da die Daten D1, D2 zwischen dem SOC-System 1 und dem Speicherbaustein 3 bidirektional übertragen werden können, müssen die Eingänge der Speicherschnittstelle 2 für die Lesedaten D2 und die DQS-Signale DQS auf einen festen Wert gelegt werden, solange sie nicht über den Speicherbaustein 3 betrieben werden. Die Datenabtastregister 12, 13 konnen zum Beispiel über einen (in 1 nicht dargestellten) Multiplexer rückgekoppelt werden und vom Schnittstellencontroller 5 gesteuert werden, um wahrend eines Lesezugriffs neue Lesedaten D2 aufzunehmen. Die Steuerung dieses Multiplexers durch den Schnittstellencontroller 5 ist möglich, da dieser zwar asynchron zum RDT-Signal RDT betrieben wird, der maximale Zeitversatz zu dem internen Takt CLK jedoch relativ genau abschätzbar ist. Die Lesedaten D2 und DQS-Signale DQS vom Speicherbaustein 3 konnen natürlich auch direkt, beispielsweise über den Schnittstellencontroller 5, maskiert werden, solange keine Lesezugriffe durchgefuhrt werden.
  • Mittels des verzögerten Taktsignals CLK2 werden die Lesedaten D2 in den Datenabtastregistern 12, 13 abgetastet. Zusätzlich könnte bei einem Lesezugriff hierfur auch das DQS-Signal DQS verwendet werden, welches den Datenabtastregistern 12, 13 signalisiert, wann gültige Lesedaten D2 an der Speicherschnittstelle 2 anliegen und wann diese bereit sind, in die Datenabtastregister 12, 13 eingelesen zu werden.
  • Am Ausgang der Datenabtastregister 12, 13 liegen die Lesedaten D2' dann synchron zum Systemtakt CLK vor und können daher auch in der Zeitdomane des Systemtaktes CLK weiter verarbeitet werden. Zu diesem Zwecke konnen diese Lesedaten D2 (zusammen mit den DQS-Signalen DQS) beispielsweise in der Einrichtung 15 zur Datenvorverarbeitung erneut mit dem Systemtakt CLK abtaktet werden. Hierfür kann die Einrichtung 15 mit einem weiteren Datenabtastregister 29 ausgestattet sein. Alternativ können die synchronen Lesedaten D2' nun auch direkt weiterverarbeitet werden und erst danach mit dem Systemtakt CLK abgetaktet werden.
  • Obwohl die vorliegende Erfindung vorstehend anhand eines bevorzugten Ausführungsbeispiel beschrieben wurde, ist sie nicht darauf beschrankt, sondern auf vielfältige Art und Weise modifizierbar.
  • So ist die Erfindung insbesondere nicht auf ein SOC-System beschränkt, sondern lässt sich auf beliebige Systeme, welche über eine Speicherschnittstelle mit einem externen Speicherbaustein gekoppelt sind und welche eine DLL-Schaltung aufweisen, erweitern. Auch wurde lediglich eine beispielhafte Architektur für das SOC-System angegeben, welches durch entsprechende Abwandlung und Modifikation sehr einfach verändert werden kann, ohne jedoch vom Grundgedanken der vorliegenden Erfindung abzuweichen. Ferner sei die Erfindung nicht auf die Verwendung eines speziellen DDR-SDRAM-Speichers beschränkt, sondern lässt sich auf beliebige Speicherbausteine, die insbesondere eine ähnliche Funktionalität aufweisen konnen, erweitern.
  • Es versteht sich von selbst, dass die angegebenen Zahlenbeispiele lediglich beispielhaft angegeben wurden und die Erfindung nicht dahingehend beschränken sollen.
  • Die entsprechenden Controller sind vorliegend als programmgesteuerte Einrichtungen, insbesondere als Mikrocontroller oder als Mikroprozessor, ausgebildet. Jedoch kann die Funktion dieser Elemente zusätzlich oder alternativ auch durch jede andere programmgesteuerte Einrichtung oder auch durch eine fest verdrahtete Einrichtung, die dazu ausgelegt ist, ein entsprechendes Programm auszufuhren, oder eine programmierbare Schaltung, z. B. eine FPGA- oder PLD-Schaltung, ersetzt werden.
  • Im vorstehenden Ausführungsbeispiel ist jeweils von DQS-Signalen und RDT-Signalen die Rede. Es versteht sich, dass darunter insbesondere auch ein Signalwechsel dieser Signale, also eine aufsteigende Flanke und/oder eine abfallende Flanke des DQS-Signals bzw. RDT-Signals verstanden werden kann. Auch konnen statt einem einzigen DQS-Signal bzw. RDT-Signal auch mehrere DQS-Signale und/oder mehrere RDT-Signale, zum Beispiel vier, vorgesehen sein.
  • Bezugszeichenliste
  • 1
    SOC-System
    2
    (Speicher-)Schnittstelle
    3
    Speicherbaustein, DDR-SDRAM-Speicher
    4
    externer Adress-Daten-Bus
    5
    Schnittstellencontroller
    6
    Adressleitungen
    7
    Datenleitungen
    8
    Recheneinrichtungen, programmgesteuerte Einrichtung
    9
    Daten-/Steuerleitungen
    10
    Datenleitungen
    11
    Registereinrichtung
    12, 13
    Datenabtastregister
    14
    Datenleitungen
    15
    Einrichtung zur Daten-Vorverarbeitung, Speichercontroller
    16
    Datenleitungen
    17
    Schreibpfad
    18
    Lesepfad
    19
    (schreibpfadseitige) DLL-Schaltung
    20
    (lesepfadseitige) DLL-Schaltung
    21
    Taktleitungen
    22
    Takterzeugseinrichtung
    23
    Taktleitungen
    24
    Einrichtung zum Invertieren eines Taktsignals
    25, 26
    Taktleitungen
    27
    Steuerleitungen
    28
    Verbindungsleitungen, Taktleitungen
    29
    Datenabtastregister
    30
    Feedback-Schleife
    31
    Steuerleitung
    32
    Taktausgang
    33
    Taktausgang
    34
    PLL-Schaltung im Speicher
    A1
    Adresssignale
    CLK
    Taktsignal, Systemtakt
    CLK1, CLK1'
    (aus dem Systemtakt abgeleitete) differentielle Taktsignale
    CLK2
    verzögertes Taktsignal
    CTR
    Steuersignal
    D1
    Schreibdaten
    D2
    (an der Speicherschnittstelle anliegende) Lesedaten
    D2'
    (auf den optimalen Abtastzeitpunkt synchronisierte) Lesedaten
    D2''
    (weiter verarbeitete) Lesedaten
    DQS
    DQS-Signal
    HZ
    Hold-Zeit
    SZ
    Setup-Zeit
    VZ
    verbotenes Zeitfenster
    ZF
    Zeitfenster

Claims (15)

  1. Speicheranordnung zur Verarbeitung von Daten, mit einer mit einem Speicher (3) gekoppelten Schnittstelle (2), an der bei einem Lesezugriff auf den Speicher (3) Lesedaten (D2) anliegen und an der permanent ein von einem internen Taktsignal (CLK) abgeleitetes RDT-Taktsignal (RDT), welches synchron zu den Lesedaten (D2) ist, anliegt, mit einer DLL-Schaltung (20) zur Bestimmung des optimalen Abtastzeitpunktes der Lesedaten (D2), die durch Vergleichen des internen Taktsignals (CLK) mit dem RDT-Taktsignal (RDT) und bei einer Verletzung der Setup-Zeit (SZ) und/oder Hold-Zeit (HZ) durch Verschieben des durch Vergleich gewonnenen Taktsignals (CLK2) an einem Taktausgang ein verzögertes Taktsignal (CLK2) bereitstellt, welches einen Abtastzeitpunkt der an der Schnittstelle (2) anliegenden Lesedaten (D2) synchron zum internen Taktsignal (CLK) festlegt, mit mindestens einer Registereinrichtung (11), die dateneingangsseitig mit der Schnittstelle (2) verbunden ist und der zum Abtasten der an der Schnittstelle (2) anliegenden Lesedaten (D2) takteingangsseitig das verzögerte Taktsignal (CLK2) zuführbar ist, wobei über die Schnittstelle (2) auch ein DQS-Taktsignal (DQS) in die Registereinrichtung (11) einkoppelbar ist, wobei das DQS-Taktsignal (DQS) anzeigt, dass gültige Lesedaten (D2) an der Schnittstelle (2) anliegen.
  2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, dass die DLL-Schaltung (20) einen ersten Eingang zur Einkopplung des internen Taktsignals (CLK) und einen zweiten Eingang zur Einkopplung des RDT-Taktsignals (RDT) aufweist.
  3. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zur Bereitstellung des RDT-Taktsignal (RDT) eine Feedback-Einrichtung (30) vorgesehen ist, die die Laufzeit, die das interne Taktsignal (CLK1, CLK1') von der Schnittstelle (2) zu dem Speicher (3) und zurück benötigt, nachbildet.
  4. Speicheranordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass zur Bereitstellung des RDT-Taktsignal (RDT) zumindest eine durchgehende Taktleitung (28, 28') von dem Speicher (3) zu der Schnittstelle (2) vorgesehen ist, über die ein von dem Speicher (3) bereitgestelltes Taktsignal zusammen mit den auszulesenden Daten (D2) zu der Schnittstelle (2) übertragen wird.
  5. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die DLL-Schaltung (20) zum Verschieben des internen Taktsignals (CLK) zumindest eine Verzögerungseinrichtung aufweist, welche das interne Taktsignal (CLK) um jeweils eine vorbestimmte Dauer verschiebt.
  6. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Schnittstellenschaltung (2, 4, 5) vorgesehen ist, die eine Steuereinrichtung (5), die Schnittstelle (2) sowie einen bidirektional betreibbaren Bus (4) aufweist, wobei über die Steuereinrichtung (5) und den Bus (4) Schreibdaten (D1) in den Speicher (3) geschrieben und Lesedaten (D2) aus dem Speicher (3) gelesen werden können, wobei die Steuereinrichtung (5) dazu ausgelegt ist, das Schreiben und/oder Auslesen des Speichers (3) zu steuern.
  7. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Speicher (3) als DDR-Speicher (3), insbesondere als DDR-SRAM-Speicher (3), ausgebildet ist.
  8. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Registereinrichtung (11) mindestens zwei Datenabtastregister (12, 13) aufweist, die bezüglich ihrer Eingänge und Ausgänge parallel zueinander angeordnet sind, die mit mindestens einer doppelten Abtastfrequenz betreibbar sind und in die die auszulesenden Lesedaten (D2) zum Abtasten derselben abwechselnd geschrieben werden.
  9. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Rechen- und Auswerteeinrichtung (8) zur Auswertung der ausgelesenen Lesedaten (D2) vorgesehen ist, welche eine programmgesteuerte Einrichtung aufweist.
  10. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Takterzeugungseinrichtung (22) zur Bereitstellung des internen Taktsignals (CLK) für die DLL-Schaltung (20) vorgesehen ist, die insbesondere Bestandteil der Rechen- und Auswerteeinrichtung (8) ist.
  11. Speicheranordnung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Speicheranordnung ein mit dem Speicher (3) über einen Bus (4) gekoppeltes SOC-System (1) aufweist, welche zumindest die Schnittstelle (2), die DLL-Schaltung (20) und die Registereinrichtung (11) enthält.
  12. Verfahren zum Auslesen von Daten (D2) aus einem Speicher (3), insbesondere bei einer Speicheranordnung gemäß einem der vorstehenden Ansprüche, – bei dem bei einem Lesezugriff auf den Speicher (3) Lesedaten (D2) an einer Schnittstelle (2) zu dem Speicher (3) anliegen, – bei dem an der Schnittstelle (2) permanent ein von einem internen Taktsignal (CLK) abgeleitetes RDT-Taktsignal (RDT), welches synchron zu den Lesedaten (D2) ist, anliegt, – bei dem zur Bestimmung des optimalen Abtastzeitpunktes der Lesedaten (D2) eine DLL-Schaltung (20) bereitgestellt wird, – bei dem die DLL-Schaltung (20) durch Vergleichen des internen Taktsignals (CLK) mit dem RDT-Taktsignal (RDT) einen optimalen Abtastzeitpunkt für die Lesedaten (D1, D2) bestimmt und abhängig von dem bestimmten Abtastzeitpunkt ein verzögertes Taktsignals (CLK2) erzeugt, welches zum Abtakten der Lesedaten (D2) verwendet wird, – bei dem über die Schnittstelle (2) auch ein DQS-Taktsignal (DQS) eingekoppelt wird, wobei das DQS-Taktsignal (DQS) anzeigt, dass gültige Lesedaten (D2) an der Schnittstelle (2) anliegen.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass bei einer Verletzung der Setup-Zeit (SZ) und/oder Hold-Zeit (HZ) für die Lesedaten (DZ) das durch Vergleich gewonnene und verzögerte Taktsignal (CLK2) weiter so verschoben wird, dass der Abtastzeitpunkt außerhalb eines sich aus der Setup-Zeit (SZ) und/oder Hold-Zeit (HZ) ergebenden verbotenen Zeitfensters (VZ) befindet.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass für den Fall, dass der Takt des durch Vergleichen und Verschieben gewonnenen verzögerten Taktsignal (CLK2) aus einem gültigen Zeitfenster (ZF), bei dem die Lesedaten (D2) gültig sind, herausfällt, das verzögerte Taktsignal (CLK2) jeweils auf die gegenüberliegende Seite des gültigen Zeitfensters (ZF) verschoben wird.
  15. Verfahren nach einem der Ansprüche 13 oder 14, dadurch gekennzeichnet, dass das Verschieben des verzögerten Taktsignals (CLK2) zwischen zwei Lesezugriffen vorgenommen wird.
DE102004062282.5A 2004-12-23 2004-12-23 Speicheranordnung und Verfahren zur Verarbeitung von Daten Expired - Fee Related DE102004062282B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004062282.5A DE102004062282B4 (de) 2004-12-23 2004-12-23 Speicheranordnung und Verfahren zur Verarbeitung von Daten
US11/318,330 US7443742B2 (en) 2004-12-23 2005-12-23 Memory arrangement and method for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004062282.5A DE102004062282B4 (de) 2004-12-23 2004-12-23 Speicheranordnung und Verfahren zur Verarbeitung von Daten

Publications (2)

Publication Number Publication Date
DE102004062282A1 DE102004062282A1 (de) 2006-07-13
DE102004062282B4 true DE102004062282B4 (de) 2014-08-21

Family

ID=36599217

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004062282.5A Expired - Fee Related DE102004062282B4 (de) 2004-12-23 2004-12-23 Speicheranordnung und Verfahren zur Verarbeitung von Daten

Country Status (2)

Country Link
US (1) US7443742B2 (de)
DE (1) DE102004062282B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10447461B2 (en) * 2015-12-01 2019-10-15 Infineon Technologies Austria Ag Accessing data via different clocks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043694A (en) 1998-06-24 2000-03-28 Siemens Aktiengesellschaft Lock arrangement for a calibrated DLL in DDR SDRAM applications
US6487648B1 (en) * 1999-12-15 2002-11-26 Xilinx, Inc. SDRAM controller implemented in a PLD
US6801989B2 (en) * 2001-06-28 2004-10-05 Micron Technology, Inc. Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
JP4609808B2 (ja) * 2001-09-19 2011-01-12 エルピーダメモリ株式会社 半導体集積回路装置及び遅延ロックループ装置
JP2003308695A (ja) * 2002-04-11 2003-10-31 Mitsubishi Electric Corp 半導体記憶装置
JP2004164769A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp 半導体記憶装置
JP4434568B2 (ja) * 2002-11-14 2010-03-17 株式会社ルネサステクノロジ 半導体記憶装置
KR100522432B1 (ko) * 2003-04-29 2005-10-20 주식회사 하이닉스반도체 반도체 기억 소자의 데이터 출력 제어 장치 및 방법
DE10333522B4 (de) 2003-07-23 2005-05-12 Infineon Technologies Ag Speicheranordnung zur Verarbeitung von Daten und Verfahren

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xilinx Application Note XAPP750 (v1.0). QDR II SRAM Local Clocking Interface for Virtex-II Pro Devises, 24.5.2004

Also Published As

Publication number Publication date
US20060203603A1 (en) 2006-09-14
US7443742B2 (en) 2008-10-28
DE102004062282A1 (de) 2006-07-13

Similar Documents

Publication Publication Date Title
DE102004021694B4 (de) Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE10102887B4 (de) Verzögerungsvorrichtung, die eine Verzögerungssperrschleife aufweist und Verfahren zum Kalibrieren derselben
DE19652310C2 (de) Halbleiterspeichervorrichtung, die ein asynchrones Signal verwendet
DE60034788T2 (de) Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE102004025900A1 (de) Leselatenz-Steuerschaltung
DE10210904A1 (de) Speichermodul, zugehöriges Speichersystem und Taktsignalerzeugungsverfahren
DE102007039615A1 (de) Schnittstellenschaltung
DE102004031450B4 (de) Verzögerungsregelkreis-Vorrichtung
DE19914986A1 (de) Vorrichtung zum Verzögern eines Taktsignals
DE10208715B4 (de) Latenz-Zeitschalter für ein S-DRAM
DE10126589A1 (de) Halbleiterspeichergerät zur Bereitstellung einer Adressenzugriffszeit und einer Datenzugriffszeit mit hoher Geschwindigkeit
DE10102626B4 (de) Halbleiterspeicherbauelement, Puffer und zugehörige Signalübertragungsschaltung
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE102007004713A1 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
DE19860766A1 (de) Speichervorrichtung mit einem Datenausgangspuffer und ein Verfahren zu deren Steuerung
DE10121165B4 (de) Verfahren und Vorrichtung zum Initialisieren einer asynchronen Latch-Kette
DE102006043007B4 (de) Speicherbauelement, Speichersteuereinheit und Speichersystem
DE10333522B4 (de) Speicheranordnung zur Verarbeitung von Daten und Verfahren
DE102004062282B4 (de) Speicheranordnung und Verfahren zur Verarbeitung von Daten
DE102005053294B4 (de) Schaltungsanordnung zur zeitlichen Verzögerung von Lesedaten, Halbleiterspeicherschaltung und Verfahren
DE69931512T2 (de) Phasendifferenzvergrösserer
DE102005053486B4 (de) Schaltungsanordnung zur Erzeugung eines n-Bit Ausgangszeigers, Halbleiterspeicher und Verfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee