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 VerfahrensInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-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".
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.
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111161786B (zh) * | 2019-12-28 | 2024-02-27 | 上海仪电智能电子有限公司 | 一种提高矢量图形深度利用效率的大容量存储器测试方法 |
Citations (5)
| 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)
| 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 |
-
2001
- 2001-01-11 DE DE2001101234 patent/DE10101234A1/de not_active Withdrawn
-
2002
- 2002-01-08 EP EP02710781A patent/EP1352397A1/de not_active Withdrawn
- 2002-01-08 WO PCT/EP2002/000110 patent/WO2002063634A1/de not_active Ceased
Patent Citations (5)
| 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)
| 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 |