DE69023372T2 - Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung. - Google Patents

Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung.

Info

Publication number
DE69023372T2
DE69023372T2 DE69023372T DE69023372T DE69023372T2 DE 69023372 T2 DE69023372 T2 DE 69023372T2 DE 69023372 T DE69023372 T DE 69023372T DE 69023372 T DE69023372 T DE 69023372T DE 69023372 T2 DE69023372 T2 DE 69023372T2
Authority
DE
Germany
Prior art keywords
data
byte
read
bits
error correction
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 - Fee Related
Application number
DE69023372T
Other languages
English (en)
Other versions
DE69023372D1 (de
Inventor
Richard Leo Galbraith
Nyles Norbert Heise
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69023372D1 publication Critical patent/DE69023372D1/de
Application granted granted Critical
Publication of DE69023372T2 publication Critical patent/DE69023372T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Description

  • Die vorliegende Erfindung betrifft die Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung.
  • In Spuren aufgegliederte Speichervorrichtungen wie Direktzugriffsspeicher (DASD), in denen binäre Daten auf einem nichtflüchtigen Speichermedium wie Magnetplatten oder optischen Platten aufgezeichnet werden, entsprechen dem Stand der Technik und werden deshalb hier nicht ausführlich beschrieben. Es genügt zu sagen, daß bei solchen Vorrichtungen und insbesondere bei Magnetplatteneinheiten, die Fähigkeit, bestimmte ungünstige Sequenzen binärer Einsen und/oder Nullen korrekt aufzuzeichnen oder zu schreiben, eine Funktion der Schnittstelle zwischen Platte und Kopf und des Magnetaufzeichnungsphänomens ist. Wenn versucht wird, solche ungünstigen Muster aufzuzeichnen, kann die lineare Spurposition der aufgezeichneten Daten (d.h. die magnetische Umwandlung S-S oder N-N entlang der Spur) von der gewünschten Position abweichen, und infolgedessen können beim nachfolgenden Lesen der Daten Lesefehler auftreten. Ferner ist bekannt, daß Fehlerkorrekturcodes anfällig für bestimmte Datenmuster sind, welche die Fähigkeit des Fehlerkorrekturcodes zur Erkennung und/oder Korrektur von Lesefehlern stark beanspruchen. Ein Beispiel ein es ungünstigen Lesemusters ist eine wiederkehrende Folge von Lesefehlern der gleichen (d.h. sich wiederholenden) Fehlergröße.
  • Die vorliegende Erfindung betrifft Speichervorrichtungen mit Datenspuren und bietet ein Verfahren zur pseudozufallsmäßigen Veränderung binärer Daten vor der Aufzeichnung und zur komplementären Rückumwandlung der so veränderten Daten beim Auslesen, so daß Schreibmuster, welche die Schnittstelle zwischen Kopf und Speichermedium beanspruchen, vermieden werden, und daß Lesemuster, welche den Fehlerkorrekturcode beanspruchen, ebenfalls vermieden werden.
  • Es wird darauf hingewiesen, daß die sichere Speicherung verschlüsselter Daten und die Verwendung verzahnter Fehler- und PRML-Codes bekannt sind, und daß Vorschläge unterbreitet wurden, die Abbildung logischer Wortadressen auf tatsächliche Positionen in einem flüchtigen Chipspeicher zu verteilen und jedes Bit jedes Wortes aus einem Block von Wörtern geordnet einem anderen Chip/ROM zuzuordnen - das nte Bit des "nten" Chip/ROM.
  • In GB 2017365 und in "An Experimental Digital Videotape Recorder" von K. Yokoyama, S. Nakagawa und H. Katayama, im BKSTS Journal, Nov. 1980, Seite 570 bis 580 wird ein digitales Magnetbandaufzeichnungssystem mit Fehlerkorrektur und Modulo-2-Addition/Subtraktion eines zufälligen Bitstroms zu/von den Daten zum Ver- bzw. Entschlüsseln beschrieben.
  • In jedem Zusammenhang gibt es spezielle Probleme, und nach dem Wissen der Erfinder ist das Verfahren, fehlercodierte binäre Daten vor der Speicherung auf einer Plattenspeichereinheit zufallsmäßig zu verändern, um Datenmuster zu vermeiden, welche die Kopf-/Plattenschnittstelle und den Fehlercode beanspruchen, nach dem Stand der Technik nicht bekannt. Außerdem wird davon ausgegangen, daß das Verfahren, zu einem späteren zufälligen Zeitpunkt (d.h. nicht in Echtzeit wie bei einem Datenübertragungssystem) die zufallsmäßig veränderten Daten von der Platte zurückzulesen und anschließend wieder in die ursprünglichen Daten umzuwandeln, bevor sie an ein Fehlerkorrekturnetzwerk übergeben werden, nach dem Stand der Technik noch nicht existiert.
  • Die Verwendung von Verschlüsselungs- und Entschlüsselungsverfahren für Sicherheitszwecke in digitalen Datenübertragungssystemen mit Echtzeitübertragungspfad ist geläufig. Die US-Patentschrift US-A-4,639,548 ist ein Beispiel dafür. In dieser Patentschrift wird ein Eingangsdatensignal verschlüsselt und dann an einen Faltungscodierer übergeben. Die Ausgabe dieses Codierers wird dann an einen Übertragungspfad übergeben. Die über den Übertragungspfad an einen Empfänger übermittelten Daten werden zuerst an einen Faltungcodierer und dann an ein Entschlüsselungsgerät übergeben. Das Entschlüsselungsgerät ist durch ein beim Entschlüsselungsgerät erzeugtes Fehlerkorrekturpulssignal mit dem Verschlüsselungsgerät synchronisiert.
  • In der US-Patentschrift US-A-3,775,746 wird auch die Verwendung eines Verschlüsselungs- und Entschlüsselungsverfahrens in Verbindung mit einem in Echtzeit arbeitenden digitalen Datenübertragungssystem beschrieben. In diesem System wird die Ver- und Entschlüsselungsfunktion von einem Netzwerk übernommen, das eine Verzögerungsschaltung und ein EXKLUSIV-ODER-Glied enthält. Synchronisation und Taktsteuerung werden in dem genannten Patent nicht beschrieben.
  • In der US-Patentschrift US-A-3,771,126 wird ein Datenverarbeitungs- und Übertragungssystem beschrieben, bei dem ein analoges Signal abgetastet und durch einen Codierer codiert wird. Ein Paritätsgenerator fügt dann Paritätsbits hinzu, um die Korrektur von Fehlern in den einzelnen digitalen Datenblöcken zu ermöglichen. Die digitalen Daten und die Paritätsbits werden dann von einem Verschlüsselungsgerät in eine zufällige Impulsfolge umgewandelt, bevor sie in Echtzeit an einen Kanal übergeben werden. Am Ausgang des Kanals werden die Daten entschlüsselt, einem Fehlerdecoder übergeben und dann wieder in ein analoges Signal umgewandelt, das von einer Benutzerschaltung verwendet wird. Bei dem Verschlüsselungsgerät handelt es sich um ein konventionelles selbstsynchronisierendes Verschlüsselungsgerät, z.B. ein einzelliges Ver-/Entschlüsselungsgerät, das aus einem Modulo-2-Addierer und einer einzelligen Verzögerung besteht.
  • In der US-Patentschrift US-A-3,988,538 werden Ver- und Entschlüsselungsgeräte für digitale Datenübertragungssysteme mit mehreren parallelen synchronisierten Datenströmen beschrieben. Die komplementären Verschlüsselungs- und Entschlüsselungsgeräte dieses Patentes enthalten eine Reihe von Verzögerungselementen (d.h. ein Schieberegister) mit einem linearen sequentiellen Filter mit einer Reihe von Anzapfstellen (d.h. einer Verzögerungsleitung mit Anzapfstellen), die aufsummiert und in Form einer Rückkopplung oder Vorwärtskopplung mit dem Eingang des Ver-/Entschlüsselungsgeärts verbunden werden.
  • Diese Patente sind beispielhaft für den Stand der Technik, nach dem Daten verschlüsselt in Echtzeit an einen mit einem Entschlüsselungsgerät ausgestatteten Empfänger übertragen werden. Sie behandeln aber nicht die Probleme bei der Verwendung einer Kombination von zufallsmäßiger Abwandlung und entsprechender Rückumwandlung in Verbindung mit einer Plattenspeichereinheit.
  • Die vorliegende Erfindung liefert ein Verfahren, um Daten auf eine Plattenspeichereinheit zu schreiben, wobei die Daten als Folge von aus Benutzerdaten und zugehörigem Fehlerkorrekturcode bestehenden Datenfeldern auf eine Datenspeicherplatte geschrieben werden. Dieses Verfahren besteht darin, Fehlerkorrekturdaten zu den Benutzerdaten zu generieren, um eine Kette von Datenwörtern zu erzeugen, welche die Benutzerdaten und die zugehörigen Fehlerkorrekturdaten für ein Datenfeld darstellen, und ist dadurch gekennzeichnet, daß anschließend die Fehlerkorrekturcode- und Benutzerdaten im Datenfeld pseudozufallsmäßig verändert werden, indem jedes Datenwort mit Daten aus einer Sequenz von Pseudozufallsdaten multipliziert oder durch diese dividiert wird.
  • Die vorliegende Erfindung liefert auch ein Verfahren zum Lesen von Daten von einem Plattenspeicher, in dem die Daten als Folge von Datenfeldern gespeichert sind, die jeweils Benutzerdaten und die zugehörigen Fehlerkorrekturdaten enthalten. Bei diesem Verfahren wird ein Datenfeld als Kette von Datenwörtern von der Platte gelesen, und die Benutzerdaten sowie die zugehörigen Fehlerkorrekturdaten werden aus dem Datenfeld zurückgelesen, um Fehler zu erkennen und zu korrigieren. Das Verfahren ist dadurch gekennzeichnet, daß die Fehlerkorrektur- und Benutzerdaten in einem Datenfeld wieder rückumgewandelt werden, indem jedes Datenwort mit Daten aus einer Folge von Pseudozufallsdaten multipliziert oder dividiert wird, wobei die Rückumwandlung erfolgt, bevor die aus dem Datenfeld zurückgelesenen Benutzerdaten und die zugehörigen Fehlerkorrekturcode-Daten zur Erkennung und Korrektur eventueller Fehler verwendet werden.
  • Ferner beinhaltet die vorliegende Erfindung eine Vorrichtung zur Verwirklichung solcher Schreib-/Leseverfahren.
  • Wie im folgenden dargelegt wird, werden die pseudozufallsmäßig veränderten Daten auf einem nichtflüchtigen Speichermedium wie beispielsweise einer Magnetplatte aufgezeichnet oder gespeichert. Vom Direktzugriffsspeicher werden die veränderten Daten dann in einen Lesekanal mit einer komplementären Entschlüsselungsvorrichtung zurückgelesen. Die Kombination von Direktzugriffsspeicher und Verschlüsselungs-/Entschlüsselungsvorrichtung funktioniert so, daß das Schreiben von Datenmustern, welche die Fähigkeit zum Speichern der veränderten Daten beanspruchen, vermieden wird, und daß auch Lesefehlerbedingungen, welche die Fähigkeit des Fehlererkennungscodes im Lesekanal, eventuelle Fehler, welche beim Zurücklesen der gespeicherten, veränderten Daten von der Platte auftreten, zu erkennen und zu identifizieren, vermieden werden.
  • Binäre Daten, die aus den Benutzerdaten und den zugehörigen Fehlerkorrekturdaten bestehen, werden pseudozufallsmäßig verändert, bevor sie in einen nichtflüchtigen Speicher wie beispielsweise die Magnetplatte eines Direktzugriffsspeichers geschrieben werden, und werden beim nachfolgenden Auslesen von der Platte wieder rückumgewandelt. Genauer werden die Benutzerdaten und die zugehörigen Fehlerkorrekturdaten zuerst pseudozufallsmäßig verändert, dann lauflängencodiert und schließlich unter Verwendung eines DASD-Schreibkanals auf die Platte geschrieben.
  • Anschließend, wenn die verschlüsselten und codierten Datensätze mittels des DASD-Lesekanals von der Platte zurückgelesen werden, werden die Datensätze zuerst decodiert und dann komplementär entschlüsselt, um die ursprünglichen Benutzerdaten und die zugehörigen Fehlerkorrekturdaten zurückzugewinnen.
  • Die Entschlüsselungsvorrichtung des Lesekanals befindet sich zwischen dem Decoder und dem Fehlerkorrekturnetzwerk. Dadurch erscheinen wiederkehrende Lesefehler gleicher Fehlergröße als zufällige Fehler, wodurch die Fähigkeit des Fehlerkorrekturnetzwerks, solche Lesefehler gleicher Größe zu erkennen und zu korrigieren, möglichst wenig beansprucht wird.
  • Das Verfahren zum zufallsmäßigen Verschlüsseln der binären Daten (d.h. der Benutzerdaten und der zugehörigen Fehlerkorrekturdaten) ist so aufgebaut, daß das Schreiben von Datenmustern vermieden wird, welche die Fähigkeit der Kopf-/Plattenschnittstelle, die magnetischen Umwandlungen auf den richtigen linearen Spurpositionen aufzuzeichnen, stark beanspruchen können. Später beim Lesen der Platte wird durch das komplementäre Entschlüsselungsverfahren vermieden, daß dem Fehlerkorrekturnetzwerk des Lesekanals ein sich wiederholendes Muster von Lesefehlern präsentiert wird. Lesefehler werden somit nicht über den Lesekanal weiterverbreitet.
  • Die Verschlüsselungsvorrichtung des Schreibkanals und die Entschlüsselungsvorrichtung des Lesekanals können die Form einer Multiplikations- und Divisionsschaltung für Daten in finiten Feldern besitzen, wobei beide Schaltungen die gleiche Art von Pseudozufalls-Polynomzählern verwenden. In der Verschlüsselungsvorrichtung des Schreibkanals werden die Daten mit dem Inhalt eines Polynomzählers multipliziert. In der Entschlüsselungsvorrichtung des Lesekanals werden die verschlüsselten Daten durch den Inhalt eines Polynomzählers dividiert, um die Multiplikation in der Verschlüsselungsvorrichtung des Schreibkanals rückgängig zu machen.
  • Gemäß einem bestimmten Ausführungsbeispiel der Erfindung können die Verschlüsselungseinrichtung des Schreibkanals und die Entschlüsselungseinrichtung des Lesekanals einen 8-Bit-Pseudozufallszähler enthalten. Bestehen die zu schreibenden bzw. zu lesenden Daten aus einer Folge von 8 Bit langen Datenwörtern, kann der 8-Bit-Pseudozufallszähler weitergezählt werden, so daß seine 255 verschiedenen Zustände (ausschließlich Nullen an allen 8 Bitpositionen werden nicht verwendet) nach einem vorgegebenen und wiederkehrenden Pseudozufallsmuster, also in immer der gleichen, sich wiederholenden und pseudozufälligen Reihenfolge, gesteuert von einem Byte-Zähler, der als Antwort auf das sequentielle Schreiben/Lesen der Mehrbyte-Daten vorrückt, durchlaufen werden.
  • In einer weniger aufwendigen Version besteht der Zähler aus einem 8-Bit-Pseudozufalls-Polynomzähler, der in zwei voneinander unabhängige 4-Bit-Pseudozufallsregister oder -zähler unterteilt ist (siehe Fig. 3).
  • Während Daten auf die Platte geschrieben werden, rücken die oberen vier Bits (d.h. die Bits P0 bis P3) des Zeigers (d.h. eines der beiden 4-Bit-Register) mit einer EXKLUSIV-ODER-Rückkopplung vor, die aus einem ersten 4-Bit-Polynom, das im folgenden als "Vorwärtspolynom" bezeichnet wird, abgeleitet ist. Die unteren vier Bits (d.h. die Bits P4 bis P7) des Zählers (d.h. des anderen 4-Bit-Registers) rücken mit einer EXKLUSIV-ODER-Rückkopplung vor, die aus einem zweiten 4-Bit-Polynom, das im folgenden als "Rückwärtspolynom" bezeichnet wird, abgeleitet ist.
  • Während des Schreibens auf die Platte durchlaufen die oberen vier Bits (d.h. die Bits P0 bis P3) des Zählers 15 verschiedene Zustände (der Zustand "0000" wird nicht verwendet) in einer bekannten, sich wiederholenden und pseudozufälligen Reihenfolge. Die unteren vier Bits hingegen durchlaufen nur 13 der verschiedenen Zählerzustände.
  • Später, beim Lesen der verschlüsselten Daten werden die Originaldaten durch Division aus dem Multiplikationsergebnis der Verschlüsselungsvorrichtung im Schreibkanal wiedergewonnen. In diesem Fall erfolgt die Division finiter Felder durch ein Verfahren, das als Multiplikation mit dem Kehrwert bekannt ist.
  • Beim Auslesen der Daten von der Platte rücken die oberen vier Bits (d.h. die Bits P0 bis P3) erneut mit einer aus dem oben genannten Vorwärtspolynom abgeleiteten EXKLUSIV-ODER-Rückkopplung vor, und die unteren vier Bits (d.h. die Bits P4 bis P7) des Zählers rücken wiederum mit einer aus dem oben genannten Rückwärtspolynom abgeleiteten EXKLUSIV-ODER-Rückkopplung vor.
  • Beim Lesen der Daten von der Platte durchlaufen diese oberen vier Bits des Zählers (d.h. die Bits P0 bis P3) nur die genannten 13 verschiedenen Zählerzustände. Die unteren vier Bits des Zählers (d.h. die Bits P4 bis P7) durchlaufen die genannten 15 verschiedenen Zählerzustände.
  • Beim Schreiben der Daten und beim darauffolgenden Lesen besteht also der sich wiederholende Zyklus des 8-Bit-Polynomzählers aus 15 mal 13 Bytezyklen, d.h. 195 aufeinanderfolgenden Datenbytezyklen.
  • Kurz zusammengefaßt: In diesem bevorzugten Ausführungsbeispiel der Erfindung werden die Daten in einer durch die sequentielle Zählung des 8-Bit-Pseudozufalls-Polynomzählers zufallsmäßig verschlüsselten Form auf die Platte geschrieben, wobei der Zähler seine Sequenz über alle aufeinanderfolgenden Felder von 195 auf die Platte geschriebenen Datenbytes zählt, und beim anschließenden Zurücklesen der so verschlüsselten Daten macht der 8-Bit- Polynomzähler in der Entschlüsselungsvorrichtung des Lesekanals die Multiplikation, die beim Schreiben durch den Polynomzähler in der Verschlüsselungsvorrichtung des Schreibkanals vorgenommen wurde, durch entsprechende Division rückgängig. Auch hier wiederholt der Zähler seine Sequenz über alle aufeinanderfolgenden Felder von 195 von der Platte gelesenen Datenbytes.
  • Wie in Fig. 3 zu sehen ist, kann ein einziger Polynomzähler 40 sowohl im Schreibkanal als auch im Lesekanal arbeiten.
  • Die oben genannten Vorwärts- und Rückwärtspolynome können so gewählt werden, daß der binäre Inhalt einer 4-Bit-Hälfte des Zählers der Kehrwert des binären Inhalts der anderen 4-Bit-Hälfte des Zählers ist.
  • Hier wurde als "Vorwärtspolynom" die Funktion g(x) x&sup4; + x + 1 und als "Rückwärtspolynom" die Funktion g(x) x&sup4; + x³ + 1 ausgewählt.
  • Diese beiden Polynome wurden so ausgewählt, daß wenn das Polynomwort des Zählers (d.h. die Bits P0 bis P7), das zum Verschlüsseln eines vorgegebenen Datenbytes verwendet wurde, umgekehrt und anschließend zum Zurücklesen des verschlüsselten Datenbytes verwendet wird, der Wortinhalt des Zählers (d.h. die Bits P0 bis P7) beim Lesen der Kehrwert des Wortinhaltes beim Schreiben ist, so daß das verschlüsselte Byte durch den ursprünglichen Multiplikator dividiert und so wieder entschlüsselt wird.
  • Durch diese Auswahl der beiden Polynome kann der gleiche Zeigeraufbau und die gleiche Zeigeranordnung sowohl für die Verschlüsselungsvorrichtung im Schreibkanal als auch für die Entschlüsselungsvorrichtung im Lesekanal verwendet werden.
  • In dem in Fig. 3 dargestellten bevorzugten Ausführungsbeispiel der Erfindung muß für die Prozedur zum Verschlüsseln eines zu schreibenden Datenbytes der Zähler 40 initialisiert oder auf einen bestimmten Stand gebracht werden, in diesem Beispiel auf P0-P7= "00010001". Die oberen vier Bits (CW0 bis CW3) der zu schreibenden Daten werden nun mit den oberen vier Bits (P4 bis P7) des Zählers und die unteren vier Bits (CW0 bis CW3) der zu schreibenden Daten mit den unteren vier Bits (P4 bis P7) des Zählers multipliziert. Der Zähler wird auf den nächsten Zustand gesetzt, und die genannte Multiplikation wiederholt sich für das nächste zu schreibende Datenbyte unter Verwendung des nächsten pseudozufälligen Zählerstandes. Wenn das nächste zu schreibende Feld (siehe Kennzahl 11 in Fig. 1) beginnt, wird der Zähler wieder auf "00010001" initialisiert, und der Prozeß wiederholt sich für dieses nächste Datenfeld.
  • Bei der Prozedur zur Entschlüsselung eines pseudozufallsmäßig verschlüsselten Lesedatenfeldes muß der Zähler in diesem Beispiel auf den Stand P0-P7 = "10001000" initialisiert werden. Die oberen vier Bits (R0 bis R3) der zurückzulesenden Daten werden nun mit der umgekehrten Reihenfolge der unteren vier Bits (P4 bis P7) des Zählers multipliziert, und die unteren vier Bits (R4 bis R7) der zurückzulesenden Daten werden mit der umgekehrten Reihenfolge der oberen vier Bits (P0 bis P3) des Zählers multipliziert. Der Zähler rückt dann für das nächste zu lesende Datenbyte auf den nächsten Stand vor, und der beschriebene Prozeß wiederholt sich. Wenn das nächste zurückzulesende Datenfeld beginnt, wird der Zähler wieder auf "10001000" initialisiert, und der Prozeß wiederholt sich für dieses Datenfeld.
  • Die vorliegende Erfindung wird im folgenden unter Bezugnahme auf die in den beigefügten Zeichnungen dargestellten Ausführungsbeispiele exemplarisch beschrieben.
  • Fig. 1 zeigt ein repräsentatives Binärdatenfeld des Typs, der mittels der Erfindung zufallsmäßig verschlüsselt, codiert und dann auf einem magnetischen Speichermedium aufgezeichnet werden soll, und das anschließend mittels der Erfindung zurückgelesen, decodiert und entschlüsselt wird.
  • Fig. 2 zeigt einen Schreibkanal-/Lesekanalabschnitt eines Direktzugriffsspeichers gemäß der vorliegenden Erfindung.
  • Fig. 3 zeigt ein Ausführungsbeispiel einer Ver-/Entschlüsselungsvorrichtung für die in Fig. 2 dargestellte Vorrichtung.
  • Fig. 4, Fig. 5 und Fig. 6 dienen zur Beschreibung der Funktionsweise der Ver-/Entschlüsselungsvorrichtung von Fig. 3.
  • Bei der Beschreibung der folgenden Ausführungsbeispiele der Erfindung wird nicht näher auf den Aufbau und die Funktionsweise einer DASD-Plattendatei eingegangen. Diese sind dem Fachmann bekannt. Da die vorliegende Erfindung Verbesserungen des Lesekanals und des Schreibkanals solcher Speichervorrichtungen bewirkt, wird hier nur dieser Teil eines Direktzugriffsspeichers beschrieben.
  • In Fig. 1 werden die Binärdaten nach der pseudozufallsmäßigen Verschlüsselung und der Codierung linear auf eine oder mehrere Spuren einer Magnetplatte (nicht abgebildet) geschrieben.
  • Die von der Platte zurückgelesenen Binärdaten sind im Idealfall identisch mit den auf die Platte geschriebenen Daten und werden deshalb als identisch mit den Daten aus Fig. 1 dargestellt.
  • Fig. 1 umfaßt eine exemplarische lineare Plattenspur 10 mit einer seriellen Folge einzelner Datenfelder 11, die hier jeweils mit exemplarischen 301 Byte dargestellt sind. Jedes Datenfeld 11 beginnt mit einem Start- oder Synchronisationsbereich 12, der beispielsweise 12 Byte lang ist. Der Bereich 12 enthält ein Synchronisationssignal, das den Anfang jedes einzelnen Datenfeldes 11 auf der Spur 10 kennzeichnet. Ferner enthält der Bereich 12 weitere Informationen wie beispielsweise Servo-IDS, wie dem Fachmann bekannt ist.
  • Es ist zu beachten, daß der Bereich 12 durch die Erfindung nicht pseudozufallsmäßig verschlüsselt bzw. entschlüsselt wird. Dieser Bereich wird nur codiert und dann in dieser codierten Form aufgezeichnet. Beim anschließenden Zurücklesen eines Datenfeldes 11 von der Platte wird der nicht verschlüsselte Bereich 12 decodiert und erkannt. Diese Erkennung dient der weiter unten beschriebenen Synchronisation der Entschlüsselungsvorrichtung 34 des Lesekanals (Fig. 2).
  • Der nächste Abschnitt jedes Datenfeldes 11 umfaßt einen Bereich 13, der beispielsweise 256 Bytes lang ist. Dieser Bereich 13 des Datenfeldes 11 enthält die variablen Benutzerdaten, die vom Direktzugriffsspeicher auf dem nichtflüchtigen Plattenspeicher aufgezeichnet werden. Die vorliegende Erfindung bringt besondere Vorteile, wenn dieser Benutzerdatenbereich 13 sich wiederholende identische Bytes enthält wie z.B. das Byte "11111111" in Tabelle A. Sich wiederholende Daten dieser allgemeinen Art sind oft in Benutzerdaten zu finden, die eine Grafik definieren. Es hat sich gezeigt, daß solche sich wiederholenden Bytemuster dazu neigen, sowohl das Magnetaufzeichnungsphänomen als auch konventionelle Fehlerkorrekturmechanismen stark zu beanspruchen.
  • Der Direktzugriffsspeicher enthält ein Fehlerkorrekturnetzwerk 25 (Fig. 2), das die aufzuzeichnenden Benutzerdaten 13 analysiert. Dieses Fehlerkorrekturnetzwerk generiert den binären Inhalt eines Fehlerkorrekturbereichs 14, der beispielsweise 10 Bytes lang ist. Der Fehlerkorrekturbereich 14 wird ebenfalls verschlüsselt, codiert und aufgezeichnet. Der Bereich 14 wird nach der Decodierung und Entschlüsselung vom Fehlerkorrekturnetzwerk des Lesekanals 36 (Fig. 2) zur Erkennung von Lesefehlern und zur Korrektur solcher Fehler verwendet, die beim Lesen der aufgezeichneten Daten von der Platte auftreten können.
  • Es ist also klar, daß nur die Bereiche 13 und 14 gemäß der vorliegenden Erfindung verschlüsselt werden.
  • Wie der Fachmann weiß, sollten beim Aufzeichnen binärer Daten auf einer Magnetplatte bestimmte Binärsequenzen oder -muster vermieden werden, da diese Binärmuster die Fähigkeit der Kopf/Plattenschnittstelle, die Magnetumwandlungen präzise an den gewünschten Positionen linear auf der Spuroberfläche der Platte zu positionieren, übermäßig beanspruchen.
  • Außerdem scheinen beim Zurücklesen bestimmte ungünstige Datenbitmuster höhere Fehlerraten zur Folge zu haben als zufällige Datenmuster. Wiederholen sich diese nachteiligen Muster häufig, so haben die auftretenden Lesefehler oft die gleiche Größe, d.h., bei allen Fehlerwiederholungen weichen die fehlerhaften Bytes an der gleichen Bitposition von den ursprünglich geschriebenen Daten ab. Diese Art von Fehlern gleicher Größe bewirkt, daß bei einigen Fehlerkorrekturcodes die Wahrscheinlichkeit einer falschen Korrektur zunimmt. Dies bedeutet, daß bestimmte Sequenzen von beim Lesen erkannten Fehlern die Fähigkeit des Fehlerkorrekturcodes, solche Fehlerbedingungen zu erkennen und zu beheben, stark beanspruchen. Tatsächlich können Lesefehlerbedingungen infolge von solchen Lesemustern, welche den Fehlerkorrekturmechanismus belasten, unerkannt oder unkorrigiert bleiben.
  • Bei der vorliegenden Erfindung werden die Daten pseudozufallsmäßig verschlüsselt, bevor die Datenbereiche 13 und 14 auf die Platte geschrieben werden, und beim Auslesen der so verschlüsselten Datenbereiche 13 und 14 komplementär entschlüsselt, um sowohl magnetische Beanspruchung als auch eine Überlastung des Fehlerkorrekturmechanismus zu vermeiden. Dies bietet zwei Vorteile: Erstens werden sich wiederholende Bytes in den Benutzerdaten in zufällig erscheinende Daten umgewandelt, bevor sie auf die Platte geschrieben werden. Zweitens erscheinen eventuell auftretende Fehler gleicher Größe (d.h. mehrere Fehler an den gleichen Bitpositionen) beim nachfolgenden Lesen der verschlüsselten Daten im Fehlerkorrekturnetzwerk des Lesekanals als zufällige Fehler, die seltener falsch korrigiert werden.
  • Fig. 2 ist ein vereinfachtes Diagramm des Lese- und des Schreibkanals eines Direktzugriffsspeichers gemäß der Erfindung. In dieser Zeichnung wird die Schnittstelle zwischen Schreib-/Leseköpfen und Platte(n) unter der Kennummer 20 dargestellt.
  • Der Benutzerdatenbereich 13 (d.h. die Benutzerdaten in ihrer nicht codierten und nicht verschlüsselten Form) der exemplarischen Datenspur von Fig. 1 wird dem Schreibkanal bei einer Schreiboperation über die Leitung 23 präsentiert. Dieser identische Datenbereich 13 liegt bei einer nachfolgenden Leseoperation am Ausgang 24 des Lesekanals vor, d.h., die auf der Platte aufzuzeichnenden Benutzerdaten 13 werden der Leitung 23 bei einer Schreiboperation präsentiert, und die gleichen Benutzerdaten werden nachfolgend bei einer Leseoperation von der Leitung 24 zurückgewonnen.
  • Der Synchronisationsfeldbereich 12 der Spur aus Fig. 1 wird dem Lesekanal über die Leitung oder den Bus 29 präsentiert und liegt bei einer nachfolgenden Leseoperation auch an der Lesekanalleitung oder am Lesekanalbus 39 vor.
  • Wie der Fachmann weiß, ist eine der Funktionen eines Direktzugriffsspeichers die Erzeugung des in Fig. 1 dargestellten binären Fehlerkorrekturfeldes 14, das ausschließlich auf den binären Inhalt des Benutzerdatenbereichs 13 auf der Leitung 23 bezogen ist. Diese Funktion übernimmt in Fig. 2 das Fehlerkorrekturnetzwerk 25. Der Ausgang des Netzwerks 25 (das weitere bekannte Schaltungen enthält, die hier nicht abgebildet sind) besteht aus einem 8-Bit-Bus 26, der eine Folge von 8-Bit-Wörtern (Bytes) enthält, deren Bits zur Erläuterung als Bits CW0 bis CW7 bezeichnet werden.
  • Gemäß der vorliegenden Erfindung wird jedes dieser Datenbytes (jedes Wort aus den Bits CW0 bis CW7) durch ein Pseudozufallsgeneratornetzwerk 27 verschlüsselt. Die verschlüsselten Daten werden dann dem 8-Bit-bus 28 als Folge zufallsmäßig verschlüsselter Bytes präsentiert, wobei die einzelnen Bits jedes Bytes zu Erläuterungszwecken mit W0 bis W7 bezeichnet werden.
  • Wie der Fachmann weiß, wird dem Schreibkanal in Fig. 2 ein Synchronisationsdatenfeld (siehe Bereich 12 in Fig. 1) präsentiert, um den Anfang jedes Feldes 11 auf der Plattenspur 10 zu kennzeichnen. Diese Synchronisationsdaten werden dem Schreibkanal über die Leitung 29 präsentiert. Sie werden nicht nur codiert und in dieser codierten Form auf der Plattenspur aufgezeichnet, sondern sie dienen auch zur Initialisierung der Verschlüsselungsvorrichtung 27 zu Beginn jedes Datenfeldes 11 von Spur 10 (das Synchronisationsfeld 12 liefert beispielsweise die Ausgangsdaten für den Pseudozufalls-Polynomzähler 40 in Fig. 3).
  • Nach dem Standardverfahren wird die Ausgabe der Verschlüsselungsvorrichtung 27 mit den Synchronisationsdaten der Leitung 29 kombiniert und beide von einem lauflängenbegrenzten Codierer 30, z.B. einem 1,7-Codierer, verarbeitet.
  • Die letzte Operation des Schreibkanals von Fig. 2, die die Operation anderer bekannter Schaltungen (nicht dargestellt) beinhaltet, besteht darin, der Leitung 21 einen verschlüsselten und codierten seriellen Binärdatenbytestrom zur Aufzeichnung auf den Datenspuren in Form von S-S- und N-N-Magnetumwandlungen zu präsentieren.
  • Später beim Zurücklesen der verschlüsselten und codierten Daten von der Platte wird der Leitung 22 ein serieller Bytestrom übergeben. Dieser Bytestrom wird zuerst durch einen komplementären Decoder 31 decodiert.
  • Durch die Funktion des Decoders 31 und anderer konventioneller Schaltungen, die nicht abgebildet sind, wird der decodierte Bytestrom in der in Fig. 1 dargestellten Form an den 8-Bit-Bus 32 und den Synchronisationsdetektor 33 übergeben. Das Signal in der Leitung 39 enthält den Synchronisationsfeldbereich 12, der vom Synchronisationsdetektornetzwerk 33 erkannt wird. Das Netzwerk 33 synchronisiert und startet am Anfang jedes Datenfeldes 11 eine komplementäre Pseudozufalls-Entschlüsselungsvorrichtung 34 (das Synchronisationsfeld 12 liefert beispielsweise die Ausgangsdaten für den Pseudozufalls-Polynomzähler 40 in Fig. 3).
  • Zur Erläuterung werden die 8 Bits, die der komplementären Entschlüsselungsvorrichtung 34 als Eingangbits präsentiert werden, als Bits R0 bis R7 bezeichnet, und die entsprechenden entschlüsselten Ausgangsbits am 8-Bit-Ausgangsbus 35 der Entschlüsselungsvorrichtung 34 werden als Bits CR0 bis CR7 bezeichnet. Offensichtlich sind die durch Bit CR0 bis CR7 dargestellten entschlüsselten Datenbytes mit den ursprünglich an die Verschlüsselungsvorrichtung 27 übergebenen Datenbytes identisch, die in der Zeichnung als Bits CW0 bis CW7 dargestellt sind.
  • Der Ausgang des Lesekanals in Fig. 2 besteht aus einem komplementären Fehlerkorrekturnetzwerk 36 und anderen bekannten Schaltungen, die nicht abgebildet sind. Durch das Fehlerkorrekturnetzwerk 36 werden die Daten 13, die ursprünglich der Leitung 23 präsentiert wurden, aus der Ausgangsleitung 24 des Lesekanals zurückgeholt.
  • Fig. 3 zeigt ein bevorzugtes Ausführungsbeispiel der Erfindung, in dem der oben genannte Pseudozufalls-Polynomzähler aus einem 8-Bit-Zähler 40 besteht, der in zwei Register oder Zähler mit den Bits P0 bis P3 bzw. P4 bis P7 aufgeteilt ist. In diesem Ausführungsbeispiel wird der Zähler 40 sowohl von der Verschlüsselungsvorrichtung 27 des Schreibkanals als auch von der Entschlüsselungsvorrichtung 34 des Lesekanals aus Fig. 1 verwendet.
  • Der Polynomzähler 40 besteht aus acht Schaltern mit Nächster- Zählerstand-Schaltung. Die Nächster-Zählerstand-Tabelle und die Schaltungsgleichungen für den Vorwärtspolynomteil P0 bis P3 des Zählers sind Fig. 4 zu entnehmen. Die Nächster-Zählerstand-Tabelle und die Schaltungsgleichungen für den Rückwärtspolynomteil P4 bis P7 des Zählers finden sich in Fig. 5.
  • Angenommen, für eine Schreiboperation gelten Fig. 4 und Fig. 5 und ein Schreibdatenbyte M wird gerade verschlüsselt. In dieser Erläuterung ist der tatsächliche binäre Inhalt von Datenbyte M nicht angegeben, da er für die Erläuterung nicht relevant ist. In diesem Fall hat der Polynomzähler den aktuellen Wert "00111001". Der aktuelle Inhalt der Vorwärtspolynomzählerbits P0 bis P3 lautet also "0011", wie in der Spalte "Aktueller Stand" von Fig. 4 an der Position von Byte M abzulesen ist, und der aktuelle Inhalt der Rückwärtspolynomzählerbits P4 bis P7 lautet "1001", wie der Position des Byte M in der Spalte "Aktueller Stand" von Fig. 5 zu entnehmen ist.
  • Für diese angenommene Schreiboperation ist als nächster Stand der Vorwärtspolynomzählerbits P0 bis P3 in der Spalte "Schreiben" von Fig. 4 "0110" angegeben, wie der Position von Byte M in dieser Spalte zu entnehmen ist, und der nächste Stand der Rückwärtspolynomzählerbits P4 bis P7 lautet "1011", wie aus der Position von Byte M in der Spalte "Schreiben" von Fig. 5 ersichtlich ist. Es ist zu beachten, daß in diesem Fall der nächste Stand dem Eintrag in der Spalte "Aktueller Stand" entspricht, der auf die Position von Byte M folgt. Diese Besonderheit von Fig. 4 und Fig. 5 ist jedoch unerheblich.
  • Weiter angenommen, es ist gerade eine Leseoperation im Gange und das zurückgelesene Datenbyte N wird gerade entschlüsselt. Der tatsächliche Inhalt von Datenbyte N ist wiederum nicht angegeben, da er unerheblich ist. In diesem Fall haben die Vorwärtspolynomzählerbits P0 bis P3 den Wert "1110" wie an der Position von Byte N in der Spalte "Aktueller Stand" von Fig. 4 abzulesen ist, und die Rückwärtspolynomzählerbits P4 bis P7 haben den Wert "1101", wie aus der Position von Byte N in der Spalte "Aktueller Stand" von Fig. 5 zu ersehen ist.
  • Für diese angenommene Leseoperation ist als nächster Stand der Vorwärtspolynomzählerbits P0 bis P3 in der Spalte "Lesen" von Fig. 4 "1111" angegeben, wie der Position von Byte N in dieser Spalte zu entnehmen ist, und der nächste Stand der Rückwärtspolynomzählerbits P4 bis P7 lautet "0011", wie der Spalte "Lesen" von Fig. 5 zu entnehmen ist.
  • Bei diesem bevorzugten Ausführungsbeispiel der Pseudozufalls- Zählfolge ist in Fig. 4 zu sehen, daß bei einer Leseoperation auf den Stand "0001" der Vorwärtspolynomzählerbits P0 bis P1 der Stand "1000" folgt, daß also die beiden Eintragungen "0010" und "0100" der Spalte "Aktueller Stand" nicht benutzt werden. Entsprechend ist in Fig. 5 zu sehen, daß bei einer Schreiboperation auf den Stand "0011" der Rückwärtspolynomzählerbits P4 bis P7 der Stand "0001" folgt, daß also die beiden Eintragungen "0110" und "1100" in der Spalte "Aktueller Stand" nicht benutzt werden.
  • Es ist zu beachten, daß die Datenbytes M und N in den obigen Ausführungen zwar, wie Fig. 4 und Fig. 5 zu entnehmen ist, in einer bestimmten Beziehung zueinander stehen, daß sie nämlich jeweils durch sechs dazwischenliegende Datenbytes getrennt sind, daß diese Beziehung aber nicht entscheidend ist. Die Bytes M und N wurden in diesen Tabellen willkürlich so gewählt. Außerdem ist die 4 Bit lange Pseudozufallsfolge in den drei Spalten von Fig. 4 und Fig. 5 nicht als Beschränkung der vorliegenden Erfindung aufzufassen, da ein Fachmann sich leicht andere Sequenzen vorstellen kann, die ebenfalls durch den in den Ansprüchen definierten Rahmen der Erfindung abgedeckt sind.
  • Die Schaltungsgleichungen für den nächsten Zählerstand der Vorwärtspolynomzählerbits P0 bis P3 sind in Fig. 4 aufgeführt, die Gleichungen für die Rückwärtspolynomzählerbits P4 bis P7 in Fig. 5.
  • Ein Term wie P0n in den Gleichungen von Fig. 4 und Fig. 5 bedeutet "nächster Binärwert" des Vorwärtspolynomzählerbits P0, und ein Term wie P0 bedeutet "aktueller Binärwert" des Vorwärtspolynomzählerbits P0.
  • Im obigen Beispiel für das Schreiben eines Byte (in dem das zu schreibende Byte M verschlüsselt wurde und der aktuelle Wert von P0 "0" und der nächste Stand für das nächste Byte M+1 "0" lautete) wird der nächste Wert "0" für P0 durch die in Fig. 4 angegebene Boolesche Gleichung bestimmt, die die Verwendung der aktuellen Werte "0", "0" und "1" für die Vorwärtspolynombits P0, P1 und P2 vorschreibt.
  • Fig. 4 und Fig. 5 ist zu entnehmen, daß P1n, der nächste Wert von P1, mit dem aktuellen Wert von P2 identisch ist, daß der nächste Wert von P3 mit dem aktuellen Wert von P0 identisch ist, und daß der nächste Wert von P4 dem EXKLUSIV-ODER-Ergebnis des aktuellen Wertes von P5 und P4 entspricht.
  • Für die nächsten Werte von P2 (also P2n), P5, P6 und P7 ergeben sich diese Werte aus den Booleschen Gleichungen von Fig. 4 und Fig. 5, die die in den Figuren angegebenen aktuellen Werte der Polynombits vorschreiben.
  • Die Spalten und Gleichungen in Fig. 4 und Fig. 5 definieren die pseudozufällige Sequenz des bevorzugten Ausführungsbeispiels von Zähler 40. Dem Fachmann ist aber klar, daß auch andere pseudozufällige Binärzählersequenzen denkbar sind, die in den Rahmen Multiplikation mit dem Kehrwert gemäß der Erfindung fallen.
  • Bei einer Schreiboperation zählt das 4-Bit-Register P0 bis P3 des Zählers 40 nach einer Pseudozufallsfolge, die durch das oben genannte Vorwärtspolynom bestimmt und in der Spalte "Schreiben" von Fig. 4 aufgeführt ist, und das 4-Bit-Register P4 bis P7 von Zähler 40 zählt nach einer Pseudozufallsfolge, die durch das oben genannte Rückwärtspolynom bestimmt und in der Spalte "Schreiben" von Fig. 5 aufgeführt ist.
  • Bei einer Leseoperation zählt das 4-Bit-Register P0 bis P3 von Zähler 40 nach dem Vorwärtspolynom wie in der Spalte "Lesen" von Fig. 4 aufgelistet, während das 4-Bit-Register P4 bis P7 von Zähler 40 nach dem Rückwärtspolynom wie in der Spalte "Lesen" von Fig. 5 aufgelistet zählt. Auf diese Weise werden die Daten durch einen Multiplikationsprozeß pseudozufällig verschlüsselt und durch die komplementäre Multiplikation mit dem Kehrwert wieder entschlüsselt.
  • Zähler 40 arbeitet mit vier 4-Bit- mal 4-Bit-Multiplikationnetzwerken 41 bis 44 zusammen.
  • Die Netzwerke 41 und 43 multiplizieren die Zählereingangsbytes B0 bis B3 und die Dateneingangsbytes A0 bis A3 gemäß der Liste "VORWÄRTSPOLYNOM-MULTIPLIKATION" in Fig. 6, und die Netzwerke 42 und 44 multiplizieren die Zählereingangsbytes B4 bis B7 und die Dateneingangsbytes A4 bis A7 gemäß der Liste "RÜCKWÄRTSPOLYNOM- MULTIPLIKATION" in Fig. 6.
  • Die Netzwerke 41 und 43 sind identisch aufgebaut. Es ist jedoch zu beachten, daß die Zählereingänge B0 bis B3 von Netzwerk 41 und die Zählereingänge B0 bis B3 von Netzwerk 43 umgekehrt an den Polynomzähler 40 angeschlossen sind. Dies bedeutet, daß B0 bis B3 von Netzwerk 41 in Vorwärtsrichtung mit den Zählerbits P0 bis P3 verbunden sind, B0 bis B3 von Netzwerk 43 hingegen in Rückwärtsrichtung.
  • Auch die Netzwerke 42 und 44 sind identisch aufgebaut. Auch hier sind die Zählereingänge B4 bis B7 von Netzwerk 42 und die Zählereingänge B4 bis B7 von Netzwerk 44 umgekehrt angeschlossen. Dies bedeutet, daß B4 bis B7 von Netzwerk 42 in Vorwärtsrichtung mit den Zählerbits P4 bis P7 verbunden sind, B4 bis B7 von Netzwerk 44 jedoch in Rückwärtsrichtung.
  • In diesem Ausführungsbeispiel der Erfindung besteht die Verschlüsselungsvorrichtung 27 des Schreibkanals in Fig. 1 aus dem Zähler 40, dem Vorwärtspolynom-Multiplikationsnetzwerk 41 und dem Rückwärtspolynom-Multiplikationsnetzwerk 42, und die Entschlüsselungsvorrichtung 34 des Lesekanals aus Fig. 1 besteht aus dem Zähler 40, dem Vorwärtspolynom-Multiplikationsnetzwerk 43 und dem Rückwärtspolynom-Multiplikationsnetzwerk 44.
  • Wie Fig. 3 zu entnehmen ist, ist der 8-Bit-Bus 26 des Schreibkanals aus Fig. 1 in zwei 4-Bit-Busse 26' und 26'' unterteilt, um die unteren vier Bits CW0 bis CW3 jedes Schreibkanalbytes über den 4-Bit-Bus 26' an das Vorwärtspolynom-Multiplikationsnetzwerk 41 und die oberen vier Bits CW4 bis CW7 jedes Schreibkanalbytes über den 4-Bit-Bus 26'' an das Rückwärtspolynom-Multiplikationsnetzwerk 42 zu übergeben.
  • Der Ausgang der Verschlüsselungsvorrichtung 40, 41, 42 enthält einen 8-Bit-Bus 28. In Fig. 3 wird Bus 28 aus den beiden 4-Bit- Bussen 28' und 28'' gebildet, die das verschlüsselte Byte als zwei 4-Bit-Abschnitte W0 bis W3 und W4 bis W7 von den Netzwerken 41 bzw. 42 empfangen.
  • Wie Fig. 3 ebenfalls zu entnehmen ist, ist der 8-Bit-Bus 32 des Lesekanals aus Fig. 1 in zwei 4-Bit-Busse 32' und 32'' unterteilt, um die unteren vier Bits R0 bis R3 jedes Lesekanalbytes über den 4-Bit-Bus 32' an das Vorwärtspolynom-Multiplikationsnetzwerk 43 und die oberen vier Bits R4 bis R7 jedes Lesekanalbytes über den 4-Bit-Bus 32'' an das Rückwärtspolynom-Multiplikationsnetzwerk 44 zu übergeben.
  • Der Ausgang der Entschlüsselungsvorrichtung 40, 43, 44 enthält einen 8-Bit-Bus 35. In Fig. 3 wird Bus 35 aus den beiden 4-Bit- Bussen 35' und 35'' gebildet, die das entschlüsselte Byte als zwei 4-Bit-Abschnitte CR0 bis CR3 und CR4 bis CR7 von den Netzwerken 43 bzw. 44 empfangen.
  • Eine Leitung 40/41 in Fig. 3 übernimmt die Synchronisation des Zählers 40, der wie in Fig. 2 beschrieben, sowohl im Schreibkanal als auch im Lesekanal arbeitet.
  • Beim Schreiben der Datenfelder 13, 14 aus Fig. 1 auf die Platte (der Zähler 40 arbeitet also jetzt in der Verschlüsselungsvorrichtung 40, 41, 42 des Schreibkanals) rückt der Bytezähler 45 den Zähler 40 nach der Verarbeitung jedes Byte des zu schreibenden Datenfeldes 13, 14 auf den nächsten pseudozufälligen Stand vor. Wenn das nächste Synchronisationsfeldsignal 12, das von der Leitung 51 in Fig. 2 kommt, erkannt wird, wird der Zähler 40 initialisiert oder auf den Anfangsstand zurückgesetzt, und der Verschlüsselungsprozeß wird für jedes Byte im nächsten zu schreibenden Datenfeld 13, 14 wiederholt.
  • Beim nachfolgenden Zurücklesen der Datenfelder 13, 14 von Fig. 1 (der Zähler 40 arbeitet jetzt also in der Entschlüsselungsvorrichtung 40, 43, 44 des Lesekanals) rückt der Bytezähler 45 wiederum nach der Verarbeitung jedes Byte des zu lesenden Datenfeldes 13, 14 den Zähler 40 auf den nächsten Stand vor. Wenn das nächste Synchronisationsfeldsignal 12, das vom Synchronisationsdetektor 33 und der Leitung 52 von Fig. 2 kommt, erkannt wird, wird der Zähler 40 initialisiert oder auf den Anfangsstand zurückgesetzt, und der Entschlüsselungsprozeß wird für jedes Byte im nächsten zu lesenden Datenfeld 13, 14 wiederholt.
  • Die folgende Tabelle A zeigt Anfang und Ende der 196 Zyklen des Zählers 40 von Fig. 3 für ein exemplarisches sich wiederholendes Schreibdatenmuster "11111111". Zähler 40 kann zwar auf jeden der 195 zulässigen Zählerstände initialisiert werden, aber die Tabelle A wurde so gewählt, daß sie mit den obigen Erläuterungen konsistent ist, in denen der Zähler für Schreiboperationen auf "00010001" und für Leseoperationen auf "10001000" initialisiert wird. TABELLE A Schreiben Lesen
  • In Spalte (1) der Tabelle sind die pseudozufälligen Zählerstände des Zählers 40 fur eine Schreiboperation aufgeführt, in Spalte (4) die pseudozufälligen Zählerstände für eine Leseoperation.
  • In diesem Beispiel bestehen die zu verschlüsselnden Daten aus dem wiederkehrenden Byte "11111111" in Spalte (2). Daten dieser Art verursachen sowohl bei der Magnetaufzeichnung als auch bei der Fehlerkorrektur eine starke Beanspruchung. Solche Daten kommen beispielsweise bei der Aufzeichnung graphischer Daten vor. Diese Daten werden durch Entschlüsselung zurückgewonnen, wie Spalte (6) zu entnehmen ist.
  • Spalte (3) enthält die verschlüsselten Bytes, die auf die Platte geschrieben werden (d.h., die Daten aus Spalte (2) werden pseudozufällig verschlüsselt, so daß sich die Daten in Spalte (3) ergeben), und Spalte (5) enthält die zurückgelesenen Bytes dieser geschriebenen Daten. Die Spalten (3) und (5) sind also identisch.
  • Beim 13. Datenbyte in einer Schreiboperation (Spalte (1)) haben die Zählerbits P4 bis P7 alle 13 pseudozufälligen Zählerstände durchlaufen, und beim 14. Datenbyte werden die Bits P4 bis P7 wieder auf den Stand "0001" wie in Byte 1 zurückgesetzt. Beim 15. Datenbyte in einer Schreiboperation haben die Zählerbits P0 bis P3 alle 15 pseudozufälligen Zählerstände durchlaufen, und beim 16. Datenbyte werden die Bits P0 bis P3 wieder auf den Stand "0001" wie in Byte 1 zurückgesetzt. Diese Pseudozählsequenz für die Zählerbits P0 bis P7 wird fortgesetzt, bis entweder das 196. Datenbyte oder ein Synchronisationssignal 12 empfangen wird. Daraufhin wird der Zählerstand "00010001".
  • Bei einer Leseoperation haben die Zählerbits P0 bis P3 beim 13. Datenbyte (Spalte (4)) alle 13 pseudozufälligen Zählerstände durchlaufen, und beim 14. Datenbyte werden die Bits P0 bis P3 auf den Stand "1000" wie in Byte 1 zurückgesetzt. Beim 15. Datenbyte einer Leseoperation haben die Zählerbits P4 bis P7 alle 15 pseudozufälligen Zählerstände durchlaufen, und beim 16. Datenbyte werden die Bits P4 bis P7 auf den Stand "1000" wie in Byte 1 zurückgesetzt. Diese Sequenz wird fortgesetzt, bis entweder das 196. Datenbyte oder ein Synchronisationssignal 12 empfangen wird. Daraufhin wird der Zählerstand "10001000".

Claims (13)

1. Ein Verfahren, um Daten auf eine Plattenspeichervorrichtung zu schreiben, wobei die Daten als eine Folge von Datenfeldem 11 auf die Speicherplatte geschrieben werden, die jeweils Benutzerdaten 13 und die zugehörigen Fehlerkorrekturdaten enthalten, wobei das Verfahren einen Schritt enthält, in dem die Fehlerkorrekturdaten zu den Benutzerdaten generiert werden, um eine Folge von Datenwörtern zu erzeugen, welche die Benutzerdaten und die zugehörigen Fehlerkorrekturdaten für ein Datenfeld darstellen, und dadurch gekennzeichnet ist, daß die Fehlerkorrekturdaten und die Benutzerdaten im Datenfeld anschließend pseudozufällig verschlüsselt werden, indem jedes Datenwort mit Daten aus einer Sequenz pseudozufälliger Daten multipliziert wird.
2. Ein Verfahren gemäß Anspruch 1, das ferner einen Schritt enthält, in dem der Datensatz nach der pseudozufälligen Verschlüsselung und vor dem Schreiben lauflängencodiert wird.
3. Ein Verfahren zum Lesen von Daten von einer Plattenspeichervorrichtung, wobei die Daten auf der Speicherplatte als eine Folge von Datenfeldern 11 gespeichert sind, die jeweils Benutzerdaten 13 und die zugehörigen Fehlerkorrekturdaten enthalten, wobei das Verfahren einen Schritt enthält, in dem ein Datenfeld als eine Folge von Datenwörtern von der Platte gelesen wird und die aus dem Datenfeld zurückgelesenen Benutzerdaten und die zugehörigen Fehlerkorrekturdaten zur Erkennung und Korrektur eventueller Fehler verwendet werden, und wobei das Verfahren dadurch gekennzeichnet ist, daß es ferner einen Schritt enthält, in dem die Fehlerkorrekturdaten und die Benutzerdaten im Datenfeld entschlüsselt werden, indem jedes Datenwort mit Daten aus einer Sequenz pseudozufälliger Daten multipliziert oder dividiert wird, wobei diese Entschlüsselung erfolgt, bevor die aus dem Datenfeld zurückgelesenen Benutzerdaten und Fehlerkorrekturdaten zur Erkennung und Korrektur eventueller Fehler verwendet werden.
4. Ein Verfahren gemäß Anspruch 3, das außerdem einen Schritt enthält, in dem die zurückgelesenen Daten vor der Entschlüsselung lauflängendecodiert werden.
5. Ein Verfahren gemäß den vorherigen Ansprüchen, bei dem die Verschlüsselungs- bzw. Entschlüsselungssequenz durch den Stand eines Registers 40 bestimmt wird, das am Anfang des Datensatzes und des zurückgelesenen Datensatzes initialisiert wird, und bei dem das Register mit der Verarbeitung jedes Byte eines aus mehreren Bytes bestehenden Datensatzes oder zurückgelesenen Datensatzes progressiv auf einen nächsten vorgegebenen Stand gebracht wird.
6. Ein Verfahren gemäß Anspruch 5, bei dem das Register ein 8- Bit-Register ist, und in dem bei der Verschlüsselung der Daten die ersten vier Bits jedes Datensatzbytes mit den ersten vier Bits des 8-Bit-Registers und die letzten vier Bits jedes Datensatzbytes mit den letzten vier Bits des 8-Bit-Registers multipliziert werden, und in dem anschließend bei der Entschlüsselung der zurückgelesenen Daten aus dem Datensatz eine Multiplikation mit dem Kehrwert stattfindet, bei der die ersten vier Bits jedes zurückgelesenen Datensatzbytes mit der umgekehrten Reihenfolge der letzten vier Bits des 8- Bit-Zählers und die letzten vier Bits jedes zurückgelesenen Datensatzbytes mit der umgekehrten Reihenfolge der ersten vier Bits des 8-Bit-Registers multipliziert werden.
7. Eine Plattenspeichervorrichtung mit einem nichtflüchtigen Datenspeichermedium, mit einer Transducervorrichtung 20 zum Schreiben auf das Medium und zum Lesen von dem Medium, wobei die Daten als Folge von Datenfeldern 11 auf das Medium geschrieben werden, die jeweils Benutzerdaten 13 und die zugehörigen Fehlerkorrekturdaten enthalten, und mit einem Schreibkanal 21 und einem Lesekanal 22,
wobei der Schreibkanal Mittel zur Generierung der Fehlerkorrekturdaten für die Benutzerdaten enthält, um eine Folge von Datenwörtern zu erzeugen, welche die Benutzerdaten und die zugehörigen Fehlerkorrekturdaten für ein Datenfeld enthalten,
und der Lesekanal Mittel zum Lesen eines Datenfeldes als Folge von Datenwörtern von der Platte sowie Mittel zur Verwendung der von der Platte zurückgelesenen Benutzerdaten und Fehlerkorrekturdaten eines Datenfeldes zum Erkennen und Korrigieren eventueller Fehler enthält;
und wobei die Plattenspeichervorrichtung dadurch gekennzeichnet ist, daß
der Schreibkanal Mittel zur pseudozufälligen Verschlüsselung der Fehlerkorrektur- und Benutzerdaten im Datenfeld durch Multiplikation oder Division jedes Datenwortes mit Daten aus einer Sequenz von pseudozufälligen Daten enthält,
und der Lesekanal Mittel zur Entschlüsselung der Fehlerkorrektur- und Benutzerdaten im Datenfeld durch Umkehrung des zur Verschlüsselung verwendeten Prozesses enthält, wobei die Entschlüsselung stattfindet, bevor die aus dem Datenfeld zurückgelesenen Benutzerdaten und Fehlerkorrekturdaten zum Erkennen und Korrigieren eventueller Fehler verwendet werden.
8. Eine Plattenspeichervorrichtung gemäß Anspruch 7, bei dem der Schreibkanal folgende Komponenten enthält:
ein erstes Dateneingabemittel 23, das an den Empfang binärer Daten, die auf das Medium geschrieben werden sollen, angepaßt ist, wobei die binären Daten mehrere Datenfelder enthalten, die jeweils aus mehreren Bytes bestehen,
ein zweites Dateneingabemittel 29, das an den Empfang eines kennzeichnenden Datenfeldes für jedes aus mehreren Bytes bestehenden Datenfeldes angepaßt ist,
eine Verschlüsselungsvorrichtung, welche ein an das erste Dateneingabemittel angeschlossenes erstes Eingabemittel enthält, um damit die aus mehreren Bytes bestehenden Datenfelder zu empfangen, sowie ein an das zweite Dateneingabemittel angeschlossenes zweites Eingabemittel, das auf ein kennzeichnendes Datenfeld anspricht, um für jedes Byte eines aus mehreren Bytes bestehenden Datenfeldes eine sich wiederholende Verschlüsselungssequenz zu starten und eine Ausgabe zu erzeugen, die aus mehreren verschlüsselten Datenfeldern mit jeweils mehreren Bytes besteht, sowie
ein Mittel 21 zum Anschluß der Transducervorrichtung an den Ausgang der Verschlüsselungsvorrichtung und an das zweite Dateneingabemittel, wobei die aus mehreren Datenfeldern bestehenden verschlüsselten Daten, die mehrere Datenfelder mit jeweils mehreren Bytes und einem kennzeichnenden Datenfeld enthalten, auf das nichtflüchtige Speichermedium geschrieben werden;
und bei dem der Lesekanal folgende Komponenten enthält:
ein an die Transducervorrichtung angeschlossenes Lesedateneingabemittel 21 zum Empfang der zurückgelesenen verschlüsselten Daten,
ein identifizierendes Datendetektormittel 33 mit einem Ausgang und einem an den Lesedateneingang angeschlossenen Eingang zur Erkennung des kennzeichnenden Datenfeldes jedes zurückzulesenden Datenfeldes, und
ein Entschlüsselungsmittel 34 mit einem an das Lesedateneingangsmittel angeschlossenen ersten Eingangsmittel zum Empfangen der verschlüsselten Daten, das außerdem ein an den Ausgang des identifizierenden Datendetektors angeschlossenes zweites Eingangsmittel besitzt und auf die Erkennung eines kennzeichnenden Datenfeldes anspricht, um eine Sequenz zur Entschlüsselung jedes Bytes des zurückzulesenden Datenfeldes zu starten, wobei die Entschlüsselung die Umkehrung der Verschlüsselung ist.
9. Eine Plattenspeichervorrichtung gemäß Anspruch 7 oder 8, bei der das Speichermedium eine Magnetplatte ist.
10. Eine Plattenspeichervorrichtung gemäß Anspruch 7 bis 9, bei der das Verschlüsselungsmittel ein Mittel enthält, das jedes Byte des aus mehreren Bytes bestehenden Datenfeldes mit einer pseudozufälligen Polynomfunktion multipliziert, und bei der das Entschlüsselungsmittel ein komplementäres Mittel enthält, welches das aus mehreren Bytes bestehende Lesedatenfeld mit dem Kehrwert der pseudozufälligen Polynomfunktion multipliziert.
11. Eine Plattenspeichervorrichtung gemäß Anspruch 7 bis 10, die ein Mittel 30 zur Lauflängencodierung des Datensatzes nach der Verschlüsselung und vor dem Schreiben sowie ein Mittel 31 zur komplementären Lauflängendecodierung des zurückgelesenen Datensatzes vor der Entschlüsselung enthält.
12. Eine Plattenspeichervorrichtung gemäß Anspruch 7 bis 11, die ein Register enthält und bei der die komplementäre Verschlüsselungs-/Entschlüsselungssequenz durch den binären Stand des Registers 40 bestimmt wird, wobei der Stand des Registers am Anfang des Datensatzes und des zurückzulesenden Datensatzes initialisiert wird und das Register mit der Verarbeitung jedes Byte des aus mehreren Bytes bestehenden Datensatzes und jedes Byte des aus mehreren Bytes bestehenden zurückzulesenden Datensatzes progressiv auf den nächsten vorgegebenen Stand gesetzt wird.
13. Eine Plattenspeichervorrichtung gemäß Anspruch 12, bei der das Register ein 8-Bit-Register ist, bestehend aus:
einem Mittel 41 bis 43, das bei der Verschlüsselung der Daten die ersten vier Bits jedes Datensatzbytes mit den ersten vier Bytes des 8-Bit-Registers und die letzten vier Bits jedes Datensatzbytes mit den letzten vier Bits des 8-Bit- Registers multipliziert, und
einem Mittel 42, 44, das bei der nachfolgenden Entschlüsselung des zurückgelesenen Datensatzes eine Multiplikation mit dem Kehrwert durchführt, indem es die ersten vier Bits jedes zurückgelesenen Datensatzbytes mit der umgekehrten Reihenfolge der letzten vier Bits des 8-Bit-Registers und die letzten vier Bits jedes zurückgelesenen Datensatzbytes mit der umgekehrten Reihenfolge der ersten vier Bits des 8-Bit- Registers multipliziert.
DE69023372T 1989-03-13 1990-02-21 Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung. Expired - Fee Related DE69023372T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/322,588 US4993029A (en) 1989-03-13 1989-03-13 Method and apparatus for randomizing data in a direct access storage device

Publications (2)

Publication Number Publication Date
DE69023372D1 DE69023372D1 (de) 1995-12-14
DE69023372T2 true DE69023372T2 (de) 1996-06-20

Family

ID=23255545

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69023372T Expired - Fee Related DE69023372T2 (de) 1989-03-13 1990-02-21 Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung.

Country Status (4)

Country Link
US (1) US4993029A (de)
EP (1) EP0388031B1 (de)
JP (1) JPH0646489B2 (de)
DE (1) DE69023372T2 (de)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2855019B2 (ja) * 1992-02-10 1999-02-10 富士通株式会社 外部記憶装置のデータ保証方法及び外部記憶装置
US5349611A (en) * 1992-11-13 1994-09-20 Ampex Systems Corporation Recovering synchronization in a data stream
US5424881A (en) * 1993-02-01 1995-06-13 Cirrus Logic, Inc. Synchronous read channel
US5530705A (en) * 1995-02-08 1996-06-25 International Business Machines Corporation Soft error recovery system and method
US5727004A (en) * 1995-03-14 1998-03-10 Adaptive Networks, Inc. Method and apparatus for data encoding and communication over noisy media
JP2897679B2 (ja) * 1995-03-28 1999-05-31 株式会社日立製作所 ディジタル信号記録装置
US5712863A (en) * 1996-02-09 1998-01-27 Overland Data Inc Randomizing encoder for digital data storage
US5931968A (en) 1996-02-09 1999-08-03 Overland Data, Inc. Digital data recording channel
US6543024B2 (en) 1996-02-09 2003-04-01 Overland Storage, Inc. Write format for digital data storage
US6167550A (en) * 1996-02-09 2000-12-26 Overland Data, Inc. Write format for digital data storage
US5815514A (en) * 1996-02-09 1998-09-29 Overland Data, Inc. Variable rate bit inserter for digital data storage
US5889796A (en) * 1996-10-17 1999-03-30 Maxtor Corporation Method of insuring data integrity with a data randomizer
US6219814B1 (en) 1996-12-23 2001-04-17 International Business Machines Corporation Method and apparatus for selectively varying error correcting code (ECC) power in a direct access storage device (DASD)
US6044487A (en) * 1997-12-16 2000-03-28 International Business Machines Corporation Majority voting scheme for hard error sites
JP3910736B2 (ja) 1998-07-27 2007-04-25 株式会社東芝 ディスク記憶装置及び同装置におけるサーボセクタアドレスエラー検出方法
US6597526B1 (en) 1998-08-14 2003-07-22 Overland Storage, Inc. Magnetic tape drive apparatus including a variable rate encoder
US6968493B1 (en) * 1999-09-14 2005-11-22 Maxtor Corporation Randomizer systems for producing multiple-symbol randomizing sequences
US6384747B1 (en) 2000-10-23 2002-05-07 Cirrus Logic, Inc. Data encoding to provide run-length control in a data storage system
US6714144B1 (en) 2000-10-23 2004-03-30 Cirrus Logic, Inc. Data randomization in a data storage system
US7228480B1 (en) * 2001-12-11 2007-06-05 Maxtor Corporation Rate-1 coding for increasing timing information in recording data
US7158058B1 (en) 2002-12-09 2007-01-02 Marvell International Ltd. Method and apparatus for generating a seed set in a data dependent seed selector
JP4135497B2 (ja) 2002-12-26 2008-08-20 株式会社日立製作所 データ再生方法及びデータ再生装置
US7284184B2 (en) * 2003-01-30 2007-10-16 International Business Machines Corporation Forward error correction scheme compatible with the bit error spreading of a scrambler
US7810012B1 (en) * 2003-08-06 2010-10-05 Oracle America, Inc. Format for randomized data block in a storage device
JP4571523B2 (ja) * 2005-03-04 2010-10-27 ルネサスエレクトロニクス株式会社 スクランブル回路、エンコード装置、エンコード方法及び記録装置
US7478220B2 (en) * 2005-06-23 2009-01-13 International Business Machines Corporation Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
US7440224B2 (en) * 2006-01-23 2008-10-21 Toshiba Corporation Disk drive servo
US7721049B2 (en) * 2006-03-27 2010-05-18 Kabuhsiki Kaisha Toshiba Disk drive write method
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8050086B2 (en) * 2006-05-12 2011-11-01 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US7457066B2 (en) * 2006-05-31 2008-11-25 Kabushiki Kiasha Toshiba Method and apparatus for phase-shift null-burst-pattern
US7468859B2 (en) * 2006-05-31 2008-12-23 Kabushiki Kaisha Toshiba Voice coil motor effective resistance determination
US20070279781A1 (en) * 2006-05-31 2007-12-06 Toshiba America Information Systems, Inc. Channel training method and apparatus
US7453660B2 (en) * 2006-05-31 2008-11-18 Kabushiki Kaisha Toshiba Shock feed forward adaptive filters
US20070279788A1 (en) * 2006-05-31 2007-12-06 Toshiba America Information Systems, Inc. Method and apparatus to perform defect scanning
US7436616B2 (en) * 2006-05-31 2008-10-14 Toshiba Corporation Current pulsing for unloading
US20070279790A1 (en) * 2006-05-31 2007-12-06 Tanner Brian K Adjustable output voltage regulator for disk drive
US8060806B2 (en) * 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7734861B2 (en) * 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
CN101601094B (zh) * 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7706182B2 (en) * 2006-12-03 2010-04-27 Anobit Technologies Ltd. Adaptive programming of analog memory cells using statistical characteristics
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) * 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8131920B2 (en) * 2007-12-06 2012-03-06 Hitachi Global Storage Technologies, Netherlands B.V. Method and system for dynamically allocating read and write sequence randomizer
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7924613B1 (en) * 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8910009B1 (en) * 2008-09-08 2014-12-09 Marvell International Ltd. Method and apparatus for enhancing error detection in data transmission
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
KR101554159B1 (ko) * 2008-10-08 2015-09-21 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101519626B1 (ko) * 2009-02-27 2015-05-14 삼성전자주식회사 반도체 메모리 장치 및 그것의 데이터 처리 방법
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
KR101678407B1 (ko) * 2010-05-10 2016-11-23 삼성전자주식회사 데이터 저장 장치 및 그것의 프로그램 방법
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
US11611359B2 (en) * 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
KR102285940B1 (ko) * 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3775746A (en) * 1972-05-19 1973-11-27 Ibm Method and apparatus for detecting odd numbers of errors and burst errors of less than a predetermined length in scrambled digital sequences
GB1500132A (en) * 1974-03-07 1978-02-08 Standard Telephones Cables Ltd Multi-level data scramblers and descramblers
JPS5380105A (en) * 1976-12-24 1978-07-15 Sony Corp Digital signal transmission method
US4234898A (en) * 1978-03-15 1980-11-18 Nippon Hoso Kyokai Digital magnetic recording and reproducing apparatus
JPS5654140A (en) * 1979-10-09 1981-05-14 Sony Corp Transmission method for pcm signal
JPS58188315A (ja) * 1982-04-28 1983-11-02 Sony Corp デイスク再生装置
JPS6018865A (ja) * 1983-07-11 1985-01-30 Hitachi Ltd 記録方式
JPH0640420B2 (ja) * 1985-02-27 1994-05-25 株式会社日立製作所 Pcm再生装置
US4914527A (en) * 1986-04-09 1990-04-03 Sony Corporation Recording and reproducing digital video and audio signals together with a time code signal which is within user control words of the audio data
JPS63274222A (ja) * 1987-05-01 1988-11-11 Matsushita Electric Ind Co Ltd インタ−リ−ブ方法
DE3719498A1 (de) * 1987-06-11 1988-12-29 Bosch Gmbh Robert System zur pruefung und/oder ueberwachung eines digitalen videobandgeraetes

Also Published As

Publication number Publication date
DE69023372D1 (de) 1995-12-14
US4993029A (en) 1991-02-12
JPH02278573A (ja) 1990-11-14
EP0388031A3 (de) 1992-01-15
JPH0646489B2 (ja) 1994-06-15
EP0388031B1 (de) 1995-11-08
EP0388031A2 (de) 1990-09-19

Similar Documents

Publication Publication Date Title
DE69023372T2 (de) Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung.
DE3040004C2 (de)
DE69618509T2 (de) Übertragung, Aufzeichnung und Wiedergabe von Daten
DE69031725T2 (de) Digitales Datenübertragungssystem mit Fehlererkennung und Fehlerkorrektur
DE69626130T2 (de) Datenintegritätscode und querüberprüfender code mit logischer blockadresse
DE68920918T2 (de) Datenaufzeichnungs- und wiedergabeverfahren und Datenaufzeichnungsträger.
DE69019590T2 (de) Spuraufzeichnung mit verbesserter Fehleraufdeckung.
DE3225058C2 (de)
DE69116463T2 (de) Verfahren und Mittel zur Erzeugung von Indexpulsen in einem Datenspeicherungssystem
DE69110643T2 (de) Anordnung zum Aufzeichnen von Takteinlauf-Codewörtern in einer Spur auf einem magnetischen Aufzeichnungsträger.
DE3855101T2 (de) Anordnung zur sofortigen Fehlerkorrektur
DE2728594A1 (de) Magnetischer leser fuer strichkodierte zeichen
CH665726A5 (de) Verfahren und anordnung zum schreiben und/oder lesen von information.
DE2847801A1 (de) Digitales einspur-nf-aufzeichnungsgeraet und schaltung mit fehlerkorrektur zur verwendung in diesem
DE2460979A1 (de) Verfahren und schaltungsanordnung zur kompensation von impulsverschiebungen bei der magnetischen signalaufzeichnung
DE3039688A1 (de) Verfahren und vorrichtung zum codieren eines digitalsignals mit minimaler gleichkomponente
DE3787034T2 (de) Digitale Signalfehlerkorrektur.
DE2430685A1 (de) Verfahren und vorrichtung zur schnellen digitalen modulation
DE68922018T2 (de) Detektionsverfahren für falsche Synchronisation eines Sektors.
DE3407832C2 (de) Verfahren zum Kodieren und Dekodieren binärer Daten
DE2757164C2 (de) Verfahren zum Übertragen oder Aufzeichnen von digitalen Signalen
DE69016557T2 (de) Informationsdatenaufzeichnungs-/wiedergabegerät.
DE69613792T2 (de) Datenkodierung mit einer variablem blocklänge
DE69013618T2 (de) Informationsaufzeichnungs- und -leseanordnung, Informationsaufzeichnungsanordnung sowie Aufzeichnungsträger, der mittels einer dieser Anordnungen erhalten wird.
DE2529542A1 (de) Verfahren zum aufzeichnen von digitalen datenbits

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee