[go: up one dir, main page]

DE10101234A1 - Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens - Google Patents

Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens

Info

Publication number
DE10101234A1
DE10101234A1 DE2001101234 DE10101234A DE10101234A1 DE 10101234 A1 DE10101234 A1 DE 10101234A1 DE 2001101234 DE2001101234 DE 2001101234 DE 10101234 A DE10101234 A DE 10101234A DE 10101234 A1 DE10101234 A1 DE 10101234A1
Authority
DE
Germany
Prior art keywords
test
memory
data
test pattern
test sample
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.)
Withdrawn
Application number
DE2001101234
Other languages
English (en)
Inventor
Wolfgang Rankl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE2001101234 priority Critical patent/DE10101234A1/de
Priority to PCT/EP2002/000110 priority patent/WO2002063634A1/de
Priority to EP02710781A priority patent/EP1352397A1/de
Publication of DE10101234A1 publication Critical patent/DE10101234A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Test eines programmierbaren Speichers, bei dem der Test in den Vorgang des Programmierens integriert ist und als Prüfmuster die zu speichernden Daten so verwendet, daß nach dem Test unmittelbar die zu speichernden Daten im Speicher stehen, ohne daß ein zusätzlicher Schreibvorgang notwendig ist. Dabei ist die Testtiefe n variabel einstellbar. Das Prüfmuster wird insbesondere durch Invertieren der zu speichernden Daten erstellt und der Test wird zweimal durchlaufen.

Description

Die Erfindung betrifft ein Verfahren zum Test eines nichtflüchtigen Speichers gemäß Anspruch 1 bzw. eine Verwendung des Verfahrens nach den Ansprüchen 14 und 15.
Chipkarten haben unterschiedlichste Anwendungsgebiete und Einsatzzwecke. So werden sogenannte Speicherkarten vornehmlich als Telefonkarten, Krankenversicherungskarten oder als Karten für Automaten oder im öffentlichen Personenverkehr eingesetzt. Ihre Funktionalität ist allerdings auf eine spezifische Anwendung beschränkt.
Mikroprozessorkarten enthalten zusätzlich eine CPU. Üblicherweise enthalten diese Karten neben der CPU eine I/O-Einheit, einen Daten-, Steuer- und Adreßbus, einen flüchtigen Schreib-/Lese-Speicher (RAM) und einem nichtflüchtigen, programmierbaren Speicher (EEPROM) und einen nichtflüchtigen Nur-Lese-Speicher (ROM). Das Betriebssystem ist hauptsächlich im ROM und teilweise im EEPROM abgelegt. Anwendungsfelder für solche Mikroprozessorkarten sind: Ausweiskarten, der elektronische Zahlungsverkehr oder der Zugang zum digitalen Mobilfunknetz (GSM) etc.
Allen Kartentypen ist gemeinsam, daß die Karten in großen Stückzahlen hergestellt werden, so daß der Herstellungsprozeß hinsichtlich Zeit und Kosten optimiert sein muß.
Bei der Aufzählung der möglichen Einsatzbereiche dieser Karten wird deutlich, daß auf die sichere und fehlerfreie Funktion der Karte und seiner Bauteile besonders hoher Wert gelegt werden muß, um insgesamt einen zuverlässigen Betrieb des Kartensystems gewährleisten zu können. Die fehlerfreie Funktion der eingesetzten Bauteile muß deshalb bereits während der Kartenfertigung überprüft werden.
Der fertigungstechnische Zyklus einer Karte läßt sich in folgende Abschnitte einteilen: Anfänglich wird der Chip und die Chipkarte hergestellt. In dieser ersten Phase wird das Design des Chips ausgeführt, das Betriebssystem der Chipkarte erstellt, der Kartenkörper und das Modul hergestellt und es werden die Module in den Kartenkörper eingebettet.
In der zweiten Phase werden alle grundlegenden, nicht kartenindividuellen Daten geladen. In dieser Phase werden spezielle Tests der einzelnen Hardware-Komponenten ausgeführt. Hier ist es wesentlich, einen hohen Durchsatz zu erreichen, damit die Tests möglichst wenig von der teuren Fertigungszeit beanspruchen. Insbesondere der Test des EEPROM's schlägt hier ins Gewicht, da er durch die regulären Schreibzeiten sehr zeitaufwendig ist. Weiterhin werden alle kartenindividuellen, sich auf die jeweilige Anwendung beziehenden Daten vom Kartenherausgeber an die Firma übergeben, die die Personalisierung der Karten vornimmt, wie beispielsweise den Dateibaum für die jeweilige Anwendung, deren Namen etc. Daraufhin wird das bisher im ROM abgelegte Betriebssystem komplettiert, indem Teile davon, wie Linktabellen oder bestimmter Programmcode, in das EEPROM geschrieben werden. Im nächsten Initialisierungsschritt werden alle anwendungsspezifischen Daten geladen.
Erst daraufhin können in der dritten Phase, der sogenannten Personalisierung, all diejenigen Daten geladen werden, die der kartenbenutzenden Person zugeordnet sind.
Sowohl für die zweite als auch für die dritte Phase des Kartenfertigungsprozesses ist der den Durchsatz beschränkende Flaschenhals in der Übertragung der Daten und den Speicherzugriffen auf das EEPRROM zu sehen.
Erst nach Ablauf der drei eben beschriebenen Phasen ist die Karte einsatzfähig. Damit besteht die Notwendigkeit, sicherzustellen, daß dieses aufwendige Verfahren fehlerfrei abläuft und keine Mehrfachausführungen einzelner Fertigungsschritte erforderlich sind, weil sich beispielsweise ein einzelnes Bauteil als fehlerhaft erweist.
Wird erst nach der Personalisierung der Karte erkannt, daß ein Speicherbaustein nicht fehlerfrei arbeitet, so sind alle vorhergehenden Schritte sinnlos gewesen. Es ist deshalb notwendig, möglichst ohne zusätzlichen Aufwand, frühzeitig und sicher zu erkennen, ob die bei der Herstellung der Chipkarte verwendeten Bauteile auch fehlerfrei arbeiten, damit die Funktion der Karte sichergestellt werden kann.
Bisher erfolgte ein Test für einen EEPROM-Speicher einer Chipkarte, indem abwechselnd zwei spezielle Prüfmuster auf die Speicherzellen des EEPROMS geschrieben werden. Danach wurde der Speicherinhalt wieder ausgelesen und es wird vom Betriebssystem überwacht, ob das gelesene Datum mit dem Schreibdatum übereinstimmt. Als Prüfmuster wurden alternierend die binäre Codierung "10101010" und die binäre Codierung "01010101" - entsprechend einem Schachbrettmuster - gewählt, was in der Hexadezimalcodierung dem Datum "AA" bzw. "55" entspricht.
Aus der US-PS 5,175,840 ist ein Microcomputer mit einem PROM bekannt, der durch das Bereitstellen von zusätzlichen Zugriffsüberwachungsmitteln, insbesondere in Form von einem Kontrollschaltkreis, den Zugriff auf das PROM von außen und damit die Sicherheit erhöht. Dieses Verfahren offenbart jedoch kein verbessertes Testverfahren.
Bei den Testverfahren aus dem Stand der Technik ist es nachteiligerweise notwendig, ein spezifisches Prüfmuster (beispielsweise ein Schachbrettmuster) als Testdatensatz zu erstellen und dieses ein- und auszulesen. Erst danach können die eigentlichen, zu speichernden Daten an das EEPROM übertragen werden.
Ein wesentlicher Nachteil hinsichtlich der Fertigungsdauer liegt deshalb in der zusätzlich benötigten Zeit für die Zugriffe auf den Speicher lediglich zu Testzwecken. Denn, um den Fertigungsprozeß möglichst kostenminimiert zu gestalten, müssen alle notwendigen Schritte zeitminimiert ausgeführt werden. Hierbei erweist es sich als nachteilig, daß die Schreib- und Lesezugriffe auf die Speicherbausteine, insbesondere auf das EEPROM sehr zeitintensiv sind. Für eine Überprüfung der Schreib-/Lesespeicher nach dem Stand der Technik mußten nachteiligerweise neben den Schreib-/Lesezugriffen, die aufgrund der Anwendung notwendig sind, zusätzliche Schreib- und Lesezugriffe für die Überprüfung dieser Bausteine einkalkuliert werden.
EEPROM-Zellen können nur begrenzt oft beschrieben und wieder gelöscht werden; die Anzahl der möglichen Zugriffe ist physikalisch bedingt. Ein EEPROM Speicher ist in Seiten bzw. Pages untergliedert. Muß nur ein einzelnes Bit eines EEPROM Speichers geändert werden, dann muß vorher die zugehörige Page - also die gesamte Seite des Speichers - gelöscht werden. Allein dieser Vorgang dauert bei einer 32 Byte großen Speicherseite ca. 10 ms. Auch aus diesem Grund müssen die Zugriffe auf die EEPROM Zellen minimiert werden, um die Lebensdauer der Karte nicht unnötig zu verringern.
Bei den bisherigen Tests war es notwendig, je nach gewünschter Testtiefe, mehrere Testmuster auf den Speicher zu schreiben, wieder auszulesen und diese dann auf Übereinstimmung zu vergleichen. Erst danach konnten - bei positivem Testergebnis - in einem zusätzlichen Zugriff die zu speichernden Daten auf das EEPROM geschrieben werden. Die Tests sind notwendig, verlängern aber in der bisherigen Form den Fertigungszyklus nicht unbeträchtlich.
Aufgabe der vorliegenden Erfindung ist es deshalb, ein Verfahren bereit zu stellen, das eine Zeit- und daher kostenminimierte Überprüfung von Schreib-/ Lesespeichern mit beliebiger Testtiefe ermöglicht.
Diese Aufgabe wird erfindungsgemäß durch ein Testverfahren der eingangs genannten Art gelöst, bei dem der Test mit zu speichernden Daten durchgeführt wird und zeitlich in einen Schreibvorgang des Speichers integriert ist und indem mindestens ein Prüfmuster basierend auf den zu speichernden Daten erstellt wird, so daß die zu speichernden Daten zumindest aus dem zuletzt erstellten Prüfmuster automatisch regeneriert werden können, wobei die folgenden Verfahrensschritte in einer n-fachen Iteration mindestens einmal durchlaufen werden:
  • 1. Erstellen eines Prüfmusters
  • 2. Schreibzugriff auf den nichtflüchtigen Speicher mit dem Prüfmuster,
  • 3. Lesezugriff auf den nichtflüchtigen Speicher zur Erfassung eines n-ten Testergebnisses
  • 4. Vergleich des n-ten Testergebnisses mit dem Prüfmuster auf Übereinstimmung.
Weiterhin wird diese Aufgabe gelöst, indem das soeben beschriebene Verfahren vom Betriebsystem als Dauertest für die eingesetzten Speicherbausteine im Betrieb der Karte verwendet wird oder indem es lediglich bei Bedarf sporadisch als Funktionstest bei den Fertigungsschritten Test, Initialisierung und Personalisierung der Chipkarte verwendet wird.
Mit dieser Lösung ist der Test eines Speicherbauteils optimal in den Herstellungszyklus der Karte integrierbar. Der erfindungsgemäße Test ist insbesondere während oder unmittelbar vor einem ohnehin notwendigen Schreibzugriff auf den Speicher aktivierbar und ohne Verwendung von speziellen Prüfdaten bzw. Einrichtungen, die die Prüfdaten generieren.
Vorteilhafterweise sind mittels des erfindungsgemäßen Verfahrens auch mehrstufige Tests mit ein und demselben Datensatz möglich. Durch wiederholte Invertierung der Daten und damit durch die Anzahl der Iterationen kann der Test in seiner Tiefe verändert werden. In der bevorzugten Ausführungsform wird der Test zweistufig durchgeführt, d. h. mit einer ersten Invertierung der Daten und einer zweiten Re-Invertierung, so daß bei erfolgreichem Abschluß des Tests unmittelbar die zu speichernden Daten im Speicher stehen. Damit können vorteilhafterweise mehrere zeitintensive Schreibzugriffe auf den Speicher eingespart werden. Mit der erfindungsgemäßen Lösung stehen nach erfolgreichem Abschluß des Tests sofort die zu speichernden Daten im Speicher, unabhängig von der Testtiefe bzw. von der Anzahl der Verfahrensdurchläufe.
Durch die Verwendung der zu speichernden Daten als Testdaten lassen sich vorteilhafterweise die Testzeiten der Chipkarte signifikant reduzieren.
Bisher mußte die CPU mit spezifischen Software-Modulen ausgestattet sein, um die Testmuster so zu erzeugen, daß eine möglichst optimale Testabdeckung erreicht werden konnte. Mit dem erfindungsgemäßen Verfahren ist dies jedoch nicht mehr nötig, da die zu speichernden Daten direkt für den Test verwendet werden können.
Ferner erweist es sich als vorteilhaft, daß automatisch eine optimale Testqualität erreicht wird, indem durch die Invertierung der zu speichernden Daten und die anschließende Re-Invertierung jedes Bit einmal auf "0" und "1" gesetzt und damit getestet wird.
Das Verfahren wird alternativ auch zur temporären Auslagerung von Speicherinhalten eingesetzt.
Wie bereits erläutert, wird das Verfahren in der bevorzugten Ausführungsform der Erfindung zweimal durchlaufen (d. h. n = 2). Beim ersten Durchlauf wird das Prüfmuster durch Invertierung der zu speichernden Daten erstellt, so daß nach dem ersten positiv abgeschlossenen Verfahrensdurchlauf das Komplement der zu speichernden Daten im Speicher steht. Daraufhin wird am Ende des ersten Verfahrensdurchlaufs dieses Prüfmuster nochmals invertiert. Beim zweiten Verfahrensdurchlauf wird der Speicher also mit den zu speichernden Daten beschrieben, so daß nach dem zweiten positiv abgeschlossenen Verfahrensdurchlauf exakt die zu speichernden Daten im nichtflüchtigen Speicher stehen und kein zusätzlicher Schreibvorgang notwendig ist. In dieser Ausführungsform basiert die Erstellung des Prüfmusters also auf dem Invertieren der zu speichernden Daten.
In einer alternativen Ausführungsform kann das Prüfmuster auch auf andere Weise aus den zu speichernden Daten abgeleitet werden, beispielsweise durch eine XOR-Verknüpfung oder ähnliches.
Weiterhin ist es möglich das Verfahren nicht nur zweimal sondern mehrfach zu durchlaufen und das Prüfmuster immer wieder zu invertieren, bis zum Schluß nach dem Ende des letzten Verfahrens wiederum die zu speichernden Daten im Speicher stehen.
Generell läßt sich das beschriebene Verfahren für alle Arten der Freispeicherverwaltung von Chipkartensystemen einsetzen, indem bei jedem Speicherzugriff und damit aktuell die Funktionsfähigkeit des Speichers bzw. Speicherbereichs überprüft wird. Die hauptsächliche Anwendung liegt allerdings in der Speicherdefragmentierung, bei der Daten aus bestimmten Speicherbereichen verschoben werden müssen.
Doch auch für Fälle, bei denen aktuell nicht mehr benötigter Speicherbereich für andere Anwendungen freigegeben wird - die sogenannte Garbage Collection - wird das Verfahren sinnvoll eingesetzt.
Es ist jedoch erfindungsgemäß auch möglich, Flash-Speicherzellen, wie einen Flash-EEPROM oder einen FeRAM-Speicher zu verwenden, die sehr viel schnellere Zugriffszeiten gestatten als die regulären EEPROM Zellen. Dies führt zu noch besseren Fertigungs- und insbesondere Testzeiten.
Weitere Vorteile, Merkmale und alternative Ausführungsformen der Erfindung ergeben sich aus der nachfolgenden detaillierten Figurenbeschreibung.
Fig. 1 zeigt ein schematisches Ablaufdiagramm eines erfindungsgemäßen Verfahrens.
Unter Bezugnahme auf Fig. 1 wird nachfolgend ein Beispiel für einen möglichen Ablauf des Verfahrens erläutert.
Grundsätzlich gibt es für die Erfindung zwei hauptsächliche Einsatzgebiete:
  • 1. die Verwendung des Verfahrens für den Test eines Speichers vor Inbetriebnahme einer Chipkarte und
  • 2. die Verwendung des Verfahrens während des Betriebs der Chipkarte bei jedem Speicherzugriff als Dauertest, der von einem Memory Test Manager gesteuert wird.
Bei der ersten Ausführungsform wird der Test bei den Fertigungsschritten 'Test-Initialisierung-Personalisierung' der Chipkarte eingesetzt. Dabei werden zu speichernde Daten so verwendet, daß sie nach dem letzten Testdurchlauf automatisch und ohne einen zusätzlichen Schreibzugriff im Speicher stehen.
Die zweite Verwendung sieht vor, den EEPROM-Test als Dauertest einzusetzen, um vor jedem Schreibzugriff auf den Speicher die Funktionsfähigkeit des Speichers bzw. Speicherbereichs zu überprüfen. Dabei werden auch die zu speichernden Daten zu Erstellung eines Prüfmusters verwendet.
Der erfindungsgemäße Test ist vorteilhafterweise in seiner Testtiefe n und damit auch Testzeit variabel einstellbar. Somit kann er an die jeweiligen Systembedingungen angepaßt werden.
Ist es beispielsweise notwendig einen sehr schnellen aber relativ groben Test, d. h. einen Test mit nur wenig Testabdeckung, einzusetzen, dann wird als Testtiefe n = 1 gewählt, das heißt, daß das erfindungsgemäße Verfahren nur einmal durchlaufen wird. Dann werden die zu speichernden Daten identisch für die Erstellung des ersten und einzigen Prüfmusters verwendet. Das Prüfmuster und damit die zu speichernden Daten werden dann im nächsten Verfahrensschritt auf den nichtflüchtigen Speicher, vorzugsweise auf das EEPROM, geschrieben. Danach wird der Speicherinhalt ausgelesen. Das Auslesen des Speicherinhaltes wird in einem Testergebnis erfaßt und mit dem Prüfmuster verglichen, also mit den Daten, die in den Speicher geschrieben worden sind. Stimmen die beiden Datensätze nicht überein, so liegt ein Fehler vor und das Verfahren bricht mit einer Fehlermeldung ab. Andernfalls, endet das Verfahren erfolgreich und nach dem Test stehen unmittelbar die zu speichernden Daten im Speicher.
In der hauptsächlichen und bevorzugten Ausführungsform hat der Test jedoch eine Testtiefe von n = 2. Das heißt, daß die Verfahrensschritte des Prüfmustererstellens, des Schreibzugriffes, des Lesezugriffes und des Vergleichs zweimal durchlaufen werden. Vorzugsweise wird das erste Prüfmuster beim ersten Durchlauf durch Invertieren der zu speichernden Daten erstellt. Damit ist das erste Prüfmuster das Komplement der zu speichernden Daten. Nach dem Schreib- und anschließenden Lesezugriff auf den Speicher und dem Vergleich der gelesenen und geschriebenen Daten wird das erste Prüfmuster nochmals invertiert, so daß ein zweites Prüfmuster nun wieder identisch mit den zu speichernden Daten übereinstimmt. Nach dem Verfahrensdurchlauf mit dem zweiten Prüfmuster stehen dann bei positivem Testergebnis (d. h. Übereinstimmung der geschriebenen und gelesenen Daten) die zu speichernden Daten im Speicher und der Test-/Schreibvorgang ist abgeschlossen.
Um eine bessere Testtiefe n zu erzielen, kann das eben beschriebene Verfahren auch mehrfach wiederholt werden, indem die Testtiefe n auf mehr als "2" gesetzt wird.
In der eben beschriebenen Ausführungsform ist die Operation mittels derer das Prüfmuster aus den zu speichernden Daten erstellt wird, eine Invertierungs-Operation. Die zu speichernden Daten bzw. das Prüfmuster wird bitweise invertiert, d. h. von "0" auf "1" und von "1" auf "0" gewechselt. Das bringt den Vorteil, das jedes Bit im Speicher zumindest einmal auf beide Werte getestet wird. Somit stellt das Verfahren bei minimaler Testzeit eine maximale Testabdeckung zur Verfügung, wobei für den Schreibzugriff der zu speichernden Daten kein zusätzlicher Zugriff nötig ist.
Alternativ hierzu sind jedoch auch andere Operationen denkbar, wie beispielsweise eine XOR-Verknüpfung.
Weiterhin ist es möglich, nicht - wie beim bisher beschriebenen Verfahren - die Operation auf den zu speichernden Daten und das Komplement dieser Operation abwechselnd auszuführen, sondern, eine Reihe von Operationen zu wählen, die eine maximale Testabdeckung ermöglichen und bei denen nach dem letzten Verfahrensdurchlauf wieder die Originaldaten aus dem letzten Prüfmuster wieder hergestellt werden können. Zur Verdeutlichung soll folgendes Beispiel dienen:
1. Operation: "+1",
2. Operation: "+1"
n. Operation: "+1" und
letzte Operation: "-n".
Dabei können die einzelnen Operationen zur Erstellung der jeweiligen Prüfmuster verschieden sein; die Bedingung für die Wahl der Operationen ist lediglich, daß nach dem letzten Durchlauf bzw. nach dem letzten Prüfmuster die zu speichernden Daten wiederhergestellt werden können. Dabei ist es erstens möglich, die Daten direkt aus dem aktuellen, letzten Prüfmuster abzuleiten (wie bei der Invertierungsoperation) oder zweitens durch eine Analyse der bisherigen Operationen (im Beispiel oben: durch die Anzahl der Inkrementierungen um "1". Das setzt allerdings eine etwas komplexere Analyseeinrichtung zur Regenerierung der zu speichernden Daten voraus, da ein Tracing aller Operationen auf den zu speichernden Daten mitgeführt werden muß.
Die kostengünstige Form des Verfahrens ist es deshalb, wenn als Operation die Invertierung eingesetzt wird. Dann gilt es zu unterscheiden, ob das Verfahren eine gerade oder ungerade Testtiefe n hat. Im ersten Fall (n gerade), muß das erste Prüfmuster jeweils invertiert werden und das letzte wird belassen, da es mit den Originaldaten übereinstimmt. Im zweiten Fall (n ungerade) muß das erste Prüfmuster jeweils identisch mit den zu speichernden Daten übereinstimmen.
Als vorteilhaft erweist es sich, daß das Verfahren eine Iteration bestimmter Verfahrensschritte vorsieht. Dabei wird ein Zähler i, der zu Beginn des Verfahrens auf 1 steht, bei jeder Iteration inkrementiert. Solange der Zähler nicht den vorbestimmten Wert der Testtiefe n erreicht hat - also solange '1 < n' - wird die Iteration durchlaufen. So ist es möglich, durch die Wahl der Testtiefe eine höhere Testabdeckung zu erzielen. Werden beispielsweise zwei Prüfmuster - durch Invertieren der Daten - verwendet, dann kann die Iteration auch mehr als zweimal durchlaufen werden, um beispielsweise äußere Störeinflüsse, die sich auf die Funktion des Speichers auswirken, zu erfassen. Das können Faktoren sein, wie beispielsweise die sich ändernde Temperatur oder sich minimal verändernde Spannungspegel der Schaltung.
Die Erfindung ist entsprechend in einer Vorrichtung zu sehen, die das eben erläuterte Verfahren zur Ausführung bringt. Dazu muß die Chipkarte, insbesondere das Betriebssystem, mit einem Inverter und gegebenenfalls mit einem Multiplexer und einem Zähler i ausgestattet sein, damit die zu speichernden Daten und anschließend das jeweilige Prüfmuster invertiert werden können. Soll jedoch das Prüfmuster nicht durch eine Invertierungs-Operation erstellt werden, so muß die Chipkarte Mittel zum Erstellen eines Prüfmusters aufweisen. Dieses Mittel muß so ausgelegt sein, daß aus bei einer Testtiefe von n, nach dem n-ten Testdurchlauf die zu speichernden Daten aus dem letzten Prüfmuster regeneriert werden können.
Soll der EEPROM-Test während des Betriebs der Karte eingesetzt werden, so wird der sogenannte Memorytestmanager eingesetzt. Er überprüft, nach dem oben beschriebenen Testverfahren, ob der angeforderte Speicherbereich funktionsfähig ist. Der Memorytestmanager ist somit eine Zwischeninstanz zwischen einem Memorymanager der Chipkarte und dem Speicher.

Claims (15)

1. Verfahren zum Test eines programmierbaren Speichers, bei dem der Test mit zu speichernden Daten durchgeführt wird und zeitlich in einen Programmiervorgang des Speichers integriert ist und indem mindestens ein Prüfmuster basierend auf den zu speichernden Daten erstellt wird, so daß die zu speichernden Daten zumindest aus einem zuletzt erstellten Prüfmuster automatisch regeneriert werden können, wobei die folgenden Verfahrensschritte mindestens einmal durchlaufen werden:
  • - Erstellen des Prüfmusters
  • - Schreibzugriff auf den Speicher mit dem Prüfmuster,
  • - Lesezugriff auf den Speicher zur Erfassung eines i-ten Testergebnisses
  • - Vergleich des i-ten Testergebnisses mit dem Prüfmuster auf Übereinstimmung.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl der Iterationen eine Testtiefe (n) definiert, mit n < 1 und wobei n geradzahlig ist.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß im ersten Verfahrensschritt das erste Prüfmuster durch Invertieren der zu speichernden Daten erstellt wird und daß nach dem letzten Verfahrensdurchlauf die zu speichernden Daten durch Invertieren des letzten Prüfmusters regeneriert werden.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Iteration zweimal durchlaufen wird und daß zwei Prüfmuster verwendet werden, wobei das erste Prüfmuster das Komplement der zu speichernden Daten ist und wobei das zweite Prüfmuster die zu speichernden Daten sind.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl der Iterationen nicht geradzahlig ist (n = 1, 3, 5, 7) ist und daß im ersten Verfahrensschritt das erste Prüfmuster identisch aus den zu speichernden Daten erstellt wird und daß die weiteren Prüfmuster nach jedem Verfahrensdurchlauf jeweils invertiert werden.
6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Prüfmuster automatisch aufgrund der zu speichernden Daten erstellt wird.
7. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Speicher ein nichtflüchtiger Schreib-/Lesespeicher, insbesondere ein EEPROM, ist.
8. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Speicher ein Flash- oder ein FeRAM-Speicher ist.
9. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Test automatisch vor jedem Schreibzugriff auf den Speicher erfolgt.
10. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Prüfmuster durch mindestens eine Operation auf den zu speichernden Daten erstellt werden, so daß die zu speichernden Daten nach dem letzten Verfahrensdurchlauf automatisch aus dem letzten Prüfmuster regeneriert werden können.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Operation eine XOR-Verknüpfung ist.
12. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Verfahren bei Nichtübereinstimmung des i-ten Testergebnisses mit dem i-ten Prüfmuster mit einer Fehlermeldung abbricht.
13. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Prüfmuster von Iteration zu Iteration neu erstellt wird und nicht mit den anderen Prüfmustern übereinstimmen muß.
14. Verwendung des Verfahrens nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß das Verfahren vom Betriebsystem bei jedem Schreibzugriff auf den Speicher als Dauertest eingesetzt wird.
15. Verwendung des Verfahrens nach einem der Ansprüche 1 mit 13, dadurch gekennzeichnet, daß das Verfahren vor Inbetriebnahme des Speichers einmalig als Funktionstest verwendet wird.
DE2001101234 2001-01-11 2001-01-11 Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens Withdrawn DE10101234A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2001101234 DE10101234A1 (de) 2001-01-11 2001-01-11 Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens
PCT/EP2002/000110 WO2002063634A1 (de) 2001-01-11 2002-01-08 Verfahren zum test eines nichtflüchtigen speichers und verwendung eines solchen verfahrens
EP02710781A EP1352397A1 (de) 2001-01-11 2002-01-08 Verfahren zum test eines nichtflüchtigen speichers und verwendung eines solchen speichers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001101234 DE10101234A1 (de) 2001-01-11 2001-01-11 Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens

Publications (1)

Publication Number Publication Date
DE10101234A1 true DE10101234A1 (de) 2002-07-18

Family

ID=7670389

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001101234 Withdrawn DE10101234A1 (de) 2001-01-11 2001-01-11 Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens

Country Status (3)

Country Link
EP (1) EP1352397A1 (de)
DE (1) DE10101234A1 (de)
WO (1) WO2002063634A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014002369B4 (de) * 2014-02-18 2020-03-05 Giesecke+Devrient Mobile Security Gmbh Speicherprogrammierung in einem Sicherheitsmodul

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111161786B (zh) * 2019-12-28 2024-02-27 上海仪电智能电子有限公司 一种提高矢量图形深度利用效率的大容量存储器测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086413A (en) * 1989-07-27 1992-02-04 Nec Corporation Non-volatile semiconductor memory device having an improved testing mode of operation and method of forming checkerwise test pattern in memory cell array
DE19746695A1 (de) * 1996-10-22 1998-06-10 Advantest Corp Flashspeicher-Prüfsystem
DE19711478A1 (de) * 1997-03-19 1998-10-01 Siemens Ag Integrierte Schaltung und Verfahren zum Testen der integrierten Schaltung
US5991213A (en) * 1997-04-30 1999-11-23 Texas Instruments Incorporated Short disturb test algorithm for built-in self-test
US6009027A (en) * 1997-04-01 1999-12-28 Nec Corporation Test method and circuit for semiconductor memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2557838B2 (ja) * 1986-02-18 1996-11-27 株式会社東芝 Icカ−ド
JP2514954B2 (ja) * 1987-03-13 1996-07-10 三菱電機株式会社 Icカ−ド
GB2228113B (en) * 1989-02-10 1993-01-27 Plessey Co Plc Circuit arrangement for verifying data stored in a random access memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086413A (en) * 1989-07-27 1992-02-04 Nec Corporation Non-volatile semiconductor memory device having an improved testing mode of operation and method of forming checkerwise test pattern in memory cell array
DE19746695A1 (de) * 1996-10-22 1998-06-10 Advantest Corp Flashspeicher-Prüfsystem
DE19711478A1 (de) * 1997-03-19 1998-10-01 Siemens Ag Integrierte Schaltung und Verfahren zum Testen der integrierten Schaltung
US6009027A (en) * 1997-04-01 1999-12-28 Nec Corporation Test method and circuit for semiconductor memory
US5991213A (en) * 1997-04-30 1999-11-23 Texas Instruments Incorporated Short disturb test algorithm for built-in self-test

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014002369B4 (de) * 2014-02-18 2020-03-05 Giesecke+Devrient Mobile Security Gmbh Speicherprogrammierung in einem Sicherheitsmodul

Also Published As

Publication number Publication date
WO2002063634A1 (de) 2002-08-15
EP1352397A1 (de) 2003-10-15

Similar Documents

Publication Publication Date Title
DE3807997C2 (de)
EP0721644B1 (de) Verfahren zur vollständigen neuprogrammierung eines löschbaren, nichtflüchtigen speichers
DE69719301T2 (de) Flüchtiger Speicherchip mit nicht-flüchtigen Speicherplätzen zur Speicherung von Qualitätsinformation
EP1326256A2 (de) Verfahren und Anordnung zur Programmierung und Verifizierung von EEPROM-Pages sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE19930169B4 (de) Testeinrichtung und Verfahren zum Prüfen eines Speichers
DE10034878C2 (de) Verfahren zum Überprüfen eines Bauelementes und Bauelement mit Testspeicher
DE10292320T5 (de) Verfahren und Vorrichtung zum Analysieren und Reparieren von Speicher
DE19951048C2 (de) Verfahren zur Identifizierung einer integrierten Schaltung
DE102008013099A1 (de) Speichertestschaltung
DE10256487B4 (de) Integrierter Speicher und Verfahren zum Testen eines integrierten Speichers
EP2063432B1 (de) Verfahren zum Prüfen eines Arbeitsspeichers
DE10101234A1 (de) Verfahren zum Text eines nichtflüchtigen Speichers und Verwendung eines solchen Verfahrens
WO1991003028A1 (de) Verfahren zur kodierung und verfügbarkeit einer chipkarte
DE102005022019A1 (de) Sichere Verarbeitung von Daten
DE10134654A1 (de) Verfahren zur Fehleranalyse von Speichermodulen
DE10252059B3 (de) Verfahren zum Betreiben einer Speicheranordnung
DE69619939T2 (de) Verfahren und Vorrichtung zur Prüfung von Halbleiterspeichervorrichtungen
DE102010027287A1 (de) Verfahren und Vorrichtung zum prüfen eines Hauptspeichers eines Prozessors
DE10328238B4 (de) Verfahren zum Laden von Chipkarten mit Initialisierungs- und/oder Personalisierungsdaten
EP1248978A2 (de) Redundanter datenspeicher
DE10110272B4 (de) Halbleiterspeicher
EP0715313B1 (de) Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee