DE102011084751B4 - Datenverarbeitungsbauelement, -system und -verfahren - Google Patents

Datenverarbeitungsbauelement, -system und -verfahren Download PDF

Info

Publication number
DE102011084751B4
DE102011084751B4 DE102011084751.0A DE102011084751A DE102011084751B4 DE 102011084751 B4 DE102011084751 B4 DE 102011084751B4 DE 102011084751 A DE102011084751 A DE 102011084751A DE 102011084751 B4 DE102011084751 B4 DE 102011084751B4
Authority
DE
Germany
Prior art keywords
data
crc code
crc
data processing
information
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.)
Active
Application number
DE102011084751.0A
Other languages
English (en)
Other versions
DE102011084751A1 (de
Inventor
Jin-Il Lee
Dong-Min Kim
Young-Soo Sohn
Kwang-Il Park
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011084751A1 publication Critical patent/DE102011084751A1/de
Application granted granted Critical
Publication of DE102011084751B4 publication Critical patent/DE102011084751B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Abstract

Datenverarbeitungsbauelement zum Senden von ersten Daten, mit- einem Datengenerator (111), der so konfiguriert ist, dass er erste Daten bereitstellt,- einem zyklischen Redundanzprüf(CRC)-Generator (112), der so konfiguriert ist, dass er eine CRC-Information mit wenigstens einem Bit erzeugt, dessen binärer Wert in Reaktion auf eine Umwandelinformation modifiziert ist, und- einem Datentransmitter (113), der so konfiguriert ist, dass er die CRC-Information und die ersten Daten als kombinierte Daten kombiniert und die kombinierten Daten seriell abgibt, gekennzeichnet durch- eine Musterprüfeinheit (314), die so konfiguriert ist, dass sie die Umwandelinformation erzeugt, wenn die ersten Daten ein vorgegebenes binäres Wertemuster aufweisen.

Description

  • Die Erfindung bezieht sich auf ein Datenverarbeitungsbauelement, -system und -verfahren und spezieller auf ein Datenverarbeitungsbauelement, -system und -verfahren, die ein zyklisches Redundanztest(CRC)-Fehlerdetektionsschema verwenden.
  • Bei Hochgeschwindigkeitsdatenübertragung zwischen Datenverarbeitungsbauelementen wird eine große Menge an Daten über Übertragungsleitungen übertragen, die zwischen den Datenverarbeitungsbauelementen eingeschleift sind. Während einer derartigen Hochgeschwindigkeitsdatenübertragung können einige Datenbits aus unterschiedlichen Gründen verzögert und/oder verzerrt sein, was Versatz (Skew) und fehlerhaften Datenempfang verursacht. Daher besteht ein Bedarf nach einer Hochgeschwindigkeitsdatenübertragungs-Fehlerkorrektur und einer Versatzbeseitigungs(Deskewing)-Technologie.
  • In der JP 2003-134092 A ist ein Kommunikationssystem offenbart, welches zwischen einem Zustand ohne Signal und der Übertragung von nur ‚0‘-Daten unterscheidet, indem es an eine Datenreihe eine invertierte Redundanzprüfsumme (CRC) anhängt, die ergänzte Datenreihe kodiert und die kodierte Datenreihe überträgt. Auf der Empfangsseite wird die übertragene Datenreihe dann dekodiert und mittels der angehängten Prüfsumme auf Übertragungsfehler hin überprüft. Dazu beinhaltet das Kommunikationssystem ein Datenverarbeitungsbauelement nach dem Oberbegriff des Anspruchs 1.
  • Der Erfindung liegt als technisches Problem die Bereitstellung eines Datenverarbeitungsbauelements, -systems und -verfahrens zugrunde, die zu einer Hochgeschwindigkeitsdatenübertragungs-Fehlerkorrektur und/oder zur Vermeidung oder Reduzierung von Versatz-Effekten in der Lage sind.
  • Die Erfindung löst dieses Problem durch die Bereitstellung eines Datenverarbeitungsbauelements mit Datensendefähigkeit mit den Merkmalen des Anspruchs 1, eines zugehörigen Datenverarbeitungsverfahrens mit den Merkmalen des Anspruchs 7, eines Datenverarbeitungsbauelements mit Datenempfangsfähigkeit mit den Merkmalen des Anspruchs 12, eines zugehörigen Datenverarbeitungsverfahrens mit den Merkmalen des Anspruchs 17 sowie eines Datenverarbeitungssystems mit einer Datenkommunikationsfähigkeit mit den Merkmalen des Anspruchs 22. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung werden im Folgenden beschrieben und sind in den begleitenden Zeichnungen gezeigt, in denen
    • 1 ein Blockdiagramm eines Datenverarbeitungssystems ist,
    • 2 ein Blockdiagramm eines weiteren Datenverarbeitungssystems ist,
    • 3 ein Blockdiagramm eines weiteren Datenverarbeitungssystems ist,
    • 4 ein Blockdiagramm eines weiteren Datenverarbeitungssystems ist,
    • 5 ein Blockdiagramm einer exemplarischen Ausführung eines Seriell/Parallel-Konverters eines in 4 gezeigten zweiten Datenverarbeitungsbauelements ist,
    • 6 ein Diagramm ist, das ein Beispiel für die Übertragung von Daten und eines zyklischen Redundanzprüf(CRC)-Codes in dem in 4 gezeigten System zeigt,
    • 7 ein Diagramm ist, das ein weiteres Beispiel für die Übertragung von Daten und eines zyklischen Redundanzprüf(CRC)-Codes in dem in 4 gezeigten System zeigt,
    • 8 ein Blockdiagramm eines weiteren Datenverarbeitungssystems ist,
    • 9 ein Diagramm ist, das ein Beispiel für die Erzeugung und Übertragung eines CRC-Codes zeigt,
    • 10 ein Flussdiagramm ist, das ein Datenverarbeitungsverfahren zeigt,
    • 11 ein Flussdiagramm ist, das ein weiteres Datenverarbeitungsverfahren zeigt,
    • 12a bis 12d Blockdiagramme von Anwendungsbeispielen eines Speichersystems mit einer Speichersteuereinheit und einem Speicherbauelement sind,
    • 13 ein Blockdiagramm eines Anwendungsbeispiels eines elektronischen Systems mit einem Halbleiterbauelement ist,
    • 14 ein Blockdiagramm eines Anwendungsbeispiels einer Speicherkarte ist, die ein Halbleiterbauelement verwendet,
    • 15 ein Blockdiagramm eines weiteren Anwendungsbeispiels einer Speicherkarte ist, die ein Halbleiterbauelement verwendet, und
    • 16 ein Blockdiagramm eines Rechnersystems mit einem Speicherbauelement oder einem Speichersystem ist.
  • Um die Erfindung, die Vorteile von Betriebsweisen des erfinderischen Konzepts und die Absichten, die durch Ausführungsformen der Erfindung erreicht werden, vollständig zu verstehen, werden die begleitenden Zeichnungen, welche die Ausführungsformen der Erfindung und Details derselben darstellen, im Folgenden unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Überall in den Zeichnungen beziehen sich gleiche Bezugszeichen auf gleiche Elemente.
  • 1 stellt ein Datenverarbeitungssystem gemäß der Erfindung dar. Wie in 1 gezeigt, ist das Datenverarbeitungssystem als ein Halbleitersystem 100 ausgelegt, das ein oder mehr Halbleiterbauelemente 110 und 120 beinhaltet, die Daten und Signale zwischen denselben senden und empfangen. Jedes der Halbleiterbauelemente 110 und 120 verarbeitet Sende- und Empfangsdaten, und sie können somit als ein erstes Datenverarbeitungsbauelement 110 beziehungsweise ein zweites Datenverarbeitungsbauelement 120 bezeichnet werden. Bei der Beschreibung eines Aufbaus und von Vorgängen, die in 1 gezeigt sind, wird angenommen, dass das erste Datenverarbeitungsbauelement 110 ein Datensendebauelement ist und das zweite Datenverarbeitungsbauelement 120 ein Datenempfangsbauelement ist. Jedes von dem ersten Datenverarbeitungsbauelement 110 und dem zweiten Datenverarbeitungsbauelement 120 kann jedoch sowohl eine Schaltkreiskonfiguration für Datenübertragung als auch eine Schaltkreiskonfiguration für Datenempfang aufweisen.
  • Das erste Datenverarbeitungsbauelement 110 beinhaltet einen Datengenerator 111, einen Fehlerkorrekturcodegenerator 112 und einen Datentransmitter 113. Das zweite Datenverarbeitungsbauelement 120 beinhaltet einen Datenempfänger 121, eine Datenspeichereinheit 122, einen Fehlerprüfeinheit 123 und einen Codedetektor 124. Das erste Datenverarbeitungsbauelement 112 und das zweite Datenverarbeitungsbauelement 120 senden und empfangen Signale durch eine Datenübertragungsleitung 130. Das erste Datenverarbeitungsbauelement 110 erzeugt zum Senden von Daten wenigstens ein zusätzliches Bit, d.h. ein Bit zusätzlich zu den normalen, nutzbaren, regulären zu übertragenden Daten, und fügt zum Senden der Daten das/die Bit(s) in die regulären Daten ein. Spezieller erzeugt das erste Datenverarbeitungsbauelement 110 einen Code zur Fehlerdetektion gemäß einem vorgegebenen Schema und fügt den erzeugten Code als das/die vorstehend erwähnte(n) zusätzliche(n) Bit(s) in die Daten ein.
  • Der Code für die Fehlerdetektion kann gemäß verschiedenen Schemata erzeugt werden. Zum Beispiel kann eine Parität entsprechend einem Datenblock erzeugt und in die Daten eingesetzt werden. Spezieller wird eine Parität von einem oder mehreren Bits für einen Datenblock erzeugt, der aus einer Mehrzahl von Datenbits besteht, und die erzeugte Parität wird zu einem Ende der Daten hinzugefügt oder mitten in die Daten eingefügt. Speziell beinhaltet der Code zur Fehlerkorrektur einen zyklischen Redundanzprüf(CRC)-Code, und das erste Datenverarbeitungsbauelement 110 erzeugt die zugehörige CRC-Information mittels Verwenden von Sendedaten, und das zweite Datenverarbeitungsbauelement 120 führt eine CRC-Prüfung an Empfangsdaten durch, die den CRC-Code beinhalten, um zu bestimmen, ob während der Datenübertragung ein Fehler auftritt. In einer Ausführungsform der Erfindung wird angenommen, dass der Code zur Fehlerdetektion ein CRC-Code ist, und in diesem Fall ist der Fehlerdetektionscodegenerator 112 als ein CRC-Generator definiert, und der Codedetektor 124 ist als ein CRC-Detektor definiert.
  • Die detaillierten Operationen des Halbleitersystems 100, des ersten Datenverarbeitungsbauelements 110 und des zweiten Datenverarbeitungsbauelements 120, die wie in 1 strukturiert sind, sind wie folgt. Der Datengenerator 111 erzeugt Daten DATA. Zum Beispiel kann der Datengenerator 111 ein Speicherzellenfeld zum Speichern der Daten DATA beinhalten, um diese in einem Datenlesevorgang durch die Datenübertragungsleitung 130 bereitzustellen. Wenn das erste Datenverarbeitungsbauelement 110 eine Steuereinheit zum Steuern eines Speicherbauelements ist, kann der Datengenerator 111 ein Datenkonverter zum Konvertieren verschiedener Information, z.B. Bildinformation oder Stimmeninformation, in Daten sein, die für eine Speicherung geeignet sind. Der CRC-Generator 112 empfängt die Daten DATA von dem Datengenerator 111 und erzeugt durch Verwenden der empfangenen Daten DATA einen CRC-Code CRC CODE. Der Datentransmitter 113 empfängt die Daten von dem Datengenerator 111 und den CRC-Code CRC CODE von dem CRC-Generator 112, kombiniert diese und überträgt die kombinierten Daten DATA+CRC CODE über die Datenübertragungsleitung 130.
  • Der CRC-Generator 112 erzeugt den CRC-Code CRC CODE durch eine arithmetische Operation bezüglich der Daten DATA. Zum Beispiel kann der CRC-Generator 112 den CRC-Code CRC CODE durch Verwenden eines Schieberegisters und eines oder mehrerer Gateelemente, z.B. eines EXOR-Elements erzeugen, und kann zum Beispiel einen 1-Bit CRC-Code pro Daten DATA von 8 Bits erzeugen. Der erzeugte CRC-Code wird zusammen mit den Daten DATA über die Datenübertragungsleitung 130 übertragen. Wenn das erste Datenverarbeitungsbauelement 110 die Daten DATA und den CRC-Code CRC Code gemäß einem seriellen Übertragungsschema sendet, werden parallele Daten gemäß einem vorgegebenen Rahmenformat in serielle Daten konvertiert, die Reihenfolge von Ausgabedaten wird festgelegt, und die Daten werden ausgegeben. Wenn zum Beispiel die Daten DATA und der CRC-Code CRC CODE gemäß einem seriellen Übertragungsschema während n Zeitintervallen oder n Einheitsintervallen seriell übertragen werden, kann der CRC-Code CRC CODE über die n Zeitintervalle (oder n Einheitsintervalle) hinweg verteilt und übertragen werden oder kann während eines der n Zeitintervalle übertragen werden.
  • Der CRC-Generator 112 invertiert wenigstens ein Bit des aus den Daten DATA erzeugten CRC-Codes CRC CODE. In 1 beinhaltet der CRC-Generator einen Inverter zum Invertieren des wenigstens einen Bits des erzeugten CRC-Codes CRC CODE. Information hinsichtlich einer Position eines zu invertierenden Bits in dem CRC CODE kann zuvor festgelegt und in dem ersten Datenverarbeitungsbauelement 110 und dem zweiten Datenverarbeitungsbauelement 120 gespeichert werden. Durch Invertieren des wenigstens einen Bits des CRC-Codes CRC CODE wird das wenigstens eine Bit in einem Muster des CRC-Codes CRC CODE umgeschaltet.
  • Mittels Durchführen einer Inversion des CRC-Codes CRC CODE ist es möglich zu verhindern, dass Werte aller Bits der kombinierten Daten DATA+CRC CODE gleich zueinander sind. Zum Beispiel ist es möglich zu verhindern, dass Werte aller Bits der kombinierten Daten DATA+CRC CODE auf hohem Logikpegel liegen, z.B. einem Wert von „1“, oder auf niedrigem Logikpegel sind, z.B. einem Wert von „0“. Wenn alle Bits der Daten DATA Werte „0“ aufweisen, können alle Bits des CRC-Codes CRC CODE entsprechend Werte „0“ aufweisen. Mittels Durchführen der invertierenden Operation an dem CRC-Code CRC CODE werden jedoch einige Bits des CRC-Codes CRC CODE umgeschaltet. Selbst wenn der CRC-Code CRC CODE gemäß einem vorgegebenen binären Wertmuster der Daten DATA als „10101010“ erzeugt wird und die Bitwerte des erzeugten CRC-Codes CRC CODE durch Inversion an geradzahligen Bits sämtlich auf „0“ wechseln, werden die kombinierten Daten DATA+CRC CODE wenigstens einmal umgeschaltet, und somit sind nicht alle Bitwerte der kombinierten Daten DATA+CRC Code gleich zueinander.
  • Der CRC-Generator 112 führt eine vorgegebene Festlegungsoperation durch und steuert eine Umschaltoperation bezüglich des CRC-Codes CRC CODE gemäß einem Ergebnis der Festlegungsoperation. Zum Beispiel kann der CRC-Generator 112 festlegen, ob die Daten DATA und der dazu gehörige CRC-Code CRC CODE wenigstens ein Bit enthalten, das umzuschalten ist. Wenn sowohl die Daten DATA als auch der CRC-Code CRC CODE keinerlei Umschaltbit enthalten, kann der CRC-Generator 112 wenigstens ein Bit des CRC-Codes CRC CODE invertieren.
  • Der Datentransmitter 113 kombiniert die Daten DATA und den CRC-Code CRC CODE, um die kombinierten Daten DATA+CRC CODE zu erzeugen, und überträgt die kombinierten Daten DATA+CRC CODE über die Datenübertragungsleitung 130. Die durch die Datenübertragungsleitung 130 übertragenen kombinierten Daten DATA+CRC CODE werden von dem Datenempfänger 121 der zweiten Datenverarbeitungsvorrichtung 120 empfangen. Der Datenempfänger 121 empfängt die kombinierten Daten DATA+CRC CODE, splittet sie in die Daten DATA und den CRC Code CRC CODE, liefert die Daten DATA an die Datenspeichereinheit 122 und liefert den CRC-Code CRC CODE an den CRC-Detektor 124. Der CRC-Detektor 124 speichert dann den empfangenen CRC-Code CRC CODE zeitweilig und invertiert wenigstens einige Bits des empfangenen CRC Codes CRC CODE, um den ursprünglichen CRC-Code CRC CODE zu detektieren. Die Fehlerprüfeinheit 123 bestimmt basierend auf einer arithmetischen Operation unter Verwendung der Daten DATA und des CRC-Codes CRC CODE, ob die empfangenen Daten DATA einen Fehler aufweisen, und erzeugt ein Detektionsergebnis. Das zweite Datenverarbeitungsbauelement 120 kann in Reaktion auf das Detektionsergebnis der Fehlerprüfeinheit 123 eine Operation durchführen, wie die Bereitstellung eines Befehls, der eine Rückübertragung der Daten DATA zu dem ersten Datenverarbeitungsbauelement 110 anfordert.
  • Gemäß den vorstehend beschriebenen Konstruktionen und Operationen fügt das erste Datenübertragungsbauelement 110 einen Code zur Fehlerkorrektur, wie einen CRC-Code, zu den Daten DATA als ein Übergangsbit hinzu und überträgt die mit dem Code versehenen Daten DATA. Da Bitwerte des CRC-Codes CRC CODE von einem binären Wertemuster der zu übertragenden Daten DATA abhängen, kann der CRC-Code gemäß dem binären Wertemuster der Daten DATA Bitwerte sämtlich von „0“ aufweisen. Daher erzeugt der CRC-Generator 112 dadurch, dass er des Weiteren einen Inverter zum Invertieren von wenigstens einem Bitwert des CRC-Codes CRC CODE beinhaltet, den CRC-Code CRC CODE mit einigen Bitwerten, die invertiert sind.
  • Das zweite Datenverarbeitungsbauelement 120 empfängt die kombinierten Daten DATA+CRC CODE, verfolgt eine Phase eines Taktsignals (nicht gezeigt) zu einem Übergang der kombinierten Daten DATA+CRC CODE oder einer Niedrig-zu-hoch- oder Hoch-zu-niedrig-Signalflanke der kombinierten Daten DATA+CRC CODE und tastet die Daten DATA und den CRC-Code CRC CODE unter Verwendung des verfolgten Taktsignals ab. Das zweite Datenverarbeitungsbauelement 120 splittet die Daten DATA und den CRC-Code CRC CODE aus den kombinierten Daten DATA+CRC CODE auf, gibt die Daten DATA an die Datenspeichereinheit 122 ab und gibt den CRC-Code an den CRC-Detektor 124 ab. Der CRC-Detektor 124 invertiert dann wenigstens ein Bit des empfangenen CRC-Codes CRC CODE und gibt den invertierten CRC-Code CRC CODE ab, und die Fehlerprüfeinheit 123 detektiert basierend auf einer arithmetischen Operation unter Verwendung der Daten DATA und des von dem CRC-Detektor 124 abgegebenen CRC-Codes CRC CODE, ob ein Fehler in den Daten DATA auftritt.
  • 2 stellt ein weiteres Datenverarbeitungssystem gemäß der Erfindung dar. Wie in 2 gezeigt, ist das System als ein Halbleitersystem 200 konfiguriert, das ein erstes Datenverarbeitungsbauelement 210 und ein zweites Datenverarbeitungsbauelement 220 beinhaltet. Wie zuvor erwähnt, können das erste Datenverarbeitungsbauelement 210 und das zweite Datenverarbeitungsbauelement 220 jeweils eines von einem Halbleiterchip oder einem anderen Halbleiterbauelement oder -system sein, das eine Übertragung oder einen Empfang von Daten durchführt. Bei der Beschreibung des in 2 gezeigten Halbleitersystems 200 werden gleiche Elemente, wie in 1 gezeigt, nicht erneut detailliert beschrieben. Außerdem wird angenommen, dass das erste Datenverarbeitungsbauelement 210 ein Datensendebauelement ist und das zweite Datenverarbeitungsbauelement 220 ein Datenempfangsbauelement ist.
  • Das erste Datenverarbeitungsbauelement 210 beinhaltet einen Datengenerator 211, einen CRC-Generator 212 und einen Parallel/Seriell-Konverter 213. Das zweite Datenverarbeitungsbauelement 220 beinhaltet einen Seriell/Parallel-Konverter 221, eine Datenspeichereinheit 222, eine Fehlerprüfeinheit 223 und einen CRC-Detektor 224. Eine Datenübertragungsleitung 230 ist zur Datenübertragung/zum Datenempfang in dem Halbleitersystem 200 zwischen dem ersten Datenverarbeitungsbauelement 210 und dem zweiten Datenverarbeitungsbauelement 220 angeordnet.
  • Der Datengenerator 211 erzeugt Daten DATA, die dem zweiten Datenverarbeitungsbauelement 220 zuzuführen sind. Der CRC-Generator 212 empfängt die Daten DATA und erzeugt basierend auf einer arithmetischen Operation unter Verwendung der empfangenen Daten DATA einen CRC-Code CRC CODE. Der CRC-Generator 212 invertiert wenigstens ein Bit des erzeugten CRC-Codes CRC CODE, um wenigstens ein Bit der kombinierten Daten DATA+CRC CODE umzuschalten, die von dem Parallel/Seriell-Konverter 213 durch Kombinieren der Daten DATA und des CRC-Codes CRC CODE erzeugt werden. Des Weiteren konvertiert er die kombinierten Daten DATA+CRC CODE von einer parallelen Form in eine serielle Form gemäß einem vorgegebenen Rahmenformat. Der Parallel/Seriell-Konverter 213 beinhaltet einen Ausgabetreiber (nicht gezeigt) zum Senden der kombinierten Daten DATA+CRC CODE durch die Datenübertragungsleitung 230. Im Hinblick auf eine invertierende Operation bezüglich des CRC-Codes CRC CODE wird zum Beispiel durch Invertieren eines n-ten Bits des CRC-Codes CRC CODE wenigstens ein Bit des CRC-Codes CRC CODE umgeschaltet, und somit weisen nicht alle Bits der kombinierten Daten DATA+CRC CODE Werte „0“ auf, selbst wenn alle Bits der zu übertragenden Daten DATA Werte „0“ aufweisen.
  • Die durch die Datenübertragungsleitung 230 übertragenen kombinierten Daten DATA+CRC CODE werden von dem Seriell/Parallel-Konverter 221 des zweiten Datenübertragungsbauelements 220 empfangen. Der Seriell/Parallel-Konverter 221 beinhaltet einen Eingabepuffer (nicht gezeigt) zum Empfangen der durch die Datenübertragungsleitung 230 übertragenen kombinierten Daten DATA+CRC CODE. Der Seriell/Parallel-Konverter 221 konvertiert die in einer seriellen Form empfangenen kombinierten Daten DATA+CRC CODE in eine parallele Form und splittet die in eine parallele Form konvertierten kombinierten Daten DATA+CRC CODE, um die Daten DATA und den CRC-Code CRC CODE zu erzeugen. Der Seriell/Parallel-Konverter 221 liefert die Daten DATA an die Datenspeichereinheit 222 und liefert den CRC-Code CRC CODE an den CRC-Detektor 224. Der CRC-Detektor 224 invertiert dann wenigstens ein Bit des empfangenen CRC-Codes CRC CODE, um den ursprünglichen CRC-Code CRC CODE zu detektieren. Die Fehlerprüfeinheit 223 führt unter Verwendung der Daten DATA und des von dem CRC-Detektor 224 erzeugten CRC-Codes CRC CODE eine arithmetische Operation durch, detektiert basierend auf einem Berechnungsergebnis, ob ein Fehler in den empfangenen Daten DATA auftritt, und erzeugt ein Detektionsergebnis. Wenn detektiert wird, dass in den empfangenen Daten DATA ein Fehler auftritt, kann die Fehlerprüfeinheit 223 das Detektionsergebnis durch die Datenübertragungsleitung 230 an das erste Datenverarbeitungsbauelement 210 senden, um nachzusuchen, dass das erste Datenverarbeitungsbauelement 210 erneut die Daten DATA sendet. In einer alternativen Ausführungsform kann die Fehlerprüfeinheit 223 das Detektionsergebnis durch eine Leitung senden, die von der Übertragungsleitung getrennt ist.
  • 3 stellt ein weiteres, als Halbleitersystem ausgeführtes Datenverarbeitungssystem 300 dar, das ein erstes Datenverarbeitungsbauelement 310 und ein zweites Datenverarbeitungsbauelement 320 beinhaltet. Wie zuvor erwähnt, können das erste Datenverarbeitungsbauelement 310 und das zweite Datenverarbeitungsbauelement 320 jeweils eines von einem Halbleiterchip, einem Halbleiterbauelement und einem Halbleitersystem sein, das eine Übertragung oder einen Empfang von Daten durchführt.
  • Das erste Datenverarbeitungsbauelement 310 beinhaltet einen Datengenerator 311, einen CRC-Generator 312, einen Parallel/Seriell-Konverter 313 und eine erste Musterprüfeinheit 314. Das zweite Datenverarbeitungsbauelement 320 beinhaltet einen Seriell/Parallel-Konverter 321, eine Datenspeichereinheit 322, eine Fehlerprüfeinheit 323, einen CRC-Detektor 324 und eine zweite Musterprüfeinheit 325. Eine Datenübertragungsleitung 330 ist für Datenübertragung/-empfang in dem Halbleitersystem 300 zwischen dem ersten Datenverarbeitungsbauelement 310 und dem zweiten Datenverarbeitungsbauelement 320 angeordnet.
  • Während des Betriebs erzeugt der Datengenerator 311 Daten DATA, die dem zweiten Datenverarbeitungsbauelement 320 zuzuführen sind. Die erste Musterprüfeinheit 314 prüft ein binäres Wertemuster der von dem Datengenerator 311 bereitgestellten Daten DATA und gibt eine Umwandelinformation ab. Zum Beispiel prüft die erste Musterprüfeinheit 314, ob das binäre Wertemuster der Daten DATA das gleiche wie ein zuvor festgelegtes Muster ist, gibt eine Umwandelinformation ab und prüft vorzugsweise, ob das binäre Wertemuster der Daten DATA Bitwerte sämtlich von „0“ aufweist, und gibt eine Umwandelinformation ab. Die von der ersten Musterprüfeinheit 314 abgegebene Umwandelinformation wird dem CRC-Generator 312 zugeführt, der dann eine invertierende Operation bezüglich des CRC-Codes CRC CODE unter Verwendung der Umwandelinformation steuert.
  • Spezieller empfängt der CRC-Generator 312 die Daten DATA und erzeugt den CRC-Code CRC CODE basierend auf einer arithmetischen Operation unter Verwendung der Daten DATA. Wenngleich in 3 nicht gezeigt, kann der CRC-Generator 312 die Daten DATA direkt von dem Datengenerator 311 empfangen oder sowohl die Daten DATA als auch die Umwandelinformation von der ersten Datenmusterprüfeinheit 314 empfangen. Wenn die Umwandelinformation einen ersten Zustand anzeigt, gibt der CRC-Generator 312 den erzeugten CRC-Code CRC CODE ohne Durchführung einer invertierenden Operation bezüglich des erzeugten CRC-Codes CRC CODE ab. Wenn andererseits die Umwandelinformation einen zweiten Zustand anzeigt, erzeugt der CRC Generator 312 den CRC-Code CRC CODE und gibt den CRC-Code CRC CODE ab, von dem wenigstens ein Bit invertiert ist. Wenn das binäre Wertemuster der Daten DATA Bitwerte sämtlich von „0“ aufweist, invertiert der CRC-Generator 312 wenigstens ein Bit des CRC-Codes CRC CODE, zum Beispiel einen Bitwert an einer zuvor festgelegten Position in dem CRC Code CRC CODE.
  • Der Parallel/Seriell-Konverter 313 kombiniert die Daten DATA und den CRC-Code CRC CODE, um die kombinierten Daten DATA+CRC CODE zu erzeugen, und führt die kombinierten Daten DATA+CRC CODE gemäß einem seriellen Übertragungsschema dem zweiten Datenverarbeitungsbauelement 320 durch die Datenübertragungsleitung 330 zu.
  • Der Seriell/Parallel-Konverter 321 des zweiten Datenverarbeitungsbauelements 320 empfängt die kombinierten Daten DATA+CRC CODE und konvertiert die empfangenen kombinierten Daten DATA+CRC CODE in eine parallele Form. Der Seriell/Parallel-Konverter 321 splittet die kombinierten Daten DATA+CRC CODE in die Daten DATA und den CRC-Code CRC CODE, führt die Daten DATA der Datenspeichereinheit 322 zu und führt den CRC-Code CRC CODE dem CRC-Detektor 324 zu. Die zweite Datenmusterprüfeinheit 325 prüft, ob das binäre Wertemuster der Daten DATA das gleiche wie ein zuvor festgelegtes Muster ist, ob zum Beispiel das binäre Wertemuster der Daten DATA Bitwerte von sämtlich „0“ aufweist. Die zweite Datenmusterprüfeinheit 325 liefert eine Umwandelinformation an den CRC-Detektor 324, der dann wenigstens ein Bit des CRC-Codes CRC CODE in Reaktion auf die Umwandelinformation invertiert. Die Fehlerprüfeinheit 323 führt unter Verwendung der Daten DATA und des CRC-Codes CRC CODE, der von dem CRC-Detektor 324 abgegeben wird, eine arithmetische Operation durch, detektiert basierend auf der arithmetischen Operation, ob ein Fehler in den Daten DATA auftritt, und gibt ein Detektionsergebnis ERROR ab. Das Detektionsergebnis ERROR kann dem ersten Datenverarbeitungsbauelement 310 zugeführt werden, zum Beispiel durch die Datenübertragungsleitung 330.
  • 4 stellt ein weiteres Datenverarbeitungssystem dar, das als ein Halbleitersystem 400 ausgeführt ist, das ein erstes Datenverarbeitungsbauelement 410 und ein zweites Datenverarbeitungsbauelement 420 beinhaltet. Wie zuvor erwähnt, können das erste Datenverarbeitungsbauelement 410 und das zweite Datenverarbeitungsbauelement 420 jeweils eines von einem Halbleiterchip, einem Halbleiterbauelement und einem Halbleitersystem sein, das eine Übertragung oder einen Empfang von Daten durchführt.
  • Das erste Datenverarbeitungsbauelement 410 beinhaltet einen Datengenerator 411, einen CRC-Generator 412, einen Parallel/Seriell-Konverter 413 und ein erstes Informationsregister 414. Das zweite Datenverarbeitungsbauelement 420 beinhaltet einen Seriell/Parallel-Konverter 421, eine Datenspeichereinheit 422, eine Fehlerprüfeinheit 423, einen CRC-Detektor 424 und ein zweites Informationsregister 425. Eine Datenübertragungsleitung 430 ist für Datenübertragung/-empfang in dem Halbleitersystem 400 zwischen dem ersten Datenverarbeitungsbauelement 410 und dem zweiten Datenverarbeitungsbauelement 420 angeordnet.
  • Während des Betriebs erzeugt der Datengenerator 411 Daten DATA, die dem zweiten Datenverarbeitungsbauelement 420 zuzuführen sind, und führt die erzeugten Daten DATA dem CRC-Generator 412 zu. Das erste Informationsregister 414 speichert eine Umwandelinformation, d.h. eine erste Information, zum Umwandeln von wenigstens einem Bit des CRC-Codes CRC CODE und speichert vorzugsweise eine Information, die mit einem speziellen, zu invertierenden Bit in dem CRC-Code CRC CODE verknüpft ist, der unter Verwendung der Daten DATA erzeugt wird. Wenn zum Beispiel ein a-tes Bit des CRC-Codes CRC CODE zu invertieren und zu übertragen ist, speichert das erste Informationsregister 414 eine Information, die mit einer Position des a-ten Bits des CRC-Codes CRC CODE verknüpft ist. Wenn ungeradzahlige Bits des CRC-Codes CRC CODE zu invertieren und zu übertragen sind, wird eine Information gespeichert, die mit Positionen der ungeradzahligen Bits des CRC-Codes CRC CODE verknüpft sind. Die in dem ersten Informationsregister 414 gespeicherte erste Information wird dem CRC-Generator 412 zugeführt.
  • Der CRC-Generator 412 empfängt die Daten DATA und die erste Information und erzeugt den CRC-Code CRC CODE in Reaktion darauf. Zum Beispiel erzeugt der CRC-Generator 412 den CRC-Code CRC CODE basierend auf einer arithmetischen Operation unter Verwendung der Daten DATA und invertiert ein oder mehrere spezielle Bits des CRC-Codes CRC CODE und gibt den CRC-Code CRC CODE ab, von dem ein oder mehrere Bits invertiert sind. Der Parallel/Seriell-Konverter 413 kombiniert die Daten DATA und den CRC-Code CRC CODE, um kombinierte Daten DATA+CRC CODE zu erzeugen, und liefert die kombinierten Daten DATA+CRC CODE gemäß einem seriellen Übertragungsschema durch die Datenübertragungsleitung 430 an das zweite Datenverarbeitungsbauelement 420.
  • Der Seriell/Parallel-Konverter 421 des zweiten Datenverarbeitungsbauelements 420 empfängt die kombinierten Daten DATA+CRC CODE und konvertiert die empfangenen kombinierten Daten DATA+CRC CODE in eine parallele Form. Der Seriell/Parallel-Konverter 421 splittet die kombinierten Daten DATA+CRC CODE in die Daten DATA und den CRC-Code CRC CODE, führt die Daten DATA der Datenspeichereinheit 422 zu und führt den CRC-Code CRC CODE dem CRC-Detektor 424 zu. Das zweite Informationsregister 425 speichert Umwandelinformation, d.h. eine zweite Information, die mit einem speziellen, zu invertierenden Bit verknüpft ist, und führt die gespeicherte zweite Information dem CRC-Detektor 424 zu. Die in dem zweiten Informationsregister 425 gespeicherte zweite Information kann im Wesentlichen die gleiche wie die in dem ersten Informationsregister 414 gespeicherte erste Information sein, und somit werden einige, in dem ersten Datenverarbeitungsbauelement 410 invertierte Bits des CRC-Codes CRC CODE in der zweiten Datenverarbeitungsbauelement 420 erneut invertiert. Die Fehlerprüfeinheit 423 führt unter Verwendung der Daten DATA und des von dem CRC-Detektor 424 erzeugten CRC-Codes CRC CODE eine arithmetische Operation durch, detektiert basierend auf der arithmetischen Operation, ob in den Daten DATA ein Fehler auftritt, und gibt ein Detektionsergebnis ab.
  • 5 stellt eine exemplarische Ausführung des Seriell/Parallel-Konverters 421 des in 4 gezeigten zweiten Datenverarbeitungsbauelements 420 dar. Der Seriell/Parallel-Konverter 421 beinhaltet in diesem Beispiel einen Abtastschaltkreis 421_1, einen Taktwiedergewinnungsschaltkreis 421_2, einen Konverter 421_3 und einen Eingabepuffer 421 4.
  • Im Betrieb empfängt der Seriell/Parallel-Konverter 421 die kombinierten Daten DATA+CRC CODE und splittet dieselben, um die Daten DATA und den CRC-Code CRC CODE zu erzeugen. Zum Beispiel kann der Seriell/Parallel-Konverter 421 die Daten DATA und den CRC-Code CRC CODE aus den kombinierten Daten DATA+CRC CODE gemäß einem CDR(Takt- und Datenwiedergewinnungs)-Schema abtasten.
  • Die kombinierten Daten DATA+CRC CODE werden an dem Eingabepuffer 421_4 über die Datenübertragungsleitung 430 von 4 empfangen. Die gepufferten kombinierten Daten DATA+CRC CODE werden dem Abtastschaltkreis 421_1 und dem Taktwiedergewinnungsschaltkreis 421_2 zugeführt. Der Taktwiedergewinnungsschaltkreis 421_2 empfängt ein Taktsignal CLK und verfolgt eine Phase des Taktsignals CLK zu einer Umwandlung der kombinierten Daten DATA+CRC CODE oder zu einer Niedrig-zu-hoch- oder Hoch-zu-niedrig-Signalflanke der kombinierten Daten DATA+CRC CODE. Da ein Übertragungsbauelement (nicht gezeigt) wenigstens ein Bit des CRC-Codes CRC CODE invertiert, wird wenigstens ein Bit der kombinierten Daten DATA+CRC CODE umgewandelt, selbst wenn die Daten DATA Bitwerte sämtlich von „0“ aufweisen. Ein verfolgtes Taktsignal CLK_1 wird dem Abtastschaltkreis 421_1 zugeführt, der dann die kombinierten Daten DATA+CRC CODE unter Verwendung des verfolgten Taktsignals CLK_1 abtastet. Die Daten DATA und der CRC-Code CRC CODE, die von dem Abtastschaltkreis 421_1 abgetastet werden, werden dem Konverter zugeführt, der dann die Daten DATA und den CRC-Code CRC CODE in eine serielle Form konvertiert.
  • Wenngleich die exemplarische Ausführung des Seriell/Parallel-Konverters 421 von 4 in 5 gezeigt ist, kann die in 5 gezeigte Struktur identisch oder ähnlich auch in den vorhergehenden Ausführungsformen verwendet werden. Zum Beispiel können der Datenempfänger oder der Seriell/Parallel-Konverter, die in dem in den vorhergehenden Ausführungsformen erwähnten zweiten Datenverarbeitungsbauelement bereitgestellt sind, die Daten DATA und den CRC-Code CRC CODE gemäß einem CDR-Schema abtasten, und in diesem Fall kann sowohl der Datenempfänger als auch der Seriell/Parallel-Konverter einen Abtastschaltkreis und einen Taktwiedergewinnungsschaltkreis beinhalten.
  • 6 zeigt ein Beispiel für eine Übertragung von Daten und eines CRC-Codes in dem in 4 gezeigten Halbleitersystem 400. Bezugnehmend auf die 4 und 5 werden die Daten DATA und der CRC-Code CRC CODE in dem ersten Datenverarbeitungsbauelement 410 dem Parallel/Seriell-Konverter 413 zugeführt. Zu diesem Zeitpunkt werden ein oder mehrere spezielle Bits des CRC-Codes CRC CODE invertiert und dem Parallel/Seriell-Konverter 413 zugeführt. Positionen der zu invertierenden Bits in dem CRC-Code CRC CODE können unter Verwendung der in dem ersten Informationsregister 414 gespeicherten ersten Information gesteuert werden. Der Parallel/Seriell-Konverter 413 kombiniert die Daten DATA und den CRC-Code CRC CODE, dessen spezielle Bits invertiert sind, und überträgt die kombinierten Daten DATA+CRC CODE seriell durch einen Ausgabepuffer. Der Seriell/Parallel-Konverter 421 des zweiten Datenverarbeitungsbauelements 420 empfängt die kombinierten Daten DATA+CRC CODE durch einen Eingabepuffer und splittet die kombinierten Daten DATA+CRC CODE in die Daten DATA und den CRC-Code CRC CODE. Ein oder mehrere spezielle Bits des gesplitteten CRC-Codes CRC CODE werden invertiert, und Positionen der zu invertierenden Bits können unter Verwendung der in dem zweiten Informationsregister 425 gespeicherten zweiten Information gesteuert werden.
  • 7 zeigt ein weiteres Beispiel für die Übertragung von Daten und eines CRC-Codes in dem in 4 gezeigten Halbleitersystem 400. Bezugnehmend auf die 4 und 7 werden die Daten DATA und der CRC-Code CRC CODE in dem ersten Datenverarbeitungsbauelement 410 dem Parallel/Seriell-Konverter 413 zugeführt, der dann die Daten DATA und den CRC-Code CRC CODE kombiniert. Die kombinierten Daten DATA+CRC CODE werden gemäß einem vorgegebenen Rahmenformat von parallelen Daten in serielle Daten konvertiert.
  • Das erste Informationsregister 414 in dem ersten Datenverarbeitungsbauelement 410 speichert des Weiteren Information, die mit einer Übertragungsreihenfolge der Daten DATA und des CRC-Codes CRC CODE verknüpft ist, die von dem Parallel/Seriell-Konverter 413 zu übertragen sind, zusätzlich zu Information, die mit Positionen von zu invertierenden Bits in dem CRC-Code CRC CODE verknüpft ist. Das erste Informationsregister 414 führt derartige Information dem CRC-Generator 412 und dem Parallel/Seriell-Konverter 413 zu. Der CRC-Generator 412 invertiert ein oder mehrere Bits an speziellen Positionen in dem CRC-Code CRC CODE in Reaktion auf die Information, und der Parallel/Seriell-Konverter 413 konfiguriert ein Rahmenformat mit den Daten DATA und dem CRC-Code CRC CODE unter Verwendung der Information, die mit der von dem ersten Informationsregister 414 bereitgestellten Übertragungsreihenfolge verknüpft ist, um die Daten DATA und den CRC-Code CRC CODE zu kombinieren. Die kombinierten Daten DATA+CRC CODE werden seriell durch den Ausgabepuffer gemäß dem konfigurierten Rahmenformat übertragen. In 7 sind im Zusammenhang mit der Übertragungsreihenfolge zwei Fälle gezeigt, in denen der CRC-Code CRC CODE am Ende der Daten DATA hinzugefügt und übertragen wird oder Bits des CRC-Codes CRC CODE mitten in die Daten DATA eingefügt und übertragen werden.
  • Der Seriell/Parallel-Konverter 421 des zweiten Datenverarbeitungsbauelements 420 empfängt die kombinierten Daten DATA+CRC CODE durch den Eingabepuffer und splittet die kombinierten Daten DATA+CRC CODE in die Daten DATA und den CRC-Code CRC CODE. Das zweite Informationsregister 425 speichert des Weiteren Information, die mit einer Übertragungsreihenfolge der Daten DATA und des CRC-Codes CRC CODE verknüpft ist, die von dem ersten Datenverarbeitungsbauelement 410 zu übertragen sind, zusätzlich zu Information, die mit Positionen von zu invertierenden Bits in dem CRC-Code CRC CODE verknüpft ist. Der Seriell/Parallel-Konverter 421 splittet die kombinierten Daten DATA+CRC CODE in die Daten DATA und den CRC-Code CRC CODE unter Verwendung einer derartigen, in dem zweiten Informationsregister 425 gespeicherten Information. Der CRC-Detektor 424 invertiert ein oder mehrere spezielle Bits des CRC-Codes CRC CODE unter Verwendung der in dem zweiten Informationsregister 425 gespeicherten Information und gibt den invertierten CRC-Code CRC CODE ab.
  • Um den CRC-Code CRC CODE zu invertieren, invertiert in der vorliegenden Ausführungsform und den vorhergehenden Ausführungsformen ein Datensendebauelement den CRC-Code CRC CODE in einem CRC-Generator, und ein Datenempfangsbauelement invertiert ebenfalls den CRC-Code CRC CODE in einem CRC-Detektor. Die Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel kann ein Datensendebauelement einen oder mehrere Inverter in einem Datentransmitter oder einem Parallel/Seriell-Konverter beinhalten, und es können Informationen, die Positionen von zu invertierenden Bits anzeigen, dem Datentransmitter oder dem Parallel/Seriell-Konverter zugeführt werden. In ähnlicher Weise kann ein Datenempfangsbauelement einen oder mehrere Inverter in einem Datenempfänger oder einem Seriell/Parallel-Konverter beinhalten, und es können Informationen, die Positionen von zu invertierenden Bits anzeigen, dem Datenempfänger oder dem Seriell/Parallel-Konverter zugeführt werden.
  • 8 stellt ein weiteres Datenverarbeitungssystem dar, das als ein Halbleitersystem 500 ausgeführt ist, das ein erstes Datenverarbeitungsbauelement 510 und ein zweites Datenverarbeitungsbauelement 520 beinhaltet. Das erste Datenverarbeitungsbauelement 510 beinhaltet einen Datengenerator 511, einen CRC-Generator 512 und einen Datentransmitter 513, und das zweite Datenverarbeitungsbauelement 520 beinhaltet einen Datenempfänger 521, eine Datenspeichereinheit 522, eine Fehlerprüfeinheit 523 und einen CRC-Detektor 524. Eine Datenübertragungsleitung 530 für eine parallele Datenübertragung ist zwischen dem ersten Datenverarbeitungsbauelement 510 und dem zweiten Datenverarbeitungsbauelement 520 angeordnet.
  • In dem in 8 gezeigten Halbleitersystem 500 übertragen das erste Datenverarbeitungsbauelement 510 und das zweite Datenverarbeitungsbauelement 520 die kombinierten Daten DATA+CRC CODE parallel durch die Datenübertragungsleitung 530 mit mehreren Kanälen. Der CRC-Generator 512 führt eine arithmetische Operation an den Daten DATA von dem Datengenerator 511 durch, um den CRC-Code CRC CODE zu erzeugen, und wandelt (oder invertiert) wenigstens ein Bit des CRC-Codes CRC CODE um. Der Datentransmitter 513 kombiniert die Daten DATA und den CRC-Code CRC CODE, um die kombinierten Daten DATA+CRC CODE zu erzeugen, und überträgt die kombinierten Daten DATA+CRC CODE zu dem zweiten Datenverarbeitungsbauelement 520 parallel durch n Kanäle. Wenn zum Beispiel die Datenübertragungsleitung 530 8 Kanäle beinhaltet, werden erste Daten bis achte Daten DQ0-DQ7 parallel durch die Datenübertragungsleitung 530 übertragen, und nachdem die Daten DATA von 8 Byte gemäß einem derartigen Parallel-Übertragungsschema übertragen sind, kann der CRC-Code CRC CODE durch die Datenübertragungsleitung 530 übertragen werden.
  • In 8 gezeigte erste bis achte CRC-Codes /CRC0-/CRC7 sind CRC-Codes, die so erzeugt wurden, dass sie den 8-Byte-Daten DATA entsprechen, und wenigstens ein Bit von jedem CRC-Code wurde invertiert. Unter der Annahme, dass 8 Bits der Daten DATA und jeder 1-Bit-CRC-Code CRC CODE sequentiell durch jeden Kanal der Datenübertragungsleitung 530 übertragen werden, kann der CRC-Code CRC CODE, wenn die 8 Bits der Daten DATA Werte sämtlich von „0“ aufweisen, ebenfalls einen Bit-Wert von „0“ aufweisen, wodurch Bit-Werte von durch einen Kanal übertragenen, kombinierten Daten DATA+CRC CODE sämtlich „0“ sein können. Um dieses Phänomen zu verhindern, kann der durch jeden Kanal der Datenübertragungsleitung 530 übertragene CRC-Code CRC CODE zu jeder Zeit invertiert werden. Wenn zum Beispiel der erste bis achte CRC-Code /CRC0-/CRC7 jeweils parallel durch die 8 Kanäle übertragen werden, sind der erste bis achte CRC-Code /CRC0-/CRC7 invertierte Codes der ursprünglichen, von dem CRC-Code-Generator 512 erzeugten CRC-Codes CRC0-CRC7.
  • Wenn die kombinierten Daten DATA+CRC CODE parallel übertragen werden und der CRC-Code CRC CODE basierend auf einer Summationsoperation der Daten DATA erzeugt wird, kann der CRC-Code CRC CODE entsprechend den Daten DATA, die Bit-Werte sämtlich von „1“ aufweisen, ebenfalls einen Bit-Wert von „1“ aufweisen. Wenn zum Beispiel in 8 gezeigte Daten (8-Byte-Daten DATA) Bit-Werte sämtlich von „1“ aufweisen, weist der durch eine arithmetische Operation bezüglich der Daten erzeugte CRC-Code CRC CODE Bit-Werte von „1“ oder „0“ auf. Somit können in einigen der 8 Kanäle Bit-Werte der Daten DATA und des CRC-Codes CRC CODE Bit-Werte sämtlich von „1“ aufweisen, wodurch in den durch jene Kanäle übertragenen, kombinierten Daten DATA+CRC CODE kein Umwandeln auftritt.
  • Mit einer arithmetischen Gleichung zum Erzeugen des CRC-Codes CRC CODE verknüpfte Information wird vorab in einem Datensendebauelement und einem Datenempfangsbauelement derart gesetzt, dass, wenn die Daten DATA Bit-Werte sämtlich von „1“ aufweisen, Positionen von Bits mit Werten von „1“ unter Bits des CRC-Codes CRC-CODE bekannt sein können. Wenn daher die Daten DATA Bit-Werte sämtlich von „1“ aufweisen, können des Weiteren Informationen zum Invertieren spezieller Bits des CRC-Codes CRC CODE in dem Datensendebauelement oder dem Datenempfangsbauelement gespeichert werden. Die in der vorhergehenden Ausführungsform beschriebene Musterprüfeinheit zum Prüfen des binären Wertemusters der Daten DATA kann des Weiteren prüfen, ob die Daten DATA Bit-Werte sämtlich von „1“ aufweisen. Wenn die zu übertragenden Daten DATA Bit-Werte sämtlich von „1“aufweisen, wird die invertierende Operation an dem CRC-Code CRC CODE gemäß der Information zum Invertieren spezieller Bits des CRC-Codes CRC CODE durchgeführt. Das Datenempfangsbauelement prüft außerdem, ob die empfangenen Daten DATA Bit-Werte sämtlich von „1“ aufweisen, und führt die invertierende Operation bezüglich des CRC-Codes CRC CODE gemäß einer Umwandelinformation durch.
  • 9 zeigt ein Beispiel für die Erzeugung und Übertragung eines CRC-Codes in einem Halbleitersystem gemäß der Erfindung. Wie in 9 gezeigt, werden 8-Bit CRC-Codes CRC [0:7] erzeugt, um 64-Bit (oder 8-Byte) Daten DATA [0:63] zu entsprechen, und kombinierte Daten aus den Daten DATA [0:63] und den CRC-Codes CRC [0:7] werden durch eine Datenübertragungsleitung übertragen. Die CRC-Codes CRC [0:7] können mittels Durchführen einer arithmetischen Operation an den Daten DATA [0:63] erzeugt werden, und wenn zum Beispiel die CRC-Codes CRC [0:7] basierend auf einer Summationsoperation der Daten DATA [0:63] erzeugt werden, weisen alle Bits der CRC-Codes CRC [0:7] Werte von „0“ auf, wenn alle Bits der Daten DATA [0:63] Werte von „0“ aufweisen. In diesem Fall können alle Bit-Werte der kombinierten Daten auch „0“ sein, wodurch keine Datenumwandlung auftritt und ein Bauelement, das die übertragenen kombinierten Daten empfängt, die kombinierten Daten folglich nicht richtig abtasten kann.
  • Folglich setzt ein Halbleitersystem gemäß einer Ausführungsform der Erfindung ein Protokoll zum Umwandeln von wenigstens einem Bit eines CRC-Codes CRC CODE fest und ermöglicht eine Übertragung von Daten DATA und des CRC-Codes CRC CODE zwischen Datenverarbeitungsbauelementen gemäß dem festgesetzten Protokoll. Wie in 8 gezeigt, kann ein Protokoll gesetzt werden, um ungeradzahlige Bits eines CRC-Codes CRC CODE zu invertieren, der aus mehreren Bits besteht, oder kann gesetzt werden, um geradzahlige Bits des CRC-Codes CRC CODE zu invertieren. Alternativ kann, wie in der vorhergehenden Ausführungsform erwähnt, ein Protokoll gesetzt werden, um ein oder mehrere spezielle Bits zu invertieren, oder kann gesetzt werden, um wenigstens ein Bit des CRC-Codes CRC CODE zu invertieren, wenn alle Bits der Daten DATA als Ergebnis der Detektion des binären Wertemusters der Daten DATA Werte sämtlich von „0“ aufweisen.
  • 10 ist ein Flussdiagramm, das ein Datenverarbeitungsverfahren gemäß der Erfindung zeigt. Speziell zeigt 10 ein Betriebsverfahren eines Datenverarbeitungsbauelements, das kombinierte Daten von Daten DATA und von einem CRC-Code CRC CODE überträgt. Wie in 10 gezeigt, empfängt bei Erzeugung von ursprünglichen Daten in einem Datensendebauelement ein Logikblock zum Erzeugen eines CRC-Codes die ursprünglichen Daten (Betriebsschritt S11) und führt eine arithmetische Operation an den empfangenen, ursprünglichen Daten durch, um den CRC-Code zu erzeugen (Betriebsschritt S12). Speziell wandelt der Logikblock zum Erzeugen des CRC-Codes wenigstens ein Bit des erzeugten CRC-Codes um. Zu diesem Zweck invertiert der Logikblock zum Beispiel ein oder mehrere, zuvor festgelegte Bits des CRC-Codes oder detektiert ein Muster der ursprünglichen Daten und invertiert oder invertiert nicht wenigstens ein Bit des CRC-Codes gemäß einem Detektionsergebnis. Wenn alle Bits der ursprünglichen Daten Werte von „0“ aufweisen, kann wenigstens ein Bit des CRC-Codes invertiert werden.
  • Derart wird der CRC-Code bei Erzeugung des CRC-Codes, dessen wenigstens eines Bit umgewandelt ist, zu den ursprünglichen Daten hinzugefügt, um kombinierte Daten zu erzeugen (Betriebsschritt S13), und die erzeugten kombinierten Daten werden einem Datenempfangsbauelement durch eine Datenübertragungsleitung zugeführt (Betriebsschritt S14). Wenngleich das Datenverarbeitungsverfahren gemäß der momentanen Ausführungsform der Erfindung unter Bezugnahme auf ein Beispiel eines Betriebs des in 1 gezeigten Halbleitersystems 100 beschrieben wurde, ist die Erfindung nicht darauf beschränkt. Das heißt, das Datenverarbeitungsverfahren gemäß der momentanen Ausführungsform kann auf die vorhergehenden anderen Ausführungsformen angewendet werden, zum Beispiel ein Schema für serielles Übertragen der kombinierten Daten, ein Schema für paralleles Übertragen der kombinierten Daten, ein Schema zum Invertieren spezieller Bits des CRC-Codes durch Verwenden von in einem Register gespeicherter Information ungeachtet eines Musters der ursprünglichen Daten und ein Schema zum selektiven Invertieren spezieller Bits des CRC-Codes gemäß dem Muster der ursprünglichen Daten.
  • 11 ist ein Flussdiagramm, das ein weiteres Datenverarbeitungsverfahren gemäß der Erfindung zeigt. Speziell zeigt 11 ein Betriebsverfahren eines Datenverarbeitungsbauelements, das kombinierte Daten von Daten DATA und von einem CRC-Code CRC CODE empfängt. Wie in 11 gezeigt, empfängt ein Datenempfangsbauelement kombinierte Daten, die durch eine Datenübertragungsleitung übertragen werden (Betriebsschritt S21). Das Datenempfangsbauelement führt eine Abtastung der kombinierten Daten basierend auf einer CDR-Operation durch (Betriebsschritt S22). Das Datenempfangsbauelement splittet Daten und CRC-Code aus den kombinierten Daten (Betriebsschritt S23). Um einer Inversion von wenigstens einem Bit des CRC-Codes an einer Datensendestufe bei der Übertragung der kombinierten Daten zu entsprechen, invertiert das Datenempfangsbauelement wenigstens ein Bit des von den kombinierten Daten gesplitteten CRC-Codes. Information hinsichtlich von zu invertierenden Bits in dem CRC-Code kann gemäß verschiedenen Schemata von dem Datenempfangsbauelement erhalten werden. Zum Beispiel kann das Datensendebauelement darüber hinaus separate Information zusätzlich zu den kombinierten Daten übertragen, und die zusätzlich übertragene Information kann Information beinhalten, die Positionen von invertierten Bits in dem CRC-Code anzeigt. Alternativ kann Bitpositionsinformation zum Invertieren spezieller Bits des CRC-Codes vorab festgelegt und in Registern des Datensendebauelements und des Datenempfangsbauelements gespeichert werden. Das Datenempfangsbauelement invertiert spezielle Bits des von den kombinierten Daten separierten CRC-Codes durch Bezugnahme auf die in den Registern gespeicherten Informationen.
  • Nach Beendigung der Separation von den kombinierten Daten und der Detektion des CRC-Codes prüft das Datenempfangsbauelement, ob ein Fehler auftritt, durch Verwenden des CRC-Codes (Betriebsschritt S24). Wenn der Fehler auftritt, wird dem Datensendebauelement eine Rückübertragungsanforderung der Daten zugeführt. Wenn der Fehler nicht auftritt, werden die ursprünglichen Daten, die wie vorstehend beschrieben erhalten wurden, in einer Datenspeichereinheit des Datenempfangsbauelements gespeichert (Betriebsschritt S25).
  • Die 12a bis 12d stellen Anwendungsbeispiele für ein Speichersystem mit einer Speichersteuereinheit und einem Speicherbauelement gemäß der Erfindung dar.
  • Bezugnehmend auf ein Speichersystem 600A von 12a wird ein Busprotokoll zwischen einer Speichersteuereinheit 610A und einem Speicherbauelement 620A, z.B. einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM), offenbart, bei welchem dem Speicherbauelement 620A ein Steuersignal C/S, wie /CS, CKE, /RAS, /CAS, /WE etc., und ein Adressensignal ADDR zugeführt werden. Daten DQ werden bidirektional übertragen. Wenn die Speichersteuereinheit 610A dem Speicherbauelement 620A einen CRC-Code zusammen mit Schreibdaten zuführt, kann die Speichersteuereinheit 610A als ein Datensendebauelement arbeiten, und das Speicherbauelement 620A kann als ein Datenempfangsbauelement gemäß vorhergehenden Ausführungsformen arbeiten. Da Daten bidirektional zwischen der Speichersteuereinheit 610A und dem Speicherbauelement 620A durch den gleichen Datenkanal übertragen werden, kann ein Protokoll zum Invertieren eines CRC-Code verwendet werden, das üblicherweise bei Schreibdatenübertragung und Lesedatenübertragung verwendet wird.
  • Bezugnehmend auf ein Speichersystem 600B von 12b werden einem Speicherbauelement 620B paketierte Steuersignale und Adressensignale „C/A-Paket“ von einer Speichersteuereinheit 610B zugeführt und Daten DQ werden bidirektional übertragen. Jedes von der Speichersteuereinheit 610B und dem Speicherbauelement 620B kann sowohl als Datensendebauelement als auch als Datenempfangsbauelement arbeiten.
  • Bezugnehmend auf die Speichersystem 600C von 12c werden einem Speicherbauelement 620C paketierte Steuersignale und Adressensignale und Schreibsignale „C/A WD Paket“ von einer Speichersteuereinheit 610C zugeführt, und eine Datenausgabe Q wird unidirektional von dem Speicherbauelement 620C zu der Speichersteuereinheit 610C übertragen. Es kann ein Protokoll verwendet werden, das eine CRC-Code-Inversion in einer von einer Übertragung von Schreibdaten WD und einer Übertragung von Lesedaten Q anwendet, oder es kann ein Protokoll verwendet werden, das eine CRC-Code-Inversion sowohl bei der Übertragung der Schreibdaten WD als auch der Übertragung der Lesedaten Q anwendet. Zum Übertragen der Schreibdaten WD und zum Übertragen der Lesedaten Q können unterschiedliche Protokolle verwendet werden.
  • Bezugnehmend auf ein Speichersystem 600D von 12d werden einem Speicherbauelement 620D, z.B. einem statischen Flash-Speicher mit wahlfreiem Zugriff (SRAM), Steuersignale C/S von einer Speichersteuereinheit 610D zugeführt, und Befehle, Adressen sowie Daten „C/A DQ“ werden bidirektional übertragen.
  • 13 zeigt ein Anwendungsbeispiel für ein elektronisches System mit einem Halbleiterbauelement gemäß der Erfindung. Bezugnehmend auf 13 beinhaltet ein elektronisches System 700 ein Eingabebaueiement 710, ein Ausgabebauelement 720, ein Prozessorbauelement 730 und ein Halbleiterspeicherbauelement 740. Das Halbleiterspeicherbauelement 740 beinhaltet ein Speicherbauelement 750, das eine Speichersteuereinheit (nicht gezeigt) zum Treiben des Speicherbauelements 750 beinhalten kann. Es kann ein Datenverarbeitungsverfahren gemäß der Erfindung zwischen Datensende-/-empfangsbauelementen angewendet werden, und zum Beispiel kann ein Datenübertragungsverfahren, das ein Umwandeln eines CRC-Codes verwendet, zwischen dem Prozessorbauelement 730 und dem Halbleiterspeicherbauelement 740 angewendet werden. Das Prozessorbauelement 730 steuert das Eingabebauelement 710, das Ausgabebauelement 720 und das Halbleiterspeicherbauelement 740 durch entsprechende Schnittstellen.
  • 14 zeigt ein Anwendungsbeispiel für eine Speicherkarte, die ein Halbleiterbauelement gemäß der Erfindung verwendet. Bezugnehmend auf 14 beinhaltet eine Speicherkarte 800 eine Schnittstelleneinheit 810, eine Steuereinheit 820 und ein Halbleiterspeicherbauelement 830. In 14 kann ein nicht-flüchtiges Speicherbauelement ebenso wie das zuvor erwähnte DRAM, das ein flüchtiges Speicherbauelement ist, als das Halbleiterspeicherbauelement 830 verwendet werden.
  • Die Schnittstelleneinheit 810 stellt eine Schnittstellenverbindung zwischen der Speicherkarte 800 und einem Host (nicht gezeigt) bereit. Die Schnittstelleneinheit 810 beinhaltet ein Datenaustauschprotokoll entsprechend dem Host für eine Schnittstellenverbindung mit dem Host. Die Schnittstelleneinheit 810 kann so konfiguriert sein, dass sie mit dem Host durch eines von verschiedenen Schnittstellenprotokollen kommuniziert, wie ein Universal Serial Bus (USB), eine Multi-Media-Karte (MMC), ein Peripheral Component Interconnect-Express (PCI-E), ein Serialattached SCSI (SAS), ein Serial Advanced Technology Attachment (SATA), ein Parallel Advanced Technology Attachment (PATA), ein Small Computer System Interface (SCSI), ein Enhanced Small Disk Interface (ESDI) und Integrated Drive Electronics (IDE).
  • Die Steuereinheit 820 wird von einer externen Quelle durch die Schnittstelleneinheit 810 mit Daten und einer Adresse versorgt. Die Steuereinheit 820 greift auf das Halbleiterspeicherbauelement 830 durch Bezugnahme auf die Daten und die Adresse zu, die von dem Host bereitgestellt werden. Die Steuereinheit 820 kann dem Host durch die Schnittstelleneinheit 810 Daten zuführen, die vom Halbleiterspeicherbauelement 830 gelesen werden. Die Steuereinheit 820 beinhaltet einen Pufferspeicher 821.
  • Der Pufferspeicher 821 speichert temporär Schreibdaten, die von dem Host bereitgestellt werden, oder die Daten, die von dem Halbleiterspeicherbauelement 830 gelesen werden. Wenn in dem Halbleiterspeicherbauelement 830 existierende Daten bei einer Leseanforderung von dem Host in einem Cache gespeichert werden, unterstützt der Pufferspeicher 821 eine Cache-Funktion, bei der die im Cache gespeicherten Daten direkt dem Host zugeführt werden. Im Allgemeinen ist eine Datenübertragungsgeschwindigkeit, die auf einem Bus-Format des Hosts basiert (z.B. SATA oder SAS), höher als eine Übertragungsgeschwindigkeit eines Speicherkanals der Speicherkarte 800. Das heißt, wenn eine Schnittstellengeschwindigkeit des Hosts höher als jene der Speicherkarte 800 ist, kann eine Leistungsfähigkeitsdegradation, die durch einen Geschwindigkeitsunterschied verursacht wird, durch Bereitstellen des Pufferspeichers 821 minimiert werden.
  • Das Halbleiterspeicherbauelement 830 wird als ein Speichermedium der Speicherkarte 800 bereitgestellt. Zum Beispiel kann das Halbleiterspeicherbauelement 830 als ein Widerstandsspeicherbauelement ausgeführt sein. Alternativ kann das Halbleiterspeicherbauelement 830 als ein Flash-Speicher vom NAND-Typ mit einer Speicherfähigkeit mit großer Kapazität ausgeführt sein. Das Halbleiterspeicherbauelement 830 kann eine Mehrzahl von Speicherbauelementen beinhalten. In diesem Fall ist jedes der Speicherbauelemente auf einer Kanalbasis mit der Steuereinheit 820 verbunden. Das Halbleiterspeicherbauelement 830 als ein Speichermedium kann ein Parameter-Speicher mit wahlfreiem Zugriff, ein magnetoresistives RAM (MRAM), ein Widerstands-RAM (ReRAM), ein ferroelektrisches RAM (FRAM), ein NOR-Flash-Speicher oder dergleichen sein oder kann ein Speichersystem sein, in dem heterogene Speicherbauelemente verwendet werden. Das Datenverarbeitungsverfahren gemäß der Erfindung kann auf die Speicherkarte 800 angewendet werden, und ein Datenübertragungsverfahren, welches das Umwandein eines CRC-Codes verwendet, kann zum Beispiel zwischen der Steuereinheit 820 und einem externen Host (nicht gezeigt) angewendet werden. Alternativ kann ein Datenübertragungsverfahren, das ein Umwandeln eines CRC-Codes verwendet, zwischen der Steuereinheit 820 und dem Halbleiterspeicherbauelement 830 in der Speicherkarte 800 angewendet werden.
  • 15 zeigt ein weiteres Anwendungsbeispiel für eine Speicherkarte, die ein Halbleiterbauelement gemäß der Erfindung verwendet. Bezugnehmend auf 15 beinhaltet eine Speicherkarte 900 eine Schnittstelleneinheit 910, eine Steuereinheit 920 und ein Halbleiterspeicherbauelement 930. Die Strukturen der Schnittstelleneinheit 910 und des Halbleiterspeicherbauelements 930 sind im Wesentlichen die gleichen wie jene von 14 und brauchen daher nicht erneut detailliert beschrieben zu werden.
  • Die Steuereinheit 920 beinhaltet einen Pufferspeicher 921, in dem eine Adressentransformationstabelle 922 konfiguriert ist. Die Steuereinheit 920 transformiert eine logische Adresse, die von der Schnittstelleneinheit 910 bereitgestellt wird, unter Bezugnahme auf die Adressentransformationstabeiie 922 in eine physikalische Adresse. Die Steuereinheit 920 kann unter Bezugnahme auf die transformierte physikalische Adresse auf das Halbleiterspeicherbauelement 930 zugreifen.
  • Die in 14 gezeigte Speicherkarte 800 und die in 15 gezeigte Speicherkarte 900 können in einem Informationsverarbeitungsbauelement angebracht sein, wie einer Digitalkamera, einem tragbaren Medienplayer (PMP), einem Mobiltelefon, einem Notebook-Computer und so weiter. Die Speicherkarten 800 und 900 können des Weiteren eine MMC-Karte, eine Secure-Digital(SD)-Karte, eine Mikro-SD-Karte, einen Speicherstick, eine ID-Karte, eine Personal-Computer-Memory-Card-International-Association(PCMCIA)-Karte, eine Chipkarte, eine USB-Karte, eine Smartcard, eine Compact-Flash(CF)-Karte oder dergleichen verwenden.
  • 16 stellt ein Rechnersystem 1000 dar, das ein Speicherbauelement oder ein Speichersystem gemäß der Erfindung beinhaltet. Das Rechnersystem 1000 beinhaltet einen Mikroprozessor 1200, der mit einem Systembus 1600 elektrisch verbunden ist, einen RAM 1300, eine Nutzerschnittstelle 1400, ein Modem 1500, wie ein Baseband-Chipset, und ein Speichersystem 1100.
  • Das Speichersystem 1100 oder der RAM 1300 speichern Daten oder geben sie ab und können verschiedene Logikschaltkreise zum Treiben darin beinhalten. Wenn das Rechnersystem 1000 ein mobiles Bauelement ist, kann des Weiteren eine Batterie (nicht gezeigt) zum Zuführen einer Betriebsspannung des Rechnersystems 1000 bereitgestellt sein. Ein Fachmann wird ohne Weiteres erkennen, dass, wenngleich nicht gezeigt, des Weiteren ein Anwendungs-Chipset, ein Kamerabildprozessor (CIP), ein mobiler DRAM etc. in dem Rechnersystem 1000 bereitgestellt sein können. Das Speichersystem 1100 kann zum Beispiel eine Solid-State-Drive/Disk (SSD) bilden, die zum Speichern von Daten einen nicht-flüchtigen Speicher verwendet. Das Speichersystem 1100 kann als ein Fusion-Flash-Speicher bereitgestellt sein, z.B. einem Speicher, bei dem ein SRAM-Puffer, ein NAND-Flash-Speicher und eine NOR-Schnittstellenlogik kombiniert sind.
  • Das Datenverarbeitungsverfahren gemäß der Erfindung kann zwischen Datensende-/-empfangsbauelementen angewendet werden, und zum Beispiel kann ein Datenübertragungsverfahren, das ein Umwandeln eines CRC-Codes verwendet, auf eine Datenkommunikation zwischen dem Speichersystem 1100 und dem Mikroprozessor 1200 und/oder auf eine Datenkommunikation zwischen dem Speichersystem 1100 und dem Modem 1500 angewendet werden. Ein Datenübertragungsverfahren, das ein Umwandeln eines CRC-Codes verwendet, kann auf eine Datenkommunikation zwischen einer Steuereinheit und einem Speicherbauelement (nicht gezeigt) in dem Speichersystem angewendet werden. Ein Datenübertragungsverfahren, das ein Umwandeln eines CRC-Codes verwendet, kann auch auf eine Datenkommunikation zwischen dem RAM 1300 und dem Mikroprozessor 1200 und/oder eine Datenkommunikation zwischen dem RAM 1300 und dem Modem 1500 angewendet werden.
  • Ein Halbleiterbauelement und/oder -system gemäß der Erfindung kann unter Verwendung einer Packung in verschiedenen Formen angebracht werden. Zum Beispiel kann ein Halbleiterbauelement und/oder -system gemäß der Erfindung aufgebaut werden unter Verwendung von Packungen wie einer Packung-auf-Packung (PoP), Ball-Grid-Arrays (BGAs), Chip-Scale-Packungen (CSPs), einem Plastic-Leaded-Chipträger (PLCC), einer Plastic-Dual-in-Line-Packung (PDIP), einer Die-in-Waffle-Packung, einer Die-in-Wafer-Form, einer Chip-on-Board (COB), einer keramischen Dual-in-Line-Packung (CERDIP), einer Plastic-Metric-Quad-Flat-Packung (MQFP), einer Thin-Quad-Flat-Packung (TQFP), einem Small-Outline-Integrated-Circuit (SOIC), einer Shrink-Small-Outline-Packung (SSOP), einer Thin-Small-Outiine-Packung (TSOP), einer System-in-Packung (SIP), einer Multi-Chip-Packung (MCP), einer auf Waferniveau gefertigten Packung (WFP) und einer auf Waferniveau prozessierten Stapelpackung (WSP) und so weiter.

Claims (22)

  1. Datenverarbeitungsbauelement zum Senden von ersten Daten, mit - einem Datengenerator (111), der so konfiguriert ist, dass er erste Daten bereitstellt, - einem zyklischen Redundanzprüf(CRC)-Generator (112), der so konfiguriert ist, dass er eine CRC-Information mit wenigstens einem Bit erzeugt, dessen binärer Wert in Reaktion auf eine Umwandelinformation modifiziert ist, und - einem Datentransmitter (113), der so konfiguriert ist, dass er die CRC-Information und die ersten Daten als kombinierte Daten kombiniert und die kombinierten Daten seriell abgibt, gekennzeichnet durch - eine Musterprüfeinheit (314), die so konfiguriert ist, dass sie die Umwandelinformation erzeugt, wenn die ersten Daten ein vorgegebenes binäres Wertemuster aufweisen.
  2. Datenverarbeitungsbauelement nach Anspruch 1, wobei die Umwandelinformation das wenigstens eine zu modifizierende Bit in der CRC-Information festlegt und/oder wobei das wenigstens eine Bit in Reaktion auf die Umwandelinformation invertiert wird.
  3. Datenverarbeitungsbauelement nach Anspruch 1 oder 2, wobei das vorgegebene binäre Wertemuster den gleichen binären Wert aufweist.
  4. Datenverarbeitungsbauelement nach einem der Ansprüche 1 bis 3, wobei - ein Register (414) bereitgestellt ist, das so konfiguriert ist, dass es die Umwandelinformation speichert, und/oder - der Datentransmitter einen Parallel/Seriell-Konverter (213) beinhaltet, der so konfiguriert ist, dass er die kombinierten Daten in serielle Daten konvertiert.
  5. Datenverarbeitungsbauelement nach Anspruch 4, wobei die seriellen Daten wenigstens eine Niedrig-zu-hoch- oder eine Hoch-zu-Niedrig-Signalflanke auf dem Teil der CRC-Information beinhalten.
  6. Datenverarbeitungsbauelement nach einem der Ansprüche 1 bis 5, wobei der Datengenerator ein Halbleiterspeicherbauelement ist.
  7. Datenverarbeitungsverfahren zum Senden von ersten Daten, das die folgenden Schritte umfasst: - Erzeugen der ersten Daten durch einen Datengenerator (111), - Erzeugen einer Umwandelinformation durch eine Musterprüfeinheit (314), wenn die ersten Daten ein vorgegebenes binäres Wertemuster aufweisen, - Erzeugen einer zyklischen Redundanzprüf(CRC)-Information durch einen zyklischen Redundanzprüf(CRC)-Generator (112) mit wenigstens einem Bit, dessen binärer Wert in Reaktion auf die Umwandelinformation modifiziert wird, und - Erzeugen kombinierter Daten durch Kombinieren der erzeugten CRC-Information und der ersten Daten und serielles Abgeben der kombinierten Daten mittels eines Datentransmitters (113).
  8. Datenverarbeitungsverfahren nach Anspruch 7, wobei die Umwandelinformation das wenigstens eine zu modifizierende Bit in der CCR-Information festlegt und/oder wobei das wenigstens eine Bit in Reaktion auf die Umwandelinformation invertiert wird.
  9. Datenverarbeitungsverfahren nach Anspruch 7 oder 8, das des Weiteren einen Schritt der Speicherung der Umwandelinformation und/oder einen Schritt der Serialisierung der kombinierten Daten als serielle Daten umfasst.
  10. Datenverarbeitungsverfahren nach einem der Ansprüche 7 bis 9, wobei das vorgegebene binäre Wertemuster den gleichen binären Wert aufweist.
  11. Datenverarbeitungsverfahren nach Anspruch 8 oder 9, wobei die seriellen Daten wenigstens eine Niedrig-zu-Hoch- oder Hoch-zu Niedrig-Signalflanke auf dem Teil der CRC-Information beinhalten und/oder wobei der Schritt der Erzeugung der ersten Daten auf einem Halbleiterspeicherbauelement durchgeführt wird.
  12. Datenverarbeitungsbauelement zum Empfangen von ersten Daten, mit - einem Dateneingabepuffer (421_4), der so konfiguriert ist, dass er serielle Daten mit einer CRC-Information und den ersten Daten empfängt, - einem Taktwiedergewinnungsschaltkreis (421_2), der so konfiguriert ist, dass er aus den seriellen Daten einen Takt wiedergewinnt, - einem Abtastschaltkreis (421_1), der so konfiguriert ist, dass er die seriellen Daten basierend auf dem Takt abtastet, - einem Konverterschaltkreis (421_3), der so konfiguriert ist, dass er die seriellen Daten parallelisiert und in die CRC-Information und die ersten Daten splittet, - einem CRC-Detektor (424), der so konfiguriert ist, dass er die CRC-Information mit wenigstens einem Bit modifiziert, dessen binärer Wert in Reaktion auf eine Umwandelinformation modifiziert ist, und - einer Fehlerprüfeinheit (423), die so konfiguriert ist, dass sie bestimmt, ob die ersten Daten wenigstens einen Fehler beinhalten.
  13. Datenverarbeitungsbauelement nach Anspruch 12, wobei die Umwandelinformation das wenigstens eine zu modifizierende Bit in der CRC-Information festlegt und/oder wobei das wenigstens eine Bit in Reaktion auf die Umwandelinformation invertiert ist.
  14. Datenverarbeitungsbauelement nach Anspruch 12 oder 13, das des Weiteren eine Musterprüfeinheit (325) beinhaltet, die so konfiguriert ist, dass sie die Umwandelinformation erzeugt, wenn die ersten Daten ein vorgegebenes binäres Wertemuster aufweisen.
  15. Datenverarbeitungsbauelement nach Anspruch 14, wobei das vorgegebene binäre Wertemuster den gleichen Wert aufweist.
  16. Datenverarbeitungsbauelement nach einem der Ansprüche 12 bis 15, wobei - ein Register (425) bereitgestellt ist, das so konfiguriert ist, dass es die Umwandelinformation speichert, und/oder - die seriellen Daten wenigstens eine Niedrig-zu-Hoch- oder eine Hoch-zu-Niedrig-Signalflanke auf dem Teil der CRC-Information beinhalten.
  17. Datenverarbeitungsverfahren zum Empfangen von ersten Daten, das die folgenden Schritte umfasst: - Empfangen von seriellen Daten mit einer CRC-Information und ersten Daten, - Wiedergewinnung eines Takts aus den seriellen Daten, - Abtasten der seriellen Daten basierend auf dem Takt, - Parallelisieren der seriellen Daten, - Splitten der seriellen Daten in eine CRC-Information und die ersten Daten, - Modifizieren der CRC-Information in Reaktion auf eine Umwandelinformation und - Bestimmen, ob die ersten Daten wenigstens einen Fehler beinhalten.
  18. Datenverarbeitungsverfahren nach Anspruch 17, wobei die Umwandelinformation das wenigstens eine zu modifizierende Bit in der CRC-Information bestimmt und/oder wobei das wenigstens eine Bit in Reaktion auf die Umwandelinformation invertiert wird.
  19. Datenverarbeitungsverfahren nach Anspruch 17 oder 18, das des Weiteren das Erzeugen der Umwandelinformation beinhaltet, wenn die ersten Daten ein vorgegebenes binäres Wertemuster aufweisen.
  20. Datenverarbeitungsverfahren nach Anspruch 19, wobei das vorgegebene binäre Wertemuster den gleichen Wert aufweist.
  21. Danteverarbeitungsverfahren nach einem der Ansprüche 17 bis 20, wobei die Umwandelinformation gespeichert wird und/oder wobei die seriellen Daten wenigstens eine Niedrig-zu-Hoch oder Hoch-zu-Niedrig-Signalflanke auf dem Teil der CRC-Information beinhalten.
  22. Datenverarbeitungssystem zum Übertragen von ersten Daten, mit - einem ersten Datenverarbeitungsbauelement zum Senden der ersten Daten gemäß einem der Ansprüche 1 bis 6, - einem zweiten Datenverarbeitungsbauelement zum Empfangen der ersten Daten gemäß einem der Ansprüche 12 bis 16 und - einer Übertragungsleitung (130), die so konfiguriert ist, dass sie die kombinierten Daten von dem ersten Datenverarbeitungsbauelement zu dem zweiten Datenverarbeitungsbauelement überträgt.
DE102011084751.0A 2010-11-08 2011-10-19 Datenverarbeitungsbauelement, -system und -verfahren Active DE102011084751B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100110343A KR101688051B1 (ko) 2010-11-08 2010-11-08 에러 검출 코드를 이용한 데이터 처리 장치, 데이터 처리 방법, 데이터 스큐 보상 방법 및 데이터 처리 장치를 포함하는 반도체 장치
KR10-2010-0110343 2010-11-08

Publications (2)

Publication Number Publication Date
DE102011084751A1 DE102011084751A1 (de) 2012-05-10
DE102011084751B4 true DE102011084751B4 (de) 2022-08-25

Family

ID=45971311

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011084751.0A Active DE102011084751B4 (de) 2010-11-08 2011-10-19 Datenverarbeitungsbauelement, -system und -verfahren

Country Status (4)

Country Link
US (1) US8645790B2 (de)
KR (1) KR101688051B1 (de)
CN (1) CN102468921A (de)
DE (1) DE102011084751B4 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012166910A1 (en) * 2011-05-31 2012-12-06 Everspin Technologies, Inc. Mram field disturb detection and recovery
KR20130081388A (ko) * 2012-01-09 2013-07-17 삼성전자주식회사 메모리 장치와 이의 동작 방법
US20140089755A1 (en) * 2012-09-27 2014-03-27 Shveta KANTAMSETTI Reliability enhancements for high speed memory - parity protection on command/address and ecc protection on data
CN108650057B (zh) * 2012-10-17 2023-10-13 华为技术有限公司 一种编译码的方法、装置及系统
US9081700B2 (en) 2013-05-16 2015-07-14 Western Digital Technologies, Inc. High performance read-modify-write system providing line-rate merging of dataframe segments in hardware
CN103338092B (zh) * 2013-06-13 2016-09-21 清华大学 分布式短波电台通信的方法及系统
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
CN103546240B (zh) * 2013-09-24 2017-06-30 许继集团有限公司 以太网crc校验方法
CN103631671B (zh) * 2013-11-19 2016-05-04 无锡众志和达数据计算股份有限公司 一种ssd存储器的数据保护方法及控制器
US10783030B2 (en) * 2014-03-12 2020-09-22 Sensia Llc Network synchronization for master and slave devices
WO2017072475A1 (en) * 2015-10-27 2017-05-04 Cirus Logic International Semiconductor Limited Transfer of data with check bits
KR102662417B1 (ko) 2017-01-11 2024-04-30 에스케이하이닉스 주식회사 반도체장치
US10476658B1 (en) * 2017-09-25 2019-11-12 Cadence Design Systems, Inc. Method and system for implementing high speed source synchronous clock alignment
KR102514636B1 (ko) * 2018-10-22 2023-03-28 주식회사 엘엑스세미콘 디스플레이장치를 구동하기 위한 데이터처리장치, 데이터구동장치 및 시스템
CN109684789B (zh) * 2018-11-19 2021-03-23 日立楼宇技术(广州)有限公司 嵌入式产品中软件安全保护的方法、装置及计算机设备
US11863318B2 (en) * 2020-08-31 2024-01-02 Frontiir Pte Ltd. Error correction for network packets

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134092A (ja) 2001-10-22 2003-05-09 Toshiba Corp 通信システム、送信装置、受信装置、誤り検出符号化回路および誤り検出回路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4544962A (en) * 1981-07-06 1985-10-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing binary data
JPH08195736A (ja) * 1995-01-13 1996-07-30 Nec Corp 通信システム
JP2001175490A (ja) 1999-12-21 2001-06-29 Nec Corp データ転送方式
KR100480268B1 (ko) * 2003-01-14 2005-04-07 삼성전자주식회사 직교 주파수 분할 다중 시스템의 피크전력 대 평균전력 비 감소를 위한 장치 및 방법
KR20070072229A (ko) 2005-12-31 2007-07-04 삼성전자주식회사 Eds 구조를 이용하는 반도체 메모리 장치
CN101136000B (zh) * 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
US7644344B2 (en) * 2007-05-15 2010-01-05 Intel Corporation Latency by offsetting cyclic redundancy code lanes from data lanes
US8196009B2 (en) 2008-06-18 2012-06-05 Intel Corporation Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134092A (ja) 2001-10-22 2003-05-09 Toshiba Corp 通信システム、送信装置、受信装置、誤り検出符号化回路および誤り検出回路

Also Published As

Publication number Publication date
CN102468921A (zh) 2012-05-23
KR20120049436A (ko) 2012-05-17
DE102011084751A1 (de) 2012-05-10
US8645790B2 (en) 2014-02-04
KR101688051B1 (ko) 2016-12-20
US20120117443A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
DE102011084751B4 (de) Datenverarbeitungsbauelement, -system und -verfahren
US11669379B2 (en) Controller that receives a cyclic redundancy check (CRC) code for both read and write data transmitted via bidirectional data link
KR101351754B1 (ko) 메모리 제어기들에 있어서의 데이터 무결성 및 방법들
US7836378B2 (en) System to detect and identify errors in control information, read data and/or write data
DE102013111710A1 (de) Speichermodul, Speichersystem mit demselben und Verfahren zum Auslesen davon und Schreiben dort hinein
US20120166904A1 (en) Data bus inversion using spare error correction bits
CN111435292A (zh) 利用自适应写缓冲区释放的存储介质编程
US20220083244A1 (en) Memory device, method of calibrating signal level thereof, and memory system having the same
DE102013112195A1 (de) Speichercontroller, der Teildaten in einer Speichervorrichtung ändert, sowie Verfahren zum Ändern von Teildaten davon
US20240071448A1 (en) Configurable data protection circuitry for memory devices
DE102018110957A1 (de) Speichersystem, Speichersteuerung für ein Speichersystem, Betriebsverfahren einer Speichersteuerung und Betriebsverfahren einer Benutzervorrichtung mit einem Speichersystem
CN117795466A (zh) 使用子命令的存取请求管理

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final