-
Die
Erfindung betrifft ein elektrisches System, das fehlerhafte Speicherbereiche
enthält,
sowie ein Verfahren zum Testen von fehlerhaften Speicherbereichen.
-
Die
Produktion von elektrischen Systemen mit internem Speicher führt zu niedrigen
Ausbeuten, wenn einzelne Zellen defekt sind. Je mehr Zellen der Speicher
enthält,
umso größer wird
der Ausbeuteverlust bei gleicher Ausfallwahrscheinlichkeit für Einzelzellen.
-
Eine
gängige
Maßnahme
zur Vermeidung von Ausbeuteverlusten ist das Vorsehen von redundanten
Speicherzellen, wie dies beispielsweise in der
US 5,457,655 beschrieben ist. Wenn
Zellen des Speichers defekt sind, wird dies in einem Produktionstest
festgestellt und die defekten Speicherzellen werden durch redundante
Speicherzellen ersetzt. Die Speicherzellen sind meist in Reihen
und Spalten angeordnet. Darum werden häufig ganze Spalten oder Reihen
ersetzt, wenn sie ein oder mehrere defekte Speicherzellen enthalten.
Für redundante
Zellen und die dazugehörigen
Ansteuerschaltungen ist allerdings Platz auf dem Bauteil, der den
Speicher enthält,
vorzusehen. Dies erhöht
die Kosten des Bauteils. In der deutschen Patentanmeldung
DE 10 2004 047 813.9 ist
beschrieben, dass defekte dynamische Speicherzellen auch durch redundante
Zellen, die als nicht-flüchtige
Speicherzellen ausgebildet sind, ersetzt werden können.
-
Die
EP 0 618 535 51 zeigt
ein EEPROM, dessen Zellen in einer Vielzahl von Sektoren unterteilt
sind. Dabei werden defekte Zellen in einem Sektor durch Ersatzzellen
von dem gleichen Sektor ersetzt. Falls die Anzahl von defekten Zellen
in einem Sektor eine vorbestimmte Anzahl überschreitet, wird der Sektor
mit den defekten Zellen durch einen Ersatzsektor ersetzt.
-
Gemäß der
US 6,356,498 werden Speicherbausteine
mit einer begrenzten Anzahl von Defekten als "partials", "Audio-RAM" oder "off spec devices" als teilweise funktionale
Bausteine verkauft.
-
Es
ist Aufgabe der Erfindung, eine Vorrichtung und ein Verfahren anzugeben,
mit dem die Ausbeuteverluste dieser elektrischen Systeme verringert werden
können,
ohne die Anzahl der redundanten Speicherzellen zu erhöhen.
-
Diese
Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen
ergeben sich aus den jeweiligen Unteransprüchen.
-
Gemäß der Erfindung
wird ein elektrisches System bereitgestellt, das entweder als ein
Halbleiterchip oder als mehrere Halbleiterchips ausgebildet ist.
Mehrere Halbleiterchips können
beispielsweise in einem Halbleiterchipstapel angeordnet sein.
-
Der
Halbleiterspeicher ist in Speicherbereiche unterteilt, die jeweils
Speicherzellen enthalten. Das elektrische System enthält weiterhin
ein Register, in dem eine Information gespeichert ist, die anzeigt,
ob Bereiche des Speichers nur funktionierende Zellen aufweisen und
ob Bereiche des Speichers sowohl funktionierende als auch eine Anzahl
von defekten Zellen aufweisen. Die Anzahl von defekten Speicherzellen
dabei ist durch eine Obergrenze begrenzt. Eine solche Obergrenze
könnte
beispielsweise bei einem 256 K Bit großen Speicherbereich 100 Zellen sein.
Wenn das Register anzeigt, dass ein Speicherbereich sowohl funktionierende
als auch eine Anzahl von defekten Zellen aufweist, so enthält er zwischen 1
und 100 defekte Zellen.
-
Als
funktionierende Zellen werden in diesem Zusammenhang diejenigen
Zellen angesehen, die entweder von vornherein keinen Fehler hatten,
oder die durch fehlerfreie redundante Zellen ersetzt wurden.
-
Aus
einem Register, das Informationen über eine Redundanz bereitstellt,
lässt sich
nur entnehmen, dass ein ersetzter Speicherbereich Fehler enthält. Ob und
wie viele funktionierende Zellen der ersetzte Speicherbereich enthält, lässt sich
aus der Redundanzinformation nicht erkennen.
-
Bei
dem erfindungsgemäßen System
wird dagegen durch das Register eine Information über die
Anzahl der defekten Zellen und somit auch über die Anzahl der funktionierenden
Zellen bereitgestellt.
-
Durch
das Vorsehen des Registers ist es möglich, auch solche Speicherbereiche,
die noch eine begrenzte Anzahl von defekten Zellen haben, weiter
zu verwenden. Dies ist besonders sinnvoll, wenn in einem elektrischen
System auch Daten verarbeitet werden, an die geringere Qualitätsanforderungen
gestellt werden als beispielsweise an Daten, die während einer
Startphase des Systems benötigt werden.
-
Zudem
ergibt sich der Vorteil, dass Speicherbereiche, für die die
Reparaturmöglichkeiten
durch Redundanz schon ausgeschöpft
sind, noch weiterverwendet werden können, wenn nach dem Ersetzen noch
eine begrenzte Anzahl defekter Zellen vorhanden ist.
-
Die
Ausbeute wird außerdem
dadurch erhöht,
dass ausgewählt
werden kann, welcher Speicherbereich für Daten mit niedrigen Qualitätsanforderungen
reserviert wird.
-
Die
Halbleiterchips des elektrischen Systems sind in einer Ausführungsform
der Erfindung gemeinsam in einem Gehäuse untergebracht. Dieses Gehäuse ist
beispielsweise ein Halblei terchipgehäuse, in dem mehrere Halbleiterchips
untergebracht sind. Hier ist besonders wichtig, dass auch nach der Montage
der Halbleiterchips im Gehäuse
das Gesamtsystem weiter verwendet werden kann, indem die Adresse
einer fehlerhaften Zelle gespeichert wird.
-
Die
Erfindung kann auch für
Halbleiterspeicher mit nicht-flüchtigen
Speicherzellen wie EPROM, Flash, Ferroelektrische oder MRAM Speicherzellen verwendet
werden. Es eignet sich aber besonders für dynamische Speicherzellen.
Dynamische Speicherzellen, auch DRAM Zellen genannt, werden in einem sehr
komplexen Massenfertigungsverfahren hergestellt, bei dem es praktisch
unumgänglich
ist, dass eine Vielzahl von Speicherzellen defekt ist. Auch nachdem
der Speicher mittels Redundanz repariert wurde, gibt es Fertigungsschritte,
durch die es zu weiteren Defekten in Zellen kommen kann. Dynamische
Speicher werden zunehmend mit anderen Elementen wie Controllern
oder Prozessoren auf einem Halbleiterbauteil, zum Beispiel für Mobilfunkanwendungen,
integriert. Einzelne Fehler im DRAMs können so zu einem Aussortieren
des Gesamtsystems führen.
-
Wenn
das elektrische System einen Controller enthält, der auf den Speicher und
das Register zugreift, kann der Controller die Registerinformation auslesen,
um unterschiedlichen Anwendungen Speicherbereiche mit unterschiedlichen
Qualitäten zuzuweisen.
Ein Controller kann beispielsweise ein Mikroprozessor, der auf die
Speicherbereiche zugreift, sein. Es kann aber auch eine elektrische Schaltung,
die zwischen mehreren Prozessoren und dem Speicher geschaltet ist,
um die Speicherzugriffe zu kontrollieren, sein. Eine solche elektrische
Schaltung ist beispielsweise ein Basisbandcontroller.
-
In
einer Ausführungsform
der Erfindung liest der Controller die Registerinformation beim
Booten aus und verwendet sie, um unterschiedlichen Anwendungen unterschiedliche
Speicherbereiche zuzuordnen. Unter Booten wird in diesem Zusammenhang
das Initialisieren des Systems, z. B. durch Anlegen einer Spannung
und mehrerer Initialisierungskommandos, verstanden. Der Controller
verwendet dann die Registerinformation, um im normalen Betrieb,
dass heißt
nach dem Booten, unterschiedlichen Anwendungen unterschiedliche
Bereiche des Speichers zuzuweisen.
-
Beispielsweise
werden Daten, die eine niedrigere Qualität benötigen, dort gespeichert, wo
der Speicher auch defekte Zellen aufweist, während Programmdaten nur in
Bereichen, die vollkommen fehlerfrei sind, verwendet werden. Als
Programmdaten werden in diesem Zusammenhang diejenigen Daten bezeichnet,
die für
den Ablauf eines Programms notwendig sind, beispielsweise Daten,
die die Abfolge von Befehlen darstellen. An diese Daten werden hohe
Anforderungen gestellt, da bei Auftreten von Fehlern die Funktion
des Programms nicht gewährleistet
werden kann.
-
Durch
das Auslesen der Registerinformation während des Bootens braucht der
Controller nur einmal die Registerinformation zu bewerten. Während des
normalen Betriebes steht die Registerinformation nun im Controller
schon zur Verfügung.
Es ergibt sich somit keine Verzögerung
durch das Auslesen der Registerinformation während des Betriebes. Es lässt sich
im normalen Betrieb eine dynamische Korrektur, die die Geschwindigkeit
des Systems verringern würde,
vermeiden.
-
Wenn
das erfindungsgemäße elektrische System
auf einem Halbleiterchip integriert ist, ergibt sich der Vorteil,
dass bei defektem Speicher und ansonsten fehlerfreien Modulen des
Halbleiterchips nicht notwendigerweise aussortiert werden muss, wenn
vereinzelt Fehler auftreten. Ein elektrisches System, das mehrere
Funktionen enthält
und auf einem Halbleiterchip integriert ist, wird auch als "System an Chip (SOC)" bezeichnet.
-
Wenn
für Bild-
und Sprachdaten derjenige Speicherbereich genutzt wird, in dem funktionierende und
eine begrenzte Anzahl defekter Speicherzellen vorhanden sind, und
für Programmdaten
derjenige Speicherbereich genutzt wird, der lediglich funktionierende
Speicherzellen aufweist, wird vorteilhafter Weise ausgenutzt, dass
an Bild- und Sprachdaten geringere Qualitätsanforderungen gestellt werden.
-
In
einer weiteren Ausführungsform
treten die Fehler des Bereichs, der funktionierende und eine Anzahl
defekter Speicherzeilen aufweist, als Einzelbitfehler auf. Einzelbitfehler
sind solche Fehler, die nur einmal pro Spalte und Reihe vorkommen.
Sie unterscheiden sich beispielsweise von Wortleitungsfehlern, bei
denen eine ganze Reihe ausfällt,
und Bitleitungsfehlern, bei denen eine Spalte oder Teile einer Spalte
ausfällt.
Einzelbitfehler werden von dem menschlichen Ohr oder dem menschlichen
Auge nicht wahrgenommen und sind somit für Bild- und Sprachdaten tolerierbar.
-
Wenn
es sich bei dem elektrischen System um ein Mobiltelefon oder um
einen PDA (Personal Digital Assistent) handelt, wird besonders ausgenutzt, dass
im Mobiltelefon und PDA – beispielsweise
im Gegensatz zu einem Betriebsspeicher eines Computers – eine Vielzahl
von Sprach- und Bilddaten verarbeitet werden und nur ein geringer
Teil der Daten eine hohe Speicherqualität erfordern. Für die Daten,
für die
eine geringere Speicherqualität
benötigt
wird, kann dann der billige Speicher gut verwendet werden.
-
Durch
Vorsehen eines weiteren Speicherbereichs, der nur funktionierende
Zellen aufweist, kann dieser vorteilhafter für Programme verwendet werden,
die während
des Bootens noch vor dem Auslesen der Registerinformation durchgeführt werden. Dabei
braucht dieser weitere Speicherbereich nicht von Anfang an nur funktionierende
Zellen aufzuweisen. Es reicht, wenn alle ursprünglich defekten Zellen in einem
Reparaturschritt durch funktionierende ersetzt wurden. Für die Ansteuerschaltung
dieses Speicherbereichs stellen sich nach dem Reparaturschritt alle
Zellen als funktionierend dar.
-
Das
elektrische System kann eine Selbsttesteinheit enthalten, die in
dem System eingebaut ist. Eine Selbsttesteinheit ist eine Steuerschaltung,
die mehrere Zustände
kennt und die das elektrische System ein Testprogramm oder einen
Teil eines Testprogramms ausführen
lässt.
-
Die
Selbsttesteinheit überprüft, ob Speicherbereiche
fehlerhaft sind. Wenn sie fehlerhaft sind, wird der Bereich, die
Anzahl und der Typ der Fehler gespeichert. Typ der Fehler könnten z.
B. Einzelbitfehler, Wortleitungsfehler oder Bitleitungsfehler sein. Die
Anzahl und der Typ der Fehler wird mit einer vorgegebenen Zahl und
einem vorgegebenen Typ verglichen. Das Ergebnis dieses Vergleiches
wird an einen Anschluss nach außen
und/oder an ein internes Register ausgegeben. Durch die Selbsttesteinheit kann
sich vorteilhafterweise das elektrische System selbständig testen
und die Registerinformation, welcher Speicherbereich defekte Zellen
aufweist, ausgeben. Ein kostspieliges Testen von extern wird somit vermieden.
-
Möglich ist
auch, dass die Selbsttesteinheit selbsttätig die Information, die angibt,
in welchem Speicherbereich sich funktionierende und eine begrenzte
Anzahl defekter Zellen befinden, in das Register schreibt. Dadurch
bedarf es keiner aufwändigen
Programmierung von außen.
-
In
einer Ausführungsform
der Erfindung liest der Controller die Registerinformation beim
Booten aus und verwendet sie, um unterschiedlichen Anwendungen unterschiedliche
Speicherbereiche zuzuordnen.
-
Durch
das Auslesen der Registerinformation während des Bootens braucht der
Controller nur einmal die Registerinformation zu bewerten. Während des
normalen Betriebes steht die Registerinformation nun im Controller
schon zur Verfügung.
Es ergibt sich somit keine Verzögerung
durch das Auslesen der Registerinformation während des Betriebes. Es lässt sich
im normalen Betrieb eine dynamische Korrektur, die die Geschwindigkeit
des Systems verringern würde,
vermeiden.
-
Wenn
die Registerinformation in einem nicht-flüchtigen Speicher geschrieben
wird, kann vorteilhafterweise die Information, welcher Bereich funktionierende
und defekte Speicherzellen aufweist, einmal während der Produktion in das
Register geschrieben werden und danach für die Lebensdauer des elektrischen
Systems zur Verfügung
stehen. Nicht-flüchtiger
Speicher kann beispielsweise durch Flash Speicher, elektrische Fuses
oder Laserfuses realisiert werden.
-
Ein
weiterer Aspekt der Erfindung betrifft einen Controller, der während des
Bootens ein Register ausliest und aufgrund der aus dem Register
ausgelesenen Information verschiedenen Anwendungen unterschiedliche
Speicherbereiche zuweist. Bestimmten Anwendungen werden Speicherbereiche zugewiesen,
die funktionierende und eine begrenzte Anzahl von defekten Speicherzellen
aufweisen, anderen Bereichen weist er Speicherbereiche zu, die nur
funktionierende Speicherzellen aufweisen.
-
Ein
weiterer Aspekt der Erfindung betrifft ein Verfahren zum Zuordnen
von Speicherbereichen in einem elektrischen System. In einem ersten
Schritt a) wird ein Speicherbereich getestet. In einem darauffolgenden
Schritt b) wird das Ergebnis aus Schritt a) ausgewertet. Falls der
Test ergibt, dass es keine defekten Zellen gibt, hat der Speicherbereich
den Test bestanden. Falls es allerdings defekte Zellen gibt, wird
mit einem Schritt d) fortgefahren, in dem überprüft wird, ob die Fehler vorgegebene
Fehlerdichten nicht überschreiten
und ob es sich um bestimmte Fehlertypen handelt. Unter Fehlerdichte
wird die Anzahl der Fehler pro Anzahl der Speicherzellen verstanden.
-
Falls
die Kriterien für
die Fehlerdichte und Fehlertypen nicht erfüllt sind, wird das elektrische System
in einem Schritt d) aussortiert, sonst fährt das System mit einem Schritt
e) des Verfahrens fort. Im diesem Schritt e) wird die Information,
ob der Speicherbereich Fehler enthält, in einem Register, das
sich im elektrischen System befindet, gespeichert.
-
Das
Verfahren ermöglicht
ein Testen eines Speicherbereichs, das als Ergebnis nicht nur zu
den beiden Ergebnissen "Ausschuss" oder "als gut getestet" führt, sondern
auch zu dem Ergebnis "als
mit einer begrenzten Fehlerrate" getestet,
kommen kann. Dadurch führen
Speicherbereiche, die die Qualität "mit einer begrenzten
Fehlerrate" nicht
zu einem Aussortieren des Speicherbereichs, was die Ausbeute erhöht.
-
Das
Verfahren kann dahingehend erweitert werden, dass es nach dem Schritt
d) und vor dem Schritt e) einen Schritt d1) enthält, in dem defekte Zellen repariert
werden. Falls nach dem Schritt d1) keine Fehler mehr vorhanden sind,
wird dies in Schritt e) als Information in dem Register gespeichert.
-
Wenn
für Bild-
und Sprachdaten derjenige Speicherbereich genutzt wird, in dem funktionierende und
eine begrenzte Anzahl defekter Speicherzellen vorhanden sind, und
für Programmdaten
derjenige Speicherbereich genutzt wird, der lediglich funktionierende
Speicherzellen aufweist, wird vorteilhafter Weise ausgenutzt, dass
an Bild- und Sprachdaten geringere Qualitätsanforderungen gestellt werden.
-
Speicherbereiche
können
mit unterschiedlichen Vorgaben von Fehlerdichten und Fehlertypen gespeichert
werden. Damit können
vorteilhafterweise Speicherbereiche auf unterschiedliche Qualitäten getestet
werden.
-
Die
Erfindung betrifft auch ein Verfahren zum Testen von Speicherbereichen
in einem elektrischen System mit mindestens einem ersten und einem zweiten
Speicherbereich. In einem ersten Schritt A) wird der erste Speicherbereich
als "gut" getestet, wird aussortiert,
oder ist als "mit
einer begrenzten Fehlerrate" getestet.
Nach Schritt A steht eine Registerinformation zur Verfügung, ob
sich in dem ersten Speicherbereich defekte Zellen befinden.
-
Falls
der Speicherbereich und somit das System im Schritt A) nicht aussortiert
wurde, wird in Schritt B), falls der erste Speicherbereich keine
Fehler enthält,
der zweite Speicherbereich derart getestet, dass der Speicherbereich
als Ergebnis entweder aussortiert wird, oder als "gut" oder als "mit einer begrenzten
Fehlerrate" getestet
ist. Anschließend
steht im Register die Information zur Verfügung, ob der zweite Speicherbereich
Fehler enthält.
-
Falls
dagegen im ersten Schritt A) in das Register geschrieben wurde,
dass der erste Speicherbereich eine begrenzte Anzahl von Fehlern
enthält, aber
nicht aussortiert wurde, wird der zweite Speicherbereich so getestet,
dass der zweite Speicherbereich aussortiert wird, falls er fehlerhafte Speicherzellen
enthält,
die nicht repariert werden können.
-
Vorteilhafterweise
wird dadurch sichergestellt, dass nur einer der beiden Speicherbereiche
defekte Zellen aufweist, während
der andere fehlerfrei ist. Dadurch wird die Ausbeute erhöht, denn
es kommt nur darauf an, dass einer der Bereiche fehlerfrei ist und
nicht welcher der Bereiche keine defekten Zellen enthält.
-
Das
Aussortieren eines Speicherbereichs führt zu einem Aussortieren des
gesamten Bauteils beziehungsweise Systems, in dem der Speicherbauteil
integriert ist. Dies wird auch als "FALL" des
Bauteils beziehungsweise des Systems bezeichnet. Falls ein Bauteil
oder System im Laufe des Verfahrens nicht aussortiert wurde, wird
er als "PASS"-Bauteil bzw. System
bezeichnet.
-
Die
Ergebnisse des erfindungsgemäßen Verfahrens
werden an einen externen Pin oder ein internes Register ausgegeben.
Wenn sie an einen externen Pin ausgegeben werden, werden die Ergebnisse
von einem externen Testgerät
ausgewertet.
-
Die
Erfindung ist in den Zeichnungen anhand von Ausführungsbeispielen näher veranschaulicht.
-
1 zeigt
schematisch ein elektrisches System mit Speicherbereichen, die unterschiedlichen Anwendungen
zugeordnet werden können.
-
2 zeigt
ein Verfahren zum Testen und Zuordnen von Speicherbereichen.
-
3 zeigt
ein Verfahren zum Verwenden von Speicherbereichen in einem System.
-
4 zeigt
ein weiteres Ausführungsbeispiel des
Verfahrens zum Verwenden von Speicherbereichen in einem System.
-
1 zeigt
schematisch ein System mit Speicherbereichen, die verschiedenen
Anwendungen zugeordnet werden. Das elektrische System 1 befindet
sich in einem Halbleitergehäuse 11,
zum Beispiel einem Flip-Chip Gehäuse.
In dieser Ausführungsform
sind die Funktionen des Systems in einem Halbleiterchip 10 integriert.
Dieser Halbleiterchip, für beispielsweise
ein Mobiltelefon, enthält
eine zentrale Prozessoreinheit 2, einen digitalen Signalprozessor 3,
ein analoges Modul 4, mehrere Speicherbereiche 5, 6 und 7 und
eine Selbsttesteinheit 8, die auch als "memory built in self test" oder MEIST bezeichnet wird.
Weiterhin enthält
er ein Register 9.
-
Die
genannten Komponenten zentrale Prozessoreinheit 2, digitale
Signalprozessoren 3, analoges Modul 4 und Selbsttestein heit 8 können jeweils auch
mehrfach in dem Halbleiterchip vorgesehen werden.
-
Die
zentrale Prozessoreinheit 2 und der digitale Signalprozessor 3 greifen
auf die Speicherbereiche 5, 6 und 7 zu.
Der Speicherbereich 5 enthält Repariermöglichkeiten,
mittels derer fehlerhafte Speicherzellen gegen redundante Speicherzellen
ausgetauscht werden. Der Speicherbereich 6 enthält keine redundanten
Speicherzellen, wogegen der Speicherbereich 7 redundante
Speicherzellen enthält;
die Dichte an redundanten Speicherzellen ist allerdings geringer
als die des Speicherbereichs 5.
-
Der
MBIST 8 dient dazu, in dem System einen Selbsttest durchzuführen, die
Speicherbereiche 5, 6 und 7 zu überprüfen und
das Ergebnis dieser Überprüfung auszugeben.
-
Wenn
beim Test des Speicherbereichs 5 durch den MBIST Fehler
erkannt werden, wird eine entsprechende Information ausgegeben,
so dass defekte Speicherzellen ersetzt werden. Im Speicherbereich 7 können ebenfalls
defekte Zellen ersetzt werden. Allerdings ist es auch möglich, das
System zu betreiben, wenn es noch eine begrenzte Anzahl von defekten
Zellen in einem der Speicherbereiche 6 oder 7 gibt.
-
Von
den beiden Speicherbereichen 6 und 7 wird derjenige
Bereich, der auch defekte Zellen aufweist, nur für Bild- und Sprachdaten verwendet.
Bei Bild- und Sprachdaten und auch bei Daten, die durch Demodulation
eines Übertragungssignals
erzeugt werden, können
einzelne Fehler auftreten, ohne dass dies ein Benutzer bemerkt.
Der andere Bereich muss allerdings funktionierende Zellen aufweisen.
Funktionierende Zellen sind solche, die von Anfang an keinen Defekt
aufweisen oder durch redundante Zellen ersetzt wurden.
-
Die
Information, in welchem Speicherbereich sich defekte und in welchem
sich nur funktionierende Zellen befinden, ist in dem Register 9 abgelegt.
Beispielsweise ist in ihm hinterlegt, dass sich in dem Speicherbereich 6 nur
funktionierende und im Speicherbereich 7 sowohl funktionierende
als auch eine begrenzte Anzahl von defekten Zellen befindet.
-
Beim
Booten, d. h. dem Hochfahren des Systems, wird die Information des
Registers 9 ausgelesen. Diese Informationen stehen der
zentralen Prozessoreinheit 2 und dem digitalen Signalprozessor 3 zur
Verfügung,
um Bild- und Sprachdaten, vorzugsweise in dem Speicherbereich zu
speichern, in dem sich auch eine begrenzte Anzahl von defekten Zellen befindet.
Programmdaten werden dagegen nur in Speicherbereichen 5, 6 oder 7 gespeichert,
wenn sie keine defekten Zellen aufweisen.
-
Wichtig
ist, dass der Speicher, der während der
Bootsequenz benutzt wird, sich im Speicherbereich 5 befindet,
in dem nur funktionierende Zellen sind. Ansonsten besteht die Gefahr,
dass das System nicht bootet.
-
Die
Information, welcher Speicherbereich eine begrenzte Anzahl von defekten
Zellen aufweist, liegt in dem Register 9 als Adressinformation,
zum Beispiel als das meist signifikante Bit der Adressen, vor.
-
Der
MEIST 8 kann dahingehend in seiner Funktion erweitert sein,
dass in ihm hinterlegt ist, wie groß die maximale Fehlerdichte
in einem Speicher für Sprach-
und Bilddaten ist. Bei der Überprüfung der Speicherbereiche 6 und 7 vergleicht er
die erlaubte Anzahl der Fehler mit der Anzahl der tatsächlichen Fehler.
Wenn die Anzahl der tatsächlichen
Fehler die Anzahl der erlaubten Fehler nicht überschreitet, hat der Chip
den Test bestanden. Es wird weiterhin noch die Information ausgegeben,
welcher Speicherbereich defekte Zellen enthält, damit das Register 9 entsprechend
programmiert werden kann. Das Register 9 enthält nicht-flüchtigen
Speicher, z. B. Flash-Speicherzellen, elektrisch programmierbare
Fuses oder Laserfuses.
-
2 zeigt
ein Verfahren zum Zuordnen von fehlerhaften Speicherbereichen in
einer Ausführungsform
der Erfindung. Es hat einen Anfangsschritt 201 und zwei
Endzustände "Pass" 218 und "Aussortieren" 219. In
einem ersten Schritt 201 wird der Speicherbereich, der
hier als "Booten" bezeichnet wird,
getestet. Der Bereich "Booten" ist derjenige Bereich,
der nach dem Reparieren keine defekten Zellen mehr aufweisen darf,
weil sonst das System Gefahr liefe, nicht richtig zu starten.
-
Falls
in einem Schritt 202 festgestellt wird, dass Fehler vorliegen, überprüft der MBIST
im Schritt 203, ob die vorhandene Redundanz ausreicht,
um die Zellen im Bootbereich vollständig zu reparieren. Falls dies
nicht der Fall ist, wird das Bauteil aussortiert, sonst wird der
Reparaturschritt 204 durchgeführt.
-
Anschließend wird
der Speicherbereich "Anwendung
I" in einem Schritt 205 getestet.
Auch falls im Schritt 202 keine Fehler detektiert wurden,
fährt das
Verfahren ebenso mit dem Schritt 205 fort.
-
Im
Schritt 205 wird der Speicherbereich "Anwendung I" getestet. Wird in dem Schritt 206 festgestellt,
dass Fehler vor liegen, wird in einem weiteren Schritt 207 überprüft, ob diese
Fehler einer erlaubten Signatur entsprechen. Erlaubte Signaturen
sind z. B. eine begrenzte Anzahl von Einzelbitfehlern oder eine Anzahl
von Fehlern, die repariert werden können. Falls die Fehler keiner
erlaubten Signatur entsprechen, wird das Bauteil in dem Schritt 207 aussortiert. Falls
sie jedoch einer erlaubten Signatur entsprechen, wird der Reparaturschritt 208 durchgeführt. Falls
dann immer noch Fehler, diesmal mit erlaubter Signatur, vorliegen,
wird im Schritt 209 diese Information in einem Register
gespeichert. Der Reparaturschritt 208 ist gestrichelt gezeichnet,
da er nur optional ist. In Speicherbereichen, die keine Reparaturmöglichkeit
aufweisen, wird er übersprungen.
-
Nach
dem Schritt 209 oder wenn die Frage nach Fehlern in Schritt 206 mit
nein beantwortet wurde, folgt der Schritt 210, in dem der
Speicherbereich "Anwendung
II" getestet wird.
Im anschließenden Schritt 211 wird überprüft, ob Fehler
im Speicherbereich "Anwendung
II" vorliegen. Falls
dies der Fall ist, wird in dem Schritt 212 überprüft, ob es
noch defekte Zellen im Speicherbereich 1 gibt. Falls ja,
wird im Schritt 213 überprüft, ob diese
reparierbar sind. Falls ja, wird der Speicherbereich "Anwendung II" im Schritt 214 repariert.
Anschließend
endet das Verfahren im Zustand "Pass" 218, der
besagt, dass das System den Test bestanden hat. Das Verfahren endet ebenfalls
im Zustand 218, wenn gemäß Schritt 211 kein
Fehler vorlag.
-
Gibt
es gemäß dem Schritt 212 keine
defekten Zellen mehr in dem Speicherbereich "Anwendung I", wird in einem Schritt 215 überprüft, ob die
Fehler im Speicherbereich Anwendung 2 einer erlaubten Fehlersignatur
entsprechen. Falls sie einer solchen Fehlersignatur nicht entsprechen,
erfolgt ein Aussortieren.
-
Falls
sie dagegen der Bootsignatur entsprechen, werden im Schritt 216 mögliche Reparaturen ausgeführt. Der
Schritt 216 ist wie der Schritt 208 optional und
kann übersprungen
werden.
-
Falls
es immer noch Fehler in dem Speicherbereich "Anwendung II" gibt, wird dies gemäß Schritt 217 in dem
Register gespeichert. Das Verfahren endet anschließend im
Endzustand 218. Das Bauteil ist nun fertig getestet, als
gut befunden und kann verwendet werden. Wenn kein Fehler beim Testen
des Speicherbereichs "Anwendung
II" vorliegt, wird
ebenfalls das Verfahren mit dem Schritt 218 beendet, in dem
das Bauteil als getestet und für
gut befunden gilt und verwendet werden kann.
-
3 zeigt
ein Verfahren zum Zuordnen von Speicherbereichen für verschiedene
Anwendungen. In einem ersten Schritt 303 wird der Speicher
getestet. Falls er in einem zweiten Schritt 302 als nicht
verwendbar beurteilt wird, wird er in dem Schritt 303 aussortiert.
-
Falls
er als verwendbar beurteilt wird, wird die Information, in welchen
Speicherbereichen sich Fehler befinden und welche Bereiche nur funktionierende
Speicherzellen aufweisen, gespeichert.
-
Nach
einem Booten des Systems 305 wird in einem Schritt 306 die
Information ausgelesen, in welchen Bereichen sich Fehler befinden.
Aufgrund dieser Information werden in einem Schritt 307 Speicherbereiche,
die fehlerhaft sind, für
Sprach- und Bilddaten verwendet, während für Programmdaten Speicherbereiche,
die nur funktionierende Speicherzellen aufweisen, genutzt werden.
Falls der Controller der Registerinformation entnimmt, dass beide Speicherbereiche
fehlerfrei sind, kann er die Speicherbereiche beliebig für Programmdaten
und Sprach- und Bilddaten verwenden.
-
4 zeigt
ein weiteres Ausführungsbeispiel des
erfindungsgemäßen Verfahrens
zum Verwenden von Speicherbereichen. In einem ersten Schritt 401 wird
der Speicher des Systems getestet. Falls in dem Schritt 402 festgestellt
wird, dass alle Speicherbereiche nach dem Testen nur funktionierende
Zellen aufweisen, wird im darauffolgenden Schritt 405 festgelegt,
dass ein default Addressstack verwendet wird. Dabei wird ein Register
für den
Adressstack entweder belassen oder mit einem vordefinierten Standardwert überschrieben.
-
Falls
im Schritt 402 festgestellt wurde, dass nicht alle Speicherbereiche
nur funktionierende Zellen aufweisen, wird im Schritt 403 entschieden,
ob ein Mapping der Adressbereiche auf dem Adressdeck möglich ist.
Beim Mapping werden bestimmte Adressen bestimmten Speicherbereichen
zugewiesen. Kann durch ein geeignetes Mapping der Speicher nicht
mehr verwendet werden, wird er im Schritt 404 aussortiert.
-
Ist
das Mapping dagegen möglich,
werden zunächst
die Informationen über
die fehlerhaften Bereiche im Schritt 406 gespeichert. Anschließend wird der
Adressstack modifiziert. Dabei wird bestimmten Bereichen, die eine
begrenzte Anzahl von defekten Zellen aufweisen, ein Adressbereich
zugewiesen, der beispielsweise nur von Sprachdaten verwendet wird.
-
Nach
dem Schritt 407 und dem Schritt 405 ist das System
hergestellt. Das Booten des Systems erfolgt in zwei Stufen.
-
In
einem ersten Schritt "Booten
I" wird ein Teil
des Systems initialisiert. Dadurch wird das Auslesen des Adressstacks
ermöglicht,
was im anschließenden
Schritt durchgeführt
wird. Aufgrund der Information des Adressstacks werden nun bestimmte Speicherbereiche
bestimmten Adressbereichen zugeordnet. Der Rest des Systems wird
im nun darauf folgenden Schritt "Booten
II" 410 initialisiert.
Anschließend
folgt der Systemstart 411.