DE3002048C2 - - Google Patents

Info

Publication number
DE3002048C2
DE3002048C2 DE3002048A DE3002048A DE3002048C2 DE 3002048 C2 DE3002048 C2 DE 3002048C2 DE 3002048 A DE3002048 A DE 3002048A DE 3002048 A DE3002048 A DE 3002048A DE 3002048 C2 DE3002048 C2 DE 3002048C2
Authority
DE
Germany
Prior art keywords
memory
record
data
identification
data record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3002048A
Other languages
English (en)
Other versions
DE3002048A1 (de
Inventor
Kenneth L. Huntingdon Valley Pa. Us York
Peter R. West Chester Pa. Us Annal
John E. Paoli Pa. Us Legory
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.)
Unisys Corp
Original Assignee
Burroughs Corp
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 Burroughs Corp filed Critical Burroughs Corp
Publication of DE3002048A1 publication Critical patent/DE3002048A1/de
Application granted granted Critical
Publication of DE3002048C2 publication Critical patent/DE3002048C2/de
Granted legal-status Critical Current

Links

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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Description

Die Erfindung betrifft eine Anordnung in einer Daten­ verarbeitungsanlage zum sicheren Einschreiben bzw. Auslesen eines Datensatzes über einen Ein-/Ausga­ be-Kanal in bzw. aus mindestens einem Speicher, wobei jedem Datensatz ein Prüfcode angehängt und er ferner durch einen zugehörigen Satzidentifika­ tionscode gekennzeichnet ist.
Bei der Eingabe und/oder Ausgabe von Dateninformatio­ nen werden diese häufig als Datensätze übertragen, wobei jeder Datensatz ein oder mehrere Informations­ pakete umfassen kann. Um zu erreichen, daß die Datenin­ formationen in dem Datensatz durch die Übertragung oder auch während der Übertragung nicht verfälscht werden, wird an den Datensatz ein Fehlerprüfcode, wie etwa ein Hamming-Code oder eine Abwandlung dieses Codes abgehängt, der im Rahmen einer Dateneingabe und/oder Datenausgabe anzeigen soll, ob sein zugehö­ riger Datensatz fehlerfrei ist.
Um ferner zu erreichen, daß jeder Datensatz nur von einem berechtigten Benutzer eingeschrieben bzw. aus­ gelesen werden kann, wird jedem Datensatz ein benutzer­ eigener Identifikationscode angehängt, der diesen Datensatz wie ein Namensschild kennzeichnet.
Aus der US 39 20 976 ist eine Anordnung in einer Daten­ verarbeitungsanlage zum sicheren Einschreiben bzw. Auslesen eines Datensatzes bekannt, in der einem aus einer Informationsquelle hervorgehenden Datensatz in einem Kodierer ein Prüfcode angehängt wird, der sowohl den Datensatz als auch einen vom Benutzer des Daten­ satzes generiertes Adreßwort und einen benutzer­ eigenen Satzidentifikationscode verschlüsselt als Bits enthält. In dieser Zusammensetzung - Datensatz und Prüfcode - wird die gewünschte Information in den Speichern abgelegt bzw. ausgelesen. Da das Adreßwort sowie der benutzereigene Satzidentifikationscode auch einer Prüf- und Korrigiereinrichtung zugeführt werden, ist beim Auslesen eines gespeicherten Datensatzes in dieser bekannten Anordnung eine Überprüfung möglich, ob der auslesende Bediener zum Auslesen der Daten berechtigt ist oder ob er nach Eingabe seines Aus­ lesebefehls auch den richtigen Datensatz erhält.
Nachteilig bei dieser bekannten Anordnung ist es, daß der Satzidentifikationscode, der jeden Datensatz ein­ deutig charakterisieren soll, sowie das Adreßwort nicht vollständig an den Datensatz angehängt werden.
Satzidentifikationscode und Adreßwort werden vielmehr verschlüsselt und dann in Form der somit gewonnenen Prüfbits an den Datensatz angehängt. Durch diese Ver­ kürzung des Satzidentifikationscodes sowie des Adreß­ wortes besteht eine erhöhte Fehlerwahrscheinlichkeit beim Ein- bzw. Auslesen von Datensätzen.
Ein weiterer Nachteil dieser bekannten Anordnung be­ steht darin, daß der mit dem Datensatz gespeicherte Prüfcode nur beim Auslesen des Datensatzes geprüft wird. Somit ist ein unbefugtes Einlesen von Daten bzw. ein Einlesen von falschen Daten nicht verhinderbar.
Aus der DE-OS 27 21 599 ist eine Anordnung und ein Verfahren zur Verhinderung der Ausgabe von fehler­ haften Daten in Datenverarbeitungsanlagen bekannt, bei dem einem auszugebenden Datensatz Schlüsselbits zuge­ ordnet werden, die unabhängig von dem Rest des auszu­ gebenden Wortes sind. Bevor dieser Datensatz in den Ein-/Ausgabe-Kanal der Datenverarbeitungsanlage gelangt, werden die ihm zugeordneten Schlüsselbits in einer Prüfeinrichtung überprüft. Somit erfolgt eine Ausgabe des betreffenden Datensatzes nur dann, wenn die zugeordnete Bitfolge und die in der Prüfeinrich­ tung abgelegten Schlüsselbits übereinstimmen. Andern­ falls wird eine Unterbrechung der Ausgabe erzeugt.
Nachteilig bei dieser Anordnung bzw. bei diesem Verfah­ ren ist es, daß die Schlüsselbits dem Datensatz nur hinzugefügt werden, ohne das Datenwort selbst zu ver­ schlüsseln. Ferner weist diese bekannte Anordnung bzw. das Verfahren keine Möglichkeit zum Verhindern eines unbefugten Auslesens von Daten - etwa mit einem Satz­ identifikationscode - auf und umfaßt keine Korrigier­ einrichtung. Schließlich wird, wie in der oben be­ schriebenen Anordnung der US 39 20 976, die Sicherung der Übertragung von gespeicherten Daten nur beim Aus­ lesen der Daten, nicht aber beim Einschreiben durch­ geführt.
Aufgabe der vorliegenden Erfindung ist es, bei einer Anordnung in einer Datenverarbeitungsanlage zum siche­ ren Einschreiben bzw. Auslesen eines Datensatzes der eingangs genannten Art die Geheimhaltungsfähigkeit und Eigentumssicherheit von Daten beim Einlesen sowie beim Auslesen wesentlich zu erhöhen, sowie eine Fehlerprü­ fung zu ermöglichen, die sich sowohl auf den Datensatz als auch auf dessen Satzidentifikation bezieht.
Diese Aufgabe wird durch eine Anordnung in einer Daten­ verarbeitungsanlage zum sicheren Einschreiben bzw. Aus­ lesen eines Datensatzes über einen Ein-/Ausgabe-Kanal in bzw. aus mindestens einem Speicher gelöst, in der zu jedem Datensatz eine zugehörige Satzidentifikation erzeugt wird, beim Einschreiben in einem Kodierer aus dem Datensatz und der zugehörigen Satzidentifikation ein Prüfcode erzeugt wird, der Prüfcode dem Datensatz und der Satzidentifikation angehängt wird, wodurch eine Datensatzeinheit entsteht, diese Datensatzeinheit über den Ein-/Ausgabe-Kanal übertragen wird, nach der Übertragung der Prüfcode in einer ersten Prüfeinheit auf Richtigkeit und die Satzidentifikation auf Echt­ heit überprüft und dann im Speicher abgespeichert wer­ den, beim Auslesen der Datensatzeinheit der Prüfcode in der ersten Prüfeinheit auf Richtigkeit und die Satzidentifikation auf Echtheit überprüft werden, und in der nach Übertragung der Datensatzeinheit über den Ein-/Ausgabe-Kanal der Prüfcode in einer zweiten Prüf­ einheit erneut auf Richtigkeit und die Satzidenti­ fikation auf Echtheit überprüft werden.
Die Vorteile dieser Lösung liegen insbesondere darin, daß durch das Anhängen der jeden Datensatz charakteri­ sierenden Satzidentifikation an den Datensatz in vol­ ler Länge eine wesentlich größere Redundanz erzeugt wird, als beim Anhängen von nur wenigen, die Satziden­ tifikation verschlüsselt enthaltenden Prüfbits. Ferner erfolgt - sowohl beim Einlesen als auch beim Auslesen von Daten - anhand eines Prüfcodes eine Überprüfung der die Information enthaltenden Daten sowie anhand der in voller Länge verwandten Satzidentifikation eine Überprüfung, ob der Benutzer zum Ein- bzw. Auslesen der Daten berechtigt ist und ob der richtige Datensatz aus- oder eingelesen wird. Indem diese Überprüfungen nicht nur beim Auslesen, sondern auch beim Einlesen von Daten durchgeführt werden, wird eine weitere wesentliche Steigerung der Übertragungssicherheit der Daten gewährleistet.
Vorteilhafte Weiterbildungen der Erfindung sind durch die Merkmale der Unteransprüche gekennzeichnet.
Im folgenden wird ein bevorzugtes Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Es zeigt
Fig. 1 eine schematische Darstellung einer mit einer Satzidentifikation arbeitenden Datenverarbei­ tungsanlage zur Erläuterung eines Einschreibe­ vorgangs eines Datensatzes;
Fig. 2 eine schematische Darstellung eines in der Da­ tenverarbeitungsanlage gemäß Fig. 1 verwendeten Kodierers;
Fig. 3 eine schematische Darstellung einer in der Da­ tenverarbeitungsanlage gemäß Fig. 1 verwendeten Prüfeinheit mit Fehlerkorrekturfähigkeit;
Fig. 4 eine schematische Darstellung einer mit einer Satzidentifikation arbeitenden Datenverarbei­ tungsanlage zur Erläuterung eines Auslesevor­ gangs eines Datensatzes;
Fig. 5 eine schematische Darstellung eines Einschreibe­ vorgangs eines mit einer Satzidentifikation ver­ sehenen Datensatzes über einen Ein-/Ausgabe-Ka­ nal; und
Fig. 6 eine schematische Darstellung eines Auslesevor­ gangs eines mit einer Satzidentifikation ver­ sehenen Datensatzes über einen Ein-/Ausgabe-Ka­ nal.
Ehe auf die erweiterte Datenübertragung zur Eingabe und Ausgabe für Datensätze mittels der erfindungs­ gemäßen Anordnung im einzelnen eingegangen wird, wird zunächst auf das Einschreiben, Auslesen und das Prüfen innerhalb einer mit einer Satzidentifikation arbeitenden Datenverarbeitungsanlage eingegangen.
Zunächst wird ein Einschreibevorgang im einzelnen beschrieben, und danach ein Auslesevorgang.
Man sieht aus Fig. 1, daß ein Quellengerät für Satzidentifikationcodes 55 (im folgenden auch kürzer: Satzidentifikation oder Identifikationscode) einem Quellengerät für Datensätze 57 zugeordnet ist. Wenn ein neuer Datensatz 57 durch die Datensatzquelle geschaffen worden ist, erzeugt die Satzidentifikationsquelle einen besonderen Satzidentifikationscode 55, der dem erzeugten Datensatz 57 bleibend zugeordnet ist. Das Wort "Daten" oder "Datensatz" steht hier in der Beschreibung synonym für "Information". In der bevorzugten Ausführungsform der Erfindung besitzt ein Datensatz ein oder mehrere Datenwörter zu je 54 Bits Länge und ein Satziden­ tifikationscode ist 48 Bits lang.
Neue Datensatzwerte und ihre Satzidentifikation werden einem Kodie­ rer 59 zugeführt. Der Kodierer 59 (Fig. 2) umfaßt eine Paritätsgeberschaltung 17, die Prüfbits entweder für einen Fehlererkennungs-Code oder zweckmäßig für einen kombinier­ ten Erkennungs- und Korrigier-Code (z. B. einen Code vom Hamming-Typ) erzeugt. Der Kodierer 59 erzeugt einen aus 10 Bits bestehenden kombinierten Erkennungs- und Korrektur-Code. Der Kodierer 59 gibt aus einem Speicherregister 19 ein verkettetes kodiertes Wort aus, das aus einem Datenwort mit 54 Bits besteht und erzeugte Paritätsprüfung von 10 Bits umfaßt.
Wie man wieder aus Fig. 1 erkennt, gibt der Kodierer 59 seine Ausgänge über eine erste Übertragungsleitung 21 auf eine erste Prüfeinheit 63 und über eine zweite Übertragungsleitung 25 auf eine dritte Prüfeinheit 27. Ferner wird über die dritte Übertragungsleitung 28 und die vierte Übertragungsleitung 30 an die erste Prüfein­ heit 63 und die dritte Prüfeinheit 27 die 48 Bit-Satziden­ tifikation übertragen, die dem kodierten, über die erste und zweite Übertragungsleitung 21 und 25 übertragenen Datensatz zugeordnet ist.
Fig. 3 zeigt den Aufbau der identischen ersten und dritten Prüfeinheiten 63 und 27. Sie umfassen in der bevorzugten Ausführungsform eine Paritätsprüfungsschaltung 29, eine Fehlerfrei-Anzeigeschaltung 31, eine Anzeigeschal­ tung 33 für unkorrigierbare Fehler sowie eine Korrektur­ schaltung 35. Die Paritätsprüfschaltung 29 nimmt die 64 kodierten Bits eines Datenworts aus dem Speicherregister 19 des Kodierers 59 sowie die zugehörigen 48 Bits der Satzidentifikation auf. Die Paritätsprüfung wird an den empfangenen Bits ausge­ führt und als Ergebnis dieser Prüfung wird ggf. ein Hinweis oder eine Marke an eine Fehlerfrei- Anzeigeschaltung 31 übertragen, die letztlich anzeigen soll: "Alles O.K., fortfahren mit dem Speichern".
Wenn andererseits ein geradzahliger Fehler oder ein anderer nicht korrigierbarer Fehler von der Paritätsprüfschal­ tung 29 entdeckt wird, wird ein Hinweis oder eine Marke an die Anzeigeeinrichtung 33 für unkorrigierbare Fehler gesandt, um durch diese die geeignete Maßnahme ergreifen zu lassen. Schließlich werden die 64 kodierten Datenwort-Bits einer Fehlerkorrekturschaltung 35 zuge­ führt, die außerdem eine Fehler-Bit-Lageinformation aus der Paritätsprüfungsschaltung 29 empfängt, wenn ein korrigierbarer Fehler dort entdeckt wird. Die Korrektur­ schaltung 35 korrigiert das irrtümliche Bit an der empfan­ genen Bit-Stelle und gibt ein korrigiertes Datenwort für die Weiterverarbeitung aus. Nur das Datenwort und nicht der Identifikationscode ist (wenn es korrigierbar ist) durch die Korrekturschaltung 35 korrigiert.
Aus Fig. 1 erkennt man weiter, daß dann, wenn ein Daten­ satz durch die erste Prüfeinheit 63 geprüft worden ist, es zum Speichern in dem ersten Speicher 39 bereit ist. Der erste Speicher 39 ist beispielsweise als ein relativ kleiner, sehr schneller, etwa bipolarer Speicher ausgeführt.
Die Adressierung für den ersten Speicher 39 wird von einem ersten Übersetzer 41 aus der 48 Bit-Satzidentifikation abgeleitet, der dem zu speichernden Datensatz zugeordnet ist. Der Speicher 39 enthält 2 D Wortstellen. Somit wird die räumliche Adresse des zu speichernden Datensatzes in dem Speicher 39 durch ein "D"-Bit Adressenfeld angegeben, wobei D kleiner ist als 48, die Bit-Länge des Satzidentifikationscodes. Das D-Bit Adressen­ feld besteht aus drei Unterfeldern, die jeweils eine Bit-Länge von A, B und C haben. Geeignete Werte für A, B, C und D sind 2, 7, 3 und 12 Bits. Jedoch können auch andere Werte gewählt werden, um anderen Ausführungen und Größen für den ersten Speicher 39 gerecht zu werden. Das A-Unterfeld repräsentiert die höher­ stelligen Bits des D-Feldes, und das C-Unterfeld reprä­ sentiert die niederstelligen Bits. Der Übersetzer 41 bearbeitet die erhaltene 48 Bit-Satzidentifikation und gibt eine B-Bit Adresse aus, die nicht eine spezielle Adressen­ stelle im ersten Speicher 39 angibt, sondern mehrere derartige Adressen, die als ein Teil oder eine Klasse des Speichers 39 aufgefaßt werden können. Die im ersten Übersetzer 41 ausgeführte Übersetzung kann eine ein­ fache D-Bit Verkürzung der 48 Bit-Satzidentifikation sein oder sie kann als ein Übersetzungs-Algorithmus ausgeführt werden, der im Hinblick auf eine spezielle Anwendung oded Randbedingungen entwickelt worden ist. Wichtig ist nur, daß die 48 Bit-Satzidentifikation in einen speziellen B-Ausgang übersetzt wird, der einen Speicherbereich im ersten Speicher 39 repräsentiert.
Der erste Übersetzer 41 gibt ein B-Bit Ausgangsfeld an den ersten Suchmechanismus 43, der außerdem die zugehörige 48 Bit-Satzidentifikation empfängt. Die Satzidentifikation wird beim Suchen in einer Adreßtafel 45 benutzt, in welcher Gruppen (Seiten von Satzidentifikationen jeweils bereitgehalten werden, die in dem ersten Speicher 39 gespeichert sind.
Die Suche wird an den höherwertigen 48 C-Bits der Satzidentifikation ausgeführt und der Bereich der Adreßtafel 45 der durchsucht wird, ist durch das B-Bitfeld angegeben. Alle Satzidentifikationen, die gemeinsame erste 48 C-Bits haben, gehören zur gleichen Seite. Das Ergebnis der Suchoperation ist eine A-Bit Adresse, die die gewünschte Satzidentifikationsseite relativ zur angegebenen Klasse des Speichers 39 in der Adreßtafel 45 lokalisiert. Es gibt zwei 2A Seitenstellen pro Klasse in der Adreßtafel 45. Die gewünschte Satz­ identifikation wird relativ zu ihrer Seite durch das C-Bitfeld angegeben. Das C-Bitfeld besteht aus den nieder­ wertigen C-Bits der 48 Bit-Satzidentifikation. Die räumliche Adresse der in dem Speicher 39 zu speichernden Satziden­ tifikation ist jetzt durch den D-Bit-Adressenausgang (D = A + B + C) aus dem Suchmechanismus 43 und dem Überset­ zer 41 vollständig angegeben.
Wenn die Seite, zu der der zu speichernde Datenname gehört, vom Suchmechanismus 43 gefunden wird, dann wird das zugehörige Datenwort in den ersten Speicher 39 an der Adresse eingeschrieben, die von dem D-Bit-Ausgang aus dem Suchmechanismus 43 und dem Übersetzer 41 ange­ geben ist. Wenn die Seite in der Adreßtafel 45 nicht vorliegt, dann wird versucht, die Seite der Daten­ sätze in der nächst niedrigeren Speicherebene, nämlich in dem zweiten Speicher 51, zu lokalisieren, und die Seite von Datensätzen in den ersten Speicher 39 und den Seitennamen in die Adreßtafel 45 zu bringen. Um dafür Platz zu schaffen, werden freie Positionen im ersten Speicher 39 sowie in der ersten Adreßtafel 45 gesucht oder, wenn nötig, geschaffen. In der Adreßtafel 45 muß ein freier Raum unter den 2 A Seitennamen-Einträgen in der durch den B-Bitfeld-Ausgang angegebenen Klasse aus dem ersten Übersetzer 41 verfügbar gemacht werden. Im ersten Speicher 39 müssen 2 C Freiplätze für die Seite von Datenwörtern verfügbar gemacht werden, welche die Datenwortstelle enthalten, die gespeichert werden soll. Wenn eine Vakanz nicht bereits im ersten Speicher 39 vorliegt, wird eine solche dadurch geschaf­ fen, daß von der ersten Adreßtafel 45 ein zu ent­ fernender Seitenname ausgewählt wird. Der für die Auswahl verwendete Algorithmus kann entweder auf der Basis eines Ersatzes des am längsten unbenutzten Postens oder auf der Basis eines Zufallsersatzes oder mit irgendeinem anderen aus dem Schrifttum bekannten Algorithmus aus­ geführt werden.
Die Seite der Datenwörter im ersten Speicher 39, die dem für den Ersatz gewählten Seitennamen entspricht, kann einfach ausgelöscht werden, wenn von ihr eine Kopie in einem Speicher niedrigerer Ebene existiert. Wenn nirgends eine Kopie vorhanden ist, muß die Seite in den zwei­ ten Speicher 51 zum Speichern in Adressen übertragen werden, die durch die 2 C H-Bit Adressen an­ gegeben sind, wobei H = E + F + G und "H" kleiner als 48 ist. Die Adressen-Unterfelder E, F und G sind jeweils ähnlich den Unterfeldern A, B und C im Speicher der ersten Ebene; jedoch unterscheiden sich die Größen jeweils von den Größen für A, B und C. Geeignete Werte können etwa sein H = 19, E = 6, F = 6 und G = 7. Ver­ schiedene Worte können natürlich in alternativen Aus­ führungsformen vorteilhafter sein. Die versuchte Einschreibe­ operation für den zweiten Speicher 51 wird auf gleiche Weise behandelt wie die Einschreibeoperationen bezüglich des ersten Speichers. An der zweiten oder einer anderen niedrigeren Ebene des Speicherraums wird Platz zum Speichern der Seite von Datensätzen gefunden werden, die aus dem ersten Spei­ cher 39 verlagert werden. Wenn diese Operation abge­ schlossen ist, wird die Seite von 2 C Datenwörtern, die das ursprünglich genannte Datenwort ent­ halten, im zweiten Speicher 51 (oder wenn nicht da, dann in einer niedrigeren Speicherebene) lokalisiert und zum ersten Speicher 39 übertragen. Die erste Adreßtafel 45 wird dann auf den neuesten Stand gebracht, incl. des Seiten­ namens der Seite von Datensätzen, die gerade im ersten Speicher 39 gespeichert worden sind. Die Einschreibeoperation auf die ursprüng­ lich genannte Datenwortstelle kann jetzt ab­ geschlossen werden.
Der zweite Speicher 51 ist in Aufbau und Betrieb dem ersten Datenspeicher 39 ähnlich mit der Ausnahme, daß der zweite Datenspeicher 51 größer, im allgemeinen langsamer und daher preiswerter pro gespeichertem Bit ist als der erste Speicher 39. Der zweite Datenspei­ cher 51 ist mit einem ihm zugeordneten zweiten Such­ mechanismus 47, einer zweiten Adreßtafel 49 und einem zweiten Übersetzer 53 ausgerüstet. Der zweite Suchmechanismus 47, die zweite Adreßtafel 49 und der zweite Übersetzer 53 arbeiten genauso, wie das für den ersten Übersetzer 41, den ersten Suchmechanismus 43 und die erste Adreßtafel 45 vorstehend erläutert worden ist. Dem Datenspeicher 51 ist auch eine dritte Prüfeinheit 27 zugeordnet, die genauso arbeitet wie die erste Prüfeinheit 63.
Jede Speicherebene hat eine andere räumliche Adresse für die gleiche Satzidentifikation, jedoch ist nur eine Kodierung durch den Kodierer 59 auszuführen, wenn ein neuer Datensatz erzeugt und gespeichert wird. Eine separate Prüfeinheut (erste Prüfeinheit 63 und dritte Prüfeinheit 27) wird am Ende der Übertragung direkt vor dem tatsächlichen Einschreiben benutzt.
Wenn man Fig. 4 mit Fig. 1 vergleicht, sieht man, daß eine Ausleseoperation die gleiche Anordnung wie eine Einschreibe­ operation erfordert, mit der Ausnahme, daß eine zweite Prüfeinheit 69 den Kodierer 59 ersetzt. Die zweite Prüfeinheit 69 arbeitet identisch wie die erste und dritte Prüfeinheit 63 bzw. 27. Die Ausleseoperation läuft in ähnlicher Weise wie die vorstehend beschriebene Einschreibe­ operation ab. Um einen Datensatz zu holen, wird die zugehörige Satzidentifikation dem ersten Übersetzer 41 zuge­ führt, der eine mit demjenigen Bereich der ersten Adreßtafel 45 in Beziehung stehende Information erzeugt, welcher zum Auffinden der Satzidentifikation durchsucht werden soll. Der erste Suchmechanismus 43 führt dann jene Suche aus, und wenn die Satzidentifikation in einer ersten Adreßtafel 45 gefunden wird, dient seine Stelle im Daten­ speicher 39 zum Auslesen des zugehörigen Datensatzes aus dem ersten Speicher 39 und zurück durch die erste Prüfeinheit 63 zur ersten Übertragungsleitung 21, zur zweiten Prüfeinheit 69 und schließlich zur Datensatzquelle 57. Wenn die Satzidentifikation in der ersten Adreßtafel 45 nicht gefunden wird, beginnt eine Suche in der zweiten Adreßtafel 49, um ihre Seite in dem zwei­ ten Speicher 51 zu lokalisieren. Es ist selbstverständlich, daß zum Zwecke des Programmstarts alle Satzidentifikationen vor dem Lauf eine Programms in der niedrigsten Stufe der Adreßtafel gespeichert werden.
Obgleich die vorstehenden Ausführungen nur von zwei Speicherebenen handeln, können die angewandten Prinzipien auch auf drei oder mehr Speicherebenen ausgedehnt werden. Ferner sind an den beschriebenen Ausführungs­ formen je nach dem jeweils vorliegenden Anwendungsfall geeignete Abwandlungen möglich. Beispielsweise können elegante Ersatz- oder Tausch-Algorithmen oder -Mittel zum Hin- und Hertransportieren von Daten zwischen dem ersten Speicher 39 und dem zweiten Speicher 51 vorgesehen sein. Ferner könnten auf Wunsch die Daten in beide Daten­ speicher 39 und 51 in einer einzigen Operation einge­ schrieben werden. Ferner sind die angegebenen Wort­ größen, Identifikationscodegrößen und Datenspeichergrößen nur illu­ strativ. Selbstverständlich können größere oder kleinere Datensysteme mit Identifikationscodes je nach Wunsch verwendet werden.
Gemäß Fig. 5 werden ein gespeicherter Datensatz 57 und eine gespeicherte Satzidentifikation 55 in einem Kodierer 59 verknüpft, ehe sie an einen Ein-/Ausgabe- Kanal 61 übertragen werden. Der Datensatz 57 be­ steht hierbei aus einem oder mehreren Informationspaketen. Die Satzidentifikation 55 stellt eine charakterisierende Größe für einen gegebenen Datensatz 57 in dem Falle dar. Der Kodierer 59 arbeitet so, daß er einen den Datensatz 57 und seine zugehörigen Satz­ identifikation 55 überdeckenden Fehlerprüfcode erzeugt.
Der kodierte Datensatz 57 und die Satzidentifikation 55 werden über Ein-/Ausgabe-Datenkanäle 61 einer ersten Prüfeinheit 63 zugeführt. Die Satzidentifikation 55 wird außerdem unabhängig der ersten Prüfeinheit 63 zugeführt, in welcher der sowohl den Datensatz 57 wie auch die Satzidentifikation 55 über­ deckende Prüfcode 65 in einer Weise geprüft wird, daß die erste Prüfeinheit 63 eine Richtigkeitsprüfung des Daten­ satzes 57 und der Satzidentifikation 55 gemäß Fig. 1 ausführt. Wenn die Prüfung beendet ist und die Richtigkeit durch die Prüfeinheit 63 in der erforderlichen Weise festgestellt worden ist, wird das zusammenhängende Gebilde aus Satzidentifikation 55, Datensatz 57 und Prüfcode 65 als vollständige Datensatzeinheit 67 gespeichert.
Ein Datensatz wird in ähnlicher Weise wiedergewonnen, wie er gespeichert wird (s. Fig. 6). Eine Datensatz­ einheit 67, bestehend aus einer Satzidentifikation 55, einem Datensatz 57 und einem Prüfcode 65 wird durch Angabe des Identifikationscodes angefordert. Die Datensatzeinheit 67 wird durch eine Prüf­ einheit 63 geprüft, die in ihrer Funktion und in ihrem Betriebsverhalten und in ihrer Struktur der in Fig. 4 dargestellten dritten Prüfeinheit 27 entspricht. Wenn an der Satzeinheit 67 eine Prüfung ausge­ führt worden ist, wird sie durch den Ein-/Ausgabe- Kanal 61 der zweiten Prüfeinheit 69 zugeführt. Da die zweite Prüfeinheit 69 eine Satzidentifikation 55 zur Prüfung aufnimmt, ist der empfangene Datensatz 57 nicht nur fehlerfrei, sondern es ist tatsächlich der richtige angeforderte Satz. Wenn die Prüfung durch die zweite Prüfeinheit 69 ausgeführt ist, wird der Datensatz 57 zum Speicher zurückgeführt.
Man sieht also, daß Datensätze 57 durch Satzidentifikationen 55 mittels eines automatisierten Vorgangs gekennzeichnet werden, welcher für die Benutzer der Datensätze 57 trans­ parent ist oder sein kann. Der Satzidentifikationscode 55 wird dann ein bleibender Teil jenes Datensatzes 57 und schafft damit die Möglichkeit einer automatischen Prüfung und Echtheitsprüfung des Satzidentifikationscodes 55 beim erneuten Auslesen.
Daher wird nur derjenige, der die spezielle Satz­ identifikation 55 eines Datensatzes 57 kennt, Zugriff zu jenem Datensatz 57 erhalten. Man ver­ steht, daß das Kodieren durch den Kodierer 59 gemäß Fig. 5 und daß die Prüfeinheiten 63 und 69 aus Fig. 6 eine Fehlerfeststellung sowohl am Datensatz 57 wie am Satzidentifikationscode 55 ermöglichen, jedoch eine Datenkorrektur lediglich an dem Datensatz 57 ausführen würden, da ein Vorteil in der Korrektur eines inkorrekten Satzidentifikationscodes 55 nicht erblickt werden könnte, und eine solche Korrektur tatsächlich die verbesserte Sicherheit und Privatsphäre des Erfindungsgegenstandes wenigstens zum Teil nachteilig beeinträchtigen würde.

Claims (5)

1. Anordnung in einer Datenverarbeitungsanlage zum sicheren Einschreiben bzw. Auslesen eines Datensatzes (57) über einen Ein-/Ausgabe-Kanal (61) in bzw. aus mindestens einem Speicher (39, 51), in der
  • a) zu jedem Datensatz (57) eine zugehörige Satz­ identifikation (55) erzeugt wird,
  • b) beim Einschreiben in einem Kodierer (59) aus dem Datensatz (57) und der zugehörigen Satziden­ tifikation (55) ein Prüfcode (65) erzeugt wird,
  • c) der Prüfcode (65) dem Datensatz (57) und der Satzidentifikation (55) angehängt wird, wodurch eine Datensatzeinheit (67) entsteht,
  • d) diese Datensatzeinheit (67) über den Ein-/Aus­ gabe-Kanal (61) übertragen wird,
  • e) nach der Übertragung der Prüfcode (65) in einer ersten Prüfeinheit (63) auf Richtigkeit und die Satzidentifikation (55) auf Echtheit überprüft und dann im Speicher (39, 51) abgespeichert wer­ den,
  • f) beim Auslesen der Datensatzeinheit (67) der Prüfcode (65) in der ersten Prüfeinheit (63) auf Richtigkeit und die Satzidentifikation (55) auf Echtheit überprüft werden, und in der
  • g) nach Übertragung der Datensatzeinheit (67) über den Ein-/Ausgabe-Kanal (61) der Prüfcode (65) in einer zweiten Prüfeinheit (69) erneut auf Richtigkeit und die Satzidentifikation (55) auf Echtheit überprüft werden.
2. Anordnung nach Anspruch 1, mit mehreren Spei­ chern (39, 51), dadurch gekennzeichnet, daß die Speicher einander untergeordnete Speicherebenen bilden und daß jedem Speicher (39, 51) ein Übersetzer (41, 53) zugeord­ net ist, der aus der Satzidentifikation (55) der Da­ tensatzeinheit (67) die Adresse für den zugeordne­ ten Speicher (39, 51) ableitet.
3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß die aus der Satzidenti­ fikation (55) abgeleitete Adresse einen vorgebbaren Speicherbereich in jedem Speicher (39, 51) repräsen­ tiert.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß jedem Speicher (39, 51) ferner ein Suchmechanismus (43, 47) zugeordnet ist, welcher sowohl die Satzidentifikation (55) als auch vom Übersetzer (41, 53) die Adresse erhält, und ei­ ne Adreßtafel (45, 49), welche die in dem jeweili­ gen Speicher (39, 51) abgelegten Satzidentifikatio­ nen enthält und in welcher der Suchmechanismus (43, 47) mittels der Satzidentifikation (55) oder eines Teils von ihr in dem vorgegebenen Speicherbereich nach der gewünschten Speicherstelle sucht.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Suche nach der Spei­ cherstelle in der nächsten untergeordneten Speicher­ ebene fortgesetzt wird, falls die Suche in der vor­ hergehenden Ebene erfolglos bleibt.
DE19803002048 1979-02-02 1980-01-21 Verfahren und vorrichtung zur verbesserung der eingabe und ausgabe in einer datenverarbeitungsanlage Granted DE3002048A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/009,250 US4244049A (en) 1979-02-02 1979-02-02 Method and apparatus for enhancing I/O transfers in a named data processing system

Publications (2)

Publication Number Publication Date
DE3002048A1 DE3002048A1 (de) 1980-08-14
DE3002048C2 true DE3002048C2 (de) 1989-08-03

Family

ID=21736515

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19803002048 Granted DE3002048A1 (de) 1979-02-02 1980-01-21 Verfahren und vorrichtung zur verbesserung der eingabe und ausgabe in einer datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US4244049A (de)
JP (1) JPS55103661A (de)
BR (1) BR8000346A (de)
DE (1) DE3002048A1 (de)
FR (1) FR2448191B1 (de)
GB (1) GB2040521B (de)
YU (2) YU9380A (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU530568B2 (en) * 1980-10-31 1983-07-21 Canon Kabushiki Kaisha Serial printing apparatus with memory and display
US4596014A (en) * 1984-02-21 1986-06-17 Foster Wheeler Energy Corporation I/O rack addressing error detection for process control
JPS6115230A (ja) * 1984-06-29 1986-01-23 Nec Corp 入力デ−タ識別装置
US4903229A (en) * 1987-03-13 1990-02-20 Pitney Bowes Inc. Forms generating and information retrieval system
AU3594189A (en) * 1988-06-21 1990-01-04 Amdahl Corporation Controlling the initiation of logical systems in a data processing system with logical processor facility
US5126728A (en) * 1989-06-07 1992-06-30 Hall Donald R ADP security device for labeled data
US5347579A (en) * 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
DE69032737T2 (de) 1989-07-13 1999-04-29 Canon Kk Kodierung- und Dekodierungsvorrichtung geeignet für das Kopieren von Daten
JP3561002B2 (ja) * 1994-05-18 2004-09-02 富士通株式会社 ディスク装置
KR102331926B1 (ko) * 2017-11-17 2021-11-29 삼성전자주식회사 저장 장치를 포함하는 호스트 시스템의 동작 방법 및 저장 장치 제어기의 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3825903A (en) * 1973-04-30 1974-07-23 Ibm Automatic switching of storage protect keys
US3825893A (en) * 1973-05-29 1974-07-23 Ibm Modular distributed error detection and correction apparatus and method
US3920976A (en) * 1974-08-19 1975-11-18 Sperry Rand Corp Information storage security system
JPS5130444A (de) * 1974-09-09 1976-03-15 Hitachi Ltd
JPS5245837A (en) * 1975-10-08 1977-04-11 Hitachi Ltd Error detection equipment
US4020459A (en) * 1975-10-28 1977-04-26 Bell Telephone Laboratories, Incorporated Parity generation and bus matching arrangement for synchronized duplicated data processing units
DE2721599C2 (de) * 1976-05-17 1983-05-05 Sperry Corp., 10019 New York, N.Y. Schaltungsanordnung zur Verhinderung der Ausgabe von Datenworten aus einer EDV-Anlage ohne Sicherheitsverifizierung
JPS6034182B2 (ja) * 1976-08-17 1985-08-07 松下電器産業株式会社 信号誤り検出訂正方式
JPS53106110A (en) * 1977-02-28 1978-09-14 Nec Corp Magnetic memory controller
US4166211A (en) * 1978-04-03 1979-08-28 Burroughs Corporation Error control system for named data

Also Published As

Publication number Publication date
FR2448191A1 (fr) 1980-08-29
US4244049A (en) 1981-01-06
YU235482A (en) 1983-12-31
YU9380A (en) 1983-04-30
GB2040521A (en) 1980-08-28
GB2040521B (en) 1983-03-02
BR8000346A (pt) 1980-10-07
FR2448191B1 (fr) 1985-10-25
DE3002048A1 (de) 1980-08-14
JPS55103661A (en) 1980-08-08

Similar Documents

Publication Publication Date Title
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE3125048C2 (de)
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE60300777T2 (de) Nichtflüchtiger redundanzadressen-speicher
DE2646162C3 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE2529152A1 (de) Verfahren und anordnung zur feststellung von fehlern in halbleiter- informationsspeichern
DE2556556A1 (de) Verfahren und anordnung zur speicherung von informationen ueber den ort eines oder mehrerer fehlerhafter bits in einem einzelne fehler korrigierenden halbleiter-hauptspeicher
DE1549468B2 (de) Speicheranordnung fuer eine programmgesteuerte datenverarbeitungsanlage
DE3002048C2 (de)
DE1901806A1 (de) Schaltungsanordnung zur Kompensation schadhafter Speicherzellen in Datenspeichern
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE1499687B2 (de) Speicherschutz-einrichtung
DE1284996B (de) Leseschaltung fuer einen Speicher
DE3045609C2 (de)
DE2536498A1 (de) Schaltung zur sicherung von informationsspeichern
DE2554502A1 (de) Verfahren und anordnung zum speichern binaerer datenelemente
DE102017124313B4 (de) Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
EP0990236B1 (de) Anordnung mit speicherzellen und verfahren zur funktionsüberprüfung von speicherzellen
DE3025044C2 (de)
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul
DE2625365C3 (de) Vergleichseinrichtung fur eingegebene Daten
DE10331068A1 (de) Verfahren zum Auslesen von Fehlerinformationen aus einem integrierten Baustein und integrierter Speicherbaustein
DE2823457C2 (de) Schaltungsanordnung zur Fehlerüberwachung eines Speichers einer digitalen Rechenanlage
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition