PatentDe  


Dokumentenidentifikation DE102004062282A1 13.07.2006
Titel Speicheranordnung und Verfahren zur Verarbeitung von Daten
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Hellwig, Frank, 81827 München, DE
Vertreter PAe Reinhard, Skuhra, Weise & Partner GbR, 80801 München
DE-Anmeldedatum 23.12.2004
DE-Aktenzeichen 102004062282
Offenlegungstag 13.07.2006
Veröffentlichungstag im Patentblatt 13.07.2006
IPC-Hauptklasse G11C 7/22(2006.01)A, F, I, 20051017, B, H, DE
Zusammenfassung Die Erfindung betrifft 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 einen 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. Die Erfindung betrifft ferner ein Verfahren zur Verarbeitung von Daten.

Beschreibung[de]

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 Verzögerung 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 Zuverlässigkeit, kleinere Abmessungen, geringerer Energiebedarf, größere Verarbeitungsgeschwindigkeit und geringerer Preis von integrierten Schaltungen führen zu einer immer höheren Integration und zur Entwicklung von hoch und höchst 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 für 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 Flexibilitätsgrü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 über 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 können 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 höheren Frequenz übertragen werden, das heißt, ein DDR-SDRAM-Speicher operiert bei einem Bustakt von 100 MHz effektiv mit 200 MHz und die Übertragungsrate 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 Datenübertragungsrate 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 Datenübertragung 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 Synchronität 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 gültiges Datum anliegt. Mit Hilfe dieses DQS-Signals wird das auszulesende Datum über die Busschnittstelle getaktet ausgelesen.

Aufgrund des asynchronen Charakters dieses auszulesenden Datums und der zugehörigen 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 möglichst 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 könnte. Im ersteren Falle würde die Bandbreite zum externen Speicherbaustein durch die dadurch erforderlichen zusätzlichen 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 Veränderungen 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 über einen längeren Zeitraum allerdings keine Daten gesendet, dann wird auch kein DQS-Signal gesendet, welches aber für die Synchronisation der DLL-Schaltung erforderlich wäre. Dies kann dazu führen, dass die DLL-Schaltung beispielsweise bei geänderten Umgebungsparametern nicht mehr an diese angepasst ist, was insgesamt dazu führt, dass der optimale Abtastzeitpunkt für einen Lesezugriff relativ zum Systemtakt verschoben wird, mit der Folge, dass sich der Abtastzeitpunkt nunmehr in dem "verbotenen Zeitbereich" befindet. Wenn dann nach längerer Zeit ein Lesezugriff auf den externen Speicher durchgeführt 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 führen. Dies gilt es aber möglichst zu vermeiden.

Besonders problematisch ist dies bei für Anwendungen im Kraftfahrzeugbereich (Automotive-Anwendungen) ausgelegte Speicheranordnungen. Während 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.

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 13 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. Die Erfindung betrifft ferner ein Verfahren zur Verarbeitung von Daten. (Patentanspruch 1)
  • – 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 Takt-signals erzeugt, welches zum Abtakten der Lesedaten verwendet wird (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 erfindungsgemäß 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 hierfür 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 für an der Speicherschnittstelle anliegende, gültige Lesedaten. Dies trifft aber in den meisten Fällen zu.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind Gegenstand der weiteren Unteransprüche 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 erfindungsgemäßen Speicheranordnung zur Verarbeitung von Daten mit einer Schnittstelle zu einem externen Speicherbaustein und einstellbaren DLL-Schaltung zur Bereitstellung eines verzögerten Taktsignals;

2 Signal-Zeit-Diagramme des Systemtaktes und des RDT-Taktsignals zur Veranschaulichung der Funktionsweise der erfindungsgemäß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 erfindungsgemäß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 über einen Bus 4 mit der Speicherschnittstelle 2 gekoppelt. Im vorliegenden Ausführungsbeispiel enthält der Bus 4 eine Vielzahl von Adress- und Datenleitungen, die vorzugsweise bidirektional betreibbar sind, sowie Taktleitungen zur bidirektionalen Übertragung von Taktsignalen. Die Speicherschnittstelle 2 enthält entsprechend eine Vielzahl von Eingangs-/Ausgangsanschlüssen (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 können. Ü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. Zusätzlich 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) zunächst einer Registereinrichtung 11 zum Abtasten dieser Daten D2 zugeführt. Im Falle einer DDR-Speicherarchitektur enthält 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 zugeführt, 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. Gegenüber 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 über Datenleitungen 16 der Recheneinrichtung 8 zugeführt, 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 für 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 Ausführungsbeispiel 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 zugeführt. 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 Präzision 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 Verzögerung des Taktsignals CLK erfolgt.

In der DLL-Schaltung 20 wird das eingangsseitig eingekoppelte Taktsignal CLK geeignet verzögert. Die DLL-Schaltung 20 wird hierfür ü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, CLKl' 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 über die Speicherschnittstelle 2 permanent dem SOC-System 1 zur Verfügung 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, CLKl' gewonnen. Zu diesem Zweck wird das Taktsignal CLKl, 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 über 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 zugeführt wird. Abhängig 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 für die Erzeugung des verzögerten Taktsignals CLK2 verwendet wird, mit berücksichtigt 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 näher eingegangen wird. Hinsichtlich des Aufbaus einer DLL-Schaltung zur Verwendung in DDR-SDRAM-Speicherbausteinen, bei denen für 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 erfindungsgemäße Verfahren bzw. die erfindungsgemäß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. Zusätzlich erhält 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 über eine Feedback-Schleife 30 zugeführt wird. Die von dem Speicherbaustein 3 übertragenen Lesedaten D2 sind während 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 Gültigkeitsbereiches, 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 können.

Verschieben sich nun die Takte des RDT-Taktsignals RDT und des Systemtaktes CLK relativ zueinander, beispielsweise aufgrund von sich ändernden 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 für 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 verzögerten 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 verzögerten 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 durchgeführt wird. Denkbar wären hier natürlich auch andere Implementierungen und Lösungen.

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 können zum Beispiel über einen (in 1 nicht dargestellten) Multiplexer rückgekoppelt werden und vom Schnittstellencontroller 5 gesteuert werden, um während 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 können natürlich auch direkt, beispielsweise über den Schnittstellencontroller 5, maskiert werden, solange keine Lesezugriffe durchgeführt werden.

Mittels des verzögerten Taktsignals CLK2 werden die Lesedaten D2 in den Datenabtastregistern 12, 13 abgetastet. Zusätzlich könnte bei einem Lesezugriff hierfür 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 Zeitdomäne des Systemtaktes CLK weiter verarbeitet werden. Zu diesem Zwecke können 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 beschränkt, 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 können, 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 auszuführen, 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 können statt einem einzigen DQS-Signal bzw. RDT-Signal auch mehrere DQS-Signale und/oder mehrere RDT-Signale, zum Beispiel vier, vorgesehen sein.

1SOC-System 2(Speicher-) Schnittstelle 3Speicherbaustein, DDR-SDRAM-Speicher 4externer Adress-Daten-Bus 5Schnittstellencontroller 6Adressleitungen 7Datenleitungen 8Recheneinrichtungen, programmgesteuerte Einrich tung 9Daten-/Steuerleitungen 10Datenleitungen 11Registereinrichtung 12, 13Datenabtastregister 14Datenleitungen 15Einrichtung zur Daten-Vorverarbeitung, Speicher controller 16Datenleitungen 17Schreibpfad 18Lesepfad 19(schreibpfadseitige) DLL-Schaltung 20(lesepfadseitige) DLL-Schaltung 21Taktleitungen 22Takterzeugseinrichtung 23Taktleitungen 24Einrichtung zum Invertieren eines Taktsignals 25, 26Taktleitungen 27Steuerleitungen 28Verbindungsleitungen, Taktleitungen 29Datenabtastregister 30Feedback-Schleife 31Steuerleitung 32Taktausgang 33Taktausgang 34PLL-Schaltung im Speicher A1Adresssignale CLKTaktsignal, Systemtakt CLK1, CLK1' (aus dem Systemtakt abgeleitete) differentielle Taktsignale CLK2verzögertes Taktsignal CTRSteuersignal D1Schreibdaten D2(an der Speicherschnittstelle anliegende) Leseda ten D2'(auf den optimalen Abtastzeitpunkt synchronisier te) Lesedaten D2''(weiter verarbeitete) Lesedaten DQSDQS-Signal HZHold-Zeit SZSetup-Zeit VZverbotenes Zeitfenster ZFZeitfenster

Anspruch[de]
  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.
  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 über die Schnittstelle (2) auch DQS-Taktsignale (DQS) in die Registereinrichtung (11) einkoppelbar ist, wobei das DQS-Taktsignal (DQS) anzeigt, dass gültige Lesedaten (D2) an der Schnittstelle (2) anliegen.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. Verfahren nach Anspruch 13, 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.
  15. Verfahren nach Anspruch 14, 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.
  16. Verfahren nach einem der Ansprüche 14 oder 15, dadurch gekennzeichnet, dass das Verschieben des verzögerten Taktsignals (CLK2) zwischen zwei Lesezugriffen vorgenommen wird.
Es folgen 2 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com