DE102014208609A1 - Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit - Google Patents

Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit Download PDF

Info

Publication number
DE102014208609A1
DE102014208609A1 DE102014208609.4A DE102014208609A DE102014208609A1 DE 102014208609 A1 DE102014208609 A1 DE 102014208609A1 DE 102014208609 A DE102014208609 A DE 102014208609A DE 102014208609 A1 DE102014208609 A1 DE 102014208609A1
Authority
DE
Germany
Prior art keywords
memory
area
memory area
unit
contents
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.)
Pending
Application number
DE102014208609.4A
Other languages
English (en)
Inventor
Axel Aue
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014208609.4A priority Critical patent/DE102014208609A1/de
Priority to KR1020150063998A priority patent/KR102278398B1/ko
Priority to US14/707,374 priority patent/US10013343B2/en
Publication of DE102014208609A1 publication Critical patent/DE102014208609A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering

Abstract

Die Erfindung betrifft ein Verfahren zum Durchführen eines Refreshs eines ersten Speicherbereichs (121) einer nichtflüchtigen Speichereinheit (120), wobei wenigstens ein weiterer Speicherbereich (140, 150) der nichtflüchtigen Speichereinheit (120) mit einem Speicherinhalt aus dem ersten Speicherbereich (121) überschrieben wird (201), der wenigstens eine weitere Speicherbereich (140, 150) in einem Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der erste Speicherbereich in dem Speicheradressbereich für den Speicherinhalt ausgeblendet wird, der erste Speicherbereich (121) mit dem Speicherinhalt aus dem wenigstens einen weiteren Speicherbereich (140, 150) überschrieben wird und der erste Speicherbereich (121) in dem Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der wenigstens eine weitere Speicherbereich (140, 150) in dem Speicheradressbereich (130) für den Speicherinhalt ausgeblendet wird.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Durchführen eines Refreshs eines ersten Speicherbereichs einer nichtflüchtigen Speichereinheit.
  • Stand der Technik
  • Nichtflüchtige Speichereinheiten (non volatile random access memory, NVRAM) werden verwendet, um dauerhaft Daten abzuspeichern. Nichtflüchtige Speichereinheiten behalten den Speicherinhalt zwar auch ohne Stromversorgung, jedoch verflüchtigt er sich in Abhängigkeit vom Typ (Flash Memory, Magnetoresistive Random Access Memory (MRAM), Phase Change Memory (PCM), Resistive Random Access Memory (RRAM) oder Ferroelectric Random Access Memory (FRAM)) dennoch früher oder später. Auch nichtflüchtige Speichereinheiten müssen daher hin und wieder aufgefrischt ("refresh") werden.
  • Daher werden bei nichtflüchtigen Speichereinheiten in bestimmten Zeitabständen sogenannte Refreshs, also Speicherauffrischung, des darin hinterlegten Speicherinhalts durchgeführt, um den Speicherinhalt zu erhalten. Dabei wird der Speicherinhalt des Speicherbereichs eingelesen und der entsprechende Speicherbereich wird mit diesem eingelesenen Speicherinhalt wieder überschrieben.
  • Eine Verwendung derartiger nichtflüchtiger Speichereinheiten in eingebetteten Systemen, beispielsweise in einem Kraftfahrzeug, erweist sich insbesondere aufgrund dieser Refreshs als problematisch.
  • Während ein Refresh eines Speicherbereichs durchgeführt wird, kann zumeist nicht regulär auf diesen Speicherbereich zugegriffen werden. Während eines Refreshs ist somit zumeist weder Lesen noch Schreiben des entsprechenden Speicherbereichs im Zuge eines regulären Betriebs der nichtflüchtigen Speichereinheit möglich. In einem eingebetteten System ist es daher nötig, eine Anwendung, welche während des regulären Betriebs auf einen entsprechenden Speicherbereich zugreift, zu stoppen, um einen Refresh dieses Speicherbereichs durchzuführen.
  • Dieser Umstand kann in einem eingebetteten System zu hohen Laufzeiteinbußen führen. Wenn während des Refreshs nicht auf bestimmte Speicherinhalte zugegriffen werden kann, kann dies beispielsweise in einem eingebetteten System eines Kraftfahrzeugs dazu führen, dass eine von dem Motor des Kraftfahrzeugs erzeugte Leistung stark verringert wird oder dass sich der Motor nicht weiter drehen kann.
  • Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um einen Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit in einer Recheneinheit durchzuführen, ohne dass es zu erhöhten Laufzeiteinbußen der Recheneinheit kommt.
  • Offenbarung der Erfindung
  • Erfindungsgemäß wird ein Verfahren zum Durchführen eines Refreshs eines ersten Speicherbereichs einer nichtflüchtigen Speichereinheit mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die nichtflüchtige Speichereinheit umfasst zumindest zwei Speicherbereiche, die mit unterschiedlichen Speicherinhalten beschrieben werden können. Von einem ersten dieser Speicherbereiche soll ein Refresh durchgeführt werden, also eine Speicherauffrischung des in diesem ersten Speicherbereich hinterlegten Speicherinhalts.
  • Um auf die einzelnen Speicherbereiche zugreifen zu können, ist in der Speichereinheit ein Speicheradressbereich vorgesehen. In diesem Speicheradressbereich sind unterschiedliche Speicheradressen hinterlegt. Diese unterschiedlichen Speicheradressen adressieren bzw. verweisen auf Speicherbereiche der Speichereinheit. Mittels dieser Speicheradressen kann somit auf Speicherbereiche der Speichereinheit zugegriffen werden. Der Speicheradressbereich kann beispielsweise als ein Register oder eine Look-up Tabelle ausgebildet sein.
  • Insbesondere wird mittels des Speicheradressbereichs auf bestimmte Speicherinhalte zugegriffen. Die Speicheradressen des Speicheradressbereichs verweisen jeweils auf denjenigen Speicherbereich, in welchem ein bestimmter Speicherinhalt hinterlegt ist. In dem Speicheradressbereich wird somit für einen bestimmten Speicherinhalt der zugehörige Speicherbereich eingeblendet, in welchem der bestimmte Speicherinhalt hinterlegt ist.
  • Im Zuge des Refreshs des ersten Speicherbereichs wird zunächst wenigstens ein weiterer Speicherbereich der nichtflüchtigen Speichereinheit mit dem Speicherinhalt aus diesem ersten Speicherbereich überschrieben. Insbesondere wird der wenigstens eine weitere Speicherbereich dabei zunächst gelöscht und anschließend wird der Speicherinhalt aus dem ersten Speicherbereich in den wenigstens einen weiteren Speicherbereich kopiert.
  • In dem Speicheradressbereich wird dieser wenigstens eine weitere Speicherbereich für den entsprechenden Speicherinhalt eingeblendet. Weiterhin wird der erste Speicherbereich in dem Speicheradressbereich für den entsprechenden Speicherinhalt ausgeblendet. Wenn auf den Speicherinhalt zugegriffen werden soll, verweist der Speicheradressbereich somit nicht mehr auf den ersten Speicherbereich, sondern auf den wenigstens einen weiteren Speicherbereich.
  • Im Zuge des Refreshs wird der erste Speicherbereich mit dem Speicherinhalt aus dem wenigstens einen weiteren Speicherbereich überschrieben. Insbesondere wird dabei zunächst der Speicherinhalt aus dem ersten Speicherbereich gelöscht und anschließend der Speicherinhalt aus dem wenigstens einen weiteren Speicherbereich in den ersten Speicherbereich kopiert.
  • Somit ist der Speicherinhalt des ersten Speicherbereichs aufgefrischt. Der erste Speicherbereich wird nun wieder in dem Speicheradressbereich für den Speicherinhalt eingeblendet und der wenigstens eine weitere Speicherbereich wird ausgeblendet. Wenn auf den Speicherinhalt zugegriffen werden soll, verweist der Speicheradressbereich somit wieder auf den ersten Speicherbereich.
  • Der Speicherinhalt kann dabei genau in einen weiteren Speicherbereich oder auch in eine zweckmäßige Anzahl an weiteren Speicherbereichen kopiert werden. Der Speicherinhalt kann dabei jeweils komplett in die weiteren Speicherbereiche kopiert werden oder es können jeweils unterschiedliche Teile des Speicherinhalts in die unterschiedlichen weiteren Speicherbereiche kopiert werden.
  • Vorteile der Erfindung
  • Durch die Erfindung wird es ermöglicht, den Refresh des Speicherinhalts in dem ersten Speicherbereich durchzuführen und gleichzeitig einen regulären Betrieb bzw. einen regulären Zugriff auf den Speicherinhalt zu ermöglichen. Während des Refreshs des ersten Speicherbereichs kann gleichzeitig auf den Speicherinhalt in dem wenigstens einen weiteren Speicherbereich im Zuge eines regulären Betriebs zugegriffen werden.
  • Eine Anwendung, die gerade auf den Speicherinhalt zugreift, muss nicht gestoppt werden, um den Refresh durchzuführen. Weiterhin muss auch eine Anwendung, die während des Refreshs auf den Speicherinhalt zugreifen möchte, nicht gestoppt oder an diesem Zugriff gehindert werden. Die entsprechende Anwendung greift stattdessen während des Refreshs auf den Speicherinhalt in dem wenigstens einen weiteren Speicherbereich zu.
  • Eine Recheneinheit, in welcher die nichtflüchtige Speichereinheit implementiert ist, kann somit auch während des Refreshs regulär betrieben werden. Es kommt zu keinen Laufzeiteinbußen der Recheneinheit während des Refreshs.
  • In einer vorteilhaften Ausgestaltung der Erfindung umfasst der wenigstens eine weitere Speicherbereich der nichtflüchtigen Speichereinheit einen zweiten Speicherbereich und einen dritten Speicherbereich. Im Zuge des Refreshs des ersten Speicherbereichs werden zunächst dieser zweite Speicherbereich und dieser dritte Speicherbereich mit dem Speicherinhalt aus dem ersten Speicherbereich überschrieben. Der zweite Speicherbereich wird anschließend in den Speicheradressbereich für den Speicherinhalt eingeblendet und der erste Speicherbereich wird ausgeblendet. Soll während des Refreshs auf den Speicherinhalt zugegriffen werden, verweist der Speicheradressbereich somit auf den zweiten Speicherbereich. Im Zuge des Refreshs wird der erste Speicherbereich mit dem Speicherinhalt aus dem dritten Speicherbereich überschrieben. Insbesondere wird der erste Speicherbereich dabei zunächst gelöscht und anschließend wird der Speicherinhalt aus dem dritten Speicherbereich in den ersten Speicherbereich kopiert. Der Speicherinhalt wird dabei aus dem dritten Speicherbereich eingelesen, um den ersten Speicherbereich aufzufrischen. Soll während des Refreshs auf den Speicherinhalt im Zuge des regulären Betriebs der nichtflüchtigen Speichereinheit zugegriffen werden, wird auf den Speicherinhalt in dem zweiten Speicherbereich zugegriffen. Somit kann zwischen dem Zugriff auf den Speicherinhalt für den Refresh und für den regulären Betrieb getrennt werden. Somit wird vermieden, dass im Zuge des Refreshs und im Zuge des regulären Betriebs gleichzeitig auf den Speicherinhalt in demselben weiteren Speicherbereich zugegriffen wird. Ein derartiger gleichzeitiger Zugriff könnte zu einer Laufzeiteinbuße führen. Durch das Speichern des Speicherinhalts in dem zweiten und dem dritten Speicherbereich kann eine derartige Laufzeiteinbuße jedoch verhindert werden. Nach durchgeführtem Refresh wird der erste Speicherbereich in dem Speicheradressbereich für den Speicherinhalt wieder eingeblendet und der zweite Speicherbereich ausgeblendet.
  • Vorteilhafterweise ist der wenigstens eine weitere Speicherbereich ein Speicherbereich der nichtflüchtigen Speichereinheit, der im regulären Betrieb der nichtflüchtigen Speichereinheit nicht genutzt wird. Insbesondere ist der wenigstens eine weitere Speicherbereich als Backup vorgesehen, falls ein Speicherbereich ausfällt.
  • Der wenigstens eine weitere Speicherbereich kann auch explizit für den Refresh vorgesehen sein. Insbesondere wird mittels des wenigstens einen weiteren Speicherbereichs kontinuierlich, regelmäßig oder auf eine bestimmte Anforderung hin ein Refresh sämtlicher Speicherbereiche, welche im regulären Betrieb der nichtflüchtigen Speichereinheit genutzt werden, durchgeführt. Insbesondere werden diese Speicherbereiche, die im regulären Betrieb genutzt werden, nacheinander aufgefrischt. Sämtliche Speicherinhalte der nichtflüchtigen Speichereinheit werden somit stets aufgefrischt. Somit wird verhindert, dass Speicherinhalte der nichtflüchtigen Speichereinheiten nicht mehr korrekt ausgelesen werden können oder verloren gehen.
  • Eine derartige Anforderung, auf welche der Refresh durchgeführt wird, kann durch unterschiedliche Kriterien ausgelöst werden, beispielsweise mittels eines Auslese-Margins (dabei kann beispielsweise überprüft werden, ob ein Speicherbereich elektrische Ladungen verloren hat), eines Error Correcting Codes (ECC) und oder einer Prüfsumme. Ein Refresh auf solche Anforderungen hin ist vorteilhaft für die Lebensdauer, da bei jeder Nachprogrammierung die Zellen in unterschiedlichen Technologien jeweils gestresst werden, was die Lebensdauer negativ beeinflusst.
  • In einer bevorzugten Ausgestaltung der Erfindung wird der nichtflüchtige Speicher in einem eingebetteten System verwendet, beispielsweise in einem Steuergerät. Weiter bevorzugt wird dieses eingebettete System in einem Kraftfahrzeug verwendet. Wie eingangs erläutert, erweist sich der Refresh von Speicherbereichen in einem eingebetteten System herkömmlicherweise als schwierig, da während des Refreshs nicht im Zuge des regulären Betriebs auf den entsprechenden Speicherbereich zugegriffen werden kann. Dies kann zu hohen Laufzeiteinbußen des eingebetteten Systems führen.
  • Da es durch die Erfindung ermöglicht wird, den Speicherinhalt des ersten Speicherbereichs aufzufrischen und gleichzeitig auf den Speicherinhalt in dem wenigstens einen weiteren Speicherbereich zuzugreifen, können derartige Laufzeiteinbußen vermieden werden. Anwendung des eingebetteten Systems, welche während des Refresh des ersten Speicherbereichs auf den Speicherinhalt zugreifen, müssen dabei nicht gestoppt werden.
  • Die Erfindung bietet sich insbesondere für eingebettete Systeme in einem Kraftfahrzeug an, beispielsweise für ein Steuergerät eines Kraftfahrzeugs. Durch die Erfindung kann somit ein Refresh von Speicherbereichen in dem eingebetteten System des Kraftfahrzeugs durchgeführt werden, ohne dass es zu Leistungsschwankungen und Laufzeiteinbußen des Kraftfahrzeugs kommt oder dass sich der Motor des Kraftfahrzeugs nicht weiter drehen kann.
  • Steuergeräte in einem Kraftfahrzeug sind üblicherweise nur dann in Betrieb, wenn auch das Kraftfahrzeug in Betrieb ist und daher die Steuergeräte für die Steuerung des Kraftfahrzeugs benötigt werden. Daher ist es von besonderer Bedeutung, dass die Steuergeräte stabil und ohne Laufzeiteinbußen laufen und es durch einen durchgeführten Refresh nicht zu Leistungsschwankungen des Kraftfahrzeugs kommt. Durch Laufzeiteinbußen oder Leistungsschwankungen des Kraftfahrzeugs kann es zu einer Gefährdung von Insassen des Kraftfahrzeugs oder auch von anderen Verkehrsteilnehmern kommen. Durch die Erfindung kann die Sicherheit beim Betrieb eines Kraftfahrzeugs erhöht werden.
  • Insbesondere eignet sich die Erfindung für eingebettete Systeme, welche Prozesse zur Steuerung des Motors des Fahrzeugs durchführen. Laufzeiteinbußen derartiger eingebetteter Systeme können insbesondere zu Leistungsschwankungen des Motors des Kraftfahrzeugs führen, was durch die Erfindung verhindert wird. Beispielsweise bestimmen derartige eingebettete Systeme Einspritzzeiten oder eine einzuspritzende Kraftstoffmenge oder eine Zusammensetzung für das Luft-Kraftstoff-Gemisch für den Motor des Kraftfahrzeugs. Die Erfindung bietet sich besonders vorteilhaft für für eingebettete Systeme, welche eine Drehzahl des Motors erfassen, eine Kraftstoffeinspritzung und/oder Zündung des Luft-Kraftstoff-Gemischs steuern oder einen Druck eines Kraftstoff-Rails regeln. Weiterhin eignet sich die Erfindung besonders vorteilhaft für eine Kommunikation zwischen mehreren Steuergeräten, beispielsweise um gewünschte bzw. geforderte Momente zwischen diesen Steuergeräten auszutauschen.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung des Verfahrens in Form von Software ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt schematisch ein Steuergerät eines Kraftfahrzeugs, das dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
  • 2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm.
  • Ausführungsform(en) der Erfindung
  • In 1 ist ein Steuergerät eines Kraftfahrzeugs schematisch dargestellt und mit 100 bezeichnet. Das Steuergerät 100 ist als ein eingebettetes System in dem Kraftfahrzeug ausgebildet. Das Steuergerät 100 soll in diesem speziellen Beispiel als ein Motorsteuergerät zum Steuern eines Verbrennungsmotors des Kraftfahrzeugs ausgebildet sein.
  • Das Steuergerät 100 umfasst eine Prozessoreinheit 110, die dazu eingerichtet ist, bestimmte Prozesse auszuführen. Das Steuergerät 100 umfasst weiterhin eine nichtflüchtige Speichereinheit 120. Die nichtflüchtige Speichereinheit 120 ist beispielsweise als ein Magnetoresistive Random Access Memory (MRAM), ein Phase Change Memory (PCM), ein Resistive Random Access Memors (RRAM), ein Ferroelectric Random Access Memory (FRAM) oder ein Flash-Speicher ausgebildet.
  • Die nichtflüchtige Speichereinheit 120 umfasst eine Vielzahl von voneinander unabhängigen Speicherbereichen 121 bis 125. Diese einzelnen Speicherbereiche 121 bis 125 werden im Zuge eines regulären Betriebs des Steuergeräts 100 genutzt, beispielsweise für Firmware-Daten des Steuergeräts 100.
  • Im Zuge dieses regulären Betriebs führt die Prozessoreinheit 110 Prozesse zur Steuerung des Motors des Fahrzeugs aus, beispielsweise um Einspritzzeiten oder eine einzuspritzende Kraftstoffmenge zu bestimmen. Um diese Prozesse auszuführen, benötigt die Prozessoreinheit 110 unterschiedliche Eingabewerte.
  • Diese Eingabewerte sind als Speicherinhalte in den einzelnen Speicherbereichen 121 bis 125 der nichtflüchtigen Speichereinheit 120 hinterlegt.
  • Weiterhin umfasst das Steuergerät 100 einen Speicheradressbereich 130. Dieser Speicheradressbereich 130 umfasst eine Vielzahl von Speicheradressen 131 bis 135. Die einzelnen Speicheradressen 131 bis 135 zeigen dabei jeweils auf denjenigen der Speicherbereiche 121 bis 125, in welchem ein bestimmter Speicherinhalt hinterlegt ist. Für die einzelnen Speicherinhalte sind in dem Speicheradressbereich 130 somit die entsprechenden Speicherbereiche 121 bis 125 eingeblendet.
  • Wenn die Prozessoreinheit 110 auf einen bestimmten Speicherinhalt zugreifen möchte, verweist der Speicheradressbereich 130 somit auf den entsprechenden eingeblendeten Speicherbereich 121 bis 125.
  • Das Steuergerät 100 ist weiterhin dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen. Dabei können Speicherauffrischungen, also Refreshs, der einzelnen Speicherbereiche 121 bis 125 durchgeführt werden.
  • Die nichtflüchtige Speichereinheit 120 weist zu diesem Zweck zwei weitere Speicherbereiche 140 und 150 auf. Diese weiteren Speicherbereiche 140 und 150 werden nicht im Zuge des regulären Betriebs des Steuergeräts 100 genutzt.
  • Die bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens ist in 2 als ein Blockdiagramm 200 dargestellt. Im Folgenden wird anhand der 1 und 2 beispielhaft erläutert, wie das Steuergerät einen Refresh des ersten Speicherbereichs 121 mittels des zweiten Speicherbereichs 140 und des dritten Speicherbereichs 150 durchführt.
  • In einem ersten Schritt 201 wird der Speicherinhalt des ersten Speicherbereichs 121 sowohl in den zweiten Speicherbereich 140 als auch in den dritten Speicherbereich 150 kopiert.
  • In einem Schritt 202 wird für diesen Speicherinhalt in den Speicheradressbereich 130 der zweite Speicherbereich 140 eingeblendet. Dabei wird beispielsweise die Speicheradresse 131, welche bisher auf den ersten Speicherbereich 121 gezeigt hat, auf den zweiten Speicherbereich 140 gerichtet.
  • Wenn die Prozessoreinheit 110 in Schritt 203a im Zuge des regulären Betriebs des Steuergeräts 100 auf den entsprechenden Speicherinhalt zugreifen muss, beispielsweise um die Einspritzzeit für den Motor zu bestimmen, verweist der Speicheradressbereich 130 auf den zweiten Speicherbereich 140. Die Prozessoreinheit 110 liest in Schritt 203a im Zuge des regulären Betriebs des Steuergeräts 100 den Speicherinhalt aus dem zweiten Speicherbereich 140 ein.
  • Gleichzeitig zu dem regulären Betrieb des Steuergeräts 100 in Schritt 203a wird in Schritt 203b der Refresh des ersten Speicherbereichs 121 durchgeführt. Dabei wird zunächst der Speicherinhalt des ersten Speicherbereichs 121 gelöscht und anschließend der Speicherinhalt aus dem dritten Speicherbereich 150 eingelesen und in den ersten Speicherbereich 121 kopiert. Somit ist der Speicherinhalt in dem ersten Speicherbereich 121 aufgefrischt.
  • Anschließend wird in Schritt 204 für den Speicherinhalt in den Speicheradressbereich 130 wieder der erste der Speicherbereich 121 eingeblendet. Die Speicheradresse 131, welche bisher auf den zweiten Speicherbereich 140 gezeigt hat, wird wieder auf den ersten Speicherbereich 121 gerichtet.
  • Anschließend wird in Schritt 205 ein Refresh des nächsten Speicherbereichs 122 der nichtflüchtigen Speichereinheit 120 durchgeführt.
  • Ein derartiger Refresh der einzelnen Speicherbereiche 121 bis 125 der nichtflüchtigen Speichereinheit 120 des Steuergeräts 100 kann beispielsweise in festen Zeitabständen durchgeführt werden oder jedes Mal, wenn das Steuergerät 100 ein- und/oder ausgeschaltet wird oder das Steuergerät 100 und/oder die nichtflüchtige Speichereinheit 120 in einen Ruhemodus geschaltet werden. Alternativ oder zusätzlich kann der Refresh eines der Speicherbereiche 121 bis 125 durchgeführt werden, wenn ein bestimmtes Kriterium erfüllt ist. Ein derartiges Kriterium kann beispielsweise sein, dass ein Fehler oder eine bestimmte Anzahl an Fehlern in dem entsprechenden Speicherbereich 121 bis 125 detektiert wird.

Claims (9)

  1. Verfahren zum Durchführen eines Refreshs eines ersten Speicherbereichs (121) einer nichtflüchtigen Speichereinheit (120), wobei – wenigstens ein weiterer Speicherbereich (140, 150) der nichtflüchtigen Speichereinheit (120) mit einem Speicherinhalt aus dem ersten Speicherbereich (121) überschrieben wird (201), – der wenigstens eine weitere Speicherbereich (140, 150) in einem Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der erste Speicherbereich in dem Speicheradressbereich für den Speicherinhalt ausgeblendet wird (202), – der erste Speicherbereich (121) mit dem Speicherinhalt aus dem wenigstens einen weiteren Speicherbereich (140, 150) überschrieben wird (203b), – der erste Speicherbereich (121) in dem Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der wenigstens eine weitere Speicherbereich (140, 150) in dem Speicheradressbereich (130) für den Speicherinhalt ausgeblendet wird (204).
  2. Verfahren nach Anspruch 1, wobei der wenigstens eine weitere Speicherbereich (140, 150) der nichtflüchtigen Speichereinheit (120) einen zweiten Speicherbereich (140) und einen dritten Speicherbereich (150) umfasst, wobei – der zweite Speicherbereich (140) und der dritte Speicherbereich (150) mit dem Speicherinhalt aus dem ersten Speicherbereich (121) überschrieben werden (201), – der zweite Speicherbereich (140) in den Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der erste Speicherbereich (121) in dem Speicheradressbereich (130) für den Speicherinhalt ausgeblendet wird (202), – der Speicherinhalt des ersten Speicherbereichs (121) mit dem Speicherinhalt aus dem dritten Speicherbereich (150) überschrieben wird (203b), – der erste Speicherbereich (121) in dem Speicheradressbereich (130) für den Speicherinhalt eingeblendet wird und der zweite Speicherbereich (140) in dem Speicheradressbereich (130) für den Speicherinhalt ausgeblendet wird (204).
  3. Verfahren nach Anspruch 1 oder 2, wobei der wenigstens eine weitere Speicherbereich (140, 150) ein Speicherbereich der nichtflüchtigen Speichereinheit (120) ist, welcher im regulären Betrieb der nichtflüchtigen Speichereinheit (120) nicht genutzt wird.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die nichtflüchtige Speichereinheit (120) in einem eingebetteten System (100) verwendet wird.
  5. Verfahren nach Anspruch 4, wobei das eingebettete System (100) ein eingebettetes System in einem Kraftfahrzeug ist.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die nichtflüchtige Speichereinheit (120) ein Magnetoresistive Random Access Memory (MRAM), ein Phase Change Memory (PCM), ein Resistive Random Access Memors (RRAM), ein Ferroelectric Random Access Memory (FRAM) oder ein Flash-Speicher ist.
  7. Recheneinheit (100), die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  8. Computerprogramm, das eine Recheneinheit (100) dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen, wenn es auf der Recheneinheit (100) ausgeführt wird.
  9. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 8.
DE102014208609.4A 2014-05-08 2014-05-08 Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit Pending DE102014208609A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102014208609.4A DE102014208609A1 (de) 2014-05-08 2014-05-08 Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
KR1020150063998A KR102278398B1 (ko) 2014-05-08 2015-05-07 비휘발성 랜덤 액세스 메모리의 기억 영역의 리프레시
US14/707,374 US10013343B2 (en) 2014-05-08 2015-05-08 Apparatus and method of refreshing a memory area of a non-volatile memory unit used in an embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014208609.4A DE102014208609A1 (de) 2014-05-08 2014-05-08 Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit

Publications (1)

Publication Number Publication Date
DE102014208609A1 true DE102014208609A1 (de) 2015-11-26

Family

ID=54368419

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014208609.4A Pending DE102014208609A1 (de) 2014-05-08 2014-05-08 Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit

Country Status (3)

Country Link
US (1) US10013343B2 (de)
KR (1) KR102278398B1 (de)
DE (1) DE102014208609A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021073945A1 (de) 2019-10-17 2021-04-22 Continental Automotive Gmbh Refresh eines nichtflüchtigen speichermediums
US11436476B2 (en) 2018-08-07 2022-09-06 Robert Bosch Gmbh Refreshing of data stored by memristors

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014208609A1 (de) * 2014-05-08 2015-11-26 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
JP6697360B2 (ja) * 2016-09-20 2020-05-20 キオクシア株式会社 メモリシステムおよびプロセッサシステム
US9908533B1 (en) 2016-10-18 2018-03-06 Honda Motor Co., Ltd. System for exiting a vehicle transport mode and methods thereof
FR3079946A1 (fr) * 2018-04-06 2019-10-11 Psa Automobiles Sa Procede de perennisation des informations stockees dans une memoire non volatile-temporaire d’un un calculateur.
US11550650B2 (en) 2018-12-21 2023-01-10 Micron Technology, Inc. Methods for activity-based memory maintenance operations and memory devices and systems employing the same

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2700040B1 (fr) * 1992-12-31 1995-02-17 Gemplus Card Int Carte à puce avec données et programmes protégés contre le vieillissement.
JP3155847B2 (ja) * 1993-01-13 2001-04-16 株式会社東芝 不揮発性半導体記憶装置およびこれを用いた記憶システム
US5699297A (en) * 1995-05-30 1997-12-16 Kabushiki Kaisha Toshiba Method of rewriting data in a microprocessor additionally provided with a flash memory
FR2745114B1 (fr) * 1996-02-20 1998-04-17 Sgs Thomson Microelectronics Memoire non volatile multiniveau modifiable electriquement avec rafraichissement autonome
US5715193A (en) * 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
JP3596989B2 (ja) * 1996-10-03 2004-12-02 邦博 浅田 半導体記憶装置
JP3599541B2 (ja) * 1997-11-27 2004-12-08 シャープ株式会社 不揮発性半導体記憶装置
DE19836748C1 (de) * 1998-08-13 2000-04-20 Siemens Ag Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts
US6044004A (en) * 1998-12-22 2000-03-28 Stmicroelectronics, Inc. Memory integrated circuit for storing digital and analog data and method
US6429984B1 (en) * 1999-08-06 2002-08-06 Komag, Inc Circuit and method for refreshing data recorded at a density sufficiently high to undergo thermal degradation
US6856568B1 (en) * 2000-04-25 2005-02-15 Multi Level Memory Technology Refresh operations that change address mappings in a non-volatile memory
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
JP2004259144A (ja) * 2003-02-27 2004-09-16 Renesas Technology Corp 半導体記憶装置
JP2004310650A (ja) * 2003-04-10 2004-11-04 Renesas Technology Corp メモリ装置
US7325090B2 (en) * 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
US7106636B2 (en) * 2004-06-22 2006-09-12 Intel Corporation Partitionable memory device, system, and method
DE102005052293B4 (de) * 2005-11-02 2013-08-14 Infineon Technologies Ag Speicherschaltung und Verfahren zum Schreiben in einen Zielspeicherbereich
US7447096B2 (en) * 2006-05-05 2008-11-04 Honeywell International Inc. Method for refreshing a non-volatile memory
US7808834B1 (en) * 2007-04-13 2010-10-05 Marvell International Ltd. Incremental memory refresh
US8904098B2 (en) * 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
DE102007026691A1 (de) * 2007-06-08 2008-12-11 Robert Bosch Gmbh Verfahren und Steuergerät zum Betreiben eines nichtflüchtigen Speichers, insbesondere zum Einsatz in Kraftfahrzeugen
US7719876B2 (en) * 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
KR20100013824A (ko) * 2008-08-01 2010-02-10 주식회사 하이닉스반도체 고속 동작하는 반도체 스토리지 시스템
EP2329366B1 (de) * 2008-08-04 2013-12-11 Red Bend Ltd. Durchführung einer voraktualisierung auf einem nichtflüchtigen speicher
DE102008041360A1 (de) * 2008-08-20 2010-02-25 Robert Bosch Gmbh Steuergerät für ein Fahrzeug und Verfahren für eine Datenaktualisierung für ein Steuergerät für ein Fahrzeug
TW201011761A (en) * 2008-09-15 2010-03-16 Amic Technology Corp Refresh method for a non-volatile memory
WO2010054670A1 (en) * 2008-11-11 2010-05-20 Nokia Corporation Method and device for temperature-based data refresh in non-volatile memories
US7929368B2 (en) * 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
US8161355B2 (en) * 2009-02-11 2012-04-17 Mosys, Inc. Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US8255773B2 (en) * 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
US8619474B2 (en) * 2009-09-10 2013-12-31 Micron Technology, Inc. Data line management in a memory device
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
US9070473B2 (en) * 2009-12-02 2015-06-30 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
JP5554974B2 (ja) * 2009-12-11 2014-07-23 ルネサスエレクトロニクス株式会社 データ処理用半導体装置
US8164967B2 (en) * 2010-03-24 2012-04-24 Apple Inc. Systems and methods for refreshing non-volatile memory
JP2012178194A (ja) * 2011-02-25 2012-09-13 Renesas Electronics Corp 不揮発性半導体記憶装置
JP5629391B2 (ja) * 2011-04-28 2014-11-19 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8650353B2 (en) * 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
WO2013132532A1 (en) * 2012-03-06 2013-09-12 Hitachi, Ltd. Semiconductor storage device having nonvolatile semiconductor memory
US8972652B2 (en) * 2012-11-19 2015-03-03 Spansion Llc Data refresh in non-volatile memory
US9141534B2 (en) * 2012-12-14 2015-09-22 Sandisk Technologies Inc. Tracking read accesses to regions of non-volatile memory
DE102013100820B4 (de) * 2013-01-28 2018-05-30 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum sicheren Löschen eines nichtflüchtigen Halbleiter-Massenspeichers, Computersystem sowie Computerprogrammprodukt
US9224449B2 (en) * 2013-03-11 2015-12-29 Nvidia Corporation Variable dynamic memory refresh
US9465426B2 (en) * 2013-09-18 2016-10-11 Huawei Technologies Co., Ltd. Method for backing up data in a case of power failure of storage system, and storage system controller
US9329802B2 (en) * 2013-11-11 2016-05-03 Qualcomm Incorporated Fail safe refresh of data stored in NAND memory device
JP5981906B2 (ja) * 2013-12-17 2016-08-31 京セラドキュメントソリューションズ株式会社 画像形成装置
KR102116258B1 (ko) * 2013-12-24 2020-06-05 삼성전자주식회사 메모리 시스템 및 그것을 포함하는 유저 장치
US10241717B2 (en) * 2013-12-30 2019-03-26 Qualcomm Technologies International, Ltd. Memory boosting
DE102014208609A1 (de) * 2014-05-08 2015-11-26 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
US8908443B1 (en) * 2014-05-27 2014-12-09 Sandisk Technologies Inc. Storage device and method for performing a self-refresh operation
DE102014211111A1 (de) * 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
KR102372888B1 (ko) * 2015-06-15 2022-03-10 삼성전자주식회사 저장 장치의 온도별 데이터 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436476B2 (en) 2018-08-07 2022-09-06 Robert Bosch Gmbh Refreshing of data stored by memristors
WO2021073945A1 (de) 2019-10-17 2021-04-22 Continental Automotive Gmbh Refresh eines nichtflüchtigen speichermediums

Also Published As

Publication number Publication date
KR20150128598A (ko) 2015-11-18
KR102278398B1 (ko) 2021-07-19
US10013343B2 (en) 2018-07-03
US20150325291A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
DE102014208609A1 (de) Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE102014211111A1 (de) Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
EP2008179B1 (de) Erweiterung der funktionalität einer serien-software in einem steuergerät
DE112020006215T5 (de) Blockfamilien-basierte Fehlervermeidung für Speichervorrichtungen
DE102011075776A1 (de) Verfahren und System zum Aktualisieren eines gemeinsam genutzten Speichers
DE102012109617A1 (de) Verfahren zum Ersetzen eines öffentlichen Schlüssels eines Bootloaders
DE102016109892A1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung
DE19911794B4 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE102020115970B3 (de) Befehlsoptimierung durch intelligente schwellwertdetektion
EP2655837A1 (de) Steuern einer brennkraftmaschine zum berücksichtigen von kraftstoffeigenschaften
DE102006060071B3 (de) Ansteuerung eines Peripheriegerätes über eine CANopen-Schnittstelle
DE102013209264A1 (de) Verfahren zum Betreiben eines Kommunikationsmoduls und Kommunikationsmodul
DE102005060901A1 (de) Verfahren zur Erkennung einer Versorgungsunterbrechung in einem Datenspeicher und zur Wiederherstellung des Datenspeichers
DE102004055051B3 (de) Schneller Systemstart für eingebettete Systeme
DE102013109088A1 (de) Verfahren zum Schützen der Integrität von gecachten GPT-Plattendaten in einer externen Betriebssystem-Umgebung
DE102021126991B4 (de) System und verfahren zur erkennung von speicherzellenstörungen durch überwachung von kanarischen zellen
DE102020209236A1 (de) Verfahren zum Betreiben einer nicht-flüchtigen Speichereinheit
DE102016225308A1 (de) Verfahren und Vorrichtung zum Kalibrieren eines Steuergerätes
DE102019216008A1 (de) Refresh eines nichtflüchtigen Speichermediums
DE112020007747T5 (de) Flash-Speicherverwaltungsvorrichtung und Flash-Speicherverwaltungsverfahren
EP1818817A2 (de) Ausführung von Patches mittels eines Caches
DE10123170A1 (de) Verfahren zum Betreiben eines Steuergeräts
WO2021123024A1 (de) Vorrichtung mit einer schnittstelle und verfahren zum betreiben einer vorrichtung mit einer schnittstelle
DE102020207616A1 (de) Verfahren zum Betreiben einer Recheneinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed