DE102017011957A1 - Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind - Google Patents

Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind Download PDF

Info

Publication number
DE102017011957A1
DE102017011957A1 DE102017011957.0A DE102017011957A DE102017011957A1 DE 102017011957 A1 DE102017011957 A1 DE 102017011957A1 DE 102017011957 A DE102017011957 A DE 102017011957A DE 102017011957 A1 DE102017011957 A1 DE 102017011957A1
Authority
DE
Germany
Prior art keywords
page
data
update
buffer
power
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
DE102017011957.0A
Other languages
English (en)
Inventor
Vivek Joshi
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 Mobile Security GmbH
Original Assignee
Giesecke and Devrient Mobile Security 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 Mobile Security GmbH filed Critical Giesecke and Devrient Mobile Security GmbH
Priority to DE102017011957.0A priority Critical patent/DE102017011957A1/de
Publication of DE102017011957A1 publication Critical patent/DE102017011957A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Offenbart ist ein dynamischer Stromfehler oder ein unterbrechungssicherer Flash-Speicherpuffer zusammen mit seiner Methodik und seinen Einsatzregeln, die, wenn sie in ein eingebettetes System wie eine Smartcard integriert sind, eine zuverlässige Aktualisierung der Daten ermöglichen, ohne dass es zu Datenbeschädigungen oder Verlusten kommt, die sonst bei abrupten oder geplanten Stromanomalien auftreten.

Description

  • Bereich der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf den Bereich der Datenspeichersysteme, insbesondere auf Technologien, die zur Verbesserung der Zuverlässigkeit, Konsistenz und Sicherheit dieser Datenspeichersysteme, insbesondere der in eingebettete Systeme integrierten, nützlich sind, während gleichzeitig Aktualisierungsvorgänge durchgeführt werden, die dem Risiko ausgesetzt sind, Störereignissen wie Stromfehlern oder Unterbrechungen ausgesetzt zu sein.
  • Hintergrund der Erfindung und Beschreibung der verwandten Kunstwerke
  • Eingebettete Systeme mit elektrisch wiederbeschreibbaren Speichermedien zur Wartung und Speicherung von Daten werden heute in allen Lebensbereichen eingesetzt, einschließlich Haushalts-, Verbraucher-, Koch-, Industrie-, Automobil-, Medizin-, Handels- und Militäranwendungen. Stromfehler und / oder Ausfälle werden im Allgemeinen als tödlich angesehen, insbesondere wenn sie während kritischer Vorgänge wie Installation, Updates oder Betrieb der eingebetteten Systeme auftreten. Daher besteht die Notwendigkeit, die Systeme vor zufälligen oder vorsätzlichen (geplanten oder angegriffenen) Stromfehlern oder Unterbrechungen zu schützen, die zu einer Beschädigung der Daten und damit zu einer Beeinträchtigung / Blockierung der Funktion der eingebetteten Systeme führen.
  • Im Allgemeinen sind Embedded-Systeme mit einem oder mehreren Filterkondensatoren über ihre Stromversorgungsanschlüsse ausgestattet, um Fehlleistungen aufgrund abrupter Leistungsanomalien zu beheben. Die Funktion eines solchen Kondensators besteht darin, dem Mikrocontroller eine kurzzeitige Spannungsversorgung zur Verfügung zu stellen, die dadurch alle Daten vor dem Herunterfahren des Systems im nichtflüchtigen Speicher des Bords speichern kann. Smartcards bilden jedoch eine gesonderte Klasse, in der die Situation insofern ungünstig ist, als ihnen entweder Kondensatoren fehlen und sie somit anfällig für zufällige oder vorsätzliche (geplante oder Angriffe) Stromfehler oder Unterbrechungen sind ODER dass die elektrische Sicherung oder Stabilisierung, die durch das vorgesehene Kondensatorelement bereitgestellt wird, nur für eine begrenzte Dauer und damit unwirksam über den Lebenszyklus der Smartcard ist. Daher ist es in der Technik notwendig, über ein Mittel zum Schutz vor Datenverlust / Korruption bei abrupten Stromfehlern oder Ausfällen bei der Verwendung von Smart Cards zu verfügen.
  • Smartcards haben im Allgemeinen kein EEPROM, sind aber mit nichtflüchtigen Speichermedien ausgestattet, die typischerweise Flash-Speicher sind, um Betriebs-, Benutzerprofil-, kryptographische oder andere aussagekräftige Daten zu hosten, deren Integrität für eine reibungslose und bestimmungsgemäße Leistung der Smartcards entscheidend ist. Schreib- oder Aktualisierungsvorgänge sind hauptsächlich mit Fällen verbunden, in denen die vorgenannten Daten zuerst geschrieben und später während der Lebensdauer der Chipkarte aktualisiert werden. Um Daten zu installieren und insbesondere auch nur ein einzelnes Byte zu aktualisieren, muss die gesamte Flash-Seite, die für den Empfang dieser Daten vorgesehen ist, zuerst gelöscht und dann neu geschrieben werden. Üblicherweise muss eine Kopie der zu aktualisierenden Flash-Seite in den RAM-Speicher kopiert werden, wo die Daten bei Bedarf geändert werden, die Flash-Seite gelöscht wird und dann Daten auf die gelöschte Flash-Seite (d.h. den Speicherort) geschrieben werden. So kann der Vorgang in folgenden Schritten unterbrochen werden: 1) Kopieren Sie den Inhalt der Original-Flash-Seite in das RAM; 2) Aktualisieren Sie die Daten der gewünschten Position in der RAM-Kopie; 3) Löschen Sie die Flash-Seite; und 4) Schreiben Sie die Flash-Seite mit den aktualisierten Daten aus Schritt 2) oben.
  • Wie leicht zu erkennen ist, bedeuten störende Ereignisse wie Stromunterbrechungen während solcher Operationen zwischen Schritt 3) und Schritt 4) den sofortigen Verlust der RAM-Kopie und damit eine Beeinträchtigung oder den beabsichtigten Verlust der Funktion(en). Es wäre daher nützlich, über einige Mittel zu verfügen, um zuverlässige Aktualisierungsvorgänge im Flash-Speicher der Smartcards zu gewährleisten, die Stromfehlern oder Unterbrechungen ausgesetzt sein können.
  • Das On-Chip-Backup kritischer Daten auf dem verfügbaren freien Flash-Speicher als Rückfalloption zu den oben beschriebenen unerwünschten Umständen ist eine offensichtliche Gegenmaßnahme, die innerhalb der inhärenten Ressourcenbeschränkungen von Smartcards möglich ist. Das Konzept der Verwendung von On-Board-Flash-Speicher von Smart Cards für diesen Zweck ist jedoch einfacher gesagt als getan. Typischerweise ist das System in aktuellen Flash-Speichergeräten so programmiert, dass es an eine bestimmte Adresse schreibt, die auf einer Übersetzungstabelle von Referenzen basiert, d.h. eine 1:1-Beziehung zwischen der logischen oder Systemadresse und der physikalischen Adresse. Wenn eine bestimmte Adresse mit einer höheren Frequenz als andere Adressen verwendet wird, was für die Eins-zu-Eins-Beziehung charakteristisch ist, werden diese Stellen in der Folge häufigeren Löschprogrammzyklen unterzogen, wodurch die vordefinierte Lebensdauer für diese Adresse schnell erschöpft wird. Wie bereits erwähnt, kann jedoch das wiederholte Schreiben und Löschen von Flash-Speicherregistern nur so lange fortgesetzt werden, bis die vordefinierte Lebensdauer erreicht ist. Daher ist es notwendig, die Überbeanspruchung (und damit den Verschleißausgleich) bestimmter Sicherungsplätze im beteiligten Flash-Speicher zu erhalten und zu vermeiden, um so eine lange Lebensdauer der betreffenden Smartcard zu gewährleisten.
  • Zu beachten ist, dass die vorliegenden Protokolle zum Schreiben in Flash-Speichersysteme einen Puffer beinhalten, der ein Bereich des On-Board-Speichers ist, vorzugsweise RAM für seine höheren Zugriffsgeschwindigkeiten, der dazu bestimmt ist, Daten zwischenzuspeichern, während sie in den Flash-Speicher geladen werden. In dieser Linie sind Caching oder Buffering alternative Prozesse, die dazu bestimmt sind, temporär Daten zu hosten, die sich auf dem Weg zwischen anderen Medien befinden oder die vor dem Schreiben in den Flash-Speicher nicht sequentiell geändert werden können. Ungeachtet dessen adressieren diese Prozesse nicht die Anfälligkeit des Speichers für Datenverlust oder -beschädigung, wenn ein Schreibvorgang in der oben genannten Weise zufälligen oder vorsätzlichen (geplanten oder Angriffe) Stromunterbrechungen oder Fehlern ausgesetzt ist.
  • Während der Nutzen und die Popularität des Flash-Speichers auf viele Vorteile zurückgeführt wird, darunter die Möglichkeit, Daten ohne Strom, Kostengünstigkeit, Leichtigkeit und geringe Größe neu zu schreiben und zu speichern, ist es ebenso wichtig zu beachten, dass seine vordefinierte Zyklenfestigkeit, sein unidirektionaler Schreibbetrieb und seine Anfälligkeit für Datenkorruption unter Einwirkung von Stromunterbrechungen den sicheren konsistenten Einsatz in Anwendungsumgebungen stark einschränken, nicht ohne unterbrechbare Stromversorgung. Dementsprechend besteht die dringende Notwendigkeit, diese Einschränkungen zu überwinden und Flash-Speicherressourcen zu schonen, die mit hoher Frequenz geschrieben werden und daher aufgrund von Zyklusdauerbeschränkungen früher ausfallen werden.
  • Der Stand der Technik erwähnt einige verstreute Versuche, die zuvor genannten Überlegungen anzusprechen. So erwähnt beispielsweise US7761740 (ausgestellt an Spansion LLC) ein Verfahren für den stromsicheren Betrieb der Übersetzungstabelle im Flash-Speicher durch Entkopplung von Systemadressen von entsprechenden vordefinierten physikalischen Adressen. Adressmodifizierende Transaktionen werden in einem nichtflüchtigen Schreibpuffer aufgezeichnet, um die physische Adresse / Position der letzten Übersetzung mit dem aktuell übersetzten physischen Ort / der Adresse zu koppeln. Darüber hinaus kann der Schutz der Integritätsprüfung auf die Übersetzung und die geschriebenen Daten angewendet werden, um die Menge der Daten zu begrenzen, die im Falle eines Fehlers / Fehlers während des Schreibvorgangs verloren gehen können, was die Wiederherstellung von Schreibvorgängen ermöglicht, die aufgrund des Fehlers / Fehlers möglicherweise nicht vollständig abgeschlossen sind.
  • Eine weitere Referenz, US7003620 (ausgestellt an M-Systems Flash Disk Pioneers Ltd.), schlägt die Aufnahme eines Leistungssensors und einer Steuerung vor, die im Tandem arbeiten, typischerweise so, dass, wenn der Leistungssensor eine Unterbrechung der Stromversorgung der Speichereinheit erkennt, die Steuerung Daten selektiv aus dem flüchtigen Speicher in den Primärspeicher kopiert. Die Stromversorgung für diese Kopie erfolgt über eine sekundäre Stromquelle, wie beispielsweise eine Batterie oder einen Kondensator.
  • Generell sind die nach dem Stand der Technik angebotenen Lösungen einschließlich der Verwendung von Adressänderungen, dedizierten unterbrechungsfreien Backup-Stromversorgungen für Solid-State-Speichergeräte nicht ohne Einschränkungen, neben der Forderung nach zusätzlicher Hardware und Kosten, die unerwünscht sind, die Portabilität einschränken und zudem für Systeme wie Smartcards völlig ungeeignet sind.
  • Darüber hinaus muss die Wiederherstellung durch Wiederherstellung von verlorenen / beschädigten Daten in Fällen von Stromfehlern oder Unterbrechungen angegangen werden, um zu einer effektiven Lösung zu gelangen. Stromfehler oder -unterbrechungen führen zu einer Übergangszeit ohne Spannung und damit zum Zurücksetzen des Mikroprozessors bei Wiederaufnahme der Stromversorgung. Es muss einige Mittel geben, mit denen das System automatisch vorbereitet wird, um sich von der Stromanomalie zu erholen. Aus diesen und anderen Gründen, wie sie für den Leser heute offensichtlich sind, ist die Notwendigkeit eines zuverlässigen und effizienten Ansatzes, der sich ein für allemal an die vorstehend geäußerten Wünsche wendet und somit die Notwendigkeit einer Weiterentwicklung auf dem Gebiet dieser Erfindung verstärkt.
  • Ein besseres Verständnis der Objekte, Vorteile, Merkmale, Eigenschaften und Beziehungen des Verfahrens und des damit ausgestatteten Systems, wie hierin vorgeschlagen, ergibt sich aus den folgenden Offenlegungen, die eine illustrative, aber dennoch bevorzugte Ausführungsform der vorliegenden Erfindung darstellen.
  • Ziele der vorliegenden Erfindung
  • Die vorliegende Erfindung wird identifiziert, wenn es darum geht, zumindest alle größeren Kunstmängel, die im vorstehenden Abschnitt diskutiert werden, zu beheben, indem die unter den folgenden Zielen genannten effektiv angegangen werden:
  • Es ist ein vorrangiges Ziel, ein Verfahren zur Verfügung zu stellen, um Datenverluste oder - beschädigungen zu vermeiden, während Schreibvorgänge in den Flash-Speicher von eingebetteten Geräten, insbesondere Smartcards, durchgeführt werden, die unter Belastung durch Stromfehler oder Unterbrechungen stehen.
  • Es ist ein weiteres Ziel im Anschluss an das/die oben genannte(n) Ziel(e), dass das so bereitgestellte Verfahren in der Lage ist, eine lokale Verschlechterung durch Überbeanspruchung von Speicheradressen, die als routinemäßige Backup-Register bezeichnet werden, durch eine einfache Konfiguration und Verarbeitung zu vermeiden.
  • Es ist ein weiteres Ziel im Anschluss an das/die vorgenannte(n) Ziel(e), dass das so bereitgestellte Verfahren in der Lage ist, nach einem Stromfehler oder einer Unterbrechung automatisch wiederherzustellen.
  • Es ist ein weiteres Ziel, das über das/die vorgenannte(n) Ziel(e) hinausgeht, dass das so bereitgestellte Verfahren einen Stromfehler / einen sicheren Unterbrechungspuffer und damit einen Stromfehler / eine sichere Vorrichtung, sobald sie mit diesem ausgestattet ist, festlegt.
  • Es ist ein weiteres Ziel im Anschluss an das/die vorgenannte(n) Ziel(e), dass das so bereitgestellte Verfahren in der Lage ist, Änderungen an konventionell verfügbaren Smartcards mit Flash-Speicher als On-Board-Speichermedium ohne oder nur geringfügig durchzuführen.
  • Es ist ein weiteres Ziel, das über das/die vorgenannte(n) Ziel(e) hinausgeht, dass die Umsetzung der so bereitgestellten Methode keine Kenntnisse oder Fähigkeiten des für die Smart Card verantwortlichen Benutzers erfordert.
  • Diese und andere Ziele und deren Erreichung werden dem Leser anhand der nachfolgenden detaillierten Offenlegungen deutlich werden.
  • Figurenliste
  • Die vorliegende Erfindung wird hierin unter Bezugnahme auf die folgenden Zeichnungen erläutert, in denen:
    • ist ein Schaltplan zur Erläuterung des Byte-Arrays einer Flash-Seite im Pufferbereich zur Speicherung rollenspezifischer Daten gemäß den Angaben hierin.
    • ist ein Blockdiagramm zur Erläuterung der Standardkonfiguration des Power Error / Interrupt Safe Buffer gemäß den Angaben hierin.
    • ist ein Flussdiagramm zur Veranschaulichung der Logik zum Übermitteln der gewünschten Änderungen an dem Power Error / Interrupt Safe Buffer in einer Update-Instanz gemäß den Offenlegungen hierin.
    • ist ein Flussdiagramm zur Veranschaulichung der Logik für das Übertragen der gewünschten Änderungen an dem Power Error / Interrupt Safe Buffer in einer Update-Instanz gemäß den Offenlegungen hierin.
    • 5 ist ein Flussdiagramm zur Veranschaulichung der Logik zum Drehen der Speicherressourcen, die den Power Error / Interrupt Safe Buffer zwischen Aktualisierungsinstanzen gemäß den Offenlegungen hierin umfasst.
    • ist ein Flussdiagramm zur Veranschaulichung der Logik zum Löschen der Verwaltungsseite, ohne die Speicherressourcen zu drehen, die den Power Error / Interrupt Safe Buffer zwischen Aktualisierungsinstanzen gemäß den Offenlegungen hierin umfassen.
    • ist ein Flussdiagramm zur Veranschaulichung der Logik für die Suche nach der Admin-Seite für eine neue Update-Iteration gemäß den Offenlegungen hierin.
  • In den obigen Zeichnungen wurden, wo immer möglich, immer die gleichen Referenzen und Symbole verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Verweise auf bestimmte Beispiele und Implementierungen dienen der Veranschaulichung und sollen nicht dazu dienen, den Umfang der Erfindung oder die Ansprüche einzuschränken. Obwohl die Nummerierung eingeführt wurde, um den Bezug zu bestimmten Komponenten in Bezug auf solche Bezugnahmen, die in verschiedenen Abschnitten dieser Spezifikation vorgenommen werden, abzugrenzen, werden alle Komponenten nicht in jeder Zeichnung angezeigt oder nummeriert, um zu vermeiden, dass die vorgeschlagene Erfindung verschleiert wird.
  • Der Leser wird nun um Aufmerksamkeit für die detaillierte Beschreibung gebeten, die eine bevorzugte Ausführungsform der vorliegenden Erfindung und andere Möglichkeiten der Anwendung von Prinzipien der Erfindung beschreibt, ohne sich vom Wesen der hierin beanspruchten Erfindung zu trennen.
  • Zusammenfassung der vorliegenden Erfindung
  • Im Allgemeinen ist die aktuelle Offenbarung auf die Reservierung von Flash-Seiten für die Belegung durch statische Informationen gerichtet, die die auf einer eingebetteten Vorrichtung zu speichernden Daten umfassen. Um statische Informationen zu identifizieren, wird der laufende Code selbst als Referenz verwendet, und die Seiten, die nicht aktiv am Schreibvorgang beteiligt sind, sind dazu bestimmt, mit statischen Informationen belegt zu werden, die anderen Funktionen entsprechen. Durch die Einbeziehung, dass ungenutzte Flash-Seiten dynamisch zur Speicherung statischer Informationen verwendet werden und dass die Adressen bei Bedarf dynamisch gemacht werden, wird ein effektiver Verschleißausgleich des Flash-Speichers mit dem zusätzlichen Vorteil des Schutzes vor Korruption, die möglicherweise durch Fehler / Stromausfall entsteht, erreicht, während der Aktualisierungsvorgang auf den für diesen Zweck vorgesehenen Seiten durchgeführt wird.
  • Detaillierte Beschreibung
  • Eine detaillierte Beschreibung einer bevorzugten exemplarischen Ausführungsform, die denjenigen mit gewöhnlichen Fähigkeiten in der Kunst die Möglichkeit gibt, die Erfindungskonzepte zu erstellen und zu nutzen, wird folgen, wie hierin beschrieben. Es kann jedoch offensichtlich sein, dass der offenbarte Gegenstand ohne diese spezifischen Details praktiziert werden kann.
  • Bevor Sie die nachstehende detaillierte Beschreibung der Erfindung vornehmen, kann es vorteilhaft sein, Definitionen bestimmter Wörter oder Sätze, die in diesem Patentdokument verwendet werden, festzulegen: die Begriffe „include“ und „comprise“ sowie deren Derivate bedeuten eine uneingeschränkte Einbeziehung; der Begriff „or“ ist einschließlich, d.h. und/oder; die Phrasen „associated with“ und „associated therewith“ sowie deren Derivate können bedeuten, dass sie Folgendes beinhalten, beinhalten, beinhalten, verbinden, mit ihnen verbinden, enthalten, enthalten, enthalten, mit ihnen verbinden, koppeln, koppeln, mit ihnen kommunizieren, kooperieren, mit ihnen zusammenarbeiten, verschachteln, nebeneinander stellen, in der Nähe von ihnen sein, an sie gebunden sein oder mit ihnen gebunden sein, sie haben, eine Eigenschaft von oder dergleichen haben; und der Begriff „EEPROM“ bezieht sich auf elektrisch löschbare, programmierbare Nur-LeseSpeicher; der Begriff „Smart Card“ bezieht sich auf Smart Cards mit beliebigen Formfaktoren, die entweder eine kontaktbehaftete oder eine kontaktlose Betriebsart aufweisen.
  • Der allgemeine Zweck der vorliegenden Erfindung ist es, Behinderungen und Mängel bekannter Systeme, die den Stand der Technik umfassen, zu beurteilen und neue Systeme zu entwickeln, die alle verfügbaren Vorteile bekannter Kunst und keinen ihrer Nachteile berücksichtigen. Dementsprechend sind die hierin enthaltenen Offenlegungen auf ein Verfahren und ein damit ausgestattetes Flash-basiertes Speichersystem zum Schutz vor Datenkorruption bei Stromfehlern / Ausfällen gerichtet.
  • Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung ist das vorgenannte Verfahren dazu bestimmt, in einem herkömmlichen eingebetteten System, insbesondere einer Chipkarte, mit mindestens einer Direktzugriffsspeichereinheit, einer Schnittstellenschaltung, einer nichtflüchtigen Speichereinheit und einer mit dem Direktzugriffsspeicher, der Schnittstellenschaltung und dem nichtflüchtigen Speicher gekoppelten zentralen Verarbeitungseinheit implementiert zu werden.
  • Gemäß einem ersten erfinderischen Aspekt der vorliegenden Erfindung schlägt der Erfinder vor, in erster Linie das eingebettete System, insbesondere eine Smartcard, gemäß der vorstehenden Beschreibung einen stromfehler- / unterbrechungssicheren Puffer einzuführen, der ein Bereich ist, der innerhalb der nichtflüchtigen Speichereinheit, d.h. dem Flash-Speicher, des eingebetteten Systems bezeichnet wird.
  • Gemäß einem zweiten erfinderischen Aspekt der vorliegenden Erfindung schlägt der Erfinder ferner vor, rollenspezifische Schlüsseldatentypen und deren Strukturen innerhalb der zu aktualisierenden Daten über den in das eingebettete System integrierten Power Error / Interrupt Safe Buffer zu identifizieren. Die folgende Tabelle 1 gibt einen Überblick über diese rollenspezifischen Schlüsseldatentypen. Tabelle 1
    No. Datentyp Spezifikationen / Bedeutung Datenstru ktu r
    1 Reine Daten Daten, die tatsächlich am Ziel-Flash-Speicherort vorhanden sind, d.h. am sicheren Stromfehler / Unterbrechungspuffer. Daten_Container
    2 Admin-Daten und - Code Zusätzliche Informationen, die bei einem Stromfehler / einer Unterbrechung zu verarbeiten sind (dem Prozessor mitteilen). Dieser Datentyp verarbeitet sowohl die Admin-Informationen als auch die Code-Bytes. Admin_Seite
  • Obwohl beide Datenstrukturtypen der Tabelle 1 unterschiedlich sind, verweisen sie auf die gleichen Seiten des Power Error / Interrupt Safe Buffer, ein dritter Datenstrukturtyp (Union) mit der Struktur TEAR_SAFE_BUFFER_PG wird vorgeschlagen. Es ist zu verstehen, dass eine Seite mit einem Netzfehler / einem sicheren Unterbrechungspuffer, wenn sie für einen Netzfehler / einen sicheren Unterbrechungspufferbetrieb verwendet wird, dazu dient, den Netzfehler / einen sicheren Unterbrechungspuffer zu speichern. Andererseits, wenn es nicht für den sicheren Pufferbetrieb verwendet wird, dient es zum Halten der Codebytes einer anderen Funktion. Das bedeutet, dass dieselbe Entität oder Flash-Seite manchmal als unterschiedlicher Datentyp und manchmal als unterschiedlicher Datentyp betrachtet wird. Daher werden beide in Tabelle 1 dargestellten Datentypen zu einer Union zusammengeführt. Elemente dieser dritten Datenstruktur sind in Tabelle 2 dargestellt. Tabelle 2
    # Element Spezifikationen / Bedeutung
    1 CodeContainer Dieser Puffer enthält die Code-Bytes einiger Funktionen. Wenn eine Seite im Power error / interrupt safe buffer zur Zeit nicht verwendet wird, dann enthält diese Pufferseite die Codebytes einiger Funktionen.
    2 CodeContainerCrc Dieses Feld enthält die berechnete Hardware CRC (cyclic redundancy check) über den CodeContainer-Puffer. Dies zeigt die Integrität des Puffers sowie die Identifizierung des Puffers beim Aufruf der im Puffer vorhandenen Funktion an.
    3 OperationStartFlag Dieses Flag ist ein Hinweis auf den sicheren Betrieb mit Netzfehler / Unterbrechung. Wenn dieses Flag gesetzt ist, wird davon ausgegangen, dass der Inhalt des Power error / interrupt safe buffer gültig ist und in den Ziel-Flash-Bereich geschrieben werden sollte.
    4 BedienungFinishFlag Dieses Flag ist ein Hinweis auf das Ende des sicheren Betriebs von Power Error / Interrupt. Dieses Flag wird gesetzt, wenn der sichere Betrieb mit Netzfehler / Unterbrechung erfolgreich beendet wurde. Das heißt, sobald die Zieladressenseite mit den neuen Informationen aktualisiert wurde. Dadurch wird verhindert, dass sich das OperationStartFlag bei jedem Neustart des Prozessors auswirkt.
    5 Zieladresse Dies entspricht der Zieladresse der Seite, auf die der Inhalt des Power error / interrupt safe buffer geschrieben werden soll. Dies ist eine Reihe von Zeigern, denn basierend auf den Anforderungen könnte es notwendig sein, mehrere Seiten atomar zu aktualisieren.
  • Die zugehörige ist ein Schaltplan zur Erläuterung des Byte-Arrays einer Flash-Seite im Pufferbereich zur Speicherung rollenspezifischer Daten, es ist ersichtlich, dass Bytes aus Seriennummer (0 bis R) Hostcode, (C1) und (C2) die zyklische Redundanzprüfung der Code-Bytes speichern, (O1) ist ein OperationStartFlag, (O2) ist ein OperationFinishFlag, (S bis T) ist die Zieladresse für die erste Datenseite und (Q bis V) ist die Zieladresse für die zweite Datenseite.
  • ist ein Blockdiagramm zur Erläuterung der Standardkonfiguration des Power Error / Interrupt Safe Buffer. Es ist ersichtlich, dass der gesamte Puffer 8 Seiten (A bis H) hat, von denen zwei (F und G) als Datenseiten reserviert sind, fünf (A bis D) als Codepages reserviert sind und eine einzelne Seite (E) als Code-Cum-Admin-Seite reserviert ist. Dementsprechend sind die Seiten (F und G) für den Umgang mit reinen Daten bestimmt, während die Seite (E) für den Umgang mit Verwaltungsdaten und Code bestimmt ist. Die Anzahl der Seiten, die als Codepages, Datenseiten und die Größe des Power Error / Interrupt Safe Buffer verwendet werden, sind zum Zeitpunkt der Kompilierung mit herkömmlichen Makros konfigurierbar. Es versteht sich, dass die Gesamtzahl der Seiten, die Anzahl der reservierten Datenseiten, die Anzahl der Codepages, die Anzahl der Adminseiten, der reinen Datenseiten, der Admin- und Codepages nur zur Veranschaulichung dienen und dass diese Erfindung nicht begrenzt und/oder spezifisch für eine bestimmte Anzahl von Seiten ist und flexibel und nach Bedarf konfigurierbar ist.
  • Die Implementierung der hierin vorgeschlagenen Methodik ist in zwei Teile geteilt - erstens, umfassend das Einreichen der gewünschten Änderungen am Power Error / Interrupt Safe Buffer in einer Update-Instanz, und zweitens, umfassend das tatsächliche Eintreten der gewünschten Änderungen am Power Error / Interrupt Safe Buffer in einer Update-Instanz.
  • Die beiliegende ist ein Flussdiagramm zur Veranschaulichung der Logik zum Übermitteln der gewünschten Änderungen an dem Netzfehler / sicheren Unterbrechungspuffer in einer Aktualisierungsinstanz. Als Algorithmus implementiert, ist hier zu sehen, dass die Ausführung dieses Algorithmus bei jeder Instanz einer Aktualisierung auf dem eingebetteten Hostsystem ausgelöst wird. Wenn Sie beispielsweise einen Datensatz mit N-Bytes an der Position X' x Y' (wobei X eine bestimmte Position unter der Gesamtzahl der Speicherplätze von Y' ist) aktualisieren, werden die neuen gewünschten Inhalte der Seite X' x (‚Y‘ - 2*N) zuerst auf einer der Datenseiten im Power error / interrupt safe buffer erstellt. Zu diesem Zweck wird die Admin-Seite zuerst im Power error / interrupt safe buffer durchsucht. Dann wird eine der Datenseiten in dieser Admin-Seite zugewiesen, indem die Zieladresse in das TargetAddress-Array geschrieben wird. Auch wenn eine komplette Flash-Seite für die entsprechende Zielseite reserviert ist, werden nicht alle Änderungen sofort auf die Datenseite geschrieben. Diese geänderten Inhalte werden auf dem Ram-Puffer gehalten, bis der Ram-Puffer für einen anderen Flash-Vorgang wirklich benötigt wird. Bis dahin werden alle gewünschten Änderungen im RAM-Puffer gehalten.
  • Die beiliegende ist ein Flussdiagramm zur Veranschaulichung der Logik für das Übertragen der gewünschten Änderungen in den Power Error / Interrupt Safe Buffer in einer Update Instanz. Hier zeigt sich, dass Änderungen, die gemäß dem vorstehenden Absatz im Power error / interrupt safe buffer eingereicht werden, tatsächlich ausgeführt oder an ihren tatsächlichen Zielorten durchgeführt werden. Kurz gesagt, in diesem Unterprogramm werden alle Zielseiten gelöscht und ihre neuen Bilder von den entsprechenden Datenseiten aus dem Power error / interrupt safe buffer gedruckt. Zu diesem Zweck wird das OperationStartFlag der entsprechenden Admin-Seite gesetzt. Dies ist ein Hinweis darauf, dass alle Änderungen, die an den Power error / interrupt safe buffer übermittelt werden, gültig sind und auf den entsprechenden Zielseiten vorgenommen werden können. Zu beachten ist, dass dies der Punkt des Übergangs ist, um den herum der gesamte Aktualisierungsvorgang atomarer Natur zu sein scheint. Das heißt, wenn die Stromversorgung vor diesem Schritt unterbrochen wird, dann haben alle Zielseiten alle alten Daten. Wenn die Stromversorgung nach diesem Zeitpunkt unterbrochen wird, haben alle Zielseiten alle neuen Daten. Wenn dieses Flag gesetzt ist, dann ist das nächste Teil ähnlich demjenigen, das zum Zeitpunkt der Inbetriebnahme stattfinden soll. Obwohl die Admin-Seite also in diesem Algorithmus bereits gefunden wurde, wird sie erneut neu durchsucht. Nachdem die Admin-Seite mit dem OperationStartFlag-Flag auf TRUE und OperationFinishFlag als Jungfrau gesetzt wurde, bedeutet dies, dass dieser Vorgang abgeschlossen werden muss. Jetzt spielt es keine Rolle mehr, ob die Stromunterbrechung stattfindet oder nicht. Denn in beiden Fallen werden die gleichen weiteren Schritte durchgeführt. In diesen Schritten werden nun alle Datenseiten auf der Admin-Seite auf das gültige Feld der Zieladresse überprüft. Der Inhalt aller dieser Datenseiten wird nach dem Löschen direkt auf die Zielseiten gedruckt. Am Ende wird auch das Flag OperationFinishFlag gesetzt, so dass gleiche Änderungen nicht nach jeder Stromunterbrechung wiederholt ausgegeben werden.
  • Wie bereits erwähnt, muss der netzfehler- / unterbrechungssichere Puffer unter Berücksichtigung der nichtflüchtigen Speicherressourcen, die auf dem Embedded-Gerät verfügbar sind, verschleißarm eingestellt werden. Die begleitende ist ein Flussdiagramm zur Veranschaulichung der Logik zum Drehen der Speicherressourcen mit dem Leistungsfehler / sicheren Unterbrechungspuffer zwischen Aktualisierungsinstanzen. Hier ist zu sehen, dass am Ende eines Netzfehlers / einer Unterbrechung des sicheren Pufferbetriebs (oder eines sicheren Updates) die Seiten des Netzfehlers / der Unterbrechung des sicheren Puffers gedreht werden müssen, damit nachfolgende Datenseiten für die nächste Iteration des Betriebs des Netzfehlers/des sicheren Unterbrechungspuffers verwendet werden können. Zu diesem Zweck müssen die Seiten (A bis D in ), die den Code enthalten, verschoben werden. Dies ist riskant und daher muss der Betrieb vor einem möglichen Stromausfall geschützt sein. Andernfalls besteht immer die Möglichkeit, dass die Karte dauerhaft gesperrt wird. Um diesen Drehvorgang atomar zu machen (auf Einheitenebene), wird daher ein spezieller Algorithmus verwendet, der in 6 dargestellt ist. Folglich kann die Seite (E), die ursprünglich für die Verarbeitung von Verwaltungsdaten und -code vorgesehen war, diese Funktion nun nicht mehr beibehalten, und ihre nachfolgende Seite wird automatisch für die Verarbeitung von Verwaltungsdaten und -code im nächsten Betriebsfall des Power Error / Interrupt Safe Buffers bestimmt. Dementsprechend werden die verbleibenden Seiten auf ihre Folgeseiten verschoben, um so einen dynamischen Power Error / Interrupt Safe Buffer zu etablieren, der alle Speichereinheiten im Flash-Speicher des Embedded Systems verschleißgerecht nutzt.
  • Es ist jedoch vorhersehbar, dass Seiten (A bis D in ), die den Code enthalten, auch dazu dienen können, dass eine Funktion vom System aufgerufen wird. In diesem Fall ist das Verschieben des Codes nicht sicher, da beim Zurückkehren die entsprechende Seite möglicherweise geändert wurde. Um diese Drehoperation atomar (auf Einheitenebene) zu gestalten und gleichzeitig die Seite (E in ) beizubehalten, die ursprünglich für den Umgang mit Verwaltungsdaten und Code vorgesehen war, wird ein spezieller Algorithmus verwendet, der in dargestellt ist. Folglich bleibt die Seite (E in ), die ursprünglich für den Umgang mit Verwaltungsdaten und -code vorgesehen war, für den nächsten Betriebsvorgang des Power Error / Interrupt Safe Buffer erhalten. Dieser Algorithmus wurde entwickelt, um den Stromfehler / die sichere Pufferrotation zu verhindern und sicherzustellen, dass die gleiche Verwaltungsseite (E in ) mit den gleichen Daten, Seiten (F und G in ) für die nächste Iteration noch verfügbar ist. Zu beachten ist, dass dieser gesamte Vorgang selbst auch ein sicherer Stromfehler / Unterbrechung sein muss. So wird am Ende eines Stromfehlers / einer Unterbrechung des sicheren Pufferbetriebs die Codepage 0 auf die Datenseite 0 kopiert und als Admin-Seite behandelt, wenn an dieser Stelle eine Stromfehler auftreten. Die Codepage 5 wird dann auf die Datenseite 1 kopiert. Die Codepage (E) wird dann gelöscht und ihre Adresse als Zieladresse auf der aktuellen Admin-Seite festgelegt. Außerdem wird OperationStartFlag gesetzt, um sicherzustellen, dass bei Stromausfall die Codepage E wiederhergestellt wird. Als letzter Schritt wird die Admin-Seite wiederhergestellt. Die folgenden zwei Seiten werden dann wieder als Datenseiten behandelt.
  • Es kann jedoch auch vorhergesehen werden, dass die Admin-Seite nicht immer angenommen werden kann und zu Beginn jeder Iteration des Power Error / Interrupt Safe Buffers neu durchsucht werden muss, insbesondere wenn die Stromversorgung unterbrochen wird, bevor die Pufferrotation in der letzten Iteration durchgeführt wird, in diesem Fall ist es schwierig, die Admin-Seite zu finden. Dies liegt daran, dass das OperationStartFlag und das OperationFinishFlag der letzten Admin-Seite nicht jungfraulich sind, ebenso wie der Zustand jeder anderen Codepage. Kurz gesagt, es gibt keine Codepage, die ihre OperationStartFlag und OperationFinishFlag virgin hat. Die letzte Admin-Seite muss durchsucht werden. In solchen Fällen wird ein spezieller Algorithmus befolgt, der in dargestellt ist, wobei die Admin-Seite für jede neue Update-Iteration durchsucht wird.
  • Die vorliegende Erfindung wurde auf die Praxis reduziert. In unabhängigen Versuchen des jetzigen Erfinders wurde festgestellt, dass sich die Nutzung von Flash-Seiten zur Speicherung statischer Informationen von den drei konventionell beobachteten Seiten auf 9 erhöht, was zu einer einheitlichen Nutzung und damit zu einem Verschleißausgleich des nichtflüchtigen Speichers an Bord des Embedded-Systems führte.
  • Ausgehend von den vorstehenden Ausführungen wird eine leistungsfähige Technologie zur Sicherstellung zuverlässiger Schreibvorgänge in den Flash-Speicher bei Stromunterbrechungen mit verbesserter Funktionalität und Robustheit ausgestattet, als jeder seiner engsten Konkurrenten nach dem Stand der Technik.
  • Was oben beschrieben wurde, beinhaltet Beispiele für Aspekte des offenbarten Themas. Es ist natürlich nicht möglich, jede denkbare Kombination von Komponenten oder Methoden zur Beschreibung des offenbarten Gegenstands zu beschreiben, aber eine der üblichen Fähigkeiten in der Kunst kann erkennen, dass viele weitere Kombinationen und Permutationen des offenbarten Gegenstands möglich sind. Dementsprechend soll der offenbarte Gegenstand alle Änderungen, Modifikationen und Variationen umfassen, die in den Geist und Umfang der beigefügten Ansprüche fallen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7761740 [0009]
    • US 7003620 [0010]

Claims (12)

  1. Wir beanspruchen:
  2. Verfahren zum Sicherstellen zuverlässiger Datenaktualisierungen auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, umfassend: a) Auswahl eines eingebetteten Systems, insbesondere einer Chipkarte, mit mindestens einer nichtflüchtigen Speichereinheit und einer Direktzugriffsspeichereinheit, auf der die Datenaktualisierung durchgeführt werden soll; b) Bilden eines vordefinierten dynamischen Abschnitts innerhalb der nichtflüchtigen Speichereinheit durch Benennung, um als sicherer Puffer zu dienen; c) Benennen eines jeweiligen dynamischen Abschnitts innerhalb des sicheren Puffers zum Empfangen von jeweils einer Kopie der zu aktualisierenden Zieldaten, Verwaltungsdaten, die den Einzelheiten der laufenden Aktualisierung entsprechen, und anderen Datendateien als der laufenden Aktualisierung; d) Ausführen einer ersten Unterroutine zum Benachrichtigen der Direktzugriffsspeichereinheit über die in der laufenden Aktualisierung angeforderten Änderungen; e) Ausführen einer zweiten Unterroutine zum Übertragen der angeforderten Änderungen in der nichtflüchtigen Speichereinheit; und f) Bei Stromausfall während eines laufenden Updates, Auslösen der Ausführung eines dritten Unterprogramms zur Wiederherstellung beschädigter Daten.
  3. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die anfällig für Stromunterbrechungen sind, nach Anspruch 1, wobei die Daten aus einem oder mehreren Abschnitten bestehen, die mindestens einem unter Betriebsdaten, Benutzerprofildaten, kryptographischen Informationen entsprechen.
  4. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 1 beansprucht, wobei das eingebettete System mit mindestens einer nichtflüchtigen Speichereinheit und einer Direktzugriffsspeichereinheit eine Chipkarte ist, die ferner eine Schnittstellenschaltung und eine mit dem Direktzugriffsspeicher, der Schnittstellenschaltung und dem nichtflüchtigen Speicher gekoppelte Zentraleinheit umfasst.
  5. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 1 beansprucht, wobei die Angaben des sicheren Puffers, einschließlich seiner Startadresse, der Gesamtzahl der Seiten und weiterer Bezeichnungen für den Empfang jeder der zu aktualisierenden Daten, Verwaltungsdaten, die den Angaben der laufenden Aktualisierung entsprechen, und Datendateien, die der laufenden Aktualisierung entsprechen, zum Zeitpunkt der Zusammenstellung des Puffers vom Benutzer wählbar sind.
  6. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die anfällig für Stromunterbrechungen sind, nach Anspruch 1, wobei die Ausführung der ersten Unterroutine zum Benachrichtigen der Direktzugriffsspeichereinheit über die in der laufenden Aktualisierung angeforderten Änderungen dazu führt, dass eine Ereigniskaskade ausgelöst wird, die - a) Bei jedem Fall eines durchzuführenden Updates wird im Power Error / Interrupt Safe Buffer eine Admin-Seite mit OperationStartFlag und OperationFinishFlag als Jungfrau gesucht; b) Überprüfen, ob die ausgewählte Admin-Seite eine Datenseite für die durchzuführende Aktualisierung ist; c) Zuweisung einer Datenseite durch Speichern der Zielseitenadresse innerhalb des Power error / interrupt safe buffer für die durchzuführende Aktualisierung, wenn das Ergebnis der Überprüfung im vorherigen Schritt c) falsch ist; d) Übertragen von Änderungen von der Speichereinheit mit wahlfreiem Zugriff auf den Stromfehler / sicheren Puffer, wenn das Ergebnis der Überprüfung im vorherigen Schritt c) wahr ist; und e) Erfassen eines Bildes der Datenseite im Direktzugriffsspeicher gemäß der vorzunehmenden Aktualisierung.
  7. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die anfällig für Stromunterbrechungen nach Anspruch 1 sind, wobei die Ausführung der zweiten Unterroutine zum Übertragen der angeforderten Änderungen in der nichtflüchtigen Speichereinheit zum Auslösen einer Ereigniskaskade führt, die Folgendes beinhaltet a) Bei jedem Fall eines durchzuführenden Updates wird im Power Error / Interrupt Safe Buffer eine Admin-Seite mit OperationStartFlag und OperationFinishFlag als Jungfrau gesucht; b) Einstellung von OperationStartFlag der ausgewählten Admin-Seite; c) Suchen innerhalb des Power Error / Interrupt Safe Buffer einer Admin-Seite mit Operation StartFlag, das im vorherigen Schritt b) gesetzt wurde, und OperationFinishFlag als Jungfrau; und d) Drucken von Datenseiteninhalten auf eine gültige Seitenadresse, sobald alle Datenseiten gemäß der vorzunehmenden Aktualisierung gedruckt sind.
  8. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 1 beansprucht, wobei die Ausführung der dritten Unterroutine zur Wiederherstellung beschädigter Daten dazu führt, dass eine Ereigniskaskade ausgelöst wird, die Folgendes beinhaltet a) Validierung durch Suche im sicheren Puffer Power error / interrupt, ob eine Seite mit OperationStartFlag und OperationFinishFlag als Jungfrau existiert; b) wenn das Ergebnis der Validierung im vorangegangenen Schritt a) wahr ist, wird die als Admin-Seite ausgewählte Seite für die durchzuführende Aktualisierung eingestellt. c) wenn das Ergebnis der Validierung im vorangegangenen Schritt a) falsch ist, a. Setzt die Seitenzahl der letzten Seite im Puffer; b. Validierung, ob die zyklische Redundanzprüfung mit dem Page-Set übereinstimmt und alternativ - i. Überprüfen, ob die zyklische Redundanzprüfung mit der Seite übereinstimmt, die der Seite vorangestellt ist, wenn das Ergebnis der Überprüfung im vorhergehenden Schritt b. wahr ist; ii. Setzen des Seitenzählers auf Null, wenn entweder das Ergebnis der Validierung im vorhergehenden Schritt b. wahr ist oder das Ergebnis der Validierung im vorhergehenden Schritt i. falsch ist; d) Überprüfung, ob der Seitenzähler auf Null gesetzt ist und alternativ, a. Überprüfen, ob die zyklische Redundanzprüfung mit der Seite übereinstimmt, die der Seite vorangestellt ist, wenn das Ergebnis der Überprüfung im vorangegangenen Schritt d) falsch ist; und b. Rückgabe einer Fehlermeldung, wenn das Ergebnis der Validierung im vorhergehenden Schritt d) wahr ist.
  9. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 1 behauptet, ferner umfassend eine Unterroutine zum dynamischen Ändern des ausgewählten sicheren Puffers durch Drehen der Speicherressourcen, die den sicheren Puffer umfassen, pro Fall einer Datenaktualisierung, wobei die Unterroutine die Schritte umfasst von-. a) Identifizierung einer Seite, die zur Aktualisierung ausgewählt wurde; b) Löschen von Daten auf der ausgewählten Seite, die aktualisiert werden soll; c) Schreiben eines Updates auf die bei Schritt b) gelöschte Seite; d) Überprüfung, ob die bei Schritt b) gelöschte Seite in der letzten Aktualisierungsiteration verwendet wurde, und alternativ, a. Fortfahren mit der Aktualisierung, wenn das Ergebnis der Validierung bei Schritt d) falsch ist; und b. Wenn das Ergebnis der Validierung bei Schritt d) wahr ist, Fortfahren mit der laufenden Aktualisierung, nachdem die Anzahl der Datenseiten nach dem Setzen von OperationStartFlag und OperationFinishFlag erhöht wurde, um dadurch die Speicherressourcen, die den sicheren Puffer umfassen, dynamisch zu drehen.
  10. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 1 beansprucht, ferner umfassend eine Unterroutine zum Bewirken einer Dynamik pro Instanz der durchgeführten Datenaktualisierung, wobei die Unterroutine die Schritte umfasst - a) Ermöglichen, dass eine Aktualisierungsinstanz ohne Drehung der Speicherressourcen, die den sicheren Puffer umfassen, fortfahren kann; b) Identifizieren, ob die Aktualisierung einer Funktion im sicheren Puffer zugeordnet ist, und alternativ- a. wenn das Ergebnis der Identifizierung bei Schritt b) falsch ist, Fortfahren mit der laufenden Aktualisierung unter Drehung der den sicheren Puffer umfassenden Speicherressourcen; und b. wenn das Ergebnis der Identifizierung bei Schritt b) wahr ist, Fortfahren mit der laufenden Aktualisierung durch Löschen der Verwaltungsseite, ohne die Speicherressourcen, die den sicheren Puffer umfassen, zu drehen.
  11. Verfahren zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, wie in Anspruch 9 behauptet, wobei der Schritt des Fortfahrens mit der laufenden Aktualisierung durch Löschen der Verwaltungsseite ohne Drehen der Speicherressourcen, die den sicheren Puffer umfassen, umfasst: - a) Kopieren der Aktualisierung auf die erste Datenseite im sicheren Puffer; b) Löschen von Daten auf der Seite neben der zu aktualisierenden Seite; c) Kopieren der Admin-Seite auf die gelöschte Seite, die in Schritt b) nach der Einstellung von OperationStartFlag und OperationFinishFlag erstellt wurde; d) Einstellen der unter Schritt c) erstellten Admin-Seite als Zieladresse auf der ersten Datenseite; e) Setzen des OperationStartFlag der ersten Datenseite, um dadurch die bei Schritt c) erstellte Admin-Seite zu löschen; und f) Schreiben der nächsten Datenseite im Update in die Speicherressourcen, auf denen die Admin-Seite bei Schritt c) gelöscht wurde, nachdem das OperationFinishFlag der ersten Datenseite, die bei Schritt a) erstellt wurde, gesetzt wurde.
  12. System zum Sicherstellen zuverlässiger Software-Updates auf eingebetteten Systemen, die für Stromunterbrechungen anfällig sind, durch Implementieren des Verfahrens nach Anspruch 1, umfassend: a) Speichervorrichtung mit einer Vielzahl von physikalischen Datenblöcken; b) eine Flash-Speichersteuerung, die mindestens eines steuert: Adressieren, Programmieren, Löschen und Lesen des Flash-Speichers; c) eine Host-Schnittstelle zur Kommunikation mit einer Host-Vorrichtung; d) einen Puffer, der elektrisch zwischen der Host-Schnittstelle und der Flash-Steuerung verbunden ist; e) einen Prozessor, der Befehle von der Host-Vorrichtung über die Host-Schnittstelle empfängt und das mindestens eines koordiniert: Adressierung, Programmierung, Löschen und Lesen des Flash-Speichers durch die Flash-Speichersteuerung.
DE102017011957.0A 2017-12-22 2017-12-22 Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind Withdrawn DE102017011957A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017011957.0A DE102017011957A1 (de) 2017-12-22 2017-12-22 Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017011957.0A DE102017011957A1 (de) 2017-12-22 2017-12-22 Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind

Publications (1)

Publication Number Publication Date
DE102017011957A1 true DE102017011957A1 (de) 2019-05-16

Family

ID=66335132

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017011957.0A Withdrawn DE102017011957A1 (de) 2017-12-22 2017-12-22 Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind

Country Status (1)

Country Link
DE (1) DE102017011957A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003620B2 (en) 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US7761740B2 (en) 2007-12-13 2010-07-20 Spansion Llc Power safe translation table operation in flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003620B2 (en) 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US7761740B2 (en) 2007-12-13 2010-07-20 Spansion Llc Power safe translation table operation in flash memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kim, S. H. et al.: RRWL: Round Robin-Based Wear Leveling Using Block Erase Table for Flash Memory. In: IEICE Trans. Inf. & Syst., Vol. E100-D, May 2017. pp. 1124 - 1127 *
Walkes, D.: Update Embedded Device Software Securely Using These Strategies. In: Sensors Online am 15.6.2017<https://www.sensorsmag.com/embedded/update-embedded-device-software-securely-using-these-strategies>Erfasst in <web.archive.org> am 8.9.2017 *

Similar Documents

Publication Publication Date Title
DE102012208141B4 (de) Ausgleich nachlassender Funktionsfähigkeit
DE69123775T2 (de) Programmsteuersystem für eine tragbare Datenspeichervorrichtung
DE19600081C2 (de) Sicherung der Datenintegrität bei Datenträgerkarten
DE112009000612T5 (de) Multi-Betriebssystem-Booteinrichtung (OS), Multi-OS-Boot-Programm, Aufzeichnungsmedium und Multi-OS-Bootverfahren
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
WO2006120001A1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE102006009214B4 (de) Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers
DE102017104698A1 (de) Elektroniksteuervorrichtung und Informationsspeicherverfahren dafür
EP2652665B1 (de) Portabler datenträger mit fehlbedienungszähler
DE102017011957A1 (de) Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind
EP1308842B1 (de) Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
DE102017124805B4 (de) Speicheranordnung und verfahren zum zwischenspeichern von speicherinhalten
WO2002099809A2 (de) Verfahren und vorrichtung zum ausblenden von nicht funktionstüchtigen speicherzellen
EP1591864A2 (de) Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe
EP1569117A1 (de) Verfahren zum sicheren Berechnen einer Prüfsumme
EP1564754B1 (de) Verfahren und Vorrichtung zur Verwaltung von Daten in einem nichtflüchtigen Datenspeicher
EP1577734A2 (de) Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
DE10247794A1 (de) Verwalten eines Fehlversuchszählers in einem tragbaren Datenträger
EP2002446B1 (de) Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken
DE69935317T2 (de) Verfahren zum unteilbaren verändern einer vielzahl von nicht flüchtigen speicherplätzen einer chipkarte, insbesondere eine karte ohne kontakt
DE102007051061B4 (de) Nichtflüchtiges Halbleiterspeichersystem und entsprechendes Verfahren zum Durchführen einer Programmieroperation
DE102017010430B4 (de) Verfahren zum Bewahren von Flashspeicher durch sequenzielle Belegung durch Einmalcode-Module
DE112021005473T5 (de) System mit anwachsendem geschütztem speicherbereich und löschschut
DE102010035314B4 (de) Verfahren zum Verwalten eines Fehlbedienungszählers in einem tragbaren Datenträger

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R230 Request for early publication
R120 Application withdrawn or ip right abandoned