DE102004030602A1 - Paralleler Datenbus - Google Patents

Paralleler Datenbus Download PDF

Info

Publication number
DE102004030602A1
DE102004030602A1 DE102004030602A DE102004030602A DE102004030602A1 DE 102004030602 A1 DE102004030602 A1 DE 102004030602A1 DE 102004030602 A DE102004030602 A DE 102004030602A DE 102004030602 A DE102004030602 A DE 102004030602A DE 102004030602 A1 DE102004030602 A1 DE 102004030602A1
Authority
DE
Germany
Prior art keywords
data
bus
lines
test
test data
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.)
Granted
Application number
DE102004030602A
Other languages
English (en)
Other versions
DE102004030602B4 (de
Inventor
Gerd Dirscherl
Michael Smola
Berndt M. Dr. Gammel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004030602A priority Critical patent/DE102004030602B4/de
Priority to FR0506265A priority patent/FR2873468B1/fr
Priority to US11/165,823 priority patent/US20050289409A1/en
Publication of DE102004030602A1 publication Critical patent/DE102004030602A1/de
Application granted granted Critical
Publication of DE102004030602B4 publication Critical patent/DE102004030602B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Paralleler Datenbus mit einer Anzahl von Datenleitungen (6) mit einer Busbetriebsmodi-Umschalteinrichtung, mit der zwischen einer Datenübertragung mit hohen Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität umgeschaltet werden kann.

Description

  • Die Erfindung betrifft einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung und ein Verfahren zum Betreiben eines derartigen parallelen Datenbusses.
  • Bei der Übertragung von Daten über einen parallelen Bus ist es im allgemeinen notwendig, dass die Daten während der Übertragung vor Verfälschung geschützt sind. Verfälschungen können dabei aufgrund von Übertragungsfehlern oder bewusster Manipulation der Daten auftreten. Insbesondere bei Anwendungen mit hohen Datensicherheitsanforderungen, wie zum Beispiel Chipkarten, ist es absolut notwendig, dass die Datenintegrität gewährleistet ist. Die wesentliche Eigenschaft von Chipkarten besteht ja darin, dass sie eine sichere Umgebung für Daten und Programme bieten. Wäre es ohne größeren Aufwand möglich, Daten unbefugt aus Chipkarten auszulesen, würden sie sich nur mehr unwesentlich von einem Speichermedium unterscheiden.
  • Um sicherzustellen, dass Daten, die auf einem Chipkarten-Controller gespeichert bzw. bearbeitet werden, nicht manipuliert werden können, wird von den Chipkarten-Herstellern ein erheblicher Aufwand betrieben. Um Angriffe über die physikalische Ebene erkennen zu können, werden z.B. Sensoren in den Chipkarten-Controller eingebaut. Diese können Änderungen zum Beispiel in der Temperatur, der Versorgungsspannung, der Taktfrequenz oder einen Lichteinfall im Inneren eines Controllers detektieren. Als weitere Schutzmassnahme werden spezielle Chip-Abdeckungen, sogenannte Shields, als Schutzschichten eingesetzt, die bei einem Angriff beschädigt wer den. Die Beschädigung führt dabei zu einer Widerstands- oder Kapazitätsänderung, die erfasst und ausgewertet werden kann. Falls ein Angriff festgestellt wird, können so entsprechende Gegenmaßnahmen ergriffen werden, die zum Beispiel das Auslesen von sicherheitsrelevanten Daten, wie z.B. geheime Schlüssel, unmöglich machen.
  • Eine weitere Möglichkeit, die Datenintegrität zu gewährleisten, besteht darin, Fehlererkennungscodes (EDC Error Detection Code) zu benutzten. Um sehr empfindliche Dateninhalte, wie Programmcode, Schlüssel, Zugriffsbedingungen, Zeigerstrukturen und ähnliches gegenüber Veränderungen zu sichern wird den auf Bussen transportierten Daten eine Prüfsumme zugeordnet. Diese Prüfsumme wird zusammen mit den zu überwachenden Daten übertragen und nach der Übertragung mit der neuberechneten Prüfsumme der empfangenen Daten verglichen. Wurden die Daten während der Übertragung über dem Bus verändert, so unterscheiden sich im Idealfall die Prüfsummen und es kann ein Alarm ausgelöst werden oder die Daten verworfen und noch einmal übertragen werden.
  • Ein sehr einfaches und deshalb weitverbreitetes Prüfsummenverfahren ist die Paritätsprüfung (Parity Check). Bei diesen Verfahren wird zu jedem Wort ein Paritäts-Bit gebildet und mit übertragen. Das Paritäts-Bit wird so gesetzt, dass bei ungerader Parität immer eine ungerade Anzahl von Bits auf 1 gesetzt ist, und bei gerader Parität immer eine gerade Zahl von Bits.
  • Da eine gerade Anzahl von geänderten Bits durch die Paritätsprüfung nicht erkannt wird, benutzt man in der Praxis XOR-Prüfsummen, die durch die aufeinanderfolgende logische XOR-Verknüpfung aller Daten-Bytes berechnet werden und daher auch als Längssummenprüfung bekannt sind. Ein Vertauschen von zwei Bytes oder Mehrfachfehler an der gleichen Bit-Position sind jedoch nicht erkennbar.
  • Um diese Nachteile zu überwinden werden CRC-Prüfsummen (Cyclic Redundancy Check) eingesetzt. Die Prüfsumme wird durch ein rückgekoppeltes, zyklisches Schieberegister erzeugt und erlaubt auch die Fehlererkennung von Mehrfachfehlern.
  • Aus der Kryptologie sind auch komplexere Signaturen bekannt, wie zum Beispiel MAC (Message Authentification Code), die aber nur überprüft werden können, wenn man den geheimen Schlüssel dazu kennt.
  • Nachteilig bei dem Einsatz von Sensoren zur Gewährleistung der Datenintegrität ist, dass in der Regel ein hoher Entwicklungsaufwand bei der Pflege, Portierung und Weiterentwicklung der Sensoren innerhalb und außerhalb von Produktfamilien erforderlich ist. Bei analogen Sensoren besteht zusätzlich das Problem, diese so zu kalibrieren, dass die normale Funktion der Schaltung unter schwankenden Umgebungsbedingungen sichergestellt ist, Angriffe jedoch sicher erkannt werden. Will man zum Beispiel einen Angriff erkennen, der durch eine Unterspannung herbeigeführt wird, so muss man die Spannungsgrenze hoch genug wählen, dass diese Unterspannung sicher detektiert wird. Gleichzeitig darf diese Grenze nicht so hoch sein, dass die Schaltung aufgrund von verschmutzten Kontakten nicht mehr funktionsfähig ist. Das Festlegen der Ansprechschwelle von Sensoren wird zusätzlich durch Streuungen in der Fertigung und Technologie erschwert. Weiterhin benötigen derartige Sensoren auch eine nicht unerhebliche Fläche bei einer Integrierung auf einem Chip, wodurch sich die Chip-Kosten erhöhen.
  • Nachteilig beim Einsatz von Prüfsummen zur Sicherung der Datenintegrität ist, dass um die Prüfsummeninformation zu übertragen zusätzliche Leitungen erforderlich sind. Je nach Güte der Signaturen benötigt man eine nicht unerhebliche Zahl an Zusatz-Bits, was speziell im Fall von parallelen Bussen zu einer signifikanten Erhöhung des Flächenbedarfs und damit der Kosten führen kann. Das zusätzliche Übertragen eines Paritäts-Bits bei einem 8-Bit-Wort erfordert 12,5% mehr Fläche, während eine 8-Bit Signatur für einem 32-Bit Bus bereits mehr als 25% an zusätzlicher Chip-Fläche bedarf.
  • Der Erfindung liegt daher die Aufgabe zugrunde, einen parallelen Datenbus und ein Verfahren zum Betreiben eines parallelen Datenbusses anzugeben, mit dem die Integrität der zu übertragenden Daten mit minimalem Aufwand gewährleistet werden kann.
  • Die Aufgabe wird erfindungsgemäß dadurch gelöst, dass der parallele Datenbus eine Busbetriebsmodi-Umschalteinrichtung aufweist, die zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität umschaltet.
  • Dadurch, dass bereits existierende Leitungen eines parallelen Busses, je nach Busbetriebsmodus, sowohl zur Übertragung von Nutzdaten als auch von Prüfdaten genutzt werden können, ergibt sich bei Integrierung auf einen Chip eine äußerst effiziente Ausnutzung der für den Bus vorgesehenen Chip-Fläche. Bei Datenübertragungen mit hoher Datenrate und ohne hohe Sicherheitsanforderungen wird keine zusätzliche Chipfläche für ungenutzte Prüfleitungen benötigt. Bei Datenübertragungen mit hoher Datenintegrität und geringem Datenvolumen lassen sich vorteilhafterweise bereits vorhandene Busleitungen nutzen, so dass auch hier Kosten für zusätzliche Chipfläche vermieden werden.
  • Weitere Einzelheiten und Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
  • In einer bevorzugten Ausführungsform erfolgt im Modus mit hoher Datenübertragungsrate die Datenübertragung über sämtliche im Bus zur Verfügung stehenden Leitungen. Auf diese Weise werden auch Leitungen für die Datenübertragung eingesetzt, die ansonsten nur Prüfdaten übertragen würden.
  • Gemäß einer Weiterbildung der Erfindung wird im Betriebsmodus der hohen Datenintegrität ein Teil der Busleitung zum Übertragen von Prüfdaten und der andere Teil der Busleitungen zum Übertragen der zu den Nutzdaten dazugehörigen Prüfdaten eingesetzt. Auf diese Weise sind keine zusätzlichen Leitungen für das Übertragen von Prüfdaten erforderlich; es wird vorteilhafterweise ein Teil der Leitungen eines bereits existierenden Busses dazu eingesetzt.
  • Vorteilhafterweise sind beim Übertragen von Daten mit hoher Datenintegrität über den Bus Prüfdatengeneratoren zum Erzeugen von Prüfdaten aus den Nutzdaten vorgesehen. Die Prüfdatengeneratoren ermöglichen es, automatisch verschiedene Prüfdaten aus den Nutzdaten zu berechnen und so Veränderungen der Daten während der Übertragung über den Bus zu erkennen.
  • Gemäß einer Weiterbildung ist ein Prüfdatenvergleicher vorgesehen, der die übertragenen Prüfdaten mit den Prüfdaten der übertragenen Nutzdaten vergleicht. Auf diese Weise kann die Integrität der übertragenen Daten sofort bestimmt werden und gegebenenfalls die erforderlichen Maßnahmen ergriffen werden.
  • Vorteilhafterweise wird der Teil der Busleitungen, der für die Übertragung von Prüfdaten vorgesehen ist durch einen Prüfdatengenerator derartig mit Bits belegt, dass bei jeder Datenübertragung eines der Busbreite entsprechenden Wortes über dem Bus, jedes Wort eine möglichst gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist. Dadurch, dass in jedem Datenwort möglichst genau 16 Bits mit High- und Low-Zuständen übertragen werden, wird das Ausspähen von Daten durch Analyse eines Stromprofils zum Beispiel mit einer einfachen oder differentiellen Leistungsanalyse (Differential Power Analysis DPA) erschwert.
  • In einer vorteilhaften Ausführungsform weist der Datenbus eine flexible Aufteilung der Busleitungen für Prüf- und Nutzdaten auf. Dadurch existiert eine große Zahl von sinnvollen Kombinationsmöglichkeiten. Nutzdaten können zum Beispiel mit einer reduzierten Datenwortbreite von 24 Bit und einer 8-Bit breiten Signatur zusammen über einen 32-Bit-Bus transportiert werden.
  • Die Erfindung wird nachfolgend an einem Ausführungsbeispiel unter Zuhilfenahme der Zeichnungen näher erläutert.
  • In den Zeichnungen zeigen:
  • 1 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertagungsmodus mit hoher Datenübertragungsrate,
  • 2 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertragungsmodus mit hoher Datenintegrität,
  • 3 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertragungsmodus mit hoher Datenintegrität mit Möglichkeit einer Fehlerkorrektur.
  • 4 ein Realisierungsbeispiel eines parallelen Datenbusses mit einer Busbetriebsmodi-Umschalteinrichtung.
  • 1 zeigt ein Ausführungsbeispiel eines parallelen Datenbusses im Übertagungsmodus mit hoher Datenübertragungsrate. Die zu übertragenden Daten sind über den Dateneingang 1 mit der Datenaufbereitungseinheit 5 verbunden. Die Daten werden anschließend über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und erscheinen am Datenausgang 2. Der Busbetriebsmodus wird über das Betriebsmodussignal 3 gewählt, eine Kontrolllogik 4 steuert die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 entsprechend an.
  • In dem in 1 gezeigten Betriebsmodus werden die am Dateneingang 1 anfallenden Daten mit einer möglichst hohen Datenübertragungsrate über die Busleitungen 6 an den Datenausgang 2 übertragen. Es werden daher sämtliche der Busleitungen 6 zum Transport von Nutzdaten eingesetzt. Pro Transferzyklus wird jeweils ein ganzes Datenwort mit je einem Bit pro Busleitung transportiert. Da keine Prüfdaten übertragen werden, steht somit die gesamte Busübertragungskapazität für Nutzdaten zur Verfügung. Zum Datenschutz können die Daten vor der Übertragung über die Busleitungen 6 in der Datenaufbereitungseinheit 5 verschlüsselt und dann in der Datenrückgewinnungseinheit 7 wieder entschlüsselt werden. Ebenso möglich ist ein Scrambling der Busleitungen 6, so dass eine Zuordnung der Bits ohne Hintergrundinformation nicht mehr möglich ist. Die Anordnung der Busleitungen 6 kann dazu durch die Kontrolleinheit 4 in der Datenaufbereitungseinheit 5 und der Datenrückgewinnungseinheit 7 dynamisch oder statisch vertauscht werden. Eine Datenkompression in der Datenaufbereitungseinheit 5 mit einem gängigen Komprimierungsverfahren und anschließender Datendekompression in der Datenrückgewinnungseinheit 7 ist ebenfalls möglich. Zum Schutz der Daten vor Manipulation können weiter die in der Einleitung genannten Maßnahmen, wie Sensoren und Shields, eingesetzt werden.
  • Der Busbetriebsmodus mit hoher Datenübertragungsrate ist für die Übertragung von Daten mit großen Volumen und geringen bzw. keinen Anforderungen an die Datenintegrität geeignet. Beispiele für solche Daten wären z.B. mp3-Dateien oder Bilder einer digitalen Kamera. Für die Übertragung von Daten, bei denen die Anforderung an die Datenintegrität sehr hoch liegen, ist dieser Betriebsmodus jedoch ungeeignet. Über das Betriebsmodussignal 3 kann daher die Kontrolllogik 4 angewiesen werden, den parallelen Bus in den Modus der Datenübertragung mit hoher Datenintegrität umzuschalten. In diesem Modus können dann z.B. Passwörter oder Schlüssel sicher übertragen werden. Die geringere Datenübertragungsrate in diesem Busbetriebsmodus dürfte dabei keine große Einschränkung darstellen, da Passwörter und Schlüssel meistens kleine Datenvolumen aufweisen.
  • 2 zeigt einen parallelen Datenbus im Übertragungsmodus mit hoher Datenintegrität. Die Anordnung ist der in 1 gezeigten ähnlich, gleiche Bezugszeichen bezeichnen daher gleiche Gegenstände. Der wesentliche Unterschied zu 1 besteht darin, dass die Busleitungen 6 aus 1 nun als Busleitungen für Nutzdaten 6a und Busleitungen für Prüfdaten 6b eingesetzt werden. Die vorhandenen Busleitungen übertragen nun nicht mehr ausschließlich Nutzdaten, sondern auch noch die zu den Nutzdaten gehörenden Prüfdaten.
  • Die Kontrolllogik 4 steuert die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 so an, dass abhängig von den zu übertragenden Prüfdaten die Gesamtzahl der Leitungen auf Leitungen für Nutzdaten 6a und Leitungen für Prüfdaten 6b aufgeteilt wird. Wird beispielsweise für die Prüfdaten ein Paritätsbit gewählt, so können Nutzdaten bei einem 32-Bit breiten Bus über 31 Leitungen übertragen und eine Leitung für das Paritätsbit eingesetzt werden. Wird ein komplexeres Verfahren zum Berechnen der Prüfdaten eingesetzt und zum Beispiel eine CRC-Prüfsumme oder eine MAC-Signatur berechnet, so wird über die Kontrolllogik 4 eine größere, den zu übertragenden Prüfdaten angemessene, Anzahl von Leitungen für Prüfdaten zur Verfügung gestellt, so dass die Prüfdaten gleichzeitig mit den zugehörigen Nutzdaten übertragen werden können.
  • In einer weiteren Variante werden 32-Busleitungen in 16 Leitungen für Nutzdaten und 16 Leitungen für Prüfdaten aufgeteilt. Die Prüfdaten werden dabei so gewählt, dass in jedem Datenwort genau 16 Bits in einem High-Zustand und 16 Bit in einem Low-Zustand übertragen werden. Bestehen die Nutzdaten zum Beispiel aus 10 Bits im High-Zustand und 6 Bits im Low-Zustand, so werden die Prüfdaten so gewählt, dass sie 10 Bits im Low-Zustand und 6 Bits im High-Zustand beinhalten. Da jedes Mal eine gleiche Anzahl von Bits in High- und Low-Zuständen übertragen wird, wird es auf diese Weise erschwert, anhand der Analyse eines Stromprofils die Daten zum Beispiel mittels DPA (Differential Power Analysis) auszuspähen.
  • Andere Aufteilungsmöglichkeiten der Busleitungen 6 in Leitungen für Nutz- und Prüfdaten sind selbstverständlich möglich. Wurden hier bisher die Prüfdaten gleichzeitig mit den Nutzdaten übertragen, so ist es auch möglich, diese sequentiell zu übertragen, das heißt, zuerst die Daten, z.B. blockweise, und anschließend die dazugehörigen Prüfdaten. Auch können die in der Beschreibung von 1 genannten Verfahren wie Verschlüsselung, Scrambling und sonstige Maßnahmen zur Sicherung der Daten zusätzlich oder in Kombination mit den Prüfdaten eingesetzt werden.
  • Bei der bisherigen Aufteilung der Busleitungen in Leitungen für Nutzdaten 6a und Prüfdaten 6b ist nur eine Fehlererkennung aber keine Fehlerkorrektur möglich. Wird eine Verfälschung oder ein Übertragungsfehler erkannt, so werden mit der in 2 beschriebenen Anordnung in der Regel die fehlerhaften Daten verworfen und eine neue Übertragung der Daten angefordert oder ein Alarm ausgelöst. Die flexible Aufteilung der Busleitungen 6 durch die Kontrolllogik 4, zusammen mit der Datenaufbereitungseinheit 5 und der Datenrückgewinnungseinheit 7 ermöglichen jedoch auch eine Fehlerkorrektur der zu übertragenden Daten, wie in 3 gezeigt. Dazu werden z.B. die Busleitungen 6 in drei parallele Busse 6x, 6y und 6z aufgeteilt und identische Daten über jeden der drei Teilbusse 6x, 6y und 6z übertragen. Mittels einer „2 aus 3"- Entscheidung lässt sich nicht nur mit hoher Wahrscheinlichkeit erkennen, auf welchem der drei Teilbusse 6x, 6y, 6z die Daten verändert wurden, sondern auch noch anschließend entscheiden, welcher der drei Teilbusse unveränderte Daten aufweisen und diese dann übertragen.
  • In einer weiteren Variante werden die Daten nicht 3-fach sondern doppelt übertragen, jedoch jeweils zusammen mit Prüfdaten, wie in 2 beschrieben. Auch Fehlerkorrektur-Algorithmen, wie zum Beispiel das Reed-Solomon-Verfahren, können benutzt werden, um Fehler zu korrigieren.
  • In den 2 und 3 übernehmen die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 mehrere Funktionen. Die am Dateneingang 1 anfallenden Daten werden in einem Register gespeichert und entsprechend der Nutzdaten-Wortbreite geteilt. Ein 32-Bit-Wort kann so zum Beispiel in zwei 16-Bit-Teilworte aufgeteilt werden, die dann sequentiell jeweils zusammen mit ihren Prüfdaten übertragen werden. Um aus den Teilworten Prüfdaten berechnen zu können, verfügt die Datenaufbereitungseinheit 5 über Multiplexer, mit denen ausgewählt werden kann, welche Teilworte an die ebenfalls in der Datenaufbereitungseinheit 5 enthaltenen Prüfdatengeneratoren weitergeleitet werden sollen. Der Prüfdatengenerator berechnet dann die gewünschten Prüfdaten, wie zum Beispiel das Paritätsbit, oder eine Signatur. Die Prüfdaten werden dann zusammen mit den Nutzdaten über einen Bustreiber parallel an die Busleitungen 6 übergeben.
  • In der Datenrückgewinnungseinheit 7 werden die Prüfdaten mit den aus den übertragenen Nutzdaten berechneten Prüfdaten verglichen. Sind diese identisch, so wurde kein Übertragungsfehler erkannt und die Teilworte werden wieder zu einem Wort zusammengesetzt und an den Datenausgang 2 weitergeleitet. Im Falle einer erkannten Verfälschung der übertragenen Daten kann ein Alarm ausgegeben werden, eine neue Datenübertragung angefordert, eine Operation abgebrochen oder Daten verworfen werden.
  • 4 zeigt ein Realisierungsbeispiel bei dem die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 im Detail gezeigt sind. In dem Beispiel wird ein 32-Bit breites Datenwort übertragen, wobei für Datenübertragung mit hoher Integrität 16 Bit für Nutzdaten und 16 Bit für Prüfdaten benutzt werden. Selbstverständlich können auch andere Datenwortbreiten und eine andere Aufteilung der Leitungen 6 zwischen Nutz- und Prüfdaten benutzt werden. Auch ist es ohne weiteres möglich, noch Elemente zur Verschlüsselung oder zum Scramblen der Busleitungen 6, beziehungsweise zur Datenkompression einzusetzen; der Übersicht halber sind diese jedoch ebenso wie die Kontrolllogik 4 nicht gezeigt.
  • Zunächst wird anhand 4 der Busbetriebsmodus mit hoher Datenübertragungsrate beschrieben. Ein 32-Bit-breites Wort wird in zwei 16-Bit-Teilworte D1 und D2 aufgeteilt und in Register R1 zwischengespeichert. Die Kontrolllogik 4 steuert dabei die Multiplexer M1 und M2 so an, dass das Teilwort D1 über M1 und das Teilwort D2 über M2 an den Bustreiber B übertragen wird. Das ursprüngliche 32-Bit-Datenwort wird so unverändert über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und dort in Register R2 zwischengespeichert. Über den Multiplexer M3 wird das Halbwort D2 an das Register R3 weitergeleitet und das ursprüngliche 32-Bit-Datenwort, bestehend aus den Teilworten D1 und D2, am Datenausgang 2 ausgegeben. Es findet keine Prüfdatenberechnung statt, Übertragungsfehler können somit nicht erkannt werden. Da jedoch alle Leitungen 6 zur Datenübertragung eingesetzt werden, ist eine hohe Datenübertragungsrate möglich.
  • Es wird nun die Datenübertragung im Busbetriebsmodus mit hoher Datenintegrität beschrieben. Das 32-Bit-Datenwort wird dabei wieder im Register R1 zwischengespeichert. Die Übertra gung des linken Datenworts D1 zusammen mit den zugehörigen Prüfdaten und des rechten Datenworts D2 mit den zugehörigen Prüfdaten findet sequentiell statt. Sind die Daten bei der Übertragung über die Busleitungen 6 nicht durch Verfälschung oder Datenübertragungsfehler geändert worden, so werden die Halbworte D1 und D2 im Register R3 wieder zu einem 32-Bit-Wort zusammengesetzt und am Datenausgang 2 ausgegeben.
  • Die einzelnen Schritte der Datenübertragung im Busbetriebsmodus mit hoher Datenintegrität werden nun anhand 4 im Detail beschrieben. Zuerst wird das linke Datenwort D1 über dem Multiplexer M1 übertragen und eine Kopie davon an den Prüfdatengenerator S1 übermittelt. Über den Multiplexer M2 werden die berechneten Prüfdaten weitergeleitet, so dass in dem Bustreiber mit Register B das Halbdatenwort D1 und die zum Halbdatenwort D1 gehörigen Prüfdaten stehen. Nach der Übertragung über die Busleitungen 6 wird in der Datenrückgewinnungseinheit 7 erneut die Signatur des linken Halbwortes D1 in einem zweiten Prüfdatengenerator S2 berechnet und in einem Prüfdatenvergleicher S mit den übertragenen Prüfdaten verglichen. Unterscheiden sich die Prüfdaten, so wird ein Fehler ausgegeben oder ein Alarm ausgelöst. Über den Multiplexer M3 kann nun entweder das Halbwort D1 oder die dazugehörigen Prüfdaten in die rechte Hälfte des Registers R3 geschrieben werden. Was in der rechten Worthälfte des Registers R3 zu diesem Zeitpunkt gespeichert wird, ist unwichtig, da der Inhalt später überschrieben wird. Wichtig ist, dass in der linken Worthälfte von Registers R3 die ursprüngliche linke Worthälfte D1 gespeichert wird.
  • In einem zweiten Schritt wird die rechte Worthälfte D2 des ursprünglichen Datenwortes aus Register R1 über den Multiplexer M1 weitergeleitet. Eine Kopie wird wieder an den Prüfda tengenerator S1 geleitet und über den Multiplexer M2 an den Bustreiber B. Im Bustreiber B stehen nun die Daten D2 und die dazugehörigen Prüfdaten. Die Daten werden wieder über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und im Register R2 gespeichert. Aus dem linken Registerinhalt werden dann wieder die Prüfdaten in einem weiteren Prüfgenerator S2 erzeugt und mit den übertragenen Prüfdaten von D2 im Prüfdatenvergleicher S verglichen. Sind diese identisch, so werden sie weitergeleitet, anderenfalls wird eine Fehlermeldung ausgelöst.
  • Die linke Hälfte des Registers R3 ist für Schreibzugriffe gesperrt, da sie bereits die linke Worthälfte D1 der ursprünglichen Daten enthält. Die rechte Worthälfte D2 der ursprünglichen Daten wird über den Multiplexer M3 in der rechten Worthälfte des Registers R3 gespeichert, so dass nun im Register R3 die beiden Worthälften D1 und D2 stehen und an den Datenausgang 2 ausgegeben werden können. Anstelle die linke Hälfte des Registers R3 nach dem ersten Schritt für Schreibzugriffe zu sperren, kann auch das ursprüngliche linke Datenwort D1 in einem weiteren Speicher abgelegt und später mit dem rechten Halbwort D2 zu einem 32-Bit Datenwort zusammengesetzt werden.
  • Die nicht gezeigte Kontrolllogik 4 steuert die Register R1, R2 und R3, den Bustreiber B und die Multiplexer M1, M2 und M3 so an, dass je nach Busbetriebsmodus die Daten mit hoher Datenübertragungsrate oder mit hoher Datenintegrität übertragen werden. Die Aufteilung der Datenleitungen in Nutz- und Prüfdatenleitungen entspricht der Art der Prüfungsdaten, wie zum Beispiel keine Prüfdaten, Paritätsbit, CRC oder Signatur und wird durch das Betriebsmodussignal 3 vorgegeben und durch die Kontrolllogik 4 umgesetzt. Die Kontrolllogik 4 steuert zu sätzlich die einzelnen der oben beschriebenen Schritte der Datenübertragung und legt deren zeitlichen Ablauf fest.
  • 1
    Dateneingang
    2
    Datenausgang
    3
    Betriebsmodussignal
    4
    Kontrolllogik
    5
    Datenaufbereitungseinheit
    6
    Busleitungen
    6a
    Nutzdaten
    6b
    Prüfdaten
    6x, 6y, 6z
    Daten für „2 aus 3"-Entscheidung
    7
    Datenrückgewinnungseinheit
    B
    Bustreiber mit Register
    D1
    linkes Datenwort
    D2
    rechtes Datenwort
    M1, M2, M3
    Multiplexer
    R1, R2, R3
    Register
    S
    Prüfdatenvergleicher
    S1, S2
    Prüfdatengenerator

Claims (12)

  1. Paralleler Datenbus mit einer Anzahl von Datenleitungen gekennzeichnet durch eine Busbetriebsmodi-Umschalteinrichtung, die zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität umschaltet.
  2. Paralleler Datenbus nach Anspruch 1, dadurch gekennzeichnet, dass bei einer hohen Datenübertragungsrate die Datenübertragung über sämtliche im Bus zur Verfügung stehenden Leitungen (6) erfolgt.
  3. Paralleler Datenbus nach Anspruch 1, dadurch gekennzeichnet, dass bei hoher Datenintegrität ein Teil der Busleitungen (6a) zum Übertragen von Nutzdaten und der andere Teil der Busleitungen (6b) zum Übertragen der zu den Nutzdaten dazugehörenden Prüfdaten eingesetzt werden.
  4. Paralleler Datenbus nach Anspruch 1 oder 3, dadurch gekennzeichnet, dass beim Übertragen von Daten mit hoher Datenintegrität über den Bus Prüfdatengeneratoren (S1, S2) zum Erzeugen von Prüfdaten aus den Nutzdaten vorgesehen sind.
  5. Paralleler Datenbus nach Anspruch 4, dadurch gekennzeichnet, dass ein Prüfdatenvergleicher (S) vorgesehen ist, der übertragene Prüfdaten mit den Prüfdaten der übertragenen Nutzdaten vergleicht.
  6. Paralleler Datenbus nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass Busleitungen (6b), die für das Übertragen von Prüfdaten vorgesehen sind, durch einen Prüfdatengenerator (S1) derart mit Bits belegt werden, dass bei jeder Übertragung eines der Busbreite entsprechenden Wortes über den Bus, jedes Wort eine möglichst gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist.
  7. Paralleler Datenbus nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass die Aufteilung der Busleitungen (6) auf Leitungen für Prüf- (6b) und Nutzdaten (6a) flexibel ist.
  8. Verfahren zum Betreiben eines parallelen Datenbuses, bei dem nach Feststellen eines Busbetriebsmodus zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität gewählt wird.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass nach wählen eines Busbetriebsmodus zum Übertragen von Daten mit hoher Datenübertragungsrate alle Leitungen (6) des Busses zum Übertragen von Nutzdaten eingesetzt werden.
  10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass nach wählen eines Busbetriebsmodus zum Übertragen von Daten mit hohen Datenintegrität ein Teil der Leitungen des Busses (6a) zum Übertragen von Nutzdaten eingesetzt wird, und der restliche Teil der Leitungen (6b) zum Übertragen von Prüfda ten, die aus den auf den anderen Leitungen übertragenen Daten gewonnen werden.
  11. Verfahren nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass den Prüfdaten Signaturen der Nutzdaten entsprechen.
  12. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Leitungen für Prüfdaten (6b) so mit Bits belegt werden, dass bei jeder Übertragung eines der Busbreite entsprechenden Worts über den Bus, jedes Wort eine gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist.
DE102004030602A 2004-06-24 2004-06-24 Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses Expired - Fee Related DE102004030602B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102004030602A DE102004030602B4 (de) 2004-06-24 2004-06-24 Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses
FR0506265A FR2873468B1 (fr) 2004-06-24 2005-06-21 Bus de donnees parallele
US11/165,823 US20050289409A1 (en) 2004-06-24 2005-06-23 Parallel data bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004030602A DE102004030602B4 (de) 2004-06-24 2004-06-24 Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses

Publications (2)

Publication Number Publication Date
DE102004030602A1 true DE102004030602A1 (de) 2006-01-19
DE102004030602B4 DE102004030602B4 (de) 2007-04-19

Family

ID=35507512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004030602A Expired - Fee Related DE102004030602B4 (de) 2004-06-24 2004-06-24 Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses

Country Status (3)

Country Link
US (1) US20050289409A1 (de)
DE (1) DE102004030602B4 (de)
FR (1) FR2873468B1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6330541B2 (ja) * 2014-07-17 2018-05-30 富士通株式会社 データ送受信システム、データ送信装置、データ送受信システムの制御方法
US9965415B2 (en) 2015-12-18 2018-05-08 Intel Corporation DRAM data path sharing via a split local data bus and a segmented global data bus
US10083140B2 (en) 2015-12-18 2018-09-25 Intel Corporation DRAM data path sharing via a segmented global data bus
US9934827B2 (en) * 2015-12-18 2018-04-03 Intel Corporation DRAM data path sharing via a split local data bus
CN108073837B (zh) * 2016-11-15 2021-08-20 华为技术有限公司 一种总线安全保护方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0962868A1 (de) * 1998-06-03 1999-12-08 Lucent Technologies Inc. Parallele Rückwandbitübertragungsschichtschnittstelle mit skalierbarer Datenbandbreite
DE10047930A1 (de) * 1999-09-28 2001-04-26 Geneticware Co Datenverarbeitungssystem mit einstellbarer Daten-/Adresskanalstruktur

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665517A (en) * 1983-12-30 1987-05-12 International Business Machines Corporation Method of coding to minimize delay at a communication node
JP3187525B2 (ja) * 1991-05-17 2001-07-11 ヒュンダイ エレクトロニクス アメリカ バス接続装置
US5255376A (en) * 1992-01-14 1993-10-19 Sun Microsystems, Inc. Method and apparatus for supporting a dual bit length protocol for data transfers
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US6269453B1 (en) * 1993-06-29 2001-07-31 Compaq Computer Corporation Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
WO1996041274A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5822782A (en) * 1995-10-27 1998-10-13 Symbios, Inc. Methods and structure to maintain raid configuration information on disks of the array
US5761705A (en) * 1996-04-04 1998-06-02 Symbios, Inc. Methods and structure for maintaining cache consistency in a RAID controller having redundant caches
US5875457A (en) * 1996-10-08 1999-02-23 Mylex Corporation Fault-tolerant preservation of data integrity during dynamic raid set expansion
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
JPH11272570A (ja) * 1998-03-24 1999-10-08 Nec Ic Microcomput Syst Ltd 半導体集積回路
US6349357B1 (en) * 1999-03-04 2002-02-19 Sun Microsystems, Inc. Storage architecture providing scalable performance through independent control and data transfer paths
US6732230B1 (en) * 1999-10-20 2004-05-04 Lsi Logic Corporation Method of automatically migrating information from a source to an assemblage of structured data carriers and associated system and assemblage of data carriers
US7085875B1 (en) * 2000-04-06 2006-08-01 Avaya Communication Israel Ltd. Modular switch with dynamic bus
US6530004B1 (en) * 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US6785836B2 (en) * 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
KR100428786B1 (ko) * 2001-08-30 2004-04-30 삼성전자주식회사 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0962868A1 (de) * 1998-06-03 1999-12-08 Lucent Technologies Inc. Parallele Rückwandbitübertragungsschichtschnittstelle mit skalierbarer Datenbandbreite
DE10047930A1 (de) * 1999-09-28 2001-04-26 Geneticware Co Datenverarbeitungssystem mit einstellbarer Daten-/Adresskanalstruktur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Klaus Dembowski: Computerschnittstellen und Bus- systeme, Hüthig GmbH, Heidelberg 1997, S.121-127, ISBN 3-7785-2526-3 *

Also Published As

Publication number Publication date
FR2873468A1 (fr) 2006-01-27
US20050289409A1 (en) 2005-12-29
FR2873468B1 (fr) 2007-10-12
DE102004030602B4 (de) 2007-04-19

Similar Documents

Publication Publication Date Title
DE102013215055B4 (de) Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
EP1053518B1 (de) Schutzschaltung für eine integrierte schaltung
DE102007063755B4 (de) Fehlererkennungsschaltung und zugehöriges Betriebsverfahren und Computerprogrammprodukt
DE10345385B4 (de) Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
DE69120596T2 (de) Datenverschlüsselungsvorrichtung und Verfahren zur Datenverschlüsselung
EP1668515B8 (de) Wortindividuelle schlüsselerzeugung
DE102019102229A1 (de) Techniken zum Erkennen und Korrigieren von Fehlern in Daten
EP0965076A1 (de) Elektronische datenverarbeitungseinrichtung und -system
DE102005016050A1 (de) Speicherfehlererkennungsvorrichtung und Verfahren zum Erkennen eines Speicherfehlers
DE102007044330A1 (de) Verschlüsselungsprozessor und Verfahren zum Schreiben und Lesen von Daten
DE102006001873A1 (de) Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionaltität einer Speicherschaltung
DE102005025169A1 (de) Kommunikationsvorrichtung und Verfahren zur Übermittlung von Daten
DE102015113414A1 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE102007026977B4 (de) Kryptographisches System und zugehöriges Betriebsverfahren und Computerprogrammprodukt
DE102007043083A1 (de) Verfahren und Vorrichtung zum Codieren von Datenworten
DE102004030602B4 (de) Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses
DE102007007546A1 (de) Fehlerkorrekturcode-Striping
EP2111586A1 (de) Ein-chip-computer und tachograph
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE2538802C2 (de) Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits
DE602004003677T2 (de) Bootsteuersystem
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
DE102011007571A1 (de) Tamperschutzvorrichtung zum Tamperschutz eines Feldgeräts
DE102007053295B4 (de) Schaltungsanordnung und Verfahren zur Funktionsüberprüfung einer Logikschaltung in einer Schaltungsanordnung
WO2001013330A1 (de) Integrierter schaltkreis und schaltungsanordnung zur stromversorgung eines integrierten schaltkreises

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee