DE102022208116A1 - Halbleitersystem für die durchführung eines trainingsbetriebs - Google Patents

Halbleitersystem für die durchführung eines trainingsbetriebs Download PDF

Info

Publication number
DE102022208116A1
DE102022208116A1 DE102022208116.1A DE102022208116A DE102022208116A1 DE 102022208116 A1 DE102022208116 A1 DE 102022208116A1 DE 102022208116 A DE102022208116 A DE 102022208116A DE 102022208116 A1 DE102022208116 A1 DE 102022208116A1
Authority
DE
Germany
Prior art keywords
signal
data
error
circuit
generate
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.)
Pending
Application number
DE102022208116.1A
Other languages
English (en)
Inventor
Du Hyun Kim
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of DE102022208116A1 publication Critical patent/DE102022208116A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Neurology (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein Halbleitersystem enthält eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, ein Spannungscodesignal zum Einstellen eines Pegels einer Referenzspannung erzeugt, die einen logischen Pegel von Daten in einer Zielspeicherschaltung bestimmt, und das Spannungscodesignal auf der Grundlage eines Fehlerinformationssignals einstellt, das der Zielspeicherschaltung entspricht, eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, aus dem Befehl ein Schreibsignal und ein Lesesignal zum Durchführen eines normalen Betriebs erzeugt, und aus der Adresse eine interne Adresse zum Durchführen des normalen Betriebs erzeugt, und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie einen Fehler in den Daten erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob der Fehler in den Daten aufgetreten ist.

Description

  • HINTERGRUND
  • 1. Technisches Gebiet
  • Ausführungsformen der vorliegenden Offenbarung können sich allgemein auf ein Halbleitersystem und insbesondere auf ein Halbleitersystem beziehen, das sich auf die Durchführung eines Trainingsbetriebs einer Signalübertragungsschaltung bezieht, die einen Controller und eine Speicherschaltung koppelt.
  • 2. Verwandter Sachstand
  • Um die Betriebsgeschwindigkeit eines Halbleiterbauelements zu erhöhen, wurden in letzter Zeit verschiedene Vorgehensweisen für die Eingabe/Ausgabe von Daten mit einer Vielzahl von Bits pro Taktzyklus verwendet. Wenn die Eingabe-/Ausgabegeschwindigkeit von Daten erhöht wird, steigt auch die Wahrscheinlichkeit des Auftretens eines Fehlers während eines Datenübertragungsprozesses an. Daher werden zusätzlich eine separate Vorrichtung und ein Verfahren zur Gewährleistung der Zuverlässigkeit der Datenübertragung benötigt.
  • Zum Beispiel wird ein Verfahren zur Erzeugung von Fehlercodes verwendet, das in der Lage ist, das Auftreten eines Fehlers zu überprüfen und die Fehlercodes zusammen mit den Daten jedes Mal zu übertragen, wenn Daten übertragen werden, wodurch die Zuverlässigkeit der Datenübertragung gewährleistet wird. Die Fehlercodes umfassen einen Fehlererkennungscode (Error Detection Code, EDC), der in der Lage ist, einen aufgetretenen Fehler zu erkennen, und einen Fehlerkorrekturcode (Error Correction Code, ECC), der in der Lage ist, einen Fehler beim Auftreten des Fehlers selbst zu korrigieren.
  • Mit der fortschreitenden Hochintegration und dem Hochgeschwindigkeitsbetrieb eines Halbleiterbauelements werden die Speicherplätze in einem Halbleitersystem unterschiedlich festgelegt und somit auch die Längen der Leitungen, über die Signale übertragen werden. Um die Verzögerungswerte solcher Leitungen, über die Signale übertragen werden, gleich zu halten, sind verschiedene Trainingsverfahren erforderlich.
  • ZUSAMMENFASSUNG
  • In einer Ausführungsform kann ein Halbleitersystem enthalten: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, und einen Verzögerungsbetrag einer Verzögerungszelle, die mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines Fehlerinformationssignals, das der Zielspeicherschaltung entspricht, einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, für eine Vielzahl von Speicherschaltungen ein Schreibsignal, ein Lesesignal und eine interne Adresse zur Durchführung eines normalen Betriebs erzeugt und ausgibt, und einen Lesemodifizierungs-Schreibbetrieb durch Empfang eines Scrub-Steuersignals durchführt; eine Scrub-Steuerschaltung, die so konfiguriert ist, dass sie eine Vielzahl von Adressen speichert und das Scrub-Steuersignal erzeugt, wenn die Anzahl der gespeicherten Adressen einen voreingestellten Wert erreicht; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie bei dem Lesemodifizierungs-Schreibbetrieb einen Datenfehler erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob ein Fehler in den Daten aufgetreten ist.
  • In einer Ausführungsform kann eine elektronische Vorrichtung umfassen: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, und einen Verzögerungsbetrag einer Verzögerungszelle, die mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, aus dem Befehl ein Schreibsignal und ein Lesesignal zum Durchführen eines normalen Betriebs erzeugt und aus der Adresse eine interne Adresse zum Durchführen des normalen Betriebs erzeugt; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie einen Fehler in Daten erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob der Fehler in den Daten aufgetreten ist.
  • In einer Ausführungsform kann ein Halbleitersystem enthalten: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, ein Spannungscodesignal zum Einstellen eines Pegels einer Referenzspannung erzeugt, die einen logischen Pegel von Daten in einer Zielspeicherschaltung bestimmt, und das Spannungscodesignal auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, aus dem Befehl ein Schreibsignal und ein Lesesignal zum Durchführen eines normalen Betriebs erzeugt und aus der Adresse eine interne Adresse zum Durchführen des normalen Betriebs erzeugt; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie einen Fehler in den Daten erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob der Fehler in den Daten aufgetreten ist.
  • In einer Ausführungsform kann ein Halbleitersystem enthalten: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, und einen Freigabezeitpunkt eines Puffers, der mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines Fehlerinformationssignals, das der Zielspeicherschaltung entspricht, einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, an eine Vielzahl von Speicherschaltungen ein Schreibsignal, ein Lesesignal und eine interne Adresse zur Durchführung eines normalen Betriebs erzeugt und ausgibt, und einen Lesemodifizierungs-Schreibbetrieb durch Empfang eines Scrub-Steuersignals durchführt; eine Scrub-Steuerschaltung, die so konfiguriert ist, dass sie eine Vielzahl von Adressen speichert und das Scrub-Steuersignal erzeugt, wenn die Anzahl der gespeicherten Adressen einen voreingestellten Wert erreicht; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie bei dem Lesemodifizierungs-Schreibbetrieb einen Datenfehler erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob ein Fehler in den Daten aufgetreten ist.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Konfiguration eines Halbleitersystems gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 2 ist ein Blockdiagramm, das eine Konfiguration eines Controllers zeigt, der in dem in 1 dargestellten Halbleitersystem enthalten ist.
    • 3 ist ein Blockdiagramm, das eine Konfiguration eines Prozesssteuerschaltung zeigt, die in dem in 2 dargestellten Controller enthalten ist.
    • 4 ist ein Blockdiagramm, das die Konfiguration einer Betriebssteuerschaltung zeigt, die in dem in 2 dargestellten Controller enthalten ist.
    • 5 ist ein Blockdiagramm, das die Konfiguration einer Scrub-Steuerschaltung zeigt, die in dem in 2 dargestellten Controller enthalten ist.
    • 6 ist ein Blockdiagramm, das eine Konfiguration einer Fehlererkennungsschaltung in dem in 2 dargestellten Controller zeigt.
    • 7 ist ein Diagramm zur Erläuterung der Dateneingabe und -ausgabe durch eine Signalübertragungsschaltung gemäß der vorliegenden Ausführungsform der Offenbarung.
    • 8 ist ein Diagramm zur Erläuterung eines Betriebs zur Erzeugung eines Verzögerungscodesignals in Übereinstimmung mit der Ausführungsform der vorliegenden Offenbarung.
    • 9 ist ein Blockdiagramm, das die Konfiguration einer ersten Eingangs-/Ausgangsschaltung zeigt, die in der in 2 dargestellten Signalübertragungsschaltung enthalten ist.
    • 10 ist ein Zeitdiagramm zur Erläuterung eines Patrouillen-Trainingsbetriebs gemäß der Ausführungsform der vorliegenden Offenbarung.
    • 11 ist ein Blockdiagramm, das die Konfigurationen eines Controllers und der Speicherschaltungen in Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Offenbarung zeigt.
    • 12 ist ein Blockdiagramm, das eine Konfiguration einer in 11 dargestellten ersten Speicherschaltung zeigt.
    • 13 ist ein Diagramm zur Erläuterung eines Betriebs zur Erzeugung eines Spannungscodesignals gemäß der vorliegenden Ausführungsform der Offenbarung.
    • 14 ist ein Blockdiagramm, das eine Konfiguration eines Halbleitersystems gemäß einer anderen Ausführungsform der vorliegenden Offenbarung zeigt.
    • 15 ist ein Blockdiagramm, das eine Konfiguration eines Controllers zeigt, der in dem in 14 dargestellten Halbleitersystem enthalten ist.
    • 16 ist ein Blockdiagramm, das eine Konfiguration der in 15 dargestellten ersten Pufferschaltung zeigt.
    • 17 ist ein Zeitdiagramm zur Erläuterung eines Patrouillen-Trainingsbetriebs gemäß der Ausführungsform der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Der Begriff „voreingestellt“ bedeutet, dass der numerische Wert eines Parameters vorgegeben ist, wenn der Parameter in einem Prozess oder Algorithmus verwendet wird. Gemäß einer Ausführungsform kann der numerische Wert des Parameters beim Start des Prozesses oder Algorithmus oder während der Durchführung des Prozesses oder Algorithmus festgelegt werden.
  • Begriffe wie „erster“ und „zweiter“, die zur Unterscheidung zwischen verschiedenen Komponenten verwendet werden, sind nicht durch die Komponenten beschränkt. So kann beispielsweise eine erste Komponente als zweite Komponente bezeichnet werden und umgekehrt.
  • Wenn eine Komponente als „gekoppelt“ oder „verbunden“ mit einer anderen Komponente bezeichnet wird, können die Komponenten direkt miteinander gekoppelt oder verbunden sein oder über eine weitere dazwischenliegende Kompopnente gekoppelt oder verbunden werden. Wird hingegen eine Komponente als „direkt gekoppelt“ oder „direkt verbunden“ mit einer anderen Komponente bezeichnet, so ist davon auszugehen, dass die Komponenten direkt miteinander gekoppelt oder verbunden sind, ohne dass eine weitere Komponente dazwischengeschaltet ist.
  • Ein „logischer High-Pegel“ und ein „logischer Low-Pegel“ werden zur Beschreibung der Logikpegel von Signalen verwendet. Ein Signal mit einem „logischen hohem Pegel“ wird von einem Signal mit einem „logischen niedrigem Pegel“ unterschieden. Wenn zum Beispiel ein Signal mit einer ersten Spannung einem „logischen High-Pegel“ entspricht, kann ein Signal mit einer zweiten Spannung einem „logischen Low-Pegel“ entsprechen. Gemäß einer Ausführungsform kann ein „logischer High-Pegel“ auf eine höhere Spannung als ein „logischer Low-Pegel“ gesetzt werden. Gemäß einer Ausführungsform können die logischen Pegel von Signalen auf unterschiedliche oder entgegengesetzte logische Pegel eingestellt werden. Beispielsweise kann gemäß einer Ausführungsform ein Signal mit einem „logischen High-Pegel“ auf einen „logischen Low-Pegel“ und ein Signal mit einem „logischen Low-Pegel“ auf einen „logischen High-Pegel“ eingestellt werden.
  • Nachstehend wird die Lehre der vorliegenden Offenbarung anhand von Ausführungsformen beschrieben. Diese Ausführungsformen dienen nur zur Veranschaulichung der Lehren der vorliegenden Offenbarung, und der Umfang der vorliegenden Offenbarung wird durch die Ausführungsformen nicht eingeschränkt.
  • Verschiedene Ausführungsformen sind auf ein Halbleitersystem gerichtet, das einen Patrouillen-Trainingsbetrieb zum Einstellen eines Verzögerungsbetrags einer Signalübertragungsschaltung durchführt, die einen Controller und eine Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs koppelt.
  • Gemäß den Ausführungsformen der vorliegenden Offenbarung ist es möglich, einen Patrouillen-Trainingsbetrieb durchzuführen, bei dem ein Verzögerungsbetrag einer Signalübertragungsschaltung, die einen Controller und eine Speicherschaltung koppelt, während eines Schreibbetriebs und eines Lesebetriebs eingestellt wird.
  • Gemäß den Ausführungsformen der vorliegenden Offenbarung ist es möglich, die Zuverlässigkeit der Dateneingabe und -ausgabe über die Signalübertragungsschaltung zu gewährleisten, indem der Patrouillen-Trainingsbetrieb durchgeführt wird, bei dem ein Verzögerungsbetrag der Signalübertragungsschaltung, die den Controller und die Speicherschaltung koppelt, während eines Schreibbetriebs und eines Lesebetriebs eingestellt wird.
  • Außerdem ist es gemäß den Ausführungsformen der vorliegenden Offenbarung möglich, einen Patrouillen-Trainingsbetrieb zur Einstellung des Pegels einer Referenzspannung zur Bestimmung des logischen Pegels von Daten in einer Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs durchzuführen.
  • Gemäß den Ausführungsformen der vorliegenden Offenbarung ist es möglich, die Zuverlässigkeit der Dateneingabe und -ausgabe durch eine Signalübertragungsschaltung zu gewährleisten, indem der Pegel der Referenzspannung zur Bestimmung des logischen Pegels von Daten in der Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs eingestellt wird.
  • Wie in 1 dargestellt, kann ein Halbleitersystem 1 gemäß einer Ausführungsform der vorliegenden Offenbarung einen Host 10, einen Controller 20 und erste bis zwanzigste Speicherschaltungen DRAM1 bis DRAM20 umfassen.
  • Der Host 10 kann an den Controller 20 einen Befehl CMD, eine Adresse ADD und Schreibdaten WDA ausgeben, um einen Schreibbetrieb durchzuführen. Der Host 10 kann an den Controller 20 einen Befehl CMD und eine Adresse ADD zur Durchführung eines Lesebetriebs ausgeben und kann Lesedaten RDA von dem Controller 20 empfangen. Während der Befehl CMD, die Adresse ADD, die Schreibdaten WDA und die Lesedaten RDA jeweils als ein Signal dargestellt sind, ist anzumerken, dass gemäß einer Ausführungsform jeder Befehl CMD, die Adresse ADD, die Schreibdaten WDA und die Lesedaten RDA als ein Signal mit einer Vielzahl von Bits gesetzt werden können.
  • Der Controller 20 kann den Schreibbetrieb der ersten bis zwanzigsten Speicherschaltung DRAM1 bis DRAM20 steuern, indem er den Befehl CMD und die Adresse ADD vom Host 10 empfängt. Der Controller 20 kann den Lesebetrieb der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 steuern, indem er den Befehl CMD und die Adresse ADD vom Host 10 empfängt. Der Controller 20 kann einen Patrouillen-Trainingsbetrieb steuern, indem er den Befehl CMD und die Adresse ADD vom Host 10 empfängt. Bei dem Patrouillen-Trainingsbetrieb kann der Controller 20 einen Lesemodifizierungs-Schreibbetrieb der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 steuern. Der Befehl CMD kann als ein Befehl zur Durchführung des Schreibbetriebs, des Lesebetriebs und des Lesemodifizierungs-Schreibbetriebs der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 eingestellt werden und kann so eingestellt werden, dass er eine Vielzahl von Bits enthält. Die Adresse ADD kann als ein Signal zum Auswählen der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 in dem Schreibbetrieb, dem Lesebetrieb und dem Lesemodifizierungs-Schreibbetrieb eingestellt werden und kann so eingestellt werden, dass sie eine Vielzahl von Bits enthält. Der Controller 20 ist als Controller zur Steuerung des Betriebs bzw. der Operationen der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 implementiert. Gemäß einer Ausführungsform kann der Controller 20 jedoch als eine beliebige Testvorrichtung oder eine elektronische Vorrichtung zur Steuerung des Betriebs bzw. der Operationen der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 implementiert sein.
  • Der Controller 20 kann eine Prozesssteuerschaltung 210, eine Betriebssteuerschaltung 220, eine Scrub-Steuerschaltung 230, eine Fehlererkennungsschaltung 240 und eine Signalübertragungsschaltung 250 umfassen.
  • Während des Schreibbetriebs und des Lesebetriebs kann die Prozesssteuerschaltung 210 den Patrouillen-Trainingsbetrieb bestimmen. Bei dem Patrouillen-Trainingsbetrieb kann die Prozesssteuerschaltung 210 die Verzögerungsbeträge von Verzögerungszellen anpassen, die mit der ersten bis zwanzigsten Speicherschaltung DRAM1 bis DRAM20 gekoppelt sind.
  • Die Betriebssteuerschaltung 220 kann den Befehl CMD und die Adresse ADD vom Host 10 empfangen. Die Betriebssteuerschaltung 220 kann den Schreibbetrieb und den Lesebetrieb eines normalen Betriebs auf der Grundlage des Befehls CMD und der Adresse ADD steuern. Die Betriebssteuerschaltung 220 kann den Lesemodifizierungs-Schreibbetrieb auf der Grundlage des Befehls CMD und der Adresse ADD steuern. Die Betriebssteuerschaltung 220 kann eine Trainingsadresse TADD (siehe 2) erzeugen, indem sie eine Scrub-Adresse SADD (siehe 2) von der Scrub-Steuerschaltung 230 erhält. Der normale Betrieb umfasst einen Schreibbetrieb und einen Lesebetrieb. Der Lesebetrieb ist ein Betrieb zur Ausgabe der ersten bis zwanzigsten Daten DA1 bis DA20, die in den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 gespeichert sind. Der Schreibbetrieb ist ein Betrieb zum Speichern der ersten bis zwanzigsten Daten DA1 bis DA20 in den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20. Der Lesemodifizierungs-Schreibbetrieb (d. h. die Lese-Modifizierungs-Schreiboperation) ist ein Betrieb zur Korrektur von Fehlern, die in den ersten bis zwanzigsten Daten DA1 bis DA20 enthalten sind, und zum Speichern der ersten bis zwanzigsten Daten DA1 bis DA20, in denen die Fehler korrigiert sind.
  • Die Scrub-Steuerschaltung 230 kann die Adresse ADD vom Host 10 empfangen. Die Scrub-Steuerschaltung 230 kann aus der Adresse ADD die Scrub-Adresse SADD (siehe 2) zur Durchführung des Lesemodifizierungs-Schreibbetriebs erzeugen.
  • Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die Schreibdaten WDA vom Host 10 empfangen. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die ersten bis zwanzigsten Daten DA1 bis DA20 von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die Lesedaten RDA erzeugen, indem sie einen in den ersten bis zwanzigsten Daten DA1 bis DA20 enthaltenen Fehler korrigiert. Bei dem Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die Lesedaten RDA an den Host 10 ausgeben. Im Lesebetrieb und im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 240 ein Fehlerinformationssignal FA_IF<1 :M> (siehe 2) erzeugen, je nachdem, ob ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 aufgetreten ist. Obwohl jeder der ersten bis zwanzigsten Daten DA1 bis DA20 als ein Signal dargestellt ist, kann gemäß einer Ausführungsform jeder der ersten bis zwanzigsten Daten DA1 bis DA20 als ein Signal mit einer Vielzahl von Bits gesetzt werden.
  • Die Signalübertragungsschaltung 250 kann eine erste bis zwanzigste Eingangs-/Ausgangsschaltung I/O1 bis I/O20 enthalten. Im Schreibbetrieb und im Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Daten DA1 bis DA20 in die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 eingeben und von diesen ausgeben. In dem Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen. Im Patrouillen-Trainingsbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 um eingestellte Verzögerungsbeträge verzögern. Im Patrouillen-Trainingsbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Daten DA1 bis DA20 synchron mit den verzögerten ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 abtasten (sampeln).
  • Beim Schreibbetrieb und beim Lesemodifizierungs-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die ersten bis zwanzigsten Daten DA1 bis DA20 von den ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 empfangen. Bei dem Schreibbetrieb und dem Lese-Modifikations-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die ersten bis zwanzigsten Daten DA1 bis DA20 speichern. Beim Lesebetrieb und beim Lesemodifizierungs-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die darin gespeicherten ersten bis zwanzigsten Daten DA1 bis DA20 an die ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 ausgeben.
  • Der Controller 20 und die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 können als Dual-In-Line-Speichermodul (DIMM) implementiert werden.
  • 2 ist ein Blockdiagramm, das eine Ausführungsform des Controllers 20 zeigt. Wie in 2 dargestellt, kann der Controller 20 die Prozesssteuerschaltung 210, die Betriebssteuerschaltung 220, die Scrub-Steuerschaltung 230, die Fehlererkennungsschaltung 240 und die Signalübertragungsschaltung 250 umfassen.
  • Die Prozesssteuerschaltung 210 kann den Patrouillen-Trainingsbetrieb während des Schreibbetriebs und des Lesebetriebs bestimmen. Im Patrouillen-Trainingsbetrieb kann die Prozesssteuerschaltung 210 die Verzögerungsbeträge der Verzögerungszellen 251 (siehe 9) einstellen, die mit den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 gekoppelt sind. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 210 die ersten bis zwanzigsten Verzögerungscodesignale DCD1 <1 :L> bis DCD20<1 :L> einstellen, um die jeweiligen Verzögerungsbeträge der Verzögerungszellen 251 (siehe 9) einzustellen, die in den ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 enthalten sind. Die Tilde „-“ steht hier für einen Bereich von Komponenten. Zum Beispiel bezeichnet „DCD1 < 1 :L>~DCD20<1 :L>“, wie in 2 gezeigt, die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L>. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 210 die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> abwärts zählen oder aufwärts zählen, um die Verzögerungsbeträge der Verzögerungszellen 251 (siehe 9), die in den ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 enthalten sind, einzustellen bzw. anzupassen, und kann dann die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> festlegen. Während des Patrouillen-Trainingsbetriebs, wenn die ersten bis zwanzigsten Verzögerungscodesignale DCD1 <1 :L> bis DCD20<1 :L> heruntergezählt werden, kann die Prozesssteuerschaltung 210 die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> einmal herunterzählen, nachdem zweimal der Lesemodifizierungs-Schreibbetrieb auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> durchgeführt wurde. Dies dient dazu, während des Lesemodifizierungs-Schreibbetriebs einen Fall zu unterscheiden, in dem ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 auftritt, und einen Fall, in dem ein Fehler in der Signalübertragungsschaltung 250 auftritt. Zum Beispiel kann die Prozesssteuerschaltung 210 in dem Fall, in dem ein Fehler in den ersten Daten DA1 aufgetreten ist, da es sich nicht um einen Fall handelt, in dem ein Fehler in der Signalübertragungsschaltung 250 auftritt, das erste Verzögerungscodesignal DCD1 <1 :L> beibehalten, kann dann den Lesemodifizierungs-Schreibbetrieb erneut durchführen, und wenn kein Fehler auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> vorliegt, kann sie das erste Verzögerungscodesignal DCD1<1 :L> einmal abwärts zählen. Während des Patrouillen-Trainingsbetriebs, wenn die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> aufwärts gezählt werden, kann die Prozesssteuerschaltung 210 einmal die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> aufwärts zählen, nachdem zweimal der Lesemodifizierungs-Schreibbetrieb auf der Basis des Fehlerinformationssignals FA_IF<1 :M> durchgeführt wurde. Dies dient dazu, während des Lesemodifizierungs-Schreibbetriebs einen Fall zu unterscheiden, in dem ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 auftritt, und einen Fall, in dem ein Fehler in der Signalübertragungsschaltung 250 auftritt. Zum Beispiel kann die Prozesssteuerschaltung 210 in dem Fall, in dem ein Fehler in den ersten Daten DA1 aufgetreten ist, da es sich nicht um einen Fall handelt, in dem ein Fehler in der Signalübertragungsschaltung 250 auftritt, das erste Verzögerungscodesignal DCD1<1:L> beibehalten, kann dann die Lese-Modifizierungs-Schreiboperation erneut durchführen, und wenn kein Fehler auf der Grundlage des Fehlerinformationssignals FA_IF<1:M> vorliegt, kann sie das erste Verzögerungscodesignal DCD1<1:L> einmal hochgezählt werden. Die Prozesssteuerschaltung 210 kann als Zentralverarbeitungseinheit (CPU) implementiert werden, die in einem Halbleitersystem verwendet wird.
  • Die Betriebssteuerschaltung 220 kann ein Schreibsignal WT erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 220 kann eine interne Adresse IADD aus der Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 220 kann ein Lesesignal RD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 220 kann die interne Adresse IADD aus der Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Normalbetriebs ist und der Patrouillen-Trainingsbetrieb durchgeführt wird, kann die Betriebssteuerschaltung 220 aus dem Befehl CMD ein Trainings-Lesesignal TRD und ein Trainings-Schreibsignal TWT erzeugen, die sequentiell erzeugt werden. Die Betriebssteuerschaltung 220 kann die Trainingsadresse TADD erzeugen, indem sie die Scrub-Adresse SADD von der Scrub-Steuerschaltung 230 empfängt. Die Betriebssteuerschaltung 220 kann das Schreibsignal WT, das Lesesignal RD, die interne Adresse IADD, das Trainings-Lesesignal TRD, das Trainings-Schreibsignal TWT und die Trainingsadresse TADD an die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 ausgeben.
  • Die Scrub-Steuerschaltung 230 kann die Adresse ADD speichern und die Scrub-Adresse SADD aus der gespeicherten Adresse ADD erzeugen. Wenn der Patrouillen-Trainingsbetrieb während des Normalbetriebs durchgeführt wird, kann die Scrub-Steuerschaltung 230 die Adresse ADD speichern und die Scrub-Adresse SADD aus der gespeicherten Adresse ADD erzeugen. Wenn der Patrouillen-Trainingsbetrieb während des normalen Betriebs durchgeführt wird, kann die Scrub-Steuerschaltung 230 sequentiell eine voreingestellte Anzahl von Adressen ADD speichern und kann sequentiell Scrub-Adressen SADD aus den sequentiell gespeicherten Adressen ADD erzeugen. Zum Beispiel kann die Scrub-Steuerschaltung 230 sequentiell Adressen ADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 speichern und dann sequentiell Scrub-Adressen SADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 erzeugen. Beim Lesemodifizierungs-Schreibbetrieb kann die Scrub-Steuerschaltung 230 die Scrub-Adresse SADD mit der gleichen Logikpegelkombination für den Lesebetrieb und den Schreibbetrieb ausgeben. Beim Patrouillen-Training während des normalen Betriebs kann die Scrub-Steuerschaltung 230 das Scrub-Steuersignal SC_CTR erzeugen, wenn die Anzahl der gespeicherten Adressen ADD einen voreingestellten Wert erreicht. Wenn der voreingestellte Wert beispielsweise so implementiert ist, dass vier Adressen ADD gespeichert werden, kann die Scrub-Steuerschaltung 230 das Scrub-Steuersignal SC_CTR erzeugen, wenn die Adressen ADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 gespeichert sind.
  • Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> aus den Schreibdaten WDA erzeugen. Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> erkennen, die von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen wurden. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 240 die Lesedaten RDA erzeugen, indem sie einen in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> enthaltenen Fehler korrigiert. Bei der Leseoperation des Normalbetriebs kann die Fehlererkennungsschaltung 240 die Lesedaten RDA an den Host 10 ausgeben. Bei dem Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 240 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen und einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> erkennen. Im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 240 die fehlerbereinigten ersten bis zwanzigsten Übertragungsdaten TD<1:20> als die ersten bis zwanzigsten Daten DA1 bis DA20 ausgeben. Im Lesebetrieb des Normalbetriebs und im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 240 das Fehlerinformationssignal FA_IF<1 :M> erzeugen, je nachdem, ob ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> aufgetreten ist. Die Bits des Fehlerinformationssignals FA_IF<1 :M> können auf logisch hohen Pegeln erzeugt werden, wenn kein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1 :20> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1:M> können auf logisch niedrigen Pegeln erzeugt werden, wenn ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt.
  • Die Signalübertragungsschaltung 250 kann die erste bis zwanzigste Eingangs-/Ausgangsschaltung I/O1 bis I/O20 umfassen.
  • Die erste Eingangs-/Ausgangsschaltung I/O1 kann das erste Strobe-Signal DQS1 um einen Verzögerungsbetrag verzögern, der entsprechend dem ersten Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Im Patrouillen-Trainingsbetrieb während des Lesebetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 das erste Strobe-Signal DQS1 um einen Verzögerungsbetrag verzögern, der entsprechend dem ersten Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Bei dem Patrouillen-Trainingsbetrieb während des Lesebetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Übertragungsdaten TD1 durch Abtasten der ersten Daten DA1 in Synchronisation mit dem verzögerten ersten Strobe-Signal DQS1 erzeugen. Im Patrouillen-Trainingsbetrieb während des Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 das erste Strobe-Signal DQS1 um einen Verzögerungsbetrag verzögern, der entsprechend dem ersten Verzögerungscodesignal DCD1< 1:L> eingestellt wird. Während des Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD1 in Synchronisation mit dem verzögerten ersten Strobe-Signal DQS1 erzeugen. Bei der Patrouillen-Trainingsoperation während des Lesemodifizierungs-Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 das erste Strobe-Signal DQS1 um einen Verzögerungsbetrag verzögern, der gemäß dem ersten Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Bei der Patrouillen-Trainingsoperation während des Lesemodifizierungs-Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Übertragungsdaten TD1 durch Abtasten der ersten Daten DA1 in Synchronisation mit dem verzögerten ersten Strobe-Signal DQS1 erzeugen. Im Patrouillen-Trainingsbetrieb während des Lesemodifizierungs-Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Daten TD1 durch Abtasten der ersten Übertragungsdaten TD1 in Synchronisation mit dem verzögerten ersten Strobe-Signal DQS1 erzeugen. Da die zweite bis zwanzigste Eingangs-/Ausgangsschaltung I/O2 bis I/O20 die gleichen Operationen d. h. Betriebsvorgänge wie die erste Eingangs-/Ausgangsschaltung I/O1 ausführen, mit der Ausnahme, dass die Eingangs-/Ausgangssignale unterschiedlich sind, wird hier auf eine detaillierte Beschreibung verzichtet. Die ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 sind implementiert, um die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 um Verzögerungsbeträge zu verzögern, die gemäß den ersten bis zwanzigsten Verzögerungscodesignalen DCD1<1:L> bis DCD20<1:L> eingestellt werden. Gemäß einer Ausführungsform können die ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 jedoch so implementiert werden, dass sie die ersten bis zwanzigsten Daten DA1 bis DA20 um Verzögerungsbeträge verzögern, die entsprechend den ersten bis zwanzigsten Verzögerungscodesignalen DCD1<1 :L> bis DCD20<1 :L> eingestellt werden.
  • Im Schreibbetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Daten DA1 bis DA20, die aus den ersten bis zwanzigsten Übertragungsdaten TD<1:20> erzeugt werden, an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Bei dem Schreibbetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 um eingestellte Verzögerungsbeträge verzögern. Im Schreibbetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Daten DA1 bis DA20 durch Abtasten der ersten bis zwanzigsten Übertragungsdaten TD<1:20> in Synchronisation mit den verzögerten ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen. Im Lesebetrieb des Normalbetriebs oder im Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Übertragungsdaten TD<1 :20>, die aus den ersten bis zwanzigsten Daten DA1 bis DA20 erzeugt wurden, an die Fehlererkennungsschaltung 240 ausgeben. Bei dem Lesebetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 um eingestellte Verzögerungsbeträge verzögern. Im Lesebetrieb des normalen Betriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 250 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> durch Abtasten der ersten bis zwanzigsten Daten DA1 bis DA20 in Synchronisation mit den verzögerten ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen.
  • Der Controller 20 umfasst die Prozesssteuerschaltung 210, die Betriebssteuerschaltung 220, die Scrub-Steuerschaltung 230, die Fehlererkennungsschaltung 240 und die Signalübertragungsschaltung 250. Gemäß einer Ausführungsform kann der Host 10 jedoch so implementiert sein, dass er die Prozesssteuerschaltung 210, die Betriebssteuerschaltung 220, die Scrub-Steuerschaltung 230, die Fehlererkennungsschaltung 240 und die Signalübertragungsschaltung 250 umfasst.
  • 3 ist ein Blockdiagramm, das eine Ausführungsform der Prozesssteuerschaltung 210 zeigt. Wie in 3 dargestellt, kann die Prozesssteuerschaltung 210 eine Fehleranalyseschaltung 211, eine Trainingssteuersignal-Erzeugungsschaltung 212 und eine Code-Erzeugungsschaltung 213 umfassen.
  • Die Fehleranalyseschaltung 211 kann auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> analysieren, ob ein Fehler in der Trainingsadresse TADD aufgetreten ist, wenn das Scrub-Steuersignal SC_CTR eingegeben wird. Wenn das Fehlerinformationssignal FA_IF<1 :M> erzeugt wird, kann die Fehleranalyseschaltung 211 einen Fall erkennen, in dem ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> aufgetreten ist, die durch die Trainingsadresse TADD erzeugt werden. Wenn das Fehlerinformationssignal FA_IF<1 :M> nicht erzeugt wird, kann die Fehleranalyseschaltung 211 feststellen, dass in den ersten bis zwanzigsten Übertragungsdaten TD<1:20>, die durch die Trainingsadresse TADD erzeugt werden, kein Fehler aufgetreten ist. Die Fehleranalyseschaltung 211 kann ein Fehleranalyse-Ergebnissignal FA_RLT erzeugen, das in dem Fall aktiviert wird, in dem das Fehlerinformationssignal FA_IF<1 :M> erzeugt wird, wenn das Scrub-Steuersignal SC_CTR eingegeben wird. Die Fehleranalyseschaltung 211 kann das Fehleranalyse-Ergebnissignal FA_RLT erzeugen, das in dem Fall deaktiviert ist, in dem das Fehlerinformationssignal FA_IF<1 :M> nicht erzeugt wird, wenn das Scrub-Steuersignal SC_CTR eingegeben wird. Die Fehleranalyseschaltung 211 kann auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> analysieren, ob ein Fehler in der Trainingsadresse TADD aufgetreten ist, wenn ein Leseverzögerungssignal RD_DLY eingegeben wird. Die Fehleranalyseschaltung 211 kann das Fehleranalyse-Ergebnissignal FA_RLT erzeugen, das in dem Fall aktiviert wird, in dem das Fehlerinformationssignal FA_IF<1 :M> erzeugt wird, wenn das Leseverzögerungssignal RD_DLY eingegeben wird. Die Fehleranalyseschaltung 211 kann das Fehleranalyse-Ergebnissignal FA_RLT erzeugen, das in dem Fall deaktiviert ist, in dem das Fehlerinformationssignal FA_IF<1 :M> nicht erzeugt wird, wenn das Leseverzögerungssignal RD_DLY eingegeben wird. Das Leseverzögerungssignal RD_DLY ist ein Signal, das erhalten wird, wenn das Lesesignal RD für den Lesebetrieb verzögert wird. Ein Verzögerungsbetrag, um den das Leseverzögerungssignal RD_DLY verzögert wird, kann von einem Zeitpunkt, an dem das Lesesignal RD erzeugt wird, bis zu einem Zeitpunkt, an dem der Lesebetrieb abgeschlossen ist, eingestellt werden.
  • Die Trainingssteuersignal-Erzeugungsschaltung 212 kann ein Trainingsstartsignal TRA_STT zur Durchführung des Patrouillen-Trainings erzeugen. Die Trainingssteuerungssignal-Erzeugungsschaltung 212 kann das Fehleranalyse-Ergebnissignal FA_RLT empfangen und dadurch ein Abwärts-Steuersignal DW_CTR und ein Aufwärts-Steuersignal UP_CTR erzeugen. Die Trainingssteuersignal-Erzeugungsschaltung 212 kann das Abwärtssteuersignal DW_CTR und das Aufwärtssteuersignal UP_CTR erzeugen, wenn das Fehleranalyse-Ergebnissignal FA_RLT aktiviert ist. Wenn das Fehleranalyse-Ergebnissignal FA_RLT aktiviert ist, kann die Trainingssteuersignal-Erzeugungsschaltung 212 das Abwärts-Steuersignal DW_CTR erzeugen und dann das Aufwärts-Steuersignal UP_CTR erzeugen. Gemäß einer Ausführungsform kann die Trainingssteuersignal-Erzeugungsschaltung 212 so implementiert sein, dass sie, wenn das Fehleranalyse-Ergebnissignal FA_RLT aktiviert ist, das Aufwärts-Steuersignal UP_CTR und dann das Abwärts-Steuersignal DW_CTR erzeugt. Die Trainingssteuersignal-Erzeugungsschaltung 212 kann ein Code-Ausgangssteuersignal CO_CTR erzeugen, wenn das Fehleranalyse-Ergebnissignal FA_RLT deaktiviert ist.
  • Die Code-Erzeugungsschaltung 213 kann die ersten bis zwanzigsten Verzögerungscodesignale DCD1< 1 :L> bis DCD20<1 :L> erzeugen, die Anfangswerte aufweisen, wenn ein Initialisierungssignal INIT eingegeben wird. Die ersten bis zwanzigsten Verzögerungscodesignale DCD1 < 1 :L> bis DCD20<1 :L>, die die Anfangswerte aufweisen, können Logikpegelkombinationen zum Einstellen der Verzögerungsbeträge der ersten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 auf mittlere Werte haben. Die Code-Erzeugungsschaltung 213 kann das erste Verzögerungscodesignal DCD1<1:L> sequentiell abwärts zählen, wenn das Abwärts-Steuersignal DW_CTR eingegeben wird. Die Code-Erzeugungsschaltung 213 kann das erste Verzögerungscodesignal DCD1< 1:L> sequentiell aufwärts zählen, wenn das Aufwärts-Steuersignal UP_CTR eingegeben wird. Wenn das Code-Ausgangssteuersignal CO_CTR eingegeben wird, kann die Code-Erzeugungsschaltung 213 das erste Verzögerungscodesignal DCD1<1:L> auf einen Mittelwert zwischen einem Minimalwert, auf den das erste Verzögerungscodesignal DCD1<1:L> heruntergezählt wird, und einem Maximalwert, auf den das erste Verzögerungscodesignal DCD1<1:L> hochgezählt wird, festlegen. Nach dem Festlegen des ersten Verzögerungscodesignals DCD1<1:L> kann die Code-Erzeugungsschaltung 213 ein Abwärtszählen und Aufwärtszählen der zweiten bis zwanzigsten Verzögerungscodesignale DCD2<1:L> bis DCD20<1:L> durchführen und die zweiten bis zwanzigsten Verzögerungscodesignale DCD2<1:L> bis DCD20<1:L> festlegen.
  • Die Code-Erzeugungsschaltung 213 kann die ersten bis zwanzigsten Verzögerungscodesignale DCD1< 1:L> bis DCD20<1:L>, die die Anfangswerte aufweisen, in einem Betrieb der Durchführung eines Initialisierungsbetriebs und eines Boot-Up-Betriebs erzeugen, in dem das Halbleitersystem 1 zu arbeiten beginnt. Die Anfangswerte der ersten bis zwanzigsten Verzögerungscodesignale DCD1<1:L> bis DCD20<1:L> können durch eine Sicherungsschaltung (auch als Fuse-Schaltung bezeichnet) im Boot-Up-Betrieb des Halbleitersystems 1 erzeugt werden. Wenn zum Beispiel das erste Verzögerungscodesignal DCD1<1:4> mit 4 Bits erzeugt wird, kann der Anfangswert des ersten Verzögerungscodesignals DCD1 <1:4> auf eine Kombination (L, H, H, H) als Mittelwert zwischen einer Kombination (L, L, L, L), bei der alle Bits des ersten Verzögerungscodesignals DCD1<1:4> logische Low-Pegel sind, und einer Kombination (H, H, H, H), bei der alle Bits des ersten Verzögerungscodesignals DCD1 <1:4> logische High-Pegel sind, gesetzt werden. Die Kombination (L, L, L, L) des ersten Verzögerungscodesignals DCD1<1:4> bedeutet, dass ein erstes Bit DCD1 <1 > des ersten Verzögerungscodesignals DCD1 <1:4> ein logischer Low-Pegel (d. h. ein logischer niedriger Pegel) L ist, ein zweites Bit DCD1 <2> des ersten Verzögerungscodesignals DCD1 <1:4> ist ein logischer Low-Pegel L ist, ein drittes Bit DCD1 <3> des ersten Verzögerungscodesignals DCD1 <1:4> ein logischer Low-Pegel L ist, und ein viertes Bit DCD1 <4> des ersten Codesignals DCD1 <1:4> ein logischer niedriger Pegel L ist. Die Kombination (H, H, H, H) des ersten Verzögerungscodesignals DCD1 <1:4> bedeutet, dass das erste Bit DCD1 <1 > des ersten Verzögerungscodesignals DCD1 <1:4> ein logischer High-Pegel (d. h. logischer hoher Pegel) H ist, das zweite Bit DCD1 <2> des ersten Verzögerungscodesignals DCD1 <1:4> ein logisch hoher Pegel H ist, das dritte Bit DCD1 <3> des ersten Verzögerungscodesignals DCD1 <1:4> ein logisch hoher Pegel H ist, und das vierte Bit DCD1 <4> des ersten Codesignals DCD1 <1:4> ein logisch hoher Pegel H ist. Die Kombination (L, H, H, H) des ersten Verzögerungscodesignals DCD1 <1:4> bedeutet, dass das erste Bit DCD1 <1> des ersten Verzögerungscodesignals DCD1 <1:4> ein logischer High-Pegel H ist, das zweite Bit DCD1 <2> des ersten Verzögerungscodesignals DCD1 <1:4> logisch hoher Pegel H ist, das dritte Bit DCD1 <3> des ersten Verzögerungscodesignals DCD1 <1:4> ein logisch hoher Pegel H ist, und das vierte Bit DCD1 <4> des ersten Codesignals DCD1 <1:4> ein logisch niedriger Pegel L ist.
  • 4 ist ein Blockdiagramm, das eine Ausführungsform der Betriebssteuerschaltung 220 zeigt. Wie in 4 dargestellt, kann die Betriebssteuerschaltung 220 eine Trainings-Steuerschaltung 221 und eine Lese-/Schreib-Steuerschaltung 222 umfassen.
  • Beim Patrouillen-Training während des Normalbetriebs kann die Trainings-Steuerschaltung 221 das Trainings-Lesesignal TRD und das Trainings-Schreibsignal TWT zur Durchführung des Lesemodifizierungs-Schreibbetriebs erzeugen. Wenn der Befehl CMD eine Logikpegelkombination für die Durchführung des Normalbetriebs aufweist und das Scrub-Steuersignal SC_CTR eingegeben wird, kann die Trainings-Steuerungsschaltung 221 das Trainings-Lesesignal TRD und das Trainings-Schreibsignal TWT erzeugen, die sequentiell erzeugt werden, um den Lesemodifizierungs-Schreibbetrieb durchzuführen. Wenn das Scrub-Steuersignal SC_CTR eingegeben wird, kann die Trainings-Steuerungsschaltung 221 die Trainingsadresse TADD erzeugen, indem sie die Scrub-Adresse SADD empfängt. Wenn das Scrub-Steuersignal SC_CTR eingegeben wird, kann die Trainings-Steuerschaltung 221 die Scrub-Adresse SADD als die Trainingsadresse TADD ausgeben. Die Trainings-Steuerschaltung 221 kann das Trainings-Lesesignal TRD, das Trainings-Schreibsignal TWT und die Trainingsadresse TADD an die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 ausgeben.
  • Die Lese-/Schreib-Steuerschaltung 222 kann das Schreibsignal WT und die interne Adresse IADD erzeugen, um den Schreibbetrieb im Normalbetrieb durchzuführen. Die Lese-/Schreib-Steuerschaltung 222 kann das Lesesignal RD und die interne Adresse IADD zur Durchführung des Lesebetriebs im Normalbetrieb erzeugen. Wenn der Befehl CMD eine Logikpegelkombination zur Durchführung des Schreibbetriebs während des Normalbetriebs ist, kann die Lese-/Schreib-Steuerschaltung 222 das Schreibsignal WT erzeugen. Wenn der Befehl CMD die Logikpegelkombination für die Durchführung des Schreibbetriebs während des Normalbetriebs ist, kann die Lese-/Schreib-Steuerschaltung 222 die interne Adresse IADD aus der Adresse ADD erzeugen. Wenn der Befehl CMD eine Logikpegelkombination für die Durchführung des Lesebetriebs während des Normalbetriebs ist, kann die Lese-/Schreib-Steuerschaltung 222 das Lesesignal RD erzeugen. Wenn der Befehl CMD die Logikpegelkombination für die Durchführung des Lesebetriebs während des Normalbetriebs ist, kann die Lese-Schreib-Steuerschaltung 222 die interne Adresse IADD aus der Adresse ADD erzeugen. Die Lese-/Schreib-Steuerschaltung 222 kann das Schreibsignal WT, das Lesesignal RD und die interne Adresse IADD an die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 ausgeben.
  • 5 ist ein Blockdiagramm, das eine Ausführungsform der Scrub-Steuerschaltung 230 zeigt. Wie in 5 dargestellt, kann die Scrub-Steuerschaltung 230 eine Scrub-Steuersignal-Erzeugungsschaltung 231 und eine Scrub-Adressen-Erzeugungsschaltung 232 umfassen.
  • Die Scrub-Steuersignal-Erzeugungsschaltung 231 kann das Scrub-Steuersignal SC_CTR erzeugen, das erzeugt wird, wenn ein Adressenspeicher-Abschlusssignal ADC während des normalen Betriebs eingegeben wird. Die Scrub-Steuersignal-Erzeugungsschaltung 231 kann das Initialisierungssignal INIT erzeugen, das erzeugt wird, wenn das Adressenspeicher-Abschlusssignal ADC eingegeben wird.
  • Die Scrub-Adressen-Erzeugungsschaltung 232 kann durch eine Vielzahl von (nicht dargestellten) Latch-Schaltungen (auch als Halteschaltungen bezeichnet) implementiert werden. Die Scrub-Adressen-Erzeugungsschaltung 232 kann die Adresse ADD speichern, wenn das Trainings-Startsignal TRA_STT eingegeben wird. Während des normalen Betriebs kann die Scrub-Adressen-Erzeugungsschaltung 232 das Adressenspeicher-Abschlusssignal ADC erzeugen, wenn die Anzahl der Adressen ADD mit verschiedenen Logikpegelkombinationen einen voreingestellten Wert erreicht. Die Scrub-Adressen-Erzeugungsschaltung 232 kann die gespeicherten Adressen ADD als Scrub-Adresse SADD ausgeben. Die in der Scrub-Adressen-Erzeugungsschaltung 232 gespeicherten Adressen ADD mit verschiedenen Logikpegelkombinationen können als Adressen ADD zur Auswahl von Zielspeicherschaltungen für die Durchführung des Lesemodifizierungs-Schreibbetriebs unter den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 eingestellt werden. Beispielsweise kann die Scrub-Adressen-Erzeugungsschaltung 232 vier Adressen ADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 speichern. Die Scrub-Adressen-Erzeugungsschaltung 232 kann das Adressenspeicher-Abschlusssignal ADC erzeugen, wenn die Speicherung der vier Adressen ADD abgeschlossen ist. Beim Lesemodifizierungs-Schreibbetrieb kann die Scrub-Adressen-Erzeugungsschaltung 232 die Scrub-Adresse SADD aus der gespeicherten Adresse ADD erzeugen. Zum Beispiel kann die Scrub-Adressen-Erzeugungsschaltung 232 beim Lesemodifizierungs-Schreibbetrieb die Adresse ADD zur Auswahl der ersten Speicherschaltung DRAM1 speichern und die gespeicherte Adresse ADD als Scrub-Adresse SADD ausgeben. Bei dem Lesemodifizierungs-Schreibbetrieb kann die Scrub-Adressen-Erzeugungsschaltung 232 nach Ausgabe der Adresse ADD zur Auswahl der ersten Speicherschaltung DRAM1 als Scrub-Adresse SADD nacheinander die Adressen ADD zur Auswahl der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 als Scrub-Adressen SADD ausgeben. Beim Lesemodifizierungs-Schreibbetrieb kann die Scrub-Adressen-Erzeugungsschaltung 232 die Scrub-Adressen SADD mit der gleichen Logikpegelkombination ausgeben, um den Lesebetrieb und den Schreibbetrieb für dieselbe Speicherschaltung durchzuführen.
  • 6 ist ein Blockdiagramm, das eine Ausführungsform der Fehlererkennungsschaltung 240 zeigt. Wie in 6 dargestellt, kann die Fehlererkennungsschaltung 240 eine Paritätserzeugungsschaltung 241, eine Syndromerzeugungsschaltung 242, eine Korrekturdatenerzeugungsschaltung 243, eine Datenausgabeschaltung 244 und eine Fehlerinformationssignalerzeugungsschaltung 245 umfassen.
  • Bei dem Schreibbetrieb während des normalen Betriebs kann die Paritätserzeugungsschaltung 241 eine Parität PRT erzeugen, indem sie eine ECC-Codierungsoperation an den Schreibdaten WDA durchführt. Während des Schreibbetriebs im Normalbetrieb kann die Paritätserzeugungsschaltung 241 die Parität PRT erzeugen, die Informationen über einen in den Schreibdaten WDA enthaltenen Fehler enthält, indem sie die ECC-Codierungsoperation an den Schreibdaten WDA durchführt. Während die Parität PRT als ein Signal veranschaulicht wird, ist zu beachten, dass gemäß einer Ausführungsform die Parität PRT als ein Signal mit einer Vielzahl von Bits eingestellt werden kann.
  • Bei der Leseoperation und der Lese-Modifizierungs-Schreiboperation während des normalen Betriebs kann die Syndromerzeugungsschaltung 242 ein Syndrom SYN erzeugen, indem sie eine ECC-Decodierungsoperation an einer Parität durchführt, die in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> enthalten ist. Während das Syndrom SYN als ein Signal veranschaulicht wird, ist zu beachten, dass gemäß einer Ausführungsform das Syndrom SYN als ein Signal mit einer Vielzahl von Bits gesetzt werden kann.
  • Bei der Leseoperation und dem Lesemodifizierungs-Schreibbetrieb während des normalen Betriebs kann die Korrekturdaten-Erzeugungsschaltung 243 Korrekturdaten CD erzeugen, indem sie einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> korrigiert, indem sie eine ECC-Decodierungsoperation auf der Grundlage des Syndroms SYN durchführt.
  • Die ECC-Codierungsoperation umfasst eine Operation d. h. einen Betrieb zur Erzeugung einer Parität durch Vergleich von Daten, die eine Vielzahl von Bits enthalten, in einer allgemeinen Fehlerkorrekturschaltung (ECC). Die ECC-Decodierungsoperation umfasst eine Operation der Erzeugung eines Syndroms durch Vergleich einer zuvor erzeugten Parität und der Parität,
    die durch Vergleich der Daten einschließlich der Vielzahl von Bits erzeugt wird, Identifizierung eines Ortes eines Fehlers der Daten durch Verwendung des erzeugten Syndroms und eine Korrektur des Fehlers mit einem Ort, der identifiziert wurde, in der allgemeinen Fehlerkorrekturschaltung (ECC).
  • Im Schreibbetrieb während des normalen Betriebs kann die Datenausgabeschaltung 244 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> ausgeben, indem sie die Schreibdaten WDA und die aus den Schreibdaten WDA erzeugte Parität PRT synthetisiert. Bei dem Lesebetrieb während des normalen Betriebs kann die Datenausgangsschaltung 244 die Korrekturdaten CD, die erhalten werden, wenn der Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> korrigiert wird, als die Lesedaten RDA ausgeben. Bei dem Lesemodifizierungs-Schreibbetrieb während des normalen Betriebs kann die Datenausgangsschaltung 244 die Korrekturdaten CD, die erhalten werden, wenn der Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> korrigiert wird, erneut als die ersten bis zwanzigsten Übertragungsdaten TD<1:20> ausgeben. Der Betrieb des Erzeugens der ersten bis zwanzigsten Übertragungsdaten TD<1:20> durch die Datenausgabeschaltung 244 im Schreibbetrieb während des Normalbetriebs wird nachstehend unter Bezugnahme auf 7 beschrieben.
  • Bei der Leseoperation und dem Lesemodifizierungs-Schreibbetrieb während des normalen Betriebs kann die Fehlerinformationssignal-Erzeugungsschaltung 245 das Fehlerinformationssignal FA_IF<1 :M> auf der Grundlage des Syndroms SYN erzeugen. Bei dem Lesebetrieb und dem Lesemodifizierungs-Schreibbetrieb während des normalen Betriebs, wenn kein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> vorliegt, kann die Fehlerinformationssignal-Erzeugungsschaltung 245 sequentiell ein Signal mit einem logischen Hochpegel als das Fehlerinformationssignal FA_IF<1:M> speichern. Im Lesebetrieb und im Lesemodifizierungs-Schreibbetrieb während des normalen Betriebs, wenn ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt, kann die Fehlerinformationssignal-Erzeugungsschaltung 245 sequentiell ein Signal mit einem logischen Low-Pegel als das Fehlerinformationssignal FA_IF<1:M> speichern. Der Betrieb der Erzeugung des Fehlerinformationssignals FA_IF<1 :M> in der Fehlerinformationssignal-Erzeugungsschaltung 245 wird nachstehend unter Bezugnahme auf 8 beschrieben.
  • 7 ist ein Diagramm zur Erläuterung der Dateneingabe und -ausgabe durch eine Signalübertragungsschaltung gemäß der Ausführungsform der vorliegenden Offenbarung.
  • Die Schreibdaten WDA können vom Host 10 eingegeben werden und 512 Bits umfassen.
  • Die Fehlererkennungsschaltung 240 des Controllers 20 erzeugt Daten von 574 Bits, einschließlich Daten von 512 Bits der Schreibdaten WDA und 62 Bits mit einem zuvor zugesagten Wert von „0“, und definiert 82 Symbole durch Division von 574 Bits durch 7 Bits. Die Fehlererkennungsschaltung 240 erzeugt eine Parität von 119 Bits durch Berechnung eines Polynoms X(n), das unter Verwendung von 82 Symbolen und eines Read-Solomon-Code-Algorithmus erzeugt wird, und erzeugt Dummy-Bits von 9 Bits. Das heißt, die Fehlererkennungsschaltung 240 erzeugt eine Parität von 128 Bits. Die Fehlererkennungsschaltung 240 erzeugt die ersten bis zwanzigsten Übertragungsdaten TD<1:20> von 640 Bits durch Synthetisieren der Parität von 128 Bits und der Schreibdaten WDA. Die Anzahl der Bits der Schreibdaten WDA und der ersten bis zwanzigsten Übertragungsdaten TD<1:20> kann je nach Ausführungsform auf verschiedene Werte eingestellt werden.
  • 8 ist ein Diagramm zur Erläuterung eines Betriebs zur Erzeugung eines ersten Verzögerungscodesignals in Übereinstimmung mit der Ausführungsform der vorliegenden Offenbarung.
  • In einer Periode PASS, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist, wird das erste Verzögerungscodesignal DCD1 <1 :L> als eine Logikpegelkombination eines Zeitpunkts erzeugt, wenn 11 Bits als ein Mittelwert zwischen einem sechsten Bit als einem Minimalwert, der erhalten wird, wenn das erste Verzögerungscodesignal DCD1<1 :L> abwärts gezählt wird, und einem sechzehnten Bit als Maximalwert, der erhalten wird, wenn das erste Verzögerungscodesignal DCD1<1 :L> aufwärts gezählt wird, erzeugt werden. Das erste Verzögerungscodesignal DCD1<1:L> wird als Logikpegelkombination mit dem Mittelwert der Periode PASS erzeugt, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist. Zu diesem Zeitpunkt wird das erste Verzögerungscodesignal DCD1< 1:L> auf einen optimalen Wert gesetzt.
  • 9 ist ein Blockdiagramm, das eine Ausführungsform der ersten Eingangs-/Ausgangsschaltung I/O1 zeigt. Wie in 9 dargestellt, kann die erste Eingangs-/Ausgangsschaltung I/O1 die Verzögerungszelle 251 und eine Datenabtastschaltung 252 enthalten.
  • Ein Verzögerungsbetrag der Verzögerungszelle 251 kann in Abhängigkeit von einer Logikpegelkombination des ersten Verzögerungscodesignals DCD1< 1:L> eingestellt werden. Die Verzögerungszelle 251 kann ein erstes Abtastsignal DSP1 erzeugen, indem sie das erste Strobe-Signal DQS1 um einen durch das erste Verzögerungscodesignal DCD1< 1:L> eingestellten Verzögerungsbetrag verzögert. Ein Verzögerungsbetrag der Verzögerungszelle 251 kann jedes Mal, wenn das erste Verzögerungscodesignal DCD1< 1:L> heruntergezählt wird, sequentiell verringert werden. Ein Verzögerungsbetrag der Verzögerungszelle 251 kann sequentiell jedes Mal erhöht werden, wenn das erste Verzögerungscodesignal DCD1< 1 :L> aufwärts gezählt wird.
  • Im Schreibbetrieb des Normalbetriebs und des Lesemodifizierungs-Schreibbetriebs kann die Datenabtastschaltung 252 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD<1> in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen. Bei dem Schreibbetrieb des Normalbetriebs und dem Lesemodifizierungs-Schreibbetrieb kann die Datenabtastschaltung 252 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD<1>, die von der Fehlererkennungsschaltung 240 eingegeben werden, synchron mit dem ersten Abtastsignal DSP1 erzeugen. Bei der Schreiboperation des Normalbetriebs und dem Lesemodifizierungs-Schreibbetrieb kann die Datenabtastschaltung 252 die ersten Daten DA1 an die erste Speicherschaltung DRAM1 ausgeben.
  • Im Lesebetrieb des Normalbetriebs und im Lesemodifizierungs-Schreibbetrieb kann die Datenabtastschaltung 252 die ersten Übertragungsdaten TD<1> durch Abtasten der ersten Daten DA1 in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen. Bei dem Lesebetrieb des Normalbetriebs und dem Lesemodifizierungs-Schreibbetrieb kann die Datenabtastschaltung 252 die ersten Übertragungsdaten TD<1> durch Abtasten der ersten Daten DA1, die von der ersten Speicherschaltung DRAM1 eingegeben werden, synchron mit dem ersten Abtastsignal DSP1 erzeugen. Im Lesebetrieb des Normalbetriebs und im Lesemodifizierungs-Schreibbetrieb kann die Datenabtastschaltung 252 die ersten Übertragungsdaten TD<1> an die Fehlererkennungsschaltung 240 ausgeben.
  • Da die in 2 dargestellten zweiten bis zwanzigsten Eingangs-/Ausgangsschaltungen I/O2 bis I/O20 durch dieselben Schaltungen implementiert sind und dieselben Operationen ausführen wie die in 9 dargestellte erste Eingangs-/Ausgangsschaltung I/O1, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Der Patrouillen-Trainingsbetrieb gemäß der Ausführungsform wird nachstehend unter Bezugnahme auf 10 beschrieben, wobei als Beispiel der Lesebetrieb für die erste Speicherschaltung DRAM1 während des Normalbetriebs dient.
  • Vor der Patrouillen-Trainingsoperation (BEFORE TRAINING bzw. VOR DEM TRAINING) kann durch Beobachtung der Flanke der ersten Daten DA1 und der Flanke des ersten Abtastsignals DSP1, das aus dem ersten Strobe-Signal DQS1 erzeugt wird, festgestellt werden, dass der logische Pegel der ersten Daten DA1 an der Flanke des ersten Abtastsignals DSP1 übergeht. Zu diesem Zeitpunkt tritt ein Fehler in den ersten Übertragungsdaten TD<1> auf, die aus den ersten Daten DA1 erzeugt werden.
  • Während des Patrouillen-Trainingsbetriebs (DURING TRAINING bzw. WÄHREND DES TRAININGS) kann man sehen, dass das erste Abtastsignal DSP1, das aus dem ersten Strobe-Signal DQS1 erzeugt wird, sequentiell schnell erzeugt wird, wenn das erste Verzögerungscodesignal DCD1< 1:L> abwärts gezählt wird, und sequentiell langsam erzeugt wird, wenn das erste Verzögerungscodesignal DCD1 <1:L> aufwärts gezählt wird. Während des Patrouillen-Trainingsbetriebs (DURING TRAINING bzw. WÄHREND DES TRAININGS) wird das erste Abtastsignal DSP1 schneller erzeugt, wenn das erste Verzögerungscodesignal DCD1<1:L> abwärts gezählt wird, als wenn das erste Verzögerungscodesignal DCD1<1 :L> aufwärts gezählt wird. Während des Patrouillen-Trainingsbetriebs (DURING TRAINING bzw. WÄHREND DES TRAININGS) wird das erste Abtastsignal DSP1 langsamer erzeugt, wenn das erste Verzögerungscodesignal DCD1<1 :L> aufwärts gezählt wird, als wenn das erste Verzögerungscodesignal DCD1<1 :L> abwärts gezählt wird.
  • Während des Patrouillen-Trainingsbetriebs (DURING TRAINING) kann die Fehlererkennungsschaltung 240 sequentiell das Fehlerinformationssignal FA_IF<1:M> in Abhängigkeit davon , ob ein Fehler in den ersten Übertragungsdaten TD<1> aufgetreten ist, die aus den ersten Daten DA1 erzeugt werden, in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen, das einen Verzögerungsbetrag aufweist, der sequentiell verringert wird, wenn das erste Verzögerungscodesignal DCD1 <1 :L> heruntergezählt wird. Die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch hohen Pegeln erzeugt, wenn kein Fehler in den ersten Übertragungsdaten TD<1> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch niedrigen Pegeln erzeugt, wenn ein Fehler in den ersten Übertragungsdaten TD<1> auftritt.
  • Während des Patrouillen-Trainingsbetriebs (DURING TRAINING) kann die Fehlererkennungsschaltung 240 sequentiell das Fehlerinformationssignal FA_IF<1 :M> in Abhängigkeit davon, ob ein Fehler in den ersten Übertragungsdaten TD<1 > aufgetreten ist, die aus den ersten Daten DA1 in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugt werden, das einen Verzögerungsbetrag aufweist, der sequentiell erhöht wird, sequenziell erzeugen, wenn das erste Verzögerungscodesignal DCD1<1 :L> aufwärts gezählt wird. Die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch hohen Pegeln erzeugt, wenn kein Fehler in den ersten Übertragungsdaten TD<1> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch niedrigen Pegeln erzeugt, wenn ein Fehler in den ersten Übertragungsdaten TD<1> auftritt.
  • Nach dem Patrouillen-Trainingsbetrieb (AFTER TRAINING bzw. NACH DEM TRAININGSBETRIEB) kann man durch Beobachtung der Flanke der ersten Daten DA1 und der Flanke des ersten Abtastsignals DSP1, das aus dem ersten Strobe-Signal DQS1 erzeugt wird, sehen, dass der logische Pegel der ersten Daten DA1 an der Flanke des ersten Abtastsignals DSP1 gehalten wird. Zu diesem Zeitpunkt tritt kein Fehler in den ersten Übertragungsdaten TD<1> auf, die aus den ersten Daten DA1 erzeugt werden. Wie voranstehend unter Bezugnahme auf 8 beschrieben, wird das erste Verzögerungscodesignal DCD1< 1:L> als eine Logikpegelkombination erzeugt, die den mittleren Wert der Periode PASS aufweist, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist. Zu diesem Zeitpunkt wird das erste Verzögerungscodesignal DCD1< 1:L> auf einen optimalen Wert gesetzt.
  • Wie aus der obigen Beschreibung ersichtlich ist, kann das Halbleitersystem gemäß der Ausführungsform der vorliegenden Offenbarung einen Patrouillen-Trainingsbetrieb zum Einstellen eines Verzögerungsbetrags einer Signalübertragungsschaltung, die einen Controller und eine Speicherschaltung koppelt, während eines Schreibbetriebs und eines Lesebetriebs durchführen. Durch die Durchführung des Patrouillen-Trainingsbetriebs zum Einstellen eines Verzögerungsbetrags der Signalübertragungsschaltung, die den Controller und die Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs koppelt, kann das Halbleitersystem gemäß der Ausführungsform der vorliegenden Offenbarung die Zuverlässigkeit der Dateneingabe und -ausgabe über die Signalübertragungsschaltung sicherstellen.
  • 11 ist ein Blockdiagramm, das einen Controller 20A und die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 in Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Offenbarung zeigt.
  • Der Controller 20A kann eine Prozesssteuerschaltung 210A, eine Betriebssteuerschaltung 220A, eine Fehlererkennungsschaltung 230A und eine Signalübertragungsschaltung 240A umfassen.
  • Während eines Schreibbetriebs und eines Lesebetriebs kann die Prozesssteuerschaltung 210A einen Patrouillen-Trainingsbetrieb festlegen. Bei dem Patrouillen-Trainingsbetreib kann die Prozesssteuerschaltung 210A den Pegel einer Referenzspannung VREF (siehe 12) einstellen, die in den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 verwendet wird. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 210A die ersten bis zwanzigsten Spannungscodesignale VCD1<1 :L> bis VCD20<1:L> einstellen, um den Pegel der Referenzspannung VREF (siehe 12) einzustellen, die in den jeweiligen ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 verwendet wird. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 210A die ersten bis zwanzigsten Spannungscodesignale VCD1<1 :L> bis VCD20<1 :L> abwärts oder aufwärts zählen, um den Pegel der Referenzspannung VREF einzustellen (siehe 12), die in der ersten bis zwanzigsten Speicherschaltung DRAM1 bis DRAM20 verwendet wird, und kann dann die ersten bis zwanzigsten Spannungscodesignale VCD1<1 :L> bis VCD20<1 :L> auf der Grundlage eines Fehlerinformationssignals FA_IF<1 :M> fixieren. Die Prozesssteuerschaltung 210A kann durch eine Schaltung implementiert werden, die der in FG. 2 dargestellten Prozesssteuerschaltung 210 ähnlich ist, mit der Ausnahme, dass die Prozesssteuerschaltung 210A die ersten bis zwanzigsten Spannungscodesignale VCD1<1 :L> bis VCD20<1 :L> anstelle der ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1:L> erzeugt, die von der Prozesssteuerschaltung 210 erzeugt werden, und daher wird eine detaillierte Beschreibung davon hier weggelassen.
  • Die Betriebssteuerschaltung 220A kann ein Schreibsignal WT erzeugen, wenn eine Logikpegelkombination eines Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs eines normalen Betriebs ist. Die Betriebssteuerschaltung 220A kann eine interne Adresse IADD aus einer Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs des normalen Betriebs ist. Die Betriebssteuerschaltung 220A kann ein Lesesignal RD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 220A kann die interne Adresse IADD aus der Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 220A kann das Schreibsignal WT, das Lesesignal RD und die interne Adresse IADD an die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 ausgeben. Da die Betriebssteuerschaltung 220A durch dieselbe Schaltung implementiert ist und dieselbe Funktion ausübt wie die in 4 dargestellte Lese-/Schreib-Steuerschaltung 222, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 230A aus den Schreibdaten WDA erste bis zwanzigste Übertragungsdaten TD<1:20> erzeugen. Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 230A die ersten bis zwanzigsten Übertragungsdaten TD<1:20> an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 230A die ersten bis zwanzigsten Übertragungsdaten TD<1:20> von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen und einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> erkennen. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 230A Lesedaten RDA erzeugen, indem sie einen in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> enthaltenen Fehler korrigiert. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 230A die Lesedaten RDA an einen Host 10 ausgeben (siehe 1). Im Lesebetrieb des Normalbetriebs und in einem Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 230A das Fehlerinformationssignal FA_IF<1 :M> in Abhängigkeit davon, ob ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> aufgetreten ist, erzeugen. Die Bits des Fehlerinformationssignals FA_IF<1 :M> können auf logisch hohen Pegeln erzeugt werden, wenn kein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1 :M> können auf logisch niedrigen Pegeln erzeugt werden, wenn ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt. Da die Fehlererkennungsschaltung 230A durch dieselbe Schaltung implementiert ist und dieselbe Funktion ausübt wie die in 2 dargestellte Fehlererkennungsschaltung 240, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Die Signalübertragungsschaltung 240A kann erste bis zwanzigste Eingangs-/Ausgangsschaltungen I/O1 bis I/O20 umfassen.
  • Während des Lesebetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Übertragungsdaten TD1 durch Abtasten der ersten Daten DA1 in Synchronisation mit einem ersten Strobe-Signal DQS1 erzeugen. Während des Schreibbetriebs kann die erste Eingangs-/Ausgangsschaltung I/O1 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD1 in Synchronisation mit dem ersten Strobe-Signal DQS1 erzeugen. Da die zweite bis zwanzigste Eingangs-/Ausgangsschaltung I/O2 bis I/O20 die gleichen Operationen wie die erste Eingangs-/Ausgangsschaltung I/O1 durchführen, mit der Ausnahme, dass die Eingangs-/Ausgangssignale unterschiedlich sind, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Im Schreibbetrieb des Normalbetriebs kann die Signalübertragungsschaltung 240A die ersten bis zwanzigsten Daten DA1 bis DA20, die aus den ersten bis zwanzigsten Übertragungsdaten TD<1:20> erzeugt werden, an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Im Schreibbetrieb des Normalbetriebs kann die Signalübertragungsschaltung 240A die ersten bis zwanzigsten Daten DA1 bis DA20 durch Abtasten der ersten bis zwanzigsten Übertragungsdaten TD<1:20> in Synchronisation mit den ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen. Im Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 240A die ersten bis zwanzigsten Übertragungsdaten TD<1:20>, die aus den ersten bis zwanzigsten Daten DA1 bis DA20 erzeugt wurden, an die Fehlererkennungsschaltung 230A ausgeben. Im Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 240A die ersten bis zwanzigsten Übertragungsdaten TD<1:20> durch Abtasten der ersten bis zwanzigsten Daten DA1 bis DA20 in Synchronisation mit den ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen.
  • Beim Schreibbetrieb im Normalbetrieb kann die erste Speicherschaltung DRAM1 die ersten Daten DA1 von der ersten Eingangs-/Ausgangsschaltung I/O1 empfangen. Beim Schreibbetrieb im Normalbetrieb kann die erste Speicherschaltung DRAM1 die ersten Daten DA1 als erste interne Daten ID1 speichern (siehe 12). Im Lesebetrieb des Normalbetriebs kann die erste Speicherschaltung DRAM1 den Pegel der Referenzspannung VREF (siehe 12) in Abhängigkeit von einer logischen Pegelkombination des ersten Spannungscodesignals VCD1<1:L> einstellen. Im Lesebetrieb des Normalbetriebs kann die erste Speicherschaltung DRAM1 die ersten Daten DA1 durch Vergleich der pegelangepassten Referenzspannung VREF (siehe 12) und der ersten internen Daten ID1 (siehe 12) erzeugen. Im Lesebetrieb des Normalbetriebs kann die erste Speicherschaltung DRAM1 die ersten Daten DA1 ausgeben.
  • Da die zweiten bis zwanzigsten Speicherschaltungen DRAM2 bis DRAM20 durch dieselben Schaltungen implementiert sind und dieselben Operationen ausführen wie die erste Speicherschaltung DRAM1, wird hier auf eine detaillierte Beschreibung verzichtet.
  • 12 ist ein Blockdiagramm, das eine Ausführungsform der ersten Speicherschaltung DRAM1 zeigt. Wie in 12 dargestellt, kann die erste Speicherschaltung DRAM1 einen Speicherbereich 310, einen Spannungsgenerator 320 und eine Datenverarbeitungsschaltung 330 umfassen.
  • Während des Schreibbetriebs im Normalbetrieb kann der Speicherbereich 310 die ersten internen Daten ID1 speichern. Der Speicherbereich 310 kann die ersten internen Daten ID1 an einer Stelle speichern, die durch die interne Adresse IADD ausgewählt wird, wenn das Schreibsignal WT eingegeben wird. Im Lesebetrieb während des normalen Betriebs kann der Speicherbereich 310 die darin gespeicherten ersten internen Daten ID1 ausgeben. Der Speicherbereich 310 kann die ersten internen Daten ID1 ausgeben, die an einer durch die interne Adresse IADD ausgewählten Stelle gespeichert sind, wenn das Lesesignal RD eingegeben wird.
  • Der Spannungsgenerator 320 kann die Referenzspannung VREF zur Bestimmung eines logischen Pegels von Daten erzeugen. Im Lesebetrieb während des Normalbetriebs kann der Spannungsgenerator 320 die Referenzspannung VREF mit einem Pegel erzeugen, der in Abhängigkeit von einer Logikpegelkombination des ersten Spannungscodesignals VCD1< 1:L> eingestellt wird. Der Betrieb der Einstellung des Pegels der Referenzspannung VREF im Spannungsgenerator 320 in Abhängigkeit von einer Logikpegelegelkombination des ersten Spannungscodesignals VCD1<1:L> wird nachstehend unter Bezugnahme auf 13 beschrieben.
  • Bei dem Schreibbetrieb während des Normalbetriebs kann die Datenverarbeitungsschaltung 330 die ersten internen Daten ID1 aus den ersten Daten DA1 erzeugen. Im Schreibbetrieb während des Normalbetriebs kann die Datenverarbeitungsschaltung 330 die ersten internen Daten ID1 durch Vergleichen der Referenzspannung VREF und der ersten Daten DA1 erzeugen. Im Lesebetrieb während des Normalbetriebs kann die Datenverarbeitungsschaltung 330 die ersten Daten DA1 aus den ersten internen Daten ID1 erzeugen. Im Lesebetrieb während des Normalbetriebs kann die Datenverarbeitungsschaltung 330 die ersten Daten DA1 durch Vergleichen der Referenzspannung VREF und der ersten internen Daten ID1 erzeugen.
  • Da die in 11 dargestellten zweiten bis zwanzigsten Speicherschaltungen DRAM2 bis DRAM20 durch dieselben Schaltungen implementiert sind und dieselben Operationen bzw. Betriebsvorgänge ausführen wie die in 12 dargestellte erste Speicherschaltung DRAM1, wird hier auf eine detaillierte Beschreibung verzichtet.
  • 13 ist ein Diagramm zur Erläuterung eines Betriebs zur Erzeugung der ersten Daten DA1, wobei die Referenzspannung VREF einen Pegel aufweist, der in Abhängigkeit von dem ersten Spannungscodesignal VCD1<1 :L> und dem ersten Spannungscodesignal VCD1<1 :L> gemäß der anderen Ausführungsform der vorliegenden Offenbarung eingestellt wird.
  • In einer Periode PASS, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel (hoher Pegel) aktiviert ist, wird das erste Spannungscodesignal VCD1<1 :L> als eine Logikpegelkombination erzeugt, die einen Mittelwert zwischen einem Minimalwert, der erhalten wird, wenn das erste Spannungscodesignal VCD1<1 :L> abwärts gezählt wird, und einem Maximalwert, der erhalten wird, wenn das erste Spannungscodesignal VCD1<1 :L> aufwärts gezählt wird, aufweist. Das erste Spannungscodesignal VCD1<1 :L> wird als eine Logikpegelkombination erzeugt, die den Mittelwert der Periode PASS aufweist, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist.
  • Die Referenzspannung VREF mit einem Pegel, der in Abhängigkeit vom ersten Spannungscodesignal VCD1<1 :L> eingestellt wird, wird auf einen Pegel zwischen dem logischen High-Pegel und dem logischen Low-Pegel der ersten Daten DA1 eingestellt. Der Pegel der Referenzspannung VREF sinkt jedes Mal, wenn das erste Spannungscodesignal VCD1< 1 :L> abwärts gezählt wird, und steigt jedes Mal, wenn das erste Spannungscodesignal VCD1 <1 :L> aufwärts gezählt wird. Beim Patrouillen-Training wird die Referenzspannung VREF auf den mittleren Pegel zwischen dem logischen High-Pegel und dem logischen Low-Pegel der ersten Daten DA1 eingestellt. Das erste Spannungscodesignal VCD1< 1 :L> wird als Logikpegelkombination mit dem Mittelwert der Periode PASS erzeugt, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist. Zu diesem Zeitpunkt wird das erste Spannungscodesignal VCD1<1 :L> auf einen optimalen Wert gesetzt.
  • Wie aus der obigen Beschreibung ersichtlich ist, kann das Halbleitersystem gemäß der anderen Ausführungsform der vorliegenden Offenbarung einen Patrouillen-Trainingsbetrieb zur Einstellung des Pegels einer Referenzspannung durchführen, die verwendet wird, um den logischen Pegel von Daten in einer Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs zu bestimmen. Durch die Durchführung des Patrouillen-Trainingsbetriebs zum Einstellen des Pegels der Referenzspannung, die verwendet wird, um den logischen Pegel von Daten in der Speicherschaltung während eines Schreibbetriebs und eines Lesebetriebs zu bestimmen, kann das Halbleitersystem gemäß der anderen Ausführungsform der vorliegenden Offenbarung die Zuverlässigkeit der Dateneingabe und -ausgabe durch eine Signalübertragungsschaltung sicherstellen.
  • Wie in 14 dargestellt, kann ein Halbleitersystem 2 gemäß einer anderen Ausführungsform der vorliegenden Offenbarung einen Host 30, einen Controller 40 und erste bis zwanzigste Speicherschaltungen DRAM1 bis DRAM20 umfassen.
  • Der Host 30 kann an der Controller 40 einen Befehl CMD, eine Adresse ADD und Schreibdaten WDA ausgeben, um einen Schreibbetrieb durchzuführen. Der Host 30 kann an der Controller 40 einen Befehl CMD und eine Adresse ADD zur Durchführung eines Lesebetriebs ausgeben und kann Lesedaten RDA von dem Controller 40 empfangen. Während der Befehl CMD, die Adresse ADD, die Schreibdaten WDA und die Lesedaten RDA jeweils als ein Signal dargestellt sind, ist anzumerken, dass gemäß einer Ausführungsform jeder Befehl CMD, die Adresse ADD, die Schreibdaten WDA und die Lesedaten RDA als ein Signal mit einer Vielzahl von Bits gesetzt werden können.
  • Der Controller 40 kann den Schreibbetrieb der ersten bis zwanzigsten Speicherschaltung DRAM1 bis DRAM20 steuern, indem er den Befehl CMD und die Adresse ADD vom Host 30 empfängt. Der Controller 40 kann den Lesebetrieb der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 steuern, indem er den Befehl CMD und die Adresse ADD vom Host 30 empfängt. Der Controller 40 kann einen Patrouillen-Trainingsbetrieb steuern, indem er den Befehl CMD und die Adresse ADD vom Host 30 empfängt. Bei dem Patrouillen-Trainingsbetrieb (auch als Patrouillen-Trainingsoperation bezeichnet) kann der Controller 40 einen Lesemodifizierungs-Schreibbetrieb der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 steuern. Der Befehl CMD kann als ein Befehl zur Durchführung des Schreibbetriebs, des Lesebetriebs und des Lesemodifizierungs-Schreibbetriebs der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 eingestellt werden und kann so eingestellt werden, dass er eine Vielzahl von Bits enthält. Die Adresse ADD kann als ein Signal zum Auswählen der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 in dem Schreibbetrieb, dem Lesebetrieb und dem Lesemodifizierungs-Schreibbetrieb eingestellt werden und kann so eingestellt werden, dass sie eine Vielzahl von Bits enthält. Der Controller 40 ist als Controller zur Steuerung des Betriebs der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 implementiert. Gemäß einer Ausführungsform kann der Controller 40 jedoch als eine beliebige Testvorrichtung oder eine elektronische Vorrichtung zur Steuerung des Betriebs der ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 implementiert sein.
  • Der Controller 40 kann eine Prozesssteuerschaltung 410, eine Betriebssteuerschaltung 420, eine Scrub-Steuerschaltung 430, eine Fehlererkennungsschaltung 440 und eine Signalübertragungsschaltung 450 umfassen.
  • Während des Schreibbetriebs und des Lesebetriebs kann die Prozesssteuerschaltung 410 den Patrouillen-Trainingsbetrieb bestimmen. Bei dem Patrouillen-Trainingsbetrieb kann die Prozesssteuerschaltung 410 die Aktivierungszeitpunkte der Puffer 452 (siehe 16) anpassen, die mit der ersten bis zwanzigsten Speicherschaltung DRAM1 bis DRAM20 verbunden sind.
  • Die Betriebssteuerschaltung 420 kann den Befehl CMD und die Adresse ADD vom Host 30 empfangen. Die Betriebssteuerschaltung 420 kann den Schreibbetrieb und den Lesebetrieb eines normalen Betriebs auf der Grundlage des Befehls CMD und der Adresse ADD steuern. Die Betriebssteuerschaltung 420 kann den Lesemodifizierungs-Schreibbetrieb auf der Grundlage des Befehls CMD und der Adresse ADD steuern. Die Betriebssteuerschaltung 420 kann eine Trainingsadresse TADD (siehe 15) erzeugen, indem sie eine Scrub-Adresse SADD (siehe 15) von der Scrub-Steuerschaltung 430 empfängt.
  • Die Scrub-Steuerschaltung 430 kann die Adresse ADD vom Host 30 empfangen. Die Scrub-Steuerschaltung 430 kann aus der Adresse ADD die Scrub-Adresse SADD (siehe ) zur Durchführung des Lesemodifizierungs-Schreibbetriebs erzeugen.
  • Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die Schreibdaten WDA vom Host 30 empfangen. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die Lesedaten RDA erzeugen, indem sie einen in den ersten bis zwanzigsten Daten DA1 bis DA20 enthaltenen Fehler korrigiert. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die Lesedaten RDA an den Host 30 ausgeben. Im Lesebetrieb des Normalbetriebs und im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 440 ein Fehlerinformationssignal FA_IF<1 :M> (siehe 15) erzeugen, je nachdem, ob ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 aufgetreten ist. Obwohl jeder der ersten bis zwanzigsten Daten DA1 bis DA20 als ein Signal dargestellt ist, kann gemäß einer Ausführungsform jede der ersten bis zwanzigsten Daten DA1 bis DA20 als ein Signal mit einer Vielzahl von Bits gesetzt werden.
  • Die Signalübertragungsschaltung 450 kann eine erste bis zwanzigste Pufferschaltung BUF1 bis BUF20 enthalten. Im Schreibbetrieb und im Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Daten DA1 bis DA20 in die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 eingeben und von diesen ausgeben. Im Lesebetrieb des Normalbetriebs kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen. Im Patrouillen-Trainingsbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 zu eingestellten Aktivierungszeitpunkten empfangen. Im Patrouillen-Trainingsbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Daten DA1 bis DA20 synchron mit den verzögerten ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 abtasten.
  • Im Schreibbetrieb und dem Lesemodifizierungs-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die ersten bis zwanzigsten Daten DA1 bis DA20 von den ersten bis zwanzigsten Pufferschaltungen BUF1 bis BUF20 empfangen. Im Schreibbetrieb und dem Lesemodifizierungs-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die ersten bis zwanzigsten Daten DA1 bis DA20 speichern. Im Lesebetrieb und dem Lesemodifizierungs-Schreibbetrieb können die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 die darin gespeicherten ersten bis zwanzigsten Daten DA1 bis DA20 an die ersten bis zwanzigsten Pufferschaltungen BUF1 bis BUF20 ausgeben.
  • Der Controller 40 und die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 können als Dual-Inline-Speichermodul (DIMM) ausgeführt sein.
  • 15 ist ein Blockdiagramm, das eine Ausführungsform des Controllers 40 zeigt. Wie in 15 dargestellt, kann der Controller 40 die Prozesssteuerschaltung 410, die Betriebssteuerschaltung 420, die Scrub-Steuerschaltung 430, die Fehlererkennungsschaltung 440 und die Signalübertragungsschaltung 450 umfassen.
  • Während des Schreibbetriebs und des Lesebetriebs kann die Prozesssteuerschaltung 410 den Patrouillen-Trainingsbetrieb bestimmen. Im Patrouillen-Trainingsbetrieb kann die Prozesssteuerschaltung 410 die Aktivierungszeitpunkte der Puffer 452 (siehe 16) einstellen, die mit den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 verbunden sind. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 410 das erste bis zwanzigste Verzögerungscodesignal DCD1<1 :L> bis DCD20<1 :L> einstellen, um die jeweiligen Aktivierungszeitpunkte der Puffer 452 (siehe 16) einzustellen, die in der ersten bis zwanzigsten Pufferschaltung BUF1 bis BUF20 enthalten sind. Während des Patrouillen-Trainingsbetriebs kann die Prozesssteuerschaltung 410 die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> zum Einstellen der Aktivierungszeitpunkte jeweils der Puffer 452 (siehe 16), die in den ersten bis zwanzigsten Pufferschaltungen BUF1 bis BUF20 enthalten sind, abwärts oder aufwärts zählen und kann dann die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> auf der Grundlage des Scrub-Steuersignals SC_CTR und des Fehlerinformationssignals FA_IF<1 :M> festlegen. Während des Patrouillen-Trainingsbetriebs, wenn die ersten bis zwanzigsten Verzögerungscodesignale DCD1 <1 :L> bis DCD20<1 :L> heruntergezählt werden, kann die Prozesssteuerschaltung 410 einmal die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> herunterzählen, nachdem zweimal der Lesemodifizierungs-Schreibbetrieb auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> durchgeführt wurde. Dies dient dazu, während des Lesemodifizierungs-Schreibbetriebs einen Fall zu unterscheiden, in dem ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 auftritt, und einen Fall, in dem ein Fehler in der Signalübertragungsschaltung 450 auftritt. Zum Beispiel kann die Prozesssteuerschaltung 410 in dem Fall, in dem ein Fehler in den ersten Daten DA1 aufgetreten ist, da es sich nicht um einen Fall handelt, in dem ein Fehler in der Signalübertragungsschaltung 450 auftritt, das erste Verzögerungscodesignal DCD1<1 :L> beibehalten, kann dann den Lesemodifizierungs-Schreibbetrieb erneut durchführen, und wenn kein Fehler auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> vorliegt, kann sie das erste Verzögerungscodesignal DCD1<1 :L> einmal abwärts zählen. Während des Patrouillen-Trainingsbetriebs, wenn die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> aufwärts gezählt werden, kann die Prozesssteuerschaltung 410 einmal die ersten bis zwanzigsten Verzögerungscodesignale DCD1<1 :L> bis DCD20<1 :L> aufwärts zählen, nachdem zweimal der Lesemodifizierungs-Schreibbetrieb auf der Basis des Fehlerinformationssignals FA_IF<1 :M> durchgeführt wurde. Dies dient dazu, während des Lesemodifizierungs-Schreibbetriebs einen Fall zu unterscheiden, in dem ein Fehler in den ersten bis zwanzigsten Daten DA1 bis DA20 auftritt, und einen Fall, in dem ein Fehler in der Signalübertragungsschaltung 450 auftritt. Zum Beispiel kann die Prozesssteuerschaltung 410 in dem Fall, in dem ein Fehler in den ersten Daten DA1 aufgetreten ist, da es sich nicht um einen Fall handelt, in dem ein Fehler in der Signalübertragungsschaltung 450 auftritt, das erste Verzögerungscodesignal DCD1 <1 :L> beibehalten, sie kann dann den Lesemodifizierungs-Schreibbetrieb erneut durchführen, und wenn kein Fehler auf der Grundlage des Fehlerinformationssignals FA_IF<1 :M> vorliegt, kann das erste Verzögerungscodesignal DCD1<1 :L> einmal hochgezählt werden. Da die Prozesssteuerschaltung 410 durch dieselbe Schaltung implementiert ist und denselben Betrieb wie die in 3 dargestellte Prozesssteuerschaltung 210 durchführt, wird hier auf eine detaillierte Beschreibung verzichtet. Die Prozesssteuerschaltung 410 kann als Zentralerarbeitungseinheit (CPU) implementiert werden, die in einem Halbleitersystem verwendet wird.
  • Die Betriebssteuerschaltung 420 kann ein Schreibsignal WT erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 420 kann eine interne Adresse IADD aus der Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Schreibbetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 420 kann ein Lesesignal RD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Die Betriebssteuerschaltung 420 kann die interne Adresse IADD aus der Adresse ADD erzeugen, wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Lesebetriebs des Normalbetriebs ist. Wenn eine Logikpegelkombination des Befehls CMD eine Kombination zur Durchführung des Normalbetriebs ist und der Patrouillen-Trainingsbetrieb durchgeführt wird, kann die Betriebssteuerschaltung 420 aus dem Befehl CMD ein Trainings-Lesesignal TRD und ein Trainings-Schreibsignal TWT erzeugen, die sequentiell erzeugt werden. Die Betriebssteuerschaltung 420 kann die Trainingsadresse TADD erzeugen, indem sie die Scrub-Adresse SADD von der Scrub-Steuerschaltung 430 empfängt. Die Betriebssteuerschaltung 420 kann das Schreibsignal WT, das Lesesignal RD, die interne Adresse IADD, das Trainings-Lesesignal TRD, das Trainings-Schreibsignal TWT und die Trainingsadresse TADD an die erste bis zwanzigste Speicherschaltung DRAM1 bis DRAM20 ausgeben. Da die Betriebssteuerschaltung 420 durch dieselbe Schaltung implementiert ist und dieselbe Funktion ausführt wie die in 4 dargestellte Betriebssteuerschaltung 220, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Die Scrub-Steuerschaltung 430 kann die Adresse ADD speichern und die Scrub-Adresse SADD aus der gespeicherten Adresse ADD erzeugen. Wenn der Patrouillen-Trainingsbetrieb während des normalen Betriebs durchgeführt wird, kann die Scrub-Steuerschaltung 430 die Adresse ADD speichern und die Scrub-Adresse SADD aus der gespeicherten Adresse ADD erzeugen. Wenn der Patrouillen-Trainingsbetrieb während des normalen Betriebs durchgeführt wird, kann die Scrub-Steuerschaltung 430 sequentiell eine voreingestellte Anzahl von Adressen ADD speichern und sequentiell Scrub-Adressen SADD aus den sequentiell gespeicherten Adressen ADD erzeugen. Zum Beispiel kann die Scrub-Steuerschaltung 430 sequentiell Adressen ADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 speichern und dann sequentiell Scrub-Adressen SADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 erzeugen. Beim Lesemodifizierungs-Schreibbetrieb kann die Scrub-Steuerschaltung 430 die Scrub-Adresse SADD mit derselben Logikpegelkombination für den Lese- und den Schreibbetrieb ausgeben. Im Patrouillen-Trainingsbetrieb während des Normalbetriebs kann die Scrub-Steuerschaltung 430 das Scrub-Steuersignal SC_CTR erzeugen, wenn die Anzahl der gespeicherten Adressen ADD einen voreingestellten Wert erreicht. Wenn der voreingestellte Wert beispielsweise so implementiert ist, dass vier Adressen ADD gespeichert werden, kann die Scrub-Steuerschaltung 430 das Scrub-Steuersignal SC_CTR erzeugen, wenn die Adressen ADD zur Auswahl der ersten Speicherschaltung DRAM1, der dritten Speicherschaltung DRAM3, der fünften Speicherschaltung DRAM5 und der siebten Speicherschaltung DRAM7 gespeichert sind. Da die Scrub-Steuerschaltung 430 durch dieselbe Schaltung implementiert wird und dieselbe Funktion ausübt wie die in 5 dargestellte Scrub-Steuerschaltung 230, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> aus den Schreibdaten WDA erzeugen. Im Schreibbetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Im Lesebetrieb des Normalbetriebs kann die Fehlererkennungsschaltung 440 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen und einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> erkennen. Bei der Leseoperation des Normalbetriebs kann die Fehlererkennungsschaltung 440 die Lesedaten RDA erzeugen, indem sie einen in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> enthaltenen Fehler korrigiert. Bei der Leseoperation des Normalbetriebs kann die Fehlererkennungsschaltung 440 die Lesedaten RDA an den Host 30 ausgeben. Im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 440 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> von den ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 empfangen und einen Fehler der ersten bis zwanzigsten Übertragungsdaten TD<1:20> erkennen. Im Lesebetrieb des Normalbetriebs und im Lesemodifizierungs-Schreibbetrieb kann die Fehlererkennungsschaltung 440 das Fehlerinformationssignal FA_IF<1 :M> erzeugen, je nachdem, ob ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> aufgetreten ist. Die Bits des Fehlerinformationssignals FA_IF<1 :M> können auf logisch hohen Pegeln erzeugt werden, wenn kein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1 :M> können auf logisch niedrigen Pegeln erzeugt werden, wenn ein Fehler in den ersten bis zwanzigsten Übertragungsdaten TD<1:20> auftritt. Da die Fehlererkennungsschaltung 440 durch dieselbe Schaltung implementiert ist und dieselbe Funktion ausführt wie die in 6 dargestellte Fehlererkennungsschaltung 240, wird ihre detaillierte Beschreibung hier weggelassen.
  • Die Signalübertragungsschaltung 450 kann die erste bis zwanzigste Pufferschaltung BUF1 bis BUF20 enthalten.
  • Die erste Pufferschaltung BUF1 kann das erste Strobe-Signal DQS1 zu einem Aktivierungszeitpunkt des Puffers 452 (siehe 16) empfangen, der in Abhängigkeit von dem ersten Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Im Patrouillen-Trainingsbetrieb während des Lesebetriebs kann die erste Pufferschaltung BUF1 das erste Strobe-Signal DQS1 zu einem Aktivierungszeitpunkt des Puffers 452 (siehe 16) empfangen, der in Abhängigkeit von dem ersten Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Bei dem Patrouillen-Trainingsbetrieb während des Lesebetriebs kann die erste Pufferschaltung BUF1 die ersten Übertragungsdaten TD1 durch Abtasten der ersten Daten DA1 synchron mit dem empfangenen ersten Strobe-Signal DQS1 erzeugen. Im Patrouillen-Trainingsbetrieb während des Schreibbetriebs kann die erste Pufferschaltung BUF1 das erste Strobe-Signal DQS1 zu einem Aktivierungszeitpunkt des Puffers 452 (siehe 16) empfangen, der in Abhängigkeit von dem ersten Verzögerungscodesignal DCD1< 1:L> eingestellt wird. Während des Schreibbetriebs kann die erste Pufferschaltung BUF1 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD1 in Synchronisation mit dem empfangenen ersten Strobe-Signal DQS1 erzeugen. Bei dem Patrouillen-Trainingsbetrieb während des Lesemodifizierungs-Schreibbetriebs kann die erste Pufferschaltung BUF1 das erste Strobe-Signal DQS1 zu einem Aktivierungszeitpunkt des Puffers 452 (siehe 16) empfangen, der in Abhängigkeit von dem ersten Verzögerungscodesignal DCD1< 1:L> eingestellt wird. Im Patrouillen-Trainingsbetrieb während des Lesemodifizierungs-Schreibbetriebs kann die erste Pufferschaltung BUF1 die ersten Übertragungsdaten TD1 durch Abtasten der ersten Daten DA1 synchron mit dem empfangenen ersten Strobe-Signal DQS1 erzeugen. Da die zweite bis zwanzigste Pufferschaltung BUF2 bis BUF20 die gleichen Operationen, d. h. Betriebsvorgänge, wie die erste Pufferschaltung BUF1 durchführen, mit der Ausnahme, dass die Eingangs-/Ausgangssignale unterschiedlich sind, wird hier auf eine detaillierte Beschreibung verzichtet.
  • Im Schreibbetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Daten DA1 bis DA20, die aus den ersten bis zwanzigsten Übertragungsdaten TD<1:20> erzeugt werden, an die ersten bis zwanzigsten Speicherschaltungen DRAM1 bis DRAM20 ausgeben. Im Schreibbetrieb des Normalbetriebs oder im Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 zu eingestellten Aktivierungszeitpunkten der Puffer 452 empfangen (siehe 16). Im Schreibbetrieb des Normalbetriebs oder im Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Daten DA1 bis DA20 durch Abtasten der ersten bis zwanzigsten Übertragungsdaten TD<1:20> in Synchronisation mit den empfangenen ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen. Im Lesebetrieb des Normalbetriebs oder im Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Übertragungsdaten TD<1 :20>, die aus den ersten bis zwanzigsten Daten DA1 bis DA20 erzeugt wurden, an die Fehlererkennungsschaltung 440 ausgeben. Im Lesebetrieb des Normalbetriebs oder im Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Strobe-Signale DQS1 bis DQS20 zu eingestellten Aktivierungszeitpunkten der Puffer 452 (siehe 16) empfangen. Im Lesebetrieb des Normalbetriebs oder dem Lesemodifizierungs-Schreibbetrieb kann die Signalübertragungsschaltung 450 die ersten bis zwanzigsten Übertragungsdaten TD<1:20> durch Abtasten der ersten bis zwanzigsten Daten DA1 bis DA20 in Synchronisation mit den empfangenen ersten bis zwanzigsten Strobe-Signalen DQS1 bis DQS20 erzeugen.
  • Der Controller 40 ist so implementiert, dass er die Prozesssteuerschaltung 410, die Betriebssteuerschaltung 420, die Scrub-Steuerschaltung 430, die Fehlererkennungsschaltung 440 und die Signalübertragungsschaltung 450 umfasst. Gemäß einer Ausführungsform kann der Host 30 jedoch so implementiert sein, dass er die Prozesssteuerschaltung 410, die Betriebssteuerschaltung 420, die Scrub-Steuerschaltung 430, die Fehlererkennungsschaltung 440 und die Signalübertragungsschaltung 450 umfasst.
  • 16 ist ein Blockdiagramm, das eine Ausführungsform der ersten Pufferschaltung BUF1 zeigt. Wie in 16 dargestellt, kann die erste Pufferschaltung BUF1 eine Schaltung zur Erzeugung eines Aktivierungssignals 451 (auch als Enable-Signal bezeichnet), den Puffer 452 und eine Dateneingangs-/Ausgangsschaltung 453 umfassen.
  • Ein Verzögerungsbetrag der Aktivierungssignal-Erzeugungsschaltung 451 kann in Abhängigkeit von einer Logikpegelkombination des ersten Verzögerungscodesignals DCD1< 1:L> eingestellt werden. Die Aktivierungssignal-Erzeugungsschaltung 451 kann ein erstes Pufferaktivierungssignal BUF_EN1 erzeugen, das einen Aktivierungszeitpunkt aufweist, der durch einen Verzögerungsbetrag eingestellt wird, der durch das erste Verzögerungscodesignal DCD1 < 1:L> eingestellt wird. Ein Verzögerungsbetrag der Aktivierungssignal-Erzeugungsschaltung 451 kann jedes Mal, wenn das erste Verzögerungscodesignal DCD1< 1:L> heruntergezählt wird, sequentiell verringert werden. Ein Verzögerungsbetrag der Aktivierungssignal-Erzeugungsschaltung 451 kann jedes Mal, wenn das erste Verzögerungscodesignal DCD1< 1:L> aufwärts gezählt wird, sequenziell erhöht werden.
  • Der Puffer 452 kann das erste Strobe-Signal DQS1 in Synchronisation mit einem Zeitpunkt empfangen, wenn das erste Pufferaktivierungssignal BUF_EN1 aktiviert wiord. Der Puffer 452 kann das erste Strobe-Signal DQS1 als ein erstes Abtastsignal DSP1 synchron mit einem Zeitpunkt ausgeben, wenn das erste Pufferfreigabesignal BUF_EN1 aktiviert wird. Der Puffer 452 kann das erste Strobe-Signal DQS1 als erstes Abtastsignal DSP1 während einer Periode ausgeben, in der das erste Pufferfreigabesignal BUF_EN1 aktiviert ist.
  • Im Lesebetrieb des Normalbetriebs kann die Dateneingabe-/Ausgabeschaltung 453 die ersten Übertragungsdaten TD<1 > durch Abtasten der ersten Daten DA1 in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen. Im Lesebetrieb des Normalbetriebs kann die Dateneingabe-/Ausgabeschaltung 453 die ersten Übertragungsdaten TD<1 > durch Abtasten der ersten Daten DA1, die von der ersten Speicherschaltung DRAM1 eingegeben werden, in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen. Im Lesebetrieb des Normalbetriebs kann die Dateneingangs-/Ausgangsschaltung 453 die ersten Übertragungsdaten TD<1> an die Fehlererkennungsschaltung 440 ausgeben. Im Schreibbetrieb des Normalbetriebs kann die Dateneingabe-/Ausgabeschaltung 453 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD<1> in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugen. Im Schreibbetrieb des Normalbetriebs kann die Dateneingabe-/Ausgabeschaltung 453 die ersten Daten DA1 durch Abtasten der ersten Übertragungsdaten TD<1>, die von der Fehlererkennungsschaltung 440 eingegeben werden, synchron mit dem ersten Abtastsignal DSP1 erzeugen. Im Schreibbetrieb des Normalbetriebs kann die Dateneingabe-/Ausgabeschaltung 453 die ersten Daten DA1 an die erste Speicherschaltung DRAM1 ausgeben.
  • Der Patrouillen-Trainingsbetrieb gemäß der anderen Ausführungsform der vorliegenden Offenbarung wird nachstehend unter Bezugnahme auf 17 beschrieben, wobei als Beispiel der Lesebetrieb für die erste Speicherschaltung DRAM1 während des Normalbetriebs dient.
  • Vor dem Patrouillen-Trainingsbetrieb (VOR DEM TRAINING) wird das erste Pufferaktivierungssignal BUF_EN1 aktiviert, nachdem ein Impuls des ersten Strobe-Signals DQS1 zum Stroben der ersten Daten DA1 erzeugt wurde. Es ist zu erkennen, dass das erste Abtastsignal DSP1, das während der Aktivierungsperiode des ersten Pufferaktivierungssignals BUF_EN1 aus dem ersten Strobe-Signal DQS1 erzeugt wird, erzeugt wird, nachdem die ersten Daten DA1 ausgegeben wurden. Zu diesem Zeitpunkt tritt ein Fehler in den ersten Übertragungsdaten TD<1 > auf, die aus den ersten Daten DA1 erzeugt werden.
  • Während des Patrouillen-Trainingsbetriebs (WÄHREND DEM TRAINING) kann man sehen, dass das erste Puffer-Freigabesignal BUF_EN1 sequentiell schnell erzeugt wird, wenn das erste Verzögerungscodesignal DCD1 < 1:L> abwärts gezählt wird, und sequentiell langsam erzeugt wird, wenn das erste Verzögerungscodesignal DCD1 <1:L> aufwärts gezählt wird. Während des Patrouillen-Trainingsbetriebs (WÄHREND DEM TRAINING) wird das Pufferfreigabesignal BUF_EN1 schneller erzeugt, wenn das erste Verzögerungscodesignal DCD1 < 1:L> abwärts gezählt wird, als wenn das erste Verzögerungscodesignal DCD1<1 :L> aufwärts gezählt wird. Während des Patrouillen-Trainingsbetriebs (WÄHREND DEM TRAINING) wird das Pufferaktivierungssignal BUF_EN1 langsamer erzeugt, wenn das erste Verzögerungscodesignal DCD1<1:L> aufwärts gezählt wird, als wenn das erste Verzögerungscodesignal DCD1<1:L> abwärts gezählt wird.
  • Während des Patrouillen-Trainingsbetriebs (WÄHREND DEM TRAINING) kann die Fehlererkennungsschaltung 440 sequentiell das Fehlerinformationssignal FA_IF<1:M> erzeugen, je nachdem, ob ein Fehler in den ersten Übertragungsdaten TD<1> aufgetreten ist, die aus den ersten Daten DA1 synchron mit dem ersten Abtastsignal DSP1 erzeugt werden, das sequentiell schnell durch das erste Pufferaktivierungssignal BUF_EN1 erzeugt wird, wenn das erste Verzögerungscodesignal DCD1 <1:L> heruntergezählt wird. Die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch hohen Pegeln erzeugt, wenn kein Fehler in den ersten Übertragungsdaten TD<1 > auftritt, und die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch niedrigen Pegeln erzeugt, wenn ein Fehler in den ersten Übertragungsdaten TD<1 > auftritt.
  • Während des Patrouillen-Trainingsbetriebs (WÄHREND DEM TRAINING) kann die Fehlererkennungsschaltung 440 sequentiell das Fehlerinformationssignal FA_IF<1 :M> erzeugen, je nachdem, ob ein Fehler in den ersten Übertragungsdaten TD<1> aufgetreten ist, die aus den ersten Daten DA1 in Synchronisation mit dem ersten Abtastsignal DSP1 erzeugt werden, das sequentiell langsam durch das erste Pufferfreigabesignal BUF_EN1 erzeugt wird, wenn das erste Verzögerungscodesignal DCD1<1:L> aufwärts gezählt wird. Die Bits des Fehlerinformationssignals FA_IF<1 :M> werden auf logisch hohen Pegeln erzeugt, wenn kein Fehler in den ersten Übertragungsdaten TD<1> auftritt, und die Bits des Fehlerinformationssignals FA_IF<1:M> werden auf logisch niedrigen Pegeln erzeugt, wenn ein Fehler in den ersten Übertragungsdaten TD<1> auftritt.
  • Nach dem Patrouillen-Trainingsbetrieb (NACH DEM TRAINING) kann durch Beobachtung der ersten Daten DA1 und der Flanke des ersten Abtastsignals DSP1, das aus dem ersten Strobe-Signal DQS1 während der Aktivierungsperiode des ersten Pufferaktivierungssignals BUF_EN1 erzeugt wird, festgestellt werden, dass der logische Pegel der ersten Daten DA1 an der Flanke des ersten Abtastsignals DSP1 gehalten wird. Zu diesem Zeitpunkt tritt kein Fehler in den ersten Übertragungsdaten TD<1> auf, die aus den ersten Daten DA1 erzeugt werden. Wie voranstehend unter Bezugnahme auf 8 beschrieben, wird das erste Verzögerungscodesignal DCD1<1:L> als eine Logikpegelkombination erzeugt, die den mittleren Wert der Periode PASS aufweist, in der das Fehlerinformationssignal FA_IF<1 :M> auf einen logischen High-Pegel aktiviert ist. Zu diesem Zeitpunkt wird das erste Verzögerungscodesignal DCD1 < 1 :L> auf einen optimalen Wert gesetzt.
  • Wie aus der obigen Beschreibung ersichtlich ist, kann das Halbleitersystem gemäß der anderen Ausführungsform der vorliegenden Offenbarung einen Patrouillen-Trainingsbetrieb zum Einstellen eines Verzögerungsbetrags einer Signalübertragungsschaltung, die einen Controller und eine Speicherschaltung koppelt, während eines Schreibbetriebs und eines Lesebetriebs durchführen. Durch die Durchführung des Patrouillen-Trainingsbetriebs zum Einstellen eines Verzögerungsbetrags der Signalübertragungsschaltung, die den Controller und die Speicherschaltung koppelt, während eines Schreibbetriebs und eines Lesebetriebs, kann das Halbleitersystem gemäß der anderen Ausführungsform der vorliegenden Offenbarung die Zuverlässigkeit der Dateneingabe und -ausgabe über die Signalübertragungsschaltung sicherstellen.
  • Obwohl einige Ausführungsformen der vorliegenden Lehre zu Veranschaulichungszwecken offenbart wurden, werden Durchschnittsfachleute in dem technischen Gebiet erkennen, dass verschiedene Änderungen, Ergänzungen und Ersetzungen möglich sind, ohne vom Umfang und Grundgedanken der vorliegenden Lehre, wie sie in den beigefügten Ansprüchen definiert ist, abzuweichen.

Claims (26)

  1. Halbleitersystem, umfassend: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchzuführen ist, und einen Verzögerungsbetrag einer Verzögerungszelle, die mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, ein Schreibsignal, ein Lesesignal und eine interne Adresse zur Durchführung eines normalen Betriebs erzeugt und an eine Vielzahl von Speicherschaltungen ausgibt, und einen Lesemodifizierungs-Schreibbetrieb durch Empfang eines Scrub-Steuersignals durchführt; eine Scrub-Steuerschaltung, die so konfiguriert ist, dass sie eine Vielzahl von Adressen speichert und das Scrub-Steuersignal erzeugt, wenn die Anzahl der gespeicherten Adressen einen voreingestellten Wert erreicht; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie im Lesemodifizierungs-Schreibbetrieb einen Datenfehler erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob ein Fehler in den Daten aufgetreten ist.
  2. Halbleitersystem nach Anspruch 1, wobei die Prozesssteuerschaltung bestimmt, ob der Patrouillen-Trainingsbetrieb während des Normalbetriebs durchgeführt werden soll.
  3. Halbleitersystem nach Anspruch 1, wobei während des Patrouillen-Trainingsbetriebs die Prozesssteuerschaltung ein Verzögerungscodesignal zum Einstellen des Verzögerungsbetrags der mit der Zielspeicherschaltung gekoppelten Verzögerungszelle abwärts zählt oder aufwärts zählt und danach das Verzögerungscodesignal auf der Grundlage des Fehlerinformationssignals einstellt.
  4. Halbleitersystem nach Anspruch 1, wobei die Prozesssteuerschaltung umfasst: eine Fehleranalyseschaltung, die so konfiguriert ist, dass sie auf der Grundlage des Fehlerinformationssignals analysiert, ob ein Fehler in einer Trainingsadresse aufgetreten ist, wenn das Scrub-Steuersignal eingegeben wird, und ein Fehleranalyseergebnissignal ausgibt; eine Trainingssteuersignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie ein Trainingsstartsignal erzeugt und ein Abwärtssteuersignal, ein Aufwärtssteuersignal und ein Codeausgabesteuersignal auf der Grundlage des Fehleranalyseergebnissignals erzeugt; und eine Codeerzeugungsschaltung, die so konfiguriert ist, dass sie das Verzögerungscodesignal sequentiell abwärts zählt, wenn das Abwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, das Verzögerungscodesignal sequentiell aufwärts zählt, wenn das Aufwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, und das Verzögerungscodesignal fixiert, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird.
  5. Halbleitersystem nach Anspruch 4, wobei, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird, die Codeerzeugungsschaltung das Verzögerungscodesignal auf einen mittleren Wert zwischen einem Minimalwert, auf den das Verzögerungscodesignal heruntergezählt wird, und einem Maximalwert, auf den das Verzögerungscodesignal hochgezählt wird, festlegt.
  6. Halbleitersystem nach Anspruch 1, wobei die Betriebssteuerschaltung umfasst: eine Trainings-Steuerungsschaltung, die so konfiguriert ist, dass sie, wenn das Scrub-Steuersignal in die Trainings-Steuerungsschaltung eingegeben wird, die Trainingsadresse erzeugt, indem sie eine Scrub-Adresse von der Scrub-Steuerschaltung empfängt, und ein Trainings-Lesesignal und ein Trainings-Schreibsignal zur Durchführung des Lese-Modifizierungs-Schreibbetriebs erzeugt; und eine Lese-/Schreib-Steuerschaltung, die so konfiguriert ist, dass sie bei der Durchführung des normalen Betriebs das Schreibsignal zur Durchführung eines Schreibbetriebs und das Lesesignal zur Durchführung eines Lesebetriebs erzeugt und die interne Adresse aus der Adresse erzeugt.
  7. Halbleitersystem nach Anspruch 1, wobei die Scrub-Steuerschaltung umfasst: eine Scrub-Steuersignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie das Scrub-Steuersignal erzeugt, wenn ein Adressenspeicher-Abschlusssignal in die Scrub-Steuersignal-Erzeugungsschaltung eingegeben wird; und eine Scrub-Adressen-Erzeugungsschaltung, die so konfiguriert ist, dass sie die Adresse speichert, wenn das Trainings-Startsignal in die Scrub-Adressen-Erzeugungsschaltung eingegeben wird, das Adressenspeicher-Abschlusssignal erzeugt, wenn die Anzahl der gespeicherten Adressen den voreingestellten Wert erreicht, und die gespeicherten Adressen als Scrub-Adresse ausgibt.
  8. Halbleitersystem nach Anspruch 7, wobei die Prozesssteuerschaltung den Verzögerungsbetrag der Verzögerungszelle initialisiert, wenn das Adressenspeicher-Abschlusssignal erzeugt wird.
  9. Halbleitersystem nach Anspruch 1, wobei die Fehlererkennungsschaltung umfasst: eine Paritätserzeugungsschaltung, die so konfiguriert ist, dass sie im Schreibbetrieb des normalen Betriebs eine Parität als Fehlerinformation von Schreibdaten, die vom Host ausgegeben werden, erzeugt, indem sie einen Fehlerkorrekturcode-(ECC)-Codierungsbetrieb an den Schreibdaten durchführt; eine Syndrom-Erzeugungsschaltung, die so konfiguriert ist, dass sie im Lesebetrieb des Normalbetriebs auf der Grundlage von aus den Daten erzeugten Übertragungsdaten ein Syndrom zur Korrektur eines Fehlers der Übertragungsdaten erzeugt; eine Korrekturdaten-Erzeugungsschaltung, die so konfiguriert ist, dass sie Korrekturdaten erzeugt, indem sie einen Fehler in den Übertragungsdaten korrigiert, indem sie einen Fehlerkorrekturcode-(ECC)-Dekodierungsbetrieb auf der Grundlage des Syndroms durchführt; eine Datenausgabeschaltung, die so konfiguriert ist, dass sie im Schreibbetrieb des Normalbetriebs die Übertragungsdaten durch Synthetisieren der Schreibdaten und der Parität als Fehlerinformation der Schreibdaten ausgibt und im Lesebetrieb des Normalbetriebs die Korrekturdaten als Lesedaten ausgibt; und eine Fehlerinformationssignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie das Fehlerinformationssignal durch Erkennung eines Fehlers in den Übertragungsdaten auf der Grundlage des Syndroms erzeugt.
  10. Halbleitersystem nach Anspruch 1, ferner umfassend: eine mit der Zielspeicherschaltung gekoppelte Eingangs- und Ausgangsschaltung (Eingang/Ausgang), wobei die Eingangs-/Ausgangsschaltung umfasst: die Verzögerungszelle, die so konfiguriert ist, dass sie ein Abtastsignal erzeugt, indem sie ein Strobe-Signal um einen durch das Verzögerungscodesignal eingestellten Verzögerungsbetrag verzögert; und eine Datenabtastschaltung, die so konfiguriert ist, dass sie die Übertragungsdaten durch Abtasten der Daten erzeugt, die von der Zielspeicherschaltung in die Datenabtastschaltung eingegeben werden, und zwar synchron mit dem Abtastsignal.
  11. Elektronische Vorrichtung, umfassend: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetrieb durchzuführen ist, und einen Verzögerungsbetrag einer Verzögerungszelle, die mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, aus dem Befehl ein Schreibsignal und ein Lesesignal zur Durchführung eines normalen Betriebs erzeugt und aus der Adresse eine interne Adresse zur Durchführung des normalen Betriebs erzeugt; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie einen Fehler in Daten erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob der Fehler in den Daten aufgetreten ist.
  12. Elektronische Vorrichtung nach Anspruch 11, wobei die Prozesssteuerschaltung bestimmt, ob der Patrouillen-Trainingsbetrieb während des Normalbetriebs durchgeführt werden soll.
  13. Elektronische Vorrichtung nach Anspruch 11, wobei während des Patrouillen-Trainingsbetriebs die Prozesssteuerschaltung ein Verzögerungscodesignal zum Einstellen des Verzögerungsbetrags der mit der Zielspeicherschaltung gekoppelten Verzögerungszelle abwärts zählt oder aufwärts zählt und danach das Verzögerungscodesignal auf der Grundlage des Fehlerinformationssignals einstellt.
  14. Elektronische Vorrichtung nach Anspruch 11, wobei die Prozesssteuerschaltung umfasst: eine Fehleranalyseschaltung, die so konfiguriert ist, dass sie auf der Grundlage des Fehlerinformationssignals analysiert, ob ein Fehler in der Adresse aufgetreten ist, und ein Fehleranalyse-Ergebnissignal ausgibt; eine Trainingssteuersignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie ein Abwärtssteuersignal, ein Aufwärtssteuersignal und ein Codeausgangssteuersignal auf der Grundlage des Fehleranalyse-Ergebnissignals erzeugt; und eine Codeerzeugungsschaltung, die so konfiguriert ist, dass sie das Verzögerungscodesignal sequentiell abwärts zählt, wenn das Abwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, das Verzögerungscodesignal sequentiell aufwärts zählt, wenn das Aufwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, und das Verzögerungscodesignal fixiert, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird.
  15. Elektronische Vorrichtung nach Anspruch 14, wobei, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird, die Codeerzeugungsschaltung das Verzögerungscodesignal auf einen Mittelwert zwischen einem Minimalwert, auf den das Verzögerungscodesignal heruntergezählt wird, und einem Maximalwert, auf den das Verzögerungscodesignal hochgezählt wird, festlegt.
  16. Elektronische Vorrichtung nach Anspruch 14, wobei die Fehleranalyseschaltung das Fehleranalyse-Ergebnissignal auf der Grundlage des Fehlerinformationssignals erzeugt, nachdem das Lesesignal erzeugt wird.
  17. Elektronische Vorrichtung nach Anspruch 11, wobei die Fehlererkennungsschaltung umfasst: eine Paritätserzeugungsschaltung, die so konfiguriert ist, dass sie in einem Schreibbetrieb des Normalbetriebs eine Parität als Fehlerinformation von Schreibdaten, die vom Host ausgegeben werden, erzeugt, indem sie einen Fehlerkorrekturcode-(ECC)-Codierungsbetrieb an den Schreibdaten durchführt; eine Syndrom-Erzeugungsschaltung, die so konfiguriert ist, dass sie in einem Lesebetrieb des Normalbetriebs auf der Grundlage von aus den Daten erzeugten Übertragungsdaten ein Syndrom zur Korrektur eines Fehlers der Übertragungsdaten erzeugt; eine Korrekturdaten-Erzeugungsschaltung, die so konfiguriert ist, dass sie Korrekturdaten erzeugt, indem sie einen Fehler in den Übertragungsdaten korrigiert, indem sie eine Fehlerkorrekturcode (ECC)-Dekodierungsbetrieb auf der Grundlage des Syndroms durchführt; eine Datenausgabeschaltung, die so konfiguriert ist, dass sie im Lesebetrieb des Normalbetriebs die Korrekturdaten als Lesedaten ausgibt; und eine Fehlerinformationssignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie das Fehlerinformationssignal durch Erkennung eines Fehlers in den Übertragungsdaten auf der Grundlage des Syndroms erzeugt.
  18. Elektronische Vorrichtung nach Anspruch 11, ferner umfassend: eine mit der Zielspeicherschaltung gekoppelte Eingangs- und Ausgangsschaltung (Input/Output), wobei die Eingangs-/Ausgangsschaltung umfasst: die Verzögerungszelle, die so konfiguriert ist, dass sie ein Abtastsignal erzeugt, indem sie ein Strobe-Signal um einen durch das Verzögerungscodesignal eingestellten Verzögerungsbetrag verzögert; und eine Datenabtastschaltung, die so konfiguriert ist, dass sie die Übertragungsdaten durch Abtasten der Daten erzeugt, die von der Zielspeicherschaltung in die Datenabtastschaltung eingegeben werden, und zwar synchron mit dem Abtastsignal.
  19. Halbleitersystem, umfassend: eine Prozesssteuerschaltung, die so konfiguriert ist, dass sie bestimmt, ob ein Patrouillen-Trainingsbetreib durchgeführt werden soll, ein Spannungscodesignal zum Einstellen eines Pegels einer Referenzspannung erzeugt, die einen logischen Pegel von Daten in einer Zielspeicherschaltung bestimmt, und das Spannungscodesignal auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einstellt; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, aus dem Befehl ein Schreibsignal und ein Lesesignal zur Durchführung eines normalen Betriebs erzeugt und aus der Adresse eine interne Adresse zur Durchführung des normalen Betriebs erzeugt; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie einen Fehler in den Daten erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob der Fehler in den Daten aufgetreten ist.
  20. Halbleitersystem nach Anspruch 19, wobei die Prozesssteuerschaltung bestimmt, ob der Patrouillen-Trainingsbetrieb in einem Lesebetrieb während des normalen Betriebs durchgeführt werden soll.
  21. Halbleitersystem nach Anspruch 19, wobei die Prozesssteuerschaltung Folgendes umfasst: eine Fehleranalyseschaltung, die so konfiguriert ist, dass sie auf der Grundlage des Fehlerinformationssignals analysiert, ob ein Fehler in der Adresse aufgetreten ist, und ein Fehleranalyse-Ergebnissignal ausgibt; eine Trainingssteuersignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie ein Abwärtssteuersignal, ein Aufwärtssteuersignal und ein Codeausgangssteuersignal auf der Grundlage des Fehleranalyseergebnissignals erzeugt; und eine Codeerzeugungsschaltung, die so konfiguriert ist, dass sie das Spannungscodesignal sequentiell abwärts zählt, wenn das Abwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, das Spannungscodesignal sequentiell aufwärts zählt, wenn das Aufwärtssteuersignal in die Codeerzeugungsschaltung eingegeben wird, und das Spannungscodesignal fixiert, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird.
  22. Halbleitersystem nach Anspruch 21, wobei, wenn das Codeausgangssteuersignal in die Codeerzeugungsschaltung eingegeben wird, die Codeerzeugungsschaltung das Spannungscodesignal auf einen mittleren Wert zwischen einem Minimalwert, auf den das Spannungscodesignal heruntergezählt wird, und einem Maximalwert, auf den das Spannungscodesignal hochgezählt wird, festlegt.
  23. Halbleitersystem nach Anspruch 19, wobei die Zielspeicherschaltung umfasst: einen Speicherbereich, der so konfiguriert ist, dass er interne Daten, die in dem Speicherbereich gespeichert sind, auf der Grundlage des Lesesignals und der internen Adresse ausgibt; einen Spannungsgenerator, der so konfiguriert ist, dass er die Referenzspannung mit einem Spannungspegel erzeugt, der in Abhängigkeit von einer Logikpegelkombination des Spannungscodesignals eingestellt wird; und eine Datenverarbeitungsschaltung, die so konfiguriert ist, dass sie die Daten durch Vergleichen der Pegel der Referenzspannung und der internen Daten erzeugt.
  24. Halbleitersystem, umfassend: eine Prozesssteuerschaltung, die konfiguriert ist, um zu bestimmen, ob ein Patrouillen-Trainingsbetrieb durchgeführt werden soll, und um einen Aktivierungszeitpunkt eines Puffers, der mit einer Zielspeicherschaltung gekoppelt ist, auf der Grundlage eines der Zielspeicherschaltung entsprechenden Fehlerinformationssignals einzustellen; eine Betriebssteuerschaltung, die so konfiguriert ist, dass sie einen Befehl und eine Adresse von einem Host empfängt, ein Schreibsignal, ein Lesesignal und eine interne Adresse zur Durchführung eines normalen Betriebs erzeugt und an eine Vielzahl von Speicherschaltungen ausgibt, und einen Lesemodifizierungs-Schreibbetrieb durch Empfang eines Scrub-Steuersignals durchführt; eine Scrub-Steuerschaltung, die so konfiguriert ist, dass sie eine Vielzahl von Adressen speichert und das Scrub-Steuersignal erzeugt, wenn die Anzahl der gespeicherten Adressen einen voreingestellten Wert erreicht; und eine Fehlererkennungsschaltung, die so konfiguriert ist, dass sie im Lesemodifizierungs-Schreibbetrieb einen Datenfehler erkennt, indem sie die Daten von der Zielspeicherschaltung empfängt, und das Fehlerinformationssignal in Abhängigkeit davon erzeugt, ob ein Fehler in den Daten aufgetreten ist.
  25. Halbleitersystem nach Anspruch 24, wobei während des Patrouillen-Trainingsbetriebs die Prozesssteuerschaltung ein Verzögerungscodesignal zum Einstellen des Aktivierungspunkts des mit der Zielspeicherschaltung gekoppelten Puffers abwärts oder aufwärts zählt und danach das Verzögerungscodesignal auf der Grundlage des Fehlerinformationssignals einstellt.
  26. Halbleitersystem nach Anspruch 24 ferner umfassend: eine Pufferschaltung, wobei die Pufferschaltung umfasst: eine Aktivierungssignal-Erzeugungsschaltung, die so konfiguriert ist, dass sie ein Pufferaktivierungssignal mit einem Aktivierungszeitpunkt erzeugt, der um einen durch das Verzögerungscodesignal eingestellten Verzögerungsbetrag eingestellt ist; den Puffer, der so konfiguriert ist, dass er ein Strobe-Signal als Abtastsignal synchron zu einem Zeitpunkt ausgibt, wenn das Pufferaktivierungssignal aktiviert ist; und eine Dateneingabe- und Ausgabeschaltung (Eingabe/Ausgabe), die so konfiguriert ist, dass sie Übertragungsdaten durch Abtasten der von der Zielspeicherschaltung eingegebenen Daten in Synchronisation mit dem Abtastsignal erzeugt.
DE102022208116.1A 2021-08-05 2022-08-04 Halbleitersystem für die durchführung eines trainingsbetriebs Pending DE102022208116A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0103247 2021-08-05
KR1020210103247A KR20230021409A (ko) 2021-08-05 2021-08-05 트레이닝동작을 수행하기 위한 반도체시스템

Publications (1)

Publication Number Publication Date
DE102022208116A1 true DE102022208116A1 (de) 2023-02-09

Family

ID=84975178

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022208116.1A Pending DE102022208116A1 (de) 2021-08-05 2022-08-04 Halbleitersystem für die durchführung eines trainingsbetriebs

Country Status (5)

Country Link
US (1) US11579966B1 (de)
KR (1) KR20230021409A (de)
CN (1) CN115705264A (de)
DE (1) DE102022208116A1 (de)
TW (1) TW202321916A (de)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216481A (ja) * 2001-01-19 2002-08-02 Hitachi Ltd 半導体集積回路装置
US8527836B2 (en) 2011-07-01 2013-09-03 Intel Corporation Rank-specific cyclic redundancy check
KR102647418B1 (ko) * 2016-06-23 2024-03-13 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10331517B2 (en) 2016-08-26 2019-06-25 Qualcomm Incorporated Link error correction in memory system
KR20180083975A (ko) 2017-01-13 2018-07-24 삼성전자주식회사 트레이닝 동작을 수행하는 메모리 시스템
KR102658230B1 (ko) * 2018-06-01 2024-04-17 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20210029616A (ko) * 2019-09-06 2021-03-16 에스케이하이닉스 주식회사 반도체장치
KR20210088917A (ko) * 2020-01-07 2021-07-15 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20220021097A (ko) * 2020-08-13 2022-02-22 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법

Also Published As

Publication number Publication date
TW202321916A (zh) 2023-06-01
KR20230021409A (ko) 2023-02-14
US11579966B1 (en) 2023-02-14
CN115705264A (zh) 2023-02-17
US20230043623A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
DE60117066T2 (de) Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes
DE102019118638A1 (de) Ein-Chip-System, das ein Training des Tastgrades des Schreibtakts unter Verwendung eines Modus-Register-Schreibbefehls durchführt, Betriebsverfahren des Ein-Chip-Systems, elektronische Vorrichtung mit dem Ein-Chip-System
DE4402796C2 (de) Verbesserte Redundanzanalysiereinrichtung für eine automatische Speichertestvorrichtung
DE68927164T2 (de) Verfahren zur Identifizierung schlechter Daten
DE19782077B4 (de) Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes
DE102010053281B4 (de) Verfahren und System zur Fehlerbehandlung bei einem Speichergerät
DE69029479T2 (de) Hochleistungsspeichersystem
DE102012210232B4 (de) Vorbeugende Speicherreparatur auf der Grundlage der Analyse einer Vielzahl von Symbolen und Bereinigungszyklen
DE102019129275A1 (de) Verfahren, Schaltung und integrierte Schaltung zum Transferieren von Daten und eines Datenprüffeldes
DE102018122826A1 (de) Vorrichtung zum Unterstützen eines Fehlerkorrekturcodes und Testverfahren dafür
DE102005051308A1 (de) Zentrale Vorrichtung zum Testen von Speicher und Verfahren
DE102019123510B4 (de) Nichtflüchtige Speichervorrichtung und Speichersystem, das die nichtflüchtige Speichervorrichtung umfasst
DE102019135863B4 (de) Speichercontroller, Speichervorrichtung und Speichersystem mit verbesserten Schwellenspannungs-Verteilungseigenschaften und ähnliche Betriebsverfahren
DE112015003569B4 (de) Verfahren und System zum Verwenden von NAND-Seitenpuffern, um die Übertragungspuffernutzung eines Festkörperlaufwerks zu verbessern
DE112014002403B4 (de) Hochleistungs-Lese-Modifizier-Schreib-System mit Zeilenratenzusammenführung von Datenrahmensegmenten in Hardware
DE102015210651A1 (de) Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
DE102022101526A1 (de) Speichercontroller, der ein Datentraining durchführt, Ein-Chip-System, das den Speichercontroller enthält, und Betriebsverfahren des Speichercontrollers
DE102017114054B4 (de) Speicheradressen-Schutzschaltung und Verfahren
DE102016214188A1 (de) Speichersystem mit Codierung
DE102022208116A1 (de) Halbleitersystem für die durchführung eines trainingsbetriebs
DE112007003639B4 (de) Verfahren und System zum Erfassen einer Störung in einer Fehlerkorrektureinheit
DE3786853T2 (de) Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern.
CN116863980B (zh) 一种门控信号的动态调节电路和方法
DE102020111321A1 (de) System und verfahren zur erkennung und berichtigung von datenfehlern eines transparenten registers
DE102005015828A1 (de) Hub, Speichermodul, Speichersystem, sowie dazugehörige Schreib- und Leseverfahren