Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TEST METHOD FOR COMPUTER SYSTEM-ASSISTED DEVICES WITH AT LEAST ONE MEMORY AREA
Document Type and Number:
WIPO Patent Application WO/2008/049719
Kind Code:
A1
Abstract:
According to the inventive method, in a computer system-assisted device (1) test data is written, preferably continuously, to the unused part (19) of the memory area (5, 7, 13, 15), verified and compared to target data to conclude the functionality of the memory area (5, 7, 13, 15).

Inventors:
NEMETH-CSOKA MIHALY (DE)
Application Number:
PCT/EP2007/060603
Publication Date:
May 02, 2008
Filing Date:
October 05, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
NEMETH-CSOKA MIHALY (DE)
International Classes:
G11C29/24; G06F11/22; G11C29/52
Foreign References:
US6742148B12004-05-25
US20040143719A12004-07-22
US20030065470A12003-04-03
US20020169922A12002-11-14
EP0276047A21988-07-27
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:

Patentansprüche

1. Testverfahren für computersystem-unterstützte Geräte (1) mit mindestens einem Speicherbereich (5, 7, 13, 15), insbe- sondere zur Erkennung von Fehlern bei der Datenspeicherung, wobei in einen aktuell nicht benutzten Teil des Speicherbereichs (19) Testdaten geschrieben, die geschriebenen Testdaten überprüft und mit Zieldaten verglichen werden, um auf die Funktionsfähigkeit des Speicherbereichs (5, 7, 13, 15) zu schließen.

2. Testverfahren nach Anspruch 1, wobei die Testdaten laufend während des Betriebs des Geräts (1) in den aktuell nicht benutzten Teil des Speicherbereichs (19) geschrieben werden.

3. Testverfahren nach Anspruch 1 oder 2, wobei

- der Speicherbereich (5, 7, 13, 15) einen aktiven (17) und einen passiven Speicherbereich (19) umfasst, wobei der aktive Speicherbereich (17) derjenige Teil des Speicherbereichs ist, welcher dafür vorgesehen ist, irgendwann während des Betriebs Daten aufzunehmen und ausgelesen zu werden, und

- der aktuell nicht benutzte Teil des Speicherbereichs (5, 7, 13, 15) zumindest einen Teil des passiven Speicherbereichs (19) umfasst.

4. Testverfahren nach einem der Ansprüche 1 oder 2, wobei

- der Speicherbereich (5, 7, 13, 15) einen aktiven (17) und einen passiven Speicherbereich (19) umfasst, wobei der aktive Speicherbereich (17) derjenige Teil des Speicherbereichs ist, welcher dafür vorgesehen ist, irgendwann während des Betriebs Daten aufzunehmen und ausgelesen zu werden, und

- der aktuell nicht benutzte Teil des Speicherbereichs (5, 7, 13, 15) zumindest einen Teil des aktiven Speicherbereichs (17) umfasst, der aktuell nicht benutzt ist.

5. Testverfahren nach einem der Ansprüche 1 bis 4, wobei bei einem aufgrund des Vergleichs festgestellten Speicherproblem

ein Hinweis (11) auf das Speicherproblem an einen Benutzer des computersystem-unterstützten Geräts (1) ausgegeben wird.

6. Testverfahren nach Anspruch 5, wobei das Testverfahren pa- rallel bei einer Anzahl an computersystem-unterstützten Geräten (1) angewandt und die ausgegebenen Hinweise (11) gesammelt und gemeinsam ausgewertet werden.

7. Testverfahren nach Anspruch 6, wobei die Auswertung eine Prognose umfasst, die auf einen bevorstehenden Ausfall des

Speicherbereichs (5, 7, 13, 15) mindestens eines der computersystem-unterstützten Geräte (1) schließen lässt.

8. Testverfahren nach einem der Ansprüche 1 bis 7, wobei das Schreiben der Testdaten und der Vergleich durch einen Prozessor (3) vorgenommen wird und der Prozessor (3) mit dem mindestens einen Speicherbereich (5, 7, 13, 15) über einen Datenbus (9) verbunden ist.

9. Testverfahren nach Anspruch 8, wobei der Prozessor (3) und der mindestens eine Speicherbereich (5, 7, 13, 15) in physikalisch getrennten Baueinheiten realisiert sind.

10. Testverfahren nach einem der Ansprüche 2 bis 9, wobei die Testdaten während des Betriebs variieren.

11. Testverfahren nach einem der Ansprüche 1 bis 10, wobei bei einem als fehlerhaft erkannten aktiven Speicherbereich dieser durch einen als fehlerfrei erkannten passiven Spei- cherbereich ersetzt wird.

Description:

Beschreibung

Testverfahren für computersystem-unterstützte Geräte mit mindestens einem Speicherbereich

Die Erfindung betrifft ein Testverfahren für Geräte der e- lektronischen Datenverarbeitung, bei welchen ein Speicher zum Halten von Programm- und Dateninformation vorgesehen ist. Dabei soll eine zuverlässige Erkennung von sich anbahnenden Fehlern des Speichers gewährleistet werden.

In derartigen EDV-Systemen können Fehler bei der Speicherung von Daten oder Programmcode auftreten. Derartige Fehler können bereits bei einem Neugerät auftreten, falls die Speicher- bausteine zumindest teilweise Defekte aufweisen. Es kann jedoch auch sein, dass im Laufe der Zeit infolge von Alterungserscheinungen die Speicherbausteine mehr und mehr Defekte aufweisen. Des Weiteren kommt es vor, dass bestimmte Herstellungschargen von Speicherbausteinen fehlerbehaftet sind.

Die Automatisierungstechnik hat weiten Einzug in alle Bereiche der Industrie und auch in den privaten Bereich gehalten. Besonders im industriellen Umfeld kann ein Speicherfehler fatale Folgen haben, wenn z.B. ein sicherheitsgerichtetes Auto- matisierungssystem nicht mehr zuverlässig arbeitet. In Produktionsbetrieben führt ein Produktionsausfall ebenfalls zu gravierenden Folgen, zumindest finanzieller Art.

Bei Speicherbausteinfehlern sind insbesondere diejenigen Feh- ler schwer erkennbar, die nur sporadisch auftreten. Derartige nicht-deterministische Fehler können bei einer punktuellen Fehlersuche kaum aufgespürt werden. Der Grund hierfür liegt meist darin begründet, dass während des Betriebs des EDV oder Automatisierungssystems die Adressierung des Speichers nicht statisch, sondern zumindest in Teilen dynamisch ist, so dass nicht vorhersagbar ist, welche Speicherbereiche während des Betriebs laufend benutzt werden.

Somit kann es vorkommen, dass defekte Speicherzellen nur manchmal adressiert werden und daher ein Speicherfehler nur manchmal auftritt.

Bei bekannten Verfahren wird beispielsweise der gesamte Speicherbereich beim Einschalten oder nach einem Reset des Geräts komplett überprüft. Später im normalen Betrieb wird dann nur noch der so genannte aktive Speicherbereich, also derjenige Bereich des Speichers, in welchen während des Betriebs Daten geschrieben werden, überprüft. Hierfür sind z.B. so genannte Checksummen-Tests bekannt.

Nachteilig hierbei ist, dass ein erkannter Fehler im aktiven Speicherbereich meist auch zu einem Betriebsfehler des Geräts führt, da eben im aktiven Speicherbereich die Bearbeitung der aktuellen Automatisierungslösung stattfindet. Derartige Fehlererkennungen kommen also in aller Regel sehr spät oder sogar zu spät, um einen Ausfall des Geräts noch zu verhindern.

Die Erfindung legt daher die Aufgabe zugrunde, ein Testverfahren für EDV und Automatisierungssysteme anzugeben, mittels welchem Speicherfehler möglichst frühzeitig erkannt werden können, so dass ein Ausfall des Geräts möglichst verhindert ist .

Die Erfindung geht dabei von der überlegung aus, dass ein Test derjenigen Speicherbereiche, welche nicht benutzt werden, wertvolle Schlüsse auf die Funktionsfähigkeit des gesamten Speichers einschließlich der aktiven Speicherbereiche zu- lässt. Mit großer Wahrscheinlichkeit kann bei einem erkannten Fehler eines nicht benutzten Speicherbereichs auch auf mögliche Fehler des benutzten Speicherbereichs geschlossen werden, da beide Speicherbereiche physikalisch in derselben Hardware realisiert sind.

Die Erfindung führt daher zu einem Testverfahren für compu- tersystem-unterstützte Geräte mit mindestens einem Speicherbereich, wobei in einen aktuell nicht benutzten Teil des

Speicherbereichs Testdaten geschrieben, die geschriebenen Testdaten überprüft und mit Zieldaten verglichen werden, um auf die Funktionsfähigkeit des Speicherbereichs zu schließen.

Das erfindungsgemäße Testverfahren stört somit den Betrieb des Geräts nicht, da es sich auf den nicht benutzten Teil des Speicherbereichs beschränkt. Bei den Testdaten kann es sich beispielsweise um Bitmuster handeln, welche gezielt in den nicht benutzten Teil des Speicherbereichs geschrieben werden. Derartige Test-Muster können geeignet vorab festgelegt werden, um bei einem späteren Vergleich der geschriebenen Testdaten mit dem erwarteten Schreibergebnis möglichst gute Hinweise auf eine möglicherweise vorliegende oder sich anbahnende Fehlerquelle zu erhalten.

Der aktuell nicht benutzte Teil des Speicherbereichs kann dabei Speicherbereichsteile umfassen, welche während des Betriebs des Geräts nicht benutzt werden oder welche während des Betriebs des Geräts nur zeitweise genutzt werden.

Bevorzugt werden die Testdaten laufend während des Betriebs des Geräts in den aktuell nicht benutzten Teil des Speicherbereichs geschrieben.

Hierbei wird der nicht benutzte Teil des Speicherbereichs ständig getestet, indem bevorzugt ein immer unterschiedliches Test-Bitmuster in den Bereich geschrieben und ständig kontrolliert wird, ob der geschriebene Inhalt den Erwartungen entspricht. Das laufende Schreiben der Testdaten soll hierbei bedeuten, dass nicht nur einmalig Testdaten in den nicht benutzten Teil des Speicherbereichs geschrieben werden, sondern dass dies mehrmals während des Betriebs geschieht.

Sollte der Vergleich zutage fördern, dass ein Speicherfehler vorliegt, dass also die geschriebenen Testdaten nicht mit dem erwarteten Schreibergebnis (Zieldaten) übereinstimmt, so kann das Gerät dennoch problemlos weiterbetrieben werden, da sich das erfindungsgemäße Testverfahren auf den nicht benutzten

Teil des Speicherbereichs bezieht und somit die Abarbeitung von Programmcode und Daten nicht beeinflusst ist.

Dennoch geben derartige erkannte Speicherprobleme im nicht benutzten Teil des Speicherbereichs Hinweise darauf, dass früher oder später auch im aktiven Bereich des Speichers Fehler auftreten könnten. Derartige Wahrscheinlichkeitsaussagen sind eine wertvolle Grundlage für vorausschauende Wartungsmaßnahmen .

In einer vorteilhaften Ausgestaltung umfasst der Speicherbereich einen aktiven und einen passiven Speicherbereich, wobei der aktive Speicherbereich derjenige Teil des Speicherbereichs ist, welcher dafür vorgesehen ist, irgendwann während des Betriebs Daten aufzunehmen und ausgelesen zu werden. Weiterhin umfasst dabei der aktuell nicht benutzte Teil des Speicherbereichs zumindest einen Teil des passiven Speicherbereichs .

Bei dieser Ausführungsform der Erfindung findet das Testverfahren Anwendung auf einen nicht benutzten Speicherbereich, den passiven Speicherbereich. Hierbei wird überprüft, ob dieser nicht benutzte Teil des Speichers fehlerfrei arbeitet o- der aber ob dort fehlerbehaftete Speicherzellen vorhanden sind.

Der aktive und der passive Speicherbereich sind dabei in der gleichen Hardware realisiert, wobei eine Unterscheidung in aktiv und passiv lediglich bezüglich der Speicherbelegung durch ein Programm definiert ist. Wenn nun im passiven Speicherbereich fehlerhafte Speicherzellen aufgefunden werden, so kann daraus auch auf mögliche Probleme im aktiven Speicherbereich geschlossen werden, da, wie bereits erwähnt, beide Speicherbereiche sich physikalisch nicht unterscheiden. Bei- spielsweise können Alterungsprozesse dazu führen, dass einige Speicherzellen im Laufe der Zeit zu Speicherfehlern neigen. Eine Detektierung eines Speicherfehlers im passiven Speicherbereich kann damit ein Hinweis sein, auf einen möglichen

Speicherfehler auch im aktiven Bereich, welcher für die Programmausführung benutzt wird. Werden nun bei einem Speicherbereich im passiven Speicherbereich defekte Speicherzellen mittels des erfindungsgemäßen Testverfahrens aufgefunden, kann beispielsweise der komplette Speicherbereich erneuert werden, um möglichen zukünftigen Problemen, welche auch den aktiven Speicherbereich betreffen können, vorzubeugen.

In einer weiteren bevorzugten Ausführungsform umfasst der ak- tuell nicht benutzte Teil des Speicherbereichs zumindest einen Teil des aktiven Speicherbereichs, welcher aktuell nicht benutzt ist.

Während der Programmlaufzeit kommt es häufig vor, dass zwar ein aktiver Speicherbereich für die Abarbeitung des Programms vorgesehen ist, jedoch nicht zu jedem Zeitpunkt alle Teile des aktiven Speicherbereichs auch tatsächlich benutzt werden. Das erfindungsgemäße Testverfahren kann nun auch auf solche Teile des aktiven Speicherbereichs angewendet werden, welche zu einem aktuellen Zeitpunkt nicht benutzt werden und von daher für die Ausführung des erfindungsgemäßen Testverfahrens benutzt werden können.

Da dieser aktuell nicht benützte Teil des aktiven Speicherbe- reichs während der Programmlaufzeit irgend einmal benutzt werden soll, kann eine Detektierung eines Speicherfehlers in diesem Bereich einen wertvollen Hinweis darauf liefern, dass ein Speicherproblem bevorstehen könnte, welches den Betrieb des Geräts unmittelbar gefährdet. Wenn man nun auf einen der- artig detektierten Fehler schnell genug reagiert, und beispielsweise den Speicherbereich erneuert, kann ein Ausfall des Geräts verhindert werden, bevor z.B. ein Produktionsausfall oder eine Gefährdung eintritt.

Alternativ oder in Ergänzung ist es beispielsweise auch möglich, zwischen aktiven Speicherbereichen Testspeicherbereiche zu definieren und diese als aktuell nicht benutzte Teile des Speicherbereichs zur Ausführung des erfindungsgemäßen Test-

Verfahrens zu verwenden. Hierbei ist die Detektierung eines gegebenenfalls vorhandenen Speicherfehlers in diesem aktuell nicht benutzten Teil des Speicherbereichs zwischen aktiven Speicherbereichen ein besonders gutes Maß für etwaig bevor- stehende Speicherprobleme, da eine Nähe dieses aktuell nicht benutzten Speicherteils zum aktiven Speicherbereich vorliegt, meist auch in physikalischer Hinsicht, so dass ein übergreifen des Speicherfehlers auf den aktiven Speicherbereich wahrscheinlich ist.

Bei einem aufgrund des Vergleichs festgestellten Speicherproblem wird bevorzugt ein Hinweis auf dieses Speicherproblem an einen Benutzer des Computersystem-unterstützten Geräts ausgegeben .

Im Falle einer Anzahl an Computersystem-unterstützten Geräten kann das Testverfahren bevorzugt parallel auf diese Anzahl angewendet werden und die ausgegebenen Hinweise gesammelt und gemeinsam ausgewertet werden.

Auf diese Weise ist es möglich, Korrelationen zwischen den detektierten Speicherproblemen verschiedener Geräte zu ermitteln, beispielsweise mit Hilfe von stochastischen Methoden. So wird eine Vorhersage über möglicherweise bevorstehende Speicherprobleme noch genauer.

Von daher kann die Auswertung der ausgegebenen Hinweise zu einer Prognose führen, welche auf einen bevorstehenden Ausfall des Speicherbereichs mindestens eines der Geräte schlie- ßen lässt.

Bevorzugt wird das Schreiben der Testdaten und der Vergleich durch einen Prozessor durchgeführt und der Prozessor ist dabei mit dem mindestens einen Speicherbereich über einen Da- tenbus verbunden.

Im Falle einer dezentralen Anordnung mehrerer Geräte kann somit das erfindungsgemäße Testverfahren über einen Datenbus

vorgenommen werden, welcher die betreffenden Geräte mit dem Prozessor verbindet. Der Datenbus ist hierbei ein Mittel, um die Testdaten vom Prozessor an die Geräte zu verteilen und die Speicherergebnisse auszulesen für den Vergleich. Es muss also nicht in jedem Gerät separat ein Testverfahren implementiert werden, sondern das Testverfahren ist auch auf physikalisch getrennte Baueinheiten anwendbar.

In einer besonders bevorzugten Ausführungsform werden die Testdaten während des Betriebs variiert, beispielsweise wird ein als Testdaten verwendetes Bitmuster, welches in den aktuell nicht benutzten Speicherbereich geschrieben werden soll, laufend verändert.

Dadurch ist es möglich, einen möglicherweise bevorstehenden Speicherfehler noch besser vorherzusagen, da unter Umständen unentdeckt gebliebene systematische Speicherfehler, welche durch ein starres Testbitmuster nicht aufgedeckt werden können, unentdeckt bleiben.

Im Folgenden werden zwei Ausführungsbeispiele der Erfindung näher dargestellt.

Es zeigen:

Fig. 1 ein Computer-unterstütztes Gerät mit RAM- und ROM- Speicher zur Durchführung des erfindungsgemäßen Verfahrens, und

Fig. 2 ein Beispiel eines Speicherbereichs umfassend einen RAM- und ROM-Speicher mit aktiven und passiven

Speicherteilen zur Durchführung des erfindungsgemäßen Verfahrens .

ROM soll hierbei auch stellvertretend stehen für löschbare ROMs wie beispielsweise EPROMs, EEPROMs usw.

In der Fig. 1 ist ein Computer-unterstütztes Gerät 1 dargestellt, welches eine Zentraleinheit 3 umfassend einen Prozes-

sor sowie einen RAM-Speicher 5 und einen ROM-Speicher 7 um- fasst. Die Zentraleinheit 3, der RAM-Speicher 5 und der ROM- Speicher 7 sind hierbei mittels eines Datenbusses 9 verbunden, welcher auch redundant ausgeführt sein kann.

Das erfindungsgemäße Verfahren wird nun durchgeführt, indem mittels der Zentraleinheit 3 über den Datenbus 9 Testdaten, beispielsweise ein Testbitmuster, in den RAM-Speicher 5 und/oder in den ROM-Speicher 7 geschrieben werden. Die ge- nannten Speicher können dabei auch jeweils mehrfach vorhanden sein. Beim RAM-Speicher 5 kann es sich um einen Datenspeicher handeln und der ROM-Speicher 7 kann z.B. einen Programmspeicher mit dem Programmcode umfassen.

Die Zentraleinheit 3 liest nun wiederum über den Datenbus 9 die Speicherergebnisse aus, welche sich infolge des Schreibens der Testdaten in die Speicher 5 und 7 ergeben haben. Das Schreiben der Testdaten geschieht dabei in aktuell nicht benutzte Speicherbereiche der Speicher 5 und/oder 7.

Weicht nun das Ausleseergebnis aus mindestens einem der Speicher 5 und/oder 7 von den ursprünglich geschriebenen Testdaten ab, so wird ein Benutzerhinweis 11 ausgegeben, welcher auf ein mögliches Speicherproblem hinweist.

Im Wesentlichen wird hierbei also überprüft, ob Testdaten fehlerfrei in den nicht benutzten Speicherbereich des Speichers 5 und/oder 7 geschrieben wurden. Im Falle eines negativen Ausgangs dieses Vergleichs wird mittels des Benutzerhin- weises 11 ein Speicherproblem angezeigt.

Während des Betriebs des Geräts 11 wird das Testverfahren bevorzugt laufend durchgeführt, wobei die Testdaten laufend in den aktuellen nicht benutzten Speicherbereich geschrieben, ausgelesen und ausgewertet werden.

In der Fig. 2 ist ein Datenspeicher 13 und ein Programmspeicher 15 eines computer-unterstützten Geräts 1 dargestellt,

wobei der Datenspeicher 13 beispielsweise als RAM und der Programmspeicher 15 beispielsweise als ROM ausgeführt sein können .

Der Datenspeicher 13 weist im vorliegenden Beispiel drei aktive Speicherbereiche 17 und zwei passive Speicherbereiche 19 auf. Der Programmspeicher 15 umfasst vier aktive Speicherteile 17 sowie zwei passive Speicherteile 19.

Bei den passiven Speicherbereichen 19 kann es sich um solche Speicherbereiche handeln, welche während des Betriebs des Geräts 1 überhaupt nicht oder aber um solche Speicherbereiche, welche nicht zu jeder Zeit (in jedem Bearbeitungszyklus) benutzt werden.

Mittels des erfindungsgemäßen Testverfahrens werden nun die Testdaten in zumindest einen der passiven Speicherbereiche 19 mindestens eines der Speicher 13 und/oder 15 geschrieben, ausgelesen und ausgewertet.

Ein Defekt eines der passiven Speicherbereiche 19, in welchen Testdaten geschrieben wurden, äußert sich nun dadurch, dass beim Auslesen dieses passiven Speicherbereichs ein anderes Datenmuster gelesen wird, als zuvor mittels der Testdaten ge- schrieben wurden.

Diese Diskrepanz lässt auf ein Speicherproblem des Speichers 13 bzw. 15 schließen.

Da mittels des erfindungsgemäßen Testverfahrens zumindest aktuell nicht benutzte Speicherbereiche verwendet werden, führt ein detektiertes Speicherproblem üblicherweise (noch) nicht zu einem Ausfall des Geräts 1, sondern es ist vielmehr ein Hinweis auf ein mögliches bevorstehendes Speicherproblem. Ei- ne rechtzeitig eingeleitete Wartungsmaßnahme kann daher schlimme Folgen meist gezielt verhindern.

Weiterhin kann bei einem als fehlerhaft erkannten aktiven Speicherbereich 17 dieser durch einen als fehlerfrei erkannten passiven Speicherbereich 19 ersetzt werden. So kann das Gerät trotz eines Speicherfehlers weiterhin in Betrieb blei- ben .