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
Links
- 238000012937 correction Methods 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 32
- 230000000295 complement effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement 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.
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)
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)
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 |
-
1989
- 1989-03-13 US US07/322,588 patent/US4993029A/en not_active Expired - Lifetime
-
1990
- 1990-02-21 EP EP90301885A patent/EP0388031B1/de not_active Expired - Lifetime
- 1990-02-21 DE DE69023372T patent/DE69023372T2/de not_active Expired - Fee Related
- 1990-03-12 JP JP2058253A patent/JPH0646489B2/ja not_active Expired - Lifetime
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 |