-
Die Erfindung betrifft eine Vorrichtung zur Nutzung eines Speichers mit variabel reduzierbaren Fehlercodes.
-
Fehlercodes werden in verschiedenster Art in vielen Speichern verwendet, um Fehler im Speicherinhalt oder an den Speicherzellen zu Erkennen oder zu Korrigieren. Dabei sind für die unterschiedlichen Anwendungen jeweils optimale Codes aus dem Stand der Technik bekannt. Zur Fehlererkennung ist beispielsweise eine Parity-Kennung, zur Fehlerkorrektur sind mathematische Code bis hin zur redundanten, doppelten Speicherung bekannt. Abhängig von den Anforderungen an die Speicher kommen ausgewählte Codierungen zum Einsatz.
-
Aus der Druckschrift
US2003/0037299A1 ist eine Fehlerkorrektur mit dynamischer Kennung bekannt.
-
Speicher sind in verschiedenen Ausprägungen bekannt, wobei neben papiergebundenen Speichern, wie Druckseiten, heutzutage zumeist elektronische Speicherungen vorgenommen werden. Dabei werden bei elektronischen Datenverarbeitungsanlagen die zu speichernden Daten beispielsweise in magnetischer Form auf Ringkernspeichern, Magnetbändern, Disketten oder Festplatten, in optischer Form auf CDs (Compact Discs) oder DVDs (Digital Veritisal Discs) oder in elektronischer Form in Röhren- oder Halbleiterspeichern gespeichert. Bei den Speicherarten wird zwischen veränderbaren und festprogrammierten Speichern unterschieden. Bekannte Vertreter der festprogammierten Halbleiterspeicher sind ROM (Read-Only Memory), PROM (Programmable Read-Only Memory) oder festverdrahte Schaltungen, wogegen die Speichertypen RAM (Random Access Memory), EPROM (Electrical Programmable Read-Only Memory), EEPROM (Electrical Erasable Programmable Memory), Flash-EEPROM, FRAM (Ferroelectrical Random Access Memory) zu den veränderbaren Halbleiterspeichern zählen.
-
Nachteilig an den Speichern ist, dass eine vordefinierte Menge des Speichers für Fehlercodes verwendet wird.
-
Es ist bekannt, dass Speicher für einige Anwendungsgebiete ohne Bereiche für Fehlercodes hergestellt werden, wogegen andere Speicher für spezielle Applikationen mit hohen Anforderungen an die Zuverlässigkeit oder Sicherheit mit aufwendigen Fehlercodes ausgestattet werden. Besonders aus dem Bereich der Weltraumtechnik sind Speicher bekannt, welche auch bei Einwirken von Strahlungen, welche beispielsweise Single-Event-Effects auslösen können, den Inhalt unverändert wiedergeben müssen. Hieraus ergibt sich der Nachteil, dass der Speicher entweder nur eine kleine Menge für Fehlercodes verwendet und damit nur eine geringe Verbesserung der Zuverlässigkeit und Sicherheit bietet oder dass der Speicher einen großen Bereich für Fehlercodes verwendet und damit zwar eine gute Verbesserung der Zuverlässigkeit und Sicherheit bietet, jedoch ein relativ schlechtes Verhältnis zwischen effektivem Speicherplatzangebot und Fehlercodeaufwand aufweist.
-
Aufgabe der Erfindung ist es, das Verhältnis zwischen dem nutzbaren, effektiven Speicherplatzangebotes eines Speichers und den zusätzlichen Aufwand für Fehlercodes variabel zu gestalten und damit Optimierungsmöglichkeiten zu bieten.
-
Diese Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen und Ausgestaltungen sind in den Unteransprüchen sowie in den nebengeordneten Patentansprüchen angegeben.
-
Der Erfindung liegt zunächst die Tatsache zu Grunde, dass in den typischen Verwendungen eines Speichers nicht für alle Inhalte die gleiche Zuverlässigkeit oder die gleiche Sicherheit zwingend gefordert wird.
-
Beispielsweise können in einem Speicher Programmablaufbefehle oder Anweisungssequenzen gespeichert sein. Diese haben im Allgemeinen sehr hohe Anforderungen an die Zuverlässigkeit und Sicherheit, da gestörte oder veränderte Speicherinhalte zu falschen Funktionen oder Abläufen führen können. Daher werden hierbei relativ hohe Aufwände für Fehlercodes realisiert.
-
Andererseits können in dem Speicher auch Daten wie Texte zur Benutzerführung oder Daten zur audio- oder visuellen Wiedergabe gespeichert sein. Fehler in diesen Bereichen sind meist wenig kritisch, da kleine Störungen den Inhalt für einen Benutzer nicht unbrauchbar machen. Daher wird hier versucht den Aufwand für Fehlercodes möglichst zu minimieren.
-
Der Erfindung liegt weiterhin die Erkenntnis zugrunde, dass in vielen Systemen bei der Definition und während der Entwicklungsphase nicht eindeutig festgelegt werden kann, wie viel Speicher mit guten Fehlercodes und wie viel Speicher mit geringem oder ohne Fehlercodes ausgestattet werden soll. Besonders bei Systemen, welche kurz vor der Anwendung oder während der Nutzung konfiguriert oder programmiert werden, ist eine vorherige Festlegung der Speichertypen bezüglich der Fehlercodes praktisch nicht möglich.
-
Ein wesentlicher Aspekt der Erfindung ist es, dass in einem System der Aufwand erheblich steigt, wenn spezielle Speicher mit guten und damit aufwendigen Fehlercodes sowie andere Speicher mit einfachen oder ohne Fehlercodes eingebaut werden. Diese getrennten Speicherbereiche müssen dabei jeweils auf die maximal auftretende Anforderungen ausgelegt werden, auch wenn sie nicht komplett ausgenutzt werden. In Systemen bei denen nicht die verschiedenen Speicher eingesetzt werden können, muss dann der Speicher mit den guten und aufwendigen Fehlercodes gesichert werden und auch für die Inhalte, welche nicht so hohe Anforderungen an die Zuverlässigkeit oder Sicherheit haben, verwendet werden.
-
Die Erfindung ist insbesondere auf Halbleiterspeicher anwendbar, jedoch prinzipiell ebenso auf andere Speicher, insbesondere magnetischen oder optischen Speichern, wie beispielsweise bei Disketten, Festplatten, CompactDiscs (CD) oder Digital Veritisale Discs (DVD).
-
Die erfindungsgemäße Vorrichtung zeichnet sich gegenüber bekannten Speichern durch einen variablen und damit ermöglichtem, erheblich optimierbaren Verhältnis zwischen effektivem Speicherplatzangebot und Fehlercodeaufwand aus. Das System benötigt nunmehr nur noch einen Speicher, welcher für kritische Daten mit einem aufwendigem Fehlercode konfiguriert werden kann und für Daten mit nicht so hohen Sicherheits- oder Zuverlässigkeitsanforderungen mit geringerem oder ohne Fehlercode konfiguriert werden kann.
-
Ein weiterer Vorteil der erfindungsgemäßen Vorrichtung ist, dass der Speicher maximal ausgenutzt werden kann, da kritische Daten und weniger oder unkritische Daten in einem Speicherbereich abgelegt werden können. Dabei können die Speicherbereiche in Segmente eingeteilt werden, welche mit den verschiedenen starken, eingestellten Fehlercodes abgesichert sind. Es ist hierbei auch möglich, dass die Daten der verschiedenen Schutzklassen im Speicher in gemischter Reihenfolge gespeichert werden.
-
Der Speicher der erfindungsgemäßen Vorrichtung in einer beschreibbaren Form kann auch während der Verwendung umkonfiguriert werden. Bei der Herstellung des Speichers muss hierbei nicht festgelegt werden, welcher Anteil für Daten mit hohem Schutz und welcher Anteil für Daten mit geringem oder ohne Schutz ausgelegt werden soll. Vielmehr kann während der Verwendung des Speichers für die jeweiligen Daten der Schutzumfang festgelegt werden. Bei wiederbeschreibbaren Speichern kann der Schutzumfang auch während der Anwendung verändert werden. Ein Speicher, welcher zunächst kritische Daten enthält und von weniger kritischen Daten überschrieben wird, kann umkonfiguriert werden, so dass nunmehr ein einfacherer oder kein Fehlercode verwendet wird. Die freigewordenen Speicherbereiche für den Fehlercode im Anwendungsfall der kritischen Daten können dann für Nutzdaten verwendet werden.
-
Ein weiterer Vorteil der Erfindung liegt in der Veränderbarkeit des Speichers als Halbleiterspeichers. Besonders beim Halbleiterspeicher sind die Kosten eng mit dem Speicherplatz verknüpft. Daher können durch den optimalen Einsatz des Speichers die Gesamtspeichergrößen reduziert werden und Kosten für nicht benötigte Fehlercodes eingespart werden. Besonders in Anwendungen, bei denen die Verwendung des Speichers nicht exakt vorhergesagt werden kann, ist die variable Speicheranordnung von Vorteil. Hierzu zählen beispielsweise universelle Steuerungen, bei denen die Anwendung nach der Herstellung auf dem System gespeichert wird. Ein kleiner Anteil des Speichers könnte hierbei von den eigentlichen Programmbefehlen gefüllt werden, welche eine gute Fehlerabsicherung benötigen. Ein großer Speicherbereich kann von Texten, Audiodaten oder Videodaten für die Benutzerführung belegt werden, welche nur einen geringeren Schutz benötigen.
-
Besonders in Systemen, bei denen nur ein sehr begrenztes Speicherplatzangebot besteht, ist die erfindungsgemäße Vorrichtung vorteilhaft. Entsprechende Systeme sind Speicher- oder Chipkarten, bei denen der Speicher durch die maximale Chipfläche begrenzt ist und deren Chipfläche auf Grund von normierten Abmessungen und mechanischen Anforderungen limitiert ist. Bei solchen Systemen ist eine optimale Nutzung des Speichers vorteilhaft, da somit eine maximale Datendichte erreicht werden kann.
-
In einer vorteilhaften Ausgestaltung ist in dem Speicher ein Steuermittel integriert, welches die Verwendung des Speicherinhaltes als Nutzdaten oder als Fehlercode unterscheidet. Damit können die Daten und die Fehlercodeinformationen der unterschiedlichen Verwendung zugeführt werden. So können die Nutzdaten direkt einem Prozessor oder einem Interface zur Verfügung gestellt werden, wogegen die Fehlercodeinformationen an ein Modul zur Verarbeitung der Fehlercodes übertragen werden kann.
-
In einer weiteren vorteilhaften Ausgestaltung der erfindungsgemäßen Vorrichtung umfasst der Speicher in einem Teil des Speichers Kennungen, welche angeben, ob die Daten in einem Speicherbereich Nutzdaten oder Fehlercodes sind. Dabei kann auch zwischen verschiedenen Stärken der Fehlercodes unterschieden werden. Eine Kennung könnte angeben, dass der Bereich nur Nutzdaten enthält, eine zweite Kennung könnte angeben, dass der Bereich einen einfachen Schutz enthält und eine weitere Kennung könnte einen hohen Schutzmechanismus signalisieren. Typischerweise wird ein Teil des Speichers immer für Nutzdaten vorbehalten sein, so dass die Kennung angibt, ob zu diesen Nutzdaten ein Fehlercode gespeichert ist oder ob in den Fehlercode-Speicherbereich weitere Nutzdaten gespeichert sind. In Abhängigkeit des Aufwandes kann die Größe der Speicherbereiche variieren. Bei digitalen Speichern kann die Größe der Speicherbereiche und -segmente von Bits über Bytes und Wörtern bishin zu Blöcken schwanken.
-
In einer weiteren vorteilhaften Ausgestaltung der erfindungsgemäßen Vorrichtung ist weiterhin die Auswertung der Fehlercodes in dem Speicher integriert. Hierbei erkennt der Speicher, welche Bereiche nur Nutzdaten ohne Fehlercodes enthalten und überträgt diese direkt an die Schnittstelle oder einen Prozessor. Bei Speicherbereichen mit Fehlercode gemäß der Kennung kann der Fehlercode direkt ausgewertet werden. In Abhängigkeit der Fehlercode-Schaltung kann das Datum von einer Übertragung ausgeschlossen werden oder der Fehler korrigiert werden und oder oder eine Fehlermeldung übertragen werden.
-
Nachfolgend wird die Erfindung anhand von Ausführungsbeispielen in Verbindung mit den Zeichnungsfiguren näher erläutert. Es zeigen:
- 1 eine schematische Darstellung eines Halbleiterspeichers in einem System nach dem Stand der Technik; und
- 2 eine schematische Darstellung eines Speicherinhaltes mit Anwendung eines Fehlercodes nach dem Stand der Technik; und
- 3 eine schematische Darstellung eines Halbleiterspeichers mit der erfindungsgemäßer Vorrichtung; und
- 4 eine schematische Darstellung eines Speicherinhaltes mit Anwendung der erfindungsgemäßer Vorrichtung zur Kennzeichnung des Speicherinhaltes.
-
1 zeigt ein bekanntes System 1 mit einem Halbleiterspeicher 2 mit einer Fehler-Korrektur-Schaltung 3, einem Halbleiterspeicher 4 ohne Fehlerkorrektur, sowie einem Prozessor 5 zur Datenverarbeitung und einer Schnittstelle 6 zu Datenübertragung. Der Inhalt des Halbleiterspeichers 2 wird durch einen Fehlercode geschützt, welcher durch die Fehler-Korrektur-Schaltung 3 ausgewertet wird. Der Halbleiterspeicher 4 weist keine Fehlercodes auf und kann daher vollständig für Nutzdaten verwendet werden. Die Daten können vom Speicher dann an den Prozessor 5 zur weiteren Verarbeitung oder an die Schnittstelle 6 übertragen werden.
-
In 2 ist Abbild eines Speicherinhaltes mit Fehlercode schematisch dargestellt, wie er im Halbleiterspeicher 2 gespeichert sein kann. Die Daten sind in diesem Speicher in verschiedene Segmente (a1, b1, c1, d1; a2, b2, c2, d2; a3, b3, c3, d3,...) eingeteilt zu welchen jeweils ein Fehlercode (f1; f2; f3; ...) gespeichert wird. Die Nummer in der Segmentbezeichnung gibt in diese Darstellung die Zugehörigkeit an: Segment 1 enthält die Daten a1, b1, c1 und d1 sowie den zugehörigen Fehlercode f1. Die Fehler-Korrektur-Schaltung 3 kann anhand des Fehlercodes f die Korrektheit der Daten a, b, c und d ermitteln oder wiederherstellen.
-
3 zeigt einen Halbleiterspeicher 2 mit einer Fehler-Korrektur-Schaltung 3, sowie einem Steuermittel 7 zur Unterscheidung, ob die Daten Nutzdaten oder Fehlercodes sind. Nutzdaten können dem Prozessor 5 zur Datenverarbeitung und einer Schnittstelle 6 zu Datenübertragung übermittelt werden. Fehlercodes werden durch das Steuermittel 7 an die Fehler-Korrektur-Schaltung 3 geleitet und dort ausgewertet.
-
In 4 ist ein Abbild eines Speicherinhaltes mit Anwendung der erfindungsgemäßen Vorrichtung schematisch dargestellt. Dabei sind die Daten in diesem Speicher wieder in verschiedene Segmente (a1, b1, c1, d1; a2, b2, c2, d2; a3, b3, c3, d3,...) eingeteilt zu welchen jeweils ein Fehlercode (f1; f2; f3; ...) gespeichert wird, wenn die entsprechende Kennung (k1; k2; k3; ...) entsprechend auf „1“ programmiert wurde. Wenn die entsprechende Kennung (k1; k2; k3; ...) den Wert „0“ speichert, so wird anstelle eines Fehlercodes (f1; f2; f3; ...) ein Nutzdatum (e1; e2; e3; ...) in der Speicherstelle gespeichert. Ein Steuermittel 7 leitet entsprechend der Kennung (k1; k2; k3; ...) den Speicherinhalt an den Prozessor 5 / Schnittstelle 6 oder an die Fehler-Korrektur-Schaltung 3 zur Auswertung. Die Anordnung der Speicherinhalte (Daten, Fehlercodes und Kennungen) ist in der 4 schematisch dargestellt und kann physikalisch im Speicher unterschiedlich angeordnet sein. Die Ansteuerungslogik des Speichers 2 kann so angepasst werden, dass ein minimaler zusätzlicher Aufwand für das Steuermittel 7, für die Speicheransteuerung und oder für die Speicherung der Kennungen entsteht.
-
In einer anderen Ausführungsform der Erfindung kann der Speicherbereich für die Nutzdaten auch ausschließlich Nutzdaten enthalten und in einem zweitem Speicherbereich die Fehlercodes gespeichert werden, wenn in einem drittem Speicherbereich ausschließlich entsprechende Kennungen gespeichert werden. Dabei muss dann eine Zuordnung zwischen den Nutzdaten und den Fehlercodes festgelegt sein.
-
Bezugszeichenliste
-
- 1
- System
- 2
- Halbleiterspeicher mit Fehlercode
- 3
- Fehler-Korrektur-Schaltung
- 4
- Halbleiterspeicher ohne Fehlercode
- 5
- Prozessor
- 6
- Schnittstelle
- 7
- Steuermittel