DE10392249T5 - Softwareverbesserung - Google Patents

Softwareverbesserung Download PDF

Info

Publication number
DE10392249T5
DE10392249T5 DE10392249T DE10392249T DE10392249T5 DE 10392249 T5 DE10392249 T5 DE 10392249T5 DE 10392249 T DE10392249 T DE 10392249T DE 10392249 T DE10392249 T DE 10392249T DE 10392249 T5 DE10392249 T5 DE 10392249T5
Authority
DE
Germany
Prior art keywords
memory
address
instruction
processor
correction
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
DE10392249T
Other languages
English (en)
Inventor
Dyson Aldbourne Wilkes
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE10392249T5 publication Critical patent/DE10392249T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]

Abstract

Prozessorsteuersystem zur Verwendung mit einem Prozessor, wobei das Steuersystem folgendes umfasst:
Mittel zum Empfangen einer Adressensequenz, wobei jede Adresse eine erste und eine zweite Anzahl an Adressbits umfasst;
einen ersten Speicher zum Enthalten eines Satzes an Anweisungen für den Prozessor bei Speicherstellen in dem ersten Speicher entsprechend jeweiligen der Adressen;
einen zweiten Speicher, der geeignet ist, Korrekturanweisungen für den Prozessor an Speicherplätzen in dem zweiten Speicher zu enthalten, die jeweiligen Kombinationen der ersten Anzahl an Adressbits entsprechen;
Mittel zum Bestimmen, wann jedes der zweiten Anzahl an Adressbits in einer empfangenen Adresse gleich Null ist, und um in jenem Fall zu bestimmen, ob der zweite Speicher eine Korrekturanweisung an der Speicherstelle entsprechend der ersten Anzahl an Adressbits in der empfangenen Adresse enthält; und
Mittel zum Bereitstellen einer Ausgangsanweisung als Antwort auf jede empfangene Adresse, wobei die Ausgangsanweisung eine Korrekturanweisung ist, die aus dem zweiten Speicher in...

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die Erfindung betrifft ein Prozessorsteuersystem und insbesondere ein System zum Einspeisen von Steueranweisungen in einen Prozessor, das die Korrektur jener Anweisungen, falls erforderlich, ermöglicht.
  • HINTERGRUND DER ERFINDUNG
  • Viele elektronische Vorrichtungen umfassen eingebaute Prozessoren, welche auf der Basis von Programmdaten, die ihnen zugeführt werden, arbeiten. Die Vorrichtungen umfassen deshalb Mittel zum Speichern der Programmdaten. Typischerweise ist das Mittel zum Speichern der Programmdaten ein Lesespeicher (ROM), da dieser typischerweise die effizienteste Art der verfügbaren Speicherung darstellt.
  • Jedoch weist das Speichern der Programmdaten ausschließlich auf einem ROM den Nachteil auf, dass das System insofern inflexibel wird, als es nicht möglich ist, die gespeicherten Programmdaten zu aktualisieren oder zu korrigieren.
  • In der US 5,592,613 ist ein Mikroprozessor mit einem Programmspeicher und einer Programmkorrekturschaltung offenbart. Die Programmkorrekturschaltung umfasst einen elektrisch programmierbaren nicht flüchtigen Speicher zum Speichern von Adressdaten und Korrekturprogrammdaten. Die gespeicherten Adressdaten bezeichnen die Adressen im Programmspeicher, an denen die gespeicherten Programmdaten durch die Korrekturprogrammdaten ersetzt werden müssen.
  • Jedoch weist dies den Nachteil auf, dass jede dem System zugeführte Adresse mit den im nicht flüchtigen Speicher gespeicherten Adressdaten verglichen werden muss, was die Geschwindigkeit des Prozessors nachteilig beeinflussen kann.
  • In der US 4,751,703 ist ein Verfahren zum Speichern des Steuercodes für einen Prozessor unter Einsatz eines ROM sowie eines Lese-/Schreibspeichers (in Form eines Direktzugriffsspeichers RAM), der einen Codebereich und einen Reparaturbereich aufweist. So ist der Steuercode praktisch in eine Anzahl an Blocks aufgeteilt, wobei die erste Anweisung jedes Blocks im Codebereich des RAM gespeichert ist und die nachfolgenden Anweisungen jedes Blocks im ROM gespeichert sind. Wenn bestimmt wird, dass ein Block des Codes einen Fehler enthält, kann die erste Anweisung jenes Blocks, die im RAM gespeichert ist, durch eine Nebenanweisung ersetzt werden, was bewirkt, dass nachfolgende Anweisungen aus dem Reparaturbereich des RAM auszulesen sind. Die Korrektur kann dann im RAM gespeichert werden, wobei die Endanweisung der Korrektur die Steuerung zum vorherigen Steuercode zurückführt.
  • Jedoch weist dieses System den Nachteil auf, dass das RAM einmal in jedem Block des Codes adressiert sein muss, was relativ ineffizient ist, wenn keine Korrekturen auszuführen sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird ein Prozessorsteuersystem angegeben, gemäß dem durch den Einsatz von relativ wenig zusätzlicher Hardware die Effizienz des Systems verbessert werden kann.
  • Insbesondere kann der ursprüngliche Code vollständig in einem ersten Speicher gespeichert sein, bspw. in einem ROM, wobei Korrekturanweisungen in einem zweiten Speicher, bspw. einem RAM, gespeichert sind und auf den zweiten Speicher nur zugegriffen wird, wenn eine Korrekturanweisung existiert. Empfangene Speicheradressen werden in eine erste Anzahl an signifikantesten Bits und eine zweite Anzahl an am wenigsten signifikanten Bits aufgeteilt. Nur wenn die zweite Anzahl an am wenigsten signifikanten Bits sämtlich gleich Null ist und eine Korrekturanweisung mit einer Adresse im RAM gespeichert ist, welche gleich den signifikantesten Bits ist, wird die Korrekturanweisung ausgelesen und dem Prozessor zugeführt.
  • Dies weist den Vorteil auf, dass der zusätzliche Energieverbrauch niedrig ist, wenn keine Korrekturanweisung gespeichert ist.
  • Dies hat den weiteren Vorteil, dass das System keine unbegründeten Adressvergleiche erfordert, um die Stellen, für die Korrekturanweisungen existieren, zu bestimmen, und deshalb wird die Prozessorgeschwindigkeit nicht nachteilig beeinflusst.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Blockdiagramm eines erfindungsgemäßen Systems.
  • 2 ist ein schematisches Blockdiagramm eines Teils des Systems von 1.
  • 3 ist ein schematisches Blockdiagramm eines alternativen erfindungsgemäßen Systems.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 ist ein schematisches Blockdiagramm, das ein System gemäß einem Aspekt der vorliegenden Erfindung zeigt. Das System empfängt Eingänge auf einer Eingangsleitung 10 und liefert Ausgangsanweisungen an einen Prozessor (nicht gezeigt) auf einer Ausgangsleitung 12. Die Eingänge haben die Form von N-Bit-Adressen A(N-1:0), wobei die Notation A(N-1:0) bedeutet, dass das (N-1)te Bit das signifikanteste Bit der Adresse ist und dass das 0te Bit das am wenigsten signifikante Bit der Adresse ist.
  • Der Programmcode für den Prozessor wird in einem ROM 14 gespeichert, das 2N Plätze aufweist, entsprechen den 2N möglichen N-Bit-Adressen. Wenn eine Adresse A(N-1:0) auf der Eingangsleitung 10 empfangen wird, wird die am entsprechenden Speicherplatz gespeicherte Anweisung ausgelesen und einem Multiplexer 16 zugeführt, welcher für gewöhnlich das Signal vom ROM 14 an den Prozessor weiterleitet.
  • Somit kann, wenn keine Korrekturen bezüglich des ursprünglichen Programmcodes vorliegen, kontinuierlich aus dem ROM 14 ausgelesen werden. Das System umfasst jedoch auch Mittel zum Speichern und Auslesen von Korrekturanweisungen. Insbesondere umfasst das System auch einen RAM 18 und eine Flags/setzende und decodierende Schaltung 20. Das RAM 18 weist 2N-M Plätze auf, welche durch die (N-M) signifikantesten Bits der auf der Eingangsleitung 10 empfangenen Adressen adressiert werden.
  • Die Flags/setzende und decodierende Schaltung 20 empfängt auch die N-Bit-Adressen, welche auf der Eingangsleitung 10 empfangen werden. Wie in Bezug auf 2 detailierter beschrieben wird, wird ein Flag jedesmal dann gesetzt, wenn eine Korrekturanweisung gespeichert ist. Die Flags/setzende und decodierende Schaltung 20 testet, ob die M am wenigsten signifikanten Bits einer Eingangsadresse gleich Null sind, und testet auch, ob ein Flag für die (N-M) signifikantesten Bits jener Adresse gesetzt worden ist. Wenn dies der Fall ist, wird der RAM 18 aktiviert, die im RAM gespeicherte Anweisung wird ausgelesen und der Multiplexer 16 wird angesteuert, um das Signal vom RAM 18 auf die Ausgangsleitung 12 weiterzugeben.
  • 2 zeigt detaillierter die Form der Flagssetzenden und decodierenden Schaltung 20. Die empfangene Adresse A(N-1:0) wird in ihre M am wenigsten signifikanten Bits A(M-1:0) und ihre N-M signifikantesten Bits A(N-1:M) aufgeteilt. Die am wenigsten signifikanten Bits werden einem Block 22 zugeführt, wo bestimmt wird, ob alle Bits gleich Null sind. Wenn dies der Fall ist, wird eine binäre 1 einem AND-Gate 24 zugeführt. Im anderen Fall wird eine binäre 0 dem AND-Gate 24 zugeführt. Die signifikantesten Bits werden einem Decodierungsblock 26 zugeführt, welcher die N-M-Bit-Eingänge in 2N-M-Ausgänge zerlegt. Wenn eine Korrekturanweisung im RAM 18 an einer speziellen N-M-Bit-Adresse gespeichert ist, wird in einem entsprechenden Signalspeicher 28 ein Flag gesetzt. Alle Flags werden einem jeweiligen AND-Gate 30 zugeführt, welches auch einen Eingang vom Decodierungsblock 26 empfängt.
  • Somit liefert, wenn der Decodierungsblock 26 bestimmt, dass ein spezifisches der AND-Gates 30 durch die N-M-Bit-Adresse ausgewählt wurde, und ein Flag in dem entsprechen den Signalspeicher 28 gesetzt worden ist, das jeweilige AND-Gate 30 einen Ausgang an einen Block 32. Der Block 32 liefert ein Ausgangssignal, wenn er ein Signal von einem der AND-Gates 30 empfängt, und ein Ausgangssignal aus dem Block 32 wird einem zweiten Eingang des AND-Gates 24 zugeführt.
  • Somit liefert, wenn ein Bitschalter gesetzt ist, das AND-Gate 24 ein Ausgangssignal, wenn die M am wenigsten signifikanten Bits der Adresse A(M-1:0) alle gleich Null sind, und die N-M signifikantesten Bits der Adresse A(N-1:M) entsprechen dem Signalspeicher 28, in dem das Flag gesetzt wurde.
  • In jenem Fall wird das Ausgangssignal aus dem AND-Gate 24 dem RAM 18 zugeführt, um ihn zu aktivieren, und auch dem Multiplexer 16, so dass die aus dem RAM 18 ausgelesene Anweisung dem Prozessor zugeführt wird.
  • Es ist anzumerken, dass der Multiplexer 16 vom System weggelassen werden kann, wenn sowohl der RAM als auch der ROM eine hohe Ausgangsimpedanz aufweisen, wenn sie nicht aktiviert sind. Ein Aktivierungssignal für den RAM 18 entspräche einem nicht aktivierenden Signal für den ROM 14, und folglich gewährleistet eine hohe Ausgangsimpedanz des ROM 14, dass tatsächlich der Ausgang aus dem RAM 18 dem Prozessor zugeführt wird. Wenn umgekehrt der ROM 14 aktiviert wird, gewährleistet die hohe Ausgangsimpedanz des RAM 18, dass der Ausgang aus dem ROM 14 dem Prozessor zugeführt wird.
  • Wie zuvor erwähnt, wird ein Flag gesetzt, wenn eine Korrekturanweisung in RAM 18 gespeichert ist. Bspw. kann die Decodierungsschaltung 26 auch dazu verwendet werden, Flags zu setzen.
  • Wie bislang beschrieben, ist die Decodierungsschaltung 26 zu allen Zeiten aktiv, wobei jedoch offensichtlich ist, dass ein Ausgang aus dem AND-Gate 24 nur zu einem geringen Anteil der Zeit geliefert wird. Deshalb kann zum Zwecke der Energieersparnis die Decodierungsschaltung 26 nur dann aktiviert werden, wenn die Vergleichschaltung 22 einen Ausgang erzeugt, welcher anzeigt, dass die M am wenigsten signifikanten Bits der Adresse alle gleich Null sind. Dies gewährleistet, dass der Decodierungsschaltungsblock 26 nur zu denjenigen Zeiten aktiviert ist, wenn der RAM aktiviert werden kann.
  • Die im RAM 18 gespeicherten Anweisungen können vorteilhafterweise unbedingte Sprunganweisungen sein, welche einen Speicherplatz spezifizieren, an dem ein Ersetzungscode gespeichert werden kann. Bspw. kann der Speicherplatz in einem separaten RAM oder nicht flüchtigen Speicher (bspw. einem Flash-Speicher) liegen, welcher bereits zu einem anderen Zweck auf der Vorrichtung vorhanden sein kann.
  • 3 zeigt eine alternative Ausführungsform der Erfindung, bei der Bezugszeichen, die gleich den Bezugszeichen von 1 sind, ähnliche Komponenten anzeigen.
  • In diesem Fall werden die M am wenigsten signifikanten Bits (M-1:0) der empfangenen Adresse (N-1:0) einem Vergleichsblock 22 zugeführt, der einen Ausgang liefert, wenn alle diese Bits gleich Null sind. Der Ausgang wird einem AND-Gate 36 zugeführt. Um zu testen, ob eine Korrekturanweisung im RAM 18 gespeichert wurde, wird ein Ausgang aus dem RAM 18 selbst untersucht. Insbesondere wenn die Korrekturanweisungen die Form unbedingter Sprunganweisungen annehmen, wie vorstehend beschrieben, ist es möglich, sich auf die Tatsache zu verlassen, dass ein spezifisches Bit der im RAM 18 gespeicherten Daten (hier als "B" identifiziert) den Binärwert 1 dann und nur dann annimmt, wenn eine Korrekturanweisung an jener Adresse im RAM 18 gespeichert ist.
  • Das Bit "B" wird auf der Leitung 38 dem zweiten Eingang des AND-Gates 36 zugeführt, welches deshalb den Multiplexer 16 steuert, um den Ausgang aus dem RAM 18 dem Prozessor nur dann zuzuführen, wenn die M am wenigsten signifikanten Bits der Adresse A(M-1:0) alle gleich Null sind, und die N-M signifikantesten Bits der Adresse A(N-1:M) definieren eine Adresse im RAM 18, an der eine Korrekturanweisung gespeichert wurde.
  • In einer weiteren Modifikation des Systems, die in 3 gezeigt ist, kann der RAM 18 ein Feld haben, das um ein Bit größer ist, als es erforderlich ist, um die Korrekturanweisungen zu speichern. In jenem Fall kann das zusätzliche Bit als das Bit "B" verwendet und dafür eingesetzt werden, ein Flagbit zu speichern, wenn eine Korrekturanweisung in jener Adresse gespeichert ist.
  • Deshalb wird ein System beschrieben, das ein Ersetzen des Programmcodes ermöglicht, ohne dass ein großer nachteiliger Effekt auf die Leistung des Prozessors oder den Rest der Vorrichtung ausgeübt wird.
  • ZUSAMMENFASSUNG
  • Ein Prozessorsteuersystem ermöglicht das Ersetzen eines gespeicherten Programmcodes. Der ursprüngliche Code kann vollständig in einem ersten Speicher gespeichert sein, bspw. einem ROM, wobei Korrekturanweisungen in einem zweiten Speicher, bspw. einem RAM, gespeichert sind, und auf den zweiten Speicher nur zugegriffen wird, wenn eine Korrekturanweisung existiert. Empfangene Speicheradressen werden in eine erste Anzahl an signifikantesten Bits und eine zweite Anzahl an am wenigsten signifikanten Bits aufgeteilt. Nur wenn alle der zweiten Anzahl an am wenigsten signifikanten Bits gleich Null sind und eine Korrekturanweisung im RAM mit einer Adresse gespeichert ist, welche gleich den signifikantesten Bits ist, wird die Korrekturanweisung ausgelesen und dem Prozessor zugeführt. Hierdurch wird relativ wenig zusätzliche Hardware benötigt und die Effizienz des Systems wird verbessert.

Claims (8)

  1. Prozessorsteuersystem zur Verwendung mit einem Prozessor, wobei das Steuersystem folgendes umfasst: Mittel zum Empfangen einer Adressensequenz, wobei jede Adresse eine erste und eine zweite Anzahl an Adressbits umfasst; einen ersten Speicher zum Enthalten eines Satzes an Anweisungen für den Prozessor bei Speicherstellen in dem ersten Speicher entsprechend jeweiligen der Adressen; einen zweiten Speicher, der geeignet ist, Korrekturanweisungen für den Prozessor an Speicherplätzen in dem zweiten Speicher zu enthalten, die jeweiligen Kombinationen der ersten Anzahl an Adressbits entsprechen; Mittel zum Bestimmen, wann jedes der zweiten Anzahl an Adressbits in einer empfangenen Adresse gleich Null ist, und um in jenem Fall zu bestimmen, ob der zweite Speicher eine Korrekturanweisung an der Speicherstelle entsprechend der ersten Anzahl an Adressbits in der empfangenen Adresse enthält; und Mittel zum Bereitstellen einer Ausgangsanweisung als Antwort auf jede empfangene Adresse, wobei die Ausgangsanweisung eine Korrekturanweisung ist, die aus dem zweiten Speicher in dem Fall ausgelesen wird, dass alle Adressbits der zweiten Anzahl in einer empfangenen Adresse gleich Null sind, und bestimmt wird, dass der zweite Speicher eine Korrekturanweisung am Speicherplatz entsprechend der ersten Anzahl an Adressbits in der empfangenen Adresse enthält, und die Ausgangsanweisung ansonsten aus dem ersten Speicher ausgelesen wird.
  2. Prozessorsteuersystem nach Anspruch 1, weiter aufweisend: einen Multiplexer, der so angeschlossen ist, dass er Anweisungen, die aus dem ersten Speicher und dem zweiten Speicher ausgelesen werden, empfängt, und der weiter so angeschlossen ist, dass er ein Steuersignal empfängt, und der dafür ausgelegt ist, die Anweisung entweder aus dem ersten Speicher oder dem zweiten Speicher in Abhängigkeit vom Steuersignal auszugeben.
  3. Prozessorsteuersystem nach Anspruch 2, weiter aufweisend: Mittel zum Erzeugen eines Steuersignals für den Multiplexer, wobei das Steuersignal so ist, dass die Ausgangsanweisung die Anweisung ist, die aus dem zweiten Speicher ausgelesen wird, wenn alle Adressbits der zweiten Anzahl in einer empfangenen Adresse gleich Null sind, und bestimmt wird, dass der zweite Speicher eine Korrekturanweisung am Speicherplatz entsprechend der ersten Anzahl an Adressbits der empfangenen Adresse enthält, und die Ausgangsanweisung ansonsten die Anweisung ist, die aus dem ersten Speicher ausgelesen wird.
  4. Prozessorsteuersystem nach Anspruch 1, weiter aufweisend: einen dritten Speicher zum Speichern eines Ersetzungscodes, wobei der zweite Speicher zum Enthalten von Korrekturanweisungen in der Form von unbedingten Sprunganweisungen, die Adressen im dritten Speicher spezifizieren, geeignet ist.
  5. Prozessorsteuersystem nach Anspruch 1, weiter aufweisend: Mittel zum Setzen eines Flags, wenn eine Korrekturanweisung im zweiten Speicher gespeichert wird; und wobei die Mittel zum Bestimmen, ob der zweite Speicher eine Korrekturanweisung am Speicherplatz entsprechend der ersten Anzahl an Adressbits in der empfangenen Adresse enthält, Mittel zum Testen, ob das jeweilige Flag gesetzt wurde, aufweisen.
  6. Prozessorsteuersystem nach Anspruch 5, wobei die Mittel zum Testen, ob das jeweilige Flag gesetzt worden ist, deaktiviert sind, bis bestimmt ist, dass alle Adressbits der zweiten Anzahl in einer empfangenen Adresse gleich Null sind.
  7. Prozessorsteuersystem nach Anspruch 5, wobei der zweite Speicher dafür geeignet ist, an jedem Speicherplatz eine Korrekturanweisung und ein Flag-Bit zu enthalten, welches nur dann gesetzt wird, wenn der Speicherplatz eine Korrekturanweisung enthält, und wobei die Mittel zum Testen, ob das jeweilige Flag gesetzt worden ist, Mittel zum Testen des Werts des Flag-Bits enthalten.
  8. Prozessorsteuersystem nach Anspruch 1, wobei die Mittel zum Bestimmen, ob der zweite Speicher eine Korrekturanweisung am Speicherplatz entsprechend der ersten Anzahl an Adressbits in der empfangenen Adresse enthält, Mittel zum Testen des Werts eines spezifischen Bits an dem Speicherplatz umfassen, wobei das spezifische Bit einen speziellen Wert in allen Fällen einnimmt, wenn der zweite Speicher eine Korrekturanweisung am Speicherplatz enthält.
DE10392249T 2002-01-28 2003-01-27 Softwareverbesserung Withdrawn DE10392249T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0201889.3 2002-01-28
GB0201889A GB2384582A (en) 2002-01-28 2002-01-28 Software correction
PCT/EP2003/000806 WO2003065222A2 (en) 2002-01-28 2003-01-27 Software correction

Publications (1)

Publication Number Publication Date
DE10392249T5 true DE10392249T5 (de) 2005-07-28

Family

ID=9929862

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10392249T Withdrawn DE10392249T5 (de) 2002-01-28 2003-01-27 Softwareverbesserung

Country Status (6)

Country Link
US (1) US7516372B2 (de)
CN (1) CN100357907C (de)
DE (1) DE10392249T5 (de)
GB (1) GB2384582A (de)
TW (1) TWI241486B (de)
WO (1) WO2003065222A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058880B2 (en) * 2013-02-04 2015-06-16 National Tsing Hua University Unequal bit reliability information storage method for communication and storage systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4675646A (en) * 1983-09-29 1987-06-23 Tandem Computers Incorporated RAM based multiple breakpoint logic
US4751703A (en) 1986-09-16 1988-06-14 International Business Machines Corp. Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor
US5357627A (en) * 1989-03-28 1994-10-18 Olympus Optical Co., Ltd. Microcomputer having a program correction function
JPH0333927A (ja) * 1989-06-29 1991-02-14 Canon Inc 電子機器
WO1992008231A1 (en) * 1990-11-02 1992-05-14 Transcomputer, Inc. Rom patch device
US5408672A (en) * 1991-11-18 1995-04-18 Matsushita Electric Industrial Co. Microcomputer having ROM to store a program and RAM to store changes to the program
US5870601A (en) * 1995-08-29 1999-02-09 International Business Machines Corporation Data processing apparatus and method for correcting faulty microcode in a ROM device via a flag microinstruction in a RAM device including corrected microcode
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US6141740A (en) * 1997-03-03 2000-10-31 Advanced Micro Devices, Inc. Apparatus and method for microcode patching for generating a next address
US5757690A (en) * 1997-04-23 1998-05-26 Exponential Technology, Inc. Embedded ROM with RAM valid bits for fetching ROM-code updates from external memory
US6158018A (en) * 1997-11-25 2000-12-05 Philips Semiconductor, Inc. Integrated circuit including patching circuitry to bypass portions of an internally flawed read only memory and a method therefore
US6260157B1 (en) * 1999-02-16 2001-07-10 Kurt Schurecht Patching of a read only memory
US6804772B2 (en) * 2000-06-12 2004-10-12 Broadcom Corporation Dynamic field patchable microarchitecture

Also Published As

Publication number Publication date
CN100357907C (zh) 2007-12-26
US7516372B2 (en) 2009-04-07
WO2003065222A3 (en) 2004-03-18
GB0201889D0 (en) 2002-03-13
TWI241486B (en) 2005-10-11
CN1643501A (zh) 2005-07-20
GB2384582A (en) 2003-07-30
WO2003065222A2 (en) 2003-08-07
US20050240823A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
DE19782077B4 (de) Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes
DE2646162C3 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2813128A1 (de) Mikroprogrammspeicher
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE2725396C3 (de)
DE2611892A1 (de) Mikroprogramm-steuersystem
DE3128729A1 (de) Halbleiter-speichersystem
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
EP0400179A1 (de) Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern
DE2926322A1 (de) Speicher-subsystem
DE2450468C2 (de) Fehlerkorrekturanordnung für einen Speicher
DE3412677A1 (de) Halbleiterspeichervorrichtung mit selbstkorrekturschaltung
DE2513262C3 (de) Digitale Codeumwandlungsanordnung
DE10231956A1 (de) Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems
DE2554502B2 (de)
EP1588380B1 (de) Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens
DE2117581B2 (de) Einrichtung zur Adressenprüfung
DE2906789A1 (de) Speicherpruefsystem
EP0347970B1 (de) Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens
DE10392249T5 (de) Softwareverbesserung
DE112007003117T5 (de) Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus
DE60226276T2 (de) Verfahren und anordnung zum modifizieren des inhalts eines korrekturidentifikationsregisters
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10392249

Country of ref document: DE

Date of ref document: 20050728

Kind code of ref document: P

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110802